{"version":3,"sources":["jsdelivr-header.js","/npm/@mapd/connector@5.5.2/dist/browser-connector.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCNA,SAA2C,EAAM,GAC1B,iBAAZ,SAA0C,iBAAX,OACxC,OAAO,QAAU,EAAQ,QAAQ,iBACR,mBAAX,QAAyB,OAAO,IAC9C,OAAO,CAAC,gBAAiB,GACC,iBAAZ,QACd,QAAQ,mBAAqB,EAAQ,QAAQ,iBAE7C,EAAc,QAAI,EAAQ,EAAY,MACvC,CATD,CASG,MAAM,SAAS,GAClB,MAAgB,MACN,IAAI,EAAsB,CAE9B,KACA,CAAE,EAAyB,EAAS,KAE1C,aASA,IAAI,EAAS,EAAoB,MAC7B,EAAS,EAAO,OAChB,EAAI,EAAO,EAIX,GAHQ,EAAoB,KAEZ,EAAoB,KACV,EAAoB,OAC9C,EAA+B,EAAoB,KACnD,EAA6B,EAAoB,MAGjD,EAAS,EAAoB,MAG7B,EAAuB,SAAS,GAClC,KAAK,KAAO,KACZ,KAAK,OAAS,KACd,KAAK,OAAS,KACV,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEC,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAED,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,QAGzB,GACA,EAAqB,UAAY,CAAC,GACH,KAAO,SAAS,GAE7C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,KAAO,EAAM,aAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,OAAS,EAAM,aAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,OAAS,EAAM,aAEpB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAqB,UAAU,MAAQ,SAAS,GAC9C,EAAO,iBAAiB,wBACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,OAAQ,GACnD,EAAO,YAAY,KAAK,MACxB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,OAAQ,GACrD,EAAO,YAAY,KAAK,QACxB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,OAAQ,GACrD,EAAO,YAAY,KAAK,QACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAyB,SAAS,GACpC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAAuB,UAAY,CAAC,GACH,KAAO,SAAS,GAE/C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAuB,UAAU,MAAQ,SAAS,GAChD,EAAO,iBAAiB,0BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA4B,SAAS,GACvC,KAAK,WAAa,KAClB,KAAK,OAAS,KACV,SACsB,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEL,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,QAGzB,GACA,EAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,OAAS,EAAM,aAEpB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA0B,UAAU,MAAQ,SAAS,GACnD,EAAO,iBAAiB,6BACA,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,OAAQ,GACrD,EAAO,YAAY,KAAK,QACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA8B,SAAS,GACzC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,aAAa,EAAK,eAE/B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAA4B,UAAY,CAAC,GACH,KAAO,SAAS,GAEpD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,aAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA4B,UAAU,MAAQ,SAAS,GACrD,EAAO,iBAAiB,+BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA0B,SAAS,GACrC,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAAwB,UAAY,CAAC,GACH,KAAO,SAAS,GAEhD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAwB,UAAU,MAAQ,SAAS,GACjD,EAAO,iBAAiB,2BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA4B,SAAS,GACvC,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,EAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA0B,UAAU,MAAQ,SAAS,GACnD,EAAO,iBAAiB,6BACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,OAAS,KACV,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEF,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,QAGzB,GACA,EAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,OAAS,EAAM,aAEpB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,OAAQ,GACrD,EAAO,YAAY,KAAK,QACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAiC,SAAS,GAC5C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,EAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA6B,SAAS,GACxC,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAiC,SAAS,GAC5C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAmC,SAAS,GAC9C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,cAAc,EAAK,eAEhC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,cAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA0B,SAAS,GACrC,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAAwB,UAAY,CAAC,GACH,KAAO,SAAS,GAEhD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAwB,UAAU,MAAQ,SAAS,GACjD,EAAO,iBAAiB,2BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA4B,SAAS,GACvC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,sBAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,eACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA0B,UAAU,MAAQ,SAAS,GAEnD,GADA,EAAO,iBAAiB,6BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAiC,SAAS,GAC5C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAmC,SAAS,GAC9C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,qBAAqB,EAAK,eAEvC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,qBAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA0B,SAAS,GACrC,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAAwB,UAAY,CAAC,GACH,KAAO,SAAS,GAEhD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAwB,UAAU,MAAQ,SAAS,GACjD,EAAO,iBAAiB,2BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA4B,SAAS,GACvC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEjC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA0B,UAAU,MAAQ,SAAS,GAEnD,GADA,EAAO,iBAAiB,6BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAmC,SAAS,GAC9C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAqC,SAAS,GAChD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEjC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAAmC,UAAY,CAAC,GACH,KAAO,SAAS,GAE3D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAmC,UAAU,MAAQ,SAAS,GAE5D,GADA,EAAO,iBAAiB,sCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAyB,SAAS,GACpC,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAAuB,UAAY,CAAC,GACH,KAAO,SAAS,GAE/C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAuB,UAAU,MAAQ,SAAS,GAChD,EAAO,iBAAiB,0BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA2B,SAAS,GACtC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEjC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAyB,UAAU,MAAQ,SAAS,GAElD,GADA,EAAO,iBAAiB,4BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA+B,SAAS,GAC1C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAiC,SAAS,GAC5C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,mBAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,YACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA+B,UAAU,MAAQ,SAAS,GAExD,GADA,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAiC,SAAS,GAC5C,KAAK,QAAU,KACf,KAAK,WAAa,KACd,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,YAG7B,GACA,EAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAmC,SAAS,GAC9C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,cAAc,EAAK,eAEhC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,cAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA0C,SAAS,GACrD,KAAK,QAAU,KACf,KAAK,WAAa,KACd,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,YAG7B,GACA,EAAwC,UAAY,CAAC,GACH,KAAO,SAAS,GAEhE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAwC,UAAU,MAAQ,SAAS,GACjE,EAAO,iBAAiB,2CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA4C,SAAS,GACvD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,cAAc,EAAK,eAEhC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAA0C,UAAY,CAAC,GACH,KAAO,SAAS,GAElE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,cAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA0C,UAAU,MAAQ,SAAS,GACnE,EAAO,iBAAiB,6CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAyB,SAAS,GACpC,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAAuB,UAAY,CAAC,GACH,KAAO,SAAS,GAE/C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAuB,UAAU,MAAQ,SAAS,GAChD,EAAO,iBAAiB,0BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA2B,SAAS,GACtC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEjC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAyB,UAAU,MAAQ,SAAS,GAElD,GADA,EAAO,iBAAiB,4BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA6B,SAAS,GACxC,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,gBAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,SACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA6B,UAAU,MAAQ,SAAS,GAEtD,GADA,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA2B,SAAS,GACxC,GACA,EAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IACI,EADM,EAAM,iBACA,MAChB,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,EAAM,KAAK,GACX,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAyB,UAAU,MAAQ,SAAS,GAClD,EAAO,iBAAiB,4BACxB,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA6B,SAAS,GACxC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAkC,SAAS,GAC7C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAoC,SAAS,GAC/C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,EAAkC,UAAY,CAAC,GACH,KAAO,SAAS,GAE1D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAkC,UAAU,MAAQ,SAAS,GAC3D,EAAO,iBAAiB,qCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAiC,SAAS,GAC5C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAmC,SAAS,GAC9C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,EAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgC,SAAS,GAC3C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA8B,UAAU,MAAQ,SAAS,GACvD,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAkC,SAAS,GAC7C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA0B,SAAS,GACrC,KAAK,QAAU,KACf,KAAK,aAAe,KAChB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEI,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,cAG/B,GACA,EAAwB,UAAY,CAAC,GACH,KAAO,SAAS,GAEhD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,aAAe,EAAM,aAE1B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAwB,UAAU,MAAQ,SAAS,GACjD,EAAO,iBAAiB,2BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,OAAQ,GAC3D,EAAO,YAAY,KAAK,cACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA4B,SAAS,GACvC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,wBAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,EAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,iBACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA0B,UAAU,MAAQ,SAAS,GAEnD,GADA,EAAO,iBAAiB,6BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgC,SAAS,GAC3C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,EAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA8B,UAAU,MAAQ,SAAS,GACvD,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAkC,SAAS,GAC7C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,EAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GACvD,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,SAAW,KAChB,KAAK,UAAY,KACb,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEE,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEA,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,WAG5B,GACA,GAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,MAAQ,EAAM,UAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,IAAK,GACjD,EAAO,SAAS,KAAK,OACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAiC,SAAS,GAC5C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAuC,SAAS,GAClD,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,UAAY,KACb,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEF,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,WAG5B,GACA,GAAqC,UAAY,CAAC,GACH,KAAO,SAAS,GAE7D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAqC,UAAU,MAAQ,SAAS,GAC9D,EAAO,iBAAiB,wCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAyC,SAAS,GACpD,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAuC,UAAY,CAAC,GACH,KAAO,SAAS,GAE/D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAuC,UAAU,MAAQ,SAAS,GAChE,EAAO,iBAAiB,0CACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,SAAW,KACZ,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEE,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,GACA,GAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,MAAQ,EAAM,UAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,IAAK,GACjD,EAAO,SAAS,KAAK,OACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAiC,SAAS,GAC5C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,GAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAuC,SAAS,GAClD,KAAK,QAAU,KACf,KAAK,WAAa,KACd,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,YAG7B,GACA,GAAqC,UAAY,CAAC,GACH,KAAO,SAAS,GAE7D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAqC,UAAU,MAAQ,SAAS,GAC9D,EAAO,iBAAiB,wCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAyC,SAAS,GACpD,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,GAAuC,UAAY,CAAC,GACH,KAAO,SAAS,GAE/D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAuC,UAAU,MAAQ,SAAS,GAChE,EAAO,iBAAiB,0CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,SAAW,KACZ,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEE,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,MAAQ,EAAM,UAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GACvD,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,IAAK,GACjD,EAAO,SAAS,KAAK,OACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,kBAG3D,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEN,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,iBACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GAEzD,GADA,EAAO,iBAAiB,mCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,aAAe,KAChB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEM,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAO,SAAS,EAAK,aAAc,CAAC,EAAO,mBAGrE,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,MAAQ,EAAM,UAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,aAAe,GAGpB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,iBACb,KAAK,GACb,KAAK,aAAa,KAAK,EACzB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GAYvD,GAXA,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,IAAK,GACjD,EAAO,SAAS,KAAK,OACrB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,aAA4B,CAGjE,IAAK,IAAI,KAFT,EAAO,gBAAgB,eAAgB,EAAO,KAAK,KAAM,GACzD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,aAAa,QACxC,KAAK,aACnB,KAAK,aAAa,eAAe,KACnC,EAAU,KAAK,aAAa,IACpB,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC/C,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IACI,EADM,EAAM,iBACA,MAChB,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,EAAM,KAAK,GACX,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACxB,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GACvD,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,aAAa,EAAK,eAE/B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,aAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA2B,SAAS,GACtC,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,cAAgB,KACrB,KAAK,MAAQ,KACb,KAAK,SAAW,EAChB,KAAK,WAAa,EACd,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEO,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAET,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEC,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,WAG5B,GACA,GAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,cAAgB,EAAM,WAE3B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAyB,UAAU,MAAQ,SAAS,GAClD,EAAO,iBAAiB,4BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,UAAU,KAAK,eACtB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA6B,SAAS,GACxC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,aAAa,EAAK,eAE/B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,aAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA8B,SAAS,GACzC,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,YAAc,KACnB,KAAK,UAAY,EACjB,KAAK,SAAW,EAChB,KAAK,iBAAmB,KACpB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEK,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEH,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEH,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEQ,IAA1B,EAAK,kBAA4D,OAA1B,EAAK,mBAC9C,KAAK,iBAAmB,EAAK,kBAGnC,GACA,GAA4B,UAAY,CAAC,GACH,KAAO,SAAS,GAEpD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,iBAAmB,EAAM,UAE9B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA4B,UAAU,MAAQ,SAAS,GACrD,EAAO,iBAAiB,+BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEqB,OAA1B,KAAK,uBAAuD,IAA1B,KAAK,mBACzC,EAAO,gBAAgB,mBAAoB,EAAO,KAAK,IAAK,GAC5D,EAAO,SAAS,KAAK,kBACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,WAAW,EAAK,eAE7B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,WAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GACvD,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,UAAY,EACjB,KAAK,SAAW,EACZ,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEG,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEH,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,GACA,GAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAiC,SAAS,GAC5C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,WAAW,EAAK,eAE7B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,WAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA6B,SAAS,GACxC,KAAK,QAAU,KACf,KAAK,GAAK,KACV,KAAK,YAAc,KACnB,KAAK,UAAY,EACb,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEN,IAAZ,EAAK,IAAgC,OAAZ,EAAK,KAChC,KAAK,GAAK,IAAI,EAAO,WAAW,EAAK,UAEd,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEH,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,WAG5B,GACA,GAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,GAAK,IAAI,EAAO,WACrB,KAAK,GAAG,KAAK,IAEb,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEO,OAAZ,KAAK,SAA2B,IAAZ,KAAK,KAC3B,EAAO,gBAAgB,KAAM,EAAO,KAAK,OAAQ,GACjD,KAAK,GAAG,MAAM,GACd,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA+B,SAAS,GAC1C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAyB,SAAS,GACpC,KAAK,cAAgB,KACrB,KAAK,kBAAoB,KACrB,SACyB,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAEG,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,mBAGpC,GACA,GAAuB,UAAY,CAAC,GACH,KAAO,SAAS,GAE/C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,cAAgB,EAAM,aAE3B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,kBAAoB,EAAM,aAE/B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAuB,UAAU,MAAQ,SAAS,GAChD,EAAO,iBAAiB,0BACG,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,OAAQ,GAC5D,EAAO,YAAY,KAAK,eACxB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,OAAQ,GAChE,EAAO,YAAY,KAAK,mBACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA2B,SAAS,GACtC,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAyB,UAAU,MAAQ,SAAS,GAClD,EAAO,iBAAiB,4BACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA4B,SAAS,GACvC,KAAK,QAAU,KACf,KAAK,MAAQ,KACT,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,OAGxB,GACA,GAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA0B,UAAU,MAAQ,SAAS,GACnD,EAAO,iBAAiB,6BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA8B,SAAS,GACzC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,oBAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA4B,UAAY,CAAC,GACH,KAAO,SAAS,GAEpD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,aACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA4B,UAAU,MAAQ,SAAS,GAErD,GADA,EAAO,iBAAiB,+BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAoC,SAAS,GAC/C,KAAK,QAAU,KACf,KAAK,IAAM,KACX,KAAK,OAAS,KACV,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEL,IAAb,EAAK,KAAkC,OAAb,EAAK,MACjC,KAAK,IAAM,EAAK,UAEE,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,QAGzB,GACA,GAAkC,UAAY,CAAC,GACH,KAAO,SAAS,GAE1D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,IAAM,EAAM,aAEjB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAkC,UAAU,MAAQ,SAAS,GAC3D,EAAO,iBAAiB,qCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEQ,OAAb,KAAK,UAA6B,IAAb,KAAK,MAC5B,EAAO,gBAAgB,MAAO,EAAO,KAAK,OAAQ,GAClD,EAAO,YAAY,KAAK,KACxB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAsC,SAAS,GACjD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAwB,wBAEzD,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAoC,UAAY,CAAC,GACH,KAAO,SAAS,GAE5D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAwB,iBAC9B,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAoC,UAAU,MAAQ,SAAS,GAE7D,GADA,EAAO,iBAAiB,uCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,QAAU,KACf,KAAK,KAAO,KACR,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEJ,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,MAGvB,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAoC,SAAS,GAC/C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAkC,UAAY,CAAC,GACH,KAAO,SAAS,GAE1D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAkC,UAAU,MAAQ,SAAS,GAC3D,EAAO,iBAAiB,qCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA2B,SAAS,GACtC,KAAK,QAAU,KACf,KAAK,UAAY,KACjB,KAAK,UAAY,KACjB,KAAK,kBAAoB,KACzB,KAAK,MAAQ,KACT,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAED,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEO,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAEb,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,OAGxB,GACA,GAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,kBAAoB,EAAM,UAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAyB,UAAU,MAAQ,SAAS,GAClD,EAAO,iBAAiB,4BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,IAAK,GAC7D,EAAO,SAAS,KAAK,mBACrB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA6B,SAAS,GACxC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,cAAc,EAAK,eAEhC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,cAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAwC,SAAS,GACnD,KAAK,QAAU,KACf,KAAK,UAAY,KACjB,KAAK,MAAQ,KACb,KAAK,gBAAkB,KACvB,KAAK,cAAgB,KACrB,KAAK,YAAc,KACnB,KAAK,MAAQ,KACT,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEL,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,IAAI,EAAO,OAAO,EAAK,aAET,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAO,QAAQ,EAAK,gBAAiB,CAAC,EAAO,SAAU,aAErD,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAEH,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEP,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,OAGxB,GACA,GAAsC,UAAY,CAAC,GACH,KAAO,SAAS,GAE9D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,MAAQ,IAAI,EAAO,OACxB,KAAK,MAAM,KAAK,IAEhB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,IAAK,CAC5B,KAAK,gBAAkB,CAAC,EAGxB,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,aACf,EAAS,GAGT,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,EAAO,KAAK,EACd,CACA,EAAM,cACN,KAAK,gBAAgB,GAAU,CACjC,CACA,EAAM,YACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,cAAgB,EAAM,WAE3B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAsC,UAAU,MAAQ,SAAS,GAiB/D,GAhBA,EAAO,iBAAiB,yCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,KAAK,MAAM,MAAM,GACjB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,gBAA+B,CAGvE,IAAK,IAAI,KAFT,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,IAAK,GAC3D,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,KAAM,EAAO,aAAa,KAAK,kBAC/D,KAAK,gBACxB,GAAI,KAAK,gBAAgB,eAAe,GAAW,CACjD,IAAI,EAAW,KAAK,gBAAgB,GAGpC,IAAK,IAAI,KAFT,EAAO,YAAY,GACnB,EAAO,eAAe,EAAO,KAAK,OAAQ,EAAS,QAC/B,EACd,EAAS,eAAe,KAC1B,EAAU,EAAS,GACnB,EAAO,YAAY,IAGvB,EAAO,cACT,CAEF,EAAO,cACP,EAAO,eACT,CAC2B,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,UAAU,KAAK,eACtB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA0C,SAAS,GACrD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,qBAAqB,EAAK,eAEvC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAwC,UAAY,CAAC,GACH,KAAO,SAAS,GAEhE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,qBAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAwC,UAAU,MAAQ,SAAS,GACjE,EAAO,iBAAiB,2CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA6B,SAAS,GACxC,KAAK,QAAU,KACf,KAAK,aAAe,KAChB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEI,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,cAG/B,GACA,GAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,aAAe,EAAM,UAE1B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,IAAK,GACxD,EAAO,SAAS,KAAK,cACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,WAAW,EAAK,eAE7B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,WAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA8B,SAAS,GACzC,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,GAA4B,UAAY,CAAC,GACH,KAAO,SAAS,GAEpD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA4B,UAAU,MAAQ,SAAS,GACrD,EAAO,iBAAiB,+BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,mBAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,YACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GAEvD,GADA,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACf,KAAK,eAAiB,KACtB,KAAK,gBAAkB,KACvB,KAAK,WAAa,KAClB,KAAK,mBAAqB,KACtB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEM,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEA,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAK,sBAEN,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEO,IAA5B,EAAK,oBAAgE,OAA5B,EAAK,qBAChD,KAAK,mBAAqB,EAAK,oBAGrC,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,eAAiB,EAAM,aAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,gBAAkB,EAAM,aAE7B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,mBAAqB,EAAM,aAEhC,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GACvD,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,OAAQ,GAC7D,EAAO,YAAY,KAAK,gBACxB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,OAAQ,GAC9D,EAAO,YAAY,KAAK,iBACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEuB,OAA5B,KAAK,yBAA2D,IAA5B,KAAK,qBAC3C,EAAO,gBAAgB,qBAAsB,EAAO,KAAK,OAAQ,GACjE,EAAO,YAAY,KAAK,oBACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAiC,SAAS,GAC5C,KAAK,QAAU,KACf,KAAK,aAAe,KACpB,KAAK,eAAiB,KACtB,KAAK,gBAAkB,KACvB,KAAK,gBAAkB,KACvB,KAAK,WAAa,KAClB,KAAK,mBAAqB,KACtB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEI,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEC,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEA,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAK,sBAED,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAK,sBAEN,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEO,IAA5B,EAAK,oBAAgE,OAA5B,EAAK,qBAChD,KAAK,mBAAqB,EAAK,oBAGrC,GACA,GAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,aAAe,EAAM,UAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,eAAiB,EAAM,aAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,gBAAkB,EAAM,aAE7B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,gBAAkB,EAAM,aAE7B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,mBAAqB,EAAM,aAEhC,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,IAAK,GACxD,EAAO,SAAS,KAAK,cACrB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,OAAQ,GAC7D,EAAO,YAAY,KAAK,gBACxB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,OAAQ,GAC9D,EAAO,YAAY,KAAK,iBACxB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,OAAQ,GAC9D,EAAO,YAAY,KAAK,iBACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEuB,OAA5B,KAAK,yBAA2D,IAA5B,KAAK,qBAC3C,EAAO,gBAAgB,qBAAsB,EAAO,KAAK,OAAQ,GACjE,EAAO,YAAY,KAAK,oBACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAmC,SAAS,GAC9C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACf,KAAK,aAAe,KAChB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEI,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,cAG/B,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,aAAe,EAAM,UAE1B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GACvD,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,IAAK,GACxD,EAAO,SAAS,KAAK,cACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACf,KAAK,cAAgB,KACrB,KAAK,OAAS,KACd,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEK,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAO,SAAS,EAAK,cAAe,CAAC,aAExC,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAO,SAAS,EAAK,OAAQ,CAAC,aAErB,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,sBAAsB,EAAK,cAG/D,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,cAAgB,GAGrB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,UAChB,KAAK,cAAc,KAAK,EAC1B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,OAAS,GAGd,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,OAAO,KAAK,EACnB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,sBAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GAOvD,GANA,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,cAA6B,CAGnE,IAAK,IAAI,KAFT,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,cAAc,QACtC,KAAK,cACnB,KAAK,cAAc,eAAe,KACpC,EAAU,KAAK,cAAc,GAC7B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,GAAoB,OAAhB,KAAK,aAAmC,IAAhB,KAAK,OAAsB,CAGrD,IAAK,IAAI,KAFT,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,OAAO,QAClC,KAAK,OACnB,KAAK,OAAO,eAAe,KAC7B,EAAU,KAAK,OAAO,GACtB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACyB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAiC,SAAS,GAC5C,KAAK,QAAU,KACf,KAAK,cAAgB,KACjB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEK,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAO,SAAS,EAAK,cAAe,CAAC,QAGhE,GACA,GAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,cAAgB,GAGrB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,UAChB,KAAK,cAAc,KAAK,EAC1B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA+B,UAAU,MAAQ,SAAS,GAOxD,GANA,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,cAA6B,CAGnE,IAAK,IAAI,KAFT,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,cAAc,QACtC,KAAK,cACnB,KAAK,cAAc,eAAe,KACpC,EAAU,KAAK,cAAc,GAC7B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAmC,SAAS,GAC9C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,aAAe,KACpB,KAAK,OAAS,KACd,KAAK,QAAU,KACf,KAAK,YAAc,KACnB,KAAK,YAAa,EACd,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEI,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEP,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAO,SAAS,EAAK,OAAQ,CAAC,aAEzB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEvB,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,sBAAsB,EAAK,mBAEnC,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,YAG7B,GACA,GAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,aAAe,EAAM,UAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,OAAS,GAGd,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,OAAO,KAAK,EACnB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,sBAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,WAAa,EAAM,WAExB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA6B,UAAU,MAAQ,SAAS,GAYtD,GAXA,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,IAAK,GACxD,EAAO,SAAS,KAAK,cACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,OAAsB,CAGrD,IAAK,IAAI,KAFT,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,OAAO,QAClC,KAAK,OACnB,KAAK,OAAO,eAAe,KAC7B,EAAU,KAAK,OAAO,GACtB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,GAAqB,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACyB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,KAAM,GACvD,EAAO,UAAU,KAAK,YACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAiC,SAAS,GAC5C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAiC,SAAS,GAC5C,KAAK,QAAU,KACf,KAAK,aAAe,KACpB,KAAK,OAAS,KACd,KAAK,QAAU,KACf,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEI,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEP,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAO,SAAS,EAAK,OAAQ,CAAC,aAEzB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEvB,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,sBAAsB,EAAK,cAG/D,GACA,GAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,aAAe,EAAM,UAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,OAAS,GAGd,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,OAAO,KAAK,EACnB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,sBAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA+B,UAAU,MAAQ,SAAS,GAYxD,GAXA,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,IAAK,GACxD,EAAO,SAAS,KAAK,cACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,OAAsB,CAGrD,IAAK,IAAI,KAFT,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,OAAO,QAClC,KAAK,OACnB,KAAK,OAAO,eAAe,KAC7B,EAAU,KAAK,OAAO,GACtB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,GAAqB,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACyB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAmC,SAAS,GAC9C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,QAAU,KACf,KAAK,cAAgB,KACrB,KAAK,OAAS,KACd,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEK,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAO,SAAS,EAAK,cAAe,CAAC,aAExC,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAO,SAAS,EAAK,OAAQ,CAAC,aAErB,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,sBAAsB,EAAK,cAG/D,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,cAAgB,GAGrB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,UAChB,KAAK,cAAc,KAAK,EAC1B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,OAAS,GAGd,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,OAAO,KAAK,EACnB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,sBAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GAOzD,GANA,EAAO,iBAAiB,mCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,cAA6B,CAGnE,IAAK,IAAI,KAFT,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,cAAc,QACtC,KAAK,cACnB,KAAK,cAAc,eAAe,KACpC,EAAU,KAAK,cAAc,GAC7B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,GAAoB,OAAhB,KAAK,aAAmC,IAAhB,KAAK,OAAsB,CAGrD,IAAK,IAAI,KAFT,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,OAAO,QAClC,KAAK,OACnB,KAAK,OAAO,eAAe,KAC7B,EAAU,KAAK,OAAO,GACtB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACyB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAoC,SAAS,GAC/C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAkC,UAAY,CAAC,GACH,KAAO,SAAS,GAE1D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAkC,UAAU,MAAQ,SAAS,GAC3D,EAAO,iBAAiB,qCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAsC,SAAS,GACjD,KAAK,QAAU,KACf,KAAK,aAAe,KAChB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEI,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,cAG/B,GACA,GAAoC,UAAY,CAAC,GACH,KAAO,SAAS,GAE5D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,aAAe,EAAM,UAE1B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAoC,UAAU,MAAQ,SAAS,GAC7D,EAAO,iBAAiB,uCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,IAAK,GACxD,EAAO,SAAS,KAAK,cACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAwC,SAAS,GACnD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,2BAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAsC,UAAY,CAAC,GACH,KAAO,SAAS,GAE9D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,oBACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAsC,UAAU,MAAQ,SAAS,GAE/D,GADA,EAAO,iBAAiB,yCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA6B,SAAS,GACxC,KAAK,QAAU,KACf,KAAK,KAAO,KACR,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEJ,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,MAGvB,GACA,GAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,KAAO,EAAM,aAElB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,OAAQ,GACnD,EAAO,YAAY,KAAK,MACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,cAAc,EAAK,eAEhC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,cAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA2B,SAAS,GACtC,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,cAAgB,KACjB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEE,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,eAGhC,GACA,GAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,cAAgB,EAAM,aAE3B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAyB,UAAU,MAAQ,SAAS,GAClD,EAAO,iBAAiB,4BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,OAAQ,GAC5D,EAAO,YAAY,KAAK,eACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA6B,SAAS,GACxC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAiC,SAAS,GAC5C,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,KAAO,KACZ,KAAK,aAAe,GAChB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEP,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAO,SAAS,EAAK,KAAM,CAAC,EAAO,aAEvB,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAO,SAAS,EAAK,aAAc,CAAC,QAG9D,GACA,GAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,KAAO,GAGZ,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,MACb,KAAK,GACb,KAAK,KAAK,KAAK,EACjB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,aAAe,GAGpB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,aAAa,KAAK,EACzB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA+B,UAAU,MAAQ,SAAS,GAYxD,GAXA,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,KAAoB,CAGjD,IAAK,IAAI,KAFT,EAAO,gBAAgB,OAAQ,EAAO,KAAK,KAAM,GACjD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,KAAK,QAChC,KAAK,KACnB,KAAK,KAAK,eAAe,KAC3B,EAAU,KAAK,KAAK,IACZ,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,GAA0B,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,aAA4B,CAGjE,IAAK,IAAI,KAFT,EAAO,gBAAgB,eAAgB,EAAO,KAAK,KAAM,GACzD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,aAAa,QACxC,KAAK,aACnB,KAAK,aAAa,eAAe,KACnC,EAAU,KAAK,aAAa,GAC5B,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAmC,SAAS,GAC9C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA0C,SAAS,GACrD,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,KAAO,KACZ,KAAK,aAAe,GAChB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEP,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAO,SAAS,EAAK,KAAM,CAAC,EAAO,gBAEvB,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAO,SAAS,EAAK,aAAc,CAAC,QAG9D,GACA,GAAwC,UAAY,CAAC,GACH,KAAO,SAAS,GAEhE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,KAAO,GAGZ,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,SACb,KAAK,GACb,KAAK,KAAK,KAAK,EACjB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,aAAe,GAGpB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,aAAa,KAAK,EACzB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAwC,UAAU,MAAQ,SAAS,GAYjE,GAXA,EAAO,iBAAiB,2CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,KAAoB,CAGjD,IAAK,IAAI,KAFT,EAAO,gBAAgB,OAAQ,EAAO,KAAK,KAAM,GACjD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,KAAK,QAChC,KAAK,KACnB,KAAK,KAAK,eAAe,KAC3B,EAAU,KAAK,KAAK,IACZ,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,GAA0B,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,aAA4B,CAGjE,IAAK,IAAI,KAFT,EAAO,gBAAgB,eAAgB,EAAO,KAAK,KAAM,GACzD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,aAAa,QACxC,KAAK,aACnB,KAAK,aAAa,eAAe,KACnC,EAAU,KAAK,aAAa,GAC5B,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA4C,SAAS,GACvD,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAA0C,UAAY,CAAC,GACH,KAAO,SAAS,GAElE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA0C,UAAU,MAAQ,SAAS,GACnE,EAAO,iBAAiB,6CACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAuC,SAAS,GAClD,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,aAAe,KACpB,KAAK,kBAAmB,EACpB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEC,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEG,IAA1B,EAAK,kBAA4D,OAA1B,EAAK,mBAC9C,KAAK,iBAAmB,EAAK,kBAGnC,GACA,GAAqC,UAAY,CAAC,GACH,KAAO,SAAS,GAE7D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,aAAe,EAAM,aAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,iBAAmB,EAAM,WAE9B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAqC,UAAU,MAAQ,SAAS,GAC9D,EAAO,iBAAiB,wCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,OAAQ,GAC3D,EAAO,YAAY,KAAK,cACxB,EAAO,iBAEqB,OAA1B,KAAK,uBAAuD,IAA1B,KAAK,mBACzC,EAAO,gBAAgB,mBAAoB,EAAO,KAAK,KAAM,GAC7D,EAAO,UAAU,KAAK,kBACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAyC,SAAS,GACpD,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAuC,UAAY,CAAC,GACH,KAAO,SAAS,GAE/D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAuC,UAAU,MAAQ,SAAS,GAChE,EAAO,iBAAiB,0CACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA0B,SAAS,GACrC,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,KAAO,KACZ,KAAK,aAAe,GAChB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEP,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAO,SAAS,EAAK,KAAM,CAAC,EAAO,mBAEvB,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAO,SAAS,EAAK,aAAc,CAAC,QAG9D,GACA,GAAwB,UAAY,CAAC,GACH,KAAO,SAAS,GAEhD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,KAAO,GAGZ,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,YACb,KAAK,GACb,KAAK,KAAK,KAAK,EACjB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,aAAe,GAGpB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,aAAa,KAAK,EACzB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAwB,UAAU,MAAQ,SAAS,GAYjD,GAXA,EAAO,iBAAiB,2BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,KAAoB,CAGjD,IAAK,IAAI,KAFT,EAAO,gBAAgB,OAAQ,EAAO,KAAK,KAAM,GACjD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,KAAK,QAChC,KAAK,KACnB,KAAK,KAAK,eAAe,KAC3B,EAAU,KAAK,KAAK,IACZ,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,GAA0B,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,aAA4B,CAGjE,IAAK,IAAI,KAFT,EAAO,gBAAgB,eAAgB,EAAO,KAAK,KAAM,GACzD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,aAAa,QACxC,KAAK,aACnB,KAAK,aAAa,eAAe,KACnC,EAAU,KAAK,aAAa,GAC5B,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA4B,SAAS,GACvC,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA0B,UAAU,MAAQ,SAAS,GACnD,EAAO,iBAAiB,6BACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAmC,SAAS,GAC9C,KAAK,QAAU,KACf,KAAK,UAAY,KACjB,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEC,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,YAAY,EAAK,cAGrD,GACA,GAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,YAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAqC,SAAS,GAChD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,cAAc,EAAK,eAEhC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAmC,UAAY,CAAC,GACH,KAAO,SAAS,GAE3D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,cAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAmC,UAAU,MAAQ,SAAS,GAC5D,EAAO,iBAAiB,sCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA4B,SAAS,GACvC,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,SAAW,KAChB,KAAK,UAAY,EACjB,KAAK,cAAgB,KACjB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEH,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,EAAO,oBAElC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEG,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,IAAI,EAAO,cAAc,EAAK,gBAGzD,GACA,GAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,aACb,KAAK,GACb,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,cAAgB,IAAI,EAAO,cAChC,KAAK,cAAc,KAAK,IAExB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA0B,UAAU,MAAQ,SAAS,GAYnD,GAXA,EAAO,iBAAiB,6BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,SAAS,QACpC,KAAK,SACnB,KAAK,SAAS,eAAe,KAC/B,EAAU,KAAK,SAAS,IAChB,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACuB,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,OAAQ,GAC5D,KAAK,cAAc,MAAM,GACzB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA8B,SAAS,GACzC,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAA4B,UAAY,CAAC,GACH,KAAO,SAAS,GAEpD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA4B,UAAU,MAAQ,SAAS,GACrD,EAAO,iBAAiB,+BACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA4B,SAAS,GACvC,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,UAAY,KACjB,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEF,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEC,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,YAAY,EAAK,cAGrD,GACA,GAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,YAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA0B,UAAU,MAAQ,SAAS,GACnD,EAAO,iBAAiB,6BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA8B,SAAS,GACzC,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAA4B,UAAY,CAAC,GACH,KAAO,SAAS,GAEpD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA4B,UAAU,MAAQ,SAAS,GACrD,EAAO,iBAAiB,+BACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgC,SAAS,GAC3C,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,UAAY,KACjB,KAAK,YAAc,KACnB,KAAK,SAAW,KAChB,KAAK,cAAgB,KACjB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEF,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEC,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,YAAY,EAAK,mBAE3B,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,EAAO,oBAE9B,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,IAAI,EAAO,cAAc,EAAK,gBAGzD,GACA,GAA8B,UAAY,CAAC,GACH,KAAO,SAAS,GAEtD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,YAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,aACb,KAAK,GACb,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,cAAgB,IAAI,EAAO,cAChC,KAAK,cAAc,KAAK,IAExB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8B,UAAU,MAAQ,SAAS,GAsBvD,GArBA,EAAO,iBAAiB,iCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,SAAS,QACpC,KAAK,SACnB,KAAK,SAAS,eAAe,KAC/B,EAAU,KAAK,SAAS,IAChB,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CAC2B,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,OAAQ,GAC5D,KAAK,cAAc,MAAM,GACzB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAmC,SAAS,GAC9C,KAAK,QAAU,KACf,KAAK,UAAY,KACb,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,WAG5B,GACA,GAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAqC,SAAS,GAChD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,cAAc,EAAK,eAEhC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAmC,UAAY,CAAC,GACH,KAAO,SAAS,GAE3D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,cAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAmC,UAAU,MAAQ,SAAS,GAC5D,EAAO,iBAAiB,sCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA6C,SAAS,GACxD,KAAK,QAAU,KACf,KAAK,aAAe,KACpB,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEI,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEF,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,YAAY,EAAK,cAGrD,GACA,GAA2C,UAAY,CAAC,GACH,KAAO,SAAS,GAEnE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,aAAe,EAAM,aAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,YAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA2C,UAAU,MAAQ,SAAS,GACpE,EAAO,iBAAiB,8CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,OAAQ,GAC3D,EAAO,YAAY,KAAK,cACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA+C,SAAS,GAC1D,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA6C,UAAY,CAAC,GACH,KAAO,SAAS,GAErE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA6C,UAAU,MAAQ,SAAS,GACtE,EAAO,iBAAiB,gDACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAwC,SAAS,GACnD,KAAK,QAAU,KACf,KAAK,aAAe,KACpB,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEI,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEF,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,YAAY,EAAK,cAGrD,GACA,GAAsC,UAAY,CAAC,GACH,KAAO,SAAS,GAE9D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,aAAe,EAAM,aAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,YAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAsC,UAAU,MAAQ,SAAS,GAC/D,EAAO,iBAAiB,yCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,OAAQ,GAC3D,EAAO,YAAY,KAAK,cACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA0C,SAAS,GACrD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEjC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAwC,UAAY,CAAC,GACH,KAAO,SAAS,GAEhE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAwC,UAAU,MAAQ,SAAS,GAEjE,GADA,EAAO,iBAAiB,2CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAsC,SAAS,GACjD,KAAK,QAAU,KACf,KAAK,UAAY,KACjB,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEC,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,YAAY,EAAK,cAGrD,GACA,GAAoC,UAAY,CAAC,GACH,KAAO,SAAS,GAE5D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,YAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAoC,UAAU,MAAQ,SAAS,GAC7D,EAAO,iBAAiB,uCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAwC,SAAS,GACnD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,0BAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAsC,UAAY,CAAC,GACH,KAAO,SAAS,GAE9D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,mBACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAsC,UAAU,MAAQ,SAAS,GAE/D,GADA,EAAO,iBAAiB,yCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA8C,SAAS,GACzD,KAAK,QAAU,KACf,KAAK,MAAQ,KACT,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,OAGxB,GACA,GAA4C,UAAY,CAAC,GACH,KAAO,SAAS,GAEpE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA4C,UAAU,MAAQ,SAAS,GACrE,EAAO,iBAAiB,+CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgD,SAAS,GAC3D,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA8C,UAAY,CAAC,GACH,KAAO,SAAS,GAEtE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA8C,UAAU,MAAQ,SAAS,GACvE,EAAO,iBAAiB,iDACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAuC,SAAS,GAClD,KAAK,QAAU,KACf,KAAK,SAAW,KACZ,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEA,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,GACA,GAAqC,UAAY,CAAC,GACH,KAAO,SAAS,GAE7D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAqC,UAAU,MAAQ,SAAS,GAC9D,EAAO,iBAAiB,wCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAyC,SAAS,GACpD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,WAAW,EAAK,eAE7B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAuC,UAAY,CAAC,GACH,KAAO,SAAS,GAE/D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,WAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAuC,UAAU,MAAQ,SAAS,GAChE,EAAO,iBAAiB,0CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA2B,SAAS,GACtC,KAAK,aAAe,KACpB,KAAK,eAAiB,KACtB,KAAK,SAAW,KAChB,KAAK,aAAe,KACpB,KAAK,uBAAyB,KAC1B,SACwB,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEC,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEP,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEG,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAES,IAAhC,EAAK,wBAAwE,OAAhC,EAAK,yBACpD,KAAK,uBAAyB,EAAO,SAAS,EAAK,uBAAwB,CAAC,QAGlF,GACA,GAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,aAAe,EAAM,aAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,eAAiB,EAAM,aAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,aAAe,EAAM,WAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,uBAAyB,GAG9B,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,UAChB,KAAK,uBAAuB,KAAK,EACnC,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAyB,UAAU,MAAQ,SAAS,GAsBlD,GArBA,EAAO,iBAAiB,4BACE,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,OAAQ,GAC3D,EAAO,YAAY,KAAK,cACxB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,OAAQ,GAC7D,EAAO,YAAY,KAAK,gBACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,KAAM,GACzD,EAAO,UAAU,KAAK,cACtB,EAAO,iBAE2B,OAAhC,KAAK,6BAAmE,IAAhC,KAAK,uBAAsC,CAGrF,IAAK,IAAI,KAFT,EAAO,gBAAgB,yBAA0B,EAAO,KAAK,KAAM,GACnE,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,uBAAuB,QAC/C,KAAK,uBACnB,KAAK,uBAAuB,eAAe,KAC7C,EAAU,KAAK,uBAAuB,GACtC,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA6B,SAAS,GACxC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,cAAc,EAAK,eAEhC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,cAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,cAAgB,KACrB,KAAK,YAAc,KACf,SACyB,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,IAAI,EAAO,cAAc,EAAK,qBAE5B,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,aAG9B,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,cAAgB,IAAI,EAAO,cAChC,KAAK,cAAc,KAAK,IAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACG,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,OAAQ,GAC5D,KAAK,cAAc,MAAM,GACzB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAoC,SAAS,GAC/C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,YAAY,EAAK,eAE9B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAkC,UAAY,CAAC,GACH,KAAO,SAAS,GAE1D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,YAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAkC,UAAU,MAAQ,SAAS,GAC3D,EAAO,iBAAiB,qCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAyC,SAAS,GACpD,KAAK,gBAAkB,KACvB,KAAK,SAAW,KAChB,KAAK,SAAW,KAChB,KAAK,YAAc,KACnB,KAAK,yBAA2B,KAC5B,SAC2B,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,IAAI,EAA6B,gBAAgB,EAAK,uBAEzD,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,EAAO,oBAEnC,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEE,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEY,IAAlC,EAAK,0BAA4E,OAAlC,EAAK,2BACtD,KAAK,yBAA2B,EAAK,0BAG3C,GACA,GAAuC,UAAY,CAAC,GACH,KAAO,SAAS,GAE/D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,gBAAkB,IAAI,EAA6B,gBACxD,KAAK,gBAAgB,KAAK,IAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,aACb,KAAK,GACb,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,yBAA2B,EAAM,WAEtC,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAuC,UAAU,MAAQ,SAAS,GAOhE,GANA,EAAO,iBAAiB,0CACK,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,OAAQ,GAC9D,KAAK,gBAAgB,MAAM,GAC3B,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,SAAS,QACpC,KAAK,SACnB,KAAK,SAAS,eAAe,KAC/B,EAAU,KAAK,SAAS,IAChB,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACsB,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAE6B,OAAlC,KAAK,+BAAuE,IAAlC,KAAK,2BACjD,EAAO,gBAAgB,2BAA4B,EAAO,KAAK,KAAM,GACrE,EAAO,UAAU,KAAK,0BACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA2C,SAAS,GACtD,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAyC,UAAY,CAAC,GACH,KAAO,SAAS,GAEjE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAyC,UAAU,MAAQ,SAAS,GAClE,EAAO,iBAAiB,4CACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,QAAU,KACf,KAAK,UAAY,KACjB,KAAK,SAAW,KAChB,KAAK,UAAY,KACb,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEF,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEA,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,WAG5B,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAoC,SAAS,GAC/C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,oBAAoB,EAAK,eAEtC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAkC,UAAY,CAAC,GACH,KAAO,SAAS,GAE1D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,oBAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAkC,UAAU,MAAQ,SAAS,GAC3D,EAAO,iBAAiB,qCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAwC,SAAS,GACnD,KAAK,eAAiB,KACtB,KAAK,YAAc,KACf,SAC0B,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,IAAI,EAAO,oBAAoB,EAAK,sBAEnC,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAO,QAAQ,EAAK,YAAa,CAAC,EAAO,QAAS,EAAO,QAAS,EAAO,QAAS,EAAO,SAAU,EAAO,gBAGnI,GACA,GAAsC,UAAY,CAAC,GACH,KAAO,SAAS,GAE9D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,eAAiB,IAAI,EAAO,oBACjC,KAAK,eAAe,KAAK,IAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,IAAK,CAC5B,KAAK,YAAc,CAAC,EAGpB,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,aACf,EAAS,CAAC,EAGV,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,aACf,EAAS,CAAC,EAGV,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,aACf,EAAS,CAAC,EAGV,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,aACf,EAAS,GAGT,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,cACb,KAAK,GACb,EAAO,KAAK,EACd,CACA,EAAM,cACN,EAAO,GAAU,CACnB,CACA,EAAM,aACN,EAAO,GAAU,CACnB,CACA,EAAM,aACN,EAAO,GAAU,CACnB,CACA,EAAM,aACN,KAAK,YAAY,GAAU,CAC7B,CACA,EAAM,YACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAsC,UAAU,MAAQ,SAAS,GAO/D,GANA,EAAO,iBAAiB,yCACI,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,OAAQ,GAC7D,KAAK,eAAe,MAAM,GAC1B,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,YAA2B,CAG/D,IAAK,IAAI,KAFT,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,IAAK,EAAO,aAAa,KAAK,cAC9D,KAAK,YACxB,GAAI,KAAK,YAAY,eAAe,GAAW,CAC7C,IAAI,EAAW,KAAK,YAAY,GAGhC,IAAK,IAAI,KAFT,EAAO,YAAY,GACnB,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,IAAK,EAAO,aAAa,IACzD,EACnB,GAAI,EAAS,eAAe,GAAW,CACrC,IAAI,EAAW,EAAS,GAGxB,IAAK,IAAI,KAFT,EAAO,YAAY,GACnB,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,IAAK,EAAO,aAAa,IACzD,EACnB,GAAI,EAAS,eAAe,GAAW,CACrC,IAAI,EAAW,EAAS,GAGxB,IAAK,IAAI,KAFT,EAAO,YAAY,GACnB,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,KAAM,EAAO,aAAa,IAC1D,EACnB,GAAI,EAAS,eAAe,GAAW,CACrC,IAAI,EAAW,EAAS,GAGxB,IAAK,IAAI,KAFT,EAAO,YAAY,GACnB,EAAO,eAAe,EAAO,KAAK,OAAQ,EAAS,QAC/B,EACd,EAAS,eAAe,KAC1B,EAAU,EAAS,IACX,MAAM,GAGlB,EAAO,cACT,CAEF,EAAO,aACT,CAEF,EAAO,aACT,CAEF,EAAO,aACT,CAEF,EAAO,cACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA0C,SAAS,GACrD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,kBAAkB,EAAK,eAEpC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAwC,UAAY,CAAC,GACH,KAAO,SAAS,GAEhE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,kBAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAwC,UAAU,MAAQ,SAAS,GACjE,EAAO,iBAAiB,2CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA2B,SAAS,GACtC,KAAK,QAAU,KACf,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEG,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,YAAY,EAAK,cAGrD,GACA,GAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,YAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAyB,UAAU,MAAQ,SAAS,GAClD,EAAO,iBAAiB,4BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA6B,SAAS,GACxC,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAA2B,UAAY,CAAC,GACH,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA2B,UAAU,MAAQ,SAAS,GACpD,EAAO,iBAAiB,8BACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA0B,SAAS,GACrC,KAAK,QAAU,KACf,KAAK,SAAW,KACZ,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEA,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,GACA,GAAwB,UAAY,CAAC,GACH,KAAO,SAAS,GAEhD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAwB,UAAU,MAAQ,SAAS,GACjD,EAAO,iBAAiB,2BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA4B,SAAS,GACvC,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAA0B,UAAY,CAAC,GACH,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA0B,UAAU,MAAQ,SAAS,GACnD,EAAO,iBAAiB,6BACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAyB,SAAS,GACpC,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,GAAuB,UAAY,CAAC,GACH,KAAO,SAAS,GAE/C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAuB,UAAU,MAAQ,SAAS,GAChD,EAAO,iBAAiB,0BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA2B,SAAS,GACtC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEjC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAyB,UAAY,CAAC,GACH,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAyB,UAAU,MAAQ,SAAS,GAElD,GADA,EAAO,iBAAiB,4BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA0C,SAAS,GACrD,KAAK,QAAU,KACf,KAAK,SAAW,KACZ,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEA,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,GACA,GAAwC,UAAY,CAAC,GACH,KAAO,SAAS,GAEhE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAwC,UAAU,MAAQ,SAAS,GACjE,EAAO,iBAAiB,2CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA4C,SAAS,GACvD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,kBAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA0C,UAAY,CAAC,GACH,KAAO,SAAS,GAElE,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,WACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA0C,UAAU,MAAQ,SAAS,GAEnE,GADA,EAAO,iBAAiB,6CACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAmC,SAAS,GAC9C,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,KAAO,KACR,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEP,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,MAGvB,GACA,GAAiC,UAAY,CAAC,GACH,KAAO,SAAS,GAEzD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAiC,UAAU,MAAQ,SAAS,GAC1D,EAAO,iBAAiB,oCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAqC,SAAS,GAChD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,kBAExC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAmC,UAAY,CAAC,GACH,KAAO,SAAS,GAE3D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,WACb,KAAK,GACb,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAmC,UAAU,MAAQ,SAAS,GAE5D,GADA,EAAO,iBAAiB,sCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,IACf,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAsC,SAAS,GACjD,KAAK,QAAU,KACf,KAAK,SAAW,KACZ,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEA,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,GACA,GAAoC,UAAY,CAAC,GACH,KAAO,SAAS,GAE5D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAoC,UAAU,MAAQ,SAAS,GAC7D,EAAO,iBAAiB,uCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAwC,SAAS,GACnD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEjC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAsC,UAAY,CAAC,GACH,KAAO,SAAS,GAE9D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAsC,UAAU,MAAQ,SAAS,GAE/D,GADA,EAAO,iBAAiB,yCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACnC,KAAK,QACnB,KAAK,QAAQ,eAAe,KAC9B,EAAU,KAAK,QAAQ,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAwB,SAAS,GACnC,KAAK,QAAU,KACf,KAAK,YAAc,KACnB,KAAK,SAAW,KACZ,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEG,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEJ,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,GACA,GAAsB,UAAY,CAAC,GACH,KAAO,SAAS,GAE9C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,YAAc,EAAM,aAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAsB,UAAU,MAAQ,SAAS,GAC/C,EAAO,iBAAiB,yBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,EAAO,YAAY,KAAK,aACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA0B,SAAS,GACrC,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAwB,UAAY,CAAC,GACH,KAAO,SAAS,GAEhD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAwB,UAAU,MAAQ,SAAS,GACjD,EAAO,iBAAiB,2BACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAoC,SAAS,GAC/C,KAAK,QAAU,KACf,KAAK,YAAc,KACnB,KAAK,WAAa,KAClB,KAAK,WAAa,KAClB,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEG,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEF,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAED,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEA,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,qBAAqB,EAAK,cAG9D,GACA,GAAkC,UAAY,CAAC,GACH,KAAO,SAAS,GAE1D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,YAAc,EAAM,aAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,qBAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAkC,UAAU,MAAQ,SAAS,GAC3D,EAAO,iBAAiB,qCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,EAAO,YAAY,KAAK,aACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAsC,SAAS,GACjD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEP,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAoC,UAAY,CAAC,GACH,KAAO,SAAS,GAE5D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAoC,UAAU,MAAQ,SAAS,GAC7D,EAAO,iBAAiB,uCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAA+B,SAAS,GAC1C,KAAK,QAAU,KACf,KAAK,IAAM,KACX,KAAK,MAAQ,GACT,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEL,IAAb,EAAK,KAAkC,OAAb,EAAK,MACjC,KAAK,IAAM,EAAK,UAEC,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,OAGxB,GACA,GAA6B,UAAY,CAAC,GACH,KAAO,SAAS,GAErD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,IAAM,EAAM,aAEjB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA6B,UAAU,MAAQ,SAAS,GACtD,EAAO,iBAAiB,gCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEQ,OAAb,KAAK,UAA6B,IAAb,KAAK,MAC5B,EAAO,gBAAgB,MAAO,EAAO,KAAK,OAAQ,GAClD,EAAO,YAAY,KAAK,KACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAiC,SAAS,GAC5C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,aAAa,EAAK,eAE/B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAA+B,UAAY,CAAC,GACH,KAAO,SAAS,GAEvD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,aAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAA+B,UAAU,MAAQ,SAAS,GACxD,EAAO,iBAAiB,kCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkC,SAAS,GAC7C,KAAK,QAAU,KACf,KAAK,MAAQ,GACT,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,OAGxB,GACA,GAAgC,UAAY,CAAC,GACH,KAAO,SAAS,GAExD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgC,UAAU,MAAQ,SAAS,GACzD,EAAO,iBAAiB,mCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAoC,SAAS,GAC/C,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,aAAa,EAAK,eAE/B,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAkC,UAAY,CAAC,GACH,KAAO,SAAS,GAE1D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,aAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAkC,UAAU,MAAQ,SAAS,GAC3D,EAAO,iBAAiB,qCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAqC,SAAS,GAChD,KAAK,QAAU,KACX,QACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,QAG1B,GACA,GAAmC,UAAY,CAAC,GACH,KAAO,SAAS,GAE3D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAmC,UAAU,MAAQ,SAAS,GAC5D,EAAO,iBAAiB,sCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAuC,SAAS,GAClD,KAAK,QAAU,KACf,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,QAAQ,EAAK,QAAS,CAAC,aAEhC,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,GACA,GAAqC,UAAY,CAAC,GACH,KAAO,SAAS,GAE7D,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,IAAK,CAC5B,KAAK,QAAU,CAAC,EAGhB,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EACJ,EAAS,EAAM,aACf,EAAS,EAAM,aACf,KAAK,QAAQ,GAAU,CACzB,CACA,EAAM,YACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAqC,UAAU,MAAQ,SAAS,GAE9D,GADA,EAAO,iBAAiB,wCACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,OAAQ,EAAO,aAAa,KAAK,UACjE,KAAK,QACxB,GAAI,KAAK,QAAQ,eAAe,GAAW,CACzC,IAAI,EAAW,KAAK,QAAQ,GAC5B,EAAO,YAAY,GACnB,EAAO,YAAY,EACrB,CAEF,EAAO,cACP,EAAO,eACT,CACe,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAoD,SAAS,GAC/D,KAAK,QAAU,KACf,KAAK,KAAO,KACZ,KAAK,MAAQ,KACb,KAAK,cAAgB,KACjB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEJ,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAO,SAAS,EAAK,KAAM,CAAC,EAA2B,6BAElD,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAO,SAAS,EAAK,MAAO,CAAC,EAA2B,kCAE5C,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAO,QAAQ,EAAK,cAAe,CAAC,QAG/D,GACA,GAAkD,UAAY,CAAC,GACH,KAAO,SAAS,GAE1E,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,KAAO,GAGZ,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAA2B,sBACjC,KAAK,GACb,KAAK,KAAK,KAAK,EACjB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,MAAQ,GAGb,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAA2B,2BACjC,KAAK,GACb,KAAK,MAAM,KAAK,EAClB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,IAAK,CAC5B,KAAK,cAAgB,CAAC,EAGtB,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EACJ,EAAS,EAAM,aACf,EAAS,EAAM,aACf,KAAK,cAAc,GAAU,CAC/B,CACA,EAAM,YACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAkD,UAAU,MAAQ,SAAS,GAO3E,GANA,EAAO,iBAAiB,qDACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,KAAoB,CAGjD,IAAK,IAAI,KAFT,EAAO,gBAAgB,OAAQ,EAAO,KAAK,KAAM,GACjD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,KAAK,QAChC,KAAK,KACnB,KAAK,KAAK,eAAe,KAC3B,EAAU,KAAK,KAAK,IACZ,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,GAAmB,OAAf,KAAK,YAAiC,IAAf,KAAK,MAAqB,CAGnD,IAAK,IAAI,KAFT,EAAO,gBAAgB,QAAS,EAAO,KAAK,KAAM,GAClD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,MAAM,QACjC,KAAK,MACnB,KAAK,MAAM,eAAe,KAC5B,EAAU,KAAK,MAAM,IACb,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,GAA2B,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,cAA6B,CAGnE,IAAK,IAAI,KAFT,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,IAAK,GACzD,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,OAAQ,EAAO,aAAa,KAAK,gBACjE,KAAK,cACxB,GAAI,KAAK,cAAc,eAAe,GAAW,CAC/C,IAAI,EAAW,KAAK,cAAc,GAClC,EAAO,YAAY,GACnB,EAAO,YAAY,EACrB,CAEF,EAAO,cACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAsD,SAAS,GACjE,KAAK,EAAI,KACL,aAAgB,EAAO,kBACzB,KAAK,EAAI,EAGP,QACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,EAGpB,GACA,GAAoD,UAAY,CAAC,GACH,KAAO,SAAS,GAE5E,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,QACvB,KAAK,EAAI,IAAI,EAAO,kBACpB,KAAK,EAAE,KAAK,IAEZ,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAoD,UAAU,MAAQ,SAAS,GAC7E,EAAO,iBAAiB,uDACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,OAAQ,GAChD,KAAK,EAAE,MAAM,GACb,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAgB,EAAQ,OAAS,SAAS,EAAQ,GACpD,KAAK,OAAS,EACd,KAAK,OAAS,EACd,KAAK,OAAS,EACd,KAAK,MAAQ,CAAC,CAChB,EACA,GAAc,UAAY,CAAC,EAC3B,GAAc,UAAU,MAAQ,WAAa,OAAO,KAAK,MAAQ,EACjE,GAAc,UAAU,UAAY,WAAa,OAAO,KAAK,QAAU,CAAG,EAE1E,GAAc,UAAU,QAAU,SAAS,EAAM,EAAQ,EAAQ,GAE/D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,aAAa,EAAM,EAAQ,GACzB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,aAAa,EAAM,EAAQ,EAEpC,EAEA,GAAc,UAAU,aAAe,SAAS,EAAM,EAAQ,GAC5D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,EALF,CACX,KAAM,EACN,OAAQ,EACR,OAAQ,IAGV,IAIE,OAHA,EAAO,kBAAkB,UAAW,EAAO,YAAY,KAAM,KAAK,SAClE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,aAAe,SAAS,EAAM,EAAM,GAC1D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,iCAClB,EAEA,GAAc,UAAU,aAAe,SAAS,EAAY,EAAQ,GAElE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,kBAAkB,EAAY,GAC5B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,kBAAkB,EAAY,EAEvC,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAY,GAC/D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,EAJF,CACX,WAAY,EACZ,OAAQ,IAGV,IAIE,OAHA,EAAO,kBAAkB,eAAgB,EAAO,YAAY,KAAM,KAAK,SACvE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAM,EAAM,GAC/D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,sCAClB,EAEA,GAAc,UAAU,WAAa,SAAS,EAAS,GAErD,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,gBAAgB,GACd,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,gBAAgB,EAEzB,EAEA,GAAc,UAAU,gBAAkB,SAAS,GACjD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,aAAc,EAAO,YAAY,KAAM,KAAK,SACrE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAM,EAAM,GAC7D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,EAAQ,GAElE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,qBAAqB,EAAS,GAC5B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,qBAAqB,EAAS,EAEvC,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAS,GAC/D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,EAJF,CACX,QAAS,EACT,OAAQ,IAGV,IAIE,OAHA,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,KAAM,KAAK,SAC1E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAM,EAAM,GAClE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,cAAgB,SAAS,EAAS,GAExD,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,mBAAmB,GACjB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,mBAAmB,EAE5B,EAEA,GAAc,UAAU,mBAAqB,SAAS,GACpD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,KAAM,KAAK,SACxE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAM,EAAM,GAChE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,uCAClB,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,GAE5D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,uBAAuB,GACrB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,uBAAuB,EAEhC,EAEA,GAAc,UAAU,uBAAyB,SAAS,GACxD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,KAAM,KAAK,SAC5E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAM,EAAM,GACpE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,2CAClB,EAEA,GAAc,UAAU,WAAa,SAAS,EAAS,GAErD,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,gBAAgB,GACd,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,gBAAgB,EAEzB,EAEA,GAAc,UAAU,gBAAkB,SAAS,GACjD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,aAAc,EAAO,YAAY,KAAM,KAAK,SACrE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAM,EAAM,GAC7D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,oCAClB,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,GAE5D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,uBAAuB,GACrB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,uBAAuB,EAEhC,EAEA,GAAc,UAAU,uBAAyB,SAAS,GACxD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,KAAM,KAAK,SAC5E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAM,EAAM,GACpE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,2CAClB,EAEA,GAAc,UAAU,WAAa,SAAS,EAAS,GAErD,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,gBAAgB,GACd,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,gBAAgB,EAEzB,EAEA,GAAc,UAAU,gBAAkB,SAAS,GACjD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,aAAc,EAAO,YAAY,KAAM,KAAK,SACrE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAM,EAAM,GAC7D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,oCAClB,EAEA,GAAc,UAAU,oBAAsB,SAAS,EAAS,GAE9D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,yBAAyB,GACvB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,yBAAyB,EAElC,EAEA,GAAc,UAAU,yBAA2B,SAAS,GAC1D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,KAAM,KAAK,SAC9E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAM,EAAM,GACtE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,6CAClB,EAEA,GAAc,UAAU,UAAY,SAAS,EAAS,GAEpD,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,eAAe,GACb,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,eAAe,EAExB,EAEA,GAAc,UAAU,eAAiB,SAAS,GAChD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,YAAa,EAAO,YAAY,KAAM,KAAK,SACpE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,eAAiB,SAAS,EAAM,EAAM,GAC5D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,mCAClB,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,GAE1D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,qBAAqB,GACnB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,qBAAqB,EAE9B,EAEA,GAAc,UAAU,qBAAuB,SAAS,GACtD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,KAAM,KAAK,SAC1E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAM,EAAM,GAClE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,yCAClB,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,EAAY,GAExE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,uBAAuB,EAAS,GAC9B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,uBAAuB,EAAS,EAEzC,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAS,GACjE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,EAJF,CACX,QAAS,EACT,WAAY,IAGd,IAIE,OAHA,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,KAAM,KAAK,SAC5E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAM,EAAM,GACpE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,2CAClB,EAEA,GAAc,UAAU,2BAA6B,SAAS,EAAS,EAAY,GAEjF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,gCAAgC,EAAS,GACvC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,gCAAgC,EAAS,EAElD,EAEA,GAAc,UAAU,gCAAkC,SAAS,EAAS,GAC1E,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,EAJF,CACX,QAAS,EACT,WAAY,IAGd,IAIE,OAHA,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,KAAM,KAAK,SACrF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,gCAAkC,SAAS,EAAM,EAAM,GAC7E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,oDAClB,EAEA,GAAc,UAAU,UAAY,SAAS,EAAS,GAEpD,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,eAAe,GACb,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,eAAe,EAExB,EAEA,GAAc,UAAU,eAAiB,SAAS,GAChD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,YAAa,EAAO,YAAY,KAAM,KAAK,SACpE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,eAAiB,SAAS,EAAM,EAAM,GAC5D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,mCAClB,EAEA,GAAc,UAAU,cAAgB,SAAS,EAAS,GAExD,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,mBAAmB,GACjB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,mBAAmB,EAE5B,EAEA,GAAc,UAAU,mBAAqB,SAAS,GACpD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,KAAM,KAAK,SACxE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAM,EAAM,GAChE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,uCAClB,EAEA,GAAc,UAAU,YAAc,SAAS,GAE7C,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,mBACE,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,kBAET,EAEA,GAAc,UAAU,iBAAmB,WACzC,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAC9B,EAAO,IAAI,EACf,IAIE,OAHA,EAAO,kBAAkB,cAAe,EAAO,YAAY,KAAM,KAAK,SACtE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAM,EAAM,GAC9D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,qCAClB,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAS,GAE7D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,wBAAwB,GACtB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,wBAAwB,EAEjC,EAEA,GAAc,UAAU,wBAA0B,SAAS,GACzD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,KAAM,KAAK,SAC7E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAM,EAAM,GACrE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,GAE5D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,uBAAuB,GACrB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,uBAAuB,EAEhC,EAEA,GAAc,UAAU,uBAAyB,SAAS,GACxD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,KAAM,KAAK,SAC5E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAM,EAAM,GACpE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,GAE3D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,GACpB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAE/B,EAEA,GAAc,UAAU,sBAAwB,SAAS,GACvD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,0CAClB,EAEA,GAAc,UAAU,WAAa,SAAS,EAAS,EAAc,GAEnE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,gBAAgB,EAAS,GACvB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,gBAAgB,EAAS,EAElC,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,GAC1D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,EAJF,CACX,QAAS,EACT,aAAc,IAGhB,IAIE,OAHA,EAAO,kBAAkB,aAAc,EAAO,YAAY,KAAM,KAAK,SACrE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAM,EAAM,GAC7D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,oCAClB,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,GAE3D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,GACpB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAE/B,EAEA,GAAc,UAAU,sBAAwB,SAAS,GACvD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,EAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,EAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,GAE3D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,GACpB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAE/B,EAEA,GAAc,UAAU,sBAAwB,SAAS,GACvD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,GAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,EAAO,EAAU,EAAW,GAEtF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,qBAAqB,EAAS,EAAO,EAAU,GAC7C,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,qBAAqB,EAAS,EAAO,EAAU,EAExD,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAS,EAAO,EAAU,GAChF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,MAAO,EACP,SAAU,EACV,UAAW,IAGb,IAIE,OAHA,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,KAAM,KAAK,SAC1E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAM,EAAM,GAClE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAS,EAAY,EAAW,GAEzF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,6BAA6B,EAAS,EAAY,GAChD,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,6BAA6B,EAAS,EAAY,EAE3D,EAEA,GAAc,UAAU,6BAA+B,SAAS,EAAS,EAAY,GACnF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,WAAY,EACZ,UAAW,IAGb,IAIE,OAHA,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,KAAM,KAAK,SAClF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,6BAA+B,SAAS,EAAM,EAAM,GAC1E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,EAAO,EAAU,GAE3E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,qBAAqB,EAAS,EAAO,GACnC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,qBAAqB,EAAS,EAAO,EAE9C,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAS,EAAO,GACtE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,MAAO,EACP,SAAU,IAGZ,IAIE,OAHA,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,KAAM,KAAK,SAC1E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAM,EAAM,GAClE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,yCAClB,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAS,EAAY,GAE9E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,6BAA6B,EAAS,GACpC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,6BAA6B,EAAS,EAE/C,EAEA,GAAc,UAAU,6BAA+B,SAAS,EAAS,GACvE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,WAAY,IAGd,IAIE,OAHA,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,KAAM,KAAK,SAClF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,6BAA+B,SAAS,EAAM,EAAM,GAC1E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,iDAClB,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,EAAO,EAAU,GAE5E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,EAAS,EAAO,GACpC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAAS,EAAO,EAE/C,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAS,EAAO,GACvE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,MAAO,EACP,SAAU,IAGZ,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,0CAClB,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,EAAO,EAAc,GAEhF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,EAAS,EAAO,GACpC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAAS,EAAO,EAE/C,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAS,EAAO,GACvE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,MAAO,EACP,aAAc,IAGhB,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,EACa,IAAI,IACV,KAAK,GACZ,EAAM,iBAEN,EAAS,KACX,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,GAE3D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,GACpB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAE/B,EAEA,GAAc,UAAU,sBAAwB,SAAS,GACvD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,GAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,0CAClB,EAEA,GAAc,UAAU,YAAc,SAAS,EAAS,EAAO,EAAe,EAAO,EAAS,EAAW,GAEvG,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,iBAAiB,EAAS,EAAO,EAAe,EAAO,EAAS,GAC9D,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,iBAAiB,EAAS,EAAO,EAAe,EAAO,EAAS,EAEzE,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,EAAO,EAAe,EAAO,EAAS,GACjG,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAS9B,EAAO,IAAI,GARF,CACX,QAAS,EACT,MAAO,EACP,cAAe,EACf,MAAO,EACP,QAAS,EACT,UAAW,IAGb,IAIE,OAHA,EAAO,kBAAkB,cAAe,EAAO,YAAY,KAAM,KAAK,SACtE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAM,EAAM,GAC9D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,qCAClB,EAEA,GAAc,UAAU,eAAiB,SAAS,EAAS,EAAO,EAAa,EAAW,EAAS,EAAkB,GAEnH,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,oBAAoB,EAAS,EAAO,EAAa,EAAW,EAAS,GACnE,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,oBAAoB,EAAS,EAAO,EAAa,EAAW,EAAS,EAE9E,EAEA,GAAc,UAAU,oBAAsB,SAAS,EAAS,EAAO,EAAa,EAAW,EAAS,GACtG,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAS9B,EAAO,IAAI,GARF,CACX,QAAS,EACT,MAAO,EACP,YAAa,EACb,UAAW,EACX,QAAS,EACT,iBAAkB,IAGpB,IAIE,OAHA,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,KAAM,KAAK,SACzE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,oBAAsB,SAAS,EAAM,EAAM,GACjE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,wCAClB,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,EAAO,EAAW,EAAS,GAErF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,qBAAqB,EAAS,EAAO,EAAW,GAC9C,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,qBAAqB,EAAS,EAAO,EAAW,EAEzD,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAS,EAAO,EAAW,GACjF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,MAAO,EACP,UAAW,EACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,KAAM,KAAK,SAC1E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAM,EAAM,GAClE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,yCAClB,EAEA,GAAc,UAAU,cAAgB,SAAS,EAAS,EAAI,EAAa,EAAW,GAEpF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,mBAAmB,EAAS,EAAI,EAAa,GAC3C,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,mBAAmB,EAAS,EAAI,EAAa,EAEtD,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAS,EAAI,EAAa,GAC9E,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,GAAI,EACJ,YAAa,EACb,UAAW,IAGb,IAIE,OAHA,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,KAAM,KAAK,SACxE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAM,EAAM,GAChE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,UAAY,SAAS,EAAe,EAAmB,GAE7E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,eAAe,EAAe,GAC5B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,eAAe,EAAe,EAEvC,EAEA,GAAc,UAAU,eAAiB,SAAS,EAAe,GAC/D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,cAAe,EACf,kBAAmB,IAGrB,IAIE,OAHA,EAAO,kBAAkB,YAAa,EAAO,YAAY,KAAM,KAAK,SACpE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,eAAiB,SAAS,EAAM,EAAM,GAC5D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,aAAe,SAAS,EAAS,EAAO,GAE9D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,kBAAkB,EAAS,GACzB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,kBAAkB,EAAS,EAEpC,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,GAC5D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,MAAO,IAGT,IAIE,OAHA,EAAO,kBAAkB,eAAgB,EAAO,YAAY,KAAM,KAAK,SACvE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAM,EAAM,GAC/D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,sCAClB,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAS,EAAK,EAAQ,GAE5E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,0BAA0B,EAAS,EAAK,GACtC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,0BAA0B,EAAS,EAAK,EAEjD,EAEA,GAAc,UAAU,0BAA4B,SAAS,EAAS,EAAK,GACzE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,IAAK,EACL,OAAQ,IAGV,IAIE,OAHA,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,KAAM,KAAK,SAC/E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,0BAA4B,SAAS,EAAM,EAAM,GACvE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,8CAClB,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAS,EAAM,GAEnE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,wBAAwB,EAAS,GAC/B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,wBAAwB,EAAS,EAE1C,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAS,GAClE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,KAAM,IAGR,IAIE,OAHA,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,KAAM,KAAK,SAC7E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAM,EAAM,GACrE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,YAAc,SAAS,EAAS,EAAW,EAAW,EAAmB,EAAO,GAEtG,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,iBAAiB,EAAS,EAAW,EAAW,EAAmB,GACjE,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,iBAAiB,EAAS,EAAW,EAAW,EAAmB,EAE5E,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,EAAW,EAAW,EAAmB,GACpG,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAQ9B,EAAO,IAAI,GAPF,CACX,QAAS,EACT,UAAW,EACX,UAAW,EACX,kBAAmB,EACnB,MAAO,IAGT,IAIE,OAHA,EAAO,kBAAkB,cAAe,EAAO,YAAY,KAAM,KAAK,SACtE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAM,EAAM,GAC9D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,qCAClB,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAS,EAAW,EAAO,EAAiB,EAAe,EAAa,EAAO,GAEzI,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,8BAA8B,EAAS,EAAW,EAAO,EAAiB,EAAe,EAAa,GACpG,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,8BAA8B,EAAS,EAAW,EAAO,EAAiB,EAAe,EAAa,EAE/G,EAEA,GAAc,UAAU,8BAAgC,SAAS,EAAS,EAAW,EAAO,EAAiB,EAAe,EAAa,GACvI,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAU9B,EAAO,IAAI,GATF,CACX,QAAS,EACT,UAAW,EACX,MAAO,EACP,gBAAiB,EACjB,cAAe,EACf,YAAa,EACb,MAAO,IAGT,IAIE,OAHA,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,KAAM,KAAK,SACnF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,8BAAgC,SAAS,EAAM,EAAM,GAC3E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,kDAClB,EAEA,GAAc,UAAU,cAAgB,SAAS,EAAS,EAAc,GAEtE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,mBAAmB,EAAS,GAC1B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,mBAAmB,EAAS,EAErC,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAS,GAC7D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,aAAc,IAGhB,IAIE,OAHA,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,KAAM,KAAK,SACxE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAM,EAAM,GAChE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,uCAClB,EAEA,GAAc,UAAU,eAAiB,SAAS,EAAS,GAEzD,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,oBAAoB,GAClB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,oBAAoB,EAE7B,EAEA,GAAc,UAAU,oBAAsB,SAAS,GACrD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,GAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,KAAM,KAAK,SACzE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,oBAAsB,SAAS,EAAM,EAAM,GACjE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,wCAClB,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,EAAgB,EAAiB,EAAY,EAAoB,GAE5H,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,EAAS,EAAgB,EAAiB,EAAY,GAC1E,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAAS,EAAgB,EAAiB,EAAY,EAErF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAS,EAAgB,EAAiB,EAAY,GAC7G,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAQ9B,EAAO,IAAI,GAPF,CACX,QAAS,EACT,eAAgB,EAChB,gBAAiB,EACjB,WAAY,EACZ,mBAAoB,IAGtB,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,0CAClB,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,EAAc,EAAgB,EAAiB,EAAiB,EAAY,EAAoB,GAE5J,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,uBAAuB,EAAS,EAAc,EAAgB,EAAiB,EAAiB,EAAY,GAC1G,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,uBAAuB,EAAS,EAAc,EAAgB,EAAiB,EAAiB,EAAY,EAErH,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAS,EAAc,EAAgB,EAAiB,EAAiB,EAAY,GAC7I,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAU9B,EAAO,IAAI,GATF,CACX,QAAS,EACT,aAAc,EACd,eAAgB,EAChB,gBAAiB,EACjB,gBAAiB,EACjB,WAAY,EACZ,mBAAoB,IAGtB,IAIE,OAHA,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,KAAM,KAAK,SAC5E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAM,EAAM,GACpE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,EAAc,GAEzE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,EAAS,GAC7B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAAS,EAExC,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAS,GAChE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,aAAc,IAGhB,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,EAAe,EAAQ,EAAa,GAE/F,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,EAAS,EAAe,EAAQ,GACpD,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAAS,EAAe,EAAQ,EAE/D,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAS,EAAe,EAAQ,GACvF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,cAAe,EACf,OAAQ,EACR,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,EAAe,GAE3E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,uBAAuB,EAAS,GAC9B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,uBAAuB,EAAS,EAEzC,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAS,GACjE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,cAAe,IAGjB,IAIE,OAHA,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,KAAM,KAAK,SAC5E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAM,EAAM,GACpE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,EAAc,EAAQ,EAAS,EAAa,EAAY,GAElH,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,qBAAqB,EAAS,EAAc,EAAQ,EAAS,EAAa,GACxE,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,qBAAqB,EAAS,EAAc,EAAQ,EAAS,EAAa,EAEnF,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAS,EAAc,EAAQ,EAAS,EAAa,GAC3G,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAS9B,EAAO,IAAI,GARF,CACX,QAAS,EACT,aAAc,EACd,OAAQ,EACR,QAAS,EACT,YAAa,EACb,WAAY,IAGd,IAIE,OAHA,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,KAAM,KAAK,SAC1E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAM,EAAM,GAClE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,EAAc,EAAQ,EAAS,EAAa,GAExG,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,uBAAuB,EAAS,EAAc,EAAQ,EAAS,GAC7D,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,uBAAuB,EAAS,EAAc,EAAQ,EAAS,EAExE,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAS,EAAc,EAAQ,EAAS,GAChG,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAQ9B,EAAO,IAAI,GAPF,CACX,QAAS,EACT,aAAc,EACd,OAAQ,EACR,QAAS,EACT,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,KAAM,KAAK,SAC5E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAM,EAAM,GACpE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAS,EAAe,EAAQ,EAAa,GAEjG,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,wBAAwB,EAAS,EAAe,EAAQ,GACtD,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,wBAAwB,EAAS,EAAe,EAAQ,EAEjE,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAS,EAAe,EAAQ,GACzF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,cAAe,EACf,OAAQ,EACR,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,KAAM,KAAK,SAC7E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAM,EAAM,GACrE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAS,EAAc,GAE/E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,4BAA4B,EAAS,GACnC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,4BAA4B,EAAS,EAE9C,EAEA,GAAc,UAAU,4BAA8B,SAAS,EAAS,GACtE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,aAAc,IAGhB,IAIE,OAHA,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,KAAM,KAAK,SACjF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,4BAA8B,SAAS,EAAM,EAAM,GACzE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,gDAClB,EAEA,GAAc,UAAU,cAAgB,SAAS,EAAS,EAAM,GAE9D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,mBAAmB,EAAS,GAC1B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,mBAAmB,EAAS,EAErC,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAS,GAC7D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,KAAM,IAGR,IAIE,OAHA,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,KAAM,KAAK,SACxE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAM,EAAM,GAChE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,uCAClB,EAEA,GAAc,UAAU,YAAc,SAAS,EAAS,EAAY,EAAe,GAEjF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,iBAAiB,EAAS,EAAY,GACpC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,iBAAiB,EAAS,EAAY,EAE/C,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,EAAY,GACvE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,WAAY,EACZ,cAAe,IAGjB,IAIE,OAHA,EAAO,kBAAkB,cAAe,EAAO,YAAY,KAAM,KAAK,SACtE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAM,EAAM,GAC9D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,qCAClB,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,EAAY,EAAM,EAAc,GAE5F,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,uBAAuB,EAAS,EAAY,EAAM,GAChD,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,uBAAuB,EAAS,EAAY,EAAM,EAE3D,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAS,EAAY,EAAM,GACnF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,WAAY,EACZ,KAAM,EACN,aAAc,IAGhB,IAIE,OAHA,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,KAAM,KAAK,SAC5E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAM,EAAM,GACpE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,2BAA6B,SAAS,EAAS,EAAY,EAAM,EAAc,GAErG,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,gCAAgC,EAAS,EAAY,EAAM,GACzD,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,gCAAgC,EAAS,EAAY,EAAM,EAEpE,EAEA,GAAc,UAAU,gCAAkC,SAAS,EAAS,EAAY,EAAM,GAC5F,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,WAAY,EACZ,KAAM,EACN,aAAc,IAGhB,IAIE,OAHA,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,KAAM,KAAK,SACrF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,gCAAkC,SAAS,EAAM,EAAM,GAC7E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAS,EAAY,EAAc,EAAkB,GAE9G,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,6BAA6B,EAAS,EAAY,EAAc,GAC9D,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,6BAA6B,EAAS,EAAY,EAAc,EAEzE,EAEA,GAAc,UAAU,6BAA+B,SAAS,EAAS,EAAY,EAAc,GACjG,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,WAAY,EACZ,aAAc,EACd,iBAAkB,IAGpB,IAIE,OAHA,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,KAAM,KAAK,SAClF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,6BAA+B,SAAS,EAAM,EAAM,GAC1E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,WAAa,SAAS,EAAS,EAAY,EAAM,EAAc,GAErF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,gBAAgB,EAAS,EAAY,EAAM,GACzC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,gBAAgB,EAAS,EAAY,EAAM,EAEpD,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,EAAY,EAAM,GAC5E,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,WAAY,EACZ,KAAM,EACN,aAAc,IAGhB,IAIE,OAHA,EAAO,kBAAkB,aAAc,EAAO,YAAY,KAAM,KAAK,SACrE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAM,EAAM,GAC7D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,oBAAsB,SAAS,EAAS,EAAW,EAAa,GAEtF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,yBAAyB,EAAS,EAAW,GAC3C,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,yBAAyB,EAAS,EAAW,EAEtD,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAS,EAAW,GAC9E,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,UAAW,EACX,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,KAAM,KAAK,SAC9E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAM,EAAM,GACtE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,6CAClB,EAEA,GAAc,UAAU,aAAe,SAAS,EAAS,EAAY,EAAU,EAAW,EAAe,GAEvG,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,kBAAkB,EAAS,EAAY,EAAU,EAAW,GAC1D,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,kBAAkB,EAAS,EAAY,EAAU,EAAW,EAErE,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,EAAY,EAAU,EAAW,GAC7F,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAQ9B,EAAO,IAAI,GAPF,CACX,QAAS,EACT,WAAY,EACZ,SAAU,EACV,UAAW,EACX,cAAe,IAGjB,IAIE,OAHA,EAAO,kBAAkB,eAAgB,EAAO,YAAY,KAAM,KAAK,SACvE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAM,EAAM,GAC/D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,aAAe,SAAS,EAAS,EAAY,EAAW,EAAa,GAE3F,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,kBAAkB,EAAS,EAAY,EAAW,GAChD,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,kBAAkB,EAAS,EAAY,EAAW,EAE3D,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAS,EAAY,EAAW,GACnF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,WAAY,EACZ,UAAW,EACX,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,eAAgB,EAAO,YAAY,KAAM,KAAK,SACvE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,kBAAoB,SAAS,EAAM,EAAM,GAC/D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,EAAY,EAAW,EAAa,EAAU,EAAe,GAExH,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,sBAAsB,EAAS,EAAY,EAAW,EAAa,EAAU,GAC3E,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,sBAAsB,EAAS,EAAY,EAAW,EAAa,EAAU,EAEtF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAS,EAAY,EAAW,EAAa,EAAU,GAC9G,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAS9B,EAAO,IAAI,GARF,CACX,QAAS,EACT,WAAY,EACZ,UAAW,EACX,YAAa,EACb,SAAU,EACV,cAAe,IAGjB,IAIE,OAHA,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,KAAM,KAAK,SAC3E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAM,EAAM,GACnE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,oBAAsB,SAAS,EAAS,EAAW,GAEzE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,yBAAyB,EAAS,GAChC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,yBAAyB,EAAS,EAE3C,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAS,GACnE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,UAAW,IAGb,IAIE,OAHA,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,KAAM,KAAK,SAC9E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAM,EAAM,GACtE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,6CAClB,EAEA,GAAc,UAAU,8BAAgC,SAAS,EAAS,EAAc,EAAa,GAEnG,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,mCAAmC,EAAS,EAAc,GACxD,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,mCAAmC,EAAS,EAAc,EAEnE,EAEA,GAAc,UAAU,mCAAqC,SAAS,EAAS,EAAc,GAC3F,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,aAAc,EACd,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,gCAAiC,EAAO,YAAY,KAAM,KAAK,SACxF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,mCAAqC,SAAS,EAAM,EAAM,GAChF,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,uDAClB,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAS,EAAc,EAAa,GAE9F,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,8BAA8B,EAAS,EAAc,GACnD,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,8BAA8B,EAAS,EAAc,EAE9D,EAEA,GAAc,UAAU,8BAAgC,SAAS,EAAS,EAAc,GACtF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,aAAc,EACd,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,KAAM,KAAK,SACnF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,8BAAgC,SAAS,EAAM,EAAM,GAC3E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,kDAClB,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAS,EAAW,EAAa,GAEzF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,4BAA4B,EAAS,EAAW,GAC9C,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,4BAA4B,EAAS,EAAW,EAEzD,EAEA,GAAc,UAAU,4BAA8B,SAAS,EAAS,EAAW,GACjF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,UAAW,EACX,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,KAAM,KAAK,SACjF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,4BAA8B,SAAS,EAAM,EAAM,GACzE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,gDAClB,EAEA,GAAc,UAAU,+BAAiC,SAAS,EAAS,EAAO,GAEhF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,oCAAoC,EAAS,GAC3C,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,oCAAoC,EAAS,EAEtD,EAEA,GAAc,UAAU,oCAAsC,SAAS,EAAS,GAC9E,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,MAAO,IAGT,IAIE,OAHA,EAAO,kBAAkB,iCAAkC,EAAO,YAAY,KAAM,KAAK,SACzF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,oCAAsC,SAAS,EAAM,EAAM,GACjF,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,wDAClB,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAS,EAAU,GAE5E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,6BAA6B,EAAS,GACpC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,6BAA6B,EAAS,EAE/C,EAEA,GAAc,UAAU,6BAA+B,SAAS,EAAS,GACvE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,SAAU,IAGZ,IAIE,OAHA,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,KAAM,KAAK,SAClF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,6BAA+B,SAAS,EAAM,EAAM,GAC1E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,iDAClB,EAEA,GAAc,UAAU,YAAc,SAAS,EAAc,EAAgB,EAAU,EAAc,EAAwB,GAE3H,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,iBAAiB,EAAc,EAAgB,EAAU,EAAc,GACrE,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,iBAAiB,EAAc,EAAgB,EAAU,EAAc,EAEhF,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAc,EAAgB,EAAU,EAAc,GACxG,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAQ9B,EAAO,IAAI,GAPF,CACX,aAAc,EACd,eAAgB,EAChB,SAAU,EACV,aAAc,EACd,uBAAwB,IAG1B,IAIE,OAHA,EAAO,kBAAkB,cAAe,EAAO,YAAY,KAAM,KAAK,SACtE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAM,EAAM,GAC9D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,qCAClB,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAe,EAAa,GAEhF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,wBAAwB,EAAe,GACrC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,wBAAwB,EAAe,EAEhD,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAe,GACxE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,cAAe,EACf,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,KAAM,KAAK,SAC7E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAM,EAAM,GACrE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,4CAClB,EAEA,GAAc,UAAU,0BAA4B,SAAS,EAAiB,EAAU,EAAU,EAAa,EAA0B,GAEvI,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,+BAA+B,EAAiB,EAAU,EAAU,EAAa,GAC/E,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,+BAA+B,EAAiB,EAAU,EAAU,EAAa,EAE1F,EAEA,GAAc,UAAU,+BAAiC,SAAS,EAAiB,EAAU,EAAU,EAAa,GAClH,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAQ9B,EAAO,IAAI,GAPF,CACX,gBAAiB,EACjB,SAAU,EACV,SAAU,EACV,YAAa,EACb,yBAA0B,IAG5B,IAIE,OAHA,EAAO,kBAAkB,4BAA6B,EAAO,YAAY,KAAM,KAAK,SACpF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,+BAAiC,SAAS,EAAM,EAAM,GAC5E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAS,EAAW,EAAU,EAAW,GAE7F,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,wBAAwB,EAAS,EAAW,EAAU,GACpD,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,wBAAwB,EAAS,EAAW,EAAU,EAE/D,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAS,EAAW,EAAU,GACvF,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,UAAW,EACX,SAAU,EACV,UAAW,IAGb,IAIE,OAHA,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,KAAM,KAAK,SAC7E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAM,EAAM,GACrE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,4CAClB,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAgB,EAAa,GAEvF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,8BAA8B,EAAgB,GAC5C,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,8BAA8B,EAAgB,EAEvD,EAEA,GAAc,UAAU,8BAAgC,SAAS,EAAgB,GAC/E,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,eAAgB,EAChB,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,KAAM,KAAK,SACnF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,8BAAgC,SAAS,EAAM,EAAM,GAC3E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,kDAClB,EAEA,GAAc,UAAU,YAAc,SAAS,EAAS,EAAa,GAEnE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,iBAAiB,EAAS,GACxB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,iBAAiB,EAAS,EAEnC,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAS,GAC3D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,cAAe,EAAO,YAAY,KAAM,KAAK,SACtE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,iBAAmB,SAAS,EAAM,EAAM,GAC9D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,WAAa,SAAS,EAAS,EAAU,GAE/D,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,gBAAgB,EAAS,GACvB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,gBAAgB,EAAS,EAElC,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,GAC1D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,SAAU,IAGZ,IAIE,OAHA,EAAO,kBAAkB,aAAc,EAAO,YAAY,KAAM,KAAK,SACrE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAM,EAAM,GAC7D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EAEA,GAAc,UAAU,UAAY,SAAS,EAAS,GAEpD,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,eAAe,GACb,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,eAAe,EAExB,EAEA,GAAc,UAAU,eAAiB,SAAS,GAChD,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,GAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,YAAa,EAAO,YAAY,KAAM,KAAK,SACpE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,eAAiB,SAAS,EAAM,EAAM,GAC5D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,mCAClB,EAEA,GAAc,UAAU,2BAA6B,SAAS,EAAS,EAAU,GAE/E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,gCAAgC,EAAS,GACvC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,gCAAgC,EAAS,EAElD,EAEA,GAAc,UAAU,gCAAkC,SAAS,EAAS,GAC1E,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,SAAU,IAGZ,IAIE,OAHA,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,KAAM,KAAK,SACrF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,gCAAkC,SAAS,EAAM,EAAM,GAC7E,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,oDAClB,EAEA,GAAc,UAAU,oBAAsB,SAAS,EAAS,EAAY,EAAM,GAEhF,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,yBAAyB,EAAS,EAAY,GAC5C,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,yBAAyB,EAAS,EAAY,EAEvD,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAS,EAAY,GAC/E,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,WAAY,EACZ,KAAM,IAGR,IAIE,OAHA,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,KAAM,KAAK,SAC9E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,yBAA2B,SAAS,EAAM,EAAM,GACtE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,6CAClB,EAEA,GAAc,UAAU,uBAAyB,SAAS,EAAS,EAAU,GAE3E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,4BAA4B,EAAS,GACnC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,4BAA4B,EAAS,EAE9C,EAEA,GAAc,UAAU,4BAA8B,SAAS,EAAS,GACtE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,SAAU,IAGZ,IAIE,OAHA,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,KAAM,KAAK,SACjF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,4BAA8B,SAAS,EAAM,EAAM,GACzE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,gDAClB,EAEA,GAAc,UAAU,SAAW,SAAS,EAAS,EAAa,EAAU,GAE1E,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,cAAc,EAAS,EAAa,GAClC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,cAAc,EAAS,EAAa,EAE7C,EAEA,GAAc,UAAU,cAAgB,SAAS,EAAS,EAAa,GACrE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,YAAa,EACb,SAAU,IAGZ,IAIE,OAHA,EAAO,kBAAkB,WAAY,EAAO,YAAY,KAAM,KAAK,SACnE,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,cAAgB,SAAS,EAAM,EAAM,GAC3D,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,kCAClB,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAS,EAAa,EAAY,EAAY,EAAa,GAEjH,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,0BAA0B,EAAS,EAAa,EAAY,EAAY,GACtE,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,0BAA0B,EAAS,EAAa,EAAY,EAAY,EAEjF,EAEA,GAAc,UAAU,0BAA4B,SAAS,EAAS,EAAa,EAAY,EAAY,GACzG,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAQ9B,EAAO,IAAI,GAPF,CACX,QAAS,EACT,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,YAAa,IAGf,IAIE,OAHA,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,KAAM,KAAK,SAC/E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,0BAA4B,SAAS,EAAM,EAAM,GACvE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,8CAClB,EAEA,GAAc,UAAU,gBAAkB,SAAS,EAAS,EAAK,EAAO,GAEtE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,qBAAqB,EAAS,EAAK,GACjC,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,qBAAqB,EAAS,EAAK,EAE5C,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAS,EAAK,GACpE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAM9B,EAAO,IAAI,GALF,CACX,QAAS,EACT,IAAK,EACL,MAAO,IAGT,IAIE,OAHA,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,KAAM,KAAK,SAC1E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,qBAAuB,SAAS,EAAM,EAAM,GAClE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,yCAClB,EAEA,GAAc,UAAU,mBAAqB,SAAS,EAAS,EAAO,GAEpE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,wBAAwB,EAAS,GAC/B,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,wBAAwB,EAAS,EAE1C,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAS,GAClE,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAK9B,EAAO,IAAI,GAJF,CACX,QAAS,EACT,MAAO,IAGT,IAIE,OAHA,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,KAAM,KAAK,SAC7E,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,wBAA0B,SAAS,EAAM,EAAM,GACrE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,4CAClB,EAEA,GAAc,UAAU,sBAAwB,SAAS,EAAS,GAEhE,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,2BAA2B,GACzB,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,2BAA2B,EAEpC,EAEA,GAAc,UAAU,2BAA6B,SAAS,GAC5D,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAI9B,EAAO,IAAI,GAHF,CACX,QAAS,IAGX,IAIE,OAHA,EAAO,kBAAkB,wBAAyB,EAAO,YAAY,KAAM,KAAK,SAChF,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,2BAA6B,SAAS,EAAM,EAAM,GACxE,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,OAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EACX,EAAS,EAAO,GAErB,OAAS,EAAO,QACX,EAAS,KAAM,EAAO,SAExB,EAAS,+CAClB,EAEA,GAAc,UAAU,qCAAuC,SAAS,EAAS,EAAM,EAAO,EAAe,GAE3G,GADA,KAAK,OAAS,KAAK,iBACF,IAAb,EAAwB,CAC1B,IAAI,EAAS,EAAE,QASf,OARA,KAAK,MAAM,KAAK,SAAW,SAAS,EAAO,GACrC,EACF,EAAO,OAAO,GAEd,EAAO,QAAQ,EAEnB,EACA,KAAK,0CAA0C,EAAS,EAAM,EAAO,GAC9D,EAAO,OAChB,CACE,KAAK,MAAM,KAAK,SAAW,EAC3B,KAAK,0CAA0C,EAAS,EAAM,EAAO,EAEzE,EAEA,GAAc,UAAU,0CAA4C,SAAS,EAAS,EAAM,EAAO,GACjG,IAAI,EAAS,IAAI,KAAK,OAAO,KAAK,QAO9B,EAAO,IAAI,GANF,CACX,QAAS,EACT,KAAM,EACN,MAAO,EACP,cAAe,IAGjB,IAIE,OAHA,EAAO,kBAAkB,uCAAwC,EAAO,YAAY,KAAM,KAAK,SAC/F,EAAK,MAAM,GACX,EAAO,kBACA,KAAK,OAAO,OACrB,CACA,MAAO,GAKL,aAJO,KAAK,MAAM,KAAK,SACK,mBAAjB,EAAO,OAChB,EAAO,QAEH,CACR,CACF,EAEA,GAAc,UAAU,0CAA4C,SAAS,EAAM,EAAM,GACvF,IAAI,EAAW,KAAK,MAAM,IAAW,WAAY,EAEjD,UADO,KAAK,MAAM,GACd,GAAS,EAAO,YAAY,UAAW,CACzC,IAAI,EAAI,IAAI,EAAO,sBAGnB,OAFA,EAAE,KAAK,GACP,EAAM,iBACC,EAAS,EAClB,CACA,IAAI,EAAS,IAAI,GAIjB,GAHA,EAAO,KAAK,GACZ,EAAM,iBAEF,OAAS,EAAO,EAClB,OAAO,EAAS,EAAO,GAEzB,EAAS,KACX,EACA,IAAI,GAAmB,EAAQ,UAAY,SAAS,GAClD,KAAK,SAAW,CAClB,EACA,GAAiB,UAAU,QAAU,SAAS,EAAO,GACnD,IAAI,EAAI,EAAM,mBACd,GAAI,KAAK,WAAa,EAAE,OACtB,OAAO,KAAK,WAAa,EAAE,OAAO,KAAK,KAAM,EAAE,OAAQ,EAAO,GAE9D,EAAM,KAAK,EAAO,KAAK,QACvB,EAAM,iBACN,IAAI,EAAI,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,eAAgB,oBAAsB,EAAE,OAClH,EAAO,kBAAkB,EAAE,MAAO,EAAO,YAAY,UAAW,EAAE,QAClE,EAAE,MAAM,GACR,EAAO,kBACP,EAAO,OAEX,EACA,GAAiB,UAAU,gBAAkB,SAAS,EAAO,EAAO,GAClE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBAC+B,IAAjC,KAAK,SAAS,QAAQ,OACxB,EAAE,MAAM,KAAK,SAAS,QAAQ,KAAK,KAAK,UACtC,EAAK,KACL,EAAK,OACL,EAAK,QACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAuB,CAAC,QAAS,IACtD,EAAO,kBAAkB,UAAW,EAAO,YAAY,MAAO,GAC9D,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAuB,GACpC,EAAO,kBAAkB,UAAW,EAAO,YAAY,MAAO,KAE9D,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,UAAW,EAAO,YAAY,UAAW,IAEpE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,QAAQ,EAAK,KAAM,EAAK,OAAQ,EAAK,QAAQ,SAAU,EAAK,GACxE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAgC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACvG,EAAO,kBAAkB,UAAW,EAAO,YAAY,MAAO,KAE9D,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,UAAW,EAAO,YAAY,UAAW,IAEpE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,qBAAuB,SAAS,EAAO,EAAO,GACvE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACoC,IAAtC,KAAK,SAAS,aAAa,OAC7B,EAAE,MAAM,KAAK,SAAS,aAAa,KAAK,KAAK,UAC3C,EAAK,WACL,EAAK,QACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA4B,CAAC,QAAS,IAC3D,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,GACnE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA4B,GACzC,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,KAEnE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,eAAgB,EAAO,YAAY,UAAW,IAEzE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,aAAa,EAAK,WAAY,EAAK,QAAQ,SAAU,EAAK,GACtE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAqC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC5G,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,KAEnE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,eAAgB,EAAO,YAAY,UAAW,IAEzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,mBAAqB,SAAS,EAAO,EAAO,GACrE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACkC,IAApC,KAAK,SAAS,WAAW,OAC3B,EAAE,MAAM,KAAK,SAAS,WAAW,KAAK,KAAK,UACzC,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA0B,CAAC,QAAS,IACzD,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,GACjE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA0B,GACvC,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,WAAW,EAAK,SAAS,SAAU,EAAK,GACpD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAmC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC1G,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,wBAA0B,SAAS,EAAO,EAAO,GAC1E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACuC,IAAzC,KAAK,SAAS,gBAAgB,OAChC,EAAE,MAAM,KAAK,SAAS,gBAAgB,KAAK,KAAK,UAC9C,EAAK,QACL,EAAK,QACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA+B,CAAC,QAAS,IAC9D,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,GACtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA+B,GAC5C,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,gBAAgB,EAAK,QAAS,EAAK,QAAQ,SAAU,EAAK,GACtE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAwC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC/G,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,sBAAwB,SAAS,EAAO,EAAO,GACxE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACqC,IAAvC,KAAK,SAAS,cAAc,OAC9B,EAAE,MAAM,KAAK,SAAS,cAAc,KAAK,KAAK,UAC5C,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA6B,CAAC,QAAS,IAC5D,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,GACpE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA6B,GAC1C,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,cAAc,EAAK,SAAS,SAAU,EAAK,GACvD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAsC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC7G,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,0BAA4B,SAAS,EAAO,EAAO,GAC5E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACyC,IAA3C,KAAK,SAAS,kBAAkB,OAClC,EAAE,MAAM,KAAK,SAAS,kBAAkB,KAAK,KAAK,UAChD,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAiC,CAAC,QAAS,IAChE,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,GACxE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAiC,GAC9C,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,kBAAkB,EAAK,SAAS,SAAU,EAAK,GAC3D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAA0C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACjH,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,mBAAqB,SAAS,EAAO,EAAO,GACrE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACkC,IAApC,KAAK,SAAS,WAAW,OAC3B,EAAE,MAAM,KAAK,SAAS,WAAW,KAAK,KAAK,UACzC,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA0B,CAAC,QAAS,IACzD,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,GACjE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA0B,GACvC,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,WAAW,EAAK,SAAS,SAAU,EAAK,GACpD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAmC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC1G,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,0BAA4B,SAAS,EAAO,EAAO,GAC5E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACyC,IAA3C,KAAK,SAAS,kBAAkB,OAClC,EAAE,MAAM,KAAK,SAAS,kBAAkB,KAAK,KAAK,UAChD,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAiC,CAAC,QAAS,IAChE,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,GACxE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAiC,GAC9C,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,kBAAkB,EAAK,SAAS,SAAU,EAAK,GAC3D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAA0C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACjH,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,mBAAqB,SAAS,EAAO,EAAO,GACrE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACkC,IAApC,KAAK,SAAS,WAAW,OAC3B,EAAE,MAAM,KAAK,SAAS,WAAW,KAAK,KAAK,UACzC,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA0B,CAAC,QAAS,IACzD,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,GACjE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA0B,GACvC,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,WAAW,EAAK,SAAS,SAAU,EAAK,GACpD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAmC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC1G,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,4BAA8B,SAAS,EAAO,EAAO,GAC9E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBAC2C,IAA7C,KAAK,SAAS,oBAAoB,OACpC,EAAE,MAAM,KAAK,SAAS,oBAAoB,KAAK,KAAK,UAClD,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAmC,CAAC,QAAS,IAClE,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,GAC1E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAmC,GAChD,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,KAE1E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,UAAW,IAEhF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,oBAAoB,EAAK,SAAS,SAAU,EAAK,GAC7D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAA4C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACnH,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,KAE1E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,UAAW,IAEhF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,kBAAoB,SAAS,EAAO,EAAO,GACpE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACiC,IAAnC,KAAK,SAAS,UAAU,OAC1B,EAAE,MAAM,KAAK,SAAS,UAAU,KAAK,KAAK,UACxC,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAyB,CAAC,QAAS,IACxD,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,GAChE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAyB,GACtC,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,KAEhE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,YAAa,EAAO,YAAY,UAAW,IAEtE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,UAAU,EAAK,SAAS,SAAU,EAAK,GACnD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAkC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACzG,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,KAEhE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,YAAa,EAAO,YAAY,UAAW,IAEtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,wBAA0B,SAAS,EAAO,EAAO,GAC1E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACuC,IAAzC,KAAK,SAAS,gBAAgB,OAChC,EAAE,MAAM,KAAK,SAAS,gBAAgB,KAAK,KAAK,UAC9C,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA+B,CAAC,QAAS,IAC9D,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,GACtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA+B,GAC5C,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,gBAAgB,EAAK,SAAS,SAAU,EAAK,GACzD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAwC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC/G,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,0BAA4B,SAAS,EAAO,EAAO,GAC5E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACyC,IAA3C,KAAK,SAAS,kBAAkB,OAClC,EAAE,MAAM,KAAK,SAAS,kBAAkB,KAAK,KAAK,UAChD,EAAK,QACL,EAAK,YACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAiC,CAAC,QAAS,IAChE,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,GACxE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAiC,GAC9C,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,kBAAkB,EAAK,QAAS,EAAK,YAAY,SAAU,EAAK,GAC5E,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAA0C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACjH,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,mCAAqC,SAAS,EAAO,EAAO,GACrF,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACkD,IAApD,KAAK,SAAS,2BAA2B,OAC3C,EAAE,MAAM,KAAK,SAAS,2BAA2B,KAAK,KAAK,UACzD,EAAK,QACL,EAAK,YACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA0C,CAAC,QAAS,IACzE,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,MAAO,GACjF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA0C,GACvD,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,MAAO,KAEjF,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,UAAW,IAEvF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,2BAA2B,EAAK,QAAS,EAAK,YAAY,SAAU,EAAK,GACrF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAmD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC1H,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,MAAO,KAEjF,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,UAAW,IAEvF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,kBAAoB,SAAS,EAAO,EAAO,GACpE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACiC,IAAnC,KAAK,SAAS,UAAU,OAC1B,EAAE,MAAM,KAAK,SAAS,UAAU,KAAK,KAAK,UACxC,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAyB,CAAC,QAAS,IACxD,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,GAChE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAyB,GACtC,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,KAEhE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,YAAa,EAAO,YAAY,UAAW,IAEtE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,UAAU,EAAK,SAAS,SAAU,EAAK,GACnD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAkC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACzG,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,KAEhE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,YAAa,EAAO,YAAY,UAAW,IAEtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,sBAAwB,SAAS,EAAO,EAAO,GACxE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACqC,IAAvC,KAAK,SAAS,cAAc,OAC9B,EAAE,MAAM,KAAK,SAAS,cAAc,KAAK,KAAK,UAC5C,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA6B,CAAC,QAAS,IAC5D,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,GACpE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA6B,GAC1C,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,cAAc,EAAK,SAAS,SAAU,EAAK,GACvD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAsC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC7G,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,oBAAsB,SAAS,EAAO,EAAO,IAC3D,IAAI,GACV,KAAK,GACV,EAAM,iBACmC,IAArC,KAAK,SAAS,YAAY,OAC5B,EAAE,MAAM,KAAK,SAAS,YAAY,KAAK,KAAK,WAC1C,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA2B,CAAC,QAAS,IAC1D,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,GAClE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA2B,GACxC,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,aAAY,SAAU,EAAK,GACvC,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAoC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC3G,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,2BAA6B,SAAS,EAAO,EAAO,GAC7E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBAC0C,IAA5C,KAAK,SAAS,mBAAmB,OACnC,EAAE,MAAM,KAAK,SAAS,mBAAmB,KAAK,KAAK,UACjD,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAkC,CAAC,QAAS,IACjE,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,GACzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAkC,GAC/C,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,mBAAmB,EAAK,SAAS,SAAU,EAAK,GAC5D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAA2C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAClH,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,0BAA4B,SAAS,EAAO,EAAO,GAC5E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACyC,IAA3C,KAAK,SAAS,kBAAkB,OAClC,EAAE,MAAM,KAAK,SAAS,kBAAkB,KAAK,KAAK,UAChD,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAiC,CAAC,QAAS,IAChE,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,GACxE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAiC,GAC9C,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,kBAAkB,EAAK,SAAS,SAAU,EAAK,GAC3D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAA0C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACjH,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAgC,GAC7C,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,SAAS,SAAU,EAAK,GAC1D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,mBAAqB,SAAS,EAAO,EAAO,GACrE,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACkC,IAApC,KAAK,SAAS,WAAW,OAC3B,EAAE,MAAM,KAAK,SAAS,WAAW,KAAK,KAAK,UACzC,EAAK,QACL,EAAK,cACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAA0B,CAAC,QAAS,IACzD,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,GACjE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAA0B,GACvC,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,WAAW,EAAK,QAAS,EAAK,cAAc,SAAU,EAAK,GACvE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAmC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC1G,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,EACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,EAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,EAAgC,GAC7C,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,SAAS,SAAU,EAAK,GAC1D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,EAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAgC,GAC7C,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,SAAS,SAAU,EAAK,GAC1D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,wBAA0B,SAAS,EAAO,EAAO,GAC1E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACuC,IAAzC,KAAK,SAAS,gBAAgB,OAChC,EAAE,MAAM,KAAK,SAAS,gBAAgB,KAAK,KAAK,UAC9C,EAAK,QACL,EAAK,MACL,EAAK,SACL,EAAK,WACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA+B,CAAC,QAAS,IAC9D,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,GACtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA+B,GAC5C,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,gBAAgB,EAAK,QAAS,EAAK,MAAO,EAAK,SAAU,EAAK,WAAW,SAAU,EAAK,GACpG,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAwC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC/G,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,gCAAkC,SAAS,EAAO,EAAO,GAClF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC+C,IAAjD,KAAK,SAAS,wBAAwB,OACxC,EAAE,MAAM,KAAK,SAAS,wBAAwB,KAAK,KAAK,UACtD,EAAK,QACL,EAAK,WACL,EAAK,WACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAuC,CAAC,QAAS,IACtE,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,GAC9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAuC,GACpD,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,KAE9E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,UAAW,IAEpF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,wBAAwB,EAAK,QAAS,EAAK,WAAY,EAAK,WAAW,SAAU,EAAK,GAClG,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAgD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACvH,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,KAE9E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,UAAW,IAEpF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,wBAA0B,SAAS,EAAO,EAAO,GAC1E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACuC,IAAzC,KAAK,SAAS,gBAAgB,OAChC,EAAE,MAAM,KAAK,SAAS,gBAAgB,KAAK,KAAK,UAC9C,EAAK,QACL,EAAK,MACL,EAAK,UACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA+B,CAAC,QAAS,IAC9D,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,GACtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACJ,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,GAC1E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,gBAAgB,EAAK,QAAS,EAAK,MAAO,EAAK,UAAU,SAAU,EAAK,GACpF,IAAI,EACA,MAAC,GACH,EAAa,IAAI,GAAwC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC/G,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,gCAAkC,SAAS,EAAO,EAAO,GAClF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC+C,IAAjD,KAAK,SAAS,wBAAwB,OACxC,EAAE,MAAM,KAAK,SAAS,wBAAwB,KAAK,KAAK,UACtD,EAAK,QACL,EAAK,YACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAuC,CAAC,QAAS,IACtE,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,GAC9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACJ,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,UAAW,GAClF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,wBAAwB,EAAK,QAAS,EAAK,YAAY,SAAU,EAAK,GAClF,IAAI,EACA,MAAC,GACH,EAAa,IAAI,GAAgD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACvH,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,KAE9E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,UAAW,IAEpF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,QACL,EAAK,MACL,EAAK,UACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACJ,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,GAC3E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,QAAS,EAAK,MAAO,EAAK,UAAU,SAAU,EAAK,GACrF,IAAI,EACA,MAAC,GACH,EAAa,IAAI,GAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,QACL,EAAK,MACL,EAAK,cACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACJ,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,GAC3E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,QAAS,EAAK,MAAO,EAAK,cAAc,SAAU,EAAK,GACzF,IAAI,EACA,MAAC,GACH,EAAa,IAAI,GAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAgC,GAC7C,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,SAAS,SAAU,EAAK,GAC1D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,oBAAsB,SAAS,EAAO,EAAO,GACtE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACmC,IAArC,KAAK,SAAS,YAAY,OAC5B,EAAE,MAAM,KAAK,SAAS,YAAY,KAAK,KAAK,UAC1C,EAAK,QACL,EAAK,MACL,EAAK,cACL,EAAK,MACL,EAAK,QACL,EAAK,WACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA2B,CAAC,QAAS,IAC1D,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,GAClE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA2B,GACxC,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,YAAY,EAAK,QAAS,EAAK,MAAO,EAAK,cAAe,EAAK,MAAO,EAAK,QAAS,EAAK,WAAW,SAAU,EAAK,GAC/H,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAoC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC3G,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,uBAAyB,SAAS,EAAO,EAAO,GACzE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACsC,IAAxC,KAAK,SAAS,eAAe,OAC/B,EAAE,MAAM,KAAK,SAAS,eAAe,KAAK,KAAK,UAC7C,EAAK,QACL,EAAK,MACL,EAAK,YACL,EAAK,UACL,EAAK,QACL,EAAK,kBACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA8B,CAAC,QAAS,IAC7D,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,MAAO,GACrE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA8B,GAC3C,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,MAAO,KAErE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,UAAW,IAE3E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,eAAe,EAAK,QAAS,EAAK,MAAO,EAAK,YAAa,EAAK,UAAW,EAAK,QAAS,EAAK,kBAAkB,SAAU,EAAK,GAC3I,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAuC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC9G,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,MAAO,KAErE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,UAAW,IAE3E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,wBAA0B,SAAS,EAAO,EAAO,GAC1E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACuC,IAAzC,KAAK,SAAS,gBAAgB,OAChC,EAAE,MAAM,KAAK,SAAS,gBAAgB,KAAK,KAAK,UAC9C,EAAK,QACL,EAAK,MACL,EAAK,UACL,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA+B,CAAC,QAAS,IAC9D,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,GACtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA+B,GAC5C,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,gBAAgB,EAAK,QAAS,EAAK,MAAO,EAAK,UAAW,EAAK,SAAS,SAAU,EAAK,GACnG,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAwC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC/G,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,sBAAwB,SAAS,EAAO,EAAO,GACxE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACqC,IAAvC,KAAK,SAAS,cAAc,OAC9B,EAAE,MAAM,KAAK,SAAS,cAAc,KAAK,KAAK,UAC5C,EAAK,QACL,EAAK,GACL,EAAK,YACL,EAAK,WACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA6B,CAAC,QAAS,IAC5D,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,GACpE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA6B,GAC1C,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,cAAc,EAAK,QAAS,EAAK,GAAI,EAAK,YAAa,EAAK,WAAW,SAAU,EAAK,GAClG,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAsC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC7G,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,kBAAoB,SAAS,EAAO,EAAO,GACpE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACiC,IAAnC,KAAK,SAAS,UAAU,OAC1B,EAAE,MAAM,KAAK,SAAS,UAAU,KAAK,KAAK,UACxC,EAAK,cACL,EAAK,mBACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAyB,CAAC,QAAS,IACxD,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,GAChE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAyB,GACtC,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,KAEhE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,YAAa,EAAO,YAAY,UAAW,IAEtE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,UAAU,EAAK,cAAe,EAAK,mBAAmB,SAAU,EAAK,GACjF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAkC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACzG,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,KAEhE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,YAAa,EAAO,YAAY,UAAW,IAEtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,qBAAuB,SAAS,EAAO,EAAO,GACvE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACoC,IAAtC,KAAK,SAAS,aAAa,OAC7B,EAAE,MAAM,KAAK,SAAS,aAAa,KAAK,KAAK,UAC3C,EAAK,QACL,EAAK,OACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA4B,CAAC,QAAS,IAC3D,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,GACnE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA4B,GACzC,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,KAEnE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,eAAgB,EAAO,YAAY,UAAW,IAEzE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,aAAa,EAAK,QAAS,EAAK,OAAO,SAAU,EAAK,GAClE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAqC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC5G,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,KAEnE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,eAAgB,EAAO,YAAY,UAAW,IAEzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,6BAA+B,SAAS,EAAO,EAAO,GAC/E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC4C,IAA9C,KAAK,SAAS,qBAAqB,OACrC,EAAE,MAAM,KAAK,SAAS,qBAAqB,KAAK,KAAK,UACnD,EAAK,QACL,EAAK,IACL,EAAK,QACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAoC,CAAC,QAAS,IACnE,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,MAAO,GAC3E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAoC,GACjD,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,MAAO,KAE3E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,UAAW,IAEjF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,qBAAqB,EAAK,QAAS,EAAK,IAAK,EAAK,QAAQ,SAAU,EAAK,GACrF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA6C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACpH,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,MAAO,KAE3E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,UAAW,IAEjF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,2BAA6B,SAAS,EAAO,EAAO,GAC7E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC0C,IAA5C,KAAK,SAAS,mBAAmB,OACnC,EAAE,MAAM,KAAK,SAAS,mBAAmB,KAAK,KAAK,UACjD,EAAK,QACL,EAAK,MACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAkC,CAAC,QAAS,IACjE,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,GACzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAkC,GAC/C,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,mBAAmB,EAAK,QAAS,EAAK,MAAM,SAAU,EAAK,GACvE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA2C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAClH,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,oBAAsB,SAAS,EAAO,EAAO,GACtE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACmC,IAArC,KAAK,SAAS,YAAY,OAC5B,EAAE,MAAM,KAAK,SAAS,YAAY,KAAK,KAAK,UAC1C,EAAK,QACL,EAAK,UACL,EAAK,UACL,EAAK,kBACL,EAAK,OACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA2B,CAAC,QAAS,IAC1D,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,GAClE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA2B,GACxC,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,YAAY,EAAK,QAAS,EAAK,UAAW,EAAK,UAAW,EAAK,kBAAmB,EAAK,OAAO,SAAU,EAAK,GACzH,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAoC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC3G,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,iCAAmC,SAAS,EAAO,EAAO,GACnF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACgD,IAAlD,KAAK,SAAS,yBAAyB,OACzC,EAAE,MAAM,KAAK,SAAS,yBAAyB,KAAK,KAAK,UACvD,EAAK,QACL,EAAK,UACL,EAAK,MACL,EAAK,gBACL,EAAK,cACL,EAAK,YACL,EAAK,OACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAwC,CAAC,QAAS,IACvE,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,MAAO,GAC/E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAwC,GACrD,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,MAAO,KAE/E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,UAAW,IAErF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,yBAAyB,EAAK,QAAS,EAAK,UAAW,EAAK,MAAO,EAAK,gBAAiB,EAAK,cAAe,EAAK,YAAa,EAAK,OAAO,SAAU,EAAK,GACtK,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAiD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACxH,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,MAAO,KAE/E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,UAAW,IAErF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,sBAAwB,SAAS,EAAO,EAAO,GACxE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACqC,IAAvC,KAAK,SAAS,cAAc,OAC9B,EAAE,MAAM,KAAK,SAAS,cAAc,KAAK,KAAK,UAC5C,EAAK,QACL,EAAK,cACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA6B,CAAC,QAAS,IAC5D,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,GACpE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA6B,GAC1C,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,cAAc,EAAK,QAAS,EAAK,cAAc,SAAU,EAAK,GAC1E,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAsC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC7G,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,uBAAyB,SAAS,EAAO,EAAO,GACzE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACsC,IAAxC,KAAK,SAAS,eAAe,OAC/B,EAAE,MAAM,KAAK,SAAS,eAAe,KAAK,KAAK,UAC7C,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA8B,CAAC,QAAS,IAC7D,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,MAAO,GACrE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA8B,GAC3C,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,MAAO,KAErE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,UAAW,IAE3E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,eAAe,EAAK,SAAS,SAAU,EAAK,GACxD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAuC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC9G,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,MAAO,KAErE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,iBAAkB,EAAO,YAAY,UAAW,IAE3E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,QACL,EAAK,eACL,EAAK,gBACL,EAAK,WACL,EAAK,oBACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAgC,GAC7C,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,QAAS,EAAK,eAAgB,EAAK,gBAAiB,EAAK,WAAY,EAAK,oBAAoB,SAAU,EAAK,GAC/I,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,0BAA4B,SAAS,EAAO,EAAO,GAC5E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACyC,IAA3C,KAAK,SAAS,kBAAkB,OAClC,EAAE,MAAM,KAAK,SAAS,kBAAkB,KAAK,KAAK,UAChD,EAAK,QACL,EAAK,aACL,EAAK,eACL,EAAK,gBACL,EAAK,gBACL,EAAK,WACL,EAAK,oBACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAiC,CAAC,QAAS,IAChE,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,GACxE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAiC,GAC9C,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,kBAAkB,EAAK,QAAS,EAAK,aAAc,EAAK,eAAgB,EAAK,gBAAiB,EAAK,gBAAiB,EAAK,WAAY,EAAK,oBAAoB,SAAU,EAAK,GACzL,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA0C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACjH,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,QACL,EAAK,cACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAgC,GAC7C,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,QAAS,EAAK,cAAc,SAAU,EAAK,GAC7E,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,QACL,EAAK,cACL,EAAK,OACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAgC,GAC7C,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,QAAS,EAAK,cAAe,EAAK,OAAQ,EAAK,aAAa,SAAU,EAAK,GAC7G,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,0BAA4B,SAAS,EAAO,EAAO,GAC5E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACyC,IAA3C,KAAK,SAAS,kBAAkB,OAClC,EAAE,MAAM,KAAK,SAAS,kBAAkB,KAAK,KAAK,UAChD,EAAK,QACL,EAAK,eACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAiC,CAAC,QAAS,IAChE,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,GACxE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAiC,GAC9C,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,kBAAkB,EAAK,QAAS,EAAK,eAAe,SAAU,EAAK,GAC/E,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA0C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACjH,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,wBAA0B,SAAS,EAAO,EAAO,GAC1E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACuC,IAAzC,KAAK,SAAS,gBAAgB,OAChC,EAAE,MAAM,KAAK,SAAS,gBAAgB,KAAK,KAAK,UAC9C,EAAK,QACL,EAAK,aACL,EAAK,OACL,EAAK,QACL,EAAK,YACL,EAAK,YACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA+B,CAAC,QAAS,IAC9D,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,GACtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA+B,GAC5C,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,gBAAgB,EAAK,QAAS,EAAK,aAAc,EAAK,OAAQ,EAAK,QAAS,EAAK,YAAa,EAAK,YAAY,SAAU,EAAK,GAC1I,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAwC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC/G,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,0BAA4B,SAAS,EAAO,EAAO,GAC5E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACyC,IAA3C,KAAK,SAAS,kBAAkB,OAClC,EAAE,MAAM,KAAK,SAAS,kBAAkB,KAAK,KAAK,UAChD,EAAK,QACL,EAAK,aACL,EAAK,OACL,EAAK,QACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAiC,CAAC,QAAS,IAChE,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,GACxE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAiC,GAC9C,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,kBAAkB,EAAK,QAAS,EAAK,aAAc,EAAK,OAAQ,EAAK,QAAS,EAAK,aAAa,SAAU,EAAK,GAC3H,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA0C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACjH,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,2BAA6B,SAAS,EAAO,EAAO,GAC7E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC0C,IAA5C,KAAK,SAAS,mBAAmB,OACnC,EAAE,MAAM,KAAK,SAAS,mBAAmB,KAAK,KAAK,UACjD,EAAK,QACL,EAAK,cACL,EAAK,OACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAkC,CAAC,QAAS,IACjE,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,GACzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAkC,GAC/C,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,mBAAmB,EAAK,QAAS,EAAK,cAAe,EAAK,OAAQ,EAAK,aAAa,SAAU,EAAK,GAC/G,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA2C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAClH,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,+BAAiC,SAAS,EAAO,EAAO,GACjF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC8C,IAAhD,KAAK,SAAS,uBAAuB,OACvC,EAAE,MAAM,KAAK,SAAS,uBAAuB,KAAK,KAAK,UACrD,EAAK,QACL,EAAK,cACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAsC,CAAC,QAAS,IACrE,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,MAAO,GAC7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAsC,GACnD,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,MAAO,KAE7E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,UAAW,IAEnF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,uBAAuB,EAAK,QAAS,EAAK,cAAc,SAAU,EAAK,GACnF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA+C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACtH,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,MAAO,KAE7E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,UAAW,IAEnF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,sBAAwB,SAAS,EAAO,EAAO,GACxE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACqC,IAAvC,KAAK,SAAS,cAAc,OAC9B,EAAE,MAAM,KAAK,SAAS,cAAc,KAAK,KAAK,UAC5C,EAAK,QACL,EAAK,MACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA6B,CAAC,QAAS,IAC5D,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,GACpE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA6B,GAC1C,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,cAAc,EAAK,QAAS,EAAK,MAAM,SAAU,EAAK,GAClE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAsC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC7G,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,MAAO,KAEpE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,gBAAiB,EAAO,YAAY,UAAW,IAE1E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,oBAAsB,SAAS,EAAO,EAAO,GACtE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACmC,IAArC,KAAK,SAAS,YAAY,OAC5B,EAAE,MAAM,KAAK,SAAS,YAAY,KAAK,KAAK,UAC1C,EAAK,QACL,EAAK,WACL,EAAK,eACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA2B,CAAC,QAAS,IAC1D,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,GAClE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA2B,GACxC,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,YAAY,EAAK,QAAS,EAAK,WAAY,EAAK,eAAe,SAAU,EAAK,GAC1F,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAoC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC3G,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,0BAA4B,SAAS,EAAO,EAAO,GAC5E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACyC,IAA3C,KAAK,SAAS,kBAAkB,OAClC,EAAE,MAAM,KAAK,SAAS,kBAAkB,KAAK,KAAK,UAChD,EAAK,QACL,EAAK,WACL,EAAK,KACL,EAAK,cACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAiC,CAAC,QAAS,IAChE,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,GACxE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAiC,GAC9C,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,kBAAkB,EAAK,QAAS,EAAK,WAAY,EAAK,KAAM,EAAK,cAAc,SAAU,EAAK,GAC1G,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA0C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACjH,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,MAAO,KAExE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,oBAAqB,EAAO,YAAY,UAAW,IAE9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,mCAAqC,SAAS,EAAO,EAAO,GACrF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACkD,IAApD,KAAK,SAAS,2BAA2B,OAC3C,EAAE,MAAM,KAAK,SAAS,2BAA2B,KAAK,KAAK,UACzD,EAAK,QACL,EAAK,WACL,EAAK,KACL,EAAK,cACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA0C,CAAC,QAAS,IACzE,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,MAAO,GACjF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA0C,GACvD,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,MAAO,KAEjF,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,UAAW,IAEvF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,2BAA2B,EAAK,QAAS,EAAK,WAAY,EAAK,KAAM,EAAK,cAAc,SAAU,EAAK,GACnH,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAmD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC1H,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,MAAO,KAEjF,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,UAAW,IAEvF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,gCAAkC,SAAS,EAAO,EAAO,GAClF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC+C,IAAjD,KAAK,SAAS,wBAAwB,OACxC,EAAE,MAAM,KAAK,SAAS,wBAAwB,KAAK,KAAK,UACtD,EAAK,QACL,EAAK,WACL,EAAK,aACL,EAAK,kBACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAuC,CAAC,QAAS,IACtE,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,GAC9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAuC,GACpD,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,KAE9E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,UAAW,IAEpF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,wBAAwB,EAAK,QAAS,EAAK,WAAY,EAAK,aAAc,EAAK,kBAAkB,SAAU,EAAK,GAC5H,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAgD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACvH,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,KAE9E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,UAAW,IAEpF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,mBAAqB,SAAS,EAAO,EAAO,GACrE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACkC,IAApC,KAAK,SAAS,WAAW,OAC3B,EAAE,MAAM,KAAK,SAAS,WAAW,KAAK,KAAK,UACzC,EAAK,QACL,EAAK,WACL,EAAK,KACL,EAAK,cACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA0B,CAAC,QAAS,IACzD,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,GACjE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA0B,GACvC,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,WAAW,EAAK,QAAS,EAAK,WAAY,EAAK,KAAM,EAAK,cAAc,SAAU,EAAK,GACnG,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAmC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC1G,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,4BAA8B,SAAS,EAAO,EAAO,GAC9E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC2C,IAA7C,KAAK,SAAS,oBAAoB,OACpC,EAAE,MAAM,KAAK,SAAS,oBAAoB,KAAK,KAAK,UAClD,EAAK,QACL,EAAK,UACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAmC,CAAC,QAAS,IAClE,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,GAC1E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAmC,GAChD,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,KAE1E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,UAAW,IAEhF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,oBAAoB,EAAK,QAAS,EAAK,UAAW,EAAK,aAAa,SAAU,EAAK,GAC/F,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA4C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACnH,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,KAE1E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,UAAW,IAEhF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,qBAAuB,SAAS,EAAO,EAAO,GACvE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACoC,IAAtC,KAAK,SAAS,aAAa,OAC7B,EAAE,MAAM,KAAK,SAAS,aAAa,KAAK,KAAK,UAC3C,EAAK,QACL,EAAK,WACL,EAAK,SACL,EAAK,UACL,EAAK,eACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA4B,CAAC,QAAS,IAC3D,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,GACnE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA4B,GACzC,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,KAEnE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,eAAgB,EAAO,YAAY,UAAW,IAEzE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,aAAa,EAAK,QAAS,EAAK,WAAY,EAAK,SAAU,EAAK,UAAW,EAAK,eAAe,SAAU,EAAK,GAC1H,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAqC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC5G,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,KAEnE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,eAAgB,EAAO,YAAY,UAAW,IAEzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,qBAAuB,SAAS,EAAO,EAAO,GACvE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACoC,IAAtC,KAAK,SAAS,aAAa,OAC7B,EAAE,MAAM,KAAK,SAAS,aAAa,KAAK,KAAK,UAC3C,EAAK,QACL,EAAK,WACL,EAAK,UACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA4B,CAAC,QAAS,IAC3D,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,GACnE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA4B,GACzC,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,KAEnE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,eAAgB,EAAO,YAAY,UAAW,IAEzE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,aAAa,EAAK,QAAS,EAAK,WAAY,EAAK,UAAW,EAAK,aAAa,SAAU,EAAK,GACzG,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAqC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC5G,EAAO,kBAAkB,eAAgB,EAAO,YAAY,MAAO,KAEnE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,eAAgB,EAAO,YAAY,UAAW,IAEzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,yBAA2B,SAAS,EAAO,EAAO,GAC3E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACwC,IAA1C,KAAK,SAAS,iBAAiB,OACjC,EAAE,MAAM,KAAK,SAAS,iBAAiB,KAAK,KAAK,UAC/C,EAAK,QACL,EAAK,WACL,EAAK,UACL,EAAK,YACL,EAAK,SACL,EAAK,eACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAgC,CAAC,QAAS,IAC/D,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,GACvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAgC,GAC7C,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,iBAAiB,EAAK,QAAS,EAAK,WAAY,EAAK,UAAW,EAAK,YAAa,EAAK,SAAU,EAAK,eAAe,SAAU,EAAK,GAChJ,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAyC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAChH,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,MAAO,KAEvE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,mBAAoB,EAAO,YAAY,UAAW,IAE7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,4BAA8B,SAAS,EAAO,EAAO,GAC9E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC2C,IAA7C,KAAK,SAAS,oBAAoB,OACpC,EAAE,MAAM,KAAK,SAAS,oBAAoB,KAAK,KAAK,UAClD,EAAK,QACL,EAAK,WACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAmC,CAAC,QAAS,IAClE,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,GAC1E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAmC,GAChD,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,KAE1E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,UAAW,IAEhF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,oBAAoB,EAAK,QAAS,EAAK,WAAW,SAAU,EAAK,GAC7E,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA4C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACnH,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,KAE1E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,UAAW,IAEhF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,sCAAwC,SAAS,EAAO,EAAO,GACxF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACqD,IAAvD,KAAK,SAAS,8BAA8B,OAC9C,EAAE,MAAM,KAAK,SAAS,8BAA8B,KAAK,KAAK,UAC5D,EAAK,QACL,EAAK,aACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA6C,CAAC,QAAS,IAC5E,EAAO,kBAAkB,gCAAiC,EAAO,YAAY,MAAO,GACpF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA6C,GAC1D,EAAO,kBAAkB,gCAAiC,EAAO,YAAY,MAAO,KAEpF,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,gCAAiC,EAAO,YAAY,UAAW,IAE1F,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,8BAA8B,EAAK,QAAS,EAAK,aAAc,EAAK,aAAa,SAAU,EAAK,GAC5G,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAsD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC7H,EAAO,kBAAkB,gCAAiC,EAAO,YAAY,MAAO,KAEpF,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,gCAAiC,EAAO,YAAY,UAAW,IAE1F,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,iCAAmC,SAAS,EAAO,EAAO,GACnF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACgD,IAAlD,KAAK,SAAS,yBAAyB,OACzC,EAAE,MAAM,KAAK,SAAS,yBAAyB,KAAK,KAAK,UACvD,EAAK,QACL,EAAK,aACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAwC,CAAC,QAAS,IACvE,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,MAAO,GAC/E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAwC,GACrD,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,MAAO,KAE/E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,UAAW,IAErF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,yBAAyB,EAAK,QAAS,EAAK,aAAc,EAAK,aAAa,SAAU,EAAK,GACvG,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAiD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACxH,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,MAAO,KAE/E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,UAAW,IAErF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,+BAAiC,SAAS,EAAO,EAAO,GACjF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC8C,IAAhD,KAAK,SAAS,uBAAuB,OACvC,EAAE,MAAM,KAAK,SAAS,uBAAuB,KAAK,KAAK,UACrD,EAAK,QACL,EAAK,UACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAsC,CAAC,QAAS,IACrE,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,MAAO,GAC7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAsC,GACnD,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,MAAO,KAE7E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,UAAW,IAEnF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,uBAAuB,EAAK,QAAS,EAAK,UAAW,EAAK,aAAa,SAAU,EAAK,GAClG,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA+C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACtH,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,MAAO,KAE7E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,UAAW,IAEnF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,uCAAyC,SAAS,EAAO,EAAO,GACzF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACsD,IAAxD,KAAK,SAAS,+BAA+B,OAC/C,EAAE,MAAM,KAAK,SAAS,+BAA+B,KAAK,KAAK,UAC7D,EAAK,QACL,EAAK,OACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA8C,CAAC,QAAS,IAC7E,EAAO,kBAAkB,iCAAkC,EAAO,YAAY,MAAO,GACrF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA8C,GAC3D,EAAO,kBAAkB,iCAAkC,EAAO,YAAY,MAAO,KAErF,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,iCAAkC,EAAO,YAAY,UAAW,IAE3F,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,+BAA+B,EAAK,QAAS,EAAK,OAAO,SAAU,EAAK,GACpF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAuD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC9H,EAAO,kBAAkB,iCAAkC,EAAO,YAAY,MAAO,KAErF,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,iCAAkC,EAAO,YAAY,UAAW,IAE3F,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,gCAAkC,SAAS,EAAO,EAAO,GAClF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC+C,IAAjD,KAAK,SAAS,wBAAwB,OACxC,EAAE,MAAM,KAAK,SAAS,wBAAwB,KAAK,KAAK,UACtD,EAAK,QACL,EAAK,UACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAuC,CAAC,QAAS,IACtE,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,GAC9E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAuC,GACpD,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,KAE9E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,UAAW,IAEpF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,wBAAwB,EAAK,QAAS,EAAK,UAAU,SAAU,EAAK,GAChF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAgD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACvH,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,MAAO,KAE9E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,0BAA2B,EAAO,YAAY,UAAW,IAEpF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,oBAAsB,SAAS,EAAO,EAAO,GACtE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACmC,IAArC,KAAK,SAAS,YAAY,OAC5B,EAAE,MAAM,KAAK,SAAS,YAAY,KAAK,KAAK,UAC1C,EAAK,aACL,EAAK,eACL,EAAK,SACL,EAAK,aACL,EAAK,wBACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA2B,CAAC,QAAS,IAC1D,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,GAClE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA2B,GACxC,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,YAAY,EAAK,aAAc,EAAK,eAAgB,EAAK,SAAU,EAAK,aAAc,EAAK,wBAAwB,SAAU,EAAK,GAC9I,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAoC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC3G,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,2BAA6B,SAAS,EAAO,EAAO,GAC7E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC0C,IAA5C,KAAK,SAAS,mBAAmB,OACnC,EAAE,MAAM,KAAK,SAAS,mBAAmB,KAAK,KAAK,UACjD,EAAK,cACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAkC,CAAC,QAAS,IACjE,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,GACzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAkC,GAC/C,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,mBAAmB,EAAK,cAAe,EAAK,aAAa,SAAU,EAAK,GACpF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA2C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAClH,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,kCAAoC,SAAS,EAAO,EAAO,GACpF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACiD,IAAnD,KAAK,SAAS,0BAA0B,OAC1C,EAAE,MAAM,KAAK,SAAS,0BAA0B,KAAK,KAAK,UACxD,EAAK,gBACL,EAAK,SACL,EAAK,SACL,EAAK,YACL,EAAK,0BACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAyC,CAAC,QAAS,IACxE,EAAO,kBAAkB,4BAA6B,EAAO,YAAY,MAAO,GAChF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAyC,GACtD,EAAO,kBAAkB,4BAA6B,EAAO,YAAY,MAAO,KAEhF,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,4BAA6B,EAAO,YAAY,UAAW,IAEtF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,0BAA0B,EAAK,gBAAiB,EAAK,SAAU,EAAK,SAAU,EAAK,YAAa,EAAK,0BAA0B,SAAU,EAAK,GAC1J,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAkD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACzH,EAAO,kBAAkB,4BAA6B,EAAO,YAAY,MAAO,KAEhF,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,4BAA6B,EAAO,YAAY,UAAW,IAEtF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,2BAA6B,SAAS,EAAO,EAAO,GAC7E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC0C,IAA5C,KAAK,SAAS,mBAAmB,OACnC,EAAE,MAAM,KAAK,SAAS,mBAAmB,KAAK,KAAK,UACjD,EAAK,QACL,EAAK,UACL,EAAK,SACL,EAAK,WACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAkC,CAAC,QAAS,IACjE,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,GACzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAkC,GAC/C,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,mBAAmB,EAAK,QAAS,EAAK,UAAW,EAAK,SAAU,EAAK,WAAW,SAAU,EAAK,GAC3G,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA2C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAClH,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,iCAAmC,SAAS,EAAO,EAAO,GACnF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACgD,IAAlD,KAAK,SAAS,yBAAyB,OACzC,EAAE,MAAM,KAAK,SAAS,yBAAyB,KAAK,KAAK,UACvD,EAAK,eACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAwC,CAAC,QAAS,IACvE,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,MAAO,GAC/E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAwC,GACrD,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,MAAO,KAE/E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,UAAW,IAErF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,yBAAyB,EAAK,eAAgB,EAAK,aAAa,SAAU,EAAK,GAC3F,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAiD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACxH,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,MAAO,KAE/E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,2BAA4B,EAAO,YAAY,UAAW,IAErF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,oBAAsB,SAAS,EAAO,EAAO,GACtE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACmC,IAArC,KAAK,SAAS,YAAY,OAC5B,EAAE,MAAM,KAAK,SAAS,YAAY,KAAK,KAAK,UAC1C,EAAK,QACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA2B,CAAC,QAAS,IAC1D,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,GAClE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA2B,GACxC,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,YAAY,EAAK,QAAS,EAAK,aAAa,SAAU,EAAK,GACvE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAoC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC3G,EAAO,kBAAkB,cAAe,EAAO,YAAY,MAAO,KAElE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,cAAe,EAAO,YAAY,UAAW,IAExE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,mBAAqB,SAAS,EAAO,EAAO,GACrE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACkC,IAApC,KAAK,SAAS,WAAW,OAC3B,EAAE,MAAM,KAAK,SAAS,WAAW,KAAK,KAAK,UACzC,EAAK,QACL,EAAK,UACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA0B,CAAC,QAAS,IACzD,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,GACjE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA0B,GACvC,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,WAAW,EAAK,QAAS,EAAK,UAAU,SAAU,EAAK,GACnE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAmC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC1G,EAAO,kBAAkB,aAAc,EAAO,YAAY,MAAO,KAEjE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,aAAc,EAAO,YAAY,UAAW,IAEvE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,kBAAoB,SAAS,EAAO,EAAO,GACpE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACiC,IAAnC,KAAK,SAAS,UAAU,OAC1B,EAAE,MAAM,KAAK,SAAS,UAAU,KAAK,KAAK,UACxC,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAyB,CAAC,QAAS,IACxD,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,GAChE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAyB,GACtC,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,KAEhE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,YAAa,EAAO,YAAY,UAAW,IAEtE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,UAAU,EAAK,SAAS,SAAU,EAAK,GACnD,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAkC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACzG,EAAO,kBAAkB,YAAa,EAAO,YAAY,MAAO,KAEhE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,YAAa,EAAO,YAAY,UAAW,IAEtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,mCAAqC,SAAS,EAAO,EAAO,GACrF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACkD,IAApD,KAAK,SAAS,2BAA2B,OAC3C,EAAE,MAAM,KAAK,SAAS,2BAA2B,KAAK,KAAK,UACzD,EAAK,QACL,EAAK,UACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA0C,CAAC,QAAS,IACzE,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,MAAO,GACjF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA0C,GACvD,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,MAAO,KAEjF,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,UAAW,IAEvF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,2BAA2B,EAAK,QAAS,EAAK,UAAU,SAAU,EAAK,GACnF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAmD,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC1H,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,MAAO,KAEjF,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,6BAA8B,EAAO,YAAY,UAAW,IAEvF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,4BAA8B,SAAS,EAAO,EAAO,GAC9E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC2C,IAA7C,KAAK,SAAS,oBAAoB,OACpC,EAAE,MAAM,KAAK,SAAS,oBAAoB,KAAK,KAAK,UAClD,EAAK,QACL,EAAK,WACL,EAAK,MACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAmC,CAAC,QAAS,IAClE,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,GAC1E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAmC,GAChD,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,KAE1E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,UAAW,IAEhF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,oBAAoB,EAAK,QAAS,EAAK,WAAY,EAAK,MAAM,SAAU,EAAK,GACzF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA4C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACnH,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,MAAO,KAE1E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,sBAAuB,EAAO,YAAY,UAAW,IAEhF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,+BAAiC,SAAS,EAAO,EAAO,GACjF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC8C,IAAhD,KAAK,SAAS,uBAAuB,OACvC,EAAE,MAAM,KAAK,SAAS,uBAAuB,KAAK,KAAK,UACrD,EAAK,QACL,EAAK,UACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAsC,CAAC,QAAS,IACrE,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,MAAO,GAC7E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAsC,GACnD,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,MAAO,KAE7E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,UAAW,IAEnF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,uBAAuB,EAAK,QAAS,EAAK,UAAU,SAAU,EAAK,GAC/E,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA+C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACtH,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,MAAO,KAE7E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,yBAA0B,EAAO,YAAY,UAAW,IAEnF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,iBAAmB,SAAS,EAAO,EAAO,GACnE,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACgC,IAAlC,KAAK,SAAS,SAAS,OACzB,EAAE,MAAM,KAAK,SAAS,SAAS,KAAK,KAAK,UACvC,EAAK,QACL,EAAK,YACL,EAAK,UACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAwB,CAAC,QAAS,IACvD,EAAO,kBAAkB,WAAY,EAAO,YAAY,MAAO,GAC/D,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAwB,GACrC,EAAO,kBAAkB,WAAY,EAAO,YAAY,MAAO,KAE/D,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,WAAY,EAAO,YAAY,UAAW,IAErE,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,SAAS,EAAK,QAAS,EAAK,YAAa,EAAK,UAAU,SAAU,EAAK,GACnF,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAiC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACxG,EAAO,kBAAkB,WAAY,EAAO,YAAY,MAAO,KAE/D,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,WAAY,EAAO,YAAY,UAAW,IAErE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,6BAA+B,SAAS,EAAO,EAAO,GAC/E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC4C,IAA9C,KAAK,SAAS,qBAAqB,OACrC,EAAE,MAAM,KAAK,SAAS,qBAAqB,KAAK,KAAK,UACnD,EAAK,QACL,EAAK,YACL,EAAK,WACL,EAAK,WACL,EAAK,aACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAoC,CAAC,QAAS,IACnE,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,MAAO,GAC3E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAoC,GACjD,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,MAAO,KAE3E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,UAAW,IAEjF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,qBAAqB,EAAK,QAAS,EAAK,YAAa,EAAK,WAAY,EAAK,WAAY,EAAK,aAAa,SAAU,EAAK,GACpI,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA6C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACpH,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,MAAO,KAE3E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,uBAAwB,EAAO,YAAY,UAAW,IAEjF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,wBAA0B,SAAS,EAAO,EAAO,GAC1E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBACuC,IAAzC,KAAK,SAAS,gBAAgB,OAChC,EAAE,MAAM,KAAK,SAAS,gBAAgB,KAAK,KAAK,UAC9C,EAAK,QACL,EAAK,IACL,EAAK,OACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAA+B,CAAC,QAAS,IAC9D,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,GACtE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAA+B,GAC5C,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,gBAAgB,EAAK,QAAS,EAAK,IAAK,EAAK,OAAO,SAAU,EAAK,GAC/E,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAAwC,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAC/G,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,MAAO,KAEtE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,kBAAmB,EAAO,YAAY,UAAW,IAE5E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,2BAA6B,SAAS,EAAO,EAAO,GAC7E,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC0C,IAA5C,KAAK,SAAS,mBAAmB,OACnC,EAAE,MAAM,KAAK,SAAS,mBAAmB,KAAK,KAAK,UACjD,EAAK,QACL,EAAK,OACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAkC,CAAC,QAAS,IACjE,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,GACzE,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAkC,GAC/C,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,mBAAmB,EAAK,QAAS,EAAK,OAAO,SAAU,EAAK,GACxE,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA2C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IAClH,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,MAAO,KAEzE,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,qBAAsB,EAAO,YAAY,UAAW,IAE/E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,8BAAgC,SAAS,EAAO,EAAO,GAChF,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC6C,IAA/C,KAAK,SAAS,sBAAsB,OACtC,EAAE,MAAM,KAAK,SAAS,sBAAsB,KAAK,KAAK,UACpD,EAAK,SACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAqC,CAAC,QAAS,IACpE,EAAO,kBAAkB,wBAAyB,EAAO,YAAY,MAAO,GAC5E,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAqC,GAClD,EAAO,kBAAkB,wBAAyB,EAAO,YAAY,MAAO,KAE5E,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,wBAAyB,EAAO,YAAY,UAAW,IAElF,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,sBAAsB,EAAK,SAAS,SAAU,EAAK,GAC/D,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA8C,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACrH,EAAO,kBAAkB,wBAAyB,EAAO,YAAY,MAAO,KAE5E,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,wBAAyB,EAAO,YAAY,UAAW,IAElF,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,EACA,GAAiB,UAAU,6CAA+C,SAAS,EAAO,EAAO,GAC/F,IAAI,EAAO,IAAI,GACf,EAAK,KAAK,GACV,EAAM,iBAC4D,IAA9D,KAAK,SAAS,qCAAqC,OACrD,EAAE,MAAM,KAAK,SAAS,qCAAqC,KAAK,KAAK,UACnE,EAAK,QACL,EAAK,KACL,EAAK,MACL,EAAK,eACL,MAAK,SAAS,GACd,IAAI,EAAa,IAAI,GAAoD,CAAC,QAAS,IACnF,EAAO,kBAAkB,uCAAwC,EAAO,YAAY,MAAO,GAC3F,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,IAAG,OAAM,SAAU,GACjB,IAAI,EACA,aAAe,EAAO,mBACxB,EAAS,IAAI,GAAoD,GACjE,EAAO,kBAAkB,uCAAwC,EAAO,YAAY,MAAO,KAE3F,EAAS,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SACxF,EAAO,kBAAkB,uCAAwC,EAAO,YAAY,UAAW,IAEjG,EAAO,MAAM,GACb,EAAO,kBACP,EAAO,OACT,IAEA,KAAK,SAAS,qCAAqC,EAAK,QAAS,EAAK,KAAM,EAAK,MAAO,EAAK,eAAe,SAAU,EAAK,GACzH,IAAI,EACA,MAAC,GAA+C,aAAe,EAAO,mBACxE,EAAa,IAAI,GAA6D,OAAR,QAA+B,IAAR,EAAuB,EAAM,CAAC,QAAS,IACpI,EAAO,kBAAkB,uCAAwC,EAAO,YAAY,MAAO,KAE3F,EAAa,IAAI,EAAO,sBAAsB,EAAO,0BAA0B,QAAS,EAAI,SAC5F,EAAO,kBAAkB,uCAAwC,EAAO,YAAY,UAAW,IAEjG,EAAW,MAAM,GACjB,EAAO,kBACP,EAAO,OACT,GAEJ,CAGO,EAED,IACA,CAAE,EAAQ,EAA0B,KAE1C,aASA,IAAI,EAAS,EAAoB,MAC7B,EAAS,EAAO,OAKhB,GAJI,EAAO,EACH,EAAoB,KAGnB,EAAO,QAAU,CAAC,GAC/B,EAAO,YAAc,CACnB,IAAQ,EACR,IAAQ,GAEV,EAAO,WAAa,CAClB,SAAa,EACb,IAAQ,EACR,OAAW,EACX,MAAU,EACV,QAAY,EACZ,OAAW,EACX,IAAQ,EACR,KAAS,EACT,UAAc,EACd,KAAS,EACT,KAAS,GACT,kBAAsB,GACtB,oBAAwB,GACxB,MAAU,GACV,WAAe,GACf,QAAY,GACZ,aAAiB,GACjB,QAAY,GACZ,SAAa,GACb,UAAc,IAEhB,EAAO,cAAgB,CACrB,KAAS,EACT,MAAU,EACV,GAAO,EACP,KAAS,EACT,KAAS,EACT,OAAW,EACX,OAAW,EACX,aAAiB,GAEnB,IAAI,EAAY,EAAO,QAAQ,UAAY,SAAS,GAClD,KAAK,KAAO,KACZ,KAAK,SAAW,KAChB,KAAK,SAAW,KAChB,KAAK,SAAW,KAChB,KAAK,UAAY,KACjB,KAAK,MAAQ,KACb,KAAK,WAAa,KAClB,KAAK,MAAQ,EACT,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEG,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAED,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAED,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEA,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEL,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEI,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEP,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,MAGvB,EACA,EAAU,UAAY,CAAC,EACvB,EAAU,UAAU,KAAO,SAAS,GAElC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,SAAW,EAAM,WAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,SAAW,EAAM,WAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,MAAQ,EAAM,UAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAU,UAAU,MAAQ,SAAS,GACnC,EAAO,iBAAiB,aACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,UAAU,KAAK,UACtB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,UAAU,KAAK,UACtB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,IAAK,GACjD,EAAO,SAAS,KAAK,OACrB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,CAIO,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aASA,IAAI,EAAS,EAAoB,MAC7B,EAAS,EAAO,OACZ,EAAO,EACH,EAAoB,MAGnB,EAAO,QAAU,CAAC,GACxB,oBAAsB,CAC3B,OAAW,EACX,MAAU,EACV,KAAS,EACT,OAAW,EACX,QAAY,EACZ,WAAe,EACf,SAAa,EACb,QAAY,GAEd,IAAI,EAAkB,EAAO,QAAQ,gBAAkB,SAAS,GAC9D,KAAK,KAAO,KACZ,KAAK,MAAQ,KACb,KAAK,SAAW,KACZ,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEA,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAO,SAAS,EAAK,MAAO,CAAC,aAEtB,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,EACA,EAAgB,UAAY,CAAC,EAC7B,EAAgB,UAAU,KAAO,SAAS,GAExC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,MAAQ,GAGb,IAFA,IACI,EADU,EAAM,gBACC,MAAQ,EACpB,EAAM,EAAG,EAAM,IAAU,EAAK,CACrC,IAAI,EACJ,EAAQ,EAAM,aACd,KAAK,MAAM,KAAK,EAClB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAgB,UAAU,MAAQ,SAAS,GAOzC,GANA,EAAO,iBAAiB,mBACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,MAAqB,CAGnD,IAAK,IAAI,KAFT,EAAO,gBAAgB,QAAS,EAAO,KAAK,KAAM,GAClD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,MAAM,QACnC,KAAK,MACjB,KAAK,MAAM,eAAe,KAC5B,EAAQ,KAAK,MAAM,GACnB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACsB,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,CAIO,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aASA,IAAI,EAAS,EAAoB,MAC7B,EAAS,EAAO,OAKhB,GAJI,EAAO,EACH,EAAoB,KAGnB,EAAO,QAAU,CAAC,GAC/B,EAAO,iBAAmB,CACxB,KAAS,EACT,MAAU,EACV,MAAU,EACV,MAAU,EACV,MAAU,EACV,OAAW,EACX,KAAS,EACT,MAAU,EACV,OAAW,EACX,OAAW,EACX,OAAW,GACX,OAAW,GACX,QAAY,GACZ,MAAU,GACV,KAAS,GACT,UAAc,GACd,WAAe,GACf,WAAe,GACf,WAAe,GACf,WAAe,GACf,YAAgB,GAChB,UAAc,GACd,SAAa,GACb,cAAkB,GAClB,OAAW,GACX,WAAe,GACf,gBAAoB,GACpB,WAAe,GACf,YAAgB,GAChB,YAAgB,GAChB,YAAgB,GAChB,YAAgB,GAChB,aAAiB,GACjB,WAAe,GACf,iBAAqB,GACrB,kBAAsB,GACtB,mBAAuB,GACvB,mBAAuB,IAEzB,EAAO,sBAAwB,CAC7B,UAAc,EACd,gCAAoC,EACpC,4BAAgC,GAElC,IAAI,EAAuB,EAAO,QAAQ,qBAAuB,SAAS,GACxE,KAAK,KAAO,KACZ,KAAK,SAAW,KAChB,KAAK,QAAU,KACX,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEG,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,aAE7B,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,EACA,EAAqB,UAAY,CAAC,EAClC,EAAqB,UAAU,KAAO,SAAS,GAE7C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,KAAO,EAAM,aAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADU,EAAM,gBACC,MAAQ,EACpB,EAAM,EAAG,EAAM,IAAU,EAAK,CACrC,IAAI,EACJ,EAAQ,EAAM,UACd,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAqB,UAAU,MAAQ,SAAS,GAO9C,GANA,EAAO,iBAAiB,wBACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,OAAQ,GACnD,EAAO,YAAY,KAAK,MACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,SAAS,QACnC,KAAK,SACjB,KAAK,SAAS,eAAe,KAC/B,EAAQ,KAAK,SAAS,GACtB,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACqB,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA4B,EAAO,QAAQ,0BAA4B,SAAS,GAClF,KAAK,KAAO,KACZ,KAAK,UAAY,KACjB,KAAK,YAAc,KACnB,KAAK,cAAgB,KACrB,KAAK,eAAiB,KACtB,KAAK,YAAc,KACf,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEI,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEC,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEC,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAO,SAAS,EAAK,cAAe,CAAC,aAEhC,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAO,SAAS,EAAK,eAAgB,CAAC,aAErC,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAO,SAAS,EAAK,YAAa,CAAC,QAG5D,EACA,EAA0B,UAAY,CAAC,EACvC,EAA0B,UAAU,KAAO,SAAS,GAElD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,KAAO,EAAM,aAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,cAAgB,GAGrB,IAFA,IACI,EADU,EAAM,gBACC,MAAQ,EACpB,EAAM,EAAG,EAAM,IAAU,EAAK,CACrC,IAAI,EACJ,EAAQ,EAAM,UACd,KAAK,cAAc,KAAK,EAC1B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,eAAiB,GAGtB,IAFA,IACI,EADW,EAAM,gBACC,MAAQ,EACrB,EAAO,EAAG,EAAO,IAAU,EAAM,CACxC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,eAAe,KAAK,EAC3B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,YAAc,GAGnB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,YAAY,KAAK,EACxB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA0B,UAAU,MAAQ,SAAS,GAiBnD,GAhBA,EAAO,iBAAiB,6BACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,OAAQ,GACnD,EAAO,YAAY,KAAK,MACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,cAA6B,CAGnE,IAAK,IAAI,KAFT,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,cAAc,QACvC,KAAK,cAClB,KAAK,cAAc,eAAe,KACpC,EAAS,KAAK,cAAc,GAC5B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,GAA4B,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,eAA8B,CAGrE,IAAK,IAAI,KAFT,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,KAAM,GAC3D,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,eAAe,QACxC,KAAK,eAClB,KAAK,eAAe,eAAe,KACrC,EAAS,KAAK,eAAe,GAC7B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,GAAyB,OAArB,KAAK,kBAA6C,IAArB,KAAK,YAA2B,CAG/D,IAAK,IAAI,KAFT,EAAO,gBAAgB,cAAe,EAAO,KAAK,KAAM,GACxD,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,YAAY,QACrC,KAAK,YAClB,KAAK,YAAY,eAAe,KAClC,EAAS,KAAK,YAAY,GAC1B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,CAIO,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aASA,IAAI,EAAS,EAAoB,MAC7B,EAAS,EAAO,OAIhB,GAHI,EAAO,EACH,EAAoB,KAEZ,EAAoB,MAEpC,GAD0B,EAAoB,MACf,EAAoB,MAInD,GAH6B,EAAoB,MAGxC,EAAO,QAAU,CAAC,GAC/B,EAAO,aAAe,CACpB,IAAQ,EACR,IAAQ,GAEV,EAAO,UAAY,CACjB,UAAc,EACd,QAAY,EACZ,QAAY,GAEd,EAAO,iBAAmB,CACxB,QAAY,EACZ,WAAe,EACf,QAAY,EACZ,MAAU,GAEZ,EAAO,sBAAwB,CAC7B,MAAU,EACV,IAAQ,EACR,QAAY,EACZ,gBAAoB,GAEtB,EAAO,iBAAmB,CACxB,WAAe,EACf,UAAc,EACd,WAAe,GAEjB,EAAO,MAAQ,CACb,OAAW,EACX,WAAe,EACf,KAAS,EACT,kBAAsB,GAExB,EAAO,WAAa,CAClB,MAAU,EACV,OAAW,GAEb,EAAO,WAAa,CAClB,QAAY,EACZ,KAAS,EACT,MAAU,EACV,YAAgB,EAChB,aAAiB,GAEnB,EAAO,gBAAkB,CACvB,cAAkB,EAClB,KAAS,GAEX,EAAO,qBAAuB,CAC5B,QAAY,EACZ,QAAY,EACZ,MAAU,EACV,OAAW,GAEb,EAAO,cAAgB,CACrB,qBAAyB,EACzB,qBAAyB,EACzB,kBAAsB,EACtB,sBAA0B,EAC1B,iBAAqB,EACrB,mBAAuB,GAEzB,IAAI,EAAY,EAAO,QAAQ,UAAY,SAAS,GAClD,KAAK,QAAU,KACf,KAAK,SAAW,KAChB,KAAK,QAAU,KACf,KAAK,QAAU,KACX,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEA,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEF,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,QAGpD,EACA,EAAU,UAAY,CAAC,EACvB,EAAU,UAAU,KAAO,SAAS,GAElC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADU,EAAM,gBACC,MAAQ,EACpB,EAAM,EAAG,EAAM,IAAU,EAAK,CACrC,IAAI,EAAQ,MACZ,EAAQ,IAAI,EAAO,QACb,KAAK,GACX,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAU,UAAU,MAAQ,SAAS,GAiBnC,GAhBA,EAAO,iBAAiB,aACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACrC,KAAK,QACjB,KAAK,QAAQ,eAAe,KAC9B,EAAQ,KAAK,QAAQ,IACf,MAAM,GAGhB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAS,EAAO,QAAQ,OAAS,SAAS,GAC5C,KAAK,IAAM,KACX,KAAK,QAAU,KACX,SACe,IAAb,EAAK,KAAkC,OAAb,EAAK,MACjC,KAAK,IAAM,IAAI,EAAO,UAAU,EAAK,WAElB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,EACA,EAAO,UAAY,CAAC,EACpB,EAAO,UAAU,KAAO,SAAS,GAE/B,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,IAAM,IAAI,EAAO,UACtB,KAAK,IAAI,KAAK,IAEd,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAO,UAAU,MAAQ,SAAS,GAChC,EAAO,iBAAiB,UACP,OAAb,KAAK,UAA6B,IAAb,KAAK,MAC5B,EAAO,gBAAgB,MAAO,EAAO,KAAK,OAAQ,GAClD,KAAK,IAAI,MAAM,GACf,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAe,EAAO,QAAQ,aAAe,SAAS,GACxD,KAAK,QAAU,KACf,KAAK,QAAU,KACX,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,EACA,EAAa,UAAY,CAAC,EAC1B,EAAa,UAAU,KAAO,SAAS,GAErC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAa,UAAU,MAAQ,SAAS,GACtC,EAAO,iBAAiB,gBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAc,EAAO,QAAQ,YAAc,SAAS,GACtD,KAAK,SAAW,KAChB,KAAK,SAAW,KAChB,KAAK,oBAAsB,KAC3B,KAAK,SAAW,KAChB,KAAK,UAAY,KACjB,KAAK,YAAc,KACnB,KAAK,OAAS,KACV,SACoB,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAED,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,IAAI,EAAc,UAAU,EAAK,gBAElB,IAA7B,EAAK,qBAAkE,OAA7B,EAAK,sBACjD,KAAK,oBAAsB,EAAK,0BAEZ,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEA,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEC,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEN,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,QAGzB,EACA,EAAY,UAAY,CAAC,EACzB,EAAY,UAAU,KAAO,SAAS,GAEpC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,SAAW,IAAI,EAAc,UAClC,KAAK,SAAS,KAAK,IAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,oBAAsB,EAAM,WAEjC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,UAAY,EAAM,WAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,YAAc,EAAM,WAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAY,UAAU,MAAQ,SAAS,GACrC,EAAO,iBAAiB,eACF,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,KAAK,SAAS,MAAM,GACpB,EAAO,iBAEwB,OAA7B,KAAK,0BAA6D,IAA7B,KAAK,sBAC5C,EAAO,gBAAgB,sBAAuB,EAAO,KAAK,KAAM,GAChE,EAAO,UAAU,KAAK,qBACtB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,KAAM,GACtD,EAAO,UAAU,KAAK,WACtB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,KAAM,GACxD,EAAO,UAAU,KAAK,aACtB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAO,EAAO,QAAQ,KAAO,SAAS,GACxC,KAAK,KAAO,KACR,QACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAO,SAAS,EAAK,KAAM,CAAC,EAAO,SAGrD,EACA,EAAK,UAAY,CAAC,EAClB,EAAK,UAAU,KAAO,SAAS,GAE7B,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEN,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,KAAO,GAGZ,IAFA,IACI,EADU,EAAM,gBACC,MAAQ,EACpB,EAAM,EAAG,EAAM,IAAU,EAAK,CACrC,IAAI,EAAQ,MACZ,EAAQ,IAAI,EAAO,QACb,KAAK,GACX,KAAK,KAAK,KAAK,EACjB,CACA,EAAM,aACR,MACE,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAK,UAAU,MAAQ,SAAS,GAE9B,GADA,EAAO,iBAAiB,QACN,OAAd,KAAK,WAA+B,IAAd,KAAK,KAAoB,CAGjD,IAAK,IAAI,KAFT,EAAO,gBAAgB,OAAQ,EAAO,KAAK,KAAM,GACjD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,KAAK,QAClC,KAAK,KACjB,KAAK,KAAK,eAAe,KAC3B,EAAQ,KAAK,KAAK,IACZ,MAAM,GAGhB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAc,EAAO,QAAQ,YAAc,SAAS,GACtD,KAAK,QAAU,KACf,KAAK,SAAW,KAChB,KAAK,QAAU,KACf,KAAK,QAAU,KACX,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAE1B,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,aAE7B,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAE3B,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,QAGpD,EACA,EAAY,UAAY,CAAC,EACzB,EAAY,UAAU,KAAO,SAAS,GAEpC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,aACf,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,aACf,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,SACb,KAAK,GACZ,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAY,UAAU,MAAQ,SAAS,GAErC,GADA,EAAO,iBAAiB,eACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,QAAQ,QACjC,KAAK,QAClB,KAAK,QAAQ,eAAe,KAC9B,EAAS,KAAK,QAAQ,GACtB,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,GAAsB,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,SAAS,QACrC,KAAK,SAClB,KAAK,SAAS,eAAe,KAC/B,EAAS,KAAK,SAAS,GACvB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,GAAqB,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACpC,KAAK,QAClB,KAAK,QAAQ,eAAe,KAC9B,EAAS,KAAK,QAAQ,GACtB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,GAAqB,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACpC,KAAK,QAClB,KAAK,QAAQ,eAAe,KAC9B,EAAS,KAAK,QAAQ,IACf,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAU,EAAO,QAAQ,QAAU,SAAS,GAC9C,KAAK,KAAO,KACZ,KAAK,MAAQ,KACT,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,IAAI,EAAO,YAAY,EAAK,YAEvB,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAO,SAAS,EAAK,MAAO,CAAC,QAGhD,EACA,EAAQ,UAAY,CAAC,EACrB,EAAQ,UAAU,KAAO,SAAS,GAEhC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,KAAO,IAAI,EAAO,YACvB,KAAK,KAAK,KAAK,IAEf,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,MAAQ,GAGb,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,WACf,KAAK,MAAM,KAAK,EAClB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAQ,UAAU,MAAQ,SAAS,GAOjC,GANA,EAAO,iBAAiB,WACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,OAAQ,GACnD,KAAK,KAAK,MAAM,GAChB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,MAAqB,CAGnD,IAAK,IAAI,KAFT,EAAO,gBAAgB,QAAS,EAAO,KAAK,KAAM,GAClD,EAAO,eAAe,EAAO,KAAK,KAAM,KAAK,MAAM,QAChC,KAAK,MAClB,KAAK,MAAM,eAAe,KAC5B,EAAS,KAAK,MAAM,GACpB,EAAO,UAAU,IAGrB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAa,EAAO,QAAQ,WAAa,SAAS,GACpD,KAAK,KAAO,KACR,QACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAO,SAAS,EAAK,KAAM,CAAC,EAAO,eAGrD,EACA,EAAW,UAAY,CAAC,EACxB,EAAW,UAAU,KAAO,SAAS,GAEnC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEN,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,KAAO,GAGZ,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,cACb,KAAK,GACZ,KAAK,KAAK,KAAK,EACjB,CACA,EAAM,aACR,MACE,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAW,UAAU,MAAQ,SAAS,GAEpC,GADA,EAAO,iBAAiB,cACN,OAAd,KAAK,WAA+B,IAAd,KAAK,KAAoB,CAGjD,IAAK,IAAI,KAFT,EAAO,gBAAgB,OAAQ,EAAO,KAAK,KAAM,GACjD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,KAAK,QACjC,KAAK,KAClB,KAAK,KAAK,eAAe,KAC3B,EAAS,KAAK,KAAK,IACZ,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAe,EAAO,QAAQ,aAAe,SAAS,GACxD,KAAK,UAAY,KACjB,KAAK,SAAW,KACZ,SACqB,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEF,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,EACA,EAAa,UAAY,CAAC,EAC1B,EAAa,UAAU,KAAO,SAAS,GAErC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAa,UAAU,MAAQ,SAAS,GACtC,EAAO,iBAAiB,gBACD,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAc,EAAO,QAAQ,YAAc,SAAS,GACtD,KAAK,gBAAkB,KACvB,KAAK,mBAAqB,KAC1B,KAAK,WAAa,KAClB,KAAK,QAAU,KACf,KAAK,SAAW,KAChB,KAAK,QAAU,KACX,SAC2B,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,IAAI,EAA6B,gBAAgB,EAAK,uBAE/C,IAA5B,EAAK,oBAAgE,OAA5B,EAAK,qBAChD,KAAK,mBAAqB,EAAK,yBAET,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEJ,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEA,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,EAAO,oBAEpC,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,EACA,EAAY,UAAY,CAAC,EACzB,EAAY,UAAU,KAAO,SAAS,GAEpC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,gBAAkB,IAAI,EAA6B,gBACxD,KAAK,gBAAgB,KAAK,IAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,mBAAqB,EAAM,WAEhC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,aACb,KAAK,GACZ,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAY,UAAU,MAAQ,SAAS,GAsBrC,GArBA,EAAO,iBAAiB,eACK,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,OAAQ,GAC9D,KAAK,gBAAgB,MAAM,GAC3B,EAAO,iBAEuB,OAA5B,KAAK,yBAA2D,IAA5B,KAAK,qBAC3C,EAAO,gBAAgB,qBAAsB,EAAO,KAAK,KAAM,GAC/D,EAAO,UAAU,KAAK,oBACtB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,SAAS,QACrC,KAAK,SAClB,KAAK,SAAS,eAAe,KAC/B,EAAS,KAAK,SAAS,IAChB,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACqB,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAU,EAAO,QAAQ,QAAU,SAAS,GAC9C,KAAK,SAAW,KAChB,KAAK,KAAO,KACZ,KAAK,QAAU,KACf,KAAK,YAAc,KACf,SACoB,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,EAAO,oBAEvC,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAO,SAAS,EAAK,KAAM,CAAC,EAAO,aAE5B,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,gBAE9B,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,aAG9B,EACA,EAAQ,UAAY,CAAC,EACrB,EAAQ,UAAU,KAAO,SAAS,GAEhC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,aACb,KAAK,GACZ,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,KAAO,GAGZ,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,MACb,KAAK,GACZ,KAAK,KAAK,KAAK,EACjB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,SACb,KAAK,GACZ,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,YAAc,EAAM,WAEzB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAQ,UAAU,MAAQ,SAAS,GAEjC,GADA,EAAO,iBAAiB,WACF,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,SAAS,QACrC,KAAK,SAClB,KAAK,SAAS,eAAe,KAC/B,EAAS,KAAK,SAAS,IAChB,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,GAAkB,OAAd,KAAK,WAA+B,IAAd,KAAK,KAAoB,CAGjD,IAAK,IAAI,KAFT,EAAO,gBAAgB,OAAQ,EAAO,KAAK,KAAM,GACjD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,KAAK,QACjC,KAAK,KAClB,KAAK,KAAK,eAAe,KAC3B,EAAS,KAAK,KAAK,IACZ,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,GAAqB,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACpC,KAAK,QAClB,KAAK,QAAQ,eAAe,KAC9B,EAAS,KAAK,QAAQ,IACf,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACyB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,KAAM,GACxD,EAAO,UAAU,KAAK,aACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAe,EAAO,QAAQ,aAAe,SAAS,GACxD,KAAK,QAAU,KACf,KAAK,kBAAoB,KACzB,KAAK,cAAgB,KACrB,KAAK,MAAQ,KACb,KAAK,MAAQ,KACb,KAAK,SAAU,EACf,KAAK,WAAa,EACd,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,QAAQ,EAAK,eAEV,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAEL,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAET,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAED,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEC,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEE,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,YAG7B,EACA,EAAa,UAAY,CAAC,EAC1B,EAAa,UAAU,KAAO,SAAS,GAErC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,QAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,kBAAoB,EAAM,UAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,cAAgB,EAAM,UAE3B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAa,UAAU,MAAQ,SAAS,GACtC,EAAO,iBAAiB,gBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,IAAK,GAC7D,EAAO,SAAS,KAAK,mBACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,IAAK,GACzD,EAAO,SAAS,KAAK,eACrB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAa,EAAO,QAAQ,WAAa,SAAS,GACpD,KAAK,UAAY,KACjB,KAAK,QAAU,KACf,KAAK,UAAY,KACjB,KAAK,QAAU,KACf,KAAK,kBAAoB,KACzB,KAAK,yBAA2B,KAChC,KAAK,UAAY,KACb,SACqB,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEH,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEH,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAES,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAEM,IAAlC,EAAK,0BAA4E,OAAlC,EAAK,2BACtD,KAAK,yBAA2B,EAAK,+BAEhB,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,WAG5B,EACA,EAAW,UAAY,CAAC,EACxB,EAAW,UAAU,KAAO,SAAS,GAEnC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,kBAAoB,EAAM,UAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,yBAA2B,EAAM,UAEtC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAW,UAAU,MAAQ,SAAS,GACpC,EAAO,iBAAiB,cACD,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,IAAK,GAC7D,EAAO,SAAS,KAAK,mBACrB,EAAO,iBAE6B,OAAlC,KAAK,+BAAuE,IAAlC,KAAK,2BACjD,EAAO,gBAAgB,2BAA4B,EAAO,KAAK,IAAK,GACpE,EAAO,SAAS,KAAK,0BACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAU,EAAO,QAAQ,QAAU,SAAS,GAC9C,KAAK,QAAU,KACf,KAAK,SAAW,KACZ,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEA,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,EACA,EAAQ,UAAY,CAAC,EACrB,EAAQ,UAAU,KAAO,SAAS,GAEhC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAQ,UAAU,MAAQ,SAAS,GACjC,EAAO,iBAAiB,WACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAoB,EAAO,QAAQ,kBAAoB,SAAS,GAClE,EAAO,WAAW,KAAK,KAAM,qBAC7B,KAAK,KAAO,oBACZ,KAAK,UAAY,KACb,QACqB,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,UAG5B,EACA,EAAO,SAAS,EAAmB,EAAO,YAC1C,EAAkB,UAAU,KAAO,oBACnC,EAAkB,UAAU,KAAO,SAAS,GAE1C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAkB,UAAU,MAAQ,SAAS,GAC3C,EAAO,iBAAiB,qBACD,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAc,EAAO,QAAQ,YAAc,SAAS,GACtD,KAAK,UAAY,KACjB,KAAK,SAAW,KAChB,KAAK,WAAa,EAClB,KAAK,OAAS,KACd,KAAK,MAAQ,KACb,KAAK,OAAS,KACd,KAAK,WAAa,KAClB,KAAK,YAAc,KACnB,KAAK,YAAc,KACnB,KAAK,UAAY,KACjB,KAAK,QAAU,KACf,KAAK,UAAY,EACjB,KAAK,cAAgB,KACrB,KAAK,cAAgB,KACrB,KAAK,UAAY,KACjB,KAAK,oBAAsB,EAC3B,KAAK,sBAAwB,GAC7B,KAAK,gBAAkB,GACvB,KAAK,gBAAkB,KACvB,KAAK,uBAAwB,EAC7B,KAAK,eAAiB,KACtB,KAAK,YAAc,KACnB,KAAK,0BAA2B,EAChC,KAAK,yBAA0B,EAC3B,SACqB,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEF,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEC,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEL,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEF,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEA,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEG,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEA,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAED,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEH,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEH,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEG,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAED,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAEL,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAES,IAA7B,EAAK,qBAAkE,OAA7B,EAAK,sBACjD,KAAK,oBAAsB,EAAK,0BAEC,IAA/B,EAAK,uBAAsE,OAA/B,EAAK,wBACnD,KAAK,sBAAwB,EAAK,4BAEP,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAK,sBAED,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAK,sBAEK,IAA/B,EAAK,uBAAsE,OAA/B,EAAK,wBACnD,KAAK,sBAAwB,EAAK,4BAER,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEJ,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEY,IAAlC,EAAK,0BAA4E,OAAlC,EAAK,2BACtD,KAAK,yBAA2B,EAAK,+BAEF,IAAjC,EAAK,yBAA0E,OAAjC,EAAK,0BACrD,KAAK,wBAA0B,EAAK,yBAG1C,EACA,EAAY,UAAY,CAAC,EACzB,EAAY,UAAU,KAAO,SAAS,GAEpC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,OAAS,EAAM,WAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,OAAS,EAAM,aAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,YAAc,EAAM,aAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,YAAc,EAAM,aAEzB,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,OACvB,KAAK,cAAgB,EAAM,aAE3B,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,OACvB,KAAK,cAAgB,EAAM,aAE3B,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,IACvB,KAAK,oBAAsB,EAAM,UAEjC,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,IACvB,KAAK,sBAAwB,EAAM,UAEnC,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,IACvB,KAAK,gBAAkB,EAAM,UAE7B,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,IACvB,KAAK,gBAAkB,EAAM,UAE7B,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,KACvB,KAAK,sBAAwB,EAAM,WAEnC,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,OACvB,KAAK,eAAiB,EAAM,aAE5B,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,OACvB,KAAK,YAAc,EAAM,aAEzB,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,KACvB,KAAK,yBAA2B,EAAM,WAEtC,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,KACvB,KAAK,wBAA0B,EAAM,WAErC,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAY,UAAU,MAAQ,SAAS,GACrC,EAAO,iBAAiB,eACD,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,UAAU,KAAK,QACtB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,OAAQ,GACrD,EAAO,YAAY,KAAK,QACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,EAAO,YAAY,KAAK,aACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,EAAO,YAAY,KAAK,aACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,IACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,IACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,IACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,OAAQ,IAC5D,EAAO,YAAY,KAAK,eACxB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,OAAQ,IAC5D,EAAO,YAAY,KAAK,eACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,IACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEwB,OAA7B,KAAK,0BAA6D,IAA7B,KAAK,sBAC5C,EAAO,gBAAgB,sBAAuB,EAAO,KAAK,IAAK,IAC/D,EAAO,SAAS,KAAK,qBACrB,EAAO,iBAE0B,OAA/B,KAAK,4BAAiE,IAA/B,KAAK,wBAC9C,EAAO,gBAAgB,wBAAyB,EAAO,KAAK,IAAK,IACjE,EAAO,SAAS,KAAK,uBACrB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,IAAK,IAC3D,EAAO,SAAS,KAAK,iBACrB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,IAAK,IAC3D,EAAO,SAAS,KAAK,iBACrB,EAAO,iBAE0B,OAA/B,KAAK,4BAAiE,IAA/B,KAAK,wBAC9C,EAAO,gBAAgB,wBAAyB,EAAO,KAAK,KAAM,IAClE,EAAO,UAAU,KAAK,uBACtB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,OAAQ,IAC7D,EAAO,YAAY,KAAK,gBACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,IAC1D,EAAO,YAAY,KAAK,aACxB,EAAO,iBAE6B,OAAlC,KAAK,+BAAuE,IAAlC,KAAK,2BACjD,EAAO,gBAAgB,2BAA4B,EAAO,KAAK,KAAM,IACrE,EAAO,UAAU,KAAK,0BACtB,EAAO,iBAE4B,OAAjC,KAAK,8BAAqE,IAAjC,KAAK,0BAChD,EAAO,gBAAgB,0BAA2B,EAAO,KAAK,KAAM,IACpE,EAAO,UAAU,KAAK,yBACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,cAAgB,KACjB,QACyB,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,cAGhC,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,KACvB,KAAK,cAAgB,EAAM,WAE3B,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GACvC,EAAO,iBAAiB,iBACG,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,UAAU,KAAK,eACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,QAAU,KACf,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,QAAQ,EAAK,eAEhB,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,YAAY,EAAK,cAGrD,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,QAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,YAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GACvC,EAAO,iBAAiB,iBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,QAAU,KACf,KAAK,eAAiB,KACtB,KAAK,eAAiB,KACtB,KAAK,cAAgB,KACjB,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEM,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAED,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEF,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,eAGhC,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,eAAiB,EAAM,UAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,eAAiB,EAAM,UAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,cAAgB,EAAM,UAE3B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GACvC,EAAO,iBAAiB,iBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,IAAK,GAC1D,EAAO,SAAS,KAAK,gBACrB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,IAAK,GAC1D,EAAO,SAAS,KAAK,gBACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,IAAK,GACzD,EAAO,SAAS,KAAK,eACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,UAAY,KACjB,KAAK,WAAa,KAClB,KAAK,WAAa,KAClB,KAAK,YAAc,KACnB,KAAK,cAAgB,KACjB,SACqB,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEA,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAED,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEA,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEC,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,eAGhC,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,YAAc,EAAM,aAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,cAAgB,EAAM,aAE3B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GACvC,EAAO,iBAAiB,iBACD,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,EAAO,YAAY,KAAK,aACxB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,OAAQ,GAC5D,EAAO,YAAY,KAAK,eACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,UAAY,KACjB,KAAK,QAAU,KACf,KAAK,kBAAoB,KACzB,KAAK,WAAa,KAClB,KAAK,QAAU,KACf,KAAK,UAAY,KACjB,KAAK,uBAAyB,KAC9B,KAAK,KAAO,KACR,SACqB,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEH,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAES,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAER,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEJ,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEY,IAAhC,EAAK,wBAAwE,OAAhC,EAAK,yBACpD,KAAK,uBAAyB,EAAK,6BAEnB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,MAGvB,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,UAAY,EAAM,WAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,kBAAoB,EAAM,WAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,uBAAyB,EAAM,WAEpC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GACvC,EAAO,iBAAiB,iBACD,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,KAAM,GACtD,EAAO,UAAU,KAAK,WACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,KAAM,GAC9D,EAAO,UAAU,KAAK,mBACtB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAE2B,OAAhC,KAAK,6BAAmE,IAAhC,KAAK,yBAC/C,EAAO,gBAAgB,yBAA0B,EAAO,KAAK,KAAM,GACnE,EAAO,UAAU,KAAK,wBACtB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAS,EAAO,QAAQ,OAAS,SAAS,GAC5C,KAAK,EAAI,KACT,KAAK,EAAI,KACL,SACa,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,QAED,IAAX,EAAK,GAA8B,OAAX,EAAK,IAC/B,KAAK,EAAI,EAAK,GAGpB,EACA,EAAO,UAAY,CAAC,EACpB,EAAO,UAAU,KAAO,SAAS,GAE/B,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,EAAI,EAAM,UAEf,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,EAAI,EAAM,UAEf,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAO,UAAU,MAAQ,SAAS,GAChC,EAAO,iBAAiB,UACT,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,IAAK,GAC7C,EAAO,SAAS,KAAK,GACrB,EAAO,iBAEM,OAAX,KAAK,QAAyB,IAAX,KAAK,IAC1B,EAAO,gBAAgB,IAAK,EAAO,KAAK,IAAK,GAC7C,EAAO,SAAS,KAAK,GACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAuB,EAAO,QAAQ,qBAAuB,SAAS,GACxE,KAAK,MAAQ,KACb,KAAK,gBAAkB,KACvB,KAAK,SAAW,KAChB,KAAK,OAAS,KACd,KAAK,QAAU,KACf,KAAK,MAAQ,KACT,SACiB,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,IAAI,EAAO,OAAO,EAAK,aAET,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAK,sBAER,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,aAE9B,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAO,SAAS,EAAK,OAAQ,CAAC,aAEzB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,QAAQ,EAAK,eAEtB,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,OAGxB,EACA,EAAqB,UAAY,CAAC,EAClC,EAAqB,UAAU,KAAO,SAAS,GAE7C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,MAAQ,IAAI,EAAO,OACxB,KAAK,MAAM,KAAK,IAEhB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,gBAAkB,EAAM,aAE7B,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,OAAS,GAGd,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,OAAO,KAAK,EACnB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,QAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAqB,UAAU,MAAQ,SAAS,GAY9C,GAXA,EAAO,iBAAiB,wBACL,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,KAAK,MAAM,MAAM,GACjB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,OAAQ,GAC9D,EAAO,YAAY,KAAK,iBACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,SAAS,QAClC,KAAK,SAClB,KAAK,SAAS,eAAe,KAC/B,EAAS,KAAK,SAAS,GACvB,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,GAAoB,OAAhB,KAAK,aAAmC,IAAhB,KAAK,OAAsB,CAGrD,IAAK,IAAI,KAFT,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,OAAO,QAChC,KAAK,OAClB,KAAK,OAAO,eAAe,KAC7B,EAAS,KAAK,OAAO,GACrB,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACqB,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,MAAQ,KACb,KAAK,MAAQ,KACb,KAAK,kBAAoB,KACzB,KAAK,eAAiB,KACtB,KAAK,cAAgB,KACrB,KAAK,cAAgB,KACjB,SACiB,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAED,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEW,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAEJ,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEF,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAED,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,eAGhC,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,kBAAoB,EAAM,UAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,eAAiB,EAAM,UAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,cAAgB,EAAM,UAE3B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,cAAgB,EAAM,aAE3B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GACvC,EAAO,iBAAiB,iBACL,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,IAAK,GAC7D,EAAO,SAAS,KAAK,mBACrB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,IAAK,GAC1D,EAAO,SAAS,KAAK,gBACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,IAAK,GACzD,EAAO,SAAS,KAAK,eACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,OAAQ,GAC5D,EAAO,YAAY,KAAK,eACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAoB,EAAO,QAAQ,kBAAoB,SAAS,GAClE,KAAK,OAAS,KACd,KAAK,oBAAsB,KAC3B,KAAK,OAAS,KACd,KAAK,yBAA2B,KAChC,KAAK,yBAA2B,KAC5B,SACkB,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEY,IAA7B,EAAK,qBAAkE,OAA7B,EAAK,sBACjD,KAAK,oBAAsB,EAAK,0BAEd,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEiB,IAAlC,EAAK,0BAA4E,OAAlC,EAAK,2BACtD,KAAK,yBAA2B,EAAK,+BAED,IAAlC,EAAK,0BAA4E,OAAlC,EAAK,2BACtD,KAAK,yBAA2B,EAAK,0BAG3C,EACA,EAAkB,UAAY,CAAC,EAC/B,EAAkB,UAAU,KAAO,SAAS,GAE1C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,oBAAsB,EAAM,UAEjC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,yBAA2B,EAAM,UAEtC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,yBAA2B,EAAM,UAEtC,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAkB,UAAU,MAAQ,SAAS,GAC3C,EAAO,iBAAiB,qBACJ,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAEwB,OAA7B,KAAK,0BAA6D,IAA7B,KAAK,sBAC5C,EAAO,gBAAgB,sBAAuB,EAAO,KAAK,IAAK,GAC/D,EAAO,SAAS,KAAK,qBACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAE6B,OAAlC,KAAK,+BAAuE,IAAlC,KAAK,2BACjD,EAAO,gBAAgB,2BAA4B,EAAO,KAAK,IAAK,GACpE,EAAO,SAAS,KAAK,0BACrB,EAAO,iBAE6B,OAAlC,KAAK,+BAAuE,IAAlC,KAAK,2BACjD,EAAO,gBAAgB,2BAA4B,EAAO,KAAK,IAAK,GACpE,EAAO,SAAS,KAAK,0BACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,WAAa,KAClB,KAAK,WAAa,KAClB,KAAK,kBAAoB,KACzB,KAAK,UAAY,KACjB,KAAK,UAAY,KACjB,KAAK,SAAW,KACZ,SACsB,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAED,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEM,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAET,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAED,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEF,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,EAAO,qBAG7D,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,kBAAoB,EAAM,UAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,mBACb,KAAK,GACZ,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GA2BvC,GA1BA,EAAO,iBAAiB,iBACA,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,IAAK,GAC7D,EAAO,SAAS,KAAK,mBACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,SAAS,QACrC,KAAK,SAClB,KAAK,SAAS,eAAe,KAC/B,EAAS,KAAK,SAAS,IAChB,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAuB,EAAO,QAAQ,qBAAuB,SAAS,GACxE,KAAK,cAAgB,KACjB,QACyB,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAO,SAAS,EAAK,cAAe,CAAC,EAAO,gBAGvE,EACA,EAAqB,UAAY,CAAC,EAClC,EAAqB,UAAU,KAAO,SAAS,GAE7C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEN,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,cAAgB,GAGrB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,eACb,KAAK,GACZ,KAAK,cAAc,KAAK,EAC1B,CACA,EAAM,aACR,MACE,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAqB,UAAU,MAAQ,SAAS,GAE9C,GADA,EAAO,iBAAiB,wBACG,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,cAA6B,CAGnE,IAAK,IAAI,KAFT,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,cAAc,QAC1C,KAAK,cAClB,KAAK,cAAc,eAAe,KACpC,EAAS,KAAK,cAAc,IACrB,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAc,EAAO,QAAQ,YAAc,SAAS,GACtD,KAAK,KAAO,KACZ,KAAK,WAAa,KAClB,KAAK,UAAY,KACjB,KAAK,MAAQ,KACb,KAAK,UAAY,KACjB,KAAK,aAAe,KACpB,KAAK,QAAU,KACX,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEK,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEF,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEL,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEG,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAO,SAAS,EAAK,UAAW,CAAC,aAE1B,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEN,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,EACA,EAAY,UAAY,CAAC,EACzB,EAAY,UAAU,KAAO,SAAS,GAEpC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,MAAQ,EAAM,UAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,UAAY,GAGjB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,UAAU,KAAK,EACtB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,aAAe,EAAM,UAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAY,UAAU,MAAQ,SAAS,GAsBrC,GArBA,EAAO,iBAAiB,eACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,IAAK,GACjD,EAAO,SAAS,KAAK,OACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,UAAyB,CAG3D,IAAK,IAAI,KAFT,EAAO,gBAAgB,YAAa,EAAO,KAAK,KAAM,GACtD,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,UAAU,QACnC,KAAK,UAClB,KAAK,UAAU,eAAe,KAChC,EAAS,KAAK,UAAU,GACxB,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CAC0B,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,IAAK,GACxD,EAAO,SAAS,KAAK,cACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAkB,EAAO,QAAQ,gBAAkB,SAAS,GAC9D,KAAK,UAAY,KACjB,KAAK,UAAY,KACjB,KAAK,cAAgB,KACrB,KAAK,oBAAsB,KAC3B,KAAK,qBAAuB,KAC5B,KAAK,iBAAmB,KACpB,SACqB,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAED,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEG,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAEK,IAA7B,EAAK,qBAAkE,OAA7B,EAAK,sBACjD,KAAK,oBAAsB,EAAK,0BAEA,IAA9B,EAAK,sBAAoE,OAA9B,EAAK,uBAClD,KAAK,qBAAuB,EAAK,2BAEL,IAA1B,EAAK,kBAA4D,OAA1B,EAAK,mBAC9C,KAAK,iBAAmB,EAAO,SAAS,EAAK,iBAAkB,CAAC,EAAO,eAG7E,EACA,EAAgB,UAAY,CAAC,EAC7B,EAAgB,UAAU,KAAO,SAAS,GAExC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,cAAgB,EAAM,UAE3B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,oBAAsB,EAAM,UAEjC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,qBAAuB,EAAM,WAElC,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,iBAAmB,GAGxB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,aACb,KAAK,GACZ,KAAK,iBAAiB,KAAK,EAC7B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAgB,UAAU,MAAQ,SAAS,GA2BzC,GA1BA,EAAO,iBAAiB,mBACD,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,IAAK,GACzD,EAAO,SAAS,KAAK,eACrB,EAAO,iBAEwB,OAA7B,KAAK,0BAA6D,IAA7B,KAAK,sBAC5C,EAAO,gBAAgB,sBAAuB,EAAO,KAAK,IAAK,GAC/D,EAAO,SAAS,KAAK,qBACrB,EAAO,iBAEyB,OAA9B,KAAK,2BAA+D,IAA9B,KAAK,uBAC7C,EAAO,gBAAgB,uBAAwB,EAAO,KAAK,KAAM,GACjE,EAAO,UAAU,KAAK,sBACtB,EAAO,iBAEqB,OAA1B,KAAK,uBAAuD,IAA1B,KAAK,iBAAgC,CAGzE,IAAK,IAAI,KAFT,EAAO,gBAAgB,mBAAoB,EAAO,KAAK,KAAM,GAC7D,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,iBAAiB,QAC7C,KAAK,iBAClB,KAAK,iBAAiB,eAAe,KACvC,EAAS,KAAK,iBAAiB,IACxB,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAa,EAAO,QAAQ,WAAa,SAAS,GACpD,KAAK,WAAa,KAClB,KAAK,SAAW,KAChB,KAAK,QAAU,KACf,KAAK,cAAgB,KACrB,KAAK,YAAc,KACnB,KAAK,SAAW,KAChB,KAAK,SAAW,KAChB,KAAK,aAAe,KACpB,KAAK,UAAY,KACjB,KAAK,UAAY,KACb,SACsB,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEH,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEF,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEK,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAEH,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEJ,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAED,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEG,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEJ,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAO,SAAS,EAAK,UAAW,CAAC,EAAc,kBAE3C,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAO,SAAS,EAAK,UAAW,CAAC,QAGxD,EACA,EAAW,UAAY,CAAC,EACxB,EAAW,UAAU,KAAO,SAAS,GAEnC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,cAAgB,EAAM,WAE3B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,aAAe,EAAM,UAE1B,EAAM,KAAK,GAEb,MACA,KAAK,GACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,UAAY,GAGjB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAc,WACpB,KAAK,GACZ,KAAK,UAAU,KAAK,EACtB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,GACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,UAAY,GAGjB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,aACf,KAAK,UAAU,KAAK,EACtB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAW,UAAU,MAAQ,SAAS,GA0CpC,GAzCA,EAAO,iBAAiB,cACA,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,UAAU,KAAK,eACtB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,IAAK,GACxD,EAAO,SAAS,KAAK,cACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,UAAyB,CAG3D,IAAK,IAAI,KAFT,EAAO,gBAAgB,YAAa,EAAO,KAAK,KAAM,IACtD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,UAAU,QACtC,KAAK,UAClB,KAAK,UAAU,eAAe,KAChC,EAAS,KAAK,UAAU,IACjB,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,GAAuB,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,UAAyB,CAG3D,IAAK,IAAI,KAFT,EAAO,gBAAgB,YAAa,EAAO,KAAK,KAAM,IACtD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,UAAU,QACtC,KAAK,UAClB,KAAK,UAAU,eAAe,KAChC,EAAS,KAAK,UAAU,GACxB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,SAAW,KAChB,KAAK,cAAgB,KACrB,KAAK,UAAY,KACjB,KAAK,SAAW,KAChB,KAAK,SAAW,KAChB,KAAK,YAAc,KACnB,KAAK,aAAe,KACpB,KAAK,aAAe,KACpB,KAAK,iBAAmB,KACpB,SACoB,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAO,SAAS,EAAK,SAAU,CAAC,EAAO,oBAE9B,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAEL,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEF,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAED,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEE,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEA,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAED,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEG,IAA1B,EAAK,kBAA4D,OAA1B,EAAK,mBAC9C,KAAK,iBAAmB,EAAK,kBAGnC,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,SAAW,GAGhB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,aACb,KAAK,GACb,KAAK,SAAS,KAAK,EACrB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,cAAgB,EAAM,UAE3B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,aAAe,EAAM,aAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,aAAe,EAAM,WAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,iBAAmB,EAAM,UAE9B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GAEvC,GADA,EAAO,iBAAiB,iBACF,OAAlB,KAAK,eAAuC,IAAlB,KAAK,SAAwB,CAGzD,IAAK,IAAI,KAFT,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,SAAS,QACpC,KAAK,SACnB,KAAK,SAAS,eAAe,KAC/B,EAAU,KAAK,SAAS,IAChB,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CAC2B,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,IAAK,GACzD,EAAO,SAAS,KAAK,eACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,OAAQ,GAC3D,EAAO,YAAY,KAAK,cACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,KAAM,GACzD,EAAO,UAAU,KAAK,cACtB,EAAO,iBAEqB,OAA1B,KAAK,uBAAuD,IAA1B,KAAK,mBACzC,EAAO,gBAAgB,mBAAoB,EAAO,KAAK,IAAK,GAC5D,EAAO,SAAS,KAAK,kBACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAe,EAAO,QAAQ,aAAe,SAAS,GACxD,KAAK,KAAO,KACZ,KAAK,OAAS,KACd,KAAK,SAAW,KAChB,KAAK,UAAY,KACjB,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,OAAS,KACd,KAAK,OAAS,KACd,KAAK,OAAS,KACV,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEC,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEC,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEA,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEH,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEF,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAED,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAED,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,QAGzB,EACA,EAAa,UAAY,CAAC,EAC1B,EAAa,UAAU,KAAO,SAAS,GAErC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,UAAY,EAAM,WAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,OAAS,EAAM,aAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,OAAS,EAAM,aAEpB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAa,UAAU,MAAQ,SAAS,GACtC,EAAO,iBAAiB,gBACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,KAAM,GACtD,EAAO,UAAU,KAAK,WACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,OAAQ,GACrD,EAAO,YAAY,KAAK,QACxB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,OAAQ,GACrD,EAAO,YAAY,KAAK,QACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAwB,EAAO,QAAQ,sBAAwB,SAAS,GAC1E,KAAK,QAAU,KACf,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEG,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,aAG9B,EACA,EAAsB,UAAY,CAAC,EACnC,EAAsB,UAAU,KAAO,SAAS,GAE9C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAsB,UAAU,MAAQ,SAAS,GAC/C,EAAO,iBAAiB,yBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAmB,EAAO,QAAQ,iBAAmB,SAAS,GAChE,KAAK,SAAW,KAChB,KAAK,YAAc,KACnB,KAAK,YAAc,KACf,SACoB,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEE,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAED,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,aAG9B,EACA,EAAiB,UAAY,CAAC,EAC9B,EAAiB,UAAU,KAAO,SAAS,GAEzC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAiB,UAAU,MAAQ,SAAS,GAC1C,EAAO,iBAAiB,oBACF,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,GAAK,KACV,KAAK,cAAgB,KACrB,KAAK,uBAAyB,KAC9B,KAAK,kBAAoB,KACzB,KAAK,kBAAoB,KACrB,SACc,IAAZ,EAAK,IAAgC,OAAZ,EAAK,KAChC,KAAK,GAAK,EAAK,SAEU,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAO,SAAS,EAAK,cAAe,CAAC,EAAO,qBAE/B,IAAhC,EAAK,wBAAwE,OAAhC,EAAK,yBACpD,KAAK,uBAAyB,EAAO,SAAS,EAAK,uBAAwB,CAAC,EAAO,8BAEtD,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAO,SAAS,EAAK,kBAAmB,CAAC,EAAO,yBAE5C,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,mBAGpC,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,GAAK,EAAM,UAEhB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,cAAgB,GAGrB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,cACb,KAAK,GACb,KAAK,cAAc,KAAK,EAC1B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,uBAAyB,GAG9B,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,uBACb,KAAK,GACb,KAAK,uBAAuB,KAAK,EACnC,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,kBAAoB,GAGzB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,kBACb,KAAK,GACb,KAAK,kBAAkB,KAAK,EAC9B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,kBAAoB,EAAM,aAE/B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GAOvC,GANA,EAAO,iBAAiB,iBACR,OAAZ,KAAK,SAA2B,IAAZ,KAAK,KAC3B,EAAO,gBAAgB,KAAM,EAAO,KAAK,IAAK,GAC9C,EAAO,SAAS,KAAK,IACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,cAA6B,CAGnE,IAAK,IAAI,KAFT,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,cAAc,QACzC,KAAK,cACnB,KAAK,cAAc,eAAe,KACpC,EAAU,KAAK,cAAc,IACrB,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,GAAoC,OAAhC,KAAK,6BAAmE,IAAhC,KAAK,uBAAsC,CAGrF,IAAK,IAAI,KAFT,EAAO,gBAAgB,yBAA0B,EAAO,KAAK,KAAM,GACnE,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,uBAAuB,QAClD,KAAK,uBACnB,KAAK,uBAAuB,eAAe,KAC7C,EAAU,KAAK,uBAAuB,IAC9B,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,GAA+B,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,kBAAiC,CAG3E,IAAK,IAAI,KAFT,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,KAAM,GAC9D,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,kBAAkB,QAC7C,KAAK,kBACnB,KAAK,kBAAkB,eAAe,KACxC,EAAU,KAAK,kBAAkB,IACzB,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CAC+B,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,OAAQ,GAChE,EAAO,YAAY,KAAK,mBACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAU,EAAO,QAAQ,QAAU,SAAS,GAC9C,KAAK,QAAU,KACf,KAAK,QAAU,KACX,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,EACA,EAAQ,UAAY,CAAC,EACrB,EAAQ,UAAU,KAAO,SAAS,GAEhC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAQ,UAAU,MAAQ,SAAS,GACjC,EAAO,iBAAiB,WACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,eAAiB,KACtB,KAAK,aAAe,KAChB,SAC0B,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEH,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAO,SAAS,EAAK,aAAc,CAAC,EAAO,WAGrE,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,eAAiB,EAAM,aAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,aAAe,GAGpB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,SACb,KAAK,GACb,KAAK,aAAa,KAAK,EACzB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GAOvC,GANA,EAAO,iBAAiB,iBACI,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,OAAQ,GAC7D,EAAO,YAAY,KAAK,gBACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,aAA4B,CAGjE,IAAK,IAAI,KAFT,EAAO,gBAAgB,eAAgB,EAAO,KAAK,KAAM,GACzD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,aAAa,QACxC,KAAK,aACnB,KAAK,aAAa,eAAe,KACnC,EAAU,KAAK,aAAa,IACpB,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAc,EAAO,QAAQ,YAAc,SAAS,GACtD,KAAK,MAAQ,KACb,KAAK,SAAW,KAChB,KAAK,WAAa,KAClB,KAAK,KAAO,KACZ,KAAK,SAAW,KACZ,SACiB,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEE,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEC,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAO,SAAS,EAAK,WAAY,CAAC,aAEpC,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAO,SAAS,EAAK,KAAM,CAAC,EAAO,sBAE3B,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,EACA,EAAY,UAAY,CAAC,EACzB,EAAY,UAAU,KAAO,SAAS,GAEpC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,MAAQ,EAAM,UAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,WAAa,GAGlB,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,UAChB,KAAK,WAAW,KAAK,EACvB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,KAAO,GAGZ,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,eACb,KAAK,GACb,KAAK,KAAK,KAAK,EACjB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAY,UAAU,MAAQ,SAAS,GAYrC,GAXA,EAAO,iBAAiB,eACL,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,IAAK,GACjD,EAAO,SAAS,KAAK,OACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,WAA0B,CAG7D,IAAK,IAAI,KAFT,EAAO,gBAAgB,aAAc,EAAO,KAAK,KAAM,GACvD,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,WAAW,QACnC,KAAK,WACnB,KAAK,WAAW,eAAe,KACjC,EAAU,KAAK,WAAW,GAC1B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,GAAkB,OAAd,KAAK,WAA+B,IAAd,KAAK,KAAoB,CAGjD,IAAK,IAAI,KAFT,EAAO,gBAAgB,OAAQ,EAAO,KAAK,KAAM,GACjD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,KAAK,QAChC,KAAK,KACnB,KAAK,KAAK,eAAe,KAC3B,EAAU,KAAK,KAAK,IACZ,MAAM,GAGlB,EAAO,eACP,EAAO,eACT,CACsB,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAsB,EAAO,QAAQ,oBAAsB,SAAS,GACtE,KAAK,GAAK,KACN,QACc,IAAZ,EAAK,IAAgC,OAAZ,EAAK,KAChC,KAAK,GAAK,EAAK,GAGrB,EACA,EAAoB,UAAY,CAAC,EACjC,EAAoB,UAAU,KAAO,SAAS,GAE5C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEF,GAAS,EAAO,KAAK,IACvB,KAAK,GAAK,EAAM,UAEhB,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAoB,UAAU,MAAQ,SAAS,GAC7C,EAAO,iBAAiB,uBACR,OAAZ,KAAK,SAA2B,IAAZ,KAAK,KAC3B,EAAO,gBAAgB,KAAM,EAAO,KAAK,IAAK,GAC9C,EAAO,SAAS,KAAK,IACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAqB,EAAO,QAAQ,mBAAqB,SAAS,GACpE,KAAK,WAAa,KAClB,KAAK,QAAU,KACf,KAAK,kBAAoB,KACzB,KAAK,eAAiB,KACtB,KAAK,cAAgB,KACjB,SACsB,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEJ,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAES,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAEJ,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEF,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,eAGhC,EACA,EAAmB,UAAY,CAAC,EAChC,EAAmB,UAAU,KAAO,SAAS,GAE3C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,kBAAoB,EAAM,UAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,eAAiB,EAAM,UAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,cAAgB,EAAM,UAE3B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAmB,UAAU,MAAQ,SAAS,GAC5C,EAAO,iBAAiB,sBACA,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,IAAK,GAC7D,EAAO,SAAS,KAAK,mBACrB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,IAAK,GAC1D,EAAO,SAAS,KAAK,gBACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,IAAK,GACzD,EAAO,SAAS,KAAK,eACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA2B,EAAO,QAAQ,yBAA2B,SAAS,GAChF,KAAK,mBAAqB,KAC1B,KAAK,kBAAoB,KACzB,KAAK,OAAS,KACd,KAAK,UAAY,KACjB,KAAK,UAAY,KACjB,KAAK,UAAY,KACjB,KAAK,WAAa,KAClB,KAAK,YAAc,KACf,SAC8B,IAA5B,EAAK,oBAAgE,OAA5B,EAAK,qBAChD,KAAK,mBAAqB,EAAK,yBAEF,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAEZ,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEE,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAED,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAED,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEA,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEA,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,aAG9B,EACA,EAAyB,UAAY,CAAC,EACtC,EAAyB,UAAU,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,mBAAqB,EAAM,UAEhC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,kBAAoB,EAAM,UAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,OAAS,EAAM,aAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,UAAY,EAAM,aAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAyB,UAAU,MAAQ,SAAS,GAClD,EAAO,iBAAiB,4BACQ,OAA5B,KAAK,yBAA2D,IAA5B,KAAK,qBAC3C,EAAO,gBAAgB,qBAAsB,EAAO,KAAK,IAAK,GAC9D,EAAO,SAAS,KAAK,oBACrB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,IAAK,GAC7D,EAAO,SAAS,KAAK,mBACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,OAAQ,GACrD,EAAO,YAAY,KAAK,QACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,OAAQ,GACxD,EAAO,YAAY,KAAK,WACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAgB,EAAO,QAAQ,cAAgB,SAAS,GAC1D,KAAK,MAAQ,KACb,KAAK,OAAS,KACd,KAAK,gBAAkB,KACnB,SACiB,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEA,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEQ,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAO,QAAQ,EAAK,gBAAiB,CAAC,EAAO,4BAG1E,EACA,EAAc,UAAY,CAAC,EAC3B,EAAc,UAAU,KAAO,SAAS,GAEtC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,MAAQ,EAAM,UAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,IAAK,CAC5B,KAAK,gBAAkB,CAAC,EAGxB,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,WACf,EAAS,IAAI,EAAO,0BACb,KAAK,GACZ,KAAK,gBAAgB,GAAU,CACjC,CACA,EAAM,YACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAc,UAAU,MAAQ,SAAS,GAYvC,GAXA,EAAO,iBAAiB,iBACL,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,IAAK,GACjD,EAAO,SAAS,KAAK,OACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,gBAA+B,CAGvE,IAAK,IAAI,KAFT,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,IAAK,GAC3D,EAAO,cAAc,EAAO,KAAK,IAAK,EAAO,KAAK,OAAQ,EAAO,aAAa,KAAK,kBAC9D,KAAK,gBACxB,GAAI,KAAK,gBAAgB,eAAe,GAAW,CACjD,IAAI,EAAW,KAAK,gBAAgB,GACpC,EAAO,SAAS,GAChB,EAAS,MAAM,EACjB,CAEF,EAAO,cACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAe,EAAO,QAAQ,aAAe,SAAS,GACxD,KAAK,KAAO,KACZ,KAAK,IAAM,KACX,KAAK,MAAQ,KACT,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEF,IAAb,EAAK,KAAkC,OAAb,EAAK,MACjC,KAAK,IAAM,EAAK,UAEC,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,OAGxB,EACA,EAAa,UAAY,CAAC,EAC1B,EAAa,UAAU,KAAO,SAAS,GAErC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,IAAM,EAAM,UAEjB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,MAAQ,EAAM,aAEnB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAa,UAAU,MAAQ,SAAS,GACtC,EAAO,iBAAiB,gBACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAEQ,OAAb,KAAK,UAA6B,IAAb,KAAK,MAC5B,EAAO,gBAAgB,MAAO,EAAO,KAAK,IAAK,GAC/C,EAAO,SAAS,KAAK,KACrB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,OAAQ,GACpD,EAAO,YAAY,KAAK,OACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAoB,EAAO,QAAQ,kBAAoB,SAAS,GAClE,KAAK,WAAa,KAClB,KAAK,eAAiB,KACtB,KAAK,kBAAoB,KACzB,KAAK,eAAiB,KACtB,KAAK,cAAgB,KACjB,SACsB,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAO,QAAQ,EAAK,WAAY,CAAC,EAAO,QAAS,EAAO,QAAS,EAAO,QAAS,EAAO,SAAU,EAAO,qBAEjG,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,IAAI,EAAO,cAAc,EAAK,sBAEvB,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAEJ,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEF,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,eAGhC,EACA,EAAkB,UAAY,CAAC,EAC/B,EAAkB,UAAU,KAAO,SAAS,GAE1C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,IAAK,CAC5B,KAAK,WAAa,CAAC,EAGnB,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,aACf,EAAS,CAAC,EAGV,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,aACf,EAAS,CAAC,EAGV,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,aACf,EAAS,CAAC,EAGV,IAFA,IACI,EADY,EAAM,eACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACA,EAAS,KACb,EAAS,EAAM,aACf,EAAS,GAGT,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EAAU,MACd,EAAU,IAAI,EAAO,cACb,KAAK,GACb,EAAO,KAAK,EACd,CACA,EAAM,cACN,EAAO,GAAU,CACnB,CACA,EAAM,aACN,EAAO,GAAU,CACnB,CACA,EAAM,aACN,EAAO,GAAU,CACnB,CACA,EAAM,aACN,KAAK,WAAW,GAAU,CAC5B,CACA,EAAM,YACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,eAAiB,IAAI,EAAO,cACjC,KAAK,eAAe,KAAK,IAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,kBAAoB,EAAM,UAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,eAAiB,EAAM,UAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,cAAgB,EAAM,UAE3B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAkB,UAAU,MAAQ,SAAS,GAE3C,GADA,EAAO,iBAAiB,qBACA,OAApB,KAAK,iBAA2C,IAApB,KAAK,WAA0B,CAG7D,IAAK,IAAI,KAFT,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,IAAK,EAAO,aAAa,KAAK,aAC9D,KAAK,WACxB,GAAI,KAAK,WAAW,eAAe,GAAW,CAC5C,IAAI,EAAW,KAAK,WAAW,GAG/B,IAAK,IAAI,KAFT,EAAO,YAAY,GACnB,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,IAAK,EAAO,aAAa,IACzD,EACnB,GAAI,EAAS,eAAe,GAAW,CACrC,IAAI,EAAW,EAAS,GAGxB,IAAK,IAAI,KAFT,EAAO,YAAY,GACnB,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,IAAK,EAAO,aAAa,IACzD,EACnB,GAAI,EAAS,eAAe,GAAW,CACrC,IAAI,EAAW,EAAS,GAGxB,IAAK,IAAI,KAFT,EAAO,YAAY,GACnB,EAAO,cAAc,EAAO,KAAK,OAAQ,EAAO,KAAK,KAAM,EAAO,aAAa,IAC1D,EACnB,GAAI,EAAS,eAAe,GAAW,CACrC,IAAI,EAAW,EAAS,GAGxB,IAAK,IAAI,KAFT,EAAO,YAAY,GACnB,EAAO,eAAe,EAAO,KAAK,OAAQ,EAAS,QAC/B,EACd,EAAS,eAAe,KAC1B,EAAU,EAAS,IACX,MAAM,GAGlB,EAAO,cACT,CAEF,EAAO,aACT,CAEF,EAAO,aACT,CAEF,EAAO,aACT,CAEF,EAAO,cACP,EAAO,eACT,CAC4B,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,OAAQ,GAC7D,KAAK,eAAe,MAAM,GAC1B,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,IAAK,GAC7D,EAAO,SAAS,KAAK,mBACrB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,IAAK,GAC1D,EAAO,SAAS,KAAK,gBACrB,EAAO,iBAEkB,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,IAAK,GACzD,EAAO,SAAS,KAAK,eACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAuB,EAAO,QAAQ,qBAAuB,SAAS,GACxE,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,iBAAmB,KACxB,KAAK,QAAU,KACX,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEQ,IAA1B,EAAK,kBAA4D,OAA1B,EAAK,mBAC9C,KAAK,iBAAmB,EAAK,uBAEV,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,EACA,EAAqB,UAAY,CAAC,EAClC,EAAqB,UAAU,KAAO,SAAS,GAE7C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,iBAAmB,EAAM,WAE9B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAqB,UAAU,MAAQ,SAAS,GAC9C,EAAO,iBAAiB,wBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEqB,OAA1B,KAAK,uBAAuD,IAA1B,KAAK,mBACzC,EAAO,gBAAgB,mBAAoB,EAAO,KAAK,KAAM,GAC7D,EAAO,UAAU,KAAK,kBACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAoB,EAAO,QAAQ,kBAAoB,SAAS,GAClE,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,UAAY,KACjB,KAAK,OAAS,KACV,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEC,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEC,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEJ,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,QAGzB,EACA,EAAkB,UAAY,CAAC,EAC/B,EAAkB,UAAU,KAAO,SAAS,GAE1C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,MAAQ,EAAM,WAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,UAAY,EAAM,WAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,OAAS,EAAM,WAEpB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAkB,UAAU,MAAQ,SAAS,GAC3C,EAAO,iBAAiB,qBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,KAAM,GAClD,EAAO,UAAU,KAAK,OACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEc,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,KAAM,GACtD,EAAO,UAAU,KAAK,WACtB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,UAAU,KAAK,QACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAwB,EAAO,QAAQ,sBAAwB,SAAS,GAC1E,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,MAAQ,KACT,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAED,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,OAGxB,EACA,GAAsB,UAAY,CAAC,EACnC,GAAsB,UAAU,KAAO,SAAS,GAE9C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,MAAQ,EAAM,WAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,MAAQ,EAAM,WAEnB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAsB,UAAU,MAAQ,SAAS,GAC/C,EAAO,iBAAiB,yBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,KAAM,GAClD,EAAO,UAAU,KAAK,OACtB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,KAAM,GAClD,EAAO,UAAU,KAAK,OACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAmB,EAAO,QAAQ,iBAAmB,SAAS,GAChE,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,QAAU,KACX,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEC,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,EACA,GAAiB,UAAY,CAAC,EAC9B,GAAiB,UAAU,KAAO,SAAS,GAEzC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,MAAQ,EAAM,WAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAiB,UAAU,MAAQ,SAAS,GAC1C,EAAO,iBAAiB,oBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,KAAM,GAClD,EAAO,UAAU,KAAK,OACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAqB,EAAO,QAAQ,mBAAqB,SAAS,GACpE,KAAK,QAAU,KACf,KAAK,MAAQ,KACb,KAAK,OAAS,KACV,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEH,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAK,YAEA,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,QAGzB,EACA,GAAmB,UAAY,CAAC,EAChC,GAAmB,UAAU,KAAO,SAAS,GAE3C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,MAAQ,EAAM,WAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,OAAS,EAAM,WAEpB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAmB,UAAU,MAAQ,SAAS,GAC5C,EAAO,iBAAiB,sBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,QAC9B,EAAO,gBAAgB,QAAS,EAAO,KAAK,KAAM,GAClD,EAAO,UAAU,KAAK,OACtB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,UAAU,KAAK,QACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAuB,EAAO,QAAQ,qBAAuB,SAAS,GACxE,KAAK,sBAAwB,KAC7B,KAAK,mBAAqB,KAC1B,KAAK,uBAAyB,KAC9B,KAAK,kBAAoB,KACzB,KAAK,oBAAsB,KACvB,SACiC,IAA/B,EAAK,uBAAsE,OAA/B,EAAK,wBACnD,KAAK,sBAAwB,IAAI,EAAO,qBAAqB,EAAK,6BAEpC,IAA5B,EAAK,oBAAgE,OAA5B,EAAK,qBAChD,KAAK,mBAAqB,IAAI,EAAO,kBAAkB,EAAK,0BAE1B,IAAhC,EAAK,wBAAwE,OAAhC,EAAK,yBACpD,KAAK,uBAAyB,IAAI,EAAO,sBAAsB,EAAK,8BAEvC,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,IAAI,EAAO,iBAAiB,EAAK,yBAE3B,IAA7B,EAAK,qBAAkE,OAA7B,EAAK,sBACjD,KAAK,oBAAsB,IAAI,EAAO,mBAAmB,EAAK,sBAGpE,EACA,GAAqB,UAAY,CAAC,EAClC,GAAqB,UAAU,KAAO,SAAS,GAE7C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,sBAAwB,IAAI,EAAO,qBACxC,KAAK,sBAAsB,KAAK,IAEhC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,mBAAqB,IAAI,EAAO,kBACrC,KAAK,mBAAmB,KAAK,IAE7B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,uBAAyB,IAAI,EAAO,sBACzC,KAAK,uBAAuB,KAAK,IAEjC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,kBAAoB,IAAI,EAAO,iBACpC,KAAK,kBAAkB,KAAK,IAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,oBAAsB,IAAI,EAAO,mBACtC,KAAK,oBAAoB,KAAK,IAE9B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAqB,UAAU,MAAQ,SAAS,GAC9C,EAAO,iBAAiB,wBACW,OAA/B,KAAK,4BAAiE,IAA/B,KAAK,wBAC9C,EAAO,gBAAgB,wBAAyB,EAAO,KAAK,OAAQ,GACpE,KAAK,sBAAsB,MAAM,GACjC,EAAO,iBAEuB,OAA5B,KAAK,yBAA2D,IAA5B,KAAK,qBAC3C,EAAO,gBAAgB,qBAAsB,EAAO,KAAK,OAAQ,GACjE,KAAK,mBAAmB,MAAM,GAC9B,EAAO,iBAE2B,OAAhC,KAAK,6BAAmE,IAAhC,KAAK,yBAC/C,EAAO,gBAAgB,yBAA0B,EAAO,KAAK,OAAQ,GACrE,KAAK,uBAAuB,MAAM,GAClC,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,OAAQ,GAChE,KAAK,kBAAkB,MAAM,GAC7B,EAAO,iBAEwB,OAA7B,KAAK,0BAA6D,IAA7B,KAAK,sBAC5C,EAAO,gBAAgB,sBAAuB,EAAO,KAAK,OAAQ,GAClE,KAAK,oBAAoB,MAAM,GAC/B,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAY,EAAO,QAAQ,UAAY,SAAS,GAClD,KAAK,WAAa,KAClB,KAAK,WAAa,KAClB,KAAK,MAAQ,KACb,KAAK,QAAU,KACf,KAAK,oBAAsB,KACvB,SACsB,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAED,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEN,IAAf,EAAK,OAAsC,OAAf,EAAK,QACnC,KAAK,MAAQ,EAAO,SAAS,EAAK,MAAO,CAAC,aAEvB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEW,IAA7B,EAAK,qBAAkE,OAA7B,EAAK,sBACjD,KAAK,oBAAsB,EAAK,qBAGtC,EACA,GAAU,UAAY,CAAC,EACvB,GAAU,UAAU,KAAO,SAAS,GAElC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,MAAQ,GAGb,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,WAChB,KAAK,MAAM,KAAK,EAClB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,QAAU,EAAM,aAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,oBAAsB,EAAM,UAEjC,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAU,UAAU,MAAQ,SAAS,GAYnC,GAXA,EAAO,iBAAiB,aACA,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEU,OAAf,KAAK,YAAiC,IAAf,KAAK,MAAqB,CAGnD,IAAK,IAAI,KAFT,EAAO,gBAAgB,QAAS,EAAO,KAAK,KAAM,GAClD,EAAO,eAAe,EAAO,KAAK,KAAM,KAAK,MAAM,QAC/B,KAAK,MACnB,KAAK,MAAM,eAAe,KAC5B,EAAU,KAAK,MAAM,GACrB,EAAO,UAAU,IAGrB,EAAO,eACP,EAAO,eACT,CACqB,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,EAAO,YAAY,KAAK,SACxB,EAAO,iBAEwB,OAA7B,KAAK,0BAA6D,IAA7B,KAAK,sBAC5C,EAAO,gBAAgB,sBAAuB,EAAO,KAAK,IAAK,GAC/D,EAAO,SAAS,KAAK,qBACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAqB,EAAO,QAAQ,mBAAqB,SAAS,GACpE,KAAK,KAAO,KACZ,KAAK,QAAU,KACf,KAAK,YAAc,KACf,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEE,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEG,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,IAAI,EAAO,sBAAsB,EAAK,cAG/D,EACA,GAAmB,UAAY,CAAC,EAChC,GAAmB,UAAU,KAAO,SAAS,GAE3C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,KAAO,EAAM,aAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,YAAc,IAAI,EAAO,sBAC9B,KAAK,YAAY,KAAK,IAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAmB,UAAU,MAAQ,SAAS,GAC5C,EAAO,iBAAiB,sBACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,OAAQ,GACnD,EAAO,YAAY,KAAK,MACxB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,KAAK,YAAY,MAAM,GACvB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAa,EAAO,QAAQ,WAAa,SAAS,GACpD,KAAK,eAAiB,KACtB,KAAK,gBAAkB,KACvB,KAAK,WAAa,KAClB,KAAK,YAAc,KACnB,KAAK,mBAAqB,KAC1B,KAAK,aAAe,KACpB,KAAK,gBAAkB,KACvB,KAAK,eAAiB,KACtB,KAAK,sBAAwB,KACzB,SAC0B,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEA,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAK,sBAEN,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEA,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEM,IAA5B,EAAK,oBAAgE,OAA5B,EAAK,qBAChD,KAAK,mBAAqB,EAAK,yBAEP,IAAtB,EAAK,cAAoD,OAAtB,EAAK,eAC1C,KAAK,aAAe,EAAK,mBAEE,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAK,sBAEF,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEM,IAA/B,EAAK,uBAAsE,OAA/B,EAAK,wBACnD,KAAK,sBAAwB,IAAI,EAAO,sBAAsB,EAAK,wBAGzE,EACA,GAAW,UAAY,CAAC,EACxB,GAAW,UAAU,KAAO,SAAS,GAEnC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,eAAiB,EAAM,aAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,gBAAkB,EAAM,aAE7B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,WAAa,EAAM,aAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,YAAc,EAAM,aAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,mBAAqB,EAAM,aAEhC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,aAAe,EAAM,UAE1B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,gBAAkB,EAAM,aAE7B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,eAAiB,EAAM,WAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,sBAAwB,IAAI,EAAO,sBACxC,KAAK,sBAAsB,KAAK,IAEhC,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAW,UAAU,MAAQ,SAAS,GACpC,EAAO,iBAAiB,cACI,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,OAAQ,GAC7D,EAAO,YAAY,KAAK,gBACxB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,OAAQ,GAC9D,EAAO,YAAY,KAAK,iBACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,EAAO,YAAY,KAAK,YACxB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,GAC1D,EAAO,YAAY,KAAK,aACxB,EAAO,iBAEuB,OAA5B,KAAK,yBAA2D,IAA5B,KAAK,qBAC3C,EAAO,gBAAgB,qBAAsB,EAAO,KAAK,OAAQ,GACjE,EAAO,YAAY,KAAK,oBACxB,EAAO,iBAEiB,OAAtB,KAAK,mBAA+C,IAAtB,KAAK,eACrC,EAAO,gBAAgB,eAAgB,EAAO,KAAK,IAAK,GACxD,EAAO,SAAS,KAAK,cACrB,EAAO,iBAEoB,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,kBACxC,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,OAAQ,GAC9D,EAAO,YAAY,KAAK,iBACxB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,KAAM,GAC3D,EAAO,UAAU,KAAK,gBACtB,EAAO,iBAE0B,OAA/B,KAAK,4BAAiE,IAA/B,KAAK,wBAC9C,EAAO,gBAAgB,wBAAyB,EAAO,KAAK,OAAQ,GACpE,KAAK,sBAAsB,MAAM,GACjC,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAe,EAAO,QAAQ,aAAe,SAAS,GACxD,KAAK,OAAS,KACV,QACkB,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAO,SAAS,EAAK,OAAQ,CAAC,OAGlD,EACA,GAAa,UAAY,CAAC,EAC1B,GAAa,UAAU,KAAO,SAAS,GAErC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,GACO,IADC,EAEN,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,OAAS,GAGd,IAFA,IACI,EADY,EAAM,gBACG,MAAQ,EACxB,EAAQ,EAAG,EAAQ,IAAY,EAAO,CAC7C,IAAI,EACJ,EAAU,EAAM,aAChB,KAAK,OAAO,KAAK,EACnB,CACA,EAAM,aACR,MACE,EAAM,KAAK,QAOX,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAa,UAAU,MAAQ,SAAS,GAEtC,GADA,EAAO,iBAAiB,gBACJ,OAAhB,KAAK,aAAmC,IAAhB,KAAK,OAAsB,CAGrD,IAAK,IAAI,KAFT,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,OAAO,QAClC,KAAK,OACnB,KAAK,OAAO,eAAe,KAC7B,EAAU,KAAK,OAAO,GACtB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAe,EAAO,QAAQ,aAAe,SAAS,GACxD,KAAK,KAAO,KACZ,KAAK,SAAW,KAChB,KAAK,WAAa,KAClB,KAAK,SAAW,KACZ,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEG,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEC,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEH,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,EACA,GAAa,UAAY,CAAC,EAC1B,GAAa,UAAU,KAAO,SAAS,GAErC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,KAAO,EAAM,aAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,SAAW,EAAM,aAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,SAAW,EAAM,WAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAa,UAAU,MAAQ,SAAS,GACtC,EAAO,iBAAiB,gBACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,OAAQ,GACnD,EAAO,YAAY,KAAK,MACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,EAAO,YAAY,KAAK,UACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,KAAM,GACrD,EAAO,UAAU,KAAK,UACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAoB,EAAO,QAAQ,kBAAoB,SAAS,GAClE,KAAK,KAAO,KACZ,KAAK,SAAW,KACZ,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEG,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,UAG3B,EACA,GAAkB,UAAY,CAAC,EAC/B,GAAkB,UAAU,KAAO,SAAS,GAE1C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,KAAO,EAAM,aAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAkB,UAAU,MAAQ,SAAS,GAC3C,EAAO,iBAAiB,qBACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,OAAQ,GACnD,EAAO,YAAY,KAAK,MACxB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,GAAkB,EAAO,QAAQ,gBAAkB,SAAS,GAC9D,KAAK,SAAW,KAChB,KAAK,YAAc,KACnB,KAAK,WAAa,KACd,SACoB,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,EAAK,eAEE,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEF,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,YAG7B,EACA,GAAgB,UAAY,CAAC,EAC7B,GAAgB,UAAU,KAAO,SAAS,GAExC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,SAAW,EAAM,UAEtB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,GAAgB,UAAU,MAAQ,SAAS,GACzC,EAAO,iBAAiB,mBACF,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,IAAK,GACpD,EAAO,SAAS,KAAK,UACrB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,CAIO,EAED,IACA,CAAE,EAAQ,EAA0B,KAE1C,aASA,IAAI,EAAS,EAAoB,MAC7B,EAAS,EAAO,OAIhB,GAHI,EAAO,EACH,EAAoB,KAEZ,EAAoB,MAGpC,EAAS,EAAO,QAAU,CAAC,EAC/B,EAAO,iBAAmB,CACxB,mBAAuB,EACvB,oBAAwB,EACxB,WAAe,EACf,oBAAwB,GAE1B,EAAO,uBAAyB,CAC9B,QAAY,EACZ,OAAW,EACX,OAAW,GAEb,EAAO,SAAW,CAChB,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,MAAU,EACV,sBAA0B,EAC1B,OAAW,EACX,aAAiB,GAEnB,IAAI,EAAY,EAAO,QAAQ,UAAY,SAAS,GAClD,KAAK,OAAS,KACd,KAAK,QAAU,KACX,SACkB,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEA,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,SAG1B,EACA,EAAU,UAAY,CAAC,EACvB,EAAU,UAAU,KAAO,SAAS,GAElC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAU,UAAU,MAAQ,SAAS,GACnC,EAAO,iBAAiB,aACJ,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAkB,EAAO,QAAQ,gBAAkB,SAAS,GAC9D,KAAK,WAAa,KAClB,KAAK,gBAAkB,KACnB,SACsB,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAO,SAAS,EAAK,WAAY,CAAC,EAAO,kBAEhC,IAAzB,EAAK,iBAA0D,OAAzB,EAAK,kBAC7C,KAAK,gBAAkB,EAAO,SAAS,EAAK,gBAAiB,CAAC,EAAO,SAAU,QAGrF,EACA,EAAgB,UAAY,CAAC,EAC7B,EAAgB,UAAU,KAAO,SAAS,GAExC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,WAAa,GAGlB,IAFA,IACI,EADU,EAAM,gBACC,MAAQ,EACpB,EAAM,EAAG,EAAM,IAAU,EAAK,CACrC,IAAI,EAAQ,MACZ,EAAQ,IAAI,EAAO,WACb,KAAK,GACX,KAAK,WAAW,KAAK,EACvB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,gBAAkB,GAGvB,IAFA,IACI,EADU,EAAM,gBACC,MAAQ,EACpB,EAAM,EAAG,EAAM,IAAU,EAAK,CACrC,IAAI,EAAQ,KACZ,EAAQ,GAGR,IAFA,IACI,EADU,EAAM,gBACC,MAAQ,EACpB,EAAO,EAAG,EAAO,IAAU,EAAM,CACxC,IAAI,EACJ,EAAS,EAAM,UACf,EAAM,KAAK,EACb,CACA,EAAM,cACN,KAAK,gBAAgB,KAAK,EAC5B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAgB,UAAU,MAAQ,SAAS,GAEzC,GADA,EAAO,iBAAiB,mBACA,OAApB,KAAK,iBAA2C,IAApB,KAAK,WAA0B,CAG7D,IAAK,IAAI,KAFT,EAAO,gBAAgB,aAAc,EAAO,KAAK,KAAM,GACvD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,WAAW,QACvC,KAAK,WAClB,KAAK,WAAW,eAAe,KACjC,EAAS,KAAK,WAAW,IAClB,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,GAA6B,OAAzB,KAAK,sBAAqD,IAAzB,KAAK,gBAA+B,CAGvE,IAAK,IAAI,KAFT,EAAO,gBAAgB,kBAAmB,EAAO,KAAK,KAAM,GAC5D,EAAO,eAAe,EAAO,KAAK,KAAM,KAAK,gBAAgB,QAC1C,KAAK,gBACtB,GAAI,KAAK,gBAAgB,eAAe,GAAS,CAG/C,IAAK,IAAI,KAFT,EAAS,KAAK,gBAAgB,GAC9B,EAAO,eAAe,EAAO,KAAK,IAAK,EAAO,QAC3B,EACb,EAAO,eAAe,KACxB,EAAS,EAAO,GAChB,EAAO,SAAS,IAGpB,EAAO,cACT,CAEF,EAAO,eACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA2B,EAAO,QAAQ,yBAA2B,SAAS,GAChF,KAAK,UAAY,KACjB,KAAK,QAAU,KACf,KAAK,eAAiB,KACtB,KAAK,YAAc,KACnB,KAAK,YAAc,KACnB,KAAK,iBAAmB,KACpB,SACqB,IAAnB,EAAK,WAA8C,OAAnB,EAAK,YACvC,KAAK,UAAY,EAAK,gBAEH,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEM,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAK,qBAEJ,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAED,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEI,IAA1B,EAAK,kBAA4D,OAA1B,EAAK,mBAC9C,KAAK,iBAAmB,EAAK,kBAGnC,EACA,EAAyB,UAAY,CAAC,EACtC,EAAyB,UAAU,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,UAAY,EAAM,UAEvB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,eAAiB,EAAM,UAE5B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,YAAc,EAAM,WAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,iBAAmB,EAAM,UAE9B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAyB,UAAU,MAAQ,SAAS,GAClD,EAAO,iBAAiB,4BACD,OAAnB,KAAK,gBAAyC,IAAnB,KAAK,YAClC,EAAO,gBAAgB,YAAa,EAAO,KAAK,IAAK,GACrD,EAAO,SAAS,KAAK,WACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEmB,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,iBACvC,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,IAAK,GAC1D,EAAO,SAAS,KAAK,gBACrB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,KAAM,GACxD,EAAO,UAAU,KAAK,aACtB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEqB,OAA1B,KAAK,uBAAuD,IAA1B,KAAK,mBACzC,EAAO,gBAAgB,mBAAoB,EAAO,KAAK,IAAK,GAC5D,EAAO,SAAS,KAAK,kBACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA6B,EAAO,QAAQ,2BAA6B,SAAS,GACpF,KAAK,OAAS,KACd,KAAK,QAAU,KACf,KAAK,YAAc,KACnB,KAAK,kBAAoB,KACzB,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,OAAS,KACd,KAAK,iBAAmB,KACxB,KAAK,cAAgB,KACrB,KAAK,iBAAmB,KACxB,KAAK,uBAAyB,KAC9B,KAAK,2BAA6B,KAClC,KAAK,kBAAoB,KACrB,SACkB,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEA,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEG,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,kBAEK,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,wBAEX,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAED,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAK,cAEF,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAES,IAA1B,EAAK,kBAA4D,OAA1B,EAAK,mBAC9C,KAAK,iBAAmB,EAAO,SAAS,EAAK,iBAAkB,CAAC,aAEvC,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAK,oBAEE,IAA1B,EAAK,kBAA4D,OAA1B,EAAK,mBAC9C,KAAK,iBAAmB,IAAI,EAAO,gBAAgB,EAAK,wBAEtB,IAAhC,EAAK,wBAAwE,OAAhC,EAAK,yBACpD,KAAK,uBAAyB,EAAO,SAAS,EAAK,uBAAwB,CAAC,aAEtC,IAApC,EAAK,4BAAgF,OAApC,EAAK,6BACxD,KAAK,2BAA6B,EAAO,SAAS,EAAK,2BAA4B,CAAC,EAAO,iCAE9D,IAA3B,EAAK,mBAA8D,OAA3B,EAAK,oBAC/C,KAAK,kBAAoB,EAAK,mBAGpC,EACA,EAA2B,UAAY,CAAC,EACxC,EAA2B,UAAU,KAAO,SAAS,GAEnD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,QAAU,EAAM,WAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,YAAc,EAAM,UAEzB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,kBAAoB,EAAM,UAE/B,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,QAAU,EAAM,UAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,OAAS,EAAM,UAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,iBAAmB,GAGxB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,iBAAiB,KAAK,EAC7B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,cAAgB,EAAM,UAE3B,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,QACvB,KAAK,iBAAmB,IAAI,EAAO,gBACnC,KAAK,iBAAiB,KAAK,IAE3B,EAAM,KAAK,GAEb,MACA,KAAK,GACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,uBAAyB,GAG9B,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,uBAAuB,KAAK,EACnC,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,GACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,2BAA6B,GAGlC,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,0BACb,KAAK,GACZ,KAAK,2BAA2B,KAAK,EACvC,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,KACvB,KAAK,kBAAoB,EAAM,WAE/B,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAA2B,UAAU,MAAQ,SAAS,GAqCpD,GApCA,EAAO,iBAAiB,8BACJ,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,UAAU,KAAK,SACtB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,IAAK,GACvD,EAAO,SAAS,KAAK,aACrB,EAAO,iBAEsB,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,IAAK,GAC7D,EAAO,SAAS,KAAK,mBACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,IAAK,GACnD,EAAO,SAAS,KAAK,SACrB,EAAO,iBAEW,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,IAAK,GAClD,EAAO,SAAS,KAAK,QACrB,EAAO,iBAEqB,OAA1B,KAAK,uBAAuD,IAA1B,KAAK,iBAAgC,CAGzE,IAAK,IAAI,KAFT,EAAO,gBAAgB,mBAAoB,EAAO,KAAK,KAAM,GAC7D,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,iBAAiB,QAC1C,KAAK,iBAClB,KAAK,iBAAiB,eAAe,KACvC,EAAS,KAAK,iBAAiB,GAC/B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CAWA,GAV2B,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,gBACtC,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,IAAK,GACzD,EAAO,SAAS,KAAK,eACrB,EAAO,iBAEqB,OAA1B,KAAK,uBAAuD,IAA1B,KAAK,mBACzC,EAAO,gBAAgB,mBAAoB,EAAO,KAAK,OAAQ,IAC/D,KAAK,iBAAiB,MAAM,GAC5B,EAAO,iBAE2B,OAAhC,KAAK,6BAAmE,IAAhC,KAAK,uBAAsC,CAGrF,IAAK,IAAI,KAFT,EAAO,gBAAgB,yBAA0B,EAAO,KAAK,KAAM,IACnE,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,uBAAuB,QAChD,KAAK,uBAClB,KAAK,uBAAuB,eAAe,KAC7C,EAAS,KAAK,uBAAuB,GACrC,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,GAAwC,OAApC,KAAK,iCAA2E,IAApC,KAAK,2BAA0C,CAG7F,IAAK,IAAI,KAFT,EAAO,gBAAgB,6BAA8B,EAAO,KAAK,KAAM,IACvE,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,2BAA2B,QACvD,KAAK,2BAClB,KAAK,2BAA2B,eAAe,KACjD,EAAS,KAAK,2BAA2B,IAClC,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CAC+B,OAA3B,KAAK,wBAAyD,IAA3B,KAAK,oBAC1C,EAAO,gBAAgB,oBAAqB,EAAO,KAAK,KAAM,IAC9D,EAAO,UAAU,KAAK,mBACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAc,EAAO,QAAQ,YAAc,SAAS,GACtD,KAAK,OAAS,KACd,KAAK,KAAO,KACZ,KAAK,KAAO,KACZ,KAAK,SAAW,KAChB,KAAK,WAAa,KAClB,KAAK,YAAc,KACf,SACkB,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEH,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAED,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,IAAI,EAAc,UAAU,EAAK,YAEzB,IAAlB,EAAK,UAA4C,OAAlB,EAAK,WACtC,KAAK,SAAW,IAAI,EAAc,UAAU,EAAK,gBAE3B,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,iBAEA,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,aAG9B,EACA,EAAY,UAAY,CAAC,EACzB,EAAY,UAAU,KAAO,SAAS,GAEpC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,OAAS,EAAM,WAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,KAAO,IAAI,EAAc,UAC9B,KAAK,KAAK,KAAK,IAEf,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,SAAW,IAAI,EAAc,UAClC,KAAK,SAAS,KAAK,IAEnB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,WAAa,EAAM,WAExB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,KACvB,KAAK,YAAc,EAAM,WAEzB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAY,UAAU,MAAQ,SAAS,GACrC,EAAO,iBAAiB,eACJ,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,KAAM,GACnD,EAAO,UAAU,KAAK,QACtB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAES,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,OAAQ,GACnD,KAAK,KAAK,MAAM,GAChB,EAAO,iBAEa,OAAlB,KAAK,eAAuC,IAAlB,KAAK,WACjC,EAAO,gBAAgB,WAAY,EAAO,KAAK,OAAQ,GACvD,KAAK,SAAS,MAAM,GACpB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,KAAM,GACvD,EAAO,UAAU,KAAK,YACtB,EAAO,iBAEgB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,KAAM,GACxD,EAAO,UAAU,KAAK,aACtB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAA2B,EAAO,QAAQ,yBAA2B,SAAS,GAChF,KAAK,OAAS,KACd,KAAK,WAAa,KACd,SACkB,IAAhB,EAAK,QAAwC,OAAhB,EAAK,SACpC,KAAK,OAAS,EAAK,aAEG,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAO,SAAS,EAAK,WAAY,CAAC,QAG1D,EACA,EAAyB,UAAY,CAAC,EACtC,EAAyB,UAAU,KAAO,SAAS,GAEjD,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,OACvB,KAAK,OAAS,EAAM,aAEpB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,IAAK,CAC5B,KAAK,WAAa,GAGlB,IAFA,IACI,EADW,EAAM,eACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,WAAW,KAAK,EACvB,CACA,EAAM,YACR,MACE,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAyB,UAAU,MAAQ,SAAS,GAOlD,GANA,EAAO,iBAAiB,4BACJ,OAAhB,KAAK,aAAmC,IAAhB,KAAK,SAC/B,EAAO,gBAAgB,SAAU,EAAO,KAAK,OAAQ,GACrD,EAAO,YAAY,KAAK,QACxB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,WAA0B,CAG7D,IAAK,IAAI,KAFT,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,cAAc,EAAO,KAAK,IAAK,KAAK,WAAW,QACnC,KAAK,WAClB,KAAK,WAAW,eAAe,KACjC,EAAS,KAAK,WAAW,GACzB,EAAO,SAAS,IAGpB,EAAO,cACP,EAAO,eACT,CACA,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAoB,EAAO,QAAQ,kBAAoB,SAAS,GAClE,KAAK,KAAO,KACZ,KAAK,QAAU,KACf,KAAK,WAAa,KACd,SACgB,IAAd,EAAK,MAAoC,OAAd,EAAK,OAClC,KAAK,KAAO,EAAK,WAEE,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,IAAI,EAAO,yBAAyB,EAAK,eAElC,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,EAAK,YAG7B,EACA,EAAkB,UAAY,CAAC,EAC/B,EAAkB,UAAU,KAAO,SAAS,GAE1C,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,KAAO,EAAM,UAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,QAAU,IAAI,EAAO,yBAC1B,KAAK,QAAQ,KAAK,IAElB,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,WAAa,EAAM,UAExB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAkB,UAAU,MAAQ,SAAS,GAC3C,EAAO,iBAAiB,qBACN,OAAd,KAAK,WAA+B,IAAd,KAAK,OAC7B,EAAO,gBAAgB,OAAQ,EAAO,KAAK,IAAK,GAChD,EAAO,SAAS,KAAK,MACrB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,UAChC,EAAO,gBAAgB,UAAW,EAAO,KAAK,OAAQ,GACtD,KAAK,QAAQ,MAAM,GACnB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,IAAK,GACtD,EAAO,SAAS,KAAK,YACrB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,EAEA,IAAI,EAAkB,EAAO,QAAQ,gBAAkB,SAAS,GAC9D,KAAK,QAAU,KACf,KAAK,eAAiB,KACtB,KAAK,mBAAqB,KAC1B,KAAK,0BAA4B,KACjC,KAAK,WAAa,KAClB,KAAK,QAAU,KACf,KAAK,iBAAmB,KACxB,KAAK,cAAgB,KACrB,KAAK,oBAAsB,KAC3B,KAAK,YAAc,KACf,SACmB,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,aAEpB,IAAxB,EAAK,gBAAwD,OAAxB,EAAK,iBAC5C,KAAK,eAAiB,EAAO,SAAS,EAAK,eAAgB,CAAC,aAE9B,IAA5B,EAAK,oBAAgE,OAA5B,EAAK,qBAChD,KAAK,mBAAqB,EAAK,yBAEM,IAAnC,EAAK,2BAA8E,OAAnC,EAAK,4BACvD,KAAK,0BAA4B,EAAK,gCAEhB,IAApB,EAAK,YAAgD,OAApB,EAAK,aACxC,KAAK,WAAa,IAAI,EAAO,2BAA2B,EAAK,kBAE1C,IAAjB,EAAK,SAA0C,OAAjB,EAAK,UACrC,KAAK,QAAU,EAAO,SAAS,EAAK,QAAS,CAAC,EAAO,oBAEzB,IAA1B,EAAK,kBAA4D,OAA1B,EAAK,mBAC9C,KAAK,iBAAmB,EAAO,SAAS,EAAK,iBAAkB,CAAC,aAEvC,IAAvB,EAAK,eAAsD,OAAvB,EAAK,gBAC3C,KAAK,cAAgB,EAAO,SAAS,EAAK,cAAe,CAAC,aAE3B,IAA7B,EAAK,qBAAkE,OAA7B,EAAK,sBACjD,KAAK,oBAAsB,EAAO,SAAS,EAAK,oBAAqB,CAAC,EAAO,0BAEtD,IAArB,EAAK,aAAkD,OAArB,EAAK,cACzC,KAAK,YAAc,EAAK,aAG9B,EACA,EAAgB,UAAY,CAAC,EAC7B,EAAgB,UAAU,KAAO,SAAS,GAExC,IADA,EAAM,oBACO,CACX,IAAI,EAAM,EAAM,iBACZ,EAAQ,EAAI,MACZ,EAAM,EAAI,IACd,GAAI,GAAS,EAAO,KAAK,KACvB,MAEF,OAAQ,GACN,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,aACf,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,eAAiB,GAGtB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,eAAe,KAAK,EAC3B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,mBAAqB,EAAM,UAEhC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,IACvB,KAAK,0BAA4B,EAAM,UAEvC,EAAM,KAAK,GAEb,MACA,KAAK,EACD,GAAS,EAAO,KAAK,QACvB,KAAK,WAAa,IAAI,EAAO,2BAC7B,KAAK,WAAW,KAAK,IAErB,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,QAAU,GAGf,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,aACb,KAAK,GACZ,KAAK,QAAQ,KAAK,EACpB,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,iBAAmB,GAGxB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,UACf,KAAK,iBAAiB,KAAK,EAC7B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,cAAgB,GAGrB,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EACJ,EAAS,EAAM,aACf,KAAK,cAAc,KAAK,EAC1B,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,EACL,GAAI,GAAS,EAAO,KAAK,KAAM,CAC7B,KAAK,oBAAsB,GAG3B,IAFA,IACI,EADW,EAAM,gBACE,MAAQ,EACtB,EAAO,EAAG,EAAO,IAAW,EAAM,CACzC,IAAI,EAAS,MACb,EAAS,IAAI,EAAO,mBACb,KAAK,GACZ,KAAK,oBAAoB,KAAK,EAChC,CACA,EAAM,aACR,MACE,EAAM,KAAK,GAEb,MACA,KAAK,GACD,GAAS,EAAO,KAAK,OACvB,KAAK,YAAc,EAAM,aAEzB,EAAM,KAAK,GAEb,MACA,QACE,EAAM,KAAK,GAEf,EAAM,cACR,CACA,EAAM,eAER,EAEA,EAAgB,UAAU,MAAQ,SAAS,GAEzC,GADA,EAAO,iBAAiB,mBACH,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACpC,KAAK,QAClB,KAAK,QAAQ,eAAe,KAC9B,EAAS,KAAK,QAAQ,GACtB,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,GAA4B,OAAxB,KAAK,qBAAmD,IAAxB,KAAK,eAA8B,CAGrE,IAAK,IAAI,KAFT,EAAO,gBAAgB,iBAAkB,EAAO,KAAK,KAAM,GAC3D,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,eAAe,QACxC,KAAK,eAClB,KAAK,eAAe,eAAe,KACrC,EAAS,KAAK,eAAe,GAC7B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CAgBA,GAfgC,OAA5B,KAAK,yBAA2D,IAA5B,KAAK,qBAC3C,EAAO,gBAAgB,qBAAsB,EAAO,KAAK,IAAK,GAC9D,EAAO,SAAS,KAAK,oBACrB,EAAO,iBAE8B,OAAnC,KAAK,gCAAyE,IAAnC,KAAK,4BAClD,EAAO,gBAAgB,4BAA6B,EAAO,KAAK,IAAK,GACrE,EAAO,SAAS,KAAK,2BACrB,EAAO,iBAEe,OAApB,KAAK,iBAA2C,IAApB,KAAK,aACnC,EAAO,gBAAgB,aAAc,EAAO,KAAK,OAAQ,GACzD,KAAK,WAAW,MAAM,GACtB,EAAO,iBAEY,OAAjB,KAAK,cAAqC,IAAjB,KAAK,QAAuB,CAGvD,IAAK,IAAI,KAFT,EAAO,gBAAgB,UAAW,EAAO,KAAK,KAAM,GACpD,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,QAAQ,QACpC,KAAK,QAClB,KAAK,QAAQ,eAAe,KAC9B,EAAS,KAAK,QAAQ,IACf,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACA,GAA8B,OAA1B,KAAK,uBAAuD,IAA1B,KAAK,iBAAgC,CAGzE,IAAK,IAAI,KAFT,EAAO,gBAAgB,mBAAoB,EAAO,KAAK,KAAM,GAC7D,EAAO,eAAe,EAAO,KAAK,IAAK,KAAK,iBAAiB,QAC1C,KAAK,iBAClB,KAAK,iBAAiB,eAAe,KACvC,EAAS,KAAK,iBAAiB,GAC/B,EAAO,SAAS,IAGpB,EAAO,eACP,EAAO,eACT,CACA,GAA2B,OAAvB,KAAK,oBAAiD,IAAvB,KAAK,cAA6B,CAGnE,IAAK,IAAI,KAFT,EAAO,gBAAgB,gBAAiB,EAAO,KAAK,KAAM,GAC1D,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,cAAc,QAC1C,KAAK,cAClB,KAAK,cAAc,eAAe,KACpC,EAAS,KAAK,cAAc,GAC5B,EAAO,YAAY,IAGvB,EAAO,eACP,EAAO,eACT,CACA,GAAiC,OAA7B,KAAK,0BAA6D,IAA7B,KAAK,oBAAmC,CAG/E,IAAK,IAAI,KAFT,EAAO,gBAAgB,sBAAuB,EAAO,KAAK,KAAM,GAChE,EAAO,eAAe,EAAO,KAAK,OAAQ,KAAK,oBAAoB,QAChD,KAAK,oBAClB,KAAK,oBAAoB,eAAe,KAC1C,EAAS,KAAK,oBAAoB,IAC3B,MAAM,GAGjB,EAAO,eACP,EAAO,eACT,CACyB,OAArB,KAAK,kBAA6C,IAArB,KAAK,cACpC,EAAO,gBAAgB,cAAe,EAAO,KAAK,OAAQ,IAC1D,EAAO,YAAY,KAAK,aACxB,EAAO,iBAET,EAAO,iBACP,EAAO,gBAET,CAIO,EAED,KACE,IAaR,EAAO,QAAU,SAAU,EAAK,EAAI,GAClC,GAAI,EAAI,OAAQ,OAAO,EAAI,OAAO,EAAI,GACtC,GAAI,MAAW,EAAqB,MAAM,IAAI,UAC9C,GAAI,mBAAqB,EAAI,MAAM,IAAI,UAEvC,IADA,IAAI,EAAM,GACD,EAAI,EAAG,EAAI,EAAI,OAAQ,IAC9B,GAAK,EAAO,KAAK,EAAK,GAAtB,CACA,IAAI,EAAM,EAAI,GACV,EAAG,KAAK,EAAM,EAAK,EAAG,IAAM,EAAI,KAAK,EAFP,CAIpC,OAAO,CACT,EAEA,IAAI,EAAS,OAAO,UAAU,cAGvB,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aAGA,IAAI,EAAS,EAAoB,MAEjC,EAAO,QAAU,WAChB,OAAO,EAAO,CACb,gBACA,iBACA,eACA,eACA,aACA,aACA,YACA,cACA,cACA,aACA,sBACE,SAAU,GACZ,MAAoD,mBAAtC,EAAoB,EAAE,EACrC,GACD,CAGO,EAED,KACA,CAAE,EAAyB,EAAqB,KAEtD,aAGA,EAAoB,EAAE,EAAqB,CACzC,QAAW,IAAoB,IAMjC,IAAI,EAAkC,SAAyC,GAC7E,OAAO,IAAI,YAAY,EACzB,EAEI,EAAsB,SAA6B,EAAc,GASnE,OARA,EAAa,SAAQ,SAAU,EAAK,GAClC,EAAmB,GAAG,SAAW,EAAI,eACrC,EAAmB,GAAG,SAAS,SAAW,EAAI,SAAS,SACvD,EAAmB,GAAG,SAAS,UAAY,EAAI,SAAS,UACxD,EAAmB,GAAG,SAAS,WAAa,EAAI,SAAS,WACzD,EAAmB,GAAG,SAAS,MAAQ,EAAI,SAAS,MACpD,EAAmB,GAAG,SAAS,KAAO,EAAI,SAAS,IACrD,IACO,CACT,EAWA,SAAS,EAAc,EAAW,GAKhC,OADe,EADD,KAAK,IAAI,GAAI,EAAY,EAGzC,CAEA,IAAI,EAAmB,EAAoB,MACvC,EAAwC,EAAoB,EAAE,GAE9D,EAAgB,EAAoB,MACpC,EAAqC,EAAoB,EAAE,GAE3D,EAA+B,oBAAX,QAA0B,OAAO,eAAiB,EAAoB,MAAM,OAMhG,GAHmC,oBAAX,QAA0B,OAAO,mBAAqB,EAAoB,MAAM,kBAG7E,oBAAX,QAA0B,OAAO,QAAU,EAAoB,MAAM,QAGzF,SAAS,EAAc,GACrB,OAAO,aAAkB,EAAO,YAAc,aAAkB,KAClE,CA+CA,SAAS,EAAsB,EAAS,GACtC,OApCF,SAAoB,EAAS,EAAQ,GACnC,OAAO,WAGL,IAFA,IAAI,EAAQ,EAAW,UAAU,GAAQ,OAEhC,EAAO,UAAU,OAAQ,EAAO,IAAI,MAAM,GAAO,EAAO,EAAG,EAAO,EAAM,IAC/E,EAAK,GAAQ,UAAU,GAGzB,GAAI,EAAK,SAAW,EAYb,IAAI,EAAK,SAAW,EAAQ,EAAG,CACpC,IAAI,EAEA,GAAU,EAAyB,EAAW,UAAU,IAAS,KAAK,MAAM,EAAwB,CAAC,GAAS,OAAO,IAEzH,GAAI,EAAQ,GACV,MAAM,EAGR,OAAO,CACT,CACE,MAAM,IAAI,MAAM,6CAA6C,OAAO,GACtE,CAvBE,IAAI,EAEA,EAAW,EAAK,OAEnB,EAAwB,EAAW,UAAU,IAAS,KAAK,MAAM,EAAuB,CAAC,GAAS,OAAO,EAAM,CAAC,SAAU,GACrH,EAAQ,GACV,EAAS,GAET,EAAS,KAAM,EAEnB,IAcJ,CACF,CAES,CAAW,EAAS,EAAQ,EACrC,CAGA,IAAI,EAA8C,oBAAX,QAA0B,OAAO,eAAiB,EAAoB,MAAM,OAInH,SAAS,EAAa,GACpB,EAA0B,KAAK,KAAM,EACvC,CA6VA,SAAS,EAAoB,EAAS,GACpC,OAAO,SAAU,EAAS,EAAY,EAAQ,GAC5C,IAAI,GAAU,EACV,GAAoB,EACpB,EAAQ,KACR,EAAU,KACV,EAAQ,KACR,EAAqB,KACrB,EAAc,QAAQ,GAoB1B,QAlBuB,IAAZ,IACT,IAAU,EAAQ,SAAU,EAAQ,QACpC,IAAoB,EAAQ,mBAAoB,EAAQ,kBACxD,EAAQ,EAAQ,MAAQ,EAAQ,MAAQ,KACxC,EAAU,EAAQ,QAAU,EAAQ,QAAU,KAC9C,OAAiC,IAAlB,EAAQ,MAAwB,KAAO,EAAQ,MAC9D,OAA2D,IAA/B,EAAQ,mBAAqC,KAAO,EAAQ,oBAGtF,EAAO,mBAA+B,OAAV,GAAyC,OAAvB,GAChD,EAAiB,EAAO,EAAS,EAAoB,EAAO,mBAI1D,GAAW,EAAO,mBACpB,QAAQ,IAAI,EAAO,YAAa,EAAO,oBAAqB,EAAO,kBAAmB,mBAAoB,GAAG,OAAO,EAAO,cAAe,OAGxI,GAAW,EACb,EAAS,KAAM,OACV,IAAI,IAAY,EACrB,OAAO,EAEP,IAAI,EAAkB,KAEtB,IAAK,EAAO,QAAS,CACnB,IAAI,EAGF,MAAM,IAAI,MAAM,wBAGlB,YALE,EAAS,IAAI,MAAM,wBAMvB,CAEA,IAEI,EADE,EAAO,QAAQ,YAlX3B,SAAgC,EAAM,EAAmB,GACvD,IAAI,EAAkB,CACpB,OAAQ,GACR,QAAS,IAEP,EAAU,EAAK,SAAS,OACxB,OAAqC,IAApB,EAAK,QAAQ,GAAqB,EAAI,EAAK,QAAQ,GAAG,MAAM,OACjF,EAAgB,OAAS,EAAK,SAAS,KAAI,SAAU,GACnD,MAAO,CACL,KAAM,EAAM,SACZ,KAAM,EAAS,EAAM,SAAS,MAC9B,SAAU,EAAM,SAAS,SAE7B,IAEA,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,IAAK,CAChC,GAAI,EAAmB,CAGrB,IAFA,IAAI,GAAa,EAER,EAAI,EAAG,EAAI,EAAS,IAC3B,GAAI,EAAK,QAAQ,GAAG,MAAM,GAAI,CAC5B,GAAa,EACb,KACF,CAGF,GAAI,EACF,QAEJ,CAIA,IAFA,IAAI,EAAM,CAAC,EAEF,EAAK,EAAG,EAAK,EAAS,IAAM,CACnC,IAAI,EAAY,EAAgB,OAAO,GAAI,KACvC,EAAY,EAAgB,OAAO,GAAI,KACvC,EAAe,EAAgB,OAAO,GAAI,SAC1C,EAAS,EAAK,QAAQ,GAAI,MAAM,GAChC,EAAiB,EAAK,SAAS,GAAI,SAAS,UAEhD,GAAI,EAEF,EAAI,GAAa,UAInB,GAAI,EAAc,CAChB,EAAI,GAAa,GAGjB,IAFA,IAAI,EAAgB,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAAG,MAAM,OAElD,EAAI,EAAG,EAAI,EAAe,IACjC,GAAI,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAAG,MAAM,GACzC,EAAI,GAAW,KAAK,aAItB,OAAQ,GACN,IAAK,OACH,EAAI,GAAW,KAAK,QAAQ,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAAG,KAAK,QAAQ,KAC1E,MAEF,IAAK,WACL,IAAK,MACL,IAAK,SACL,IAAK,UACH,EAAI,GAAW,KAAK,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAAG,KAAK,QAAQ,IAClE,MAEF,IAAK,QACL,IAAK,SACL,IAAK,UACH,EAAI,GAAW,KAAK,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAAG,KAAK,SAAS,IACnE,MAEF,IAAK,MACH,EAAI,GAAW,KAAK,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAAG,KAAK,QAAQ,IAClE,MAEF,IAAK,OACL,IAAK,YACL,IAAK,OACH,IAAI,EAAW,EAAc,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAAI,GAC/D,EAAI,GAAW,KAAK,GACpB,MAEF,QACE,MAAM,IAAI,MAAM,kCAAkC,OAAO,IAGjE,MAEE,OAAQ,GACN,IAAK,OACH,EAAI,GAAa,QAAQ,EAAK,QAAQ,GAAI,KAAK,QAAQ,IACvD,MAEF,IAAK,WACL,IAAK,MACL,IAAK,SACL,IAAK,UACH,EAAI,GAAa,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAC/C,MAEF,IAAK,QACL,IAAK,SACL,IAAK,UACH,EAAI,GAAa,EAAK,QAAQ,GAAI,KAAK,SAAS,GAChD,MAEF,IAAK,MAYL,IAAK,QACL,IAAK,aACL,IAAK,UACL,IAAK,eACH,EAAI,GAAa,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAC/C,MAbF,IAAK,OACL,IAAK,YACL,IAAK,OACH,IAAI,EAAY,EAAc,EAAK,QAAQ,GAAI,KAAK,QAAQ,GAAI,GAEhE,EAAI,GAAa,IAAI,KAAK,GAC1B,MASF,QACE,MAAM,IAAI,MAAM,4BAA4B,OAAO,IAG3D,CAEA,EAAgB,QAAQ,KAAK,EAC/B,CAEA,OAAO,CACT,CAyO4B,CAAuB,EAAO,QAAS,EAAmB,GA3NtF,SAA2B,EAAM,EAAmB,GAClD,IAAI,EAAU,EAAK,SAAS,OACxB,EAAkB,CACpB,OAAQ,GACR,QAAS,IAEX,EAAgB,OAAS,EAAK,SAAS,KAAI,SAAU,GACnD,MAAO,CACL,KAAM,EAAM,SACZ,KAAM,EAAU,EAAM,SAAS,MAC/B,SAAU,EAAM,SAAS,SAE7B,IACA,EAAgB,QAAU,GAC1B,IAAI,EAAU,OAEW,IAAd,EAAK,MAAsC,OAAd,EAAK,OAC3C,EAAU,EAAK,KAAK,QAGtB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,IAAK,CAChC,GAAI,EAAmB,CAGrB,IAFA,IAAI,GAAa,EAER,EAAI,EAAG,EAAI,EAAS,IAC3B,GAAI,EAAK,KAAK,GAAG,QAAQ,GAAG,QAAS,CACnC,GAAa,EACb,KACF,CAGF,GAAI,EACF,QAEJ,CAIA,IAFA,IAAI,EAAM,CAAC,EAEF,EAAK,EAAG,EAAK,EAAS,IAAM,CACnC,IAAI,EAAY,EAAgB,OAAO,GAAI,KACvC,EAAY,EAAgB,OAAO,GAAI,KACvC,EAAe,EAAgB,OAAO,GAAI,SAC1C,EAAiB,EAAK,SAAS,GAAI,SAAS,UAEhD,GAAI,EAAc,CAChB,GAAI,EAAK,KAAK,GAAG,KAAK,GAAI,QAAS,CACjC,EAAI,GAAa,OACjB,QACF,CAEA,EAAI,GAAa,GAGjB,IAFA,IAAI,EAAgB,EAAK,KAAK,GAAG,KAAK,GAAI,IAAI,QAAQ,OAE7C,EAAI,EAAG,EAAI,EAAe,IAAK,CACtC,IAAI,EAAY,EAAK,KAAK,GAAG,KAAK,GAAI,IAAI,QAAQ,GAElD,GAAI,EAAU,QACZ,EAAI,GAAW,KAAK,aAItB,OAAQ,GACN,IAAK,OACH,EAAI,GAAW,KAAK,QAAQ,EAAU,IAAI,UAC1C,MAEF,IAAK,WACL,IAAK,MACL,IAAK,SACL,IAAK,UACH,EAAI,GAAW,KAAK,EAAU,IAAI,SAClC,MAEF,IAAK,QACL,IAAK,SACL,IAAK,UACH,EAAI,GAAW,KAAK,EAAU,IAAI,UAClC,MAEF,IAAK,MACH,EAAI,GAAW,KAAK,EAAU,IAAI,SAClC,MAEF,IAAK,OACL,IAAK,YACL,IAAK,OACH,IAAI,EAAW,EAAc,EAAU,IAAI,QAAS,GACpD,EAAI,GAAW,KAAK,GACpB,MAEF,QACE,MAAM,IAAI,MAAM,kCAAkC,OAAO,IAE/D,CACF,KAAO,CACL,IAAI,EAAc,EAAK,KAAK,GAAG,KAAK,GAEpC,GAAI,EAAY,QAAS,CACvB,EAAI,GAAa,OACjB,QACF,CAEA,OAAQ,GACN,IAAK,OACH,EAAI,GAAa,QAAQ,EAAY,IAAI,SACzC,MAEF,IAAK,WACL,IAAK,MACL,IAAK,SACL,IAAK,UACH,EAAI,GAAa,EAAY,IAAI,QACjC,MAEF,IAAK,QACL,IAAK,SACL,IAAK,UACH,EAAI,GAAa,EAAY,IAAI,SACjC,MAEF,IAAK,MAYL,IAAK,QACL,IAAK,aACL,IAAK,UACL,IAAK,eACH,EAAI,GAAa,EAAY,IAAI,QACjC,MAbF,IAAK,OACL,IAAK,YACL,IAAK,OACH,IAAI,EAAY,EAAc,EAAY,IAAI,QAAS,GAEvD,EAAI,GAAa,IAAI,KAAK,GAC1B,MASF,QACE,MAAM,IAAI,MAAM,4BAA4B,OAAO,IAEzD,CACF,CAEA,EAAgB,QAAQ,KAAK,EAC/B,CAEA,OAAO,CACT,CAwE4B,CAAkB,EAAO,QAAS,EAAmB,GAGzE,EAAgB,OAAS,CACvB,kBAAmB,EAAO,kBAC1B,cAAe,EAAO,cAE1B,CAAE,MAAO,GACP,IAAI,EAGF,MAAM,EAGR,YALE,EAAS,EAMb,CAEA,IAAI,EAGF,OAAO,EAAQ,aAAe,EAAkB,EAAgB,QAFhE,EAAS,KAAM,EAAQ,aAAe,EAAkB,EAAgB,QAI5E,CACF,CACF,CAraA,EAAa,UAAY,OAAO,OAAO,EAA0B,WAK/D,CAAC,UAAW,cAAe,iBAAkB,eAAgB,SAAU,cAAe,2BAA4B,uBAAwB,aAAc,oBAAqB,kBAAmB,aAAc,aAAc,oBAAqB,oBAAqB,cAAe,gBAAiB,sBAAuB,oBAAqB,oBAAqB,sBAAuB,kBAAmB,sBAAsB,SAAQ,SAAU,GACvb,EAAa,UAAU,GAAY,WACjC,OAAO,EAAsB,KAAM,GAAU,WAAM,EAAQ,UAC7D,CACF,IA8ZF,IAAI,EAAqF,EAAoB,MAE/E,EAAS,EAAoB,MAAc,OACzE,SAAS,EAAQ,EAAQ,GAAkB,IAAI,EAAO,OAAO,KAAK,GAAS,GAAI,OAAO,sBAAuB,CAAE,IAAI,EAAU,OAAO,sBAAsB,GAAa,IAAgB,EAAU,EAAQ,QAAO,SAAU,GAAO,OAAO,OAAO,yBAAyB,EAAQ,GAAK,UAAY,KAAI,EAAK,KAAK,MAAM,EAAM,EAAU,CAAE,OAAO,CAAM,CAEpV,SAAS,EAAc,GAAU,IAAK,IAAI,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CAAE,IAAI,EAAyB,MAAhB,UAAU,GAAa,UAAU,GAAK,CAAC,EAAO,EAAI,EAAK,EAAQ,OAAO,IAAS,GAAM,SAAQ,SAAU,GAAO,EAAgB,EAAQ,EAAK,EAAO,GAAO,IAAe,OAAO,0BAA6B,OAAO,iBAAiB,EAAQ,OAAO,0BAA0B,IAAmB,EAAQ,OAAO,IAAS,SAAQ,SAAU,GAAO,OAAO,eAAe,EAAQ,EAAK,OAAO,yBAAyB,EAAQ,GAAO,GAAM,CAAE,OAAO,CAAQ,CAErhB,SAAS,EAAe,EAAK,GAAK,OAUlC,SAAyB,GAAO,GAAI,MAAM,QAAQ,GAAM,OAAO,CAAK,CAV3B,CAAgB,IAQzD,SAA+B,EAAK,GAAK,GAAsB,oBAAX,UAA4B,OAAO,YAAY,OAAO,IAAO,OAAQ,IAAI,EAAO,GAAQ,GAAK,EAAU,GAAK,EAAW,OAAK,EAAW,IAAM,IAAK,IAAiC,EAA7B,EAAK,EAAI,OAAO,cAAmB,GAAM,EAAK,EAAG,QAAQ,QAAoB,EAAK,KAAK,EAAG,QAAY,GAAK,EAAK,SAAW,GAA3D,GAAK,GAAkE,CAAE,MAAO,GAAO,GAAK,EAAM,EAAK,CAAK,CAAE,QAAU,IAAW,GAAsB,MAAhB,EAAW,QAAW,EAAW,QAAK,CAAE,QAAU,GAAI,EAAI,MAAM,CAAI,CAAE,CAAE,OAAO,CAAM,CARva,CAAsB,EAAK,IAI5F,SAAqC,EAAG,GAAU,IAAK,EAAG,OAAQ,GAAiB,iBAAN,EAAgB,OAAO,EAAkB,EAAG,GAAS,IAAI,EAAI,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM,GAAI,GAAc,WAAN,GAAkB,EAAE,cAAa,EAAI,EAAE,YAAY,MAAM,GAAU,QAAN,GAAqB,QAAN,EAAa,OAAO,MAAM,KAAK,GAAI,GAAU,cAAN,GAAqB,2CAA2C,KAAK,GAAI,OAAO,EAAkB,EAAG,EAAS,CAJ7T,CAA4B,EAAK,IAEnI,WAA8B,MAAM,IAAI,UAAU,4IAA8I,CAFvD,EAAoB,CAM7J,SAAS,EAAkB,EAAK,IAAkB,MAAP,GAAe,EAAM,EAAI,UAAQ,EAAM,EAAI,QAAQ,IAAK,IAAI,EAAI,EAAG,EAAO,IAAI,MAAM,GAAM,EAAI,EAAK,IAAO,EAAK,GAAK,EAAI,GAAM,OAAO,CAAM,CAQtL,SAAS,EAAkB,EAAQ,GAAS,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CAAE,IAAI,EAAa,EAAM,GAAI,EAAW,WAAa,EAAW,aAAc,EAAO,EAAW,cAAe,EAAU,UAAW,IAAY,EAAW,UAAW,GAAM,OAAO,eAAe,EAAQ,EAAW,IAAK,EAAa,CAAE,CAI5T,SAAS,EAAgB,EAAK,EAAK,GAAiK,OAApJ,KAAO,EAAO,OAAO,eAAe,EAAK,EAAK,CAAE,MAAO,EAAO,YAAY,EAAM,cAAc,EAAM,UAAU,IAAkB,EAAI,GAAO,EAAgB,CAAK,CAGhN,IAAI,EAAO,KAAmB,EAAoB,MAAQ,OACtD,EAAa,EAAK,WAClB,EAAgB,EAAK,cACrB,EAAc,EAAK,YAGnB,EAAQ,KAAmB,EAAoB,OAAS,OACxD,EAAkB,EAAM,gBACxB,EAAS,EAAM,OACf,EAAoB,EAAM,kBAG1B,EAAa,KAAmB,EAAoB,MAGpD,EAAsB,KAAmB,EAAoB,OAAS,OAAO,OAE7E,EAAgB,EAEhB,EAAW,KAAmB,EAAoB,MAAmB,GAGrE,OAEF,EAAsB,EAAoB,QACtB,UAAY,EAAc,mBAC9C,EAAoB,SAAW,EAAc,eAW/C,SAAS,EAAS,GAChB,OAAO,MAAM,QAAQ,GAAc,EAAa,CAAC,EACnD,CAEA,SAAS,IACP,MAAyB,oBAAX,MAChB,CAEA,IAAI,EAAuB,WACzB,SAAS,IACP,IAAI,EAAQ,KA+eZ,OAviBJ,SAAyB,EAAU,GAAe,KAAM,aAAoB,GAAgB,MAAM,IAAI,UAAU,oCAAwC,CA0DpJ,CAAgB,KAAM,GAEtB,EAAgB,KAAM,gBAAgB,WACpC,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,SAAQ,SAAU,EAAO,GACzB,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,IAEA,EAAgB,KAAM,oBAAoB,SAAU,EAAO,EAAS,EAAoB,GACtF,EAAM,WAAW,GAAW,CAC9B,IAEA,EAAgB,KAAM,SAAU,IAAK,MAErC,EAAgB,KAAM,cAAe,CACnC,MAAO,QACP,cAAe,kBAGjB,EAAgB,KAAM,gBAAgB,SAAU,GAC9C,OAAO,WACL,IAAK,IAAI,EAAO,UAAU,OAAQ,EAAO,IAAI,MAAM,GAAO,EAAO,EAAG,EAAO,EAAM,IAC/E,EAAK,GAAQ,UAAU,GAGzB,OAAO,IAAI,SAAQ,SAAU,EAAS,GAWtB,EAAO,MAAM,EAAO,GAC1B,MAXM,SAAiB,GAC7B,OAAO,EAAQ,EACjB,IAS6B,OAAE,SAAU,GACvC,OARY,SAAiB,GAG7B,OAFA,EAAM,OAAO,KAAK,EAAM,YAAY,MAAO,GAEpC,EAAO,EAChB,CAIS,CAAQ,EACjB,GACF,GACF,CACF,IAEA,EAAgB,KAAM,6BAA6B,SAAU,EAAQ,EAAW,EAAY,GAC1F,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAO,GAAY,MAAM,EAAQ,CAAC,GAAW,OAAO,GAAM,SAAU,EAAK,GACnE,EACF,EAAO,GAEP,EAAQ,EAEZ,IACF,GACF,IAEA,EAAgB,KAAM,gCAAgC,SAAU,EAAQ,EAAW,EAAY,GAC7F,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,OAAO,KAAK,EAAM,YAAY,cAAe,GAEnD,EAAO,GAAY,MAAM,EAAQ,CAAC,GAAW,OAAO,GAAM,SAAU,GAC9D,aAAkB,MACpB,EAAO,GAEP,EAAQ,EAEZ,IACF,GACF,IAEA,EAAgB,KAAM,wBAAyB,IAAkB,KAAK,0BAA4B,KAAK,8BAEvG,EAAgB,KAAM,mBAAoB,iBAE1C,EAAgB,KAAM,iBAAkB,eAExC,EAAgB,KAAM,cAAc,SAAU,EAAY,EAAa,GACrE,OAAO,WACL,GAAI,EAAM,WAAY,CACpB,IAAK,IAAI,EAAQ,UAAU,OAAQ,EAAO,IAAI,MAAM,GAAQ,EAAQ,EAAG,EAAQ,EAAO,IACpF,EAAK,GAAS,UAAU,GAG1B,IAAI,EAAgB,EAAY,GAEhC,OAAI,IAAgB,EAAM,iBACjB,EAAM,sBAAsB,EAAM,QAAQ,GAAI,EAAM,WAAW,GAAI,EAAY,GAE/E,QAAQ,IAAI,EAAM,QAAQ,KAAI,SAAU,EAAQ,GACrD,OAAO,EAAM,sBAAsB,EAAQ,EAAM,WAAW,GAAQ,EAAY,EAClF,IAEJ,CACE,OAAO,QAAQ,OAAO,IAAI,MAAM,4EAEpC,CACF,IAEA,EAAgB,KAAM,aAAa,SAAU,GAC3C,EAAM,QAAQ,GAAG,WAAW,EAAM,WAAW,GAAI,EACnD,IAEA,EAAgB,KAAM,iBAAkB,KAAK,cAAa,WACxD,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,WAAU,SAAU,EAAK,GACzB,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,KAEA,EAAgB,KAAM,mBAAmB,SAAU,GACjD,EAAM,QAAQ,GAAG,kBAAkB,EAAM,WAAW,GAAI,EAC1D,IAEA,EAAgB,KAAM,uBAAwB,KAAK,cAAa,WAC9D,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,iBAAgB,SAAU,EAAK,GAC/B,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,KAEA,EAAgB,KAAM,gCAAiC,KAAK,aAAa,KAAK,WAAW,gCAAiC,KAAK,kBAAkB,SAAU,GACzJ,OAAO,CACT,MAEA,EAAgB,KAAM,gBAAiB,KAAK,aAAa,KAAK,WAAW,YAAa,KAAK,kBAAkB,SAAU,GACrH,OAAO,CACT,MAEA,EAAgB,KAAM,yBAA0B,KAAK,aAAa,KAAK,WAAW,sBAAuB,KAAK,kBAAkB,SAAU,GACxI,OAAO,CACT,MAEA,EAAgB,KAAM,gBAAiB,KAAK,aAAa,KAAK,WAAW,YAAa,KAAK,kBAAkB,SAAU,GACrH,OAAO,CACT,MAEA,EAAgB,KAAM,qBAAsB,KAAK,aAAa,KAAK,WAAW,iBAAkB,KAAK,kBAAkB,SAAU,GAC/H,OAAO,CACT,MAEA,EAAgB,KAAM,oBAAqB,KAAK,aAAa,KAAK,WAAW,gBAAiB,KAAK,kBAAkB,SAAU,GAC7H,OAAO,CACT,MAEA,EAAgB,KAAM,uBAAwB,KAAK,aAAa,KAAK,WAAW,mBAAoB,KAAK,gBAAgB,SAAU,GACjI,OAAO,CACT,MAEA,EAAgB,KAAM,wBAAyB,KAAK,aAAa,KAAK,WAAW,oBAAqB,KAAK,gBAAgB,SAAU,GACnI,OAAO,CACT,MAEA,EAAgB,KAAM,uBAAwB,KAAK,aAAa,KAAK,WAAW,mBAAoB,KAAK,gBAAgB,SAAU,GACjI,OAAO,CACT,MAEA,EAAgB,KAAM,wBAAyB,KAAK,aAAa,KAAK,WAAW,oBAAqB,KAAK,gBAAgB,SAAU,GACnI,OAAO,CACT,MAEA,EAAgB,KAAM,sBAAuB,KAAK,aAAa,KAAK,WAAW,kBAAmB,KAAK,gBAAgB,SAAU,GAC/H,IAAI,EAAQ,EAAe,EAAO,GAC9B,EAAc,EAAM,GACpB,EAAS,EAAM,GACf,EAAU,EAAM,GAChB,EAAc,EAAM,GAExB,MAAO,CAAC,EAAa,EAAQ,EAAS,IAAI,sBAAsB,GAClE,MAEA,EAAgB,KAAM,uBAAwB,KAAK,aAAa,KAAK,WAAW,mBAAoB,KAAK,gBAAgB,SAAU,GACjI,IAAI,EAAQ,EAAe,EAAO,GAC9B,EAAe,EAAM,GACrB,EAAS,EAAM,GACf,EAAc,EAAM,GAExB,MAAO,CAAC,EAAc,EAAQ,IAAI,sBAAsB,GAC1D,MAEA,EAAgB,KAAM,wBAAyB,KAAK,aAAa,KAAK,WAAW,oBAAqB,KAAK,gBAAgB,SAAU,GACnI,IAAI,EAAQ,EAAe,EAAO,GAC9B,EAAc,EAAM,GACpB,EAAS,EAAM,GACf,EAAU,EAAM,GAChB,EAAc,EAAM,GAExB,MAAO,CAAC,EAAa,EAAQ,EAAS,IAAI,sBAAsB,GAClE,MAEA,EAAgB,KAAM,yBAA0B,KAAK,aAAa,KAAK,WAAW,qBAAsB,KAAK,gBAAgB,SAAU,GACrI,IAAI,EAAS,EAAe,EAAO,GAC/B,EAAe,EAAO,GACtB,EAAS,EAAO,GAChB,EAAc,EAAO,GAEzB,MAAO,CAAC,EAAc,EAAQ,IAAI,sBAAsB,GAC1D,MAEA,EAAgB,KAAM,4BAA6B,KAAK,aAAa,KAAK,WAAW,yBAA0B,KAAK,kBAAkB,SAAU,GAC9I,OAAO,CACT,MAEA,EAAgB,KAAM,8BAA+B,KAAK,aAAa,KAAK,WAAW,6BAA8B,KAAK,kBAAkB,SAAU,GACpJ,OAAO,CACT,MAEA,EAAgB,KAAM,wBAAyB,KAAK,aAAa,KAAK,WAAW,sBAAuB,KAAK,kBAAkB,SAAU,GACvI,IAAI,EAAS,EAAe,EAAQ,GAChC,EAAa,EAAO,GACpB,EAAO,EAAO,GAElB,MAAO,CAAC,EAAY,cAAc,GACpC,MAEA,EAAgB,KAAM,0BAA2B,KAAK,aAAa,KAAK,WAAW,yBAA0B,KAAK,kBAAkB,SAAU,GAC5I,OAAO,CACT,MAEA,EAAgB,KAAM,2BAA4B,KAAK,aAAa,KAAK,WAAW,uBAAwB,KAAK,kBAAkB,SAAU,GAC3I,IAAI,EAAS,EAAe,EAAQ,GAMpC,MAAO,CALW,EAAO,GACR,EAAO,GACP,EAAO,GACN,EAAO,GAG3B,MAEA,EAAgB,KAAM,wBAAwB,SAAU,EAAa,EAAQ,GAC3E,OAAO,EAAM,yBAAyB,EAAa,EAAQ,cAAc,qBAAsB,IAAI,qBAAqB,CACtH,sBAAuB,IAAI,qBAAqB,KAEpD,IAEA,EAAgB,KAAM,sBAAuB,KAAK,aAAa,KAAK,WAAW,mBAAoB,KAAK,kBAAkB,SAAU,GAClI,OAAO,CACT,MAEA,EAAgB,KAAM,yBAA0B,KAAK,cAAa,SAAU,EAAU,GACpF,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,kBAAkB,KAAK,EAAO,EAAU,EAA9C,EAA0D,SAAU,EAAK,GACnE,EACF,EAAO,IAEP,EAAM,gBAAkB,EAAI,QAAQ,SACpC,EAAQ,GAEZ,GACF,GACF,KAEA,EAAgB,KAAM,aAAc,CAAC,GAErC,EAAgB,KAAM,uBAAuB,GAE7C,EAAgB,KAAM,0BAA0B,SAAU,GACpD,IAEF,EAAM,WAAa,CAAC,GAGtB,EAAM,oBAAsB,CAC9B,IAEA,EAAgB,KAAM,gBAAgB,SAAU,GAC9C,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAQ,MAAK,SAAU,GACrB,EAAQ,IAA2B,GACrC,IAAU,OAAE,SAAU,GACpB,EAAO,EACT,GACF,GACF,IAEA,EAAgB,KAAM,aAAc,KAAK,cAAa,SAAU,EAAO,GACrE,IAAI,EAAa,EAAM,WAAW,GAElC,GAAI,EACF,OAAO,EAAM,aAAa,GAE1B,IAAI,EAAe,IAAI,SAAQ,SAAU,EAAS,GAChD,EAAM,OAAO,KAAK,EAAM,YAAY,cAAe,eAEnD,EAAM,MAAM,EAAO,GAAS,SAAU,EAAO,GACvC,EAAM,4BACD,EAAM,WAAW,GAGtB,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,IAEA,OADA,EAAM,WAAW,GAAS,EACnB,EAAM,aAAa,EAE9B,KAEA,EAAgB,KAAM,eAAgB,KAAK,cAAa,SAAU,EAAO,GACvE,IAAI,EAAa,EAAM,WAAW,GAElC,GAAI,EACF,OAAO,EAAM,aAAa,GAE1B,IAAI,EAAe,IAAI,SAAQ,SAAU,EAAS,GAChD,EAAM,OAAO,KAAK,EAAM,YAAY,cAAe,kBAEnD,EAAM,QAAQ,EAAO,GAAS,SAAU,EAAO,GACzC,EAAM,4BACD,EAAM,WAAW,GAGtB,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,IAEA,OADA,EAAM,WAAW,GAAS,EACnB,EAAM,aAAa,EAE9B,KAEA,EAAgB,KAAM,gBAAiB,KAAK,cAAa,SAAU,GACjE,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,QAAQ,GAAG,aAAa,EAAM,WAAW,GAAI,GAAO,SAAU,EAAO,GACzE,GAAI,EACF,EAAO,OACF,CACL,IAAI,EAAU,EAAO,QAAO,SAAU,EAAO,GAE3C,OADA,EAAM,EAAM,UAAY,EACjB,CACT,GAAG,CAAC,GACJ,EAAQ,EAAM,uBAAuB,GACvC,CACF,GACF,GACF,KAEA,EAAgB,KAAM,iBAAkB,KAAK,cAAa,WACxD,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,UAAU,KAAK,EAArB,EAA4B,SAAU,EAAO,GACvC,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,KAEA,EAAgB,KAAM,yBAA0B,KAAK,cAAa,WAChE,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,kBAAkB,KAAK,EAA7B,EAAoC,SAAU,EAAO,GAC/C,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,KAEA,EAAgB,KAAM,qBAAsB,KAAK,cAAa,WAC5D,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,cAAc,KAAK,EAAzB,EAAgC,SAAU,EAAO,GAC3C,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,KAEA,EAAgB,KAAM,iBAAkB,KAAK,cAAa,SAAU,GAClE,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,UAAU,GAAW,SAAU,EAAO,GACtC,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,KAEA,EAAgB,KAAM,mBAAoB,KAAK,cAAa,SAAU,EAAW,EAAY,EAAW,GACtG,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,YAAY,EAAW,EAAY,EAAW,GAAc,SAAU,GACtE,EACF,EAAO,GAEP,GAEJ,GACF,GACF,KAEA,EAAgB,KAAM,mBAAoB,KAAK,aAAa,KAAK,yBAAwB,KAEzF,EAAgB,KAAM,sBAAuB,KAAK,aAAa,KAAK,yBAAwB,KAE5F,EAAgB,KAAM,kBAAmB,KAAK,cAAa,SAAU,EAAU,EAAM,GACnF,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,WAAW,EAAU,EAAM,GAAS,SAAU,EAAO,GACrD,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,KAEA,EAAgB,KAAM,4BAA6B,KAAK,cAAa,SAAU,EAAU,EAAO,GAC9F,IAAI,EAAc,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,EACtF,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAM,qBAAqB,EAAU,EAAO,EAAkB,GAAa,SAAU,EAAO,GACtF,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,KAEA,KAAK,MAAQ,KACb,KAAK,MAAQ,KACb,KAAK,UAAY,KACjB,KAAK,MAAQ,KACb,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,WAAa,KAClB,KAAK,UAAY,KACjB,KAAK,uBAAwB,EAC7B,KAAK,WAAa,CAAC,EACnB,KAAK,UAAW,EAChB,KAAK,UAAY,OACjB,KAAK,OAAS,EACd,KAAK,iBAAmB,WACxB,KAAK,gBAAkB,EACvB,KAAK,eAAiB,EACtB,KAAK,WAAa,CAAC,EACnB,KAAK,iBAAmB,KACxB,KAAK,gBAAkB,KACvB,KAAK,UAAY,KACjB,KAAK,mBAAqB,GAC1B,KAAK,qBAAuB,EAC5B,KAAK,gBAAkB,KAEvB,KAAK,mBAEL,KAAK,eAAiB,WACpB,IAAI,EAAU,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,CAAC,EAC/E,EAAS,UAAU,OAAS,EAAI,UAAU,QAAK,EAC/C,EAAQ,UAAU,OAAS,EAAI,UAAU,QAAK,EAC9C,EAAW,UAAU,OAAS,EAAI,UAAU,QAAK,EAErD,IAAI,EASF,OAFgB,EAAoB,EAAM,SAAU,EAAM,iBAC/B,CAAU,EAAS,EAAM,WAAY,EAAQ,GAPpE,EAAM,UAAY,EAAQ,OAC5B,QAAQ,MAAM,EAAQ,MAAO,KAAM,GAGrC,EAAS,EAMb,EAGO,IACT,CApiBF,IAAsB,EAAa,EAAY,EAipD7C,OAjpDoB,EAsiBP,EAtiBoB,EAsiBX,CAAC,CACrB,IAAK,qBACL,MAAO,SAA4B,GACjC,EAAoB,mBAAqB,CAC3C,GAQC,CACD,IAAK,cACL,MAAO,WAGL,KAFmB,MAAM,QAAQ,KAAK,QAAU,MAAM,QAAQ,KAAK,QAAU,MAAM,QAAQ,KAAK,UAG9F,MAAM,IAAI,MAAM,0CAMlB,GAHA,KAAK,QAAU,GACf,KAAK,WAAa,IAEb,KAAK,MAAM,GACd,MAAM,IAAI,MAAM,6BACX,IAAK,KAAK,MAAM,GACrB,MAAM,IAAI,MAAM,wBAIlB,IAAI,EAAa,KAAK,MAAM,OAE5B,GAAI,EAAa,EACf,MAAM,IAAI,MAAM,gDAGlB,GAAI,IAAe,KAAK,MAAM,OAC5B,MAAM,IAAI,MAAM,wDAGb,KAAK,YACR,KAAK,UAAY,KAAK,MAAM,KAAI,WAC9B,OAAO,OAAO,SAAS,SAAS,QAAQ,IAAK,GAC/C,KAMF,IAHA,IAAI,EAAgB,KAAK,eACrB,EAAU,GAEL,EAAI,EAAG,EAAI,EAAY,IAAK,CACnC,IAAI,EAAS,KAEb,GAAI,IAAiB,CACnB,IAAI,EAAY,EAAS,EAAc,IACnC,EAAW,EAAU,SACrB,EAAW,EAAU,SACrB,EAAO,EAAU,KAEjB,EAAa,EAAc,qBAAqB,EAAU,EAAM,CAClE,UAAW,EAAc,mBACzB,SAAU,EAAc,cACxB,KAAM,IACN,QAAS,CACP,WAAY,SAEd,MAAoB,WAAb,IAET,EAAW,GAAG,QAAS,QAAQ,OAG/B,EAA2C,KAD3C,EAAS,EAAc,aAAa,EAAY,GACS,CAAC,UAAW,mBAAoB,SAAU,yBAA0B,aAAc,0BAA2B,YAAa,oBAAqB,qBAAsB,uBAAwB,iBAAkB,iBAAkB,yBAA0B,OAAQ,mBAAoB,sBAAuB,UAAW,WAAY,OAAQ,WAAY,QAAS,UAAW,aAAc,YAAa,OAAQ,kBACzc,EAAQ,KAAK,EACf,KAAO,CACL,IAAI,EAAkB,IAAI,EAAoB,UAAU,EAAc,IAClE,EAAiB,IAAI,EAAoB,SAAS,GACtD,EAAQ,KAAK,IAAI,EAAa,GAChC,CACF,CAIA,OAFA,KAAK,QAAU,EACf,KAAK,gBAAkB,KAAK,QAAQ,OAC7B,IACT,GAkBC,CACD,IAAK,UACL,MAAO,SAAiB,GACtB,IAAI,EAAS,KAEb,IAAK,MAAM,QAAQ,KAAK,SAAW,MAAM,QAAQ,KAAK,WACpD,OAAO,EAAS,yCAGlB,IAAK,KAAK,QAAQ,GAChB,MAAM,IAAI,MAAM,4BACX,IAAK,KAAK,MAAM,GACrB,OAAO,EAAS,4BACX,IAAK,KAAK,UAAU,GACzB,OAAO,EAAS,4BAIlB,IAAI,EAAa,KAAK,MAAM,OAE5B,GAAI,EAAa,EACf,OAAO,EAAS,gDAGlB,GAAI,IAAe,KAAK,MAAM,QAAU,IAAe,KAAK,MAAM,QAAU,IAAe,KAAK,UAAU,QAAU,IAAe,KAAK,QAAQ,OAC9I,OAAO,EAAS,wDAGlB,IAAI,EAAU,GAEd,IACE,KAAK,cACL,EAAU,KAAK,QAEf,KAAK,QAAU,EACjB,CAAE,MAAO,GACP,OAAO,EAAS,EAAE,QACpB,CAkBA,IAhBA,IAAI,EAAQ,SAAe,GACzB,IAAI,EAAS,EAAQ,GACrB,EAAO,QAAQ,EAAO,MAAM,GAAI,EAAO,UAAU,GAAI,EAAO,QAAQ,IAAI,SAAU,EAAO,GACnF,EACF,EAAS,IAIX,EAAO,QAAQ,KAAK,GAEpB,EAAO,WAAW,KAAK,GAEvB,EAAS,KAAM,GACjB,GACF,EAES,EAAI,EAAG,EAAI,EAAQ,OAAQ,IAClC,EAAM,GAGR,OAAO,IACT,GACC,CACD,IAAK,yBACL,MAAO,SAAgC,GACrC,IAAI,EAAc,GAGlB,IAAK,IAAI,KAAO,EACV,EAAO,eAAe,IACxB,EAAY,KAAK,CACf,KAAM,EACN,KAAM,KAAK,WAAW,EAAO,GAAK,SAAS,MAC3C,UAAW,EAAO,GAAK,SAAS,UAChC,SAAU,EAAO,GAAK,SAAS,SAC/B,QAAS,EAAO,GAAK,SAAS,WAAa,EAAc,OAM/D,OAAO,CACT,GAaC,CACD,IAAK,aACL,MAAO,SAAoB,GACzB,IAAI,EAAS,KAEb,GAAwB,OAApB,KAAK,WACP,IAAK,IAAI,EAAI,EAAG,EAAI,KAAK,QAAQ,OAAQ,IACvC,KAAK,QAAQ,GAAG,WAAW,KAAK,WAAW,IAAI,SAAU,GACvD,OAAI,IAAU,EAAO,eAAe,GAC3B,EAAS,EAAO,IAGzB,EAAO,WAAa,KACpB,EAAO,QAAU,KACjB,EAAO,gBAAkB,EACzB,EAAO,gBAAkB,KAClB,EAAS,KAAM,GACxB,IAIJ,OAAO,IACT,GACC,CACD,IAAK,mBACL,MAAO,SAA0B,GAC/B,GAAI,EAAQ,GAAK,GAAS,KAAK,eAI7B,KAHU,CACR,IAAK,gCAKT,KAAK,QAAQ,OAAO,EAAO,GAE3B,KAAK,WAAW,OAAO,EAAO,GAE9B,KAAK,iBACP,GACC,CACD,IAAK,oBACL,MAAO,SAA2B,EAAU,EAAY,GACtD,IAAI,EAAmB,EAAgC,GAEvD,KAAK,QAAQ,GAAG,oBAAoB,KAAK,WAAW,GAAI,EAAU,EAAkB,EACtF,GAgBC,CACD,IAAK,QAmBL,MAAO,SAAe,EAAQ,EAAS,GACrC,IAAI,EAAS,KAET,GAAkB,EAClB,GAAoB,EACpB,EAAU,KACV,GAAe,EACf,GAAS,EACT,GAAY,KAAK,UAAU,WAE3B,IACF,EAAkB,EAAQ,eAAe,mBAAqB,EAAQ,gBAAkB,EACxF,EAAoB,EAAQ,eAAe,qBAAuB,EAAQ,kBAAoB,EAC9F,EAAU,EAAQ,eAAe,WAAa,EAAQ,QAAU,EAChE,EAAe,EAAQ,eAAe,gBAAkB,EAAQ,aAAe,EAC/E,EAAQ,EAAQ,eAAe,SAAW,EAAQ,MAAQ,EAC1D,EAAW,EAAQ,eAAe,aAAe,KAAK,UAAU,EAAQ,WAAa,GAGvF,IAEI,EAAwB,CAC1B,aAAc,EACd,kBAAmB,EACnB,MAAO,EACP,QAAS,EACT,MANU,EAOV,mBARkB,KAAW,KAAK,WAAa,KAAK,WAAW,GAAW,KAAK,oBAWjF,IAGE,GAAI,EAKF,OAJA,KAAK,QAdG,GAcY,YAAY,KAAK,WAd7B,GAcgD,EAAQ,EAAiB,EAAU,GAH7E,GAG+F,SAAU,EAAO,GAC5H,EAAO,eAAe,EAAuB,EAAQ,EAAO,EAC9D,IAEO,EACF,IAAK,EAAU,CACpB,IAAI,EAAmB,KAAK,QApBpB,GAoBmC,YAAY,KAAK,WApBpD,GAoBuE,EAAQ,EAAiB,EAAU,GATpG,GAWd,OAAO,KAAK,eAAe,EAAuB,EACpD,CACF,CAAE,MAAO,GACP,GAAiB,iBAAb,EAAI,KAAyB,CAG/B,GAFA,KAAK,iBA1BG,GA4BqB,IAAzB,KAAK,gBAEP,MADA,EAAI,IAAM,oCACJ,EAGR,KAAK,MAAM,EAAQ,EAAS,EAC9B,KAAO,KAAI,EAGT,MAAM,EAFN,EAAS,EAGX,CACF,CACF,GAOC,CACD,IAAK,UACL,MAAO,SAAiB,EAAO,EAAS,GACtC,IAAI,EAKA,EAAO,CAAC,KAAK,WADL,GACwB,EAAO,EAAY,IAHxC,GACF,EAEgE,EAAgB,KAAM,SAAU,EAAK,GAChH,IAAI,EAAM,EAAO,KAAK,EAAK,UAAW,UAClC,EAAU,EAAmF,MAAM,KAAK,GAW5G,OATI,GAAW,QAAQ,EAAQ,gBAC7B,EAAU,CACR,QAAS,EACT,OAAQ,CACN,kBAAmB,EAAK,qBAKvB,EAAS,EAAK,EACvB,GACA,OAAQ,EAAsB,KAAK,QAhBvB,IAgBuC,eAAe,MAAM,EAAqB,EAC/F,GACC,CACD,IAAK,YACL,MAAO,SAAmB,GACxB,KAAK,QAAQ,GAAG,WAAW,KAAK,WAAW,IAAI,SAAU,EAAO,GAC1D,EACF,EAAS,GAET,EAAS,KAAM,EAAO,KAAI,SAAU,GAClC,MAAO,CACL,KAAM,EACN,MAAO,MAEX,IAEJ,GACF,GAgBC,CACD,IAAK,oBACL,MAAO,SAA2B,GAChC,IAAI,EAAS,KAEb,KAAK,QAAQ,GAAG,gBAAgB,KAAK,WAAW,IAAI,SAAU,EAAO,GAC/D,EACF,EAAS,GAET,EAAS,KAAM,EAAO,KAAI,SAAU,GAClC,MAAO,CACL,KAAM,EAAM,WACZ,SAAU,OAAO,EAAM,SAAS,YAChC,gBAAiB,EAAM,UAAU,KAAI,SAAU,GAC7C,OAAO,EAAO,WAAW,EAAK,KAChC,IACA,QAAS,EAAM,QACf,cAAe,EAAM,cACrB,YAAa,OAAO,EAAM,YAAY,YACtC,SAAU,SAAS,EAAM,UAAY,OAAO,EAAM,SAAS,aAAe,EAE9E,IAEJ,GACF,GAqBC,CACD,IAAK,gBACL,MAAO,SAAuB,GAC5B,KAAK,QAAQ,GAAG,gBAAgB,KAAK,WAAW,IAAI,SAAU,EAAO,GAC/D,EACF,EAAS,GAET,EAAS,KAAM,EAEnB,GACF,GAsBC,CACD,IAAK,qBAwBL,MAAO,SAA4B,EAAa,EAAS,GACvD,IAAI,EAAS,EAAQ,OAErB,KAAK,QAAQ,GAAG,qBAAqB,KAAK,WAAW,GAAI,EAAa,GAAQ,SAAU,EAAO,GACzF,EACF,EAAS,GAET,EAAS,KAAM,EAEnB,GACF,GAQC,CACD,IAAK,mBACL,MAAO,WACL,IAAI,EAAY,EAEhB,IAAK,IAAI,KAAO,EACV,EAAU,eAAe,KAC3B,KAAK,WAAW,EAAU,IAAQ,EAGxC,GAkBC,CACD,IAAK,YACL,MAAO,SAAmB,EAAW,GACnC,IAAI,EAAS,KAEb,KAAK,QAAQ,GAAG,kBAAkB,KAAK,WAAW,GAAI,GAAW,SAAU,EAAO,GAChF,GAAI,EACF,EAAS,QACJ,GAAI,EAAQ,CACjB,IAAI,EAAU,EAAO,SAAS,QAAO,SAAU,EAAO,GAEpD,OADA,EAAM,EAAM,UAAY,EACjB,CACT,GAAG,CAAC,GACJ,EAAS,KAAM,EAAc,EAAc,CAAC,EAAG,GAAS,CAAC,EAAG,CAC1D,QAAS,EAAO,uBAAuB,KAE3C,MACE,EAAS,IAAI,MAAM,UAAU,OAAO,EAAW,gBAEnD,GACF,GACC,CACD,IAAK,cACL,MAAO,SAAqB,EAAW,EAAY,EAAW,EAAc,GAC1E,IAAK,KAAK,WACR,MAAM,IAAI,MAAM,4EAKlB,IAFA,IAAI,EAAgB,EAAoB,EAAY,KAAK,iBAEhD,EAAI,EAAG,EAAI,KAAK,gBAAiB,IACxC,KAAK,QAAQ,GAAG,aAAa,KAAK,WAAW,GAAI,EAAW,EAAe,EAAW,GAAc,SAAU,GACxG,EACF,EAAS,GAET,GAEJ,GAEJ,GAeC,CACD,IAAK,cACL,MAAO,SAAqB,EAAW,EAAU,EAAY,EAAY,EAAa,GACpF,IAAK,KAAK,WACR,MAAM,IAAI,MAAM,4EAclB,IAXA,IAAI,EAAmB,EAAgC,GACnD,EAAgB,EAAoB,EAAY,KAAK,iBAErD,EAAiB,SAAwB,EAAK,GAC5C,EACF,EAAS,GAET,EAAS,KAAM,EAEnB,EAES,EAAI,EAAG,EAAI,KAAK,gBAAiB,IACpC,EACF,KAAK,QAAQ,GAAG,iBAAiB,KAAK,WAAW,GAAI,EAAW,EAAU,EAAkB,EAAe,IAAI,cAAiB,GAEhI,KAAK,QAAQ,GAAG,aAAa,KAAK,WAAW,GAAI,EAAW,EAAU,EAAkB,EAG9F,GACC,CACD,IAAK,0BACL,MAAO,SAAiC,GACtC,IAAI,EAAS,KAEb,OAAO,SAAU,EAAW,EAAU,EAAY,GAChD,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,EAAO,YAAY,EAAW,EAAU,EAAY,EAAS,GAAa,SAAU,EAAK,GACnF,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,GACF,CACF,GASC,CACD,IAAK,aAgBL,MAAO,SAAoB,EAAU,EAAM,EAAS,GAGlD,IAAI,EAAS,KAET,EAAU,KACV,EAjqCsB,EAmqCtB,IACF,EAAU,EAAQ,eAAe,WAAa,EAAQ,QAAU,EAChE,EAAmB,EAAQ,eAAe,oBAAsB,EAAQ,iBAAmB,GAG7F,IAAI,EAAgB,KAAW,KAAK,WAAa,KAAK,WAAW,GAAW,KAAK,mBAC7E,GAAY,KAAK,UAAU,WAE3B,IACF,EAAW,EAAQ,eAAe,aAAe,KAAK,UAAU,EAAQ,WAAa,GAIvF,KAAK,eADO,EAEZ,IAAI,EAAwB,CAC1B,SAAS,EACT,MAAO,WAAW,OAAO,GACzB,QAAS,EACT,MANU,EAOV,mBAAoB,GAGtB,IAAK,EAAU,CACb,IAAI,EAAe,KAAK,QAXd,GAW6B,YAAY,KAAK,WAX9C,GAWiE,EAAU,EAAM,EAAkB,GAE7G,OAAO,KAAK,eAAe,EAAuB,EACpD,CAMA,OAJA,KAAK,QAhBO,GAgBQ,YAAY,KAAK,WAhBzB,GAgB4C,EAAU,EAAM,EAAkB,GAAU,SAAU,EAAO,GACnH,EAAO,eAAe,EAAuB,EAAQ,EAAO,EAC9D,IAEO,CACT,GACC,CACD,IAAK,uBAcL,MAAO,SAA8B,EAAU,EAAO,GAGpD,IAAI,EAAc,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,EAClF,EAAW,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,KAE7E,aAAiB,IACrB,EAAQ,IAAI,EAAO,IAGrB,IAAI,GAAe,EAEf,GAAY,KAAK,UAAU,WAE/B,OAAK,GAKL,KAAK,QAAQ,KAAK,gBAAgB,yBAAyB,KAAK,WAAW,KAAK,gBAAiB,EAAU,EAAO,EAAkB,EAAc,EAAa,EAAU,KAAK,oBAAoB,KAAK,KAAM,IAEtM,GANE,KAAK,yBAAoB,EAChC,KAAK,QAAQ,KAAK,gBAAgB,yBAAyB,KAAK,WAAW,KAAK,gBAAiB,EAAU,EAAO,EAAkB,EAAc,EAAa,GAMnK,GACC,CACD,IAAK,sBAWL,MAAO,SAA6B,EAAU,EAAO,GAGnD,GAFA,EAAU,MAAM,QAAQ,GAAW,EAAQ,WAAa,CAAC,GAErD,EAAO,CACT,GAAI,EACF,OAAO,EAAS,EAAO,GAEvB,MAAM,IAAI,MAAM,mDAAmD,OAAO,GAE9E,CAUA,IARA,IAAI,EAAwB,CAC1B,SAAS,EACT,mBAAmB,EACnB,MAAO,gBACP,SAAU,GAER,EAAY,EAAQ,OAEf,EAAI,EAAG,EAAI,EAAW,IAC7B,EAAQ,GAAG,QAAU,KAAK,eAAe,EAAuB,EAAQ,IAG1E,OAAI,EACK,EAAS,EAAO,GAEhB,CAEX,GAkBC,CACD,IAAK,YACL,MAAO,SAAmB,GACxB,OAAK,UAAU,QAIf,KAAK,WAAa,EAAS,GACpB,MAJE,KAAK,UAKhB,GAeC,CACD,IAAK,OACL,MAAO,SAAc,GACnB,OAAK,UAAU,QAIf,KAAK,MAAQ,EAAS,GACf,MAJE,KAAK,KAKhB,GAcC,CACD,IAAK,OACL,MAAO,SAAc,GACnB,OAAK,UAAU,QAIf,KAAK,MAAQ,EAAS,GACf,MAJE,KAAK,KAKhB,GAcC,CACD,IAAK,OACL,MAAO,SAAc,GACnB,OAAK,UAAU,QAIf,KAAK,MAAQ,EAAS,GACf,MAJE,KAAK,KAKhB,GAcC,CACD,IAAK,WACL,MAAO,SAAkB,GACvB,OAAK,UAAU,QAIf,KAAK,UAAY,EAAS,GACnB,MAJE,KAAK,SAKhB,GAcC,CACD,IAAK,SACL,MAAO,SAAgB,GACrB,OAAK,UAAU,QAIf,KAAK,QAAU,EAAS,GACjB,MAJE,KAAK,OAKhB,GAeC,CACD,IAAK,UACL,MAAO,SAAiB,GACtB,YAAwB,IAAb,EACF,KAAK,SACiB,kBAAb,EACT,+CAGT,KAAK,SAAW,EAET,sBAAsB,OADV,EAAW,UAAY,YAE5C,GAcC,CACD,IAAK,WACL,MAAO,SAAkB,GACvB,OAAK,UAAU,QAIf,KAAK,UAAY,EACV,MAJE,KAAK,SAKhB,GAWC,CACD,IAAK,iBACL,MAAO,WACL,OAAO,KAAK,eACd,GAcC,CACD,IAAK,WACL,MAAO,SAAkB,GACvB,OAAK,UAAU,QAIf,KAAK,UAAY,EAAS,GACnB,MAJE,KAAK,SAKhB,GAQC,CACD,IAAK,uBACL,MAAO,SAA8B,GACnC,OAAK,UAAU,QAIf,KAAK,sBAAwB,EACtB,MAJE,KAAK,qBAKhB,GAWC,CACD,IAAK,eACL,MAAO,WACL,IAAI,EAAS,KAEb,OAAO,KAAK,MAAM,KAAI,SAAU,EAAM,GACpC,MAAO,GAAG,OAAO,EAAO,UAAU,GAAI,OAAO,OAAO,EAAM,KAAK,OAAO,EAAO,MAAM,GACrF,GACF,GAQC,CACD,IAAK,gBACL,MAAO,SAAuB,EAAK,GACjC,IAAI,EAAU,KAEV,EAAW,EAAO,SAClB,EAAO,EAAO,KACd,EAAO,EAAO,KAClB,OAAO,IAAI,SAAQ,SAAU,GAC3B,IAAI,EAAS,MAAM,QAAQ,EAAQ,UAAY,EAAQ,QAAQ,GAE3D,EAAY,EAAQ,YAAc,EAAQ,WAAW,GAEzD,IAAK,EAAQ,CACX,IAAI,EAAM,GAAG,OAAO,EAAU,OAAO,OAAO,EAAM,KAAK,OAAO,GAC1D,EAAkB,IAAI,EAAoB,UAAU,GAExD,EAAS,IAAI,EADQ,IAAI,EAAoB,SAAS,IAEtD,EAAY,EACd,CAGA,EADa,EAAO,gBAAgB,EAAW,EAAK,EAAQ,UAE9D,GACF,GAOC,CACD,IAAK,mBACL,MAAO,SAA0B,GAC/B,IAAI,EAAU,KAEV,EAAW,EAAO,SAClB,EAAO,EAAO,KACd,EAAO,EAAO,KAClB,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,IAAI,EAAS,MAAM,QAAQ,EAAQ,UAAY,EAAQ,QAAQ,GAE3D,EAAY,EAAQ,YAAc,EAAQ,WAAW,GAEzD,IAAK,EAAQ,CACX,IAAI,EAAM,GAAG,OAAO,EAAU,OAAO,OAAO,EAAM,KAAK,OAAO,GAC1D,EAAkB,IAAI,EAAoB,UAAU,GAExD,EAAS,IAAI,EADQ,IAAI,EAAoB,SAAS,IAEtD,EAAY,EACd,CAEA,IAEE,EADa,EAAO,mBAAmB,EAAW,EAAQ,UAE5D,CAAE,MAAO,GACP,EAAO,EACT,CACF,GACF,GACC,CACD,IAAK,iBACL,MAAO,SAAwB,GAC7B,OAAO,aAAkB,KAAkF,IAA5D,OAAO,EAAO,WAAW,QAAQ,wBAAsG,IAAtE,OAAO,EAAO,WAAW,QAAQ,gCACnJ,IA9oD8D,GAAY,EAAkB,EAAY,UAAW,GAAiB,GAAa,EAAkB,EAAa,GAipD3K,CACT,CAhmD2B,GAkmD3B,SAAS,EAA2C,EAAW,EAAQ,GACrE,EAAY,SAAQ,SAAU,GAC5B,IAAI,EAAU,EAAU,GAExB,EAAU,GAAc,WACtB,IACE,IAAK,IAAI,EAAQ,UAAU,OAAQ,EAAO,IAAI,MAAM,GAAQ,EAAQ,EAAG,EAAQ,EAAO,IACpF,EAAK,GAAS,UAAU,GAI1B,OAAO,EAAQ,MAAM,EAAW,EAClC,CAAE,MAAO,GAOP,MALA,EAAO,OAAO,SAAW,EACzB,EAAO,OAAO,WAAa,GAC3B,EAAO,OAAO,OAAS,KAEvB,EAAO,MAAM,EAAO,QAAU,KACxB,CACR,CACF,CACF,GACF,CAE6B,MAAM,EAAe,CAE3C,EAED,KACA,CAAE,EAAyB,KAEjC,aAGA,EAAQ,WAuCR,SAAqB,GACnB,IAAI,EAAO,EAAQ,GACf,EAAW,EAAK,GAChB,EAAkB,EAAK,GAC3B,OAAuC,GAA9B,EAAW,GAAuB,EAAK,CAClD,EA3CA,EAAQ,YAiDR,SAAsB,GACpB,IAAI,EAcA,EAbA,EAAO,EAAQ,GACf,EAAW,EAAK,GAChB,EAAkB,EAAK,GAEvB,EAAM,IAAI,EAVhB,SAAsB,EAAK,EAAU,GACnC,OAAuC,GAA9B,EAAW,GAAuB,EAAK,CAClD,CAQoB,CAAY,EAAK,EAAU,IAEzC,EAAU,EAGV,EAAM,EAAkB,EACxB,EAAW,EACX,EAGJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EACG,EAAU,EAAI,WAAW,KAAO,GAChC,EAAU,EAAI,WAAW,EAAI,KAAO,GACpC,EAAU,EAAI,WAAW,EAAI,KAAO,EACrC,EAAU,EAAI,WAAW,EAAI,IAC/B,EAAI,KAAc,GAAO,GAAM,IAC/B,EAAI,KAAc,GAAO,EAAK,IAC9B,EAAI,KAAmB,IAAN,EAGK,IAApB,IACF,EACG,EAAU,EAAI,WAAW,KAAO,EAChC,EAAU,EAAI,WAAW,EAAI,KAAO,EACvC,EAAI,KAAmB,IAAN,GAGK,IAApB,IACF,EACG,EAAU,EAAI,WAAW,KAAO,GAChC,EAAU,EAAI,WAAW,EAAI,KAAO,EACpC,EAAU,EAAI,WAAW,EAAI,KAAO,EACvC,EAAI,KAAc,GAAO,EAAK,IAC9B,EAAI,KAAmB,IAAN,GAGnB,OAAO,CACT,EA5FA,EAAQ,cAkHR,SAAwB,GAQtB,IAPA,IAAI,EACA,EAAM,EAAM,OACZ,EAAa,EAAM,EACnB,EAAQ,GACR,EAAiB,MAGZ,EAAI,EAAG,EAAO,EAAM,EAAY,EAAI,EAAM,GAAK,EACtD,EAAM,KAAK,EAAY,EAAO,EAAI,EAAI,EAAkB,EAAO,EAAQ,EAAI,IAI1D,IAAf,GACF,EAAM,EAAM,EAAM,GAClB,EAAM,KACJ,EAAO,GAAO,GACd,EAAQ,GAAO,EAAK,IACpB,OAEsB,IAAf,IACT,GAAO,EAAM,EAAM,IAAM,GAAK,EAAM,EAAM,GAC1C,EAAM,KACJ,EAAO,GAAO,IACd,EAAQ,GAAO,EAAK,IACpB,EAAQ,GAAO,EAAK,IACpB,MAIJ,OAAO,EAAM,KAAK,GACpB,EA1IA,IALA,IAAI,EAAS,GACT,EAAY,GACZ,EAA4B,oBAAf,WAA6B,WAAa,MAEvD,EAAO,mEACF,EAAI,EAAsB,EAAb,KAAwB,EAC5C,EAAO,GAAK,EAAK,GACjB,EAAU,EAAK,WAAW,IAAM,EAQlC,SAAS,EAAS,GAChB,IAAI,EAAM,EAAI,OAEd,GAAI,EAAM,EAAI,EACZ,MAAM,IAAI,MAAM,kDAKlB,IAAI,EAAW,EAAI,QAAQ,KAO3B,OANkB,IAAd,IAAiB,EAAW,GAMzB,CAAC,EAJc,IAAa,EAC/B,EACA,EAAK,EAAW,EAGtB,CAmEA,SAAS,EAAa,EAAO,EAAO,GAGlC,IAFA,IAAI,EARoB,EASpB,EAAS,GACJ,EAAI,EAAO,EAAI,EAAK,GAAK,EAChC,GACI,EAAM,IAAM,GAAM,WAClB,EAAM,EAAI,IAAM,EAAK,QACP,IAAf,EAAM,EAAI,IACb,EAAO,KAdF,GADiB,EAeM,IAdT,GAAK,IACxB,EAAO,GAAO,GAAK,IACnB,EAAO,GAAO,EAAI,IAClB,EAAa,GAAN,IAaT,OAAO,EAAO,KAAK,GACrB,CAlGA,EAAU,IAAI,WAAW,IAAM,GAC/B,EAAU,IAAI,WAAW,IAAM,EAqIxB,EAED,KACA,CAAE,EAAyB,EAAS,KAE1C;;;;;;GAWA,IAAI,EAAS,EAAoB,MAC7B,EAAU,EAAoB,KAC9B,EACiB,mBAAX,QAAkD,mBAAlB,OAAY,IAChD,OAAY,IAAE,8BACd,KAEN,EAAQ,OAAS,EACjB,EAAQ,WA2TR,SAAqB,IACd,GAAU,IACb,EAAS,GAEX,OAAO,EAAO,OAAO,EACvB,EA/TA,EAAQ,kBAAoB,GAE5B,IAAI,EAAe,WAwDnB,SAAS,EAAc,GACrB,GAAI,EAAS,EACX,MAAM,IAAI,WAAW,cAAgB,EAAS,kCAGhD,IAAI,EAAM,IAAI,WAAW,GAEzB,OADA,OAAO,eAAe,EAAK,EAAO,WAC3B,CACT,CAYA,SAAS,EAAQ,EAAK,EAAkB,GAEtC,GAAmB,iBAAR,EAAkB,CAC3B,GAAgC,iBAArB,EACT,MAAM,IAAI,UACR,sEAGJ,OAAO,EAAY,EACrB,CACA,OAAO,EAAK,EAAK,EAAkB,EACrC,CAIA,SAAS,EAAM,EAAO,EAAkB,GACtC,GAAqB,iBAAV,EACT,OAuHJ,SAAqB,EAAQ,GACH,iBAAb,GAAsC,KAAb,IAClC,EAAW,QAGb,IAAK,EAAO,WAAW,GACrB,MAAM,IAAI,UAAU,qBAAuB,GAG7C,IAAI,EAAwC,EAA/B,EAAW,EAAQ,GAC5B,EAAM,EAAa,GAEnB,EAAS,EAAI,MAAM,EAAQ,GAE3B,IAAW,IAIb,EAAM,EAAI,MAAM,EAAG,IAGrB,OAAO,CACT,CA7IW,CAAW,EAAO,GAG3B,GAAI,YAAY,OAAO,GACrB,OAoJJ,SAAwB,GACtB,GAAI,EAAW,EAAW,YAAa,CACrC,IAAI,EAAO,IAAI,WAAW,GAC1B,OAAO,EAAgB,EAAK,OAAQ,EAAK,WAAY,EAAK,WAC5D,CACA,OAAO,EAAc,EACvB,CA1JW,CAAc,GAGvB,GAAa,MAAT,EACF,MAAM,IAAI,UACR,yHACiD,GAIrD,GAAI,EAAW,EAAO,cACjB,GAAS,EAAW,EAAM,OAAQ,aACrC,OAAO,EAAgB,EAAO,EAAkB,GAGlD,GAAiC,oBAAtB,oBACN,EAAW,EAAO,oBAClB,GAAS,EAAW,EAAM,OAAQ,oBACrC,OAAO,EAAgB,EAAO,EAAkB,GAGlD,GAAqB,iBAAV,EACT,MAAM,IAAI,UACR,yEAIJ,IAAI,EAAU,EAAM,SAAW,EAAM,UACrC,GAAe,MAAX,GAAmB,IAAY,EACjC,OAAO,EAAO,KAAK,EAAS,EAAkB,GAGhD,IAAI,EAoJN,SAAqB,GACnB,GAAI,EAAO,SAAS,GAAM,CACxB,IAAI,EAA4B,EAAtB,EAAQ,EAAI,QAClB,EAAM,EAAa,GAEvB,OAAmB,IAAf,EAAI,QAIR,EAAI,KAAK,EAAK,EAAG,EAAG,GAHX,CAKX,CAEA,QAAmB,IAAf,EAAI,OACN,MAA0B,iBAAf,EAAI,QAAuB,EAAY,EAAI,QAC7C,EAAa,GAEf,EAAc,GAGvB,GAAiB,WAAb,EAAI,MAAqB,MAAM,QAAQ,EAAI,MAC7C,OAAO,EAAc,EAAI,KAE7B,CA3KU,CAAW,GACnB,GAAI,EAAG,OAAO,EAEd,GAAsB,oBAAX,QAAgD,MAAtB,OAAO,aACH,mBAA9B,EAAM,OAAO,aACtB,OAAO,EAAO,KACZ,EAAM,OAAO,aAAa,UAAW,EAAkB,GAI3D,MAAM,IAAI,UACR,yHACiD,EAErD,CAmBA,SAAS,EAAY,GACnB,GAAoB,iBAAT,EACT,MAAM,IAAI,UAAU,0CACf,GAAI,EAAO,EAChB,MAAM,IAAI,WAAW,cAAgB,EAAO,iCAEhD,CA0BA,SAAS,EAAa,GAEpB,OADA,EAAW,GACJ,EAAa,EAAO,EAAI,EAAoB,EAAhB,EAAQ,GAC7C,CAuCA,SAAS,EAAe,GAGtB,IAFA,IAAI,EAAS,EAAM,OAAS,EAAI,EAA4B,EAAxB,EAAQ,EAAM,QAC9C,EAAM,EAAa,GACd,EAAI,EAAG,EAAI,EAAQ,GAAK,EAC/B,EAAI,GAAgB,IAAX,EAAM,GAEjB,OAAO,CACT,CAUA,SAAS,EAAiB,EAAO,EAAY,GAC3C,GAAI,EAAa,GAAK,EAAM,WAAa,EACvC,MAAM,IAAI,WAAW,wCAGvB,GAAI,EAAM,WAAa,GAAc,GAAU,GAC7C,MAAM,IAAI,WAAW,wCAGvB,IAAI,EAYJ,OAVE,OADiB,IAAf,QAAuC,IAAX,EACxB,IAAI,WAAW,QACD,IAAX,EACH,IAAI,WAAW,EAAO,GAEtB,IAAI,WAAW,EAAO,EAAY,GAI1C,OAAO,eAAe,EAAK,EAAO,WAE3B,CACT,CA2BA,SAAS,EAAS,GAGhB,GAAI,GAAU,EACZ,MAAM,IAAI,WAAW,0DACa,EAAa,SAAS,IAAM,UAEhE,OAAgB,EAAT,CACT,CAqGA,SAAS,EAAY,EAAQ,GAC3B,GAAI,EAAO,SAAS,GAClB,OAAO,EAAO,OAEhB,GAAI,YAAY,OAAO,IAAW,EAAW,EAAQ,aACnD,OAAO,EAAO,WAEhB,GAAsB,iBAAX,EACT,MAAM,IAAI,UACR,kGAC0B,GAI9B,IAAI,EAAM,EAAO,OACb,EAAa,UAAU,OAAS,IAAsB,IAAjB,UAAU,GACnD,IAAK,GAAqB,IAAR,EAAW,OAAO,EAIpC,IADA,IAAI,GAAc,IAEhB,OAAQ,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO,EACT,IAAK,OACL,IAAK,QACH,OAAO,EAAY,GAAQ,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAAN,EACT,IAAK,MACH,OAAO,IAAQ,EACjB,IAAK,SACH,OAAO,EAAc,GAAQ,OAC/B,QACE,GAAI,EACF,OAAO,GAAa,EAAI,EAAY,GAAQ,OAE9C,GAAY,GAAK,GAAU,cAC3B,GAAc,EAGtB,CAGA,SAAS,EAAc,EAAU,EAAO,GACtC,IAAI,GAAc,EAclB,SALc,IAAV,GAAuB,EAAQ,KACjC,EAAQ,GAIN,EAAQ,KAAK,OACf,MAAO,GAOT,SAJY,IAAR,GAAqB,EAAM,KAAK,UAClC,EAAM,KAAK,QAGT,GAAO,EACT,MAAO,GAOT,IAHA,KAAS,KACT,KAAW,GAGT,MAAO,GAKT,IAFK,IAAU,EAAW,UAGxB,OAAQ,GACN,IAAK,MACH,OAAO,EAAS,KAAM,EAAO,GAE/B,IAAK,OACL,IAAK,QACH,OAAO,EAAU,KAAM,EAAO,GAEhC,IAAK,QACH,OAAO,EAAW,KAAM,EAAO,GAEjC,IAAK,SACL,IAAK,SACH,OAAO,EAAY,KAAM,EAAO,GAElC,IAAK,SACH,OAAO,EAAY,KAAM,EAAO,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EAAa,KAAM,EAAO,GAEnC,QACE,GAAI,EAAa,MAAM,IAAI,UAAU,qBAAuB,GAC5D,GAAY,EAAW,IAAI,cAC3B,GAAc,EAGtB,CAUA,SAAS,EAAM,EAAG,EAAG,GACnB,IAAI,EAAI,EAAE,GACV,EAAE,GAAK,EAAE,GACT,EAAE,GAAK,CACT,CA2IA,SAAS,EAAsB,EAAQ,EAAK,EAAY,EAAU,GAEhE,GAAsB,IAAlB,EAAO,OAAc,OAAQ,EAmBjC,GAhB0B,iBAAf,GACT,EAAW,EACX,EAAa,GACJ,EAAa,WACtB,EAAa,WACJ,GAAc,aACvB,GAAc,YAGZ,EADJ,GAAc,KAGZ,EAAa,EAAM,EAAK,EAAO,OAAS,GAItC,EAAa,IAAG,EAAa,EAAO,OAAS,GAC7C,GAAc,EAAO,OAAQ,CAC/B,GAAI,EAAK,OAAQ,EACZ,EAAa,EAAO,OAAS,CACpC,MAAO,GAAI,EAAa,EAAG,CACzB,IAAI,EACC,OAAQ,EADJ,EAAa,CAExB,CAQA,GALmB,iBAAR,IACT,EAAM,EAAO,KAAK,EAAK,IAIrB,EAAO,SAAS,GAElB,OAAmB,IAAf,EAAI,QACE,EAEH,EAAa,EAAQ,EAAK,EAAY,EAAU,GAClD,GAAmB,iBAAR,EAEhB,OADA,GAAY,IACgC,mBAAjC,WAAW,UAAU,QAC1B,EACK,WAAW,UAAU,QAAQ,KAAK,EAAQ,EAAK,GAE/C,WAAW,UAAU,YAAY,KAAK,EAAQ,EAAK,GAGvD,EAAa,EAAQ,CAAC,GAAM,EAAY,EAAU,GAG3D,MAAM,IAAI,UAAU,uCACtB,CAEA,SAAS,EAAc,EAAK,EAAK,EAAY,EAAU,GACrD,IA0BI,EA1BA,EAAY,EACZ,EAAY,EAAI,OAChB,EAAY,EAAI,OAEpB,QAAiB,IAAb,IAEe,UADjB,EAAW,OAAO,GAAU,gBACY,UAAb,GACV,YAAb,GAAuC,aAAb,GAAyB,CACrD,GAAI,EAAI,OAAS,GAAK,EAAI,OAAS,EACjC,OAAQ,EAEV,EAAY,EACZ,GAAa,EACb,GAAa,EACb,GAAc,CAChB,CAGF,SAAS,EAAM,EAAK,GAClB,OAAkB,IAAd,EACK,EAAI,GAEJ,EAAI,aAAa,EAAI,EAEhC,CAGA,GAAI,EAAK,CACP,IAAI,GAAc,EAClB,IAAK,EAAI,EAAY,EAAI,EAAW,IAClC,GAAI,EAAK,EAAK,KAAO,EAAK,GAAqB,IAAhB,EAAoB,EAAI,EAAI,IAEzD,IADoB,IAAhB,IAAmB,EAAa,GAChC,EAAI,EAAa,IAAM,EAAW,OAAO,EAAa,OAEtC,IAAhB,IAAmB,GAAK,EAAI,GAChC,GAAc,CAGpB,MAEE,IADI,EAAa,EAAY,IAAW,EAAa,EAAY,GAC5D,EAAI,EAAY,GAAK,EAAG,IAAK,CAEhC,IADA,IAAI,GAAQ,EACH,EAAI,EAAG,EAAI,EAAW,IAC7B,GAAI,EAAK,EAAK,EAAI,KAAO,EAAK,EAAK,GAAI,CACrC,GAAQ,EACR,KACF,CAEF,GAAI,EAAO,OAAO,CACpB,CAGF,OAAQ,CACV,CAcA,SAAS,EAAU,EAAK,EAAQ,EAAQ,GACtC,EAAS,OAAO,IAAW,EAC3B,IAAI,EAAY,EAAI,OAAS,EACxB,GAGH,EAAS,OAAO,IACH,IACX,EAAS,GAJX,EAAS,EAQX,IAAI,EAAS,EAAO,OAEhB,EAAS,EAAS,IACpB,EAAS,EAAS,GAEpB,IAAK,IAAI,EAAI,EAAG,EAAI,IAAU,EAAG,CAC/B,IAAI,EAAS,SAAS,EAAO,OAAW,EAAJ,EAAO,GAAI,IAC/C,GAAI,EAAY,GAAS,OAAO,EAChC,EAAI,EAAS,GAAK,CACpB,CACA,OAAO,CACT,CAEA,SAAS,EAAW,EAAK,EAAQ,EAAQ,GACvC,OAAO,EAAW,EAAY,EAAQ,EAAI,OAAS,GAAS,EAAK,EAAQ,EAC3E,CAEA,SAAS,EAAY,EAAK,EAAQ,EAAQ,GACxC,OAAO,EAk4BT,SAAuB,GAErB,IADA,IAAI,EAAY,GACP,EAAI,EAAG,EAAI,EAAI,SAAU,EAEhC,EAAU,KAAyB,IAApB,EAAI,WAAW,IAEhC,OAAO,CACT,CAz4BoB,CAAa,GAAS,EAAK,EAAQ,EACvD,CAEA,SAAS,EAAa,EAAK,EAAQ,EAAQ,GACzC,OAAO,EAAW,EAAc,GAAS,EAAK,EAAQ,EACxD,CAEA,SAAS,EAAW,EAAK,EAAQ,EAAQ,GACvC,OAAO,EAm4BT,SAAyB,EAAK,GAG5B,IAFA,IAAI,EAAG,EAAI,EACP,EAAY,GACP,EAAI,EAAG,EAAI,EAAI,WACjB,GAAS,GAAK,KADa,EAIhC,GADA,EAAI,EAAI,WAAW,KACT,EACV,EAAK,EAAI,IACT,EAAU,KAAK,GACf,EAAU,KAAK,GAGjB,OAAO,CACT,CAj5BoB,CAAe,EAAQ,EAAI,OAAS,GAAS,EAAK,EAAQ,EAC9E,CA8EA,SAAS,EAAa,EAAK,EAAO,GAChC,OAAc,IAAV,GAAe,IAAQ,EAAI,OACtB,EAAO,cAAc,GAErB,EAAO,cAAc,EAAI,MAAM,EAAO,GAEjD,CAEA,SAAS,EAAW,EAAK,EAAO,GAC9B,EAAM,KAAK,IAAI,EAAI,OAAQ,GAI3B,IAHA,IAAI,EAAM,GAEN,EAAI,EACD,EAAI,GAAK,CACd,IAWM,EAAY,EAAW,EAAY,EAXrC,EAAY,EAAI,GAChB,EAAY,KACZ,EAAoB,EAAY,IAChC,EACC,EAAY,IACT,EACC,EAAY,IACT,EACA,EAEZ,GAAI,EAAI,GAAoB,EAG1B,OAAQ,GACN,KAAK,EACC,EAAY,MACd,EAAY,GAEd,MACF,KAAK,EAEyB,MAAV,KADlB,EAAa,EAAI,EAAI,OAEnB,GAA6B,GAAZ,IAAqB,EAAoB,GAAb,GACzB,MAClB,EAAY,GAGhB,MACF,KAAK,EACH,EAAa,EAAI,EAAI,GACrB,EAAY,EAAI,EAAI,GACQ,MAAV,IAAb,IAAsD,MAAV,IAAZ,KACnC,GAA6B,GAAZ,IAAoB,IAAoB,GAAb,IAAsB,EAAmB,GAAZ,GACrD,OAAU,EAAgB,OAAU,EAAgB,SACtE,EAAY,GAGhB,MACF,KAAK,EACH,EAAa,EAAI,EAAI,GACrB,EAAY,EAAI,EAAI,GACpB,EAAa,EAAI,EAAI,GACO,MAAV,IAAb,IAAsD,MAAV,IAAZ,IAAsD,MAAV,IAAb,KAClE,GAA6B,GAAZ,IAAoB,IAAqB,GAAb,IAAsB,IAAmB,GAAZ,IAAqB,EAAoB,GAAb,GAClF,OAAU,EAAgB,UAC5C,EAAY,GAMJ,OAAd,GAGF,EAAY,MACZ,EAAmB,GACV,EAAY,QAErB,GAAa,MACb,EAAI,KAAK,IAAc,GAAK,KAAQ,OACpC,EAAY,MAAqB,KAAZ,GAGvB,EAAI,KAAK,GACT,GAAK,CACP,CAEA,OAQF,SAAgC,GAC9B,IAAI,EAAM,EAAW,OACrB,GAAI,GAAO,EACT,OAAO,OAAO,aAAa,MAAM,OAAQ,GAI3C,IAAI,EAAM,GACN,EAAI,EACR,KAAO,EAAI,GACT,GAAO,OAAO,aAAa,MACzB,OACA,EAAW,MAAM,EAAG,GAAK,IAG7B,OAAO,CACT,CAxBS,CAAsB,EAC/B,CA3+BA,EAAQ,WAAa,EAgBrB,EAAO,oBAUP,WAEE,IACE,IAAI,EAAM,IAAI,WAAW,GACrB,EAAQ,CAAE,IAAK,WAAc,OAAO,EAAG,GAG3C,OAFA,OAAO,eAAe,EAAO,WAAW,WACxC,OAAO,eAAe,EAAK,GACN,KAAd,EAAI,KACb,CAAE,MAAO,GACP,OAAO,CACT,CACF,CArB6B,GAExB,EAAO,qBAA0C,oBAAZ,SACb,mBAAlB,QAAQ,OACjB,QAAQ,MACN,iJAkBJ,OAAO,eAAe,EAAO,UAAW,SAAU,CAChD,YAAY,EACZ,IAAK,WACH,GAAK,EAAO,SAAS,MACrB,OAAO,KAAK,MACd,IAGF,OAAO,eAAe,EAAO,UAAW,SAAU,CAChD,YAAY,EACZ,IAAK,WACH,GAAK,EAAO,SAAS,MACrB,OAAO,KAAK,UACd,IAoCF,EAAO,SAAW,KAgElB,EAAO,KAAO,SAAU,EAAO,EAAkB,GAC/C,OAAO,EAAK,EAAO,EAAkB,EACvC,EAIA,OAAO,eAAe,EAAO,UAAW,WAAW,WACnD,OAAO,eAAe,EAAQ,YA8B9B,EAAO,MAAQ,SAAU,EAAM,EAAM,GACnC,OArBF,SAAgB,EAAM,EAAM,GAE1B,OADA,EAAW,GACP,GAAQ,EACH,EAAa,QAET,IAAT,EAIyB,iBAAb,EACV,EAAa,GAAM,KAAK,EAAM,GAC9B,EAAa,GAAM,KAAK,GAEvB,EAAa,EACtB,CAOS,CAAM,EAAM,EAAM,EAC3B,EAUA,EAAO,YAAc,SAAU,GAC7B,OAAO,EAAY,EACrB,EAIA,EAAO,gBAAkB,SAAU,GACjC,OAAO,EAAY,EACrB,EA6GA,EAAO,SAAW,SAAmB,GACnC,OAAY,MAAL,IAA6B,IAAhB,EAAE,WACpB,IAAM,EAAO,SACjB,EAEA,EAAO,QAAU,SAAkB,EAAG,GAGpC,GAFI,EAAW,EAAG,cAAa,EAAI,EAAO,KAAK,EAAG,EAAE,OAAQ,EAAE,aAC1D,EAAW,EAAG,cAAa,EAAI,EAAO,KAAK,EAAG,EAAE,OAAQ,EAAE,cACzD,EAAO,SAAS,KAAO,EAAO,SAAS,GAC1C,MAAM,IAAI,UACR,yEAIJ,GAAI,IAAM,EAAG,OAAO,EAKpB,IAHA,IAAI,EAAI,EAAE,OACN,EAAI,EAAE,OAED,EAAI,EAAG,EAAM,KAAK,IAAI,EAAG,GAAI,EAAI,IAAO,EAC/C,GAAI,EAAE,KAAO,EAAE,GAAI,CACjB,EAAI,EAAE,GACN,EAAI,EAAE,GACN,KACF,CAGF,OAAI,EAAI,GAAW,EACf,EAAI,EAAU,EACX,CACT,EAEA,EAAO,WAAa,SAAqB,GACvC,OAAQ,OAAO,GAAU,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,EAEb,EAEA,EAAO,OAAS,SAAiB,EAAM,GACrC,IAAK,MAAM,QAAQ,GACjB,MAAM,IAAI,UAAU,+CAGtB,GAAoB,IAAhB,EAAK,OACP,OAAO,EAAO,MAAM,GAGtB,IAAI,EACJ,QAAe,IAAX,EAEF,IADA,EAAS,EACJ,EAAI,EAAG,EAAI,EAAK,SAAU,EAC7B,GAAU,EAAK,GAAG,OAItB,IAAI,EAAS,EAAO,YAAY,GAC5B,EAAM,EACV,IAAK,EAAI,EAAG,EAAI,EAAK,SAAU,EAAG,CAChC,IAAI,EAAM,EAAK,GACf,GAAI,EAAW,EAAK,YACd,EAAM,EAAI,OAAS,EAAO,OAC5B,EAAO,KAAK,GAAK,KAAK,EAAQ,GAE9B,WAAW,UAAU,IAAI,KACvB,EACA,EACA,OAGC,KAAK,EAAO,SAAS,GAC1B,MAAM,IAAI,UAAU,+CAEpB,EAAI,KAAK,EAAQ,EACnB,CACA,GAAO,EAAI,MACb,CACA,OAAO,CACT,EAiDA,EAAO,WAAa,EA8EpB,EAAO,UAAU,WAAY,EAQ7B,EAAO,UAAU,OAAS,WACxB,IAAI,EAAM,KAAK,OACf,GAAI,EAAM,GAAM,EACd,MAAM,IAAI,WAAW,6CAEvB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,GAAK,EAC5B,EAAK,KAAM,EAAG,EAAI,GAEpB,OAAO,IACT,EAEA,EAAO,UAAU,OAAS,WACxB,IAAI,EAAM,KAAK,OACf,GAAI,EAAM,GAAM,EACd,MAAM,IAAI,WAAW,6CAEvB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,GAAK,EAC5B,EAAK,KAAM,EAAG,EAAI,GAClB,EAAK,KAAM,EAAI,EAAG,EAAI,GAExB,OAAO,IACT,EAEA,EAAO,UAAU,OAAS,WACxB,IAAI,EAAM,KAAK,OACf,GAAI,EAAM,GAAM,EACd,MAAM,IAAI,WAAW,6CAEvB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,GAAK,EAC5B,EAAK,KAAM,EAAG,EAAI,GAClB,EAAK,KAAM,EAAI,EAAG,EAAI,GACtB,EAAK,KAAM,EAAI,EAAG,EAAI,GACtB,EAAK,KAAM,EAAI,EAAG,EAAI,GAExB,OAAO,IACT,EAEA,EAAO,UAAU,SAAW,WAC1B,IAAI,EAAS,KAAK,OAClB,OAAe,IAAX,EAAqB,GACA,IAArB,UAAU,OAAqB,EAAU,KAAM,EAAG,GAC/C,EAAa,MAAM,KAAM,UAClC,EAEA,EAAO,UAAU,eAAiB,EAAO,UAAU,SAEnD,EAAO,UAAU,OAAS,SAAiB,GACzC,IAAK,EAAO,SAAS,GAAI,MAAM,IAAI,UAAU,6BAC7C,OAAI,OAAS,GACsB,IAA5B,EAAO,QAAQ,KAAM,EAC9B,EAEA,EAAO,UAAU,QAAU,WACzB,IAAI,EAAM,GACN,EAAM,EAAQ,kBAGlB,OAFA,EAAM,KAAK,SAAS,MAAO,EAAG,GAAK,QAAQ,UAAW,OAAO,OACzD,KAAK,OAAS,IAAK,GAAO,SACvB,WAAa,EAAM,GAC5B,EACI,IACF,EAAO,UAAU,GAAuB,EAAO,UAAU,SAG3D,EAAO,UAAU,QAAU,SAAkB,EAAQ,EAAO,EAAK,EAAW,GAI1E,GAHI,EAAW,EAAQ,cACrB,EAAS,EAAO,KAAK,EAAQ,EAAO,OAAQ,EAAO,cAEhD,EAAO,SAAS,GACnB,MAAM,IAAI,UACR,wFAC2B,GAiB/B,QAbc,IAAV,IACF,EAAQ,QAEE,IAAR,IACF,EAAM,EAAS,EAAO,OAAS,QAEf,IAAd,IACF,EAAY,QAEE,IAAZ,IACF,EAAU,KAAK,QAGb,EAAQ,GAAK,EAAM,EAAO,QAAU,EAAY,GAAK,EAAU,KAAK,OACtE,MAAM,IAAI,WAAW,sBAGvB,GAAI,GAAa,GAAW,GAAS,EACnC,OAAO,EAET,GAAI,GAAa,EACf,OAAQ,EAEV,GAAI,GAAS,EACX,OAAO,EAQT,GAAI,OAAS,EAAQ,OAAO,EAS5B,IAPA,IAAI,GAJJ,KAAa,IADb,KAAe,GAMX,GAPJ,KAAS,IADT,KAAW,GASP,EAAM,KAAK,IAAI,EAAG,GAElB,EAAW,KAAK,MAAM,EAAW,GACjC,EAAa,EAAO,MAAM,EAAO,GAE5B,EAAI,EAAG,EAAI,IAAO,EACzB,GAAI,EAAS,KAAO,EAAW,GAAI,CACjC,EAAI,EAAS,GACb,EAAI,EAAW,GACf,KACF,CAGF,OAAI,EAAI,GAAW,EACf,EAAI,EAAU,EACX,CACT,EA2HA,EAAO,UAAU,SAAW,SAAmB,EAAK,EAAY,GAC9D,OAAoD,IAA7C,KAAK,QAAQ,EAAK,EAAY,EACvC,EAEA,EAAO,UAAU,QAAU,SAAkB,EAAK,EAAY,GAC5D,OAAO,EAAqB,KAAM,EAAK,EAAY,GAAU,EAC/D,EAEA,EAAO,UAAU,YAAc,SAAsB,EAAK,EAAY,GACpE,OAAO,EAAqB,KAAM,EAAK,EAAY,GAAU,EAC/D,EA2CA,EAAO,UAAU,MAAQ,SAAgB,EAAQ,EAAQ,EAAQ,GAE/D,QAAe,IAAX,EACF,EAAW,OACX,EAAS,KAAK,OACd,EAAS,OAEJ,QAAe,IAAX,GAA0C,iBAAX,EACxC,EAAW,EACX,EAAS,KAAK,OACd,EAAS,MAEJ,KAAI,SAAS,GAUlB,MAAM,IAAI,MACR,2EAVF,KAAoB,EAChB,SAAS,IACX,KAAoB,OACH,IAAb,IAAwB,EAAW,UAEvC,EAAW,EACX,OAAS,EAMb,CAEA,IAAI,EAAY,KAAK,OAAS,EAG9B,SAFe,IAAX,GAAwB,EAAS,KAAW,EAAS,GAEpD,EAAO,OAAS,IAAM,EAAS,GAAK,EAAS,IAAO,EAAS,KAAK,OACrE,MAAM,IAAI,WAAW,0CAGlB,IAAU,EAAW,QAG1B,IADA,IAAI,GAAc,IAEhB,OAAQ,GACN,IAAK,MACH,OAAO,EAAS,KAAM,EAAQ,EAAQ,GAExC,IAAK,OACL,IAAK,QACH,OAAO,EAAU,KAAM,EAAQ,EAAQ,GAEzC,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO,EAAW,KAAM,EAAQ,EAAQ,GAE1C,IAAK,SAEH,OAAO,EAAY,KAAM,EAAQ,EAAQ,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EAAU,KAAM,EAAQ,EAAQ,GAEzC,QACE,GAAI,EAAa,MAAM,IAAI,UAAU,qBAAuB,GAC5D,GAAY,GAAK,GAAU,cAC3B,GAAc,EAGtB,EAEA,EAAO,UAAU,OAAS,WACxB,MAAO,CACL,KAAM,SACN,KAAM,MAAM,UAAU,MAAM,KAAK,KAAK,MAAQ,KAAM,GAExD,EAyFA,IAAI,EAAuB,KAoB3B,SAAS,EAAY,EAAK,EAAO,GAC/B,IAAI,EAAM,GACV,EAAM,KAAK,IAAI,EAAI,OAAQ,GAE3B,IAAK,IAAI,EAAI,EAAO,EAAI,IAAO,EAC7B,GAAO,OAAO,aAAsB,IAAT,EAAI,IAEjC,OAAO,CACT,CAEA,SAAS,EAAa,EAAK,EAAO,GAChC,IAAI,EAAM,GACV,EAAM,KAAK,IAAI,EAAI,OAAQ,GAE3B,IAAK,IAAI,EAAI,EAAO,EAAI,IAAO,EAC7B,GAAO,OAAO,aAAa,EAAI,IAEjC,OAAO,CACT,CAEA,SAAS,EAAU,EAAK,EAAO,GAC7B,IAAI,EAAM,EAAI,SAET,GAAS,EAAQ,KAAG,EAAQ,KAC5B,GAAO,EAAM,GAAK,EAAM,KAAK,EAAM,GAGxC,IADA,IAAI,EAAM,GACD,EAAI,EAAO,EAAI,IAAO,EAC7B,GAAO,EAAoB,EAAI,IAEjC,OAAO,CACT,CAEA,SAAS,EAAc,EAAK,EAAO,GAIjC,IAHA,IAAI,EAAQ,EAAI,MAAM,EAAO,GACzB,EAAM,GAED,EAAI,EAAG,EAAI,EAAM,OAAS,EAAG,GAAK,EACzC,GAAO,OAAO,aAAa,EAAM,GAAqB,IAAf,EAAM,EAAI,IAEnD,OAAO,CACT,CAiCA,SAAS,EAAa,EAAQ,EAAK,GACjC,GAAK,EAAS,GAAO,GAAK,EAAS,EAAG,MAAM,IAAI,WAAW,sBAC3D,GAAI,EAAS,EAAM,EAAQ,MAAM,IAAI,WAAW,wCAClD,CAmLA,SAAS,EAAU,EAAK,EAAO,EAAQ,EAAK,EAAK,GAC/C,IAAK,EAAO,SAAS,GAAM,MAAM,IAAI,UAAU,+CAC/C,GAAI,EAAQ,GAAO,EAAQ,EAAK,MAAM,IAAI,WAAW,qCACrD,GAAI,EAAS,EAAM,EAAI,OAAQ,MAAM,IAAI,WAAW,qBACtD,CA+LA,SAAS,EAAc,EAAK,EAAO,EAAQ,EAAK,EAAK,GACnD,GAAI,EAAS,EAAM,EAAI,OAAQ,MAAM,IAAI,WAAW,sBACpD,GAAI,EAAS,EAAG,MAAM,IAAI,WAAW,qBACvC,CAEA,SAAS,EAAY,EAAK,EAAO,EAAQ,EAAc,GAOrD,OANA,GAAS,EACT,KAAoB,EACf,GACH,EAAa,EAAK,EAAO,EAAQ,GAEnC,EAAQ,MAAM,EAAK,EAAO,EAAQ,EAAc,GAAI,GAC7C,EAAS,CAClB,CAUA,SAAS,EAAa,EAAK,EAAO,EAAQ,EAAc,GAOtD,OANA,GAAS,EACT,KAAoB,EACf,GACH,EAAa,EAAK,EAAO,EAAQ,GAEnC,EAAQ,MAAM,EAAK,EAAO,EAAQ,EAAc,GAAI,GAC7C,EAAS,CAClB,CAvbA,EAAO,UAAU,MAAQ,SAAgB,EAAO,GAC9C,IAAI,EAAM,KAAK,QACf,IAAU,GAGE,GACV,GAAS,GACG,IAAG,EAAQ,GACd,EAAQ,IACjB,EAAQ,IANV,OAAc,IAAR,EAAoB,IAAQ,GASxB,GACR,GAAO,GACG,IAAG,EAAM,GACV,EAAM,IACf,EAAM,GAGJ,EAAM,IAAO,EAAM,GAEvB,IAAI,EAAS,KAAK,SAAS,EAAO,GAIlC,OAFA,OAAO,eAAe,EAAQ,EAAO,WAE9B,CACT,EAUA,EAAO,UAAU,WACjB,EAAO,UAAU,WAAa,SAAqB,EAAQ,EAAY,GACrE,KAAoB,EACpB,KAA4B,EACvB,GAAU,EAAY,EAAQ,EAAY,KAAK,QAKpD,IAHA,IAAI,EAAM,KAAK,GACX,EAAM,EACN,EAAI,IACC,EAAI,IAAe,GAAO,MACjC,GAAO,KAAK,EAAS,GAAK,EAG5B,OAAO,CACT,EAEA,EAAO,UAAU,WACjB,EAAO,UAAU,WAAa,SAAqB,EAAQ,EAAY,GACrE,KAAoB,EACpB,KAA4B,EACvB,GACH,EAAY,EAAQ,EAAY,KAAK,QAKvC,IAFA,IAAI,EAAM,KAAK,IAAW,GACtB,EAAM,EACH,EAAa,IAAM,GAAO,MAC/B,GAAO,KAAK,IAAW,GAAc,EAGvC,OAAO,CACT,EAEA,EAAO,UAAU,UACjB,EAAO,UAAU,UAAY,SAAoB,EAAQ,GAGvD,OAFA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QACpC,KAAK,EACd,EAEA,EAAO,UAAU,aACjB,EAAO,UAAU,aAAe,SAAuB,EAAQ,GAG7D,OAFA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QACpC,KAAK,GAAW,KAAK,EAAS,IAAM,CAC7C,EAEA,EAAO,UAAU,aACjB,EAAO,UAAU,aAAe,SAAuB,EAAQ,GAG7D,OAFA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QACnC,KAAK,IAAW,EAAK,KAAK,EAAS,EAC7C,EAEA,EAAO,UAAU,aACjB,EAAO,UAAU,aAAe,SAAuB,EAAQ,GAI7D,OAHA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,SAElC,KAAK,GACT,KAAK,EAAS,IAAM,EACpB,KAAK,EAAS,IAAM,IACD,SAAnB,KAAK,EAAS,EACrB,EAEA,EAAO,UAAU,aACjB,EAAO,UAAU,aAAe,SAAuB,EAAQ,GAI7D,OAHA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QAEpB,SAAf,KAAK,IACT,KAAK,EAAS,IAAM,GACrB,KAAK,EAAS,IAAM,EACrB,KAAK,EAAS,GAClB,EAEA,EAAO,UAAU,UAAY,SAAoB,EAAQ,EAAY,GACnE,KAAoB,EACpB,KAA4B,EACvB,GAAU,EAAY,EAAQ,EAAY,KAAK,QAKpD,IAHA,IAAI,EAAM,KAAK,GACX,EAAM,EACN,EAAI,IACC,EAAI,IAAe,GAAO,MACjC,GAAO,KAAK,EAAS,GAAK,EAM5B,OAFI,IAFJ,GAAO,OAES,GAAO,KAAK,IAAI,EAAG,EAAI,IAEhC,CACT,EAEA,EAAO,UAAU,UAAY,SAAoB,EAAQ,EAAY,GACnE,KAAoB,EACpB,KAA4B,EACvB,GAAU,EAAY,EAAQ,EAAY,KAAK,QAKpD,IAHA,IAAI,EAAI,EACJ,EAAM,EACN,EAAM,KAAK,IAAW,GACnB,EAAI,IAAM,GAAO,MACtB,GAAO,KAAK,IAAW,GAAK,EAM9B,OAFI,IAFJ,GAAO,OAES,GAAO,KAAK,IAAI,EAAG,EAAI,IAEhC,CACT,EAEA,EAAO,UAAU,SAAW,SAAmB,EAAQ,GAGrD,OAFA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QACtB,IAAf,KAAK,IAC0B,GAA5B,IAAO,KAAK,GAAU,GADK,KAAK,EAE3C,EAEA,EAAO,UAAU,YAAc,SAAsB,EAAQ,GAC3D,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QAC3C,IAAI,EAAM,KAAK,GAAW,KAAK,EAAS,IAAM,EAC9C,OAAc,MAAN,EAAsB,WAAN,EAAmB,CAC7C,EAEA,EAAO,UAAU,YAAc,SAAsB,EAAQ,GAC3D,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QAC3C,IAAI,EAAM,KAAK,EAAS,GAAM,KAAK,IAAW,EAC9C,OAAc,MAAN,EAAsB,WAAN,EAAmB,CAC7C,EAEA,EAAO,UAAU,YAAc,SAAsB,EAAQ,GAI3D,OAHA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QAEnC,KAAK,GACV,KAAK,EAAS,IAAM,EACpB,KAAK,EAAS,IAAM,GACpB,KAAK,EAAS,IAAM,EACzB,EAEA,EAAO,UAAU,YAAc,SAAsB,EAAQ,GAI3D,OAHA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QAEnC,KAAK,IAAW,GACrB,KAAK,EAAS,IAAM,GACpB,KAAK,EAAS,IAAM,EACpB,KAAK,EAAS,EACnB,EAEA,EAAO,UAAU,YAAc,SAAsB,EAAQ,GAG3D,OAFA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QACpC,EAAQ,KAAK,KAAM,GAAQ,EAAM,GAAI,EAC9C,EAEA,EAAO,UAAU,YAAc,SAAsB,EAAQ,GAG3D,OAFA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QACpC,EAAQ,KAAK,KAAM,GAAQ,EAAO,GAAI,EAC/C,EAEA,EAAO,UAAU,aAAe,SAAuB,EAAQ,GAG7D,OAFA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QACpC,EAAQ,KAAK,KAAM,GAAQ,EAAM,GAAI,EAC9C,EAEA,EAAO,UAAU,aAAe,SAAuB,EAAQ,GAG7D,OAFA,KAAoB,EACf,GAAU,EAAY,EAAQ,EAAG,KAAK,QACpC,EAAQ,KAAK,KAAM,GAAQ,EAAO,GAAI,EAC/C,EAQA,EAAO,UAAU,YACjB,EAAO,UAAU,YAAc,SAAsB,EAAO,EAAQ,EAAY,IAC9E,GAAS,EACT,KAAoB,EACpB,KAA4B,EACvB,IAEH,EAAS,KAAM,EAAO,EAAQ,EADf,KAAK,IAAI,EAAG,EAAI,GAAc,EACO,GAGtD,IAAI,EAAM,EACN,EAAI,EAER,IADA,KAAK,GAAkB,IAAR,IACN,EAAI,IAAe,GAAO,MACjC,KAAK,EAAS,GAAM,EAAQ,EAAO,IAGrC,OAAO,EAAS,CAClB,EAEA,EAAO,UAAU,YACjB,EAAO,UAAU,YAAc,SAAsB,EAAO,EAAQ,EAAY,IAC9E,GAAS,EACT,KAAoB,EACpB,KAA4B,EACvB,IAEH,EAAS,KAAM,EAAO,EAAQ,EADf,KAAK,IAAI,EAAG,EAAI,GAAc,EACO,GAGtD,IAAI,EAAI,EAAa,EACjB,EAAM,EAEV,IADA,KAAK,EAAS,GAAa,IAAR,IACV,GAAK,IAAM,GAAO,MACzB,KAAK,EAAS,GAAM,EAAQ,EAAO,IAGrC,OAAO,EAAS,CAClB,EAEA,EAAO,UAAU,WACjB,EAAO,UAAU,WAAa,SAAqB,EAAO,EAAQ,GAKhE,OAJA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,IAAM,GACtD,KAAK,GAAmB,IAAR,EACT,EAAS,CAClB,EAEA,EAAO,UAAU,cACjB,EAAO,UAAU,cAAgB,SAAwB,EAAO,EAAQ,GAMtE,OALA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,MAAQ,GACxD,KAAK,GAAmB,IAAR,EAChB,KAAK,EAAS,GAAM,IAAU,EACvB,EAAS,CAClB,EAEA,EAAO,UAAU,cACjB,EAAO,UAAU,cAAgB,SAAwB,EAAO,EAAQ,GAMtE,OALA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,MAAQ,GACxD,KAAK,GAAW,IAAU,EAC1B,KAAK,EAAS,GAAc,IAAR,EACb,EAAS,CAClB,EAEA,EAAO,UAAU,cACjB,EAAO,UAAU,cAAgB,SAAwB,EAAO,EAAQ,GAQtE,OAPA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,WAAY,GAC5D,KAAK,EAAS,GAAM,IAAU,GAC9B,KAAK,EAAS,GAAM,IAAU,GAC9B,KAAK,EAAS,GAAM,IAAU,EAC9B,KAAK,GAAmB,IAAR,EACT,EAAS,CAClB,EAEA,EAAO,UAAU,cACjB,EAAO,UAAU,cAAgB,SAAwB,EAAO,EAAQ,GAQtE,OAPA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,WAAY,GAC5D,KAAK,GAAW,IAAU,GAC1B,KAAK,EAAS,GAAM,IAAU,GAC9B,KAAK,EAAS,GAAM,IAAU,EAC9B,KAAK,EAAS,GAAc,IAAR,EACb,EAAS,CAClB,EAEA,EAAO,UAAU,WAAa,SAAqB,EAAO,EAAQ,EAAY,GAG5E,GAFA,GAAS,EACT,KAAoB,GACf,EAAU,CACb,IAAI,EAAQ,KAAK,IAAI,EAAI,EAAI,EAAc,GAE3C,EAAS,KAAM,EAAO,EAAQ,EAAY,EAAQ,GAAI,EACxD,CAEA,IAAI,EAAI,EACJ,EAAM,EACN,EAAM,EAEV,IADA,KAAK,GAAkB,IAAR,IACN,EAAI,IAAe,GAAO,MAC7B,EAAQ,GAAa,IAAR,GAAsC,IAAzB,KAAK,EAAS,EAAI,KAC9C,EAAM,GAER,KAAK,EAAS,IAAO,EAAQ,EAAQ,GAAK,EAAM,IAGlD,OAAO,EAAS,CAClB,EAEA,EAAO,UAAU,WAAa,SAAqB,EAAO,EAAQ,EAAY,GAG5E,GAFA,GAAS,EACT,KAAoB,GACf,EAAU,CACb,IAAI,EAAQ,KAAK,IAAI,EAAI,EAAI,EAAc,GAE3C,EAAS,KAAM,EAAO,EAAQ,EAAY,EAAQ,GAAI,EACxD,CAEA,IAAI,EAAI,EAAa,EACjB,EAAM,EACN,EAAM,EAEV,IADA,KAAK,EAAS,GAAa,IAAR,IACV,GAAK,IAAM,GAAO,MACrB,EAAQ,GAAa,IAAR,GAAsC,IAAzB,KAAK,EAAS,EAAI,KAC9C,EAAM,GAER,KAAK,EAAS,IAAO,EAAQ,EAAQ,GAAK,EAAM,IAGlD,OAAO,EAAS,CAClB,EAEA,EAAO,UAAU,UAAY,SAAoB,EAAO,EAAQ,GAM9D,OALA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,KAAO,KACnD,EAAQ,IAAG,EAAQ,IAAO,EAAQ,GACtC,KAAK,GAAmB,IAAR,EACT,EAAS,CAClB,EAEA,EAAO,UAAU,aAAe,SAAuB,EAAO,EAAQ,GAMpE,OALA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,OAAS,OACzD,KAAK,GAAmB,IAAR,EAChB,KAAK,EAAS,GAAM,IAAU,EACvB,EAAS,CAClB,EAEA,EAAO,UAAU,aAAe,SAAuB,EAAO,EAAQ,GAMpE,OALA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,OAAS,OACzD,KAAK,GAAW,IAAU,EAC1B,KAAK,EAAS,GAAc,IAAR,EACb,EAAS,CAClB,EAEA,EAAO,UAAU,aAAe,SAAuB,EAAO,EAAQ,GAQpE,OAPA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,YAAa,YAC7D,KAAK,GAAmB,IAAR,EAChB,KAAK,EAAS,GAAM,IAAU,EAC9B,KAAK,EAAS,GAAM,IAAU,GAC9B,KAAK,EAAS,GAAM,IAAU,GACvB,EAAS,CAClB,EAEA,EAAO,UAAU,aAAe,SAAuB,EAAO,EAAQ,GASpE,OARA,GAAS,EACT,KAAoB,EACf,GAAU,EAAS,KAAM,EAAO,EAAQ,EAAG,YAAa,YACzD,EAAQ,IAAG,EAAQ,WAAa,EAAQ,GAC5C,KAAK,GAAW,IAAU,GAC1B,KAAK,EAAS,GAAM,IAAU,GAC9B,KAAK,EAAS,GAAM,IAAU,EAC9B,KAAK,EAAS,GAAc,IAAR,EACb,EAAS,CAClB,EAiBA,EAAO,UAAU,aAAe,SAAuB,EAAO,EAAQ,GACpE,OAAO,EAAW,KAAM,EAAO,GAAQ,EAAM,EAC/C,EAEA,EAAO,UAAU,aAAe,SAAuB,EAAO,EAAQ,GACpE,OAAO,EAAW,KAAM,EAAO,GAAQ,EAAO,EAChD,EAYA,EAAO,UAAU,cAAgB,SAAwB,EAAO,EAAQ,GACtE,OAAO,EAAY,KAAM,EAAO,GAAQ,EAAM,EAChD,EAEA,EAAO,UAAU,cAAgB,SAAwB,EAAO,EAAQ,GACtE,OAAO,EAAY,KAAM,EAAO,GAAQ,EAAO,EACjD,EAGA,EAAO,UAAU,KAAO,SAAe,EAAQ,EAAa,EAAO,GACjE,IAAK,EAAO,SAAS,GAAS,MAAM,IAAI,UAAU,+BAQlD,GAPK,IAAO,EAAQ,GACf,GAAe,IAAR,IAAW,EAAM,KAAK,QAC9B,GAAe,EAAO,SAAQ,EAAc,EAAO,QAClD,IAAa,EAAc,GAC5B,EAAM,GAAK,EAAM,IAAO,EAAM,GAG9B,IAAQ,EAAO,OAAO,EAC1B,GAAsB,IAAlB,EAAO,QAAgC,IAAhB,KAAK,OAAc,OAAO,EAGrD,GAAI,EAAc,EAChB,MAAM,IAAI,WAAW,6BAEvB,GAAI,EAAQ,GAAK,GAAS,KAAK,OAAQ,MAAM,IAAI,WAAW,sBAC5D,GAAI,EAAM,EAAG,MAAM,IAAI,WAAW,2BAG9B,EAAM,KAAK,SAAQ,EAAM,KAAK,QAC9B,EAAO,OAAS,EAAc,EAAM,IACtC,EAAM,EAAO,OAAS,EAAc,GAGtC,IAAI,EAAM,EAAM,EAahB,OAXI,OAAS,GAAqD,mBAApC,WAAW,UAAU,WAEjD,KAAK,WAAW,EAAa,EAAO,GAEpC,WAAW,UAAU,IAAI,KACvB,EACA,KAAK,SAAS,EAAO,GACrB,GAIG,CACT,EAMA,EAAO,UAAU,KAAO,SAAe,EAAK,EAAO,EAAK,GAEtD,GAAmB,iBAAR,EAAkB,CAS3B,GARqB,iBAAV,GACT,EAAW,EACX,EAAQ,EACR,EAAM,KAAK,QACa,iBAAR,IAChB,EAAW,EACX,EAAM,KAAK,aAEI,IAAb,GAA8C,iBAAb,EACnC,MAAM,IAAI,UAAU,6BAEtB,GAAwB,iBAAb,IAA0B,EAAO,WAAW,GACrD,MAAM,IAAI,UAAU,qBAAuB,GAE7C,GAAmB,IAAf,EAAI,OAAc,CACpB,IAAI,EAAO,EAAI,WAAW,IACR,SAAb,GAAuB,EAAO,KAClB,WAAb,KAEF,EAAM,EAEV,CACF,KAA0B,iBAAR,EAChB,GAAY,IACY,kBAAR,IAChB,EAAM,OAAO,IAIf,GAAI,EAAQ,GAAK,KAAK,OAAS,GAAS,KAAK,OAAS,EACpD,MAAM,IAAI,WAAW,sBAGvB,GAAI,GAAO,EACT,OAAO,KAQT,IAAI,EACJ,GANA,KAAkB,EAClB,OAAc,IAAR,EAAoB,KAAK,OAAS,IAAQ,EAE3C,IAAK,EAAM,GAGG,iBAAR,EACT,IAAK,EAAI,EAAO,EAAI,IAAO,EACzB,KAAK,GAAK,MAEP,CACL,IAAI,EAAQ,EAAO,SAAS,GACxB,EACA,EAAO,KAAK,EAAK,GACjB,EAAM,EAAM,OAChB,GAAY,IAAR,EACF,MAAM,IAAI,UAAU,cAAgB,EAClC,qCAEJ,IAAK,EAAI,EAAG,EAAI,EAAM,IAAS,EAC7B,KAAK,EAAI,GAAS,EAAM,EAAI,EAEhC,CAEA,OAAO,IACT,EAKA,IAAI,EAAoB,oBAgBxB,SAAS,EAAa,EAAQ,GAE5B,IAAI,EADJ,EAAQ,GAAS,IAMjB,IAJA,IAAI,EAAS,EAAO,OAChB,EAAgB,KAChB,EAAQ,GAEH,EAAI,EAAG,EAAI,IAAU,EAAG,CAI/B,IAHA,EAAY,EAAO,WAAW,IAGd,OAAU,EAAY,MAAQ,CAE5C,IAAK,EAAe,CAElB,GAAI,EAAY,MAAQ,EAEjB,GAAS,IAAM,GAAG,EAAM,KAAK,IAAM,IAAM,KAC9C,QACF,CAAO,GAAI,EAAI,IAAM,EAAQ,EAEtB,GAAS,IAAM,GAAG,EAAM,KAAK,IAAM,IAAM,KAC9C,QACF,CAGA,EAAgB,EAEhB,QACF,CAGA,GAAI,EAAY,MAAQ,EACjB,GAAS,IAAM,GAAG,EAAM,KAAK,IAAM,IAAM,KAC9C,EAAgB,EAChB,QACF,CAGA,EAAkE,OAArD,EAAgB,OAAU,GAAK,EAAY,MAC1D,MAAW,IAEJ,GAAS,IAAM,GAAG,EAAM,KAAK,IAAM,IAAM,KAMhD,GAHA,EAAgB,KAGZ,EAAY,IAAM,CACpB,IAAK,GAAS,GAAK,EAAG,MACtB,EAAM,KAAK,EACb,MAAO,GAAI,EAAY,KAAO,CAC5B,IAAK,GAAS,GAAK,EAAG,MACtB,EAAM,KACJ,GAAa,EAAM,IACP,GAAZ,EAAmB,IAEvB,MAAO,GAAI,EAAY,MAAS,CAC9B,IAAK,GAAS,GAAK,EAAG,MACtB,EAAM,KACJ,GAAa,GAAM,IACnB,GAAa,EAAM,GAAO,IACd,GAAZ,EAAmB,IAEvB,KAAO,MAAI,EAAY,SASrB,MAAM,IAAI,MAAM,sBARhB,IAAK,GAAS,GAAK,EAAG,MACtB,EAAM,KACJ,GAAa,GAAO,IACpB,GAAa,GAAM,GAAO,IAC1B,GAAa,EAAM,GAAO,IACd,GAAZ,EAAmB,IAIvB,CACF,CAEA,OAAO,CACT,CA2BA,SAAS,EAAe,GACtB,OAAO,EAAO,YAxHhB,SAAsB,GAMpB,IAFA,GAFA,EAAM,EAAI,MAAM,KAAK,IAEX,OAAO,QAAQ,EAAmB,KAEpC,OAAS,EAAG,MAAO,GAE3B,KAAO,EAAI,OAAS,GAAM,GACxB,GAAY,IAEd,OAAO,CACT,CA4G4B,CAAY,GACxC,CAEA,SAAS,EAAY,EAAK,EAAK,EAAQ,GACrC,IAAK,IAAI,EAAI,EAAG,EAAI,KACb,EAAI,GAAU,EAAI,QAAY,GAAK,EAAI,UADhB,EAE5B,EAAI,EAAI,GAAU,EAAI,GAExB,OAAO,CACT,CAKA,SAAS,EAAY,EAAK,GACxB,OAAO,aAAe,GACZ,MAAP,GAAkC,MAAnB,EAAI,aAA+C,MAAxB,EAAI,YAAY,MACzD,EAAI,YAAY,OAAS,EAAK,IACpC,CACA,SAAS,EAAa,GAEpB,OAAO,GAAQ,CACjB,CAIA,IAAI,EAAsB,WAGxB,IAFA,IAAI,EAAW,mBACX,EAAQ,IAAI,MAAM,KACb,EAAI,EAAG,EAAI,KAAM,EAExB,IADA,IAAI,EAAU,GAAJ,EACD,EAAI,EAAG,EAAI,KAAM,EACxB,EAAM,EAAM,GAAK,EAAS,GAAK,EAAS,GAG5C,OAAO,CACR,CAVyB,EAanB,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aAQA,IAAI,EAEA,EAAa,UAEb,EAAQ,OAAO,yBACnB,GAAI,EACH,IACC,EAAM,CAAC,EAAG,GACX,CAAE,MAAO,GACR,EAAQ,IACT,CAGD,IAAI,EAAiB,WAAc,MAAM,IAAI,CAAc,EACvD,EAAiB,EACjB,WACF,IAGC,OAAO,CACR,CAAE,MAAO,GACR,IAEC,OAAO,EAAM,UAAW,UAAU,GACnC,CAAE,MAAO,GACR,OAAO,CACR,CACD,CACD,CAbE,GAcA,EAEC,EAAa,EAAoB,KAApB,GAEb,EAAW,OAAO,gBAAkB,SAAU,GAAK,OAAO,EAAE,SAAW,EAGvE,EAAsD,EAEtD,EAAgD,EAEhD,EAAmD,EACnD,EAA2C,EAE3C,EAAmC,oBAAf,WAA6B,EAAY,EAAS,YAEtE,EAAa,CAChB,UAAW,MACX,gBAAwC,oBAAhB,YAA8B,EAAY,YAClE,yBAAiD,oBAAhB,YAA8B,EAAY,YAAY,UACvF,2BAA4B,EAAa,EAAS,GAAG,OAAO,aAAe,EAC3E,mBAAoB,MAAM,UAC1B,uBAAwB,MAAM,UAAU,QACxC,uBAAwB,MAAM,UAAU,QACxC,oBAAqB,MAAM,UAAU,KACrC,sBAAuB,MAAM,UAAU,OACvC,mCAAoC,EACpC,kBAAmB,EACnB,2BAAsE,EACtE,mBAA4D,EAC5D,2BAA4B,EAC5B,4BAA6E,EAC7E,2BAA4B,GAAoB,GAAc,OAAO,cAAgB,EAAiB,OAAO,iBAAmB,EAChI,YAAgC,oBAAZ,QAA0B,EAAY,QAC1D,YAAa,QACb,qBAAsB,QAAQ,UAC9B,aAAkC,oBAAb,SAA2B,EAAY,SAC5D,sBAA2C,oBAAb,SAA2B,EAAY,SAAS,UAC9E,SAAU,KACV,kBAAmB,KAAK,UACxB,cAAe,UACf,uBAAwB,mBACxB,cAAe,UACf,uBAAwB,mBACxB,UAAW,MACX,mBAAoB,MAAM,UAC1B,SAAU,KACV,cAAe,UACf,uBAAwB,UAAU,UAClC,iBAA0C,oBAAjB,aAA+B,EAAY,aACpE,0BAAmD,oBAAjB,aAA+B,EAAY,aAAa,UAC1F,iBAA0C,oBAAjB,aAA+B,EAAY,aACpE,0BAAmD,oBAAjB,aAA+B,EAAY,aAAa,UAC1F,aAAc,SACd,sBAAuB,SAAS,UAChC,cAAmD,EACnD,sBAAuB,EACvB,uBAA0E,EAC1E,cAAoC,oBAAd,UAA4B,EAAY,UAC9D,uBAA6C,oBAAd,UAA4B,EAAY,UAAU,UACjF,eAAsC,oBAAf,WAA6B,EAAY,WAChE,wBAA+C,oBAAf,WAA6B,EAAY,UAAU,UACnF,eAAsC,oBAAf,WAA6B,EAAY,WAChE,wBAA+C,oBAAf,WAA6B,EAAY,WAAW,UACpF,aAAc,SACd,UAAW,MACX,sBAAuB,EAAa,EAAS,EAAS,GAAG,OAAO,cAAgB,EAChF,SAA0B,iBAAT,KAAoB,KAAO,EAC5C,cAA+B,iBAAT,KAAoB,KAAK,MAAQ,EACvD,QAAwB,oBAAR,IAAsB,EAAY,IAClD,yBAAyC,oBAAR,KAAwB,EAAyB,GAAS,IAAI,KAAM,OAAO,aAAtC,EACtE,iBAAiC,oBAAR,IAAsB,EAAY,IAAI,UAC/D,SAAU,KACV,WAAY,OACZ,oBAAqB,OAAO,UAC5B,WAAY,OACZ,oBAAqB,OAAO,UAC5B,sBAAuB,OAAO,UAAU,SACxC,qBAAsB,OAAO,UAAU,QACvC,eAAgB,WAChB,aAAc,SACd,YAAgC,oBAAZ,QAA0B,EAAY,QAC1D,qBAAyC,oBAAZ,QAA0B,EAAY,QAAQ,UAC3E,sBAA0C,oBAAZ,QAA0B,EAAY,QAAQ,UAAU,KACtF,gBAAoC,oBAAZ,QAA0B,EAAY,QAAQ,IACtE,mBAAuC,oBAAZ,QAA0B,EAAY,QAAQ,OACzE,oBAAwC,oBAAZ,QAA0B,EAAY,QAAQ,QAC1E,UAA4B,oBAAV,MAAwB,EAAY,MACtD,eAAgB,WAChB,wBAAyB,WAAW,UACpC,mBAAoB,eACpB,4BAA6B,eAAe,UAC5C,YAAgC,oBAAZ,QAA0B,EAAY,QAC1D,WAAY,OACZ,oBAAqB,OAAO,UAC5B,QAAwB,oBAAR,IAAsB,EAAY,IAClD,yBAAyC,oBAAR,KAAwB,EAAyB,GAAS,IAAI,KAAM,OAAO,aAAtC,EACtE,iBAAiC,oBAAR,IAAsB,EAAY,IAAI,UAC/D,sBAAoD,oBAAtB,kBAAoC,EAAY,kBAC9E,+BAA6D,oBAAtB,kBAAoC,EAAY,kBAAkB,UACzG,WAAY,OACZ,4BAA6B,EAAa,EAAS,GAAG,OAAO,aAAe,EAC5E,oBAAqB,OAAO,UAC5B,WAAY,EAAa,OAAS,EAClC,oBAAqB,EAAa,OAAO,UAAY,EACrD,gBAAiB,YACjB,yBAA0B,YAAY,UACtC,mBAAoB,EACpB,eAAgB,EAChB,wBAAyB,EAAa,EAAW,UAAY,EAC7D,cAAe,EACf,uBAAwB,EAAW,UACnC,eAAsC,oBAAf,WAA6B,EAAY,WAChE,wBAA+C,oBAAf,WAA6B,EAAY,WAAW,UACpF,sBAAoD,oBAAtB,kBAAoC,EAAY,kBAC9E,+BAA6D,oBAAtB,kBAAoC,EAAY,kBAAkB,UACzG,gBAAwC,oBAAhB,YAA8B,EAAY,YAClE,yBAAiD,oBAAhB,YAA8B,EAAY,YAAY,UACvF,gBAAwC,oBAAhB,YAA8B,EAAY,YAClE,yBAAiD,oBAAhB,YAA8B,EAAY,YAAY,UACvF,aAAc,SACd,sBAAuB,SAAS,UAChC,YAAgC,oBAAZ,QAA0B,EAAY,QAC1D,qBAAyC,oBAAZ,QAA0B,EAAY,QAAQ,UAC3E,YAAgC,oBAAZ,QAA0B,EAAY,QAC1D,qBAAyC,oBAAZ,QAA0B,EAAY,QAAQ,WAIxE,EADO,EAAoB,MACX,KAAK,SAAS,KAAM,OAAO,UAAU,SAGrD,EAAa,qGACb,EAAe,WAuBnB,EAAO,QAAU,SAAsB,EAAM,GAC5C,GAAoB,iBAAT,GAAqC,IAAhB,EAAK,OACpC,MAAM,IAAI,UAAU,6CAErB,GAAI,UAAU,OAAS,GAA6B,kBAAjB,EAClC,MAAM,IAAI,UAAU,6CAMrB,IAHA,IA7BI,EA6BA,GA7BA,EAAS,GACb,EA4ByB,EA5BR,GAAY,SAAU,EAAO,EAAQ,EAAO,GAC5D,EAAO,EAAO,QAAU,EAAQ,EAAS,EAAW,EAAc,MAAS,GAAU,CACtF,IACO,GA2BH,EAvBkB,SAA0B,EAAM,GACtD,KAAM,KAAQ,GACb,MAAM,IAAI,YAAY,aAAe,EAAO,oBAI7C,QAAgC,IAArB,EAAW,KAA0B,EAC/C,MAAM,IAAI,EAAW,aAAe,EAAO,wDAG5C,OAAO,EAAW,EACnB,CAYa,CAAiB,KAAO,EAAM,OAAS,EAAI,EAAM,GAAK,IAAM,IAAK,GACpE,EAAI,EAAG,EAAI,EAAM,OAAQ,GAAK,EACtC,GAAa,MAAT,EACH,GAAI,GAAU,EAAI,GAAM,EAAM,OAAQ,CACrC,IAAI,EAAO,EAAM,EAAO,EAAM,IAC9B,IAAK,KAAkB,EAAM,KAAM,GAClC,MAAM,IAAI,EAAW,sBAAwB,EAAO,+CASrD,EAAQ,GAAQ,QAAS,KAAU,kBAAmB,EAAK,KAAO,EAAK,IAAM,EAAM,EAAM,GAC1F,MACC,EAAQ,EAAM,EAAM,IAIvB,OAAO,CACR,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aAGA,IAAI,EAAO,EAAoB,MAE3B,EAAe,EAAoB,MAEnC,EAAS,EAAa,8BACtB,EAAQ,EAAa,6BACrB,EAAgB,EAAa,mBAAmB,IAAS,EAAK,KAAK,EAAO,GAE1E,EAAkB,EAAa,2BAA2B,GAE9D,GAAI,EACH,IACC,EAAgB,CAAC,EAAG,IAAK,CAAE,MAAO,GACnC,CAAE,MAAO,GAER,EAAkB,IACnB,CAGD,EAAO,QAAU,WAChB,OAAO,EAAc,EAAM,EAAO,UACnC,EAEA,IAAI,EAAY,WACf,OAAO,EAAc,EAAM,EAAQ,UACpC,EAEI,EACH,EAAgB,EAAO,QAAS,QAAS,CAAE,MAAO,IAElD,EAAO,QAAQ,MAAQ,CAIjB,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aAGA,IAAI,EAAe,EAAoB,MAEnC,EAAW,EAAoB,MAE/B,EAAW,EAAS,EAAa,6BAErC,EAAO,QAAU,SAA4B,EAAM,GAClD,IAAI,EAAY,EAAa,IAAQ,GACrC,MAAyB,mBAAd,GAA4B,EAAS,EAAM,eAC9C,EAAS,GAEV,CACR,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aAGA,IAEI,EAFe,EAAoB,KAE3B,CAAa,qCACzB,GAAI,EACH,IACC,EAAM,GAAI,SACX,CAAE,MAAO,GAER,EAAQ,IACT,CAGD,EAAO,QAAU,CAGV,EAED,KACE,IAER,aAGA,IAAI,EAAM,OAAO,UAAU,eACvB,EAAS,IASb,SAAS,IAAU,CA4BnB,SAAS,EAAG,EAAI,EAAS,GACvB,KAAK,GAAK,EACV,KAAK,QAAU,EACf,KAAK,KAAO,IAAQ,CACtB,CAaA,SAAS,EAAY,EAAS,EAAO,EAAI,EAAS,GAChD,GAAkB,mBAAP,EACT,MAAM,IAAI,UAAU,mCAGtB,IAAI,EAAW,IAAI,EAAG,EAAI,GAAW,EAAS,GAC1C,EAAM,EAAS,EAAS,EAAQ,EAMpC,OAJK,EAAQ,QAAQ,GACX,EAAQ,QAAQ,GAAK,GAC1B,EAAQ,QAAQ,GAAO,CAAC,EAAQ,QAAQ,GAAM,GADhB,EAAQ,QAAQ,GAAK,KAAK,IADlC,EAAQ,QAAQ,GAAO,EAAU,EAAQ,gBAI7D,CACT,CASA,SAAS,EAAW,EAAS,GACI,KAAzB,EAAQ,aAAoB,EAAQ,QAAU,IAAI,SAC5C,EAAQ,QAAQ,EAC9B,CASA,SAAS,IACP,KAAK,QAAU,IAAI,EACnB,KAAK,aAAe,CACtB,CAzEI,OAAO,SACT,EAAO,UAAY,OAAO,OAAO,OAM5B,IAAI,GAAS,YAAW,GAAS,IA2ExC,EAAa,UAAU,WAAa,WAClC,IACI,EACA,EAFA,EAAQ,GAIZ,GAA0B,IAAtB,KAAK,aAAoB,OAAO,EAEpC,IAAK,KAAS,EAAS,KAAK,QACtB,EAAI,KAAK,EAAQ,IAAO,EAAM,KAAK,EAAS,EAAK,MAAM,GAAK,GAGlE,OAAI,OAAO,sBACF,EAAM,OAAO,OAAO,sBAAsB,IAG5C,CACT,EASA,EAAa,UAAU,UAAY,SAAmB,GACpD,IAAI,EAAM,EAAS,EAAS,EAAQ,EAChC,EAAW,KAAK,QAAQ,GAE5B,IAAK,EAAU,MAAO,GACtB,GAAI,EAAS,GAAI,MAAO,CAAC,EAAS,IAElC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,OAAQ,EAAK,IAAI,MAAM,GAAI,EAAI,EAAG,IAC7D,EAAG,GAAK,EAAS,GAAG,GAGtB,OAAO,CACT,EASA,EAAa,UAAU,cAAgB,SAAuB,GAC5D,IAAI,EAAM,EAAS,EAAS,EAAQ,EAChC,EAAY,KAAK,QAAQ,GAE7B,OAAK,EACD,EAAU,GAAW,EAClB,EAAU,OAFM,CAGzB,EASA,EAAa,UAAU,KAAO,SAAc,EAAO,EAAI,EAAI,EAAI,EAAI,GACjE,IAAI,EAAM,EAAS,EAAS,EAAQ,EAEpC,IAAK,KAAK,QAAQ,GAAM,OAAO,EAE/B,IAEI,EACA,EAHA,EAAY,KAAK,QAAQ,GACzB,EAAM,UAAU,OAIpB,GAAI,EAAU,GAAI,CAGhB,OAFI,EAAU,MAAM,KAAK,eAAe,EAAO,EAAU,QAAI,GAAW,GAEhE,GACN,KAAK,EAAG,OAAO,EAAU,GAAG,KAAK,EAAU,UAAU,EACrD,KAAK,EAAG,OAAO,EAAU,GAAG,KAAK,EAAU,QAAS,IAAK,EACzD,KAAK,EAAG,OAAO,EAAU,GAAG,KAAK,EAAU,QAAS,EAAI,IAAK,EAC7D,KAAK,EAAG,OAAO,EAAU,GAAG,KAAK,EAAU,QAAS,EAAI,EAAI,IAAK,EACjE,KAAK,EAAG,OAAO,EAAU,GAAG,KAAK,EAAU,QAAS,EAAI,EAAI,EAAI,IAAK,EACrE,KAAK,EAAG,OAAO,EAAU,GAAG,KAAK,EAAU,QAAS,EAAI,EAAI,EAAI,EAAI,IAAK,EAG3E,IAAK,EAAI,EAAG,EAAO,IAAI,MAAM,EAAK,GAAI,EAAI,EAAK,IAC7C,EAAK,EAAI,GAAK,UAAU,GAG1B,EAAU,GAAG,MAAM,EAAU,QAAS,EACxC,KAAO,CACL,IACI,EADA,EAAS,EAAU,OAGvB,IAAK,EAAI,EAAG,EAAI,EAAQ,IAGtB,OAFI,EAAU,GAAG,MAAM,KAAK,eAAe,EAAO,EAAU,GAAG,QAAI,GAAW,GAEtE,GACN,KAAK,EAAG,EAAU,GAAG,GAAG,KAAK,EAAU,GAAG,SAAU,MACpD,KAAK,EAAG,EAAU,GAAG,GAAG,KAAK,EAAU,GAAG,QAAS,GAAK,MACxD,KAAK,EAAG,EAAU,GAAG,GAAG,KAAK,EAAU,GAAG,QAAS,EAAI,GAAK,MAC5D,KAAK,EAAG,EAAU,GAAG,GAAG,KAAK,EAAU,GAAG,QAAS,EAAI,EAAI,GAAK,MAChE,QACE,IAAK,EAAM,IAAK,EAAI,EAAG,EAAO,IAAI,MAAM,EAAK,GAAI,EAAI,EAAK,IACxD,EAAK,EAAI,GAAK,UAAU,GAG1B,EAAU,GAAG,GAAG,MAAM,EAAU,GAAG,QAAS,GAGpD,CAEA,OAAO,CACT,EAWA,EAAa,UAAU,GAAK,SAAY,EAAO,EAAI,GACjD,OAAO,EAAY,KAAM,EAAO,EAAI,GAAS,EAC/C,EAWA,EAAa,UAAU,KAAO,SAAc,EAAO,EAAI,GACrD,OAAO,EAAY,KAAM,EAAO,EAAI,GAAS,EAC/C,EAYA,EAAa,UAAU,eAAiB,SAAwB,EAAO,EAAI,EAAS,GAClF,IAAI,EAAM,EAAS,EAAS,EAAQ,EAEpC,IAAK,KAAK,QAAQ,GAAM,OAAO,KAC/B,IAAK,EAEH,OADA,EAAW,KAAM,GACV,KAGT,IAAI,EAAY,KAAK,QAAQ,GAE7B,GAAI,EAAU,GAEV,EAAU,KAAO,GACf,IAAQ,EAAU,MAClB,GAAW,EAAU,UAAY,GAEnC,EAAW,KAAM,OAEd,CACL,IAAK,IAAI,EAAI,EAAG,EAAS,GAAI,EAAS,EAAU,OAAQ,EAAI,EAAQ,KAEhE,EAAU,GAAG,KAAO,GACnB,IAAS,EAAU,GAAG,MACtB,GAAW,EAAU,GAAG,UAAY,IAErC,EAAO,KAAK,EAAU,IAOtB,EAAO,OAAQ,KAAK,QAAQ,GAAyB,IAAlB,EAAO,OAAe,EAAO,GAAK,EACpE,EAAW,KAAM,EACxB,CAEA,OAAO,IACT,EASA,EAAa,UAAU,mBAAqB,SAA4B,GACtE,IAAI,EAUJ,OARI,GACF,EAAM,EAAS,EAAS,EAAQ,EAC5B,KAAK,QAAQ,IAAM,EAAW,KAAM,KAExC,KAAK,QAAU,IAAI,EACnB,KAAK,aAAe,GAGf,IACT,EAKA,EAAa,UAAU,IAAM,EAAa,UAAU,eACpD,EAAa,UAAU,YAAc,EAAa,UAAU,GAK5D,EAAa,SAAW,EAKxB,EAAa,aAAe,EAM1B,EAAO,QAAU,CAIZ,EAED,KACE,IAER,aAwBA,IAOI,EAPA,EAAuB,iBAAZ,QAAuB,QAAU,KAC5C,EAAe,GAAwB,mBAAZ,EAAE,MAC7B,EAAE,MACF,SAAsB,EAAQ,EAAU,GACxC,OAAO,SAAS,UAAU,MAAM,KAAK,EAAQ,EAAU,EACzD,EAIA,EADE,GAA0B,mBAAd,EAAE,QACC,EAAE,QACV,OAAO,sBACC,SAAwB,GACvC,OAAO,OAAO,oBAAoB,GAC/B,OAAO,OAAO,sBAAsB,GACzC,EAEiB,SAAwB,GACvC,OAAO,OAAO,oBAAoB,EACpC,EAOF,IAAI,EAAc,OAAO,OAAS,SAAqB,GACrD,OAAO,GAAU,CACnB,EAEA,SAAS,IACP,EAAa,KAAK,KAAK,KACzB,CACA,EAAO,QAAU,EACjB,EAAO,QAAQ,KAwYf,SAAc,EAAS,GACrB,OAAO,IAAI,SAAQ,SAAU,EAAS,GACpC,SAAS,SACe,IAAlB,GACF,EAAQ,eAAe,QAAS,GAElC,EAAQ,GAAG,MAAM,KAAK,WACxB,CACA,IAAI,EAQS,UAAT,IACF,EAAgB,SAAuB,GACrC,EAAQ,eAAe,EAAM,GAC7B,EAAO,EACT,EAEA,EAAQ,KAAK,QAAS,IAGxB,EAAQ,KAAK,EAAM,EACrB,GACF,EAhaA,EAAa,aAAe,EAE5B,EAAa,UAAU,aAAU,EACjC,EAAa,UAAU,aAAe,EACtC,EAAa,UAAU,mBAAgB,EAIvC,IAAI,EAAsB,GAE1B,SAAS,EAAc,GACrB,GAAwB,mBAAb,EACT,MAAM,IAAI,UAAU,0EAA4E,EAEpG,CAoCA,SAAS,EAAiB,GACxB,YAA2B,IAAvB,EAAK,cACA,EAAa,oBACf,EAAK,aACd,CAkDA,SAAS,EAAa,EAAQ,EAAM,EAAU,GAC5C,IAAI,EACA,EACA,EA1HsB,EAgJ1B,GApBA,EAAc,QAGC,KADf,EAAS,EAAO,UAEd,EAAS,EAAO,QAAU,OAAO,OAAO,MACxC,EAAO,aAAe,SAIK,IAAvB,EAAO,cACT,EAAO,KAAK,cAAe,EACf,EAAS,SAAW,EAAS,SAAW,GAIpD,EAAS,EAAO,SAElB,EAAW,EAAO,SAGH,IAAb,EAEF,EAAW,EAAO,GAAQ,IACxB,EAAO,kBAeT,GAbwB,mBAAb,EAET,EAAW,EAAO,GAChB,EAAU,CAAC,EAAU,GAAY,CAAC,EAAU,GAErC,EACT,EAAS,QAAQ,GAEjB,EAAS,KAAK,IAIhB,EAAI,EAAiB,IACb,GAAK,EAAS,OAAS,IAAM,EAAS,OAAQ,CACpD,EAAS,QAAS,EAGlB,IAAI,EAAI,IAAI,MAAM,+CACE,EAAS,OAAS,IAAM,OAAO,GADjC,qEAIlB,EAAE,KAAO,8BACT,EAAE,QAAU,EACZ,EAAE,KAAO,EACT,EAAE,MAAQ,EAAS,OA7KG,EA8KH,EA7KnB,SAAW,QAAQ,MAAM,QAAQ,KAAK,EA8KxC,CAGF,OAAO,CACT,CAaA,SAAS,IACP,IAAK,KAAK,MAGR,OAFA,KAAK,OAAO,eAAe,KAAK,KAAM,KAAK,QAC3C,KAAK,OAAQ,EACY,IAArB,UAAU,OACL,KAAK,SAAS,KAAK,KAAK,QAC1B,KAAK,SAAS,MAAM,KAAK,OAAQ,UAE5C,CAEA,SAAS,EAAU,EAAQ,EAAM,GAC/B,IAAI,EAAQ,CAAE,OAAO,EAAO,YAAQ,EAAW,OAAQ,EAAQ,KAAM,EAAM,SAAU,GACjF,EAAU,EAAY,KAAK,GAG/B,OAFA,EAAQ,SAAW,EACnB,EAAM,OAAS,EACR,CACT,CAyHA,SAAS,EAAW,EAAQ,EAAM,GAChC,IAAI,EAAS,EAAO,QAEpB,QAAe,IAAX,EACF,MAAO,GAET,IAAI,EAAa,EAAO,GACxB,YAAmB,IAAf,EACK,GAEiB,mBAAf,EACF,EAAS,CAAC,EAAW,UAAY,GAAc,CAAC,GAElD,EAsDT,SAAyB,GAEvB,IADA,IAAI,EAAM,IAAI,MAAM,EAAI,QACf,EAAI,EAAG,EAAI,EAAI,SAAU,EAChC,EAAI,GAAK,EAAI,GAAG,UAAY,EAAI,GAElC,OAAO,CACT,CA3DI,CAAgB,GAAc,EAAW,EAAY,EAAW,OACpE,CAmBA,SAAS,EAAc,GACrB,IAAI,EAAS,KAAK,QAElB,QAAe,IAAX,EAAsB,CACxB,IAAI,EAAa,EAAO,GAExB,GAA0B,mBAAf,EACT,OAAO,EACF,QAAmB,IAAf,EACT,OAAO,EAAW,MAEtB,CAEA,OAAO,CACT,CAMA,SAAS,EAAW,EAAK,GAEvB,IADA,IAAI,EAAO,IAAI,MAAM,GACZ,EAAI,EAAG,EAAI,IAAK,EACvB,EAAK,GAAK,EAAI,GAChB,OAAO,CACT,CArWA,OAAO,eAAe,EAAc,sBAAuB,CACzD,YAAY,EACZ,IAAK,WACH,OAAO,CACT,EACA,IAAK,SAAS,GACZ,GAAmB,iBAAR,GAAoB,EAAM,GAAK,EAAY,GACpD,MAAM,IAAI,WAAW,kGAAoG,EAAM,KAEjI,EAAsB,CACxB,IAGF,EAAa,KAAO,gBAEG,IAAjB,KAAK,SACL,KAAK,UAAY,OAAO,eAAe,MAAM,UAC/C,KAAK,QAAU,OAAO,OAAO,MAC7B,KAAK,aAAe,GAGtB,KAAK,cAAgB,KAAK,oBAAiB,CAC7C,EAIA,EAAa,UAAU,gBAAkB,SAAyB,GAChE,GAAiB,iBAAN,GAAkB,EAAI,GAAK,EAAY,GAChD,MAAM,IAAI,WAAW,gFAAkF,EAAI,KAG7G,OADA,KAAK,cAAgB,EACd,IACT,EAQA,EAAa,UAAU,gBAAkB,WACvC,OAAO,EAAiB,KAC1B,EAEA,EAAa,UAAU,KAAO,SAAc,GAE1C,IADA,IAAI,EAAO,GACF,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,EAAK,KAAK,UAAU,IAC/D,IAAI,EAAoB,UAAT,EAEX,EAAS,KAAK,QAClB,QAAe,IAAX,EACF,EAAW,QAA4B,IAAjB,EAAO,WAC1B,IAAK,EACR,OAAO,EAGT,GAAI,EAAS,CACX,IAAI,EAGJ,GAFI,EAAK,OAAS,IAChB,EAAK,EAAK,IACR,aAAc,MAGhB,MAAM,EAGR,IAAI,EAAM,IAAI,MAAM,oBAAsB,EAAK,KAAO,EAAG,QAAU,IAAM,KAEzE,MADA,EAAI,QAAU,EACR,CACR,CAEA,IAAI,EAAU,EAAO,GAErB,QAAgB,IAAZ,EACF,OAAO,EAET,GAAuB,mBAAZ,EACT,EAAa,EAAS,KAAM,OAE5B,KAAI,EAAM,EAAQ,OACd,EAAY,EAAW,EAAS,GACpC,IAAS,EAAI,EAAG,EAAI,IAAO,EACzB,EAAa,EAAU,GAAI,KAAM,EAHX,CAM1B,OAAO,CACT,EAgEA,EAAa,UAAU,YAAc,SAAqB,EAAM,GAC9D,OAAO,EAAa,KAAM,EAAM,GAAU,EAC5C,EAEA,EAAa,UAAU,GAAK,EAAa,UAAU,YAEnD,EAAa,UAAU,gBACnB,SAAyB,EAAM,GAC7B,OAAO,EAAa,KAAM,EAAM,GAAU,EAC5C,EAoBJ,EAAa,UAAU,KAAO,SAAc,EAAM,GAGhD,OAFA,EAAc,GACd,KAAK,GAAG,EAAM,EAAU,KAAM,EAAM,IAC7B,IACT,EAEA,EAAa,UAAU,oBACnB,SAA6B,EAAM,GAGjC,OAFA,EAAc,GACd,KAAK,gBAAgB,EAAM,EAAU,KAAM,EAAM,IAC1C,IACT,EAGJ,EAAa,UAAU,eACnB,SAAwB,EAAM,GAC5B,IAAI,EAAM,EAAQ,EAAU,EAAG,EAK/B,GAHA,EAAc,QAGC,KADf,EAAS,KAAK,SAEZ,OAAO,KAGT,QAAa,KADb,EAAO,EAAO,IAEZ,OAAO,KAET,GAAI,IAAS,GAAY,EAAK,WAAa,EACb,KAAtB,KAAK,aACT,KAAK,QAAU,OAAO,OAAO,cAEtB,EAAO,GACV,EAAO,gBACT,KAAK,KAAK,iBAAkB,EAAM,EAAK,UAAY,SAElD,GAAoB,mBAAT,EAAqB,CAGrC,IAFA,GAAY,EAEP,EAAI,EAAK,OAAS,EAAG,GAAK,EAAG,IAChC,GAAI,EAAK,KAAO,GAAY,EAAK,GAAG,WAAa,EAAU,CACzD,EAAmB,EAAK,GAAG,SAC3B,EAAW,EACX,KACF,CAGF,GAAI,EAAW,EACb,OAAO,KAEQ,IAAb,EACF,EAAK,QAiIf,SAAmB,EAAM,GACvB,KAAO,EAAQ,EAAI,EAAK,OAAQ,IAC9B,EAAK,GAAS,EAAK,EAAQ,GAC7B,EAAK,KACP,CAnIU,CAAU,EAAM,GAGE,IAAhB,EAAK,SACP,EAAO,GAAQ,EAAK,SAEQ,IAA1B,EAAO,gBACT,KAAK,KAAK,iBAAkB,EAAM,GAAoB,EAC1D,CAEA,OAAO,IACT,EAEJ,EAAa,UAAU,IAAM,EAAa,UAAU,eAEpD,EAAa,UAAU,mBACnB,SAA4B,GAC1B,IAAI,EAAW,EAAQ,EAGvB,QAAe,KADf,EAAS,KAAK,SAEZ,OAAO,KAGT,QAA8B,IAA1B,EAAO,eAUT,OATyB,IAArB,UAAU,QACZ,KAAK,QAAU,OAAO,OAAO,MAC7B,KAAK,aAAe,QACM,IAAjB,EAAO,KACY,KAAtB,KAAK,aACT,KAAK,QAAU,OAAO,OAAO,aAEtB,EAAO,IAEX,KAIT,GAAyB,IAArB,UAAU,OAAc,CAC1B,IACI,EADA,EAAO,OAAO,KAAK,GAEvB,IAAK,EAAI,EAAG,EAAI,EAAK,SAAU,EAEjB,oBADZ,EAAM,EAAK,KAEX,KAAK,mBAAmB,GAK1B,OAHA,KAAK,mBAAmB,kBACxB,KAAK,QAAU,OAAO,OAAO,MAC7B,KAAK,aAAe,EACb,IACT,CAIA,GAAyB,mBAFzB,EAAY,EAAO,IAGjB,KAAK,eAAe,EAAM,QACrB,QAAkB,IAAd,EAET,IAAK,EAAI,EAAU,OAAS,EAAG,GAAK,EAAG,IACrC,KAAK,eAAe,EAAM,EAAU,IAIxC,OAAO,IACT,EAmBJ,EAAa,UAAU,UAAY,SAAmB,GACpD,OAAO,EAAW,KAAM,GAAM,EAChC,EAEA,EAAa,UAAU,aAAe,SAAsB,GAC1D,OAAO,EAAW,KAAM,GAAM,EAChC,EAEA,EAAa,cAAgB,SAAS,EAAS,GAC7C,MAAqC,mBAA1B,EAAQ,cACV,EAAQ,cAAc,GAEtB,EAAc,KAAK,EAAS,EAEvC,EAEA,EAAa,UAAU,cAAgB,EAiBvC,EAAa,UAAU,WAAa,WAClC,OAAO,KAAK,aAAe,EAAI,EAAe,KAAK,SAAW,EAChE,CAqDO,EAED,KACE,IAGR,IAAI,EAAS,OAAO,UAAU,eAC1B,EAAW,OAAO,UAAU,SAEhC,EAAO,QAAU,SAAkB,EAAK,EAAI,GACxC,GAA0B,sBAAtB,EAAS,KAAK,GACd,MAAM,IAAI,UAAU,+BAExB,IAAI,EAAI,EAAI,OACZ,GAAI,KAAO,EACP,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IACnB,EAAG,KAAK,EAAK,EAAI,GAAI,EAAG,QAG5B,IAAK,IAAI,KAAK,EACN,EAAO,KAAK,EAAK,IACjB,EAAG,KAAK,EAAK,EAAI,GAAI,EAAG,EAIxC,CAIO,EAED,KACE,IAER,aAKA,IACI,EAAQ,MAAM,UAAU,MACxB,EAAQ,OAAO,UAAU,SAG7B,EAAO,QAAU,SAAc,GAC3B,IAAI,EAAS,KACb,GAAsB,mBAAX,GAJA,sBAIyB,EAAM,KAAK,GAC3C,MAAM,IAAI,UARE,kDAQwB,GAyBxC,IAvBA,IAEI,EAFA,EAAO,EAAM,KAAK,UAAW,GAqB7B,EAAc,KAAK,IAAI,EAAG,EAAO,OAAS,EAAK,QAC/C,EAAY,GACP,EAAI,EAAG,EAAI,EAAa,IAC7B,EAAU,KAAK,IAAM,GAKzB,GAFA,EAAQ,SAAS,SAAU,oBAAsB,EAAU,KAAK,KAAO,4CAA/D,EAxBK,WACT,GAAI,gBAAgB,EAAO,CACvB,IAAI,EAAS,EAAO,MAChB,KACA,EAAK,OAAO,EAAM,KAAK,aAE3B,OAAI,OAAO,KAAY,EACZ,EAEJ,IACX,CACI,OAAO,EAAO,MACV,EACA,EAAK,OAAO,EAAM,KAAK,YAGnC,IAUI,EAAO,UAAW,CAClB,IAAI,EAAQ,WAAkB,EAC9B,EAAM,UAAY,EAAO,UACzB,EAAM,UAAY,IAAI,EACtB,EAAM,UAAY,IACtB,CAEA,OAAO,CACX,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aAGA,IAAI,EAAiB,EAAoB,MAEzC,EAAO,QAAU,SAAS,UAAU,MAAQ,CAGrC,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aAGA,IAAI,EAAa,EAAoB,EAAE,OACnC,EAAgB,EAAoB,MAExC,EAAO,QAAU,WAChB,MAA0B,mBAAf,IACW,mBAAX,SACsB,iBAAtB,EAAW,SACO,iBAAlB,OAAO,QAEX,MACR,CAGO,EAED,KACE,IAER,aAIA,EAAO,QAAU,WAChB,GAAsB,mBAAX,QAAiE,mBAAjC,OAAO,sBAAwC,OAAO,EACjG,GAA+B,iBAApB,OAAO,SAAyB,OAAO,EAElD,IAAI,EAAM,CAAC,EACP,EAAM,OAAO,QACb,EAAS,OAAO,GACpB,GAAmB,iBAAR,EAAoB,OAAO,EAEtC,GAA4C,oBAAxC,OAAO,UAAU,SAAS,KAAK,GAA8B,OAAO,EACxE,GAA+C,oBAA3C,OAAO,UAAU,SAAS,KAAK,GAAiC,OAAO,EAY3E,IAAK,KADL,EAAI,GADS,GAED,EAAO,OAAO,EAC1B,GAA2B,mBAAhB,OAAO,MAAmD,IAA5B,OAAO,KAAK,GAAK,OAAgB,OAAO,EAEjF,GAA0C,mBAA/B,OAAO,qBAAiF,IAA3C,OAAO,oBAAoB,GAAK,OAAgB,OAAO,EAE/G,IAAI,EAAO,OAAO,sBAAsB,GACxC,GAAoB,IAAhB,EAAK,QAAgB,EAAK,KAAO,EAAO,OAAO,EAEnD,IAAK,OAAO,UAAU,qBAAqB,KAAK,EAAK,GAAQ,OAAO,EAEpE,GAA+C,mBAApC,OAAO,yBAAyC,CAC1D,IAAI,EAAa,OAAO,yBAAyB,EAAK,GACtD,GAdY,KAcR,EAAW,QAA8C,IAA1B,EAAW,WAAuB,OAAO,CAC7E,CAEA,OAAO,CACR,CAGO,EAED,IACA,CAAE,EAAyB;;AAGjC,EAAQ,KAAO,SAAU,EAAQ,EAAQ,EAAM,EAAM,GACnD,IAAI,EAAG,EACH,EAAiB,EAAT,EAAc,EAAO,EAC7B,GAAQ,GAAK,GAAQ,EACrB,EAAQ,GAAQ,EAChB,GAAS,EACT,EAAI,EAAQ,EAAS,EAAK,EAC1B,EAAI,GAAQ,EAAI,EAChB,EAAI,EAAO,EAAS,GAOxB,IALA,GAAK,EAEL,EAAI,GAAM,IAAO,GAAU,EAC3B,KAAQ,EACR,GAAS,EACF,EAAQ,EAAG,EAAS,IAAJ,EAAW,EAAO,EAAS,GAAI,GAAK,EAAG,GAAS,GAKvE,IAHA,EAAI,GAAM,IAAO,GAAU,EAC3B,KAAQ,EACR,GAAS,EACF,EAAQ,EAAG,EAAS,IAAJ,EAAW,EAAO,EAAS,GAAI,GAAK,EAAG,GAAS,GAEvE,GAAU,IAAN,EACF,EAAI,EAAI,MACH,IAAI,IAAM,EACf,OAAO,EAAI,IAAsB,KAAd,GAAK,EAAI,GAE5B,GAAQ,KAAK,IAAI,EAAG,GACpB,GAAQ,CACV,CACA,OAAQ,GAAK,EAAI,GAAK,EAAI,KAAK,IAAI,EAAG,EAAI,EAC5C,EAEA,EAAQ,MAAQ,SAAU,EAAQ,EAAO,EAAQ,EAAM,EAAM,GAC3D,IAAI,EAAG,EAAG,EACN,EAAiB,EAAT,EAAc,EAAO,EAC7B,GAAQ,GAAK,GAAQ,EACrB,EAAQ,GAAQ,EAChB,EAAe,KAAT,EAAc,KAAK,IAAI,GAAI,IAAM,KAAK,IAAI,GAAI,IAAM,EAC1D,EAAI,EAAO,EAAK,EAAS,EACzB,EAAI,EAAO,GAAK,EAChB,EAAI,EAAQ,GAAgB,IAAV,GAAe,EAAI,EAAQ,EAAK,EAAI,EAmC1D,IAjCA,EAAQ,KAAK,IAAI,GAEb,MAAM,IAAU,IAAU,KAC5B,EAAI,MAAM,GAAS,EAAI,EACvB,EAAI,IAEJ,EAAI,KAAK,MAAM,KAAK,IAAI,GAAS,KAAK,KAClC,GAAS,EAAI,KAAK,IAAI,GAAI,IAAM,IAClC,IACA,GAAK,IAGL,GADE,EAAI,GAAS,EACN,EAAK,EAEL,EAAK,KAAK,IAAI,EAAG,EAAI,IAEpB,GAAK,IACf,IACA,GAAK,GAGH,EAAI,GAAS,GACf,EAAI,EACJ,EAAI,GACK,EAAI,GAAS,GACtB,GAAM,EAAQ,EAAK,GAAK,KAAK,IAAI,EAAG,GACpC,GAAQ,IAER,EAAI,EAAQ,KAAK,IAAI,EAAG,EAAQ,GAAK,KAAK,IAAI,EAAG,GACjD,EAAI,IAID,GAAQ,EAAG,EAAO,EAAS,GAAS,IAAJ,EAAU,GAAK,EAAG,GAAK,IAAK,GAAQ,GAI3E,IAFA,EAAK,GAAK,EAAQ,EAClB,GAAQ,EACD,EAAO,EAAG,EAAO,EAAS,GAAS,IAAJ,EAAU,GAAK,EAAG,GAAK,IAAK,GAAQ,GAE1E,EAAO,EAAS,EAAI,IAAU,IAAJ,CAC5B,CAGO,EAED,KACE,IAEqB,mBAAlB,OAAO,OAEhB,EAAO,QAAU,SAAkB,EAAM,GACnC,IACF,EAAK,OAAS,EACd,EAAK,UAAY,OAAO,OAAO,EAAU,UAAW,CAClD,YAAa,CACX,MAAO,EACP,YAAY,EACZ,UAAU,EACV,cAAc,KAItB,EAGA,EAAO,QAAU,SAAkB,EAAM,GACvC,GAAI,EAAW,CACb,EAAK,OAAS,EACd,IAAI,EAAW,WAAa,EAC5B,EAAS,UAAY,EAAU,UAC/B,EAAK,UAAY,IAAI,EACrB,EAAK,UAAU,YAAc,CAC/B,CACF,CAIK,EAED,KACE,IAER,aAGA,IAAI,EAAmC,mBAAX,QAAuD,iBAAvB,OAAO,YAC/D,EAAQ,OAAO,UAAU,SAEzB,EAAsB,SAAqB,GAC9C,QAAI,GAAkB,GAA0B,iBAAV,GAAsB,OAAO,eAAe,IAGrD,uBAAtB,EAAM,KAAK,EACnB,EAEI,EAAoB,SAAqB,GAC5C,QAAI,EAAoB,IAGP,OAAV,GACW,iBAAV,GACiB,iBAAjB,EAAM,QACb,EAAM,QAAU,GACM,mBAAtB,EAAM,KAAK,IACkB,sBAA7B,EAAM,KAAK,EAAM,OACnB,EAEI,EAA6B,WAChC,OAAO,EAAoB,UAC5B,CAFgC,GAIhC,EAAoB,kBAAoB,EAExC,EAAO,QAAU,EAA4B,EAAsB,CAG5D,EAED,KACE,IAER,aAGA,IAAI,EAAQ,OAAO,UAAU,SACzB,EAAU,SAAS,UAAU,SAC7B,EAAY,sBACZ,EAAmC,mBAAX,QAAuD,iBAAvB,OAAO,YAC/D,EAAW,OAAO,eAUlB,EATmB,WACtB,IAAK,EACJ,OAAO,EAER,IACC,OAAO,SAAS,wBAAT,EACR,CAAE,MAAO,GACT,CACD,CACoB,GAChB,EAAoB,EAAgB,EAAS,GAAiB,CAAC,EAEnE,EAAO,QAAU,SAA6B,GAC7C,MAAkB,mBAAP,MAGP,EAAU,KAAK,EAAQ,KAAK,MAG3B,EAIE,EAAS,KAAQ,EAFR,+BADL,EAAM,KAAK,IAIvB,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aAGA,IAAI,EAAU,EAAoB,MAC9B,EAAuB,EAAoB,MAC3C,EAAY,EAAoB,MAEhC,EAAY,EAAU,6BAEtB,EADa,EAAoB,KAApB,IACgD,iBAAvB,OAAO,YAE7C,EAAc,IAEd,EAAW,EAAU,2BAA2B,IAAS,SAAiB,EAAO,GACpF,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,GAAK,EACtC,GAAI,EAAM,KAAO,EAChB,OAAO,EAGT,OAAQ,CACT,EACI,EAAS,EAAU,0BACnB,EAAY,CAAC,EACb,EAAO,EAAoB,MAC3B,EAAiB,OAAO,eACxB,GAAkB,GAAQ,GAC7B,EAAQ,GAAa,SAAU,GAC9B,IAAI,EAAM,IAAI,EAAoB,EAAE,GACpC,KAAM,OAAO,eAAe,GAC3B,MAAM,IAAI,UAAU,uDAAyD,EAAa,oDAE3F,IAAI,EAAQ,EAAe,GACvB,EAAa,EAAK,EAAO,OAAO,aACpC,IAAK,EAAY,CAChB,IAAI,EAAa,EAAe,GAChC,EAAa,EAAK,EAAY,OAAO,YACtC,CACA,EAAU,GAAc,EAAW,GACpC,IAeD,EAAO,QAAU,SAAsB,GACtC,IAAK,GAA0B,iBAAV,EAAsB,OAAO,EAClD,IAAK,EAAgB,CACpB,IAAI,EAAM,EAAO,EAAU,GAAQ,GAAI,GACvC,OAAO,EAAS,EAAa,IAAQ,CACtC,CACA,QAAK,GAlBe,SAA2B,GAC/C,IAAI,GAAU,EAQd,OAPA,EAAQ,GAAW,SAAU,EAAQ,GACpC,IAAK,EACJ,IACC,EAAU,EAAO,KAAK,KAAW,CAClC,CAAE,MAAO,GAAU,CAErB,IACO,CACR,CASQ,CAAe,EACvB,CAGO,EAED,KACA,CAAE,EAAQ,EAAS,KAEF,EAAS,EAAoB,IAAI,GAWxD,IAGI,EAAiB,4BAGjB,EAAmB,iBAGnB,EAAU,qBAEV,EAAU,mBACV,EAAU,gBAEV,EAAU,oBACV,EAAS,6BACT,EAAS,eACT,EAAY,kBACZ,EAAY,kBACZ,EAAa,mBACb,EAAY,kBACZ,EAAS,eACT,EAAY,kBACZ,EAAY,kBACZ,EAAa,mBAEb,EAAiB,uBACjB,EAAc,oBACd,EAAa,wBACb,EAAa,wBACb,EAAU,qBACV,EAAW,sBACX,EAAW,sBACX,EAAW,sBACX,EAAkB,6BAClB,EAAY,uBACZ,EAAY,uBASZ,EAAU,OAGV,EAAe,8BAGf,EAAW,mBAGX,EAAgB,CAAC,EACrB,EAAc,GAAW,EA7CV,kBA8Cf,EAAc,GAAkB,EAAc,GAC9C,EAAc,GAAW,EAAc,GACvC,EAAc,GAAc,EAAc,GAC1C,EAAc,GAAW,EAAc,GACvC,EAAc,GAAY,EAAc,GACxC,EAAc,GAAa,EAAc,GACzC,EAAc,GAAa,EAAc,GACzC,EAAc,GAAa,EAAc,GACzC,EAAc,GAAY,EAAc,GACxC,EAAc,GAAa,EAAc,IAAa,EACtD,EArDe,kBAqDW,EAAc,GACxC,EAAc,IAAc,EAG5B,IAAI,EAA6C,iBAAzB,EAAoB,GAAiB,EAAoB,GAAK,EAAoB,EAAE,SAAW,QAAU,EAAoB,EAGjJ,EAA0B,iBAAR,MAAoB,MAAQ,KAAK,SAAW,QAAU,KAGxE,EAAO,GAAc,GAAY,SAAS,cAAT,GAGjC,EAAuB,IAAY,EAAQ,UAAY,EAGvD,EAAa,GAAuC,IAAW,EAAO,UAAY,EAGlF,EAAgB,GAAc,EAAW,UAAY,EAUzD,SAAS,EAAY,EAAK,GAGxB,OADA,EAAI,IAAI,EAAK,GAAI,EAAK,IACf,CACT,CAUA,SAAS,EAAY,EAAK,GAGxB,OADA,EAAI,IAAI,GACD,CACT,CAsDA,SAAS,EAAY,EAAO,EAAU,EAAa,GACjD,IAAI,GAAS,EACT,EAAS,EAAQ,EAAM,OAAS,EAKpC,IAHI,GAAa,IACf,EAAc,IAAQ,MAEf,EAAQ,GACf,EAAc,EAAS,EAAa,EAAM,GAAQ,EAAO,GAE3D,OAAO,CACT,CAwCA,SAAS,EAAa,GAGpB,IAAI,GAAS,EACb,GAAa,MAAT,GAA0C,mBAAlB,EAAM,SAChC,IACE,KAAY,EAAQ,GACtB,CAAE,MAAO,GAAI,CAEf,OAAO,CACT,CASA,SAAS,EAAW,GAClB,IAAI,GAAS,EACT,EAAS,MAAM,EAAI,MAKvB,OAHA,EAAI,SAAQ,SAAS,EAAO,GAC1B,IAAS,GAAS,CAAC,EAAK,EAC1B,IACO,CACT,CAUA,SAAS,EAAQ,EAAM,GACrB,OAAO,SAAS,GACd,OAAO,EAAK,EAAU,GACxB,CACF,CASA,SAAS,EAAW,GAClB,IAAI,GAAS,EACT,EAAS,MAAM,EAAI,MAKvB,OAHA,EAAI,SAAQ,SAAS,GACnB,IAAS,GAAS,CACpB,IACO,CACT,CAGA,IASM,EATF,EAAa,MAAM,UACnB,EAAY,SAAS,UACrB,EAAc,OAAO,UAGrB,EAAa,EAAK,sBAGlB,GACE,EAAM,SAAS,KAAK,GAAc,EAAW,MAAQ,EAAW,KAAK,UAAY,KACvE,iBAAmB,EAAO,GAItC,EAAe,EAAU,SAGzB,GAAiB,EAAY,eAO7B,GAAiB,EAAY,SAG7B,GAAa,OAAO,IACtB,EAAa,KAAK,IAAgB,QAzQjB,sBAyQuC,QACvD,QAAQ,yDAA0D,SAAW,KAI5E,GAAS,EAAgB,EAAK,YAAS,EACvC,GAAS,EAAK,OACd,GAAa,EAAK,WAClB,GAAe,EAAQ,OAAO,eAAgB,QAC9C,GAAe,OAAO,OACtB,GAAuB,EAAY,qBACnC,GAAS,EAAW,OAGpB,GAAmB,OAAO,sBAC1B,GAAiB,GAAS,GAAO,cAAW,EAC5C,GAAa,EAAQ,OAAO,KAAM,QAGlC,GAAW,GAAU,EAAM,YAC3B,GAAM,GAAU,EAAM,OACtB,GAAU,GAAU,EAAM,WAC1B,GAAM,GAAU,EAAM,OACtB,GAAU,GAAU,EAAM,WAC1B,GAAe,GAAU,OAAQ,UAGjC,GAAqB,GAAS,IAC9B,GAAgB,GAAS,IACzB,GAAoB,GAAS,IAC7B,GAAgB,GAAS,IACzB,GAAoB,GAAS,IAG7B,GAAc,GAAS,GAAO,eAAY,EAC1C,GAAgB,GAAc,GAAY,aAAU,EASxD,SAAS,GAAK,GACZ,IAAI,GAAS,EACT,EAAS,EAAU,EAAQ,OAAS,EAGxC,IADA,KAAK,UACI,EAAQ,GAAQ,CACvB,IAAI,EAAQ,EAAQ,GACpB,KAAK,IAAI,EAAM,GAAI,EAAM,GAC3B,CACF,CAyFA,SAAS,GAAU,GACjB,IAAI,GAAS,EACT,EAAS,EAAU,EAAQ,OAAS,EAGxC,IADA,KAAK,UACI,EAAQ,GAAQ,CACvB,IAAI,EAAQ,EAAQ,GACpB,KAAK,IAAI,EAAM,GAAI,EAAM,GAC3B,CACF,CAuGA,SAAS,GAAS,GAChB,IAAI,GAAS,EACT,EAAS,EAAU,EAAQ,OAAS,EAGxC,IADA,KAAK,UACI,EAAQ,GAAQ,CACvB,IAAI,EAAQ,EAAQ,GACpB,KAAK,IAAI,EAAM,GAAI,EAAM,GAC3B,CACF,CAqFA,SAAS,GAAM,GACb,KAAK,SAAW,IAAI,GAAU,EAChC,CA2FA,SAAS,GAAc,EAAO,GAG5B,IAAI,EAAU,GAAQ,IAsrBxB,SAAqB,GAEnB,OAmFF,SAA2B,GACzB,OAmIF,SAAsB,GACpB,QAAS,GAAyB,iBAAT,CAC3B,CArIS,CAAa,IAAU,GAAY,EAC5C,CArFS,CAAkB,IAAU,GAAe,KAAK,EAAO,aAC1D,GAAqB,KAAK,EAAO,WAAa,GAAe,KAAK,IAAU,EAClF,CA1rBkC,CAAY,GAljB9C,SAAmB,EAAG,GAIpB,IAHA,IAAI,GAAS,EACT,EAAS,MAAM,KAEV,EAAQ,GACf,EAAO,GAAS,EAAS,GAE3B,OAAO,CACT,CA2iBM,CAAU,EAAM,OAAQ,QACxB,GAEA,EAAS,EAAO,OAChB,IAAgB,EAEpB,IAAK,IAAI,KAAO,GACT,IAAa,GAAe,KAAK,EAAO,IACvC,IAAuB,UAAP,GAAmB,GAAQ,EAAK,KACpD,EAAO,KAAK,GAGhB,OAAO,CACT,CAYA,SAAS,GAAY,EAAQ,EAAK,GAChC,IAAI,EAAW,EAAO,GAChB,GAAe,KAAK,EAAQ,IAAQ,GAAG,EAAU,UACxC,IAAV,GAAyB,KAAO,KACnC,EAAO,GAAO,EAElB,CAUA,SAAS,GAAa,EAAO,GAE3B,IADA,IAAI,EAAS,EAAM,OACZ,KACL,GAAI,GAAG,EAAM,GAAQ,GAAI,GACvB,OAAO,EAGX,OAAQ,CACV,CA6BA,SAAS,GAAU,EAAO,EAAQ,EAAQ,EAAY,EAAK,EAAQ,GACjE,IAAI,EAIJ,GAHI,IACF,EAAS,EAAS,EAAW,EAAO,EAAK,EAAQ,GAAS,EAAW,SAExD,IAAX,EACF,OAAO,EAET,IAAK,GAAS,GACZ,OAAO,EAET,IAAI,EAAQ,GAAQ,GACpB,GAAI,GAEF,GADA,EA2XJ,SAAwB,GACtB,IAAI,EAAS,EAAM,OACf,EAAS,EAAM,YAAY,GAG3B,GAA6B,iBAAZ,EAAM,IAAkB,GAAe,KAAK,EAAO,WACtE,EAAO,MAAQ,EAAM,MACrB,EAAO,MAAQ,EAAM,OAEvB,OAAO,CACT,CArYa,CAAe,IACnB,EACH,OA6ON,SAAmB,EAAQ,GACzB,IAAI,GAAS,EACT,EAAS,EAAO,OAEpB,IAAU,EAAQ,MAAM,IACxB,OAAS,EAAQ,GACf,EAAM,GAAS,EAAO,GAExB,OAAO,CACT,CAtPa,CAAU,EAAO,OAErB,CACL,IAAI,EAAM,GAAO,GACb,EAAS,GAAO,GAAW,GAAO,EAEtC,GAAI,GAAS,GACX,OA0HN,SAAqB,EAAQ,GAC3B,GAAI,EACF,OAAO,EAAO,QAEhB,IAAI,EAAS,IAAI,EAAO,YAAY,EAAO,QAE3C,OADA,EAAO,KAAK,GACL,CACT,CAjIa,CAAY,EAAO,GAE5B,GAAI,GAAO,GAAa,GAAO,GAAY,IAAW,EAAS,CAC7D,GAAI,EAAa,GACf,OAAO,EAAS,EAAQ,CAAC,EAG3B,GADA,EA+XN,SAAyB,GACvB,MAAqC,mBAAtB,EAAO,aAA8B,GAAY,GAE5D,CAAC,GAzVa,EAwVH,GAAa,GAvVrB,GAAS,GAAS,GAAa,GAAS,CAAC,GADlD,IAAoB,CA0VpB,CAnYe,CAAgB,EAAS,CAAC,EAAI,IAClC,EACH,OA6QR,SAAqB,EAAQ,GAC3B,OAAO,GAAW,EAAQ,GAAW,GAAS,EAChD,CA/Qe,CAAY,EAhD3B,SAAoB,EAAQ,GAC1B,OAAO,GAAU,GAAW,EAAQ,GAAK,GAAS,EACpD,CA8CkC,CAAW,EAAQ,GAEjD,KAAO,CACL,IAAK,EAAc,GACjB,OAAO,EAAS,EAAQ,CAAC,EAE3B,EA0YN,SAAwB,EAAQ,EAAK,EAAW,GAC9C,IAAI,EAAO,EAAO,YAClB,OAAQ,GACN,KAAK,EACH,OAAO,GAAiB,GAE1B,KAAK,EACL,KAAK,EACH,OAAO,IAAI,GAAM,GAEnB,KAAK,EACH,OA3QN,SAAuB,EAAU,GAC/B,IAAI,EAAS,EAAS,GAAiB,EAAS,QAAU,EAAS,OACnE,OAAO,IAAI,EAAS,YAAY,EAAQ,EAAS,WAAY,EAAS,WACxE,CAwQa,CAAc,EAAQ,GAE/B,KAAK,EAAY,KAAK,EACtB,KAAK,EAAS,KAAK,EAAU,KAAK,EAClC,KAAK,EAAU,KAAK,EAAiB,KAAK,EAAW,KAAK,EACxD,OA/MN,SAAyB,EAAY,GACnC,IAAI,EAAS,EAAS,GAAiB,EAAW,QAAU,EAAW,OACvE,OAAO,IAAI,EAAW,YAAY,EAAQ,EAAW,WAAY,EAAW,OAC9E,CA4Ma,CAAgB,EAAQ,GAEjC,KAAK,EACH,OArQN,SAAkB,EAAK,EAAQ,GAC7B,IAAI,EAAQ,EAAS,EAAU,EAAW,IAAM,GAAQ,EAAW,GACnE,OAAO,EAAY,EAAO,EAAa,IAAI,EAAI,YACjD,CAkQa,CAAS,EAAQ,EAAQ,GAElC,KAAK,EACL,KAAK,EACH,OAAO,IAAI,EAAK,GAElB,KAAK,EACH,OAhQN,SAAqB,GACnB,IAAI,EAAS,IAAI,EAAO,YAAY,EAAO,OAAQ,EAAQ,KAAK,IAEhE,OADA,EAAO,UAAY,EAAO,UACnB,CACT,CA4Pa,CAAY,GAErB,KAAK,EACH,OApPN,SAAkB,EAAK,EAAQ,GAC7B,IAAI,EAAQ,EAAS,EAAU,EAAW,IAAM,GAAQ,EAAW,GACnE,OAAO,EAAY,EAAO,EAAa,IAAI,EAAI,YACjD,CAiPa,CAAS,EAAQ,EAAQ,GAElC,KAAK,EACH,OA3Oe,EA2OI,EA1OhB,GAAgB,OAAO,GAAc,KAAK,IAAW,CAAC,EAD/D,IAAqB,CA6OrB,CA5ae,CAAe,EAAO,EAAK,GAAW,EACjD,CACF,CAEA,IAAU,EAAQ,IAAI,IACtB,IAAI,EAAU,EAAM,IAAI,GACxB,GAAI,EACF,OAAO,EAIT,GAFA,EAAM,IAAI,EAAO,IAEZ,EACH,IAAI,EAAQ,EAsQhB,SAAoB,GAClB,OAnOF,SAAwB,EAAQ,EAAU,GACxC,IAAI,EAAS,EAAS,GACtB,OAAO,GAAQ,GAAU,EApwB3B,SAAmB,EAAO,GAKxB,IAJA,IAAI,GAAS,EACT,EAAS,EAAO,OAChB,EAAS,EAAM,SAEV,EAAQ,GACf,EAAM,EAAS,GAAS,EAAO,GAEjC,OAAO,CACT,CA2vBoC,CAAU,EAAQ,EAAY,GAClE,CAgOS,CAAe,EAAQ,GAAM,GACtC,CAxQyB,CAAW,GAAS,GAAK,GAUhD,OA5vBF,SAAmB,EAAO,GAIxB,IAHA,IAAI,GAAS,EACT,EAAS,EAAQ,EAAM,OAAS,IAE3B,EAAQ,IAC8B,IAAzC,EAAS,EAAM,GAAQ,EAAO,KAKtC,CA0uBE,CAAU,GAAS,GAAO,SAAS,EAAU,GACvC,IAEF,EAAW,EADX,EAAM,IAIR,GAAY,EAAQ,EAAK,GAAU,EAAU,EAAQ,EAAQ,EAAY,EAAK,EAAO,GACvF,IACO,CACT,CAiDA,SAAS,GAAa,GACpB,SAAK,GAAS,KAyYE,EAzYiB,EA0YxB,GAAe,KAAc,MAvYvB,GAAW,IAAU,EAAa,GAAU,GAAa,GACzD,KAAK,GAAS,IAqY/B,IAAkB,CApYlB,CA8CA,SAAS,GAAiB,GACxB,IAAI,EAAS,IAAI,EAAY,YAAY,EAAY,YAErD,OADA,IAAI,GAAW,GAAQ,IAAI,IAAI,GAAW,IACnC,CACT,CA6GA,SAAS,GAAW,EAAQ,EAAO,EAAQ,GACzC,IAAW,EAAS,CAAC,GAKrB,IAHA,IAAI,GAAS,EACT,EAAS,EAAM,SAEV,EAAQ,GAAQ,CACvB,IAAI,EAAM,EAAM,GAEZ,EAAW,EACX,EAAW,EAAO,GAAM,EAAO,GAAM,EAAK,EAAQ,QAClD,EAEJ,GAAY,EAAQ,OAAkB,IAAb,EAAyB,EAAO,GAAO,EAClE,CACA,OAAO,CACT,CAiCA,SAAS,GAAW,EAAK,GACvB,IAqKiB,EACb,EAtKA,EAAO,EAAI,SACf,OAsKgB,WADZ,SADa,EApKA,KAsKmB,UAAR,GAA4B,UAAR,GAA4B,WAAR,EACrD,cAAV,EACU,OAAV,GAvKD,EAAmB,iBAAP,EAAkB,SAAW,QACzC,EAAK,GACX,CAUA,SAAS,GAAU,EAAQ,GACzB,IAAI,EAj8BN,SAAkB,EAAQ,GACxB,OAAiB,MAAV,OAAiB,EAAY,EAAO,EAC7C,CA+7Bc,CAAS,EAAQ,GAC7B,OAAO,GAAa,GAAS,OAAQ,CACvC,CA9tBA,GAAK,UAAU,MAnEf,WACE,KAAK,SAAW,GAAe,GAAa,MAAQ,CAAC,CACvD,EAkEA,GAAK,UAAkB,OAtDvB,SAAoB,GAClB,OAAO,KAAK,IAAI,WAAe,KAAK,SAAS,EAC/C,EAqDA,GAAK,UAAU,IA1Cf,SAAiB,GACf,IAAI,EAAO,KAAK,SAChB,GAAI,GAAc,CAChB,IAAI,EAAS,EAAK,GAClB,OAAO,IAAW,OAAiB,EAAY,CACjD,CACA,OAAO,GAAe,KAAK,EAAM,GAAO,EAAK,QAAO,CACtD,EAoCA,GAAK,UAAU,IAzBf,SAAiB,GACf,IAAI,EAAO,KAAK,SAChB,OAAO,QAA6B,IAAd,EAAK,GAAqB,GAAe,KAAK,EAAM,EAC5E,EAuBA,GAAK,UAAU,IAXf,SAAiB,EAAK,GAGpB,OAFW,KAAK,SACX,GAAQ,SAA0B,IAAV,EAAuB,EAAiB,EAC9D,IACT,EAmHA,GAAU,UAAU,MAjFpB,WACE,KAAK,SAAW,EAClB,EAgFA,GAAU,UAAkB,OArE5B,SAAyB,GACvB,IAAI,EAAO,KAAK,SACZ,EAAQ,GAAa,EAAM,GAE/B,QAAI,EAAQ,KAIR,GADY,EAAK,OAAS,EAE5B,EAAK,MAEL,GAAO,KAAK,EAAM,EAAO,IAEpB,EACT,EAwDA,GAAU,UAAU,IA7CpB,SAAsB,GACpB,IAAI,EAAO,KAAK,SACZ,EAAQ,GAAa,EAAM,GAE/B,OAAO,EAAQ,OAAI,EAAY,EAAK,GAAO,EAC7C,EAyCA,GAAU,UAAU,IA9BpB,SAAsB,GACpB,OAAO,GAAa,KAAK,SAAU,IAAQ,CAC7C,EA6BA,GAAU,UAAU,IAjBpB,SAAsB,EAAK,GACzB,IAAI,EAAO,KAAK,SACZ,EAAQ,GAAa,EAAM,GAO/B,OALI,EAAQ,EACV,EAAK,KAAK,CAAC,EAAK,IAEhB,EAAK,GAAO,GAAK,EAEZ,IACT,EAiGA,GAAS,UAAU,MA/DnB,WACE,KAAK,SAAW,CACd,KAAQ,IAAI,GACZ,IAAO,IAAK,IAAO,IACnB,OAAU,IAAI,GAElB,EA0DA,GAAS,UAAkB,OA/C3B,SAAwB,GACtB,OAAO,GAAW,KAAM,GAAa,OAAE,EACzC,EA8CA,GAAS,UAAU,IAnCnB,SAAqB,GACnB,OAAO,GAAW,KAAM,GAAK,IAAI,EACnC,EAkCA,GAAS,UAAU,IAvBnB,SAAqB,GACnB,OAAO,GAAW,KAAM,GAAK,IAAI,EACnC,EAsBA,GAAS,UAAU,IAVnB,SAAqB,EAAK,GAExB,OADA,GAAW,KAAM,GAAK,IAAI,EAAK,GACxB,IACT,EA+FA,GAAM,UAAU,MApEhB,WACE,KAAK,SAAW,IAAI,EACtB,EAmEA,GAAM,UAAkB,OAxDxB,SAAqB,GACnB,OAAO,KAAK,SAAiB,OAAE,EACjC,EAuDA,GAAM,UAAU,IA5ChB,SAAkB,GAChB,OAAO,KAAK,SAAS,IAAI,EAC3B,EA2CA,GAAM,UAAU,IAhChB,SAAkB,GAChB,OAAO,KAAK,SAAS,IAAI,EAC3B,EA+BA,GAAM,UAAU,IAnBhB,SAAkB,EAAK,GACrB,IAAI,EAAQ,KAAK,SACjB,GAAI,aAAiB,GAAW,CAC9B,IAAI,EAAQ,EAAM,SAClB,IAAK,IAAQ,EAAM,OAAS,IAE1B,OADA,EAAM,KAAK,CAAC,EAAK,IACV,KAET,EAAQ,KAAK,SAAW,IAAI,GAAS,EACvC,CAEA,OADA,EAAM,IAAI,EAAK,GACR,IACT,EAgcA,IAAI,GAAa,GAAmB,EAAQ,GAAkB,QAyhB9D,WACE,MAAO,EACT,EAlhBI,GAtQJ,SAAoB,GAClB,OAAO,GAAe,KAAK,EAC7B,EAwXA,SAAS,GAAQ,EAAO,GAEtB,SADA,EAAmB,MAAV,EAAiB,EAAmB,KAE1B,iBAAT,GAAqB,EAAS,KAAK,KAC1C,GAAS,GAAK,EAAQ,GAAK,GAAK,EAAQ,CAC7C,CAkCA,SAAS,GAAY,GACnB,IAAI,EAAO,GAAS,EAAM,YAG1B,OAAO,KAFqB,mBAAR,GAAsB,EAAK,WAAc,EAG/D,CASA,SAAS,GAAS,GAChB,GAAY,MAAR,EAAc,CAChB,IACE,OAAO,EAAa,KAAK,EAC3B,CAAE,MAAO,GAAI,CACb,IACE,OAAQ,EAAO,EACjB,CAAE,MAAO,GAAI,CACf,CACA,MAAO,EACT,CAwDA,SAAS,GAAG,EAAO,GACjB,OAAO,IAAU,GAAU,GAAU,GAAS,GAAU,CAC1D,EAzOK,IAAY,GAAO,IAAI,GAAS,IAAI,YAAY,MAAQ,GACxD,IAAO,GAAO,IAAI,KAAQ,GAC1B,IAAW,GAAO,GAAQ,YAAc,GACxC,IAAO,GAAO,IAAI,KAAQ,GAC1B,IAAW,GAAO,IAAI,KAAY,KACrC,GAAS,SAAS,GAChB,IAAI,EAAS,GAAe,KAAK,GAC7B,EAAO,GAAU,EAAY,EAAM,iBAAc,EACjD,EAAa,EAAO,GAAS,QAAQ,EAEzC,GAAI,EACF,OAAQ,GACN,KAAK,GAAoB,OAAO,EAChC,KAAK,GAAe,OAAO,EAC3B,KAAK,GAAmB,OAAO,EAC/B,KAAK,GAAe,OAAO,EAC3B,KAAK,GAAmB,OAAO,EAGnC,OAAO,CACT,GAsQF,IAAI,GAAU,MAAM,QA2BpB,SAAS,GAAY,GACnB,OAAgB,MAAT,GAqGT,SAAkB,GAChB,MAAuB,iBAAT,GACZ,GAAS,GAAK,EAAQ,GAAK,GAAK,GAAS,CAC7C,CAxG0B,CAAS,EAAM,UAAY,GAAW,EAChE,CAgDA,IAAI,GAAW,IAsLf,WACE,OAAO,CACT,EArKA,SAAS,GAAW,GAGlB,IAAI,EAAM,GAAS,GAAS,GAAe,KAAK,GAAS,GACzD,OAAO,GAAO,GAAW,GAAO,CAClC,CA0DA,SAAS,GAAS,GAChB,IAAI,SAAc,EAClB,QAAS,IAAkB,UAAR,GAA4B,YAAR,EACzC,CA0DA,SAAS,GAAK,GACZ,OAAO,GAAY,GAAU,GAAc,GAtuB7C,SAAkB,GAChB,IAAK,GAAY,GACf,OAAO,GAAW,GAEpB,IAAI,EAAS,GACb,IAAK,IAAI,KAAO,OAAO,GACjB,GAAe,KAAK,EAAQ,IAAe,eAAP,GACtC,EAAO,KAAK,GAGhB,OAAO,CACT,CA2tBuD,CAAS,EAChE,CAyCA,EAAO,QA9VP,SAAmB,GACjB,OAAO,GAAU,GAAO,GAAM,EAChC,CA+VO,EAED,IACA,CAAE,EAAQ,EAA0B,KAsC1C,IApC0B,IAAI,EAAS,EAAoB,MAAc,OAgC/C,EAAQ,WAG9B,EAAO,GACF,EAAI,EAAG,EAAI,IAAK,IACvB,EAAK,IAAM,EAAI,GAAM,GAAK,KAAO,EAAE,SAAS,IAgB9C,IAAI,EAAQ,EAAO,QAAU,SAAS,EAAI,GACpC,aAAc,GAChB,KAAK,OAAS,EACd,KAAK,OAAS,GAAM,GAC2B,uBAAtC,OAAO,UAAU,SAAS,KAAK,IAKxC,KAAK,OAAS,IAAI,EAAO,GACzB,KAAK,OAAS,GAAM,IAEpB,KAAK,OAAS,KAAK,QAAU,IAAI,EAAO,GACxC,KAAK,OAAS,EACd,KAAK,SAAS,MAAM,KAAM,WAE9B,EAIA,EAAM,QAAU,KAAK,IAAI,EAAG,IAG5B,EAAM,SAAW,KAAK,IAAI,EAAG,IAE7B,EAAM,UAAY,CAEhB,YAAa,EAMb,QAAS,WAEP,IADA,IAAI,EAAI,KAAK,OAAQ,EAAI,KAAK,OAAQ,EAAQ,EACrC,EAAI,EAAI,EAAG,GAAK,EAAG,IAAK,CAC/B,IAAI,GAAY,IAAP,EAAE,IAAa,EACxB,EAAE,GAAS,IAAJ,EACP,EAAQ,GAAK,CACf,CACF,EASA,SAAU,SAAS,EAAI,GACrB,IAAI,GAAS,EACb,GAAwB,GAApB,UAAU,OACZ,GAAkB,iBAAR,EAAkB,CAO1B,GAJA,EAAS,EAAK,EAEd,GADA,EAAK,KAAK,IAAI,IACJ,GACV,GAAU,GACD,EAAO,MAAM,IAAI,WAAW,EAAM,2BAC3C,GAAU,CACZ,KAAO,IAAkB,iBAAR,EAOf,MAAM,IAAI,MAAM,EAAK,+BALrB,GADA,GAAM,EAAK,IAAI,QAAQ,MAAO,KACtB,QAAQ,GAChB,EAAK,EAAG,OAAS,EAAI,EAAG,OAAO,EAAG,EAAG,OAAS,GAAK,GACnD,EAAK,SAAS,EAAI,IAClB,EAAK,SAAS,EAAI,GAGpB,CAQF,IADA,IAAI,EAAI,KAAK,OAAQ,EAAI,KAAK,OACrB,EAAI,EAAG,GAAK,EAAG,IACtB,EAAE,EAAE,GAAU,IAAL,EACT,EAAU,GAAL,EAAS,EAAK,IAAO,EAIxB,GAAQ,KAAK,SACnB,EAaA,SAAU,SAAS,GAKjB,IAJA,IAAI,EAAI,KAAK,OAAQ,EAAI,KAAK,OAG1B,EAAgB,IAAP,EAAE,GAAW,EAAI,EAAG,EAAQ,EAChC,EAAI,EAAG,EAAI,EAAG,GAAK,EAAG,IAAK,GAAK,IAAK,CAC5C,IAAI,EAAI,EAAE,EAAE,GAGR,IAEF,GADA,GAAS,IAAJ,GAAY,IACJ,EACb,GAAQ,KAGV,GAAK,EAAI,CACX,CAGA,OAAK,GAAkB,GAAK,EAAM,QACzB,GAAU,IAAW,IAGvB,GAAU,EAAI,CACvB,EAMA,QAAS,WACP,OAAO,KAAK,UAAS,EACvB,EAOA,SAAU,SAAS,GACjB,OAAO,KAAK,UAAU,SAAS,GAAS,GAC1C,EAOA,cAAe,SAAS,GAGtB,IAFA,IAAI,EAAM,IAAI,MAAM,GAChB,EAAI,KAAK,OAAQ,EAAI,KAAK,OACrB,EAAI,EAAG,EAAI,EAAG,IACrB,EAAI,GAAK,EAAK,EAAE,EAAE,IAEpB,OAAO,EAAI,KAAK,GAAO,GACzB,EAQA,SAAU,SAAS,GACjB,GAAI,GAA6B,IAAhB,KAAK,OAAc,OAAO,KAAK,OAEhD,IAAI,EAAM,IAAI,EAAO,GAErB,OADA,KAAK,OAAO,KAAK,EAAK,EAAG,KAAK,OAAQ,KAAK,OAAS,GAC7C,CACT,EAQA,KAAM,SAAS,EAAc,GAC3B,KAAK,OAAO,KAAK,EAAc,GAAgB,EAAG,KAAK,OAAQ,KAAK,OAAS,EAC/E,EAQA,QAAS,SAAS,GAGhB,IAAgC,IAA3B,KAAK,OAAO,KAAK,WAAiD,IAA7B,EAAM,OAAO,EAAM,SAC3D,OAAO,EAAM,OAAO,EAAM,QAAU,KAAK,OAAO,KAAK,QAIvD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAG,IACrB,GAAI,KAAK,OAAO,KAAK,OAAO,KAAO,EAAM,OAAO,EAAM,OAAO,GAC3D,OAAO,KAAK,OAAO,KAAK,OAAO,GAAK,EAAM,OAAO,EAAM,OAAO,GAGlE,OAAO,CACT,EAOA,OAAQ,SAAS,GACf,OAA+B,IAAxB,KAAK,QAAQ,EACtB,EAKA,QAAS,WACP,MAAO,gBAAkB,KAAO,WAAa,KAAK,cAAc,KAAO,GACzE,EAIK,EAED,KACE,IAER,aA2BA,SAAS,EAAe,EAAK,GAC3B,OAAO,OAAO,UAAU,eAAe,KAAK,EAAK,EACnD,CAEA,EAAO,QAAU,SAAS,EAAI,EAAK,EAAI,GACrC,EAAM,GAAO,IACb,EAAK,GAAM,IACX,IAAI,EAAM,CAAC,EAEX,GAAkB,iBAAP,GAAiC,IAAd,EAAG,OAC/B,OAAO,EAGT,IAAI,EAAS,MACb,EAAK,EAAG,MAAM,GAEd,IAAI,EAAU,IACV,GAAsC,iBAApB,EAAQ,UAC5B,EAAU,EAAQ,SAGpB,IAAI,EAAM,EAAG,OAET,EAAU,GAAK,EAAM,IACvB,EAAM,GAGR,IAAK,IAAI,EAAI,EAAG,EAAI,IAAO,EAAG,CAC5B,IAEI,EAAM,EAAM,EAAG,EAFf,EAAI,EAAG,GAAG,QAAQ,EAAQ,OAC1B,EAAM,EAAE,QAAQ,GAGhB,GAAO,GACT,EAAO,EAAE,OAAO,EAAG,GACnB,EAAO,EAAE,OAAO,EAAM,KAEtB,EAAO,EACP,EAAO,IAGT,EAAI,mBAAmB,GACvB,EAAI,mBAAmB,GAElB,EAAe,EAAK,GAEd,MAAM,QAAQ,EAAI,IAC3B,EAAI,GAAG,KAAK,GAEZ,EAAI,GAAK,CAAC,EAAI,GAAI,GAJlB,EAAI,GAAK,CAMb,CAEA,OAAO,CACT,CAGO,EAED,KACE,IAER,aAwBA,IAAI,EAAqB,SAAS,GAChC,cAAe,GACb,IAAK,SACH,OAAO,EAET,IAAK,UACH,OAAO,EAAI,OAAS,QAEtB,IAAK,SACH,OAAO,SAAS,GAAK,EAAI,GAE3B,QACE,MAAO,GAEb,EAEA,EAAO,QAAU,SAAS,EAAK,EAAK,EAAI,GAOtC,OANA,EAAM,GAAO,IACb,EAAK,GAAM,IACC,OAAR,IACF,OAAM,GAGW,iBAAR,EACF,OAAO,KAAK,GAAK,KAAI,SAAS,GACnC,IAAI,EAAK,mBAAmB,EAAmB,IAAM,EACrD,OAAI,MAAM,QAAQ,EAAI,IACb,EAAI,GAAG,KAAI,SAAS,GACzB,OAAO,EAAK,mBAAmB,EAAmB,GACpD,IAAG,KAAK,GAED,EAAK,mBAAmB,EAAmB,EAAI,IAE1D,IAAG,KAAK,GAIL,EACE,mBAAmB,EAAmB,IAAS,EAC/C,mBAAmB,EAAmB,IAF3B,EAGpB,CAGO,EAED,KACA,CAAE,EAAyB,EAAS,KAE1C,aAGA,EAAQ,OAAS,EAAQ,MAAQ,EAAoB,MACrD,EAAQ,OAAS,EAAQ,UAAY,EAAoB,KAGlD,EAED,KACE,IAER,EAAO,QAAU,uvteAEV,EAED,KACE,IAER,EAAO,QAAU,qwKAEV,EAED,IACE,IAER,EAAO,QAAU,6iGAEV,EAED,KACE,IAER,EAAO,QAAU,ix2MAEV,EAED,KACE,IAER,EAAO,QAAU,66sCAEV,EAED,KACE,IAER,EAAO,QAAU,yg4CAEV,EAED,KACE,IAMR,EAAO,QAAU,SAAS,GACzB,SAAS,EAAI,GACQ,oBAAZ,UACJ,QAAQ,OAAS,QAAQ,KAAK,kBAAmB,EACtD,CAOA,IAC2B,oBAAf,YAJmB,oBAAhB,aAA2D,oBAArB,iBAKnD,WAAW,GACe,oBAAT,KACjB,KAAK,KAAK,KAAM,GAEhB,EAAI,wCAEN,CAAE,MAAO,GACR,EAAI,EACL,CACD,CAGO,EAED,KACA,CAAE,EAAyB,EAA0B,KAE3D,EAAoB,KAApB,CAA0B,EAAoB,MAEvC,EAED,KACA,CAAE,EAAyB,EAA0B,KAE3D,EAAoB,KAApB,CAA0B,EAAoB,MAEvC,EAED,IACA,CAAE,EAAyB,EAA0B,KAE3D,EAAoB,KAApB,CAA0B,EAAoB,KAEvC,EAED,KACA,CAAE,EAAyB,EAA0B,KAE3D,EAAoB,KAApB,CAA0B,EAAoB,MAEvC,EAED,KACA,CAAE,EAAyB,EAA0B,KAE3D,EAAoB,KAApB,CAA0B,EAAoB,MAEvC,EAED,KACA,CAAE,EAAyB,EAA0B,KAE3D,EAAoB,KAApB,CAA0B,EAAoB,MAEvC,EAED,KACA,CAAE,EAAyB,KAqBjC,IAAI,EAAQ,KAAK,IAAI,EAAG,GACpB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAW,KAAK,IAAI,EAAG,MAE3B,EAAQ,SAAW,SAAS,GAC3B,OAAO,EAAI,IAAM,EAAE,IAAM,CAC1B,EAEA,EAAQ,QAAU,SAAS,EAAM,GAE/B,IAAI,EAAI,GADR,EAAM,GAAO,GACM,GAKnB,OAJA,GAAK,EAAK,IAAQ,EACF,IAAZ,EAAK,KACP,GAAK,GAEA,CACT,EAEA,EAAQ,QAAU,SAAS,EAAM,GAE/B,IAAI,EAAI,GADR,EAAM,GAAO,GACM,GAOnB,OANA,GAAK,EAAK,EAAM,IAAM,EACtB,GAAK,EAAK,EAAM,IAAM,GACtB,GAAK,EAAK,GAAO,EACD,IAAZ,EAAK,KACP,GAAK,GAEA,CACT,EAEA,EAAQ,SAAW,SAAS,EAAM,GAIhC,OAHA,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,GAAS,IAAJ,EACH,CACT,EAEA,EAAQ,SAAW,SAAS,EAAM,GAQhC,OAPA,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,GAAS,IAAJ,EACH,CACT,EAEA,EAAQ,WAAa,SAAS,EAAM,GAElC,IAAI,EAAqB,IAAZ,EADb,EAAM,GAAO,GAET,GAAmB,IAAd,EAAK,EAAI,KAAc,EAChC,IAAkB,IAAZ,EAAK,KAAgB,EAE3B,IAAI,EAAI,EAAK,EAAI,GAQjB,OAPA,GAAK,EAAK,EAAI,IAAM,EACpB,GAAK,EAAK,EAAI,IAAM,GACpB,GAAK,EAAK,EAAI,GAAK,EACnB,GAAK,EAAK,EAAI,GAAK,EACnB,GAAK,EAAK,EAAI,GAAK,EACnB,IAAoB,GAAd,EAAK,EAAI,IAAa,EAEpB,GACN,KAAK,EACH,GAAK,KACL,MACF,KAAK,KACH,OAAO,EAAI,IAAO,GAAU,IAAW,IACzC,QACE,GAAK,EACL,GAAK,KAOT,OAJI,IACF,IAAM,GAGD,EAAI,KAAK,IAAI,EAAG,EAAI,GAC7B,EAMA,EAAQ,YAAc,SAAS,EAAM,GACnC,IAAI,EAAG,EAAG,EAyDV,OAvDA,EAAK,GAAM,EAAI,EAAI,IAAO,GAE1B,EAAI,KAAK,IAAI,KACH,GAER,EAAI,gBACJ,EAAI,MACK,IAAM,KACf,EAAI,EACJ,EAAI,OAEJ,EAAI,KAAK,MAAM,KAAK,IAAI,GAAK,KAAK,KAE9B,GADJ,EAAI,KAAK,IAAI,GAAI,IACL,IACV,IACA,GAAK,GAGH,EAAI,MAAQ,MAGd,EAAI,EACJ,EAAI,MAEG,EAAI,MAAQ,GAGnB,GAAK,EAAE,EAAE,GAAK,EACd,GAAK,OAKL,EAAK,EAAI,EAAY,EACrB,EAAI,IAIR,EAAK,GAAM,GAAK,EAAK,IACrB,EAAK,IAAO,GAAK,EAAK,IAEtB,EAAK,GAAS,IAAJ,EACV,EAAI,KAAK,MAAM,EAAI,GACnB,EAAK,GAAS,IAAJ,EACV,EAAI,KAAK,MAAM,EAAI,GACnB,EAAK,GAAS,IAAJ,EACV,EAAI,KAAK,MAAM,EAAI,GACnB,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,IAAU,GAAJ,EAEJ,CACT,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAEhB,IAAI,EAAS,EAAoB,MAAc,OAoBrE,EAAM,EAAoB,MAC1B,EAAS,EAAoB,MAC7B,EAAQ,EAAoB,KAC5B,EAAS,EAAoB,MAC7B,EAAO,EAAO,KAElB,EAAO,QAAU,EAMjB,IAAI,GAAgB,MAChB,GAAa,WAOjB,SAAS,EAAgB,EAAO,EAAY,GAC1C,KAAK,MAAQ,EACb,KAAK,gBAA6B,IAAf,GAA2B,EAC9C,KAAK,iBAA+B,IAAhB,GAA4B,EAChD,KAAK,OAAS,IAChB,CATA,EAAgB,aAAe,EAC/B,EAAgB,UAAY,EAC5B,EAAgB,UAJA,IAahB,EAAgB,UAAU,MAAQ,WAChC,OAAO,KAAK,MAAM,OACpB,EAEA,EAAgB,UAAU,kBAAoB,SAAS,EAAM,EAAM,GAC3D,KAAK,aACP,KAAK,SAAS,EAAY,GAC1B,KAAK,YAAY,GACjB,KAAK,SAAS,KAEd,KAAK,YAAY,GACjB,KAAK,UAAU,GACf,KAAK,SAAS,IAGI,OAAhB,KAAK,OACP,EAAI,QAAQ,oBAAqB,CAAE,KAAQ,KAE3C,KAAK,OAAS,EACd,KAAK,MAAM,aAAa,GAE9B,EAEA,EAAgB,UAAU,gBAAkB,WACpB,OAAhB,KAAK,OACL,KAAK,OAAS,KAEd,EAAI,QAAQ,oBAEpB,EAEA,EAAgB,UAAU,iBAAmB,SAAS,GACtD,EAEA,EAAgB,UAAU,eAAiB,WAC3C,EAEA,EAAgB,UAAU,gBAAkB,SAAS,EAAM,EAAM,GAC/D,KAAK,UAAU,GACf,KAAK,SAAS,EAChB,EAEA,EAAgB,UAAU,cAAgB,WAC1C,EAEA,EAAgB,UAAU,eAAiB,WACzC,KAAK,UAAU,EAAK,KACtB,EAEA,EAAgB,UAAU,cAAgB,SAAS,EAAO,EAAO,GAC/D,KAAK,UAAU,GACf,KAAK,UAAU,GACf,KAAK,SAAS,EAChB,EAEA,EAAgB,UAAU,YAAc,WACxC,EAEA,EAAgB,UAAU,eAAiB,SAAS,EAAO,GACzD,KAAK,UAAU,GACf,KAAK,SAAS,EAChB,EAEA,EAAgB,UAAU,aAAe,WACzC,EAEA,EAAgB,UAAU,cAAgB,SAAS,EAAO,GACxD,KAAK,UAAU,GACf,KAAK,SAAS,EAChB,EAEA,EAAgB,UAAU,YAAc,WACxC,EAEA,EAAgB,UAAU,UAAY,SAAS,GACzC,EACF,KAAK,UAAU,GAEf,KAAK,UAAU,EAEnB,EAEA,EAAgB,UAAU,UAAY,SAAS,GAC7C,KAAK,MAAM,MAAM,IAAI,EAAO,CAAC,IAC/B,EAEA,EAAgB,UAAU,SAAW,SAAS,GAC5C,KAAK,MAAM,MAAM,EAAO,SAAS,IAAI,EAAO,GAAI,GAClD,EAEA,EAAgB,UAAU,SAAW,SAAS,GAC5C,KAAK,MAAM,MAAM,EAAO,SAAS,IAAI,EAAO,GAAI,GAClD,EAEA,EAAgB,UAAU,SAAW,SAAS,GACxC,EAAI,OACN,KAAK,MAAM,MAAM,EAAI,QAErB,KAAK,MAAM,MAAM,IAAI,EAAM,GAAK,OAEpC,EAEA,EAAgB,UAAU,YAAc,SAAS,GAC/C,KAAK,MAAM,MAAM,EAAO,YAAY,IAAI,EAAO,GAAI,GACrD,EAEA,EAAgB,UAAU,oBAAsB,SAAS,EAAM,EAAU,GACvE,GAAoB,iBAAV,EACR,KAAK,SAAS,EAAO,WAAW,EAAK,IACrC,KAAK,MAAM,MAAM,IAAI,EAAO,EAAK,QAC5B,MAAK,aAAe,GACwB,uBAAvC,OAAO,UAAU,SAAS,KAAK,IAOzC,MAAM,IAAI,MAAM,EAAO,6CAA+C,GAHtE,KAAK,SAAS,EAAI,QAClB,KAAK,MAAM,MAAM,EAGnB,CACF,EAEA,EAAgB,UAAU,YAAc,SAAS,GAC/C,KAAK,oBAAoB,cAAe,OAAQ,EAClD,EAEA,EAAgB,UAAU,YAAc,SAAS,GAC/C,KAAK,oBAAoB,cAAe,SAAU,EACpD,EAEA,EAAgB,UAAU,iBAAmB,WAC3C,IACI,EAAM,EAAM,EADZ,EAAK,KAAK,UAGd,GAAI,EAAK,EAAG,CAEV,IADc,EAAK,IACJ,EACb,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,YAAa,oCAAsC,GAEvH,EAxJY,IAwJL,EACP,EAAO,KAAK,aACZ,EAAQ,KAAK,SACf,KAAO,CACL,GAAI,KAAK,WACP,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,YAAa,8BAEjF,EAAO,KAAK,MAAM,KAAK,GACvB,EAAO,KAAK,WACZ,EAAQ,KAAK,SACf,CACA,MAAO,CAAC,MAAO,EAAM,MAAO,EAAM,OAAQ,EAC5C,EAEA,EAAgB,UAAU,eAAiB,WAC3C,EAEA,EAAgB,UAAU,gBAAkB,WAC1C,MAAO,CAAC,MAAO,GACjB,EAEA,EAAgB,UAAU,cAAgB,WAC1C,EAEA,EAAgB,UAAU,eAAiB,WACzC,IAAI,EAAO,KAAK,WAChB,OAAI,GAAQ,EAAK,KACR,CAAC,MAAO,KAAM,MAAO,EAAM,IAAK,GAGlC,CAAC,MAAO,KAAM,MAAO,EAAM,IADzB,KAAK,UAEhB,EAEA,EAAgB,UAAU,aAAe,WACzC,EAEA,EAAgB,UAAU,aAAe,WAIvC,MAAO,CAAC,MAHI,KAAK,WAGK,MAFV,KAAK,WAEmB,KADzB,KAAK,UAElB,EAEA,EAAgB,UAAU,WAAa,WACvC,EAEA,EAAgB,UAAU,cAAgB,WAGxC,MAAO,CAAC,MAFI,KAAK,WAEK,KADX,KAAK,UAElB,EAEA,EAAgB,UAAU,YAAc,WACxC,EAEA,EAAgB,UAAU,aAAe,WAGvC,MAAO,CAAC,MAFI,KAAK,WAEK,KADX,KAAK,UAElB,EAEA,EAAgB,UAAU,WAAa,WACvC,EAEA,EAAgB,UAAU,SAAW,WAEnC,OAAU,IADF,KAAK,UAKf,EAEA,EAAgB,UAAU,SAAW,WACnC,OAAO,KAAK,MAAM,UACpB,EAEA,EAAgB,UAAU,QAAU,WAClC,OAAO,KAAK,MAAM,SACpB,EAEA,EAAgB,UAAU,QAAU,WAClC,OAAO,KAAK,MAAM,SACpB,EAEA,EAAgB,UAAU,QAAU,WAClC,IAAI,EAAO,KAAK,MAAM,KAAK,GAC3B,OAAO,IAAI,EAAM,EACnB,EAEA,EAAgB,UAAU,WAAa,WACrC,OAAO,KAAK,MAAM,YACpB,EAEA,EAAgB,UAAU,WAAa,WACrC,IAAI,EAAM,KAAK,UACf,GAAY,IAAR,EACF,OAAO,IAAI,EAAO,GAGpB,GAAI,EAAM,EACR,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,cAAe,wBAEnF,OAAO,KAAK,MAAM,KAAK,EACzB,EAEA,EAAgB,UAAU,WAAa,WACrC,IAAI,EAAM,KAAK,UACf,GAAY,IAAR,EACF,MAAO,GAGT,GAAI,EAAM,EACR,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,cAAe,wBAEnF,OAAO,KAAK,MAAM,WAAW,EAC/B,EAEA,EAAgB,UAAU,aAAe,WACvC,OAAO,KAAK,KACd,EAEA,EAAgB,UAAU,KAAO,SAAS,GACxC,OAAQ,GACN,KAAK,EAAK,KACR,KAAK,WACL,MACF,KAAK,EAAK,KACR,KAAK,WACL,MACF,KAAK,EAAK,IACR,KAAK,UACL,MACF,KAAK,EAAK,IACR,KAAK,UACL,MACF,KAAK,EAAK,IACR,KAAK,UACL,MACF,KAAK,EAAK,OACR,KAAK,aACL,MACF,KAAK,EAAK,OACR,KAAK,aACL,MACF,KAAK,EAAK,OAER,IADA,KAAK,oBACQ,CACX,IAAI,EAAI,KAAK,iBACb,GAAI,EAAE,QAAU,EAAK,KACnB,MAEF,KAAK,KAAK,EAAE,OACZ,KAAK,cACP,CACA,KAAK,gBACL,MACF,KAAK,EAAK,IAER,IADA,IAAI,EAAW,KAAK,eACX,EAAI,EAAG,EAAI,EAAS,OAAQ,EACnC,KAAK,KAAK,EAAS,OACnB,KAAK,KAAK,EAAS,OAErB,KAAK,aACL,MACF,KAAK,EAAK,IAER,IADA,IAAI,EAAW,KAAK,eACX,EAAK,EAAG,EAAK,EAAS,OAAQ,EACrC,KAAK,KAAK,EAAS,OAErB,KAAK,aACL,MACF,KAAK,EAAK,KAER,IADA,IAAI,EAAY,KAAK,gBACZ,EAAK,EAAG,EAAK,EAAU,OAAQ,EACtC,KAAK,KAAK,EAAU,OAEtB,KAAK,cACL,MACF,QACE,MAAM,IAAK,MAAM,iBAAmB,GAE1C,CAGO,EAED,KACA,CAAE,EAAyB,EAAS,KAoB1C,EAAQ,OAAS,EAAoB,MAErC,IAAI,EAAgB,EAAoB,MACxC,EAAQ,cAAgB,EAAc,cACtC,EAAQ,oBAAsB,EAAc,oBAC5C,EAAQ,gBAAkB,EAAc,gBAExC,EAAQ,YAAc,EAAoB,MAAM,YAEhD,EAAQ,oBAAsB,EAAoB,MAClD,EAAQ,mBAAqB,EAAoB,MACjD,EAAQ,iBAAmB,EAAoB,MAE/C,EAAQ,SAAW,EAAQ,cAAgB,EAAoB,MAC/D,EAAQ,gBAAkB,EAAoB,MAC9C,EAAQ,iBAAmB,EAAoB,MAE/C,EAAQ,MAAQ,EAAoB,IAG7B,EAED,KACA,CAAE,EAAQ,EAA0B,KAEhB,IAAI,EAAS,EAAoB,MAAc,OAoBrE,EAAS,EAAoB,MAC7B,EAA2B,EAAoB,MAC/C,EAAmB,EAAoB,MAI3C,SAAS,EAAmB,EAAQ,GAClC,KAAK,sBAAwB,KAC7B,KAAK,gBAAkB,IACvB,KAAK,MAAQ,IAAI,EAAO,KAAK,uBAC7B,KAAK,WAAa,EAClB,KAAK,YAAc,EACnB,KAAK,WAAa,GAClB,KAAK,SAAW,EAChB,KAAK,QAAU,CACjB,CAXA,EAAO,QAAU,EAajB,EAAmB,UAAY,IAAI,EAEnC,EAAmB,UAAU,MAAQ,WACnC,KAAK,MAAQ,IAAI,EAAO,KAAK,uBAC7B,KAAK,WAAa,EAClB,KAAK,YAAc,EACnB,KAAK,WAAa,GAClB,KAAK,SAAW,CAClB,EAEA,EAAmB,SAAW,SAAS,EAAU,GAC/C,IAAI,EAAS,IAAI,EAEjB,OAAO,SAAS,GACd,GAAI,EAAO,YAAc,EAAK,OAAS,EAAO,MAAM,OAAQ,CAC1D,IAAI,EAAM,IAAI,EAAO,EAAO,YAAc,EAAK,QAC/C,EAAO,MAAM,KAAK,EAAK,EAAG,EAAG,EAAO,aACpC,EAAO,MAAQ,CACjB,CACA,EAAK,KAAK,EAAO,MAAO,EAAO,YAAa,GAC5C,EAAO,aAAe,EAAK,OAE3B,EAAS,EAAQ,EACnB,CACF,EAGA,EAAmB,UAAU,eAAiB,WAC5C,IAAI,EAAa,KAAK,YAAc,KAAK,WACrC,EAAwB,EAAb,EAAiB,KAAK,sBACtB,EAAb,EAAiB,KAAK,sBACpB,EAAM,IAAI,EAAO,GACjB,EAAa,GACf,KAAK,MAAM,KAAK,EAAK,EAAG,KAAK,WAAY,KAAK,aAEhD,KAAK,WAAa,EAClB,KAAK,YAAc,EACnB,KAAK,MAAQ,CACf,EAEA,EAAmB,UAAU,iBAAmB,WAC9C,KAAK,WAAa,CACpB,EAGA,EAAmB,UAAU,OAAS,WACpC,OAAO,CACT,EAEA,EAAmB,UAAU,KAAO,WACpC,EAEA,EAAmB,UAAU,MAAQ,WACrC,EAIA,EAAmB,UAAU,aAAe,SAAS,GACnD,KAAK,OAAS,CAChB,EAEA,EAAmB,UAAU,gBAAkB,SAAS,GACtD,GAAI,KAAK,WAAa,EAAM,KAAK,YAC/B,MAAM,IAAI,CAEd,EAEA,EAAmB,UAAU,KAAO,SAAS,GAC3C,KAAK,gBAAgB,GACrB,IAAI,EAAM,IAAI,EAAO,GAGrB,OAFA,KAAK,MAAM,KAAK,EAAK,EAAG,KAAK,WAAY,KAAK,WAAa,GAC3D,KAAK,YAAc,EACZ,CACT,EAEA,EAAmB,UAAU,SAAW,WAEtC,OADA,KAAK,gBAAgB,GACd,EAAO,SAAS,KAAK,MAAM,KAAK,cACzC,EAEA,EAAmB,UAAU,QAAU,WACrC,KAAK,gBAAgB,GACrB,IAAI,EAAM,EAAO,QAAQ,KAAK,MAAO,KAAK,YAE1C,OADA,KAAK,YAAc,EACZ,CACT,EAEA,EAAmB,UAAU,QAAU,WACrC,KAAK,gBAAgB,GACrB,IAAI,EAAM,EAAO,QAAQ,KAAK,MAAO,KAAK,YAE1C,OADA,KAAK,YAAc,EACZ,CACT,EAEA,EAAmB,UAAU,WAAa,WACxC,KAAK,gBAAgB,GACrB,IAAI,EAAI,EAAO,WAAW,KAAK,MAAO,KAAK,YAE3C,OADA,KAAK,YAAc,EACZ,CACT,EAEA,EAAmB,UAAU,WAAa,SAAS,GACjD,KAAK,gBAAgB,GACrB,IAAI,EAAM,KAAK,MAAM,SAAS,OAAQ,KAAK,WAAY,KAAK,WAAa,GAEzE,OADA,KAAK,YAAc,EACZ,CACT,EAEA,EAAmB,UAAU,OAAS,WAEpC,MADU,CAAC,IAAK,KAAK,MAAO,UAAW,KAAK,WAAY,WAAY,KAAK,YAE3E,EAEA,EAAmB,UAAU,QAAU,SAAS,GAC9C,KAAK,YAAc,CACrB,EAEA,EAAmB,UAAU,MAAQ,SAAS,GACxB,iBAAV,IACR,EAAM,IAAI,EAAO,EAAK,SAExB,KAAK,WAAW,KAAK,GACrB,KAAK,UAAY,EAAI,MACvB,EAEA,EAAmB,UAAU,MAAQ,WAGnC,IAAI,EAAQ,KAAK,OAGjB,GAFA,KAAK,OAAS,OAEV,KAAK,SAAW,GAApB,CAIA,IAAI,EAAM,IAAI,EAAO,KAAK,UACtB,EAAM,EACV,KAAK,WAAW,SAAQ,SAAS,GAC/B,EAAI,KAAK,EAAK,EAAK,GACnB,GAAO,EAAI,MACb,IAEI,KAAK,SAEP,KAAK,QAAQ,EAAK,GAGpB,KAAK,WAAa,GAClB,KAAK,SAAW,CAfhB,CAgBF,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAEhB,IAAI,EAAS,EAAoB,MAAc,OAoBrE,EAAM,EAAoB,MAC1B,EAAQ,EAAoB,KAC5B,EAAS,EAAoB,MAC7B,EAAO,EAAO,KAElB,EAAO,QAAU,EAEjB,IAAI,EAAQ,KAAK,IAAI,EAAG,GACpB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAS,KAAK,IAAI,EAAG,IACrB,EAAW,KAAK,IAAI,EAAG,MAU3B,SAAS,EAAiB,GACxB,KAAK,MAAQ,EACb,KAAK,WAAa,GAClB,KAAK,aAAe,EACpB,KAAK,cAAgB,EACrB,KAAK,YAAc,KACnB,KAAK,iBAAmB,EACxB,KAAK,iBAAmB,EACxB,KAAK,cAAgB,CACnB,KAAM,KACN,cAAc,GAEhB,KAAK,WAAa,CAChB,cAAc,EACd,WAAW,EAEf,CAYA,EAAiB,aAAe,IAOhC,EAAiB,UAAY,EAO7B,EAAiB,aAAe,GAOhC,EAAiB,WAAa,GAO9B,EAAiB,UAAY,EAO7B,EAAiB,kBAAoB,EAmBrC,EAAiB,MAAQ,CACvB,QAAmB,EACnB,gBAAmB,EACnB,iBAAmB,EACnB,QAAmB,EACnB,OAAmB,EACnB,OAAmB,EACnB,OAAmB,EACnB,UAAmB,EACnB,UAAmB,EACnB,QAAmB,EACnB,OAAmB,GACnB,OAAmB,GACnB,UAAmB,IAOrB,EAAiB,aAAe,CAC9B,EAAiB,MAAM,QACvB,EACA,EAAiB,MAAM,gBACvB,EAAiB,MAAM,QACvB,EAAiB,MAAM,UACvB,EACA,EAAiB,MAAM,OACvB,EACA,EAAiB,MAAM,OACvB,EACA,EAAiB,MAAM,OACvB,EAAiB,MAAM,UACvB,EAAiB,MAAM,UACvB,EAAiB,MAAM,OACvB,EAAiB,MAAM,OACvB,EAAiB,MAAM,SAWtB,EAAiB,UAAU,aAAe,WAC3C,OAAO,KAAK,KACd,EAQA,EAAiB,UAAU,eAAiB,SAAS,GACnD,OAAO,EAAiB,aAAa,EACvC,EAQA,EAAiB,UAAU,SAAW,SAAS,GAC7C,OAAQ,GACN,KAAK,EAAK,KACR,OAAO,EAAK,KACd,KAAK,EAAiB,MAAM,iBAC5B,KAAK,EAAiB,MAAM,gBAC1B,OAAO,EAAK,KACd,KAAK,EAAiB,MAAM,QAC1B,OAAO,EAAK,KACd,KAAK,EAAiB,MAAM,OAC1B,OAAO,EAAK,IACd,KAAK,EAAiB,MAAM,OAC1B,OAAO,EAAK,IACd,KAAK,EAAiB,MAAM,OAC1B,OAAO,EAAK,IACd,KAAK,EAAiB,MAAM,UAC1B,OAAO,EAAK,OACd,KAAK,EAAiB,MAAM,UAC1B,OAAO,EAAK,OACd,KAAK,EAAiB,MAAM,QAC1B,OAAO,EAAK,KACd,KAAK,EAAiB,MAAM,OAC1B,OAAO,EAAK,IACd,KAAK,EAAiB,MAAM,OAC1B,OAAO,EAAK,IACd,KAAK,EAAiB,MAAM,UAC1B,OAAO,EAAK,OACd,QACE,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,aAAc,iBAAmB,GAEvG,OAAO,EAAK,IACd,EAUA,EAAiB,UAAU,MAAQ,WACjC,OAAO,KAAK,MAAM,OACpB,EAQA,EAAiB,UAAU,kBAAoB,SAAS,EAAM,EAAM,GAClE,KAAK,UAAU,EAAiB,aAChC,KAAK,UAAW,EAAiB,UAAY,EAAiB,aACzC,GAAQ,EAAiB,kBAAqB,EAAiB,WACpF,KAAK,cAAc,GACnB,KAAK,YAAY,GAGb,KAAK,OACP,EAAI,QAAQ,oBAAqB,CAAE,KAAQ,KAE3C,KAAK,OAAS,EACd,KAAK,MAAM,aAAa,GAE5B,EAEA,EAAiB,UAAU,gBAAkB,WAC7C,EAEA,EAAiB,UAAU,iBAAmB,SAAS,GACrD,KAAK,WAAW,KAAK,KAAK,cAC1B,KAAK,aAAe,CACtB,EAEA,EAAiB,UAAU,eAAiB,WAC1C,KAAK,aAAe,KAAK,WAAW,KACtC,EAQA,EAAiB,UAAU,gBAAkB,SAAS,EAAM,EAAM,GAChE,GAAI,GAAQ,EAAK,KACf,OAAO,KAAK,wBAAwB,EAAM,EAAM,GAAK,GAGvD,KAAK,cAAc,KAAO,EAC1B,KAAK,cAAc,UAAY,EAC/B,KAAK,cAAc,QAAU,CAC/B,EAEA,EAAiB,UAAU,cAAgB,WAC3C,EAEA,EAAiB,UAAU,eAAiB,WAC1C,KAAK,UAAU,EAAiB,MAAM,QACxC,EAQA,EAAiB,UAAU,cAAgB,SAAS,EAAS,EAAS,GACvD,IAAT,EACF,KAAK,UAAU,IAEf,KAAK,cAAc,GACnB,KAAK,UAAU,KAAK,eAAe,IAAY,EAAI,KAAK,eAAe,IAE3E,EAEA,EAAiB,UAAU,YAAc,WACzC,EAOA,EAAiB,UAAU,eAAiB,SAAS,EAAU,GAC7D,KAAK,qBAAqB,EAAU,EACtC,EAEA,EAAiB,UAAU,aAAe,WAC1C,EAOA,EAAiB,UAAU,cAAgB,SAAS,EAAU,GAC5D,KAAK,qBAAqB,EAAU,EACtC,EAEA,EAAiB,UAAU,YAAc,WACzC,EAEA,EAAiB,UAAU,UAAY,SAAS,GACd,OAA5B,KAAK,cAAc,MAErB,KAAK,wBAAwB,KAAK,cAAc,KACnB,KAAK,cAAc,UACnB,KAAK,cAAc,QAClB,EAAQ,EAAiB,MAAM,gBACrB,EAAiB,MAAM,kBAC/D,KAAK,cAAc,KAAO,MAG1B,KAAK,UAAW,EAAQ,EAAiB,MAAM,gBACrB,EAAiB,MAAM,iBAErD,EAEA,EAAiB,UAAU,UAAY,SAAS,GAC9C,KAAK,MAAM,MAAM,IAAI,EAAO,CAAC,IAC/B,EAEA,EAAiB,UAAU,SAAW,SAAS,GAC7C,KAAK,cAAc,KAAK,YAAY,GACtC,EAEA,EAAiB,UAAU,SAAW,SAAS,GAC7C,KAAK,cAAc,KAAK,YAAY,GACtC,EAEA,EAAiB,UAAU,SAAW,SAAS,GAC7C,KAAK,cAAc,KAAK,YAAY,GACtC,EAGA,EAAiB,UAAU,YAAc,SAAS,GAChD,IACI,EAAG,EAAG,EADN,EAAO,IAAI,EAAO,GAGtB,EAAK,GAAM,EAAI,EAAI,IAAO,GAE1B,EAAI,KAAK,IAAI,KACH,GAER,EAAI,gBACJ,EAAI,MACK,IAAM,KACf,EAAI,EACJ,EAAI,OAEJ,EAAI,KAAK,MAAM,KAAK,IAAI,GAAK,KAAK,KAE9B,GADJ,EAAI,KAAK,IAAI,GAAI,IACL,IACV,IACA,GAAK,GAGH,EAAI,MAAQ,MAGd,EAAI,EACJ,EAAI,MAEG,EAAI,MAAQ,GAGnB,GAAK,EAAE,EAAE,GAAK,EACd,GAAK,OAKL,EAAK,EAAI,EAAY,EACrB,EAAI,IAIR,EAAK,GAAM,GAAK,EAAK,IACrB,EAAK,IAAO,GAAK,EAAK,IAEtB,EAAK,GAAS,IAAJ,EACV,EAAI,KAAK,MAAM,EAAI,GACnB,EAAK,GAAS,IAAJ,EACV,EAAI,KAAK,MAAM,EAAI,GACnB,EAAK,GAAS,IAAJ,EACV,EAAI,KAAK,MAAM,EAAI,GACnB,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,GAAS,IAAJ,EACV,IAAM,EACN,EAAK,IAAU,GAAJ,EAEX,KAAK,MAAM,MAAM,EACnB,EAEA,EAAiB,UAAU,oBAAsB,SAAS,EAAM,EAAU,GACxE,GAAmB,iBAAR,EACT,KAAK,cAAc,EAAO,WAAW,EAAK,IAC1C,KAAK,MAAM,MAAM,IAAI,EAAO,EAAK,QAC5B,MAAI,aAAe,GACwB,uBAAvC,OAAO,UAAU,SAAS,KAAK,IAOxC,MAAM,IAAI,MAAM,EAAO,6CAA+C,GAHtE,KAAK,cAAc,EAAI,QACvB,KAAK,MAAM,MAAM,EAGnB,CACF,EAEA,EAAiB,UAAU,YAAc,SAAS,GAChD,KAAK,oBAAoB,cAAe,OAAQ,EAClD,EAEA,EAAiB,UAAU,YAAc,SAAS,GAChD,KAAK,oBAAoB,cAAe,SAAU,EACpD,EAOA,EAAiB,UAAU,wBAA0B,SAAS,EACA,EACA,EACA,GAE5D,IAAI,GAAgC,GAAjB,EAAqB,KAAK,eAAe,GAAa,EAErE,EAAU,KAAK,cAAgB,EAAU,KAAK,cAAgB,GAEhE,KAAK,UAAW,EAAU,KAAK,cAAiB,EAAI,IAGpD,KAAK,UAAU,GACf,KAAK,SAAS,IAEhB,KAAK,aAAe,CACtB,EAEA,EAAiB,UAAU,qBAAuB,SAAS,EAAU,GAC/D,GAAQ,GAEV,KAAK,UAAU,GAAQ,EAAI,KAAK,eAAe,KAE/C,KAAK,UAAU,IAAO,KAAK,eAAe,IAC1C,KAAK,cAAc,GAEvB,EAKA,EAAiB,UAAU,cAAgB,SAAS,GAGlD,IAFA,IAAI,EAAM,IAAI,EAAO,GACjB,EAAQ,IACC,CACX,MAAS,IAAJ,GAAkB,CACrB,EAAI,KAAW,EACf,KACF,CACE,EAAI,KAAiB,IAAJ,EAAY,IAC7B,KAAU,CAEd,CACA,IAAI,EAAO,IAAI,EAAO,GACtB,EAAI,KAAK,EAAK,EAAE,EAAE,GAClB,KAAK,MAAM,MAAM,EACnB,EAMA,EAAiB,UAAU,cAAgB,SAAS,GAIlD,GAHiB,iBAAN,IACT,EAAI,IAAI,EAAM,MAET,aAAa,GAClB,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,aAAc,oCAAsC,GAQxH,IALA,IAAI,EAAM,IAAI,EAAO,IACjB,EAAQ,EACR,EAAK,EAAE,OAAO,aAAa,GAAG,GAC9B,EAAK,EAAE,OAAO,aAAa,GAAG,GAC9B,EAAO,IACE,CACX,MAAW,IAAL,GAA8B,IAAP,GAAW,CACtC,EAAI,KAAW,EACf,KACF,CACE,EAAI,KAAkB,IAAL,EAAa,IAC9B,EAAO,GAAM,GACb,KAAY,EACZ,KAAY,EACZ,GAAU,CAEd,CACA,IAAI,EAAO,IAAI,EAAO,GACtB,EAAI,KAAK,EAAK,EAAE,EAAE,GAClB,KAAK,MAAM,MAAM,EACnB,EAMA,EAAiB,UAAU,YAAc,SAAS,GAMhD,GALiB,iBAAN,EACT,EAAI,IAAI,EAAM,SAAS,EAAG,KACJ,iBAAN,IAChB,EAAI,IAAI,EAAM,MAET,aAAa,GAClB,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,aAAc,oCAAsC,GAExH,IAAI,EAAK,EAAE,OAAO,aAAa,GAAG,GAC9B,EAAK,EAAE,OAAO,aAAa,GAAG,GAC9B,EAAO,IAAO,GAGlB,OAAO,IAAI,EAFX,GAAO,GAAM,EAAM,IAAO,KAAW,EAAQ,WAAa,GAC1D,EAAM,GAAM,GAAS,EAAQ,WAAa,GAE5C,EAMA,EAAiB,UAAU,YAAc,SAAS,GAChD,OAAQ,GAAK,GAAW,WAAJ,EAAkB,WAAa,EACrD,EAOA,EAAiB,UAAU,iBAAmB,WAE5C,IAAI,EAAa,KAAK,MAAM,WAC5B,GAAI,GAAc,EAAiB,YACjC,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,YAAa,2BAA6B,GAI9G,IAAI,EAAiB,KAAK,MAAM,WAC5B,EAAW,EAAiB,EAAiB,aACjD,GAAI,GAAW,EAAiB,UAC9B,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,YAAa,wBAA0B,GAE3G,IAAI,EAAS,GAAkB,EAAiB,kBAAqB,EAAiB,UAGlF,EAAQ,KAAK,eAKjB,MAAO,CAAC,MAFG,KAAK,aAEK,MAAO,EAAM,OAAQ,EAC5C,EAEA,EAAiB,UAAU,eAAiB,WAC5C,EAEA,EAAiB,UAAU,gBAAkB,WAG3C,OAFA,KAAK,WAAW,KAAK,KAAK,cAC1B,KAAK,aAAe,EACb,CAAC,MAAO,GACjB,EAEA,EAAiB,UAAU,cAAgB,WACzC,KAAK,aAAe,KAAK,WAAW,KACtC,EAEA,EAAiB,UAAU,eAAiB,WAC1C,IAAI,EAAU,EACV,EAAI,KAAK,MAAM,SAAS,GACxB,EAAY,GAAJ,EAEZ,GAAI,GAAQ,EAAiB,MAAM,QACjC,MAAO,CAAC,MAAO,KAAM,MAAO,EAAO,KAAK,KAAM,IAAK,GAIrD,IAAI,GAAiB,IAAJ,KAAoB,EAGnC,EAFe,IAAb,EAEQ,KAAK,UAGJ,KAAK,aAAe,EAEjC,IAAI,EAAY,KAAK,SAAS,GAY9B,OATI,GAAQ,EAAiB,MAAM,iBAC/B,GAAQ,EAAiB,MAAM,mBACjC,KAAK,WAAW,cAAe,EAC/B,KAAK,WAAW,UACb,GAAQ,EAAiB,MAAM,iBAIpC,KAAK,aAAe,EACb,CAAC,MAAO,KAAM,MAAO,EAAW,IAAK,EAC9C,EAEA,EAAiB,UAAU,aAAe,WAC1C,EAEA,EAAiB,UAAU,aAAe,WACxC,IAAI,EAAQ,KAAK,eACjB,GAAI,EAAQ,EACV,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,cAAe,qBAGnF,IAAI,EAAS,EAOb,OANc,IAAV,IACF,EAAS,KAAK,MAAM,YAKf,CAAC,MAFM,KAAK,UAAmB,IAAT,KAAmB,GAExB,MADV,KAAK,SAAkB,GAAT,GACY,KAAM,EAChD,EAEA,EAAiB,UAAU,WAAa,WACxC,EAEA,EAAiB,UAAU,cAAgB,WACzC,IAAI,EAAgB,KAAK,MAAM,WAE3B,EAAS,IAAkB,EAAK,GAKpC,GAJa,IAAT,IACF,EAAQ,KAAK,gBAGX,EAAQ,EACV,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,cAAe,sBAKnF,MAAO,CAAC,MAFO,KAAK,SAAyB,GAAhB,GAEJ,KAAM,EACjC,EAEA,EAAiB,UAAU,YAAc,WACzC,EAEA,EAAiB,UAAU,aAAe,WACxC,OAAO,KAAK,eACd,EAEA,EAAiB,UAAU,WAAa,WACxC,EAEA,EAAiB,UAAU,SAAW,WACpC,IAAI,GAAQ,EAEZ,IAAqC,IAAjC,KAAK,WAAW,aAClB,EAAQ,KAAK,WAAW,UACxB,KAAK,WAAW,cAAe,MAC1B,CACL,IAAI,EAAM,KAAK,MAAM,WACb,EAAI,MACZ,EAAS,EAAI,OAAS,EAAiB,MAAM,eAC/C,CACA,OAAO,CACT,EAEA,EAAiB,UAAU,SAAW,WACpC,OAAO,KAAK,MAAM,UACpB,EAEA,EAAiB,UAAU,QAAU,WACnC,OAAO,KAAK,SACd,EAEA,EAAiB,UAAU,QAAU,WACnC,OAAO,KAAK,YAAY,KAAK,eAC/B,EAEA,EAAiB,UAAU,QAAU,WACnC,OAAO,KAAK,YAAY,KAAK,eAC/B,EAGA,EAAiB,UAAU,WAAa,WACtC,IAAI,EAAO,KAAK,MAAM,KAAK,GAGvB,EAAyB,IAAhB,EAAK,GACd,GAAmB,IAAd,EAAK,KAAkB,EAChC,IAAoB,IAAd,EAAK,KAAkB,EAE7B,IAAI,EAAI,EANE,GAcV,OAPA,GAAK,EAAK,IAAU,EACpB,GAAK,EAAK,IAAU,GACpB,GAAK,EAAK,GAAS,EACnB,GAAK,EAAK,GAAS,EACnB,GAAK,EAAK,GAAS,EACnB,IAAoB,GAAd,EAAK,IAAiB,EAEpB,GACN,KAAK,EACH,GAAK,KACL,MACF,KAAK,KACH,OAAO,EAAI,IAAO,GAAU,IAAW,IACzC,QACE,GAAK,EACL,GAAK,KAOT,OAJI,IACF,IAAM,GAGD,EAAI,KAAK,IAAI,EAAG,EAAI,GAC7B,EAEA,EAAiB,UAAU,WAAa,WACtC,IAAI,EAAO,KAAK,eAChB,GAAa,IAAT,EACF,OAAO,IAAI,EAAO,GAGpB,GAAI,EAAO,EACT,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,cAAe,wBAEnF,OAAO,KAAK,MAAM,KAAK,EACzB,EAEA,EAAiB,UAAU,WAAa,WACtC,IAAI,EAAO,KAAK,eAEhB,GAAa,IAAT,EACF,MAAO,GAIT,GAAI,EAAO,EACT,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,cAAe,wBAEnF,OAAO,KAAK,MAAM,WAAW,EAC/B,EAWA,EAAiB,UAAU,aAAe,WACxC,OAAO,KAAK,eAAe,UAC7B,EAMA,EAAiB,UAAU,aAAe,WAKxC,IAJA,IAAI,EAAQ,EACR,EAAK,EACL,EAAK,EACL,EAAQ,IACC,CACX,IAAI,EAAI,KAAK,MAAM,WAWnB,GAVA,IACI,GAAS,GACX,IAAgB,IAAJ,IAAa,EAChB,GAAK,GAAS,EAAQ,IAC/B,IAAgB,IAAJ,IAAa,EACzB,IAAgB,IAAJ,KAAe,GAAG,GAE9B,IAAgB,IAAJ,IAAc,EAAM,GAElC,GAAS,IACC,IAAJ,GACJ,MAEF,GAAI,GAAS,GACX,MAAM,IAAI,EAAO,mBAAmB,EAAO,uBAAuB,aAAc,qCAEpF,CACA,OAAO,IAAI,EAAM,EAAI,EACvB,EAKA,EAAiB,UAAU,YAAc,SAAS,GAChD,OAAQ,IAAM,GAAO,GAAS,EAAJ,EAC5B,EAKA,EAAiB,UAAU,YAAc,SAAS,GAChD,IAAI,EAAK,EAAE,OAAO,aAAa,GAAG,GAC9B,EAAK,EAAE,OAAO,aAAa,GAAG,GAE9B,EAAM,IAAI,EAAW,EAAQ,EAAL,GAC5B,EAAI,UACJ,IAAI,EAAS,EAAI,OAAO,aAAa,GAAG,GACpC,EAAS,EAAI,OAAO,aAAa,GAAG,GAEpC,EAAS,GAAM,GAGnB,OAAO,IAAI,EAFX,EAAM,IAAO,EAAK,EAClB,GAAO,IAAO,EAAK,GAAS,EAE9B,EAEA,EAAiB,UAAU,KAAO,SAAS,GACzC,OAAQ,GACN,KAAK,EAAK,KACR,KAAK,WACL,MACF,KAAK,EAAK,KACR,KAAK,WACL,MACF,KAAK,EAAK,IACR,KAAK,UACL,MACF,KAAK,EAAK,IACR,KAAK,UACL,MACF,KAAK,EAAK,IACR,KAAK,UACL,MACF,KAAK,EAAK,OACR,KAAK,aACL,MACF,KAAK,EAAK,OACR,KAAK,aACL,MACF,KAAK,EAAK,OAER,IADA,KAAK,oBACQ,CACX,IAAI,EAAI,KAAK,iBACb,GAAI,EAAE,QAAU,EAAK,KACnB,MAEF,KAAK,KAAK,EAAE,OACZ,KAAK,cACP,CACA,KAAK,gBACL,MACF,KAAK,EAAK,IAER,IADA,IAAI,EAAW,KAAK,eACX,EAAI,EAAG,EAAI,EAAS,OAAQ,EACnC,KAAK,KAAK,EAAS,OACnB,KAAK,KAAK,EAAS,OAErB,KAAK,aACL,MACF,KAAK,EAAK,IAER,IADA,IAAI,EAAW,KAAK,eACX,EAAK,EAAG,EAAK,EAAS,OAAQ,EACrC,KAAK,KAAK,EAAS,OAErB,KAAK,aACL,MACF,KAAK,EAAK,KAER,IADA,IAAI,EAAY,KAAK,gBACZ,EAAK,EAAG,EAAK,EAAU,OAAQ,EACtC,KAAK,KAAK,EAAU,OAEtB,KAAK,cACL,MACF,QACE,MAAM,IAAK,MAAM,iBAAmB,GAE1C,CAGO,EAED,KACE,IAqBR,EAAO,QAQP,SAAsB,EAAe,GAE/B,EAAc,SAChB,EAAgB,EAAc,QAehC,IAGI,EAAY,IAAI,EAAW,eAAU,GAH3B,SAAS,EAAK,GAC1B,EAAW,MAAM,EAAK,EACxB,IAEI,EAAS,IAAI,EAAc,EAAW,EAAW,UAGrD,OAFA,EAAU,OAAS,EACnB,EAAW,OAAS,EACb,CACT,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAEhB,IAAI,EAAS,EAAoB,MAAc,OAoBrE,EAAS,EAAoB,MAC7B,EAA2B,EAAoB,MAC/C,EAAmB,EAAoB,MAI3C,SAAS,EAAiB,EAAQ,GAChC,KAAK,MAAQ,GAAU,IAAI,EAAO,GAClC,KAAK,WAAa,GAClB,KAAK,SAAW,EAChB,KAAK,QAAU,EACf,KAAK,QAAU,CACjB,CARA,EAAO,QAAU,EAUjB,EAAiB,UAAY,IAAI,EAEjC,EAAiB,SAAW,SAAS,EAAU,GAC7C,IAAI,EAAW,KAEf,OAAO,SAAS,GAQd,IANI,IACF,EAAO,EAAO,OAAO,CAAC,EAAU,IAChC,EAAW,MAIN,EAAK,QAAQ,CAClB,GAAI,EAAK,OAAS,EAGhB,YADA,EAAW,GAGb,IAAI,EAAY,EAAO,QAAQ,EAAM,GACrC,GAAI,EAAK,OAAS,EAAI,EAGpB,YADA,EAAW,GAIb,IAAI,EAAQ,EAAK,MAAM,EAAG,EAAI,GAC9B,EAAW,EAAK,MAAM,EAAI,GAE1B,EAAS,IAAI,EAAiB,GAAQ,GAEtC,EAAO,EACP,EAAW,IACb,CACF,CACF,EAEA,EAAiB,UAAU,eAAiB,WAAW,EACvD,EAAiB,UAAU,iBAAmB,WAAW,EAGzD,EAAiB,UAAU,OAAS,WAClC,OAAO,CACT,EACA,EAAiB,UAAU,KAAO,WAAY,EAC9C,EAAiB,UAAU,MAAS,WAAY,EAIhD,EAAiB,UAAU,aAAe,SAAS,GACjD,KAAK,OAAS,CAChB,EAEA,EAAiB,UAAU,gBAAkB,SAAS,GACpD,GAAI,KAAK,QAAU,EAAM,KAAK,MAAM,OAClC,MAAM,IAAI,CAEd,EAEA,EAAiB,UAAU,KAAO,SAAS,GACzC,KAAK,gBAAgB,GACrB,IAAI,EAAM,KAAK,QAAU,EAEzB,GAAI,KAAK,MAAM,OAAS,EACtB,MAAM,IAAI,MAAM,QAAU,EAAM,8BAGlC,IAAI,EAAM,KAAK,MAAM,MAAM,KAAK,QAAS,GAEzC,OADA,KAAK,QAAU,EACR,CACT,EAEA,EAAiB,UAAU,SAAW,WAEpC,OADA,KAAK,gBAAgB,GACd,EAAO,SAAS,KAAK,MAAM,KAAK,WACzC,EAEA,EAAiB,UAAU,QAAU,WACnC,KAAK,gBAAgB,GACrB,IAAI,EAAM,EAAO,QAAQ,KAAK,MAAO,KAAK,SAE1C,OADA,KAAK,SAAW,EACT,CACT,EAEA,EAAiB,UAAU,QAAU,WACnC,KAAK,gBAAgB,GACrB,IAAI,EAAM,EAAO,QAAQ,KAAK,MAAO,KAAK,SAE1C,OADA,KAAK,SAAW,EACT,CACT,EAEA,EAAiB,UAAU,WAAa,WACtC,KAAK,gBAAgB,GACrB,IAAI,EAAI,EAAO,WAAW,KAAK,MAAO,KAAK,SAE3C,OADA,KAAK,SAAW,EACT,CACT,EAEA,EAAiB,UAAU,WAAa,SAAS,GAC/C,KAAK,gBAAgB,GACrB,IAAI,EAAM,KAAK,MAAM,SAAS,OAAQ,KAAK,QAAS,KAAK,QAAU,GAEnE,OADA,KAAK,SAAW,EACT,CACT,EAEA,EAAiB,UAAU,OAAS,WAClC,MAAO,CACL,IAAK,KAAK,MACV,UAAW,KAAK,QAChB,WAAY,KAAK,MAAM,OAE3B,EAEA,EAAiB,UAAU,QAAU,SAAS,GAC5C,KAAK,SAAW,CAClB,EAEA,EAAiB,UAAU,MAAQ,SAAS,EAAK,GAC3B,iBAAV,IACR,EAAM,IAAI,EAAO,EAAK,GAAY,SAEpC,KAAK,WAAW,KAAK,GACrB,KAAK,UAAY,EAAI,MACvB,EAEA,EAAiB,UAAU,MAAQ,WAGjC,IAAI,EAAQ,KAAK,OACjB,KAAK,OAAS,KAEd,IAAI,EAAM,IAAI,EAAO,KAAK,UACtB,EAAM,EAMV,GALA,KAAK,WAAW,SAAQ,SAAS,GAC/B,EAAI,KAAK,EAAK,EAAK,GACnB,GAAO,EAAI,MACb,IAEI,KAAK,QAAS,CAEhB,IAAI,EAAM,IAAI,EAAO,EAAI,OAAS,GAClC,EAAO,SAAS,EAAK,EAAI,QACzB,EAAI,KAAK,EAAK,EAAG,EAAG,EAAI,QACpB,KAAK,SAEP,KAAK,QAAQ,EAAK,EAEtB,CAEA,KAAK,WAAa,GAClB,KAAK,SAAW,CAClB,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAEhB,IAAI,EAAS,EAAoB,MAAc,OAoBrE,EAAO,EAAoB,MAC3B,EAAmB,EAAoB,MACvC,EAAkB,EAAoB,MACtC,EAA2B,EAAoB,MAEnD,SAAS,EAAsB,GAC7B,MAAM,KAAK,MACX,MAAM,kBAAkB,KAAM,KAAK,aACnC,KAAK,KAAO,KAAK,YAAY,KAC7B,KAAK,QAAU,CACjB,CAEA,EAAK,SAAS,EAAuB,OAErC,EAAO,QAAU,EAGjB,IAYI,EAAiB,WAIrB,SAAS,EAAa,GACpB,IAAI,EAAqB,EAAoB,MAC7C,KAAK,aAAe,KACpB,IAAI,EAAQ,KACZ,KAAK,UAAY,IAAI,EAAmB,MAAM,SAAS,GACrD,EAAM,aAAe,CACvB,IAEA,KAAK,UAAU,MAAQ,GAAc,EAAO,MAAM,GAClD,KAAK,UAAU,YAAc,KAAK,UAAU,MAAM,OAClD,KAAK,SAAW,IAAI,EAAiB,KAAK,UAC5C,CAsDA,SAAS,IACP,KAAK,aAAe,EACpB,KAAK,WAAa,EAAiB,cAAc,OACjD,KAAK,SAAW,CAAC,EACjB,KAAK,SAAW,CAAC,EACjB,KAAK,MAAQ,EAAO,MAAM,GAC1B,KAAK,SAAW,EAChB,KAAK,MAAQ,KACb,KAAK,MAAQ,EACb,KAAK,oBAAqB,CAC5B,CA9DA,EAAa,UAAU,aAAe,WACpC,OAAO,KAAK,SAAS,cACvB,EAEA,EAAa,UAAU,cAAgB,SAAS,GAC9C,KAAK,SAAS,cAAc,EAC9B,EAEA,EAAa,UAAU,WAAa,WAClC,OAAO,KAAK,SAAS,YACvB,EAEA,EAAa,UAAU,YAAc,SAAS,GAC5C,KAAK,SAAS,YAAY,EAC5B,EAEA,EAAa,UAAU,YAAc,WACnC,OAAO,KAAK,UAAU,QACxB,EAEA,EAAa,UAAU,MAAQ,SAAS,GACtC,KAAK,UAAU,MAAM,EACvB,EAEA,EAAa,UAAU,SAAW,WAEhC,OADA,KAAK,UAAU,QACR,KAAK,YACd,EAGA,EAAiB,cAAgB,CAC/B,OAAQ,EACR,KAAM,EACN,QAAS,GA+BX,IAAI,EAAkB,SAAS,EAAK,GAClC,GAAmB,iBAAR,GAAqC,iBAAV,EACpC,MAAM,IAAI,EAAsB,wCAEpC,EAWA,EAAiB,UAAU,SAAW,SAAS,GAC7C,KAAK,MAAQ,CACf,EAEA,EAAiB,UAAU,SAAW,SAAS,GAC7C,OAAO,KAAK,KACd,EAEA,EAAiB,UAAU,SAAW,SAAS,GAC7C,KAAK,MAAQ,CACf,EAEA,EAAiB,UAAU,eAAiB,WAC1C,OAAO,KAAK,QACd,EAEA,EAAiB,UAAU,cAAgB,SAAS,EAAK,GACvD,EAAgB,EAAK,GACrB,KAAK,SAAS,GAAO,CACvB,EAEA,EAAiB,UAAU,iBAAmB,WAC5C,KAAK,SAAW,CAAC,CACnB,EAEA,EAAiB,UAAU,gBAAkB,WAC3C,OAAO,KAAK,QACd,EAEA,EAAiB,UAAU,eAAiB,SAAS,EAAK,GACxD,EAAgB,EAAK,GACrB,KAAK,SAAS,GAAO,CACvB,EAEA,EAAiB,UAAU,kBAAoB,WAC7C,KAAK,SAAW,CAAC,CACnB,EAEA,EAAiB,UAAU,gBAAkB,SAAS,GACpD,KAAK,aAAe,CACtB,EAEA,EAAiB,UAAU,cAAgB,SAAS,IAnD3B,SAAS,GAEhC,IADA,IAAI,EAAY,OAAO,KAAK,EAAiB,eACpC,EAAI,EAAG,EAAI,EAAU,OAAQ,IACpC,GAAI,IAAe,EAAiB,cAAc,EAAU,IAAK,OAAO,EAG1E,MAAM,IAAI,MAAM,EAAa,8BAC/B,CA6CE,CAAmB,GACnB,KAAK,WAAa,CACpB,EAEA,EAAiB,UAAU,cAAgB,WACzC,OAAO,KAAK,UACd,EAcA,EAAiB,UAAU,YAAc,WACvC,IAAI,EAAa,KAAK,MAElB,GAAa,EAWjB,GA1BqB,SAAS,GAE9B,OADc,EAAW,cACP,EAAgB,gBAAkB,EAAgB,SACtE,CAaM,CAAiB,KACnB,KAAK,cAAc,EAAiB,cAAc,QAClD,GAAa,GAbO,SAAS,GAC/B,IAAI,EAAa,EAAW,SArKA,GAsKxB,EAAU,EAAW,SArKW,GAsKpC,OAAO,IAAe,EAAiB,cACpC,EAAU,EAAiB,gBAAkB,EAAiB,SACnE,CAWM,CAAkB,KACpB,KAAK,cAAc,EAAiB,cAAc,SAClD,GAAa,GAGX,EACF,KAAK,oBAAqB,MAD5B,CAMA,GADgB,EAAW,YA5LL,GA6LN,KAAK,aACnB,MAAM,IAAI,EAAsB,oCAGlC,IAAI,EAAc,EAAW,YAhML,GAkMxB,GADA,KAAK,mBA3LY,OA2LS,EACrB,KAAK,mBAAV,CAIA,KAAK,SAAS,EAAW,YArMR,IAsMjB,KAAK,SAAS,EAAW,YArMR,IAsMjB,IAAI,EAA0D,EAA7C,EAAW,YArML,IAsMnB,EArMoB,GAqMiB,EACzC,GAAI,EAAe,EAAW,OAC5B,MAAM,IAAI,EAAsB,0CAGlC,IAAI,EAAe,EAAO,MAAM,GAChC,EAAW,KAAK,EAAc,EA3MN,GA2M8B,GAEtD,IAAI,EAAe,IAAI,EAAa,GAGpC,GAFA,KAAK,cAAc,EAAa,gBACX,EAAa,eACb,EACnB,MAAM,IAAI,EAAsB,oCAGlC,OACE,IAEE,GAnN4B,IAkNX,EAAa,eAE5B,MAIF,IADA,IAAI,EAAkB,EAAa,eAC1B,EAAI,EAAG,EAAI,EAAiB,IAAK,CACxC,IAAI,EAAM,EAAa,aACnB,EAAQ,EAAa,aACzB,KAAK,cAAc,EAAK,EAC1B,CACF,CAAE,MAAO,GACP,GAAI,aAAa,EACf,MAEF,MAAM,CACR,CAKF,OADA,KAAK,KAAK,GACH,KAAK,gBA3CZ,CAXA,CAuDF,EAEA,EAAiB,UAAU,aAAe,WAExC,GAAK,KAAK,mBAAV,CAGA,IAAI,EAAU,KAAK,kBAEf,EAAe,IAAI,EACvB,EAAa,cAAc,KAAK,YAChC,EAAa,cAAc,GAG3B,IAAI,EAAa,OAAO,KAAK,GAC7B,GAAI,EAAW,OAAS,EAAG,CACzB,EAAa,cAxPiB,GAyP9B,EAAa,cAAc,EAAW,QACtC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAW,OAAQ,IAAK,CAC1C,IAAI,EAAM,EAAW,GACjB,EAAQ,EAAQ,GAEpB,EAAa,YAAY,GACzB,EAAa,YAAY,EAC3B,CACF,CACD,IAAI,EAA2B,EAAa,cACvC,GAAiB,EAAK,EAA2B,GAAM,EAEvD,EAAa,EAAO,MAAM,GAC9B,EAAW,aAAa,KAAK,OAAO,EAA2B,GAAiB,IAEhF,IAAI,EAAgB,EAAO,MAAM,GACjC,EAAc,KAAK,GACnB,EAAa,MAAM,GACnB,IAAI,EAAsB,EAAa,WACnC,EAAY,EAAO,MAAM,GAC7B,EAAU,aAAa,GAAK,KAAK,SAAW,EAAoB,QAChE,IAAI,EAAc,EAAO,MAAM,GAC/B,EAAY,aAjRK,MAoRjB,IAAI,EAAQ,EAAO,MAAM,GACzB,EAAM,aAAa,GAEnB,IAAI,EAAQ,EAAO,MAAM,GACzB,EAAM,aAAa,KAAK,YAExB,IAAI,EAAe,EAAO,OAAO,CAC/B,EACA,EACA,EACA,EACA,EACA,IAGF,KAAK,WAAW,QAAQ,GACxB,KAAK,UAAY,EAAa,MApD9B,CAqDF,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAoB1C,IAAI,EAAO,EAAoB,MAI/B,SAAS,EAAyB,GAChC,MAAM,KAAK,MACX,MAAM,kBAAkB,KAAM,KAAK,aACnC,KAAK,KAAO,KAAK,YAAY,KAC7B,KAAK,QAAU,CACjB,CAPA,EAAO,QAAU,EASjB,EAAK,SAAS,EAA0B,MAGjC,EAED,KACA,CAAE,EAAQ,EAA0B,KAEhB,IAAI,EAAS,EAAoB,MAAc,OAoBrE,EAAQ,EAAoB,KAE5B,EAAY,EAAO,QAAU,CAAC,EAE9B,EAAU,KAAK,IAAI,EAAG,IACtB,EAAU,KAAK,IAAI,EAAG,IACtB,EAAU,KAAK,IAAI,EAAG,IACtB,EAAW,KAAK,IAAI,GAAI,IAE5B,EAAU,gBAAkB,SAAS,GACnC,IAAI,EAAI,EAAI,OACR,EAAI,EAAI,OACZ,IAAM,EAAE,IAAmB,IAAX,EAAE,EAAI,OACf,EAAE,MAAoB,IAAX,EAAE,EAAI,KAGjB,CACL,IAAI,EAAkB,IAAP,EAAE,GACjB,GAAI,EAAU,CAIZ,IAFA,IAAI,GAAc,EACd,EAAS,IAAI,EAAO,GACf,EAAI,EAAG,GAAK,IAAK,EACxB,EAAO,IAAO,EAAE,EAAI,IAAM,EAAc,EAAI,GAAM,IAClD,GAAe,EAAE,EAAI,GAEvB,EAAI,CACN,CACA,IAAI,EAAQ,EAAE,EAAI,IAAM,EAAE,IAAM,GAE5B,EAAM,EAAE,EAAI,IAAM,EAAE,EAAI,IAAM,IAAM,EAAE,EAAI,IAAM,IAC9C,EAAE,EAAI,GAAK,GACV,EAAE,EAAI,IAAM,EAAE,EAAI,IAAM,IAAM,EAAkB,YAAR,EAE3C,EAAO,KAAK,MAAM,EAAM,GAAoB,KAAR,EAGxC,OADA,GAAO,cAAgB,OAAO,EAAM,IAAW,OAAO,KAC9C,EAAW,IAAM,IAAM,OAAO,GAAQ,CAChD,CAvBE,OAAO,EAAI,UAwBf,EAEA,EAAU,kBAAoB,SAAS,GACrC,IAAI,EAA8B,MAAnB,EAAK,OAAO,GAC3B,GAAI,EAAK,QAAU,EAAW,GAAK,IAEjC,OAAO,IAAI,GAAO,GACb,GAAI,EAAK,QAAU,EAAW,GAAK,IACxC,MAAM,IAAI,WAAW,8BAAgC,GAGrD,IAAI,GAAS,EAAK,MAAM,EAAW,EAAI,GAAI,IACvC,GAAO,EAAK,OAAO,IAAc,WAAR,EACzB,EAAO,KAAK,MAAM,EAAM,GAAmB,OAAR,EAEvC,GADA,GAAY,EACR,GAAQ,KACN,GAAY,GAAQ,GAAkB,GAAP,GAEnC,MAAM,IAAI,WAAW,yCAYvB,OAVI,IAEF,GAAQ,EACI,IAAR,EACF,EAAQ,EAAO,EAAK,WAEpB,EAAa,GAAN,EAET,GAAO,YAEF,IAAI,EAAM,EAAM,EAE3B,CAGO,EAED,KACA,CAAE,EAAQ,EAA0B,KAwB1C,IAAI,EAAQ,EAAoB,KAChB,EAAoB,MAEnB,EAAO,QAAW,WAC/B,aAUA,IAAI,EACA,EAWA,EAoJA,EA9JA,EAAU,CACN,IAAK,IACL,KAAM,KACN,IAAK,IACL,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,MAIP,EAAQ,SAAU,GAId,MAAM,IAAI,YAAY,EAC1B,EAEA,EAAO,SAAU,GAab,OATI,GAAK,IAAM,GACX,EAAM,aAAe,EAAI,iBAAmB,EAAK,KAMrD,EAAK,EAAK,OAAO,GACjB,GAAM,EACC,CACX,EAEA,EAAS,WAIL,IAAI,EACA,EAAS,GAMb,IAJW,MAAP,IACA,EAAS,IACT,EAAK,MAEF,GAAM,KAAO,GAAM,KACtB,GAAU,EACV,IAEJ,GAAW,MAAP,EAEA,IADA,GAAU,IACH,KAAU,GAAM,KAAO,GAAM,KAChC,GAAU,EAGlB,GAAW,MAAP,GAAqB,MAAP,EAOd,IANA,GAAU,EACV,IACW,MAAP,GAAqB,MAAP,IACd,GAAU,EACV,KAEG,GAAM,KAAO,GAAM,KACtB,GAAU,EACV,IAIR,GADA,GAAU,EACL,SAAS,GAEP,OAAI,GAAU,EAAM,SAAW,GAAU,EAAM,QAE3C,EAEA,EALP,EAAM,aAOd,EAEA,EAAS,WAIL,IAAI,EACA,EAEA,EADA,EAAS,GAKb,GAAW,MAAP,EACA,KAAO,KAAQ,CACX,GAAW,MAAP,EAEA,OADA,IACO,EAEX,GAAW,OAAP,EAEA,GADA,IACW,MAAP,EAAY,CAEZ,IADA,EAAQ,EACH,EAAI,EAAG,EAAI,IACZ,EAAM,SAAS,IAAQ,IAClB,SAAS,IAFC,GAAK,EAKpB,EAAgB,GAAR,EAAa,EAEzB,GAAU,OAAO,aAAa,EAClC,KAAO,IAA2B,iBAAhB,EAAQ,GAGtB,MAFA,GAAU,EAAQ,EAGtB,MAEA,GAAU,CAElB,CAEJ,EAAM,aACV,EAEA,EAAQ,WAIJ,KAAO,GAAM,GAAM,KACf,GAER,EAsHJ,OAzBA,EAAQ,WAMJ,OADA,IACQ,GACR,IAAK,IACD,OA1CK,WAIL,IAAI,EACA,EAAS,CAAC,EAEd,GAAW,MAAP,EAAY,CAGZ,GAFA,EAAK,KACL,IACW,MAAP,EAEA,OADA,EAAK,KACE,EAEX,KAAO,GAAI,CASP,GARA,EAAM,IACN,IACA,EAAK,KACD,OAAO,eAAe,KAAK,EAAQ,IACnC,EAAM,kBAAoB,EAAM,KAEpC,EAAO,GAAO,IACd,IACW,MAAP,EAEA,OADA,EAAK,KACE,EAEX,EAAK,KACL,GACJ,CACJ,CACA,EAAM,aACV,CAUW,GACX,IAAK,IACD,OAvEI,WAIJ,IAAI,EAAQ,GAEZ,GAAW,MAAP,EAAY,CAGZ,GAFA,EAAK,KACL,IACW,MAAP,EAEA,OADA,EAAK,KACE,EAEX,KAAO,GAAI,CAGP,GAFA,EAAM,KAAK,KACX,IACW,MAAP,EAEA,OADA,EAAK,KACE,EAEX,EAAK,KACL,GACJ,CACJ,CACA,EAAM,YACV,CA8CW,GACX,IAAK,IACD,OAAO,IACX,IAAK,IACD,OAAO,IACX,QACI,OAAO,GAAM,KAAO,GAAM,IACpB,IA5GH,WAIH,OAAQ,GACR,IAAK,IAKD,OAJA,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACE,EACX,IAAK,IAMD,OALA,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACE,EACX,IAAK,IAKD,OAJA,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACE,KAEX,EAAM,eAAiB,EAAK,IAChC,CAmFU,GAEd,EAKO,SAAU,GACb,IAAI,EAWJ,OATA,EAAO,EACP,EAAK,EACL,EAAK,IACL,EAAS,IACT,IACI,GACA,EAAM,gBAGH,CACX,CACJ,CAjRkC,EAoR3B,EAED,KACA,CAAE,EAAQ,EAA0B,KAEhB,IAAI,EAAS,EAAoB,MAAc,OAoBrE,EAAQ,EAAoB,KAE5B,EADS,EAAoB,MACf,KAGd,GAFO,EAAoB,MAEf,EAAoB,OAChC,EAAa,EAAoB,MAEjC,EAA2B,EAAoB,MAcnD,SAAS,EAAc,GACrB,KAAK,OAAS,GACd,KAAK,KAAO,GACZ,KAAK,MAAQ,CACf,CAhBA,EAAO,QAAU,EAuBjB,EAAc,KAAO,CAAC,EACtB,EAAc,KAAK,EAAK,MAAQ,OAChC,EAAc,KAAK,EAAK,MAAQ,OAChC,EAAc,KAAK,EAAK,KAAO,QAC/B,EAAc,KAAK,EAAK,KAAO,QAC/B,EAAc,KAAK,EAAK,KAAO,QAC/B,EAAc,KAAK,EAAK,QAAU,QAClC,EAAc,KAAK,EAAK,QAAU,QAClC,EAAc,KAAK,EAAK,QAAU,QAClC,EAAc,KAAK,EAAK,KAAO,QAC/B,EAAc,KAAK,EAAK,MAAQ,QAChC,EAAc,KAAK,EAAK,KAAO,QAO/B,EAAc,MAAQ,CAAC,EACvB,EAAc,MAAM,GAAK,EAAK,KAC9B,EAAc,MAAM,GAAK,EAAK,KAC9B,EAAc,MAAM,IAAM,EAAK,IAC/B,EAAc,MAAM,IAAM,EAAK,IAC/B,EAAc,MAAM,IAAM,EAAK,IAC/B,EAAc,MAAM,IAAM,EAAK,OAC/B,EAAc,MAAM,IAAM,EAAK,OAC/B,EAAc,MAAM,IAAM,EAAK,OAC/B,EAAc,MAAM,IAAM,EAAK,IAC/B,EAAc,MAAM,IAAM,EAAK,KAC/B,EAAc,MAAM,IAAM,EAAK,IAQ/B,EAAc,QAAU,EAExB,EAAc,UAAU,MAAQ,WAE9B,OADA,KAAK,qCACE,KAAK,MAAM,OACpB,EAEA,EAAc,UAAU,mCAAqC,WAChC,IAAvB,KAAK,OAAO,QACd,KAAK,MAAM,MAAM,KAAK,OAAO,MAEjC,EAQA,EAAc,UAAU,kBAAoB,SAAS,EAAM,EAAa,GACtE,KAAK,OAAO,KAAK,CAAC,EAAc,QAAS,IAAM,EAAO,IAAK,EAAa,GAC1E,EAKA,EAAc,UAAU,gBAAkB,WACxC,IAAI,EAAM,KAAK,OAAO,MAEtB,KAAK,KAAO,KAAK,OAAO,MACxB,KAAK,KAAK,KAAK,GAEf,KAAK,KAAO,IAAM,KAAK,KAAK,KAAK,KAAO,IAGxC,KAAK,MAAM,MAAM,KAAK,KACxB,EAMA,EAAc,UAAU,iBAAmB,SAAS,GAClD,KAAK,KAAK,KAAK,KAAK,OAAO,QAC3B,KAAK,OAAO,KAAK,CAAC,EACpB,EAKA,EAAc,UAAU,eAAiB,WACvC,IAAI,EAAI,KAAK,KAAK,MACd,EAAS,KAAK,OAAO,GACrB,EAAM,IACN,GAAQ,EACZ,IAAK,IAAI,KAAO,EACV,EACF,GAAQ,EAER,GAAO,IAGT,GAAO,EAAM,IAAM,EAAO,GAG5B,GAAO,IACP,KAAK,OAAO,GAAK,EAEjB,KAAK,oCACP,EAQA,EAAc,UAAU,gBAAkB,SAAS,EAAM,EAAW,GAClE,KAAK,KAAK,KAAK,KAAK,OAAO,QAC3B,KAAK,OAAO,KAAK,CAAE,QAAW,IAC5B,EAAU,IAAK,UAAa,EAAc,KAAK,IAEnD,EAKA,EAAc,UAAU,cAAgB,WACtC,IAAI,EAAQ,KAAK,OAAO,MACpB,EAAY,KAAK,OAAO,MAG1B,KAAK,OAAO,KAAK,OAAO,OAAS,GAAG,EAAU,SAD5C,IAAM,GAAU,mBACuC,IACvD,EAAU,UAAY,IAAM,KAAK,UAAU,GAAS,IAEG,IACvD,EAAU,UAAY,IAAM,EAAQ,IAExC,KAAK,KAAK,MAEV,KAAK,oCACP,EAKA,EAAc,UAAU,eAAiB,WACzC,EAQA,EAAc,UAAU,cAAgB,SAAS,EAAS,EAAS,GAEjE,KAAK,KAAK,KAAK,KAAK,OAAO,QAC3B,KAAK,OAAO,KAAK,CAAC,EAAc,KAAK,GAAU,EAAc,KAAK,GAAU,GAC9E,EAKA,EAAc,UAAU,YAAc,WACpC,IAAI,EAAI,KAAK,KAAK,MAElB,GAAI,GAAK,KAAK,OAAO,OAArB,EAIK,KAAK,OAAO,OAAS,EAAI,GAAK,GAAM,GACvC,KAAK,OAAO,KAAK,IAGnB,IAAI,GAAQ,KAAK,OAAO,OAAS,EAAI,GAAK,EAE1C,KAAK,OAAO,GAAG,KAAK,OAAO,GAAG,OAAS,GAAK,EAI5C,IAFA,IAAI,EAAM,IACN,GAAQ,EACL,KAAK,OAAO,OAAS,EAAI,GAAG,CACjC,IAAI,EAAI,KAAK,OAAO,MAChB,EAAI,KAAK,OAAO,MAChB,EACF,GAAQ,EAER,EAAM,IAAM,EAGR,MAAM,KAAM,EAAI,IAAM,EAAI,KAChC,EAAM,EAAI,IAAM,EAAI,CACtB,CACA,EAAM,IAAM,EAEZ,KAAK,OAAO,GAAG,KAAK,GACpB,KAAK,OAAO,GAAK,IAAM,KAAK,OAAO,GAAG,KAAK,KAAO,IAElD,KAAK,oCA7BL,CA8BF,EAOA,EAAc,UAAU,eAAiB,SAAS,EAAU,GAC1D,KAAK,KAAK,KAAK,KAAK,OAAO,QAC3B,KAAK,OAAO,KAAK,CAAC,EAAc,KAAK,GAAW,GAClD,EAKA,EAAc,UAAU,aAAe,WAGrC,IAFA,IAAI,EAAI,KAAK,KAAK,MAEX,KAAK,OAAO,OAAS,EAAI,GAAG,CACjC,IAAI,EAAS,KAAK,OAAO,EAAI,GAC7B,KAAK,OAAO,OAAO,EAAI,EAAG,GAC1B,KAAK,OAAO,GAAG,KAAK,EACtB,CAEA,KAAK,OAAO,GAAK,IAAM,KAAK,OAAO,GAAG,KAAK,KAAO,IAElD,KAAK,oCACP,EAOA,EAAc,UAAU,cAAgB,SAAS,EAAU,GACvD,KAAK,KAAK,KAAK,KAAK,OAAO,QAC3B,KAAK,OAAO,KAAK,CAAC,EAAc,KAAK,GAAW,GACpD,EAKA,EAAc,UAAU,YAAc,WAGpC,IAFA,IAAI,EAAI,KAAK,KAAK,MAEX,KAAK,OAAO,OAAS,EAAI,GAAG,CACjC,IAAI,EAAS,KAAK,OAAO,EAAI,GAC7B,KAAK,OAAO,OAAO,EAAI,EAAG,GAC1B,KAAK,OAAO,GAAG,KAAK,EACtB,CAEA,KAAK,OAAO,GAAK,IAAM,KAAK,OAAO,GAAG,KAAK,KAAO,IAElD,KAAK,oCACP,EAGA,EAAc,UAAU,UAAY,SAAS,GAC3C,KAAK,OAAO,KAAK,EAAO,EAAI,EAC9B,EAGA,EAAc,UAAU,UAAY,SAAS,GAC3C,KAAK,OAAO,KAAK,EACnB,EAGA,EAAc,UAAU,SAAW,SAAS,GAC1C,KAAK,OAAO,KAAK,EACnB,EAGA,EAAc,UAAU,SAAW,SAAS,GAC1C,KAAK,OAAO,KAAK,EACnB,EAGA,EAAc,UAAU,SAAW,SAAS,GACtC,aAAe,EACjB,KAAK,OAAO,KAAK,EAAU,gBAAgB,IAE3C,KAAK,OAAO,KAAK,EAErB,EAGA,EAAc,UAAU,YAAc,SAAS,GAC7C,KAAK,OAAO,KAAK,EACnB,EAGA,EAAc,UAAU,YAAc,SAAS,GAE7C,GAAY,OAAR,EACA,KAAK,OAAO,KAAK,UACd,CACH,GAAmB,iBAAR,EACT,IAAI,EAAM,MACL,MAAI,aAAe,GAGxB,MAAM,IAAI,MAAM,wDAA0D,GAFtE,EAAM,EAAI,SAAS,OAGzB,CAIA,IADA,IAAI,EAAgB,GACX,EAAI,EAAG,EAAI,EAAI,OAAQ,IAAK,CACjC,IAAI,EAAK,EAAI,OAAO,GAEhB,GADO,MAAP,EACiB,MACH,OAAP,EACU,OASH,OAAP,EACU,MACH,OAAP,EACU,MACH,OAAP,EACU,MACH,OAAP,EACU,MACH,OAAP,EACU,MAEA,CAEzB,CACA,KAAK,OAAO,KAAK,IAAM,EAAgB,IAC3C,CACF,EAGA,EAAc,UAAU,YAAc,SAAS,GAC7C,GAAmB,iBAAR,EACT,IAAI,EAAM,IAAI,EAAO,EAAK,cACrB,MAAI,aAAe,GACwB,uBAAvC,OAAO,UAAU,SAAS,KAAK,IAGxC,MAAM,IAAI,MAAM,wDAA0D,GAFtE,EAAM,CAGZ,CACA,KAAK,OAAO,KAAK,IAAM,EAAI,SAAS,UAAY,IAClD,EAaA,EAAc,UAAU,iBAAmB,WACzC,KAAK,OAAS,GACd,KAAK,KAAO,GAGZ,IAAI,EAAW,KAAK,MAAM,SAC1B,GAAI,EAAS,WAAa,EAAS,WACjC,MAAM,IAAI,EAEZ,IAAI,EAAS,EAAS,UAEtB,GAA6B,KAAzB,EAAS,IAAI,GACf,MAAM,IAAI,MAAM,4CAKlB,IAGA,IAFA,IAAI,EAAmB,EACnB,GAAW,EACR,EAAS,EAAS,WAAY,IAAU,CAC7C,IAAI,EAAM,EAAS,IAAI,GAEvB,GAAI,EACU,KAAR,EACF,GAAW,EACM,KAAR,IAET,GAAU,QAGZ,GAAY,KAAR,EACF,GAAoB,OACf,GAAY,KAAR,GAET,GAAyB,KADzB,GAAoB,GAGlB,WAEe,KAAR,IACT,GAAW,EAGjB,CAEA,GAAyB,IAArB,EAEF,MAAM,IAAI,EAIZ,KAAK,KAAO,EAAW,EAAS,IAAI,MAAM,EAAS,UAAW,EAAO,GAAG,YACxE,KAAK,MAAM,QAAQ,EAAS,EAAI,EAAS,WAGzC,IAAI,EAAU,KAAK,KAAK,QACxB,GAAI,GAAW,EAAc,QAC3B,MAAM,IAAI,MAAM,kCAAoC,GAKtD,IAAI,EAAI,CAAC,EAKT,OAJA,EAAE,MAAQ,KAAK,KAAK,QACpB,EAAE,MAAQ,KAAK,KAAK,QACpB,EAAE,OAAS,KAAK,KAAK,QACrB,KAAK,OAAO,KAAK,KAAK,KAAK,SACpB,CACT,EAGA,EAAc,UAAU,eAAiB,WACzC,EAOA,EAAc,UAAU,gBAAkB,WACxC,IAAI,EAAI,CACR,MAAU,IAOV,OAJI,KAAK,OAAO,KAAK,OAAO,OAAS,aAAc,OACjD,KAAK,OAAO,KAAK,KAAK,OAAO,KAAK,OAAO,OAAS,GAAG,SAGhD,CACT,EAGA,EAAc,UAAU,cAAgB,WACtC,KAAK,OAAO,KACd,EAaA,EAAc,UAAU,eAAiB,WACvC,IAAI,EAAI,CAAC,EAEL,GAAO,EACP,EAAQ,EAAK,KAGjB,IAAK,IAAI,KAAM,KAAK,OAAO,KAAK,OAAO,OAAS,GAC9C,GAAU,OAAN,EAAJ,CAIA,EAAM,SAAS,EAAG,IAClB,KAAK,KAAK,KAAK,KAAK,OAAO,QAE3B,IAAI,EAAQ,KAAK,OAAO,KAAK,OAAO,OAAS,GAAG,UAGzC,KAAK,OAAO,KAAK,OAAO,OAAS,GAAG,GAE3C,KAAK,OAAO,KAAK,GAEjB,KAZA,CAeF,IAAY,GAAR,EAGF,IAAK,IAAI,KAAM,KAAK,OAAO,KAAK,OAAO,OAAS,GACf,OAA3B,EAAc,MAAM,KAIxB,EAAQ,EAAc,MAAM,GAC5B,KAAK,OAAO,KAAK,OAAO,OAAS,GAAK,KAAK,OAAO,KAAK,OAAO,OAAS,GAAG,IAQ9E,OAJA,EAAE,MAAQ,GACV,EAAE,MAAQ,EACV,EAAE,IAAM,EAED,CACT,EAGA,EAAc,UAAU,aAAe,WAIrC,IAHA,IAAI,EAAM,KAAK,KAAK,MAGb,KAAK,OAAO,OAAS,GAC1B,KAAK,OAAO,KAEhB,EAaA,EAAc,UAAU,aAAe,WACrC,IAAI,EAAM,KAAK,OAAO,MAClB,EAAQ,EAAI,QACZ,aAAiB,QACnB,KAAK,OAAO,KAAK,GAEjB,GADA,EAAM,GACM,SAGd,IAAI,EAAI,CAAC,EAST,OARA,EAAE,MAAQ,EAAc,MAAM,GAC9B,EAAE,MAAQ,EAAc,MAAM,EAAI,SAClC,EAAE,KAAO,EAAI,QAGb,KAAK,KAAK,KAAK,KAAK,OAAO,QAC3B,KAAK,OAAO,KAAK,EAAI,SAEd,CACT,EAGA,EAAc,UAAU,WAAa,WACnC,KAAK,cACP,EAYA,EAAc,UAAU,cAAgB,WACtC,IAAI,EAAO,KAAK,OAAO,KAAK,OAAO,OAAS,GAExC,EAAI,CAAC,EAOT,OANA,EAAE,MAAQ,EAAc,MAAM,EAAK,SACnC,EAAE,KAAO,EAAK,QAEd,KAAK,KAAK,KAAK,KAAK,OAAO,QAC3B,KAAK,OAAO,KAAK,EAAK,SAEf,CACT,EAGA,EAAc,UAAU,YAAc,WACpC,IAAI,EAAM,KAAK,KAAK,MAAQ,EACxB,EAAK,KAAK,OACd,EAAG,MACC,aAAc,OAAS,EAAG,OAAS,GAAO,EAAG,GAAK,OAAS,GAC7D,EAAG,KAAK,EAAG,GAAK,QAEpB,EAMA,EAAc,UAAU,aAAe,WACrC,OAAO,KAAK,eACd,EAGA,EAAc,UAAU,WAAa,WACnC,OAAO,KAAK,aACd,EAEA,EAAc,UAAU,SAAW,WACjC,MAA2B,KAApB,KAAK,WACd,EAEA,EAAc,UAAU,SAAW,WACjC,OAAO,KAAK,SACd,EAEA,EAAc,UAAU,QAAU,WAChC,OAAO,KAAK,SACd,EAEA,EAAc,UAAU,QAAU,SAAS,GACzC,OAAQ,KAAK,WACf,EAGA,EAAc,UAAU,UAAY,SAAS,QACjC,IAAN,IACF,EAAI,KAAK,OAAO,KAAK,OAAO,OAAS,IAGvC,IAAI,EAAI,CAAC,EAET,GAAI,aAAa,MACE,IAAb,EAAE,OACJ,EAAE,WAAQ,EAEV,EAAE,MAAQ,EAAE,aAET,KAAM,aAAa,IAAU,aAAa,QAC/C,IAAK,IAAI,KAAK,EACZ,GAAU,OAAN,EAAJ,CAGA,KAAK,OAAO,KAAK,EAAE,WACZ,EAAE,GAET,EAAE,MAAQ,EACV,KALA,OAQF,EAAE,MAAQ,EACV,KAAK,OAAO,MAGd,OAAO,EAAE,KACX,EAEA,EAAc,UAAU,QAAU,WAChC,IAAI,EAAI,KAAK,YACb,MAAiB,iBAAN,EAEF,EAAU,kBAAkB,GAE5B,IAAI,EAAM,EAErB,EAEA,EAAc,UAAU,WAAa,WACnC,OAAO,KAAK,SACd,EAEA,EAAc,UAAU,WAAa,WACnC,OAAO,IAAI,EAAO,KAAK,YAAa,SACtC,EAEA,EAAc,UAAU,WAAa,WACnC,OAAO,KAAK,WACd,EAOA,EAAc,UAAU,aAAe,WACrC,OAAO,KAAK,KACd,EAKA,EAAc,UAAU,KAAO,SAAS,GACpC,OAAQ,GACR,KAAK,EAAK,KACR,KAAK,WACL,MACF,KAAK,EAAK,KACR,KAAK,WACL,MACF,KAAK,EAAK,IACR,KAAK,UACL,MACF,KAAK,EAAK,IACR,KAAK,UACL,MACF,KAAK,EAAK,IACR,KAAK,UACL,MACF,KAAK,EAAK,OACR,KAAK,aACL,MACF,KAAK,EAAK,OACR,KAAK,aACL,MACF,KAAK,EAAK,OAER,IADA,KAAK,oBACQ,CACX,IAAI,EAAI,KAAK,iBACb,GAAI,EAAE,QAAU,EAAK,KACnB,MAEF,KAAK,KAAK,EAAE,OACZ,KAAK,cACP,CACA,KAAK,gBACL,MACF,KAAK,EAAK,IAER,IADA,IAAI,EAAW,KAAK,eACX,EAAI,EAAG,EAAI,EAAS,OAAQ,EACnC,KAAK,KAAK,EAAS,OACnB,KAAK,KAAK,EAAS,OAErB,KAAK,aACL,MACF,KAAK,EAAK,IAER,IADA,IAAI,EAAW,KAAK,eACX,EAAK,EAAG,EAAK,EAAS,OAAQ,EACrC,KAAK,KAAK,EAAS,OAErB,KAAK,aACL,MACF,KAAK,EAAK,KAER,IADA,IAAI,EAAY,KAAK,gBACZ,EAAK,EAAG,EAAK,EAAU,OAAQ,EACtC,KAAK,KAAK,EAAU,OAEtB,KAAK,cACL,MACF,QACE,MAAM,IAAK,MAAM,iBAAmB,GAE1C,CAGO,EAED,KACA,CAAE,EAAyB,EAAS,KAqB1C,IAAI,EAAO,EAAoB,MAE3B,EAAW,WAAa,EACxB,EAAU,QAAQ,IAClB,EAAW,QAEf,SAAS,EAAQ,GACf,OAAO,WAGL,IAAI,EAAO,CAAC,YAAc,EAAQ,MAAM,OAAO,MAAM,KAAK,YAC1D,OAAO,EAAQ,EAAK,OAAO,MAAM,KAAM,GACzC,CACF,CAEA,IAAI,EAAQ,EACR,EAAQ,EACR,EAAQ,EACR,EAAU,EACV,EAAO,EAEX,EAAQ,WAAa,SAAU,GAC7B,EAAU,CACZ,GAEkB,EAAQ,YAAc,SAAU,GAGhD,OAFA,EAAQ,EAAQ,EAAQ,EAAU,EAAO,EACzC,EAAW,GAEX,IAAK,QACH,EAAQ,EAAQ,SAClB,IAAK,QACH,EAAQ,EAAQ,SAClB,IAAK,QACH,EAAQ,EAAQ,SAClB,IAAK,UACH,EAAU,EAAQ,QACpB,IAAK,OACH,EAAO,EAAQ,QAEnB,GAGY,GAEZ,EAAQ,YAAc,WACpB,OAAO,CACT,EAEA,EAAQ,MAAQ,WACd,OAAO,EAAM,MAAM,KAAM,UAC3B,EAEA,EAAQ,MAAQ,WACd,OAAO,EAAM,MAAM,KAAM,UAC3B,EAEA,EAAQ,MAAQ,WACd,OAAO,EAAM,MAAM,KAAM,UAC3B,EAEA,EAAQ,QAAU,WAChB,OAAO,EAAQ,MAAM,KAAM,UAC7B,EAEA,EAAQ,KAAO,WACb,OAAO,EAAK,MAAM,KAAM,UAC1B,CAGO,EAED,KACA,CAAE,EAAyB,EAAS,KAoB1C,IAAI,EAAO,EAAoB,MAC3B,EAAS,EAAoB,MAIjC,SAAS,EAAQ,EAAa,EAAU,GAEtC,SAAS,EAAkB,EAAO,EAAY,GAC5C,EAAS,KAAK,KAAM,EAAO,EAAY,EACzC,CAgBA,OAdA,EAAK,SAAS,EAAmB,GAEjC,EAAkB,UAAU,kBAAoB,SAAS,EAAM,EAAM,GAC/D,GAAQ,EAAO,YAAY,MAAQ,GAAQ,EAAO,YAAY,QAChE,EAAW,cAAc,GAAS,EAClC,EAAkB,OAAO,UAAU,kBAAkB,KAAK,KACA,EAAc,IAAM,EACpB,EACA,IAE1D,EAAkB,OAAO,UAAU,kBAAkB,KAAK,KAAM,EAAM,EAAM,EAEhF,EAEO,CACT,CAEA,SAAS,IACP,KAAK,MAAQ,CACf,CA3BA,EAAQ,YAAc,EA6BtB,EAAY,UAAU,aAAe,SAAS,EAAa,EAAe,GACpE,EAAc,SAChB,EAAgB,EAAc,QAEhC,IAKI,EAAS,IAAI,EAFD,IAAI,EAAW,eAAU,GAH3B,SAAS,EAAK,GAC1B,EAAW,MAAM,EAAI,EACvB,IAEsB,IAAI,EAAQ,EAAa,EAAW,SAAU,IAEhE,EAAO,KAWX,OAVA,EAAO,UAAY,WAEjB,OADA,EAAK,OAAS,EACP,EAAK,KACd,EAEiC,iBAAtB,EAAW,SACpB,EAAW,OAAS,CAAC,GAEvB,EAAW,OAAO,GAAe,EAE1B,CACT,CAGO,EAED,KACA,CAAE,EAAQ,EAAS,KAoBzB,IAAI,EAAO,EAAoB,MAE3B,EAAO,EAAQ,KAAO,CACxB,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,IAAK,EACL,OAAQ,EACR,IAAK,EACL,IAAK,EACL,IAAK,GACL,OAAQ,GACR,KAAM,GACN,OAAQ,GACR,IAAK,GACL,IAAK,GACL,KAAM,GACN,KAAM,GACN,MAAO,IAYT,SAAS,EAAW,GAClB,MAAM,KAAK,MACX,MAAM,kBAAkB,KAAM,KAAK,aACnC,KAAK,KAAO,KAAK,YAAY,KAC7B,KAAK,QAAU,CACjB,CAdA,EAAQ,YAAc,CACpB,KAAM,EACN,MAAO,EACP,UAAW,EACX,OAAQ,GAGV,EAAQ,WAAa,EAQrB,EAAK,SAAS,EAAY,OAE1B,IAAI,EAA4B,EAAQ,0BAA4B,CAClE,QAAS,EACT,eAAgB,EAChB,qBAAsB,EACtB,kBAAmB,EACnB,gBAAiB,EACjB,eAAgB,EAChB,eAAgB,EAChB,eAAgB,EAChB,kBAAmB,EACnB,iBAAkB,EAClB,wBAAyB,IAK3B,SAAS,EAAsB,EAAM,GACnC,EAAW,KAAK,MAChB,MAAM,kBAAkB,KAAM,KAAK,aACnC,KAAK,KAAO,GAAQ,EAA0B,QAC9C,KAAK,KAAO,KAAK,YAAY,KAC7B,KAAK,QAAU,CACjB,CARA,EAAQ,sBAAwB,EAShC,EAAK,SAAS,EAAuB,GAErC,EAAsB,UAAU,KAAO,SAAS,GAI9C,IAHA,IACI,EAAM,EAAM,gBAAgB,0BAG5B,EAAM,EAAM,kBACL,OAAS,EAAK,MAFjB,CAKJ,OAAO,EAAI,KACP,KAAK,EACG,EAAI,OAAS,EAAK,QAClB,EAAM,EAAM,aACZ,KAAK,QAAU,GAEf,EAAM,EAAM,KAAK,EAAI,OAEzB,MACJ,KAAK,EACG,EAAI,OAAS,EAAK,KAClB,EAAM,EAAM,UACZ,KAAK,KAAO,GAEZ,EAAQ,EAAM,KAAK,EAAI,OAE3B,MACJ,QACI,EAAM,EAAM,KAAK,EAAI,OAG7B,EAAM,cACV,CACA,EAAM,eACR,EAEA,EAAsB,UAAU,MAAQ,SAAS,GAC/C,EAAO,iBAAiB,yBAEpB,KAAK,UACL,EAAO,gBAAgB,UAAW,EAAK,OAAQ,GAC/C,EAAO,YAAY,KAAK,SACxB,EAAO,iBAGP,KAAK,OACL,EAAO,gBAAgB,OAAQ,EAAK,IAAK,GACzC,EAAO,SAAS,KAAK,MACrB,EAAO,iBAGX,EAAO,iBACP,EAAO,gBACT,EAEA,IA8BI,EAAU,EA9Be,EAAQ,uBAAyB,CAC5D,QAAS,EACT,aAAc,EACd,cAAe,EACf,WAAY,EACZ,YAAa,EACb,gBAAiB,EACjB,YAAa,GAMf,SAAS,EAAmB,EAAM,GAChC,MAAM,KAAK,MACX,MAAM,kBAAkB,KAAM,KAAK,aACnC,KAAK,KAAO,KAAK,YAAY,KAC7B,KAAK,KAAO,EACZ,KAAK,QAAU,CACjB,CARA,EAAQ,mBAAqB,EAS7B,EAAK,SAAS,EAAoB,OAElC,EAAQ,aAAe,SAAS,GAC9B,OAAO,OAAO,KAAK,GAAK,MAC1B,EAEA,EAAQ,SAAW,SAAS,EAAa,GACvC,EAAK,SAAS,EAAa,EAC7B,EAIA,EAAW,SAAS,EAAK,GAEvB,IAAK,EAAM,OAAO,EAElB,IAAI,EAU+B,EAAG,EAFlC,EALF,OADkB,IAAhB,EAAM,MACD,EAGA,EAAM,GAIX,EAAM,EAAI,OAAQ,EAAS,GAC/B,IAAK,EAAI,EAAG,EAAI,EAAK,IACnB,EAAM,EAAI,GACG,OAAT,EACF,EAAO,KAAK,GAEL,IAAS,GAAW,IAAS,EACpC,EAAO,KAAK,EAAK,EAAK,EAAM,MAAM,KAGlC,EAAO,KAAK,IAAI,EAAK,IAGzB,OAAO,CACT,EAEA,EAAU,SAAS,EAAK,GAEtB,IAAK,EAAM,OAAO,EAElB,IAAI,EAUa,EAFb,EALF,OADkB,IAAhB,EAAM,MACD,EAGA,EAAM,GAIX,EAAS,CAAC,EACd,IAAI,IAAI,KAAQ,EACX,EAAI,eAAe,KACpB,EAAM,EAAI,GAER,EAAO,GADI,OAAT,EACa,EAER,IAAS,GAAW,IAAS,EACrB,EAAK,EAAK,EAAM,MAAM,IAGtB,IAAI,EAAK,IAI9B,OAAO,CACT,EAEA,EAAO,QAAQ,QAAU,EACzB,EAAO,QAAQ,SAAW,CAGnB,EAED,KACA,CAAE,EAAQ,EAA0B,KAqB1C,IAAI,EAAM,EAAoB,MAe9B,SAAS,EAAoB,GACzB,KAAK,QAAQ,EACjB,CAfA,EAAO,QAAU,EAkBjB,EAAoB,UAAU,QAAU,SAAS,GAC/C,KAAK,IAAM,EACX,KAAK,OAAS,KACd,KAAK,UAAY,GACjB,KAAK,aAAe,GACpB,KAAK,SAAW,GAChB,KAAK,SAAW,GAChB,KAAK,QAAU,EACf,KAAK,QAAU,CACjB,EAUA,EAAoB,UAAU,MAAQ,SAAS,EAAO,GACpD,IAKQ,EALJ,EAAO,KACP,KAAK,UAEP,KAAK,OAAO,KAAK,KAAK,UACtB,KAAK,UAAU,MACT,EAAiB,EACd,SAAS,GACd,EAAK,cAAc,GACnB,GACF,KAIF,KAAK,aAAa,KAAK,CACrB,IAAK,KAAK,SACV,GAAK,GAGX,EAEA,EAAoB,UAAU,SAAW,WACtC,IAAI,EAAO,KACP,KAAK,aAAa,OAAS,IAG5B,KAAK,aAAa,SAAQ,SAAS,GAEX,IACf,EAFN,KAAK,OAAO,KAAK,EAAK,KACtB,KAAK,UAAU,MACT,EAAiB,EAAK,GACnB,SAAS,GACb,EAAK,cAAc,GACnB,GACH,GAEL,IACA,KAAK,aAAe,GAE1B,EAEA,EAAoB,UAAU,UAAY,SAAS,GACjD,KAAK,QAAQ,KAAK,IACpB,EAEA,EAAoB,UAAU,YAAc,SAAS,GAC/C,KAAK,UAAU,QACjB,KAAK,UAAU,OAAf,CAAuB,EAAI,KAE/B,EAEA,EAAoB,UAAU,UAAY,SAAS,GACjD,EAAI,MAAM,cAAgB,EAAI,YAC9B,KAAK,OAAO,OACd,EAMA,EAAoB,UAAU,cAAgB,SAAS,GACrD,KAAK,SAAW,EAChB,KAAK,YAAc,KAAK,SAAS,OACjC,KAAK,KAAO,KAAK,SAAS,OAC1B,KAAK,KAAO,CACd,EAOA,EAAoB,UAAU,OAAS,WACrC,OAAO,KAAK,QAAU,KAAK,OAAO,YAAc,KAAK,OAAO,IAC9D,EAKA,EAAoB,UAAU,KAAO,WAE/B,KAAK,QAAU,KAAK,OAAO,YAAc,KAAK,OAAO,SAIzD,KAAK,OAAS,IAAI,UAAU,KAAK,KACjC,KAAK,OAAO,OAAS,KAAK,SAAS,KAAK,MACxC,KAAK,OAAO,UAAY,KAAK,YAAY,KAAK,MAC9C,KAAK,OAAO,QAAU,KAAK,UAAU,KAAK,MAC1C,KAAK,OAAO,QAAU,KAAK,UAAU,KAAK,MAC5C,EAKA,EAAoB,UAAU,MAAQ,WACpC,KAAK,OAAO,OACd,EAQA,EAAoB,UAAU,KAAO,SAAS,GAC5C,IAAI,EAAQ,KAAK,KAAO,KAAK,KAE7B,GAAc,IAAV,EACF,MAAO,GAGT,IAAI,EAAO,EAEP,EAAQ,IACV,EAAO,GAGT,IAAI,EAAM,KAAK,SAAS,OAAO,KAAK,KAAM,GAI1C,OAHA,KAAK,MAAQ,EAGN,CACT,EAMA,EAAoB,UAAU,QAAU,WACtC,OAAO,KAAK,QACd,EAMA,EAAoB,UAAU,MAAQ,SAAS,GAC7C,KAAK,SAAW,CAClB,EAOA,EAAoB,UAAU,cAAgB,WAC5C,OAAO,KAAK,QACd,CAGO,EAED,KACA,CAAE,EAAyB,EAAS,KAEhB,IAAI,EAAS,EAAoB,MAAc,OAmBrE,EAAO,EAAoB,MAC3B,EAAe,EAAoB,MAAM,aACzC,EAAS,EAAoB,MAE7B,EAAqB,EAAoB,MACzC,EAAgB,EAAoB,MACpC,EAA2B,EAAoB,MAE/C,EAAe,EAAoB,MAevC,SAAS,EAAc,EAAM,EAAM,GACjC,KAAK,QAAU,GAAW,CAAC,EAC3B,KAAK,KAAO,EACZ,KAAK,KAAO,EACZ,KAAK,QAAW,GAAW,EAAQ,QACnC,KAAK,SAAW,GAChB,KAAK,SAAW,GAChB,KAAK,UAAY,EAAQ,WAAa,EACtC,KAAK,SAAW,EAAQ,UAAY,EACpC,KAAK,QAAU,EAAQ,SAAW,CAAC,EAEnC,EAAO,GAAQ,OAAO,SAAS,KAC/B,EAAO,GAAQ,OAAO,SAAS,KAC/B,IAAI,EAAS,EAAQ,MAAQ,WAAa,UACtC,EAAO,EAAQ,MAAQ,IAEd,KAAT,IACF,OAAO,GAMP,KAAK,IAHF,GAAiB,KAAT,GAAwB,OAAT,EAGf,EAAS,EAAO,IAAM,EAAO,EAF7B,EAAS,EAAO,EAO7B,KAAK,cAAgB,CAAC,CACxB,CA1CA,EAAQ,cAAgB,EA4CxB,EAAK,SAAS,EAAe,GAM7B,EAAc,UAAU,wBAA0B,WAChD,IAAM,OAAO,IAAI,cAAkB,CAAE,MAAO,GAAM,CAClD,IAAM,OAAO,IAAI,cAAc,iBAAmB,CAAE,MAAO,GAAM,CACjE,IAAM,OAAO,IAAI,cAAc,oBAAsB,CAAE,MAAO,GAAM,CAEpE,KAAM,mCACR,EAYA,EAAc,UAAU,MAAQ,WAC9B,IAAI,EAAO,KACX,QAAiB,IAAb,KAAK,KAAkC,KAAb,KAAK,IACjC,OAAO,KAAK,SAGd,IAAI,EAAO,KAAK,0BAEZ,EAAK,kBACP,EAAK,iBAAiB,oBAGxB,EAAK,mBAAqB,WACD,GAAnB,KAAK,YAAkC,KAAf,KAAK,QAC/B,EAAK,cAAc,KAAK,aAE5B,EAEA,EAAK,KAAK,OAAQ,KAAK,KAAK,GAE5B,OAAO,KAAK,KAAK,SAAS,SAAQ,SAAS,GACzC,EAAK,iBAAiB,EAAW,EAAK,QAAQ,GAChD,IAEA,EAAK,KAAK,KAAK,SACjB,EAMA,EAAc,UAAU,cAAgB,SAAS,GAM/C,GALA,KAAK,SAAW,EAChB,KAAK,YAAc,KAAK,SAAS,OACjC,KAAK,KAAO,KAAK,SAAS,OAC1B,KAAK,KAAO,EAE+B,wBAAvC,OAAO,UAAU,SAAS,KAAK,GACjC,IAAI,EAAO,IAAI,WAAW,GAE5B,IAAI,EAAQ,IAAI,EAAO,GAAQ,GAE/B,KAAK,UAAU,SAAS,KAAK,iBAAiB,KAAK,MAAnD,CAA0D,EAE5D,EAEA,EAAc,UAAU,iBAAmB,SAAS,GAClD,IAAI,EAAQ,IAAI,KAAK,SAAS,GAC9B,IACE,OAAa,CACX,IAAI,EAAS,EAAM,mBACf,GAA+B,EAAjB,EAAO,OACrB,EAAS,KAAK,OAad,EAAe,KAAK,cAAc,EAAO,QACzC,IACF,EAAS,KAAK,OAAO,UACd,KAAK,cAAc,EAAO,SAGnC,EAAO,MAAM,GAAe,SAAS,EAAK,GACxC,EAAoB,iBACpB,IAAI,EAAiB,EAAO,MAAM,EAAO,eAClC,EAAO,MAAM,EAAO,QACvB,GACF,EAAe,EAAK,EAExB,EAEI,EAAO,QAAU,EAAO,OAC1B,EAAO,QAAU,EAAO,OAAO,EAAO,EAAO,MAAO,WAE7C,EAAO,MAAM,GACpB,KAAK,KAAK,QACR,IAAI,EAAO,sBACT,EAAO,0BAA0B,kBACjC,mDAER,CACF,CAAE,MAAO,GACP,KAAI,aAAa,GAGf,MAAM,EAFN,EAAoB,kBAIxB,CACF,EAOA,EAAc,UAAU,OAAS,WAC/B,OAAO,CACT,EAKA,EAAc,UAAU,KAAO,WAAY,EAK3C,EAAc,UAAU,MAAQ,WAAY,EAQ5C,EAAc,UAAU,KAAO,SAAS,GACtC,IAAI,EAAQ,KAAK,KAAO,KAAK,KAE7B,GAAc,IAAV,EACF,MAAO,GAGT,IAAI,EAAO,EAEP,EAAQ,IACV,EAAO,GAGT,IAAI,EAAM,KAAK,SAAS,OAAO,KAAK,KAAM,GAI1C,OAHA,KAAK,MAAQ,EAGN,CACT,EAMA,EAAc,UAAU,QAAU,WAChC,OAAO,KAAK,QACd,EAMA,EAAc,UAAU,MAAQ,SAAS,GACvC,KAAK,SAAW,EAChB,KAAK,OACP,EAOA,EAAc,UAAU,cAAgB,WACtC,OAAO,KAAK,QACd,EAWA,EAAQ,oBAAsB,SAAS,EAAM,EAAM,GACjD,OAAO,IAAI,EAAc,EAAM,EAAM,EACvC,EAEA,EAAQ,gBAAkB,CAGnB,EAED,KACA,SAAU,EAAQ,EAAS,GAGjC,IAAI,oDADmB,EAAS,EAAoB,IAAI,GAEtD,WAG0B,GACzB,EAAQ,SACgB,GACxB,EAAO,SAHT,IAII,EAA6C,iBAAzB,EAAoB,GAAiB,EAAoB,EAEhF,EAAW,SAAW,GACtB,EAAW,SAAW,GACtB,EAAW,KAUZ,IAAI,EAGJ,EAAS,WAGT,EAAO,GAUP,EAAgB,QAChB,EAAgB,eAChB,EAAkB,4BAGlB,EAAS,CACR,SAAY,kDACZ,YAAa,iDACb,gBAAiB,iBAKlB,EAAQ,KAAK,MACb,EAAqB,OAAO,aAa5B,SAAS,EAAM,GACd,MAAM,WAAW,EAAO,GACzB,CAUA,SAAS,EAAI,EAAO,GAGnB,IAFA,IAAI,EAAS,EAAM,OACf,EAAS,GACN,KACN,EAAO,GAAU,EAAG,EAAM,IAE3B,OAAO,CACR,CAYA,SAAS,EAAU,EAAQ,GAC1B,IAAI,EAAQ,EAAO,MAAM,KACrB,EAAS,GAWb,OAVI,EAAM,OAAS,IAGlB,EAAS,EAAM,GAAK,IACpB,EAAS,EAAM,IAMT,EADO,GAFd,EAAS,EAAO,QAAQ,EAAiB,MACrB,MAAM,KACA,GAAI,KAAK,IAEpC,CAeA,SAAS,EAAW,GAMnB,IALA,IAGI,EACA,EAJA,EAAS,GACT,EAAU,EACV,EAAS,EAAO,OAGb,EAAU,IAChB,EAAQ,EAAO,WAAW,OACb,OAAU,GAAS,OAAU,EAAU,EAG3B,QAAX,OADb,EAAQ,EAAO,WAAW,OAEzB,EAAO,OAAe,KAAR,IAAkB,KAAe,KAAR,GAAiB,QAIxD,EAAO,KAAK,GACZ,KAGD,EAAO,KAAK,GAGd,OAAO,CACR,CAUA,SAAS,EAAW,GACnB,OAAO,EAAI,GAAO,SAAS,GAC1B,IAAI,EAAS,GAOb,OANI,EAAQ,QAEX,GAAU,GADV,GAAS,SAC8B,GAAK,KAAQ,OACpD,EAAQ,MAAiB,KAAR,GAElB,GAAU,EAAmB,EAE9B,IAAG,KAAK,GACT,CAmCA,SAAS,EAAa,EAAO,GAG5B,OAAO,EAAQ,GAAK,IAAM,EAAQ,MAAgB,GAAR,IAAc,EACzD,CAOA,SAAS,EAAM,EAAO,EAAW,GAChC,IAAI,EAAI,EAGR,IAFA,EAAQ,EAAY,EAAM,EA1LpB,KA0LoC,GAAS,EACnD,GAAS,EAAM,EAAQ,GACO,EAAQ,IAA2B,GAAK,EACrE,EAAQ,EAAM,EA3KA,IA6Kf,OAAO,EAAM,EAAI,GAAsB,GAAS,EAhM1C,IAiMP,CASA,SAAS,EAAO,GAEf,IAEI,EAIA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EAEA,EArEiB,EAsDjB,EAAS,GACT,EAAc,EAAM,OAEpB,EAAI,EACJ,EA7MM,IA8MN,EA/MS,GAoOb,KALA,EAAQ,EAAM,YA7NH,MA8NC,IACX,EAAQ,GAGJ,EAAI,EAAG,EAAI,IAAS,EAEpB,EAAM,WAAW,IAAM,KAC1B,EAAM,aAEP,EAAO,KAAK,EAAM,WAAW,IAM9B,IAAK,EAAQ,EAAQ,EAAI,EAAQ,EAAI,EAAG,EAAQ,GAAwC,CAOvF,IAAK,EAAO,EAAG,EAAI,EAAG,EAAI,EAErB,GAAS,GACZ,EAAM,mBAGP,GAxGmB,EAwGE,EAAM,WAAW,MAvGxB,GAAK,GACb,EAAY,GAEhB,EAAY,GAAK,GACb,EAAY,GAEhB,EAAY,GAAK,GACb,EAAY,GAEb,IAgGQ,GAAQ,EAAQ,GAAO,EAAS,GAAK,KACjD,EAAM,YAGP,GAAK,EAAQ,IAGT,GAFJ,EAAI,GAAK,EAvQL,EAuQoB,GAAK,EAtQzB,MAsQ8C,EAAI,IAbH,GAAK,EAoBpD,EAAI,EAAM,GADd,EAAa,EAAO,KAEnB,EAAM,YAGP,GAAK,EAKN,EAAO,EAAM,EAAI,EADjB,EAAM,EAAO,OAAS,EACc,GAAR,GAIxB,EAAM,EAAI,GAAO,EAAS,GAC7B,EAAM,YAGP,GAAK,EAAM,EAAI,GACf,GAAK,EAGL,EAAO,OAAO,IAAK,EAAG,EAEvB,CAEA,OAAO,EAAW,EACnB,CASA,SAAS,EAAO,GACf,IAAI,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EAGA,EAEA,EACA,EACA,EANA,EAAS,GAoBb,IARA,GAHA,EAAQ,EAAW,IAGC,OAGpB,EAvUU,IAwUV,EAAQ,EACR,EA1Ua,GA6UR,EAAI,EAAG,EAAI,IAAe,GAC9B,EAAe,EAAM,IACF,KAClB,EAAO,KAAK,EAAmB,IAejC,IAXA,EAAiB,EAAc,EAAO,OAMlC,GACH,EAAO,KAzVG,KA6VJ,EAAiB,GAAa,CAIpC,IAAK,EAAI,EAAQ,EAAI,EAAG,EAAI,IAAe,GAC1C,EAAe,EAAM,KACD,GAAK,EAAe,IACvC,EAAI,GAcN,IAPI,EAAI,EAAI,GAAO,EAAS,IAD5B,EAAwB,EAAiB,KAExC,EAAM,YAGP,IAAU,EAAI,GAAK,EACnB,EAAI,EAEC,EAAI,EAAG,EAAI,IAAe,EAO9B,IANA,EAAe,EAAM,IAEF,KAAO,EAAQ,GACjC,EAAM,YAGH,GAAgB,EAAG,CAEtB,IAAK,EAAI,EAAO,EAAI,IAEf,GADJ,EAAI,GAAK,EAlYP,EAkYsB,GAAK,EAjY3B,MAiYgD,EAAI,IADT,GAAK,EAKlD,EAAU,EAAI,EACd,EAAa,EAAO,EACpB,EAAO,KACN,EAAmB,EAAa,EAAI,EAAU,EAAY,KAE3D,EAAI,EAAM,EAAU,GAGrB,EAAO,KAAK,EAAmB,EAAa,EAAG,KAC/C,EAAO,EAAM,EAAO,EAAuB,GAAkB,GAC7D,EAAQ,IACN,CACH,GAGC,IACA,CAEH,CACA,OAAO,EAAO,KAAK,GACpB,CA2CA,EAAW,CAMV,QAAW,QAQX,KAAQ,CACP,OAAU,EACV,OAAU,GAEX,OAAU,EACV,OAAU,EACV,QA/BD,SAAiB,GAChB,OAAO,EAAU,GAAO,SAAS,GAChC,OAAO,EAAc,KAAK,GACvB,OAAS,EAAO,GAChB,CACJ,GACD,EA0BC,UAnDD,SAAmB,GAClB,OAAO,EAAU,GAAO,SAAS,GAChC,OAAO,EAAc,KAAK,GACvB,EAAO,EAAO,MAAM,GAAG,eACvB,CACJ,GACD,QAyDmC,KAHhC,EAAgC,WACjC,OAAO,CACP,EAAE,KAAK,EAAS,EAAqB,EAAS,MACC,EAAO,QAAU,EAGnE,CArgBC,EAwgBM,EAED,KACA,CAAE,EAAyB,EAAS,KAE1C,aACA,IAwBI,EAAW,EAAoB,MAC/B,EAAO,EAAoB,MAS/B,SAAS,IACP,KAAK,SAAW,KAChB,KAAK,QAAU,KACf,KAAK,KAAO,KACZ,KAAK,KAAO,KACZ,KAAK,KAAO,KACZ,KAAK,SAAW,KAChB,KAAK,KAAO,KACZ,KAAK,OAAS,KACd,KAAK,MAAQ,KACb,KAAK,SAAW,KAChB,KAAK,KAAO,KACZ,KAAK,KAAO,IACd,CApBA,EAAQ,GAAK,EA0Bb,IAAI,EAAkB,oBAClB,EAAc,WAGd,EAAoB,qCAOpB,EAAS,CAAC,IAAK,IAAK,IAAK,KAAM,IAAK,KAAK,OAHhC,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,OAM/C,EAAa,CAAC,KAAM,OAAO,GAK3B,EAAe,CAAC,IAAK,IAAK,IAAK,IAAK,KAAK,OAAO,GAChD,EAAkB,CAAC,IAAK,IAAK,KAE7B,EAAsB,yBACtB,EAAoB,+BAEpB,EAAiB,CACf,YAAc,EACd,eAAe,GAGjB,EAAmB,CACjB,YAAc,EACd,eAAe,GAGjB,EAAkB,CAChB,MAAQ,EACR,OAAS,EACT,KAAO,EACP,QAAU,EACV,MAAQ,EACR,SAAS,EACT,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,GAEX,EAAc,EAAoB,MAEtC,SAAS,EAAS,EAAK,EAAkB,GACvC,GAAI,GAAO,EAAK,SAAS,IAAQ,aAAe,EAAK,OAAO,EAE5D,IAAI,EAAI,IAAI,EAEZ,OADA,EAAE,MAAM,EAAK,EAAkB,GACxB,CACT,CAEA,EAAI,UAAU,MAAQ,SAAS,EAAK,EAAkB,GACpD,IAAK,EAAK,SAAS,GACjB,MAAM,IAAI,UAAU,gDAAkD,GAMxE,IAAI,EAAa,EAAI,QAAQ,KACzB,GACqB,IAAhB,GAAqB,EAAa,EAAI,QAAQ,KAAQ,IAAM,IACjE,EAAS,EAAI,MAAM,GAEvB,EAAO,GAAK,EAAO,GAAG,QADL,MACyB,KAG1C,IAAI,EAFJ,EAAM,EAAO,KAAK,GAQlB,GAFA,EAAO,EAAK,QAEP,GAA+C,IAA1B,EAAI,MAAM,KAAK,OAAc,CAErD,IAAI,EAAa,EAAkB,KAAK,GACxC,GAAI,EAeF,OAdA,KAAK,KAAO,EACZ,KAAK,KAAO,EACZ,KAAK,SAAW,EAAW,GACvB,EAAW,IACb,KAAK,OAAS,EAAW,GAEvB,KAAK,MADH,EACW,EAAY,MAAM,KAAK,OAAO,OAAO,IAErC,KAAK,OAAO,OAAO,IAEzB,IACT,KAAK,OAAS,GACd,KAAK,MAAQ,CAAC,GAET,IAEX,CAEA,IAAI,EAAQ,EAAgB,KAAK,GACjC,GAAI,EAAO,CAET,IAAI,GADJ,EAAQ,EAAM,IACS,cACvB,KAAK,SAAW,EAChB,EAAO,EAAK,OAAO,EAAM,OAC3B,CAMA,GAAI,GAAqB,GAAS,EAAK,MAAM,wBAAyB,CACpE,IAAI,EAAgC,OAAtB,EAAK,OAAO,EAAG,IACzB,GAAa,GAAS,EAAiB,KACzC,EAAO,EAAK,OAAO,GACnB,KAAK,SAAU,EAEnB,CAEA,IAAK,EAAiB,KACjB,GAAY,IAAU,EAAgB,IAAU,CAmBnD,IADA,IASI,EAAM,EATN,GAAW,EACN,EAAI,EAAG,EAAI,EAAgB,OAAQ,IAAK,EAElC,KADT,EAAM,EAAK,QAAQ,EAAgB,QACP,IAAb,GAAkB,EAAM,KACzC,EAAU,EACd,EAgBgB,KATd,GAFe,IAAb,EAEO,EAAK,YAAY,KAIjB,EAAK,YAAY,IAAK,MAM/B,EAAO,EAAK,MAAM,EAAG,GACrB,EAAO,EAAK,MAAM,EAAS,GAC3B,KAAK,KAAO,mBAAmB,IAIjC,GAAW,EACX,IAAS,EAAI,EAAG,EAAI,EAAa,OAAQ,IAAK,CAC5C,IAAI,GACS,KADT,EAAM,EAAK,QAAQ,EAAa,QACJ,IAAb,GAAkB,EAAM,KACzC,EAAU,EACd,EAEiB,IAAb,IACF,EAAU,EAAK,QAEjB,KAAK,KAAO,EAAK,MAAM,EAAG,GAC1B,EAAO,EAAK,MAAM,GAGlB,KAAK,YAIL,KAAK,SAAW,KAAK,UAAY,GAIjC,IAAI,EAAoC,MAArB,KAAK,SAAS,IACe,MAA5C,KAAK,SAAS,KAAK,SAAS,OAAS,GAGzC,IAAK,EAEH,IADA,IAAI,EAAY,KAAK,SAAS,MAAM,MACpB,GAAP,EAAI,EAAO,EAAU,QAAQ,EAAI,EAAG,IAAK,CAChD,IAAI,EAAO,EAAU,GACrB,GAAK,IACA,EAAK,MAAM,GAAsB,CAEpC,IADA,IAAI,EAAU,GACL,EAAI,EAAG,EAAI,EAAK,OAAQ,EAAI,EAAG,IAClC,EAAK,WAAW,GAAK,IAIvB,GAAW,IAEX,GAAW,EAAK,GAIpB,IAAK,EAAQ,MAAM,GAAsB,CACvC,IAAI,EAAa,EAAU,MAAM,EAAG,GAChC,EAAU,EAAU,MAAM,EAAI,GAC9B,EAAM,EAAK,MAAM,GACjB,IACF,EAAW,KAAK,EAAI,IACpB,EAAQ,QAAQ,EAAI,KAElB,EAAQ,SACV,EAAO,IAAM,EAAQ,KAAK,KAAO,GAEnC,KAAK,SAAW,EAAW,KAAK,KAChC,KACF,CACF,CACF,CAGE,KAAK,SAAS,OAjND,IAkNf,KAAK,SAAW,GAGhB,KAAK,SAAW,KAAK,SAAS,cAG3B,IAKH,KAAK,SAAW,EAAS,QAAQ,KAAK,WAGxC,IAAI,EAAI,KAAK,KAAO,IAAM,KAAK,KAAO,GAClC,EAAI,KAAK,UAAY,GACzB,KAAK,KAAO,EAAI,EAChB,KAAK,MAAQ,KAAK,KAId,IACF,KAAK,SAAW,KAAK,SAAS,OAAO,EAAG,KAAK,SAAS,OAAS,GAC/C,MAAZ,EAAK,KACP,EAAO,IAAM,GAGnB,CAIA,IAAK,EAAe,GAKlB,IAAS,EAAI,EAAG,EAAI,EAAW,OAAQ,EAAI,EAAG,IAAK,CACjD,IAAI,EAAK,EAAW,GACpB,IAA0B,IAAtB,EAAK,QAAQ,GAAjB,CAEA,IAAI,EAAM,mBAAmB,GACzB,IAAQ,IACV,EAAM,OAAO,IAEf,EAAO,EAAK,MAAM,GAAI,KAAK,EALjB,CAMZ,CAKF,IAAI,EAAO,EAAK,QAAQ,MACV,IAAV,IAEF,KAAK,KAAO,EAAK,OAAO,GACxB,EAAO,EAAK,MAAM,EAAG,IAEvB,IAAI,EAAK,EAAK,QAAQ,KAoBtB,IAnBY,IAAR,GACF,KAAK,OAAS,EAAK,OAAO,GAC1B,KAAK,MAAQ,EAAK,OAAO,EAAK,GAC1B,IACF,KAAK,MAAQ,EAAY,MAAM,KAAK,QAEtC,EAAO,EAAK,MAAM,EAAG,IACZ,IAET,KAAK,OAAS,GACd,KAAK,MAAQ,CAAC,GAEZ,IAAM,KAAK,SAAW,GACtB,EAAgB,IAChB,KAAK,WAAa,KAAK,WACzB,KAAK,SAAW,KAId,KAAK,UAAY,KAAK,OAAQ,CAC5B,EAAI,KAAK,UAAY,GAAzB,IACI,EAAI,KAAK,QAAU,GACvB,KAAK,KAAO,EAAI,CAClB,CAIA,OADA,KAAK,KAAO,KAAK,SACV,IACT,EAaA,EAAI,UAAU,OAAS,WACrB,IAAI,EAAO,KAAK,MAAQ,GACpB,IAEF,GADA,EAAO,mBAAmB,IACd,QAAQ,OAAQ,KAC5B,GAAQ,KAGV,IAAI,EAAW,KAAK,UAAY,GAC5B,EAAW,KAAK,UAAY,GAC5B,EAAO,KAAK,MAAQ,GACpB,GAAO,EACP,EAAQ,GAER,KAAK,KACP,EAAO,EAAO,KAAK,KACV,KAAK,WACd,EAAO,IAAwC,IAAhC,KAAK,SAAS,QAAQ,KACjC,KAAK,SACL,IAAM,KAAK,SAAW,KACtB,KAAK,OACP,GAAQ,IAAM,KAAK,OAInB,KAAK,OACL,EAAK,SAAS,KAAK,QACnB,OAAO,KAAK,KAAK,OAAO,SAC1B,EAAQ,EAAY,UAAU,KAAK,QAGrC,IAAI,EAAS,KAAK,QAAW,GAAU,IAAM,GAAW,GAsBxD,OApBI,GAAoC,MAAxB,EAAS,QAAQ,KAAY,GAAY,KAIrD,KAAK,WACH,GAAY,EAAgB,MAAuB,IAAT,GAC9C,EAAO,MAAQ,GAAQ,IACnB,GAAmC,MAAvB,EAAS,OAAO,KAAY,EAAW,IAAM,IACnD,IACV,EAAO,IAGL,GAA2B,MAAnB,EAAK,OAAO,KAAY,EAAO,IAAM,GAC7C,GAA+B,MAArB,EAAO,OAAO,KAAY,EAAS,IAAM,GAOhD,EAAW,GALlB,EAAW,EAAS,QAAQ,SAAS,SAAS,GAC5C,OAAO,mBAAmB,EAC5B,MACA,EAAS,EAAO,QAAQ,IAAK,QAEgB,CAC/C,EAMA,EAAI,UAAU,QAAU,SAAS,GAC/B,OAAO,KAAK,cAAc,EAAS,GAAU,GAAO,IAAO,QAC7D,EAOA,EAAI,UAAU,cAAgB,SAAS,GACrC,GAAI,EAAK,SAAS,GAAW,CAC3B,IAAI,EAAM,IAAI,EACd,EAAI,MAAM,GAAU,GAAO,GAC3B,EAAW,CACb,CAIA,IAFA,IAAI,EAAS,IAAI,EACb,EAAQ,OAAO,KAAK,MACf,EAAK,EAAG,EAAK,EAAM,OAAQ,IAAM,CACxC,IAAI,EAAO,EAAM,GACjB,EAAO,GAAQ,KAAK,EACtB,CAOA,GAHA,EAAO,KAAO,EAAS,KAGD,KAAlB,EAAS,KAEX,OADA,EAAO,KAAO,EAAO,SACd,EAIT,GAAI,EAAS,UAAY,EAAS,SAAU,CAG1C,IADA,IAAI,EAAQ,OAAO,KAAK,GACf,EAAK,EAAG,EAAK,EAAM,OAAQ,IAAM,CACxC,IAAI,EAAO,EAAM,GACJ,aAAT,IACF,EAAO,GAAQ,EAAS,GAC5B,CASA,OANI,EAAgB,EAAO,WACvB,EAAO,WAAa,EAAO,WAC7B,EAAO,KAAO,EAAO,SAAW,KAGlC,EAAO,KAAO,EAAO,SACd,CACT,CAEA,GAAI,EAAS,UAAY,EAAS,WAAa,EAAO,SAAU,CAS9D,IAAK,EAAgB,EAAS,UAAW,CAEvC,IADA,IAAI,EAAO,OAAO,KAAK,GACd,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,IAAI,EAAI,EAAK,GACb,EAAO,GAAK,EAAS,EACvB,CAEA,OADA,EAAO,KAAO,EAAO,SACd,CACT,CAGA,GADA,EAAO,SAAW,EAAS,SACtB,EAAS,MAAS,EAAiB,EAAS,UAS/C,EAAO,SAAW,EAAS,aAT+B,CAE1D,IADA,IAAI,GAAW,EAAS,UAAY,IAAI,MAAM,KACvC,EAAQ,UAAY,EAAS,KAAO,EAAQ,WAC9C,EAAS,OAAM,EAAS,KAAO,IAC/B,EAAS,WAAU,EAAS,SAAW,IACzB,KAAf,EAAQ,IAAW,EAAQ,QAAQ,IACnC,EAAQ,OAAS,GAAG,EAAQ,QAAQ,IACxC,EAAO,SAAW,EAAQ,KAAK,IACjC,CAUA,GAPA,EAAO,OAAS,EAAS,OACzB,EAAO,MAAQ,EAAS,MACxB,EAAO,KAAO,EAAS,MAAQ,GAC/B,EAAO,KAAO,EAAS,KACvB,EAAO,SAAW,EAAS,UAAY,EAAS,KAChD,EAAO,KAAO,EAAS,KAEnB,EAAO,UAAY,EAAO,OAAQ,CACpC,IAAI,EAAI,EAAO,UAAY,GACvB,EAAI,EAAO,QAAU,GACzB,EAAO,KAAO,EAAI,CACpB,CAGA,OAFA,EAAO,QAAU,EAAO,SAAW,EAAS,QAC5C,EAAO,KAAO,EAAO,SACd,CACT,CAEA,IAAI,EAAe,EAAO,UAA0C,MAA9B,EAAO,SAAS,OAAO,GACzD,EACI,EAAS,MACT,EAAS,UAA4C,MAAhC,EAAS,SAAS,OAAO,GAElD,EAAc,GAAY,GACX,EAAO,MAAQ,EAAS,SACvC,EAAgB,EAChB,EAAU,EAAO,UAAY,EAAO,SAAS,MAAM,MAAQ,GAE3D,GADA,EAAU,EAAS,UAAY,EAAS,SAAS,MAAM,MAAQ,GACnD,EAAO,WAAa,EAAgB,EAAO,WA2B3D,GApBI,IACF,EAAO,SAAW,GAClB,EAAO,KAAO,KACV,EAAO,OACU,KAAf,EAAQ,GAAW,EAAQ,GAAK,EAAO,KACtC,EAAQ,QAAQ,EAAO,OAE9B,EAAO,KAAO,GACV,EAAS,WACX,EAAS,SAAW,KACpB,EAAS,KAAO,KACZ,EAAS,OACQ,KAAf,EAAQ,GAAW,EAAQ,GAAK,EAAS,KACxC,EAAQ,QAAQ,EAAS,OAEhC,EAAS,KAAO,MAElB,EAAa,IAA8B,KAAf,EAAQ,IAA4B,KAAf,EAAQ,KAGvD,EAEF,EAAO,KAAQ,EAAS,MAA0B,KAAlB,EAAS,KAC3B,EAAS,KAAO,EAAO,KACrC,EAAO,SAAY,EAAS,UAAkC,KAAtB,EAAS,SAC/B,EAAS,SAAW,EAAO,SAC7C,EAAO,OAAS,EAAS,OACzB,EAAO,MAAQ,EAAS,MACxB,EAAU,OAEL,GAAI,EAAQ,OAGZ,IAAS,EAAU,IACxB,EAAQ,MACR,EAAU,EAAQ,OAAO,GACzB,EAAO,OAAS,EAAS,OACzB,EAAO,MAAQ,EAAS,WACnB,IAAK,EAAK,kBAAkB,EAAS,QAAS,CAInD,GAAI,EACF,EAAO,SAAW,EAAO,KAAO,EAAQ,SAIpC,KAAa,EAAO,MAAQ,EAAO,KAAK,QAAQ,KAAO,IAC1C,EAAO,KAAK,MAAM,QAEjC,EAAO,KAAO,EAAW,QACzB,EAAO,KAAO,EAAO,SAAW,EAAW,SAW/C,OARA,EAAO,OAAS,EAAS,OACzB,EAAO,MAAQ,EAAS,MAEnB,EAAK,OAAO,EAAO,WAAc,EAAK,OAAO,EAAO,UACvD,EAAO,MAAQ,EAAO,SAAW,EAAO,SAAW,KACpC,EAAO,OAAS,EAAO,OAAS,KAEjD,EAAO,KAAO,EAAO,SACd,CACT,CAEA,IAAK,EAAQ,OAWX,OARA,EAAO,SAAW,KAEd,EAAO,OACT,EAAO,KAAO,IAAM,EAAO,OAE3B,EAAO,KAAO,KAEhB,EAAO,KAAO,EAAO,SACd,EAcT,IARA,IAAI,EAAO,EAAQ,OAAO,GAAG,GACzB,GACC,EAAO,MAAQ,EAAS,MAAQ,EAAQ,OAAS,KACxC,MAAT,GAAyB,OAAT,IAA2B,KAAT,EAInC,EAAK,EACA,EAAI,EAAQ,OAAQ,GAAK,EAAG,IAEtB,OADb,EAAO,EAAQ,IAEb,EAAQ,OAAO,EAAG,GACA,OAAT,GACT,EAAQ,OAAO,EAAG,GAClB,KACS,IACT,EAAQ,OAAO,EAAG,GAClB,KAKJ,IAAK,IAAe,EAClB,KAAO,IAAM,EACX,EAAQ,QAAQ,OAIhB,GAA6B,KAAf,EAAQ,IACpB,EAAQ,IAA+B,MAAzB,EAAQ,GAAG,OAAO,IACpC,EAAQ,QAAQ,IAGd,GAAsD,MAAjC,EAAQ,KAAK,KAAK,QAAQ,IACjD,EAAQ,KAAK,IAGf,IAUM,EAVF,EAA4B,KAAf,EAAQ,IACpB,EAAQ,IAA+B,MAAzB,EAAQ,GAAG,OAAO,GAGjC,IACF,EAAO,SAAW,EAAO,KAAO,EAAa,GACb,EAAQ,OAAS,EAAQ,QAAU,IAI/D,KAAa,EAAO,MAAQ,EAAO,KAAK,QAAQ,KAAO,IAC1C,EAAO,KAAK,MAAM,QAEjC,EAAO,KAAO,EAAW,QACzB,EAAO,KAAO,EAAO,SAAW,EAAW,UAyB/C,OArBA,EAAa,GAAe,EAAO,MAAQ,EAAQ,UAEhC,GACjB,EAAQ,QAAQ,IAGb,EAAQ,OAIX,EAAO,SAAW,EAAQ,KAAK,MAH/B,EAAO,SAAW,KAClB,EAAO,KAAO,MAMX,EAAK,OAAO,EAAO,WAAc,EAAK,OAAO,EAAO,UACvD,EAAO,MAAQ,EAAO,SAAW,EAAO,SAAW,KACpC,EAAO,OAAS,EAAO,OAAS,KAEjD,EAAO,KAAO,EAAS,MAAQ,EAAO,KACtC,EAAO,QAAU,EAAO,SAAW,EAAS,QAC5C,EAAO,KAAO,EAAO,SACd,CACT,EAEA,EAAI,UAAU,UAAY,WACxB,IAAI,EAAO,KAAK,KACZ,EAAO,EAAY,KAAK,GACxB,IAEW,OADb,EAAO,EAAK,MAEV,KAAK,KAAO,EAAK,OAAO,IAE1B,EAAO,EAAK,OAAO,EAAG,EAAK,OAAS,EAAK,SAEvC,IAAM,KAAK,SAAW,EAC5B,CAGO,EAED,KACE,IAER,aAGA,EAAO,QAAU,CACf,SAAU,SAAS,GACjB,MAAuB,iBAAV,CACf,EACA,SAAU,SAAS,GACjB,MAAuB,iBAAV,GAA8B,OAAR,CACrC,EACA,OAAQ,SAAS,GACf,OAAe,OAAR,CACT,EACA,kBAAmB,SAAS,GAC1B,OAAc,MAAP,CACT,EAIK,EAED,IACE,IAER,EAAO,QAAU,SAAkB,GACjC,OAAO,GAAsB,iBAAR,GACI,mBAAb,EAAI,MACS,mBAAb,EAAI,MACc,mBAAlB,EAAI,SAClB,CAEO,EAED,KACA,CAAE,EAAyB,EAAS,KAE1C,aAMA,IAAI,EAAoB,EAAoB,MACxC,EAAsB,EAAoB,MAC1C,EAAkB,EAAoB,MACtC,EAAe,EAAoB,MAEvC,SAAS,EAAY,GACnB,OAAO,EAAE,KAAK,KAAK,EACrB,CAEA,IAAI,EAAoC,oBAAX,OACzB,EAAoC,oBAAX,OAEzB,EAAiB,EAAY,OAAO,UAAU,UAE9C,EAAc,EAAY,OAAO,UAAU,SAC3C,EAAc,EAAY,OAAO,UAAU,SAC3C,EAAe,EAAY,QAAQ,UAAU,SAEjD,GAAI,EACF,IAAI,EAAc,EAAY,OAAO,UAAU,SAGjD,GAAI,EACF,IAAI,EAAc,EAAY,OAAO,UAAU,SAGjD,SAAS,EAAoB,EAAO,GAClC,GAAqB,iBAAV,EACT,OAAO,EAET,IAEE,OADA,EAAiB,IACV,CACT,CAAE,MAAM,GACN,OAAO,CACT,CACF,CA4FA,SAAS,EAAc,GACrB,MAAiC,iBAA1B,EAAe,EACxB,CAiBA,SAAS,EAAc,GACrB,MAAiC,iBAA1B,EAAe,EACxB,CAgBA,SAAS,EAAkB,GACzB,MAAiC,qBAA1B,EAAe,EACxB,CAgBA,SAAS,EAAkB,GACzB,MAAiC,qBAA1B,EAAe,EACxB,CAUA,SAAS,EAAsB,GAC7B,MAAiC,yBAA1B,EAAe,EACxB,CAKA,SAAS,EAAc,GACrB,MAA2B,oBAAhB,cAIJ,EAAsB,QACzB,EAAsB,GACtB,aAAiB,YACvB,CAGA,SAAS,EAAmB,GAC1B,MAAiC,sBAA1B,EAAe,EACxB,CAMA,SAAS,EAAW,GAClB,MAAwB,oBAAb,WAIJ,EAAmB,QACtB,EAAmB,GACnB,aAAiB,SACvB,CAGA,SAAS,EAA4B,GACnC,MAAiC,+BAA1B,EAAe,EACxB,CAKA,SAAS,EAAoB,GAC3B,MAAiC,oBAAtB,oBAIJ,EAA4B,QAC/B,EAA4B,GAC5B,aAAiB,kBACvB,CA4BA,SAAS,EAAe,GACtB,OAAO,EAAoB,EAAO,EACpC,CAGA,SAAS,EAAe,GACtB,OAAO,EAAoB,EAAO,EACpC,CAGA,SAAS,EAAgB,GACvB,OAAO,EAAoB,EAAO,EACpC,CAGA,SAAS,EAAe,GACtB,OAAO,GAAmB,EAAoB,EAAO,EACvD,CAGA,SAAS,EAAe,GACtB,OAAO,GAAmB,EAAoB,EAAO,EACvD,CAnQA,EAAQ,kBAAoB,EAC5B,EAAQ,oBAAsB,EAC9B,EAAQ,aAAe,EAkBvB,EAAQ,UAdR,SAAmB,GAClB,MAEqB,oBAAZ,SACP,aAAiB,SAGP,OAAV,GACiB,iBAAV,GACe,mBAAf,EAAM,MACU,mBAAhB,EAAM,KAGhB,EAaA,EAAQ,kBAVR,SAA2B,GACzB,MAA2B,oBAAhB,aAA+B,YAAY,OAC7C,YAAY,OAAO,GAI1B,EAAa,IACb,EAAW,EAEf,EAOA,EAAQ,aAHR,SAAsB,GACpB,MAAkC,eAA3B,EAAgB,EACzB,EAMA,EAAQ,oBAHR,SAA6B,GAC3B,MAAkC,sBAA3B,EAAgB,EACzB,EAMA,EAAQ,cAHR,SAAuB,GACrB,MAAkC,gBAA3B,EAAgB,EACzB,EAMA,EAAQ,cAHR,SAAuB,GACrB,MAAkC,gBAA3B,EAAgB,EACzB,EAMA,EAAQ,YAHR,SAAqB,GACnB,MAAkC,cAA3B,EAAgB,EACzB,EAMA,EAAQ,aAHR,SAAsB,GACpB,MAAkC,eAA3B,EAAgB,EACzB,EAMA,EAAQ,aAHR,SAAsB,GACpB,MAAkC,eAA3B,EAAgB,EACzB,EAMA,EAAQ,eAHR,SAAwB,GACtB,MAAkC,iBAA3B,EAAgB,EACzB,EAMA,EAAQ,eAHR,SAAwB,GACtB,MAAkC,iBAA3B,EAAgB,EACzB,EAMA,EAAQ,gBAHR,SAAyB,GACvB,MAAkC,kBAA3B,EAAgB,EACzB,EAMA,EAAQ,iBAHR,SAA0B,GACxB,MAAkC,mBAA3B,EAAgB,EACzB,EAMA,EAAc,QACG,oBAAR,KACP,EAAc,IAAI,KAYpB,EAAQ,MATR,SAAe,GACb,MAAmB,oBAAR,MAIJ,EAAc,QACjB,EAAc,GACd,aAAiB,IACvB,EAMA,EAAc,QACG,oBAAR,KACP,EAAc,IAAI,KAWpB,EAAQ,MATR,SAAe,GACb,MAAmB,oBAAR,MAIJ,EAAc,QACjB,EAAc,GACd,aAAiB,IACvB,EAMA,EAAkB,QACG,oBAAZ,SACP,EAAkB,IAAI,SAWxB,EAAQ,UATR,SAAmB,GACjB,MAAuB,oBAAZ,UAIJ,EAAkB,QACrB,EAAkB,GAClB,aAAiB,QACvB,EAMA,EAAkB,QACG,oBAAZ,SACP,EAAkB,IAAI,SAKxB,EAAQ,UAHR,SAAmB,GACjB,OAAO,EAAkB,EAC3B,EAMA,EAAsB,QACG,oBAAhB,aACP,EAAsB,IAAI,aAW5B,EAAQ,cAAgB,EAKxB,EAAmB,QACM,oBAAhB,aACa,oBAAb,UACP,EAAmB,IAAI,SAAS,IAAI,YAAY,GAAI,EAAG,IAWzD,EAAQ,WAAa,EAKrB,EAA4B,QACG,oBAAtB,mBACP,EAA4B,IAAI,mBAWlC,EAAQ,oBAAsB,EAK9B,EAAQ,gBAHR,SAAyB,GACvB,MAAiC,2BAA1B,EAAe,EACxB,EAMA,EAAQ,cAHR,SAAuB,GACrB,MAAiC,0BAA1B,EAAe,EACxB,EAMA,EAAQ,cAHR,SAAuB,GACrB,MAAiC,0BAA1B,EAAe,EACxB,EAMA,EAAQ,kBAHR,SAA2B,GACzB,MAAiC,uBAA1B,EAAe,EACxB,EAMA,EAAQ,4BAHR,SAAqC,GACnC,MAAiC,gCAA1B,EAAe,EACxB,EAMA,EAAQ,eAAiB,EAKzB,EAAQ,eAAiB,EAKzB,EAAQ,gBAAkB,EAK1B,EAAQ,eAAiB,EAKzB,EAAQ,eAAiB,EAWzB,EAAQ,iBATR,SAA0B,GACxB,OACE,EAAe,IACf,EAAe,IACf,EAAgB,IAChB,EAAe,IACf,EAAe,EAEnB,EASA,EAAQ,iBANR,SAA0B,GACxB,MAA6B,oBAAf,aACZ,EAAc,IACd,EAAoB,GAExB,EAGA,CAAC,UAAW,aAAc,2BAA2B,SAAQ,SAAS,GACpE,OAAO,eAAe,EAAS,EAAQ,CACrC,YAAY,EACZ,MAAO,WACL,MAAM,IAAI,MAAM,EAAS,gCAC3B,GAEJ,GAGO,EAED,KACA,CAAE,EAAyB,EAAS,KAuB1C,IAAI,EAA4B,OAAO,2BACrC,SAAmC,GAGjC,IAFA,IAAI,EAAO,OAAO,KAAK,GACnB,EAAc,CAAC,EACV,EAAI,EAAG,EAAI,EAAK,OAAQ,IAC/B,EAAY,EAAK,IAAM,OAAO,yBAAyB,EAAK,EAAK,IAEnE,OAAO,CACT,EAEE,EAAe,WACnB,EAAQ,OAAS,SAAS,GACxB,IAAK,EAAS,GAAI,CAEhB,IADA,IAAI,EAAU,GACL,EAAI,EAAG,EAAI,UAAU,OAAQ,IACpC,EAAQ,KAAK,EAAQ,UAAU,KAEjC,OAAO,EAAQ,KAAK,IACtB,CAEI,EAAI,EAmBR,IAnBA,IACI,EAAO,UACP,EAAM,EAAK,OACX,EAAM,OAAO,GAAG,QAAQ,GAAc,SAAS,GACjD,GAAU,OAAN,EAAY,MAAO,IACvB,GAAI,GAAK,EAAK,OAAO,EACrB,OAAQ,GACN,IAAK,KAAM,OAAO,OAAO,EAAK,MAC9B,IAAK,KAAM,OAAO,OAAO,EAAK,MAC9B,IAAK,KACH,IACE,OAAO,KAAK,UAAU,EAAK,KAC7B,CAAE,MAAO,GACP,MAAO,YACT,CACF,QACE,OAAO,EAEb,IACS,EAAI,EAAK,GAAI,EAAI,EAAK,EAAI,IAAO,GACpC,EAAO,KAAO,EAAS,GACzB,GAAO,IAAM,EAEb,GAAO,IAAM,EAAQ,GAGzB,OAAO,CACT,EAMA,EAAQ,UAAY,SAAS,EAAI,GAC/B,GAAuB,oBAAZ,UAAqD,IAA1B,QAAQ,cAC5C,OAAO,EAIT,GAAuB,oBAAZ,QACT,OAAO,WACL,OAAO,EAAQ,UAAU,EAAI,GAAK,MAAM,KAAM,UAChD,EAGF,IAAI,GAAS,EAeb,OAdA,WACE,IAAK,EAAQ,CACX,GAAI,QAAQ,iBACV,MAAM,IAAI,MAAM,GACP,QAAQ,iBACjB,QAAQ,MAAM,GAEd,QAAQ,MAAM,GAEhB,GAAS,CACX,CACA,OAAO,EAAG,MAAM,KAAM,UACxB,CAGF,EAGA,IAAI,EAAS,CAAC,EACV,EAAgB,KAEpB,GAAI,QAAQ,IAAI,WAAY,CAC1B,IAAI,EAAW,QAAQ,IAAI,WAC3B,EAAW,EAAS,QAAQ,qBAAsB,QAC/C,QAAQ,MAAO,MACf,QAAQ,KAAM,OACd,cACH,EAAgB,IAAI,OAAO,IAAM,EAAW,IAAK,IACnD,CA0BA,SAAS,EAAQ,EAAK,GAEpB,IAAI,EAAM,CACR,KAAM,GACN,QAAS,GAkBX,OAfI,UAAU,QAAU,IAAG,EAAI,MAAQ,UAAU,IAC7C,UAAU,QAAU,IAAG,EAAI,OAAS,UAAU,IAC9C,EAAU,GAEZ,EAAI,WAAa,EACR,GAET,EAAQ,QAAQ,EAAK,GAGnB,EAAY,EAAI,cAAa,EAAI,YAAa,GAC9C,EAAY,EAAI,SAAQ,EAAI,MAAQ,GACpC,EAAY,EAAI,UAAS,EAAI,QAAS,GACtC,EAAY,EAAI,iBAAgB,EAAI,eAAgB,GACpD,EAAI,SAAQ,EAAI,QAAU,GACvB,EAAY,EAAK,EAAK,EAAI,MACnC,CAmCA,SAAS,EAAiB,EAAK,GAC7B,IAAI,EAAQ,EAAQ,OAAO,GAE3B,OAAI,EACK,KAAY,EAAQ,OAAO,GAAO,GAAK,IAAM,EAC7C,KAAY,EAAQ,OAAO,GAAO,GAAK,IAEvC,CAEX,CAGA,SAAS,EAAe,EAAK,GAC3B,OAAO,CACT,CAcA,SAAS,EAAY,EAAK,EAAO,GAG/B,GAAI,EAAI,eACJ,GACA,EAAW,EAAM,UAEjB,EAAM,UAAY,EAAQ,WAExB,EAAM,aAAe,EAAM,YAAY,YAAc,GAAQ,CACjE,IAAI,EAAM,EAAM,QAAQ,EAAc,GAItC,OAHK,EAAS,KACZ,EAAM,EAAY,EAAK,EAAK,IAEvB,CACT,CAGA,IAAI,EA+FN,SAAyB,EAAK,GAC5B,GAAI,EAAY,GACd,OAAO,EAAI,QAAQ,YAAa,aAClC,GAAI,EAAS,GAAQ,CACnB,IAAI,EAAS,IAAO,KAAK,UAAU,GAAO,QAAQ,SAAU,IAClB,QAAQ,KAAM,OACd,QAAQ,OAAQ,KAAO,IACjE,OAAO,EAAI,QAAQ,EAAQ,SAC7B,CACA,GAAI,EAAS,GACX,OAAO,EAAI,QAAQ,GAAK,EAAO,UACjC,GAAI,EAAU,GACZ,OAAO,EAAI,QAAQ,GAAK,EAAO,WAEjC,GAAI,EAAO,GACT,OAAO,EAAI,QAAQ,OAAQ,OAC/B,CA/GkB,CAAgB,EAAK,GACrC,GAAI,EACF,OAAO,EAIT,IAAI,EAAO,OAAO,KAAK,GACnB,EApCN,SAAqB,GACnB,IAAI,EAAO,CAAC,EAMZ,OAJA,EAAM,SAAQ,SAAS,EAAK,GAC1B,EAAK,IAAO,CACd,IAEO,CACT,CA4BoB,CAAY,GAQ9B,GANI,EAAI,aACN,EAAO,OAAO,oBAAoB,IAKhC,EAAQ,KACJ,EAAK,QAAQ,YAAc,GAAK,EAAK,QAAQ,gBAAkB,GACrE,OAAO,EAAY,GAIrB,GAAoB,IAAhB,EAAK,OAAc,CACrB,GAAI,EAAW,GAAQ,CACrB,IAAI,EAAO,EAAM,KAAO,KAAO,EAAM,KAAO,GAC5C,OAAO,EAAI,QAAQ,YAAc,EAAO,IAAK,UAC/C,CACA,GAAI,EAAS,GACX,OAAO,EAAI,QAAQ,OAAO,UAAU,SAAS,KAAK,GAAQ,UAE5D,GAAI,EAAO,GACT,OAAO,EAAI,QAAQ,KAAK,UAAU,SAAS,KAAK,GAAQ,QAE1D,GAAI,EAAQ,GACV,OAAO,EAAY,EAEvB,CAEA,IA2CI,EA3CA,EAAO,GAAI,GAAQ,EAAO,EAAS,CAAC,IAAK,MAGzC,EAAQ,KACV,GAAQ,EACR,EAAS,CAAC,IAAK,MAIb,EAAW,MAEb,EAAO,cADC,EAAM,KAAO,KAAO,EAAM,KAAO,IACf,KAkB5B,OAdI,EAAS,KACX,EAAO,IAAM,OAAO,UAAU,SAAS,KAAK,IAI1C,EAAO,KACT,EAAO,IAAM,KAAK,UAAU,YAAY,KAAK,IAI3C,EAAQ,KACV,EAAO,IAAM,EAAY,IAGP,IAAhB,EAAK,QAAkB,GAAyB,GAAhB,EAAM,OAItC,EAAe,EACb,EAAS,GACJ,EAAI,QAAQ,OAAO,UAAU,SAAS,KAAK,GAAQ,UAEnD,EAAI,QAAQ,WAAY,YAInC,EAAI,KAAK,KAAK,GAIZ,EADE,EAsCN,SAAqB,EAAK,EAAO,EAAc,EAAa,GAE1D,IADA,IAAI,EAAS,GACJ,EAAI,EAAG,EAAI,EAAM,OAAQ,EAAI,IAAK,EACrC,EAAe,EAAO,OAAO,IAC/B,EAAO,KAAK,EAAe,EAAK,EAAO,EAAc,EACjD,OAAO,IAAI,IAEf,EAAO,KAAK,IAShB,OANA,EAAK,SAAQ,SAAS,GACf,EAAI,MAAM,UACb,EAAO,KAAK,EAAe,EAAK,EAAO,EAAc,EACjD,GAAK,GAEb,IACO,CACT,CAtDa,CAAY,EAAK,EAAO,EAAc,EAAa,GAEnD,EAAK,KAAI,SAAS,GACzB,OAAO,EAAe,EAAK,EAAO,EAAc,EAAa,EAAK,EACpE,IAGF,EAAI,KAAK,MA6GX,SAA8B,EAAQ,EAAM,GAC1C,IACI,EAAS,EAAO,QAAO,SAAS,EAAM,GAGxC,OADI,EAAI,QAAQ,OAAS,GAAG,EACrB,EAAO,EAAI,QAAQ,kBAAmB,IAAI,OAAS,CAC5D,GAAG,GAEH,GAAI,EAAS,GACX,OAAO,EAAO,IACG,KAAT,EAAc,GAAK,EAAO,OAC3B,IACA,EAAO,KAAK,SACZ,IACA,EAAO,GAGhB,OAAO,EAAO,GAAK,EAAO,IAAM,EAAO,KAAK,MAAQ,IAAM,EAAO,EACnE,CA7HS,CAAqB,EAAQ,EAAM,IAxBjC,EAAO,GAAK,EAAO,EAAO,EAyBrC,CAsBA,SAAS,EAAY,GACnB,MAAO,IAAM,MAAM,UAAU,SAAS,KAAK,GAAS,GACtD,CAuBA,SAAS,EAAe,EAAK,EAAO,EAAc,EAAa,EAAK,GAClE,IAAI,EAAM,EAAK,EAsCf,IArCA,EAAO,OAAO,yBAAyB,EAAO,IAAQ,CAAE,MAAO,EAAM,KAC5D,IAEL,EADE,EAAK,IACD,EAAI,QAAQ,kBAAmB,WAE/B,EAAI,QAAQ,WAAY,WAG5B,EAAK,MACP,EAAM,EAAI,QAAQ,WAAY,YAG7B,EAAe,EAAa,KAC/B,EAAO,IAAM,EAAM,KAEhB,IACC,EAAI,KAAK,QAAQ,EAAK,OAAS,GAE/B,EADE,EAAO,GACH,EAAY,EAAK,EAAK,MAAO,MAE7B,EAAY,EAAK,EAAK,MAAO,EAAe,IAE5C,QAAQ,OAAS,IAErB,EADE,EACI,EAAI,MAAM,MAAM,KAAI,SAAS,GACjC,MAAO,KAAO,CAChB,IAAG,KAAK,MAAM,OAAO,GAEf,KAAO,EAAI,MAAM,MAAM,KAAI,SAAS,GACxC,MAAO,MAAQ,CACjB,IAAG,KAAK,OAIZ,EAAM,EAAI,QAAQ,aAAc,YAGhC,EAAY,GAAO,CACrB,GAAI,GAAS,EAAI,MAAM,SACrB,OAAO,GAET,EAAO,KAAK,UAAU,GAAK,IAClB,MAAM,iCACb,EAAO,EAAK,OAAO,EAAG,EAAK,OAAS,GACpC,EAAO,EAAI,QAAQ,EAAM,UAEzB,EAAO,EAAK,QAAQ,KAAM,OACd,QAAQ,OAAQ,KAChB,QAAQ,WAAY,KAChC,EAAO,EAAI,QAAQ,EAAM,UAE7B,CAEA,OAAO,EAAO,KAAO,CACvB,CA4BA,SAAS,EAAQ,GACf,OAAO,MAAM,QAAQ,EACvB,CAGA,SAAS,EAAU,GACjB,MAAsB,kBAAR,CAChB,CAGA,SAAS,EAAO,GACd,OAAe,OAAR,CACT,CAQA,SAAS,EAAS,GAChB,MAAsB,iBAAR,CAChB,CAGA,SAAS,EAAS,GAChB,MAAsB,iBAAR,CAChB,CAQA,SAAS,EAAY,GACnB,YAAe,IAAR,CACT,CAGA,SAAS,EAAS,GAChB,OAAO,EAAS,IAA8B,oBAAvB,EAAe,EACxC,CAIA,SAAS,EAAS,GAChB,MAAsB,iBAAR,GAA4B,OAAR,CACpC,CAGA,SAAS,EAAO,GACd,OAAO,EAAS,IAA4B,kBAAtB,EAAe,EACvC,CAIA,SAAS,EAAQ,GACf,OAAO,EAAS,KACW,mBAAtB,EAAe,IAA2B,aAAa,MAC9D,CAIA,SAAS,EAAW,GAClB,MAAsB,mBAAR,CAChB,CAeA,SAAS,EAAe,GACtB,OAAO,OAAO,UAAU,SAAS,KAAK,EACxC,CAGA,SAAS,EAAI,GACX,OAAO,EAAI,GAAK,IAAM,EAAE,SAAS,IAAM,EAAE,SAAS,GACpD,CAxbA,EAAQ,SAAW,SAAS,GAE1B,GADA,EAAM,EAAI,eACL,EAAO,GACV,GAAI,EAAc,KAAK,GAAM,CAC3B,IAAI,EAAM,QAAQ,IAClB,EAAO,GAAO,WACZ,IAAI,EAAM,EAAQ,OAAO,MAAM,EAAS,WACxC,QAAQ,MAAM,YAAa,EAAK,EAAK,EACvC,CACF,MACE,EAAO,GAAO,WAAY,EAG9B,OAAO,EAAO,EAChB,EAmCA,EAAQ,QAAU,EAIlB,EAAQ,OAAS,CACf,KAAS,CAAC,EAAG,IACb,OAAW,CAAC,EAAG,IACf,UAAc,CAAC,EAAG,IAClB,QAAY,CAAC,EAAG,IAChB,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,KAAS,CAAC,GAAI,IACd,KAAS,CAAC,GAAI,IACd,MAAU,CAAC,GAAI,IACf,QAAY,CAAC,GAAI,IACjB,IAAQ,CAAC,GAAI,IACb,OAAW,CAAC,GAAI,KAIlB,EAAQ,OAAS,CACf,QAAW,OACX,OAAU,SACV,QAAW,SACX,UAAa,OACb,KAAQ,OACR,OAAU,QACV,KAAQ,UAER,OAAU,OA+QZ,EAAQ,MAAQ,EAAoB,MAKpC,EAAQ,QAAU,EAKlB,EAAQ,UAAY,EAKpB,EAAQ,OAAS,EAKjB,EAAQ,kBAHR,SAA2B,GACzB,OAAc,MAAP,CACT,EAMA,EAAQ,SAAW,EAKnB,EAAQ,SAAW,EAKnB,EAAQ,SAHR,SAAkB,GAChB,MAAsB,iBAAR,CAChB,EAMA,EAAQ,YAAc,EAKtB,EAAQ,SAAW,EACnB,EAAQ,MAAM,SAAW,EAKzB,EAAQ,SAAW,EAKnB,EAAQ,OAAS,EACjB,EAAQ,MAAM,OAAS,EAMvB,EAAQ,QAAU,EAClB,EAAQ,MAAM,cAAgB,EAK9B,EAAQ,WAAa,EAUrB,EAAQ,YARR,SAAqB,GACnB,OAAe,OAAR,GACe,kBAAR,GACQ,iBAAR,GACQ,iBAAR,GACQ,iBAAR,QACQ,IAAR,CAChB,EAGA,EAAQ,SAAW,EAAoB,KAYvC,IAAI,EAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACxD,MAAO,MAAO,OA6C5B,SAAS,EAAe,EAAK,GAC3B,OAAO,OAAO,UAAU,eAAe,KAAK,EAAK,EACnD,CAlCA,EAAQ,IAAM,WAVd,IACM,EACA,EASJ,QAAQ,IAAI,WAVR,EAAI,IAAI,KACR,EAAO,CAAC,EAAI,EAAE,YACN,EAAI,EAAE,cACN,EAAI,EAAE,eAAe,KAAK,KAC/B,CAAC,EAAE,UAAW,EAAO,EAAE,YAAa,GAAM,KAAK,MAMlB,EAAQ,OAAO,MAAM,EAAS,WACpE,EAgBA,EAAQ,SAAW,EAAoB,MAEvC,EAAQ,QAAU,SAAS,EAAQ,GAEjC,IAAK,IAAQ,EAAS,GAAM,OAAO,EAInC,IAFA,IAAI,EAAO,OAAO,KAAK,GACnB,EAAI,EAAK,OACN,KACL,EAAO,EAAK,IAAM,EAAI,EAAK,IAE7B,OAAO,CACT,EAMA,IAAI,EAA6C,oBAAX,OAAyB,OAAO,8BAA2B,EA0DjG,SAAS,EAAsB,EAAQ,GAKrC,IAAK,EAAQ,CACX,IAAI,EAAY,IAAI,MAAM,2CAC1B,EAAU,OAAS,EACnB,EAAS,CACX,CACA,OAAO,EAAG,EACZ,CAnEA,EAAQ,UAAY,SAAmB,GACrC,GAAwB,mBAAb,EACT,MAAM,IAAI,UAAU,oDAEtB,GAAI,GAA4B,EAAS,GAA2B,CAClE,IAAI,EACJ,GAAkB,mBADd,EAAK,EAAS,IAEhB,MAAM,IAAI,UAAU,iEAKtB,OAHA,OAAO,eAAe,EAAI,EAA0B,CAClD,MAAO,EAAI,YAAY,EAAO,UAAU,EAAO,cAAc,IAExD,CACT,CAEA,SAAS,IAQP,IAPA,IAAI,EAAgB,EAChB,EAAU,IAAI,SAAQ,SAAU,EAAS,GAC3C,EAAiB,EACjB,EAAgB,CAClB,IAEI,EAAO,GACF,EAAI,EAAG,EAAI,UAAU,OAAQ,IACpC,EAAK,KAAK,UAAU,IAEtB,EAAK,MAAK,SAAU,EAAK,GACnB,EACF,EAAc,GAEd,EAAe,EAEnB,IAEA,IACE,EAAS,MAAM,KAAM,EACvB,CAAE,MAAO,GACP,EAAc,EAChB,CAEA,OAAO,CACT,CAOA,OALA,OAAO,eAAe,EAAI,OAAO,eAAe,IAE5C,GAA0B,OAAO,eAAe,EAAI,EAA0B,CAChF,MAAO,EAAI,YAAY,EAAO,UAAU,EAAO,cAAc,IAExD,OAAO,iBACZ,EACA,EAA0B,GAE9B,EAEA,EAAQ,UAAU,OAAS,EAiD3B,EAAQ,YAlCR,SAAqB,GACnB,GAAwB,mBAAb,EACT,MAAM,IAAI,UAAU,oDAMtB,SAAS,IAEP,IADA,IAAI,EAAO,GACF,EAAI,EAAG,EAAI,UAAU,OAAQ,IACpC,EAAK,KAAK,UAAU,IAGtB,IAAI,EAAU,EAAK,MACnB,GAAuB,mBAAZ,EACT,MAAM,IAAI,UAAU,8CAEtB,IAAI,EAAO,KACP,EAAK,WACP,OAAO,EAAQ,MAAM,EAAM,UAC7B,EAGA,EAAS,MAAM,KAAM,GAClB,MAAK,SAAS,GAAO,QAAQ,SAAS,EAAG,KAAK,KAAM,KAAM,GAAM,IAC3D,SAAS,GAAO,QAAQ,SAAS,EAAsB,KAAK,KAAM,EAAK,GAAK,GACtF,CAKA,OAHA,OAAO,eAAe,EAAe,OAAO,eAAe,IAC3D,OAAO,iBAAiB,EACA,EAA0B,IAC3C,CACT,CAIO,EAED,KACA,CAAE,EAAQ,EAA0B,KAE1C,aAGA,IAAI,EAAU,EAAoB,MAC9B,EAAuB,EAAoB,MAC3C,EAAY,EAAoB,MAEhC,EAAY,EAAU,6BAEtB,EADa,EAAoB,KAApB,IACgD,iBAAvB,OAAO,YAE7C,EAAc,IAEd,EAAS,EAAU,0BACnB,EAAY,CAAC,EACb,EAAO,EAAoB,MAC3B,EAAiB,OAAO,eACxB,GAAkB,GAAQ,GAC7B,EAAQ,GAAa,SAAU,GAC9B,GAAiD,mBAAtC,EAAoB,EAAE,GAA4B,CAC5D,IAAI,EAAM,IAAI,EAAoB,EAAE,GACpC,KAAM,OAAO,eAAe,GAC3B,MAAM,IAAI,UAAU,uDAAyD,EAAa,oDAE3F,IAAI,EAAQ,EAAe,GACvB,EAAa,EAAK,EAAO,OAAO,aACpC,IAAK,EAAY,CAChB,IAAI,EAAa,EAAe,GAChC,EAAa,EAAK,EAAY,OAAO,YACtC,CACA,EAAU,GAAc,EAAW,GACpC,CACD,IAGD,IAeI,EAAe,EAAoB,MAEvC,EAAO,QAAU,SAAyB,GACzC,QAAK,EAAa,KACb,EAnBe,SAA2B,GAC/C,IAAI,GAAY,EAWhB,OAVA,EAAQ,GAAW,SAAU,EAAQ,GACpC,IAAK,EACJ,IACC,IAAI,EAAO,EAAO,KAAK,GACnB,IAAS,IACZ,EAAY,EAEd,CAAE,MAAO,GAAI,CAEf,IACO,CACR,CAOQ,CAAe,GADQ,EAAO,EAAU,GAAQ,GAAI,GAE5D,CAGO,EAED,KACE,IAER,aACA,EAAO,QAAU,CAEV,GAKO,EAA2B,CAAC,EAGhC,SAAS,EAAoB,GAE5B,GAAG,EAAyB,GAC3B,OAAO,EAAyB,GAAU,QAG3C,IAAI,EAAS,EAAyB,GAAY,CACjD,GAAI,EACJ,QAAQ,EACR,QAAS,CAAC,GAUX,OANA,EAAoB,GAAU,KAAK,EAAO,QAAS,EAAQ,EAAO,QAAS,GAG3E,EAAO,QAAS,EAGT,EAAO,OACf,CA+DA,OAzDC,EAAoB,EAAK,IACxB,IAAI,EAAS,GAAU,EAAO,WAC7B,IAAM,EAAgB,QACtB,IAAM,EAEP,OADA,EAAoB,EAAE,EAAQ,CAAE,EAAG,IAC5B,CAAM,EAOd,EAAoB,EAAI,CAAC,EAAS,KACjC,IAAI,IAAI,KAAO,EACX,EAAoB,EAAE,EAAY,KAAS,EAAoB,EAAE,EAAS,IAC5E,OAAO,eAAe,EAAS,EAAK,CAAE,YAAY,EAAM,IAAK,EAAW,IAE1E,EAMD,EAAoB,EAAI,WACvB,GAA0B,iBAAf,WAAyB,OAAO,WAC3C,IACC,OAAO,MAAQ,IAAI,SAAS,cAAb,EAChB,CAAE,MAAO,GACR,GAAsB,iBAAX,OAAqB,OAAO,MACxC,CACA,CAPuB,GAYxB,EAAoB,EAAI,CAAC,EAAK,IAAS,OAAO,UAAU,eAAe,KAAK,EAAK,GAKjF,EAAoB,IAAO,IAC1B,EAAO,MAAQ,GACV,EAAO,WAAU,EAAO,SAAW,IACjC,GAQT,EAAoB,MACpB,EAAoB,MACpB,EAAoB,MACpB,EAAoB,MACpB,EAAoB,MACpB,EAAoB,KACb,EAAoB,KAC3B,EA9o4CM,GA+o4Cf,OACD","file":"/npm/@mapd/connector@5.5.2/dist/browser-connector.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@mapd/connector@5.5.2/dist/browser-connector.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"apache-arrow\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"apache-arrow\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@mapd/connector\"] = factory(require(\"apache-arrow\"));\n\telse\n\t\troot[\"MapdCon\"] = factory(root[\"Arrow\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__2003__) {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 6271:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\n//\n// Autogenerated by Thrift Compiler (0.13.0)\n//\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n//\n\"use strict\";\n\nvar thrift = __webpack_require__(9262);\nvar Thrift = thrift.Thrift;\nvar Q = thrift.Q;\nvar Int64 = __webpack_require__(135);\n\nvar common_ttypes = __webpack_require__(259);\nvar completion_hints_ttypes = __webpack_require__(2318);\nvar serialized_result_set_ttypes = __webpack_require__(966);\nvar extension_functions_ttypes = __webpack_require__(6377);\n\n\nvar ttypes = __webpack_require__(4129);\n//HELPER FUNCTIONS AND STRUCTURES\n\nvar OmniSci_connect_args = function(args) {\n  this.user = null;\n  this.passwd = null;\n  this.dbname = null;\n  if (args) {\n    if (args.user !== undefined && args.user !== null) {\n      this.user = args.user;\n    }\n    if (args.passwd !== undefined && args.passwd !== null) {\n      this.passwd = args.passwd;\n    }\n    if (args.dbname !== undefined && args.dbname !== null) {\n      this.dbname = args.dbname;\n    }\n  }\n};\nOmniSci_connect_args.prototype = {};\nOmniSci_connect_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.user = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.passwd = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.dbname = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_connect_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_connect_args');\n  if (this.user !== null && this.user !== undefined) {\n    output.writeFieldBegin('user', Thrift.Type.STRING, 1);\n    output.writeString(this.user);\n    output.writeFieldEnd();\n  }\n  if (this.passwd !== null && this.passwd !== undefined) {\n    output.writeFieldBegin('passwd', Thrift.Type.STRING, 2);\n    output.writeString(this.passwd);\n    output.writeFieldEnd();\n  }\n  if (this.dbname !== null && this.dbname !== undefined) {\n    output.writeFieldBegin('dbname', Thrift.Type.STRING, 3);\n    output.writeString(this.dbname);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_connect_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_connect_result.prototype = {};\nOmniSci_connect_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRING) {\n        this.success = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_connect_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_connect_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\n    output.writeString(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_krb5_connect_args = function(args) {\n  this.inputToken = null;\n  this.dbname = null;\n  if (args) {\n    if (args.inputToken !== undefined && args.inputToken !== null) {\n      this.inputToken = args.inputToken;\n    }\n    if (args.dbname !== undefined && args.dbname !== null) {\n      this.dbname = args.dbname;\n    }\n  }\n};\nOmniSci_krb5_connect_args.prototype = {};\nOmniSci_krb5_connect_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.inputToken = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.dbname = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_krb5_connect_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_krb5_connect_args');\n  if (this.inputToken !== null && this.inputToken !== undefined) {\n    output.writeFieldBegin('inputToken', Thrift.Type.STRING, 1);\n    output.writeString(this.inputToken);\n    output.writeFieldEnd();\n  }\n  if (this.dbname !== null && this.dbname !== undefined) {\n    output.writeFieldBegin('dbname', Thrift.Type.STRING, 2);\n    output.writeString(this.dbname);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_krb5_connect_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TKrb5Session(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_krb5_connect_result.prototype = {};\nOmniSci_krb5_connect_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TKrb5Session();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_krb5_connect_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_krb5_connect_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_disconnect_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_disconnect_args.prototype = {};\nOmniSci_disconnect_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_disconnect_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_disconnect_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_disconnect_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_disconnect_result.prototype = {};\nOmniSci_disconnect_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_disconnect_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_disconnect_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_switch_database_args = function(args) {\n  this.session = null;\n  this.dbname = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dbname !== undefined && args.dbname !== null) {\n      this.dbname = args.dbname;\n    }\n  }\n};\nOmniSci_switch_database_args.prototype = {};\nOmniSci_switch_database_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.dbname = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_switch_database_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_switch_database_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dbname !== null && this.dbname !== undefined) {\n    output.writeFieldBegin('dbname', Thrift.Type.STRING, 2);\n    output.writeString(this.dbname);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_switch_database_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_switch_database_result.prototype = {};\nOmniSci_switch_database_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_switch_database_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_switch_database_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_clone_session_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_clone_session_args.prototype = {};\nOmniSci_clone_session_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_clone_session_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_clone_session_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_clone_session_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_clone_session_result.prototype = {};\nOmniSci_clone_session_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRING) {\n        this.success = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_clone_session_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_clone_session_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\n    output.writeString(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_server_status_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_server_status_args.prototype = {};\nOmniSci_get_server_status_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_server_status_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_server_status_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_server_status_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TServerStatus(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_server_status_result.prototype = {};\nOmniSci_get_server_status_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TServerStatus();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_server_status_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_server_status_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_status_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_status_args.prototype = {};\nOmniSci_get_status_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_status_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_status_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_status_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TServerStatus]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_status_result.prototype = {};\nOmniSci_get_status_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3186 = input.readListBegin();\n        var _size185 = _rtmp3186.size || 0;\n        for (var _i187 = 0; _i187 < _size185; ++_i187) {\n          var elem188 = null;\n          elem188 = new ttypes.TServerStatus();\n          elem188.read(input);\n          this.success.push(elem188);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_status_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_status_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter189 in this.success) {\n      if (this.success.hasOwnProperty(iter189)) {\n        iter189 = this.success[iter189];\n        iter189.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_hardware_info_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_hardware_info_args.prototype = {};\nOmniSci_get_hardware_info_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_hardware_info_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_hardware_info_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_hardware_info_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TClusterHardwareInfo(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_hardware_info_result.prototype = {};\nOmniSci_get_hardware_info_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TClusterHardwareInfo();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_hardware_info_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_hardware_info_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_tables_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_tables_args.prototype = {};\nOmniSci_get_tables_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_tables_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_tables_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_tables_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [null]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_tables_result.prototype = {};\nOmniSci_get_tables_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3191 = input.readListBegin();\n        var _size190 = _rtmp3191.size || 0;\n        for (var _i192 = 0; _i192 < _size190; ++_i192) {\n          var elem193 = null;\n          elem193 = input.readString();\n          this.success.push(elem193);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_tables_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_tables_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\n    for (var iter194 in this.success) {\n      if (this.success.hasOwnProperty(iter194)) {\n        iter194 = this.success[iter194];\n        output.writeString(iter194);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_physical_tables_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_physical_tables_args.prototype = {};\nOmniSci_get_physical_tables_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_physical_tables_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_physical_tables_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_physical_tables_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [null]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_physical_tables_result.prototype = {};\nOmniSci_get_physical_tables_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3196 = input.readListBegin();\n        var _size195 = _rtmp3196.size || 0;\n        for (var _i197 = 0; _i197 < _size195; ++_i197) {\n          var elem198 = null;\n          elem198 = input.readString();\n          this.success.push(elem198);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_physical_tables_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_physical_tables_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\n    for (var iter199 in this.success) {\n      if (this.success.hasOwnProperty(iter199)) {\n        iter199 = this.success[iter199];\n        output.writeString(iter199);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_views_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_views_args.prototype = {};\nOmniSci_get_views_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_views_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_views_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_views_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [null]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_views_result.prototype = {};\nOmniSci_get_views_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3201 = input.readListBegin();\n        var _size200 = _rtmp3201.size || 0;\n        for (var _i202 = 0; _i202 < _size200; ++_i202) {\n          var elem203 = null;\n          elem203 = input.readString();\n          this.success.push(elem203);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_views_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_views_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\n    for (var iter204 in this.success) {\n      if (this.success.hasOwnProperty(iter204)) {\n        iter204 = this.success[iter204];\n        output.writeString(iter204);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_tables_meta_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_tables_meta_args.prototype = {};\nOmniSci_get_tables_meta_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_tables_meta_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_tables_meta_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_tables_meta_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TTableMeta]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_tables_meta_result.prototype = {};\nOmniSci_get_tables_meta_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3206 = input.readListBegin();\n        var _size205 = _rtmp3206.size || 0;\n        for (var _i207 = 0; _i207 < _size205; ++_i207) {\n          var elem208 = null;\n          elem208 = new ttypes.TTableMeta();\n          elem208.read(input);\n          this.success.push(elem208);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_tables_meta_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_tables_meta_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter209 in this.success) {\n      if (this.success.hasOwnProperty(iter209)) {\n        iter209 = this.success[iter209];\n        iter209.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_table_details_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n  }\n};\nOmniSci_get_table_details_args.prototype = {};\nOmniSci_get_table_details_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_table_details_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_table_details_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_table_details_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TTableDetails(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_table_details_result.prototype = {};\nOmniSci_get_table_details_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TTableDetails();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_table_details_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_table_details_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_internal_table_details_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n  }\n};\nOmniSci_get_internal_table_details_args.prototype = {};\nOmniSci_get_internal_table_details_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_internal_table_details_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_internal_table_details_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_internal_table_details_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TTableDetails(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_internal_table_details_result.prototype = {};\nOmniSci_get_internal_table_details_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TTableDetails();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_internal_table_details_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_internal_table_details_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_users_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_users_args.prototype = {};\nOmniSci_get_users_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_users_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_users_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_users_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [null]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_users_result.prototype = {};\nOmniSci_get_users_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3211 = input.readListBegin();\n        var _size210 = _rtmp3211.size || 0;\n        for (var _i212 = 0; _i212 < _size210; ++_i212) {\n          var elem213 = null;\n          elem213 = input.readString();\n          this.success.push(elem213);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_users_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_users_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\n    for (var iter214 in this.success) {\n      if (this.success.hasOwnProperty(iter214)) {\n        iter214 = this.success[iter214];\n        output.writeString(iter214);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_databases_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_databases_args.prototype = {};\nOmniSci_get_databases_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_databases_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_databases_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_databases_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TDBInfo]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_databases_result.prototype = {};\nOmniSci_get_databases_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3216 = input.readListBegin();\n        var _size215 = _rtmp3216.size || 0;\n        for (var _i217 = 0; _i217 < _size215; ++_i217) {\n          var elem218 = null;\n          elem218 = new ttypes.TDBInfo();\n          elem218.read(input);\n          this.success.push(elem218);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_databases_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_databases_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter219 in this.success) {\n      if (this.success.hasOwnProperty(iter219)) {\n        iter219 = this.success[iter219];\n        iter219.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_version_args = function(args) {\n};\nOmniSci_get_version_args.prototype = {};\nOmniSci_get_version_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    input.skip(ftype);\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_version_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_version_args');\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_version_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_version_result.prototype = {};\nOmniSci_get_version_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRING) {\n        this.success = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_version_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_version_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\n    output.writeString(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_start_heap_profile_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_start_heap_profile_args.prototype = {};\nOmniSci_start_heap_profile_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_start_heap_profile_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_start_heap_profile_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_start_heap_profile_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_start_heap_profile_result.prototype = {};\nOmniSci_start_heap_profile_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_start_heap_profile_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_start_heap_profile_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_stop_heap_profile_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_stop_heap_profile_args.prototype = {};\nOmniSci_stop_heap_profile_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_stop_heap_profile_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_stop_heap_profile_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_stop_heap_profile_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_stop_heap_profile_result.prototype = {};\nOmniSci_stop_heap_profile_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_stop_heap_profile_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_stop_heap_profile_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_heap_profile_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_heap_profile_args.prototype = {};\nOmniSci_get_heap_profile_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_heap_profile_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_heap_profile_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_heap_profile_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_heap_profile_result.prototype = {};\nOmniSci_get_heap_profile_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRING) {\n        this.success = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_heap_profile_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_heap_profile_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\n    output.writeString(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_memory_args = function(args) {\n  this.session = null;\n  this.memory_level = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.memory_level !== undefined && args.memory_level !== null) {\n      this.memory_level = args.memory_level;\n    }\n  }\n};\nOmniSci_get_memory_args.prototype = {};\nOmniSci_get_memory_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.memory_level = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_memory_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_memory_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.memory_level !== null && this.memory_level !== undefined) {\n    output.writeFieldBegin('memory_level', Thrift.Type.STRING, 2);\n    output.writeString(this.memory_level);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_memory_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TNodeMemoryInfo]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_memory_result.prototype = {};\nOmniSci_get_memory_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3221 = input.readListBegin();\n        var _size220 = _rtmp3221.size || 0;\n        for (var _i222 = 0; _i222 < _size220; ++_i222) {\n          var elem223 = null;\n          elem223 = new ttypes.TNodeMemoryInfo();\n          elem223.read(input);\n          this.success.push(elem223);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_memory_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_memory_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter224 in this.success) {\n      if (this.success.hasOwnProperty(iter224)) {\n        iter224 = this.success[iter224];\n        iter224.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_clear_cpu_memory_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_clear_cpu_memory_args.prototype = {};\nOmniSci_clear_cpu_memory_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_clear_cpu_memory_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_clear_cpu_memory_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_clear_cpu_memory_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_clear_cpu_memory_result.prototype = {};\nOmniSci_clear_cpu_memory_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_clear_cpu_memory_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_clear_cpu_memory_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_clear_gpu_memory_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_clear_gpu_memory_args.prototype = {};\nOmniSci_clear_gpu_memory_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_clear_gpu_memory_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_clear_gpu_memory_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_clear_gpu_memory_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_clear_gpu_memory_result.prototype = {};\nOmniSci_clear_gpu_memory_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_clear_gpu_memory_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_clear_gpu_memory_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_table_epoch_args = function(args) {\n  this.session = null;\n  this.db_id = null;\n  this.table_id = null;\n  this.new_epoch = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.db_id !== undefined && args.db_id !== null) {\n      this.db_id = args.db_id;\n    }\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n    if (args.new_epoch !== undefined && args.new_epoch !== null) {\n      this.new_epoch = args.new_epoch;\n    }\n  }\n};\nOmniSci_set_table_epoch_args.prototype = {};\nOmniSci_set_table_epoch_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.db_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.table_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.new_epoch = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_table_epoch_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_table_epoch_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.db_id !== null && this.db_id !== undefined) {\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 2);\n    output.writeI32(this.db_id);\n    output.writeFieldEnd();\n  }\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 3);\n    output.writeI32(this.table_id);\n    output.writeFieldEnd();\n  }\n  if (this.new_epoch !== null && this.new_epoch !== undefined) {\n    output.writeFieldBegin('new_epoch', Thrift.Type.I32, 4);\n    output.writeI32(this.new_epoch);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_table_epoch_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_set_table_epoch_result.prototype = {};\nOmniSci_set_table_epoch_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_table_epoch_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_table_epoch_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_table_epoch_by_name_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  this.new_epoch = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n    if (args.new_epoch !== undefined && args.new_epoch !== null) {\n      this.new_epoch = args.new_epoch;\n    }\n  }\n};\nOmniSci_set_table_epoch_by_name_args.prototype = {};\nOmniSci_set_table_epoch_by_name_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.new_epoch = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_table_epoch_by_name_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_table_epoch_by_name_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  if (this.new_epoch !== null && this.new_epoch !== undefined) {\n    output.writeFieldBegin('new_epoch', Thrift.Type.I32, 3);\n    output.writeI32(this.new_epoch);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_table_epoch_by_name_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_set_table_epoch_by_name_result.prototype = {};\nOmniSci_set_table_epoch_by_name_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_table_epoch_by_name_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_table_epoch_by_name_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_table_epoch_args = function(args) {\n  this.session = null;\n  this.db_id = null;\n  this.table_id = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.db_id !== undefined && args.db_id !== null) {\n      this.db_id = args.db_id;\n    }\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n  }\n};\nOmniSci_get_table_epoch_args.prototype = {};\nOmniSci_get_table_epoch_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.db_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.table_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_table_epoch_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_table_epoch_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.db_id !== null && this.db_id !== undefined) {\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 2);\n    output.writeI32(this.db_id);\n    output.writeFieldEnd();\n  }\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 3);\n    output.writeI32(this.table_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_table_epoch_result = function(args) {\n  this.success = null;\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n  }\n};\nOmniSci_get_table_epoch_result.prototype = {};\nOmniSci_get_table_epoch_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.I32) {\n        this.success = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_table_epoch_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_table_epoch_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.I32, 0);\n    output.writeI32(this.success);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_table_epoch_by_name_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n  }\n};\nOmniSci_get_table_epoch_by_name_args.prototype = {};\nOmniSci_get_table_epoch_by_name_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_table_epoch_by_name_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_table_epoch_by_name_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_table_epoch_by_name_result = function(args) {\n  this.success = null;\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n  }\n};\nOmniSci_get_table_epoch_by_name_result.prototype = {};\nOmniSci_get_table_epoch_by_name_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.I32) {\n        this.success = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_table_epoch_by_name_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_table_epoch_by_name_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.I32, 0);\n    output.writeI32(this.success);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_table_epochs_args = function(args) {\n  this.session = null;\n  this.db_id = null;\n  this.table_id = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.db_id !== undefined && args.db_id !== null) {\n      this.db_id = args.db_id;\n    }\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n  }\n};\nOmniSci_get_table_epochs_args.prototype = {};\nOmniSci_get_table_epochs_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.db_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.table_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_table_epochs_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_table_epochs_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.db_id !== null && this.db_id !== undefined) {\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 2);\n    output.writeI32(this.db_id);\n    output.writeFieldEnd();\n  }\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 3);\n    output.writeI32(this.table_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_table_epochs_result = function(args) {\n  this.success = null;\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TTableEpochInfo]);\n    }\n  }\n};\nOmniSci_get_table_epochs_result.prototype = {};\nOmniSci_get_table_epochs_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3226 = input.readListBegin();\n        var _size225 = _rtmp3226.size || 0;\n        for (var _i227 = 0; _i227 < _size225; ++_i227) {\n          var elem228 = null;\n          elem228 = new ttypes.TTableEpochInfo();\n          elem228.read(input);\n          this.success.push(elem228);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_table_epochs_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_table_epochs_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter229 in this.success) {\n      if (this.success.hasOwnProperty(iter229)) {\n        iter229 = this.success[iter229];\n        iter229.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_table_epochs_args = function(args) {\n  this.session = null;\n  this.db_id = null;\n  this.table_epochs = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.db_id !== undefined && args.db_id !== null) {\n      this.db_id = args.db_id;\n    }\n    if (args.table_epochs !== undefined && args.table_epochs !== null) {\n      this.table_epochs = Thrift.copyList(args.table_epochs, [ttypes.TTableEpochInfo]);\n    }\n  }\n};\nOmniSci_set_table_epochs_args.prototype = {};\nOmniSci_set_table_epochs_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.db_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.table_epochs = [];\n        var _rtmp3231 = input.readListBegin();\n        var _size230 = _rtmp3231.size || 0;\n        for (var _i232 = 0; _i232 < _size230; ++_i232) {\n          var elem233 = null;\n          elem233 = new ttypes.TTableEpochInfo();\n          elem233.read(input);\n          this.table_epochs.push(elem233);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_table_epochs_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_table_epochs_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.db_id !== null && this.db_id !== undefined) {\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 2);\n    output.writeI32(this.db_id);\n    output.writeFieldEnd();\n  }\n  if (this.table_epochs !== null && this.table_epochs !== undefined) {\n    output.writeFieldBegin('table_epochs', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRUCT, this.table_epochs.length);\n    for (var iter234 in this.table_epochs) {\n      if (this.table_epochs.hasOwnProperty(iter234)) {\n        iter234 = this.table_epochs[iter234];\n        iter234.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_table_epochs_result = function(args) {\n};\nOmniSci_set_table_epochs_result.prototype = {};\nOmniSci_set_table_epochs_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    input.skip(ftype);\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_table_epochs_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_table_epochs_result');\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_session_info_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_session_info_args.prototype = {};\nOmniSci_get_session_info_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_session_info_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_session_info_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_session_info_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TSessionInfo(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_session_info_result.prototype = {};\nOmniSci_get_session_info_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TSessionInfo();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_session_info_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_session_info_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_sql_execute_args = function(args) {\n  this.session = null;\n  this.query = null;\n  this.column_format = null;\n  this.nonce = null;\n  this.first_n = -1;\n  this.at_most_n = -1;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.query !== undefined && args.query !== null) {\n      this.query = args.query;\n    }\n    if (args.column_format !== undefined && args.column_format !== null) {\n      this.column_format = args.column_format;\n    }\n    if (args.nonce !== undefined && args.nonce !== null) {\n      this.nonce = args.nonce;\n    }\n    if (args.first_n !== undefined && args.first_n !== null) {\n      this.first_n = args.first_n;\n    }\n    if (args.at_most_n !== undefined && args.at_most_n !== null) {\n      this.at_most_n = args.at_most_n;\n    }\n  }\n};\nOmniSci_sql_execute_args.prototype = {};\nOmniSci_sql_execute_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.query = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.BOOL) {\n        this.column_format = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.nonce = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I32) {\n        this.first_n = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I32) {\n        this.at_most_n = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_sql_execute_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_sql_execute_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.query !== null && this.query !== undefined) {\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\n    output.writeString(this.query);\n    output.writeFieldEnd();\n  }\n  if (this.column_format !== null && this.column_format !== undefined) {\n    output.writeFieldBegin('column_format', Thrift.Type.BOOL, 3);\n    output.writeBool(this.column_format);\n    output.writeFieldEnd();\n  }\n  if (this.nonce !== null && this.nonce !== undefined) {\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 4);\n    output.writeString(this.nonce);\n    output.writeFieldEnd();\n  }\n  if (this.first_n !== null && this.first_n !== undefined) {\n    output.writeFieldBegin('first_n', Thrift.Type.I32, 5);\n    output.writeI32(this.first_n);\n    output.writeFieldEnd();\n  }\n  if (this.at_most_n !== null && this.at_most_n !== undefined) {\n    output.writeFieldBegin('at_most_n', Thrift.Type.I32, 6);\n    output.writeI32(this.at_most_n);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_sql_execute_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TQueryResult(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_sql_execute_result.prototype = {};\nOmniSci_sql_execute_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TQueryResult();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_sql_execute_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_sql_execute_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_sql_execute_df_args = function(args) {\n  this.session = null;\n  this.query = null;\n  this.device_type = null;\n  this.device_id = 0;\n  this.first_n = -1;\n  this.transport_method = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.query !== undefined && args.query !== null) {\n      this.query = args.query;\n    }\n    if (args.device_type !== undefined && args.device_type !== null) {\n      this.device_type = args.device_type;\n    }\n    if (args.device_id !== undefined && args.device_id !== null) {\n      this.device_id = args.device_id;\n    }\n    if (args.first_n !== undefined && args.first_n !== null) {\n      this.first_n = args.first_n;\n    }\n    if (args.transport_method !== undefined && args.transport_method !== null) {\n      this.transport_method = args.transport_method;\n    }\n  }\n};\nOmniSci_sql_execute_df_args.prototype = {};\nOmniSci_sql_execute_df_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.query = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.device_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.device_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I32) {\n        this.first_n = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I32) {\n        this.transport_method = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_sql_execute_df_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_sql_execute_df_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.query !== null && this.query !== undefined) {\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\n    output.writeString(this.query);\n    output.writeFieldEnd();\n  }\n  if (this.device_type !== null && this.device_type !== undefined) {\n    output.writeFieldBegin('device_type', Thrift.Type.I32, 3);\n    output.writeI32(this.device_type);\n    output.writeFieldEnd();\n  }\n  if (this.device_id !== null && this.device_id !== undefined) {\n    output.writeFieldBegin('device_id', Thrift.Type.I32, 4);\n    output.writeI32(this.device_id);\n    output.writeFieldEnd();\n  }\n  if (this.first_n !== null && this.first_n !== undefined) {\n    output.writeFieldBegin('first_n', Thrift.Type.I32, 5);\n    output.writeI32(this.first_n);\n    output.writeFieldEnd();\n  }\n  if (this.transport_method !== null && this.transport_method !== undefined) {\n    output.writeFieldBegin('transport_method', Thrift.Type.I32, 6);\n    output.writeI32(this.transport_method);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_sql_execute_df_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TDataFrame(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_sql_execute_df_result.prototype = {};\nOmniSci_sql_execute_df_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TDataFrame();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_sql_execute_df_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_sql_execute_df_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_sql_execute_gdf_args = function(args) {\n  this.session = null;\n  this.query = null;\n  this.device_id = 0;\n  this.first_n = -1;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.query !== undefined && args.query !== null) {\n      this.query = args.query;\n    }\n    if (args.device_id !== undefined && args.device_id !== null) {\n      this.device_id = args.device_id;\n    }\n    if (args.first_n !== undefined && args.first_n !== null) {\n      this.first_n = args.first_n;\n    }\n  }\n};\nOmniSci_sql_execute_gdf_args.prototype = {};\nOmniSci_sql_execute_gdf_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.query = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.device_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.first_n = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_sql_execute_gdf_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_sql_execute_gdf_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.query !== null && this.query !== undefined) {\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\n    output.writeString(this.query);\n    output.writeFieldEnd();\n  }\n  if (this.device_id !== null && this.device_id !== undefined) {\n    output.writeFieldBegin('device_id', Thrift.Type.I32, 3);\n    output.writeI32(this.device_id);\n    output.writeFieldEnd();\n  }\n  if (this.first_n !== null && this.first_n !== undefined) {\n    output.writeFieldBegin('first_n', Thrift.Type.I32, 4);\n    output.writeI32(this.first_n);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_sql_execute_gdf_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TDataFrame(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_sql_execute_gdf_result.prototype = {};\nOmniSci_sql_execute_gdf_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TDataFrame();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_sql_execute_gdf_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_sql_execute_gdf_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_deallocate_df_args = function(args) {\n  this.session = null;\n  this.df = null;\n  this.device_type = null;\n  this.device_id = 0;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.df !== undefined && args.df !== null) {\n      this.df = new ttypes.TDataFrame(args.df);\n    }\n    if (args.device_type !== undefined && args.device_type !== null) {\n      this.device_type = args.device_type;\n    }\n    if (args.device_id !== undefined && args.device_id !== null) {\n      this.device_id = args.device_id;\n    }\n  }\n};\nOmniSci_deallocate_df_args.prototype = {};\nOmniSci_deallocate_df_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.df = new ttypes.TDataFrame();\n        this.df.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.device_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.device_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_deallocate_df_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_deallocate_df_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.df !== null && this.df !== undefined) {\n    output.writeFieldBegin('df', Thrift.Type.STRUCT, 2);\n    this.df.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.device_type !== null && this.device_type !== undefined) {\n    output.writeFieldBegin('device_type', Thrift.Type.I32, 3);\n    output.writeI32(this.device_type);\n    output.writeFieldEnd();\n  }\n  if (this.device_id !== null && this.device_id !== undefined) {\n    output.writeFieldBegin('device_id', Thrift.Type.I32, 4);\n    output.writeI32(this.device_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_deallocate_df_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_deallocate_df_result.prototype = {};\nOmniSci_deallocate_df_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_deallocate_df_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_deallocate_df_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_interrupt_args = function(args) {\n  this.query_session = null;\n  this.interrupt_session = null;\n  if (args) {\n    if (args.query_session !== undefined && args.query_session !== null) {\n      this.query_session = args.query_session;\n    }\n    if (args.interrupt_session !== undefined && args.interrupt_session !== null) {\n      this.interrupt_session = args.interrupt_session;\n    }\n  }\n};\nOmniSci_interrupt_args.prototype = {};\nOmniSci_interrupt_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.query_session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.interrupt_session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_interrupt_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_interrupt_args');\n  if (this.query_session !== null && this.query_session !== undefined) {\n    output.writeFieldBegin('query_session', Thrift.Type.STRING, 1);\n    output.writeString(this.query_session);\n    output.writeFieldEnd();\n  }\n  if (this.interrupt_session !== null && this.interrupt_session !== undefined) {\n    output.writeFieldBegin('interrupt_session', Thrift.Type.STRING, 2);\n    output.writeString(this.interrupt_session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_interrupt_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_interrupt_result.prototype = {};\nOmniSci_interrupt_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_interrupt_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_interrupt_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_sql_validate_args = function(args) {\n  this.session = null;\n  this.query = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.query !== undefined && args.query !== null) {\n      this.query = args.query;\n    }\n  }\n};\nOmniSci_sql_validate_args.prototype = {};\nOmniSci_sql_validate_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.query = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_sql_validate_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_sql_validate_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.query !== null && this.query !== undefined) {\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\n    output.writeString(this.query);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_sql_validate_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TColumnType]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_sql_validate_result.prototype = {};\nOmniSci_sql_validate_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3236 = input.readListBegin();\n        var _size235 = _rtmp3236.size || 0;\n        for (var _i237 = 0; _i237 < _size235; ++_i237) {\n          var elem238 = null;\n          elem238 = new ttypes.TColumnType();\n          elem238.read(input);\n          this.success.push(elem238);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_sql_validate_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_sql_validate_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter239 in this.success) {\n      if (this.success.hasOwnProperty(iter239)) {\n        iter239 = this.success[iter239];\n        iter239.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_completion_hints_args = function(args) {\n  this.session = null;\n  this.sql = null;\n  this.cursor = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.sql !== undefined && args.sql !== null) {\n      this.sql = args.sql;\n    }\n    if (args.cursor !== undefined && args.cursor !== null) {\n      this.cursor = args.cursor;\n    }\n  }\n};\nOmniSci_get_completion_hints_args.prototype = {};\nOmniSci_get_completion_hints_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.sql = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.cursor = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_completion_hints_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_completion_hints_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.sql !== null && this.sql !== undefined) {\n    output.writeFieldBegin('sql', Thrift.Type.STRING, 2);\n    output.writeString(this.sql);\n    output.writeFieldEnd();\n  }\n  if (this.cursor !== null && this.cursor !== undefined) {\n    output.writeFieldBegin('cursor', Thrift.Type.I32, 3);\n    output.writeI32(this.cursor);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_completion_hints_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [completion_hints_ttypes.TCompletionHint]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_completion_hints_result.prototype = {};\nOmniSci_get_completion_hints_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3241 = input.readListBegin();\n        var _size240 = _rtmp3241.size || 0;\n        for (var _i242 = 0; _i242 < _size240; ++_i242) {\n          var elem243 = null;\n          elem243 = new completion_hints_ttypes.TCompletionHint();\n          elem243.read(input);\n          this.success.push(elem243);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_completion_hints_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_completion_hints_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter244 in this.success) {\n      if (this.success.hasOwnProperty(iter244)) {\n        iter244 = this.success[iter244];\n        iter244.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_execution_mode_args = function(args) {\n  this.session = null;\n  this.mode = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.mode !== undefined && args.mode !== null) {\n      this.mode = args.mode;\n    }\n  }\n};\nOmniSci_set_execution_mode_args.prototype = {};\nOmniSci_set_execution_mode_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.mode = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_execution_mode_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_execution_mode_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.mode !== null && this.mode !== undefined) {\n    output.writeFieldBegin('mode', Thrift.Type.I32, 2);\n    output.writeI32(this.mode);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_execution_mode_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_set_execution_mode_result.prototype = {};\nOmniSci_set_execution_mode_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_execution_mode_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_execution_mode_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_render_vega_args = function(args) {\n  this.session = null;\n  this.widget_id = null;\n  this.vega_json = null;\n  this.compression_level = null;\n  this.nonce = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.widget_id !== undefined && args.widget_id !== null) {\n      this.widget_id = args.widget_id;\n    }\n    if (args.vega_json !== undefined && args.vega_json !== null) {\n      this.vega_json = args.vega_json;\n    }\n    if (args.compression_level !== undefined && args.compression_level !== null) {\n      this.compression_level = args.compression_level;\n    }\n    if (args.nonce !== undefined && args.nonce !== null) {\n      this.nonce = args.nonce;\n    }\n  }\n};\nOmniSci_render_vega_args.prototype = {};\nOmniSci_render_vega_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.widget_id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.vega_json = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.compression_level = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.nonce = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_render_vega_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_render_vega_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.widget_id !== null && this.widget_id !== undefined) {\n    output.writeFieldBegin('widget_id', Thrift.Type.I64, 2);\n    output.writeI64(this.widget_id);\n    output.writeFieldEnd();\n  }\n  if (this.vega_json !== null && this.vega_json !== undefined) {\n    output.writeFieldBegin('vega_json', Thrift.Type.STRING, 3);\n    output.writeString(this.vega_json);\n    output.writeFieldEnd();\n  }\n  if (this.compression_level !== null && this.compression_level !== undefined) {\n    output.writeFieldBegin('compression_level', Thrift.Type.I32, 4);\n    output.writeI32(this.compression_level);\n    output.writeFieldEnd();\n  }\n  if (this.nonce !== null && this.nonce !== undefined) {\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 5);\n    output.writeString(this.nonce);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_render_vega_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TRenderResult(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_render_vega_result.prototype = {};\nOmniSci_render_vega_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TRenderResult();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_render_vega_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_render_vega_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_result_row_for_pixel_args = function(args) {\n  this.session = null;\n  this.widget_id = null;\n  this.pixel = null;\n  this.table_col_names = null;\n  this.column_format = null;\n  this.pixelRadius = null;\n  this.nonce = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.widget_id !== undefined && args.widget_id !== null) {\n      this.widget_id = args.widget_id;\n    }\n    if (args.pixel !== undefined && args.pixel !== null) {\n      this.pixel = new ttypes.TPixel(args.pixel);\n    }\n    if (args.table_col_names !== undefined && args.table_col_names !== null) {\n      this.table_col_names = Thrift.copyMap(args.table_col_names, [Thrift.copyList, null]);\n    }\n    if (args.column_format !== undefined && args.column_format !== null) {\n      this.column_format = args.column_format;\n    }\n    if (args.pixelRadius !== undefined && args.pixelRadius !== null) {\n      this.pixelRadius = args.pixelRadius;\n    }\n    if (args.nonce !== undefined && args.nonce !== null) {\n      this.nonce = args.nonce;\n    }\n  }\n};\nOmniSci_get_result_row_for_pixel_args.prototype = {};\nOmniSci_get_result_row_for_pixel_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.widget_id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.pixel = new ttypes.TPixel();\n        this.pixel.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.MAP) {\n        this.table_col_names = {};\n        var _rtmp3246 = input.readMapBegin();\n        var _size245 = _rtmp3246.size || 0;\n        for (var _i247 = 0; _i247 < _size245; ++_i247) {\n          var key248 = null;\n          var val249 = null;\n          key248 = input.readString();\n          val249 = [];\n          var _rtmp3251 = input.readListBegin();\n          var _size250 = _rtmp3251.size || 0;\n          for (var _i252 = 0; _i252 < _size250; ++_i252) {\n            var elem253 = null;\n            elem253 = input.readString();\n            val249.push(elem253);\n          }\n          input.readListEnd();\n          this.table_col_names[key248] = val249;\n        }\n        input.readMapEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.BOOL) {\n        this.column_format = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I32) {\n        this.pixelRadius = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.STRING) {\n        this.nonce = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_result_row_for_pixel_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_result_row_for_pixel_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.widget_id !== null && this.widget_id !== undefined) {\n    output.writeFieldBegin('widget_id', Thrift.Type.I64, 2);\n    output.writeI64(this.widget_id);\n    output.writeFieldEnd();\n  }\n  if (this.pixel !== null && this.pixel !== undefined) {\n    output.writeFieldBegin('pixel', Thrift.Type.STRUCT, 3);\n    this.pixel.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.table_col_names !== null && this.table_col_names !== undefined) {\n    output.writeFieldBegin('table_col_names', Thrift.Type.MAP, 4);\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.LIST, Thrift.objectLength(this.table_col_names));\n    for (var kiter254 in this.table_col_names) {\n      if (this.table_col_names.hasOwnProperty(kiter254)) {\n        var viter255 = this.table_col_names[kiter254];\n        output.writeString(kiter254);\n        output.writeListBegin(Thrift.Type.STRING, viter255.length);\n        for (var iter256 in viter255) {\n          if (viter255.hasOwnProperty(iter256)) {\n            iter256 = viter255[iter256];\n            output.writeString(iter256);\n          }\n        }\n        output.writeListEnd();\n      }\n    }\n    output.writeMapEnd();\n    output.writeFieldEnd();\n  }\n  if (this.column_format !== null && this.column_format !== undefined) {\n    output.writeFieldBegin('column_format', Thrift.Type.BOOL, 5);\n    output.writeBool(this.column_format);\n    output.writeFieldEnd();\n  }\n  if (this.pixelRadius !== null && this.pixelRadius !== undefined) {\n    output.writeFieldBegin('pixelRadius', Thrift.Type.I32, 6);\n    output.writeI32(this.pixelRadius);\n    output.writeFieldEnd();\n  }\n  if (this.nonce !== null && this.nonce !== undefined) {\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 7);\n    output.writeString(this.nonce);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_result_row_for_pixel_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TPixelTableRowResult(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_result_row_for_pixel_result.prototype = {};\nOmniSci_get_result_row_for_pixel_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TPixelTableRowResult();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_result_row_for_pixel_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_result_row_for_pixel_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_dashboard_args = function(args) {\n  this.session = null;\n  this.dashboard_id = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\n      this.dashboard_id = args.dashboard_id;\n    }\n  }\n};\nOmniSci_get_dashboard_args.prototype = {};\nOmniSci_get_dashboard_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.dashboard_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_dashboard_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_dashboard_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\n    output.writeI32(this.dashboard_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_dashboard_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TDashboard(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_dashboard_result.prototype = {};\nOmniSci_get_dashboard_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TDashboard();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_dashboard_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_dashboard_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_dashboards_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_dashboards_args.prototype = {};\nOmniSci_get_dashboards_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_dashboards_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_dashboards_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_dashboards_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TDashboard]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_dashboards_result.prototype = {};\nOmniSci_get_dashboards_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3258 = input.readListBegin();\n        var _size257 = _rtmp3258.size || 0;\n        for (var _i259 = 0; _i259 < _size257; ++_i259) {\n          var elem260 = null;\n          elem260 = new ttypes.TDashboard();\n          elem260.read(input);\n          this.success.push(elem260);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_dashboards_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_dashboards_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter261 in this.success) {\n      if (this.success.hasOwnProperty(iter261)) {\n        iter261 = this.success[iter261];\n        iter261.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_create_dashboard_args = function(args) {\n  this.session = null;\n  this.dashboard_name = null;\n  this.dashboard_state = null;\n  this.image_hash = null;\n  this.dashboard_metadata = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_name !== undefined && args.dashboard_name !== null) {\n      this.dashboard_name = args.dashboard_name;\n    }\n    if (args.dashboard_state !== undefined && args.dashboard_state !== null) {\n      this.dashboard_state = args.dashboard_state;\n    }\n    if (args.image_hash !== undefined && args.image_hash !== null) {\n      this.image_hash = args.image_hash;\n    }\n    if (args.dashboard_metadata !== undefined && args.dashboard_metadata !== null) {\n      this.dashboard_metadata = args.dashboard_metadata;\n    }\n  }\n};\nOmniSci_create_dashboard_args.prototype = {};\nOmniSci_create_dashboard_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_state = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.image_hash = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_metadata = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_create_dashboard_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_create_dashboard_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_name !== null && this.dashboard_name !== undefined) {\n    output.writeFieldBegin('dashboard_name', Thrift.Type.STRING, 2);\n    output.writeString(this.dashboard_name);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_state !== null && this.dashboard_state !== undefined) {\n    output.writeFieldBegin('dashboard_state', Thrift.Type.STRING, 3);\n    output.writeString(this.dashboard_state);\n    output.writeFieldEnd();\n  }\n  if (this.image_hash !== null && this.image_hash !== undefined) {\n    output.writeFieldBegin('image_hash', Thrift.Type.STRING, 4);\n    output.writeString(this.image_hash);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_metadata !== null && this.dashboard_metadata !== undefined) {\n    output.writeFieldBegin('dashboard_metadata', Thrift.Type.STRING, 5);\n    output.writeString(this.dashboard_metadata);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_create_dashboard_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_create_dashboard_result.prototype = {};\nOmniSci_create_dashboard_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.I32) {\n        this.success = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_create_dashboard_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_create_dashboard_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.I32, 0);\n    output.writeI32(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_replace_dashboard_args = function(args) {\n  this.session = null;\n  this.dashboard_id = null;\n  this.dashboard_name = null;\n  this.dashboard_owner = null;\n  this.dashboard_state = null;\n  this.image_hash = null;\n  this.dashboard_metadata = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\n      this.dashboard_id = args.dashboard_id;\n    }\n    if (args.dashboard_name !== undefined && args.dashboard_name !== null) {\n      this.dashboard_name = args.dashboard_name;\n    }\n    if (args.dashboard_owner !== undefined && args.dashboard_owner !== null) {\n      this.dashboard_owner = args.dashboard_owner;\n    }\n    if (args.dashboard_state !== undefined && args.dashboard_state !== null) {\n      this.dashboard_state = args.dashboard_state;\n    }\n    if (args.image_hash !== undefined && args.image_hash !== null) {\n      this.image_hash = args.image_hash;\n    }\n    if (args.dashboard_metadata !== undefined && args.dashboard_metadata !== null) {\n      this.dashboard_metadata = args.dashboard_metadata;\n    }\n  }\n};\nOmniSci_replace_dashboard_args.prototype = {};\nOmniSci_replace_dashboard_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.dashboard_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_owner = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_state = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.STRING) {\n        this.image_hash = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_metadata = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_replace_dashboard_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_replace_dashboard_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\n    output.writeI32(this.dashboard_id);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_name !== null && this.dashboard_name !== undefined) {\n    output.writeFieldBegin('dashboard_name', Thrift.Type.STRING, 3);\n    output.writeString(this.dashboard_name);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_owner !== null && this.dashboard_owner !== undefined) {\n    output.writeFieldBegin('dashboard_owner', Thrift.Type.STRING, 4);\n    output.writeString(this.dashboard_owner);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_state !== null && this.dashboard_state !== undefined) {\n    output.writeFieldBegin('dashboard_state', Thrift.Type.STRING, 5);\n    output.writeString(this.dashboard_state);\n    output.writeFieldEnd();\n  }\n  if (this.image_hash !== null && this.image_hash !== undefined) {\n    output.writeFieldBegin('image_hash', Thrift.Type.STRING, 6);\n    output.writeString(this.image_hash);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_metadata !== null && this.dashboard_metadata !== undefined) {\n    output.writeFieldBegin('dashboard_metadata', Thrift.Type.STRING, 7);\n    output.writeString(this.dashboard_metadata);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_replace_dashboard_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_replace_dashboard_result.prototype = {};\nOmniSci_replace_dashboard_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_replace_dashboard_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_replace_dashboard_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_delete_dashboard_args = function(args) {\n  this.session = null;\n  this.dashboard_id = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\n      this.dashboard_id = args.dashboard_id;\n    }\n  }\n};\nOmniSci_delete_dashboard_args.prototype = {};\nOmniSci_delete_dashboard_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.dashboard_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_delete_dashboard_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_delete_dashboard_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\n    output.writeI32(this.dashboard_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_delete_dashboard_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_delete_dashboard_result.prototype = {};\nOmniSci_delete_dashboard_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_delete_dashboard_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_delete_dashboard_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_share_dashboards_args = function(args) {\n  this.session = null;\n  this.dashboard_ids = null;\n  this.groups = null;\n  this.permissions = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_ids !== undefined && args.dashboard_ids !== null) {\n      this.dashboard_ids = Thrift.copyList(args.dashboard_ids, [null]);\n    }\n    if (args.groups !== undefined && args.groups !== null) {\n      this.groups = Thrift.copyList(args.groups, [null]);\n    }\n    if (args.permissions !== undefined && args.permissions !== null) {\n      this.permissions = new ttypes.TDashboardPermissions(args.permissions);\n    }\n  }\n};\nOmniSci_share_dashboards_args.prototype = {};\nOmniSci_share_dashboards_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.dashboard_ids = [];\n        var _rtmp3263 = input.readListBegin();\n        var _size262 = _rtmp3263.size || 0;\n        for (var _i264 = 0; _i264 < _size262; ++_i264) {\n          var elem265 = null;\n          elem265 = input.readI32();\n          this.dashboard_ids.push(elem265);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.groups = [];\n        var _rtmp3267 = input.readListBegin();\n        var _size266 = _rtmp3267.size || 0;\n        for (var _i268 = 0; _i268 < _size266; ++_i268) {\n          var elem269 = null;\n          elem269 = input.readString();\n          this.groups.push(elem269);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.permissions = new ttypes.TDashboardPermissions();\n        this.permissions.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_share_dashboards_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_share_dashboards_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_ids !== null && this.dashboard_ids !== undefined) {\n    output.writeFieldBegin('dashboard_ids', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.I32, this.dashboard_ids.length);\n    for (var iter270 in this.dashboard_ids) {\n      if (this.dashboard_ids.hasOwnProperty(iter270)) {\n        iter270 = this.dashboard_ids[iter270];\n        output.writeI32(iter270);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.groups !== null && this.groups !== undefined) {\n    output.writeFieldBegin('groups', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRING, this.groups.length);\n    for (var iter271 in this.groups) {\n      if (this.groups.hasOwnProperty(iter271)) {\n        iter271 = this.groups[iter271];\n        output.writeString(iter271);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.permissions !== null && this.permissions !== undefined) {\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 4);\n    this.permissions.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_share_dashboards_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_share_dashboards_result.prototype = {};\nOmniSci_share_dashboards_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_share_dashboards_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_share_dashboards_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_delete_dashboards_args = function(args) {\n  this.session = null;\n  this.dashboard_ids = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_ids !== undefined && args.dashboard_ids !== null) {\n      this.dashboard_ids = Thrift.copyList(args.dashboard_ids, [null]);\n    }\n  }\n};\nOmniSci_delete_dashboards_args.prototype = {};\nOmniSci_delete_dashboards_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.dashboard_ids = [];\n        var _rtmp3273 = input.readListBegin();\n        var _size272 = _rtmp3273.size || 0;\n        for (var _i274 = 0; _i274 < _size272; ++_i274) {\n          var elem275 = null;\n          elem275 = input.readI32();\n          this.dashboard_ids.push(elem275);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_delete_dashboards_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_delete_dashboards_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_ids !== null && this.dashboard_ids !== undefined) {\n    output.writeFieldBegin('dashboard_ids', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.I32, this.dashboard_ids.length);\n    for (var iter276 in this.dashboard_ids) {\n      if (this.dashboard_ids.hasOwnProperty(iter276)) {\n        iter276 = this.dashboard_ids[iter276];\n        output.writeI32(iter276);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_delete_dashboards_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_delete_dashboards_result.prototype = {};\nOmniSci_delete_dashboards_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_delete_dashboards_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_delete_dashboards_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_share_dashboard_args = function(args) {\n  this.session = null;\n  this.dashboard_id = null;\n  this.groups = null;\n  this.objects = null;\n  this.permissions = null;\n  this.grant_role = false;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\n      this.dashboard_id = args.dashboard_id;\n    }\n    if (args.groups !== undefined && args.groups !== null) {\n      this.groups = Thrift.copyList(args.groups, [null]);\n    }\n    if (args.objects !== undefined && args.objects !== null) {\n      this.objects = Thrift.copyList(args.objects, [null]);\n    }\n    if (args.permissions !== undefined && args.permissions !== null) {\n      this.permissions = new ttypes.TDashboardPermissions(args.permissions);\n    }\n    if (args.grant_role !== undefined && args.grant_role !== null) {\n      this.grant_role = args.grant_role;\n    }\n  }\n};\nOmniSci_share_dashboard_args.prototype = {};\nOmniSci_share_dashboard_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.dashboard_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.groups = [];\n        var _rtmp3278 = input.readListBegin();\n        var _size277 = _rtmp3278.size || 0;\n        for (var _i279 = 0; _i279 < _size277; ++_i279) {\n          var elem280 = null;\n          elem280 = input.readString();\n          this.groups.push(elem280);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.objects = [];\n        var _rtmp3282 = input.readListBegin();\n        var _size281 = _rtmp3282.size || 0;\n        for (var _i283 = 0; _i283 < _size281; ++_i283) {\n          var elem284 = null;\n          elem284 = input.readString();\n          this.objects.push(elem284);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.permissions = new ttypes.TDashboardPermissions();\n        this.permissions.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.BOOL) {\n        this.grant_role = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_share_dashboard_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_share_dashboard_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\n    output.writeI32(this.dashboard_id);\n    output.writeFieldEnd();\n  }\n  if (this.groups !== null && this.groups !== undefined) {\n    output.writeFieldBegin('groups', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRING, this.groups.length);\n    for (var iter285 in this.groups) {\n      if (this.groups.hasOwnProperty(iter285)) {\n        iter285 = this.groups[iter285];\n        output.writeString(iter285);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.objects !== null && this.objects !== undefined) {\n    output.writeFieldBegin('objects', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.STRING, this.objects.length);\n    for (var iter286 in this.objects) {\n      if (this.objects.hasOwnProperty(iter286)) {\n        iter286 = this.objects[iter286];\n        output.writeString(iter286);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.permissions !== null && this.permissions !== undefined) {\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 5);\n    this.permissions.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.grant_role !== null && this.grant_role !== undefined) {\n    output.writeFieldBegin('grant_role', Thrift.Type.BOOL, 6);\n    output.writeBool(this.grant_role);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_share_dashboard_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_share_dashboard_result.prototype = {};\nOmniSci_share_dashboard_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_share_dashboard_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_share_dashboard_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_unshare_dashboard_args = function(args) {\n  this.session = null;\n  this.dashboard_id = null;\n  this.groups = null;\n  this.objects = null;\n  this.permissions = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\n      this.dashboard_id = args.dashboard_id;\n    }\n    if (args.groups !== undefined && args.groups !== null) {\n      this.groups = Thrift.copyList(args.groups, [null]);\n    }\n    if (args.objects !== undefined && args.objects !== null) {\n      this.objects = Thrift.copyList(args.objects, [null]);\n    }\n    if (args.permissions !== undefined && args.permissions !== null) {\n      this.permissions = new ttypes.TDashboardPermissions(args.permissions);\n    }\n  }\n};\nOmniSci_unshare_dashboard_args.prototype = {};\nOmniSci_unshare_dashboard_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.dashboard_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.groups = [];\n        var _rtmp3288 = input.readListBegin();\n        var _size287 = _rtmp3288.size || 0;\n        for (var _i289 = 0; _i289 < _size287; ++_i289) {\n          var elem290 = null;\n          elem290 = input.readString();\n          this.groups.push(elem290);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.objects = [];\n        var _rtmp3292 = input.readListBegin();\n        var _size291 = _rtmp3292.size || 0;\n        for (var _i293 = 0; _i293 < _size291; ++_i293) {\n          var elem294 = null;\n          elem294 = input.readString();\n          this.objects.push(elem294);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.permissions = new ttypes.TDashboardPermissions();\n        this.permissions.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_unshare_dashboard_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_unshare_dashboard_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\n    output.writeI32(this.dashboard_id);\n    output.writeFieldEnd();\n  }\n  if (this.groups !== null && this.groups !== undefined) {\n    output.writeFieldBegin('groups', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRING, this.groups.length);\n    for (var iter295 in this.groups) {\n      if (this.groups.hasOwnProperty(iter295)) {\n        iter295 = this.groups[iter295];\n        output.writeString(iter295);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.objects !== null && this.objects !== undefined) {\n    output.writeFieldBegin('objects', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.STRING, this.objects.length);\n    for (var iter296 in this.objects) {\n      if (this.objects.hasOwnProperty(iter296)) {\n        iter296 = this.objects[iter296];\n        output.writeString(iter296);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.permissions !== null && this.permissions !== undefined) {\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 5);\n    this.permissions.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_unshare_dashboard_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_unshare_dashboard_result.prototype = {};\nOmniSci_unshare_dashboard_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_unshare_dashboard_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_unshare_dashboard_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_unshare_dashboards_args = function(args) {\n  this.session = null;\n  this.dashboard_ids = null;\n  this.groups = null;\n  this.permissions = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_ids !== undefined && args.dashboard_ids !== null) {\n      this.dashboard_ids = Thrift.copyList(args.dashboard_ids, [null]);\n    }\n    if (args.groups !== undefined && args.groups !== null) {\n      this.groups = Thrift.copyList(args.groups, [null]);\n    }\n    if (args.permissions !== undefined && args.permissions !== null) {\n      this.permissions = new ttypes.TDashboardPermissions(args.permissions);\n    }\n  }\n};\nOmniSci_unshare_dashboards_args.prototype = {};\nOmniSci_unshare_dashboards_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.dashboard_ids = [];\n        var _rtmp3298 = input.readListBegin();\n        var _size297 = _rtmp3298.size || 0;\n        for (var _i299 = 0; _i299 < _size297; ++_i299) {\n          var elem300 = null;\n          elem300 = input.readI32();\n          this.dashboard_ids.push(elem300);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.groups = [];\n        var _rtmp3302 = input.readListBegin();\n        var _size301 = _rtmp3302.size || 0;\n        for (var _i303 = 0; _i303 < _size301; ++_i303) {\n          var elem304 = null;\n          elem304 = input.readString();\n          this.groups.push(elem304);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.permissions = new ttypes.TDashboardPermissions();\n        this.permissions.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_unshare_dashboards_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_unshare_dashboards_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_ids !== null && this.dashboard_ids !== undefined) {\n    output.writeFieldBegin('dashboard_ids', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.I32, this.dashboard_ids.length);\n    for (var iter305 in this.dashboard_ids) {\n      if (this.dashboard_ids.hasOwnProperty(iter305)) {\n        iter305 = this.dashboard_ids[iter305];\n        output.writeI32(iter305);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.groups !== null && this.groups !== undefined) {\n    output.writeFieldBegin('groups', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRING, this.groups.length);\n    for (var iter306 in this.groups) {\n      if (this.groups.hasOwnProperty(iter306)) {\n        iter306 = this.groups[iter306];\n        output.writeString(iter306);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.permissions !== null && this.permissions !== undefined) {\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 4);\n    this.permissions.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_unshare_dashboards_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_unshare_dashboards_result.prototype = {};\nOmniSci_unshare_dashboards_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_unshare_dashboards_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_unshare_dashboards_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_dashboard_grantees_args = function(args) {\n  this.session = null;\n  this.dashboard_id = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\n      this.dashboard_id = args.dashboard_id;\n    }\n  }\n};\nOmniSci_get_dashboard_grantees_args.prototype = {};\nOmniSci_get_dashboard_grantees_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.dashboard_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_dashboard_grantees_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_dashboard_grantees_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\n    output.writeI32(this.dashboard_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_dashboard_grantees_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TDashboardGrantees]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_dashboard_grantees_result.prototype = {};\nOmniSci_get_dashboard_grantees_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3308 = input.readListBegin();\n        var _size307 = _rtmp3308.size || 0;\n        for (var _i309 = 0; _i309 < _size307; ++_i309) {\n          var elem310 = null;\n          elem310 = new ttypes.TDashboardGrantees();\n          elem310.read(input);\n          this.success.push(elem310);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_dashboard_grantees_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_dashboard_grantees_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter311 in this.success) {\n      if (this.success.hasOwnProperty(iter311)) {\n        iter311 = this.success[iter311];\n        iter311.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_link_view_args = function(args) {\n  this.session = null;\n  this.link = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.link !== undefined && args.link !== null) {\n      this.link = args.link;\n    }\n  }\n};\nOmniSci_get_link_view_args.prototype = {};\nOmniSci_get_link_view_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.link = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_link_view_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_link_view_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.link !== null && this.link !== undefined) {\n    output.writeFieldBegin('link', Thrift.Type.STRING, 2);\n    output.writeString(this.link);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_link_view_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TFrontendView(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_link_view_result.prototype = {};\nOmniSci_get_link_view_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TFrontendView();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_link_view_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_link_view_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_create_link_args = function(args) {\n  this.session = null;\n  this.view_state = null;\n  this.view_metadata = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.view_state !== undefined && args.view_state !== null) {\n      this.view_state = args.view_state;\n    }\n    if (args.view_metadata !== undefined && args.view_metadata !== null) {\n      this.view_metadata = args.view_metadata;\n    }\n  }\n};\nOmniSci_create_link_args.prototype = {};\nOmniSci_create_link_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.view_state = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.view_metadata = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_create_link_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_create_link_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.view_state !== null && this.view_state !== undefined) {\n    output.writeFieldBegin('view_state', Thrift.Type.STRING, 2);\n    output.writeString(this.view_state);\n    output.writeFieldEnd();\n  }\n  if (this.view_metadata !== null && this.view_metadata !== undefined) {\n    output.writeFieldBegin('view_metadata', Thrift.Type.STRING, 3);\n    output.writeString(this.view_metadata);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_create_link_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_create_link_result.prototype = {};\nOmniSci_create_link_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRING) {\n        this.success = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_create_link_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_create_link_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\n    output.writeString(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_load_table_binary_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  this.rows = null;\n  this.column_names = [];\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n    if (args.rows !== undefined && args.rows !== null) {\n      this.rows = Thrift.copyList(args.rows, [ttypes.TRow]);\n    }\n    if (args.column_names !== undefined && args.column_names !== null) {\n      this.column_names = Thrift.copyList(args.column_names, [null]);\n    }\n  }\n};\nOmniSci_load_table_binary_args.prototype = {};\nOmniSci_load_table_binary_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.rows = [];\n        var _rtmp3313 = input.readListBegin();\n        var _size312 = _rtmp3313.size || 0;\n        for (var _i314 = 0; _i314 < _size312; ++_i314) {\n          var elem315 = null;\n          elem315 = new ttypes.TRow();\n          elem315.read(input);\n          this.rows.push(elem315);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.column_names = [];\n        var _rtmp3317 = input.readListBegin();\n        var _size316 = _rtmp3317.size || 0;\n        for (var _i318 = 0; _i318 < _size316; ++_i318) {\n          var elem319 = null;\n          elem319 = input.readString();\n          this.column_names.push(elem319);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_load_table_binary_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_load_table_binary_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  if (this.rows !== null && this.rows !== undefined) {\n    output.writeFieldBegin('rows', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRUCT, this.rows.length);\n    for (var iter320 in this.rows) {\n      if (this.rows.hasOwnProperty(iter320)) {\n        iter320 = this.rows[iter320];\n        iter320.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.column_names !== null && this.column_names !== undefined) {\n    output.writeFieldBegin('column_names', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.STRING, this.column_names.length);\n    for (var iter321 in this.column_names) {\n      if (this.column_names.hasOwnProperty(iter321)) {\n        iter321 = this.column_names[iter321];\n        output.writeString(iter321);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_load_table_binary_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_load_table_binary_result.prototype = {};\nOmniSci_load_table_binary_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_load_table_binary_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_load_table_binary_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_load_table_binary_columnar_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  this.cols = null;\n  this.column_names = [];\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n    if (args.cols !== undefined && args.cols !== null) {\n      this.cols = Thrift.copyList(args.cols, [ttypes.TColumn]);\n    }\n    if (args.column_names !== undefined && args.column_names !== null) {\n      this.column_names = Thrift.copyList(args.column_names, [null]);\n    }\n  }\n};\nOmniSci_load_table_binary_columnar_args.prototype = {};\nOmniSci_load_table_binary_columnar_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.cols = [];\n        var _rtmp3323 = input.readListBegin();\n        var _size322 = _rtmp3323.size || 0;\n        for (var _i324 = 0; _i324 < _size322; ++_i324) {\n          var elem325 = null;\n          elem325 = new ttypes.TColumn();\n          elem325.read(input);\n          this.cols.push(elem325);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.column_names = [];\n        var _rtmp3327 = input.readListBegin();\n        var _size326 = _rtmp3327.size || 0;\n        for (var _i328 = 0; _i328 < _size326; ++_i328) {\n          var elem329 = null;\n          elem329 = input.readString();\n          this.column_names.push(elem329);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_load_table_binary_columnar_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_load_table_binary_columnar_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  if (this.cols !== null && this.cols !== undefined) {\n    output.writeFieldBegin('cols', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRUCT, this.cols.length);\n    for (var iter330 in this.cols) {\n      if (this.cols.hasOwnProperty(iter330)) {\n        iter330 = this.cols[iter330];\n        iter330.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.column_names !== null && this.column_names !== undefined) {\n    output.writeFieldBegin('column_names', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.STRING, this.column_names.length);\n    for (var iter331 in this.column_names) {\n      if (this.column_names.hasOwnProperty(iter331)) {\n        iter331 = this.column_names[iter331];\n        output.writeString(iter331);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_load_table_binary_columnar_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_load_table_binary_columnar_result.prototype = {};\nOmniSci_load_table_binary_columnar_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_load_table_binary_columnar_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_load_table_binary_columnar_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_load_table_binary_arrow_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  this.arrow_stream = null;\n  this.use_column_names = false;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n    if (args.arrow_stream !== undefined && args.arrow_stream !== null) {\n      this.arrow_stream = args.arrow_stream;\n    }\n    if (args.use_column_names !== undefined && args.use_column_names !== null) {\n      this.use_column_names = args.use_column_names;\n    }\n  }\n};\nOmniSci_load_table_binary_arrow_args.prototype = {};\nOmniSci_load_table_binary_arrow_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.arrow_stream = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.use_column_names = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_load_table_binary_arrow_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_load_table_binary_arrow_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  if (this.arrow_stream !== null && this.arrow_stream !== undefined) {\n    output.writeFieldBegin('arrow_stream', Thrift.Type.STRING, 3);\n    output.writeBinary(this.arrow_stream);\n    output.writeFieldEnd();\n  }\n  if (this.use_column_names !== null && this.use_column_names !== undefined) {\n    output.writeFieldBegin('use_column_names', Thrift.Type.BOOL, 4);\n    output.writeBool(this.use_column_names);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_load_table_binary_arrow_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_load_table_binary_arrow_result.prototype = {};\nOmniSci_load_table_binary_arrow_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_load_table_binary_arrow_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_load_table_binary_arrow_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_load_table_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  this.rows = null;\n  this.column_names = [];\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n    if (args.rows !== undefined && args.rows !== null) {\n      this.rows = Thrift.copyList(args.rows, [ttypes.TStringRow]);\n    }\n    if (args.column_names !== undefined && args.column_names !== null) {\n      this.column_names = Thrift.copyList(args.column_names, [null]);\n    }\n  }\n};\nOmniSci_load_table_args.prototype = {};\nOmniSci_load_table_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.rows = [];\n        var _rtmp3333 = input.readListBegin();\n        var _size332 = _rtmp3333.size || 0;\n        for (var _i334 = 0; _i334 < _size332; ++_i334) {\n          var elem335 = null;\n          elem335 = new ttypes.TStringRow();\n          elem335.read(input);\n          this.rows.push(elem335);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.column_names = [];\n        var _rtmp3337 = input.readListBegin();\n        var _size336 = _rtmp3337.size || 0;\n        for (var _i338 = 0; _i338 < _size336; ++_i338) {\n          var elem339 = null;\n          elem339 = input.readString();\n          this.column_names.push(elem339);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_load_table_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_load_table_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  if (this.rows !== null && this.rows !== undefined) {\n    output.writeFieldBegin('rows', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRUCT, this.rows.length);\n    for (var iter340 in this.rows) {\n      if (this.rows.hasOwnProperty(iter340)) {\n        iter340 = this.rows[iter340];\n        iter340.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.column_names !== null && this.column_names !== undefined) {\n    output.writeFieldBegin('column_names', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.STRING, this.column_names.length);\n    for (var iter341 in this.column_names) {\n      if (this.column_names.hasOwnProperty(iter341)) {\n        iter341 = this.column_names[iter341];\n        output.writeString(iter341);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_load_table_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_load_table_result.prototype = {};\nOmniSci_load_table_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_load_table_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_load_table_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_detect_column_types_args = function(args) {\n  this.session = null;\n  this.file_name = null;\n  this.copy_params = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.file_name !== undefined && args.file_name !== null) {\n      this.file_name = args.file_name;\n    }\n    if (args.copy_params !== undefined && args.copy_params !== null) {\n      this.copy_params = new ttypes.TCopyParams(args.copy_params);\n    }\n  }\n};\nOmniSci_detect_column_types_args.prototype = {};\nOmniSci_detect_column_types_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.file_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.copy_params = new ttypes.TCopyParams();\n        this.copy_params.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_detect_column_types_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_detect_column_types_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.file_name !== null && this.file_name !== undefined) {\n    output.writeFieldBegin('file_name', Thrift.Type.STRING, 2);\n    output.writeString(this.file_name);\n    output.writeFieldEnd();\n  }\n  if (this.copy_params !== null && this.copy_params !== undefined) {\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 3);\n    this.copy_params.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_detect_column_types_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TDetectResult(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_detect_column_types_result.prototype = {};\nOmniSci_detect_column_types_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TDetectResult();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_detect_column_types_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_detect_column_types_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_create_table_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  this.row_desc = null;\n  this.file_type = 0;\n  this.create_params = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n    if (args.row_desc !== undefined && args.row_desc !== null) {\n      this.row_desc = Thrift.copyList(args.row_desc, [ttypes.TColumnType]);\n    }\n    if (args.file_type !== undefined && args.file_type !== null) {\n      this.file_type = args.file_type;\n    }\n    if (args.create_params !== undefined && args.create_params !== null) {\n      this.create_params = new ttypes.TCreateParams(args.create_params);\n    }\n  }\n};\nOmniSci_create_table_args.prototype = {};\nOmniSci_create_table_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.row_desc = [];\n        var _rtmp3343 = input.readListBegin();\n        var _size342 = _rtmp3343.size || 0;\n        for (var _i344 = 0; _i344 < _size342; ++_i344) {\n          var elem345 = null;\n          elem345 = new ttypes.TColumnType();\n          elem345.read(input);\n          this.row_desc.push(elem345);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.file_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.create_params = new ttypes.TCreateParams();\n        this.create_params.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_create_table_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_create_table_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  if (this.row_desc !== null && this.row_desc !== undefined) {\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\n    for (var iter346 in this.row_desc) {\n      if (this.row_desc.hasOwnProperty(iter346)) {\n        iter346 = this.row_desc[iter346];\n        iter346.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.file_type !== null && this.file_type !== undefined) {\n    output.writeFieldBegin('file_type', Thrift.Type.I32, 4);\n    output.writeI32(this.file_type);\n    output.writeFieldEnd();\n  }\n  if (this.create_params !== null && this.create_params !== undefined) {\n    output.writeFieldBegin('create_params', Thrift.Type.STRUCT, 5);\n    this.create_params.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_create_table_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_create_table_result.prototype = {};\nOmniSci_create_table_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_create_table_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_create_table_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_import_table_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  this.file_name = null;\n  this.copy_params = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n    if (args.file_name !== undefined && args.file_name !== null) {\n      this.file_name = args.file_name;\n    }\n    if (args.copy_params !== undefined && args.copy_params !== null) {\n      this.copy_params = new ttypes.TCopyParams(args.copy_params);\n    }\n  }\n};\nOmniSci_import_table_args.prototype = {};\nOmniSci_import_table_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.file_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.copy_params = new ttypes.TCopyParams();\n        this.copy_params.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_import_table_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_import_table_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  if (this.file_name !== null && this.file_name !== undefined) {\n    output.writeFieldBegin('file_name', Thrift.Type.STRING, 3);\n    output.writeString(this.file_name);\n    output.writeFieldEnd();\n  }\n  if (this.copy_params !== null && this.copy_params !== undefined) {\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 4);\n    this.copy_params.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_import_table_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_import_table_result.prototype = {};\nOmniSci_import_table_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_import_table_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_import_table_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_import_geo_table_args = function(args) {\n  this.session = null;\n  this.table_name = null;\n  this.file_name = null;\n  this.copy_params = null;\n  this.row_desc = null;\n  this.create_params = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n    if (args.file_name !== undefined && args.file_name !== null) {\n      this.file_name = args.file_name;\n    }\n    if (args.copy_params !== undefined && args.copy_params !== null) {\n      this.copy_params = new ttypes.TCopyParams(args.copy_params);\n    }\n    if (args.row_desc !== undefined && args.row_desc !== null) {\n      this.row_desc = Thrift.copyList(args.row_desc, [ttypes.TColumnType]);\n    }\n    if (args.create_params !== undefined && args.create_params !== null) {\n      this.create_params = new ttypes.TCreateParams(args.create_params);\n    }\n  }\n};\nOmniSci_import_geo_table_args.prototype = {};\nOmniSci_import_geo_table_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.file_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.copy_params = new ttypes.TCopyParams();\n        this.copy_params.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.LIST) {\n        this.row_desc = [];\n        var _rtmp3348 = input.readListBegin();\n        var _size347 = _rtmp3348.size || 0;\n        for (var _i349 = 0; _i349 < _size347; ++_i349) {\n          var elem350 = null;\n          elem350 = new ttypes.TColumnType();\n          elem350.read(input);\n          this.row_desc.push(elem350);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.create_params = new ttypes.TCreateParams();\n        this.create_params.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_import_geo_table_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_import_geo_table_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  if (this.file_name !== null && this.file_name !== undefined) {\n    output.writeFieldBegin('file_name', Thrift.Type.STRING, 3);\n    output.writeString(this.file_name);\n    output.writeFieldEnd();\n  }\n  if (this.copy_params !== null && this.copy_params !== undefined) {\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 4);\n    this.copy_params.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.row_desc !== null && this.row_desc !== undefined) {\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 5);\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\n    for (var iter351 in this.row_desc) {\n      if (this.row_desc.hasOwnProperty(iter351)) {\n        iter351 = this.row_desc[iter351];\n        iter351.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.create_params !== null && this.create_params !== undefined) {\n    output.writeFieldBegin('create_params', Thrift.Type.STRUCT, 6);\n    this.create_params.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_import_geo_table_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_import_geo_table_result.prototype = {};\nOmniSci_import_geo_table_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_import_geo_table_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_import_geo_table_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_import_table_status_args = function(args) {\n  this.session = null;\n  this.import_id = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.import_id !== undefined && args.import_id !== null) {\n      this.import_id = args.import_id;\n    }\n  }\n};\nOmniSci_import_table_status_args.prototype = {};\nOmniSci_import_table_status_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.import_id = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_import_table_status_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_import_table_status_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.import_id !== null && this.import_id !== undefined) {\n    output.writeFieldBegin('import_id', Thrift.Type.STRING, 2);\n    output.writeString(this.import_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_import_table_status_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TImportStatus(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_import_table_status_result.prototype = {};\nOmniSci_import_table_status_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TImportStatus();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_import_table_status_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_import_table_status_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_first_geo_file_in_archive_args = function(args) {\n  this.session = null;\n  this.archive_path = null;\n  this.copy_params = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.archive_path !== undefined && args.archive_path !== null) {\n      this.archive_path = args.archive_path;\n    }\n    if (args.copy_params !== undefined && args.copy_params !== null) {\n      this.copy_params = new ttypes.TCopyParams(args.copy_params);\n    }\n  }\n};\nOmniSci_get_first_geo_file_in_archive_args.prototype = {};\nOmniSci_get_first_geo_file_in_archive_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.archive_path = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.copy_params = new ttypes.TCopyParams();\n        this.copy_params.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_first_geo_file_in_archive_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_first_geo_file_in_archive_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.archive_path !== null && this.archive_path !== undefined) {\n    output.writeFieldBegin('archive_path', Thrift.Type.STRING, 2);\n    output.writeString(this.archive_path);\n    output.writeFieldEnd();\n  }\n  if (this.copy_params !== null && this.copy_params !== undefined) {\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 3);\n    this.copy_params.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_first_geo_file_in_archive_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_first_geo_file_in_archive_result.prototype = {};\nOmniSci_get_first_geo_file_in_archive_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRING) {\n        this.success = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_first_geo_file_in_archive_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_first_geo_file_in_archive_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\n    output.writeString(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_all_files_in_archive_args = function(args) {\n  this.session = null;\n  this.archive_path = null;\n  this.copy_params = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.archive_path !== undefined && args.archive_path !== null) {\n      this.archive_path = args.archive_path;\n    }\n    if (args.copy_params !== undefined && args.copy_params !== null) {\n      this.copy_params = new ttypes.TCopyParams(args.copy_params);\n    }\n  }\n};\nOmniSci_get_all_files_in_archive_args.prototype = {};\nOmniSci_get_all_files_in_archive_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.archive_path = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.copy_params = new ttypes.TCopyParams();\n        this.copy_params.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_all_files_in_archive_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_all_files_in_archive_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.archive_path !== null && this.archive_path !== undefined) {\n    output.writeFieldBegin('archive_path', Thrift.Type.STRING, 2);\n    output.writeString(this.archive_path);\n    output.writeFieldEnd();\n  }\n  if (this.copy_params !== null && this.copy_params !== undefined) {\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 3);\n    this.copy_params.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_all_files_in_archive_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [null]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_all_files_in_archive_result.prototype = {};\nOmniSci_get_all_files_in_archive_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3353 = input.readListBegin();\n        var _size352 = _rtmp3353.size || 0;\n        for (var _i354 = 0; _i354 < _size352; ++_i354) {\n          var elem355 = null;\n          elem355 = input.readString();\n          this.success.push(elem355);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_all_files_in_archive_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_all_files_in_archive_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\n    for (var iter356 in this.success) {\n      if (this.success.hasOwnProperty(iter356)) {\n        iter356 = this.success[iter356];\n        output.writeString(iter356);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_layers_in_geo_file_args = function(args) {\n  this.session = null;\n  this.file_name = null;\n  this.copy_params = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.file_name !== undefined && args.file_name !== null) {\n      this.file_name = args.file_name;\n    }\n    if (args.copy_params !== undefined && args.copy_params !== null) {\n      this.copy_params = new ttypes.TCopyParams(args.copy_params);\n    }\n  }\n};\nOmniSci_get_layers_in_geo_file_args.prototype = {};\nOmniSci_get_layers_in_geo_file_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.file_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.copy_params = new ttypes.TCopyParams();\n        this.copy_params.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_layers_in_geo_file_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_layers_in_geo_file_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.file_name !== null && this.file_name !== undefined) {\n    output.writeFieldBegin('file_name', Thrift.Type.STRING, 2);\n    output.writeString(this.file_name);\n    output.writeFieldEnd();\n  }\n  if (this.copy_params !== null && this.copy_params !== undefined) {\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 3);\n    this.copy_params.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_layers_in_geo_file_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TGeoFileLayerInfo]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_layers_in_geo_file_result.prototype = {};\nOmniSci_get_layers_in_geo_file_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3358 = input.readListBegin();\n        var _size357 = _rtmp3358.size || 0;\n        for (var _i359 = 0; _i359 < _size357; ++_i359) {\n          var elem360 = null;\n          elem360 = new ttypes.TGeoFileLayerInfo();\n          elem360.read(input);\n          this.success.push(elem360);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_layers_in_geo_file_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_layers_in_geo_file_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter361 in this.success) {\n      if (this.success.hasOwnProperty(iter361)) {\n        iter361 = this.success[iter361];\n        iter361.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_query_get_outer_fragment_count_args = function(args) {\n  this.session = null;\n  this.query = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.query !== undefined && args.query !== null) {\n      this.query = args.query;\n    }\n  }\n};\nOmniSci_query_get_outer_fragment_count_args.prototype = {};\nOmniSci_query_get_outer_fragment_count_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.query = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_query_get_outer_fragment_count_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_query_get_outer_fragment_count_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.query !== null && this.query !== undefined) {\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\n    output.writeString(this.query);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_query_get_outer_fragment_count_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_query_get_outer_fragment_count_result.prototype = {};\nOmniSci_query_get_outer_fragment_count_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.I64) {\n        this.success = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_query_get_outer_fragment_count_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_query_get_outer_fragment_count_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.I64, 0);\n    output.writeI64(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_check_table_consistency_args = function(args) {\n  this.session = null;\n  this.table_id = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n  }\n};\nOmniSci_check_table_consistency_args.prototype = {};\nOmniSci_check_table_consistency_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.table_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_check_table_consistency_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_check_table_consistency_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 2);\n    output.writeI32(this.table_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_check_table_consistency_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TTableMeta(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_check_table_consistency_result.prototype = {};\nOmniSci_check_table_consistency_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TTableMeta();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_check_table_consistency_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_check_table_consistency_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_start_query_args = function(args) {\n  this.leaf_session = null;\n  this.parent_session = null;\n  this.query_ra = null;\n  this.just_explain = null;\n  this.outer_fragment_indices = null;\n  if (args) {\n    if (args.leaf_session !== undefined && args.leaf_session !== null) {\n      this.leaf_session = args.leaf_session;\n    }\n    if (args.parent_session !== undefined && args.parent_session !== null) {\n      this.parent_session = args.parent_session;\n    }\n    if (args.query_ra !== undefined && args.query_ra !== null) {\n      this.query_ra = args.query_ra;\n    }\n    if (args.just_explain !== undefined && args.just_explain !== null) {\n      this.just_explain = args.just_explain;\n    }\n    if (args.outer_fragment_indices !== undefined && args.outer_fragment_indices !== null) {\n      this.outer_fragment_indices = Thrift.copyList(args.outer_fragment_indices, [null]);\n    }\n  }\n};\nOmniSci_start_query_args.prototype = {};\nOmniSci_start_query_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.leaf_session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.parent_session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.query_ra = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.just_explain = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.LIST) {\n        this.outer_fragment_indices = [];\n        var _rtmp3363 = input.readListBegin();\n        var _size362 = _rtmp3363.size || 0;\n        for (var _i364 = 0; _i364 < _size362; ++_i364) {\n          var elem365 = null;\n          elem365 = input.readI64();\n          this.outer_fragment_indices.push(elem365);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_start_query_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_start_query_args');\n  if (this.leaf_session !== null && this.leaf_session !== undefined) {\n    output.writeFieldBegin('leaf_session', Thrift.Type.STRING, 1);\n    output.writeString(this.leaf_session);\n    output.writeFieldEnd();\n  }\n  if (this.parent_session !== null && this.parent_session !== undefined) {\n    output.writeFieldBegin('parent_session', Thrift.Type.STRING, 2);\n    output.writeString(this.parent_session);\n    output.writeFieldEnd();\n  }\n  if (this.query_ra !== null && this.query_ra !== undefined) {\n    output.writeFieldBegin('query_ra', Thrift.Type.STRING, 3);\n    output.writeString(this.query_ra);\n    output.writeFieldEnd();\n  }\n  if (this.just_explain !== null && this.just_explain !== undefined) {\n    output.writeFieldBegin('just_explain', Thrift.Type.BOOL, 4);\n    output.writeBool(this.just_explain);\n    output.writeFieldEnd();\n  }\n  if (this.outer_fragment_indices !== null && this.outer_fragment_indices !== undefined) {\n    output.writeFieldBegin('outer_fragment_indices', Thrift.Type.LIST, 5);\n    output.writeListBegin(Thrift.Type.I64, this.outer_fragment_indices.length);\n    for (var iter366 in this.outer_fragment_indices) {\n      if (this.outer_fragment_indices.hasOwnProperty(iter366)) {\n        iter366 = this.outer_fragment_indices[iter366];\n        output.writeI64(iter366);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_start_query_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TPendingQuery(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_start_query_result.prototype = {};\nOmniSci_start_query_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TPendingQuery();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_start_query_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_start_query_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_execute_query_step_args = function(args) {\n  this.pending_query = null;\n  this.subquery_id = null;\n  if (args) {\n    if (args.pending_query !== undefined && args.pending_query !== null) {\n      this.pending_query = new ttypes.TPendingQuery(args.pending_query);\n    }\n    if (args.subquery_id !== undefined && args.subquery_id !== null) {\n      this.subquery_id = args.subquery_id;\n    }\n  }\n};\nOmniSci_execute_query_step_args.prototype = {};\nOmniSci_execute_query_step_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.pending_query = new ttypes.TPendingQuery();\n        this.pending_query.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.subquery_id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_execute_query_step_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_execute_query_step_args');\n  if (this.pending_query !== null && this.pending_query !== undefined) {\n    output.writeFieldBegin('pending_query', Thrift.Type.STRUCT, 1);\n    this.pending_query.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.subquery_id !== null && this.subquery_id !== undefined) {\n    output.writeFieldBegin('subquery_id', Thrift.Type.I64, 2);\n    output.writeI64(this.subquery_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_execute_query_step_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TStepResult(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_execute_query_step_result.prototype = {};\nOmniSci_execute_query_step_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TStepResult();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_execute_query_step_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_execute_query_step_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_broadcast_serialized_rows_args = function(args) {\n  this.serialized_rows = null;\n  this.row_desc = null;\n  this.query_id = null;\n  this.subquery_id = null;\n  this.is_final_subquery_result = null;\n  if (args) {\n    if (args.serialized_rows !== undefined && args.serialized_rows !== null) {\n      this.serialized_rows = new serialized_result_set_ttypes.TSerializedRows(args.serialized_rows);\n    }\n    if (args.row_desc !== undefined && args.row_desc !== null) {\n      this.row_desc = Thrift.copyList(args.row_desc, [ttypes.TColumnType]);\n    }\n    if (args.query_id !== undefined && args.query_id !== null) {\n      this.query_id = args.query_id;\n    }\n    if (args.subquery_id !== undefined && args.subquery_id !== null) {\n      this.subquery_id = args.subquery_id;\n    }\n    if (args.is_final_subquery_result !== undefined && args.is_final_subquery_result !== null) {\n      this.is_final_subquery_result = args.is_final_subquery_result;\n    }\n  }\n};\nOmniSci_broadcast_serialized_rows_args.prototype = {};\nOmniSci_broadcast_serialized_rows_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.serialized_rows = new serialized_result_set_ttypes.TSerializedRows();\n        this.serialized_rows.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.row_desc = [];\n        var _rtmp3368 = input.readListBegin();\n        var _size367 = _rtmp3368.size || 0;\n        for (var _i369 = 0; _i369 < _size367; ++_i369) {\n          var elem370 = null;\n          elem370 = new ttypes.TColumnType();\n          elem370.read(input);\n          this.row_desc.push(elem370);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.query_id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I64) {\n        this.subquery_id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_final_subquery_result = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_broadcast_serialized_rows_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_broadcast_serialized_rows_args');\n  if (this.serialized_rows !== null && this.serialized_rows !== undefined) {\n    output.writeFieldBegin('serialized_rows', Thrift.Type.STRUCT, 1);\n    this.serialized_rows.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.row_desc !== null && this.row_desc !== undefined) {\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\n    for (var iter371 in this.row_desc) {\n      if (this.row_desc.hasOwnProperty(iter371)) {\n        iter371 = this.row_desc[iter371];\n        iter371.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.query_id !== null && this.query_id !== undefined) {\n    output.writeFieldBegin('query_id', Thrift.Type.I64, 3);\n    output.writeI64(this.query_id);\n    output.writeFieldEnd();\n  }\n  if (this.subquery_id !== null && this.subquery_id !== undefined) {\n    output.writeFieldBegin('subquery_id', Thrift.Type.I64, 4);\n    output.writeI64(this.subquery_id);\n    output.writeFieldEnd();\n  }\n  if (this.is_final_subquery_result !== null && this.is_final_subquery_result !== undefined) {\n    output.writeFieldBegin('is_final_subquery_result', Thrift.Type.BOOL, 5);\n    output.writeBool(this.is_final_subquery_result);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_broadcast_serialized_rows_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_broadcast_serialized_rows_result.prototype = {};\nOmniSci_broadcast_serialized_rows_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_broadcast_serialized_rows_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_broadcast_serialized_rows_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_start_render_query_args = function(args) {\n  this.session = null;\n  this.widget_id = null;\n  this.node_idx = null;\n  this.vega_json = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.widget_id !== undefined && args.widget_id !== null) {\n      this.widget_id = args.widget_id;\n    }\n    if (args.node_idx !== undefined && args.node_idx !== null) {\n      this.node_idx = args.node_idx;\n    }\n    if (args.vega_json !== undefined && args.vega_json !== null) {\n      this.vega_json = args.vega_json;\n    }\n  }\n};\nOmniSci_start_render_query_args.prototype = {};\nOmniSci_start_render_query_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.widget_id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I16) {\n        this.node_idx = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.vega_json = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_start_render_query_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_start_render_query_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.widget_id !== null && this.widget_id !== undefined) {\n    output.writeFieldBegin('widget_id', Thrift.Type.I64, 2);\n    output.writeI64(this.widget_id);\n    output.writeFieldEnd();\n  }\n  if (this.node_idx !== null && this.node_idx !== undefined) {\n    output.writeFieldBegin('node_idx', Thrift.Type.I16, 3);\n    output.writeI16(this.node_idx);\n    output.writeFieldEnd();\n  }\n  if (this.vega_json !== null && this.vega_json !== undefined) {\n    output.writeFieldBegin('vega_json', Thrift.Type.STRING, 4);\n    output.writeString(this.vega_json);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_start_render_query_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TPendingRenderQuery(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_start_render_query_result.prototype = {};\nOmniSci_start_render_query_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TPendingRenderQuery();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_start_render_query_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_start_render_query_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_execute_next_render_step_args = function(args) {\n  this.pending_render = null;\n  this.merged_data = null;\n  if (args) {\n    if (args.pending_render !== undefined && args.pending_render !== null) {\n      this.pending_render = new ttypes.TPendingRenderQuery(args.pending_render);\n    }\n    if (args.merged_data !== undefined && args.merged_data !== null) {\n      this.merged_data = Thrift.copyMap(args.merged_data, [Thrift.copyMap, Thrift.copyMap, Thrift.copyMap, Thrift.copyList, ttypes.TRenderDatum]);\n    }\n  }\n};\nOmniSci_execute_next_render_step_args.prototype = {};\nOmniSci_execute_next_render_step_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.pending_render = new ttypes.TPendingRenderQuery();\n        this.pending_render.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.MAP) {\n        this.merged_data = {};\n        var _rtmp3373 = input.readMapBegin();\n        var _size372 = _rtmp3373.size || 0;\n        for (var _i374 = 0; _i374 < _size372; ++_i374) {\n          var key375 = null;\n          var val376 = null;\n          key375 = input.readString();\n          val376 = {};\n          var _rtmp3378 = input.readMapBegin();\n          var _size377 = _rtmp3378.size || 0;\n          for (var _i379 = 0; _i379 < _size377; ++_i379) {\n            var key380 = null;\n            var val381 = null;\n            key380 = input.readString();\n            val381 = {};\n            var _rtmp3383 = input.readMapBegin();\n            var _size382 = _rtmp3383.size || 0;\n            for (var _i384 = 0; _i384 < _size382; ++_i384) {\n              var key385 = null;\n              var val386 = null;\n              key385 = input.readString();\n              val386 = {};\n              var _rtmp3388 = input.readMapBegin();\n              var _size387 = _rtmp3388.size || 0;\n              for (var _i389 = 0; _i389 < _size387; ++_i389) {\n                var key390 = null;\n                var val391 = null;\n                key390 = input.readString();\n                val391 = [];\n                var _rtmp3393 = input.readListBegin();\n                var _size392 = _rtmp3393.size || 0;\n                for (var _i394 = 0; _i394 < _size392; ++_i394) {\n                  var elem395 = null;\n                  elem395 = new ttypes.TRenderDatum();\n                  elem395.read(input);\n                  val391.push(elem395);\n                }\n                input.readListEnd();\n                val386[key390] = val391;\n              }\n              input.readMapEnd();\n              val381[key385] = val386;\n            }\n            input.readMapEnd();\n            val376[key380] = val381;\n          }\n          input.readMapEnd();\n          this.merged_data[key375] = val376;\n        }\n        input.readMapEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_execute_next_render_step_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_execute_next_render_step_args');\n  if (this.pending_render !== null && this.pending_render !== undefined) {\n    output.writeFieldBegin('pending_render', Thrift.Type.STRUCT, 1);\n    this.pending_render.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.merged_data !== null && this.merged_data !== undefined) {\n    output.writeFieldBegin('merged_data', Thrift.Type.MAP, 2);\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(this.merged_data));\n    for (var kiter396 in this.merged_data) {\n      if (this.merged_data.hasOwnProperty(kiter396)) {\n        var viter397 = this.merged_data[kiter396];\n        output.writeString(kiter396);\n        output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(viter397));\n        for (var kiter398 in viter397) {\n          if (viter397.hasOwnProperty(kiter398)) {\n            var viter399 = viter397[kiter398];\n            output.writeString(kiter398);\n            output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(viter399));\n            for (var kiter400 in viter399) {\n              if (viter399.hasOwnProperty(kiter400)) {\n                var viter401 = viter399[kiter400];\n                output.writeString(kiter400);\n                output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.LIST, Thrift.objectLength(viter401));\n                for (var kiter402 in viter401) {\n                  if (viter401.hasOwnProperty(kiter402)) {\n                    var viter403 = viter401[kiter402];\n                    output.writeString(kiter402);\n                    output.writeListBegin(Thrift.Type.STRUCT, viter403.length);\n                    for (var iter404 in viter403) {\n                      if (viter403.hasOwnProperty(iter404)) {\n                        iter404 = viter403[iter404];\n                        iter404.write(output);\n                      }\n                    }\n                    output.writeListEnd();\n                  }\n                }\n                output.writeMapEnd();\n              }\n            }\n            output.writeMapEnd();\n          }\n        }\n        output.writeMapEnd();\n      }\n    }\n    output.writeMapEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_execute_next_render_step_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TRenderStepResult(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_execute_next_render_step_result.prototype = {};\nOmniSci_execute_next_render_step_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TRenderStepResult();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_execute_next_render_step_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_execute_next_render_step_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_insert_data_args = function(args) {\n  this.session = null;\n  this.insert_data = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.insert_data !== undefined && args.insert_data !== null) {\n      this.insert_data = new ttypes.TInsertData(args.insert_data);\n    }\n  }\n};\nOmniSci_insert_data_args.prototype = {};\nOmniSci_insert_data_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.insert_data = new ttypes.TInsertData();\n        this.insert_data.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_insert_data_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_insert_data_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.insert_data !== null && this.insert_data !== undefined) {\n    output.writeFieldBegin('insert_data', Thrift.Type.STRUCT, 2);\n    this.insert_data.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_insert_data_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_insert_data_result.prototype = {};\nOmniSci_insert_data_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_insert_data_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_insert_data_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_checkpoint_args = function(args) {\n  this.session = null;\n  this.table_id = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n  }\n};\nOmniSci_checkpoint_args.prototype = {};\nOmniSci_checkpoint_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.table_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_checkpoint_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_checkpoint_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 2);\n    output.writeI32(this.table_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_checkpoint_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_checkpoint_result.prototype = {};\nOmniSci_checkpoint_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_checkpoint_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_checkpoint_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_roles_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_roles_args.prototype = {};\nOmniSci_get_roles_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_roles_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_roles_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_roles_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [null]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_roles_result.prototype = {};\nOmniSci_get_roles_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3406 = input.readListBegin();\n        var _size405 = _rtmp3406.size || 0;\n        for (var _i407 = 0; _i407 < _size405; ++_i407) {\n          var elem408 = null;\n          elem408 = input.readString();\n          this.success.push(elem408);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_roles_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_roles_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\n    for (var iter409 in this.success) {\n      if (this.success.hasOwnProperty(iter409)) {\n        iter409 = this.success[iter409];\n        output.writeString(iter409);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_db_objects_for_grantee_args = function(args) {\n  this.session = null;\n  this.roleName = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.roleName !== undefined && args.roleName !== null) {\n      this.roleName = args.roleName;\n    }\n  }\n};\nOmniSci_get_db_objects_for_grantee_args.prototype = {};\nOmniSci_get_db_objects_for_grantee_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.roleName = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_db_objects_for_grantee_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_db_objects_for_grantee_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.roleName !== null && this.roleName !== undefined) {\n    output.writeFieldBegin('roleName', Thrift.Type.STRING, 2);\n    output.writeString(this.roleName);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_db_objects_for_grantee_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TDBObject]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_db_objects_for_grantee_result.prototype = {};\nOmniSci_get_db_objects_for_grantee_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3411 = input.readListBegin();\n        var _size410 = _rtmp3411.size || 0;\n        for (var _i412 = 0; _i412 < _size410; ++_i412) {\n          var elem413 = null;\n          elem413 = new ttypes.TDBObject();\n          elem413.read(input);\n          this.success.push(elem413);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_db_objects_for_grantee_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_db_objects_for_grantee_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter414 in this.success) {\n      if (this.success.hasOwnProperty(iter414)) {\n        iter414 = this.success[iter414];\n        iter414.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_db_object_privs_args = function(args) {\n  this.session = null;\n  this.objectName = null;\n  this.type = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.objectName !== undefined && args.objectName !== null) {\n      this.objectName = args.objectName;\n    }\n    if (args.type !== undefined && args.type !== null) {\n      this.type = args.type;\n    }\n  }\n};\nOmniSci_get_db_object_privs_args.prototype = {};\nOmniSci_get_db_object_privs_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.objectName = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_db_object_privs_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_db_object_privs_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.objectName !== null && this.objectName !== undefined) {\n    output.writeFieldBegin('objectName', Thrift.Type.STRING, 2);\n    output.writeString(this.objectName);\n    output.writeFieldEnd();\n  }\n  if (this.type !== null && this.type !== undefined) {\n    output.writeFieldBegin('type', Thrift.Type.I32, 3);\n    output.writeI32(this.type);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_db_object_privs_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [ttypes.TDBObject]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_db_object_privs_result.prototype = {};\nOmniSci_get_db_object_privs_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3416 = input.readListBegin();\n        var _size415 = _rtmp3416.size || 0;\n        for (var _i417 = 0; _i417 < _size415; ++_i417) {\n          var elem418 = null;\n          elem418 = new ttypes.TDBObject();\n          elem418.read(input);\n          this.success.push(elem418);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_db_object_privs_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_db_object_privs_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\n    for (var iter419 in this.success) {\n      if (this.success.hasOwnProperty(iter419)) {\n        iter419 = this.success[iter419];\n        iter419.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_all_roles_for_user_args = function(args) {\n  this.session = null;\n  this.userName = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.userName !== undefined && args.userName !== null) {\n      this.userName = args.userName;\n    }\n  }\n};\nOmniSci_get_all_roles_for_user_args.prototype = {};\nOmniSci_get_all_roles_for_user_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.userName = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_all_roles_for_user_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_all_roles_for_user_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.userName !== null && this.userName !== undefined) {\n    output.writeFieldBegin('userName', Thrift.Type.STRING, 2);\n    output.writeString(this.userName);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_all_roles_for_user_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyList(args.success, [null]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_all_roles_for_user_result.prototype = {};\nOmniSci_get_all_roles_for_user_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.LIST) {\n        this.success = [];\n        var _rtmp3421 = input.readListBegin();\n        var _size420 = _rtmp3421.size || 0;\n        for (var _i422 = 0; _i422 < _size420; ++_i422) {\n          var elem423 = null;\n          elem423 = input.readString();\n          this.success.push(elem423);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_all_roles_for_user_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_all_roles_for_user_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\n    for (var iter424 in this.success) {\n      if (this.success.hasOwnProperty(iter424)) {\n        iter424 = this.success[iter424];\n        output.writeString(iter424);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_has_role_args = function(args) {\n  this.session = null;\n  this.granteeName = null;\n  this.roleName = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.granteeName !== undefined && args.granteeName !== null) {\n      this.granteeName = args.granteeName;\n    }\n    if (args.roleName !== undefined && args.roleName !== null) {\n      this.roleName = args.roleName;\n    }\n  }\n};\nOmniSci_has_role_args.prototype = {};\nOmniSci_has_role_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.granteeName = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.roleName = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_has_role_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_has_role_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.granteeName !== null && this.granteeName !== undefined) {\n    output.writeFieldBegin('granteeName', Thrift.Type.STRING, 2);\n    output.writeString(this.granteeName);\n    output.writeFieldEnd();\n  }\n  if (this.roleName !== null && this.roleName !== undefined) {\n    output.writeFieldBegin('roleName', Thrift.Type.STRING, 3);\n    output.writeString(this.roleName);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_has_role_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_has_role_result.prototype = {};\nOmniSci_has_role_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.BOOL) {\n        this.success = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_has_role_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_has_role_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.BOOL, 0);\n    output.writeBool(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_has_object_privilege_args = function(args) {\n  this.session = null;\n  this.granteeName = null;\n  this.ObjectName = null;\n  this.objectType = null;\n  this.permissions = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.granteeName !== undefined && args.granteeName !== null) {\n      this.granteeName = args.granteeName;\n    }\n    if (args.ObjectName !== undefined && args.ObjectName !== null) {\n      this.ObjectName = args.ObjectName;\n    }\n    if (args.objectType !== undefined && args.objectType !== null) {\n      this.objectType = args.objectType;\n    }\n    if (args.permissions !== undefined && args.permissions !== null) {\n      this.permissions = new ttypes.TDBObjectPermissions(args.permissions);\n    }\n  }\n};\nOmniSci_has_object_privilege_args.prototype = {};\nOmniSci_has_object_privilege_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.granteeName = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.ObjectName = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.objectType = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.permissions = new ttypes.TDBObjectPermissions();\n        this.permissions.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_has_object_privilege_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_has_object_privilege_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.granteeName !== null && this.granteeName !== undefined) {\n    output.writeFieldBegin('granteeName', Thrift.Type.STRING, 2);\n    output.writeString(this.granteeName);\n    output.writeFieldEnd();\n  }\n  if (this.ObjectName !== null && this.ObjectName !== undefined) {\n    output.writeFieldBegin('ObjectName', Thrift.Type.STRING, 3);\n    output.writeString(this.ObjectName);\n    output.writeFieldEnd();\n  }\n  if (this.objectType !== null && this.objectType !== undefined) {\n    output.writeFieldBegin('objectType', Thrift.Type.I32, 4);\n    output.writeI32(this.objectType);\n    output.writeFieldEnd();\n  }\n  if (this.permissions !== null && this.permissions !== undefined) {\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 5);\n    this.permissions.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_has_object_privilege_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_has_object_privilege_result.prototype = {};\nOmniSci_has_object_privilege_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.BOOL) {\n        this.success = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_has_object_privilege_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_has_object_privilege_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.BOOL, 0);\n    output.writeBool(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_license_key_args = function(args) {\n  this.session = null;\n  this.key = null;\n  this.nonce = '';\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.key !== undefined && args.key !== null) {\n      this.key = args.key;\n    }\n    if (args.nonce !== undefined && args.nonce !== null) {\n      this.nonce = args.nonce;\n    }\n  }\n};\nOmniSci_set_license_key_args.prototype = {};\nOmniSci_set_license_key_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.key = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.nonce = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_license_key_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_license_key_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.key !== null && this.key !== undefined) {\n    output.writeFieldBegin('key', Thrift.Type.STRING, 2);\n    output.writeString(this.key);\n    output.writeFieldEnd();\n  }\n  if (this.nonce !== null && this.nonce !== undefined) {\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 3);\n    output.writeString(this.nonce);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_set_license_key_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TLicenseInfo(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_set_license_key_result.prototype = {};\nOmniSci_set_license_key_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TLicenseInfo();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_set_license_key_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_set_license_key_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_license_claims_args = function(args) {\n  this.session = null;\n  this.nonce = '';\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.nonce !== undefined && args.nonce !== null) {\n      this.nonce = args.nonce;\n    }\n  }\n};\nOmniSci_get_license_claims_args.prototype = {};\nOmniSci_get_license_claims_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.nonce = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_license_claims_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_license_claims_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.nonce !== null && this.nonce !== undefined) {\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 2);\n    output.writeString(this.nonce);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_license_claims_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = new ttypes.TLicenseInfo(args.success);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_license_claims_result.prototype = {};\nOmniSci_get_license_claims_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.success = new ttypes.TLicenseInfo();\n        this.success.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_license_claims_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_license_claims_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\n    this.success.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_device_parameters_args = function(args) {\n  this.session = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n  }\n};\nOmniSci_get_device_parameters_args.prototype = {};\nOmniSci_get_device_parameters_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_device_parameters_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_device_parameters_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_get_device_parameters_result = function(args) {\n  this.success = null;\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.success !== undefined && args.success !== null) {\n      this.success = Thrift.copyMap(args.success, [null]);\n    }\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_get_device_parameters_result.prototype = {};\nOmniSci_get_device_parameters_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 0:\n      if (ftype == Thrift.Type.MAP) {\n        this.success = {};\n        var _rtmp3426 = input.readMapBegin();\n        var _size425 = _rtmp3426.size || 0;\n        for (var _i427 = 0; _i427 < _size425; ++_i427) {\n          var key428 = null;\n          var val429 = null;\n          key428 = input.readString();\n          val429 = input.readString();\n          this.success[key428] = val429;\n        }\n        input.readMapEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_get_device_parameters_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_get_device_parameters_result');\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.MAP, 0);\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(this.success));\n    for (var kiter430 in this.success) {\n      if (this.success.hasOwnProperty(kiter430)) {\n        var viter431 = this.success[kiter430];\n        output.writeString(kiter430);\n        output.writeString(viter431);\n      }\n    }\n    output.writeMapEnd();\n    output.writeFieldEnd();\n  }\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_register_runtime_extension_functions_args = function(args) {\n  this.session = null;\n  this.udfs = null;\n  this.udtfs = null;\n  this.device_ir_map = null;\n  if (args) {\n    if (args.session !== undefined && args.session !== null) {\n      this.session = args.session;\n    }\n    if (args.udfs !== undefined && args.udfs !== null) {\n      this.udfs = Thrift.copyList(args.udfs, [extension_functions_ttypes.TUserDefinedFunction]);\n    }\n    if (args.udtfs !== undefined && args.udtfs !== null) {\n      this.udtfs = Thrift.copyList(args.udtfs, [extension_functions_ttypes.TUserDefinedTableFunction]);\n    }\n    if (args.device_ir_map !== undefined && args.device_ir_map !== null) {\n      this.device_ir_map = Thrift.copyMap(args.device_ir_map, [null]);\n    }\n  }\n};\nOmniSci_register_runtime_extension_functions_args.prototype = {};\nOmniSci_register_runtime_extension_functions_args.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.session = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.udfs = [];\n        var _rtmp3433 = input.readListBegin();\n        var _size432 = _rtmp3433.size || 0;\n        for (var _i434 = 0; _i434 < _size432; ++_i434) {\n          var elem435 = null;\n          elem435 = new extension_functions_ttypes.TUserDefinedFunction();\n          elem435.read(input);\n          this.udfs.push(elem435);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.udtfs = [];\n        var _rtmp3437 = input.readListBegin();\n        var _size436 = _rtmp3437.size || 0;\n        for (var _i438 = 0; _i438 < _size436; ++_i438) {\n          var elem439 = null;\n          elem439 = new extension_functions_ttypes.TUserDefinedTableFunction();\n          elem439.read(input);\n          this.udtfs.push(elem439);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.MAP) {\n        this.device_ir_map = {};\n        var _rtmp3441 = input.readMapBegin();\n        var _size440 = _rtmp3441.size || 0;\n        for (var _i442 = 0; _i442 < _size440; ++_i442) {\n          var key443 = null;\n          var val444 = null;\n          key443 = input.readString();\n          val444 = input.readString();\n          this.device_ir_map[key443] = val444;\n        }\n        input.readMapEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_register_runtime_extension_functions_args.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_register_runtime_extension_functions_args');\n  if (this.session !== null && this.session !== undefined) {\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\n    output.writeString(this.session);\n    output.writeFieldEnd();\n  }\n  if (this.udfs !== null && this.udfs !== undefined) {\n    output.writeFieldBegin('udfs', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.STRUCT, this.udfs.length);\n    for (var iter445 in this.udfs) {\n      if (this.udfs.hasOwnProperty(iter445)) {\n        iter445 = this.udfs[iter445];\n        iter445.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.udtfs !== null && this.udtfs !== undefined) {\n    output.writeFieldBegin('udtfs', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRUCT, this.udtfs.length);\n    for (var iter446 in this.udtfs) {\n      if (this.udtfs.hasOwnProperty(iter446)) {\n        iter446 = this.udtfs[iter446];\n        iter446.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.device_ir_map !== null && this.device_ir_map !== undefined) {\n    output.writeFieldBegin('device_ir_map', Thrift.Type.MAP, 4);\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(this.device_ir_map));\n    for (var kiter447 in this.device_ir_map) {\n      if (this.device_ir_map.hasOwnProperty(kiter447)) {\n        var viter448 = this.device_ir_map[kiter447];\n        output.writeString(kiter447);\n        output.writeString(viter448);\n      }\n    }\n    output.writeMapEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSci_register_runtime_extension_functions_result = function(args) {\n  this.e = null;\n  if (args instanceof ttypes.TOmniSciException) {\n    this.e = args;\n    return;\n  }\n  if (args) {\n    if (args.e !== undefined && args.e !== null) {\n      this.e = args.e;\n    }\n  }\n};\nOmniSci_register_runtime_extension_functions_result.prototype = {};\nOmniSci_register_runtime_extension_functions_result.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.e = new ttypes.TOmniSciException();\n        this.e.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nOmniSci_register_runtime_extension_functions_result.prototype.write = function(output) {\n  output.writeStructBegin('OmniSci_register_runtime_extension_functions_result');\n  if (this.e !== null && this.e !== undefined) {\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\n    this.e.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar OmniSciClient = exports.Client = function(output, pClass) {\n  this.output = output;\n  this.pClass = pClass;\n  this._seqid = 0;\n  this._reqs = {};\n};\nOmniSciClient.prototype = {};\nOmniSciClient.prototype.seqid = function() { return this._seqid; };\nOmniSciClient.prototype.new_seqid = function() { return this._seqid += 1; };\n\nOmniSciClient.prototype.connect = function(user, passwd, dbname, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_connect(user, passwd, dbname);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_connect(user, passwd, dbname);\n  }\n};\n\nOmniSciClient.prototype.send_connect = function(user, passwd, dbname) {\n  var output = new this.pClass(this.output);\n  var params = {\n    user: user,\n    passwd: passwd,\n    dbname: dbname\n  };\n  var args = new OmniSci_connect_args(params);\n  try {\n    output.writeMessageBegin('connect', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_connect = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_connect_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('connect failed: unknown result');\n};\n\nOmniSciClient.prototype.krb5_connect = function(inputToken, dbname, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_krb5_connect(inputToken, dbname);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_krb5_connect(inputToken, dbname);\n  }\n};\n\nOmniSciClient.prototype.send_krb5_connect = function(inputToken, dbname) {\n  var output = new this.pClass(this.output);\n  var params = {\n    inputToken: inputToken,\n    dbname: dbname\n  };\n  var args = new OmniSci_krb5_connect_args(params);\n  try {\n    output.writeMessageBegin('krb5_connect', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_krb5_connect = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_krb5_connect_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('krb5_connect failed: unknown result');\n};\n\nOmniSciClient.prototype.disconnect = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_disconnect(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_disconnect(session);\n  }\n};\n\nOmniSciClient.prototype.send_disconnect = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_disconnect_args(params);\n  try {\n    output.writeMessageBegin('disconnect', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_disconnect = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_disconnect_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.switch_database = function(session, dbname, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_switch_database(session, dbname);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_switch_database(session, dbname);\n  }\n};\n\nOmniSciClient.prototype.send_switch_database = function(session, dbname) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dbname: dbname\n  };\n  var args = new OmniSci_switch_database_args(params);\n  try {\n    output.writeMessageBegin('switch_database', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_switch_database = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_switch_database_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.clone_session = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_clone_session(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_clone_session(session);\n  }\n};\n\nOmniSciClient.prototype.send_clone_session = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_clone_session_args(params);\n  try {\n    output.writeMessageBegin('clone_session', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_clone_session = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_clone_session_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('clone_session failed: unknown result');\n};\n\nOmniSciClient.prototype.get_server_status = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_server_status(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_server_status(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_server_status = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_server_status_args(params);\n  try {\n    output.writeMessageBegin('get_server_status', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_server_status = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_server_status_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_server_status failed: unknown result');\n};\n\nOmniSciClient.prototype.get_status = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_status(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_status(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_status = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_status_args(params);\n  try {\n    output.writeMessageBegin('get_status', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_status = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_status_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_status failed: unknown result');\n};\n\nOmniSciClient.prototype.get_hardware_info = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_hardware_info(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_hardware_info(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_hardware_info = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_hardware_info_args(params);\n  try {\n    output.writeMessageBegin('get_hardware_info', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_hardware_info = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_hardware_info_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_hardware_info failed: unknown result');\n};\n\nOmniSciClient.prototype.get_tables = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_tables(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_tables(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_tables = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_tables_args(params);\n  try {\n    output.writeMessageBegin('get_tables', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_tables = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_tables_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_tables failed: unknown result');\n};\n\nOmniSciClient.prototype.get_physical_tables = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_physical_tables(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_physical_tables(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_physical_tables = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_physical_tables_args(params);\n  try {\n    output.writeMessageBegin('get_physical_tables', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_physical_tables = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_physical_tables_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_physical_tables failed: unknown result');\n};\n\nOmniSciClient.prototype.get_views = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_views(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_views(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_views = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_views_args(params);\n  try {\n    output.writeMessageBegin('get_views', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_views = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_views_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_views failed: unknown result');\n};\n\nOmniSciClient.prototype.get_tables_meta = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_tables_meta(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_tables_meta(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_tables_meta = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_tables_meta_args(params);\n  try {\n    output.writeMessageBegin('get_tables_meta', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_tables_meta = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_tables_meta_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_tables_meta failed: unknown result');\n};\n\nOmniSciClient.prototype.get_table_details = function(session, table_name, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_table_details(session, table_name);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_table_details(session, table_name);\n  }\n};\n\nOmniSciClient.prototype.send_get_table_details = function(session, table_name) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name\n  };\n  var args = new OmniSci_get_table_details_args(params);\n  try {\n    output.writeMessageBegin('get_table_details', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_table_details = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_table_details_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_table_details failed: unknown result');\n};\n\nOmniSciClient.prototype.get_internal_table_details = function(session, table_name, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_internal_table_details(session, table_name);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_internal_table_details(session, table_name);\n  }\n};\n\nOmniSciClient.prototype.send_get_internal_table_details = function(session, table_name) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name\n  };\n  var args = new OmniSci_get_internal_table_details_args(params);\n  try {\n    output.writeMessageBegin('get_internal_table_details', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_internal_table_details = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_internal_table_details_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_internal_table_details failed: unknown result');\n};\n\nOmniSciClient.prototype.get_users = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_users(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_users(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_users = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_users_args(params);\n  try {\n    output.writeMessageBegin('get_users', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_users = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_users_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_users failed: unknown result');\n};\n\nOmniSciClient.prototype.get_databases = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_databases(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_databases(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_databases = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_databases_args(params);\n  try {\n    output.writeMessageBegin('get_databases', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_databases = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_databases_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_databases failed: unknown result');\n};\n\nOmniSciClient.prototype.get_version = function(callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_version();\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_version();\n  }\n};\n\nOmniSciClient.prototype.send_get_version = function() {\n  var output = new this.pClass(this.output);\n  var args = new OmniSci_get_version_args();\n  try {\n    output.writeMessageBegin('get_version', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_version = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_version_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_version failed: unknown result');\n};\n\nOmniSciClient.prototype.start_heap_profile = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_start_heap_profile(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_start_heap_profile(session);\n  }\n};\n\nOmniSciClient.prototype.send_start_heap_profile = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_start_heap_profile_args(params);\n  try {\n    output.writeMessageBegin('start_heap_profile', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_start_heap_profile = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_start_heap_profile_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.stop_heap_profile = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_stop_heap_profile(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_stop_heap_profile(session);\n  }\n};\n\nOmniSciClient.prototype.send_stop_heap_profile = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_stop_heap_profile_args(params);\n  try {\n    output.writeMessageBegin('stop_heap_profile', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_stop_heap_profile = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_stop_heap_profile_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.get_heap_profile = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_heap_profile(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_heap_profile(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_heap_profile = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_heap_profile_args(params);\n  try {\n    output.writeMessageBegin('get_heap_profile', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_heap_profile = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_heap_profile_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_heap_profile failed: unknown result');\n};\n\nOmniSciClient.prototype.get_memory = function(session, memory_level, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_memory(session, memory_level);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_memory(session, memory_level);\n  }\n};\n\nOmniSciClient.prototype.send_get_memory = function(session, memory_level) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    memory_level: memory_level\n  };\n  var args = new OmniSci_get_memory_args(params);\n  try {\n    output.writeMessageBegin('get_memory', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_memory = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_memory_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_memory failed: unknown result');\n};\n\nOmniSciClient.prototype.clear_cpu_memory = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_clear_cpu_memory(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_clear_cpu_memory(session);\n  }\n};\n\nOmniSciClient.prototype.send_clear_cpu_memory = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_clear_cpu_memory_args(params);\n  try {\n    output.writeMessageBegin('clear_cpu_memory', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_clear_cpu_memory = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_clear_cpu_memory_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.clear_gpu_memory = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_clear_gpu_memory(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_clear_gpu_memory(session);\n  }\n};\n\nOmniSciClient.prototype.send_clear_gpu_memory = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_clear_gpu_memory_args(params);\n  try {\n    output.writeMessageBegin('clear_gpu_memory', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_clear_gpu_memory = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_clear_gpu_memory_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.set_table_epoch = function(session, db_id, table_id, new_epoch, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_set_table_epoch(session, db_id, table_id, new_epoch);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_set_table_epoch(session, db_id, table_id, new_epoch);\n  }\n};\n\nOmniSciClient.prototype.send_set_table_epoch = function(session, db_id, table_id, new_epoch) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    db_id: db_id,\n    table_id: table_id,\n    new_epoch: new_epoch\n  };\n  var args = new OmniSci_set_table_epoch_args(params);\n  try {\n    output.writeMessageBegin('set_table_epoch', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_set_table_epoch = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_set_table_epoch_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.set_table_epoch_by_name = function(session, table_name, new_epoch, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_set_table_epoch_by_name(session, table_name, new_epoch);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_set_table_epoch_by_name(session, table_name, new_epoch);\n  }\n};\n\nOmniSciClient.prototype.send_set_table_epoch_by_name = function(session, table_name, new_epoch) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name,\n    new_epoch: new_epoch\n  };\n  var args = new OmniSci_set_table_epoch_by_name_args(params);\n  try {\n    output.writeMessageBegin('set_table_epoch_by_name', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_set_table_epoch_by_name = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_set_table_epoch_by_name_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.get_table_epoch = function(session, db_id, table_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_table_epoch(session, db_id, table_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_table_epoch(session, db_id, table_id);\n  }\n};\n\nOmniSciClient.prototype.send_get_table_epoch = function(session, db_id, table_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    db_id: db_id,\n    table_id: table_id\n  };\n  var args = new OmniSci_get_table_epoch_args(params);\n  try {\n    output.writeMessageBegin('get_table_epoch', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_table_epoch = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_table_epoch_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_table_epoch failed: unknown result');\n};\n\nOmniSciClient.prototype.get_table_epoch_by_name = function(session, table_name, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_table_epoch_by_name(session, table_name);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_table_epoch_by_name(session, table_name);\n  }\n};\n\nOmniSciClient.prototype.send_get_table_epoch_by_name = function(session, table_name) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name\n  };\n  var args = new OmniSci_get_table_epoch_by_name_args(params);\n  try {\n    output.writeMessageBegin('get_table_epoch_by_name', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_table_epoch_by_name = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_table_epoch_by_name_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_table_epoch_by_name failed: unknown result');\n};\n\nOmniSciClient.prototype.get_table_epochs = function(session, db_id, table_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_table_epochs(session, db_id, table_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_table_epochs(session, db_id, table_id);\n  }\n};\n\nOmniSciClient.prototype.send_get_table_epochs = function(session, db_id, table_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    db_id: db_id,\n    table_id: table_id\n  };\n  var args = new OmniSci_get_table_epochs_args(params);\n  try {\n    output.writeMessageBegin('get_table_epochs', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_table_epochs = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_table_epochs_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_table_epochs failed: unknown result');\n};\n\nOmniSciClient.prototype.set_table_epochs = function(session, db_id, table_epochs, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_set_table_epochs(session, db_id, table_epochs);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_set_table_epochs(session, db_id, table_epochs);\n  }\n};\n\nOmniSciClient.prototype.send_set_table_epochs = function(session, db_id, table_epochs) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    db_id: db_id,\n    table_epochs: table_epochs\n  };\n  var args = new OmniSci_set_table_epochs_args(params);\n  try {\n    output.writeMessageBegin('set_table_epochs', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_set_table_epochs = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_set_table_epochs_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  callback(null);\n};\n\nOmniSciClient.prototype.get_session_info = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_session_info(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_session_info(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_session_info = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_session_info_args(params);\n  try {\n    output.writeMessageBegin('get_session_info', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_session_info = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_session_info_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_session_info failed: unknown result');\n};\n\nOmniSciClient.prototype.sql_execute = function(session, query, column_format, nonce, first_n, at_most_n, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_sql_execute(session, query, column_format, nonce, first_n, at_most_n);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_sql_execute(session, query, column_format, nonce, first_n, at_most_n);\n  }\n};\n\nOmniSciClient.prototype.send_sql_execute = function(session, query, column_format, nonce, first_n, at_most_n) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    query: query,\n    column_format: column_format,\n    nonce: nonce,\n    first_n: first_n,\n    at_most_n: at_most_n\n  };\n  var args = new OmniSci_sql_execute_args(params);\n  try {\n    output.writeMessageBegin('sql_execute', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_sql_execute = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_sql_execute_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('sql_execute failed: unknown result');\n};\n\nOmniSciClient.prototype.sql_execute_df = function(session, query, device_type, device_id, first_n, transport_method, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_sql_execute_df(session, query, device_type, device_id, first_n, transport_method);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_sql_execute_df(session, query, device_type, device_id, first_n, transport_method);\n  }\n};\n\nOmniSciClient.prototype.send_sql_execute_df = function(session, query, device_type, device_id, first_n, transport_method) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    query: query,\n    device_type: device_type,\n    device_id: device_id,\n    first_n: first_n,\n    transport_method: transport_method\n  };\n  var args = new OmniSci_sql_execute_df_args(params);\n  try {\n    output.writeMessageBegin('sql_execute_df', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_sql_execute_df = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_sql_execute_df_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('sql_execute_df failed: unknown result');\n};\n\nOmniSciClient.prototype.sql_execute_gdf = function(session, query, device_id, first_n, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_sql_execute_gdf(session, query, device_id, first_n);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_sql_execute_gdf(session, query, device_id, first_n);\n  }\n};\n\nOmniSciClient.prototype.send_sql_execute_gdf = function(session, query, device_id, first_n) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    query: query,\n    device_id: device_id,\n    first_n: first_n\n  };\n  var args = new OmniSci_sql_execute_gdf_args(params);\n  try {\n    output.writeMessageBegin('sql_execute_gdf', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_sql_execute_gdf = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_sql_execute_gdf_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('sql_execute_gdf failed: unknown result');\n};\n\nOmniSciClient.prototype.deallocate_df = function(session, df, device_type, device_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_deallocate_df(session, df, device_type, device_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_deallocate_df(session, df, device_type, device_id);\n  }\n};\n\nOmniSciClient.prototype.send_deallocate_df = function(session, df, device_type, device_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    df: df,\n    device_type: device_type,\n    device_id: device_id\n  };\n  var args = new OmniSci_deallocate_df_args(params);\n  try {\n    output.writeMessageBegin('deallocate_df', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_deallocate_df = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_deallocate_df_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.interrupt = function(query_session, interrupt_session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_interrupt(query_session, interrupt_session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_interrupt(query_session, interrupt_session);\n  }\n};\n\nOmniSciClient.prototype.send_interrupt = function(query_session, interrupt_session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    query_session: query_session,\n    interrupt_session: interrupt_session\n  };\n  var args = new OmniSci_interrupt_args(params);\n  try {\n    output.writeMessageBegin('interrupt', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_interrupt = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_interrupt_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.sql_validate = function(session, query, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_sql_validate(session, query);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_sql_validate(session, query);\n  }\n};\n\nOmniSciClient.prototype.send_sql_validate = function(session, query) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    query: query\n  };\n  var args = new OmniSci_sql_validate_args(params);\n  try {\n    output.writeMessageBegin('sql_validate', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_sql_validate = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_sql_validate_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('sql_validate failed: unknown result');\n};\n\nOmniSciClient.prototype.get_completion_hints = function(session, sql, cursor, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_completion_hints(session, sql, cursor);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_completion_hints(session, sql, cursor);\n  }\n};\n\nOmniSciClient.prototype.send_get_completion_hints = function(session, sql, cursor) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    sql: sql,\n    cursor: cursor\n  };\n  var args = new OmniSci_get_completion_hints_args(params);\n  try {\n    output.writeMessageBegin('get_completion_hints', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_completion_hints = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_completion_hints_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_completion_hints failed: unknown result');\n};\n\nOmniSciClient.prototype.set_execution_mode = function(session, mode, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_set_execution_mode(session, mode);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_set_execution_mode(session, mode);\n  }\n};\n\nOmniSciClient.prototype.send_set_execution_mode = function(session, mode) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    mode: mode\n  };\n  var args = new OmniSci_set_execution_mode_args(params);\n  try {\n    output.writeMessageBegin('set_execution_mode', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_set_execution_mode = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_set_execution_mode_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.render_vega = function(session, widget_id, vega_json, compression_level, nonce, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_render_vega(session, widget_id, vega_json, compression_level, nonce);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_render_vega(session, widget_id, vega_json, compression_level, nonce);\n  }\n};\n\nOmniSciClient.prototype.send_render_vega = function(session, widget_id, vega_json, compression_level, nonce) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    widget_id: widget_id,\n    vega_json: vega_json,\n    compression_level: compression_level,\n    nonce: nonce\n  };\n  var args = new OmniSci_render_vega_args(params);\n  try {\n    output.writeMessageBegin('render_vega', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_render_vega = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_render_vega_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('render_vega failed: unknown result');\n};\n\nOmniSciClient.prototype.get_result_row_for_pixel = function(session, widget_id, pixel, table_col_names, column_format, pixelRadius, nonce, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_result_row_for_pixel(session, widget_id, pixel, table_col_names, column_format, pixelRadius, nonce);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_result_row_for_pixel(session, widget_id, pixel, table_col_names, column_format, pixelRadius, nonce);\n  }\n};\n\nOmniSciClient.prototype.send_get_result_row_for_pixel = function(session, widget_id, pixel, table_col_names, column_format, pixelRadius, nonce) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    widget_id: widget_id,\n    pixel: pixel,\n    table_col_names: table_col_names,\n    column_format: column_format,\n    pixelRadius: pixelRadius,\n    nonce: nonce\n  };\n  var args = new OmniSci_get_result_row_for_pixel_args(params);\n  try {\n    output.writeMessageBegin('get_result_row_for_pixel', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_result_row_for_pixel = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_result_row_for_pixel_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_result_row_for_pixel failed: unknown result');\n};\n\nOmniSciClient.prototype.get_dashboard = function(session, dashboard_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_dashboard(session, dashboard_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_dashboard(session, dashboard_id);\n  }\n};\n\nOmniSciClient.prototype.send_get_dashboard = function(session, dashboard_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_id: dashboard_id\n  };\n  var args = new OmniSci_get_dashboard_args(params);\n  try {\n    output.writeMessageBegin('get_dashboard', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_dashboard = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_dashboard_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_dashboard failed: unknown result');\n};\n\nOmniSciClient.prototype.get_dashboards = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_dashboards(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_dashboards(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_dashboards = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_dashboards_args(params);\n  try {\n    output.writeMessageBegin('get_dashboards', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_dashboards = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_dashboards_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_dashboards failed: unknown result');\n};\n\nOmniSciClient.prototype.create_dashboard = function(session, dashboard_name, dashboard_state, image_hash, dashboard_metadata, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_create_dashboard(session, dashboard_name, dashboard_state, image_hash, dashboard_metadata);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_create_dashboard(session, dashboard_name, dashboard_state, image_hash, dashboard_metadata);\n  }\n};\n\nOmniSciClient.prototype.send_create_dashboard = function(session, dashboard_name, dashboard_state, image_hash, dashboard_metadata) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_name: dashboard_name,\n    dashboard_state: dashboard_state,\n    image_hash: image_hash,\n    dashboard_metadata: dashboard_metadata\n  };\n  var args = new OmniSci_create_dashboard_args(params);\n  try {\n    output.writeMessageBegin('create_dashboard', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_create_dashboard = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_create_dashboard_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('create_dashboard failed: unknown result');\n};\n\nOmniSciClient.prototype.replace_dashboard = function(session, dashboard_id, dashboard_name, dashboard_owner, dashboard_state, image_hash, dashboard_metadata, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_replace_dashboard(session, dashboard_id, dashboard_name, dashboard_owner, dashboard_state, image_hash, dashboard_metadata);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_replace_dashboard(session, dashboard_id, dashboard_name, dashboard_owner, dashboard_state, image_hash, dashboard_metadata);\n  }\n};\n\nOmniSciClient.prototype.send_replace_dashboard = function(session, dashboard_id, dashboard_name, dashboard_owner, dashboard_state, image_hash, dashboard_metadata) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_id: dashboard_id,\n    dashboard_name: dashboard_name,\n    dashboard_owner: dashboard_owner,\n    dashboard_state: dashboard_state,\n    image_hash: image_hash,\n    dashboard_metadata: dashboard_metadata\n  };\n  var args = new OmniSci_replace_dashboard_args(params);\n  try {\n    output.writeMessageBegin('replace_dashboard', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_replace_dashboard = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_replace_dashboard_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.delete_dashboard = function(session, dashboard_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_delete_dashboard(session, dashboard_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_delete_dashboard(session, dashboard_id);\n  }\n};\n\nOmniSciClient.prototype.send_delete_dashboard = function(session, dashboard_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_id: dashboard_id\n  };\n  var args = new OmniSci_delete_dashboard_args(params);\n  try {\n    output.writeMessageBegin('delete_dashboard', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_delete_dashboard = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_delete_dashboard_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.share_dashboards = function(session, dashboard_ids, groups, permissions, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_share_dashboards(session, dashboard_ids, groups, permissions);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_share_dashboards(session, dashboard_ids, groups, permissions);\n  }\n};\n\nOmniSciClient.prototype.send_share_dashboards = function(session, dashboard_ids, groups, permissions) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_ids: dashboard_ids,\n    groups: groups,\n    permissions: permissions\n  };\n  var args = new OmniSci_share_dashboards_args(params);\n  try {\n    output.writeMessageBegin('share_dashboards', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_share_dashboards = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_share_dashboards_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.delete_dashboards = function(session, dashboard_ids, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_delete_dashboards(session, dashboard_ids);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_delete_dashboards(session, dashboard_ids);\n  }\n};\n\nOmniSciClient.prototype.send_delete_dashboards = function(session, dashboard_ids) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_ids: dashboard_ids\n  };\n  var args = new OmniSci_delete_dashboards_args(params);\n  try {\n    output.writeMessageBegin('delete_dashboards', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_delete_dashboards = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_delete_dashboards_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.share_dashboard = function(session, dashboard_id, groups, objects, permissions, grant_role, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_share_dashboard(session, dashboard_id, groups, objects, permissions, grant_role);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_share_dashboard(session, dashboard_id, groups, objects, permissions, grant_role);\n  }\n};\n\nOmniSciClient.prototype.send_share_dashboard = function(session, dashboard_id, groups, objects, permissions, grant_role) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_id: dashboard_id,\n    groups: groups,\n    objects: objects,\n    permissions: permissions,\n    grant_role: grant_role\n  };\n  var args = new OmniSci_share_dashboard_args(params);\n  try {\n    output.writeMessageBegin('share_dashboard', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_share_dashboard = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_share_dashboard_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.unshare_dashboard = function(session, dashboard_id, groups, objects, permissions, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_unshare_dashboard(session, dashboard_id, groups, objects, permissions);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_unshare_dashboard(session, dashboard_id, groups, objects, permissions);\n  }\n};\n\nOmniSciClient.prototype.send_unshare_dashboard = function(session, dashboard_id, groups, objects, permissions) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_id: dashboard_id,\n    groups: groups,\n    objects: objects,\n    permissions: permissions\n  };\n  var args = new OmniSci_unshare_dashboard_args(params);\n  try {\n    output.writeMessageBegin('unshare_dashboard', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_unshare_dashboard = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_unshare_dashboard_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.unshare_dashboards = function(session, dashboard_ids, groups, permissions, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_unshare_dashboards(session, dashboard_ids, groups, permissions);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_unshare_dashboards(session, dashboard_ids, groups, permissions);\n  }\n};\n\nOmniSciClient.prototype.send_unshare_dashboards = function(session, dashboard_ids, groups, permissions) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_ids: dashboard_ids,\n    groups: groups,\n    permissions: permissions\n  };\n  var args = new OmniSci_unshare_dashboards_args(params);\n  try {\n    output.writeMessageBegin('unshare_dashboards', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_unshare_dashboards = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_unshare_dashboards_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.get_dashboard_grantees = function(session, dashboard_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_dashboard_grantees(session, dashboard_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_dashboard_grantees(session, dashboard_id);\n  }\n};\n\nOmniSciClient.prototype.send_get_dashboard_grantees = function(session, dashboard_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    dashboard_id: dashboard_id\n  };\n  var args = new OmniSci_get_dashboard_grantees_args(params);\n  try {\n    output.writeMessageBegin('get_dashboard_grantees', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_dashboard_grantees = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_dashboard_grantees_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_dashboard_grantees failed: unknown result');\n};\n\nOmniSciClient.prototype.get_link_view = function(session, link, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_link_view(session, link);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_link_view(session, link);\n  }\n};\n\nOmniSciClient.prototype.send_get_link_view = function(session, link) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    link: link\n  };\n  var args = new OmniSci_get_link_view_args(params);\n  try {\n    output.writeMessageBegin('get_link_view', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_link_view = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_link_view_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_link_view failed: unknown result');\n};\n\nOmniSciClient.prototype.create_link = function(session, view_state, view_metadata, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_create_link(session, view_state, view_metadata);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_create_link(session, view_state, view_metadata);\n  }\n};\n\nOmniSciClient.prototype.send_create_link = function(session, view_state, view_metadata) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    view_state: view_state,\n    view_metadata: view_metadata\n  };\n  var args = new OmniSci_create_link_args(params);\n  try {\n    output.writeMessageBegin('create_link', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_create_link = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_create_link_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('create_link failed: unknown result');\n};\n\nOmniSciClient.prototype.load_table_binary = function(session, table_name, rows, column_names, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_load_table_binary(session, table_name, rows, column_names);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_load_table_binary(session, table_name, rows, column_names);\n  }\n};\n\nOmniSciClient.prototype.send_load_table_binary = function(session, table_name, rows, column_names) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name,\n    rows: rows,\n    column_names: column_names\n  };\n  var args = new OmniSci_load_table_binary_args(params);\n  try {\n    output.writeMessageBegin('load_table_binary', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_load_table_binary = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_load_table_binary_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.load_table_binary_columnar = function(session, table_name, cols, column_names, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_load_table_binary_columnar(session, table_name, cols, column_names);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_load_table_binary_columnar(session, table_name, cols, column_names);\n  }\n};\n\nOmniSciClient.prototype.send_load_table_binary_columnar = function(session, table_name, cols, column_names) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name,\n    cols: cols,\n    column_names: column_names\n  };\n  var args = new OmniSci_load_table_binary_columnar_args(params);\n  try {\n    output.writeMessageBegin('load_table_binary_columnar', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_load_table_binary_columnar = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_load_table_binary_columnar_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.load_table_binary_arrow = function(session, table_name, arrow_stream, use_column_names, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_load_table_binary_arrow(session, table_name, arrow_stream, use_column_names);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_load_table_binary_arrow(session, table_name, arrow_stream, use_column_names);\n  }\n};\n\nOmniSciClient.prototype.send_load_table_binary_arrow = function(session, table_name, arrow_stream, use_column_names) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name,\n    arrow_stream: arrow_stream,\n    use_column_names: use_column_names\n  };\n  var args = new OmniSci_load_table_binary_arrow_args(params);\n  try {\n    output.writeMessageBegin('load_table_binary_arrow', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_load_table_binary_arrow = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_load_table_binary_arrow_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.load_table = function(session, table_name, rows, column_names, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_load_table(session, table_name, rows, column_names);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_load_table(session, table_name, rows, column_names);\n  }\n};\n\nOmniSciClient.prototype.send_load_table = function(session, table_name, rows, column_names) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name,\n    rows: rows,\n    column_names: column_names\n  };\n  var args = new OmniSci_load_table_args(params);\n  try {\n    output.writeMessageBegin('load_table', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_load_table = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_load_table_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.detect_column_types = function(session, file_name, copy_params, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_detect_column_types(session, file_name, copy_params);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_detect_column_types(session, file_name, copy_params);\n  }\n};\n\nOmniSciClient.prototype.send_detect_column_types = function(session, file_name, copy_params) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    file_name: file_name,\n    copy_params: copy_params\n  };\n  var args = new OmniSci_detect_column_types_args(params);\n  try {\n    output.writeMessageBegin('detect_column_types', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_detect_column_types = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_detect_column_types_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('detect_column_types failed: unknown result');\n};\n\nOmniSciClient.prototype.create_table = function(session, table_name, row_desc, file_type, create_params, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_create_table(session, table_name, row_desc, file_type, create_params);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_create_table(session, table_name, row_desc, file_type, create_params);\n  }\n};\n\nOmniSciClient.prototype.send_create_table = function(session, table_name, row_desc, file_type, create_params) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name,\n    row_desc: row_desc,\n    file_type: file_type,\n    create_params: create_params\n  };\n  var args = new OmniSci_create_table_args(params);\n  try {\n    output.writeMessageBegin('create_table', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_create_table = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_create_table_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.import_table = function(session, table_name, file_name, copy_params, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_import_table(session, table_name, file_name, copy_params);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_import_table(session, table_name, file_name, copy_params);\n  }\n};\n\nOmniSciClient.prototype.send_import_table = function(session, table_name, file_name, copy_params) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name,\n    file_name: file_name,\n    copy_params: copy_params\n  };\n  var args = new OmniSci_import_table_args(params);\n  try {\n    output.writeMessageBegin('import_table', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_import_table = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_import_table_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.import_geo_table = function(session, table_name, file_name, copy_params, row_desc, create_params, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_import_geo_table(session, table_name, file_name, copy_params, row_desc, create_params);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_import_geo_table(session, table_name, file_name, copy_params, row_desc, create_params);\n  }\n};\n\nOmniSciClient.prototype.send_import_geo_table = function(session, table_name, file_name, copy_params, row_desc, create_params) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_name: table_name,\n    file_name: file_name,\n    copy_params: copy_params,\n    row_desc: row_desc,\n    create_params: create_params\n  };\n  var args = new OmniSci_import_geo_table_args(params);\n  try {\n    output.writeMessageBegin('import_geo_table', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_import_geo_table = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_import_geo_table_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.import_table_status = function(session, import_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_import_table_status(session, import_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_import_table_status(session, import_id);\n  }\n};\n\nOmniSciClient.prototype.send_import_table_status = function(session, import_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    import_id: import_id\n  };\n  var args = new OmniSci_import_table_status_args(params);\n  try {\n    output.writeMessageBegin('import_table_status', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_import_table_status = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_import_table_status_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('import_table_status failed: unknown result');\n};\n\nOmniSciClient.prototype.get_first_geo_file_in_archive = function(session, archive_path, copy_params, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_first_geo_file_in_archive(session, archive_path, copy_params);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_first_geo_file_in_archive(session, archive_path, copy_params);\n  }\n};\n\nOmniSciClient.prototype.send_get_first_geo_file_in_archive = function(session, archive_path, copy_params) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    archive_path: archive_path,\n    copy_params: copy_params\n  };\n  var args = new OmniSci_get_first_geo_file_in_archive_args(params);\n  try {\n    output.writeMessageBegin('get_first_geo_file_in_archive', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_first_geo_file_in_archive = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_first_geo_file_in_archive_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_first_geo_file_in_archive failed: unknown result');\n};\n\nOmniSciClient.prototype.get_all_files_in_archive = function(session, archive_path, copy_params, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_all_files_in_archive(session, archive_path, copy_params);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_all_files_in_archive(session, archive_path, copy_params);\n  }\n};\n\nOmniSciClient.prototype.send_get_all_files_in_archive = function(session, archive_path, copy_params) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    archive_path: archive_path,\n    copy_params: copy_params\n  };\n  var args = new OmniSci_get_all_files_in_archive_args(params);\n  try {\n    output.writeMessageBegin('get_all_files_in_archive', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_all_files_in_archive = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_all_files_in_archive_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_all_files_in_archive failed: unknown result');\n};\n\nOmniSciClient.prototype.get_layers_in_geo_file = function(session, file_name, copy_params, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_layers_in_geo_file(session, file_name, copy_params);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_layers_in_geo_file(session, file_name, copy_params);\n  }\n};\n\nOmniSciClient.prototype.send_get_layers_in_geo_file = function(session, file_name, copy_params) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    file_name: file_name,\n    copy_params: copy_params\n  };\n  var args = new OmniSci_get_layers_in_geo_file_args(params);\n  try {\n    output.writeMessageBegin('get_layers_in_geo_file', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_layers_in_geo_file = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_layers_in_geo_file_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_layers_in_geo_file failed: unknown result');\n};\n\nOmniSciClient.prototype.query_get_outer_fragment_count = function(session, query, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_query_get_outer_fragment_count(session, query);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_query_get_outer_fragment_count(session, query);\n  }\n};\n\nOmniSciClient.prototype.send_query_get_outer_fragment_count = function(session, query) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    query: query\n  };\n  var args = new OmniSci_query_get_outer_fragment_count_args(params);\n  try {\n    output.writeMessageBegin('query_get_outer_fragment_count', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_query_get_outer_fragment_count = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_query_get_outer_fragment_count_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('query_get_outer_fragment_count failed: unknown result');\n};\n\nOmniSciClient.prototype.check_table_consistency = function(session, table_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_check_table_consistency(session, table_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_check_table_consistency(session, table_id);\n  }\n};\n\nOmniSciClient.prototype.send_check_table_consistency = function(session, table_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_id: table_id\n  };\n  var args = new OmniSci_check_table_consistency_args(params);\n  try {\n    output.writeMessageBegin('check_table_consistency', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_check_table_consistency = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_check_table_consistency_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('check_table_consistency failed: unknown result');\n};\n\nOmniSciClient.prototype.start_query = function(leaf_session, parent_session, query_ra, just_explain, outer_fragment_indices, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_start_query(leaf_session, parent_session, query_ra, just_explain, outer_fragment_indices);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_start_query(leaf_session, parent_session, query_ra, just_explain, outer_fragment_indices);\n  }\n};\n\nOmniSciClient.prototype.send_start_query = function(leaf_session, parent_session, query_ra, just_explain, outer_fragment_indices) {\n  var output = new this.pClass(this.output);\n  var params = {\n    leaf_session: leaf_session,\n    parent_session: parent_session,\n    query_ra: query_ra,\n    just_explain: just_explain,\n    outer_fragment_indices: outer_fragment_indices\n  };\n  var args = new OmniSci_start_query_args(params);\n  try {\n    output.writeMessageBegin('start_query', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_start_query = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_start_query_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('start_query failed: unknown result');\n};\n\nOmniSciClient.prototype.execute_query_step = function(pending_query, subquery_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_execute_query_step(pending_query, subquery_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_execute_query_step(pending_query, subquery_id);\n  }\n};\n\nOmniSciClient.prototype.send_execute_query_step = function(pending_query, subquery_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    pending_query: pending_query,\n    subquery_id: subquery_id\n  };\n  var args = new OmniSci_execute_query_step_args(params);\n  try {\n    output.writeMessageBegin('execute_query_step', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_execute_query_step = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_execute_query_step_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('execute_query_step failed: unknown result');\n};\n\nOmniSciClient.prototype.broadcast_serialized_rows = function(serialized_rows, row_desc, query_id, subquery_id, is_final_subquery_result, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_broadcast_serialized_rows(serialized_rows, row_desc, query_id, subquery_id, is_final_subquery_result);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_broadcast_serialized_rows(serialized_rows, row_desc, query_id, subquery_id, is_final_subquery_result);\n  }\n};\n\nOmniSciClient.prototype.send_broadcast_serialized_rows = function(serialized_rows, row_desc, query_id, subquery_id, is_final_subquery_result) {\n  var output = new this.pClass(this.output);\n  var params = {\n    serialized_rows: serialized_rows,\n    row_desc: row_desc,\n    query_id: query_id,\n    subquery_id: subquery_id,\n    is_final_subquery_result: is_final_subquery_result\n  };\n  var args = new OmniSci_broadcast_serialized_rows_args(params);\n  try {\n    output.writeMessageBegin('broadcast_serialized_rows', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_broadcast_serialized_rows = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_broadcast_serialized_rows_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.start_render_query = function(session, widget_id, node_idx, vega_json, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_start_render_query(session, widget_id, node_idx, vega_json);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_start_render_query(session, widget_id, node_idx, vega_json);\n  }\n};\n\nOmniSciClient.prototype.send_start_render_query = function(session, widget_id, node_idx, vega_json) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    widget_id: widget_id,\n    node_idx: node_idx,\n    vega_json: vega_json\n  };\n  var args = new OmniSci_start_render_query_args(params);\n  try {\n    output.writeMessageBegin('start_render_query', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_start_render_query = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_start_render_query_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('start_render_query failed: unknown result');\n};\n\nOmniSciClient.prototype.execute_next_render_step = function(pending_render, merged_data, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_execute_next_render_step(pending_render, merged_data);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_execute_next_render_step(pending_render, merged_data);\n  }\n};\n\nOmniSciClient.prototype.send_execute_next_render_step = function(pending_render, merged_data) {\n  var output = new this.pClass(this.output);\n  var params = {\n    pending_render: pending_render,\n    merged_data: merged_data\n  };\n  var args = new OmniSci_execute_next_render_step_args(params);\n  try {\n    output.writeMessageBegin('execute_next_render_step', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_execute_next_render_step = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_execute_next_render_step_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('execute_next_render_step failed: unknown result');\n};\n\nOmniSciClient.prototype.insert_data = function(session, insert_data, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_insert_data(session, insert_data);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_insert_data(session, insert_data);\n  }\n};\n\nOmniSciClient.prototype.send_insert_data = function(session, insert_data) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    insert_data: insert_data\n  };\n  var args = new OmniSci_insert_data_args(params);\n  try {\n    output.writeMessageBegin('insert_data', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_insert_data = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_insert_data_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.checkpoint = function(session, table_id, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_checkpoint(session, table_id);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_checkpoint(session, table_id);\n  }\n};\n\nOmniSciClient.prototype.send_checkpoint = function(session, table_id) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    table_id: table_id\n  };\n  var args = new OmniSci_checkpoint_args(params);\n  try {\n    output.writeMessageBegin('checkpoint', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_checkpoint = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_checkpoint_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\n\nOmniSciClient.prototype.get_roles = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_roles(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_roles(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_roles = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_roles_args(params);\n  try {\n    output.writeMessageBegin('get_roles', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_roles = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_roles_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_roles failed: unknown result');\n};\n\nOmniSciClient.prototype.get_db_objects_for_grantee = function(session, roleName, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_db_objects_for_grantee(session, roleName);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_db_objects_for_grantee(session, roleName);\n  }\n};\n\nOmniSciClient.prototype.send_get_db_objects_for_grantee = function(session, roleName) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    roleName: roleName\n  };\n  var args = new OmniSci_get_db_objects_for_grantee_args(params);\n  try {\n    output.writeMessageBegin('get_db_objects_for_grantee', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_db_objects_for_grantee = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_db_objects_for_grantee_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_db_objects_for_grantee failed: unknown result');\n};\n\nOmniSciClient.prototype.get_db_object_privs = function(session, objectName, type, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_db_object_privs(session, objectName, type);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_db_object_privs(session, objectName, type);\n  }\n};\n\nOmniSciClient.prototype.send_get_db_object_privs = function(session, objectName, type) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    objectName: objectName,\n    type: type\n  };\n  var args = new OmniSci_get_db_object_privs_args(params);\n  try {\n    output.writeMessageBegin('get_db_object_privs', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_db_object_privs = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_db_object_privs_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_db_object_privs failed: unknown result');\n};\n\nOmniSciClient.prototype.get_all_roles_for_user = function(session, userName, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_all_roles_for_user(session, userName);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_all_roles_for_user(session, userName);\n  }\n};\n\nOmniSciClient.prototype.send_get_all_roles_for_user = function(session, userName) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    userName: userName\n  };\n  var args = new OmniSci_get_all_roles_for_user_args(params);\n  try {\n    output.writeMessageBegin('get_all_roles_for_user', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_all_roles_for_user = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_all_roles_for_user_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_all_roles_for_user failed: unknown result');\n};\n\nOmniSciClient.prototype.has_role = function(session, granteeName, roleName, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_has_role(session, granteeName, roleName);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_has_role(session, granteeName, roleName);\n  }\n};\n\nOmniSciClient.prototype.send_has_role = function(session, granteeName, roleName) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    granteeName: granteeName,\n    roleName: roleName\n  };\n  var args = new OmniSci_has_role_args(params);\n  try {\n    output.writeMessageBegin('has_role', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_has_role = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_has_role_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('has_role failed: unknown result');\n};\n\nOmniSciClient.prototype.has_object_privilege = function(session, granteeName, ObjectName, objectType, permissions, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_has_object_privilege(session, granteeName, ObjectName, objectType, permissions);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_has_object_privilege(session, granteeName, ObjectName, objectType, permissions);\n  }\n};\n\nOmniSciClient.prototype.send_has_object_privilege = function(session, granteeName, ObjectName, objectType, permissions) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    granteeName: granteeName,\n    ObjectName: ObjectName,\n    objectType: objectType,\n    permissions: permissions\n  };\n  var args = new OmniSci_has_object_privilege_args(params);\n  try {\n    output.writeMessageBegin('has_object_privilege', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_has_object_privilege = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_has_object_privilege_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('has_object_privilege failed: unknown result');\n};\n\nOmniSciClient.prototype.set_license_key = function(session, key, nonce, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_set_license_key(session, key, nonce);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_set_license_key(session, key, nonce);\n  }\n};\n\nOmniSciClient.prototype.send_set_license_key = function(session, key, nonce) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    key: key,\n    nonce: nonce\n  };\n  var args = new OmniSci_set_license_key_args(params);\n  try {\n    output.writeMessageBegin('set_license_key', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_set_license_key = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_set_license_key_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('set_license_key failed: unknown result');\n};\n\nOmniSciClient.prototype.get_license_claims = function(session, nonce, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_license_claims(session, nonce);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_license_claims(session, nonce);\n  }\n};\n\nOmniSciClient.prototype.send_get_license_claims = function(session, nonce) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    nonce: nonce\n  };\n  var args = new OmniSci_get_license_claims_args(params);\n  try {\n    output.writeMessageBegin('get_license_claims', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_license_claims = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_license_claims_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_license_claims failed: unknown result');\n};\n\nOmniSciClient.prototype.get_device_parameters = function(session, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_get_device_parameters(session);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_get_device_parameters(session);\n  }\n};\n\nOmniSciClient.prototype.send_get_device_parameters = function(session) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session\n  };\n  var args = new OmniSci_get_device_parameters_args(params);\n  try {\n    output.writeMessageBegin('get_device_parameters', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_get_device_parameters = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_get_device_parameters_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  if (null !== result.success) {\n    return callback(null, result.success);\n  }\n  return callback('get_device_parameters failed: unknown result');\n};\n\nOmniSciClient.prototype.register_runtime_extension_functions = function(session, udfs, udtfs, device_ir_map, callback) {\n  this._seqid = this.new_seqid();\n  if (callback === undefined) {\n    var _defer = Q.defer();\n    this._reqs[this.seqid()] = function(error, result) {\n      if (error) {\n        _defer.reject(error);\n      } else {\n        _defer.resolve(result);\n      }\n    };\n    this.send_register_runtime_extension_functions(session, udfs, udtfs, device_ir_map);\n    return _defer.promise;\n  } else {\n    this._reqs[this.seqid()] = callback;\n    this.send_register_runtime_extension_functions(session, udfs, udtfs, device_ir_map);\n  }\n};\n\nOmniSciClient.prototype.send_register_runtime_extension_functions = function(session, udfs, udtfs, device_ir_map) {\n  var output = new this.pClass(this.output);\n  var params = {\n    session: session,\n    udfs: udfs,\n    udtfs: udtfs,\n    device_ir_map: device_ir_map\n  };\n  var args = new OmniSci_register_runtime_extension_functions_args(params);\n  try {\n    output.writeMessageBegin('register_runtime_extension_functions', Thrift.MessageType.CALL, this.seqid());\n    args.write(output);\n    output.writeMessageEnd();\n    return this.output.flush();\n  }\n  catch (e) {\n    delete this._reqs[this.seqid()];\n    if (typeof output.reset === 'function') {\n      output.reset();\n    }\n    throw e;\n  }\n};\n\nOmniSciClient.prototype.recv_register_runtime_extension_functions = function(input,mtype,rseqid) {\n  var callback = this._reqs[rseqid] || function() {};\n  delete this._reqs[rseqid];\n  if (mtype == Thrift.MessageType.EXCEPTION) {\n    var x = new Thrift.TApplicationException();\n    x.read(input);\n    input.readMessageEnd();\n    return callback(x);\n  }\n  var result = new OmniSci_register_runtime_extension_functions_result();\n  result.read(input);\n  input.readMessageEnd();\n\n  if (null !== result.e) {\n    return callback(result.e);\n  }\n  callback(null);\n};\nvar OmniSciProcessor = exports.Processor = function(handler) {\n  this._handler = handler;\n};\nOmniSciProcessor.prototype.process = function(input, output) {\n  var r = input.readMessageBegin();\n  if (this['process_' + r.fname]) {\n    return this['process_' + r.fname].call(this, r.rseqid, input, output);\n  } else {\n    input.skip(Thrift.Type.STRUCT);\n    input.readMessageEnd();\n    var x = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN_METHOD, 'Unknown function ' + r.fname);\n    output.writeMessageBegin(r.fname, Thrift.MessageType.EXCEPTION, r.rseqid);\n    x.write(output);\n    output.writeMessageEnd();\n    output.flush();\n  }\n};\nOmniSciProcessor.prototype.process_connect = function(seqid, input, output) {\n  var args = new OmniSci_connect_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.connect.length === 3) {\n    Q.fcall(this._handler.connect.bind(this._handler),\n      args.user,\n      args.passwd,\n      args.dbname\n    ).then(function(result) {\n      var result_obj = new OmniSci_connect_result({success: result});\n      output.writeMessageBegin(\"connect\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_connect_result(err);\n        output.writeMessageBegin(\"connect\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"connect\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.connect(args.user, args.passwd, args.dbname, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_connect_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"connect\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"connect\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_krb5_connect = function(seqid, input, output) {\n  var args = new OmniSci_krb5_connect_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.krb5_connect.length === 2) {\n    Q.fcall(this._handler.krb5_connect.bind(this._handler),\n      args.inputToken,\n      args.dbname\n    ).then(function(result) {\n      var result_obj = new OmniSci_krb5_connect_result({success: result});\n      output.writeMessageBegin(\"krb5_connect\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_krb5_connect_result(err);\n        output.writeMessageBegin(\"krb5_connect\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"krb5_connect\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.krb5_connect(args.inputToken, args.dbname, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_krb5_connect_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"krb5_connect\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"krb5_connect\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_disconnect = function(seqid, input, output) {\n  var args = new OmniSci_disconnect_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.disconnect.length === 1) {\n    Q.fcall(this._handler.disconnect.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_disconnect_result({success: result});\n      output.writeMessageBegin(\"disconnect\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_disconnect_result(err);\n        output.writeMessageBegin(\"disconnect\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"disconnect\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.disconnect(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_disconnect_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"disconnect\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"disconnect\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_switch_database = function(seqid, input, output) {\n  var args = new OmniSci_switch_database_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.switch_database.length === 2) {\n    Q.fcall(this._handler.switch_database.bind(this._handler),\n      args.session,\n      args.dbname\n    ).then(function(result) {\n      var result_obj = new OmniSci_switch_database_result({success: result});\n      output.writeMessageBegin(\"switch_database\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_switch_database_result(err);\n        output.writeMessageBegin(\"switch_database\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"switch_database\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.switch_database(args.session, args.dbname, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_switch_database_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"switch_database\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"switch_database\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_clone_session = function(seqid, input, output) {\n  var args = new OmniSci_clone_session_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.clone_session.length === 1) {\n    Q.fcall(this._handler.clone_session.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_clone_session_result({success: result});\n      output.writeMessageBegin(\"clone_session\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_clone_session_result(err);\n        output.writeMessageBegin(\"clone_session\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"clone_session\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.clone_session(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_clone_session_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"clone_session\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"clone_session\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_server_status = function(seqid, input, output) {\n  var args = new OmniSci_get_server_status_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_server_status.length === 1) {\n    Q.fcall(this._handler.get_server_status.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_server_status_result({success: result});\n      output.writeMessageBegin(\"get_server_status\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_server_status_result(err);\n        output.writeMessageBegin(\"get_server_status\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_server_status\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_server_status(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_server_status_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_server_status\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_server_status\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_status = function(seqid, input, output) {\n  var args = new OmniSci_get_status_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_status.length === 1) {\n    Q.fcall(this._handler.get_status.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_status_result({success: result});\n      output.writeMessageBegin(\"get_status\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_status_result(err);\n        output.writeMessageBegin(\"get_status\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_status\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_status(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_status_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_status\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_status\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_hardware_info = function(seqid, input, output) {\n  var args = new OmniSci_get_hardware_info_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_hardware_info.length === 1) {\n    Q.fcall(this._handler.get_hardware_info.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_hardware_info_result({success: result});\n      output.writeMessageBegin(\"get_hardware_info\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_hardware_info_result(err);\n        output.writeMessageBegin(\"get_hardware_info\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_hardware_info\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_hardware_info(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_hardware_info_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_hardware_info\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_hardware_info\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_tables = function(seqid, input, output) {\n  var args = new OmniSci_get_tables_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_tables.length === 1) {\n    Q.fcall(this._handler.get_tables.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_tables_result({success: result});\n      output.writeMessageBegin(\"get_tables\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_tables_result(err);\n        output.writeMessageBegin(\"get_tables\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_tables\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_tables(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_tables_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_tables\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_tables\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_physical_tables = function(seqid, input, output) {\n  var args = new OmniSci_get_physical_tables_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_physical_tables.length === 1) {\n    Q.fcall(this._handler.get_physical_tables.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_physical_tables_result({success: result});\n      output.writeMessageBegin(\"get_physical_tables\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_physical_tables_result(err);\n        output.writeMessageBegin(\"get_physical_tables\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_physical_tables\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_physical_tables(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_physical_tables_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_physical_tables\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_physical_tables\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_views = function(seqid, input, output) {\n  var args = new OmniSci_get_views_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_views.length === 1) {\n    Q.fcall(this._handler.get_views.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_views_result({success: result});\n      output.writeMessageBegin(\"get_views\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_views_result(err);\n        output.writeMessageBegin(\"get_views\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_views\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_views(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_views_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_views\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_views\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_tables_meta = function(seqid, input, output) {\n  var args = new OmniSci_get_tables_meta_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_tables_meta.length === 1) {\n    Q.fcall(this._handler.get_tables_meta.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_tables_meta_result({success: result});\n      output.writeMessageBegin(\"get_tables_meta\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_tables_meta_result(err);\n        output.writeMessageBegin(\"get_tables_meta\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_tables_meta\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_tables_meta(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_tables_meta_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_tables_meta\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_tables_meta\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_table_details = function(seqid, input, output) {\n  var args = new OmniSci_get_table_details_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_table_details.length === 2) {\n    Q.fcall(this._handler.get_table_details.bind(this._handler),\n      args.session,\n      args.table_name\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_table_details_result({success: result});\n      output.writeMessageBegin(\"get_table_details\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_table_details_result(err);\n        output.writeMessageBegin(\"get_table_details\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_table_details\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_table_details(args.session, args.table_name, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_table_details_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_table_details\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_table_details\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_internal_table_details = function(seqid, input, output) {\n  var args = new OmniSci_get_internal_table_details_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_internal_table_details.length === 2) {\n    Q.fcall(this._handler.get_internal_table_details.bind(this._handler),\n      args.session,\n      args.table_name\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_internal_table_details_result({success: result});\n      output.writeMessageBegin(\"get_internal_table_details\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_internal_table_details_result(err);\n        output.writeMessageBegin(\"get_internal_table_details\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_internal_table_details\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_internal_table_details(args.session, args.table_name, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_internal_table_details_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_internal_table_details\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_internal_table_details\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_users = function(seqid, input, output) {\n  var args = new OmniSci_get_users_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_users.length === 1) {\n    Q.fcall(this._handler.get_users.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_users_result({success: result});\n      output.writeMessageBegin(\"get_users\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_users_result(err);\n        output.writeMessageBegin(\"get_users\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_users\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_users(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_users_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_users\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_users\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_databases = function(seqid, input, output) {\n  var args = new OmniSci_get_databases_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_databases.length === 1) {\n    Q.fcall(this._handler.get_databases.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_databases_result({success: result});\n      output.writeMessageBegin(\"get_databases\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_databases_result(err);\n        output.writeMessageBegin(\"get_databases\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_databases\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_databases(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_databases_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_databases\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_databases\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_version = function(seqid, input, output) {\n  var args = new OmniSci_get_version_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_version.length === 0) {\n    Q.fcall(this._handler.get_version.bind(this._handler)\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_version_result({success: result});\n      output.writeMessageBegin(\"get_version\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_version_result(err);\n        output.writeMessageBegin(\"get_version\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_version\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_version(function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_version_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_version\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_version\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_start_heap_profile = function(seqid, input, output) {\n  var args = new OmniSci_start_heap_profile_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.start_heap_profile.length === 1) {\n    Q.fcall(this._handler.start_heap_profile.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_start_heap_profile_result({success: result});\n      output.writeMessageBegin(\"start_heap_profile\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_start_heap_profile_result(err);\n        output.writeMessageBegin(\"start_heap_profile\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"start_heap_profile\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.start_heap_profile(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_start_heap_profile_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"start_heap_profile\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"start_heap_profile\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_stop_heap_profile = function(seqid, input, output) {\n  var args = new OmniSci_stop_heap_profile_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.stop_heap_profile.length === 1) {\n    Q.fcall(this._handler.stop_heap_profile.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_stop_heap_profile_result({success: result});\n      output.writeMessageBegin(\"stop_heap_profile\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_stop_heap_profile_result(err);\n        output.writeMessageBegin(\"stop_heap_profile\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"stop_heap_profile\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.stop_heap_profile(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_stop_heap_profile_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"stop_heap_profile\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"stop_heap_profile\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_heap_profile = function(seqid, input, output) {\n  var args = new OmniSci_get_heap_profile_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_heap_profile.length === 1) {\n    Q.fcall(this._handler.get_heap_profile.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_heap_profile_result({success: result});\n      output.writeMessageBegin(\"get_heap_profile\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_heap_profile_result(err);\n        output.writeMessageBegin(\"get_heap_profile\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_heap_profile\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_heap_profile(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_heap_profile_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_heap_profile\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_heap_profile\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_memory = function(seqid, input, output) {\n  var args = new OmniSci_get_memory_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_memory.length === 2) {\n    Q.fcall(this._handler.get_memory.bind(this._handler),\n      args.session,\n      args.memory_level\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_memory_result({success: result});\n      output.writeMessageBegin(\"get_memory\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_memory_result(err);\n        output.writeMessageBegin(\"get_memory\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_memory\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_memory(args.session, args.memory_level, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_memory_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_memory\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_memory\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_clear_cpu_memory = function(seqid, input, output) {\n  var args = new OmniSci_clear_cpu_memory_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.clear_cpu_memory.length === 1) {\n    Q.fcall(this._handler.clear_cpu_memory.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_clear_cpu_memory_result({success: result});\n      output.writeMessageBegin(\"clear_cpu_memory\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_clear_cpu_memory_result(err);\n        output.writeMessageBegin(\"clear_cpu_memory\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"clear_cpu_memory\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.clear_cpu_memory(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_clear_cpu_memory_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"clear_cpu_memory\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"clear_cpu_memory\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_clear_gpu_memory = function(seqid, input, output) {\n  var args = new OmniSci_clear_gpu_memory_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.clear_gpu_memory.length === 1) {\n    Q.fcall(this._handler.clear_gpu_memory.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_clear_gpu_memory_result({success: result});\n      output.writeMessageBegin(\"clear_gpu_memory\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_clear_gpu_memory_result(err);\n        output.writeMessageBegin(\"clear_gpu_memory\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"clear_gpu_memory\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.clear_gpu_memory(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_clear_gpu_memory_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"clear_gpu_memory\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"clear_gpu_memory\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_set_table_epoch = function(seqid, input, output) {\n  var args = new OmniSci_set_table_epoch_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.set_table_epoch.length === 4) {\n    Q.fcall(this._handler.set_table_epoch.bind(this._handler),\n      args.session,\n      args.db_id,\n      args.table_id,\n      args.new_epoch\n    ).then(function(result) {\n      var result_obj = new OmniSci_set_table_epoch_result({success: result});\n      output.writeMessageBegin(\"set_table_epoch\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_set_table_epoch_result(err);\n        output.writeMessageBegin(\"set_table_epoch\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"set_table_epoch\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.set_table_epoch(args.session, args.db_id, args.table_id, args.new_epoch, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_set_table_epoch_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"set_table_epoch\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"set_table_epoch\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_set_table_epoch_by_name = function(seqid, input, output) {\n  var args = new OmniSci_set_table_epoch_by_name_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.set_table_epoch_by_name.length === 3) {\n    Q.fcall(this._handler.set_table_epoch_by_name.bind(this._handler),\n      args.session,\n      args.table_name,\n      args.new_epoch\n    ).then(function(result) {\n      var result_obj = new OmniSci_set_table_epoch_by_name_result({success: result});\n      output.writeMessageBegin(\"set_table_epoch_by_name\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_set_table_epoch_by_name_result(err);\n        output.writeMessageBegin(\"set_table_epoch_by_name\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"set_table_epoch_by_name\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.set_table_epoch_by_name(args.session, args.table_name, args.new_epoch, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_set_table_epoch_by_name_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"set_table_epoch_by_name\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"set_table_epoch_by_name\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_table_epoch = function(seqid, input, output) {\n  var args = new OmniSci_get_table_epoch_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_table_epoch.length === 3) {\n    Q.fcall(this._handler.get_table_epoch.bind(this._handler),\n      args.session,\n      args.db_id,\n      args.table_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_table_epoch_result({success: result});\n      output.writeMessageBegin(\"get_table_epoch\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n      output.writeMessageBegin(\"get_table_epoch\", Thrift.MessageType.EXCEPTION, seqid);\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_table_epoch(args.session, args.db_id, args.table_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined')) {\n        result_obj = new OmniSci_get_table_epoch_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_table_epoch\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_table_epoch\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_table_epoch_by_name = function(seqid, input, output) {\n  var args = new OmniSci_get_table_epoch_by_name_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_table_epoch_by_name.length === 2) {\n    Q.fcall(this._handler.get_table_epoch_by_name.bind(this._handler),\n      args.session,\n      args.table_name\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_table_epoch_by_name_result({success: result});\n      output.writeMessageBegin(\"get_table_epoch_by_name\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n      output.writeMessageBegin(\"get_table_epoch_by_name\", Thrift.MessageType.EXCEPTION, seqid);\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_table_epoch_by_name(args.session, args.table_name, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined')) {\n        result_obj = new OmniSci_get_table_epoch_by_name_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_table_epoch_by_name\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_table_epoch_by_name\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_table_epochs = function(seqid, input, output) {\n  var args = new OmniSci_get_table_epochs_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_table_epochs.length === 3) {\n    Q.fcall(this._handler.get_table_epochs.bind(this._handler),\n      args.session,\n      args.db_id,\n      args.table_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_table_epochs_result({success: result});\n      output.writeMessageBegin(\"get_table_epochs\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n      output.writeMessageBegin(\"get_table_epochs\", Thrift.MessageType.EXCEPTION, seqid);\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_table_epochs(args.session, args.db_id, args.table_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined')) {\n        result_obj = new OmniSci_get_table_epochs_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_table_epochs\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_table_epochs\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_set_table_epochs = function(seqid, input, output) {\n  var args = new OmniSci_set_table_epochs_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.set_table_epochs.length === 3) {\n    Q.fcall(this._handler.set_table_epochs.bind(this._handler),\n      args.session,\n      args.db_id,\n      args.table_epochs\n    ).then(function(result) {\n      var result_obj = new OmniSci_set_table_epochs_result({success: result});\n      output.writeMessageBegin(\"set_table_epochs\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n      output.writeMessageBegin(\"set_table_epochs\", Thrift.MessageType.EXCEPTION, seqid);\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.set_table_epochs(args.session, args.db_id, args.table_epochs, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined')) {\n        result_obj = new OmniSci_set_table_epochs_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"set_table_epochs\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"set_table_epochs\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_session_info = function(seqid, input, output) {\n  var args = new OmniSci_get_session_info_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_session_info.length === 1) {\n    Q.fcall(this._handler.get_session_info.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_session_info_result({success: result});\n      output.writeMessageBegin(\"get_session_info\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_session_info_result(err);\n        output.writeMessageBegin(\"get_session_info\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_session_info\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_session_info(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_session_info_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_session_info\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_session_info\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_sql_execute = function(seqid, input, output) {\n  var args = new OmniSci_sql_execute_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.sql_execute.length === 6) {\n    Q.fcall(this._handler.sql_execute.bind(this._handler),\n      args.session,\n      args.query,\n      args.column_format,\n      args.nonce,\n      args.first_n,\n      args.at_most_n\n    ).then(function(result) {\n      var result_obj = new OmniSci_sql_execute_result({success: result});\n      output.writeMessageBegin(\"sql_execute\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_sql_execute_result(err);\n        output.writeMessageBegin(\"sql_execute\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"sql_execute\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.sql_execute(args.session, args.query, args.column_format, args.nonce, args.first_n, args.at_most_n, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_sql_execute_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"sql_execute\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"sql_execute\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_sql_execute_df = function(seqid, input, output) {\n  var args = new OmniSci_sql_execute_df_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.sql_execute_df.length === 6) {\n    Q.fcall(this._handler.sql_execute_df.bind(this._handler),\n      args.session,\n      args.query,\n      args.device_type,\n      args.device_id,\n      args.first_n,\n      args.transport_method\n    ).then(function(result) {\n      var result_obj = new OmniSci_sql_execute_df_result({success: result});\n      output.writeMessageBegin(\"sql_execute_df\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_sql_execute_df_result(err);\n        output.writeMessageBegin(\"sql_execute_df\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"sql_execute_df\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.sql_execute_df(args.session, args.query, args.device_type, args.device_id, args.first_n, args.transport_method, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_sql_execute_df_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"sql_execute_df\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"sql_execute_df\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_sql_execute_gdf = function(seqid, input, output) {\n  var args = new OmniSci_sql_execute_gdf_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.sql_execute_gdf.length === 4) {\n    Q.fcall(this._handler.sql_execute_gdf.bind(this._handler),\n      args.session,\n      args.query,\n      args.device_id,\n      args.first_n\n    ).then(function(result) {\n      var result_obj = new OmniSci_sql_execute_gdf_result({success: result});\n      output.writeMessageBegin(\"sql_execute_gdf\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_sql_execute_gdf_result(err);\n        output.writeMessageBegin(\"sql_execute_gdf\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"sql_execute_gdf\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.sql_execute_gdf(args.session, args.query, args.device_id, args.first_n, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_sql_execute_gdf_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"sql_execute_gdf\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"sql_execute_gdf\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_deallocate_df = function(seqid, input, output) {\n  var args = new OmniSci_deallocate_df_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.deallocate_df.length === 4) {\n    Q.fcall(this._handler.deallocate_df.bind(this._handler),\n      args.session,\n      args.df,\n      args.device_type,\n      args.device_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_deallocate_df_result({success: result});\n      output.writeMessageBegin(\"deallocate_df\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_deallocate_df_result(err);\n        output.writeMessageBegin(\"deallocate_df\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"deallocate_df\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.deallocate_df(args.session, args.df, args.device_type, args.device_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_deallocate_df_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"deallocate_df\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"deallocate_df\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_interrupt = function(seqid, input, output) {\n  var args = new OmniSci_interrupt_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.interrupt.length === 2) {\n    Q.fcall(this._handler.interrupt.bind(this._handler),\n      args.query_session,\n      args.interrupt_session\n    ).then(function(result) {\n      var result_obj = new OmniSci_interrupt_result({success: result});\n      output.writeMessageBegin(\"interrupt\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_interrupt_result(err);\n        output.writeMessageBegin(\"interrupt\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"interrupt\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.interrupt(args.query_session, args.interrupt_session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_interrupt_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"interrupt\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"interrupt\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_sql_validate = function(seqid, input, output) {\n  var args = new OmniSci_sql_validate_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.sql_validate.length === 2) {\n    Q.fcall(this._handler.sql_validate.bind(this._handler),\n      args.session,\n      args.query\n    ).then(function(result) {\n      var result_obj = new OmniSci_sql_validate_result({success: result});\n      output.writeMessageBegin(\"sql_validate\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_sql_validate_result(err);\n        output.writeMessageBegin(\"sql_validate\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"sql_validate\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.sql_validate(args.session, args.query, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_sql_validate_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"sql_validate\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"sql_validate\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_completion_hints = function(seqid, input, output) {\n  var args = new OmniSci_get_completion_hints_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_completion_hints.length === 3) {\n    Q.fcall(this._handler.get_completion_hints.bind(this._handler),\n      args.session,\n      args.sql,\n      args.cursor\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_completion_hints_result({success: result});\n      output.writeMessageBegin(\"get_completion_hints\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_completion_hints_result(err);\n        output.writeMessageBegin(\"get_completion_hints\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_completion_hints\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_completion_hints(args.session, args.sql, args.cursor, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_completion_hints_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_completion_hints\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_completion_hints\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_set_execution_mode = function(seqid, input, output) {\n  var args = new OmniSci_set_execution_mode_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.set_execution_mode.length === 2) {\n    Q.fcall(this._handler.set_execution_mode.bind(this._handler),\n      args.session,\n      args.mode\n    ).then(function(result) {\n      var result_obj = new OmniSci_set_execution_mode_result({success: result});\n      output.writeMessageBegin(\"set_execution_mode\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_set_execution_mode_result(err);\n        output.writeMessageBegin(\"set_execution_mode\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"set_execution_mode\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.set_execution_mode(args.session, args.mode, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_set_execution_mode_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"set_execution_mode\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"set_execution_mode\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_render_vega = function(seqid, input, output) {\n  var args = new OmniSci_render_vega_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.render_vega.length === 5) {\n    Q.fcall(this._handler.render_vega.bind(this._handler),\n      args.session,\n      args.widget_id,\n      args.vega_json,\n      args.compression_level,\n      args.nonce\n    ).then(function(result) {\n      var result_obj = new OmniSci_render_vega_result({success: result});\n      output.writeMessageBegin(\"render_vega\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_render_vega_result(err);\n        output.writeMessageBegin(\"render_vega\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"render_vega\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.render_vega(args.session, args.widget_id, args.vega_json, args.compression_level, args.nonce, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_render_vega_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"render_vega\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"render_vega\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_result_row_for_pixel = function(seqid, input, output) {\n  var args = new OmniSci_get_result_row_for_pixel_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_result_row_for_pixel.length === 7) {\n    Q.fcall(this._handler.get_result_row_for_pixel.bind(this._handler),\n      args.session,\n      args.widget_id,\n      args.pixel,\n      args.table_col_names,\n      args.column_format,\n      args.pixelRadius,\n      args.nonce\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_result_row_for_pixel_result({success: result});\n      output.writeMessageBegin(\"get_result_row_for_pixel\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_result_row_for_pixel_result(err);\n        output.writeMessageBegin(\"get_result_row_for_pixel\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_result_row_for_pixel\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_result_row_for_pixel(args.session, args.widget_id, args.pixel, args.table_col_names, args.column_format, args.pixelRadius, args.nonce, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_result_row_for_pixel_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_result_row_for_pixel\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_result_row_for_pixel\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_dashboard = function(seqid, input, output) {\n  var args = new OmniSci_get_dashboard_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_dashboard.length === 2) {\n    Q.fcall(this._handler.get_dashboard.bind(this._handler),\n      args.session,\n      args.dashboard_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_dashboard_result({success: result});\n      output.writeMessageBegin(\"get_dashboard\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_dashboard_result(err);\n        output.writeMessageBegin(\"get_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_dashboard(args.session, args.dashboard_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_dashboard_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_dashboards = function(seqid, input, output) {\n  var args = new OmniSci_get_dashboards_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_dashboards.length === 1) {\n    Q.fcall(this._handler.get_dashboards.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_dashboards_result({success: result});\n      output.writeMessageBegin(\"get_dashboards\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_dashboards_result(err);\n        output.writeMessageBegin(\"get_dashboards\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_dashboards\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_dashboards(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_dashboards_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_dashboards\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_dashboards\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_create_dashboard = function(seqid, input, output) {\n  var args = new OmniSci_create_dashboard_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.create_dashboard.length === 5) {\n    Q.fcall(this._handler.create_dashboard.bind(this._handler),\n      args.session,\n      args.dashboard_name,\n      args.dashboard_state,\n      args.image_hash,\n      args.dashboard_metadata\n    ).then(function(result) {\n      var result_obj = new OmniSci_create_dashboard_result({success: result});\n      output.writeMessageBegin(\"create_dashboard\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_create_dashboard_result(err);\n        output.writeMessageBegin(\"create_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"create_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.create_dashboard(args.session, args.dashboard_name, args.dashboard_state, args.image_hash, args.dashboard_metadata, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_create_dashboard_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"create_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"create_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_replace_dashboard = function(seqid, input, output) {\n  var args = new OmniSci_replace_dashboard_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.replace_dashboard.length === 7) {\n    Q.fcall(this._handler.replace_dashboard.bind(this._handler),\n      args.session,\n      args.dashboard_id,\n      args.dashboard_name,\n      args.dashboard_owner,\n      args.dashboard_state,\n      args.image_hash,\n      args.dashboard_metadata\n    ).then(function(result) {\n      var result_obj = new OmniSci_replace_dashboard_result({success: result});\n      output.writeMessageBegin(\"replace_dashboard\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_replace_dashboard_result(err);\n        output.writeMessageBegin(\"replace_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"replace_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.replace_dashboard(args.session, args.dashboard_id, args.dashboard_name, args.dashboard_owner, args.dashboard_state, args.image_hash, args.dashboard_metadata, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_replace_dashboard_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"replace_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"replace_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_delete_dashboard = function(seqid, input, output) {\n  var args = new OmniSci_delete_dashboard_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.delete_dashboard.length === 2) {\n    Q.fcall(this._handler.delete_dashboard.bind(this._handler),\n      args.session,\n      args.dashboard_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_delete_dashboard_result({success: result});\n      output.writeMessageBegin(\"delete_dashboard\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_delete_dashboard_result(err);\n        output.writeMessageBegin(\"delete_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"delete_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.delete_dashboard(args.session, args.dashboard_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_delete_dashboard_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"delete_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"delete_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_share_dashboards = function(seqid, input, output) {\n  var args = new OmniSci_share_dashboards_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.share_dashboards.length === 4) {\n    Q.fcall(this._handler.share_dashboards.bind(this._handler),\n      args.session,\n      args.dashboard_ids,\n      args.groups,\n      args.permissions\n    ).then(function(result) {\n      var result_obj = new OmniSci_share_dashboards_result({success: result});\n      output.writeMessageBegin(\"share_dashboards\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_share_dashboards_result(err);\n        output.writeMessageBegin(\"share_dashboards\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"share_dashboards\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.share_dashboards(args.session, args.dashboard_ids, args.groups, args.permissions, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_share_dashboards_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"share_dashboards\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"share_dashboards\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_delete_dashboards = function(seqid, input, output) {\n  var args = new OmniSci_delete_dashboards_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.delete_dashboards.length === 2) {\n    Q.fcall(this._handler.delete_dashboards.bind(this._handler),\n      args.session,\n      args.dashboard_ids\n    ).then(function(result) {\n      var result_obj = new OmniSci_delete_dashboards_result({success: result});\n      output.writeMessageBegin(\"delete_dashboards\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_delete_dashboards_result(err);\n        output.writeMessageBegin(\"delete_dashboards\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"delete_dashboards\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.delete_dashboards(args.session, args.dashboard_ids, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_delete_dashboards_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"delete_dashboards\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"delete_dashboards\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_share_dashboard = function(seqid, input, output) {\n  var args = new OmniSci_share_dashboard_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.share_dashboard.length === 6) {\n    Q.fcall(this._handler.share_dashboard.bind(this._handler),\n      args.session,\n      args.dashboard_id,\n      args.groups,\n      args.objects,\n      args.permissions,\n      args.grant_role\n    ).then(function(result) {\n      var result_obj = new OmniSci_share_dashboard_result({success: result});\n      output.writeMessageBegin(\"share_dashboard\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_share_dashboard_result(err);\n        output.writeMessageBegin(\"share_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"share_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.share_dashboard(args.session, args.dashboard_id, args.groups, args.objects, args.permissions, args.grant_role, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_share_dashboard_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"share_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"share_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_unshare_dashboard = function(seqid, input, output) {\n  var args = new OmniSci_unshare_dashboard_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.unshare_dashboard.length === 5) {\n    Q.fcall(this._handler.unshare_dashboard.bind(this._handler),\n      args.session,\n      args.dashboard_id,\n      args.groups,\n      args.objects,\n      args.permissions\n    ).then(function(result) {\n      var result_obj = new OmniSci_unshare_dashboard_result({success: result});\n      output.writeMessageBegin(\"unshare_dashboard\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_unshare_dashboard_result(err);\n        output.writeMessageBegin(\"unshare_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"unshare_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.unshare_dashboard(args.session, args.dashboard_id, args.groups, args.objects, args.permissions, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_unshare_dashboard_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"unshare_dashboard\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"unshare_dashboard\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_unshare_dashboards = function(seqid, input, output) {\n  var args = new OmniSci_unshare_dashboards_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.unshare_dashboards.length === 4) {\n    Q.fcall(this._handler.unshare_dashboards.bind(this._handler),\n      args.session,\n      args.dashboard_ids,\n      args.groups,\n      args.permissions\n    ).then(function(result) {\n      var result_obj = new OmniSci_unshare_dashboards_result({success: result});\n      output.writeMessageBegin(\"unshare_dashboards\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_unshare_dashboards_result(err);\n        output.writeMessageBegin(\"unshare_dashboards\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"unshare_dashboards\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.unshare_dashboards(args.session, args.dashboard_ids, args.groups, args.permissions, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_unshare_dashboards_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"unshare_dashboards\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"unshare_dashboards\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_dashboard_grantees = function(seqid, input, output) {\n  var args = new OmniSci_get_dashboard_grantees_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_dashboard_grantees.length === 2) {\n    Q.fcall(this._handler.get_dashboard_grantees.bind(this._handler),\n      args.session,\n      args.dashboard_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_dashboard_grantees_result({success: result});\n      output.writeMessageBegin(\"get_dashboard_grantees\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_dashboard_grantees_result(err);\n        output.writeMessageBegin(\"get_dashboard_grantees\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_dashboard_grantees\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_dashboard_grantees(args.session, args.dashboard_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_dashboard_grantees_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_dashboard_grantees\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_dashboard_grantees\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_link_view = function(seqid, input, output) {\n  var args = new OmniSci_get_link_view_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_link_view.length === 2) {\n    Q.fcall(this._handler.get_link_view.bind(this._handler),\n      args.session,\n      args.link\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_link_view_result({success: result});\n      output.writeMessageBegin(\"get_link_view\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_link_view_result(err);\n        output.writeMessageBegin(\"get_link_view\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_link_view\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_link_view(args.session, args.link, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_link_view_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_link_view\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_link_view\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_create_link = function(seqid, input, output) {\n  var args = new OmniSci_create_link_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.create_link.length === 3) {\n    Q.fcall(this._handler.create_link.bind(this._handler),\n      args.session,\n      args.view_state,\n      args.view_metadata\n    ).then(function(result) {\n      var result_obj = new OmniSci_create_link_result({success: result});\n      output.writeMessageBegin(\"create_link\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_create_link_result(err);\n        output.writeMessageBegin(\"create_link\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"create_link\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.create_link(args.session, args.view_state, args.view_metadata, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_create_link_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"create_link\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"create_link\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_load_table_binary = function(seqid, input, output) {\n  var args = new OmniSci_load_table_binary_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.load_table_binary.length === 4) {\n    Q.fcall(this._handler.load_table_binary.bind(this._handler),\n      args.session,\n      args.table_name,\n      args.rows,\n      args.column_names\n    ).then(function(result) {\n      var result_obj = new OmniSci_load_table_binary_result({success: result});\n      output.writeMessageBegin(\"load_table_binary\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_load_table_binary_result(err);\n        output.writeMessageBegin(\"load_table_binary\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"load_table_binary\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.load_table_binary(args.session, args.table_name, args.rows, args.column_names, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_load_table_binary_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"load_table_binary\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"load_table_binary\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_load_table_binary_columnar = function(seqid, input, output) {\n  var args = new OmniSci_load_table_binary_columnar_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.load_table_binary_columnar.length === 4) {\n    Q.fcall(this._handler.load_table_binary_columnar.bind(this._handler),\n      args.session,\n      args.table_name,\n      args.cols,\n      args.column_names\n    ).then(function(result) {\n      var result_obj = new OmniSci_load_table_binary_columnar_result({success: result});\n      output.writeMessageBegin(\"load_table_binary_columnar\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_load_table_binary_columnar_result(err);\n        output.writeMessageBegin(\"load_table_binary_columnar\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"load_table_binary_columnar\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.load_table_binary_columnar(args.session, args.table_name, args.cols, args.column_names, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_load_table_binary_columnar_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"load_table_binary_columnar\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"load_table_binary_columnar\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_load_table_binary_arrow = function(seqid, input, output) {\n  var args = new OmniSci_load_table_binary_arrow_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.load_table_binary_arrow.length === 4) {\n    Q.fcall(this._handler.load_table_binary_arrow.bind(this._handler),\n      args.session,\n      args.table_name,\n      args.arrow_stream,\n      args.use_column_names\n    ).then(function(result) {\n      var result_obj = new OmniSci_load_table_binary_arrow_result({success: result});\n      output.writeMessageBegin(\"load_table_binary_arrow\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_load_table_binary_arrow_result(err);\n        output.writeMessageBegin(\"load_table_binary_arrow\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"load_table_binary_arrow\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.load_table_binary_arrow(args.session, args.table_name, args.arrow_stream, args.use_column_names, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_load_table_binary_arrow_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"load_table_binary_arrow\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"load_table_binary_arrow\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_load_table = function(seqid, input, output) {\n  var args = new OmniSci_load_table_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.load_table.length === 4) {\n    Q.fcall(this._handler.load_table.bind(this._handler),\n      args.session,\n      args.table_name,\n      args.rows,\n      args.column_names\n    ).then(function(result) {\n      var result_obj = new OmniSci_load_table_result({success: result});\n      output.writeMessageBegin(\"load_table\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_load_table_result(err);\n        output.writeMessageBegin(\"load_table\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"load_table\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.load_table(args.session, args.table_name, args.rows, args.column_names, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_load_table_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"load_table\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"load_table\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_detect_column_types = function(seqid, input, output) {\n  var args = new OmniSci_detect_column_types_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.detect_column_types.length === 3) {\n    Q.fcall(this._handler.detect_column_types.bind(this._handler),\n      args.session,\n      args.file_name,\n      args.copy_params\n    ).then(function(result) {\n      var result_obj = new OmniSci_detect_column_types_result({success: result});\n      output.writeMessageBegin(\"detect_column_types\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_detect_column_types_result(err);\n        output.writeMessageBegin(\"detect_column_types\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"detect_column_types\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.detect_column_types(args.session, args.file_name, args.copy_params, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_detect_column_types_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"detect_column_types\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"detect_column_types\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_create_table = function(seqid, input, output) {\n  var args = new OmniSci_create_table_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.create_table.length === 5) {\n    Q.fcall(this._handler.create_table.bind(this._handler),\n      args.session,\n      args.table_name,\n      args.row_desc,\n      args.file_type,\n      args.create_params\n    ).then(function(result) {\n      var result_obj = new OmniSci_create_table_result({success: result});\n      output.writeMessageBegin(\"create_table\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_create_table_result(err);\n        output.writeMessageBegin(\"create_table\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"create_table\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.create_table(args.session, args.table_name, args.row_desc, args.file_type, args.create_params, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_create_table_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"create_table\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"create_table\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_import_table = function(seqid, input, output) {\n  var args = new OmniSci_import_table_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.import_table.length === 4) {\n    Q.fcall(this._handler.import_table.bind(this._handler),\n      args.session,\n      args.table_name,\n      args.file_name,\n      args.copy_params\n    ).then(function(result) {\n      var result_obj = new OmniSci_import_table_result({success: result});\n      output.writeMessageBegin(\"import_table\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_import_table_result(err);\n        output.writeMessageBegin(\"import_table\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"import_table\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.import_table(args.session, args.table_name, args.file_name, args.copy_params, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_import_table_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"import_table\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"import_table\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_import_geo_table = function(seqid, input, output) {\n  var args = new OmniSci_import_geo_table_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.import_geo_table.length === 6) {\n    Q.fcall(this._handler.import_geo_table.bind(this._handler),\n      args.session,\n      args.table_name,\n      args.file_name,\n      args.copy_params,\n      args.row_desc,\n      args.create_params\n    ).then(function(result) {\n      var result_obj = new OmniSci_import_geo_table_result({success: result});\n      output.writeMessageBegin(\"import_geo_table\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_import_geo_table_result(err);\n        output.writeMessageBegin(\"import_geo_table\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"import_geo_table\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.import_geo_table(args.session, args.table_name, args.file_name, args.copy_params, args.row_desc, args.create_params, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_import_geo_table_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"import_geo_table\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"import_geo_table\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_import_table_status = function(seqid, input, output) {\n  var args = new OmniSci_import_table_status_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.import_table_status.length === 2) {\n    Q.fcall(this._handler.import_table_status.bind(this._handler),\n      args.session,\n      args.import_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_import_table_status_result({success: result});\n      output.writeMessageBegin(\"import_table_status\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_import_table_status_result(err);\n        output.writeMessageBegin(\"import_table_status\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"import_table_status\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.import_table_status(args.session, args.import_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_import_table_status_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"import_table_status\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"import_table_status\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_first_geo_file_in_archive = function(seqid, input, output) {\n  var args = new OmniSci_get_first_geo_file_in_archive_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_first_geo_file_in_archive.length === 3) {\n    Q.fcall(this._handler.get_first_geo_file_in_archive.bind(this._handler),\n      args.session,\n      args.archive_path,\n      args.copy_params\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_first_geo_file_in_archive_result({success: result});\n      output.writeMessageBegin(\"get_first_geo_file_in_archive\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_first_geo_file_in_archive_result(err);\n        output.writeMessageBegin(\"get_first_geo_file_in_archive\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_first_geo_file_in_archive\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_first_geo_file_in_archive(args.session, args.archive_path, args.copy_params, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_first_geo_file_in_archive_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_first_geo_file_in_archive\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_first_geo_file_in_archive\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_all_files_in_archive = function(seqid, input, output) {\n  var args = new OmniSci_get_all_files_in_archive_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_all_files_in_archive.length === 3) {\n    Q.fcall(this._handler.get_all_files_in_archive.bind(this._handler),\n      args.session,\n      args.archive_path,\n      args.copy_params\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_all_files_in_archive_result({success: result});\n      output.writeMessageBegin(\"get_all_files_in_archive\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_all_files_in_archive_result(err);\n        output.writeMessageBegin(\"get_all_files_in_archive\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_all_files_in_archive\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_all_files_in_archive(args.session, args.archive_path, args.copy_params, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_all_files_in_archive_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_all_files_in_archive\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_all_files_in_archive\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_layers_in_geo_file = function(seqid, input, output) {\n  var args = new OmniSci_get_layers_in_geo_file_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_layers_in_geo_file.length === 3) {\n    Q.fcall(this._handler.get_layers_in_geo_file.bind(this._handler),\n      args.session,\n      args.file_name,\n      args.copy_params\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_layers_in_geo_file_result({success: result});\n      output.writeMessageBegin(\"get_layers_in_geo_file\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_layers_in_geo_file_result(err);\n        output.writeMessageBegin(\"get_layers_in_geo_file\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_layers_in_geo_file\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_layers_in_geo_file(args.session, args.file_name, args.copy_params, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_layers_in_geo_file_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_layers_in_geo_file\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_layers_in_geo_file\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_query_get_outer_fragment_count = function(seqid, input, output) {\n  var args = new OmniSci_query_get_outer_fragment_count_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.query_get_outer_fragment_count.length === 2) {\n    Q.fcall(this._handler.query_get_outer_fragment_count.bind(this._handler),\n      args.session,\n      args.query\n    ).then(function(result) {\n      var result_obj = new OmniSci_query_get_outer_fragment_count_result({success: result});\n      output.writeMessageBegin(\"query_get_outer_fragment_count\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_query_get_outer_fragment_count_result(err);\n        output.writeMessageBegin(\"query_get_outer_fragment_count\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"query_get_outer_fragment_count\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.query_get_outer_fragment_count(args.session, args.query, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_query_get_outer_fragment_count_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"query_get_outer_fragment_count\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"query_get_outer_fragment_count\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_check_table_consistency = function(seqid, input, output) {\n  var args = new OmniSci_check_table_consistency_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.check_table_consistency.length === 2) {\n    Q.fcall(this._handler.check_table_consistency.bind(this._handler),\n      args.session,\n      args.table_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_check_table_consistency_result({success: result});\n      output.writeMessageBegin(\"check_table_consistency\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_check_table_consistency_result(err);\n        output.writeMessageBegin(\"check_table_consistency\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"check_table_consistency\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.check_table_consistency(args.session, args.table_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_check_table_consistency_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"check_table_consistency\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"check_table_consistency\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_start_query = function(seqid, input, output) {\n  var args = new OmniSci_start_query_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.start_query.length === 5) {\n    Q.fcall(this._handler.start_query.bind(this._handler),\n      args.leaf_session,\n      args.parent_session,\n      args.query_ra,\n      args.just_explain,\n      args.outer_fragment_indices\n    ).then(function(result) {\n      var result_obj = new OmniSci_start_query_result({success: result});\n      output.writeMessageBegin(\"start_query\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_start_query_result(err);\n        output.writeMessageBegin(\"start_query\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"start_query\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.start_query(args.leaf_session, args.parent_session, args.query_ra, args.just_explain, args.outer_fragment_indices, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_start_query_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"start_query\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"start_query\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_execute_query_step = function(seqid, input, output) {\n  var args = new OmniSci_execute_query_step_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.execute_query_step.length === 2) {\n    Q.fcall(this._handler.execute_query_step.bind(this._handler),\n      args.pending_query,\n      args.subquery_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_execute_query_step_result({success: result});\n      output.writeMessageBegin(\"execute_query_step\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_execute_query_step_result(err);\n        output.writeMessageBegin(\"execute_query_step\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"execute_query_step\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.execute_query_step(args.pending_query, args.subquery_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_execute_query_step_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"execute_query_step\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"execute_query_step\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_broadcast_serialized_rows = function(seqid, input, output) {\n  var args = new OmniSci_broadcast_serialized_rows_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.broadcast_serialized_rows.length === 5) {\n    Q.fcall(this._handler.broadcast_serialized_rows.bind(this._handler),\n      args.serialized_rows,\n      args.row_desc,\n      args.query_id,\n      args.subquery_id,\n      args.is_final_subquery_result\n    ).then(function(result) {\n      var result_obj = new OmniSci_broadcast_serialized_rows_result({success: result});\n      output.writeMessageBegin(\"broadcast_serialized_rows\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_broadcast_serialized_rows_result(err);\n        output.writeMessageBegin(\"broadcast_serialized_rows\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"broadcast_serialized_rows\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.broadcast_serialized_rows(args.serialized_rows, args.row_desc, args.query_id, args.subquery_id, args.is_final_subquery_result, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_broadcast_serialized_rows_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"broadcast_serialized_rows\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"broadcast_serialized_rows\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_start_render_query = function(seqid, input, output) {\n  var args = new OmniSci_start_render_query_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.start_render_query.length === 4) {\n    Q.fcall(this._handler.start_render_query.bind(this._handler),\n      args.session,\n      args.widget_id,\n      args.node_idx,\n      args.vega_json\n    ).then(function(result) {\n      var result_obj = new OmniSci_start_render_query_result({success: result});\n      output.writeMessageBegin(\"start_render_query\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_start_render_query_result(err);\n        output.writeMessageBegin(\"start_render_query\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"start_render_query\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.start_render_query(args.session, args.widget_id, args.node_idx, args.vega_json, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_start_render_query_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"start_render_query\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"start_render_query\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_execute_next_render_step = function(seqid, input, output) {\n  var args = new OmniSci_execute_next_render_step_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.execute_next_render_step.length === 2) {\n    Q.fcall(this._handler.execute_next_render_step.bind(this._handler),\n      args.pending_render,\n      args.merged_data\n    ).then(function(result) {\n      var result_obj = new OmniSci_execute_next_render_step_result({success: result});\n      output.writeMessageBegin(\"execute_next_render_step\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_execute_next_render_step_result(err);\n        output.writeMessageBegin(\"execute_next_render_step\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"execute_next_render_step\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.execute_next_render_step(args.pending_render, args.merged_data, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_execute_next_render_step_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"execute_next_render_step\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"execute_next_render_step\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_insert_data = function(seqid, input, output) {\n  var args = new OmniSci_insert_data_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.insert_data.length === 2) {\n    Q.fcall(this._handler.insert_data.bind(this._handler),\n      args.session,\n      args.insert_data\n    ).then(function(result) {\n      var result_obj = new OmniSci_insert_data_result({success: result});\n      output.writeMessageBegin(\"insert_data\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_insert_data_result(err);\n        output.writeMessageBegin(\"insert_data\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"insert_data\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.insert_data(args.session, args.insert_data, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_insert_data_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"insert_data\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"insert_data\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_checkpoint = function(seqid, input, output) {\n  var args = new OmniSci_checkpoint_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.checkpoint.length === 2) {\n    Q.fcall(this._handler.checkpoint.bind(this._handler),\n      args.session,\n      args.table_id\n    ).then(function(result) {\n      var result_obj = new OmniSci_checkpoint_result({success: result});\n      output.writeMessageBegin(\"checkpoint\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_checkpoint_result(err);\n        output.writeMessageBegin(\"checkpoint\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"checkpoint\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.checkpoint(args.session, args.table_id, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_checkpoint_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"checkpoint\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"checkpoint\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_roles = function(seqid, input, output) {\n  var args = new OmniSci_get_roles_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_roles.length === 1) {\n    Q.fcall(this._handler.get_roles.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_roles_result({success: result});\n      output.writeMessageBegin(\"get_roles\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_roles_result(err);\n        output.writeMessageBegin(\"get_roles\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_roles\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_roles(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_roles_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_roles\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_roles\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_db_objects_for_grantee = function(seqid, input, output) {\n  var args = new OmniSci_get_db_objects_for_grantee_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_db_objects_for_grantee.length === 2) {\n    Q.fcall(this._handler.get_db_objects_for_grantee.bind(this._handler),\n      args.session,\n      args.roleName\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_db_objects_for_grantee_result({success: result});\n      output.writeMessageBegin(\"get_db_objects_for_grantee\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_db_objects_for_grantee_result(err);\n        output.writeMessageBegin(\"get_db_objects_for_grantee\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_db_objects_for_grantee\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_db_objects_for_grantee(args.session, args.roleName, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_db_objects_for_grantee_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_db_objects_for_grantee\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_db_objects_for_grantee\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_db_object_privs = function(seqid, input, output) {\n  var args = new OmniSci_get_db_object_privs_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_db_object_privs.length === 3) {\n    Q.fcall(this._handler.get_db_object_privs.bind(this._handler),\n      args.session,\n      args.objectName,\n      args.type\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_db_object_privs_result({success: result});\n      output.writeMessageBegin(\"get_db_object_privs\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_db_object_privs_result(err);\n        output.writeMessageBegin(\"get_db_object_privs\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_db_object_privs\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_db_object_privs(args.session, args.objectName, args.type, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_db_object_privs_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_db_object_privs\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_db_object_privs\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_all_roles_for_user = function(seqid, input, output) {\n  var args = new OmniSci_get_all_roles_for_user_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_all_roles_for_user.length === 2) {\n    Q.fcall(this._handler.get_all_roles_for_user.bind(this._handler),\n      args.session,\n      args.userName\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_all_roles_for_user_result({success: result});\n      output.writeMessageBegin(\"get_all_roles_for_user\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_all_roles_for_user_result(err);\n        output.writeMessageBegin(\"get_all_roles_for_user\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_all_roles_for_user\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_all_roles_for_user(args.session, args.userName, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_all_roles_for_user_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_all_roles_for_user\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_all_roles_for_user\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_has_role = function(seqid, input, output) {\n  var args = new OmniSci_has_role_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.has_role.length === 3) {\n    Q.fcall(this._handler.has_role.bind(this._handler),\n      args.session,\n      args.granteeName,\n      args.roleName\n    ).then(function(result) {\n      var result_obj = new OmniSci_has_role_result({success: result});\n      output.writeMessageBegin(\"has_role\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_has_role_result(err);\n        output.writeMessageBegin(\"has_role\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"has_role\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.has_role(args.session, args.granteeName, args.roleName, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_has_role_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"has_role\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"has_role\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_has_object_privilege = function(seqid, input, output) {\n  var args = new OmniSci_has_object_privilege_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.has_object_privilege.length === 5) {\n    Q.fcall(this._handler.has_object_privilege.bind(this._handler),\n      args.session,\n      args.granteeName,\n      args.ObjectName,\n      args.objectType,\n      args.permissions\n    ).then(function(result) {\n      var result_obj = new OmniSci_has_object_privilege_result({success: result});\n      output.writeMessageBegin(\"has_object_privilege\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_has_object_privilege_result(err);\n        output.writeMessageBegin(\"has_object_privilege\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"has_object_privilege\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.has_object_privilege(args.session, args.granteeName, args.ObjectName, args.objectType, args.permissions, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_has_object_privilege_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"has_object_privilege\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"has_object_privilege\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_set_license_key = function(seqid, input, output) {\n  var args = new OmniSci_set_license_key_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.set_license_key.length === 3) {\n    Q.fcall(this._handler.set_license_key.bind(this._handler),\n      args.session,\n      args.key,\n      args.nonce\n    ).then(function(result) {\n      var result_obj = new OmniSci_set_license_key_result({success: result});\n      output.writeMessageBegin(\"set_license_key\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_set_license_key_result(err);\n        output.writeMessageBegin(\"set_license_key\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"set_license_key\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.set_license_key(args.session, args.key, args.nonce, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_set_license_key_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"set_license_key\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"set_license_key\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_license_claims = function(seqid, input, output) {\n  var args = new OmniSci_get_license_claims_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_license_claims.length === 2) {\n    Q.fcall(this._handler.get_license_claims.bind(this._handler),\n      args.session,\n      args.nonce\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_license_claims_result({success: result});\n      output.writeMessageBegin(\"get_license_claims\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_license_claims_result(err);\n        output.writeMessageBegin(\"get_license_claims\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_license_claims\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_license_claims(args.session, args.nonce, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_license_claims_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_license_claims\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_license_claims\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_get_device_parameters = function(seqid, input, output) {\n  var args = new OmniSci_get_device_parameters_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.get_device_parameters.length === 1) {\n    Q.fcall(this._handler.get_device_parameters.bind(this._handler),\n      args.session\n    ).then(function(result) {\n      var result_obj = new OmniSci_get_device_parameters_result({success: result});\n      output.writeMessageBegin(\"get_device_parameters\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_get_device_parameters_result(err);\n        output.writeMessageBegin(\"get_device_parameters\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_device_parameters\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.get_device_parameters(args.session, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_get_device_parameters_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"get_device_parameters\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"get_device_parameters\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\nOmniSciProcessor.prototype.process_register_runtime_extension_functions = function(seqid, input, output) {\n  var args = new OmniSci_register_runtime_extension_functions_args();\n  args.read(input);\n  input.readMessageEnd();\n  if (this._handler.register_runtime_extension_functions.length === 4) {\n    Q.fcall(this._handler.register_runtime_extension_functions.bind(this._handler),\n      args.session,\n      args.udfs,\n      args.udtfs,\n      args.device_ir_map\n    ).then(function(result) {\n      var result_obj = new OmniSci_register_runtime_extension_functions_result({success: result});\n      output.writeMessageBegin(\"register_runtime_extension_functions\", Thrift.MessageType.REPLY, seqid);\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    }).catch(function (err) {\n      var result;\n      if (err instanceof ttypes.TOmniSciException) {\n        result = new OmniSci_register_runtime_extension_functions_result(err);\n        output.writeMessageBegin(\"register_runtime_extension_functions\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"register_runtime_extension_functions\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  } else {\n    this._handler.register_runtime_extension_functions(args.session, args.udfs, args.udtfs, args.device_ir_map, function (err, result) {\n      var result_obj;\n      if ((err === null || typeof err === 'undefined') || err instanceof ttypes.TOmniSciException) {\n        result_obj = new OmniSci_register_runtime_extension_functions_result((err !== null || typeof err === 'undefined') ? err : {success: result});\n        output.writeMessageBegin(\"register_runtime_extension_functions\", Thrift.MessageType.REPLY, seqid);\n      } else {\n        result_obj = new Thrift.TApplicationException(Thrift.TApplicationExceptionType.UNKNOWN, err.message);\n        output.writeMessageBegin(\"register_runtime_extension_functions\", Thrift.MessageType.EXCEPTION, seqid);\n      }\n      result_obj.write(output);\n      output.writeMessageEnd();\n      output.flush();\n    });\n  }\n};\n\n\n/***/ }),\n\n/***/ 259:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n//\n// Autogenerated by Thrift Compiler (0.13.0)\n//\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n//\n\"use strict\";\n\nvar thrift = __webpack_require__(9262);\nvar Thrift = thrift.Thrift;\nvar Q = thrift.Q;\nvar Int64 = __webpack_require__(135);\n\n\nvar ttypes = module.exports = {};\nttypes.TDeviceType = {\n  'CPU' : 0,\n  'GPU' : 1\n};\nttypes.TDatumType = {\n  'SMALLINT' : 0,\n  'INT' : 1,\n  'BIGINT' : 2,\n  'FLOAT' : 3,\n  'DECIMAL' : 4,\n  'DOUBLE' : 5,\n  'STR' : 6,\n  'TIME' : 7,\n  'TIMESTAMP' : 8,\n  'DATE' : 9,\n  'BOOL' : 10,\n  'INTERVAL_DAY_TIME' : 11,\n  'INTERVAL_YEAR_MONTH' : 12,\n  'POINT' : 13,\n  'LINESTRING' : 14,\n  'POLYGON' : 15,\n  'MULTIPOLYGON' : 16,\n  'TINYINT' : 17,\n  'GEOMETRY' : 18,\n  'GEOGRAPHY' : 19\n};\nttypes.TEncodingType = {\n  'NONE' : 0,\n  'FIXED' : 1,\n  'RL' : 2,\n  'DIFF' : 3,\n  'DICT' : 4,\n  'SPARSE' : 5,\n  'GEOINT' : 6,\n  'DATE_IN_DAYS' : 7\n};\nvar TTypeInfo = module.exports.TTypeInfo = function(args) {\n  this.type = null;\n  this.encoding = null;\n  this.nullable = null;\n  this.is_array = null;\n  this.precision = null;\n  this.scale = null;\n  this.comp_param = null;\n  this.size = -1;\n  if (args) {\n    if (args.type !== undefined && args.type !== null) {\n      this.type = args.type;\n    }\n    if (args.encoding !== undefined && args.encoding !== null) {\n      this.encoding = args.encoding;\n    }\n    if (args.nullable !== undefined && args.nullable !== null) {\n      this.nullable = args.nullable;\n    }\n    if (args.is_array !== undefined && args.is_array !== null) {\n      this.is_array = args.is_array;\n    }\n    if (args.precision !== undefined && args.precision !== null) {\n      this.precision = args.precision;\n    }\n    if (args.scale !== undefined && args.scale !== null) {\n      this.scale = args.scale;\n    }\n    if (args.comp_param !== undefined && args.comp_param !== null) {\n      this.comp_param = args.comp_param;\n    }\n    if (args.size !== undefined && args.size !== null) {\n      this.size = args.size;\n    }\n  }\n};\nTTypeInfo.prototype = {};\nTTypeInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.encoding = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.nullable = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_array = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I32) {\n        this.precision = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I32) {\n        this.scale = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.I32) {\n        this.comp_param = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.I32) {\n        this.size = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTTypeInfo.prototype.write = function(output) {\n  output.writeStructBegin('TTypeInfo');\n  if (this.type !== null && this.type !== undefined) {\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\n    output.writeI32(this.type);\n    output.writeFieldEnd();\n  }\n  if (this.encoding !== null && this.encoding !== undefined) {\n    output.writeFieldBegin('encoding', Thrift.Type.I32, 4);\n    output.writeI32(this.encoding);\n    output.writeFieldEnd();\n  }\n  if (this.nullable !== null && this.nullable !== undefined) {\n    output.writeFieldBegin('nullable', Thrift.Type.BOOL, 2);\n    output.writeBool(this.nullable);\n    output.writeFieldEnd();\n  }\n  if (this.is_array !== null && this.is_array !== undefined) {\n    output.writeFieldBegin('is_array', Thrift.Type.BOOL, 3);\n    output.writeBool(this.is_array);\n    output.writeFieldEnd();\n  }\n  if (this.precision !== null && this.precision !== undefined) {\n    output.writeFieldBegin('precision', Thrift.Type.I32, 5);\n    output.writeI32(this.precision);\n    output.writeFieldEnd();\n  }\n  if (this.scale !== null && this.scale !== undefined) {\n    output.writeFieldBegin('scale', Thrift.Type.I32, 6);\n    output.writeI32(this.scale);\n    output.writeFieldEnd();\n  }\n  if (this.comp_param !== null && this.comp_param !== undefined) {\n    output.writeFieldBegin('comp_param', Thrift.Type.I32, 7);\n    output.writeI32(this.comp_param);\n    output.writeFieldEnd();\n  }\n  if (this.size !== null && this.size !== undefined) {\n    output.writeFieldBegin('size', Thrift.Type.I32, 8);\n    output.writeI32(this.size);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\n\n\n/***/ }),\n\n/***/ 2318:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n//\n// Autogenerated by Thrift Compiler (0.13.0)\n//\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n//\n\"use strict\";\n\nvar thrift = __webpack_require__(9262);\nvar Thrift = thrift.Thrift;\nvar Q = thrift.Q;\nvar Int64 = __webpack_require__(135);\n\n\nvar ttypes = module.exports = {};\nttypes.TCompletionHintType = {\n  'COLUMN' : 0,\n  'TABLE' : 1,\n  'VIEW' : 2,\n  'SCHEMA' : 3,\n  'CATALOG' : 4,\n  'REPOSITORY' : 5,\n  'FUNCTION' : 6,\n  'KEYWORD' : 7\n};\nvar TCompletionHint = module.exports.TCompletionHint = function(args) {\n  this.type = null;\n  this.hints = null;\n  this.replaced = null;\n  if (args) {\n    if (args.type !== undefined && args.type !== null) {\n      this.type = args.type;\n    }\n    if (args.hints !== undefined && args.hints !== null) {\n      this.hints = Thrift.copyList(args.hints, [null]);\n    }\n    if (args.replaced !== undefined && args.replaced !== null) {\n      this.replaced = args.replaced;\n    }\n  }\n};\nTCompletionHint.prototype = {};\nTCompletionHint.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.hints = [];\n        var _rtmp31 = input.readListBegin();\n        var _size0 = _rtmp31.size || 0;\n        for (var _i2 = 0; _i2 < _size0; ++_i2) {\n          var elem3 = null;\n          elem3 = input.readString();\n          this.hints.push(elem3);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.replaced = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTCompletionHint.prototype.write = function(output) {\n  output.writeStructBegin('TCompletionHint');\n  if (this.type !== null && this.type !== undefined) {\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\n    output.writeI32(this.type);\n    output.writeFieldEnd();\n  }\n  if (this.hints !== null && this.hints !== undefined) {\n    output.writeFieldBegin('hints', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.STRING, this.hints.length);\n    for (var iter4 in this.hints) {\n      if (this.hints.hasOwnProperty(iter4)) {\n        iter4 = this.hints[iter4];\n        output.writeString(iter4);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.replaced !== null && this.replaced !== undefined) {\n    output.writeFieldBegin('replaced', Thrift.Type.STRING, 3);\n    output.writeString(this.replaced);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\n\n\n/***/ }),\n\n/***/ 6377:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n//\n// Autogenerated by Thrift Compiler (0.13.0)\n//\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n//\n\"use strict\";\n\nvar thrift = __webpack_require__(9262);\nvar Thrift = thrift.Thrift;\nvar Q = thrift.Q;\nvar Int64 = __webpack_require__(135);\n\n\nvar ttypes = module.exports = {};\nttypes.TExtArgumentType = {\n  'Int8' : 0,\n  'Int16' : 1,\n  'Int32' : 2,\n  'Int64' : 3,\n  'Float' : 4,\n  'Double' : 5,\n  'Void' : 6,\n  'PInt8' : 7,\n  'PInt16' : 8,\n  'PInt32' : 9,\n  'PInt64' : 10,\n  'PFloat' : 11,\n  'PDouble' : 12,\n  'PBool' : 13,\n  'Bool' : 14,\n  'ArrayInt8' : 15,\n  'ArrayInt16' : 16,\n  'ArrayInt32' : 17,\n  'ArrayInt64' : 18,\n  'ArrayFloat' : 19,\n  'ArrayDouble' : 20,\n  'ArrayBool' : 21,\n  'GeoPoint' : 22,\n  'GeoLineString' : 23,\n  'Cursor' : 24,\n  'GeoPolygon' : 25,\n  'GeoMultiPolygon' : 26,\n  'ColumnInt8' : 27,\n  'ColumnInt16' : 28,\n  'ColumnInt32' : 29,\n  'ColumnInt64' : 30,\n  'ColumnFloat' : 31,\n  'ColumnDouble' : 32,\n  'ColumnBool' : 33,\n  'TextEncodingNone' : 34,\n  'TextEncodingDict8' : 35,\n  'TextEncodingDict16' : 36,\n  'TextEncodingDict32' : 37\n};\nttypes.TOutputBufferSizeType = {\n  'kConstant' : 0,\n  'kUserSpecifiedConstantParameter' : 1,\n  'kUserSpecifiedRowMultiplier' : 2\n};\nvar TUserDefinedFunction = module.exports.TUserDefinedFunction = function(args) {\n  this.name = null;\n  this.argTypes = null;\n  this.retType = null;\n  if (args) {\n    if (args.name !== undefined && args.name !== null) {\n      this.name = args.name;\n    }\n    if (args.argTypes !== undefined && args.argTypes !== null) {\n      this.argTypes = Thrift.copyList(args.argTypes, [null]);\n    }\n    if (args.retType !== undefined && args.retType !== null) {\n      this.retType = args.retType;\n    }\n  }\n};\nTUserDefinedFunction.prototype = {};\nTUserDefinedFunction.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.argTypes = [];\n        var _rtmp31 = input.readListBegin();\n        var _size0 = _rtmp31.size || 0;\n        for (var _i2 = 0; _i2 < _size0; ++_i2) {\n          var elem3 = null;\n          elem3 = input.readI32();\n          this.argTypes.push(elem3);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.retType = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTUserDefinedFunction.prototype.write = function(output) {\n  output.writeStructBegin('TUserDefinedFunction');\n  if (this.name !== null && this.name !== undefined) {\n    output.writeFieldBegin('name', Thrift.Type.STRING, 1);\n    output.writeString(this.name);\n    output.writeFieldEnd();\n  }\n  if (this.argTypes !== null && this.argTypes !== undefined) {\n    output.writeFieldBegin('argTypes', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.I32, this.argTypes.length);\n    for (var iter4 in this.argTypes) {\n      if (this.argTypes.hasOwnProperty(iter4)) {\n        iter4 = this.argTypes[iter4];\n        output.writeI32(iter4);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.retType !== null && this.retType !== undefined) {\n    output.writeFieldBegin('retType', Thrift.Type.I32, 3);\n    output.writeI32(this.retType);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TUserDefinedTableFunction = module.exports.TUserDefinedTableFunction = function(args) {\n  this.name = null;\n  this.sizerType = null;\n  this.sizerArgPos = null;\n  this.inputArgTypes = null;\n  this.outputArgTypes = null;\n  this.sqlArgTypes = null;\n  if (args) {\n    if (args.name !== undefined && args.name !== null) {\n      this.name = args.name;\n    }\n    if (args.sizerType !== undefined && args.sizerType !== null) {\n      this.sizerType = args.sizerType;\n    }\n    if (args.sizerArgPos !== undefined && args.sizerArgPos !== null) {\n      this.sizerArgPos = args.sizerArgPos;\n    }\n    if (args.inputArgTypes !== undefined && args.inputArgTypes !== null) {\n      this.inputArgTypes = Thrift.copyList(args.inputArgTypes, [null]);\n    }\n    if (args.outputArgTypes !== undefined && args.outputArgTypes !== null) {\n      this.outputArgTypes = Thrift.copyList(args.outputArgTypes, [null]);\n    }\n    if (args.sqlArgTypes !== undefined && args.sqlArgTypes !== null) {\n      this.sqlArgTypes = Thrift.copyList(args.sqlArgTypes, [null]);\n    }\n  }\n};\nTUserDefinedTableFunction.prototype = {};\nTUserDefinedTableFunction.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.sizerType = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.sizerArgPos = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.inputArgTypes = [];\n        var _rtmp36 = input.readListBegin();\n        var _size5 = _rtmp36.size || 0;\n        for (var _i7 = 0; _i7 < _size5; ++_i7) {\n          var elem8 = null;\n          elem8 = input.readI32();\n          this.inputArgTypes.push(elem8);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.LIST) {\n        this.outputArgTypes = [];\n        var _rtmp310 = input.readListBegin();\n        var _size9 = _rtmp310.size || 0;\n        for (var _i11 = 0; _i11 < _size9; ++_i11) {\n          var elem12 = null;\n          elem12 = input.readI32();\n          this.outputArgTypes.push(elem12);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.LIST) {\n        this.sqlArgTypes = [];\n        var _rtmp314 = input.readListBegin();\n        var _size13 = _rtmp314.size || 0;\n        for (var _i15 = 0; _i15 < _size13; ++_i15) {\n          var elem16 = null;\n          elem16 = input.readI32();\n          this.sqlArgTypes.push(elem16);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTUserDefinedTableFunction.prototype.write = function(output) {\n  output.writeStructBegin('TUserDefinedTableFunction');\n  if (this.name !== null && this.name !== undefined) {\n    output.writeFieldBegin('name', Thrift.Type.STRING, 1);\n    output.writeString(this.name);\n    output.writeFieldEnd();\n  }\n  if (this.sizerType !== null && this.sizerType !== undefined) {\n    output.writeFieldBegin('sizerType', Thrift.Type.I32, 2);\n    output.writeI32(this.sizerType);\n    output.writeFieldEnd();\n  }\n  if (this.sizerArgPos !== null && this.sizerArgPos !== undefined) {\n    output.writeFieldBegin('sizerArgPos', Thrift.Type.I32, 3);\n    output.writeI32(this.sizerArgPos);\n    output.writeFieldEnd();\n  }\n  if (this.inputArgTypes !== null && this.inputArgTypes !== undefined) {\n    output.writeFieldBegin('inputArgTypes', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.I32, this.inputArgTypes.length);\n    for (var iter17 in this.inputArgTypes) {\n      if (this.inputArgTypes.hasOwnProperty(iter17)) {\n        iter17 = this.inputArgTypes[iter17];\n        output.writeI32(iter17);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.outputArgTypes !== null && this.outputArgTypes !== undefined) {\n    output.writeFieldBegin('outputArgTypes', Thrift.Type.LIST, 5);\n    output.writeListBegin(Thrift.Type.I32, this.outputArgTypes.length);\n    for (var iter18 in this.outputArgTypes) {\n      if (this.outputArgTypes.hasOwnProperty(iter18)) {\n        iter18 = this.outputArgTypes[iter18];\n        output.writeI32(iter18);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.sqlArgTypes !== null && this.sqlArgTypes !== undefined) {\n    output.writeFieldBegin('sqlArgTypes', Thrift.Type.LIST, 6);\n    output.writeListBegin(Thrift.Type.I32, this.sqlArgTypes.length);\n    for (var iter19 in this.sqlArgTypes) {\n      if (this.sqlArgTypes.hasOwnProperty(iter19)) {\n        iter19 = this.sqlArgTypes[iter19];\n        output.writeI32(iter19);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\n\n\n/***/ }),\n\n/***/ 4129:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n//\n// Autogenerated by Thrift Compiler (0.13.0)\n//\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n//\n\"use strict\";\n\nvar thrift = __webpack_require__(9262);\nvar Thrift = thrift.Thrift;\nvar Q = thrift.Q;\nvar Int64 = __webpack_require__(135);\n\nvar common_ttypes = __webpack_require__(259);\nvar completion_hints_ttypes = __webpack_require__(2318);\nvar serialized_result_set_ttypes = __webpack_require__(966);\nvar extension_functions_ttypes = __webpack_require__(6377);\n\n\nvar ttypes = module.exports = {};\nttypes.TExecuteMode = {\n  'GPU' : 1,\n  'CPU' : 2\n};\nttypes.TFileType = {\n  'DELIMITED' : 0,\n  'POLYGON' : 1,\n  'PARQUET' : 2\n};\nttypes.TPartitionDetail = {\n  'DEFAULT' : 0,\n  'REPLICATED' : 1,\n  'SHARDED' : 2,\n  'OTHER' : 3\n};\nttypes.TGeoFileLayerContents = {\n  'EMPTY' : 0,\n  'GEO' : 1,\n  'NON_GEO' : 2,\n  'UNSUPPORTED_GEO' : 3\n};\nttypes.TImportHeaderRow = {\n  'AUTODETECT' : 0,\n  'NO_HEADER' : 1,\n  'HAS_HEADER' : 2\n};\nttypes.TRole = {\n  'SERVER' : 0,\n  'AGGREGATOR' : 1,\n  'LEAF' : 2,\n  'STRING_DICTIONARY' : 3\n};\nttypes.TMergeType = {\n  'UNION' : 0,\n  'REDUCE' : 1\n};\nttypes.TQueryType = {\n  'UNKNOWN' : 0,\n  'READ' : 1,\n  'WRITE' : 2,\n  'SCHEMA_READ' : 3,\n  'SCHEMA_WRITE' : 4\n};\nttypes.TArrowTransport = {\n  'SHARED_MEMORY' : 0,\n  'WIRE' : 1\n};\nttypes.TExpressionRangeType = {\n  'INVALID' : 0,\n  'INTEGER' : 1,\n  'FLOAT' : 2,\n  'DOUBLE' : 3\n};\nttypes.TDBObjectType = {\n  'AbstractDBObjectType' : 0,\n  'DatabaseDBObjectType' : 1,\n  'TableDBObjectType' : 2,\n  'DashboardDBObjectType' : 3,\n  'ViewDBObjectType' : 4,\n  'ServerDBObjectType' : 5\n};\nvar TDatumVal = module.exports.TDatumVal = function(args) {\n  this.int_val = null;\n  this.real_val = null;\n  this.str_val = null;\n  this.arr_val = null;\n  if (args) {\n    if (args.int_val !== undefined && args.int_val !== null) {\n      this.int_val = args.int_val;\n    }\n    if (args.real_val !== undefined && args.real_val !== null) {\n      this.real_val = args.real_val;\n    }\n    if (args.str_val !== undefined && args.str_val !== null) {\n      this.str_val = args.str_val;\n    }\n    if (args.arr_val !== undefined && args.arr_val !== null) {\n      this.arr_val = Thrift.copyList(args.arr_val, [null]);\n    }\n  }\n};\nTDatumVal.prototype = {};\nTDatumVal.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I64) {\n        this.int_val = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.DOUBLE) {\n        this.real_val = input.readDouble();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.str_val = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.arr_val = [];\n        var _rtmp31 = input.readListBegin();\n        var _size0 = _rtmp31.size || 0;\n        for (var _i2 = 0; _i2 < _size0; ++_i2) {\n          var elem3 = null;\n          elem3 = new ttypes.TDatum();\n          elem3.read(input);\n          this.arr_val.push(elem3);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDatumVal.prototype.write = function(output) {\n  output.writeStructBegin('TDatumVal');\n  if (this.int_val !== null && this.int_val !== undefined) {\n    output.writeFieldBegin('int_val', Thrift.Type.I64, 1);\n    output.writeI64(this.int_val);\n    output.writeFieldEnd();\n  }\n  if (this.real_val !== null && this.real_val !== undefined) {\n    output.writeFieldBegin('real_val', Thrift.Type.DOUBLE, 2);\n    output.writeDouble(this.real_val);\n    output.writeFieldEnd();\n  }\n  if (this.str_val !== null && this.str_val !== undefined) {\n    output.writeFieldBegin('str_val', Thrift.Type.STRING, 3);\n    output.writeString(this.str_val);\n    output.writeFieldEnd();\n  }\n  if (this.arr_val !== null && this.arr_val !== undefined) {\n    output.writeFieldBegin('arr_val', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.STRUCT, this.arr_val.length);\n    for (var iter4 in this.arr_val) {\n      if (this.arr_val.hasOwnProperty(iter4)) {\n        iter4 = this.arr_val[iter4];\n        iter4.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDatum = module.exports.TDatum = function(args) {\n  this.val = null;\n  this.is_null = null;\n  if (args) {\n    if (args.val !== undefined && args.val !== null) {\n      this.val = new ttypes.TDatumVal(args.val);\n    }\n    if (args.is_null !== undefined && args.is_null !== null) {\n      this.is_null = args.is_null;\n    }\n  }\n};\nTDatum.prototype = {};\nTDatum.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.val = new ttypes.TDatumVal();\n        this.val.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_null = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDatum.prototype.write = function(output) {\n  output.writeStructBegin('TDatum');\n  if (this.val !== null && this.val !== undefined) {\n    output.writeFieldBegin('val', Thrift.Type.STRUCT, 1);\n    this.val.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.is_null !== null && this.is_null !== undefined) {\n    output.writeFieldBegin('is_null', Thrift.Type.BOOL, 2);\n    output.writeBool(this.is_null);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TStringValue = module.exports.TStringValue = function(args) {\n  this.str_val = null;\n  this.is_null = null;\n  if (args) {\n    if (args.str_val !== undefined && args.str_val !== null) {\n      this.str_val = args.str_val;\n    }\n    if (args.is_null !== undefined && args.is_null !== null) {\n      this.is_null = args.is_null;\n    }\n  }\n};\nTStringValue.prototype = {};\nTStringValue.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.str_val = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_null = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTStringValue.prototype.write = function(output) {\n  output.writeStructBegin('TStringValue');\n  if (this.str_val !== null && this.str_val !== undefined) {\n    output.writeFieldBegin('str_val', Thrift.Type.STRING, 1);\n    output.writeString(this.str_val);\n    output.writeFieldEnd();\n  }\n  if (this.is_null !== null && this.is_null !== undefined) {\n    output.writeFieldBegin('is_null', Thrift.Type.BOOL, 2);\n    output.writeBool(this.is_null);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TColumnType = module.exports.TColumnType = function(args) {\n  this.col_name = null;\n  this.col_type = null;\n  this.is_reserved_keyword = null;\n  this.src_name = null;\n  this.is_system = null;\n  this.is_physical = null;\n  this.col_id = null;\n  if (args) {\n    if (args.col_name !== undefined && args.col_name !== null) {\n      this.col_name = args.col_name;\n    }\n    if (args.col_type !== undefined && args.col_type !== null) {\n      this.col_type = new common_ttypes.TTypeInfo(args.col_type);\n    }\n    if (args.is_reserved_keyword !== undefined && args.is_reserved_keyword !== null) {\n      this.is_reserved_keyword = args.is_reserved_keyword;\n    }\n    if (args.src_name !== undefined && args.src_name !== null) {\n      this.src_name = args.src_name;\n    }\n    if (args.is_system !== undefined && args.is_system !== null) {\n      this.is_system = args.is_system;\n    }\n    if (args.is_physical !== undefined && args.is_physical !== null) {\n      this.is_physical = args.is_physical;\n    }\n    if (args.col_id !== undefined && args.col_id !== null) {\n      this.col_id = args.col_id;\n    }\n  }\n};\nTColumnType.prototype = {};\nTColumnType.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.col_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.col_type = new common_ttypes.TTypeInfo();\n        this.col_type.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_reserved_keyword = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.src_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_system = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_physical = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.I64) {\n        this.col_id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTColumnType.prototype.write = function(output) {\n  output.writeStructBegin('TColumnType');\n  if (this.col_name !== null && this.col_name !== undefined) {\n    output.writeFieldBegin('col_name', Thrift.Type.STRING, 1);\n    output.writeString(this.col_name);\n    output.writeFieldEnd();\n  }\n  if (this.col_type !== null && this.col_type !== undefined) {\n    output.writeFieldBegin('col_type', Thrift.Type.STRUCT, 2);\n    this.col_type.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.is_reserved_keyword !== null && this.is_reserved_keyword !== undefined) {\n    output.writeFieldBegin('is_reserved_keyword', Thrift.Type.BOOL, 3);\n    output.writeBool(this.is_reserved_keyword);\n    output.writeFieldEnd();\n  }\n  if (this.src_name !== null && this.src_name !== undefined) {\n    output.writeFieldBegin('src_name', Thrift.Type.STRING, 4);\n    output.writeString(this.src_name);\n    output.writeFieldEnd();\n  }\n  if (this.is_system !== null && this.is_system !== undefined) {\n    output.writeFieldBegin('is_system', Thrift.Type.BOOL, 5);\n    output.writeBool(this.is_system);\n    output.writeFieldEnd();\n  }\n  if (this.is_physical !== null && this.is_physical !== undefined) {\n    output.writeFieldBegin('is_physical', Thrift.Type.BOOL, 6);\n    output.writeBool(this.is_physical);\n    output.writeFieldEnd();\n  }\n  if (this.col_id !== null && this.col_id !== undefined) {\n    output.writeFieldBegin('col_id', Thrift.Type.I64, 7);\n    output.writeI64(this.col_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TRow = module.exports.TRow = function(args) {\n  this.cols = null;\n  if (args) {\n    if (args.cols !== undefined && args.cols !== null) {\n      this.cols = Thrift.copyList(args.cols, [ttypes.TDatum]);\n    }\n  }\n};\nTRow.prototype = {};\nTRow.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.LIST) {\n        this.cols = [];\n        var _rtmp36 = input.readListBegin();\n        var _size5 = _rtmp36.size || 0;\n        for (var _i7 = 0; _i7 < _size5; ++_i7) {\n          var elem8 = null;\n          elem8 = new ttypes.TDatum();\n          elem8.read(input);\n          this.cols.push(elem8);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTRow.prototype.write = function(output) {\n  output.writeStructBegin('TRow');\n  if (this.cols !== null && this.cols !== undefined) {\n    output.writeFieldBegin('cols', Thrift.Type.LIST, 1);\n    output.writeListBegin(Thrift.Type.STRUCT, this.cols.length);\n    for (var iter9 in this.cols) {\n      if (this.cols.hasOwnProperty(iter9)) {\n        iter9 = this.cols[iter9];\n        iter9.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TColumnData = module.exports.TColumnData = function(args) {\n  this.int_col = null;\n  this.real_col = null;\n  this.str_col = null;\n  this.arr_col = null;\n  if (args) {\n    if (args.int_col !== undefined && args.int_col !== null) {\n      this.int_col = Thrift.copyList(args.int_col, [null]);\n    }\n    if (args.real_col !== undefined && args.real_col !== null) {\n      this.real_col = Thrift.copyList(args.real_col, [null]);\n    }\n    if (args.str_col !== undefined && args.str_col !== null) {\n      this.str_col = Thrift.copyList(args.str_col, [null]);\n    }\n    if (args.arr_col !== undefined && args.arr_col !== null) {\n      this.arr_col = Thrift.copyList(args.arr_col, [null]);\n    }\n  }\n};\nTColumnData.prototype = {};\nTColumnData.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.LIST) {\n        this.int_col = [];\n        var _rtmp311 = input.readListBegin();\n        var _size10 = _rtmp311.size || 0;\n        for (var _i12 = 0; _i12 < _size10; ++_i12) {\n          var elem13 = null;\n          elem13 = input.readI64();\n          this.int_col.push(elem13);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.real_col = [];\n        var _rtmp315 = input.readListBegin();\n        var _size14 = _rtmp315.size || 0;\n        for (var _i16 = 0; _i16 < _size14; ++_i16) {\n          var elem17 = null;\n          elem17 = input.readDouble();\n          this.real_col.push(elem17);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.str_col = [];\n        var _rtmp319 = input.readListBegin();\n        var _size18 = _rtmp319.size || 0;\n        for (var _i20 = 0; _i20 < _size18; ++_i20) {\n          var elem21 = null;\n          elem21 = input.readString();\n          this.str_col.push(elem21);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.arr_col = [];\n        var _rtmp323 = input.readListBegin();\n        var _size22 = _rtmp323.size || 0;\n        for (var _i24 = 0; _i24 < _size22; ++_i24) {\n          var elem25 = null;\n          elem25 = new ttypes.TColumn();\n          elem25.read(input);\n          this.arr_col.push(elem25);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTColumnData.prototype.write = function(output) {\n  output.writeStructBegin('TColumnData');\n  if (this.int_col !== null && this.int_col !== undefined) {\n    output.writeFieldBegin('int_col', Thrift.Type.LIST, 1);\n    output.writeListBegin(Thrift.Type.I64, this.int_col.length);\n    for (var iter26 in this.int_col) {\n      if (this.int_col.hasOwnProperty(iter26)) {\n        iter26 = this.int_col[iter26];\n        output.writeI64(iter26);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.real_col !== null && this.real_col !== undefined) {\n    output.writeFieldBegin('real_col', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.DOUBLE, this.real_col.length);\n    for (var iter27 in this.real_col) {\n      if (this.real_col.hasOwnProperty(iter27)) {\n        iter27 = this.real_col[iter27];\n        output.writeDouble(iter27);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.str_col !== null && this.str_col !== undefined) {\n    output.writeFieldBegin('str_col', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRING, this.str_col.length);\n    for (var iter28 in this.str_col) {\n      if (this.str_col.hasOwnProperty(iter28)) {\n        iter28 = this.str_col[iter28];\n        output.writeString(iter28);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.arr_col !== null && this.arr_col !== undefined) {\n    output.writeFieldBegin('arr_col', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.STRUCT, this.arr_col.length);\n    for (var iter29 in this.arr_col) {\n      if (this.arr_col.hasOwnProperty(iter29)) {\n        iter29 = this.arr_col[iter29];\n        iter29.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TColumn = module.exports.TColumn = function(args) {\n  this.data = null;\n  this.nulls = null;\n  if (args) {\n    if (args.data !== undefined && args.data !== null) {\n      this.data = new ttypes.TColumnData(args.data);\n    }\n    if (args.nulls !== undefined && args.nulls !== null) {\n      this.nulls = Thrift.copyList(args.nulls, [null]);\n    }\n  }\n};\nTColumn.prototype = {};\nTColumn.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.data = new ttypes.TColumnData();\n        this.data.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.nulls = [];\n        var _rtmp331 = input.readListBegin();\n        var _size30 = _rtmp331.size || 0;\n        for (var _i32 = 0; _i32 < _size30; ++_i32) {\n          var elem33 = null;\n          elem33 = input.readBool();\n          this.nulls.push(elem33);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTColumn.prototype.write = function(output) {\n  output.writeStructBegin('TColumn');\n  if (this.data !== null && this.data !== undefined) {\n    output.writeFieldBegin('data', Thrift.Type.STRUCT, 1);\n    this.data.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.nulls !== null && this.nulls !== undefined) {\n    output.writeFieldBegin('nulls', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.BOOL, this.nulls.length);\n    for (var iter34 in this.nulls) {\n      if (this.nulls.hasOwnProperty(iter34)) {\n        iter34 = this.nulls[iter34];\n        output.writeBool(iter34);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TStringRow = module.exports.TStringRow = function(args) {\n  this.cols = null;\n  if (args) {\n    if (args.cols !== undefined && args.cols !== null) {\n      this.cols = Thrift.copyList(args.cols, [ttypes.TStringValue]);\n    }\n  }\n};\nTStringRow.prototype = {};\nTStringRow.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.LIST) {\n        this.cols = [];\n        var _rtmp336 = input.readListBegin();\n        var _size35 = _rtmp336.size || 0;\n        for (var _i37 = 0; _i37 < _size35; ++_i37) {\n          var elem38 = null;\n          elem38 = new ttypes.TStringValue();\n          elem38.read(input);\n          this.cols.push(elem38);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTStringRow.prototype.write = function(output) {\n  output.writeStructBegin('TStringRow');\n  if (this.cols !== null && this.cols !== undefined) {\n    output.writeFieldBegin('cols', Thrift.Type.LIST, 1);\n    output.writeListBegin(Thrift.Type.STRUCT, this.cols.length);\n    for (var iter39 in this.cols) {\n      if (this.cols.hasOwnProperty(iter39)) {\n        iter39 = this.cols[iter39];\n        iter39.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TKrb5Session = module.exports.TKrb5Session = function(args) {\n  this.sessionId = null;\n  this.krbToken = null;\n  if (args) {\n    if (args.sessionId !== undefined && args.sessionId !== null) {\n      this.sessionId = args.sessionId;\n    }\n    if (args.krbToken !== undefined && args.krbToken !== null) {\n      this.krbToken = args.krbToken;\n    }\n  }\n};\nTKrb5Session.prototype = {};\nTKrb5Session.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.sessionId = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.krbToken = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTKrb5Session.prototype.write = function(output) {\n  output.writeStructBegin('TKrb5Session');\n  if (this.sessionId !== null && this.sessionId !== undefined) {\n    output.writeFieldBegin('sessionId', Thrift.Type.STRING, 1);\n    output.writeString(this.sessionId);\n    output.writeFieldEnd();\n  }\n  if (this.krbToken !== null && this.krbToken !== undefined) {\n    output.writeFieldBegin('krbToken', Thrift.Type.STRING, 2);\n    output.writeString(this.krbToken);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TStepResult = module.exports.TStepResult = function(args) {\n  this.serialized_rows = null;\n  this.execution_finished = null;\n  this.merge_type = null;\n  this.sharded = null;\n  this.row_desc = null;\n  this.node_id = null;\n  if (args) {\n    if (args.serialized_rows !== undefined && args.serialized_rows !== null) {\n      this.serialized_rows = new serialized_result_set_ttypes.TSerializedRows(args.serialized_rows);\n    }\n    if (args.execution_finished !== undefined && args.execution_finished !== null) {\n      this.execution_finished = args.execution_finished;\n    }\n    if (args.merge_type !== undefined && args.merge_type !== null) {\n      this.merge_type = args.merge_type;\n    }\n    if (args.sharded !== undefined && args.sharded !== null) {\n      this.sharded = args.sharded;\n    }\n    if (args.row_desc !== undefined && args.row_desc !== null) {\n      this.row_desc = Thrift.copyList(args.row_desc, [ttypes.TColumnType]);\n    }\n    if (args.node_id !== undefined && args.node_id !== null) {\n      this.node_id = args.node_id;\n    }\n  }\n};\nTStepResult.prototype = {};\nTStepResult.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.serialized_rows = new serialized_result_set_ttypes.TSerializedRows();\n        this.serialized_rows.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.execution_finished = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.merge_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.sharded = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.LIST) {\n        this.row_desc = [];\n        var _rtmp341 = input.readListBegin();\n        var _size40 = _rtmp341.size || 0;\n        for (var _i42 = 0; _i42 < _size40; ++_i42) {\n          var elem43 = null;\n          elem43 = new ttypes.TColumnType();\n          elem43.read(input);\n          this.row_desc.push(elem43);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I32) {\n        this.node_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTStepResult.prototype.write = function(output) {\n  output.writeStructBegin('TStepResult');\n  if (this.serialized_rows !== null && this.serialized_rows !== undefined) {\n    output.writeFieldBegin('serialized_rows', Thrift.Type.STRUCT, 1);\n    this.serialized_rows.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.execution_finished !== null && this.execution_finished !== undefined) {\n    output.writeFieldBegin('execution_finished', Thrift.Type.BOOL, 2);\n    output.writeBool(this.execution_finished);\n    output.writeFieldEnd();\n  }\n  if (this.merge_type !== null && this.merge_type !== undefined) {\n    output.writeFieldBegin('merge_type', Thrift.Type.I32, 3);\n    output.writeI32(this.merge_type);\n    output.writeFieldEnd();\n  }\n  if (this.sharded !== null && this.sharded !== undefined) {\n    output.writeFieldBegin('sharded', Thrift.Type.BOOL, 4);\n    output.writeBool(this.sharded);\n    output.writeFieldEnd();\n  }\n  if (this.row_desc !== null && this.row_desc !== undefined) {\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 5);\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\n    for (var iter44 in this.row_desc) {\n      if (this.row_desc.hasOwnProperty(iter44)) {\n        iter44 = this.row_desc[iter44];\n        iter44.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.node_id !== null && this.node_id !== undefined) {\n    output.writeFieldBegin('node_id', Thrift.Type.I32, 6);\n    output.writeI32(this.node_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TRowSet = module.exports.TRowSet = function(args) {\n  this.row_desc = null;\n  this.rows = null;\n  this.columns = null;\n  this.is_columnar = null;\n  if (args) {\n    if (args.row_desc !== undefined && args.row_desc !== null) {\n      this.row_desc = Thrift.copyList(args.row_desc, [ttypes.TColumnType]);\n    }\n    if (args.rows !== undefined && args.rows !== null) {\n      this.rows = Thrift.copyList(args.rows, [ttypes.TRow]);\n    }\n    if (args.columns !== undefined && args.columns !== null) {\n      this.columns = Thrift.copyList(args.columns, [ttypes.TColumn]);\n    }\n    if (args.is_columnar !== undefined && args.is_columnar !== null) {\n      this.is_columnar = args.is_columnar;\n    }\n  }\n};\nTRowSet.prototype = {};\nTRowSet.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.LIST) {\n        this.row_desc = [];\n        var _rtmp346 = input.readListBegin();\n        var _size45 = _rtmp346.size || 0;\n        for (var _i47 = 0; _i47 < _size45; ++_i47) {\n          var elem48 = null;\n          elem48 = new ttypes.TColumnType();\n          elem48.read(input);\n          this.row_desc.push(elem48);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.rows = [];\n        var _rtmp350 = input.readListBegin();\n        var _size49 = _rtmp350.size || 0;\n        for (var _i51 = 0; _i51 < _size49; ++_i51) {\n          var elem52 = null;\n          elem52 = new ttypes.TRow();\n          elem52.read(input);\n          this.rows.push(elem52);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.columns = [];\n        var _rtmp354 = input.readListBegin();\n        var _size53 = _rtmp354.size || 0;\n        for (var _i55 = 0; _i55 < _size53; ++_i55) {\n          var elem56 = null;\n          elem56 = new ttypes.TColumn();\n          elem56.read(input);\n          this.columns.push(elem56);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_columnar = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTRowSet.prototype.write = function(output) {\n  output.writeStructBegin('TRowSet');\n  if (this.row_desc !== null && this.row_desc !== undefined) {\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 1);\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\n    for (var iter57 in this.row_desc) {\n      if (this.row_desc.hasOwnProperty(iter57)) {\n        iter57 = this.row_desc[iter57];\n        iter57.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.rows !== null && this.rows !== undefined) {\n    output.writeFieldBegin('rows', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.STRUCT, this.rows.length);\n    for (var iter58 in this.rows) {\n      if (this.rows.hasOwnProperty(iter58)) {\n        iter58 = this.rows[iter58];\n        iter58.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.columns !== null && this.columns !== undefined) {\n    output.writeFieldBegin('columns', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRUCT, this.columns.length);\n    for (var iter59 in this.columns) {\n      if (this.columns.hasOwnProperty(iter59)) {\n        iter59 = this.columns[iter59];\n        iter59.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.is_columnar !== null && this.is_columnar !== undefined) {\n    output.writeFieldBegin('is_columnar', Thrift.Type.BOOL, 4);\n    output.writeBool(this.is_columnar);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TQueryResult = module.exports.TQueryResult = function(args) {\n  this.row_set = null;\n  this.execution_time_ms = null;\n  this.total_time_ms = null;\n  this.nonce = null;\n  this.debug = null;\n  this.success = true;\n  this.query_type = 0;\n  if (args) {\n    if (args.row_set !== undefined && args.row_set !== null) {\n      this.row_set = new ttypes.TRowSet(args.row_set);\n    }\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\n      this.execution_time_ms = args.execution_time_ms;\n    }\n    if (args.total_time_ms !== undefined && args.total_time_ms !== null) {\n      this.total_time_ms = args.total_time_ms;\n    }\n    if (args.nonce !== undefined && args.nonce !== null) {\n      this.nonce = args.nonce;\n    }\n    if (args.debug !== undefined && args.debug !== null) {\n      this.debug = args.debug;\n    }\n    if (args.success !== undefined && args.success !== null) {\n      this.success = args.success;\n    }\n    if (args.query_type !== undefined && args.query_type !== null) {\n      this.query_type = args.query_type;\n    }\n  }\n};\nTQueryResult.prototype = {};\nTQueryResult.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.row_set = new ttypes.TRowSet();\n        this.row_set.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.execution_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.total_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.nonce = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.debug = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.BOOL) {\n        this.success = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.I32) {\n        this.query_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTQueryResult.prototype.write = function(output) {\n  output.writeStructBegin('TQueryResult');\n  if (this.row_set !== null && this.row_set !== undefined) {\n    output.writeFieldBegin('row_set', Thrift.Type.STRUCT, 1);\n    this.row_set.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 2);\n    output.writeI64(this.execution_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.total_time_ms !== null && this.total_time_ms !== undefined) {\n    output.writeFieldBegin('total_time_ms', Thrift.Type.I64, 3);\n    output.writeI64(this.total_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.nonce !== null && this.nonce !== undefined) {\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 4);\n    output.writeString(this.nonce);\n    output.writeFieldEnd();\n  }\n  if (this.debug !== null && this.debug !== undefined) {\n    output.writeFieldBegin('debug', Thrift.Type.STRING, 5);\n    output.writeString(this.debug);\n    output.writeFieldEnd();\n  }\n  if (this.success !== null && this.success !== undefined) {\n    output.writeFieldBegin('success', Thrift.Type.BOOL, 6);\n    output.writeBool(this.success);\n    output.writeFieldEnd();\n  }\n  if (this.query_type !== null && this.query_type !== undefined) {\n    output.writeFieldBegin('query_type', Thrift.Type.I32, 7);\n    output.writeI32(this.query_type);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDataFrame = module.exports.TDataFrame = function(args) {\n  this.sm_handle = null;\n  this.sm_size = null;\n  this.df_handle = null;\n  this.df_size = null;\n  this.execution_time_ms = null;\n  this.arrow_conversion_time_ms = null;\n  this.df_buffer = null;\n  if (args) {\n    if (args.sm_handle !== undefined && args.sm_handle !== null) {\n      this.sm_handle = args.sm_handle;\n    }\n    if (args.sm_size !== undefined && args.sm_size !== null) {\n      this.sm_size = args.sm_size;\n    }\n    if (args.df_handle !== undefined && args.df_handle !== null) {\n      this.df_handle = args.df_handle;\n    }\n    if (args.df_size !== undefined && args.df_size !== null) {\n      this.df_size = args.df_size;\n    }\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\n      this.execution_time_ms = args.execution_time_ms;\n    }\n    if (args.arrow_conversion_time_ms !== undefined && args.arrow_conversion_time_ms !== null) {\n      this.arrow_conversion_time_ms = args.arrow_conversion_time_ms;\n    }\n    if (args.df_buffer !== undefined && args.df_buffer !== null) {\n      this.df_buffer = args.df_buffer;\n    }\n  }\n};\nTDataFrame.prototype = {};\nTDataFrame.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.sm_handle = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.sm_size = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.df_handle = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I64) {\n        this.df_size = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I64) {\n        this.execution_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I64) {\n        this.arrow_conversion_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.STRING) {\n        this.df_buffer = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDataFrame.prototype.write = function(output) {\n  output.writeStructBegin('TDataFrame');\n  if (this.sm_handle !== null && this.sm_handle !== undefined) {\n    output.writeFieldBegin('sm_handle', Thrift.Type.STRING, 1);\n    output.writeBinary(this.sm_handle);\n    output.writeFieldEnd();\n  }\n  if (this.sm_size !== null && this.sm_size !== undefined) {\n    output.writeFieldBegin('sm_size', Thrift.Type.I64, 2);\n    output.writeI64(this.sm_size);\n    output.writeFieldEnd();\n  }\n  if (this.df_handle !== null && this.df_handle !== undefined) {\n    output.writeFieldBegin('df_handle', Thrift.Type.STRING, 3);\n    output.writeBinary(this.df_handle);\n    output.writeFieldEnd();\n  }\n  if (this.df_size !== null && this.df_size !== undefined) {\n    output.writeFieldBegin('df_size', Thrift.Type.I64, 4);\n    output.writeI64(this.df_size);\n    output.writeFieldEnd();\n  }\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 5);\n    output.writeI64(this.execution_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.arrow_conversion_time_ms !== null && this.arrow_conversion_time_ms !== undefined) {\n    output.writeFieldBegin('arrow_conversion_time_ms', Thrift.Type.I64, 6);\n    output.writeI64(this.arrow_conversion_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.df_buffer !== null && this.df_buffer !== undefined) {\n    output.writeFieldBegin('df_buffer', Thrift.Type.STRING, 7);\n    output.writeBinary(this.df_buffer);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDBInfo = module.exports.TDBInfo = function(args) {\n  this.db_name = null;\n  this.db_owner = null;\n  if (args) {\n    if (args.db_name !== undefined && args.db_name !== null) {\n      this.db_name = args.db_name;\n    }\n    if (args.db_owner !== undefined && args.db_owner !== null) {\n      this.db_owner = args.db_owner;\n    }\n  }\n};\nTDBInfo.prototype = {};\nTDBInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.db_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.db_owner = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDBInfo.prototype.write = function(output) {\n  output.writeStructBegin('TDBInfo');\n  if (this.db_name !== null && this.db_name !== undefined) {\n    output.writeFieldBegin('db_name', Thrift.Type.STRING, 1);\n    output.writeString(this.db_name);\n    output.writeFieldEnd();\n  }\n  if (this.db_owner !== null && this.db_owner !== undefined) {\n    output.writeFieldBegin('db_owner', Thrift.Type.STRING, 2);\n    output.writeString(this.db_owner);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TOmniSciException = module.exports.TOmniSciException = function(args) {\n  Thrift.TException.call(this, \"TOmniSciException\");\n  this.name = \"TOmniSciException\";\n  this.error_msg = null;\n  if (args) {\n    if (args.error_msg !== undefined && args.error_msg !== null) {\n      this.error_msg = args.error_msg;\n    }\n  }\n};\nThrift.inherits(TOmniSciException, Thrift.TException);\nTOmniSciException.prototype.name = 'TOmniSciException';\nTOmniSciException.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.error_msg = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTOmniSciException.prototype.write = function(output) {\n  output.writeStructBegin('TOmniSciException');\n  if (this.error_msg !== null && this.error_msg !== undefined) {\n    output.writeFieldBegin('error_msg', Thrift.Type.STRING, 1);\n    output.writeString(this.error_msg);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TCopyParams = module.exports.TCopyParams = function(args) {\n  this.delimiter = null;\n  this.null_str = null;\n  this.has_header = 0;\n  this.quoted = null;\n  this.quote = null;\n  this.escape = null;\n  this.line_delim = null;\n  this.array_delim = null;\n  this.array_begin = null;\n  this.array_end = null;\n  this.threads = null;\n  this.file_type = 0;\n  this.s3_access_key = null;\n  this.s3_secret_key = null;\n  this.s3_region = null;\n  this.geo_coords_encoding = 6;\n  this.geo_coords_comp_param = 32;\n  this.geo_coords_type = 18;\n  this.geo_coords_srid = 4326;\n  this.sanitize_column_names = true;\n  this.geo_layer_name = null;\n  this.s3_endpoint = null;\n  this.geo_assign_render_groups = true;\n  this.geo_explode_collections = false;\n  if (args) {\n    if (args.delimiter !== undefined && args.delimiter !== null) {\n      this.delimiter = args.delimiter;\n    }\n    if (args.null_str !== undefined && args.null_str !== null) {\n      this.null_str = args.null_str;\n    }\n    if (args.has_header !== undefined && args.has_header !== null) {\n      this.has_header = args.has_header;\n    }\n    if (args.quoted !== undefined && args.quoted !== null) {\n      this.quoted = args.quoted;\n    }\n    if (args.quote !== undefined && args.quote !== null) {\n      this.quote = args.quote;\n    }\n    if (args.escape !== undefined && args.escape !== null) {\n      this.escape = args.escape;\n    }\n    if (args.line_delim !== undefined && args.line_delim !== null) {\n      this.line_delim = args.line_delim;\n    }\n    if (args.array_delim !== undefined && args.array_delim !== null) {\n      this.array_delim = args.array_delim;\n    }\n    if (args.array_begin !== undefined && args.array_begin !== null) {\n      this.array_begin = args.array_begin;\n    }\n    if (args.array_end !== undefined && args.array_end !== null) {\n      this.array_end = args.array_end;\n    }\n    if (args.threads !== undefined && args.threads !== null) {\n      this.threads = args.threads;\n    }\n    if (args.file_type !== undefined && args.file_type !== null) {\n      this.file_type = args.file_type;\n    }\n    if (args.s3_access_key !== undefined && args.s3_access_key !== null) {\n      this.s3_access_key = args.s3_access_key;\n    }\n    if (args.s3_secret_key !== undefined && args.s3_secret_key !== null) {\n      this.s3_secret_key = args.s3_secret_key;\n    }\n    if (args.s3_region !== undefined && args.s3_region !== null) {\n      this.s3_region = args.s3_region;\n    }\n    if (args.geo_coords_encoding !== undefined && args.geo_coords_encoding !== null) {\n      this.geo_coords_encoding = args.geo_coords_encoding;\n    }\n    if (args.geo_coords_comp_param !== undefined && args.geo_coords_comp_param !== null) {\n      this.geo_coords_comp_param = args.geo_coords_comp_param;\n    }\n    if (args.geo_coords_type !== undefined && args.geo_coords_type !== null) {\n      this.geo_coords_type = args.geo_coords_type;\n    }\n    if (args.geo_coords_srid !== undefined && args.geo_coords_srid !== null) {\n      this.geo_coords_srid = args.geo_coords_srid;\n    }\n    if (args.sanitize_column_names !== undefined && args.sanitize_column_names !== null) {\n      this.sanitize_column_names = args.sanitize_column_names;\n    }\n    if (args.geo_layer_name !== undefined && args.geo_layer_name !== null) {\n      this.geo_layer_name = args.geo_layer_name;\n    }\n    if (args.s3_endpoint !== undefined && args.s3_endpoint !== null) {\n      this.s3_endpoint = args.s3_endpoint;\n    }\n    if (args.geo_assign_render_groups !== undefined && args.geo_assign_render_groups !== null) {\n      this.geo_assign_render_groups = args.geo_assign_render_groups;\n    }\n    if (args.geo_explode_collections !== undefined && args.geo_explode_collections !== null) {\n      this.geo_explode_collections = args.geo_explode_collections;\n    }\n  }\n};\nTCopyParams.prototype = {};\nTCopyParams.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.delimiter = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.null_str = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.has_header = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.quoted = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.quote = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.STRING) {\n        this.escape = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.STRING) {\n        this.line_delim = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.STRING) {\n        this.array_delim = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 9:\n      if (ftype == Thrift.Type.STRING) {\n        this.array_begin = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 10:\n      if (ftype == Thrift.Type.STRING) {\n        this.array_end = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 11:\n      if (ftype == Thrift.Type.I32) {\n        this.threads = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 12:\n      if (ftype == Thrift.Type.I32) {\n        this.file_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 13:\n      if (ftype == Thrift.Type.STRING) {\n        this.s3_access_key = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 14:\n      if (ftype == Thrift.Type.STRING) {\n        this.s3_secret_key = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 15:\n      if (ftype == Thrift.Type.STRING) {\n        this.s3_region = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 16:\n      if (ftype == Thrift.Type.I32) {\n        this.geo_coords_encoding = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 17:\n      if (ftype == Thrift.Type.I32) {\n        this.geo_coords_comp_param = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 18:\n      if (ftype == Thrift.Type.I32) {\n        this.geo_coords_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 19:\n      if (ftype == Thrift.Type.I32) {\n        this.geo_coords_srid = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 20:\n      if (ftype == Thrift.Type.BOOL) {\n        this.sanitize_column_names = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 21:\n      if (ftype == Thrift.Type.STRING) {\n        this.geo_layer_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 22:\n      if (ftype == Thrift.Type.STRING) {\n        this.s3_endpoint = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 23:\n      if (ftype == Thrift.Type.BOOL) {\n        this.geo_assign_render_groups = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 24:\n      if (ftype == Thrift.Type.BOOL) {\n        this.geo_explode_collections = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTCopyParams.prototype.write = function(output) {\n  output.writeStructBegin('TCopyParams');\n  if (this.delimiter !== null && this.delimiter !== undefined) {\n    output.writeFieldBegin('delimiter', Thrift.Type.STRING, 1);\n    output.writeString(this.delimiter);\n    output.writeFieldEnd();\n  }\n  if (this.null_str !== null && this.null_str !== undefined) {\n    output.writeFieldBegin('null_str', Thrift.Type.STRING, 2);\n    output.writeString(this.null_str);\n    output.writeFieldEnd();\n  }\n  if (this.has_header !== null && this.has_header !== undefined) {\n    output.writeFieldBegin('has_header', Thrift.Type.I32, 3);\n    output.writeI32(this.has_header);\n    output.writeFieldEnd();\n  }\n  if (this.quoted !== null && this.quoted !== undefined) {\n    output.writeFieldBegin('quoted', Thrift.Type.BOOL, 4);\n    output.writeBool(this.quoted);\n    output.writeFieldEnd();\n  }\n  if (this.quote !== null && this.quote !== undefined) {\n    output.writeFieldBegin('quote', Thrift.Type.STRING, 5);\n    output.writeString(this.quote);\n    output.writeFieldEnd();\n  }\n  if (this.escape !== null && this.escape !== undefined) {\n    output.writeFieldBegin('escape', Thrift.Type.STRING, 6);\n    output.writeString(this.escape);\n    output.writeFieldEnd();\n  }\n  if (this.line_delim !== null && this.line_delim !== undefined) {\n    output.writeFieldBegin('line_delim', Thrift.Type.STRING, 7);\n    output.writeString(this.line_delim);\n    output.writeFieldEnd();\n  }\n  if (this.array_delim !== null && this.array_delim !== undefined) {\n    output.writeFieldBegin('array_delim', Thrift.Type.STRING, 8);\n    output.writeString(this.array_delim);\n    output.writeFieldEnd();\n  }\n  if (this.array_begin !== null && this.array_begin !== undefined) {\n    output.writeFieldBegin('array_begin', Thrift.Type.STRING, 9);\n    output.writeString(this.array_begin);\n    output.writeFieldEnd();\n  }\n  if (this.array_end !== null && this.array_end !== undefined) {\n    output.writeFieldBegin('array_end', Thrift.Type.STRING, 10);\n    output.writeString(this.array_end);\n    output.writeFieldEnd();\n  }\n  if (this.threads !== null && this.threads !== undefined) {\n    output.writeFieldBegin('threads', Thrift.Type.I32, 11);\n    output.writeI32(this.threads);\n    output.writeFieldEnd();\n  }\n  if (this.file_type !== null && this.file_type !== undefined) {\n    output.writeFieldBegin('file_type', Thrift.Type.I32, 12);\n    output.writeI32(this.file_type);\n    output.writeFieldEnd();\n  }\n  if (this.s3_access_key !== null && this.s3_access_key !== undefined) {\n    output.writeFieldBegin('s3_access_key', Thrift.Type.STRING, 13);\n    output.writeString(this.s3_access_key);\n    output.writeFieldEnd();\n  }\n  if (this.s3_secret_key !== null && this.s3_secret_key !== undefined) {\n    output.writeFieldBegin('s3_secret_key', Thrift.Type.STRING, 14);\n    output.writeString(this.s3_secret_key);\n    output.writeFieldEnd();\n  }\n  if (this.s3_region !== null && this.s3_region !== undefined) {\n    output.writeFieldBegin('s3_region', Thrift.Type.STRING, 15);\n    output.writeString(this.s3_region);\n    output.writeFieldEnd();\n  }\n  if (this.geo_coords_encoding !== null && this.geo_coords_encoding !== undefined) {\n    output.writeFieldBegin('geo_coords_encoding', Thrift.Type.I32, 16);\n    output.writeI32(this.geo_coords_encoding);\n    output.writeFieldEnd();\n  }\n  if (this.geo_coords_comp_param !== null && this.geo_coords_comp_param !== undefined) {\n    output.writeFieldBegin('geo_coords_comp_param', Thrift.Type.I32, 17);\n    output.writeI32(this.geo_coords_comp_param);\n    output.writeFieldEnd();\n  }\n  if (this.geo_coords_type !== null && this.geo_coords_type !== undefined) {\n    output.writeFieldBegin('geo_coords_type', Thrift.Type.I32, 18);\n    output.writeI32(this.geo_coords_type);\n    output.writeFieldEnd();\n  }\n  if (this.geo_coords_srid !== null && this.geo_coords_srid !== undefined) {\n    output.writeFieldBegin('geo_coords_srid', Thrift.Type.I32, 19);\n    output.writeI32(this.geo_coords_srid);\n    output.writeFieldEnd();\n  }\n  if (this.sanitize_column_names !== null && this.sanitize_column_names !== undefined) {\n    output.writeFieldBegin('sanitize_column_names', Thrift.Type.BOOL, 20);\n    output.writeBool(this.sanitize_column_names);\n    output.writeFieldEnd();\n  }\n  if (this.geo_layer_name !== null && this.geo_layer_name !== undefined) {\n    output.writeFieldBegin('geo_layer_name', Thrift.Type.STRING, 21);\n    output.writeString(this.geo_layer_name);\n    output.writeFieldEnd();\n  }\n  if (this.s3_endpoint !== null && this.s3_endpoint !== undefined) {\n    output.writeFieldBegin('s3_endpoint', Thrift.Type.STRING, 22);\n    output.writeString(this.s3_endpoint);\n    output.writeFieldEnd();\n  }\n  if (this.geo_assign_render_groups !== null && this.geo_assign_render_groups !== undefined) {\n    output.writeFieldBegin('geo_assign_render_groups', Thrift.Type.BOOL, 23);\n    output.writeBool(this.geo_assign_render_groups);\n    output.writeFieldEnd();\n  }\n  if (this.geo_explode_collections !== null && this.geo_explode_collections !== undefined) {\n    output.writeFieldBegin('geo_explode_collections', Thrift.Type.BOOL, 24);\n    output.writeBool(this.geo_explode_collections);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TCreateParams = module.exports.TCreateParams = function(args) {\n  this.is_replicated = null;\n  if (args) {\n    if (args.is_replicated !== undefined && args.is_replicated !== null) {\n      this.is_replicated = args.is_replicated;\n    }\n  }\n};\nTCreateParams.prototype = {};\nTCreateParams.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_replicated = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTCreateParams.prototype.write = function(output) {\n  output.writeStructBegin('TCreateParams');\n  if (this.is_replicated !== null && this.is_replicated !== undefined) {\n    output.writeFieldBegin('is_replicated', Thrift.Type.BOOL, 1);\n    output.writeBool(this.is_replicated);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDetectResult = module.exports.TDetectResult = function(args) {\n  this.row_set = null;\n  this.copy_params = null;\n  if (args) {\n    if (args.row_set !== undefined && args.row_set !== null) {\n      this.row_set = new ttypes.TRowSet(args.row_set);\n    }\n    if (args.copy_params !== undefined && args.copy_params !== null) {\n      this.copy_params = new ttypes.TCopyParams(args.copy_params);\n    }\n  }\n};\nTDetectResult.prototype = {};\nTDetectResult.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.row_set = new ttypes.TRowSet();\n        this.row_set.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.copy_params = new ttypes.TCopyParams();\n        this.copy_params.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDetectResult.prototype.write = function(output) {\n  output.writeStructBegin('TDetectResult');\n  if (this.row_set !== null && this.row_set !== undefined) {\n    output.writeFieldBegin('row_set', Thrift.Type.STRUCT, 1);\n    this.row_set.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.copy_params !== null && this.copy_params !== undefined) {\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 2);\n    this.copy_params.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TImportStatus = module.exports.TImportStatus = function(args) {\n  this.elapsed = null;\n  this.rows_completed = null;\n  this.rows_estimated = null;\n  this.rows_rejected = null;\n  if (args) {\n    if (args.elapsed !== undefined && args.elapsed !== null) {\n      this.elapsed = args.elapsed;\n    }\n    if (args.rows_completed !== undefined && args.rows_completed !== null) {\n      this.rows_completed = args.rows_completed;\n    }\n    if (args.rows_estimated !== undefined && args.rows_estimated !== null) {\n      this.rows_estimated = args.rows_estimated;\n    }\n    if (args.rows_rejected !== undefined && args.rows_rejected !== null) {\n      this.rows_rejected = args.rows_rejected;\n    }\n  }\n};\nTImportStatus.prototype = {};\nTImportStatus.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I64) {\n        this.elapsed = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.rows_completed = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.rows_estimated = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I64) {\n        this.rows_rejected = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTImportStatus.prototype.write = function(output) {\n  output.writeStructBegin('TImportStatus');\n  if (this.elapsed !== null && this.elapsed !== undefined) {\n    output.writeFieldBegin('elapsed', Thrift.Type.I64, 1);\n    output.writeI64(this.elapsed);\n    output.writeFieldEnd();\n  }\n  if (this.rows_completed !== null && this.rows_completed !== undefined) {\n    output.writeFieldBegin('rows_completed', Thrift.Type.I64, 2);\n    output.writeI64(this.rows_completed);\n    output.writeFieldEnd();\n  }\n  if (this.rows_estimated !== null && this.rows_estimated !== undefined) {\n    output.writeFieldBegin('rows_estimated', Thrift.Type.I64, 3);\n    output.writeI64(this.rows_estimated);\n    output.writeFieldEnd();\n  }\n  if (this.rows_rejected !== null && this.rows_rejected !== undefined) {\n    output.writeFieldBegin('rows_rejected', Thrift.Type.I64, 4);\n    output.writeI64(this.rows_rejected);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TFrontendView = module.exports.TFrontendView = function(args) {\n  this.view_name = null;\n  this.view_state = null;\n  this.image_hash = null;\n  this.update_time = null;\n  this.view_metadata = null;\n  if (args) {\n    if (args.view_name !== undefined && args.view_name !== null) {\n      this.view_name = args.view_name;\n    }\n    if (args.view_state !== undefined && args.view_state !== null) {\n      this.view_state = args.view_state;\n    }\n    if (args.image_hash !== undefined && args.image_hash !== null) {\n      this.image_hash = args.image_hash;\n    }\n    if (args.update_time !== undefined && args.update_time !== null) {\n      this.update_time = args.update_time;\n    }\n    if (args.view_metadata !== undefined && args.view_metadata !== null) {\n      this.view_metadata = args.view_metadata;\n    }\n  }\n};\nTFrontendView.prototype = {};\nTFrontendView.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.view_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.view_state = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.image_hash = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.update_time = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.view_metadata = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTFrontendView.prototype.write = function(output) {\n  output.writeStructBegin('TFrontendView');\n  if (this.view_name !== null && this.view_name !== undefined) {\n    output.writeFieldBegin('view_name', Thrift.Type.STRING, 1);\n    output.writeString(this.view_name);\n    output.writeFieldEnd();\n  }\n  if (this.view_state !== null && this.view_state !== undefined) {\n    output.writeFieldBegin('view_state', Thrift.Type.STRING, 2);\n    output.writeString(this.view_state);\n    output.writeFieldEnd();\n  }\n  if (this.image_hash !== null && this.image_hash !== undefined) {\n    output.writeFieldBegin('image_hash', Thrift.Type.STRING, 3);\n    output.writeString(this.image_hash);\n    output.writeFieldEnd();\n  }\n  if (this.update_time !== null && this.update_time !== undefined) {\n    output.writeFieldBegin('update_time', Thrift.Type.STRING, 4);\n    output.writeString(this.update_time);\n    output.writeFieldEnd();\n  }\n  if (this.view_metadata !== null && this.view_metadata !== undefined) {\n    output.writeFieldBegin('view_metadata', Thrift.Type.STRING, 5);\n    output.writeString(this.view_metadata);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TServerStatus = module.exports.TServerStatus = function(args) {\n  this.read_only = null;\n  this.version = null;\n  this.rendering_enabled = null;\n  this.start_time = null;\n  this.edition = null;\n  this.host_name = null;\n  this.poly_rendering_enabled = null;\n  this.role = null;\n  if (args) {\n    if (args.read_only !== undefined && args.read_only !== null) {\n      this.read_only = args.read_only;\n    }\n    if (args.version !== undefined && args.version !== null) {\n      this.version = args.version;\n    }\n    if (args.rendering_enabled !== undefined && args.rendering_enabled !== null) {\n      this.rendering_enabled = args.rendering_enabled;\n    }\n    if (args.start_time !== undefined && args.start_time !== null) {\n      this.start_time = args.start_time;\n    }\n    if (args.edition !== undefined && args.edition !== null) {\n      this.edition = args.edition;\n    }\n    if (args.host_name !== undefined && args.host_name !== null) {\n      this.host_name = args.host_name;\n    }\n    if (args.poly_rendering_enabled !== undefined && args.poly_rendering_enabled !== null) {\n      this.poly_rendering_enabled = args.poly_rendering_enabled;\n    }\n    if (args.role !== undefined && args.role !== null) {\n      this.role = args.role;\n    }\n  }\n};\nTServerStatus.prototype = {};\nTServerStatus.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.BOOL) {\n        this.read_only = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.version = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.BOOL) {\n        this.rendering_enabled = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I64) {\n        this.start_time = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.edition = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.STRING) {\n        this.host_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.BOOL) {\n        this.poly_rendering_enabled = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.I32) {\n        this.role = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTServerStatus.prototype.write = function(output) {\n  output.writeStructBegin('TServerStatus');\n  if (this.read_only !== null && this.read_only !== undefined) {\n    output.writeFieldBegin('read_only', Thrift.Type.BOOL, 1);\n    output.writeBool(this.read_only);\n    output.writeFieldEnd();\n  }\n  if (this.version !== null && this.version !== undefined) {\n    output.writeFieldBegin('version', Thrift.Type.STRING, 2);\n    output.writeString(this.version);\n    output.writeFieldEnd();\n  }\n  if (this.rendering_enabled !== null && this.rendering_enabled !== undefined) {\n    output.writeFieldBegin('rendering_enabled', Thrift.Type.BOOL, 3);\n    output.writeBool(this.rendering_enabled);\n    output.writeFieldEnd();\n  }\n  if (this.start_time !== null && this.start_time !== undefined) {\n    output.writeFieldBegin('start_time', Thrift.Type.I64, 4);\n    output.writeI64(this.start_time);\n    output.writeFieldEnd();\n  }\n  if (this.edition !== null && this.edition !== undefined) {\n    output.writeFieldBegin('edition', Thrift.Type.STRING, 5);\n    output.writeString(this.edition);\n    output.writeFieldEnd();\n  }\n  if (this.host_name !== null && this.host_name !== undefined) {\n    output.writeFieldBegin('host_name', Thrift.Type.STRING, 6);\n    output.writeString(this.host_name);\n    output.writeFieldEnd();\n  }\n  if (this.poly_rendering_enabled !== null && this.poly_rendering_enabled !== undefined) {\n    output.writeFieldBegin('poly_rendering_enabled', Thrift.Type.BOOL, 7);\n    output.writeBool(this.poly_rendering_enabled);\n    output.writeFieldEnd();\n  }\n  if (this.role !== null && this.role !== undefined) {\n    output.writeFieldBegin('role', Thrift.Type.I32, 8);\n    output.writeI32(this.role);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TPixel = module.exports.TPixel = function(args) {\n  this.x = null;\n  this.y = null;\n  if (args) {\n    if (args.x !== undefined && args.x !== null) {\n      this.x = args.x;\n    }\n    if (args.y !== undefined && args.y !== null) {\n      this.y = args.y;\n    }\n  }\n};\nTPixel.prototype = {};\nTPixel.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I64) {\n        this.x = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.y = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTPixel.prototype.write = function(output) {\n  output.writeStructBegin('TPixel');\n  if (this.x !== null && this.x !== undefined) {\n    output.writeFieldBegin('x', Thrift.Type.I64, 1);\n    output.writeI64(this.x);\n    output.writeFieldEnd();\n  }\n  if (this.y !== null && this.y !== undefined) {\n    output.writeFieldBegin('y', Thrift.Type.I64, 2);\n    output.writeI64(this.y);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TPixelTableRowResult = module.exports.TPixelTableRowResult = function(args) {\n  this.pixel = null;\n  this.vega_table_name = null;\n  this.table_id = null;\n  this.row_id = null;\n  this.row_set = null;\n  this.nonce = null;\n  if (args) {\n    if (args.pixel !== undefined && args.pixel !== null) {\n      this.pixel = new ttypes.TPixel(args.pixel);\n    }\n    if (args.vega_table_name !== undefined && args.vega_table_name !== null) {\n      this.vega_table_name = args.vega_table_name;\n    }\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = Thrift.copyList(args.table_id, [null]);\n    }\n    if (args.row_id !== undefined && args.row_id !== null) {\n      this.row_id = Thrift.copyList(args.row_id, [null]);\n    }\n    if (args.row_set !== undefined && args.row_set !== null) {\n      this.row_set = new ttypes.TRowSet(args.row_set);\n    }\n    if (args.nonce !== undefined && args.nonce !== null) {\n      this.nonce = args.nonce;\n    }\n  }\n};\nTPixelTableRowResult.prototype = {};\nTPixelTableRowResult.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.pixel = new ttypes.TPixel();\n        this.pixel.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.vega_table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.table_id = [];\n        var _rtmp361 = input.readListBegin();\n        var _size60 = _rtmp361.size || 0;\n        for (var _i62 = 0; _i62 < _size60; ++_i62) {\n          var elem63 = null;\n          elem63 = input.readI64();\n          this.table_id.push(elem63);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.row_id = [];\n        var _rtmp365 = input.readListBegin();\n        var _size64 = _rtmp365.size || 0;\n        for (var _i66 = 0; _i66 < _size64; ++_i66) {\n          var elem67 = null;\n          elem67 = input.readI64();\n          this.row_id.push(elem67);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.row_set = new ttypes.TRowSet();\n        this.row_set.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.STRING) {\n        this.nonce = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTPixelTableRowResult.prototype.write = function(output) {\n  output.writeStructBegin('TPixelTableRowResult');\n  if (this.pixel !== null && this.pixel !== undefined) {\n    output.writeFieldBegin('pixel', Thrift.Type.STRUCT, 1);\n    this.pixel.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.vega_table_name !== null && this.vega_table_name !== undefined) {\n    output.writeFieldBegin('vega_table_name', Thrift.Type.STRING, 2);\n    output.writeString(this.vega_table_name);\n    output.writeFieldEnd();\n  }\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.I64, this.table_id.length);\n    for (var iter68 in this.table_id) {\n      if (this.table_id.hasOwnProperty(iter68)) {\n        iter68 = this.table_id[iter68];\n        output.writeI64(iter68);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.row_id !== null && this.row_id !== undefined) {\n    output.writeFieldBegin('row_id', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.I64, this.row_id.length);\n    for (var iter69 in this.row_id) {\n      if (this.row_id.hasOwnProperty(iter69)) {\n        iter69 = this.row_id[iter69];\n        output.writeI64(iter69);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.row_set !== null && this.row_set !== undefined) {\n    output.writeFieldBegin('row_set', Thrift.Type.STRUCT, 5);\n    this.row_set.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.nonce !== null && this.nonce !== undefined) {\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 6);\n    output.writeString(this.nonce);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TRenderResult = module.exports.TRenderResult = function(args) {\n  this.image = null;\n  this.nonce = null;\n  this.execution_time_ms = null;\n  this.render_time_ms = null;\n  this.total_time_ms = null;\n  this.vega_metadata = null;\n  if (args) {\n    if (args.image !== undefined && args.image !== null) {\n      this.image = args.image;\n    }\n    if (args.nonce !== undefined && args.nonce !== null) {\n      this.nonce = args.nonce;\n    }\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\n      this.execution_time_ms = args.execution_time_ms;\n    }\n    if (args.render_time_ms !== undefined && args.render_time_ms !== null) {\n      this.render_time_ms = args.render_time_ms;\n    }\n    if (args.total_time_ms !== undefined && args.total_time_ms !== null) {\n      this.total_time_ms = args.total_time_ms;\n    }\n    if (args.vega_metadata !== undefined && args.vega_metadata !== null) {\n      this.vega_metadata = args.vega_metadata;\n    }\n  }\n};\nTRenderResult.prototype = {};\nTRenderResult.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.image = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.nonce = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.execution_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I64) {\n        this.render_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I64) {\n        this.total_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.STRING) {\n        this.vega_metadata = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTRenderResult.prototype.write = function(output) {\n  output.writeStructBegin('TRenderResult');\n  if (this.image !== null && this.image !== undefined) {\n    output.writeFieldBegin('image', Thrift.Type.STRING, 1);\n    output.writeBinary(this.image);\n    output.writeFieldEnd();\n  }\n  if (this.nonce !== null && this.nonce !== undefined) {\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 2);\n    output.writeString(this.nonce);\n    output.writeFieldEnd();\n  }\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 3);\n    output.writeI64(this.execution_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.render_time_ms !== null && this.render_time_ms !== undefined) {\n    output.writeFieldBegin('render_time_ms', Thrift.Type.I64, 4);\n    output.writeI64(this.render_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.total_time_ms !== null && this.total_time_ms !== undefined) {\n    output.writeFieldBegin('total_time_ms', Thrift.Type.I64, 5);\n    output.writeI64(this.total_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.vega_metadata !== null && this.vega_metadata !== undefined) {\n    output.writeFieldBegin('vega_metadata', Thrift.Type.STRING, 6);\n    output.writeString(this.vega_metadata);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TGpuSpecification = module.exports.TGpuSpecification = function(args) {\n  this.num_sm = null;\n  this.clock_frequency_kHz = null;\n  this.memory = null;\n  this.compute_capability_major = null;\n  this.compute_capability_minor = null;\n  if (args) {\n    if (args.num_sm !== undefined && args.num_sm !== null) {\n      this.num_sm = args.num_sm;\n    }\n    if (args.clock_frequency_kHz !== undefined && args.clock_frequency_kHz !== null) {\n      this.clock_frequency_kHz = args.clock_frequency_kHz;\n    }\n    if (args.memory !== undefined && args.memory !== null) {\n      this.memory = args.memory;\n    }\n    if (args.compute_capability_major !== undefined && args.compute_capability_major !== null) {\n      this.compute_capability_major = args.compute_capability_major;\n    }\n    if (args.compute_capability_minor !== undefined && args.compute_capability_minor !== null) {\n      this.compute_capability_minor = args.compute_capability_minor;\n    }\n  }\n};\nTGpuSpecification.prototype = {};\nTGpuSpecification.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.num_sm = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.clock_frequency_kHz = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.memory = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I16) {\n        this.compute_capability_major = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I16) {\n        this.compute_capability_minor = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTGpuSpecification.prototype.write = function(output) {\n  output.writeStructBegin('TGpuSpecification');\n  if (this.num_sm !== null && this.num_sm !== undefined) {\n    output.writeFieldBegin('num_sm', Thrift.Type.I32, 1);\n    output.writeI32(this.num_sm);\n    output.writeFieldEnd();\n  }\n  if (this.clock_frequency_kHz !== null && this.clock_frequency_kHz !== undefined) {\n    output.writeFieldBegin('clock_frequency_kHz', Thrift.Type.I64, 2);\n    output.writeI64(this.clock_frequency_kHz);\n    output.writeFieldEnd();\n  }\n  if (this.memory !== null && this.memory !== undefined) {\n    output.writeFieldBegin('memory', Thrift.Type.I64, 3);\n    output.writeI64(this.memory);\n    output.writeFieldEnd();\n  }\n  if (this.compute_capability_major !== null && this.compute_capability_major !== undefined) {\n    output.writeFieldBegin('compute_capability_major', Thrift.Type.I16, 4);\n    output.writeI16(this.compute_capability_major);\n    output.writeFieldEnd();\n  }\n  if (this.compute_capability_minor !== null && this.compute_capability_minor !== undefined) {\n    output.writeFieldBegin('compute_capability_minor', Thrift.Type.I16, 5);\n    output.writeI16(this.compute_capability_minor);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar THardwareInfo = module.exports.THardwareInfo = function(args) {\n  this.num_gpu_hw = null;\n  this.num_cpu_hw = null;\n  this.num_gpu_allocated = null;\n  this.start_gpu = null;\n  this.host_name = null;\n  this.gpu_info = null;\n  if (args) {\n    if (args.num_gpu_hw !== undefined && args.num_gpu_hw !== null) {\n      this.num_gpu_hw = args.num_gpu_hw;\n    }\n    if (args.num_cpu_hw !== undefined && args.num_cpu_hw !== null) {\n      this.num_cpu_hw = args.num_cpu_hw;\n    }\n    if (args.num_gpu_allocated !== undefined && args.num_gpu_allocated !== null) {\n      this.num_gpu_allocated = args.num_gpu_allocated;\n    }\n    if (args.start_gpu !== undefined && args.start_gpu !== null) {\n      this.start_gpu = args.start_gpu;\n    }\n    if (args.host_name !== undefined && args.host_name !== null) {\n      this.host_name = args.host_name;\n    }\n    if (args.gpu_info !== undefined && args.gpu_info !== null) {\n      this.gpu_info = Thrift.copyList(args.gpu_info, [ttypes.TGpuSpecification]);\n    }\n  }\n};\nTHardwareInfo.prototype = {};\nTHardwareInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I16) {\n        this.num_gpu_hw = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I16) {\n        this.num_cpu_hw = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I16) {\n        this.num_gpu_allocated = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I16) {\n        this.start_gpu = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.host_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.LIST) {\n        this.gpu_info = [];\n        var _rtmp371 = input.readListBegin();\n        var _size70 = _rtmp371.size || 0;\n        for (var _i72 = 0; _i72 < _size70; ++_i72) {\n          var elem73 = null;\n          elem73 = new ttypes.TGpuSpecification();\n          elem73.read(input);\n          this.gpu_info.push(elem73);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTHardwareInfo.prototype.write = function(output) {\n  output.writeStructBegin('THardwareInfo');\n  if (this.num_gpu_hw !== null && this.num_gpu_hw !== undefined) {\n    output.writeFieldBegin('num_gpu_hw', Thrift.Type.I16, 1);\n    output.writeI16(this.num_gpu_hw);\n    output.writeFieldEnd();\n  }\n  if (this.num_cpu_hw !== null && this.num_cpu_hw !== undefined) {\n    output.writeFieldBegin('num_cpu_hw', Thrift.Type.I16, 2);\n    output.writeI16(this.num_cpu_hw);\n    output.writeFieldEnd();\n  }\n  if (this.num_gpu_allocated !== null && this.num_gpu_allocated !== undefined) {\n    output.writeFieldBegin('num_gpu_allocated', Thrift.Type.I16, 3);\n    output.writeI16(this.num_gpu_allocated);\n    output.writeFieldEnd();\n  }\n  if (this.start_gpu !== null && this.start_gpu !== undefined) {\n    output.writeFieldBegin('start_gpu', Thrift.Type.I16, 4);\n    output.writeI16(this.start_gpu);\n    output.writeFieldEnd();\n  }\n  if (this.host_name !== null && this.host_name !== undefined) {\n    output.writeFieldBegin('host_name', Thrift.Type.STRING, 5);\n    output.writeString(this.host_name);\n    output.writeFieldEnd();\n  }\n  if (this.gpu_info !== null && this.gpu_info !== undefined) {\n    output.writeFieldBegin('gpu_info', Thrift.Type.LIST, 6);\n    output.writeListBegin(Thrift.Type.STRUCT, this.gpu_info.length);\n    for (var iter74 in this.gpu_info) {\n      if (this.gpu_info.hasOwnProperty(iter74)) {\n        iter74 = this.gpu_info[iter74];\n        iter74.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TClusterHardwareInfo = module.exports.TClusterHardwareInfo = function(args) {\n  this.hardware_info = null;\n  if (args) {\n    if (args.hardware_info !== undefined && args.hardware_info !== null) {\n      this.hardware_info = Thrift.copyList(args.hardware_info, [ttypes.THardwareInfo]);\n    }\n  }\n};\nTClusterHardwareInfo.prototype = {};\nTClusterHardwareInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.LIST) {\n        this.hardware_info = [];\n        var _rtmp376 = input.readListBegin();\n        var _size75 = _rtmp376.size || 0;\n        for (var _i77 = 0; _i77 < _size75; ++_i77) {\n          var elem78 = null;\n          elem78 = new ttypes.THardwareInfo();\n          elem78.read(input);\n          this.hardware_info.push(elem78);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTClusterHardwareInfo.prototype.write = function(output) {\n  output.writeStructBegin('TClusterHardwareInfo');\n  if (this.hardware_info !== null && this.hardware_info !== undefined) {\n    output.writeFieldBegin('hardware_info', Thrift.Type.LIST, 1);\n    output.writeListBegin(Thrift.Type.STRUCT, this.hardware_info.length);\n    for (var iter79 in this.hardware_info) {\n      if (this.hardware_info.hasOwnProperty(iter79)) {\n        iter79 = this.hardware_info[iter79];\n        iter79.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TMemoryData = module.exports.TMemoryData = function(args) {\n  this.slab = null;\n  this.start_page = null;\n  this.num_pages = null;\n  this.touch = null;\n  this.chunk_key = null;\n  this.buffer_epoch = null;\n  this.is_free = null;\n  if (args) {\n    if (args.slab !== undefined && args.slab !== null) {\n      this.slab = args.slab;\n    }\n    if (args.start_page !== undefined && args.start_page !== null) {\n      this.start_page = args.start_page;\n    }\n    if (args.num_pages !== undefined && args.num_pages !== null) {\n      this.num_pages = args.num_pages;\n    }\n    if (args.touch !== undefined && args.touch !== null) {\n      this.touch = args.touch;\n    }\n    if (args.chunk_key !== undefined && args.chunk_key !== null) {\n      this.chunk_key = Thrift.copyList(args.chunk_key, [null]);\n    }\n    if (args.buffer_epoch !== undefined && args.buffer_epoch !== null) {\n      this.buffer_epoch = args.buffer_epoch;\n    }\n    if (args.is_free !== undefined && args.is_free !== null) {\n      this.is_free = args.is_free;\n    }\n  }\n};\nTMemoryData.prototype = {};\nTMemoryData.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I64) {\n        this.slab = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.start_page = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.num_pages = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.touch = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.LIST) {\n        this.chunk_key = [];\n        var _rtmp381 = input.readListBegin();\n        var _size80 = _rtmp381.size || 0;\n        for (var _i82 = 0; _i82 < _size80; ++_i82) {\n          var elem83 = null;\n          elem83 = input.readI64();\n          this.chunk_key.push(elem83);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I32) {\n        this.buffer_epoch = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_free = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTMemoryData.prototype.write = function(output) {\n  output.writeStructBegin('TMemoryData');\n  if (this.slab !== null && this.slab !== undefined) {\n    output.writeFieldBegin('slab', Thrift.Type.I64, 1);\n    output.writeI64(this.slab);\n    output.writeFieldEnd();\n  }\n  if (this.start_page !== null && this.start_page !== undefined) {\n    output.writeFieldBegin('start_page', Thrift.Type.I32, 2);\n    output.writeI32(this.start_page);\n    output.writeFieldEnd();\n  }\n  if (this.num_pages !== null && this.num_pages !== undefined) {\n    output.writeFieldBegin('num_pages', Thrift.Type.I64, 3);\n    output.writeI64(this.num_pages);\n    output.writeFieldEnd();\n  }\n  if (this.touch !== null && this.touch !== undefined) {\n    output.writeFieldBegin('touch', Thrift.Type.I32, 4);\n    output.writeI32(this.touch);\n    output.writeFieldEnd();\n  }\n  if (this.chunk_key !== null && this.chunk_key !== undefined) {\n    output.writeFieldBegin('chunk_key', Thrift.Type.LIST, 5);\n    output.writeListBegin(Thrift.Type.I64, this.chunk_key.length);\n    for (var iter84 in this.chunk_key) {\n      if (this.chunk_key.hasOwnProperty(iter84)) {\n        iter84 = this.chunk_key[iter84];\n        output.writeI64(iter84);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.buffer_epoch !== null && this.buffer_epoch !== undefined) {\n    output.writeFieldBegin('buffer_epoch', Thrift.Type.I32, 6);\n    output.writeI32(this.buffer_epoch);\n    output.writeFieldEnd();\n  }\n  if (this.is_free !== null && this.is_free !== undefined) {\n    output.writeFieldBegin('is_free', Thrift.Type.BOOL, 7);\n    output.writeBool(this.is_free);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TNodeMemoryInfo = module.exports.TNodeMemoryInfo = function(args) {\n  this.host_name = null;\n  this.page_size = null;\n  this.max_num_pages = null;\n  this.num_pages_allocated = null;\n  this.is_allocation_capped = null;\n  this.node_memory_data = null;\n  if (args) {\n    if (args.host_name !== undefined && args.host_name !== null) {\n      this.host_name = args.host_name;\n    }\n    if (args.page_size !== undefined && args.page_size !== null) {\n      this.page_size = args.page_size;\n    }\n    if (args.max_num_pages !== undefined && args.max_num_pages !== null) {\n      this.max_num_pages = args.max_num_pages;\n    }\n    if (args.num_pages_allocated !== undefined && args.num_pages_allocated !== null) {\n      this.num_pages_allocated = args.num_pages_allocated;\n    }\n    if (args.is_allocation_capped !== undefined && args.is_allocation_capped !== null) {\n      this.is_allocation_capped = args.is_allocation_capped;\n    }\n    if (args.node_memory_data !== undefined && args.node_memory_data !== null) {\n      this.node_memory_data = Thrift.copyList(args.node_memory_data, [ttypes.TMemoryData]);\n    }\n  }\n};\nTNodeMemoryInfo.prototype = {};\nTNodeMemoryInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.host_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.page_size = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.max_num_pages = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I64) {\n        this.num_pages_allocated = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_allocation_capped = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.LIST) {\n        this.node_memory_data = [];\n        var _rtmp386 = input.readListBegin();\n        var _size85 = _rtmp386.size || 0;\n        for (var _i87 = 0; _i87 < _size85; ++_i87) {\n          var elem88 = null;\n          elem88 = new ttypes.TMemoryData();\n          elem88.read(input);\n          this.node_memory_data.push(elem88);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTNodeMemoryInfo.prototype.write = function(output) {\n  output.writeStructBegin('TNodeMemoryInfo');\n  if (this.host_name !== null && this.host_name !== undefined) {\n    output.writeFieldBegin('host_name', Thrift.Type.STRING, 1);\n    output.writeString(this.host_name);\n    output.writeFieldEnd();\n  }\n  if (this.page_size !== null && this.page_size !== undefined) {\n    output.writeFieldBegin('page_size', Thrift.Type.I64, 2);\n    output.writeI64(this.page_size);\n    output.writeFieldEnd();\n  }\n  if (this.max_num_pages !== null && this.max_num_pages !== undefined) {\n    output.writeFieldBegin('max_num_pages', Thrift.Type.I64, 3);\n    output.writeI64(this.max_num_pages);\n    output.writeFieldEnd();\n  }\n  if (this.num_pages_allocated !== null && this.num_pages_allocated !== undefined) {\n    output.writeFieldBegin('num_pages_allocated', Thrift.Type.I64, 4);\n    output.writeI64(this.num_pages_allocated);\n    output.writeFieldEnd();\n  }\n  if (this.is_allocation_capped !== null && this.is_allocation_capped !== undefined) {\n    output.writeFieldBegin('is_allocation_capped', Thrift.Type.BOOL, 5);\n    output.writeBool(this.is_allocation_capped);\n    output.writeFieldEnd();\n  }\n  if (this.node_memory_data !== null && this.node_memory_data !== undefined) {\n    output.writeFieldBegin('node_memory_data', Thrift.Type.LIST, 6);\n    output.writeListBegin(Thrift.Type.STRUCT, this.node_memory_data.length);\n    for (var iter89 in this.node_memory_data) {\n      if (this.node_memory_data.hasOwnProperty(iter89)) {\n        iter89 = this.node_memory_data[iter89];\n        iter89.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TTableMeta = module.exports.TTableMeta = function(args) {\n  this.table_name = null;\n  this.num_cols = null;\n  this.is_view = null;\n  this.is_replicated = null;\n  this.shard_count = null;\n  this.max_rows = null;\n  this.table_id = null;\n  this.max_table_id = null;\n  this.col_types = null;\n  this.col_names = null;\n  if (args) {\n    if (args.table_name !== undefined && args.table_name !== null) {\n      this.table_name = args.table_name;\n    }\n    if (args.num_cols !== undefined && args.num_cols !== null) {\n      this.num_cols = args.num_cols;\n    }\n    if (args.is_view !== undefined && args.is_view !== null) {\n      this.is_view = args.is_view;\n    }\n    if (args.is_replicated !== undefined && args.is_replicated !== null) {\n      this.is_replicated = args.is_replicated;\n    }\n    if (args.shard_count !== undefined && args.shard_count !== null) {\n      this.shard_count = args.shard_count;\n    }\n    if (args.max_rows !== undefined && args.max_rows !== null) {\n      this.max_rows = args.max_rows;\n    }\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n    if (args.max_table_id !== undefined && args.max_table_id !== null) {\n      this.max_table_id = args.max_table_id;\n    }\n    if (args.col_types !== undefined && args.col_types !== null) {\n      this.col_types = Thrift.copyList(args.col_types, [common_ttypes.TTypeInfo]);\n    }\n    if (args.col_names !== undefined && args.col_names !== null) {\n      this.col_names = Thrift.copyList(args.col_names, [null]);\n    }\n  }\n};\nTTableMeta.prototype = {};\nTTableMeta.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.num_cols = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_view = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_replicated = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I64) {\n        this.shard_count = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.I64) {\n        this.max_rows = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.I64) {\n        this.table_id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 9:\n      if (ftype == Thrift.Type.I64) {\n        this.max_table_id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 10:\n      if (ftype == Thrift.Type.LIST) {\n        this.col_types = [];\n        var _rtmp391 = input.readListBegin();\n        var _size90 = _rtmp391.size || 0;\n        for (var _i92 = 0; _i92 < _size90; ++_i92) {\n          var elem93 = null;\n          elem93 = new common_ttypes.TTypeInfo();\n          elem93.read(input);\n          this.col_types.push(elem93);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 11:\n      if (ftype == Thrift.Type.LIST) {\n        this.col_names = [];\n        var _rtmp395 = input.readListBegin();\n        var _size94 = _rtmp395.size || 0;\n        for (var _i96 = 0; _i96 < _size94; ++_i96) {\n          var elem97 = null;\n          elem97 = input.readString();\n          this.col_names.push(elem97);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTTableMeta.prototype.write = function(output) {\n  output.writeStructBegin('TTableMeta');\n  if (this.table_name !== null && this.table_name !== undefined) {\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 1);\n    output.writeString(this.table_name);\n    output.writeFieldEnd();\n  }\n  if (this.num_cols !== null && this.num_cols !== undefined) {\n    output.writeFieldBegin('num_cols', Thrift.Type.I64, 2);\n    output.writeI64(this.num_cols);\n    output.writeFieldEnd();\n  }\n  if (this.is_view !== null && this.is_view !== undefined) {\n    output.writeFieldBegin('is_view', Thrift.Type.BOOL, 4);\n    output.writeBool(this.is_view);\n    output.writeFieldEnd();\n  }\n  if (this.is_replicated !== null && this.is_replicated !== undefined) {\n    output.writeFieldBegin('is_replicated', Thrift.Type.BOOL, 5);\n    output.writeBool(this.is_replicated);\n    output.writeFieldEnd();\n  }\n  if (this.shard_count !== null && this.shard_count !== undefined) {\n    output.writeFieldBegin('shard_count', Thrift.Type.I64, 6);\n    output.writeI64(this.shard_count);\n    output.writeFieldEnd();\n  }\n  if (this.max_rows !== null && this.max_rows !== undefined) {\n    output.writeFieldBegin('max_rows', Thrift.Type.I64, 7);\n    output.writeI64(this.max_rows);\n    output.writeFieldEnd();\n  }\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I64, 8);\n    output.writeI64(this.table_id);\n    output.writeFieldEnd();\n  }\n  if (this.max_table_id !== null && this.max_table_id !== undefined) {\n    output.writeFieldBegin('max_table_id', Thrift.Type.I64, 9);\n    output.writeI64(this.max_table_id);\n    output.writeFieldEnd();\n  }\n  if (this.col_types !== null && this.col_types !== undefined) {\n    output.writeFieldBegin('col_types', Thrift.Type.LIST, 10);\n    output.writeListBegin(Thrift.Type.STRUCT, this.col_types.length);\n    for (var iter98 in this.col_types) {\n      if (this.col_types.hasOwnProperty(iter98)) {\n        iter98 = this.col_types[iter98];\n        iter98.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.col_names !== null && this.col_names !== undefined) {\n    output.writeFieldBegin('col_names', Thrift.Type.LIST, 11);\n    output.writeListBegin(Thrift.Type.STRING, this.col_names.length);\n    for (var iter99 in this.col_names) {\n      if (this.col_names.hasOwnProperty(iter99)) {\n        iter99 = this.col_names[iter99];\n        output.writeString(iter99);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TTableDetails = module.exports.TTableDetails = function(args) {\n  this.row_desc = null;\n  this.fragment_size = null;\n  this.page_size = null;\n  this.max_rows = null;\n  this.view_sql = null;\n  this.shard_count = null;\n  this.key_metainfo = null;\n  this.is_temporary = null;\n  this.partition_detail = null;\n  if (args) {\n    if (args.row_desc !== undefined && args.row_desc !== null) {\n      this.row_desc = Thrift.copyList(args.row_desc, [ttypes.TColumnType]);\n    }\n    if (args.fragment_size !== undefined && args.fragment_size !== null) {\n      this.fragment_size = args.fragment_size;\n    }\n    if (args.page_size !== undefined && args.page_size !== null) {\n      this.page_size = args.page_size;\n    }\n    if (args.max_rows !== undefined && args.max_rows !== null) {\n      this.max_rows = args.max_rows;\n    }\n    if (args.view_sql !== undefined && args.view_sql !== null) {\n      this.view_sql = args.view_sql;\n    }\n    if (args.shard_count !== undefined && args.shard_count !== null) {\n      this.shard_count = args.shard_count;\n    }\n    if (args.key_metainfo !== undefined && args.key_metainfo !== null) {\n      this.key_metainfo = args.key_metainfo;\n    }\n    if (args.is_temporary !== undefined && args.is_temporary !== null) {\n      this.is_temporary = args.is_temporary;\n    }\n    if (args.partition_detail !== undefined && args.partition_detail !== null) {\n      this.partition_detail = args.partition_detail;\n    }\n  }\n};\nTTableDetails.prototype = {};\nTTableDetails.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.LIST) {\n        this.row_desc = [];\n        var _rtmp3101 = input.readListBegin();\n        var _size100 = _rtmp3101.size || 0;\n        for (var _i102 = 0; _i102 < _size100; ++_i102) {\n          var elem103 = null;\n          elem103 = new ttypes.TColumnType();\n          elem103.read(input);\n          this.row_desc.push(elem103);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.fragment_size = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.page_size = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I64) {\n        this.max_rows = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.view_sql = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I64) {\n        this.shard_count = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.STRING) {\n        this.key_metainfo = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_temporary = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 9:\n      if (ftype == Thrift.Type.I32) {\n        this.partition_detail = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTTableDetails.prototype.write = function(output) {\n  output.writeStructBegin('TTableDetails');\n  if (this.row_desc !== null && this.row_desc !== undefined) {\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 1);\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\n    for (var iter104 in this.row_desc) {\n      if (this.row_desc.hasOwnProperty(iter104)) {\n        iter104 = this.row_desc[iter104];\n        iter104.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.fragment_size !== null && this.fragment_size !== undefined) {\n    output.writeFieldBegin('fragment_size', Thrift.Type.I64, 2);\n    output.writeI64(this.fragment_size);\n    output.writeFieldEnd();\n  }\n  if (this.page_size !== null && this.page_size !== undefined) {\n    output.writeFieldBegin('page_size', Thrift.Type.I64, 3);\n    output.writeI64(this.page_size);\n    output.writeFieldEnd();\n  }\n  if (this.max_rows !== null && this.max_rows !== undefined) {\n    output.writeFieldBegin('max_rows', Thrift.Type.I64, 4);\n    output.writeI64(this.max_rows);\n    output.writeFieldEnd();\n  }\n  if (this.view_sql !== null && this.view_sql !== undefined) {\n    output.writeFieldBegin('view_sql', Thrift.Type.STRING, 5);\n    output.writeString(this.view_sql);\n    output.writeFieldEnd();\n  }\n  if (this.shard_count !== null && this.shard_count !== undefined) {\n    output.writeFieldBegin('shard_count', Thrift.Type.I64, 6);\n    output.writeI64(this.shard_count);\n    output.writeFieldEnd();\n  }\n  if (this.key_metainfo !== null && this.key_metainfo !== undefined) {\n    output.writeFieldBegin('key_metainfo', Thrift.Type.STRING, 7);\n    output.writeString(this.key_metainfo);\n    output.writeFieldEnd();\n  }\n  if (this.is_temporary !== null && this.is_temporary !== undefined) {\n    output.writeFieldBegin('is_temporary', Thrift.Type.BOOL, 8);\n    output.writeBool(this.is_temporary);\n    output.writeFieldEnd();\n  }\n  if (this.partition_detail !== null && this.partition_detail !== undefined) {\n    output.writeFieldBegin('partition_detail', Thrift.Type.I32, 9);\n    output.writeI32(this.partition_detail);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TColumnRange = module.exports.TColumnRange = function(args) {\n  this.type = null;\n  this.col_id = null;\n  this.table_id = null;\n  this.has_nulls = null;\n  this.int_min = null;\n  this.int_max = null;\n  this.bucket = null;\n  this.fp_min = null;\n  this.fp_max = null;\n  if (args) {\n    if (args.type !== undefined && args.type !== null) {\n      this.type = args.type;\n    }\n    if (args.col_id !== undefined && args.col_id !== null) {\n      this.col_id = args.col_id;\n    }\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n    if (args.has_nulls !== undefined && args.has_nulls !== null) {\n      this.has_nulls = args.has_nulls;\n    }\n    if (args.int_min !== undefined && args.int_min !== null) {\n      this.int_min = args.int_min;\n    }\n    if (args.int_max !== undefined && args.int_max !== null) {\n      this.int_max = args.int_max;\n    }\n    if (args.bucket !== undefined && args.bucket !== null) {\n      this.bucket = args.bucket;\n    }\n    if (args.fp_min !== undefined && args.fp_min !== null) {\n      this.fp_min = args.fp_min;\n    }\n    if (args.fp_max !== undefined && args.fp_max !== null) {\n      this.fp_max = args.fp_max;\n    }\n  }\n};\nTColumnRange.prototype = {};\nTColumnRange.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.col_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.table_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.has_nulls = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I64) {\n        this.int_min = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I64) {\n        this.int_max = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.I64) {\n        this.bucket = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.DOUBLE) {\n        this.fp_min = input.readDouble();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 9:\n      if (ftype == Thrift.Type.DOUBLE) {\n        this.fp_max = input.readDouble();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTColumnRange.prototype.write = function(output) {\n  output.writeStructBegin('TColumnRange');\n  if (this.type !== null && this.type !== undefined) {\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\n    output.writeI32(this.type);\n    output.writeFieldEnd();\n  }\n  if (this.col_id !== null && this.col_id !== undefined) {\n    output.writeFieldBegin('col_id', Thrift.Type.I32, 2);\n    output.writeI32(this.col_id);\n    output.writeFieldEnd();\n  }\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 3);\n    output.writeI32(this.table_id);\n    output.writeFieldEnd();\n  }\n  if (this.has_nulls !== null && this.has_nulls !== undefined) {\n    output.writeFieldBegin('has_nulls', Thrift.Type.BOOL, 4);\n    output.writeBool(this.has_nulls);\n    output.writeFieldEnd();\n  }\n  if (this.int_min !== null && this.int_min !== undefined) {\n    output.writeFieldBegin('int_min', Thrift.Type.I64, 5);\n    output.writeI64(this.int_min);\n    output.writeFieldEnd();\n  }\n  if (this.int_max !== null && this.int_max !== undefined) {\n    output.writeFieldBegin('int_max', Thrift.Type.I64, 6);\n    output.writeI64(this.int_max);\n    output.writeFieldEnd();\n  }\n  if (this.bucket !== null && this.bucket !== undefined) {\n    output.writeFieldBegin('bucket', Thrift.Type.I64, 7);\n    output.writeI64(this.bucket);\n    output.writeFieldEnd();\n  }\n  if (this.fp_min !== null && this.fp_min !== undefined) {\n    output.writeFieldBegin('fp_min', Thrift.Type.DOUBLE, 8);\n    output.writeDouble(this.fp_min);\n    output.writeFieldEnd();\n  }\n  if (this.fp_max !== null && this.fp_max !== undefined) {\n    output.writeFieldBegin('fp_max', Thrift.Type.DOUBLE, 9);\n    output.writeDouble(this.fp_max);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDictionaryGeneration = module.exports.TDictionaryGeneration = function(args) {\n  this.dict_id = null;\n  this.entry_count = null;\n  if (args) {\n    if (args.dict_id !== undefined && args.dict_id !== null) {\n      this.dict_id = args.dict_id;\n    }\n    if (args.entry_count !== undefined && args.entry_count !== null) {\n      this.entry_count = args.entry_count;\n    }\n  }\n};\nTDictionaryGeneration.prototype = {};\nTDictionaryGeneration.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.dict_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.entry_count = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDictionaryGeneration.prototype.write = function(output) {\n  output.writeStructBegin('TDictionaryGeneration');\n  if (this.dict_id !== null && this.dict_id !== undefined) {\n    output.writeFieldBegin('dict_id', Thrift.Type.I32, 1);\n    output.writeI32(this.dict_id);\n    output.writeFieldEnd();\n  }\n  if (this.entry_count !== null && this.entry_count !== undefined) {\n    output.writeFieldBegin('entry_count', Thrift.Type.I64, 2);\n    output.writeI64(this.entry_count);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TTableGeneration = module.exports.TTableGeneration = function(args) {\n  this.table_id = null;\n  this.tuple_count = null;\n  this.start_rowid = null;\n  if (args) {\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n    if (args.tuple_count !== undefined && args.tuple_count !== null) {\n      this.tuple_count = args.tuple_count;\n    }\n    if (args.start_rowid !== undefined && args.start_rowid !== null) {\n      this.start_rowid = args.start_rowid;\n    }\n  }\n};\nTTableGeneration.prototype = {};\nTTableGeneration.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.table_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.tuple_count = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.start_rowid = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTTableGeneration.prototype.write = function(output) {\n  output.writeStructBegin('TTableGeneration');\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 1);\n    output.writeI32(this.table_id);\n    output.writeFieldEnd();\n  }\n  if (this.tuple_count !== null && this.tuple_count !== undefined) {\n    output.writeFieldBegin('tuple_count', Thrift.Type.I64, 2);\n    output.writeI64(this.tuple_count);\n    output.writeFieldEnd();\n  }\n  if (this.start_rowid !== null && this.start_rowid !== undefined) {\n    output.writeFieldBegin('start_rowid', Thrift.Type.I64, 3);\n    output.writeI64(this.start_rowid);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TPendingQuery = module.exports.TPendingQuery = function(args) {\n  this.id = null;\n  this.column_ranges = null;\n  this.dictionary_generations = null;\n  this.table_generations = null;\n  this.parent_session_id = null;\n  if (args) {\n    if (args.id !== undefined && args.id !== null) {\n      this.id = args.id;\n    }\n    if (args.column_ranges !== undefined && args.column_ranges !== null) {\n      this.column_ranges = Thrift.copyList(args.column_ranges, [ttypes.TColumnRange]);\n    }\n    if (args.dictionary_generations !== undefined && args.dictionary_generations !== null) {\n      this.dictionary_generations = Thrift.copyList(args.dictionary_generations, [ttypes.TDictionaryGeneration]);\n    }\n    if (args.table_generations !== undefined && args.table_generations !== null) {\n      this.table_generations = Thrift.copyList(args.table_generations, [ttypes.TTableGeneration]);\n    }\n    if (args.parent_session_id !== undefined && args.parent_session_id !== null) {\n      this.parent_session_id = args.parent_session_id;\n    }\n  }\n};\nTPendingQuery.prototype = {};\nTPendingQuery.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I64) {\n        this.id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.column_ranges = [];\n        var _rtmp3106 = input.readListBegin();\n        var _size105 = _rtmp3106.size || 0;\n        for (var _i107 = 0; _i107 < _size105; ++_i107) {\n          var elem108 = null;\n          elem108 = new ttypes.TColumnRange();\n          elem108.read(input);\n          this.column_ranges.push(elem108);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.dictionary_generations = [];\n        var _rtmp3110 = input.readListBegin();\n        var _size109 = _rtmp3110.size || 0;\n        for (var _i111 = 0; _i111 < _size109; ++_i111) {\n          var elem112 = null;\n          elem112 = new ttypes.TDictionaryGeneration();\n          elem112.read(input);\n          this.dictionary_generations.push(elem112);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.table_generations = [];\n        var _rtmp3114 = input.readListBegin();\n        var _size113 = _rtmp3114.size || 0;\n        for (var _i115 = 0; _i115 < _size113; ++_i115) {\n          var elem116 = null;\n          elem116 = new ttypes.TTableGeneration();\n          elem116.read(input);\n          this.table_generations.push(elem116);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.parent_session_id = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTPendingQuery.prototype.write = function(output) {\n  output.writeStructBegin('TPendingQuery');\n  if (this.id !== null && this.id !== undefined) {\n    output.writeFieldBegin('id', Thrift.Type.I64, 1);\n    output.writeI64(this.id);\n    output.writeFieldEnd();\n  }\n  if (this.column_ranges !== null && this.column_ranges !== undefined) {\n    output.writeFieldBegin('column_ranges', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.STRUCT, this.column_ranges.length);\n    for (var iter117 in this.column_ranges) {\n      if (this.column_ranges.hasOwnProperty(iter117)) {\n        iter117 = this.column_ranges[iter117];\n        iter117.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.dictionary_generations !== null && this.dictionary_generations !== undefined) {\n    output.writeFieldBegin('dictionary_generations', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.STRUCT, this.dictionary_generations.length);\n    for (var iter118 in this.dictionary_generations) {\n      if (this.dictionary_generations.hasOwnProperty(iter118)) {\n        iter118 = this.dictionary_generations[iter118];\n        iter118.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.table_generations !== null && this.table_generations !== undefined) {\n    output.writeFieldBegin('table_generations', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.STRUCT, this.table_generations.length);\n    for (var iter119 in this.table_generations) {\n      if (this.table_generations.hasOwnProperty(iter119)) {\n        iter119 = this.table_generations[iter119];\n        iter119.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.parent_session_id !== null && this.parent_session_id !== undefined) {\n    output.writeFieldBegin('parent_session_id', Thrift.Type.STRING, 5);\n    output.writeString(this.parent_session_id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TVarLen = module.exports.TVarLen = function(args) {\n  this.payload = null;\n  this.is_null = null;\n  if (args) {\n    if (args.payload !== undefined && args.payload !== null) {\n      this.payload = args.payload;\n    }\n    if (args.is_null !== undefined && args.is_null !== null) {\n      this.is_null = args.is_null;\n    }\n  }\n};\nTVarLen.prototype = {};\nTVarLen.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.payload = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_null = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTVarLen.prototype.write = function(output) {\n  output.writeStructBegin('TVarLen');\n  if (this.payload !== null && this.payload !== undefined) {\n    output.writeFieldBegin('payload', Thrift.Type.STRING, 1);\n    output.writeBinary(this.payload);\n    output.writeFieldEnd();\n  }\n  if (this.is_null !== null && this.is_null !== undefined) {\n    output.writeFieldBegin('is_null', Thrift.Type.BOOL, 2);\n    output.writeBool(this.is_null);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDataBlockPtr = module.exports.TDataBlockPtr = function(args) {\n  this.fixed_len_data = null;\n  this.var_len_data = null;\n  if (args) {\n    if (args.fixed_len_data !== undefined && args.fixed_len_data !== null) {\n      this.fixed_len_data = args.fixed_len_data;\n    }\n    if (args.var_len_data !== undefined && args.var_len_data !== null) {\n      this.var_len_data = Thrift.copyList(args.var_len_data, [ttypes.TVarLen]);\n    }\n  }\n};\nTDataBlockPtr.prototype = {};\nTDataBlockPtr.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.fixed_len_data = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.var_len_data = [];\n        var _rtmp3121 = input.readListBegin();\n        var _size120 = _rtmp3121.size || 0;\n        for (var _i122 = 0; _i122 < _size120; ++_i122) {\n          var elem123 = null;\n          elem123 = new ttypes.TVarLen();\n          elem123.read(input);\n          this.var_len_data.push(elem123);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDataBlockPtr.prototype.write = function(output) {\n  output.writeStructBegin('TDataBlockPtr');\n  if (this.fixed_len_data !== null && this.fixed_len_data !== undefined) {\n    output.writeFieldBegin('fixed_len_data', Thrift.Type.STRING, 1);\n    output.writeBinary(this.fixed_len_data);\n    output.writeFieldEnd();\n  }\n  if (this.var_len_data !== null && this.var_len_data !== undefined) {\n    output.writeFieldBegin('var_len_data', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.STRUCT, this.var_len_data.length);\n    for (var iter124 in this.var_len_data) {\n      if (this.var_len_data.hasOwnProperty(iter124)) {\n        iter124 = this.var_len_data[iter124];\n        iter124.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TInsertData = module.exports.TInsertData = function(args) {\n  this.db_id = null;\n  this.table_id = null;\n  this.column_ids = null;\n  this.data = null;\n  this.num_rows = null;\n  if (args) {\n    if (args.db_id !== undefined && args.db_id !== null) {\n      this.db_id = args.db_id;\n    }\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n    if (args.column_ids !== undefined && args.column_ids !== null) {\n      this.column_ids = Thrift.copyList(args.column_ids, [null]);\n    }\n    if (args.data !== undefined && args.data !== null) {\n      this.data = Thrift.copyList(args.data, [ttypes.TDataBlockPtr]);\n    }\n    if (args.num_rows !== undefined && args.num_rows !== null) {\n      this.num_rows = args.num_rows;\n    }\n  }\n};\nTInsertData.prototype = {};\nTInsertData.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.db_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.table_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.column_ids = [];\n        var _rtmp3126 = input.readListBegin();\n        var _size125 = _rtmp3126.size || 0;\n        for (var _i127 = 0; _i127 < _size125; ++_i127) {\n          var elem128 = null;\n          elem128 = input.readI32();\n          this.column_ids.push(elem128);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.LIST) {\n        this.data = [];\n        var _rtmp3130 = input.readListBegin();\n        var _size129 = _rtmp3130.size || 0;\n        for (var _i131 = 0; _i131 < _size129; ++_i131) {\n          var elem132 = null;\n          elem132 = new ttypes.TDataBlockPtr();\n          elem132.read(input);\n          this.data.push(elem132);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I64) {\n        this.num_rows = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTInsertData.prototype.write = function(output) {\n  output.writeStructBegin('TInsertData');\n  if (this.db_id !== null && this.db_id !== undefined) {\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 1);\n    output.writeI32(this.db_id);\n    output.writeFieldEnd();\n  }\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 2);\n    output.writeI32(this.table_id);\n    output.writeFieldEnd();\n  }\n  if (this.column_ids !== null && this.column_ids !== undefined) {\n    output.writeFieldBegin('column_ids', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.I32, this.column_ids.length);\n    for (var iter133 in this.column_ids) {\n      if (this.column_ids.hasOwnProperty(iter133)) {\n        iter133 = this.column_ids[iter133];\n        output.writeI32(iter133);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.data !== null && this.data !== undefined) {\n    output.writeFieldBegin('data', Thrift.Type.LIST, 4);\n    output.writeListBegin(Thrift.Type.STRUCT, this.data.length);\n    for (var iter134 in this.data) {\n      if (this.data.hasOwnProperty(iter134)) {\n        iter134 = this.data[iter134];\n        iter134.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.num_rows !== null && this.num_rows !== undefined) {\n    output.writeFieldBegin('num_rows', Thrift.Type.I64, 5);\n    output.writeI64(this.num_rows);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TPendingRenderQuery = module.exports.TPendingRenderQuery = function(args) {\n  this.id = null;\n  if (args) {\n    if (args.id !== undefined && args.id !== null) {\n      this.id = args.id;\n    }\n  }\n};\nTPendingRenderQuery.prototype = {};\nTPendingRenderQuery.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I64) {\n        this.id = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTPendingRenderQuery.prototype.write = function(output) {\n  output.writeStructBegin('TPendingRenderQuery');\n  if (this.id !== null && this.id !== undefined) {\n    output.writeFieldBegin('id', Thrift.Type.I64, 1);\n    output.writeI64(this.id);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TRenderParseResult = module.exports.TRenderParseResult = function(args) {\n  this.merge_type = null;\n  this.node_id = null;\n  this.execution_time_ms = null;\n  this.render_time_ms = null;\n  this.total_time_ms = null;\n  if (args) {\n    if (args.merge_type !== undefined && args.merge_type !== null) {\n      this.merge_type = args.merge_type;\n    }\n    if (args.node_id !== undefined && args.node_id !== null) {\n      this.node_id = args.node_id;\n    }\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\n      this.execution_time_ms = args.execution_time_ms;\n    }\n    if (args.render_time_ms !== undefined && args.render_time_ms !== null) {\n      this.render_time_ms = args.render_time_ms;\n    }\n    if (args.total_time_ms !== undefined && args.total_time_ms !== null) {\n      this.total_time_ms = args.total_time_ms;\n    }\n  }\n};\nTRenderParseResult.prototype = {};\nTRenderParseResult.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.merge_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.node_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.execution_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I64) {\n        this.render_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I64) {\n        this.total_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTRenderParseResult.prototype.write = function(output) {\n  output.writeStructBegin('TRenderParseResult');\n  if (this.merge_type !== null && this.merge_type !== undefined) {\n    output.writeFieldBegin('merge_type', Thrift.Type.I32, 1);\n    output.writeI32(this.merge_type);\n    output.writeFieldEnd();\n  }\n  if (this.node_id !== null && this.node_id !== undefined) {\n    output.writeFieldBegin('node_id', Thrift.Type.I32, 2);\n    output.writeI32(this.node_id);\n    output.writeFieldEnd();\n  }\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 3);\n    output.writeI64(this.execution_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.render_time_ms !== null && this.render_time_ms !== undefined) {\n    output.writeFieldBegin('render_time_ms', Thrift.Type.I64, 4);\n    output.writeI64(this.render_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.total_time_ms !== null && this.total_time_ms !== undefined) {\n    output.writeFieldBegin('total_time_ms', Thrift.Type.I64, 5);\n    output.writeI64(this.total_time_ms);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TRawRenderPassDataResult = module.exports.TRawRenderPassDataResult = function(args) {\n  this.num_pixel_channels = null;\n  this.num_pixel_samples = null;\n  this.pixels = null;\n  this.row_ids_A = null;\n  this.row_ids_B = null;\n  this.table_ids = null;\n  this.accum_data = null;\n  this.accum_depth = null;\n  if (args) {\n    if (args.num_pixel_channels !== undefined && args.num_pixel_channels !== null) {\n      this.num_pixel_channels = args.num_pixel_channels;\n    }\n    if (args.num_pixel_samples !== undefined && args.num_pixel_samples !== null) {\n      this.num_pixel_samples = args.num_pixel_samples;\n    }\n    if (args.pixels !== undefined && args.pixels !== null) {\n      this.pixels = args.pixels;\n    }\n    if (args.row_ids_A !== undefined && args.row_ids_A !== null) {\n      this.row_ids_A = args.row_ids_A;\n    }\n    if (args.row_ids_B !== undefined && args.row_ids_B !== null) {\n      this.row_ids_B = args.row_ids_B;\n    }\n    if (args.table_ids !== undefined && args.table_ids !== null) {\n      this.table_ids = args.table_ids;\n    }\n    if (args.accum_data !== undefined && args.accum_data !== null) {\n      this.accum_data = args.accum_data;\n    }\n    if (args.accum_depth !== undefined && args.accum_depth !== null) {\n      this.accum_depth = args.accum_depth;\n    }\n  }\n};\nTRawRenderPassDataResult.prototype = {};\nTRawRenderPassDataResult.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.num_pixel_channels = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.num_pixel_samples = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.pixels = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.row_ids_A = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.row_ids_B = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.STRING) {\n        this.table_ids = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.STRING) {\n        this.accum_data = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.I32) {\n        this.accum_depth = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTRawRenderPassDataResult.prototype.write = function(output) {\n  output.writeStructBegin('TRawRenderPassDataResult');\n  if (this.num_pixel_channels !== null && this.num_pixel_channels !== undefined) {\n    output.writeFieldBegin('num_pixel_channels', Thrift.Type.I32, 1);\n    output.writeI32(this.num_pixel_channels);\n    output.writeFieldEnd();\n  }\n  if (this.num_pixel_samples !== null && this.num_pixel_samples !== undefined) {\n    output.writeFieldBegin('num_pixel_samples', Thrift.Type.I32, 2);\n    output.writeI32(this.num_pixel_samples);\n    output.writeFieldEnd();\n  }\n  if (this.pixels !== null && this.pixels !== undefined) {\n    output.writeFieldBegin('pixels', Thrift.Type.STRING, 3);\n    output.writeBinary(this.pixels);\n    output.writeFieldEnd();\n  }\n  if (this.row_ids_A !== null && this.row_ids_A !== undefined) {\n    output.writeFieldBegin('row_ids_A', Thrift.Type.STRING, 4);\n    output.writeBinary(this.row_ids_A);\n    output.writeFieldEnd();\n  }\n  if (this.row_ids_B !== null && this.row_ids_B !== undefined) {\n    output.writeFieldBegin('row_ids_B', Thrift.Type.STRING, 5);\n    output.writeBinary(this.row_ids_B);\n    output.writeFieldEnd();\n  }\n  if (this.table_ids !== null && this.table_ids !== undefined) {\n    output.writeFieldBegin('table_ids', Thrift.Type.STRING, 6);\n    output.writeBinary(this.table_ids);\n    output.writeFieldEnd();\n  }\n  if (this.accum_data !== null && this.accum_data !== undefined) {\n    output.writeFieldBegin('accum_data', Thrift.Type.STRING, 7);\n    output.writeBinary(this.accum_data);\n    output.writeFieldEnd();\n  }\n  if (this.accum_depth !== null && this.accum_depth !== undefined) {\n    output.writeFieldBegin('accum_depth', Thrift.Type.I32, 8);\n    output.writeI32(this.accum_depth);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TRawPixelData = module.exports.TRawPixelData = function(args) {\n  this.width = null;\n  this.height = null;\n  this.render_pass_map = null;\n  if (args) {\n    if (args.width !== undefined && args.width !== null) {\n      this.width = args.width;\n    }\n    if (args.height !== undefined && args.height !== null) {\n      this.height = args.height;\n    }\n    if (args.render_pass_map !== undefined && args.render_pass_map !== null) {\n      this.render_pass_map = Thrift.copyMap(args.render_pass_map, [ttypes.TRawRenderPassDataResult]);\n    }\n  }\n};\nTRawPixelData.prototype = {};\nTRawPixelData.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.width = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.height = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.MAP) {\n        this.render_pass_map = {};\n        var _rtmp3136 = input.readMapBegin();\n        var _size135 = _rtmp3136.size || 0;\n        for (var _i137 = 0; _i137 < _size135; ++_i137) {\n          var key138 = null;\n          var val139 = null;\n          key138 = input.readI32();\n          val139 = new ttypes.TRawRenderPassDataResult();\n          val139.read(input);\n          this.render_pass_map[key138] = val139;\n        }\n        input.readMapEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTRawPixelData.prototype.write = function(output) {\n  output.writeStructBegin('TRawPixelData');\n  if (this.width !== null && this.width !== undefined) {\n    output.writeFieldBegin('width', Thrift.Type.I32, 1);\n    output.writeI32(this.width);\n    output.writeFieldEnd();\n  }\n  if (this.height !== null && this.height !== undefined) {\n    output.writeFieldBegin('height', Thrift.Type.I32, 2);\n    output.writeI32(this.height);\n    output.writeFieldEnd();\n  }\n  if (this.render_pass_map !== null && this.render_pass_map !== undefined) {\n    output.writeFieldBegin('render_pass_map', Thrift.Type.MAP, 3);\n    output.writeMapBegin(Thrift.Type.I32, Thrift.Type.STRUCT, Thrift.objectLength(this.render_pass_map));\n    for (var kiter140 in this.render_pass_map) {\n      if (this.render_pass_map.hasOwnProperty(kiter140)) {\n        var viter141 = this.render_pass_map[kiter140];\n        output.writeI32(kiter140);\n        viter141.write(output);\n      }\n    }\n    output.writeMapEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TRenderDatum = module.exports.TRenderDatum = function(args) {\n  this.type = null;\n  this.cnt = null;\n  this.value = null;\n  if (args) {\n    if (args.type !== undefined && args.type !== null) {\n      this.type = args.type;\n    }\n    if (args.cnt !== undefined && args.cnt !== null) {\n      this.cnt = args.cnt;\n    }\n    if (args.value !== undefined && args.value !== null) {\n      this.value = args.value;\n    }\n  }\n};\nTRenderDatum.prototype = {};\nTRenderDatum.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.cnt = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.value = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTRenderDatum.prototype.write = function(output) {\n  output.writeStructBegin('TRenderDatum');\n  if (this.type !== null && this.type !== undefined) {\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\n    output.writeI32(this.type);\n    output.writeFieldEnd();\n  }\n  if (this.cnt !== null && this.cnt !== undefined) {\n    output.writeFieldBegin('cnt', Thrift.Type.I32, 2);\n    output.writeI32(this.cnt);\n    output.writeFieldEnd();\n  }\n  if (this.value !== null && this.value !== undefined) {\n    output.writeFieldBegin('value', Thrift.Type.STRING, 3);\n    output.writeBinary(this.value);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TRenderStepResult = module.exports.TRenderStepResult = function(args) {\n  this.merge_data = null;\n  this.raw_pixel_data = null;\n  this.execution_time_ms = null;\n  this.render_time_ms = null;\n  this.total_time_ms = null;\n  if (args) {\n    if (args.merge_data !== undefined && args.merge_data !== null) {\n      this.merge_data = Thrift.copyMap(args.merge_data, [Thrift.copyMap, Thrift.copyMap, Thrift.copyMap, Thrift.copyList, ttypes.TRenderDatum]);\n    }\n    if (args.raw_pixel_data !== undefined && args.raw_pixel_data !== null) {\n      this.raw_pixel_data = new ttypes.TRawPixelData(args.raw_pixel_data);\n    }\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\n      this.execution_time_ms = args.execution_time_ms;\n    }\n    if (args.render_time_ms !== undefined && args.render_time_ms !== null) {\n      this.render_time_ms = args.render_time_ms;\n    }\n    if (args.total_time_ms !== undefined && args.total_time_ms !== null) {\n      this.total_time_ms = args.total_time_ms;\n    }\n  }\n};\nTRenderStepResult.prototype = {};\nTRenderStepResult.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.MAP) {\n        this.merge_data = {};\n        var _rtmp3143 = input.readMapBegin();\n        var _size142 = _rtmp3143.size || 0;\n        for (var _i144 = 0; _i144 < _size142; ++_i144) {\n          var key145 = null;\n          var val146 = null;\n          key145 = input.readString();\n          val146 = {};\n          var _rtmp3148 = input.readMapBegin();\n          var _size147 = _rtmp3148.size || 0;\n          for (var _i149 = 0; _i149 < _size147; ++_i149) {\n            var key150 = null;\n            var val151 = null;\n            key150 = input.readString();\n            val151 = {};\n            var _rtmp3153 = input.readMapBegin();\n            var _size152 = _rtmp3153.size || 0;\n            for (var _i154 = 0; _i154 < _size152; ++_i154) {\n              var key155 = null;\n              var val156 = null;\n              key155 = input.readString();\n              val156 = {};\n              var _rtmp3158 = input.readMapBegin();\n              var _size157 = _rtmp3158.size || 0;\n              for (var _i159 = 0; _i159 < _size157; ++_i159) {\n                var key160 = null;\n                var val161 = null;\n                key160 = input.readString();\n                val161 = [];\n                var _rtmp3163 = input.readListBegin();\n                var _size162 = _rtmp3163.size || 0;\n                for (var _i164 = 0; _i164 < _size162; ++_i164) {\n                  var elem165 = null;\n                  elem165 = new ttypes.TRenderDatum();\n                  elem165.read(input);\n                  val161.push(elem165);\n                }\n                input.readListEnd();\n                val156[key160] = val161;\n              }\n              input.readMapEnd();\n              val151[key155] = val156;\n            }\n            input.readMapEnd();\n            val146[key150] = val151;\n          }\n          input.readMapEnd();\n          this.merge_data[key145] = val146;\n        }\n        input.readMapEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.raw_pixel_data = new ttypes.TRawPixelData();\n        this.raw_pixel_data.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.execution_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I64) {\n        this.render_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I64) {\n        this.total_time_ms = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTRenderStepResult.prototype.write = function(output) {\n  output.writeStructBegin('TRenderStepResult');\n  if (this.merge_data !== null && this.merge_data !== undefined) {\n    output.writeFieldBegin('merge_data', Thrift.Type.MAP, 1);\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(this.merge_data));\n    for (var kiter166 in this.merge_data) {\n      if (this.merge_data.hasOwnProperty(kiter166)) {\n        var viter167 = this.merge_data[kiter166];\n        output.writeString(kiter166);\n        output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(viter167));\n        for (var kiter168 in viter167) {\n          if (viter167.hasOwnProperty(kiter168)) {\n            var viter169 = viter167[kiter168];\n            output.writeString(kiter168);\n            output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(viter169));\n            for (var kiter170 in viter169) {\n              if (viter169.hasOwnProperty(kiter170)) {\n                var viter171 = viter169[kiter170];\n                output.writeString(kiter170);\n                output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.LIST, Thrift.objectLength(viter171));\n                for (var kiter172 in viter171) {\n                  if (viter171.hasOwnProperty(kiter172)) {\n                    var viter173 = viter171[kiter172];\n                    output.writeString(kiter172);\n                    output.writeListBegin(Thrift.Type.STRUCT, viter173.length);\n                    for (var iter174 in viter173) {\n                      if (viter173.hasOwnProperty(iter174)) {\n                        iter174 = viter173[iter174];\n                        iter174.write(output);\n                      }\n                    }\n                    output.writeListEnd();\n                  }\n                }\n                output.writeMapEnd();\n              }\n            }\n            output.writeMapEnd();\n          }\n        }\n        output.writeMapEnd();\n      }\n    }\n    output.writeMapEnd();\n    output.writeFieldEnd();\n  }\n  if (this.raw_pixel_data !== null && this.raw_pixel_data !== undefined) {\n    output.writeFieldBegin('raw_pixel_data', Thrift.Type.STRUCT, 2);\n    this.raw_pixel_data.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 3);\n    output.writeI64(this.execution_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.render_time_ms !== null && this.render_time_ms !== undefined) {\n    output.writeFieldBegin('render_time_ms', Thrift.Type.I64, 4);\n    output.writeI64(this.render_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.total_time_ms !== null && this.total_time_ms !== undefined) {\n    output.writeFieldBegin('total_time_ms', Thrift.Type.I64, 5);\n    output.writeI64(this.total_time_ms);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDatabasePermissions = module.exports.TDatabasePermissions = function(args) {\n  this.create_ = null;\n  this.delete_ = null;\n  this.view_sql_editor_ = null;\n  this.access_ = null;\n  if (args) {\n    if (args.create_ !== undefined && args.create_ !== null) {\n      this.create_ = args.create_;\n    }\n    if (args.delete_ !== undefined && args.delete_ !== null) {\n      this.delete_ = args.delete_;\n    }\n    if (args.view_sql_editor_ !== undefined && args.view_sql_editor_ !== null) {\n      this.view_sql_editor_ = args.view_sql_editor_;\n    }\n    if (args.access_ !== undefined && args.access_ !== null) {\n      this.access_ = args.access_;\n    }\n  }\n};\nTDatabasePermissions.prototype = {};\nTDatabasePermissions.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.BOOL) {\n        this.create_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.delete_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.BOOL) {\n        this.view_sql_editor_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.access_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDatabasePermissions.prototype.write = function(output) {\n  output.writeStructBegin('TDatabasePermissions');\n  if (this.create_ !== null && this.create_ !== undefined) {\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\n    output.writeBool(this.create_);\n    output.writeFieldEnd();\n  }\n  if (this.delete_ !== null && this.delete_ !== undefined) {\n    output.writeFieldBegin('delete_', Thrift.Type.BOOL, 2);\n    output.writeBool(this.delete_);\n    output.writeFieldEnd();\n  }\n  if (this.view_sql_editor_ !== null && this.view_sql_editor_ !== undefined) {\n    output.writeFieldBegin('view_sql_editor_', Thrift.Type.BOOL, 3);\n    output.writeBool(this.view_sql_editor_);\n    output.writeFieldEnd();\n  }\n  if (this.access_ !== null && this.access_ !== undefined) {\n    output.writeFieldBegin('access_', Thrift.Type.BOOL, 4);\n    output.writeBool(this.access_);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TTablePermissions = module.exports.TTablePermissions = function(args) {\n  this.create_ = null;\n  this.drop_ = null;\n  this.select_ = null;\n  this.insert_ = null;\n  this.update_ = null;\n  this.delete_ = null;\n  this.truncate_ = null;\n  this.alter_ = null;\n  if (args) {\n    if (args.create_ !== undefined && args.create_ !== null) {\n      this.create_ = args.create_;\n    }\n    if (args.drop_ !== undefined && args.drop_ !== null) {\n      this.drop_ = args.drop_;\n    }\n    if (args.select_ !== undefined && args.select_ !== null) {\n      this.select_ = args.select_;\n    }\n    if (args.insert_ !== undefined && args.insert_ !== null) {\n      this.insert_ = args.insert_;\n    }\n    if (args.update_ !== undefined && args.update_ !== null) {\n      this.update_ = args.update_;\n    }\n    if (args.delete_ !== undefined && args.delete_ !== null) {\n      this.delete_ = args.delete_;\n    }\n    if (args.truncate_ !== undefined && args.truncate_ !== null) {\n      this.truncate_ = args.truncate_;\n    }\n    if (args.alter_ !== undefined && args.alter_ !== null) {\n      this.alter_ = args.alter_;\n    }\n  }\n};\nTTablePermissions.prototype = {};\nTTablePermissions.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.BOOL) {\n        this.create_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.drop_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.BOOL) {\n        this.select_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.insert_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.BOOL) {\n        this.update_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.BOOL) {\n        this.delete_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.BOOL) {\n        this.truncate_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.BOOL) {\n        this.alter_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTTablePermissions.prototype.write = function(output) {\n  output.writeStructBegin('TTablePermissions');\n  if (this.create_ !== null && this.create_ !== undefined) {\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\n    output.writeBool(this.create_);\n    output.writeFieldEnd();\n  }\n  if (this.drop_ !== null && this.drop_ !== undefined) {\n    output.writeFieldBegin('drop_', Thrift.Type.BOOL, 2);\n    output.writeBool(this.drop_);\n    output.writeFieldEnd();\n  }\n  if (this.select_ !== null && this.select_ !== undefined) {\n    output.writeFieldBegin('select_', Thrift.Type.BOOL, 3);\n    output.writeBool(this.select_);\n    output.writeFieldEnd();\n  }\n  if (this.insert_ !== null && this.insert_ !== undefined) {\n    output.writeFieldBegin('insert_', Thrift.Type.BOOL, 4);\n    output.writeBool(this.insert_);\n    output.writeFieldEnd();\n  }\n  if (this.update_ !== null && this.update_ !== undefined) {\n    output.writeFieldBegin('update_', Thrift.Type.BOOL, 5);\n    output.writeBool(this.update_);\n    output.writeFieldEnd();\n  }\n  if (this.delete_ !== null && this.delete_ !== undefined) {\n    output.writeFieldBegin('delete_', Thrift.Type.BOOL, 6);\n    output.writeBool(this.delete_);\n    output.writeFieldEnd();\n  }\n  if (this.truncate_ !== null && this.truncate_ !== undefined) {\n    output.writeFieldBegin('truncate_', Thrift.Type.BOOL, 7);\n    output.writeBool(this.truncate_);\n    output.writeFieldEnd();\n  }\n  if (this.alter_ !== null && this.alter_ !== undefined) {\n    output.writeFieldBegin('alter_', Thrift.Type.BOOL, 8);\n    output.writeBool(this.alter_);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDashboardPermissions = module.exports.TDashboardPermissions = function(args) {\n  this.create_ = null;\n  this.delete_ = null;\n  this.view_ = null;\n  this.edit_ = null;\n  if (args) {\n    if (args.create_ !== undefined && args.create_ !== null) {\n      this.create_ = args.create_;\n    }\n    if (args.delete_ !== undefined && args.delete_ !== null) {\n      this.delete_ = args.delete_;\n    }\n    if (args.view_ !== undefined && args.view_ !== null) {\n      this.view_ = args.view_;\n    }\n    if (args.edit_ !== undefined && args.edit_ !== null) {\n      this.edit_ = args.edit_;\n    }\n  }\n};\nTDashboardPermissions.prototype = {};\nTDashboardPermissions.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.BOOL) {\n        this.create_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.delete_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.BOOL) {\n        this.view_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.edit_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDashboardPermissions.prototype.write = function(output) {\n  output.writeStructBegin('TDashboardPermissions');\n  if (this.create_ !== null && this.create_ !== undefined) {\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\n    output.writeBool(this.create_);\n    output.writeFieldEnd();\n  }\n  if (this.delete_ !== null && this.delete_ !== undefined) {\n    output.writeFieldBegin('delete_', Thrift.Type.BOOL, 2);\n    output.writeBool(this.delete_);\n    output.writeFieldEnd();\n  }\n  if (this.view_ !== null && this.view_ !== undefined) {\n    output.writeFieldBegin('view_', Thrift.Type.BOOL, 3);\n    output.writeBool(this.view_);\n    output.writeFieldEnd();\n  }\n  if (this.edit_ !== null && this.edit_ !== undefined) {\n    output.writeFieldBegin('edit_', Thrift.Type.BOOL, 4);\n    output.writeBool(this.edit_);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TViewPermissions = module.exports.TViewPermissions = function(args) {\n  this.create_ = null;\n  this.drop_ = null;\n  this.select_ = null;\n  this.insert_ = null;\n  this.update_ = null;\n  this.delete_ = null;\n  if (args) {\n    if (args.create_ !== undefined && args.create_ !== null) {\n      this.create_ = args.create_;\n    }\n    if (args.drop_ !== undefined && args.drop_ !== null) {\n      this.drop_ = args.drop_;\n    }\n    if (args.select_ !== undefined && args.select_ !== null) {\n      this.select_ = args.select_;\n    }\n    if (args.insert_ !== undefined && args.insert_ !== null) {\n      this.insert_ = args.insert_;\n    }\n    if (args.update_ !== undefined && args.update_ !== null) {\n      this.update_ = args.update_;\n    }\n    if (args.delete_ !== undefined && args.delete_ !== null) {\n      this.delete_ = args.delete_;\n    }\n  }\n};\nTViewPermissions.prototype = {};\nTViewPermissions.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.BOOL) {\n        this.create_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.drop_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.BOOL) {\n        this.select_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.insert_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.BOOL) {\n        this.update_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.BOOL) {\n        this.delete_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTViewPermissions.prototype.write = function(output) {\n  output.writeStructBegin('TViewPermissions');\n  if (this.create_ !== null && this.create_ !== undefined) {\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\n    output.writeBool(this.create_);\n    output.writeFieldEnd();\n  }\n  if (this.drop_ !== null && this.drop_ !== undefined) {\n    output.writeFieldBegin('drop_', Thrift.Type.BOOL, 2);\n    output.writeBool(this.drop_);\n    output.writeFieldEnd();\n  }\n  if (this.select_ !== null && this.select_ !== undefined) {\n    output.writeFieldBegin('select_', Thrift.Type.BOOL, 3);\n    output.writeBool(this.select_);\n    output.writeFieldEnd();\n  }\n  if (this.insert_ !== null && this.insert_ !== undefined) {\n    output.writeFieldBegin('insert_', Thrift.Type.BOOL, 4);\n    output.writeBool(this.insert_);\n    output.writeFieldEnd();\n  }\n  if (this.update_ !== null && this.update_ !== undefined) {\n    output.writeFieldBegin('update_', Thrift.Type.BOOL, 5);\n    output.writeBool(this.update_);\n    output.writeFieldEnd();\n  }\n  if (this.delete_ !== null && this.delete_ !== undefined) {\n    output.writeFieldBegin('delete_', Thrift.Type.BOOL, 6);\n    output.writeBool(this.delete_);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TServerPermissions = module.exports.TServerPermissions = function(args) {\n  this.create_ = null;\n  this.drop_ = null;\n  this.alter_ = null;\n  if (args) {\n    if (args.create_ !== undefined && args.create_ !== null) {\n      this.create_ = args.create_;\n    }\n    if (args.drop_ !== undefined && args.drop_ !== null) {\n      this.drop_ = args.drop_;\n    }\n    if (args.alter_ !== undefined && args.alter_ !== null) {\n      this.alter_ = args.alter_;\n    }\n  }\n};\nTServerPermissions.prototype = {};\nTServerPermissions.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.BOOL) {\n        this.create_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.drop_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.BOOL) {\n        this.alter_ = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTServerPermissions.prototype.write = function(output) {\n  output.writeStructBegin('TServerPermissions');\n  if (this.create_ !== null && this.create_ !== undefined) {\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\n    output.writeBool(this.create_);\n    output.writeFieldEnd();\n  }\n  if (this.drop_ !== null && this.drop_ !== undefined) {\n    output.writeFieldBegin('drop_', Thrift.Type.BOOL, 2);\n    output.writeBool(this.drop_);\n    output.writeFieldEnd();\n  }\n  if (this.alter_ !== null && this.alter_ !== undefined) {\n    output.writeFieldBegin('alter_', Thrift.Type.BOOL, 3);\n    output.writeBool(this.alter_);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDBObjectPermissions = module.exports.TDBObjectPermissions = function(args) {\n  this.database_permissions_ = null;\n  this.table_permissions_ = null;\n  this.dashboard_permissions_ = null;\n  this.view_permissions_ = null;\n  this.server_permissions_ = null;\n  if (args) {\n    if (args.database_permissions_ !== undefined && args.database_permissions_ !== null) {\n      this.database_permissions_ = new ttypes.TDatabasePermissions(args.database_permissions_);\n    }\n    if (args.table_permissions_ !== undefined && args.table_permissions_ !== null) {\n      this.table_permissions_ = new ttypes.TTablePermissions(args.table_permissions_);\n    }\n    if (args.dashboard_permissions_ !== undefined && args.dashboard_permissions_ !== null) {\n      this.dashboard_permissions_ = new ttypes.TDashboardPermissions(args.dashboard_permissions_);\n    }\n    if (args.view_permissions_ !== undefined && args.view_permissions_ !== null) {\n      this.view_permissions_ = new ttypes.TViewPermissions(args.view_permissions_);\n    }\n    if (args.server_permissions_ !== undefined && args.server_permissions_ !== null) {\n      this.server_permissions_ = new ttypes.TServerPermissions(args.server_permissions_);\n    }\n  }\n};\nTDBObjectPermissions.prototype = {};\nTDBObjectPermissions.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.database_permissions_ = new ttypes.TDatabasePermissions();\n        this.database_permissions_.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.table_permissions_ = new ttypes.TTablePermissions();\n        this.table_permissions_.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.dashboard_permissions_ = new ttypes.TDashboardPermissions();\n        this.dashboard_permissions_.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.view_permissions_ = new ttypes.TViewPermissions();\n        this.view_permissions_.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.server_permissions_ = new ttypes.TServerPermissions();\n        this.server_permissions_.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDBObjectPermissions.prototype.write = function(output) {\n  output.writeStructBegin('TDBObjectPermissions');\n  if (this.database_permissions_ !== null && this.database_permissions_ !== undefined) {\n    output.writeFieldBegin('database_permissions_', Thrift.Type.STRUCT, 1);\n    this.database_permissions_.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.table_permissions_ !== null && this.table_permissions_ !== undefined) {\n    output.writeFieldBegin('table_permissions_', Thrift.Type.STRUCT, 2);\n    this.table_permissions_.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_permissions_ !== null && this.dashboard_permissions_ !== undefined) {\n    output.writeFieldBegin('dashboard_permissions_', Thrift.Type.STRUCT, 3);\n    this.dashboard_permissions_.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.view_permissions_ !== null && this.view_permissions_ !== undefined) {\n    output.writeFieldBegin('view_permissions_', Thrift.Type.STRUCT, 4);\n    this.view_permissions_.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.server_permissions_ !== null && this.server_permissions_ !== undefined) {\n    output.writeFieldBegin('server_permissions_', Thrift.Type.STRUCT, 5);\n    this.server_permissions_.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDBObject = module.exports.TDBObject = function(args) {\n  this.objectName = null;\n  this.objectType = null;\n  this.privs = null;\n  this.grantee = null;\n  this.privilegeObjectType = null;\n  if (args) {\n    if (args.objectName !== undefined && args.objectName !== null) {\n      this.objectName = args.objectName;\n    }\n    if (args.objectType !== undefined && args.objectType !== null) {\n      this.objectType = args.objectType;\n    }\n    if (args.privs !== undefined && args.privs !== null) {\n      this.privs = Thrift.copyList(args.privs, [null]);\n    }\n    if (args.grantee !== undefined && args.grantee !== null) {\n      this.grantee = args.grantee;\n    }\n    if (args.privilegeObjectType !== undefined && args.privilegeObjectType !== null) {\n      this.privilegeObjectType = args.privilegeObjectType;\n    }\n  }\n};\nTDBObject.prototype = {};\nTDBObject.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.objectName = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.objectType = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.LIST) {\n        this.privs = [];\n        var _rtmp3176 = input.readListBegin();\n        var _size175 = _rtmp3176.size || 0;\n        for (var _i177 = 0; _i177 < _size175; ++_i177) {\n          var elem178 = null;\n          elem178 = input.readBool();\n          this.privs.push(elem178);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.grantee = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I32) {\n        this.privilegeObjectType = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDBObject.prototype.write = function(output) {\n  output.writeStructBegin('TDBObject');\n  if (this.objectName !== null && this.objectName !== undefined) {\n    output.writeFieldBegin('objectName', Thrift.Type.STRING, 1);\n    output.writeString(this.objectName);\n    output.writeFieldEnd();\n  }\n  if (this.objectType !== null && this.objectType !== undefined) {\n    output.writeFieldBegin('objectType', Thrift.Type.I32, 2);\n    output.writeI32(this.objectType);\n    output.writeFieldEnd();\n  }\n  if (this.privs !== null && this.privs !== undefined) {\n    output.writeFieldBegin('privs', Thrift.Type.LIST, 3);\n    output.writeListBegin(Thrift.Type.BOOL, this.privs.length);\n    for (var iter179 in this.privs) {\n      if (this.privs.hasOwnProperty(iter179)) {\n        iter179 = this.privs[iter179];\n        output.writeBool(iter179);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.grantee !== null && this.grantee !== undefined) {\n    output.writeFieldBegin('grantee', Thrift.Type.STRING, 4);\n    output.writeString(this.grantee);\n    output.writeFieldEnd();\n  }\n  if (this.privilegeObjectType !== null && this.privilegeObjectType !== undefined) {\n    output.writeFieldBegin('privilegeObjectType', Thrift.Type.I32, 5);\n    output.writeI32(this.privilegeObjectType);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDashboardGrantees = module.exports.TDashboardGrantees = function(args) {\n  this.name = null;\n  this.is_user = null;\n  this.permissions = null;\n  if (args) {\n    if (args.name !== undefined && args.name !== null) {\n      this.name = args.name;\n    }\n    if (args.is_user !== undefined && args.is_user !== null) {\n      this.is_user = args.is_user;\n    }\n    if (args.permissions !== undefined && args.permissions !== null) {\n      this.permissions = new ttypes.TDashboardPermissions(args.permissions);\n    }\n  }\n};\nTDashboardGrantees.prototype = {};\nTDashboardGrantees.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_user = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.permissions = new ttypes.TDashboardPermissions();\n        this.permissions.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDashboardGrantees.prototype.write = function(output) {\n  output.writeStructBegin('TDashboardGrantees');\n  if (this.name !== null && this.name !== undefined) {\n    output.writeFieldBegin('name', Thrift.Type.STRING, 1);\n    output.writeString(this.name);\n    output.writeFieldEnd();\n  }\n  if (this.is_user !== null && this.is_user !== undefined) {\n    output.writeFieldBegin('is_user', Thrift.Type.BOOL, 2);\n    output.writeBool(this.is_user);\n    output.writeFieldEnd();\n  }\n  if (this.permissions !== null && this.permissions !== undefined) {\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 3);\n    this.permissions.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TDashboard = module.exports.TDashboard = function(args) {\n  this.dashboard_name = null;\n  this.dashboard_state = null;\n  this.image_hash = null;\n  this.update_time = null;\n  this.dashboard_metadata = null;\n  this.dashboard_id = null;\n  this.dashboard_owner = null;\n  this.is_dash_shared = null;\n  this.dashboard_permissions = null;\n  if (args) {\n    if (args.dashboard_name !== undefined && args.dashboard_name !== null) {\n      this.dashboard_name = args.dashboard_name;\n    }\n    if (args.dashboard_state !== undefined && args.dashboard_state !== null) {\n      this.dashboard_state = args.dashboard_state;\n    }\n    if (args.image_hash !== undefined && args.image_hash !== null) {\n      this.image_hash = args.image_hash;\n    }\n    if (args.update_time !== undefined && args.update_time !== null) {\n      this.update_time = args.update_time;\n    }\n    if (args.dashboard_metadata !== undefined && args.dashboard_metadata !== null) {\n      this.dashboard_metadata = args.dashboard_metadata;\n    }\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\n      this.dashboard_id = args.dashboard_id;\n    }\n    if (args.dashboard_owner !== undefined && args.dashboard_owner !== null) {\n      this.dashboard_owner = args.dashboard_owner;\n    }\n    if (args.is_dash_shared !== undefined && args.is_dash_shared !== null) {\n      this.is_dash_shared = args.is_dash_shared;\n    }\n    if (args.dashboard_permissions !== undefined && args.dashboard_permissions !== null) {\n      this.dashboard_permissions = new ttypes.TDashboardPermissions(args.dashboard_permissions);\n    }\n  }\n};\nTDashboard.prototype = {};\nTDashboard.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_state = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRING) {\n        this.image_hash = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRING) {\n        this.update_time = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_metadata = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I32) {\n        this.dashboard_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.STRING) {\n        this.dashboard_owner = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_dash_shared = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 9:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.dashboard_permissions = new ttypes.TDashboardPermissions();\n        this.dashboard_permissions.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTDashboard.prototype.write = function(output) {\n  output.writeStructBegin('TDashboard');\n  if (this.dashboard_name !== null && this.dashboard_name !== undefined) {\n    output.writeFieldBegin('dashboard_name', Thrift.Type.STRING, 1);\n    output.writeString(this.dashboard_name);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_state !== null && this.dashboard_state !== undefined) {\n    output.writeFieldBegin('dashboard_state', Thrift.Type.STRING, 2);\n    output.writeString(this.dashboard_state);\n    output.writeFieldEnd();\n  }\n  if (this.image_hash !== null && this.image_hash !== undefined) {\n    output.writeFieldBegin('image_hash', Thrift.Type.STRING, 3);\n    output.writeString(this.image_hash);\n    output.writeFieldEnd();\n  }\n  if (this.update_time !== null && this.update_time !== undefined) {\n    output.writeFieldBegin('update_time', Thrift.Type.STRING, 4);\n    output.writeString(this.update_time);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_metadata !== null && this.dashboard_metadata !== undefined) {\n    output.writeFieldBegin('dashboard_metadata', Thrift.Type.STRING, 5);\n    output.writeString(this.dashboard_metadata);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 6);\n    output.writeI32(this.dashboard_id);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_owner !== null && this.dashboard_owner !== undefined) {\n    output.writeFieldBegin('dashboard_owner', Thrift.Type.STRING, 7);\n    output.writeString(this.dashboard_owner);\n    output.writeFieldEnd();\n  }\n  if (this.is_dash_shared !== null && this.is_dash_shared !== undefined) {\n    output.writeFieldBegin('is_dash_shared', Thrift.Type.BOOL, 8);\n    output.writeBool(this.is_dash_shared);\n    output.writeFieldEnd();\n  }\n  if (this.dashboard_permissions !== null && this.dashboard_permissions !== undefined) {\n    output.writeFieldBegin('dashboard_permissions', Thrift.Type.STRUCT, 9);\n    this.dashboard_permissions.write(output);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TLicenseInfo = module.exports.TLicenseInfo = function(args) {\n  this.claims = null;\n  if (args) {\n    if (args.claims !== undefined && args.claims !== null) {\n      this.claims = Thrift.copyList(args.claims, [null]);\n    }\n  }\n};\nTLicenseInfo.prototype = {};\nTLicenseInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.LIST) {\n        this.claims = [];\n        var _rtmp3181 = input.readListBegin();\n        var _size180 = _rtmp3181.size || 0;\n        for (var _i182 = 0; _i182 < _size180; ++_i182) {\n          var elem183 = null;\n          elem183 = input.readString();\n          this.claims.push(elem183);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 0:\n        input.skip(ftype);\n        break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTLicenseInfo.prototype.write = function(output) {\n  output.writeStructBegin('TLicenseInfo');\n  if (this.claims !== null && this.claims !== undefined) {\n    output.writeFieldBegin('claims', Thrift.Type.LIST, 1);\n    output.writeListBegin(Thrift.Type.STRING, this.claims.length);\n    for (var iter184 in this.claims) {\n      if (this.claims.hasOwnProperty(iter184)) {\n        iter184 = this.claims[iter184];\n        output.writeString(iter184);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TSessionInfo = module.exports.TSessionInfo = function(args) {\n  this.user = null;\n  this.database = null;\n  this.start_time = null;\n  this.is_super = null;\n  if (args) {\n    if (args.user !== undefined && args.user !== null) {\n      this.user = args.user;\n    }\n    if (args.database !== undefined && args.database !== null) {\n      this.database = args.database;\n    }\n    if (args.start_time !== undefined && args.start_time !== null) {\n      this.start_time = args.start_time;\n    }\n    if (args.is_super !== undefined && args.is_super !== null) {\n      this.is_super = args.is_super;\n    }\n  }\n};\nTSessionInfo.prototype = {};\nTSessionInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.user = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRING) {\n        this.database = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.start_time = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_super = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTSessionInfo.prototype.write = function(output) {\n  output.writeStructBegin('TSessionInfo');\n  if (this.user !== null && this.user !== undefined) {\n    output.writeFieldBegin('user', Thrift.Type.STRING, 1);\n    output.writeString(this.user);\n    output.writeFieldEnd();\n  }\n  if (this.database !== null && this.database !== undefined) {\n    output.writeFieldBegin('database', Thrift.Type.STRING, 2);\n    output.writeString(this.database);\n    output.writeFieldEnd();\n  }\n  if (this.start_time !== null && this.start_time !== undefined) {\n    output.writeFieldBegin('start_time', Thrift.Type.I64, 3);\n    output.writeI64(this.start_time);\n    output.writeFieldEnd();\n  }\n  if (this.is_super !== null && this.is_super !== undefined) {\n    output.writeFieldBegin('is_super', Thrift.Type.BOOL, 4);\n    output.writeBool(this.is_super);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TGeoFileLayerInfo = module.exports.TGeoFileLayerInfo = function(args) {\n  this.name = null;\n  this.contents = null;\n  if (args) {\n    if (args.name !== undefined && args.name !== null) {\n      this.name = args.name;\n    }\n    if (args.contents !== undefined && args.contents !== null) {\n      this.contents = args.contents;\n    }\n  }\n};\nTGeoFileLayerInfo.prototype = {};\nTGeoFileLayerInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.name = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.contents = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTGeoFileLayerInfo.prototype.write = function(output) {\n  output.writeStructBegin('TGeoFileLayerInfo');\n  if (this.name !== null && this.name !== undefined) {\n    output.writeFieldBegin('name', Thrift.Type.STRING, 1);\n    output.writeString(this.name);\n    output.writeFieldEnd();\n  }\n  if (this.contents !== null && this.contents !== undefined) {\n    output.writeFieldBegin('contents', Thrift.Type.I32, 2);\n    output.writeI32(this.contents);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TTableEpochInfo = module.exports.TTableEpochInfo = function(args) {\n  this.table_id = null;\n  this.table_epoch = null;\n  this.leaf_index = null;\n  if (args) {\n    if (args.table_id !== undefined && args.table_id !== null) {\n      this.table_id = args.table_id;\n    }\n    if (args.table_epoch !== undefined && args.table_epoch !== null) {\n      this.table_epoch = args.table_epoch;\n    }\n    if (args.leaf_index !== undefined && args.leaf_index !== null) {\n      this.leaf_index = args.leaf_index;\n    }\n  }\n};\nTTableEpochInfo.prototype = {};\nTTableEpochInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.table_id = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.table_epoch = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.leaf_index = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTTableEpochInfo.prototype.write = function(output) {\n  output.writeStructBegin('TTableEpochInfo');\n  if (this.table_id !== null && this.table_id !== undefined) {\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 1);\n    output.writeI32(this.table_id);\n    output.writeFieldEnd();\n  }\n  if (this.table_epoch !== null && this.table_epoch !== undefined) {\n    output.writeFieldBegin('table_epoch', Thrift.Type.I32, 2);\n    output.writeI32(this.table_epoch);\n    output.writeFieldEnd();\n  }\n  if (this.leaf_index !== null && this.leaf_index !== undefined) {\n    output.writeFieldBegin('leaf_index', Thrift.Type.I32, 3);\n    output.writeI32(this.leaf_index);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\n\n\n/***/ }),\n\n/***/ 966:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n//\n// Autogenerated by Thrift Compiler (0.13.0)\n//\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n//\n\"use strict\";\n\nvar thrift = __webpack_require__(9262);\nvar Thrift = thrift.Thrift;\nvar Q = thrift.Q;\nvar Int64 = __webpack_require__(135);\n\nvar common_ttypes = __webpack_require__(259);\n\n\nvar ttypes = module.exports = {};\nttypes.TResultSetLayout = {\n  'GroupByPerfectHash' : 0,\n  'GroupByBaselineHash' : 1,\n  'Projection' : 2,\n  'NonGroupedAggregate' : 3\n};\nttypes.TCountDistinctImplType = {\n  'Invalid' : 0,\n  'Bitmap' : 1,\n  'StdSet' : 2\n};\nttypes.TAggKind = {\n  'AVG' : 0,\n  'MIN' : 1,\n  'MAX' : 2,\n  'SUM' : 3,\n  'COUNT' : 4,\n  'APPROX_COUNT_DISTINCT' : 5,\n  'SAMPLE' : 6,\n  'SINGLE_VALUE' : 7\n};\nvar TSlotSize = module.exports.TSlotSize = function(args) {\n  this.padded = null;\n  this.logical = null;\n  if (args) {\n    if (args.padded !== undefined && args.padded !== null) {\n      this.padded = args.padded;\n    }\n    if (args.logical !== undefined && args.logical !== null) {\n      this.logical = args.logical;\n    }\n  }\n};\nTSlotSize.prototype = {};\nTSlotSize.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I16) {\n        this.padded = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I16) {\n        this.logical = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTSlotSize.prototype.write = function(output) {\n  output.writeStructBegin('TSlotSize');\n  if (this.padded !== null && this.padded !== undefined) {\n    output.writeFieldBegin('padded', Thrift.Type.I16, 1);\n    output.writeI16(this.padded);\n    output.writeFieldEnd();\n  }\n  if (this.logical !== null && this.logical !== undefined) {\n    output.writeFieldBegin('logical', Thrift.Type.I16, 2);\n    output.writeI16(this.logical);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TColSlotContext = module.exports.TColSlotContext = function(args) {\n  this.slot_sizes = null;\n  this.col_to_slot_map = null;\n  if (args) {\n    if (args.slot_sizes !== undefined && args.slot_sizes !== null) {\n      this.slot_sizes = Thrift.copyList(args.slot_sizes, [ttypes.TSlotSize]);\n    }\n    if (args.col_to_slot_map !== undefined && args.col_to_slot_map !== null) {\n      this.col_to_slot_map = Thrift.copyList(args.col_to_slot_map, [Thrift.copyList, null]);\n    }\n  }\n};\nTColSlotContext.prototype = {};\nTColSlotContext.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.LIST) {\n        this.slot_sizes = [];\n        var _rtmp31 = input.readListBegin();\n        var _size0 = _rtmp31.size || 0;\n        for (var _i2 = 0; _i2 < _size0; ++_i2) {\n          var elem3 = null;\n          elem3 = new ttypes.TSlotSize();\n          elem3.read(input);\n          this.slot_sizes.push(elem3);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.col_to_slot_map = [];\n        var _rtmp35 = input.readListBegin();\n        var _size4 = _rtmp35.size || 0;\n        for (var _i6 = 0; _i6 < _size4; ++_i6) {\n          var elem7 = null;\n          elem7 = [];\n          var _rtmp39 = input.readListBegin();\n          var _size8 = _rtmp39.size || 0;\n          for (var _i10 = 0; _i10 < _size8; ++_i10) {\n            var elem11 = null;\n            elem11 = input.readI32();\n            elem7.push(elem11);\n          }\n          input.readListEnd();\n          this.col_to_slot_map.push(elem7);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTColSlotContext.prototype.write = function(output) {\n  output.writeStructBegin('TColSlotContext');\n  if (this.slot_sizes !== null && this.slot_sizes !== undefined) {\n    output.writeFieldBegin('slot_sizes', Thrift.Type.LIST, 1);\n    output.writeListBegin(Thrift.Type.STRUCT, this.slot_sizes.length);\n    for (var iter12 in this.slot_sizes) {\n      if (this.slot_sizes.hasOwnProperty(iter12)) {\n        iter12 = this.slot_sizes[iter12];\n        iter12.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.col_to_slot_map !== null && this.col_to_slot_map !== undefined) {\n    output.writeFieldBegin('col_to_slot_map', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.LIST, this.col_to_slot_map.length);\n    for (var iter13 in this.col_to_slot_map) {\n      if (this.col_to_slot_map.hasOwnProperty(iter13)) {\n        iter13 = this.col_to_slot_map[iter13];\n        output.writeListBegin(Thrift.Type.I32, iter13.length);\n        for (var iter14 in iter13) {\n          if (iter13.hasOwnProperty(iter14)) {\n            iter14 = iter13[iter14];\n            output.writeI32(iter14);\n          }\n        }\n        output.writeListEnd();\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TCountDistinctDescriptor = module.exports.TCountDistinctDescriptor = function(args) {\n  this.impl_type = null;\n  this.min_val = null;\n  this.bitmap_sz_bits = null;\n  this.approximate = null;\n  this.device_type = null;\n  this.sub_bitmap_count = null;\n  if (args) {\n    if (args.impl_type !== undefined && args.impl_type !== null) {\n      this.impl_type = args.impl_type;\n    }\n    if (args.min_val !== undefined && args.min_val !== null) {\n      this.min_val = args.min_val;\n    }\n    if (args.bitmap_sz_bits !== undefined && args.bitmap_sz_bits !== null) {\n      this.bitmap_sz_bits = args.bitmap_sz_bits;\n    }\n    if (args.approximate !== undefined && args.approximate !== null) {\n      this.approximate = args.approximate;\n    }\n    if (args.device_type !== undefined && args.device_type !== null) {\n      this.device_type = args.device_type;\n    }\n    if (args.sub_bitmap_count !== undefined && args.sub_bitmap_count !== null) {\n      this.sub_bitmap_count = args.sub_bitmap_count;\n    }\n  }\n};\nTCountDistinctDescriptor.prototype = {};\nTCountDistinctDescriptor.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.impl_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I64) {\n        this.min_val = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.bitmap_sz_bits = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.BOOL) {\n        this.approximate = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I32) {\n        this.device_type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I64) {\n        this.sub_bitmap_count = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTCountDistinctDescriptor.prototype.write = function(output) {\n  output.writeStructBegin('TCountDistinctDescriptor');\n  if (this.impl_type !== null && this.impl_type !== undefined) {\n    output.writeFieldBegin('impl_type', Thrift.Type.I32, 1);\n    output.writeI32(this.impl_type);\n    output.writeFieldEnd();\n  }\n  if (this.min_val !== null && this.min_val !== undefined) {\n    output.writeFieldBegin('min_val', Thrift.Type.I64, 2);\n    output.writeI64(this.min_val);\n    output.writeFieldEnd();\n  }\n  if (this.bitmap_sz_bits !== null && this.bitmap_sz_bits !== undefined) {\n    output.writeFieldBegin('bitmap_sz_bits', Thrift.Type.I64, 3);\n    output.writeI64(this.bitmap_sz_bits);\n    output.writeFieldEnd();\n  }\n  if (this.approximate !== null && this.approximate !== undefined) {\n    output.writeFieldBegin('approximate', Thrift.Type.BOOL, 4);\n    output.writeBool(this.approximate);\n    output.writeFieldEnd();\n  }\n  if (this.device_type !== null && this.device_type !== undefined) {\n    output.writeFieldBegin('device_type', Thrift.Type.I32, 5);\n    output.writeI32(this.device_type);\n    output.writeFieldEnd();\n  }\n  if (this.sub_bitmap_count !== null && this.sub_bitmap_count !== undefined) {\n    output.writeFieldBegin('sub_bitmap_count', Thrift.Type.I64, 6);\n    output.writeI64(this.sub_bitmap_count);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TResultSetBufferDescriptor = module.exports.TResultSetBufferDescriptor = function(args) {\n  this.layout = null;\n  this.keyless = null;\n  this.entry_count = null;\n  this.idx_target_as_key = null;\n  this.min_val = null;\n  this.max_val = null;\n  this.bucket = null;\n  this.group_col_widths = null;\n  this.key_bytewidth = null;\n  this.col_slot_context = null;\n  this.target_groupby_indices = null;\n  this.count_distinct_descriptors = null;\n  this.force_4byte_float = null;\n  if (args) {\n    if (args.layout !== undefined && args.layout !== null) {\n      this.layout = args.layout;\n    }\n    if (args.keyless !== undefined && args.keyless !== null) {\n      this.keyless = args.keyless;\n    }\n    if (args.entry_count !== undefined && args.entry_count !== null) {\n      this.entry_count = args.entry_count;\n    }\n    if (args.idx_target_as_key !== undefined && args.idx_target_as_key !== null) {\n      this.idx_target_as_key = args.idx_target_as_key;\n    }\n    if (args.min_val !== undefined && args.min_val !== null) {\n      this.min_val = args.min_val;\n    }\n    if (args.max_val !== undefined && args.max_val !== null) {\n      this.max_val = args.max_val;\n    }\n    if (args.bucket !== undefined && args.bucket !== null) {\n      this.bucket = args.bucket;\n    }\n    if (args.group_col_widths !== undefined && args.group_col_widths !== null) {\n      this.group_col_widths = Thrift.copyList(args.group_col_widths, [null]);\n    }\n    if (args.key_bytewidth !== undefined && args.key_bytewidth !== null) {\n      this.key_bytewidth = args.key_bytewidth;\n    }\n    if (args.col_slot_context !== undefined && args.col_slot_context !== null) {\n      this.col_slot_context = new ttypes.TColSlotContext(args.col_slot_context);\n    }\n    if (args.target_groupby_indices !== undefined && args.target_groupby_indices !== null) {\n      this.target_groupby_indices = Thrift.copyList(args.target_groupby_indices, [null]);\n    }\n    if (args.count_distinct_descriptors !== undefined && args.count_distinct_descriptors !== null) {\n      this.count_distinct_descriptors = Thrift.copyList(args.count_distinct_descriptors, [ttypes.TCountDistinctDescriptor]);\n    }\n    if (args.force_4byte_float !== undefined && args.force_4byte_float !== null) {\n      this.force_4byte_float = args.force_4byte_float;\n    }\n  }\n};\nTResultSetBufferDescriptor.prototype = {};\nTResultSetBufferDescriptor.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.layout = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.BOOL) {\n        this.keyless = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I32) {\n        this.entry_count = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.idx_target_as_key = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.I64) {\n        this.min_val = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.I64) {\n        this.max_val = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.I64) {\n        this.bucket = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.LIST) {\n        this.group_col_widths = [];\n        var _rtmp316 = input.readListBegin();\n        var _size15 = _rtmp316.size || 0;\n        for (var _i17 = 0; _i17 < _size15; ++_i17) {\n          var elem18 = null;\n          elem18 = input.readI16();\n          this.group_col_widths.push(elem18);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 9:\n      if (ftype == Thrift.Type.I16) {\n        this.key_bytewidth = input.readI16();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 10:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.col_slot_context = new ttypes.TColSlotContext();\n        this.col_slot_context.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 11:\n      if (ftype == Thrift.Type.LIST) {\n        this.target_groupby_indices = [];\n        var _rtmp320 = input.readListBegin();\n        var _size19 = _rtmp320.size || 0;\n        for (var _i21 = 0; _i21 < _size19; ++_i21) {\n          var elem22 = null;\n          elem22 = input.readI32();\n          this.target_groupby_indices.push(elem22);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 12:\n      if (ftype == Thrift.Type.LIST) {\n        this.count_distinct_descriptors = [];\n        var _rtmp324 = input.readListBegin();\n        var _size23 = _rtmp324.size || 0;\n        for (var _i25 = 0; _i25 < _size23; ++_i25) {\n          var elem26 = null;\n          elem26 = new ttypes.TCountDistinctDescriptor();\n          elem26.read(input);\n          this.count_distinct_descriptors.push(elem26);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 13:\n      if (ftype == Thrift.Type.BOOL) {\n        this.force_4byte_float = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTResultSetBufferDescriptor.prototype.write = function(output) {\n  output.writeStructBegin('TResultSetBufferDescriptor');\n  if (this.layout !== null && this.layout !== undefined) {\n    output.writeFieldBegin('layout', Thrift.Type.I32, 1);\n    output.writeI32(this.layout);\n    output.writeFieldEnd();\n  }\n  if (this.keyless !== null && this.keyless !== undefined) {\n    output.writeFieldBegin('keyless', Thrift.Type.BOOL, 2);\n    output.writeBool(this.keyless);\n    output.writeFieldEnd();\n  }\n  if (this.entry_count !== null && this.entry_count !== undefined) {\n    output.writeFieldBegin('entry_count', Thrift.Type.I32, 3);\n    output.writeI32(this.entry_count);\n    output.writeFieldEnd();\n  }\n  if (this.idx_target_as_key !== null && this.idx_target_as_key !== undefined) {\n    output.writeFieldBegin('idx_target_as_key', Thrift.Type.I32, 4);\n    output.writeI32(this.idx_target_as_key);\n    output.writeFieldEnd();\n  }\n  if (this.min_val !== null && this.min_val !== undefined) {\n    output.writeFieldBegin('min_val', Thrift.Type.I64, 5);\n    output.writeI64(this.min_val);\n    output.writeFieldEnd();\n  }\n  if (this.max_val !== null && this.max_val !== undefined) {\n    output.writeFieldBegin('max_val', Thrift.Type.I64, 6);\n    output.writeI64(this.max_val);\n    output.writeFieldEnd();\n  }\n  if (this.bucket !== null && this.bucket !== undefined) {\n    output.writeFieldBegin('bucket', Thrift.Type.I64, 7);\n    output.writeI64(this.bucket);\n    output.writeFieldEnd();\n  }\n  if (this.group_col_widths !== null && this.group_col_widths !== undefined) {\n    output.writeFieldBegin('group_col_widths', Thrift.Type.LIST, 8);\n    output.writeListBegin(Thrift.Type.I16, this.group_col_widths.length);\n    for (var iter27 in this.group_col_widths) {\n      if (this.group_col_widths.hasOwnProperty(iter27)) {\n        iter27 = this.group_col_widths[iter27];\n        output.writeI16(iter27);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.key_bytewidth !== null && this.key_bytewidth !== undefined) {\n    output.writeFieldBegin('key_bytewidth', Thrift.Type.I16, 9);\n    output.writeI16(this.key_bytewidth);\n    output.writeFieldEnd();\n  }\n  if (this.col_slot_context !== null && this.col_slot_context !== undefined) {\n    output.writeFieldBegin('col_slot_context', Thrift.Type.STRUCT, 10);\n    this.col_slot_context.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.target_groupby_indices !== null && this.target_groupby_indices !== undefined) {\n    output.writeFieldBegin('target_groupby_indices', Thrift.Type.LIST, 11);\n    output.writeListBegin(Thrift.Type.I32, this.target_groupby_indices.length);\n    for (var iter28 in this.target_groupby_indices) {\n      if (this.target_groupby_indices.hasOwnProperty(iter28)) {\n        iter28 = this.target_groupby_indices[iter28];\n        output.writeI32(iter28);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.count_distinct_descriptors !== null && this.count_distinct_descriptors !== undefined) {\n    output.writeFieldBegin('count_distinct_descriptors', Thrift.Type.LIST, 12);\n    output.writeListBegin(Thrift.Type.STRUCT, this.count_distinct_descriptors.length);\n    for (var iter29 in this.count_distinct_descriptors) {\n      if (this.count_distinct_descriptors.hasOwnProperty(iter29)) {\n        iter29 = this.count_distinct_descriptors[iter29];\n        iter29.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.force_4byte_float !== null && this.force_4byte_float !== undefined) {\n    output.writeFieldBegin('force_4byte_float', Thrift.Type.BOOL, 13);\n    output.writeBool(this.force_4byte_float);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TTargetInfo = module.exports.TTargetInfo = function(args) {\n  this.is_agg = null;\n  this.kind = null;\n  this.type = null;\n  this.arg_type = null;\n  this.skip_nulls = null;\n  this.is_distinct = null;\n  if (args) {\n    if (args.is_agg !== undefined && args.is_agg !== null) {\n      this.is_agg = args.is_agg;\n    }\n    if (args.kind !== undefined && args.kind !== null) {\n      this.kind = args.kind;\n    }\n    if (args.type !== undefined && args.type !== null) {\n      this.type = new common_ttypes.TTypeInfo(args.type);\n    }\n    if (args.arg_type !== undefined && args.arg_type !== null) {\n      this.arg_type = new common_ttypes.TTypeInfo(args.arg_type);\n    }\n    if (args.skip_nulls !== undefined && args.skip_nulls !== null) {\n      this.skip_nulls = args.skip_nulls;\n    }\n    if (args.is_distinct !== undefined && args.is_distinct !== null) {\n      this.is_distinct = args.is_distinct;\n    }\n  }\n};\nTTargetInfo.prototype = {};\nTTargetInfo.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_agg = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.I32) {\n        this.kind = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.type = new common_ttypes.TTypeInfo();\n        this.type.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.arg_type = new common_ttypes.TTypeInfo();\n        this.arg_type.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.BOOL) {\n        this.skip_nulls = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.BOOL) {\n        this.is_distinct = input.readBool();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTTargetInfo.prototype.write = function(output) {\n  output.writeStructBegin('TTargetInfo');\n  if (this.is_agg !== null && this.is_agg !== undefined) {\n    output.writeFieldBegin('is_agg', Thrift.Type.BOOL, 1);\n    output.writeBool(this.is_agg);\n    output.writeFieldEnd();\n  }\n  if (this.kind !== null && this.kind !== undefined) {\n    output.writeFieldBegin('kind', Thrift.Type.I32, 2);\n    output.writeI32(this.kind);\n    output.writeFieldEnd();\n  }\n  if (this.type !== null && this.type !== undefined) {\n    output.writeFieldBegin('type', Thrift.Type.STRUCT, 3);\n    this.type.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.arg_type !== null && this.arg_type !== undefined) {\n    output.writeFieldBegin('arg_type', Thrift.Type.STRUCT, 4);\n    this.arg_type.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.skip_nulls !== null && this.skip_nulls !== undefined) {\n    output.writeFieldBegin('skip_nulls', Thrift.Type.BOOL, 5);\n    output.writeBool(this.skip_nulls);\n    output.writeFieldEnd();\n  }\n  if (this.is_distinct !== null && this.is_distinct !== undefined) {\n    output.writeFieldBegin('is_distinct', Thrift.Type.BOOL, 6);\n    output.writeBool(this.is_distinct);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TCountDistinctSetStorage = module.exports.TCountDistinctSetStorage = function(args) {\n  this.bitmap = null;\n  this.sparse_set = null;\n  if (args) {\n    if (args.bitmap !== undefined && args.bitmap !== null) {\n      this.bitmap = args.bitmap;\n    }\n    if (args.sparse_set !== undefined && args.sparse_set !== null) {\n      this.sparse_set = Thrift.copyList(args.sparse_set, [null]);\n    }\n  }\n};\nTCountDistinctSetStorage.prototype = {};\nTCountDistinctSetStorage.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.STRING) {\n        this.bitmap = input.readBinary();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.SET) {\n        this.sparse_set = [];\n        var _rtmp331 = input.readSetBegin();\n        var _size30 = _rtmp331.size || 0;\n        for (var _i32 = 0; _i32 < _size30; ++_i32) {\n          var elem33 = null;\n          elem33 = input.readI64();\n          this.sparse_set.push(elem33);\n        }\n        input.readSetEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTCountDistinctSetStorage.prototype.write = function(output) {\n  output.writeStructBegin('TCountDistinctSetStorage');\n  if (this.bitmap !== null && this.bitmap !== undefined) {\n    output.writeFieldBegin('bitmap', Thrift.Type.STRING, 1);\n    output.writeBinary(this.bitmap);\n    output.writeFieldEnd();\n  }\n  if (this.sparse_set !== null && this.sparse_set !== undefined) {\n    output.writeFieldBegin('sparse_set', Thrift.Type.SET, 2);\n    output.writeSetBegin(Thrift.Type.I64, this.sparse_set.length);\n    for (var iter34 in this.sparse_set) {\n      if (this.sparse_set.hasOwnProperty(iter34)) {\n        iter34 = this.sparse_set[iter34];\n        output.writeI64(iter34);\n      }\n    }\n    output.writeSetEnd();\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TCountDistinctSet = module.exports.TCountDistinctSet = function(args) {\n  this.type = null;\n  this.storage = null;\n  this.remote_ptr = null;\n  if (args) {\n    if (args.type !== undefined && args.type !== null) {\n      this.type = args.type;\n    }\n    if (args.storage !== undefined && args.storage !== null) {\n      this.storage = new ttypes.TCountDistinctSetStorage(args.storage);\n    }\n    if (args.remote_ptr !== undefined && args.remote_ptr !== null) {\n      this.remote_ptr = args.remote_ptr;\n    }\n  }\n};\nTCountDistinctSet.prototype = {};\nTCountDistinctSet.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.I32) {\n        this.type = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.storage = new ttypes.TCountDistinctSetStorage();\n        this.storage.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.remote_ptr = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTCountDistinctSet.prototype.write = function(output) {\n  output.writeStructBegin('TCountDistinctSet');\n  if (this.type !== null && this.type !== undefined) {\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\n    output.writeI32(this.type);\n    output.writeFieldEnd();\n  }\n  if (this.storage !== null && this.storage !== undefined) {\n    output.writeFieldBegin('storage', Thrift.Type.STRUCT, 2);\n    this.storage.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.remote_ptr !== null && this.remote_ptr !== undefined) {\n    output.writeFieldBegin('remote_ptr', Thrift.Type.I64, 3);\n    output.writeI64(this.remote_ptr);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\nvar TSerializedRows = module.exports.TSerializedRows = function(args) {\n  this.buffers = null;\n  this.buffer_lengths = null;\n  this.buffers_total_size = null;\n  this.total_compression_time_ms = null;\n  this.descriptor = null;\n  this.targets = null;\n  this.target_init_vals = null;\n  this.varlen_buffer = null;\n  this.count_distinct_sets = null;\n  this.explanation = null;\n  if (args) {\n    if (args.buffers !== undefined && args.buffers !== null) {\n      this.buffers = Thrift.copyList(args.buffers, [null]);\n    }\n    if (args.buffer_lengths !== undefined && args.buffer_lengths !== null) {\n      this.buffer_lengths = Thrift.copyList(args.buffer_lengths, [null]);\n    }\n    if (args.buffers_total_size !== undefined && args.buffers_total_size !== null) {\n      this.buffers_total_size = args.buffers_total_size;\n    }\n    if (args.total_compression_time_ms !== undefined && args.total_compression_time_ms !== null) {\n      this.total_compression_time_ms = args.total_compression_time_ms;\n    }\n    if (args.descriptor !== undefined && args.descriptor !== null) {\n      this.descriptor = new ttypes.TResultSetBufferDescriptor(args.descriptor);\n    }\n    if (args.targets !== undefined && args.targets !== null) {\n      this.targets = Thrift.copyList(args.targets, [ttypes.TTargetInfo]);\n    }\n    if (args.target_init_vals !== undefined && args.target_init_vals !== null) {\n      this.target_init_vals = Thrift.copyList(args.target_init_vals, [null]);\n    }\n    if (args.varlen_buffer !== undefined && args.varlen_buffer !== null) {\n      this.varlen_buffer = Thrift.copyList(args.varlen_buffer, [null]);\n    }\n    if (args.count_distinct_sets !== undefined && args.count_distinct_sets !== null) {\n      this.count_distinct_sets = Thrift.copyList(args.count_distinct_sets, [ttypes.TCountDistinctSet]);\n    }\n    if (args.explanation !== undefined && args.explanation !== null) {\n      this.explanation = args.explanation;\n    }\n  }\n};\nTSerializedRows.prototype = {};\nTSerializedRows.prototype.read = function(input) {\n  input.readStructBegin();\n  while (true) {\n    var ret = input.readFieldBegin();\n    var ftype = ret.ftype;\n    var fid = ret.fid;\n    if (ftype == Thrift.Type.STOP) {\n      break;\n    }\n    switch (fid) {\n      case 1:\n      if (ftype == Thrift.Type.LIST) {\n        this.buffers = [];\n        var _rtmp336 = input.readListBegin();\n        var _size35 = _rtmp336.size || 0;\n        for (var _i37 = 0; _i37 < _size35; ++_i37) {\n          var elem38 = null;\n          elem38 = input.readBinary();\n          this.buffers.push(elem38);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 2:\n      if (ftype == Thrift.Type.LIST) {\n        this.buffer_lengths = [];\n        var _rtmp340 = input.readListBegin();\n        var _size39 = _rtmp340.size || 0;\n        for (var _i41 = 0; _i41 < _size39; ++_i41) {\n          var elem42 = null;\n          elem42 = input.readI64();\n          this.buffer_lengths.push(elem42);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 3:\n      if (ftype == Thrift.Type.I64) {\n        this.buffers_total_size = input.readI64();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 4:\n      if (ftype == Thrift.Type.I32) {\n        this.total_compression_time_ms = input.readI32();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 5:\n      if (ftype == Thrift.Type.STRUCT) {\n        this.descriptor = new ttypes.TResultSetBufferDescriptor();\n        this.descriptor.read(input);\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 6:\n      if (ftype == Thrift.Type.LIST) {\n        this.targets = [];\n        var _rtmp344 = input.readListBegin();\n        var _size43 = _rtmp344.size || 0;\n        for (var _i45 = 0; _i45 < _size43; ++_i45) {\n          var elem46 = null;\n          elem46 = new ttypes.TTargetInfo();\n          elem46.read(input);\n          this.targets.push(elem46);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 7:\n      if (ftype == Thrift.Type.LIST) {\n        this.target_init_vals = [];\n        var _rtmp348 = input.readListBegin();\n        var _size47 = _rtmp348.size || 0;\n        for (var _i49 = 0; _i49 < _size47; ++_i49) {\n          var elem50 = null;\n          elem50 = input.readI64();\n          this.target_init_vals.push(elem50);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 8:\n      if (ftype == Thrift.Type.LIST) {\n        this.varlen_buffer = [];\n        var _rtmp352 = input.readListBegin();\n        var _size51 = _rtmp352.size || 0;\n        for (var _i53 = 0; _i53 < _size51; ++_i53) {\n          var elem54 = null;\n          elem54 = input.readBinary();\n          this.varlen_buffer.push(elem54);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 9:\n      if (ftype == Thrift.Type.LIST) {\n        this.count_distinct_sets = [];\n        var _rtmp356 = input.readListBegin();\n        var _size55 = _rtmp356.size || 0;\n        for (var _i57 = 0; _i57 < _size55; ++_i57) {\n          var elem58 = null;\n          elem58 = new ttypes.TCountDistinctSet();\n          elem58.read(input);\n          this.count_distinct_sets.push(elem58);\n        }\n        input.readListEnd();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      case 10:\n      if (ftype == Thrift.Type.STRING) {\n        this.explanation = input.readString();\n      } else {\n        input.skip(ftype);\n      }\n      break;\n      default:\n        input.skip(ftype);\n    }\n    input.readFieldEnd();\n  }\n  input.readStructEnd();\n  return;\n};\n\nTSerializedRows.prototype.write = function(output) {\n  output.writeStructBegin('TSerializedRows');\n  if (this.buffers !== null && this.buffers !== undefined) {\n    output.writeFieldBegin('buffers', Thrift.Type.LIST, 1);\n    output.writeListBegin(Thrift.Type.STRING, this.buffers.length);\n    for (var iter59 in this.buffers) {\n      if (this.buffers.hasOwnProperty(iter59)) {\n        iter59 = this.buffers[iter59];\n        output.writeBinary(iter59);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.buffer_lengths !== null && this.buffer_lengths !== undefined) {\n    output.writeFieldBegin('buffer_lengths', Thrift.Type.LIST, 2);\n    output.writeListBegin(Thrift.Type.I64, this.buffer_lengths.length);\n    for (var iter60 in this.buffer_lengths) {\n      if (this.buffer_lengths.hasOwnProperty(iter60)) {\n        iter60 = this.buffer_lengths[iter60];\n        output.writeI64(iter60);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.buffers_total_size !== null && this.buffers_total_size !== undefined) {\n    output.writeFieldBegin('buffers_total_size', Thrift.Type.I64, 3);\n    output.writeI64(this.buffers_total_size);\n    output.writeFieldEnd();\n  }\n  if (this.total_compression_time_ms !== null && this.total_compression_time_ms !== undefined) {\n    output.writeFieldBegin('total_compression_time_ms', Thrift.Type.I32, 4);\n    output.writeI32(this.total_compression_time_ms);\n    output.writeFieldEnd();\n  }\n  if (this.descriptor !== null && this.descriptor !== undefined) {\n    output.writeFieldBegin('descriptor', Thrift.Type.STRUCT, 5);\n    this.descriptor.write(output);\n    output.writeFieldEnd();\n  }\n  if (this.targets !== null && this.targets !== undefined) {\n    output.writeFieldBegin('targets', Thrift.Type.LIST, 6);\n    output.writeListBegin(Thrift.Type.STRUCT, this.targets.length);\n    for (var iter61 in this.targets) {\n      if (this.targets.hasOwnProperty(iter61)) {\n        iter61 = this.targets[iter61];\n        iter61.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.target_init_vals !== null && this.target_init_vals !== undefined) {\n    output.writeFieldBegin('target_init_vals', Thrift.Type.LIST, 7);\n    output.writeListBegin(Thrift.Type.I64, this.target_init_vals.length);\n    for (var iter62 in this.target_init_vals) {\n      if (this.target_init_vals.hasOwnProperty(iter62)) {\n        iter62 = this.target_init_vals[iter62];\n        output.writeI64(iter62);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.varlen_buffer !== null && this.varlen_buffer !== undefined) {\n    output.writeFieldBegin('varlen_buffer', Thrift.Type.LIST, 8);\n    output.writeListBegin(Thrift.Type.STRING, this.varlen_buffer.length);\n    for (var iter63 in this.varlen_buffer) {\n      if (this.varlen_buffer.hasOwnProperty(iter63)) {\n        iter63 = this.varlen_buffer[iter63];\n        output.writeBinary(iter63);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.count_distinct_sets !== null && this.count_distinct_sets !== undefined) {\n    output.writeFieldBegin('count_distinct_sets', Thrift.Type.LIST, 9);\n    output.writeListBegin(Thrift.Type.STRUCT, this.count_distinct_sets.length);\n    for (var iter64 in this.count_distinct_sets) {\n      if (this.count_distinct_sets.hasOwnProperty(iter64)) {\n        iter64 = this.count_distinct_sets[iter64];\n        iter64.write(output);\n      }\n    }\n    output.writeListEnd();\n    output.writeFieldEnd();\n  }\n  if (this.explanation !== null && this.explanation !== undefined) {\n    output.writeFieldBegin('explanation', Thrift.Type.STRING, 10);\n    output.writeString(this.explanation);\n    output.writeFieldEnd();\n  }\n  output.writeFieldStop();\n  output.writeStructEnd();\n  return;\n};\n\n\n\n/***/ }),\n\n/***/ 2190:\n/***/ ((module) => {\n\n\n/**\n * Array#filter.\n *\n * @param {Array} arr\n * @param {Function} fn\n * @param {Object=} self\n * @return {Array}\n * @throw TypeError\n */\n\nmodule.exports = function (arr, fn, self) {\n  if (arr.filter) return arr.filter(fn, self);\n  if (void 0 === arr || null === arr) throw new TypeError;\n  if ('function' != typeof fn) throw new TypeError;\n  var ret = [];\n  for (var i = 0; i < arr.length; i++) {\n    if (!hasOwn.call(arr, i)) continue;\n    var val = arr[i];\n    if (fn.call(self, val, i, arr)) ret.push(val);\n  }\n  return ret;\n};\n\nvar hasOwn = Object.prototype.hasOwnProperty;\n\n\n/***/ }),\n\n/***/ 6314:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar filter = __webpack_require__(2190);\n\nmodule.exports = function availableTypedArrays() {\n\treturn filter([\n\t\t'BigInt64Array',\n\t\t'BigUint64Array',\n\t\t'Float32Array',\n\t\t'Float64Array',\n\t\t'Int16Array',\n\t\t'Int32Array',\n\t\t'Int8Array',\n\t\t'Uint16Array',\n\t\t'Uint32Array',\n\t\t'Uint8Array',\n\t\t'Uint8ClampedArray'\n\t], function (typedArray) {\n\t\treturn typeof __webpack_require__.g[typedArray] === 'function';\n\t});\n};\n\n\n/***/ }),\n\n/***/ 8823:\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n  \"default\": () => /* binding */ mapd_con_es6\n});\n\n// UNUSED EXPORTS: MapdCon\n\n;// CONCATENATED MODULE: ./src/helpers.js\nvar convertObjectToThriftCopyParams = function convertObjectToThriftCopyParams(obj) {\n  return new TCopyParams(obj);\n}; // eslint-disable-line no-undef\n\nvar mutateThriftRowDesc = function mutateThriftRowDesc(rowDescArray, thriftRowDescArray) {\n  rowDescArray.forEach(function (obj, i) {\n    thriftRowDescArray[i].col_name = obj.clean_col_name;\n    thriftRowDescArray[i].col_type.encoding = obj.col_type.encoding;\n    thriftRowDescArray[i].col_type.precision = obj.col_type.precision;\n    thriftRowDescArray[i].col_type.comp_param = obj.col_type.comp_param;\n    thriftRowDescArray[i].col_type.scale = obj.col_type.scale;\n    thriftRowDescArray[i].col_type.type = obj.col_type.type;\n  });\n  return thriftRowDescArray;\n};\n/**\n * Converts a raw integer timestamp value from the DB into milliseconds. The DB timestamp value may\n * represent seconds, ms, us, or ns depending on the precision of the column. This value is\n * truncated or extended as necessary to convert to ms precision. The returned ms value is suitable\n * for passing to the JS Date object constructor.\n * @param {Number} timestamp - The raw integer timestamp in the database.\n * @param {Number} precision - The precision of the timestamp column in the database.\n * @returns {Number} The equivalent timestamp in milliseconds.\n */\n\nfunction timestampToMs(timestamp, precision) {\n  // A precision of 0 = sec, 3 = ms. Thus, this line finds the value to divide the DB val\n  // eslint-disable-next-line no-magic-numbers\n  var divisor = Math.pow(10, precision - 3);\n  var timeInMs = timestamp / divisor;\n  return timeInMs;\n}\n// EXTERNAL MODULE: ./node_modules/lodash.clonedeep/index.js\nvar lodash_clonedeep = __webpack_require__(3465);\nvar lodash_clonedeep_default = /*#__PURE__*/__webpack_require__.n(lodash_clonedeep);\n// EXTERNAL MODULE: ./node_modules/eventemitter3/index.js\nvar eventemitter3 = __webpack_require__(6729);\nvar eventemitter3_default = /*#__PURE__*/__webpack_require__.n(eventemitter3);\n;// CONCATENATED MODULE: ./src/wrap-with-error-handling.js\nvar MapDClient = typeof window !== \"undefined\" && window.OmniSciClient || __webpack_require__(6271).Client; // eslint-disable-line global-require\n\n\nvar TMapDException = typeof window !== \"undefined\" && window.TOmniSciException || __webpack_require__(4129).TOmniSciException; // eslint-disable-line global-require\n\n\nvar Thrift = typeof window !== \"undefined\" && window.Thrift || __webpack_require__(9262).Thrift; // eslint-disable-line global-require\n\n\nfunction isResultError(result) {\n  return result instanceof Thrift.TException || result instanceof Error;\n}\nfunction createResultError(result) {\n  if (result instanceof TMapDException) {\n    return new Error(result.error_msg);\n  } else if (typeof result.message === \"undefined\") {\n    return new Error(\"Unspecified Error\");\n  } else {\n    return new Error(result.message);\n  }\n}\n/* eslint-disable consistent-this */\n\nfunction wrapMethod(context, method, isError) {\n  return function wrapped() {\n    var arity = MapDClient.prototype[method].length;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    if (args.length === arity) {\n      var _MapDClient$prototype;\n\n      var callback = args.pop();\n\n      (_MapDClient$prototype = MapDClient.prototype[method]).call.apply(_MapDClient$prototype, [context].concat(args, [function (result) {\n        if (isError(result)) {\n          callback(result);\n        } else {\n          callback(null, result);\n        }\n      }]));\n    } else if (args.length === arity - 1) {\n      var _MapDClient$prototype2;\n\n      var result = (_MapDClient$prototype2 = MapDClient.prototype[method]).call.apply(_MapDClient$prototype2, [context].concat(args));\n\n      if (isError(result)) {\n        throw result;\n      }\n\n      return result;\n    } else {\n      throw new Error(\"Insufficient arguments to run this method \".concat(method));\n    }\n  };\n}\nfunction wrapWithErrorHandling(context, method) {\n  return wrapMethod(context, method, isResultError);\n}\n/* eslint-enable consistent-this */\n;// CONCATENATED MODULE: ./src/mapd-client-v2.js\nvar mapd_client_v2_MapDClient = typeof window !== \"undefined\" && window.OmniSciClient || __webpack_require__(6271).Client; // eslint-disable-line global-require\n\n\n\nfunction MapDClientV2(protocol) {\n  mapd_client_v2_MapDClient.call(this, protocol);\n}\nMapDClientV2.prototype = Object.create(mapd_client_v2_MapDClient.prototype);\n/* eslint-disable no-unused-expressions */\n\n!function () {\n  ;\n  [\"connect\", \"sql_execute\", \"sql_execute_df\", \"sql_validate\", \"render\", \"render_vega\", \"get_result_row_for_pixel\", \"get_completion_hints\", \"get_tables\", \"get_table_details\", \"get_tables_meta\", \"get_fields\", \"get_status\", \"get_server_status\", \"get_hardware_info\", \"create_link\", \"get_link_view\", \"detect_column_types\", \"send_create_table\", \"send_import_table\", \"detect_column_types\", \"set_license_key\", \"get_license_claims\"].forEach(function (funcName) {\n    MapDClientV2.prototype[funcName] = function () {\n      return wrapWithErrorHandling(this, funcName).apply(void 0, arguments);\n    };\n  });\n}();\n;// CONCATENATED MODULE: ./src/process-columnar-results.js\n\n/**\n * Process the column-based results from the query in a row-based format.\n * (Returning row-based results directly from the server is inefficient.)\n *\n * @param {TRowSet} data The column-based data returned from a query.\n * @param {Boolean} eliminateNullRows A flag that removes null rows from results.\n * @param {Object} dataEnum A list of types created from when executing {@link #invertDatumTypes}.\n * @returns {Object} The formatted results of the query.\n * @example <caption>Convert data returned in column-based format to row-based:</caption>\n */\n\nfunction processColumnarResults(data, eliminateNullRows, dataEnum) {\n  var formattedResult = {\n    fields: [],\n    results: []\n  };\n  var numCols = data.row_desc.length;\n  var numRows = typeof data.columns[0] === \"undefined\" ? 0 : data.columns[0].nulls.length;\n  formattedResult.fields = data.row_desc.map(function (field) {\n    return {\n      name: field.col_name,\n      type: dataEnum[field.col_type.type],\n      is_array: field.col_type.is_array\n    };\n  });\n\n  for (var r = 0; r < numRows; r++) {\n    if (eliminateNullRows) {\n      var rowHasNull = false;\n\n      for (var c = 0; c < numCols; c++) {\n        if (data.columns[c].nulls[r]) {\n          rowHasNull = true;\n          break;\n        }\n      }\n\n      if (rowHasNull) {\n        continue; // eslint-disable-line no-continue\n      }\n    }\n\n    var row = {};\n\n    for (var _c = 0; _c < numCols; _c++) {\n      var fieldName = formattedResult.fields[_c].name;\n      var fieldType = formattedResult.fields[_c].type;\n      var fieldIsArray = formattedResult.fields[_c].is_array;\n      var isNull = data.columns[_c].nulls[r];\n      var fieldPrecision = data.row_desc[_c].col_type.precision;\n\n      if (isNull) {\n        // row[fieldName] = \"NULL\";\n        row[fieldName] = null;\n        continue; // eslint-disable-line no-continue\n      }\n\n      if (fieldIsArray) {\n        row[fieldName] = [];\n        var arrayNumElems = data.columns[_c].data.arr_col[r].nulls.length;\n\n        for (var e = 0; e < arrayNumElems; e++) {\n          if (data.columns[_c].data.arr_col[r].nulls[e]) {\n            row[fieldName].push(\"NULL\");\n            continue; // eslint-disable-line no-continue\n          }\n\n          switch (fieldType) {\n            case \"BOOL\":\n              row[fieldName].push(Boolean(data.columns[_c].data.arr_col[r].data.int_col[e]));\n              break;\n\n            case \"SMALLINT\":\n            case \"INT\":\n            case \"BIGINT\":\n            case \"TINYINT\":\n              row[fieldName].push(data.columns[_c].data.arr_col[r].data.int_col[e]);\n              break;\n\n            case \"FLOAT\":\n            case \"DOUBLE\":\n            case \"DECIMAL\":\n              row[fieldName].push(data.columns[_c].data.arr_col[r].data.real_col[e]);\n              break;\n\n            case \"STR\":\n              row[fieldName].push(data.columns[_c].data.arr_col[r].data.str_col[e]);\n              break;\n\n            case \"TIME\":\n            case \"TIMESTAMP\":\n            case \"DATE\":\n              var timeInMs = timestampToMs(data.columns[_c].data.int_col[r], fieldPrecision);\n              row[fieldName].push(timeInMs);\n              break;\n\n            default:\n              throw new Error(\"Unrecognized array field type: \".concat(fieldType));\n          }\n        }\n      } else {\n        // Not an array\n        switch (fieldType) {\n          case \"BOOL\":\n            row[fieldName] = Boolean(data.columns[_c].data.int_col[r]);\n            break;\n\n          case \"SMALLINT\":\n          case \"INT\":\n          case \"BIGINT\":\n          case \"TINYINT\":\n            row[fieldName] = data.columns[_c].data.int_col[r];\n            break;\n\n          case \"FLOAT\":\n          case \"DOUBLE\":\n          case \"DECIMAL\":\n            row[fieldName] = data.columns[_c].data.real_col[r];\n            break;\n\n          case \"STR\":\n            row[fieldName] = data.columns[_c].data.str_col[r];\n            break;\n\n          case \"TIME\":\n          case \"TIMESTAMP\":\n          case \"DATE\":\n            var _timeInMs = timestampToMs(data.columns[_c].data.int_col[r], fieldPrecision);\n\n            row[fieldName] = new Date(_timeInMs);\n            break;\n\n          case \"POINT\":\n          case \"LINESTRING\":\n          case \"POLYGON\":\n          case \"MULTIPOLYGON\":\n            row[fieldName] = data.columns[_c].data.str_col[r];\n            break;\n\n          default:\n            throw new Error(\"Unrecognized field type: \".concat(fieldType));\n        }\n      }\n    }\n\n    formattedResult.results.push(row);\n  }\n\n  return formattedResult;\n}\n;// CONCATENATED MODULE: ./src/process-row-results.js\n\n/**\n * Query for row-based results from the server. In general, is inefficient and should be\n * avoided. Instead, use {@link processColumnarResults} and then convert the results to\n * row-based format.\n * @param {TRowSet} data - The row-based data returned from a query.\n * @param {Boolean} eliminateNullRows Flag that removes null rows from results.\n * @param {Object} datumEnum A list of types created from when executing {@link #invertDatumTypes}.\n * @returns {Object} The formatted results of the query.\n * @example<caption> Return row-based results directly from the server:\n */\n\nfunction processRowResults(data, eliminateNullRows, datumEnum) {\n  var numCols = data.row_desc.length;\n  var formattedResult = {\n    fields: [],\n    results: []\n  };\n  formattedResult.fields = data.row_desc.map(function (field) {\n    return {\n      name: field.col_name,\n      type: datumEnum[field.col_type.type],\n      is_array: field.col_type.is_array\n    };\n  });\n  formattedResult.results = [];\n  var numRows = 0;\n\n  if (typeof data.rows !== \"undefined\" && data.rows !== null) {\n    numRows = data.rows.length; // so won't throw if data.rows is missing\n  }\n\n  for (var r = 0; r < numRows; r++) {\n    if (eliminateNullRows) {\n      var rowHasNull = false;\n\n      for (var c = 0; c < numCols; c++) {\n        if (data.rows[r].columns[c].is_null) {\n          rowHasNull = true;\n          break;\n        }\n      }\n\n      if (rowHasNull) {\n        continue; // eslint-disable-line no-continue\n      }\n    }\n\n    var row = {};\n\n    for (var _c = 0; _c < numCols; _c++) {\n      var fieldName = formattedResult.fields[_c].name;\n      var fieldType = formattedResult.fields[_c].type;\n      var fieldIsArray = formattedResult.fields[_c].is_array;\n      var fieldPrecision = data.row_desc[_c].col_type.precision;\n\n      if (fieldIsArray) {\n        if (data.rows[r].cols[_c].is_null) {\n          row[fieldName] = \"NULL\";\n          continue; // eslint-disable-line no-continue\n        }\n\n        row[fieldName] = [];\n        var arrayNumElems = data.rows[r].cols[_c].val.arr_val.length;\n\n        for (var e = 0; e < arrayNumElems; e++) {\n          var elemDatum = data.rows[r].cols[_c].val.arr_val[e];\n\n          if (elemDatum.is_null) {\n            row[fieldName].push(\"NULL\");\n            continue; // eslint-disable-line no-continue\n          }\n\n          switch (fieldType) {\n            case \"BOOL\":\n              row[fieldName].push(Boolean(elemDatum.val.int_val));\n              break;\n\n            case \"SMALLINT\":\n            case \"INT\":\n            case \"BIGINT\":\n            case \"TINYINT\":\n              row[fieldName].push(elemDatum.val.int_val);\n              break;\n\n            case \"FLOAT\":\n            case \"DOUBLE\":\n            case \"DECIMAL\":\n              row[fieldName].push(elemDatum.val.real_val);\n              break;\n\n            case \"STR\":\n              row[fieldName].push(elemDatum.val.str_val);\n              break;\n\n            case \"TIME\":\n            case \"TIMESTAMP\":\n            case \"DATE\":\n              var timeInMs = timestampToMs(elemDatum.val.int_val, fieldPrecision);\n              row[fieldName].push(timeInMs);\n              break;\n\n            default:\n              throw new Error(\"Unrecognized array field type: \".concat(fieldType));\n          }\n        }\n      } else {\n        var scalarDatum = data.rows[r].cols[_c];\n\n        if (scalarDatum.is_null) {\n          row[fieldName] = \"NULL\";\n          continue; // eslint-disable-line no-continue\n        }\n\n        switch (fieldType) {\n          case \"BOOL\":\n            row[fieldName] = Boolean(scalarDatum.val.int_val);\n            break;\n\n          case \"SMALLINT\":\n          case \"INT\":\n          case \"BIGINT\":\n          case \"TINYINT\":\n            row[fieldName] = scalarDatum.val.int_val;\n            break;\n\n          case \"FLOAT\":\n          case \"DOUBLE\":\n          case \"DECIMAL\":\n            row[fieldName] = scalarDatum.val.real_val;\n            break;\n\n          case \"STR\":\n            row[fieldName] = scalarDatum.val.str_val;\n            break;\n\n          case \"TIME\":\n          case \"TIMESTAMP\":\n          case \"DATE\":\n            var _timeInMs = timestampToMs(scalarDatum.val.int_val, fieldPrecision);\n\n            row[fieldName] = new Date(_timeInMs);\n            break;\n\n          case \"POINT\":\n          case \"LINESTRING\":\n          case \"POLYGON\":\n          case \"MULTIPOLYGON\":\n            row[fieldName] = scalarDatum.val.str_val;\n            break;\n\n          default:\n            throw new Error(\"Unrecognized field type: \".concat(fieldType));\n        }\n      }\n    }\n\n    formattedResult.results.push(row);\n  }\n\n  return formattedResult;\n}\n;// CONCATENATED MODULE: ./src/process-query-results.js\n\n\n/**\n * Determines how to process raw results when they return from the server.\n *\n * @param {Boolean} logging If enabled, shows on the console how long the query took to run.\n * @param {Function} updateQueryTimes A function that updates internal query times on the connector.\n * @param {Object} options A list of options for processing the results.\n * @param {Boolean} options.isImage Set to true when querying for backend-rendered images.\n * @param {Boolean} options.eliminateNullRows Removes null rows.\n * @param {String} options.query The SQL query string used only for logging.\n * @param {Number} options.queryId The ID of the query.\n * @param {Number} options.conId The unique connector identification.\n * @param {String} options.estimatedQueryTime The estimate of the query time.\n * @param {Array<Function>} callback The same callback coming from {@link #query}.\n * @param {Object} result - The query result used to decide whether to process\n *                          as column or row results.\n * @return {Object} Null if image with callbacks, result if image with callbacks,\n *                  otherwise formatted results.\n */\n\nfunction processQueryResults(logging, updateQueryTimes) {\n  return function (options, _datumEnum, result, callback) {\n    var isImage = false;\n    var eliminateNullRows = false;\n    var query = null;\n    var queryId = null;\n    var conId = null;\n    var estimatedQueryTime = null;\n    var hasCallback = Boolean(callback);\n\n    if (typeof options !== \"undefined\") {\n      isImage = options.isImage ? options.isImage : false;\n      eliminateNullRows = options.eliminateNullRows ? options.eliminateNullRows : false;\n      query = options.query ? options.query : null;\n      queryId = options.queryId ? options.queryId : null;\n      conId = typeof options.conId === \"undefined\" ? null : options.conId;\n      estimatedQueryTime = typeof options.estimatedQueryTime === \"undefined\" ? null : options.estimatedQueryTime;\n    }\n\n    if (result.execution_time_ms && conId !== null && estimatedQueryTime !== null) {\n      updateQueryTimes(conId, queryId, estimatedQueryTime, result.execution_time_ms);\n    } // should use node_env\n\n\n    if (logging && result.execution_time_ms) {\n      console.log(query, \"on Server\", conId, \"- Execution Time:\", result.execution_time_ms, \" ms, Total Time:\", \"\".concat(result.total_time_ms, \"ms\"));\n    }\n\n    if (isImage && hasCallback) {\n      callback(null, result);\n    } else if (isImage && !hasCallback) {\n      return result;\n    } else {\n      var formattedResult = null;\n\n      if (!result.row_set) {\n        if (hasCallback) {\n          callback(new Error(\"No result to process\"));\n        } else {\n          throw new Error(\"No result to process\");\n        }\n\n        return;\n      }\n\n      try {\n        if (result.row_set.is_columnar) {\n          formattedResult = processColumnarResults(result.row_set, eliminateNullRows, _datumEnum);\n        } else {\n          formattedResult = processRowResults(result.row_set, eliminateNullRows, _datumEnum);\n        }\n\n        formattedResult.timing = {\n          execution_time_ms: result.execution_time_ms,\n          total_time_ms: result.total_time_ms\n        };\n      } catch (err) {\n        if (hasCallback) {\n          callback(err);\n        } else {\n          throw err;\n        }\n\n        return;\n      }\n\n      if (hasCallback) {\n        callback(null, options.returnTiming ? formattedResult : formattedResult.results);\n      } else {\n        return options.returnTiming ? formattedResult : formattedResult.results;\n      }\n    }\n  };\n}\n// EXTERNAL MODULE: external {\"commonjs\":\"apache-arrow\",\"commonjs2\":\"apache-arrow\",\"amd\":\"apache-arrow\",\"root\":\"Arrow\"}\nvar external_commonjs_apache_arrow_commonjs2_apache_arrow_amd_apache_arrow_root_Arrow_ = __webpack_require__(2003);\n;// CONCATENATED MODULE: ./src/mapd-con-es6.js\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* global TCreateParams: false, TDashboardPermissions: false, TDBObjectType: false, TDBObjectPermissions: false, TDatabasePermissions: false */\nvar _ref = isNodeRuntime() && __webpack_require__(259) || window,\n    TDatumType = _ref.TDatumType,\n    TEncodingType = _ref.TEncodingType,\n    TDeviceType = _ref.TDeviceType; // eslint-disable-line global-require\n\n\nvar _ref2 = isNodeRuntime() && __webpack_require__(4129) || window,\n    TArrowTransport = _ref2.TArrowTransport,\n    TPixel = _ref2.TPixel,\n    TOmniSciException = _ref2.TOmniSciException; // eslint-disable-line global-require\n\n\nvar MapDThrift = isNodeRuntime() && __webpack_require__(6271); // eslint-disable-line global-require\n\n\nvar mapd_con_es6_Thrift = isNodeRuntime() && __webpack_require__(9262) || window.Thrift; // eslint-disable-line global-require\n\nvar thriftWrapper = mapd_con_es6_Thrift;\n\nvar parseUrl = isNodeRuntime() && __webpack_require__(8575)/* .parse */ .Qc; // eslint-disable-line global-require\n\n\nif (isNodeRuntime()) {\n  // Because browser Thrift and Node Thrift are exposed slightly differently.\n  mapd_con_es6_Thrift = mapd_con_es6_Thrift.Thrift;\n  mapd_con_es6_Thrift.Transport = thriftWrapper.TBufferedTransport;\n  mapd_con_es6_Thrift.Protocol = thriftWrapper.TJSONProtocol;\n}\n\n\n\n\n\n\n\nvar COMPRESSION_LEVEL_DEFAULT = 3;\n\nfunction arrayify(maybeArray) {\n  return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n\nfunction isNodeRuntime() {\n  return typeof window === \"undefined\";\n}\n\nvar MapdCon = /*#__PURE__*/function () {\n  function MapdCon() {\n    var _this = this;\n\n    _classCallCheck(this, MapdCon);\n\n    _defineProperty(this, \"connectAsync\", function () {\n      return new Promise(function (resolve, reject) {\n        _this.connect(function (error, con) {\n          if (error) {\n            reject(error);\n          } else {\n            resolve(con);\n          }\n        });\n      });\n    });\n\n    _defineProperty(this, \"updateQueryTimes\", function (conId, queryId, estimatedQueryTime, execution_time_ms) {\n      _this.queryTimes[queryId] = execution_time_ms;\n    });\n\n    _defineProperty(this, \"events\", new (eventemitter3_default())());\n\n    _defineProperty(this, \"EVENT_NAMES\", {\n      ERROR: \"error\",\n      METHOD_CALLED: \"method-called\"\n    });\n\n    _defineProperty(this, \"handleErrors\", function (method) {\n      return function () {\n        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n          args[_key] = arguments[_key];\n        }\n\n        return new Promise(function (resolve, reject) {\n          var success = function success(result) {\n            return resolve(result);\n          };\n\n          var failure = function failure(error) {\n            _this.events.emit(_this.EVENT_NAMES.ERROR, error);\n\n            return reject(error);\n          };\n\n          var promise = method.apply(_this, args);\n          promise.then(success)[\"catch\"](function (error) {\n            return failure(error);\n          });\n        });\n      };\n    });\n\n    _defineProperty(this, \"promisifyThriftMethodNode\", function (client, sessionId, methodName, args) {\n      return new Promise(function (resolve, reject) {\n        client[methodName].apply(client, [sessionId].concat(args, function (err, result) {\n          if (err) {\n            reject(err);\n          } else {\n            resolve(result);\n          }\n        }));\n      });\n    });\n\n    _defineProperty(this, \"promisifyThriftMethodBrowser\", function (client, sessionId, methodName, args) {\n      return new Promise(function (resolve, reject) {\n        _this.events.emit(_this.EVENT_NAMES.METHOD_CALLED, methodName);\n\n        client[methodName].apply(client, [sessionId].concat(args, function (result) {\n          if (result instanceof Error) {\n            reject(result);\n          } else {\n            resolve(result);\n          }\n        }));\n      });\n    });\n\n    _defineProperty(this, \"promisifyThriftMethod\", isNodeRuntime() ? this.promisifyThriftMethodNode : this.promisifyThriftMethodBrowser);\n\n    _defineProperty(this, \"overSingleClient\", \"SINGLE_CLIENT\");\n\n    _defineProperty(this, \"overAllClients\", \"ALL_CLIENTS\");\n\n    _defineProperty(this, \"wrapThrift\", function (methodName, overClients, processArgs) {\n      return function () {\n        if (_this._sessionId) {\n          for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n            args[_key2] = arguments[_key2];\n          }\n\n          var processedArgs = processArgs(args);\n\n          if (overClients === _this.overSingleClient) {\n            return _this.promisifyThriftMethod(_this._client[0], _this._sessionId[0], methodName, processedArgs);\n          } else {\n            return Promise.all(_this._client.map(function (client, index) {\n              return _this.promisifyThriftMethod(client, _this._sessionId[index], methodName, processedArgs);\n            }));\n          }\n        } else {\n          return Promise.reject(new Error(\"You are not connected to a server. Try running the connect method first.\"));\n        }\n      };\n    });\n\n    _defineProperty(this, \"getStatus\", function (callback) {\n      _this._client[0].get_status(_this._sessionId[0], callback);\n    });\n\n    _defineProperty(this, \"getStatusAsync\", this.handleErrors(function () {\n      return new Promise(function (resolve, reject) {\n        _this.getStatus(function (err, result) {\n          if (err) {\n            reject(err);\n          } else {\n            resolve(result);\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"getHardwareInfo\", function (callback) {\n      _this._client[0].get_hardware_info(_this._sessionId[0], callback);\n    });\n\n    _defineProperty(this, \"getHardwareInfoAsync\", this.handleErrors(function () {\n      return new Promise(function (resolve, reject) {\n        _this.getHardwareInfo(function (err, result) {\n          if (err) {\n            reject(err);\n          } else {\n            resolve(result);\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"getFirstGeoFileInArchiveAsync\", this.handleErrors(this.wrapThrift(\"get_first_geo_file_in_archive\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"getUsersAsync\", this.handleErrors(this.wrapThrift(\"get_users\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"importTableStatusAsync\", this.handleErrors(this.wrapThrift(\"import_table_status\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"getRolesAsync\", this.handleErrors(this.wrapThrift(\"get_roles\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"getDashboardsAsync\", this.handleErrors(this.wrapThrift(\"get_dashboards\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"getDashboardAsync\", this.handleErrors(this.wrapThrift(\"get_dashboard\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"createDashboardAsync\", this.handleErrors(this.wrapThrift(\"create_dashboard\", this.overAllClients, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"replaceDashboardAsync\", this.handleErrors(this.wrapThrift(\"replace_dashboard\", this.overAllClients, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"deleteDashboardAsync\", this.handleErrors(this.wrapThrift(\"delete_dashboard\", this.overAllClients, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"deleteDashboardsAsync\", this.handleErrors(this.wrapThrift(\"delete_dashboards\", this.overAllClients, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"shareDashboardAsync\", this.handleErrors(this.wrapThrift(\"share_dashboard\", this.overAllClients, function (_ref3) {\n      var _ref4 = _slicedToArray(_ref3, 4),\n          dashboardId = _ref4[0],\n          groups = _ref4[1],\n          objects = _ref4[2],\n          permissions = _ref4[3];\n\n      return [dashboardId, groups, objects, new TDashboardPermissions(permissions)];\n    })));\n\n    _defineProperty(this, \"shareDashboardsAsync\", this.handleErrors(this.wrapThrift(\"share_dashboards\", this.overAllClients, function (_ref5) {\n      var _ref6 = _slicedToArray(_ref5, 3),\n          dashboardIds = _ref6[0],\n          groups = _ref6[1],\n          permissions = _ref6[2];\n\n      return [dashboardIds, groups, new TDashboardPermissions(permissions)];\n    })));\n\n    _defineProperty(this, \"unshareDashboardAsync\", this.handleErrors(this.wrapThrift(\"unshare_dashboard\", this.overAllClients, function (_ref7) {\n      var _ref8 = _slicedToArray(_ref7, 4),\n          dashboardId = _ref8[0],\n          groups = _ref8[1],\n          objects = _ref8[2],\n          permissions = _ref8[3];\n\n      return [dashboardId, groups, objects, new TDashboardPermissions(permissions)];\n    })));\n\n    _defineProperty(this, \"unshareDashboardsAsync\", this.handleErrors(this.wrapThrift(\"unshare_dashboards\", this.overAllClients, function (_ref9) {\n      var _ref10 = _slicedToArray(_ref9, 3),\n          dashboardIds = _ref10[0],\n          groups = _ref10[1],\n          permissions = _ref10[2];\n\n      return [dashboardIds, groups, new TDashboardPermissions(permissions)];\n    })));\n\n    _defineProperty(this, \"getDashboardGranteesAsync\", this.handleErrors(this.wrapThrift(\"get_dashboard_grantees\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"getDbObjectsForGranteeAsync\", this.handleErrors(this.wrapThrift(\"get_db_objects_for_grantee\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"getDbObjectPrivsAsync\", this.handleErrors(this.wrapThrift(\"get_db_object_privs\", this.overSingleClient, function (_ref11) {\n      var _ref12 = _slicedToArray(_ref11, 2),\n          objectName = _ref12[0],\n          type = _ref12[1];\n\n      return [objectName, TDBObjectType[type]];\n    })));\n\n    _defineProperty(this, \"getAllRolesForUserAsync\", this.handleErrors(this.wrapThrift(\"get_all_roles_for_user\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"hasObjectPrivilegesAsync\", this.handleErrors(this.wrapThrift(\"has_object_privilege\", this.overSingleClient, function (_ref13) {\n      var _ref14 = _slicedToArray(_ref13, 4),\n          granteeName = _ref14[0],\n          objectName = _ref14[1],\n          objectType = _ref14[2],\n          permissions = _ref14[3];\n\n      return [granteeName, objectName, objectType, permissions];\n    })));\n\n    _defineProperty(this, \"hasDbPrivilegesAsync\", function (granteeName, dbName, dbPrivs) {\n      return _this.hasObjectPrivilegesAsync(granteeName, dbName, TDBObjectType.DatabaseDBObjectType, new TDBObjectPermissions({\n        database_permissions_: new TDatabasePermissions(dbPrivs)\n      }));\n    });\n\n    _defineProperty(this, \"getSessionInfoAsync\", this.handleErrors(this.wrapThrift(\"get_session_info\", this.overSingleClient, function (args) {\n      return args;\n    })));\n\n    _defineProperty(this, \"detectColumnTypesAsync\", this.handleErrors(function (fileName, copyParams) {\n      return new Promise(function (resolve, reject) {\n        _this.detectColumnTypes.bind(_this, fileName, copyParams)(function (err, res) {\n          if (err) {\n            reject(err);\n          } else {\n            _this.importerRowDesc = res.row_set.row_desc;\n            resolve(res);\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"queryCache\", {});\n\n    _defineProperty(this, \"queryCacheTransient\", true);\n\n    _defineProperty(this, \"setQueryCacheTransient\", function (value) {\n      if (value) {\n        // Reset and clear out any nontransient entries\n        _this.queryCache = {};\n      }\n\n      _this.queryCacheTransient = value;\n    });\n\n    _defineProperty(this, \"clonePromise\", function (promise) {\n      return new Promise(function (resolve, reject) {\n        promise.then(function (result) {\n          resolve(lodash_clonedeep_default()(result));\n        })[\"catch\"](function (error) {\n          reject(error);\n        });\n      });\n    });\n\n    _defineProperty(this, \"queryAsync\", this.handleErrors(function (query, options) {\n      var cacheEntry = _this.queryCache[query];\n\n      if (cacheEntry) {\n        return _this.clonePromise(cacheEntry);\n      } else {\n        var queryPromise = new Promise(function (resolve, reject) {\n          _this.events.emit(_this.EVENT_NAMES.METHOD_CALLED, \"sql_execute\");\n\n          _this.query(query, options, function (error, result) {\n            if (_this.queryCacheTransient) {\n              delete _this.queryCache[query];\n            }\n\n            if (error) {\n              reject(error);\n            } else {\n              resolve(result);\n            }\n          });\n        });\n        _this.queryCache[query] = queryPromise;\n        return _this.clonePromise(queryPromise);\n      }\n    }));\n\n    _defineProperty(this, \"queryDFAsync\", this.handleErrors(function (query, options) {\n      var cacheEntry = _this.queryCache[query];\n\n      if (cacheEntry) {\n        return _this.clonePromise(cacheEntry);\n      } else {\n        var queryPromise = new Promise(function (resolve, reject) {\n          _this.events.emit(_this.EVENT_NAMES.METHOD_CALLED, \"sql_execute_df\");\n\n          _this.queryDF(query, options, function (error, result) {\n            if (_this.queryCacheTransient) {\n              delete _this.queryCache[query];\n            }\n\n            if (error) {\n              reject(error);\n            } else {\n              resolve(result);\n            }\n          });\n        });\n        _this.queryCache[query] = queryPromise;\n        return _this.clonePromise(queryPromise);\n      }\n    }));\n\n    _defineProperty(this, \"validateQuery\", this.handleErrors(function (query) {\n      return new Promise(function (resolve, reject) {\n        _this._client[0].sql_validate(_this._sessionId[0], query, function (error, fields) {\n          if (error) {\n            reject(error);\n          } else {\n            var rowDict = fields.reduce(function (accum, value) {\n              accum[value.col_name] = value;\n              return accum;\n            }, {});\n            resolve(_this.convertFromThriftTypes(rowDict));\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"getTablesAsync\", this.handleErrors(function () {\n      return new Promise(function (resolve, reject) {\n        _this.getTables.bind(_this)(function (error, tables) {\n          if (error) {\n            reject(error);\n          } else {\n            resolve(tables);\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"getTablesWithMetaAsync\", this.handleErrors(function () {\n      return new Promise(function (resolve, reject) {\n        _this.getTablesWithMeta.bind(_this)(function (error, tables) {\n          if (error) {\n            reject(error);\n          } else {\n            resolve(tables);\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"getTablesMetaAsync\", this.handleErrors(function () {\n      return new Promise(function (resolve, reject) {\n        _this.getTablesMeta.bind(_this)(function (error, tables) {\n          if (error) {\n            reject(error);\n          } else {\n            resolve(tables);\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"getFieldsAsync\", this.handleErrors(function (tableName) {\n      return new Promise(function (resolve, reject) {\n        _this.getFields(tableName, function (error, fields) {\n          if (error) {\n            reject(error);\n          } else {\n            resolve(fields);\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"createTableAsync\", this.handleErrors(function (tableName, rowDescObj, tableType, createParams) {\n      return new Promise(function (resolve, reject) {\n        _this.createTable(tableName, rowDescObj, tableType, createParams, function (err) {\n          if (err) {\n            reject(err);\n          } else {\n            resolve();\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"importTableAsync\", this.handleErrors(this.importTableAsyncWrapper(false)));\n\n    _defineProperty(this, \"importTableGeoAsync\", this.handleErrors(this.importTableAsyncWrapper(true)));\n\n    _defineProperty(this, \"renderVegaAsync\", this.handleErrors(function (widgetid, vega, options) {\n      return new Promise(function (resolve, reject) {\n        _this.renderVega(widgetid, vega, options, function (error, result) {\n          if (error) {\n            reject(error);\n          } else {\n            resolve(result);\n          }\n        });\n      });\n    }));\n\n    _defineProperty(this, \"getResultRowForPixelAsync\", this.handleErrors(function (widgetId, pixel, tableColNamesMap) {\n      var pixelRadius = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 2;\n      return new Promise(function (resolve, reject) {\n        _this.getResultRowForPixel(widgetId, pixel, tableColNamesMap, pixelRadius, function (error, result) {\n          if (error) {\n            reject(error);\n          } else {\n            resolve(result);\n          }\n        });\n      });\n    }));\n\n    this._host = null;\n    this._user = null;\n    this._password = null;\n    this._port = null;\n    this._dbName = null;\n    this._client = null;\n    this._sessionId = null;\n    this._protocol = null;\n    this._disableAutoReconnect = false;\n    this._datumEnum = {};\n    this._logging = false;\n    this._platform = \"mapd\";\n    this._nonce = 0;\n    this._balanceStrategy = \"adaptive\";\n    this._numConnections = 0;\n    this._lastRenderCon = 0;\n    this.queryTimes = {};\n    this.serverQueueTimes = null;\n    this.serverPingTimes = null;\n    this.pingCount = null;\n    this.DEFAULT_QUERY_TIME = 50;\n    this.NUM_PINGS_PER_SERVER = 4;\n    this.importerRowDesc = null; // invoke initialization methods\n\n    this.invertDatumTypes();\n\n    this.processResults = function () {\n      var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      var result = arguments.length > 1 ? arguments[1] : undefined;\n      var error = arguments.length > 2 ? arguments[2] : undefined;\n      var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n      if (error) {\n        if (_this._logging && options.query) {\n          console.error(options.query, \"\\n\", error);\n        }\n\n        callback(error);\n      } else {\n        var processor = processQueryResults(_this._logging, _this.updateQueryTimes);\n        var processResultsObject = processor(options, _this._datumEnum, result, callback);\n        return processResultsObject;\n      }\n    }; // return this to allow chaining off of instantiation\n\n\n    return this;\n  }\n\n  _createClass(MapdCon, [{\n    key: \"xhrWithCredentials\",\n    value: function xhrWithCredentials(enabled) {\n      mapd_con_es6_Thrift.xhrWithCredentials = enabled;\n    }\n    /**\n     * Initializes the connector for use. This is similar to `connect()`, but stops short of\n     * actually connecting to the server.\n     *\n     * @return {MapdCon} Object.\n     */\n\n  }, {\n    key: \"initClients\",\n    value: function initClients() {\n      var allAreArrays = Array.isArray(this._host) && Array.isArray(this._port) && Array.isArray(this._dbName);\n\n      if (!allAreArrays) {\n        throw new Error(\"Host, port, and dbName must be arrays.\");\n      }\n\n      this._client = [];\n      this._sessionId = [];\n\n      if (!this._host[0]) {\n        throw new Error(\"Please enter a host name.\");\n      } else if (!this._port[0]) {\n        throw new Error(\"Please enter a port.\");\n      } // now check to see if length of all arrays are the same and > 0\n\n\n      var hostLength = this._host.length;\n\n      if (hostLength < 1) {\n        throw new Error(\"Must have at least one server to connect to.\");\n      }\n\n      if (hostLength !== this._port.length) {\n        throw new Error(\"Array connection parameters must be of equal length.\");\n      }\n\n      if (!this._protocol) {\n        this._protocol = this._host.map(function () {\n          return window.location.protocol.replace(\":\", \"\");\n        });\n      }\n\n      var transportUrls = this.getEndpoints();\n      var clients = [];\n\n      for (var h = 0; h < hostLength; h++) {\n        var client = null;\n\n        if (isNodeRuntime()) {\n          var _parseUrl = parseUrl(transportUrls[h]),\n              protocol = _parseUrl.protocol,\n              hostname = _parseUrl.hostname,\n              port = _parseUrl.port;\n\n          var connection = thriftWrapper.createHttpConnection(hostname, port, {\n            transport: thriftWrapper.TBufferedTransport,\n            protocol: thriftWrapper.TJSONProtocol,\n            path: \"/\",\n            headers: {\n              Connection: \"close\"\n            },\n            https: protocol === \"https:\"\n          });\n          connection.on(\"error\", console.error); // eslint-disable-line no-console\n\n          client = thriftWrapper.createClient(MapDThrift, connection);\n          resetThriftClientOnArgumentErrorForMethods(this, client, [\"connect\", \"createTableAsync\", \"dbName\", \"detectColumnTypesAsync\", \"disconnect\", \"getCompletionHintsAsync\", \"getFields\", \"getDashboardAsync\", \"getDashboardsAsync\", \"getResultRowForPixel\", \"getStatusAsync\", \"getTablesAsync\", \"getTablesWithMetaAsync\", \"host\", \"importTableAsync\", \"importTableGeoAsync\", \"logging\", \"password\", \"port\", \"protocol\", \"query\", \"queryDF\", \"renderVega\", \"sessionId\", \"user\", \"validateQuery\"]);\n          clients.push(client);\n        } else {\n          var thriftTransport = new mapd_con_es6_Thrift.Transport(transportUrls[h]);\n          var thriftProtocol = new mapd_con_es6_Thrift.Protocol(thriftTransport);\n          clients.push(new MapDClientV2(thriftProtocol));\n        }\n      }\n\n      this._client = clients;\n      this._numConnections = this._client.length;\n      return this;\n    }\n    /**\n     * Create a connection to the MapD server, generating a client and session ID.\n     * @param {Function} callback A callback that takes `(err, success)` as its signature.  Returns con singleton if successful.\n     * @return {MapdCon} Object.\n     *\n     * @example <caption>Connect to a MapD server:</caption>\n     * var con = new MapdCon()\n     *   .host('localhost')\n     *   .port('8080')\n     *   .dbName('myDatabase')\n     *   .user('foo')\n     *   .password('bar')\n     *   .connect((err, con) => console.log(con.sessionId()));\n     *\n     *   // [\"om9E9Ujgbhl6wIzWgLENncjWsaXRDYLy\"]\n     */\n\n  }, {\n    key: \"connect\",\n    value: function connect(callback) {\n      var _this2 = this;\n\n      if (!Array.isArray(this._user) || !Array.isArray(this._password)) {\n        return callback(\"Username and password must be arrays.\");\n      }\n\n      if (!this._dbName[0]) {\n        throw new Error(\"Please enter a database.\");\n      } else if (!this._user[0]) {\n        return callback(\"Please enter a username.\");\n      } else if (!this._password[0]) {\n        return callback(\"Please enter a password.\");\n      } // now check to see if length of all arrays are the same and > 0\n\n\n      var hostLength = this._host.length;\n\n      if (hostLength < 1) {\n        return callback(\"Must have at least one server to connect to.\");\n      }\n\n      if (hostLength !== this._port.length || hostLength !== this._user.length || hostLength !== this._password.length || hostLength !== this._dbName.length) {\n        return callback(\"Array connection parameters must be of equal length.\");\n      }\n\n      var clients = []; // eslint-disable-next-line no-restricted-syntax\n\n      try {\n        this.initClients();\n        clients = this._client; // Reset the client property, so we can add only the ones that we can connect to below\n\n        this._client = [];\n      } catch (e) {\n        return callback(e.message);\n      }\n\n      var _loop = function _loop(h) {\n        var client = clients[h];\n        client.connect(_this2._user[h], _this2._password[h], _this2._dbName[h], function (error, sessionId) {\n          if (error) {\n            callback(error);\n            return;\n          }\n\n          _this2._client.push(client);\n\n          _this2._sessionId.push(sessionId);\n\n          callback(null, _this2);\n        });\n      };\n\n      for (var h = 0; h < clients.length; h++) {\n        _loop(h);\n      }\n\n      return this;\n    }\n  }, {\n    key: \"convertFromThriftTypes\",\n    value: function convertFromThriftTypes(fields) {\n      var fieldsArray = []; // silly to change this from map to array\n      // - then later it turns back to map\n\n      for (var key in fields) {\n        if (fields.hasOwnProperty(key)) {\n          fieldsArray.push({\n            name: key,\n            type: this._datumEnum[fields[key].col_type.type],\n            precision: fields[key].col_type.precision,\n            is_array: fields[key].col_type.is_array,\n            is_dict: fields[key].col_type.encoding === TEncodingType.DICT // eslint-disable-line no-undef\n\n          });\n        }\n      }\n\n      return fieldsArray;\n    }\n    /**\n     * Disconnect from the server and then clear the client and session values.\n     * @param {Function} callback A callback that takes `(err, success)` as its signature.  Returns con singleton if successful.\n     * @return {MapdCon} Object.\n     *\n     * @example <caption>Disconnect from the server:</caption>\n     *\n     * con.sessionId() // [\"om9E9Ujgbhl6wIzWgLENncjWsaXRDYLy\"]\n     * con.disconnect((err, con) => console.log(err, con))\n     * con.sessionId() === null;\n     */\n\n  }, {\n    key: \"disconnect\",\n    value: function disconnect(callback) {\n      var _this3 = this;\n\n      if (this._sessionId !== null) {\n        for (var c = 0; c < this._client.length; c++) {\n          this._client[c].disconnect(this._sessionId[c], function (error) {\n            if (error && !_this3.isTimeoutError(error)) {\n              return callback(error, _this3);\n            }\n\n            _this3._sessionId = null;\n            _this3._client = null;\n            _this3._numConnections = 0;\n            _this3.serverPingTimes = null;\n            return callback(null, _this3);\n          });\n        }\n      }\n\n      return this;\n    }\n  }, {\n    key: \"removeConnection\",\n    value: function removeConnection(conId) {\n      if (conId < 0 || conId >= this.numConnections) {\n        var err = {\n          msg: \"Remove connection id invalid\"\n        };\n        throw err;\n      }\n\n      this._client.splice(conId, 1);\n\n      this._sessionId.splice(conId, 1);\n\n      this._numConnections--;\n    }\n  }, {\n    key: \"detectColumnTypes\",\n    value: function detectColumnTypes(fileName, copyParams, callback) {\n      var thriftCopyParams = convertObjectToThriftCopyParams(copyParams);\n\n      this._client[0].detect_column_types(this._sessionId[0], fileName, thriftCopyParams, callback);\n    }\n    /**\n     * Asynchronously get data from an importable file,\n     * such as a CSV or plaintext file with a header.\n     * @param {String} fileName - The name of the importable file.\n     * @param {TCopyParams} copyParams See {@link TCopyParams}\n     * @returns {Promise.<TDetectResult>} An object that has <code>copy_params</code> and <code>row_set</code>.\n     *\n     * @example <caption>Get data from table_data.csv:</caption>\n     *\n     * var copyParams = new TCopyParams();\n     * con.detectColumnTypesAsync('table_data.csv', copyParams).then(res => console.log(res))\n     * // TDetectResult {row_set: TRowSet, copy_params: TCopyParams}\n     *\n     */\n\n  }, {\n    key: \"query\",\n\n    /**\n     * Submit a query to the database and process the results.\n     * @param {String} query The query to perform.\n     * @param {Object} options Options for the query.\n     * @param {Function} callback A callback function with the signature <code>(err, result) => result</code>.\n     * @returns {Object} The result of the query.\n     *\n     * @example <caption>Create a query:</caption>\n     *\n     * var query = \"SELECT count(*) AS n FROM tweets_nov_feb WHERE country='CO'\";\n     * var options = {};\n     *\n     * con.query(query, options, function(err, result) {\n     *        console.log(result)\n     *      });\n     *\n     */\n    value: function query(_query, options, callback) {\n      var _this4 = this;\n\n      var columnarResults = true;\n      var eliminateNullRows = false;\n      var queryId = null;\n      var returnTiming = false;\n      var limit = -1;\n      var curNonce = (this._nonce++).toString();\n\n      if (options) {\n        columnarResults = options.hasOwnProperty(\"columnarResults\") ? options.columnarResults : columnarResults;\n        eliminateNullRows = options.hasOwnProperty(\"eliminateNullRows\") ? options.eliminateNullRows : eliminateNullRows;\n        queryId = options.hasOwnProperty(\"queryId\") ? options.queryId : queryId;\n        returnTiming = options.hasOwnProperty(\"returnTiming\") ? options.returnTiming : returnTiming;\n        limit = options.hasOwnProperty(\"limit\") ? options.limit : limit;\n        curNonce = options.hasOwnProperty(\"logValues\") ? JSON.stringify(options.logValues) : curNonce;\n      }\n\n      var lastQueryTime = queryId in this.queryTimes ? this.queryTimes[queryId] : this.DEFAULT_QUERY_TIME;\n      var conId = 0;\n      var processResultsOptions = {\n        returnTiming: returnTiming,\n        eliminateNullRows: eliminateNullRows,\n        query: _query,\n        queryId: queryId,\n        conId: conId,\n        estimatedQueryTime: lastQueryTime\n      };\n\n      try {\n        var AT_MOST_N = -1;\n\n        if (callback) {\n          this._client[conId].sql_execute(this._sessionId[conId], _query, columnarResults, curNonce, limit, AT_MOST_N, function (error, result) {\n            _this4.processResults(processResultsOptions, result, error, callback);\n          });\n\n          return curNonce;\n        } else if (!callback) {\n          var SQLExecuteResult = this._client[conId].sql_execute(this._sessionId[conId], _query, columnarResults, curNonce, limit, AT_MOST_N);\n\n          return this.processResults(processResultsOptions, SQLExecuteResult);\n        }\n      } catch (err) {\n        if (err.name === \"NetworkError\") {\n          this.removeConnection(conId);\n\n          if (this._numConnections === 0) {\n            err.msg = \"No remaining database connections\";\n            throw err;\n          }\n\n          this.query(_query, options, callback);\n        } else if (callback) {\n          callback(err);\n        } else {\n          throw err;\n        }\n      }\n    } // This is a *Promise* cache, not a result cache. If queryAsync is called for the same query twice\n    // while the first is still in flight, it will return the Promise from the first call, saving\n    // an unnecessary duplicate trip and sharing the results to both callers once they come back.\n    //\n    // This only survives while requests are in flight in the default 'transient' mode, but if transient\n    // is off then it will act as a long-term cache, returning the resolved Promise with immediate results.\n\n  }, {\n    key: \"queryDF\",\n    value: function queryDF(query, options, callback) {\n      var _this$_client$conId;\n\n      var deviceId = 0;\n      var limit = -1;\n      var conId = 0;\n      var args = [this._sessionId[conId], query, TDeviceType.CPU, deviceId, limit, TArrowTransport.WIRE, function (err, data) {\n        var buf = Buffer.from(data.df_buffer, \"base64\");\n        var results = external_commonjs_apache_arrow_commonjs2_apache_arrow_amd_apache_arrow_root_Arrow_.Table.from(buf);\n\n        if (options && Boolean(options.returnTiming)) {\n          results = {\n            results: results,\n            timing: {\n              execution_time_ms: data.execution_time_ms\n            }\n          };\n        }\n\n        return callback(err, results);\n      }];\n      return (_this$_client$conId = this._client[conId]).sql_execute_df.apply(_this$_client$conId, args);\n    }\n  }, {\n    key: \"getTables\",\n    value: function getTables(callback) {\n      this._client[0].get_tables(this._sessionId[0], function (error, tables) {\n        if (error) {\n          callback(error);\n        } else {\n          callback(null, tables.map(function (table) {\n            return {\n              name: table,\n              label: \"obs\"\n            };\n          }));\n        }\n      });\n    }\n    /**\n     * Get the names of the databases that exist in the current session connection.\n     * @return {Promise.<Object[]>} List of table objects containing the label and table names.\n     *\n     * @example <caption>Get the list of tables from a connection:</caption>\n     *\n     *  con.getTablesAsync().then(res => console.log(res))\n     *\n     *  //  [{\n     *  //    label: 'obs', // deprecated property\n     *  //    name: 'myTableName'\n     *  //   },\n     *  //  ...]\n     */\n\n  }, {\n    key: \"getTablesWithMeta\",\n    value: function getTablesWithMeta(callback) {\n      var _this5 = this;\n\n      this._client[0].get_tables_meta(this._sessionId[0], function (error, tables) {\n        if (error) {\n          callback(error);\n        } else {\n          callback(null, tables.map(function (table) {\n            return {\n              name: table.table_name,\n              num_cols: Number(table.num_cols.toString()),\n              col_datum_types: table.col_types.map(function (type) {\n                return _this5._datumEnum[type.type];\n              }),\n              is_view: table.is_view,\n              is_replicated: table.is_replicated,\n              shard_count: Number(table.shard_count.toString()),\n              max_rows: isFinite(table.max_rows) ? Number(table.max_rows.toString()) : -1\n            };\n          }));\n        }\n      });\n    }\n    /**\n     * Get names and catalog metadata for tables that exist on the current session's connection.\n     * @return {Promise.<Object[]>} The list of objects containing table metadata.\n     *\n     * @example <caption>Get the list of tables with metadata from a connection:</caption>\n     *\n     *  con.getTablesWithMetaAsync().then(res => console.log(res))\n     *\n     *  [\n     *   {\n     *    name: 'my_table_name',\n     *    col_datum_types: [TDatumType::BOOL, TDatumType::DOUBLE],\n     *    is_view: false,\n     *    is_replicated: false,\n     *    shard_count: 0,\n     *    max_rows: -1\n     *   },\n     *  ...]\n     */\n\n  }, {\n    key: \"getTablesMeta\",\n    value: function getTablesMeta(callback) {\n      this._client[0].get_tables_meta(this._sessionId[0], function (error, tables) {\n        if (error) {\n          callback(error);\n        } else {\n          callback(null, tables);\n        }\n      });\n    }\n    /**\n     * Get names and catalog metadata for tables that exist on the current session's connection.\n     * @return {Promise.<TTableMeta[]>} The list of objects containing table metadata.\n     *\n     * @example <caption>Get the list of tables with metadata from a connection:</caption>\n     *\n     *  con.getTablesMetaAsync().then(res => console.log(res))\n     *\n     *  [\n     *   {\n     *    table_name: 'my_table_name',\n     *    col_datum_types: [TDatumType::BOOL, TDatumType::DOUBLE],\n     *    col_names: ['bool_col', 'double_col'],\n     *    is_view: false,\n     *    is_replicated: false,\n     *    shard_count: 0,\n     *    max_rows: -1\n     *   },\n     *  ...]\n     */\n\n  }, {\n    key: \"getCompletionHints\",\n\n    /**\n     * Submits an SQL string to the backend and returns a completion hints object.\n     * @param {String} queryString A fragment of SQL input.\n     * @param {Object} options An options object continaing the current cursor position, 1-indexed from the start of `queryString`.\n     * @param {Function} callback A callback function with the signature `(err, result) => result`.\n     * @returns {Array} An array of completion hints objects that contains the completion hints.\n     *\n     * @example\n     * const queryString = \"f\";\n     * const cursor = 1;\n     *\n     * con.getCompletionHints(queryString, cursor, function(error, result) {\n     *        console.log(result)\n     *      });\n     *\n     *  [{\n     *    hints: [\"FROM\"],\n     *    replaced: \"f\",\n     *    type: 7\n     *   }]\n     *\n     */\n    value: function getCompletionHints(queryString, options, callback) {\n      var cursor = options.cursor;\n\n      this._client[0].get_completion_hints(this._sessionId[0], queryString, cursor, function (error, result) {\n        if (error) {\n          callback(error);\n        } else {\n          callback(null, result);\n        }\n      });\n    }\n    /**\n     * Create an array-like object from {@link TDatumType} by\n     * changing the order of the string key and numerical value.\n     *\n     * @returns {Undefined} This function does not return anything.\n     */\n\n  }, {\n    key: \"invertDatumTypes\",\n    value: function invertDatumTypes() {\n      var datumType = TDatumType; // eslint-disable-line no-undef\n\n      for (var key in datumType) {\n        if (datumType.hasOwnProperty(key)) {\n          this._datumEnum[datumType[key]] = key;\n        }\n      }\n    }\n    /**\n     * Get a list of field objects for a specified table.\n     * @param {String} tableName Name of table containing field names.\n     * @param {Function} callback A callback that takes (`err, results`).\n     * @return {Array<Object>} The formatted list of field objects.\n     *\n     * @example <caption>Get the list of fields from a specific table:</caption>\n     *\n     * con.getFields('flights', (err, res) => console.log(res))\n     * // [{\n     *   name: 'fieldName',\n     *   type: 'BIGINT',\n     *   is_array: false,\n     *   is_dict: false\n     * }, ...]\n     */\n\n  }, {\n    key: \"getFields\",\n    value: function getFields(tableName, callback) {\n      var _this6 = this;\n\n      this._client[0].get_table_details(this._sessionId[0], tableName, function (error, fields) {\n        if (error) {\n          callback(error);\n        } else if (fields) {\n          var rowDict = fields.row_desc.reduce(function (accum, value) {\n            accum[value.col_name] = value;\n            return accum;\n          }, {});\n          callback(null, _objectSpread(_objectSpread({}, fields), {}, {\n            columns: _this6.convertFromThriftTypes(rowDict)\n          }));\n        } else {\n          callback(new Error(\"Table (\".concat(tableName, \") not found\")));\n        }\n      });\n    }\n  }, {\n    key: \"createTable\",\n    value: function createTable(tableName, rowDescObj, tableType, createParams, callback) {\n      if (!this._sessionId) {\n        throw new Error(\"You are not connected to a server. Try running the connect method first.\");\n      }\n\n      var thriftRowDesc = mutateThriftRowDesc(rowDescObj, this.importerRowDesc);\n\n      for (var c = 0; c < this._numConnections; c++) {\n        this._client[c].create_table(this._sessionId[c], tableName, thriftRowDesc, tableType, createParams, function (err) {\n          if (err) {\n            callback(err);\n          } else {\n            callback();\n          }\n        });\n      }\n    }\n    /**\n     * Create a table and persist it to the backend.\n     * @param {String} tableName The name of the new table.\n     * @param {Array<TColumnType>} rowDescObj Fields in the new table.\n     * @param {Number<TTableType>} tableType The types of tables a user can import into the database.\n     * @param {TCreateParams} createParams Properties to apply to the new table (e.g. replicated)\n     * @return {Promise.<undefined>} Generates an error if unsuccessful, or returns undefined if successful.\n     *\n     * @example <caption>Create a new table:</caption>\n     *\n     *  con.createTable('mynewtable', [TColumnType, TColumnType, ...], 0).then(res => console.log(res));\n     *  // undefined\n     */\n\n  }, {\n    key: \"importTable\",\n    value: function importTable(tableName, fileName, copyParams, rowDescObj, isShapeFile, callback) {\n      if (!this._sessionId) {\n        throw new Error(\"You are not connected to a server. Try running the connect method first.\");\n      }\n\n      var thriftCopyParams = convertObjectToThriftCopyParams(copyParams);\n      var thriftRowDesc = mutateThriftRowDesc(rowDescObj, this.importerRowDesc);\n\n      var thriftCallBack = function thriftCallBack(err, res) {\n        if (err) {\n          callback(err);\n        } else {\n          callback(null, res);\n        }\n      };\n\n      for (var c = 0; c < this._numConnections; c++) {\n        if (isShapeFile) {\n          this._client[c].import_geo_table(this._sessionId[c], tableName, fileName, thriftCopyParams, thriftRowDesc, new TCreateParams(), thriftCallBack);\n        } else {\n          this._client[c].import_table(this._sessionId[c], tableName, fileName, thriftCopyParams, thriftCallBack);\n        }\n      }\n    }\n  }, {\n    key: \"importTableAsyncWrapper\",\n    value: function importTableAsyncWrapper(isShapeFile) {\n      var _this7 = this;\n\n      return function (tableName, fileName, copyParams, headers) {\n        return new Promise(function (resolve, reject) {\n          _this7.importTable(tableName, fileName, copyParams, headers, isShapeFile, function (err, link) {\n            if (err) {\n              reject(err);\n            } else {\n              resolve(link);\n            }\n          });\n        });\n      };\n    }\n    /**\n     * Import a delimited table from a file.\n     * @param {String} tableName The name of the new table.\n     * @param {String} fileName The name of the file containing the table.\n     * @param {TCopyParams} copyParams See {@link TCopyParams}\n     * @param {TColumnType[]} headers A collection of metadata related to the table headers.\n     */\n\n  }, {\n    key: \"renderVega\",\n\n    /**\n     * Use for backend rendering. This method fetches a PNG image\n     * that is a render of the Vega JSON object.\n     *\n     * @param {Number} widgetid The widget ID of the calling widget.\n     * @param {String} vega The Vega JSON.\n     * @param {Object} options The options for the render query.\n     * @param {Number} options.compressionLevel The PNG compression level.\n     *                  Range: 1 (low compression, faster) to 10 (high compression, slower).\n     *                  Default: 3.\n     * @param {Function} callback Takes `(err, success)` as its signature.  Returns con singleton if successful.\n     *\n     * @returns {Image} Base64 image.\n     */\n    value: function renderVega(widgetid, vega, options, callback)\n    /* istanbul ignore next */\n    {\n      var _this8 = this;\n\n      var queryId = null;\n      var compressionLevel = COMPRESSION_LEVEL_DEFAULT;\n\n      if (options) {\n        queryId = options.hasOwnProperty(\"queryId\") ? options.queryId : queryId;\n        compressionLevel = options.hasOwnProperty(\"compressionLevel\") ? options.compressionLevel : compressionLevel;\n      }\n\n      var lastQueryTime = queryId in this.queryTimes ? this.queryTimes[queryId] : this.DEFAULT_QUERY_TIME;\n      var curNonce = (this._nonce++).toString();\n\n      if (options) {\n        curNonce = options.hasOwnProperty(\"logValues\") ? JSON.stringify(options.logValues) : curNonce;\n      }\n\n      var conId = 0;\n      this._lastRenderCon = conId;\n      var processResultsOptions = {\n        isImage: true,\n        query: \"render: \".concat(vega),\n        queryId: queryId,\n        conId: conId,\n        estimatedQueryTime: lastQueryTime\n      };\n\n      if (!callback) {\n        var renderResult = this._client[conId].render_vega(this._sessionId[conId], widgetid, vega, compressionLevel, curNonce);\n\n        return this.processResults(processResultsOptions, renderResult);\n      }\n\n      this._client[conId].render_vega(this._sessionId[conId], widgetid, vega, compressionLevel, curNonce, function (error, result) {\n        _this8.processResults(processResultsOptions, result, error, callback);\n      });\n\n      return curNonce;\n    }\n  }, {\n    key: \"getResultRowForPixel\",\n\n    /**\n     * Used primarily for backend-rendered maps; fetches the row\n     * for a specific table that was last rendered at a pixel.\n     *\n     * @param {Number} widgetId The widget ID of the caller.\n     * @param {TPixel} pixel The pixel. The lower-left corner is pixel (0,0).\n     * @param {Object} tableColNamesMap Map of the object of `tableName` to the array of column names.\n     * @param {Number} [pixelRadius=2] The radius around the primary pixel to search within.\n     * @param {Function} callback A callback function with the signature `(err, result) => result`.\n     *\n     * @returns {String} Current result nonce\n     */\n    value: function getResultRowForPixel(widgetId, pixel, tableColNamesMap)\n    /* istanbul ignore next */\n    {\n      var pixelRadius = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 2;\n      var callback = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n      if (!(pixel instanceof TPixel)) {\n        pixel = new TPixel(pixel);\n      }\n\n      var columnFormat = true; // BOOL\n\n      var curNonce = (this._nonce++).toString();\n\n      if (!callback) {\n        return this.processPixelResults(undefined, // eslint-disable-line no-undefined\n        this._client[this._lastRenderCon].get_result_row_for_pixel(this._sessionId[this._lastRenderCon], widgetId, pixel, tableColNamesMap, columnFormat, pixelRadius, curNonce));\n      }\n\n      this._client[this._lastRenderCon].get_result_row_for_pixel(this._sessionId[this._lastRenderCon], widgetId, pixel, tableColNamesMap, columnFormat, pixelRadius, curNonce, this.processPixelResults.bind(this, callback));\n\n      return curNonce;\n    }\n  }, {\n    key: \"processPixelResults\",\n\n    /**\n     * Formats the pixel results into the same pattern as textual results.\n     *\n     * @param {Function} callback A callback function with the signature `(err, result) => result`.\n     * @param {Object} error An error if thrown; otherwise null.\n     * @param {Array|Object} results Unformatted results of pixel `rowId` information.\n     *\n     * @returns {Object} An object with the pixel results formatted for display.\n     */\n    value: function processPixelResults(callback, error, results) {\n      results = Array.isArray(results) ? results.pixel_rows : [results];\n\n      if (error) {\n        if (callback) {\n          return callback(error, results);\n        } else {\n          throw new Error(\"Unable to process result row for pixel results: \".concat(error));\n        }\n      }\n\n      var processResultsOptions = {\n        isImage: false,\n        eliminateNullRows: false,\n        query: \"pixel request\",\n        queryId: -2\n      };\n      var numPixels = results.length;\n\n      for (var p = 0; p < numPixels; p++) {\n        results[p].row_set = this.processResults(processResultsOptions, results[p]);\n      }\n\n      if (callback) {\n        return callback(error, results);\n      } else {\n        return results;\n      }\n    } // ** Configuration methods **\n\n    /**\n     * Get or set the session ID used by the server to serve the correct data.\n     * This is typically set by {@link connect} and should not be set manually.\n     * @param {Number} sessionId The session ID of the current connection.\n     * @return {Number|MapdCon} - The session ID or MapD connector itself.\n     *\n     * @example <caption>Get the session ID:</caption>\n     *\n     *  con.sessionId();\n     * // sessionID === 3145846410\n     *\n     * @example <caption>Set the session ID:</caption>\n     * var con = new MapdCon().connect().sessionId(3415846410);\n     * // NOTE: It is generally unsafe to set the session ID manually.\n     */\n\n  }, {\n    key: \"sessionId\",\n    value: function sessionId(_sessionId) {\n      if (!arguments.length) {\n        return this._sessionId;\n      }\n\n      this._sessionId = arrayify(_sessionId);\n      return this;\n    }\n    /**\n     * Get or set the connection server hostname.\n     * This is is typically the first method called after instantiating a new MapdCon.\n     * @param {String} host The hostname address.\n     * @return {String|MapdCon} The hostname or MapD connector itself.\n     *\n     * @example <caption>Set the hostname:</caption>\n     * var con = new MapdCon().host('localhost');\n     *\n     * @example <caption>Get the hostname:</caption>\n     * var host = con.host();\n     * // host === 'localhost'\n     */\n\n  }, {\n    key: \"host\",\n    value: function host(_host) {\n      if (!arguments.length) {\n        return this._host;\n      }\n\n      this._host = arrayify(_host);\n      return this;\n    }\n    /**\n     * Get or set the connection port.\n     * @param {String} port - The port to connect on.\n     * @return {String|MapdCon} - The port or MapD connector itself.\n     *\n     * @example <caption>Set the port:</caption>\n     * var con = new MapdCon().port('8080');\n     *\n     * @example <caption>Get the port:</caption>\n     * var port = con.port();\n     * // port === '8080'\n     */\n\n  }, {\n    key: \"port\",\n    value: function port(_port) {\n      if (!arguments.length) {\n        return this._port;\n      }\n\n      this._port = arrayify(_port);\n      return this;\n    }\n    /**\n     * Get or set the username with which to authenticate.\n     * @param {String} user - The username with which to authenticate.\n     * @return {String|MapdCon} - The username or MapD connector itself.\n     *\n     * @example <caption>Set the username:</caption>\n     * var con = new MapdCon().user('foo');\n     *\n     * @example <caption>Get the username:</caption>\n     * var username = con.user();\n     * // user === 'foo'\n     */\n\n  }, {\n    key: \"user\",\n    value: function user(_user) {\n      if (!arguments.length) {\n        return this._user;\n      }\n\n      this._user = arrayify(_user);\n      return this;\n    }\n    /**\n     * Get or set the user password for authentication.\n     * @param {String} password The password with which to authenticate.\n     * @return {String|MapdCon} The password or MapD connector itself.\n     *\n     * @example <caption>Set the password:</caption>\n     * var con = new MapdCon().password('bar');\n     *\n     * @example <caption>Get the username:</caption>\n     * var password = con.password();\n     * // password === 'bar'\n     */\n\n  }, {\n    key: \"password\",\n    value: function password(_password) {\n      if (!arguments.length) {\n        return this._password;\n      }\n\n      this._password = arrayify(_password);\n      return this;\n    }\n    /**\n     * Get or set the name of the database to connect to.\n     * @param {String} dbName - The database to connect to.\n     * @return {String|MapdCon} - The name of the database or the MapD connector itself.\n     *\n     * @example <caption>Set the database name:</caption>\n     * var con = new MapdCon().dbName('myDatabase');\n     *\n     * @example <caption>Get the database name:</caption>\n     * var dbName = con.dbName();\n     * // dbName === 'myDatabase'\n     */\n\n  }, {\n    key: \"dbName\",\n    value: function dbName(_dbName) {\n      if (!arguments.length) {\n        return this._dbName;\n      }\n\n      this._dbName = arrayify(_dbName);\n      return this;\n    }\n    /**\n     * Configure whether raw query strings are logged to the console.\n     * Used primarily for debugging; `false` by default.\n     * @param {Boolean} logging Set to true to enable logging.\n     * @return {Boolean|MapdCon} The current logging flag or MapD connector itself.\n     *\n     * @example <caption>Set logging to true:</caption>\n     * var con = new MapdCon().logging(true);\n     *\n     * @example <caption>Get the logging flag:</caption>\n     * var isLogging = con.logging();\n     * // isLogging === true\n     */\n\n  }, {\n    key: \"logging\",\n    value: function logging(_logging) {\n      if (typeof _logging === \"undefined\") {\n        return this._logging;\n      } else if (typeof _logging !== \"boolean\") {\n        return \"logging can only be set with boolean values\";\n      }\n\n      this._logging = _logging;\n      var isEnabledTxt = _logging ? \"enabled\" : \"disabled\";\n      return \"SQL logging is now \".concat(isEnabledTxt);\n    }\n    /**\n     * The name of the platform.\n     * @param {String} platform The platform; \"mapd\" by default.\n     * @return {String|MapdCon} - The platform or MapD connector itself.\n     *\n     * @example <caption>Set the platform name:</caption>\n     * var con = new MapdCon().platform('myPlatform');\n     *\n     * @example <caption>Get the platform name:</caption>\n     * var platform = con.platform();\n     * // platform === 'myPlatform'\n     */\n\n  }, {\n    key: \"platform\",\n    value: function platform(_platform) {\n      if (!arguments.length) {\n        return this._platform;\n      }\n\n      this._platform = _platform;\n      return this;\n    }\n    /**\n     * Get the number of connections that are currently open.\n     * @return {Number} The number of open connections.\n     *\n     * @example <caption>Get the number of connections:</caption>\n     *\n     * var numConnections = con.numConnections();\n     * // numConnections === 1\n     */\n\n  }, {\n    key: \"numConnections\",\n    value: function numConnections() {\n      return this._numConnections;\n    }\n    /**\n     * The protocol to use for requests.\n     * @param {String} protocol <code>http</code> or <code>https</code>.\n     * @return {String|MapdCon} The protocol or MapdCon itself.\n     *\n     * @example <caption>Set the protocol:</caption>\n     * var con = new MapdCon().protocol('http');\n     *\n     * @example <caption>Get the protocol:</caption>\n     * var protocol = con.protocol();\n     * // protocol === 'http'\n     */\n\n  }, {\n    key: \"protocol\",\n    value: function protocol(_protocol) {\n      if (!arguments.length) {\n        return this._protocol;\n      }\n\n      this._protocol = arrayify(_protocol);\n      return this;\n    }\n    /**\n     * Disables logic that automatically tries to reconnect to the server if there's an error\n     *\n     * @param {Boolean?} disable - If true, disables auto-reconnect\n     * @return {Boolean|MapdCon} The status of auto-reconnect, or MapdCon itself.\n     */\n\n  }, {\n    key: \"disableAutoReconnect\",\n    value: function disableAutoReconnect(disable) {\n      if (!arguments.length) {\n        return this._disableAutoReconnect;\n      }\n\n      this._disableAutoReconnect = disable;\n      return this;\n    }\n    /**\n     * Generates a list of endpoints from the connection parameters.\n     * @return {Array<String>} List of endpoints.\n     *\n     * @example <caption>Get the endpoints:</caption>\n     * var con = new MapdCon().protocol('http').host('localhost').port('8000');\n     * var endpoints = con.getEndpoints();\n     * // endpoints === [ 'http://localhost:8000' ]\n     */\n\n  }, {\n    key: \"getEndpoints\",\n    value: function getEndpoints() {\n      var _this9 = this;\n\n      return this._host.map(function (host, i) {\n        return \"\".concat(_this9._protocol[i], \"://\").concat(host, \":\").concat(_this9._port[i]);\n      });\n    }\n    /**\n     * Set the license for Trial or Enterprise\n     * @param {String} key The key to install\n     * @param {Object} config Protocol, host and port to connect to\n     * @return {Promise.<Object>} Claims or Error.\n     */\n\n  }, {\n    key: \"setLicenseKey\",\n    value: function setLicenseKey(key, _ref15) {\n      var _this10 = this;\n\n      var protocol = _ref15.protocol,\n          host = _ref15.host,\n          port = _ref15.port;\n      return new Promise(function (resolve) {\n        var client = Array.isArray(_this10._client) && _this10._client[0];\n\n        var sessionId = _this10._sessionId && _this10._sessionId[0];\n\n        if (!client) {\n          var url = \"\".concat(protocol, \"://\").concat(host, \":\").concat(port);\n          var thriftTransport = new mapd_con_es6_Thrift.Transport(url);\n          var thriftProtocol = new mapd_con_es6_Thrift.Protocol(thriftTransport);\n          client = new MapDClientV2(thriftProtocol);\n          sessionId = \"\";\n        }\n\n        var result = client.set_license_key(sessionId, key, _this10._nonce++);\n        resolve(result);\n      });\n    }\n    /**\n     * Get the license for Trial or Enterprise\n     * @param {Object} config Protocol, host and port to connect to\n     * @return {Promise.<Object>} Claims or Error.\n     */\n\n  }, {\n    key: \"getLicenseClaims\",\n    value: function getLicenseClaims(_ref16) {\n      var _this11 = this;\n\n      var protocol = _ref16.protocol,\n          host = _ref16.host,\n          port = _ref16.port;\n      return new Promise(function (resolve, reject) {\n        var client = Array.isArray(_this11._client) && _this11._client[0];\n\n        var sessionId = _this11._sessionId && _this11._sessionId[0];\n\n        if (!client) {\n          var url = \"\".concat(protocol, \"://\").concat(host, \":\").concat(port);\n          var thriftTransport = new mapd_con_es6_Thrift.Transport(url);\n          var thriftProtocol = new mapd_con_es6_Thrift.Protocol(thriftTransport);\n          client = new MapDClientV2(thriftProtocol);\n          sessionId = \"\";\n        }\n\n        try {\n          var result = client.get_license_claims(sessionId, _this11._nonce++);\n          resolve(result);\n        } catch (e) {\n          reject(e);\n        }\n      });\n    }\n  }, {\n    key: \"isTimeoutError\",\n    value: function isTimeoutError(result) {\n      return result instanceof TOmniSciException && (String(result.error_msg).indexOf(\"Session not valid.\") !== -1 || String(result.error_msg).indexOf(\"User should re-authenticate.\") !== -1);\n    }\n  }]);\n\n  return MapdCon;\n}();\n\nfunction resetThriftClientOnArgumentErrorForMethods(connector, client, methodNames) {\n  methodNames.forEach(function (methodName) {\n    var oldFunc = connector[methodName];\n\n    connector[methodName] = function () {\n      try {\n        for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n          args[_key3] = arguments[_key3];\n        }\n\n        // eslint-disable-line no-restricted-syntax\n        return oldFunc.apply(connector, args); // TODO should reject rather than throw for Promises.\n      } catch (e) {\n        // `this.output` is the Thrift transport instance\n        client.output.outCount = 0;\n        client.output.outBuffers = [];\n        client.output._seqid = null; // dereference the callback\n\n        client._reqs[client._seqid] = null;\n        throw e; // re-throw the error to Rx\n      }\n    };\n  });\n}\n\n/* harmony default export */ const mapd_con_es6 = (MapdCon);\n\n/***/ }),\n\n/***/ 9742:\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  var i\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n\n\n/***/ }),\n\n/***/ 8764:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(9742)\nvar ieee754 = __webpack_require__(645)\nvar customInspectSymbol =\n  (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n    ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n    : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Print warning and recommend using `buffer` v4.x which has an Object\n *               implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n    typeof console.error === 'function') {\n  console.error(\n    'This browser lacks typed array (Uint8Array) support which is required by ' +\n    '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n  )\n}\n\nfunction typedArraySupport () {\n  // Can typed array instances can be augmented?\n  try {\n    var arr = new Uint8Array(1)\n    var proto = { foo: function () { return 42 } }\n    Object.setPrototypeOf(proto, Uint8Array.prototype)\n    Object.setPrototypeOf(arr, proto)\n    return arr.foo() === 42\n  } catch (e) {\n    return false\n  }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n  enumerable: true,\n  get: function () {\n    if (!Buffer.isBuffer(this)) return undefined\n    return this.buffer\n  }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n  enumerable: true,\n  get: function () {\n    if (!Buffer.isBuffer(this)) return undefined\n    return this.byteOffset\n  }\n})\n\nfunction createBuffer (length) {\n  if (length > K_MAX_LENGTH) {\n    throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n  }\n  // Return an augmented `Uint8Array` instance\n  var buf = new Uint8Array(length)\n  Object.setPrototypeOf(buf, Buffer.prototype)\n  return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new TypeError(\n        'The \"string\" argument must be of type string. Received type number'\n      )\n    }\n    return allocUnsafe(arg)\n  }\n  return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n  if (typeof value === 'string') {\n    return fromString(value, encodingOrOffset)\n  }\n\n  if (ArrayBuffer.isView(value)) {\n    return fromArrayView(value)\n  }\n\n  if (value == null) {\n    throw new TypeError(\n      'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n      'or Array-like Object. Received type ' + (typeof value)\n    )\n  }\n\n  if (isInstance(value, ArrayBuffer) ||\n      (value && isInstance(value.buffer, ArrayBuffer))) {\n    return fromArrayBuffer(value, encodingOrOffset, length)\n  }\n\n  if (typeof SharedArrayBuffer !== 'undefined' &&\n      (isInstance(value, SharedArrayBuffer) ||\n      (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n    return fromArrayBuffer(value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'number') {\n    throw new TypeError(\n      'The \"value\" argument must not be of type number. Received type number'\n    )\n  }\n\n  var valueOf = value.valueOf && value.valueOf()\n  if (valueOf != null && valueOf !== value) {\n    return Buffer.from(valueOf, encodingOrOffset, length)\n  }\n\n  var b = fromObject(value)\n  if (b) return b\n\n  if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n      typeof value[Symbol.toPrimitive] === 'function') {\n    return Buffer.from(\n      value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n    )\n  }\n\n  throw new TypeError(\n    'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n    'or Array-like Object. Received type ' + (typeof value)\n  )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be of type number')\n  } else if (size < 0) {\n    throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n  }\n}\n\nfunction alloc (size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpreted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(size).fill(fill, encoding)\n      : createBuffer(size).fill(fill)\n  }\n  return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n  assertSize(size)\n  return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('Unknown encoding: ' + encoding)\n  }\n\n  var length = byteLength(string, encoding) | 0\n  var buf = createBuffer(length)\n\n  var actual = buf.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    buf = buf.slice(0, actual)\n  }\n\n  return buf\n}\n\nfunction fromArrayLike (array) {\n  var length = array.length < 0 ? 0 : checked(array.length) | 0\n  var buf = createBuffer(length)\n  for (var i = 0; i < length; i += 1) {\n    buf[i] = array[i] & 255\n  }\n  return buf\n}\n\nfunction fromArrayView (arrayView) {\n  if (isInstance(arrayView, Uint8Array)) {\n    var copy = new Uint8Array(arrayView)\n    return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n  }\n  return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\"offset\" is outside of buffer bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\"length\" is outside of buffer bounds')\n  }\n\n  var buf\n  if (byteOffset === undefined && length === undefined) {\n    buf = new Uint8Array(array)\n  } else if (length === undefined) {\n    buf = new Uint8Array(array, byteOffset)\n  } else {\n    buf = new Uint8Array(array, byteOffset, length)\n  }\n\n  // Return an augmented `Uint8Array` instance\n  Object.setPrototypeOf(buf, Buffer.prototype)\n\n  return buf\n}\n\nfunction fromObject (obj) {\n  if (Buffer.isBuffer(obj)) {\n    var len = checked(obj.length) | 0\n    var buf = createBuffer(len)\n\n    if (buf.length === 0) {\n      return buf\n    }\n\n    obj.copy(buf, 0, 0, len)\n    return buf\n  }\n\n  if (obj.length !== undefined) {\n    if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n      return createBuffer(0)\n    }\n    return fromArrayLike(obj)\n  }\n\n  if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n    return fromArrayLike(obj.data)\n  }\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= K_MAX_LENGTH) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return b != null && b._isBuffer === true &&\n    b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n  if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n  if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError(\n      'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n    )\n  }\n\n  if (a === b) return 0\n\n  var x = a.length\n  var y = b.length\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!Array.isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  var i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  var buffer = Buffer.allocUnsafe(length)\n  var pos = 0\n  for (i = 0; i < list.length; ++i) {\n    var buf = list[i]\n    if (isInstance(buf, Uint8Array)) {\n      if (pos + buf.length > buffer.length) {\n        Buffer.from(buf).copy(buffer, pos)\n      } else {\n        Uint8Array.prototype.set.call(\n          buffer,\n          buf,\n          pos\n        )\n      }\n    } else if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    } else {\n      buf.copy(buffer, pos)\n    }\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    throw new TypeError(\n      'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n      'Received type ' + typeof string\n    )\n  }\n\n  var len = string.length\n  var mustMatch = (arguments.length > 2 && arguments[2] === true)\n  if (!mustMatch && len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) {\n          return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n        }\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  var loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  var i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  var len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (var i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  var len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (var i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  var len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (var i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  var length = this.length\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  var str = ''\n  var max = exports.INSPECT_MAX_BYTES\n  str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n  if (this.length > max) str += ' ... '\n  return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n  Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (isInstance(target, Uint8Array)) {\n    target = Buffer.from(target, target.offset, target.byteLength)\n  }\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError(\n      'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n      'Received type ' + (typeof target)\n    )\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  var x = thisEnd - thisStart\n  var y = end - start\n  var len = Math.min(x, y)\n\n  var thisCopy = this.slice(thisStart, thisEnd)\n  var targetCopy = target.slice(start, end)\n\n  for (var i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset // Coerce to Number.\n  if (numberIsNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  var indexSize = 1\n  var arrLength = arr.length\n  var valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  var i\n  if (dir) {\n    var foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      var found = true\n      for (var j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  var remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  var strLen = string.length\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  for (var i = 0; i < length; ++i) {\n    var parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (numberIsNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset >>> 0\n    if (isFinite(length)) {\n      length = length >>> 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  var remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return asciiWrite(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  var res = []\n\n  var i = start\n  while (i < end) {\n    var firstByte = buf[i]\n    var codePoint = null\n    var bytesPerSequence = (firstByte > 0xEF)\n      ? 4\n      : (firstByte > 0xDF)\n          ? 3\n          : (firstByte > 0xBF)\n              ? 2\n              : 1\n\n    if (i + bytesPerSequence <= end) {\n      var secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  var len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  var res = ''\n  var i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  var len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  var out = ''\n  for (var i = start; i < end; ++i) {\n    out += hexSliceLookupTable[buf[i]]\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  var bytes = buf.slice(start, end)\n  var res = ''\n  // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n  for (var i = 0; i < bytes.length - 1; i += 2) {\n    res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  var len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  var newBuf = this.subarray(start, end)\n  // Return an augmented `Uint8Array` instance\n  Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  var val = this[offset + --byteLength]\n  var mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var i = byteLength\n  var mul = 1\n  var val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var mul = 1\n  var i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  this[offset] = (value >>> 8)\n  this[offset + 1] = (value & 0xff)\n  return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  this[offset + 3] = (value >>> 24)\n  this[offset + 2] = (value >>> 16)\n  this[offset + 1] = (value >>> 8)\n  this[offset] = (value & 0xff)\n  return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  this[offset] = (value >>> 24)\n  this[offset + 1] = (value >>> 16)\n  this[offset + 2] = (value >>> 8)\n  this[offset + 3] = (value & 0xff)\n  return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    var limit = Math.pow(2, (8 * byteLength) - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = 0\n  var mul = 1\n  var sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    var limit = Math.pow(2, (8 * byteLength) - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  var sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  this[offset] = (value >>> 8)\n  this[offset + 1] = (value & 0xff)\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  this[offset + 2] = (value >>> 16)\n  this[offset + 3] = (value >>> 24)\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  this[offset] = (value >>> 24)\n  this[offset + 1] = (value >>> 16)\n  this[offset + 2] = (value >>> 8)\n  this[offset + 3] = (value & 0xff)\n  return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  var len = end - start\n\n  if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n    // Use built-in when available, missing from IE11\n    this.copyWithin(targetStart, start, end)\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, end),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n    if (val.length === 1) {\n      var code = val.charCodeAt(0)\n      if ((encoding === 'utf8' && code < 128) ||\n          encoding === 'latin1') {\n        // Fast path: If `val` fits into a single byte, use that numeric value.\n        val = code\n      }\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  } else if (typeof val === 'boolean') {\n    val = Number(val)\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  var i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    var bytes = Buffer.isBuffer(val)\n      ? val\n      : Buffer.from(val, encoding)\n    var len = bytes.length\n    if (len === 0) {\n      throw new TypeError('The value \"' + val +\n        '\" is invalid for argument \"value\"')\n    }\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node takes equal signs as end of the Base64 encoding\n  str = str.split('=')[0]\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = str.trim().replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  var codePoint\n  var length = string.length\n  var leadSurrogate = null\n  var bytes = []\n\n  for (var i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  var c, hi, lo\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  for (var i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n  return obj instanceof type ||\n    (obj != null && obj.constructor != null && obj.constructor.name != null &&\n      obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n  // For IE11 support\n  return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n  var alphabet = '0123456789abcdef'\n  var table = new Array(256)\n  for (var i = 0; i < 16; ++i) {\n    var i16 = i * 16\n    for (var j = 0; j < 16; ++j) {\n      table[i16 + j] = alphabet[i] + alphabet[j]\n    }\n  }\n  return table\n})()\n\n\n/***/ }),\n\n/***/ 8769:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\n/* globals\n\tAtomics,\n\tSharedArrayBuffer,\n*/\n\nvar undefined;\n\nvar $TypeError = TypeError;\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () { throw new $TypeError(); };\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = __webpack_require__(1405)();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar generator; // = function * () {};\nvar generatorFunction = generator ? getProto(generator) : undefined;\nvar asyncFn; // async function() {};\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\nvar asyncGen; // async function * () {};\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%ArrayPrototype%': Array.prototype,\n\t'%ArrayProto_entries%': Array.prototype.entries,\n\t'%ArrayProto_forEach%': Array.prototype.forEach,\n\t'%ArrayProto_keys%': Array.prototype.keys,\n\t'%ArrayProto_values%': Array.prototype.values,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': asyncFunction,\n\t'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\n\t'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\n\t'%AsyncGeneratorFunction%': asyncGenFunction,\n\t'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\n\t'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%Boolean%': Boolean,\n\t'%BooleanPrototype%': Boolean.prototype,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\n\t'%Date%': Date,\n\t'%DatePrototype%': Date.prototype,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%ErrorPrototype%': Error.prototype,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%EvalErrorPrototype%': EvalError.prototype,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\n\t'%Function%': Function,\n\t'%FunctionPrototype%': Function.prototype,\n\t'%Generator%': generator ? getProto(generator()) : undefined,\n\t'%GeneratorFunction%': generatorFunction,\n\t'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%NumberPrototype%': Number.prototype,\n\t'%Object%': Object,\n\t'%ObjectPrototype%': Object.prototype,\n\t'%ObjProto_toString%': Object.prototype.toString,\n\t'%ObjProto_valueOf%': Object.prototype.valueOf,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\n\t'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\n\t'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\n\t'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\n\t'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%RangeErrorPrototype%': RangeError.prototype,\n\t'%ReferenceError%': ReferenceError,\n\t'%ReferenceErrorPrototype%': ReferenceError.prototype,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%RegExpPrototype%': RegExp.prototype,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%StringPrototype%': String.prototype,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\n\t'%SyntaxError%': SyntaxError,\n\t'%SyntaxErrorPrototype%': SyntaxError.prototype,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\n\t'%TypeError%': $TypeError,\n\t'%TypeErrorPrototype%': $TypeError.prototype,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\n\t'%URIError%': URIError,\n\t'%URIErrorPrototype%': URIError.prototype,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\t'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\n};\n\nvar bind = __webpack_require__(8612);\nvar $replace = bind.call(Function.call, String.prototype.replace);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tif (!(name in INTRINSICS)) {\n\t\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\n\t}\n\n\t// istanbul ignore if // hopefully this is impossible to test :-)\n\tif (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {\n\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t}\n\n\treturn INTRINSICS[name];\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\n\tvar value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);\n\tfor (var i = 1; i < parts.length; i += 1) {\n\t\tif (value != null) {\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, parts[i]);\n\t\t\t\tif (!allowMissing && !(parts[i] in value)) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tvalue = desc && 'get' in desc && !('originalValue' in desc.get) ? desc.get : value[parts[i]];\n\t\t\t} else {\n\t\t\t\tvalue = value[parts[i]];\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\n\n/***/ }),\n\n/***/ 4147:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar bind = __webpack_require__(8612);\n\nvar GetIntrinsic = __webpack_require__(8769);\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind() {\n\treturn $reflectApply(bind, $call, arguments);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n\n\n/***/ }),\n\n/***/ 8914:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar GetIntrinsic = __webpack_require__(8769);\n\nvar callBind = __webpack_require__(4147);\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n\n\n/***/ }),\n\n/***/ 4079:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar GetIntrinsic = __webpack_require__(8769);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%');\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n\n\n/***/ }),\n\n/***/ 6729:\n/***/ ((module) => {\n\n\"use strict\";\n\n\nvar has = Object.prototype.hasOwnProperty\n  , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n  Events.prototype = Object.create(null);\n\n  //\n  // This hack is needed because the `__proto__` property is still inherited in\n  // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n  //\n  if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n  this.fn = fn;\n  this.context = context;\n  this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n  if (typeof fn !== 'function') {\n    throw new TypeError('The listener must be a function');\n  }\n\n  var listener = new EE(fn, context || emitter, once)\n    , evt = prefix ? prefix + event : event;\n\n  if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n  else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n  else emitter._events[evt] = [emitter._events[evt], listener];\n\n  return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n  if (--emitter._eventsCount === 0) emitter._events = new Events();\n  else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n  this._events = new Events();\n  this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n  var names = []\n    , events\n    , name;\n\n  if (this._eventsCount === 0) return names;\n\n  for (name in (events = this._events)) {\n    if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n  }\n\n  if (Object.getOwnPropertySymbols) {\n    return names.concat(Object.getOwnPropertySymbols(events));\n  }\n\n  return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n  var evt = prefix ? prefix + event : event\n    , handlers = this._events[evt];\n\n  if (!handlers) return [];\n  if (handlers.fn) return [handlers.fn];\n\n  for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n    ee[i] = handlers[i].fn;\n  }\n\n  return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n  var evt = prefix ? prefix + event : event\n    , listeners = this._events[evt];\n\n  if (!listeners) return 0;\n  if (listeners.fn) return 1;\n  return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return false;\n\n  var listeners = this._events[evt]\n    , len = arguments.length\n    , args\n    , i;\n\n  if (listeners.fn) {\n    if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n    switch (len) {\n      case 1: return listeners.fn.call(listeners.context), true;\n      case 2: return listeners.fn.call(listeners.context, a1), true;\n      case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n      case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n      case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n      case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n    }\n\n    for (i = 1, args = new Array(len -1); i < len; i++) {\n      args[i - 1] = arguments[i];\n    }\n\n    listeners.fn.apply(listeners.context, args);\n  } else {\n    var length = listeners.length\n      , j;\n\n    for (i = 0; i < length; i++) {\n      if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n      switch (len) {\n        case 1: listeners[i].fn.call(listeners[i].context); break;\n        case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n        case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n        case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n        default:\n          if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n            args[j - 1] = arguments[j];\n          }\n\n          listeners[i].fn.apply(listeners[i].context, args);\n      }\n    }\n  }\n\n  return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n  return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n  return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return this;\n  if (!fn) {\n    clearEvent(this, evt);\n    return this;\n  }\n\n  var listeners = this._events[evt];\n\n  if (listeners.fn) {\n    if (\n      listeners.fn === fn &&\n      (!once || listeners.once) &&\n      (!context || listeners.context === context)\n    ) {\n      clearEvent(this, evt);\n    }\n  } else {\n    for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n      if (\n        listeners[i].fn !== fn ||\n        (once && !listeners[i].once) ||\n        (context && listeners[i].context !== context)\n      ) {\n        events.push(listeners[i]);\n      }\n    }\n\n    //\n    // Reset the array, or remove it completely if we have no more listeners.\n    //\n    if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n    else clearEvent(this, evt);\n  }\n\n  return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n  var evt;\n\n  if (event) {\n    evt = prefix ? prefix + event : event;\n    if (this._events[evt]) clearEvent(this, evt);\n  } else {\n    this._events = new Events();\n    this._eventsCount = 0;\n  }\n\n  return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif (true) {\n  module.exports = EventEmitter;\n}\n\n\n/***/ }),\n\n/***/ 7187:\n/***/ ((module) => {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n  ? R.apply\n  : function ReflectApply(target, receiver, args) {\n    return Function.prototype.apply.call(target, receiver, args);\n  }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n  ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n  ReflectOwnKeys = function ReflectOwnKeys(target) {\n    return Object.getOwnPropertyNames(target)\n      .concat(Object.getOwnPropertySymbols(target));\n  };\n} else {\n  ReflectOwnKeys = function ReflectOwnKeys(target) {\n    return Object.getOwnPropertyNames(target);\n  };\n}\n\nfunction ProcessEmitWarning(warning) {\n  if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n  return value !== value;\n}\n\nfunction EventEmitter() {\n  EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n  if (typeof listener !== 'function') {\n    throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n  }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n  enumerable: true,\n  get: function() {\n    return defaultMaxListeners;\n  },\n  set: function(arg) {\n    if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n      throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n    }\n    defaultMaxListeners = arg;\n  }\n});\n\nEventEmitter.init = function() {\n\n  if (this._events === undefined ||\n      this._events === Object.getPrototypeOf(this)._events) {\n    this._events = Object.create(null);\n    this._eventsCount = 0;\n  }\n\n  this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n  if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n    throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n  }\n  this._maxListeners = n;\n  return this;\n};\n\nfunction _getMaxListeners(that) {\n  if (that._maxListeners === undefined)\n    return EventEmitter.defaultMaxListeners;\n  return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n  return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n  var args = [];\n  for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n  var doError = (type === 'error');\n\n  var events = this._events;\n  if (events !== undefined)\n    doError = (doError && events.error === undefined);\n  else if (!doError)\n    return false;\n\n  // If there is no 'error' event listener then throw.\n  if (doError) {\n    var er;\n    if (args.length > 0)\n      er = args[0];\n    if (er instanceof Error) {\n      // Note: The comments on the `throw` lines are intentional, they show\n      // up in Node's output if this results in an unhandled exception.\n      throw er; // Unhandled 'error' event\n    }\n    // At least give some kind of context to the user\n    var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n    err.context = er;\n    throw err; // Unhandled 'error' event\n  }\n\n  var handler = events[type];\n\n  if (handler === undefined)\n    return false;\n\n  if (typeof handler === 'function') {\n    ReflectApply(handler, this, args);\n  } else {\n    var len = handler.length;\n    var listeners = arrayClone(handler, len);\n    for (var i = 0; i < len; ++i)\n      ReflectApply(listeners[i], this, args);\n  }\n\n  return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n  var m;\n  var events;\n  var existing;\n\n  checkListener(listener);\n\n  events = target._events;\n  if (events === undefined) {\n    events = target._events = Object.create(null);\n    target._eventsCount = 0;\n  } else {\n    // To avoid recursion in the case that type === \"newListener\"! Before\n    // adding it to the listeners, first emit \"newListener\".\n    if (events.newListener !== undefined) {\n      target.emit('newListener', type,\n                  listener.listener ? listener.listener : listener);\n\n      // Re-assign `events` because a newListener handler could have caused the\n      // this._events to be assigned to a new object\n      events = target._events;\n    }\n    existing = events[type];\n  }\n\n  if (existing === undefined) {\n    // Optimize the case of one listener. Don't need the extra array object.\n    existing = events[type] = listener;\n    ++target._eventsCount;\n  } else {\n    if (typeof existing === 'function') {\n      // Adding the second element, need to change to array.\n      existing = events[type] =\n        prepend ? [listener, existing] : [existing, listener];\n      // If we've already got an array, just append.\n    } else if (prepend) {\n      existing.unshift(listener);\n    } else {\n      existing.push(listener);\n    }\n\n    // Check for listener leak\n    m = _getMaxListeners(target);\n    if (m > 0 && existing.length > m && !existing.warned) {\n      existing.warned = true;\n      // No error code for this since it is a Warning\n      // eslint-disable-next-line no-restricted-syntax\n      var w = new Error('Possible EventEmitter memory leak detected. ' +\n                          existing.length + ' ' + String(type) + ' listeners ' +\n                          'added. Use emitter.setMaxListeners() to ' +\n                          'increase limit');\n      w.name = 'MaxListenersExceededWarning';\n      w.emitter = target;\n      w.type = type;\n      w.count = existing.length;\n      ProcessEmitWarning(w);\n    }\n  }\n\n  return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n  return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n    function prependListener(type, listener) {\n      return _addListener(this, type, listener, true);\n    };\n\nfunction onceWrapper() {\n  if (!this.fired) {\n    this.target.removeListener(this.type, this.wrapFn);\n    this.fired = true;\n    if (arguments.length === 0)\n      return this.listener.call(this.target);\n    return this.listener.apply(this.target, arguments);\n  }\n}\n\nfunction _onceWrap(target, type, listener) {\n  var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n  var wrapped = onceWrapper.bind(state);\n  wrapped.listener = listener;\n  state.wrapFn = wrapped;\n  return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n  checkListener(listener);\n  this.on(type, _onceWrap(this, type, listener));\n  return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n    function prependOnceListener(type, listener) {\n      checkListener(listener);\n      this.prependListener(type, _onceWrap(this, type, listener));\n      return this;\n    };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n    function removeListener(type, listener) {\n      var list, events, position, i, originalListener;\n\n      checkListener(listener);\n\n      events = this._events;\n      if (events === undefined)\n        return this;\n\n      list = events[type];\n      if (list === undefined)\n        return this;\n\n      if (list === listener || list.listener === listener) {\n        if (--this._eventsCount === 0)\n          this._events = Object.create(null);\n        else {\n          delete events[type];\n          if (events.removeListener)\n            this.emit('removeListener', type, list.listener || listener);\n        }\n      } else if (typeof list !== 'function') {\n        position = -1;\n\n        for (i = list.length - 1; i >= 0; i--) {\n          if (list[i] === listener || list[i].listener === listener) {\n            originalListener = list[i].listener;\n            position = i;\n            break;\n          }\n        }\n\n        if (position < 0)\n          return this;\n\n        if (position === 0)\n          list.shift();\n        else {\n          spliceOne(list, position);\n        }\n\n        if (list.length === 1)\n          events[type] = list[0];\n\n        if (events.removeListener !== undefined)\n          this.emit('removeListener', type, originalListener || listener);\n      }\n\n      return this;\n    };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n    function removeAllListeners(type) {\n      var listeners, events, i;\n\n      events = this._events;\n      if (events === undefined)\n        return this;\n\n      // not listening for removeListener, no need to emit\n      if (events.removeListener === undefined) {\n        if (arguments.length === 0) {\n          this._events = Object.create(null);\n          this._eventsCount = 0;\n        } else if (events[type] !== undefined) {\n          if (--this._eventsCount === 0)\n            this._events = Object.create(null);\n          else\n            delete events[type];\n        }\n        return this;\n      }\n\n      // emit removeListener for all listeners on all events\n      if (arguments.length === 0) {\n        var keys = Object.keys(events);\n        var key;\n        for (i = 0; i < keys.length; ++i) {\n          key = keys[i];\n          if (key === 'removeListener') continue;\n          this.removeAllListeners(key);\n        }\n        this.removeAllListeners('removeListener');\n        this._events = Object.create(null);\n        this._eventsCount = 0;\n        return this;\n      }\n\n      listeners = events[type];\n\n      if (typeof listeners === 'function') {\n        this.removeListener(type, listeners);\n      } else if (listeners !== undefined) {\n        // LIFO order\n        for (i = listeners.length - 1; i >= 0; i--) {\n          this.removeListener(type, listeners[i]);\n        }\n      }\n\n      return this;\n    };\n\nfunction _listeners(target, type, unwrap) {\n  var events = target._events;\n\n  if (events === undefined)\n    return [];\n\n  var evlistener = events[type];\n  if (evlistener === undefined)\n    return [];\n\n  if (typeof evlistener === 'function')\n    return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n  return unwrap ?\n    unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n  return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n  return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n  if (typeof emitter.listenerCount === 'function') {\n    return emitter.listenerCount(type);\n  } else {\n    return listenerCount.call(emitter, type);\n  }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n  var events = this._events;\n\n  if (events !== undefined) {\n    var evlistener = events[type];\n\n    if (typeof evlistener === 'function') {\n      return 1;\n    } else if (evlistener !== undefined) {\n      return evlistener.length;\n    }\n  }\n\n  return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n  return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n  var copy = new Array(n);\n  for (var i = 0; i < n; ++i)\n    copy[i] = arr[i];\n  return copy;\n}\n\nfunction spliceOne(list, index) {\n  for (; index + 1 < list.length; index++)\n    list[index] = list[index + 1];\n  list.pop();\n}\n\nfunction unwrapListeners(arr) {\n  var ret = new Array(arr.length);\n  for (var i = 0; i < ret.length; ++i) {\n    ret[i] = arr[i].listener || arr[i];\n  }\n  return ret;\n}\n\nfunction once(emitter, name) {\n  return new Promise(function (resolve, reject) {\n    function eventListener() {\n      if (errorListener !== undefined) {\n        emitter.removeListener('error', errorListener);\n      }\n      resolve([].slice.call(arguments));\n    };\n    var errorListener;\n\n    // Adding an error listener is not optional because\n    // if an error is thrown on an event emitter we cannot\n    // guarantee that the actual event we are waiting will\n    // be fired. The result could be a silent way to create\n    // memory or file descriptor leaks, which is something\n    // we should avoid.\n    if (name !== 'error') {\n      errorListener = function errorListener(err) {\n        emitter.removeListener(name, eventListener);\n        reject(err);\n      };\n\n      emitter.once('error', errorListener);\n    }\n\n    emitter.once(name, eventListener);\n  });\n}\n\n\n/***/ }),\n\n/***/ 9804:\n/***/ ((module) => {\n\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n    if (toString.call(fn) !== '[object Function]') {\n        throw new TypeError('iterator must be a function');\n    }\n    var l = obj.length;\n    if (l === +l) {\n        for (var i = 0; i < l; i++) {\n            fn.call(ctx, obj[i], i, obj);\n        }\n    } else {\n        for (var k in obj) {\n            if (hasOwn.call(obj, k)) {\n                fn.call(ctx, obj[k], k, obj);\n            }\n        }\n    }\n};\n\n\n\n/***/ }),\n\n/***/ 7648:\n/***/ ((module) => {\n\n\"use strict\";\n\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n    var target = this;\n    if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n        throw new TypeError(ERROR_MESSAGE + target);\n    }\n    var args = slice.call(arguments, 1);\n\n    var bound;\n    var binder = function () {\n        if (this instanceof bound) {\n            var result = target.apply(\n                this,\n                args.concat(slice.call(arguments))\n            );\n            if (Object(result) === result) {\n                return result;\n            }\n            return this;\n        } else {\n            return target.apply(\n                that,\n                args.concat(slice.call(arguments))\n            );\n        }\n    };\n\n    var boundLength = Math.max(0, target.length - args.length);\n    var boundArgs = [];\n    for (var i = 0; i < boundLength; i++) {\n        boundArgs.push('$' + i);\n    }\n\n    bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n    if (target.prototype) {\n        var Empty = function Empty() {};\n        Empty.prototype = target.prototype;\n        bound.prototype = new Empty();\n        Empty.prototype = null;\n    }\n\n    return bound;\n};\n\n\n/***/ }),\n\n/***/ 8612:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar implementation = __webpack_require__(7648);\n\nmodule.exports = Function.prototype.bind || implementation;\n\n\n/***/ }),\n\n/***/ 1405:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar origSymbol = __webpack_require__.g.Symbol;\nvar hasSymbolSham = __webpack_require__(5419);\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n\n\n/***/ }),\n\n/***/ 5419:\n/***/ ((module) => {\n\n\"use strict\";\n\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n\n\n/***/ }),\n\n/***/ 645:\n/***/ ((__unused_webpack_module, exports) => {\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n\n\n/***/ }),\n\n/***/ 5717:\n/***/ ((module) => {\n\nif (typeof Object.create === 'function') {\n  // implementation from standard node.js 'util' module\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      ctor.prototype = Object.create(superCtor.prototype, {\n        constructor: {\n          value: ctor,\n          enumerable: false,\n          writable: true,\n          configurable: true\n        }\n      })\n    }\n  };\n} else {\n  // old school shim for old browsers\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      var TempCtor = function () {}\n      TempCtor.prototype = superCtor.prototype\n      ctor.prototype = new TempCtor()\n      ctor.prototype.constructor = ctor\n    }\n  }\n}\n\n\n/***/ }),\n\n/***/ 2584:\n/***/ ((module) => {\n\n\"use strict\";\n\n\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\nvar toStr = Object.prototype.toString;\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn toStr.call(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\ttoStr.call(value) !== '[object Array]' &&\n\t\ttoStr.call(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n\n\n/***/ }),\n\n/***/ 8662:\n/***/ ((module) => {\n\n\"use strict\";\n\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar generatorFunc = getGeneratorFunc();\nvar GeneratorFunction = generatorFunc ? getProto(generatorFunc) : {};\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n\n\n/***/ }),\n\n/***/ 5692:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar forEach = __webpack_require__(9804);\nvar availableTypedArrays = __webpack_require__(6314);\nvar callBound = __webpack_require__(8914);\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasSymbols = __webpack_require__(1405)();\nvar hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';\n\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = __webpack_require__(4079);\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new __webpack_require__.g[typedArray]();\n\t\tif (!(Symbol.toStringTag in arr)) {\n\t\t\tthrow new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.');\n\t\t}\n\t\tvar proto = getPrototypeOf(arr);\n\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\tif (!descriptor) {\n\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t}\n\t\ttoStrTags[typedArray] = descriptor.get;\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n\n\n/***/ }),\n\n/***/ 3465:\n/***/ ((module, exports, __webpack_require__) => {\n\n/* module decorator */ module = __webpack_require__.nmd(module);\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    promiseTag = '[object Promise]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports =  true && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && \"object\" == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n  // Don't return `map.set` because it's not chainable in IE 11.\n  map.set(pair[0], pair[1]);\n  return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n  // Don't return `set.add` because it's not chainable in IE 11.\n  set.add(value);\n  return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n  var index = -1,\n      length = array ? array.length : 0;\n\n  while (++index < length) {\n    if (iteratee(array[index], index, array) === false) {\n      break;\n    }\n  }\n  return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n  var index = -1,\n      length = values.length,\n      offset = array.length;\n\n  while (++index < length) {\n    array[offset + index] = values[index];\n  }\n  return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n *  the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n  var index = -1,\n      length = array ? array.length : 0;\n\n  if (initAccum && length) {\n    accumulator = array[++index];\n  }\n  while (++index < length) {\n    accumulator = iteratee(accumulator, array[index], index, array);\n  }\n  return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n  var index = -1,\n      result = Array(n);\n\n  while (++index < n) {\n    result[index] = iteratee(index);\n  }\n  return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n  // Many host objects are `Object` objects that can coerce to strings\n  // despite having improperly defined `toString` methods.\n  var result = false;\n  if (value != null && typeof value.toString != 'function') {\n    try {\n      result = !!(value + '');\n    } catch (e) {}\n  }\n  return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n  var index = -1,\n      result = Array(map.size);\n\n  map.forEach(function(value, key) {\n    result[++index] = [key, value];\n  });\n  return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n  return function(arg) {\n    return func(transform(arg));\n  };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n  var index = -1,\n      result = Array(set.size);\n\n  set.forEach(function(value) {\n    result[++index] = value;\n  });\n  return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n    funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n    Symbol = root.Symbol,\n    Uint8Array = root.Uint8Array,\n    getPrototype = overArg(Object.getPrototypeOf, Object),\n    objectCreate = Object.create,\n    propertyIsEnumerable = objectProto.propertyIsEnumerable,\n    splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n    nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n    nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n    Map = getNative(root, 'Map'),\n    Promise = getNative(root, 'Promise'),\n    Set = getNative(root, 'Set'),\n    WeakMap = getNative(root, 'WeakMap'),\n    nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n    mapCtorString = toSource(Map),\n    promiseCtorString = toSource(Promise),\n    setCtorString = toSource(Set),\n    weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries ? entries.length : 0;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  getMapData(this, key).set(key, value);\n  return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n  this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n  this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n  return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var cache = this.__data__;\n  if (cache instanceof ListCache) {\n    var pairs = cache.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      return this;\n    }\n    cache = this.__data__ = new MapCache(pairs);\n  }\n  cache.set(key, value);\n  return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n  // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n  // Safari 9 makes `arguments.length` enumerable in strict mode.\n  var result = (isArray(value) || isArguments(value))\n    ? baseTimes(value.length, String)\n    : [];\n\n  var length = result.length,\n      skipIndexes = !!length;\n\n  for (var key in value) {\n    if ((inherited || hasOwnProperty.call(value, key)) &&\n        !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    object[key] = value;\n  }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n  return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n  var result;\n  if (customizer) {\n    result = object ? customizer(value, key, object, stack) : customizer(value);\n  }\n  if (result !== undefined) {\n    return result;\n  }\n  if (!isObject(value)) {\n    return value;\n  }\n  var isArr = isArray(value);\n  if (isArr) {\n    result = initCloneArray(value);\n    if (!isDeep) {\n      return copyArray(value, result);\n    }\n  } else {\n    var tag = getTag(value),\n        isFunc = tag == funcTag || tag == genTag;\n\n    if (isBuffer(value)) {\n      return cloneBuffer(value, isDeep);\n    }\n    if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n      if (isHostObject(value)) {\n        return object ? value : {};\n      }\n      result = initCloneObject(isFunc ? {} : value);\n      if (!isDeep) {\n        return copySymbols(value, baseAssign(result, value));\n      }\n    } else {\n      if (!cloneableTags[tag]) {\n        return object ? value : {};\n      }\n      result = initCloneByTag(value, tag, baseClone, isDeep);\n    }\n  }\n  // Check for circular references and return its corresponding clone.\n  stack || (stack = new Stack);\n  var stacked = stack.get(value);\n  if (stacked) {\n    return stacked;\n  }\n  stack.set(value, result);\n\n  if (!isArr) {\n    var props = isFull ? getAllKeys(value) : keys(value);\n  }\n  arrayEach(props || value, function(subValue, key) {\n    if (props) {\n      key = subValue;\n      subValue = value[key];\n    }\n    // Recursively populate clone (susceptible to call stack limits).\n    assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n  });\n  return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n  return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n  var result = keysFunc(object);\n  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n  if (!isPrototype(object)) {\n    return nativeKeys(object);\n  }\n  var result = [];\n  for (var key in Object(object)) {\n    if (hasOwnProperty.call(object, key) && key != 'constructor') {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\n/**\n * Creates a clone of  `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n  if (isDeep) {\n    return buffer.slice();\n  }\n  var result = new buffer.constructor(buffer.length);\n  buffer.copy(result);\n  return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n  return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n  var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n  return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n  var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n  result.lastIndex = regexp.lastIndex;\n  return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n  var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n  return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n  return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n  var index = -1,\n      length = source.length;\n\n  array || (array = Array(length));\n  while (++index < length) {\n    array[index] = source[index];\n  }\n  return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n  object || (object = {});\n\n  var index = -1,\n      length = props.length;\n\n  while (++index < length) {\n    var key = props[index];\n\n    var newValue = customizer\n      ? customizer(object[key], source[key], key, object, source)\n      : undefined;\n\n    assignValue(object, key, newValue === undefined ? source[key] : newValue);\n  }\n  return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n  return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n  return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n    (Map && getTag(new Map) != mapTag) ||\n    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n    (Set && getTag(new Set) != setTag) ||\n    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n  getTag = function(value) {\n    var result = objectToString.call(value),\n        Ctor = result == objectTag ? value.constructor : undefined,\n        ctorString = Ctor ? toSource(Ctor) : undefined;\n\n    if (ctorString) {\n      switch (ctorString) {\n        case dataViewCtorString: return dataViewTag;\n        case mapCtorString: return mapTag;\n        case promiseCtorString: return promiseTag;\n        case setCtorString: return setTag;\n        case weakMapCtorString: return weakMapTag;\n      }\n    }\n    return result;\n  };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n  var length = array.length,\n      result = array.constructor(length);\n\n  // Add properties assigned by `RegExp#exec`.\n  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n    result.index = array.index;\n    result.input = array.input;\n  }\n  return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n  return (typeof object.constructor == 'function' && !isPrototype(object))\n    ? baseCreate(getPrototype(object))\n    : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n  var Ctor = object.constructor;\n  switch (tag) {\n    case arrayBufferTag:\n      return cloneArrayBuffer(object);\n\n    case boolTag:\n    case dateTag:\n      return new Ctor(+object);\n\n    case dataViewTag:\n      return cloneDataView(object, isDeep);\n\n    case float32Tag: case float64Tag:\n    case int8Tag: case int16Tag: case int32Tag:\n    case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n      return cloneTypedArray(object, isDeep);\n\n    case mapTag:\n      return cloneMap(object, isDeep, cloneFunc);\n\n    case numberTag:\n    case stringTag:\n      return new Ctor(object);\n\n    case regexpTag:\n      return cloneRegExp(object);\n\n    case setTag:\n      return cloneSet(object, isDeep, cloneFunc);\n\n    case symbolTag:\n      return cloneSymbol(object);\n  }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  length = length == null ? MAX_SAFE_INTEGER : length;\n  return !!length &&\n    (typeof value == 'number' || reIsUint.test(value)) &&\n    (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n  return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n  // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n  return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n    (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n *  else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n  return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 8-9 which returns 'object' for typed array and other constructors.\n  var tag = isObject(value) ? objectToString.call(value) : '';\n  return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n  return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nmodule.exports = cloneDeep;\n\n\n/***/ }),\n\n/***/ 135:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\n//     Int64.js\n//\n//     Copyright (c) 2012 Robert Kieffer\n//     MIT License - http://opensource.org/licenses/mit-license.php\n\n/**\n * Support for handling 64-bit int numbers in Javascript (node.js)\n *\n * JS Numbers are IEEE-754 binary double-precision floats, which limits the\n * range of values that can be represented with integer precision to:\n *\n * 2^^53 <= N <= 2^53\n *\n * Int64 objects wrap a node Buffer that holds the 8-bytes of int64 data.  These\n * objects operate directly on the buffer which means that if they are created\n * using an existing buffer then setting the value will modify the Buffer, and\n * vice-versa.\n *\n * Internal Representation\n *\n * The internal buffer format is Big Endian.  I.e. the most-significant byte is\n * at buffer[0], the least-significant at buffer[7].  For the purposes of\n * converting to/from JS native numbers, the value is assumed to be a signed\n * integer stored in 2's complement form.\n *\n * For details about IEEE-754 see:\n * http://en.wikipedia.org/wiki/Double_precision_floating-point_format\n */\n\n// Useful masks and values for bit twiddling\nvar MASK31 =  0x7fffffff, VAL31 = 0x80000000;\nvar MASK32 =  0xffffffff, VAL32 = 0x100000000;\n\n// Map for converting hex octets to strings\nvar _HEX = [];\nfor (var i = 0; i < 256; i++) {\n  _HEX[i] = (i > 0xF ? '' : '0') + i.toString(16);\n}\n\n//\n// Int64\n//\n\n/**\n * Constructor accepts any of the following argument types:\n *\n * new Int64(buffer[, offset=0]) - Existing Buffer with byte offset\n * new Int64(Uint8Array[, offset=0]) - Existing Uint8Array with a byte offset\n * new Int64(string)             - Hex string (throws if n is outside int64 range)\n * new Int64(number)             - Number (throws if n is outside int64 range)\n * new Int64(hi, lo)             - Raw bits as two 32-bit values\n */\nvar Int64 = module.exports = function(a1, a2) {\n  if (a1 instanceof Buffer) {\n    this.buffer = a1;\n    this.offset = a2 || 0;\n  } else if (Object.prototype.toString.call(a1) == '[object Uint8Array]') {\n    // Under Browserify, Buffers can extend Uint8Arrays rather than an\n    // instance of Buffer. We could assume the passed in Uint8Array is actually\n    // a buffer but that won't handle the case where a raw Uint8Array is passed\n    // in. We construct a new Buffer just in case.\n    this.buffer = new Buffer(a1);\n    this.offset = a2 || 0;\n  } else {\n    this.buffer = this.buffer || new Buffer(8);\n    this.offset = 0;\n    this.setValue.apply(this, arguments);\n  }\n};\n\n\n// Max integer value that JS can accurately represent\nInt64.MAX_INT = Math.pow(2, 53);\n\n// Min integer value that JS can accurately represent\nInt64.MIN_INT = -Math.pow(2, 53);\n\nInt64.prototype = {\n\n  constructor: Int64,\n\n  /**\n   * Do in-place 2's compliment.  See\n   * http://en.wikipedia.org/wiki/Two's_complement\n   */\n  _2scomp: function() {\n    var b = this.buffer, o = this.offset, carry = 1;\n    for (var i = o + 7; i >= o; i--) {\n      var v = (b[i] ^ 0xff) + carry;\n      b[i] = v & 0xff;\n      carry = v >> 8;\n    }\n  },\n\n  /**\n   * Set the value. Takes any of the following arguments:\n   *\n   * setValue(string) - A hexidecimal string\n   * setValue(number) - Number (throws if n is outside int64 range)\n   * setValue(hi, lo) - Raw bits as two 32-bit values\n   */\n  setValue: function(hi, lo) {\n    var negate = false;\n    if (arguments.length == 1) {\n      if (typeof(hi) == 'number') {\n        // Simplify bitfield retrieval by using abs() value.  We restore sign\n        // later\n        negate = hi < 0;\n        hi = Math.abs(hi);\n        lo = hi % VAL32;\n        hi = hi / VAL32;\n        if (hi > VAL32) throw new RangeError(hi  + ' is outside Int64 range');\n        hi = hi | 0;\n      } else if (typeof(hi) == 'string') {\n        hi = (hi + '').replace(/^0x/, '');\n        lo = hi.substr(-8);\n        hi = hi.length > 8 ? hi.substr(0, hi.length - 8) : '';\n        hi = parseInt(hi, 16);\n        lo = parseInt(lo, 16);\n      } else {\n        throw new Error(hi + ' must be a Number or String');\n      }\n    }\n\n    // Technically we should throw if hi or lo is outside int32 range here, but\n    // it's not worth the effort. Anything past the 32'nd bit is ignored.\n\n    // Copy bytes to buffer\n    var b = this.buffer, o = this.offset;\n    for (var i = 7; i >= 0; i--) {\n      b[o+i] = lo & 0xff;\n      lo = i == 4 ? hi : lo >>> 8;\n    }\n\n    // Restore sign of passed argument\n    if (negate) this._2scomp();\n  },\n\n  /**\n   * Convert to a native JS number.\n   *\n   * WARNING: Do not expect this value to be accurate to integer precision for\n   * large (positive or negative) numbers!\n   *\n   * @param allowImprecise If true, no check is performed to verify the\n   * returned value is accurate to integer precision.  If false, imprecise\n   * numbers (very large positive or negative numbers) will be forced to +/-\n   * Infinity.\n   */\n  toNumber: function(allowImprecise) {\n    var b = this.buffer, o = this.offset;\n\n    // Running sum of octets, doing a 2's complement\n    var negate = b[o] & 0x80, x = 0, carry = 1;\n    for (var i = 7, m = 1; i >= 0; i--, m *= 256) {\n      var v = b[o+i];\n\n      // 2's complement for negative numbers\n      if (negate) {\n        v = (v ^ 0xff) + carry;\n        carry = v >> 8;\n        v = v & 0xff;\n      }\n\n      x += v * m;\n    }\n\n    // Return Infinity if we've lost integer precision\n    if (!allowImprecise && x >= Int64.MAX_INT) {\n      return negate ? -Infinity : Infinity;\n    }\n\n    return negate ? -x : x;\n  },\n\n  /**\n   * Convert to a JS Number. Returns +/-Infinity for values that can't be\n   * represented to integer precision.\n   */\n  valueOf: function() {\n    return this.toNumber(false);\n  },\n\n  /**\n   * Return string value\n   *\n   * @param radix Just like Number#toString()'s radix\n   */\n  toString: function(radix) {\n    return this.valueOf().toString(radix || 10);\n  },\n\n  /**\n   * Return a string showing the buffer octets, with MSB on the left.\n   *\n   * @param sep separator string. default is '' (empty string)\n   */\n  toOctetString: function(sep) {\n    var out = new Array(8);\n    var b = this.buffer, o = this.offset;\n    for (var i = 0; i < 8; i++) {\n      out[i] = _HEX[b[o+i]];\n    }\n    return out.join(sep || '');\n  },\n\n  /**\n   * Returns the int64's 8 bytes in a buffer.\n   *\n   * @param {bool} [rawBuffer=false]  If no offset and this is true, return the internal buffer.  Should only be used if\n   *                                  you're discarding the Int64 afterwards, as it breaks encapsulation.\n   */\n  toBuffer: function(rawBuffer) {\n    if (rawBuffer && this.offset === 0) return this.buffer;\n\n    var out = new Buffer(8);\n    this.buffer.copy(out, 0, this.offset, this.offset + 8);\n    return out;\n  },\n\n  /**\n   * Copy 8 bytes of int64 into target buffer at target offset.\n   *\n   * @param {Buffer} targetBuffer       Buffer to copy into.\n   * @param {number} [targetOffset=0]   Offset into target buffer.\n   */\n  copy: function(targetBuffer, targetOffset) {\n    this.buffer.copy(targetBuffer, targetOffset || 0, this.offset, this.offset + 8);\n  },\n\n  /**\n   * Returns a number indicating whether this comes before or after or is the\n   * same as the other in sort order.\n   *\n   * @param {Int64} other  Other Int64 to compare.\n   */\n  compare: function(other) {\n\n    // If sign bits differ ...\n    if ((this.buffer[this.offset] & 0x80) != (other.buffer[other.offset] & 0x80)) {\n      return other.buffer[other.offset] - this.buffer[this.offset];\n    }\n\n    // otherwise, compare bytes lexicographically\n    for (var i = 0; i < 8; i++) {\n      if (this.buffer[this.offset+i] !== other.buffer[other.offset+i]) {\n        return this.buffer[this.offset+i] - other.buffer[other.offset+i];\n      }\n    }\n    return 0;\n  },\n\n  /**\n   * Returns a boolean indicating if this integer is equal to other.\n   *\n   * @param {Int64} other  Other Int64 to compare.\n   */\n  equals: function(other) {\n    return this.compare(other) === 0;\n  },\n\n  /**\n   * Pretty output in console.log\n   */\n  inspect: function() {\n    return '[Int64 value:' + this + ' octets:' + this.toOctetString(' ') + ']';\n  }\n};\n\n\n/***/ }),\n\n/***/ 2587:\n/***/ ((module) => {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n  sep = sep || '&';\n  eq = eq || '=';\n  var obj = {};\n\n  if (typeof qs !== 'string' || qs.length === 0) {\n    return obj;\n  }\n\n  var regexp = /\\+/g;\n  qs = qs.split(sep);\n\n  var maxKeys = 1000;\n  if (options && typeof options.maxKeys === 'number') {\n    maxKeys = options.maxKeys;\n  }\n\n  var len = qs.length;\n  // maxKeys <= 0 means that we should not limit keys count\n  if (maxKeys > 0 && len > maxKeys) {\n    len = maxKeys;\n  }\n\n  for (var i = 0; i < len; ++i) {\n    var x = qs[i].replace(regexp, '%20'),\n        idx = x.indexOf(eq),\n        kstr, vstr, k, v;\n\n    if (idx >= 0) {\n      kstr = x.substr(0, idx);\n      vstr = x.substr(idx + 1);\n    } else {\n      kstr = x;\n      vstr = '';\n    }\n\n    k = decodeURIComponent(kstr);\n    v = decodeURIComponent(vstr);\n\n    if (!hasOwnProperty(obj, k)) {\n      obj[k] = v;\n    } else if (Array.isArray(obj[k])) {\n      obj[k].push(v);\n    } else {\n      obj[k] = [obj[k], v];\n    }\n  }\n\n  return obj;\n};\n\n\n/***/ }),\n\n/***/ 2361:\n/***/ ((module) => {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar stringifyPrimitive = function(v) {\n  switch (typeof v) {\n    case 'string':\n      return v;\n\n    case 'boolean':\n      return v ? 'true' : 'false';\n\n    case 'number':\n      return isFinite(v) ? v : '';\n\n    default:\n      return '';\n  }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n  sep = sep || '&';\n  eq = eq || '=';\n  if (obj === null) {\n    obj = undefined;\n  }\n\n  if (typeof obj === 'object') {\n    return Object.keys(obj).map(function(k) {\n      var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n      if (Array.isArray(obj[k])) {\n        return obj[k].map(function(v) {\n          return ks + encodeURIComponent(stringifyPrimitive(v));\n        }).join(sep);\n      } else {\n        return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n      }\n    }).join(sep);\n\n  }\n\n  if (!name) return '';\n  return encodeURIComponent(stringifyPrimitive(name)) + eq +\n         encodeURIComponent(stringifyPrimitive(obj));\n};\n\n\n/***/ }),\n\n/***/ 7673:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nexports.decode = exports.parse = __webpack_require__(2587);\nexports.encode = exports.stringify = __webpack_require__(2361);\n\n\n/***/ }),\n\n/***/ 9650:\n/***/ ((module) => {\n\nmodule.exports = \"\\\"use strict\\\"\\n//\\n// Autogenerated by Thrift Compiler (0.10.0)\\n//\\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\\n//\\n\\n\\n//HELPER FUNCTIONS AND STRUCTURES\\n\\nwindow.OmniSci_connect_args = function(args) {\\n  this.user = null;\\n  this.passwd = null;\\n  this.dbname = null;\\n  if (args) {\\n    if (args.user !== undefined && args.user !== null) {\\n      this.user = args.user;\\n    }\\n    if (args.passwd !== undefined && args.passwd !== null) {\\n      this.passwd = args.passwd;\\n    }\\n    if (args.dbname !== undefined && args.dbname !== null) {\\n      this.dbname = args.dbname;\\n    }\\n  }\\n};\\nOmniSci_connect_args.prototype = {};\\nOmniSci_connect_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.user = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.passwd = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dbname = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_connect_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_connect_args');\\n  if (this.user !== null && this.user !== undefined) {\\n    output.writeFieldBegin('user', Thrift.Type.STRING, 1);\\n    output.writeString(this.user);\\n    output.writeFieldEnd();\\n  }\\n  if (this.passwd !== null && this.passwd !== undefined) {\\n    output.writeFieldBegin('passwd', Thrift.Type.STRING, 2);\\n    output.writeString(this.passwd);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dbname !== null && this.dbname !== undefined) {\\n    output.writeFieldBegin('dbname', Thrift.Type.STRING, 3);\\n    output.writeString(this.dbname);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_connect_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_connect_result.prototype = {};\\nOmniSci_connect_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.success = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_connect_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_connect_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\\n    output.writeString(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_krb5_connect_args = function(args) {\\n  this.inputToken = null;\\n  this.dbname = null;\\n  if (args) {\\n    if (args.inputToken !== undefined && args.inputToken !== null) {\\n      this.inputToken = args.inputToken;\\n    }\\n    if (args.dbname !== undefined && args.dbname !== null) {\\n      this.dbname = args.dbname;\\n    }\\n  }\\n};\\nOmniSci_krb5_connect_args.prototype = {};\\nOmniSci_krb5_connect_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.inputToken = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dbname = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_krb5_connect_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_krb5_connect_args');\\n  if (this.inputToken !== null && this.inputToken !== undefined) {\\n    output.writeFieldBegin('inputToken', Thrift.Type.STRING, 1);\\n    output.writeString(this.inputToken);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dbname !== null && this.dbname !== undefined) {\\n    output.writeFieldBegin('dbname', Thrift.Type.STRING, 2);\\n    output.writeString(this.dbname);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_krb5_connect_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TKrb5Session(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_krb5_connect_result.prototype = {};\\nOmniSci_krb5_connect_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TKrb5Session();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_krb5_connect_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_krb5_connect_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_disconnect_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_disconnect_args.prototype = {};\\nOmniSci_disconnect_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_disconnect_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_disconnect_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_disconnect_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_disconnect_result.prototype = {};\\nOmniSci_disconnect_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_disconnect_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_disconnect_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_switch_database_args = function(args) {\\n  this.session = null;\\n  this.dbname = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dbname !== undefined && args.dbname !== null) {\\n      this.dbname = args.dbname;\\n    }\\n  }\\n};\\nOmniSci_switch_database_args.prototype = {};\\nOmniSci_switch_database_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dbname = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_switch_database_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_switch_database_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dbname !== null && this.dbname !== undefined) {\\n    output.writeFieldBegin('dbname', Thrift.Type.STRING, 2);\\n    output.writeString(this.dbname);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_switch_database_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_switch_database_result.prototype = {};\\nOmniSci_switch_database_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_switch_database_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_switch_database_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_clone_session_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_clone_session_args.prototype = {};\\nOmniSci_clone_session_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_clone_session_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_clone_session_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_clone_session_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_clone_session_result.prototype = {};\\nOmniSci_clone_session_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.success = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_clone_session_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_clone_session_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\\n    output.writeString(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_server_status_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_server_status_args.prototype = {};\\nOmniSci_get_server_status_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_server_status_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_server_status_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_server_status_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TServerStatus(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_server_status_result.prototype = {};\\nOmniSci_get_server_status_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TServerStatus();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_server_status_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_server_status_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_status_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_status_args.prototype = {};\\nOmniSci_get_status_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_status_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_status_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_status_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TServerStatus]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_status_result.prototype = {};\\nOmniSci_get_status_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size290 = 0;\\n        var _rtmp3294;\\n        this.success = [];\\n        var _etype293 = 0;\\n        _rtmp3294 = input.readListBegin();\\n        _etype293 = _rtmp3294.etype;\\n        _size290 = _rtmp3294.size;\\n        for (var _i295 = 0; _i295 < _size290; ++_i295)\\n        {\\n          var elem296 = null;\\n          elem296 = new TServerStatus();\\n          elem296.read(input);\\n          this.success.push(elem296);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_status_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_status_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter297 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter297))\\n      {\\n        iter297 = this.success[iter297];\\n        iter297.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_hardware_info_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_hardware_info_args.prototype = {};\\nOmniSci_get_hardware_info_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_hardware_info_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_hardware_info_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_hardware_info_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TClusterHardwareInfo(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_hardware_info_result.prototype = {};\\nOmniSci_get_hardware_info_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TClusterHardwareInfo();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_hardware_info_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_hardware_info_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_tables_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_tables_args.prototype = {};\\nOmniSci_get_tables_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_tables_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_tables_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_tables_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [null]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_tables_result.prototype = {};\\nOmniSci_get_tables_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size298 = 0;\\n        var _rtmp3302;\\n        this.success = [];\\n        var _etype301 = 0;\\n        _rtmp3302 = input.readListBegin();\\n        _etype301 = _rtmp3302.etype;\\n        _size298 = _rtmp3302.size;\\n        for (var _i303 = 0; _i303 < _size298; ++_i303)\\n        {\\n          var elem304 = null;\\n          elem304 = input.readString().value;\\n          this.success.push(elem304);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_tables_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_tables_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\\n    for (var iter305 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter305))\\n      {\\n        iter305 = this.success[iter305];\\n        output.writeString(iter305);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_physical_tables_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_physical_tables_args.prototype = {};\\nOmniSci_get_physical_tables_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_physical_tables_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_physical_tables_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_physical_tables_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [null]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_physical_tables_result.prototype = {};\\nOmniSci_get_physical_tables_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size306 = 0;\\n        var _rtmp3310;\\n        this.success = [];\\n        var _etype309 = 0;\\n        _rtmp3310 = input.readListBegin();\\n        _etype309 = _rtmp3310.etype;\\n        _size306 = _rtmp3310.size;\\n        for (var _i311 = 0; _i311 < _size306; ++_i311)\\n        {\\n          var elem312 = null;\\n          elem312 = input.readString().value;\\n          this.success.push(elem312);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_physical_tables_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_physical_tables_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\\n    for (var iter313 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter313))\\n      {\\n        iter313 = this.success[iter313];\\n        output.writeString(iter313);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_views_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_views_args.prototype = {};\\nOmniSci_get_views_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_views_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_views_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_views_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [null]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_views_result.prototype = {};\\nOmniSci_get_views_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size314 = 0;\\n        var _rtmp3318;\\n        this.success = [];\\n        var _etype317 = 0;\\n        _rtmp3318 = input.readListBegin();\\n        _etype317 = _rtmp3318.etype;\\n        _size314 = _rtmp3318.size;\\n        for (var _i319 = 0; _i319 < _size314; ++_i319)\\n        {\\n          var elem320 = null;\\n          elem320 = input.readString().value;\\n          this.success.push(elem320);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_views_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_views_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\\n    for (var iter321 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter321))\\n      {\\n        iter321 = this.success[iter321];\\n        output.writeString(iter321);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_tables_meta_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_tables_meta_args.prototype = {};\\nOmniSci_get_tables_meta_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_tables_meta_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_tables_meta_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_tables_meta_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TTableMeta]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_tables_meta_result.prototype = {};\\nOmniSci_get_tables_meta_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size322 = 0;\\n        var _rtmp3326;\\n        this.success = [];\\n        var _etype325 = 0;\\n        _rtmp3326 = input.readListBegin();\\n        _etype325 = _rtmp3326.etype;\\n        _size322 = _rtmp3326.size;\\n        for (var _i327 = 0; _i327 < _size322; ++_i327)\\n        {\\n          var elem328 = null;\\n          elem328 = new TTableMeta();\\n          elem328.read(input);\\n          this.success.push(elem328);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_tables_meta_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_tables_meta_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter329 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter329))\\n      {\\n        iter329 = this.success[iter329];\\n        iter329.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_table_details_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n  }\\n};\\nOmniSci_get_table_details_args.prototype = {};\\nOmniSci_get_table_details_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_table_details_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_table_details_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_table_details_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TTableDetails(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_table_details_result.prototype = {};\\nOmniSci_get_table_details_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TTableDetails();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_table_details_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_table_details_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_internal_table_details_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n  }\\n};\\nOmniSci_get_internal_table_details_args.prototype = {};\\nOmniSci_get_internal_table_details_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_internal_table_details_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_internal_table_details_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_internal_table_details_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TTableDetails(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_internal_table_details_result.prototype = {};\\nOmniSci_get_internal_table_details_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TTableDetails();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_internal_table_details_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_internal_table_details_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_users_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_users_args.prototype = {};\\nOmniSci_get_users_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_users_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_users_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_users_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [null]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_users_result.prototype = {};\\nOmniSci_get_users_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size330 = 0;\\n        var _rtmp3334;\\n        this.success = [];\\n        var _etype333 = 0;\\n        _rtmp3334 = input.readListBegin();\\n        _etype333 = _rtmp3334.etype;\\n        _size330 = _rtmp3334.size;\\n        for (var _i335 = 0; _i335 < _size330; ++_i335)\\n        {\\n          var elem336 = null;\\n          elem336 = input.readString().value;\\n          this.success.push(elem336);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_users_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_users_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\\n    for (var iter337 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter337))\\n      {\\n        iter337 = this.success[iter337];\\n        output.writeString(iter337);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_databases_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_databases_args.prototype = {};\\nOmniSci_get_databases_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_databases_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_databases_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_databases_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TDBInfo]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_databases_result.prototype = {};\\nOmniSci_get_databases_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size338 = 0;\\n        var _rtmp3342;\\n        this.success = [];\\n        var _etype341 = 0;\\n        _rtmp3342 = input.readListBegin();\\n        _etype341 = _rtmp3342.etype;\\n        _size338 = _rtmp3342.size;\\n        for (var _i343 = 0; _i343 < _size338; ++_i343)\\n        {\\n          var elem344 = null;\\n          elem344 = new TDBInfo();\\n          elem344.read(input);\\n          this.success.push(elem344);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_databases_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_databases_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter345 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter345))\\n      {\\n        iter345 = this.success[iter345];\\n        iter345.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_version_args = function(args) {\\n};\\nOmniSci_get_version_args.prototype = {};\\nOmniSci_get_version_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    input.skip(ftype);\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_version_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_version_args');\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_version_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_version_result.prototype = {};\\nOmniSci_get_version_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.success = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_version_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_version_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\\n    output.writeString(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_start_heap_profile_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_start_heap_profile_args.prototype = {};\\nOmniSci_start_heap_profile_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_start_heap_profile_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_start_heap_profile_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_start_heap_profile_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_start_heap_profile_result.prototype = {};\\nOmniSci_start_heap_profile_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_start_heap_profile_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_start_heap_profile_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_stop_heap_profile_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_stop_heap_profile_args.prototype = {};\\nOmniSci_stop_heap_profile_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_stop_heap_profile_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_stop_heap_profile_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_stop_heap_profile_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_stop_heap_profile_result.prototype = {};\\nOmniSci_stop_heap_profile_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_stop_heap_profile_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_stop_heap_profile_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_heap_profile_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_heap_profile_args.prototype = {};\\nOmniSci_get_heap_profile_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_heap_profile_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_heap_profile_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_heap_profile_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_heap_profile_result.prototype = {};\\nOmniSci_get_heap_profile_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.success = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_heap_profile_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_heap_profile_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\\n    output.writeString(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_memory_args = function(args) {\\n  this.session = null;\\n  this.memory_level = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.memory_level !== undefined && args.memory_level !== null) {\\n      this.memory_level = args.memory_level;\\n    }\\n  }\\n};\\nOmniSci_get_memory_args.prototype = {};\\nOmniSci_get_memory_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.memory_level = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_memory_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_memory_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.memory_level !== null && this.memory_level !== undefined) {\\n    output.writeFieldBegin('memory_level', Thrift.Type.STRING, 2);\\n    output.writeString(this.memory_level);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_memory_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TNodeMemoryInfo]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_memory_result.prototype = {};\\nOmniSci_get_memory_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size346 = 0;\\n        var _rtmp3350;\\n        this.success = [];\\n        var _etype349 = 0;\\n        _rtmp3350 = input.readListBegin();\\n        _etype349 = _rtmp3350.etype;\\n        _size346 = _rtmp3350.size;\\n        for (var _i351 = 0; _i351 < _size346; ++_i351)\\n        {\\n          var elem352 = null;\\n          elem352 = new TNodeMemoryInfo();\\n          elem352.read(input);\\n          this.success.push(elem352);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_memory_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_memory_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter353 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter353))\\n      {\\n        iter353 = this.success[iter353];\\n        iter353.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_clear_cpu_memory_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_clear_cpu_memory_args.prototype = {};\\nOmniSci_clear_cpu_memory_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_clear_cpu_memory_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_clear_cpu_memory_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_clear_cpu_memory_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_clear_cpu_memory_result.prototype = {};\\nOmniSci_clear_cpu_memory_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_clear_cpu_memory_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_clear_cpu_memory_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_clear_gpu_memory_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_clear_gpu_memory_args.prototype = {};\\nOmniSci_clear_gpu_memory_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_clear_gpu_memory_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_clear_gpu_memory_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_clear_gpu_memory_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_clear_gpu_memory_result.prototype = {};\\nOmniSci_clear_gpu_memory_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_clear_gpu_memory_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_clear_gpu_memory_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_table_epoch_args = function(args) {\\n  this.session = null;\\n  this.db_id = null;\\n  this.table_id = null;\\n  this.new_epoch = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.db_id !== undefined && args.db_id !== null) {\\n      this.db_id = args.db_id;\\n    }\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n    if (args.new_epoch !== undefined && args.new_epoch !== null) {\\n      this.new_epoch = args.new_epoch;\\n    }\\n  }\\n};\\nOmniSci_set_table_epoch_args.prototype = {};\\nOmniSci_set_table_epoch_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.db_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.new_epoch = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_table_epoch_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_table_epoch_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.db_id !== null && this.db_id !== undefined) {\\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.db_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 3);\\n    output.writeI32(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.new_epoch !== null && this.new_epoch !== undefined) {\\n    output.writeFieldBegin('new_epoch', Thrift.Type.I32, 4);\\n    output.writeI32(this.new_epoch);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_table_epoch_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_set_table_epoch_result.prototype = {};\\nOmniSci_set_table_epoch_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_table_epoch_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_table_epoch_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_table_epoch_by_name_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  this.new_epoch = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n    if (args.new_epoch !== undefined && args.new_epoch !== null) {\\n      this.new_epoch = args.new_epoch;\\n    }\\n  }\\n};\\nOmniSci_set_table_epoch_by_name_args.prototype = {};\\nOmniSci_set_table_epoch_by_name_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.new_epoch = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_table_epoch_by_name_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_table_epoch_by_name_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.new_epoch !== null && this.new_epoch !== undefined) {\\n    output.writeFieldBegin('new_epoch', Thrift.Type.I32, 3);\\n    output.writeI32(this.new_epoch);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_table_epoch_by_name_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_set_table_epoch_by_name_result.prototype = {};\\nOmniSci_set_table_epoch_by_name_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_table_epoch_by_name_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_table_epoch_by_name_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_table_epoch_args = function(args) {\\n  this.session = null;\\n  this.db_id = null;\\n  this.table_id = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.db_id !== undefined && args.db_id !== null) {\\n      this.db_id = args.db_id;\\n    }\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n  }\\n};\\nOmniSci_get_table_epoch_args.prototype = {};\\nOmniSci_get_table_epoch_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.db_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_table_epoch_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_table_epoch_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.db_id !== null && this.db_id !== undefined) {\\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.db_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 3);\\n    output.writeI32(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_table_epoch_result = function(args) {\\n  this.success = null;\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n  }\\n};\\nOmniSci_get_table_epoch_result.prototype = {};\\nOmniSci_get_table_epoch_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.I32) {\\n        this.success = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_table_epoch_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_table_epoch_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.I32, 0);\\n    output.writeI32(this.success);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_table_epoch_by_name_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n  }\\n};\\nOmniSci_get_table_epoch_by_name_args.prototype = {};\\nOmniSci_get_table_epoch_by_name_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_table_epoch_by_name_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_table_epoch_by_name_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_table_epoch_by_name_result = function(args) {\\n  this.success = null;\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n  }\\n};\\nOmniSci_get_table_epoch_by_name_result.prototype = {};\\nOmniSci_get_table_epoch_by_name_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.I32) {\\n        this.success = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_table_epoch_by_name_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_table_epoch_by_name_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.I32, 0);\\n    output.writeI32(this.success);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_table_epochs_args = function(args) {\\n  this.session = null;\\n  this.db_id = null;\\n  this.table_id = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.db_id !== undefined && args.db_id !== null) {\\n      this.db_id = args.db_id;\\n    }\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n  }\\n};\\nOmniSci_get_table_epochs_args.prototype = {};\\nOmniSci_get_table_epochs_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.db_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_table_epochs_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_table_epochs_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.db_id !== null && this.db_id !== undefined) {\\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.db_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 3);\\n    output.writeI32(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_table_epochs_result = function(args) {\\n  this.success = null;\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TTableEpochInfo]);\\n    }\\n  }\\n};\\nOmniSci_get_table_epochs_result.prototype = {};\\nOmniSci_get_table_epochs_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size354 = 0;\\n        var _rtmp3358;\\n        this.success = [];\\n        var _etype357 = 0;\\n        _rtmp3358 = input.readListBegin();\\n        _etype357 = _rtmp3358.etype;\\n        _size354 = _rtmp3358.size;\\n        for (var _i359 = 0; _i359 < _size354; ++_i359)\\n        {\\n          var elem360 = null;\\n          elem360 = new TTableEpochInfo();\\n          elem360.read(input);\\n          this.success.push(elem360);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_table_epochs_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_table_epochs_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter361 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter361))\\n      {\\n        iter361 = this.success[iter361];\\n        iter361.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_table_epochs_args = function(args) {\\n  this.session = null;\\n  this.db_id = null;\\n  this.table_epochs = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.db_id !== undefined && args.db_id !== null) {\\n      this.db_id = args.db_id;\\n    }\\n    if (args.table_epochs !== undefined && args.table_epochs !== null) {\\n      this.table_epochs = Thrift.copyList(args.table_epochs, [TTableEpochInfo]);\\n    }\\n  }\\n};\\nOmniSci_set_table_epochs_args.prototype = {};\\nOmniSci_set_table_epochs_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.db_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size362 = 0;\\n        var _rtmp3366;\\n        this.table_epochs = [];\\n        var _etype365 = 0;\\n        _rtmp3366 = input.readListBegin();\\n        _etype365 = _rtmp3366.etype;\\n        _size362 = _rtmp3366.size;\\n        for (var _i367 = 0; _i367 < _size362; ++_i367)\\n        {\\n          var elem368 = null;\\n          elem368 = new TTableEpochInfo();\\n          elem368.read(input);\\n          this.table_epochs.push(elem368);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_table_epochs_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_table_epochs_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.db_id !== null && this.db_id !== undefined) {\\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.db_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_epochs !== null && this.table_epochs !== undefined) {\\n    output.writeFieldBegin('table_epochs', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.table_epochs.length);\\n    for (var iter369 in this.table_epochs)\\n    {\\n      if (this.table_epochs.hasOwnProperty(iter369))\\n      {\\n        iter369 = this.table_epochs[iter369];\\n        iter369.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_table_epochs_result = function(args) {\\n};\\nOmniSci_set_table_epochs_result.prototype = {};\\nOmniSci_set_table_epochs_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    input.skip(ftype);\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_table_epochs_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_table_epochs_result');\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_session_info_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_session_info_args.prototype = {};\\nOmniSci_get_session_info_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_session_info_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_session_info_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_session_info_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TSessionInfo(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_session_info_result.prototype = {};\\nOmniSci_get_session_info_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TSessionInfo();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_session_info_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_session_info_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_sql_execute_args = function(args) {\\n  this.session = null;\\n  this.query = null;\\n  this.column_format = null;\\n  this.nonce = null;\\n  this.first_n = -1;\\n  this.at_most_n = -1;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.query !== undefined && args.query !== null) {\\n      this.query = args.query;\\n    }\\n    if (args.column_format !== undefined && args.column_format !== null) {\\n      this.column_format = args.column_format;\\n    }\\n    if (args.nonce !== undefined && args.nonce !== null) {\\n      this.nonce = args.nonce;\\n    }\\n    if (args.first_n !== undefined && args.first_n !== null) {\\n      this.first_n = args.first_n;\\n    }\\n    if (args.at_most_n !== undefined && args.at_most_n !== null) {\\n      this.at_most_n = args.at_most_n;\\n    }\\n  }\\n};\\nOmniSci_sql_execute_args.prototype = {};\\nOmniSci_sql_execute_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.query = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.column_format = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.nonce = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I32) {\\n        this.first_n = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I32) {\\n        this.at_most_n = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_sql_execute_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_sql_execute_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.query !== null && this.query !== undefined) {\\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\\n    output.writeString(this.query);\\n    output.writeFieldEnd();\\n  }\\n  if (this.column_format !== null && this.column_format !== undefined) {\\n    output.writeFieldBegin('column_format', Thrift.Type.BOOL, 3);\\n    output.writeBool(this.column_format);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nonce !== null && this.nonce !== undefined) {\\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 4);\\n    output.writeString(this.nonce);\\n    output.writeFieldEnd();\\n  }\\n  if (this.first_n !== null && this.first_n !== undefined) {\\n    output.writeFieldBegin('first_n', Thrift.Type.I32, 5);\\n    output.writeI32(this.first_n);\\n    output.writeFieldEnd();\\n  }\\n  if (this.at_most_n !== null && this.at_most_n !== undefined) {\\n    output.writeFieldBegin('at_most_n', Thrift.Type.I32, 6);\\n    output.writeI32(this.at_most_n);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_sql_execute_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TQueryResult(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_sql_execute_result.prototype = {};\\nOmniSci_sql_execute_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TQueryResult();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_sql_execute_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_sql_execute_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_sql_execute_df_args = function(args) {\\n  this.session = null;\\n  this.query = null;\\n  this.device_type = null;\\n  this.device_id = 0;\\n  this.first_n = -1;\\n  this.transport_method = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.query !== undefined && args.query !== null) {\\n      this.query = args.query;\\n    }\\n    if (args.device_type !== undefined && args.device_type !== null) {\\n      this.device_type = args.device_type;\\n    }\\n    if (args.device_id !== undefined && args.device_id !== null) {\\n      this.device_id = args.device_id;\\n    }\\n    if (args.first_n !== undefined && args.first_n !== null) {\\n      this.first_n = args.first_n;\\n    }\\n    if (args.transport_method !== undefined && args.transport_method !== null) {\\n      this.transport_method = args.transport_method;\\n    }\\n  }\\n};\\nOmniSci_sql_execute_df_args.prototype = {};\\nOmniSci_sql_execute_df_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.query = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.device_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.device_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I32) {\\n        this.first_n = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I32) {\\n        this.transport_method = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_sql_execute_df_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_sql_execute_df_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.query !== null && this.query !== undefined) {\\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\\n    output.writeString(this.query);\\n    output.writeFieldEnd();\\n  }\\n  if (this.device_type !== null && this.device_type !== undefined) {\\n    output.writeFieldBegin('device_type', Thrift.Type.I32, 3);\\n    output.writeI32(this.device_type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.device_id !== null && this.device_id !== undefined) {\\n    output.writeFieldBegin('device_id', Thrift.Type.I32, 4);\\n    output.writeI32(this.device_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.first_n !== null && this.first_n !== undefined) {\\n    output.writeFieldBegin('first_n', Thrift.Type.I32, 5);\\n    output.writeI32(this.first_n);\\n    output.writeFieldEnd();\\n  }\\n  if (this.transport_method !== null && this.transport_method !== undefined) {\\n    output.writeFieldBegin('transport_method', Thrift.Type.I32, 6);\\n    output.writeI32(this.transport_method);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_sql_execute_df_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TDataFrame(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_sql_execute_df_result.prototype = {};\\nOmniSci_sql_execute_df_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TDataFrame();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_sql_execute_df_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_sql_execute_df_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_sql_execute_gdf_args = function(args) {\\n  this.session = null;\\n  this.query = null;\\n  this.device_id = 0;\\n  this.first_n = -1;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.query !== undefined && args.query !== null) {\\n      this.query = args.query;\\n    }\\n    if (args.device_id !== undefined && args.device_id !== null) {\\n      this.device_id = args.device_id;\\n    }\\n    if (args.first_n !== undefined && args.first_n !== null) {\\n      this.first_n = args.first_n;\\n    }\\n  }\\n};\\nOmniSci_sql_execute_gdf_args.prototype = {};\\nOmniSci_sql_execute_gdf_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.query = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.device_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.first_n = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_sql_execute_gdf_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_sql_execute_gdf_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.query !== null && this.query !== undefined) {\\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\\n    output.writeString(this.query);\\n    output.writeFieldEnd();\\n  }\\n  if (this.device_id !== null && this.device_id !== undefined) {\\n    output.writeFieldBegin('device_id', Thrift.Type.I32, 3);\\n    output.writeI32(this.device_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.first_n !== null && this.first_n !== undefined) {\\n    output.writeFieldBegin('first_n', Thrift.Type.I32, 4);\\n    output.writeI32(this.first_n);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_sql_execute_gdf_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TDataFrame(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_sql_execute_gdf_result.prototype = {};\\nOmniSci_sql_execute_gdf_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TDataFrame();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_sql_execute_gdf_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_sql_execute_gdf_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_deallocate_df_args = function(args) {\\n  this.session = null;\\n  this.df = null;\\n  this.device_type = null;\\n  this.device_id = 0;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.df !== undefined && args.df !== null) {\\n      this.df = new TDataFrame(args.df);\\n    }\\n    if (args.device_type !== undefined && args.device_type !== null) {\\n      this.device_type = args.device_type;\\n    }\\n    if (args.device_id !== undefined && args.device_id !== null) {\\n      this.device_id = args.device_id;\\n    }\\n  }\\n};\\nOmniSci_deallocate_df_args.prototype = {};\\nOmniSci_deallocate_df_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.df = new TDataFrame();\\n        this.df.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.device_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.device_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_deallocate_df_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_deallocate_df_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.df !== null && this.df !== undefined) {\\n    output.writeFieldBegin('df', Thrift.Type.STRUCT, 2);\\n    this.df.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.device_type !== null && this.device_type !== undefined) {\\n    output.writeFieldBegin('device_type', Thrift.Type.I32, 3);\\n    output.writeI32(this.device_type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.device_id !== null && this.device_id !== undefined) {\\n    output.writeFieldBegin('device_id', Thrift.Type.I32, 4);\\n    output.writeI32(this.device_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_deallocate_df_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_deallocate_df_result.prototype = {};\\nOmniSci_deallocate_df_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_deallocate_df_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_deallocate_df_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_interrupt_args = function(args) {\\n  this.query_session = null;\\n  this.interrupt_session = null;\\n  if (args) {\\n    if (args.query_session !== undefined && args.query_session !== null) {\\n      this.query_session = args.query_session;\\n    }\\n    if (args.interrupt_session !== undefined && args.interrupt_session !== null) {\\n      this.interrupt_session = args.interrupt_session;\\n    }\\n  }\\n};\\nOmniSci_interrupt_args.prototype = {};\\nOmniSci_interrupt_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.query_session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.interrupt_session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_interrupt_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_interrupt_args');\\n  if (this.query_session !== null && this.query_session !== undefined) {\\n    output.writeFieldBegin('query_session', Thrift.Type.STRING, 1);\\n    output.writeString(this.query_session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.interrupt_session !== null && this.interrupt_session !== undefined) {\\n    output.writeFieldBegin('interrupt_session', Thrift.Type.STRING, 2);\\n    output.writeString(this.interrupt_session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_interrupt_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_interrupt_result.prototype = {};\\nOmniSci_interrupt_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_interrupt_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_interrupt_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_sql_validate_args = function(args) {\\n  this.session = null;\\n  this.query = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.query !== undefined && args.query !== null) {\\n      this.query = args.query;\\n    }\\n  }\\n};\\nOmniSci_sql_validate_args.prototype = {};\\nOmniSci_sql_validate_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.query = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_sql_validate_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_sql_validate_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.query !== null && this.query !== undefined) {\\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\\n    output.writeString(this.query);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_sql_validate_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TColumnType]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_sql_validate_result.prototype = {};\\nOmniSci_sql_validate_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size370 = 0;\\n        var _rtmp3374;\\n        this.success = [];\\n        var _etype373 = 0;\\n        _rtmp3374 = input.readListBegin();\\n        _etype373 = _rtmp3374.etype;\\n        _size370 = _rtmp3374.size;\\n        for (var _i375 = 0; _i375 < _size370; ++_i375)\\n        {\\n          var elem376 = null;\\n          elem376 = new TColumnType();\\n          elem376.read(input);\\n          this.success.push(elem376);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_sql_validate_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_sql_validate_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter377 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter377))\\n      {\\n        iter377 = this.success[iter377];\\n        iter377.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_completion_hints_args = function(args) {\\n  this.session = null;\\n  this.sql = null;\\n  this.cursor = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.sql !== undefined && args.sql !== null) {\\n      this.sql = args.sql;\\n    }\\n    if (args.cursor !== undefined && args.cursor !== null) {\\n      this.cursor = args.cursor;\\n    }\\n  }\\n};\\nOmniSci_get_completion_hints_args.prototype = {};\\nOmniSci_get_completion_hints_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.sql = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.cursor = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_completion_hints_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_completion_hints_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.sql !== null && this.sql !== undefined) {\\n    output.writeFieldBegin('sql', Thrift.Type.STRING, 2);\\n    output.writeString(this.sql);\\n    output.writeFieldEnd();\\n  }\\n  if (this.cursor !== null && this.cursor !== undefined) {\\n    output.writeFieldBegin('cursor', Thrift.Type.I32, 3);\\n    output.writeI32(this.cursor);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_completion_hints_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TCompletionHint]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_completion_hints_result.prototype = {};\\nOmniSci_get_completion_hints_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size378 = 0;\\n        var _rtmp3382;\\n        this.success = [];\\n        var _etype381 = 0;\\n        _rtmp3382 = input.readListBegin();\\n        _etype381 = _rtmp3382.etype;\\n        _size378 = _rtmp3382.size;\\n        for (var _i383 = 0; _i383 < _size378; ++_i383)\\n        {\\n          var elem384 = null;\\n          elem384 = new TCompletionHint();\\n          elem384.read(input);\\n          this.success.push(elem384);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_completion_hints_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_completion_hints_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter385 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter385))\\n      {\\n        iter385 = this.success[iter385];\\n        iter385.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_execution_mode_args = function(args) {\\n  this.session = null;\\n  this.mode = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.mode !== undefined && args.mode !== null) {\\n      this.mode = args.mode;\\n    }\\n  }\\n};\\nOmniSci_set_execution_mode_args.prototype = {};\\nOmniSci_set_execution_mode_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.mode = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_execution_mode_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_execution_mode_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.mode !== null && this.mode !== undefined) {\\n    output.writeFieldBegin('mode', Thrift.Type.I32, 2);\\n    output.writeI32(this.mode);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_execution_mode_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_set_execution_mode_result.prototype = {};\\nOmniSci_set_execution_mode_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_execution_mode_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_execution_mode_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_render_vega_args = function(args) {\\n  this.session = null;\\n  this.widget_id = null;\\n  this.vega_json = null;\\n  this.compression_level = null;\\n  this.nonce = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.widget_id !== undefined && args.widget_id !== null) {\\n      this.widget_id = args.widget_id;\\n    }\\n    if (args.vega_json !== undefined && args.vega_json !== null) {\\n      this.vega_json = args.vega_json;\\n    }\\n    if (args.compression_level !== undefined && args.compression_level !== null) {\\n      this.compression_level = args.compression_level;\\n    }\\n    if (args.nonce !== undefined && args.nonce !== null) {\\n      this.nonce = args.nonce;\\n    }\\n  }\\n};\\nOmniSci_render_vega_args.prototype = {};\\nOmniSci_render_vega_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.widget_id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.vega_json = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.compression_level = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.nonce = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_render_vega_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_render_vega_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.widget_id !== null && this.widget_id !== undefined) {\\n    output.writeFieldBegin('widget_id', Thrift.Type.I64, 2);\\n    output.writeI64(this.widget_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.vega_json !== null && this.vega_json !== undefined) {\\n    output.writeFieldBegin('vega_json', Thrift.Type.STRING, 3);\\n    output.writeString(this.vega_json);\\n    output.writeFieldEnd();\\n  }\\n  if (this.compression_level !== null && this.compression_level !== undefined) {\\n    output.writeFieldBegin('compression_level', Thrift.Type.I32, 4);\\n    output.writeI32(this.compression_level);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nonce !== null && this.nonce !== undefined) {\\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 5);\\n    output.writeString(this.nonce);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_render_vega_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TRenderResult(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_render_vega_result.prototype = {};\\nOmniSci_render_vega_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TRenderResult();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_render_vega_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_render_vega_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_result_row_for_pixel_args = function(args) {\\n  this.session = null;\\n  this.widget_id = null;\\n  this.pixel = null;\\n  this.table_col_names = null;\\n  this.column_format = null;\\n  this.pixelRadius = null;\\n  this.nonce = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.widget_id !== undefined && args.widget_id !== null) {\\n      this.widget_id = args.widget_id;\\n    }\\n    if (args.pixel !== undefined && args.pixel !== null) {\\n      this.pixel = new TPixel(args.pixel);\\n    }\\n    if (args.table_col_names !== undefined && args.table_col_names !== null) {\\n      this.table_col_names = Thrift.copyMap(args.table_col_names, [Thrift.copyList, null]);\\n    }\\n    if (args.column_format !== undefined && args.column_format !== null) {\\n      this.column_format = args.column_format;\\n    }\\n    if (args.pixelRadius !== undefined && args.pixelRadius !== null) {\\n      this.pixelRadius = args.pixelRadius;\\n    }\\n    if (args.nonce !== undefined && args.nonce !== null) {\\n      this.nonce = args.nonce;\\n    }\\n  }\\n};\\nOmniSci_get_result_row_for_pixel_args.prototype = {};\\nOmniSci_get_result_row_for_pixel_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.widget_id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.pixel = new TPixel();\\n        this.pixel.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.MAP) {\\n        var _size386 = 0;\\n        var _rtmp3390;\\n        this.table_col_names = {};\\n        var _ktype387 = 0;\\n        var _vtype388 = 0;\\n        _rtmp3390 = input.readMapBegin();\\n        _ktype387 = _rtmp3390.ktype;\\n        _vtype388 = _rtmp3390.vtype;\\n        _size386 = _rtmp3390.size;\\n        for (var _i391 = 0; _i391 < _size386; ++_i391)\\n        {\\n          if (_i391 > 0 ) {\\n            if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n              input.rstack.pop();\\n            }\\n          }\\n          var key392 = null;\\n          var val393 = null;\\n          key392 = input.readString().value;\\n          var _size394 = 0;\\n          var _rtmp3398;\\n          val393 = [];\\n          var _etype397 = 0;\\n          _rtmp3398 = input.readListBegin();\\n          _etype397 = _rtmp3398.etype;\\n          _size394 = _rtmp3398.size;\\n          for (var _i399 = 0; _i399 < _size394; ++_i399)\\n          {\\n            var elem400 = null;\\n            elem400 = input.readString().value;\\n            val393.push(elem400);\\n          }\\n          input.readListEnd();\\n          this.table_col_names[key392] = val393;\\n        }\\n        input.readMapEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.column_format = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I32) {\\n        this.pixelRadius = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.nonce = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_result_row_for_pixel_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_result_row_for_pixel_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.widget_id !== null && this.widget_id !== undefined) {\\n    output.writeFieldBegin('widget_id', Thrift.Type.I64, 2);\\n    output.writeI64(this.widget_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.pixel !== null && this.pixel !== undefined) {\\n    output.writeFieldBegin('pixel', Thrift.Type.STRUCT, 3);\\n    this.pixel.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_col_names !== null && this.table_col_names !== undefined) {\\n    output.writeFieldBegin('table_col_names', Thrift.Type.MAP, 4);\\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.LIST, Thrift.objectLength(this.table_col_names));\\n    for (var kiter401 in this.table_col_names)\\n    {\\n      if (this.table_col_names.hasOwnProperty(kiter401))\\n      {\\n        var viter402 = this.table_col_names[kiter401];\\n        output.writeString(kiter401);\\n        output.writeListBegin(Thrift.Type.STRING, viter402.length);\\n        for (var iter403 in viter402)\\n        {\\n          if (viter402.hasOwnProperty(iter403))\\n          {\\n            iter403 = viter402[iter403];\\n            output.writeString(iter403);\\n          }\\n        }\\n        output.writeListEnd();\\n      }\\n    }\\n    output.writeMapEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.column_format !== null && this.column_format !== undefined) {\\n    output.writeFieldBegin('column_format', Thrift.Type.BOOL, 5);\\n    output.writeBool(this.column_format);\\n    output.writeFieldEnd();\\n  }\\n  if (this.pixelRadius !== null && this.pixelRadius !== undefined) {\\n    output.writeFieldBegin('pixelRadius', Thrift.Type.I32, 6);\\n    output.writeI32(this.pixelRadius);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nonce !== null && this.nonce !== undefined) {\\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 7);\\n    output.writeString(this.nonce);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_result_row_for_pixel_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TPixelTableRowResult(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_result_row_for_pixel_result.prototype = {};\\nOmniSci_get_result_row_for_pixel_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TPixelTableRowResult();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_result_row_for_pixel_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_result_row_for_pixel_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_dashboard_args = function(args) {\\n  this.session = null;\\n  this.dashboard_id = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\\n      this.dashboard_id = args.dashboard_id;\\n    }\\n  }\\n};\\nOmniSci_get_dashboard_args.prototype = {};\\nOmniSci_get_dashboard_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.dashboard_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_dashboard_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_dashboard_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.dashboard_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_dashboard_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TDashboard(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_dashboard_result.prototype = {};\\nOmniSci_get_dashboard_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TDashboard();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_dashboard_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_dashboard_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_dashboards_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_dashboards_args.prototype = {};\\nOmniSci_get_dashboards_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_dashboards_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_dashboards_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_dashboards_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TDashboard]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_dashboards_result.prototype = {};\\nOmniSci_get_dashboards_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size404 = 0;\\n        var _rtmp3408;\\n        this.success = [];\\n        var _etype407 = 0;\\n        _rtmp3408 = input.readListBegin();\\n        _etype407 = _rtmp3408.etype;\\n        _size404 = _rtmp3408.size;\\n        for (var _i409 = 0; _i409 < _size404; ++_i409)\\n        {\\n          var elem410 = null;\\n          elem410 = new TDashboard();\\n          elem410.read(input);\\n          this.success.push(elem410);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_dashboards_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_dashboards_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter411 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter411))\\n      {\\n        iter411 = this.success[iter411];\\n        iter411.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_create_dashboard_args = function(args) {\\n  this.session = null;\\n  this.dashboard_name = null;\\n  this.dashboard_state = null;\\n  this.image_hash = null;\\n  this.dashboard_metadata = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_name !== undefined && args.dashboard_name !== null) {\\n      this.dashboard_name = args.dashboard_name;\\n    }\\n    if (args.dashboard_state !== undefined && args.dashboard_state !== null) {\\n      this.dashboard_state = args.dashboard_state;\\n    }\\n    if (args.image_hash !== undefined && args.image_hash !== null) {\\n      this.image_hash = args.image_hash;\\n    }\\n    if (args.dashboard_metadata !== undefined && args.dashboard_metadata !== null) {\\n      this.dashboard_metadata = args.dashboard_metadata;\\n    }\\n  }\\n};\\nOmniSci_create_dashboard_args.prototype = {};\\nOmniSci_create_dashboard_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_state = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.image_hash = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_metadata = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_create_dashboard_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_create_dashboard_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_name !== null && this.dashboard_name !== undefined) {\\n    output.writeFieldBegin('dashboard_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.dashboard_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_state !== null && this.dashboard_state !== undefined) {\\n    output.writeFieldBegin('dashboard_state', Thrift.Type.STRING, 3);\\n    output.writeString(this.dashboard_state);\\n    output.writeFieldEnd();\\n  }\\n  if (this.image_hash !== null && this.image_hash !== undefined) {\\n    output.writeFieldBegin('image_hash', Thrift.Type.STRING, 4);\\n    output.writeString(this.image_hash);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_metadata !== null && this.dashboard_metadata !== undefined) {\\n    output.writeFieldBegin('dashboard_metadata', Thrift.Type.STRING, 5);\\n    output.writeString(this.dashboard_metadata);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_create_dashboard_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_create_dashboard_result.prototype = {};\\nOmniSci_create_dashboard_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.I32) {\\n        this.success = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_create_dashboard_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_create_dashboard_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.I32, 0);\\n    output.writeI32(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_replace_dashboard_args = function(args) {\\n  this.session = null;\\n  this.dashboard_id = null;\\n  this.dashboard_name = null;\\n  this.dashboard_owner = null;\\n  this.dashboard_state = null;\\n  this.image_hash = null;\\n  this.dashboard_metadata = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\\n      this.dashboard_id = args.dashboard_id;\\n    }\\n    if (args.dashboard_name !== undefined && args.dashboard_name !== null) {\\n      this.dashboard_name = args.dashboard_name;\\n    }\\n    if (args.dashboard_owner !== undefined && args.dashboard_owner !== null) {\\n      this.dashboard_owner = args.dashboard_owner;\\n    }\\n    if (args.dashboard_state !== undefined && args.dashboard_state !== null) {\\n      this.dashboard_state = args.dashboard_state;\\n    }\\n    if (args.image_hash !== undefined && args.image_hash !== null) {\\n      this.image_hash = args.image_hash;\\n    }\\n    if (args.dashboard_metadata !== undefined && args.dashboard_metadata !== null) {\\n      this.dashboard_metadata = args.dashboard_metadata;\\n    }\\n  }\\n};\\nOmniSci_replace_dashboard_args.prototype = {};\\nOmniSci_replace_dashboard_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.dashboard_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_owner = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_state = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.image_hash = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_metadata = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_replace_dashboard_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_replace_dashboard_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.dashboard_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_name !== null && this.dashboard_name !== undefined) {\\n    output.writeFieldBegin('dashboard_name', Thrift.Type.STRING, 3);\\n    output.writeString(this.dashboard_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_owner !== null && this.dashboard_owner !== undefined) {\\n    output.writeFieldBegin('dashboard_owner', Thrift.Type.STRING, 4);\\n    output.writeString(this.dashboard_owner);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_state !== null && this.dashboard_state !== undefined) {\\n    output.writeFieldBegin('dashboard_state', Thrift.Type.STRING, 5);\\n    output.writeString(this.dashboard_state);\\n    output.writeFieldEnd();\\n  }\\n  if (this.image_hash !== null && this.image_hash !== undefined) {\\n    output.writeFieldBegin('image_hash', Thrift.Type.STRING, 6);\\n    output.writeString(this.image_hash);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_metadata !== null && this.dashboard_metadata !== undefined) {\\n    output.writeFieldBegin('dashboard_metadata', Thrift.Type.STRING, 7);\\n    output.writeString(this.dashboard_metadata);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_replace_dashboard_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_replace_dashboard_result.prototype = {};\\nOmniSci_replace_dashboard_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_replace_dashboard_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_replace_dashboard_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_delete_dashboard_args = function(args) {\\n  this.session = null;\\n  this.dashboard_id = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\\n      this.dashboard_id = args.dashboard_id;\\n    }\\n  }\\n};\\nOmniSci_delete_dashboard_args.prototype = {};\\nOmniSci_delete_dashboard_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.dashboard_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_delete_dashboard_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_delete_dashboard_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.dashboard_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_delete_dashboard_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_delete_dashboard_result.prototype = {};\\nOmniSci_delete_dashboard_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_delete_dashboard_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_delete_dashboard_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_share_dashboards_args = function(args) {\\n  this.session = null;\\n  this.dashboard_ids = null;\\n  this.groups = null;\\n  this.permissions = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_ids !== undefined && args.dashboard_ids !== null) {\\n      this.dashboard_ids = Thrift.copyList(args.dashboard_ids, [null]);\\n    }\\n    if (args.groups !== undefined && args.groups !== null) {\\n      this.groups = Thrift.copyList(args.groups, [null]);\\n    }\\n    if (args.permissions !== undefined && args.permissions !== null) {\\n      this.permissions = new TDashboardPermissions(args.permissions);\\n    }\\n  }\\n};\\nOmniSci_share_dashboards_args.prototype = {};\\nOmniSci_share_dashboards_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size412 = 0;\\n        var _rtmp3416;\\n        this.dashboard_ids = [];\\n        var _etype415 = 0;\\n        _rtmp3416 = input.readListBegin();\\n        _etype415 = _rtmp3416.etype;\\n        _size412 = _rtmp3416.size;\\n        for (var _i417 = 0; _i417 < _size412; ++_i417)\\n        {\\n          var elem418 = null;\\n          elem418 = input.readI32().value;\\n          this.dashboard_ids.push(elem418);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size419 = 0;\\n        var _rtmp3423;\\n        this.groups = [];\\n        var _etype422 = 0;\\n        _rtmp3423 = input.readListBegin();\\n        _etype422 = _rtmp3423.etype;\\n        _size419 = _rtmp3423.size;\\n        for (var _i424 = 0; _i424 < _size419; ++_i424)\\n        {\\n          var elem425 = null;\\n          elem425 = input.readString().value;\\n          this.groups.push(elem425);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.permissions = new TDashboardPermissions();\\n        this.permissions.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_share_dashboards_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_share_dashboards_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_ids !== null && this.dashboard_ids !== undefined) {\\n    output.writeFieldBegin('dashboard_ids', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.I32, this.dashboard_ids.length);\\n    for (var iter426 in this.dashboard_ids)\\n    {\\n      if (this.dashboard_ids.hasOwnProperty(iter426))\\n      {\\n        iter426 = this.dashboard_ids[iter426];\\n        output.writeI32(iter426);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.groups !== null && this.groups !== undefined) {\\n    output.writeFieldBegin('groups', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRING, this.groups.length);\\n    for (var iter427 in this.groups)\\n    {\\n      if (this.groups.hasOwnProperty(iter427))\\n      {\\n        iter427 = this.groups[iter427];\\n        output.writeString(iter427);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.permissions !== null && this.permissions !== undefined) {\\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 4);\\n    this.permissions.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_share_dashboards_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_share_dashboards_result.prototype = {};\\nOmniSci_share_dashboards_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_share_dashboards_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_share_dashboards_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_delete_dashboards_args = function(args) {\\n  this.session = null;\\n  this.dashboard_ids = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_ids !== undefined && args.dashboard_ids !== null) {\\n      this.dashboard_ids = Thrift.copyList(args.dashboard_ids, [null]);\\n    }\\n  }\\n};\\nOmniSci_delete_dashboards_args.prototype = {};\\nOmniSci_delete_dashboards_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size428 = 0;\\n        var _rtmp3432;\\n        this.dashboard_ids = [];\\n        var _etype431 = 0;\\n        _rtmp3432 = input.readListBegin();\\n        _etype431 = _rtmp3432.etype;\\n        _size428 = _rtmp3432.size;\\n        for (var _i433 = 0; _i433 < _size428; ++_i433)\\n        {\\n          var elem434 = null;\\n          elem434 = input.readI32().value;\\n          this.dashboard_ids.push(elem434);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_delete_dashboards_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_delete_dashboards_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_ids !== null && this.dashboard_ids !== undefined) {\\n    output.writeFieldBegin('dashboard_ids', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.I32, this.dashboard_ids.length);\\n    for (var iter435 in this.dashboard_ids)\\n    {\\n      if (this.dashboard_ids.hasOwnProperty(iter435))\\n      {\\n        iter435 = this.dashboard_ids[iter435];\\n        output.writeI32(iter435);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_delete_dashboards_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_delete_dashboards_result.prototype = {};\\nOmniSci_delete_dashboards_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_delete_dashboards_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_delete_dashboards_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_share_dashboard_args = function(args) {\\n  this.session = null;\\n  this.dashboard_id = null;\\n  this.groups = null;\\n  this.objects = null;\\n  this.permissions = null;\\n  this.grant_role = false;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\\n      this.dashboard_id = args.dashboard_id;\\n    }\\n    if (args.groups !== undefined && args.groups !== null) {\\n      this.groups = Thrift.copyList(args.groups, [null]);\\n    }\\n    if (args.objects !== undefined && args.objects !== null) {\\n      this.objects = Thrift.copyList(args.objects, [null]);\\n    }\\n    if (args.permissions !== undefined && args.permissions !== null) {\\n      this.permissions = new TDashboardPermissions(args.permissions);\\n    }\\n    if (args.grant_role !== undefined && args.grant_role !== null) {\\n      this.grant_role = args.grant_role;\\n    }\\n  }\\n};\\nOmniSci_share_dashboard_args.prototype = {};\\nOmniSci_share_dashboard_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.dashboard_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size436 = 0;\\n        var _rtmp3440;\\n        this.groups = [];\\n        var _etype439 = 0;\\n        _rtmp3440 = input.readListBegin();\\n        _etype439 = _rtmp3440.etype;\\n        _size436 = _rtmp3440.size;\\n        for (var _i441 = 0; _i441 < _size436; ++_i441)\\n        {\\n          var elem442 = null;\\n          elem442 = input.readString().value;\\n          this.groups.push(elem442);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size443 = 0;\\n        var _rtmp3447;\\n        this.objects = [];\\n        var _etype446 = 0;\\n        _rtmp3447 = input.readListBegin();\\n        _etype446 = _rtmp3447.etype;\\n        _size443 = _rtmp3447.size;\\n        for (var _i448 = 0; _i448 < _size443; ++_i448)\\n        {\\n          var elem449 = null;\\n          elem449 = input.readString().value;\\n          this.objects.push(elem449);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.permissions = new TDashboardPermissions();\\n        this.permissions.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.grant_role = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_share_dashboard_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_share_dashboard_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.dashboard_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.groups !== null && this.groups !== undefined) {\\n    output.writeFieldBegin('groups', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRING, this.groups.length);\\n    for (var iter450 in this.groups)\\n    {\\n      if (this.groups.hasOwnProperty(iter450))\\n      {\\n        iter450 = this.groups[iter450];\\n        output.writeString(iter450);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.objects !== null && this.objects !== undefined) {\\n    output.writeFieldBegin('objects', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.STRING, this.objects.length);\\n    for (var iter451 in this.objects)\\n    {\\n      if (this.objects.hasOwnProperty(iter451))\\n      {\\n        iter451 = this.objects[iter451];\\n        output.writeString(iter451);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.permissions !== null && this.permissions !== undefined) {\\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 5);\\n    this.permissions.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.grant_role !== null && this.grant_role !== undefined) {\\n    output.writeFieldBegin('grant_role', Thrift.Type.BOOL, 6);\\n    output.writeBool(this.grant_role);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_share_dashboard_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_share_dashboard_result.prototype = {};\\nOmniSci_share_dashboard_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_share_dashboard_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_share_dashboard_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_unshare_dashboard_args = function(args) {\\n  this.session = null;\\n  this.dashboard_id = null;\\n  this.groups = null;\\n  this.objects = null;\\n  this.permissions = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\\n      this.dashboard_id = args.dashboard_id;\\n    }\\n    if (args.groups !== undefined && args.groups !== null) {\\n      this.groups = Thrift.copyList(args.groups, [null]);\\n    }\\n    if (args.objects !== undefined && args.objects !== null) {\\n      this.objects = Thrift.copyList(args.objects, [null]);\\n    }\\n    if (args.permissions !== undefined && args.permissions !== null) {\\n      this.permissions = new TDashboardPermissions(args.permissions);\\n    }\\n  }\\n};\\nOmniSci_unshare_dashboard_args.prototype = {};\\nOmniSci_unshare_dashboard_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.dashboard_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size452 = 0;\\n        var _rtmp3456;\\n        this.groups = [];\\n        var _etype455 = 0;\\n        _rtmp3456 = input.readListBegin();\\n        _etype455 = _rtmp3456.etype;\\n        _size452 = _rtmp3456.size;\\n        for (var _i457 = 0; _i457 < _size452; ++_i457)\\n        {\\n          var elem458 = null;\\n          elem458 = input.readString().value;\\n          this.groups.push(elem458);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size459 = 0;\\n        var _rtmp3463;\\n        this.objects = [];\\n        var _etype462 = 0;\\n        _rtmp3463 = input.readListBegin();\\n        _etype462 = _rtmp3463.etype;\\n        _size459 = _rtmp3463.size;\\n        for (var _i464 = 0; _i464 < _size459; ++_i464)\\n        {\\n          var elem465 = null;\\n          elem465 = input.readString().value;\\n          this.objects.push(elem465);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.permissions = new TDashboardPermissions();\\n        this.permissions.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_unshare_dashboard_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_unshare_dashboard_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.dashboard_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.groups !== null && this.groups !== undefined) {\\n    output.writeFieldBegin('groups', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRING, this.groups.length);\\n    for (var iter466 in this.groups)\\n    {\\n      if (this.groups.hasOwnProperty(iter466))\\n      {\\n        iter466 = this.groups[iter466];\\n        output.writeString(iter466);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.objects !== null && this.objects !== undefined) {\\n    output.writeFieldBegin('objects', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.STRING, this.objects.length);\\n    for (var iter467 in this.objects)\\n    {\\n      if (this.objects.hasOwnProperty(iter467))\\n      {\\n        iter467 = this.objects[iter467];\\n        output.writeString(iter467);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.permissions !== null && this.permissions !== undefined) {\\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 5);\\n    this.permissions.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_unshare_dashboard_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_unshare_dashboard_result.prototype = {};\\nOmniSci_unshare_dashboard_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_unshare_dashboard_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_unshare_dashboard_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_unshare_dashboards_args = function(args) {\\n  this.session = null;\\n  this.dashboard_ids = null;\\n  this.groups = null;\\n  this.permissions = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_ids !== undefined && args.dashboard_ids !== null) {\\n      this.dashboard_ids = Thrift.copyList(args.dashboard_ids, [null]);\\n    }\\n    if (args.groups !== undefined && args.groups !== null) {\\n      this.groups = Thrift.copyList(args.groups, [null]);\\n    }\\n    if (args.permissions !== undefined && args.permissions !== null) {\\n      this.permissions = new TDashboardPermissions(args.permissions);\\n    }\\n  }\\n};\\nOmniSci_unshare_dashboards_args.prototype = {};\\nOmniSci_unshare_dashboards_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size468 = 0;\\n        var _rtmp3472;\\n        this.dashboard_ids = [];\\n        var _etype471 = 0;\\n        _rtmp3472 = input.readListBegin();\\n        _etype471 = _rtmp3472.etype;\\n        _size468 = _rtmp3472.size;\\n        for (var _i473 = 0; _i473 < _size468; ++_i473)\\n        {\\n          var elem474 = null;\\n          elem474 = input.readI32().value;\\n          this.dashboard_ids.push(elem474);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size475 = 0;\\n        var _rtmp3479;\\n        this.groups = [];\\n        var _etype478 = 0;\\n        _rtmp3479 = input.readListBegin();\\n        _etype478 = _rtmp3479.etype;\\n        _size475 = _rtmp3479.size;\\n        for (var _i480 = 0; _i480 < _size475; ++_i480)\\n        {\\n          var elem481 = null;\\n          elem481 = input.readString().value;\\n          this.groups.push(elem481);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.permissions = new TDashboardPermissions();\\n        this.permissions.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_unshare_dashboards_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_unshare_dashboards_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_ids !== null && this.dashboard_ids !== undefined) {\\n    output.writeFieldBegin('dashboard_ids', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.I32, this.dashboard_ids.length);\\n    for (var iter482 in this.dashboard_ids)\\n    {\\n      if (this.dashboard_ids.hasOwnProperty(iter482))\\n      {\\n        iter482 = this.dashboard_ids[iter482];\\n        output.writeI32(iter482);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.groups !== null && this.groups !== undefined) {\\n    output.writeFieldBegin('groups', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRING, this.groups.length);\\n    for (var iter483 in this.groups)\\n    {\\n      if (this.groups.hasOwnProperty(iter483))\\n      {\\n        iter483 = this.groups[iter483];\\n        output.writeString(iter483);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.permissions !== null && this.permissions !== undefined) {\\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 4);\\n    this.permissions.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_unshare_dashboards_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_unshare_dashboards_result.prototype = {};\\nOmniSci_unshare_dashboards_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_unshare_dashboards_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_unshare_dashboards_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_dashboard_grantees_args = function(args) {\\n  this.session = null;\\n  this.dashboard_id = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\\n      this.dashboard_id = args.dashboard_id;\\n    }\\n  }\\n};\\nOmniSci_get_dashboard_grantees_args.prototype = {};\\nOmniSci_get_dashboard_grantees_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.dashboard_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_dashboard_grantees_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_dashboard_grantees_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.dashboard_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_dashboard_grantees_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TDashboardGrantees]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_dashboard_grantees_result.prototype = {};\\nOmniSci_get_dashboard_grantees_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size484 = 0;\\n        var _rtmp3488;\\n        this.success = [];\\n        var _etype487 = 0;\\n        _rtmp3488 = input.readListBegin();\\n        _etype487 = _rtmp3488.etype;\\n        _size484 = _rtmp3488.size;\\n        for (var _i489 = 0; _i489 < _size484; ++_i489)\\n        {\\n          var elem490 = null;\\n          elem490 = new TDashboardGrantees();\\n          elem490.read(input);\\n          this.success.push(elem490);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_dashboard_grantees_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_dashboard_grantees_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter491 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter491))\\n      {\\n        iter491 = this.success[iter491];\\n        iter491.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_link_view_args = function(args) {\\n  this.session = null;\\n  this.link = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.link !== undefined && args.link !== null) {\\n      this.link = args.link;\\n    }\\n  }\\n};\\nOmniSci_get_link_view_args.prototype = {};\\nOmniSci_get_link_view_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.link = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_link_view_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_link_view_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.link !== null && this.link !== undefined) {\\n    output.writeFieldBegin('link', Thrift.Type.STRING, 2);\\n    output.writeString(this.link);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_link_view_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TFrontendView(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_link_view_result.prototype = {};\\nOmniSci_get_link_view_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TFrontendView();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_link_view_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_link_view_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_create_link_args = function(args) {\\n  this.session = null;\\n  this.view_state = null;\\n  this.view_metadata = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.view_state !== undefined && args.view_state !== null) {\\n      this.view_state = args.view_state;\\n    }\\n    if (args.view_metadata !== undefined && args.view_metadata !== null) {\\n      this.view_metadata = args.view_metadata;\\n    }\\n  }\\n};\\nOmniSci_create_link_args.prototype = {};\\nOmniSci_create_link_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.view_state = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.view_metadata = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_create_link_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_create_link_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.view_state !== null && this.view_state !== undefined) {\\n    output.writeFieldBegin('view_state', Thrift.Type.STRING, 2);\\n    output.writeString(this.view_state);\\n    output.writeFieldEnd();\\n  }\\n  if (this.view_metadata !== null && this.view_metadata !== undefined) {\\n    output.writeFieldBegin('view_metadata', Thrift.Type.STRING, 3);\\n    output.writeString(this.view_metadata);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_create_link_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_create_link_result.prototype = {};\\nOmniSci_create_link_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.success = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_create_link_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_create_link_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\\n    output.writeString(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_load_table_binary_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  this.rows = null;\\n  this.column_names = [];\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n    if (args.rows !== undefined && args.rows !== null) {\\n      this.rows = Thrift.copyList(args.rows, [TRow]);\\n    }\\n    if (args.column_names !== undefined && args.column_names !== null) {\\n      this.column_names = Thrift.copyList(args.column_names, [null]);\\n    }\\n  }\\n};\\nOmniSci_load_table_binary_args.prototype = {};\\nOmniSci_load_table_binary_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size492 = 0;\\n        var _rtmp3496;\\n        this.rows = [];\\n        var _etype495 = 0;\\n        _rtmp3496 = input.readListBegin();\\n        _etype495 = _rtmp3496.etype;\\n        _size492 = _rtmp3496.size;\\n        for (var _i497 = 0; _i497 < _size492; ++_i497)\\n        {\\n          var elem498 = null;\\n          elem498 = new TRow();\\n          elem498.read(input);\\n          this.rows.push(elem498);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size499 = 0;\\n        var _rtmp3503;\\n        this.column_names = [];\\n        var _etype502 = 0;\\n        _rtmp3503 = input.readListBegin();\\n        _etype502 = _rtmp3503.etype;\\n        _size499 = _rtmp3503.size;\\n        for (var _i504 = 0; _i504 < _size499; ++_i504)\\n        {\\n          var elem505 = null;\\n          elem505 = input.readString().value;\\n          this.column_names.push(elem505);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_load_table_binary_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_load_table_binary_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.rows !== null && this.rows !== undefined) {\\n    output.writeFieldBegin('rows', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.rows.length);\\n    for (var iter506 in this.rows)\\n    {\\n      if (this.rows.hasOwnProperty(iter506))\\n      {\\n        iter506 = this.rows[iter506];\\n        iter506.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.column_names !== null && this.column_names !== undefined) {\\n    output.writeFieldBegin('column_names', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.STRING, this.column_names.length);\\n    for (var iter507 in this.column_names)\\n    {\\n      if (this.column_names.hasOwnProperty(iter507))\\n      {\\n        iter507 = this.column_names[iter507];\\n        output.writeString(iter507);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_load_table_binary_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_load_table_binary_result.prototype = {};\\nOmniSci_load_table_binary_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_load_table_binary_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_load_table_binary_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_load_table_binary_columnar_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  this.cols = null;\\n  this.column_names = [];\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n    if (args.cols !== undefined && args.cols !== null) {\\n      this.cols = Thrift.copyList(args.cols, [TColumn]);\\n    }\\n    if (args.column_names !== undefined && args.column_names !== null) {\\n      this.column_names = Thrift.copyList(args.column_names, [null]);\\n    }\\n  }\\n};\\nOmniSci_load_table_binary_columnar_args.prototype = {};\\nOmniSci_load_table_binary_columnar_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size508 = 0;\\n        var _rtmp3512;\\n        this.cols = [];\\n        var _etype511 = 0;\\n        _rtmp3512 = input.readListBegin();\\n        _etype511 = _rtmp3512.etype;\\n        _size508 = _rtmp3512.size;\\n        for (var _i513 = 0; _i513 < _size508; ++_i513)\\n        {\\n          var elem514 = null;\\n          elem514 = new TColumn();\\n          elem514.read(input);\\n          this.cols.push(elem514);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size515 = 0;\\n        var _rtmp3519;\\n        this.column_names = [];\\n        var _etype518 = 0;\\n        _rtmp3519 = input.readListBegin();\\n        _etype518 = _rtmp3519.etype;\\n        _size515 = _rtmp3519.size;\\n        for (var _i520 = 0; _i520 < _size515; ++_i520)\\n        {\\n          var elem521 = null;\\n          elem521 = input.readString().value;\\n          this.column_names.push(elem521);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_load_table_binary_columnar_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_load_table_binary_columnar_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.cols !== null && this.cols !== undefined) {\\n    output.writeFieldBegin('cols', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.cols.length);\\n    for (var iter522 in this.cols)\\n    {\\n      if (this.cols.hasOwnProperty(iter522))\\n      {\\n        iter522 = this.cols[iter522];\\n        iter522.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.column_names !== null && this.column_names !== undefined) {\\n    output.writeFieldBegin('column_names', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.STRING, this.column_names.length);\\n    for (var iter523 in this.column_names)\\n    {\\n      if (this.column_names.hasOwnProperty(iter523))\\n      {\\n        iter523 = this.column_names[iter523];\\n        output.writeString(iter523);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_load_table_binary_columnar_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_load_table_binary_columnar_result.prototype = {};\\nOmniSci_load_table_binary_columnar_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_load_table_binary_columnar_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_load_table_binary_columnar_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_load_table_binary_arrow_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  this.arrow_stream = null;\\n  this.use_column_names = false;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n    if (args.arrow_stream !== undefined && args.arrow_stream !== null) {\\n      this.arrow_stream = args.arrow_stream;\\n    }\\n    if (args.use_column_names !== undefined && args.use_column_names !== null) {\\n      this.use_column_names = args.use_column_names;\\n    }\\n  }\\n};\\nOmniSci_load_table_binary_arrow_args.prototype = {};\\nOmniSci_load_table_binary_arrow_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.arrow_stream = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.use_column_names = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_load_table_binary_arrow_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_load_table_binary_arrow_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.arrow_stream !== null && this.arrow_stream !== undefined) {\\n    output.writeFieldBegin('arrow_stream', Thrift.Type.STRING, 3);\\n    output.writeBinary(this.arrow_stream);\\n    output.writeFieldEnd();\\n  }\\n  if (this.use_column_names !== null && this.use_column_names !== undefined) {\\n    output.writeFieldBegin('use_column_names', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.use_column_names);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_load_table_binary_arrow_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_load_table_binary_arrow_result.prototype = {};\\nOmniSci_load_table_binary_arrow_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_load_table_binary_arrow_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_load_table_binary_arrow_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_load_table_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  this.rows = null;\\n  this.column_names = [];\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n    if (args.rows !== undefined && args.rows !== null) {\\n      this.rows = Thrift.copyList(args.rows, [TStringRow]);\\n    }\\n    if (args.column_names !== undefined && args.column_names !== null) {\\n      this.column_names = Thrift.copyList(args.column_names, [null]);\\n    }\\n  }\\n};\\nOmniSci_load_table_args.prototype = {};\\nOmniSci_load_table_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size524 = 0;\\n        var _rtmp3528;\\n        this.rows = [];\\n        var _etype527 = 0;\\n        _rtmp3528 = input.readListBegin();\\n        _etype527 = _rtmp3528.etype;\\n        _size524 = _rtmp3528.size;\\n        for (var _i529 = 0; _i529 < _size524; ++_i529)\\n        {\\n          var elem530 = null;\\n          elem530 = new TStringRow();\\n          elem530.read(input);\\n          this.rows.push(elem530);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size531 = 0;\\n        var _rtmp3535;\\n        this.column_names = [];\\n        var _etype534 = 0;\\n        _rtmp3535 = input.readListBegin();\\n        _etype534 = _rtmp3535.etype;\\n        _size531 = _rtmp3535.size;\\n        for (var _i536 = 0; _i536 < _size531; ++_i536)\\n        {\\n          var elem537 = null;\\n          elem537 = input.readString().value;\\n          this.column_names.push(elem537);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_load_table_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_load_table_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.rows !== null && this.rows !== undefined) {\\n    output.writeFieldBegin('rows', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.rows.length);\\n    for (var iter538 in this.rows)\\n    {\\n      if (this.rows.hasOwnProperty(iter538))\\n      {\\n        iter538 = this.rows[iter538];\\n        iter538.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.column_names !== null && this.column_names !== undefined) {\\n    output.writeFieldBegin('column_names', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.STRING, this.column_names.length);\\n    for (var iter539 in this.column_names)\\n    {\\n      if (this.column_names.hasOwnProperty(iter539))\\n      {\\n        iter539 = this.column_names[iter539];\\n        output.writeString(iter539);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_load_table_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_load_table_result.prototype = {};\\nOmniSci_load_table_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_load_table_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_load_table_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_detect_column_types_args = function(args) {\\n  this.session = null;\\n  this.file_name = null;\\n  this.copy_params = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.file_name !== undefined && args.file_name !== null) {\\n      this.file_name = args.file_name;\\n    }\\n    if (args.copy_params !== undefined && args.copy_params !== null) {\\n      this.copy_params = new TCopyParams(args.copy_params);\\n    }\\n  }\\n};\\nOmniSci_detect_column_types_args.prototype = {};\\nOmniSci_detect_column_types_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.file_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.copy_params = new TCopyParams();\\n        this.copy_params.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_detect_column_types_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_detect_column_types_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.file_name !== null && this.file_name !== undefined) {\\n    output.writeFieldBegin('file_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.file_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.copy_params !== null && this.copy_params !== undefined) {\\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 3);\\n    this.copy_params.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_detect_column_types_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TDetectResult(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_detect_column_types_result.prototype = {};\\nOmniSci_detect_column_types_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TDetectResult();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_detect_column_types_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_detect_column_types_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_create_table_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  this.row_desc = null;\\n  this.file_type = 0;\\n  this.create_params = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n    if (args.row_desc !== undefined && args.row_desc !== null) {\\n      this.row_desc = Thrift.copyList(args.row_desc, [TColumnType]);\\n    }\\n    if (args.file_type !== undefined && args.file_type !== null) {\\n      this.file_type = args.file_type;\\n    }\\n    if (args.create_params !== undefined && args.create_params !== null) {\\n      this.create_params = new TCreateParams(args.create_params);\\n    }\\n  }\\n};\\nOmniSci_create_table_args.prototype = {};\\nOmniSci_create_table_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size540 = 0;\\n        var _rtmp3544;\\n        this.row_desc = [];\\n        var _etype543 = 0;\\n        _rtmp3544 = input.readListBegin();\\n        _etype543 = _rtmp3544.etype;\\n        _size540 = _rtmp3544.size;\\n        for (var _i545 = 0; _i545 < _size540; ++_i545)\\n        {\\n          var elem546 = null;\\n          elem546 = new TColumnType();\\n          elem546.read(input);\\n          this.row_desc.push(elem546);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.file_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.create_params = new TCreateParams();\\n        this.create_params.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_create_table_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_create_table_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.row_desc !== null && this.row_desc !== undefined) {\\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\\n    for (var iter547 in this.row_desc)\\n    {\\n      if (this.row_desc.hasOwnProperty(iter547))\\n      {\\n        iter547 = this.row_desc[iter547];\\n        iter547.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.file_type !== null && this.file_type !== undefined) {\\n    output.writeFieldBegin('file_type', Thrift.Type.I32, 4);\\n    output.writeI32(this.file_type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.create_params !== null && this.create_params !== undefined) {\\n    output.writeFieldBegin('create_params', Thrift.Type.STRUCT, 5);\\n    this.create_params.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_create_table_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_create_table_result.prototype = {};\\nOmniSci_create_table_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_create_table_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_create_table_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_import_table_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  this.file_name = null;\\n  this.copy_params = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n    if (args.file_name !== undefined && args.file_name !== null) {\\n      this.file_name = args.file_name;\\n    }\\n    if (args.copy_params !== undefined && args.copy_params !== null) {\\n      this.copy_params = new TCopyParams(args.copy_params);\\n    }\\n  }\\n};\\nOmniSci_import_table_args.prototype = {};\\nOmniSci_import_table_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.file_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.copy_params = new TCopyParams();\\n        this.copy_params.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_import_table_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_import_table_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.file_name !== null && this.file_name !== undefined) {\\n    output.writeFieldBegin('file_name', Thrift.Type.STRING, 3);\\n    output.writeString(this.file_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.copy_params !== null && this.copy_params !== undefined) {\\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 4);\\n    this.copy_params.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_import_table_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_import_table_result.prototype = {};\\nOmniSci_import_table_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_import_table_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_import_table_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_import_geo_table_args = function(args) {\\n  this.session = null;\\n  this.table_name = null;\\n  this.file_name = null;\\n  this.copy_params = null;\\n  this.row_desc = null;\\n  this.create_params = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n    if (args.file_name !== undefined && args.file_name !== null) {\\n      this.file_name = args.file_name;\\n    }\\n    if (args.copy_params !== undefined && args.copy_params !== null) {\\n      this.copy_params = new TCopyParams(args.copy_params);\\n    }\\n    if (args.row_desc !== undefined && args.row_desc !== null) {\\n      this.row_desc = Thrift.copyList(args.row_desc, [TColumnType]);\\n    }\\n    if (args.create_params !== undefined && args.create_params !== null) {\\n      this.create_params = new TCreateParams(args.create_params);\\n    }\\n  }\\n};\\nOmniSci_import_geo_table_args.prototype = {};\\nOmniSci_import_geo_table_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.file_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.copy_params = new TCopyParams();\\n        this.copy_params.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size548 = 0;\\n        var _rtmp3552;\\n        this.row_desc = [];\\n        var _etype551 = 0;\\n        _rtmp3552 = input.readListBegin();\\n        _etype551 = _rtmp3552.etype;\\n        _size548 = _rtmp3552.size;\\n        for (var _i553 = 0; _i553 < _size548; ++_i553)\\n        {\\n          var elem554 = null;\\n          elem554 = new TColumnType();\\n          elem554.read(input);\\n          this.row_desc.push(elem554);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.create_params = new TCreateParams();\\n        this.create_params.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_import_geo_table_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_import_geo_table_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.file_name !== null && this.file_name !== undefined) {\\n    output.writeFieldBegin('file_name', Thrift.Type.STRING, 3);\\n    output.writeString(this.file_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.copy_params !== null && this.copy_params !== undefined) {\\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 4);\\n    this.copy_params.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.row_desc !== null && this.row_desc !== undefined) {\\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 5);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\\n    for (var iter555 in this.row_desc)\\n    {\\n      if (this.row_desc.hasOwnProperty(iter555))\\n      {\\n        iter555 = this.row_desc[iter555];\\n        iter555.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.create_params !== null && this.create_params !== undefined) {\\n    output.writeFieldBegin('create_params', Thrift.Type.STRUCT, 6);\\n    this.create_params.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_import_geo_table_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_import_geo_table_result.prototype = {};\\nOmniSci_import_geo_table_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_import_geo_table_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_import_geo_table_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_import_table_status_args = function(args) {\\n  this.session = null;\\n  this.import_id = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.import_id !== undefined && args.import_id !== null) {\\n      this.import_id = args.import_id;\\n    }\\n  }\\n};\\nOmniSci_import_table_status_args.prototype = {};\\nOmniSci_import_table_status_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.import_id = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_import_table_status_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_import_table_status_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.import_id !== null && this.import_id !== undefined) {\\n    output.writeFieldBegin('import_id', Thrift.Type.STRING, 2);\\n    output.writeString(this.import_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_import_table_status_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TImportStatus(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_import_table_status_result.prototype = {};\\nOmniSci_import_table_status_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TImportStatus();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_import_table_status_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_import_table_status_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_first_geo_file_in_archive_args = function(args) {\\n  this.session = null;\\n  this.archive_path = null;\\n  this.copy_params = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.archive_path !== undefined && args.archive_path !== null) {\\n      this.archive_path = args.archive_path;\\n    }\\n    if (args.copy_params !== undefined && args.copy_params !== null) {\\n      this.copy_params = new TCopyParams(args.copy_params);\\n    }\\n  }\\n};\\nOmniSci_get_first_geo_file_in_archive_args.prototype = {};\\nOmniSci_get_first_geo_file_in_archive_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.archive_path = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.copy_params = new TCopyParams();\\n        this.copy_params.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_first_geo_file_in_archive_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_first_geo_file_in_archive_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.archive_path !== null && this.archive_path !== undefined) {\\n    output.writeFieldBegin('archive_path', Thrift.Type.STRING, 2);\\n    output.writeString(this.archive_path);\\n    output.writeFieldEnd();\\n  }\\n  if (this.copy_params !== null && this.copy_params !== undefined) {\\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 3);\\n    this.copy_params.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_first_geo_file_in_archive_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_first_geo_file_in_archive_result.prototype = {};\\nOmniSci_get_first_geo_file_in_archive_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.success = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_first_geo_file_in_archive_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_first_geo_file_in_archive_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRING, 0);\\n    output.writeString(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_all_files_in_archive_args = function(args) {\\n  this.session = null;\\n  this.archive_path = null;\\n  this.copy_params = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.archive_path !== undefined && args.archive_path !== null) {\\n      this.archive_path = args.archive_path;\\n    }\\n    if (args.copy_params !== undefined && args.copy_params !== null) {\\n      this.copy_params = new TCopyParams(args.copy_params);\\n    }\\n  }\\n};\\nOmniSci_get_all_files_in_archive_args.prototype = {};\\nOmniSci_get_all_files_in_archive_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.archive_path = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.copy_params = new TCopyParams();\\n        this.copy_params.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_all_files_in_archive_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_all_files_in_archive_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.archive_path !== null && this.archive_path !== undefined) {\\n    output.writeFieldBegin('archive_path', Thrift.Type.STRING, 2);\\n    output.writeString(this.archive_path);\\n    output.writeFieldEnd();\\n  }\\n  if (this.copy_params !== null && this.copy_params !== undefined) {\\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 3);\\n    this.copy_params.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_all_files_in_archive_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [null]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_all_files_in_archive_result.prototype = {};\\nOmniSci_get_all_files_in_archive_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size556 = 0;\\n        var _rtmp3560;\\n        this.success = [];\\n        var _etype559 = 0;\\n        _rtmp3560 = input.readListBegin();\\n        _etype559 = _rtmp3560.etype;\\n        _size556 = _rtmp3560.size;\\n        for (var _i561 = 0; _i561 < _size556; ++_i561)\\n        {\\n          var elem562 = null;\\n          elem562 = input.readString().value;\\n          this.success.push(elem562);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_all_files_in_archive_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_all_files_in_archive_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\\n    for (var iter563 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter563))\\n      {\\n        iter563 = this.success[iter563];\\n        output.writeString(iter563);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_layers_in_geo_file_args = function(args) {\\n  this.session = null;\\n  this.file_name = null;\\n  this.copy_params = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.file_name !== undefined && args.file_name !== null) {\\n      this.file_name = args.file_name;\\n    }\\n    if (args.copy_params !== undefined && args.copy_params !== null) {\\n      this.copy_params = new TCopyParams(args.copy_params);\\n    }\\n  }\\n};\\nOmniSci_get_layers_in_geo_file_args.prototype = {};\\nOmniSci_get_layers_in_geo_file_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.file_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.copy_params = new TCopyParams();\\n        this.copy_params.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_layers_in_geo_file_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_layers_in_geo_file_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.file_name !== null && this.file_name !== undefined) {\\n    output.writeFieldBegin('file_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.file_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.copy_params !== null && this.copy_params !== undefined) {\\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 3);\\n    this.copy_params.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_layers_in_geo_file_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TGeoFileLayerInfo]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_layers_in_geo_file_result.prototype = {};\\nOmniSci_get_layers_in_geo_file_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size564 = 0;\\n        var _rtmp3568;\\n        this.success = [];\\n        var _etype567 = 0;\\n        _rtmp3568 = input.readListBegin();\\n        _etype567 = _rtmp3568.etype;\\n        _size564 = _rtmp3568.size;\\n        for (var _i569 = 0; _i569 < _size564; ++_i569)\\n        {\\n          var elem570 = null;\\n          elem570 = new TGeoFileLayerInfo();\\n          elem570.read(input);\\n          this.success.push(elem570);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_layers_in_geo_file_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_layers_in_geo_file_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter571 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter571))\\n      {\\n        iter571 = this.success[iter571];\\n        iter571.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_query_get_outer_fragment_count_args = function(args) {\\n  this.session = null;\\n  this.query = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.query !== undefined && args.query !== null) {\\n      this.query = args.query;\\n    }\\n  }\\n};\\nOmniSci_query_get_outer_fragment_count_args.prototype = {};\\nOmniSci_query_get_outer_fragment_count_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.query = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_query_get_outer_fragment_count_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_query_get_outer_fragment_count_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.query !== null && this.query !== undefined) {\\n    output.writeFieldBegin('query', Thrift.Type.STRING, 2);\\n    output.writeString(this.query);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_query_get_outer_fragment_count_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_query_get_outer_fragment_count_result.prototype = {};\\nOmniSci_query_get_outer_fragment_count_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.I64) {\\n        this.success = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_query_get_outer_fragment_count_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_query_get_outer_fragment_count_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.I64, 0);\\n    output.writeI64(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_check_table_consistency_args = function(args) {\\n  this.session = null;\\n  this.table_id = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n  }\\n};\\nOmniSci_check_table_consistency_args.prototype = {};\\nOmniSci_check_table_consistency_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_check_table_consistency_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_check_table_consistency_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_check_table_consistency_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TTableMeta(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_check_table_consistency_result.prototype = {};\\nOmniSci_check_table_consistency_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TTableMeta();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_check_table_consistency_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_check_table_consistency_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_start_query_args = function(args) {\\n  this.leaf_session = null;\\n  this.parent_session = null;\\n  this.query_ra = null;\\n  this.just_explain = null;\\n  this.outer_fragment_indices = null;\\n  if (args) {\\n    if (args.leaf_session !== undefined && args.leaf_session !== null) {\\n      this.leaf_session = args.leaf_session;\\n    }\\n    if (args.parent_session !== undefined && args.parent_session !== null) {\\n      this.parent_session = args.parent_session;\\n    }\\n    if (args.query_ra !== undefined && args.query_ra !== null) {\\n      this.query_ra = args.query_ra;\\n    }\\n    if (args.just_explain !== undefined && args.just_explain !== null) {\\n      this.just_explain = args.just_explain;\\n    }\\n    if (args.outer_fragment_indices !== undefined && args.outer_fragment_indices !== null) {\\n      this.outer_fragment_indices = Thrift.copyList(args.outer_fragment_indices, [null]);\\n    }\\n  }\\n};\\nOmniSci_start_query_args.prototype = {};\\nOmniSci_start_query_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.leaf_session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.parent_session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.query_ra = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.just_explain = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size572 = 0;\\n        var _rtmp3576;\\n        this.outer_fragment_indices = [];\\n        var _etype575 = 0;\\n        _rtmp3576 = input.readListBegin();\\n        _etype575 = _rtmp3576.etype;\\n        _size572 = _rtmp3576.size;\\n        for (var _i577 = 0; _i577 < _size572; ++_i577)\\n        {\\n          var elem578 = null;\\n          elem578 = input.readI64().value;\\n          this.outer_fragment_indices.push(elem578);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_start_query_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_start_query_args');\\n  if (this.leaf_session !== null && this.leaf_session !== undefined) {\\n    output.writeFieldBegin('leaf_session', Thrift.Type.STRING, 1);\\n    output.writeString(this.leaf_session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.parent_session !== null && this.parent_session !== undefined) {\\n    output.writeFieldBegin('parent_session', Thrift.Type.STRING, 2);\\n    output.writeString(this.parent_session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.query_ra !== null && this.query_ra !== undefined) {\\n    output.writeFieldBegin('query_ra', Thrift.Type.STRING, 3);\\n    output.writeString(this.query_ra);\\n    output.writeFieldEnd();\\n  }\\n  if (this.just_explain !== null && this.just_explain !== undefined) {\\n    output.writeFieldBegin('just_explain', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.just_explain);\\n    output.writeFieldEnd();\\n  }\\n  if (this.outer_fragment_indices !== null && this.outer_fragment_indices !== undefined) {\\n    output.writeFieldBegin('outer_fragment_indices', Thrift.Type.LIST, 5);\\n    output.writeListBegin(Thrift.Type.I64, this.outer_fragment_indices.length);\\n    for (var iter579 in this.outer_fragment_indices)\\n    {\\n      if (this.outer_fragment_indices.hasOwnProperty(iter579))\\n      {\\n        iter579 = this.outer_fragment_indices[iter579];\\n        output.writeI64(iter579);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_start_query_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TPendingQuery(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_start_query_result.prototype = {};\\nOmniSci_start_query_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TPendingQuery();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_start_query_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_start_query_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_execute_query_step_args = function(args) {\\n  this.pending_query = null;\\n  this.subquery_id = null;\\n  if (args) {\\n    if (args.pending_query !== undefined && args.pending_query !== null) {\\n      this.pending_query = new TPendingQuery(args.pending_query);\\n    }\\n    if (args.subquery_id !== undefined && args.subquery_id !== null) {\\n      this.subquery_id = args.subquery_id;\\n    }\\n  }\\n};\\nOmniSci_execute_query_step_args.prototype = {};\\nOmniSci_execute_query_step_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.pending_query = new TPendingQuery();\\n        this.pending_query.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.subquery_id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_execute_query_step_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_execute_query_step_args');\\n  if (this.pending_query !== null && this.pending_query !== undefined) {\\n    output.writeFieldBegin('pending_query', Thrift.Type.STRUCT, 1);\\n    this.pending_query.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.subquery_id !== null && this.subquery_id !== undefined) {\\n    output.writeFieldBegin('subquery_id', Thrift.Type.I64, 2);\\n    output.writeI64(this.subquery_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_execute_query_step_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TStepResult(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_execute_query_step_result.prototype = {};\\nOmniSci_execute_query_step_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TStepResult();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_execute_query_step_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_execute_query_step_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_broadcast_serialized_rows_args = function(args) {\\n  this.serialized_rows = null;\\n  this.row_desc = null;\\n  this.query_id = null;\\n  this.subquery_id = null;\\n  this.is_final_subquery_result = null;\\n  if (args) {\\n    if (args.serialized_rows !== undefined && args.serialized_rows !== null) {\\n      this.serialized_rows = new TSerializedRows(args.serialized_rows);\\n    }\\n    if (args.row_desc !== undefined && args.row_desc !== null) {\\n      this.row_desc = Thrift.copyList(args.row_desc, [TColumnType]);\\n    }\\n    if (args.query_id !== undefined && args.query_id !== null) {\\n      this.query_id = args.query_id;\\n    }\\n    if (args.subquery_id !== undefined && args.subquery_id !== null) {\\n      this.subquery_id = args.subquery_id;\\n    }\\n    if (args.is_final_subquery_result !== undefined && args.is_final_subquery_result !== null) {\\n      this.is_final_subquery_result = args.is_final_subquery_result;\\n    }\\n  }\\n};\\nOmniSci_broadcast_serialized_rows_args.prototype = {};\\nOmniSci_broadcast_serialized_rows_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.serialized_rows = new TSerializedRows();\\n        this.serialized_rows.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size580 = 0;\\n        var _rtmp3584;\\n        this.row_desc = [];\\n        var _etype583 = 0;\\n        _rtmp3584 = input.readListBegin();\\n        _etype583 = _rtmp3584.etype;\\n        _size580 = _rtmp3584.size;\\n        for (var _i585 = 0; _i585 < _size580; ++_i585)\\n        {\\n          var elem586 = null;\\n          elem586 = new TColumnType();\\n          elem586.read(input);\\n          this.row_desc.push(elem586);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.query_id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I64) {\\n        this.subquery_id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_final_subquery_result = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_broadcast_serialized_rows_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_broadcast_serialized_rows_args');\\n  if (this.serialized_rows !== null && this.serialized_rows !== undefined) {\\n    output.writeFieldBegin('serialized_rows', Thrift.Type.STRUCT, 1);\\n    this.serialized_rows.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.row_desc !== null && this.row_desc !== undefined) {\\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\\n    for (var iter587 in this.row_desc)\\n    {\\n      if (this.row_desc.hasOwnProperty(iter587))\\n      {\\n        iter587 = this.row_desc[iter587];\\n        iter587.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.query_id !== null && this.query_id !== undefined) {\\n    output.writeFieldBegin('query_id', Thrift.Type.I64, 3);\\n    output.writeI64(this.query_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.subquery_id !== null && this.subquery_id !== undefined) {\\n    output.writeFieldBegin('subquery_id', Thrift.Type.I64, 4);\\n    output.writeI64(this.subquery_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_final_subquery_result !== null && this.is_final_subquery_result !== undefined) {\\n    output.writeFieldBegin('is_final_subquery_result', Thrift.Type.BOOL, 5);\\n    output.writeBool(this.is_final_subquery_result);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_broadcast_serialized_rows_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_broadcast_serialized_rows_result.prototype = {};\\nOmniSci_broadcast_serialized_rows_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_broadcast_serialized_rows_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_broadcast_serialized_rows_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_start_render_query_args = function(args) {\\n  this.session = null;\\n  this.widget_id = null;\\n  this.node_idx = null;\\n  this.vega_json = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.widget_id !== undefined && args.widget_id !== null) {\\n      this.widget_id = args.widget_id;\\n    }\\n    if (args.node_idx !== undefined && args.node_idx !== null) {\\n      this.node_idx = args.node_idx;\\n    }\\n    if (args.vega_json !== undefined && args.vega_json !== null) {\\n      this.vega_json = args.vega_json;\\n    }\\n  }\\n};\\nOmniSci_start_render_query_args.prototype = {};\\nOmniSci_start_render_query_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.widget_id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I16) {\\n        this.node_idx = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.vega_json = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_start_render_query_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_start_render_query_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.widget_id !== null && this.widget_id !== undefined) {\\n    output.writeFieldBegin('widget_id', Thrift.Type.I64, 2);\\n    output.writeI64(this.widget_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.node_idx !== null && this.node_idx !== undefined) {\\n    output.writeFieldBegin('node_idx', Thrift.Type.I16, 3);\\n    output.writeI16(this.node_idx);\\n    output.writeFieldEnd();\\n  }\\n  if (this.vega_json !== null && this.vega_json !== undefined) {\\n    output.writeFieldBegin('vega_json', Thrift.Type.STRING, 4);\\n    output.writeString(this.vega_json);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_start_render_query_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TPendingRenderQuery(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_start_render_query_result.prototype = {};\\nOmniSci_start_render_query_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TPendingRenderQuery();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_start_render_query_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_start_render_query_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_execute_next_render_step_args = function(args) {\\n  this.pending_render = null;\\n  this.merged_data = null;\\n  if (args) {\\n    if (args.pending_render !== undefined && args.pending_render !== null) {\\n      this.pending_render = new TPendingRenderQuery(args.pending_render);\\n    }\\n    if (args.merged_data !== undefined && args.merged_data !== null) {\\n      this.merged_data = Thrift.copyMap(args.merged_data, [Thrift.copyMap, Thrift.copyMap, Thrift.copyMap, Thrift.copyList, TRenderDatum]);\\n    }\\n  }\\n};\\nOmniSci_execute_next_render_step_args.prototype = {};\\nOmniSci_execute_next_render_step_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.pending_render = new TPendingRenderQuery();\\n        this.pending_render.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.MAP) {\\n        var _size588 = 0;\\n        var _rtmp3592;\\n        this.merged_data = {};\\n        var _ktype589 = 0;\\n        var _vtype590 = 0;\\n        _rtmp3592 = input.readMapBegin();\\n        _ktype589 = _rtmp3592.ktype;\\n        _vtype590 = _rtmp3592.vtype;\\n        _size588 = _rtmp3592.size;\\n        for (var _i593 = 0; _i593 < _size588; ++_i593)\\n        {\\n          if (_i593 > 0 ) {\\n            if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n              input.rstack.pop();\\n            }\\n          }\\n          var key594 = null;\\n          var val595 = null;\\n          key594 = input.readString().value;\\n          var _size596 = 0;\\n          var _rtmp3600;\\n          val595 = {};\\n          var _ktype597 = 0;\\n          var _vtype598 = 0;\\n          _rtmp3600 = input.readMapBegin();\\n          _ktype597 = _rtmp3600.ktype;\\n          _vtype598 = _rtmp3600.vtype;\\n          _size596 = _rtmp3600.size;\\n          for (var _i601 = 0; _i601 < _size596; ++_i601)\\n          {\\n            if (_i601 > 0 ) {\\n              if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n                input.rstack.pop();\\n              }\\n            }\\n            var key602 = null;\\n            var val603 = null;\\n            key602 = input.readString().value;\\n            var _size604 = 0;\\n            var _rtmp3608;\\n            val603 = {};\\n            var _ktype605 = 0;\\n            var _vtype606 = 0;\\n            _rtmp3608 = input.readMapBegin();\\n            _ktype605 = _rtmp3608.ktype;\\n            _vtype606 = _rtmp3608.vtype;\\n            _size604 = _rtmp3608.size;\\n            for (var _i609 = 0; _i609 < _size604; ++_i609)\\n            {\\n              if (_i609 > 0 ) {\\n                if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n                  input.rstack.pop();\\n                }\\n              }\\n              var key610 = null;\\n              var val611 = null;\\n              key610 = input.readString().value;\\n              var _size612 = 0;\\n              var _rtmp3616;\\n              val611 = {};\\n              var _ktype613 = 0;\\n              var _vtype614 = 0;\\n              _rtmp3616 = input.readMapBegin();\\n              _ktype613 = _rtmp3616.ktype;\\n              _vtype614 = _rtmp3616.vtype;\\n              _size612 = _rtmp3616.size;\\n              for (var _i617 = 0; _i617 < _size612; ++_i617)\\n              {\\n                if (_i617 > 0 ) {\\n                  if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n                    input.rstack.pop();\\n                  }\\n                }\\n                var key618 = null;\\n                var val619 = null;\\n                key618 = input.readString().value;\\n                var _size620 = 0;\\n                var _rtmp3624;\\n                val619 = [];\\n                var _etype623 = 0;\\n                _rtmp3624 = input.readListBegin();\\n                _etype623 = _rtmp3624.etype;\\n                _size620 = _rtmp3624.size;\\n                for (var _i625 = 0; _i625 < _size620; ++_i625)\\n                {\\n                  var elem626 = null;\\n                  elem626 = new TRenderDatum();\\n                  elem626.read(input);\\n                  val619.push(elem626);\\n                }\\n                input.readListEnd();\\n                val611[key618] = val619;\\n              }\\n              input.readMapEnd();\\n              val603[key610] = val611;\\n            }\\n            input.readMapEnd();\\n            val595[key602] = val603;\\n          }\\n          input.readMapEnd();\\n          this.merged_data[key594] = val595;\\n        }\\n        input.readMapEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_execute_next_render_step_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_execute_next_render_step_args');\\n  if (this.pending_render !== null && this.pending_render !== undefined) {\\n    output.writeFieldBegin('pending_render', Thrift.Type.STRUCT, 1);\\n    this.pending_render.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.merged_data !== null && this.merged_data !== undefined) {\\n    output.writeFieldBegin('merged_data', Thrift.Type.MAP, 2);\\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(this.merged_data));\\n    for (var kiter627 in this.merged_data)\\n    {\\n      if (this.merged_data.hasOwnProperty(kiter627))\\n      {\\n        var viter628 = this.merged_data[kiter627];\\n        output.writeString(kiter627);\\n        output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(viter628));\\n        for (var kiter629 in viter628)\\n        {\\n          if (viter628.hasOwnProperty(kiter629))\\n          {\\n            var viter630 = viter628[kiter629];\\n            output.writeString(kiter629);\\n            output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(viter630));\\n            for (var kiter631 in viter630)\\n            {\\n              if (viter630.hasOwnProperty(kiter631))\\n              {\\n                var viter632 = viter630[kiter631];\\n                output.writeString(kiter631);\\n                output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.LIST, Thrift.objectLength(viter632));\\n                for (var kiter633 in viter632)\\n                {\\n                  if (viter632.hasOwnProperty(kiter633))\\n                  {\\n                    var viter634 = viter632[kiter633];\\n                    output.writeString(kiter633);\\n                    output.writeListBegin(Thrift.Type.STRUCT, viter634.length);\\n                    for (var iter635 in viter634)\\n                    {\\n                      if (viter634.hasOwnProperty(iter635))\\n                      {\\n                        iter635 = viter634[iter635];\\n                        iter635.write(output);\\n                      }\\n                    }\\n                    output.writeListEnd();\\n                  }\\n                }\\n                output.writeMapEnd();\\n              }\\n            }\\n            output.writeMapEnd();\\n          }\\n        }\\n        output.writeMapEnd();\\n      }\\n    }\\n    output.writeMapEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_execute_next_render_step_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TRenderStepResult(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_execute_next_render_step_result.prototype = {};\\nOmniSci_execute_next_render_step_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TRenderStepResult();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_execute_next_render_step_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_execute_next_render_step_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_insert_data_args = function(args) {\\n  this.session = null;\\n  this.insert_data = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.insert_data !== undefined && args.insert_data !== null) {\\n      this.insert_data = new TInsertData(args.insert_data);\\n    }\\n  }\\n};\\nOmniSci_insert_data_args.prototype = {};\\nOmniSci_insert_data_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.insert_data = new TInsertData();\\n        this.insert_data.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_insert_data_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_insert_data_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.insert_data !== null && this.insert_data !== undefined) {\\n    output.writeFieldBegin('insert_data', Thrift.Type.STRUCT, 2);\\n    this.insert_data.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_insert_data_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_insert_data_result.prototype = {};\\nOmniSci_insert_data_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_insert_data_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_insert_data_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_checkpoint_args = function(args) {\\n  this.session = null;\\n  this.table_id = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n  }\\n};\\nOmniSci_checkpoint_args.prototype = {};\\nOmniSci_checkpoint_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_checkpoint_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_checkpoint_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_checkpoint_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_checkpoint_result.prototype = {};\\nOmniSci_checkpoint_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_checkpoint_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_checkpoint_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_roles_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_roles_args.prototype = {};\\nOmniSci_get_roles_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_roles_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_roles_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_roles_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [null]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_roles_result.prototype = {};\\nOmniSci_get_roles_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size636 = 0;\\n        var _rtmp3640;\\n        this.success = [];\\n        var _etype639 = 0;\\n        _rtmp3640 = input.readListBegin();\\n        _etype639 = _rtmp3640.etype;\\n        _size636 = _rtmp3640.size;\\n        for (var _i641 = 0; _i641 < _size636; ++_i641)\\n        {\\n          var elem642 = null;\\n          elem642 = input.readString().value;\\n          this.success.push(elem642);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_roles_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_roles_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\\n    for (var iter643 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter643))\\n      {\\n        iter643 = this.success[iter643];\\n        output.writeString(iter643);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_db_objects_for_grantee_args = function(args) {\\n  this.session = null;\\n  this.roleName = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.roleName !== undefined && args.roleName !== null) {\\n      this.roleName = args.roleName;\\n    }\\n  }\\n};\\nOmniSci_get_db_objects_for_grantee_args.prototype = {};\\nOmniSci_get_db_objects_for_grantee_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.roleName = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_db_objects_for_grantee_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_db_objects_for_grantee_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.roleName !== null && this.roleName !== undefined) {\\n    output.writeFieldBegin('roleName', Thrift.Type.STRING, 2);\\n    output.writeString(this.roleName);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_db_objects_for_grantee_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TDBObject]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_db_objects_for_grantee_result.prototype = {};\\nOmniSci_get_db_objects_for_grantee_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size644 = 0;\\n        var _rtmp3648;\\n        this.success = [];\\n        var _etype647 = 0;\\n        _rtmp3648 = input.readListBegin();\\n        _etype647 = _rtmp3648.etype;\\n        _size644 = _rtmp3648.size;\\n        for (var _i649 = 0; _i649 < _size644; ++_i649)\\n        {\\n          var elem650 = null;\\n          elem650 = new TDBObject();\\n          elem650.read(input);\\n          this.success.push(elem650);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_db_objects_for_grantee_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_db_objects_for_grantee_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter651 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter651))\\n      {\\n        iter651 = this.success[iter651];\\n        iter651.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_db_object_privs_args = function(args) {\\n  this.session = null;\\n  this.objectName = null;\\n  this.type = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.objectName !== undefined && args.objectName !== null) {\\n      this.objectName = args.objectName;\\n    }\\n    if (args.type !== undefined && args.type !== null) {\\n      this.type = args.type;\\n    }\\n  }\\n};\\nOmniSci_get_db_object_privs_args.prototype = {};\\nOmniSci_get_db_object_privs_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.objectName = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_db_object_privs_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_db_object_privs_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.objectName !== null && this.objectName !== undefined) {\\n    output.writeFieldBegin('objectName', Thrift.Type.STRING, 2);\\n    output.writeString(this.objectName);\\n    output.writeFieldEnd();\\n  }\\n  if (this.type !== null && this.type !== undefined) {\\n    output.writeFieldBegin('type', Thrift.Type.I32, 3);\\n    output.writeI32(this.type);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_db_object_privs_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [TDBObject]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_db_object_privs_result.prototype = {};\\nOmniSci_get_db_object_privs_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size652 = 0;\\n        var _rtmp3656;\\n        this.success = [];\\n        var _etype655 = 0;\\n        _rtmp3656 = input.readListBegin();\\n        _etype655 = _rtmp3656.etype;\\n        _size652 = _rtmp3656.size;\\n        for (var _i657 = 0; _i657 < _size652; ++_i657)\\n        {\\n          var elem658 = null;\\n          elem658 = new TDBObject();\\n          elem658.read(input);\\n          this.success.push(elem658);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_db_object_privs_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_db_object_privs_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);\\n    for (var iter659 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter659))\\n      {\\n        iter659 = this.success[iter659];\\n        iter659.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_all_roles_for_user_args = function(args) {\\n  this.session = null;\\n  this.userName = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.userName !== undefined && args.userName !== null) {\\n      this.userName = args.userName;\\n    }\\n  }\\n};\\nOmniSci_get_all_roles_for_user_args.prototype = {};\\nOmniSci_get_all_roles_for_user_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.userName = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_all_roles_for_user_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_all_roles_for_user_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.userName !== null && this.userName !== undefined) {\\n    output.writeFieldBegin('userName', Thrift.Type.STRING, 2);\\n    output.writeString(this.userName);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_all_roles_for_user_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyList(args.success, [null]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_all_roles_for_user_result.prototype = {};\\nOmniSci_get_all_roles_for_user_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size660 = 0;\\n        var _rtmp3664;\\n        this.success = [];\\n        var _etype663 = 0;\\n        _rtmp3664 = input.readListBegin();\\n        _etype663 = _rtmp3664.etype;\\n        _size660 = _rtmp3664.size;\\n        for (var _i665 = 0; _i665 < _size660; ++_i665)\\n        {\\n          var elem666 = null;\\n          elem666 = input.readString().value;\\n          this.success.push(elem666);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_all_roles_for_user_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_all_roles_for_user_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.LIST, 0);\\n    output.writeListBegin(Thrift.Type.STRING, this.success.length);\\n    for (var iter667 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(iter667))\\n      {\\n        iter667 = this.success[iter667];\\n        output.writeString(iter667);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_has_role_args = function(args) {\\n  this.session = null;\\n  this.granteeName = null;\\n  this.roleName = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.granteeName !== undefined && args.granteeName !== null) {\\n      this.granteeName = args.granteeName;\\n    }\\n    if (args.roleName !== undefined && args.roleName !== null) {\\n      this.roleName = args.roleName;\\n    }\\n  }\\n};\\nOmniSci_has_role_args.prototype = {};\\nOmniSci_has_role_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.granteeName = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.roleName = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_has_role_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_has_role_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.granteeName !== null && this.granteeName !== undefined) {\\n    output.writeFieldBegin('granteeName', Thrift.Type.STRING, 2);\\n    output.writeString(this.granteeName);\\n    output.writeFieldEnd();\\n  }\\n  if (this.roleName !== null && this.roleName !== undefined) {\\n    output.writeFieldBegin('roleName', Thrift.Type.STRING, 3);\\n    output.writeString(this.roleName);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_has_role_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_has_role_result.prototype = {};\\nOmniSci_has_role_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.success = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_has_role_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_has_role_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.BOOL, 0);\\n    output.writeBool(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_has_object_privilege_args = function(args) {\\n  this.session = null;\\n  this.granteeName = null;\\n  this.ObjectName = null;\\n  this.objectType = null;\\n  this.permissions = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.granteeName !== undefined && args.granteeName !== null) {\\n      this.granteeName = args.granteeName;\\n    }\\n    if (args.ObjectName !== undefined && args.ObjectName !== null) {\\n      this.ObjectName = args.ObjectName;\\n    }\\n    if (args.objectType !== undefined && args.objectType !== null) {\\n      this.objectType = args.objectType;\\n    }\\n    if (args.permissions !== undefined && args.permissions !== null) {\\n      this.permissions = new TDBObjectPermissions(args.permissions);\\n    }\\n  }\\n};\\nOmniSci_has_object_privilege_args.prototype = {};\\nOmniSci_has_object_privilege_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.granteeName = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.ObjectName = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.objectType = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.permissions = new TDBObjectPermissions();\\n        this.permissions.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_has_object_privilege_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_has_object_privilege_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.granteeName !== null && this.granteeName !== undefined) {\\n    output.writeFieldBegin('granteeName', Thrift.Type.STRING, 2);\\n    output.writeString(this.granteeName);\\n    output.writeFieldEnd();\\n  }\\n  if (this.ObjectName !== null && this.ObjectName !== undefined) {\\n    output.writeFieldBegin('ObjectName', Thrift.Type.STRING, 3);\\n    output.writeString(this.ObjectName);\\n    output.writeFieldEnd();\\n  }\\n  if (this.objectType !== null && this.objectType !== undefined) {\\n    output.writeFieldBegin('objectType', Thrift.Type.I32, 4);\\n    output.writeI32(this.objectType);\\n    output.writeFieldEnd();\\n  }\\n  if (this.permissions !== null && this.permissions !== undefined) {\\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 5);\\n    this.permissions.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_has_object_privilege_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_has_object_privilege_result.prototype = {};\\nOmniSci_has_object_privilege_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.success = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_has_object_privilege_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_has_object_privilege_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.BOOL, 0);\\n    output.writeBool(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_license_key_args = function(args) {\\n  this.session = null;\\n  this.key = null;\\n  this.nonce = '';\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.key !== undefined && args.key !== null) {\\n      this.key = args.key;\\n    }\\n    if (args.nonce !== undefined && args.nonce !== null) {\\n      this.nonce = args.nonce;\\n    }\\n  }\\n};\\nOmniSci_set_license_key_args.prototype = {};\\nOmniSci_set_license_key_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.key = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.nonce = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_license_key_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_license_key_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.key !== null && this.key !== undefined) {\\n    output.writeFieldBegin('key', Thrift.Type.STRING, 2);\\n    output.writeString(this.key);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nonce !== null && this.nonce !== undefined) {\\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 3);\\n    output.writeString(this.nonce);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_set_license_key_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TLicenseInfo(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_set_license_key_result.prototype = {};\\nOmniSci_set_license_key_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TLicenseInfo();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_set_license_key_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_set_license_key_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_license_claims_args = function(args) {\\n  this.session = null;\\n  this.nonce = '';\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.nonce !== undefined && args.nonce !== null) {\\n      this.nonce = args.nonce;\\n    }\\n  }\\n};\\nOmniSci_get_license_claims_args.prototype = {};\\nOmniSci_get_license_claims_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.nonce = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_license_claims_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_license_claims_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nonce !== null && this.nonce !== undefined) {\\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 2);\\n    output.writeString(this.nonce);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_license_claims_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = new TLicenseInfo(args.success);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_license_claims_result.prototype = {};\\nOmniSci_get_license_claims_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.success = new TLicenseInfo();\\n        this.success.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_license_claims_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_license_claims_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.STRUCT, 0);\\n    this.success.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_device_parameters_args = function(args) {\\n  this.session = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n  }\\n};\\nOmniSci_get_device_parameters_args.prototype = {};\\nOmniSci_get_device_parameters_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_device_parameters_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_device_parameters_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_get_device_parameters_result = function(args) {\\n  this.success = null;\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = Thrift.copyMap(args.success, [null]);\\n    }\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_get_device_parameters_result.prototype = {};\\nOmniSci_get_device_parameters_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 0:\\n      if (ftype == Thrift.Type.MAP) {\\n        var _size668 = 0;\\n        var _rtmp3672;\\n        this.success = {};\\n        var _ktype669 = 0;\\n        var _vtype670 = 0;\\n        _rtmp3672 = input.readMapBegin();\\n        _ktype669 = _rtmp3672.ktype;\\n        _vtype670 = _rtmp3672.vtype;\\n        _size668 = _rtmp3672.size;\\n        for (var _i673 = 0; _i673 < _size668; ++_i673)\\n        {\\n          if (_i673 > 0 ) {\\n            if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n              input.rstack.pop();\\n            }\\n          }\\n          var key674 = null;\\n          var val675 = null;\\n          key674 = input.readString().value;\\n          val675 = input.readString().value;\\n          this.success[key674] = val675;\\n        }\\n        input.readMapEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_get_device_parameters_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_get_device_parameters_result');\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.MAP, 0);\\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(this.success));\\n    for (var kiter676 in this.success)\\n    {\\n      if (this.success.hasOwnProperty(kiter676))\\n      {\\n        var viter677 = this.success[kiter676];\\n        output.writeString(kiter676);\\n        output.writeString(viter677);\\n      }\\n    }\\n    output.writeMapEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_register_runtime_extension_functions_args = function(args) {\\n  this.session = null;\\n  this.udfs = null;\\n  this.udtfs = null;\\n  this.device_ir_map = null;\\n  if (args) {\\n    if (args.session !== undefined && args.session !== null) {\\n      this.session = args.session;\\n    }\\n    if (args.udfs !== undefined && args.udfs !== null) {\\n      this.udfs = Thrift.copyList(args.udfs, [TUserDefinedFunction]);\\n    }\\n    if (args.udtfs !== undefined && args.udtfs !== null) {\\n      this.udtfs = Thrift.copyList(args.udtfs, [TUserDefinedTableFunction]);\\n    }\\n    if (args.device_ir_map !== undefined && args.device_ir_map !== null) {\\n      this.device_ir_map = Thrift.copyMap(args.device_ir_map, [null]);\\n    }\\n  }\\n};\\nOmniSci_register_runtime_extension_functions_args.prototype = {};\\nOmniSci_register_runtime_extension_functions_args.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.session = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size678 = 0;\\n        var _rtmp3682;\\n        this.udfs = [];\\n        var _etype681 = 0;\\n        _rtmp3682 = input.readListBegin();\\n        _etype681 = _rtmp3682.etype;\\n        _size678 = _rtmp3682.size;\\n        for (var _i683 = 0; _i683 < _size678; ++_i683)\\n        {\\n          var elem684 = null;\\n          elem684 = new TUserDefinedFunction();\\n          elem684.read(input);\\n          this.udfs.push(elem684);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size685 = 0;\\n        var _rtmp3689;\\n        this.udtfs = [];\\n        var _etype688 = 0;\\n        _rtmp3689 = input.readListBegin();\\n        _etype688 = _rtmp3689.etype;\\n        _size685 = _rtmp3689.size;\\n        for (var _i690 = 0; _i690 < _size685; ++_i690)\\n        {\\n          var elem691 = null;\\n          elem691 = new TUserDefinedTableFunction();\\n          elem691.read(input);\\n          this.udtfs.push(elem691);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.MAP) {\\n        var _size692 = 0;\\n        var _rtmp3696;\\n        this.device_ir_map = {};\\n        var _ktype693 = 0;\\n        var _vtype694 = 0;\\n        _rtmp3696 = input.readMapBegin();\\n        _ktype693 = _rtmp3696.ktype;\\n        _vtype694 = _rtmp3696.vtype;\\n        _size692 = _rtmp3696.size;\\n        for (var _i697 = 0; _i697 < _size692; ++_i697)\\n        {\\n          if (_i697 > 0 ) {\\n            if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n              input.rstack.pop();\\n            }\\n          }\\n          var key698 = null;\\n          var val699 = null;\\n          key698 = input.readString().value;\\n          val699 = input.readString().value;\\n          this.device_ir_map[key698] = val699;\\n        }\\n        input.readMapEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_register_runtime_extension_functions_args.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_register_runtime_extension_functions_args');\\n  if (this.session !== null && this.session !== undefined) {\\n    output.writeFieldBegin('session', Thrift.Type.STRING, 1);\\n    output.writeString(this.session);\\n    output.writeFieldEnd();\\n  }\\n  if (this.udfs !== null && this.udfs !== undefined) {\\n    output.writeFieldBegin('udfs', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.udfs.length);\\n    for (var iter700 in this.udfs)\\n    {\\n      if (this.udfs.hasOwnProperty(iter700))\\n      {\\n        iter700 = this.udfs[iter700];\\n        iter700.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.udtfs !== null && this.udtfs !== undefined) {\\n    output.writeFieldBegin('udtfs', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.udtfs.length);\\n    for (var iter701 in this.udtfs)\\n    {\\n      if (this.udtfs.hasOwnProperty(iter701))\\n      {\\n        iter701 = this.udtfs[iter701];\\n        iter701.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.device_ir_map !== null && this.device_ir_map !== undefined) {\\n    output.writeFieldBegin('device_ir_map', Thrift.Type.MAP, 4);\\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(this.device_ir_map));\\n    for (var kiter702 in this.device_ir_map)\\n    {\\n      if (this.device_ir_map.hasOwnProperty(kiter702))\\n      {\\n        var viter703 = this.device_ir_map[kiter702];\\n        output.writeString(kiter702);\\n        output.writeString(viter703);\\n      }\\n    }\\n    output.writeMapEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSci_register_runtime_extension_functions_result = function(args) {\\n  this.e = null;\\n  if (args instanceof TOmniSciException) {\\n    this.e = args;\\n    return;\\n  }\\n  if (args) {\\n    if (args.e !== undefined && args.e !== null) {\\n      this.e = args.e;\\n    }\\n  }\\n};\\nOmniSci_register_runtime_extension_functions_result.prototype = {};\\nOmniSci_register_runtime_extension_functions_result.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.e = new TOmniSciException();\\n        this.e.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nOmniSci_register_runtime_extension_functions_result.prototype.write = function(output) {\\n  output.writeStructBegin('OmniSci_register_runtime_extension_functions_result');\\n  if (this.e !== null && this.e !== undefined) {\\n    output.writeFieldBegin('e', Thrift.Type.STRUCT, 1);\\n    this.e.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.OmniSciClient = function(input, output) {\\n    this.input = input;\\n    this.output = (!output) ? input : output;\\n    this.seqid = 0;\\n};\\nOmniSciClient.prototype = {};\\nOmniSciClient.prototype.connect = function(user, passwd, dbname, callback) {\\n  this.send_connect(user, passwd, dbname, callback); \\n  if (!callback) {\\n    return this.recv_connect();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_connect = function(user, passwd, dbname, callback) {\\n  this.output.writeMessageBegin('connect', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_connect_args();\\n  args.user = user;\\n  args.passwd = passwd;\\n  args.dbname = dbname;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_connect();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_connect = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_connect_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'connect failed: unknown result';\\n};\\nOmniSciClient.prototype.krb5_connect = function(inputToken, dbname, callback) {\\n  this.send_krb5_connect(inputToken, dbname, callback); \\n  if (!callback) {\\n    return this.recv_krb5_connect();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_krb5_connect = function(inputToken, dbname, callback) {\\n  this.output.writeMessageBegin('krb5_connect', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_krb5_connect_args();\\n  args.inputToken = inputToken;\\n  args.dbname = dbname;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_krb5_connect();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_krb5_connect = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_krb5_connect_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'krb5_connect failed: unknown result';\\n};\\nOmniSciClient.prototype.disconnect = function(session, callback) {\\n  this.send_disconnect(session, callback); \\n  if (!callback) {\\n  this.recv_disconnect();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_disconnect = function(session, callback) {\\n  this.output.writeMessageBegin('disconnect', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_disconnect_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_disconnect();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_disconnect = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_disconnect_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.switch_database = function(session, dbname, callback) {\\n  this.send_switch_database(session, dbname, callback); \\n  if (!callback) {\\n  this.recv_switch_database();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_switch_database = function(session, dbname, callback) {\\n  this.output.writeMessageBegin('switch_database', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_switch_database_args();\\n  args.session = session;\\n  args.dbname = dbname;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_switch_database();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_switch_database = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_switch_database_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.clone_session = function(session, callback) {\\n  this.send_clone_session(session, callback); \\n  if (!callback) {\\n    return this.recv_clone_session();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_clone_session = function(session, callback) {\\n  this.output.writeMessageBegin('clone_session', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_clone_session_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_clone_session();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_clone_session = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_clone_session_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'clone_session failed: unknown result';\\n};\\nOmniSciClient.prototype.get_server_status = function(session, callback) {\\n  this.send_get_server_status(session, callback); \\n  if (!callback) {\\n    return this.recv_get_server_status();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_server_status = function(session, callback) {\\n  this.output.writeMessageBegin('get_server_status', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_server_status_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_server_status();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_server_status = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_server_status_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_server_status failed: unknown result';\\n};\\nOmniSciClient.prototype.get_status = function(session, callback) {\\n  this.send_get_status(session, callback); \\n  if (!callback) {\\n    return this.recv_get_status();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_status = function(session, callback) {\\n  this.output.writeMessageBegin('get_status', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_status_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_status();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_status = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_status_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_status failed: unknown result';\\n};\\nOmniSciClient.prototype.get_hardware_info = function(session, callback) {\\n  this.send_get_hardware_info(session, callback); \\n  if (!callback) {\\n    return this.recv_get_hardware_info();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_hardware_info = function(session, callback) {\\n  this.output.writeMessageBegin('get_hardware_info', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_hardware_info_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_hardware_info();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_hardware_info = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_hardware_info_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_hardware_info failed: unknown result';\\n};\\nOmniSciClient.prototype.get_tables = function(session, callback) {\\n  this.send_get_tables(session, callback); \\n  if (!callback) {\\n    return this.recv_get_tables();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_tables = function(session, callback) {\\n  this.output.writeMessageBegin('get_tables', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_tables_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_tables();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_tables = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_tables_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_tables failed: unknown result';\\n};\\nOmniSciClient.prototype.get_physical_tables = function(session, callback) {\\n  this.send_get_physical_tables(session, callback); \\n  if (!callback) {\\n    return this.recv_get_physical_tables();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_physical_tables = function(session, callback) {\\n  this.output.writeMessageBegin('get_physical_tables', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_physical_tables_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_physical_tables();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_physical_tables = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_physical_tables_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_physical_tables failed: unknown result';\\n};\\nOmniSciClient.prototype.get_views = function(session, callback) {\\n  this.send_get_views(session, callback); \\n  if (!callback) {\\n    return this.recv_get_views();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_views = function(session, callback) {\\n  this.output.writeMessageBegin('get_views', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_views_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_views();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_views = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_views_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_views failed: unknown result';\\n};\\nOmniSciClient.prototype.get_tables_meta = function(session, callback) {\\n  this.send_get_tables_meta(session, callback); \\n  if (!callback) {\\n    return this.recv_get_tables_meta();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_tables_meta = function(session, callback) {\\n  this.output.writeMessageBegin('get_tables_meta', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_tables_meta_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_tables_meta();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_tables_meta = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_tables_meta_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_tables_meta failed: unknown result';\\n};\\nOmniSciClient.prototype.get_table_details = function(session, table_name, callback) {\\n  this.send_get_table_details(session, table_name, callback); \\n  if (!callback) {\\n    return this.recv_get_table_details();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_table_details = function(session, table_name, callback) {\\n  this.output.writeMessageBegin('get_table_details', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_table_details_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_table_details();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_table_details = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_table_details_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_table_details failed: unknown result';\\n};\\nOmniSciClient.prototype.get_internal_table_details = function(session, table_name, callback) {\\n  this.send_get_internal_table_details(session, table_name, callback); \\n  if (!callback) {\\n    return this.recv_get_internal_table_details();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_internal_table_details = function(session, table_name, callback) {\\n  this.output.writeMessageBegin('get_internal_table_details', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_internal_table_details_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_internal_table_details();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_internal_table_details = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_internal_table_details_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_internal_table_details failed: unknown result';\\n};\\nOmniSciClient.prototype.get_users = function(session, callback) {\\n  this.send_get_users(session, callback); \\n  if (!callback) {\\n    return this.recv_get_users();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_users = function(session, callback) {\\n  this.output.writeMessageBegin('get_users', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_users_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_users();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_users = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_users_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_users failed: unknown result';\\n};\\nOmniSciClient.prototype.get_databases = function(session, callback) {\\n  this.send_get_databases(session, callback); \\n  if (!callback) {\\n    return this.recv_get_databases();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_databases = function(session, callback) {\\n  this.output.writeMessageBegin('get_databases', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_databases_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_databases();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_databases = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_databases_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_databases failed: unknown result';\\n};\\nOmniSciClient.prototype.get_version = function(callback) {\\n  this.send_get_version(callback); \\n  if (!callback) {\\n    return this.recv_get_version();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_version = function(callback) {\\n  this.output.writeMessageBegin('get_version', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_version_args();\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_version();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_version = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_version_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_version failed: unknown result';\\n};\\nOmniSciClient.prototype.start_heap_profile = function(session, callback) {\\n  this.send_start_heap_profile(session, callback); \\n  if (!callback) {\\n  this.recv_start_heap_profile();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_start_heap_profile = function(session, callback) {\\n  this.output.writeMessageBegin('start_heap_profile', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_start_heap_profile_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_start_heap_profile();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_start_heap_profile = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_start_heap_profile_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.stop_heap_profile = function(session, callback) {\\n  this.send_stop_heap_profile(session, callback); \\n  if (!callback) {\\n  this.recv_stop_heap_profile();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_stop_heap_profile = function(session, callback) {\\n  this.output.writeMessageBegin('stop_heap_profile', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_stop_heap_profile_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_stop_heap_profile();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_stop_heap_profile = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_stop_heap_profile_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.get_heap_profile = function(session, callback) {\\n  this.send_get_heap_profile(session, callback); \\n  if (!callback) {\\n    return this.recv_get_heap_profile();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_heap_profile = function(session, callback) {\\n  this.output.writeMessageBegin('get_heap_profile', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_heap_profile_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_heap_profile();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_heap_profile = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_heap_profile_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_heap_profile failed: unknown result';\\n};\\nOmniSciClient.prototype.get_memory = function(session, memory_level, callback) {\\n  this.send_get_memory(session, memory_level, callback); \\n  if (!callback) {\\n    return this.recv_get_memory();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_memory = function(session, memory_level, callback) {\\n  this.output.writeMessageBegin('get_memory', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_memory_args();\\n  args.session = session;\\n  args.memory_level = memory_level;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_memory();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_memory = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_memory_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_memory failed: unknown result';\\n};\\nOmniSciClient.prototype.clear_cpu_memory = function(session, callback) {\\n  this.send_clear_cpu_memory(session, callback); \\n  if (!callback) {\\n  this.recv_clear_cpu_memory();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_clear_cpu_memory = function(session, callback) {\\n  this.output.writeMessageBegin('clear_cpu_memory', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_clear_cpu_memory_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_clear_cpu_memory();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_clear_cpu_memory = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_clear_cpu_memory_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.clear_gpu_memory = function(session, callback) {\\n  this.send_clear_gpu_memory(session, callback); \\n  if (!callback) {\\n  this.recv_clear_gpu_memory();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_clear_gpu_memory = function(session, callback) {\\n  this.output.writeMessageBegin('clear_gpu_memory', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_clear_gpu_memory_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_clear_gpu_memory();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_clear_gpu_memory = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_clear_gpu_memory_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.set_table_epoch = function(session, db_id, table_id, new_epoch, callback) {\\n  this.send_set_table_epoch(session, db_id, table_id, new_epoch, callback); \\n  if (!callback) {\\n  this.recv_set_table_epoch();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_set_table_epoch = function(session, db_id, table_id, new_epoch, callback) {\\n  this.output.writeMessageBegin('set_table_epoch', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_set_table_epoch_args();\\n  args.session = session;\\n  args.db_id = db_id;\\n  args.table_id = table_id;\\n  args.new_epoch = new_epoch;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_set_table_epoch();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_set_table_epoch = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_set_table_epoch_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.set_table_epoch_by_name = function(session, table_name, new_epoch, callback) {\\n  this.send_set_table_epoch_by_name(session, table_name, new_epoch, callback); \\n  if (!callback) {\\n  this.recv_set_table_epoch_by_name();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_set_table_epoch_by_name = function(session, table_name, new_epoch, callback) {\\n  this.output.writeMessageBegin('set_table_epoch_by_name', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_set_table_epoch_by_name_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.new_epoch = new_epoch;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_set_table_epoch_by_name();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_set_table_epoch_by_name = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_set_table_epoch_by_name_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.get_table_epoch = function(session, db_id, table_id, callback) {\\n  this.send_get_table_epoch(session, db_id, table_id, callback); \\n  if (!callback) {\\n    return this.recv_get_table_epoch();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_table_epoch = function(session, db_id, table_id, callback) {\\n  this.output.writeMessageBegin('get_table_epoch', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_table_epoch_args();\\n  args.session = session;\\n  args.db_id = db_id;\\n  args.table_id = table_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_table_epoch();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_table_epoch = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_table_epoch_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_table_epoch failed: unknown result';\\n};\\nOmniSciClient.prototype.get_table_epoch_by_name = function(session, table_name, callback) {\\n  this.send_get_table_epoch_by_name(session, table_name, callback); \\n  if (!callback) {\\n    return this.recv_get_table_epoch_by_name();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_table_epoch_by_name = function(session, table_name, callback) {\\n  this.output.writeMessageBegin('get_table_epoch_by_name', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_table_epoch_by_name_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_table_epoch_by_name();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_table_epoch_by_name = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_table_epoch_by_name_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_table_epoch_by_name failed: unknown result';\\n};\\nOmniSciClient.prototype.get_table_epochs = function(session, db_id, table_id, callback) {\\n  this.send_get_table_epochs(session, db_id, table_id, callback); \\n  if (!callback) {\\n    return this.recv_get_table_epochs();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_table_epochs = function(session, db_id, table_id, callback) {\\n  this.output.writeMessageBegin('get_table_epochs', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_table_epochs_args();\\n  args.session = session;\\n  args.db_id = db_id;\\n  args.table_id = table_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_table_epochs();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_table_epochs = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_table_epochs_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_table_epochs failed: unknown result';\\n};\\nOmniSciClient.prototype.set_table_epochs = function(session, db_id, table_epochs, callback) {\\n  this.send_set_table_epochs(session, db_id, table_epochs, callback); \\n  if (!callback) {\\n  this.recv_set_table_epochs();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_set_table_epochs = function(session, db_id, table_epochs, callback) {\\n  this.output.writeMessageBegin('set_table_epochs', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_set_table_epochs_args();\\n  args.session = session;\\n  args.db_id = db_id;\\n  args.table_epochs = table_epochs;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_set_table_epochs();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_set_table_epochs = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_set_table_epochs_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  return;\\n};\\nOmniSciClient.prototype.get_session_info = function(session, callback) {\\n  this.send_get_session_info(session, callback); \\n  if (!callback) {\\n    return this.recv_get_session_info();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_session_info = function(session, callback) {\\n  this.output.writeMessageBegin('get_session_info', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_session_info_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_session_info();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_session_info = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_session_info_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_session_info failed: unknown result';\\n};\\nOmniSciClient.prototype.sql_execute = function(session, query, column_format, nonce, first_n, at_most_n, callback) {\\n  this.send_sql_execute(session, query, column_format, nonce, first_n, at_most_n, callback); \\n  if (!callback) {\\n    return this.recv_sql_execute();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_sql_execute = function(session, query, column_format, nonce, first_n, at_most_n, callback) {\\n  this.output.writeMessageBegin('sql_execute', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_sql_execute_args();\\n  args.session = session;\\n  args.query = query;\\n  args.column_format = column_format;\\n  args.nonce = nonce;\\n  args.first_n = first_n;\\n  args.at_most_n = at_most_n;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_sql_execute();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_sql_execute = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_sql_execute_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'sql_execute failed: unknown result';\\n};\\nOmniSciClient.prototype.sql_execute_df = function(session, query, device_type, device_id, first_n, transport_method, callback) {\\n  this.send_sql_execute_df(session, query, device_type, device_id, first_n, transport_method, callback); \\n  if (!callback) {\\n    return this.recv_sql_execute_df();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_sql_execute_df = function(session, query, device_type, device_id, first_n, transport_method, callback) {\\n  this.output.writeMessageBegin('sql_execute_df', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_sql_execute_df_args();\\n  args.session = session;\\n  args.query = query;\\n  args.device_type = device_type;\\n  args.device_id = device_id;\\n  args.first_n = first_n;\\n  args.transport_method = transport_method;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_sql_execute_df();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_sql_execute_df = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_sql_execute_df_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'sql_execute_df failed: unknown result';\\n};\\nOmniSciClient.prototype.sql_execute_gdf = function(session, query, device_id, first_n, callback) {\\n  this.send_sql_execute_gdf(session, query, device_id, first_n, callback); \\n  if (!callback) {\\n    return this.recv_sql_execute_gdf();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_sql_execute_gdf = function(session, query, device_id, first_n, callback) {\\n  this.output.writeMessageBegin('sql_execute_gdf', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_sql_execute_gdf_args();\\n  args.session = session;\\n  args.query = query;\\n  args.device_id = device_id;\\n  args.first_n = first_n;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_sql_execute_gdf();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_sql_execute_gdf = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_sql_execute_gdf_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'sql_execute_gdf failed: unknown result';\\n};\\nOmniSciClient.prototype.deallocate_df = function(session, df, device_type, device_id, callback) {\\n  this.send_deallocate_df(session, df, device_type, device_id, callback); \\n  if (!callback) {\\n  this.recv_deallocate_df();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_deallocate_df = function(session, df, device_type, device_id, callback) {\\n  this.output.writeMessageBegin('deallocate_df', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_deallocate_df_args();\\n  args.session = session;\\n  args.df = df;\\n  args.device_type = device_type;\\n  args.device_id = device_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_deallocate_df();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_deallocate_df = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_deallocate_df_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.interrupt = function(query_session, interrupt_session, callback) {\\n  this.send_interrupt(query_session, interrupt_session, callback); \\n  if (!callback) {\\n  this.recv_interrupt();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_interrupt = function(query_session, interrupt_session, callback) {\\n  this.output.writeMessageBegin('interrupt', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_interrupt_args();\\n  args.query_session = query_session;\\n  args.interrupt_session = interrupt_session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_interrupt();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_interrupt = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_interrupt_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.sql_validate = function(session, query, callback) {\\n  this.send_sql_validate(session, query, callback); \\n  if (!callback) {\\n    return this.recv_sql_validate();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_sql_validate = function(session, query, callback) {\\n  this.output.writeMessageBegin('sql_validate', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_sql_validate_args();\\n  args.session = session;\\n  args.query = query;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_sql_validate();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_sql_validate = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_sql_validate_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'sql_validate failed: unknown result';\\n};\\nOmniSciClient.prototype.get_completion_hints = function(session, sql, cursor, callback) {\\n  this.send_get_completion_hints(session, sql, cursor, callback); \\n  if (!callback) {\\n    return this.recv_get_completion_hints();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_completion_hints = function(session, sql, cursor, callback) {\\n  this.output.writeMessageBegin('get_completion_hints', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_completion_hints_args();\\n  args.session = session;\\n  args.sql = sql;\\n  args.cursor = cursor;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_completion_hints();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_completion_hints = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_completion_hints_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_completion_hints failed: unknown result';\\n};\\nOmniSciClient.prototype.set_execution_mode = function(session, mode, callback) {\\n  this.send_set_execution_mode(session, mode, callback); \\n  if (!callback) {\\n  this.recv_set_execution_mode();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_set_execution_mode = function(session, mode, callback) {\\n  this.output.writeMessageBegin('set_execution_mode', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_set_execution_mode_args();\\n  args.session = session;\\n  args.mode = mode;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_set_execution_mode();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_set_execution_mode = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_set_execution_mode_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.render_vega = function(session, widget_id, vega_json, compression_level, nonce, callback) {\\n  this.send_render_vega(session, widget_id, vega_json, compression_level, nonce, callback); \\n  if (!callback) {\\n    return this.recv_render_vega();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_render_vega = function(session, widget_id, vega_json, compression_level, nonce, callback) {\\n  this.output.writeMessageBegin('render_vega', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_render_vega_args();\\n  args.session = session;\\n  args.widget_id = widget_id;\\n  args.vega_json = vega_json;\\n  args.compression_level = compression_level;\\n  args.nonce = nonce;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_render_vega();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_render_vega = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_render_vega_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'render_vega failed: unknown result';\\n};\\nOmniSciClient.prototype.get_result_row_for_pixel = function(session, widget_id, pixel, table_col_names, column_format, pixelRadius, nonce, callback) {\\n  this.send_get_result_row_for_pixel(session, widget_id, pixel, table_col_names, column_format, pixelRadius, nonce, callback); \\n  if (!callback) {\\n    return this.recv_get_result_row_for_pixel();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_result_row_for_pixel = function(session, widget_id, pixel, table_col_names, column_format, pixelRadius, nonce, callback) {\\n  this.output.writeMessageBegin('get_result_row_for_pixel', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_result_row_for_pixel_args();\\n  args.session = session;\\n  args.widget_id = widget_id;\\n  args.pixel = pixel;\\n  args.table_col_names = table_col_names;\\n  args.column_format = column_format;\\n  args.pixelRadius = pixelRadius;\\n  args.nonce = nonce;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_result_row_for_pixel();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_result_row_for_pixel = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_result_row_for_pixel_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_result_row_for_pixel failed: unknown result';\\n};\\nOmniSciClient.prototype.get_dashboard = function(session, dashboard_id, callback) {\\n  this.send_get_dashboard(session, dashboard_id, callback); \\n  if (!callback) {\\n    return this.recv_get_dashboard();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_dashboard = function(session, dashboard_id, callback) {\\n  this.output.writeMessageBegin('get_dashboard', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_dashboard_args();\\n  args.session = session;\\n  args.dashboard_id = dashboard_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_dashboard();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_dashboard = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_dashboard_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_dashboard failed: unknown result';\\n};\\nOmniSciClient.prototype.get_dashboards = function(session, callback) {\\n  this.send_get_dashboards(session, callback); \\n  if (!callback) {\\n    return this.recv_get_dashboards();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_dashboards = function(session, callback) {\\n  this.output.writeMessageBegin('get_dashboards', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_dashboards_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_dashboards();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_dashboards = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_dashboards_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_dashboards failed: unknown result';\\n};\\nOmniSciClient.prototype.create_dashboard = function(session, dashboard_name, dashboard_state, image_hash, dashboard_metadata, callback) {\\n  this.send_create_dashboard(session, dashboard_name, dashboard_state, image_hash, dashboard_metadata, callback); \\n  if (!callback) {\\n    return this.recv_create_dashboard();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_create_dashboard = function(session, dashboard_name, dashboard_state, image_hash, dashboard_metadata, callback) {\\n  this.output.writeMessageBegin('create_dashboard', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_create_dashboard_args();\\n  args.session = session;\\n  args.dashboard_name = dashboard_name;\\n  args.dashboard_state = dashboard_state;\\n  args.image_hash = image_hash;\\n  args.dashboard_metadata = dashboard_metadata;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_create_dashboard();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_create_dashboard = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_create_dashboard_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'create_dashboard failed: unknown result';\\n};\\nOmniSciClient.prototype.replace_dashboard = function(session, dashboard_id, dashboard_name, dashboard_owner, dashboard_state, image_hash, dashboard_metadata, callback) {\\n  this.send_replace_dashboard(session, dashboard_id, dashboard_name, dashboard_owner, dashboard_state, image_hash, dashboard_metadata, callback); \\n  if (!callback) {\\n  this.recv_replace_dashboard();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_replace_dashboard = function(session, dashboard_id, dashboard_name, dashboard_owner, dashboard_state, image_hash, dashboard_metadata, callback) {\\n  this.output.writeMessageBegin('replace_dashboard', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_replace_dashboard_args();\\n  args.session = session;\\n  args.dashboard_id = dashboard_id;\\n  args.dashboard_name = dashboard_name;\\n  args.dashboard_owner = dashboard_owner;\\n  args.dashboard_state = dashboard_state;\\n  args.image_hash = image_hash;\\n  args.dashboard_metadata = dashboard_metadata;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_replace_dashboard();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_replace_dashboard = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_replace_dashboard_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.delete_dashboard = function(session, dashboard_id, callback) {\\n  this.send_delete_dashboard(session, dashboard_id, callback); \\n  if (!callback) {\\n  this.recv_delete_dashboard();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_delete_dashboard = function(session, dashboard_id, callback) {\\n  this.output.writeMessageBegin('delete_dashboard', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_delete_dashboard_args();\\n  args.session = session;\\n  args.dashboard_id = dashboard_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_delete_dashboard();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_delete_dashboard = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_delete_dashboard_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.share_dashboards = function(session, dashboard_ids, groups, permissions, callback) {\\n  this.send_share_dashboards(session, dashboard_ids, groups, permissions, callback); \\n  if (!callback) {\\n  this.recv_share_dashboards();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_share_dashboards = function(session, dashboard_ids, groups, permissions, callback) {\\n  this.output.writeMessageBegin('share_dashboards', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_share_dashboards_args();\\n  args.session = session;\\n  args.dashboard_ids = dashboard_ids;\\n  args.groups = groups;\\n  args.permissions = permissions;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_share_dashboards();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_share_dashboards = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_share_dashboards_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.delete_dashboards = function(session, dashboard_ids, callback) {\\n  this.send_delete_dashboards(session, dashboard_ids, callback); \\n  if (!callback) {\\n  this.recv_delete_dashboards();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_delete_dashboards = function(session, dashboard_ids, callback) {\\n  this.output.writeMessageBegin('delete_dashboards', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_delete_dashboards_args();\\n  args.session = session;\\n  args.dashboard_ids = dashboard_ids;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_delete_dashboards();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_delete_dashboards = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_delete_dashboards_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.share_dashboard = function(session, dashboard_id, groups, objects, permissions, grant_role, callback) {\\n  this.send_share_dashboard(session, dashboard_id, groups, objects, permissions, grant_role, callback); \\n  if (!callback) {\\n  this.recv_share_dashboard();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_share_dashboard = function(session, dashboard_id, groups, objects, permissions, grant_role, callback) {\\n  this.output.writeMessageBegin('share_dashboard', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_share_dashboard_args();\\n  args.session = session;\\n  args.dashboard_id = dashboard_id;\\n  args.groups = groups;\\n  args.objects = objects;\\n  args.permissions = permissions;\\n  args.grant_role = grant_role;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_share_dashboard();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_share_dashboard = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_share_dashboard_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.unshare_dashboard = function(session, dashboard_id, groups, objects, permissions, callback) {\\n  this.send_unshare_dashboard(session, dashboard_id, groups, objects, permissions, callback); \\n  if (!callback) {\\n  this.recv_unshare_dashboard();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_unshare_dashboard = function(session, dashboard_id, groups, objects, permissions, callback) {\\n  this.output.writeMessageBegin('unshare_dashboard', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_unshare_dashboard_args();\\n  args.session = session;\\n  args.dashboard_id = dashboard_id;\\n  args.groups = groups;\\n  args.objects = objects;\\n  args.permissions = permissions;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_unshare_dashboard();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_unshare_dashboard = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_unshare_dashboard_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.unshare_dashboards = function(session, dashboard_ids, groups, permissions, callback) {\\n  this.send_unshare_dashboards(session, dashboard_ids, groups, permissions, callback); \\n  if (!callback) {\\n  this.recv_unshare_dashboards();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_unshare_dashboards = function(session, dashboard_ids, groups, permissions, callback) {\\n  this.output.writeMessageBegin('unshare_dashboards', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_unshare_dashboards_args();\\n  args.session = session;\\n  args.dashboard_ids = dashboard_ids;\\n  args.groups = groups;\\n  args.permissions = permissions;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_unshare_dashboards();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_unshare_dashboards = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_unshare_dashboards_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.get_dashboard_grantees = function(session, dashboard_id, callback) {\\n  this.send_get_dashboard_grantees(session, dashboard_id, callback); \\n  if (!callback) {\\n    return this.recv_get_dashboard_grantees();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_dashboard_grantees = function(session, dashboard_id, callback) {\\n  this.output.writeMessageBegin('get_dashboard_grantees', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_dashboard_grantees_args();\\n  args.session = session;\\n  args.dashboard_id = dashboard_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_dashboard_grantees();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_dashboard_grantees = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_dashboard_grantees_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_dashboard_grantees failed: unknown result';\\n};\\nOmniSciClient.prototype.get_link_view = function(session, link, callback) {\\n  this.send_get_link_view(session, link, callback); \\n  if (!callback) {\\n    return this.recv_get_link_view();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_link_view = function(session, link, callback) {\\n  this.output.writeMessageBegin('get_link_view', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_link_view_args();\\n  args.session = session;\\n  args.link = link;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_link_view();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_link_view = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_link_view_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_link_view failed: unknown result';\\n};\\nOmniSciClient.prototype.create_link = function(session, view_state, view_metadata, callback) {\\n  this.send_create_link(session, view_state, view_metadata, callback); \\n  if (!callback) {\\n    return this.recv_create_link();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_create_link = function(session, view_state, view_metadata, callback) {\\n  this.output.writeMessageBegin('create_link', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_create_link_args();\\n  args.session = session;\\n  args.view_state = view_state;\\n  args.view_metadata = view_metadata;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_create_link();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_create_link = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_create_link_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'create_link failed: unknown result';\\n};\\nOmniSciClient.prototype.load_table_binary = function(session, table_name, rows, column_names, callback) {\\n  this.send_load_table_binary(session, table_name, rows, column_names, callback); \\n  if (!callback) {\\n  this.recv_load_table_binary();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_load_table_binary = function(session, table_name, rows, column_names, callback) {\\n  this.output.writeMessageBegin('load_table_binary', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_load_table_binary_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.rows = rows;\\n  args.column_names = column_names;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_load_table_binary();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_load_table_binary = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_load_table_binary_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.load_table_binary_columnar = function(session, table_name, cols, column_names, callback) {\\n  this.send_load_table_binary_columnar(session, table_name, cols, column_names, callback); \\n  if (!callback) {\\n  this.recv_load_table_binary_columnar();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_load_table_binary_columnar = function(session, table_name, cols, column_names, callback) {\\n  this.output.writeMessageBegin('load_table_binary_columnar', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_load_table_binary_columnar_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.cols = cols;\\n  args.column_names = column_names;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_load_table_binary_columnar();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_load_table_binary_columnar = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_load_table_binary_columnar_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.load_table_binary_arrow = function(session, table_name, arrow_stream, use_column_names, callback) {\\n  this.send_load_table_binary_arrow(session, table_name, arrow_stream, use_column_names, callback); \\n  if (!callback) {\\n  this.recv_load_table_binary_arrow();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_load_table_binary_arrow = function(session, table_name, arrow_stream, use_column_names, callback) {\\n  this.output.writeMessageBegin('load_table_binary_arrow', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_load_table_binary_arrow_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.arrow_stream = arrow_stream;\\n  args.use_column_names = use_column_names;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_load_table_binary_arrow();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_load_table_binary_arrow = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_load_table_binary_arrow_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.load_table = function(session, table_name, rows, column_names, callback) {\\n  this.send_load_table(session, table_name, rows, column_names, callback); \\n  if (!callback) {\\n  this.recv_load_table();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_load_table = function(session, table_name, rows, column_names, callback) {\\n  this.output.writeMessageBegin('load_table', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_load_table_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.rows = rows;\\n  args.column_names = column_names;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_load_table();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_load_table = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_load_table_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.detect_column_types = function(session, file_name, copy_params, callback) {\\n  this.send_detect_column_types(session, file_name, copy_params, callback); \\n  if (!callback) {\\n    return this.recv_detect_column_types();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_detect_column_types = function(session, file_name, copy_params, callback) {\\n  this.output.writeMessageBegin('detect_column_types', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_detect_column_types_args();\\n  args.session = session;\\n  args.file_name = file_name;\\n  args.copy_params = copy_params;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_detect_column_types();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_detect_column_types = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_detect_column_types_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'detect_column_types failed: unknown result';\\n};\\nOmniSciClient.prototype.create_table = function(session, table_name, row_desc, file_type, create_params, callback) {\\n  this.send_create_table(session, table_name, row_desc, file_type, create_params, callback); \\n  if (!callback) {\\n  this.recv_create_table();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_create_table = function(session, table_name, row_desc, file_type, create_params, callback) {\\n  this.output.writeMessageBegin('create_table', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_create_table_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.row_desc = row_desc;\\n  args.file_type = file_type;\\n  args.create_params = create_params;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_create_table();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_create_table = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_create_table_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.import_table = function(session, table_name, file_name, copy_params, callback) {\\n  this.send_import_table(session, table_name, file_name, copy_params, callback); \\n  if (!callback) {\\n  this.recv_import_table();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_import_table = function(session, table_name, file_name, copy_params, callback) {\\n  this.output.writeMessageBegin('import_table', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_import_table_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.file_name = file_name;\\n  args.copy_params = copy_params;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_import_table();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_import_table = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_import_table_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.import_geo_table = function(session, table_name, file_name, copy_params, row_desc, create_params, callback) {\\n  this.send_import_geo_table(session, table_name, file_name, copy_params, row_desc, create_params, callback); \\n  if (!callback) {\\n  this.recv_import_geo_table();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_import_geo_table = function(session, table_name, file_name, copy_params, row_desc, create_params, callback) {\\n  this.output.writeMessageBegin('import_geo_table', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_import_geo_table_args();\\n  args.session = session;\\n  args.table_name = table_name;\\n  args.file_name = file_name;\\n  args.copy_params = copy_params;\\n  args.row_desc = row_desc;\\n  args.create_params = create_params;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_import_geo_table();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_import_geo_table = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_import_geo_table_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.import_table_status = function(session, import_id, callback) {\\n  this.send_import_table_status(session, import_id, callback); \\n  if (!callback) {\\n    return this.recv_import_table_status();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_import_table_status = function(session, import_id, callback) {\\n  this.output.writeMessageBegin('import_table_status', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_import_table_status_args();\\n  args.session = session;\\n  args.import_id = import_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_import_table_status();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_import_table_status = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_import_table_status_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'import_table_status failed: unknown result';\\n};\\nOmniSciClient.prototype.get_first_geo_file_in_archive = function(session, archive_path, copy_params, callback) {\\n  this.send_get_first_geo_file_in_archive(session, archive_path, copy_params, callback); \\n  if (!callback) {\\n    return this.recv_get_first_geo_file_in_archive();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_first_geo_file_in_archive = function(session, archive_path, copy_params, callback) {\\n  this.output.writeMessageBegin('get_first_geo_file_in_archive', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_first_geo_file_in_archive_args();\\n  args.session = session;\\n  args.archive_path = archive_path;\\n  args.copy_params = copy_params;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_first_geo_file_in_archive();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_first_geo_file_in_archive = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_first_geo_file_in_archive_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_first_geo_file_in_archive failed: unknown result';\\n};\\nOmniSciClient.prototype.get_all_files_in_archive = function(session, archive_path, copy_params, callback) {\\n  this.send_get_all_files_in_archive(session, archive_path, copy_params, callback); \\n  if (!callback) {\\n    return this.recv_get_all_files_in_archive();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_all_files_in_archive = function(session, archive_path, copy_params, callback) {\\n  this.output.writeMessageBegin('get_all_files_in_archive', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_all_files_in_archive_args();\\n  args.session = session;\\n  args.archive_path = archive_path;\\n  args.copy_params = copy_params;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_all_files_in_archive();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_all_files_in_archive = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_all_files_in_archive_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_all_files_in_archive failed: unknown result';\\n};\\nOmniSciClient.prototype.get_layers_in_geo_file = function(session, file_name, copy_params, callback) {\\n  this.send_get_layers_in_geo_file(session, file_name, copy_params, callback); \\n  if (!callback) {\\n    return this.recv_get_layers_in_geo_file();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_layers_in_geo_file = function(session, file_name, copy_params, callback) {\\n  this.output.writeMessageBegin('get_layers_in_geo_file', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_layers_in_geo_file_args();\\n  args.session = session;\\n  args.file_name = file_name;\\n  args.copy_params = copy_params;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_layers_in_geo_file();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_layers_in_geo_file = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_layers_in_geo_file_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_layers_in_geo_file failed: unknown result';\\n};\\nOmniSciClient.prototype.query_get_outer_fragment_count = function(session, query, callback) {\\n  this.send_query_get_outer_fragment_count(session, query, callback); \\n  if (!callback) {\\n    return this.recv_query_get_outer_fragment_count();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_query_get_outer_fragment_count = function(session, query, callback) {\\n  this.output.writeMessageBegin('query_get_outer_fragment_count', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_query_get_outer_fragment_count_args();\\n  args.session = session;\\n  args.query = query;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_query_get_outer_fragment_count();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_query_get_outer_fragment_count = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_query_get_outer_fragment_count_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'query_get_outer_fragment_count failed: unknown result';\\n};\\nOmniSciClient.prototype.check_table_consistency = function(session, table_id, callback) {\\n  this.send_check_table_consistency(session, table_id, callback); \\n  if (!callback) {\\n    return this.recv_check_table_consistency();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_check_table_consistency = function(session, table_id, callback) {\\n  this.output.writeMessageBegin('check_table_consistency', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_check_table_consistency_args();\\n  args.session = session;\\n  args.table_id = table_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_check_table_consistency();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_check_table_consistency = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_check_table_consistency_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'check_table_consistency failed: unknown result';\\n};\\nOmniSciClient.prototype.start_query = function(leaf_session, parent_session, query_ra, just_explain, outer_fragment_indices, callback) {\\n  this.send_start_query(leaf_session, parent_session, query_ra, just_explain, outer_fragment_indices, callback); \\n  if (!callback) {\\n    return this.recv_start_query();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_start_query = function(leaf_session, parent_session, query_ra, just_explain, outer_fragment_indices, callback) {\\n  this.output.writeMessageBegin('start_query', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_start_query_args();\\n  args.leaf_session = leaf_session;\\n  args.parent_session = parent_session;\\n  args.query_ra = query_ra;\\n  args.just_explain = just_explain;\\n  args.outer_fragment_indices = outer_fragment_indices;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_start_query();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_start_query = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_start_query_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'start_query failed: unknown result';\\n};\\nOmniSciClient.prototype.execute_query_step = function(pending_query, subquery_id, callback) {\\n  this.send_execute_query_step(pending_query, subquery_id, callback); \\n  if (!callback) {\\n    return this.recv_execute_query_step();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_execute_query_step = function(pending_query, subquery_id, callback) {\\n  this.output.writeMessageBegin('execute_query_step', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_execute_query_step_args();\\n  args.pending_query = pending_query;\\n  args.subquery_id = subquery_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_execute_query_step();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_execute_query_step = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_execute_query_step_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'execute_query_step failed: unknown result';\\n};\\nOmniSciClient.prototype.broadcast_serialized_rows = function(serialized_rows, row_desc, query_id, subquery_id, is_final_subquery_result, callback) {\\n  this.send_broadcast_serialized_rows(serialized_rows, row_desc, query_id, subquery_id, is_final_subquery_result, callback); \\n  if (!callback) {\\n  this.recv_broadcast_serialized_rows();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_broadcast_serialized_rows = function(serialized_rows, row_desc, query_id, subquery_id, is_final_subquery_result, callback) {\\n  this.output.writeMessageBegin('broadcast_serialized_rows', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_broadcast_serialized_rows_args();\\n  args.serialized_rows = serialized_rows;\\n  args.row_desc = row_desc;\\n  args.query_id = query_id;\\n  args.subquery_id = subquery_id;\\n  args.is_final_subquery_result = is_final_subquery_result;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_broadcast_serialized_rows();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_broadcast_serialized_rows = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_broadcast_serialized_rows_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.start_render_query = function(session, widget_id, node_idx, vega_json, callback) {\\n  this.send_start_render_query(session, widget_id, node_idx, vega_json, callback); \\n  if (!callback) {\\n    return this.recv_start_render_query();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_start_render_query = function(session, widget_id, node_idx, vega_json, callback) {\\n  this.output.writeMessageBegin('start_render_query', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_start_render_query_args();\\n  args.session = session;\\n  args.widget_id = widget_id;\\n  args.node_idx = node_idx;\\n  args.vega_json = vega_json;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_start_render_query();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_start_render_query = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_start_render_query_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'start_render_query failed: unknown result';\\n};\\nOmniSciClient.prototype.execute_next_render_step = function(pending_render, merged_data, callback) {\\n  this.send_execute_next_render_step(pending_render, merged_data, callback); \\n  if (!callback) {\\n    return this.recv_execute_next_render_step();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_execute_next_render_step = function(pending_render, merged_data, callback) {\\n  this.output.writeMessageBegin('execute_next_render_step', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_execute_next_render_step_args();\\n  args.pending_render = pending_render;\\n  args.merged_data = merged_data;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_execute_next_render_step();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_execute_next_render_step = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_execute_next_render_step_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'execute_next_render_step failed: unknown result';\\n};\\nOmniSciClient.prototype.insert_data = function(session, insert_data, callback) {\\n  this.send_insert_data(session, insert_data, callback); \\n  if (!callback) {\\n  this.recv_insert_data();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_insert_data = function(session, insert_data, callback) {\\n  this.output.writeMessageBegin('insert_data', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_insert_data_args();\\n  args.session = session;\\n  args.insert_data = insert_data;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_insert_data();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_insert_data = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_insert_data_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.checkpoint = function(session, table_id, callback) {\\n  this.send_checkpoint(session, table_id, callback); \\n  if (!callback) {\\n  this.recv_checkpoint();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_checkpoint = function(session, table_id, callback) {\\n  this.output.writeMessageBegin('checkpoint', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_checkpoint_args();\\n  args.session = session;\\n  args.table_id = table_id;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_checkpoint();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_checkpoint = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_checkpoint_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\nOmniSciClient.prototype.get_roles = function(session, callback) {\\n  this.send_get_roles(session, callback); \\n  if (!callback) {\\n    return this.recv_get_roles();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_roles = function(session, callback) {\\n  this.output.writeMessageBegin('get_roles', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_roles_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_roles();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_roles = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_roles_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_roles failed: unknown result';\\n};\\nOmniSciClient.prototype.get_db_objects_for_grantee = function(session, roleName, callback) {\\n  this.send_get_db_objects_for_grantee(session, roleName, callback); \\n  if (!callback) {\\n    return this.recv_get_db_objects_for_grantee();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_db_objects_for_grantee = function(session, roleName, callback) {\\n  this.output.writeMessageBegin('get_db_objects_for_grantee', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_db_objects_for_grantee_args();\\n  args.session = session;\\n  args.roleName = roleName;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_db_objects_for_grantee();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_db_objects_for_grantee = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_db_objects_for_grantee_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_db_objects_for_grantee failed: unknown result';\\n};\\nOmniSciClient.prototype.get_db_object_privs = function(session, objectName, type, callback) {\\n  this.send_get_db_object_privs(session, objectName, type, callback); \\n  if (!callback) {\\n    return this.recv_get_db_object_privs();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_db_object_privs = function(session, objectName, type, callback) {\\n  this.output.writeMessageBegin('get_db_object_privs', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_db_object_privs_args();\\n  args.session = session;\\n  args.objectName = objectName;\\n  args.type = type;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_db_object_privs();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_db_object_privs = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_db_object_privs_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_db_object_privs failed: unknown result';\\n};\\nOmniSciClient.prototype.get_all_roles_for_user = function(session, userName, callback) {\\n  this.send_get_all_roles_for_user(session, userName, callback); \\n  if (!callback) {\\n    return this.recv_get_all_roles_for_user();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_all_roles_for_user = function(session, userName, callback) {\\n  this.output.writeMessageBegin('get_all_roles_for_user', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_all_roles_for_user_args();\\n  args.session = session;\\n  args.userName = userName;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_all_roles_for_user();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_all_roles_for_user = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_all_roles_for_user_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_all_roles_for_user failed: unknown result';\\n};\\nOmniSciClient.prototype.has_role = function(session, granteeName, roleName, callback) {\\n  this.send_has_role(session, granteeName, roleName, callback); \\n  if (!callback) {\\n    return this.recv_has_role();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_has_role = function(session, granteeName, roleName, callback) {\\n  this.output.writeMessageBegin('has_role', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_has_role_args();\\n  args.session = session;\\n  args.granteeName = granteeName;\\n  args.roleName = roleName;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_has_role();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_has_role = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_has_role_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'has_role failed: unknown result';\\n};\\nOmniSciClient.prototype.has_object_privilege = function(session, granteeName, ObjectName, objectType, permissions, callback) {\\n  this.send_has_object_privilege(session, granteeName, ObjectName, objectType, permissions, callback); \\n  if (!callback) {\\n    return this.recv_has_object_privilege();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_has_object_privilege = function(session, granteeName, ObjectName, objectType, permissions, callback) {\\n  this.output.writeMessageBegin('has_object_privilege', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_has_object_privilege_args();\\n  args.session = session;\\n  args.granteeName = granteeName;\\n  args.ObjectName = ObjectName;\\n  args.objectType = objectType;\\n  args.permissions = permissions;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_has_object_privilege();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_has_object_privilege = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_has_object_privilege_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'has_object_privilege failed: unknown result';\\n};\\nOmniSciClient.prototype.set_license_key = function(session, key, nonce, callback) {\\n  this.send_set_license_key(session, key, nonce, callback); \\n  if (!callback) {\\n    return this.recv_set_license_key();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_set_license_key = function(session, key, nonce, callback) {\\n  this.output.writeMessageBegin('set_license_key', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_set_license_key_args();\\n  args.session = session;\\n  args.key = key;\\n  args.nonce = nonce;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_set_license_key();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_set_license_key = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_set_license_key_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'set_license_key failed: unknown result';\\n};\\nOmniSciClient.prototype.get_license_claims = function(session, nonce, callback) {\\n  this.send_get_license_claims(session, nonce, callback); \\n  if (!callback) {\\n    return this.recv_get_license_claims();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_license_claims = function(session, nonce, callback) {\\n  this.output.writeMessageBegin('get_license_claims', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_license_claims_args();\\n  args.session = session;\\n  args.nonce = nonce;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_license_claims();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_license_claims = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_license_claims_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_license_claims failed: unknown result';\\n};\\nOmniSciClient.prototype.get_device_parameters = function(session, callback) {\\n  this.send_get_device_parameters(session, callback); \\n  if (!callback) {\\n    return this.recv_get_device_parameters();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_get_device_parameters = function(session, callback) {\\n  this.output.writeMessageBegin('get_device_parameters', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_get_device_parameters_args();\\n  args.session = session;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_get_device_parameters();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_get_device_parameters = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_get_device_parameters_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  if (null !== result.success) {\\n    return result.success;\\n  }\\n  throw 'get_device_parameters failed: unknown result';\\n};\\nOmniSciClient.prototype.register_runtime_extension_functions = function(session, udfs, udtfs, device_ir_map, callback) {\\n  this.send_register_runtime_extension_functions(session, udfs, udtfs, device_ir_map, callback); \\n  if (!callback) {\\n  this.recv_register_runtime_extension_functions();\\n  }\\n};\\n\\nOmniSciClient.prototype.send_register_runtime_extension_functions = function(session, udfs, udtfs, device_ir_map, callback) {\\n  this.output.writeMessageBegin('register_runtime_extension_functions', Thrift.MessageType.CALL, this.seqid);\\n  var args = new OmniSci_register_runtime_extension_functions_args();\\n  args.session = session;\\n  args.udfs = udfs;\\n  args.udtfs = udtfs;\\n  args.device_ir_map = device_ir_map;\\n  args.write(this.output);\\n  this.output.writeMessageEnd();\\n  if (callback) {\\n    var self = this;\\n    this.output.getTransport().flush(true, function() {\\n      var result = null;\\n      try {\\n        result = self.recv_register_runtime_extension_functions();\\n      } catch (e) {\\n        result = e;\\n      }\\n      callback(result);\\n    });\\n  } else {\\n    return this.output.getTransport().flush();\\n  }\\n};\\n\\nOmniSciClient.prototype.recv_register_runtime_extension_functions = function() {\\n  var ret = this.input.readMessageBegin();\\n  var fname = ret.fname;\\n  var mtype = ret.mtype;\\n  var rseqid = ret.rseqid;\\n  if (mtype == Thrift.MessageType.EXCEPTION) {\\n    var x = new Thrift.TApplicationException();\\n    x.read(this.input);\\n    this.input.readMessageEnd();\\n    throw x;\\n  }\\n  var result = new OmniSci_register_runtime_extension_functions_result();\\n  result.read(this.input);\\n  this.input.readMessageEnd();\\n\\n  if (null !== result.e) {\\n    throw result.e;\\n  }\\n  return;\\n};\\n\"\n\n/***/ }),\n\n/***/ 1850:\n/***/ ((module) => {\n\nmodule.exports = \"\\\"use strict\\\"\\n//\\n// Autogenerated by Thrift Compiler (0.10.0)\\n//\\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\\n//\\n\\n\\nwindow.TDeviceType = {\\n  'CPU' : 0,\\n  'GPU' : 1\\n};\\nwindow.TDatumType = {\\n  'SMALLINT' : 0,\\n  'INT' : 1,\\n  'BIGINT' : 2,\\n  'FLOAT' : 3,\\n  'DECIMAL' : 4,\\n  'DOUBLE' : 5,\\n  'STR' : 6,\\n  'TIME' : 7,\\n  'TIMESTAMP' : 8,\\n  'DATE' : 9,\\n  'BOOL' : 10,\\n  'INTERVAL_DAY_TIME' : 11,\\n  'INTERVAL_YEAR_MONTH' : 12,\\n  'POINT' : 13,\\n  'LINESTRING' : 14,\\n  'POLYGON' : 15,\\n  'MULTIPOLYGON' : 16,\\n  'TINYINT' : 17,\\n  'GEOMETRY' : 18,\\n  'GEOGRAPHY' : 19\\n};\\nwindow.TEncodingType = {\\n  'NONE' : 0,\\n  'FIXED' : 1,\\n  'RL' : 2,\\n  'DIFF' : 3,\\n  'DICT' : 4,\\n  'SPARSE' : 5,\\n  'GEOINT' : 6,\\n  'DATE_IN_DAYS' : 7\\n};\\nwindow.TTypeInfo = function(args) {\\n  this.type = null;\\n  this.encoding = null;\\n  this.nullable = null;\\n  this.is_array = null;\\n  this.precision = null;\\n  this.scale = null;\\n  this.comp_param = null;\\n  this.size = -1;\\n  if (args) {\\n    if (args.type !== undefined && args.type !== null) {\\n      this.type = args.type;\\n    }\\n    if (args.encoding !== undefined && args.encoding !== null) {\\n      this.encoding = args.encoding;\\n    }\\n    if (args.nullable !== undefined && args.nullable !== null) {\\n      this.nullable = args.nullable;\\n    }\\n    if (args.is_array !== undefined && args.is_array !== null) {\\n      this.is_array = args.is_array;\\n    }\\n    if (args.precision !== undefined && args.precision !== null) {\\n      this.precision = args.precision;\\n    }\\n    if (args.scale !== undefined && args.scale !== null) {\\n      this.scale = args.scale;\\n    }\\n    if (args.comp_param !== undefined && args.comp_param !== null) {\\n      this.comp_param = args.comp_param;\\n    }\\n    if (args.size !== undefined && args.size !== null) {\\n      this.size = args.size;\\n    }\\n  }\\n};\\nTTypeInfo.prototype = {};\\nTTypeInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.encoding = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.nullable = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_array = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I32) {\\n        this.precision = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I32) {\\n        this.scale = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.I32) {\\n        this.comp_param = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.I32) {\\n        this.size = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTTypeInfo.prototype.write = function(output) {\\n  output.writeStructBegin('TTypeInfo');\\n  if (this.type !== null && this.type !== undefined) {\\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\\n    output.writeI32(this.type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.encoding !== null && this.encoding !== undefined) {\\n    output.writeFieldBegin('encoding', Thrift.Type.I32, 4);\\n    output.writeI32(this.encoding);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nullable !== null && this.nullable !== undefined) {\\n    output.writeFieldBegin('nullable', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.nullable);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_array !== null && this.is_array !== undefined) {\\n    output.writeFieldBegin('is_array', Thrift.Type.BOOL, 3);\\n    output.writeBool(this.is_array);\\n    output.writeFieldEnd();\\n  }\\n  if (this.precision !== null && this.precision !== undefined) {\\n    output.writeFieldBegin('precision', Thrift.Type.I32, 5);\\n    output.writeI32(this.precision);\\n    output.writeFieldEnd();\\n  }\\n  if (this.scale !== null && this.scale !== undefined) {\\n    output.writeFieldBegin('scale', Thrift.Type.I32, 6);\\n    output.writeI32(this.scale);\\n    output.writeFieldEnd();\\n  }\\n  if (this.comp_param !== null && this.comp_param !== undefined) {\\n    output.writeFieldBegin('comp_param', Thrift.Type.I32, 7);\\n    output.writeI32(this.comp_param);\\n    output.writeFieldEnd();\\n  }\\n  if (this.size !== null && this.size !== undefined) {\\n    output.writeFieldBegin('size', Thrift.Type.I32, 8);\\n    output.writeI32(this.size);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\n\"\n\n/***/ }),\n\n/***/ 217:\n/***/ ((module) => {\n\nmodule.exports = \"\\\"use strict\\\"\\n//\\n// Autogenerated by Thrift Compiler (0.10.0)\\n//\\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\\n//\\n\\n\\nwindow.TCompletionHintType = {\\n  'COLUMN' : 0,\\n  'TABLE' : 1,\\n  'VIEW' : 2,\\n  'SCHEMA' : 3,\\n  'CATALOG' : 4,\\n  'REPOSITORY' : 5,\\n  'FUNCTION' : 6,\\n  'KEYWORD' : 7\\n};\\nwindow.TCompletionHint = function(args) {\\n  this.type = null;\\n  this.hints = null;\\n  this.replaced = null;\\n  if (args) {\\n    if (args.type !== undefined && args.type !== null) {\\n      this.type = args.type;\\n    }\\n    if (args.hints !== undefined && args.hints !== null) {\\n      this.hints = Thrift.copyList(args.hints, [null]);\\n    }\\n    if (args.replaced !== undefined && args.replaced !== null) {\\n      this.replaced = args.replaced;\\n    }\\n  }\\n};\\nTCompletionHint.prototype = {};\\nTCompletionHint.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size0 = 0;\\n        var _rtmp34;\\n        this.hints = [];\\n        var _etype3 = 0;\\n        _rtmp34 = input.readListBegin();\\n        _etype3 = _rtmp34.etype;\\n        _size0 = _rtmp34.size;\\n        for (var _i5 = 0; _i5 < _size0; ++_i5)\\n        {\\n          var elem6 = null;\\n          elem6 = input.readString().value;\\n          this.hints.push(elem6);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.replaced = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTCompletionHint.prototype.write = function(output) {\\n  output.writeStructBegin('TCompletionHint');\\n  if (this.type !== null && this.type !== undefined) {\\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\\n    output.writeI32(this.type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.hints !== null && this.hints !== undefined) {\\n    output.writeFieldBegin('hints', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.STRING, this.hints.length);\\n    for (var iter7 in this.hints)\\n    {\\n      if (this.hints.hasOwnProperty(iter7))\\n      {\\n        iter7 = this.hints[iter7];\\n        output.writeString(iter7);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.replaced !== null && this.replaced !== undefined) {\\n    output.writeFieldBegin('replaced', Thrift.Type.STRING, 3);\\n    output.writeString(this.replaced);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\n\"\n\n/***/ }),\n\n/***/ 8978:\n/***/ ((module) => {\n\nmodule.exports = \"\\\"use strict\\\"\\n//\\n// Autogenerated by Thrift Compiler (0.10.0)\\n//\\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\\n//\\n\\n\\nwindow.TExecuteMode = {\\n  'GPU' : 1,\\n  'CPU' : 2\\n};\\nwindow.TFileType = {\\n  'DELIMITED' : 0,\\n  'POLYGON' : 1,\\n  'PARQUET' : 2\\n};\\nwindow.TPartitionDetail = {\\n  'DEFAULT' : 0,\\n  'REPLICATED' : 1,\\n  'SHARDED' : 2,\\n  'OTHER' : 3\\n};\\nwindow.TGeoFileLayerContents = {\\n  'EMPTY' : 0,\\n  'GEO' : 1,\\n  'NON_GEO' : 2,\\n  'UNSUPPORTED_GEO' : 3\\n};\\nwindow.TImportHeaderRow = {\\n  'AUTODETECT' : 0,\\n  'NO_HEADER' : 1,\\n  'HAS_HEADER' : 2\\n};\\nwindow.TRole = {\\n  'SERVER' : 0,\\n  'AGGREGATOR' : 1,\\n  'LEAF' : 2,\\n  'STRING_DICTIONARY' : 3\\n};\\nwindow.TMergeType = {\\n  'UNION' : 0,\\n  'REDUCE' : 1\\n};\\nwindow.TQueryType = {\\n  'UNKNOWN' : 0,\\n  'READ' : 1,\\n  'WRITE' : 2,\\n  'SCHEMA_READ' : 3,\\n  'SCHEMA_WRITE' : 4\\n};\\nwindow.TArrowTransport = {\\n  'SHARED_MEMORY' : 0,\\n  'WIRE' : 1\\n};\\nwindow.TExpressionRangeType = {\\n  'INVALID' : 0,\\n  'INTEGER' : 1,\\n  'FLOAT' : 2,\\n  'DOUBLE' : 3\\n};\\nwindow.TDBObjectType = {\\n  'AbstractDBObjectType' : 0,\\n  'DatabaseDBObjectType' : 1,\\n  'TableDBObjectType' : 2,\\n  'DashboardDBObjectType' : 3,\\n  'ViewDBObjectType' : 4,\\n  'ServerDBObjectType' : 5\\n};\\nwindow.TDatumVal = function(args) {\\n  this.int_val = null;\\n  this.real_val = null;\\n  this.str_val = null;\\n  this.arr_val = null;\\n  if (args) {\\n    if (args.int_val !== undefined && args.int_val !== null) {\\n      this.int_val = args.int_val;\\n    }\\n    if (args.real_val !== undefined && args.real_val !== null) {\\n      this.real_val = args.real_val;\\n    }\\n    if (args.str_val !== undefined && args.str_val !== null) {\\n      this.str_val = args.str_val;\\n    }\\n    if (args.arr_val !== undefined && args.arr_val !== null) {\\n      this.arr_val = Thrift.copyList(args.arr_val, [null]);\\n    }\\n  }\\n};\\nTDatumVal.prototype = {};\\nTDatumVal.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I64) {\\n        this.int_val = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.DOUBLE) {\\n        this.real_val = input.readDouble().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.str_val = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size0 = 0;\\n        var _rtmp34;\\n        this.arr_val = [];\\n        var _etype3 = 0;\\n        _rtmp34 = input.readListBegin();\\n        _etype3 = _rtmp34.etype;\\n        _size0 = _rtmp34.size;\\n        for (var _i5 = 0; _i5 < _size0; ++_i5)\\n        {\\n          var elem6 = null;\\n          elem6 = new TDatum();\\n          elem6.read(input);\\n          this.arr_val.push(elem6);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDatumVal.prototype.write = function(output) {\\n  output.writeStructBegin('TDatumVal');\\n  if (this.int_val !== null && this.int_val !== undefined) {\\n    output.writeFieldBegin('int_val', Thrift.Type.I64, 1);\\n    output.writeI64(this.int_val);\\n    output.writeFieldEnd();\\n  }\\n  if (this.real_val !== null && this.real_val !== undefined) {\\n    output.writeFieldBegin('real_val', Thrift.Type.DOUBLE, 2);\\n    output.writeDouble(this.real_val);\\n    output.writeFieldEnd();\\n  }\\n  if (this.str_val !== null && this.str_val !== undefined) {\\n    output.writeFieldBegin('str_val', Thrift.Type.STRING, 3);\\n    output.writeString(this.str_val);\\n    output.writeFieldEnd();\\n  }\\n  if (this.arr_val !== null && this.arr_val !== undefined) {\\n    output.writeFieldBegin('arr_val', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.arr_val.length);\\n    for (var iter7 in this.arr_val)\\n    {\\n      if (this.arr_val.hasOwnProperty(iter7))\\n      {\\n        iter7 = this.arr_val[iter7];\\n        iter7.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDatum = function(args) {\\n  this.val = null;\\n  this.is_null = null;\\n  if (args) {\\n    if (args.val !== undefined && args.val !== null) {\\n      this.val = new TDatumVal(args.val);\\n    }\\n    if (args.is_null !== undefined && args.is_null !== null) {\\n      this.is_null = args.is_null;\\n    }\\n  }\\n};\\nTDatum.prototype = {};\\nTDatum.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.val = new TDatumVal();\\n        this.val.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_null = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDatum.prototype.write = function(output) {\\n  output.writeStructBegin('TDatum');\\n  if (this.val !== null && this.val !== undefined) {\\n    output.writeFieldBegin('val', Thrift.Type.STRUCT, 1);\\n    this.val.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_null !== null && this.is_null !== undefined) {\\n    output.writeFieldBegin('is_null', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.is_null);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TStringValue = function(args) {\\n  this.str_val = null;\\n  this.is_null = null;\\n  if (args) {\\n    if (args.str_val !== undefined && args.str_val !== null) {\\n      this.str_val = args.str_val;\\n    }\\n    if (args.is_null !== undefined && args.is_null !== null) {\\n      this.is_null = args.is_null;\\n    }\\n  }\\n};\\nTStringValue.prototype = {};\\nTStringValue.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.str_val = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_null = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTStringValue.prototype.write = function(output) {\\n  output.writeStructBegin('TStringValue');\\n  if (this.str_val !== null && this.str_val !== undefined) {\\n    output.writeFieldBegin('str_val', Thrift.Type.STRING, 1);\\n    output.writeString(this.str_val);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_null !== null && this.is_null !== undefined) {\\n    output.writeFieldBegin('is_null', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.is_null);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TColumnType = function(args) {\\n  this.col_name = null;\\n  this.col_type = null;\\n  this.is_reserved_keyword = null;\\n  this.src_name = null;\\n  this.is_system = null;\\n  this.is_physical = null;\\n  this.col_id = null;\\n  if (args) {\\n    if (args.col_name !== undefined && args.col_name !== null) {\\n      this.col_name = args.col_name;\\n    }\\n    if (args.col_type !== undefined && args.col_type !== null) {\\n      this.col_type = new TTypeInfo(args.col_type);\\n    }\\n    if (args.is_reserved_keyword !== undefined && args.is_reserved_keyword !== null) {\\n      this.is_reserved_keyword = args.is_reserved_keyword;\\n    }\\n    if (args.src_name !== undefined && args.src_name !== null) {\\n      this.src_name = args.src_name;\\n    }\\n    if (args.is_system !== undefined && args.is_system !== null) {\\n      this.is_system = args.is_system;\\n    }\\n    if (args.is_physical !== undefined && args.is_physical !== null) {\\n      this.is_physical = args.is_physical;\\n    }\\n    if (args.col_id !== undefined && args.col_id !== null) {\\n      this.col_id = args.col_id;\\n    }\\n  }\\n};\\nTColumnType.prototype = {};\\nTColumnType.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.col_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.col_type = new TTypeInfo();\\n        this.col_type.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_reserved_keyword = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.src_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_system = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_physical = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.I64) {\\n        this.col_id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTColumnType.prototype.write = function(output) {\\n  output.writeStructBegin('TColumnType');\\n  if (this.col_name !== null && this.col_name !== undefined) {\\n    output.writeFieldBegin('col_name', Thrift.Type.STRING, 1);\\n    output.writeString(this.col_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.col_type !== null && this.col_type !== undefined) {\\n    output.writeFieldBegin('col_type', Thrift.Type.STRUCT, 2);\\n    this.col_type.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_reserved_keyword !== null && this.is_reserved_keyword !== undefined) {\\n    output.writeFieldBegin('is_reserved_keyword', Thrift.Type.BOOL, 3);\\n    output.writeBool(this.is_reserved_keyword);\\n    output.writeFieldEnd();\\n  }\\n  if (this.src_name !== null && this.src_name !== undefined) {\\n    output.writeFieldBegin('src_name', Thrift.Type.STRING, 4);\\n    output.writeString(this.src_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_system !== null && this.is_system !== undefined) {\\n    output.writeFieldBegin('is_system', Thrift.Type.BOOL, 5);\\n    output.writeBool(this.is_system);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_physical !== null && this.is_physical !== undefined) {\\n    output.writeFieldBegin('is_physical', Thrift.Type.BOOL, 6);\\n    output.writeBool(this.is_physical);\\n    output.writeFieldEnd();\\n  }\\n  if (this.col_id !== null && this.col_id !== undefined) {\\n    output.writeFieldBegin('col_id', Thrift.Type.I64, 7);\\n    output.writeI64(this.col_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TRow = function(args) {\\n  this.cols = null;\\n  if (args) {\\n    if (args.cols !== undefined && args.cols !== null) {\\n      this.cols = Thrift.copyList(args.cols, [TDatum]);\\n    }\\n  }\\n};\\nTRow.prototype = {};\\nTRow.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size8 = 0;\\n        var _rtmp312;\\n        this.cols = [];\\n        var _etype11 = 0;\\n        _rtmp312 = input.readListBegin();\\n        _etype11 = _rtmp312.etype;\\n        _size8 = _rtmp312.size;\\n        for (var _i13 = 0; _i13 < _size8; ++_i13)\\n        {\\n          var elem14 = null;\\n          elem14 = new TDatum();\\n          elem14.read(input);\\n          this.cols.push(elem14);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTRow.prototype.write = function(output) {\\n  output.writeStructBegin('TRow');\\n  if (this.cols !== null && this.cols !== undefined) {\\n    output.writeFieldBegin('cols', Thrift.Type.LIST, 1);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.cols.length);\\n    for (var iter15 in this.cols)\\n    {\\n      if (this.cols.hasOwnProperty(iter15))\\n      {\\n        iter15 = this.cols[iter15];\\n        iter15.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TColumnData = function(args) {\\n  this.int_col = null;\\n  this.real_col = null;\\n  this.str_col = null;\\n  this.arr_col = null;\\n  if (args) {\\n    if (args.int_col !== undefined && args.int_col !== null) {\\n      this.int_col = Thrift.copyList(args.int_col, [null]);\\n    }\\n    if (args.real_col !== undefined && args.real_col !== null) {\\n      this.real_col = Thrift.copyList(args.real_col, [null]);\\n    }\\n    if (args.str_col !== undefined && args.str_col !== null) {\\n      this.str_col = Thrift.copyList(args.str_col, [null]);\\n    }\\n    if (args.arr_col !== undefined && args.arr_col !== null) {\\n      this.arr_col = Thrift.copyList(args.arr_col, [null]);\\n    }\\n  }\\n};\\nTColumnData.prototype = {};\\nTColumnData.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size16 = 0;\\n        var _rtmp320;\\n        this.int_col = [];\\n        var _etype19 = 0;\\n        _rtmp320 = input.readListBegin();\\n        _etype19 = _rtmp320.etype;\\n        _size16 = _rtmp320.size;\\n        for (var _i21 = 0; _i21 < _size16; ++_i21)\\n        {\\n          var elem22 = null;\\n          elem22 = input.readI64().value;\\n          this.int_col.push(elem22);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size23 = 0;\\n        var _rtmp327;\\n        this.real_col = [];\\n        var _etype26 = 0;\\n        _rtmp327 = input.readListBegin();\\n        _etype26 = _rtmp327.etype;\\n        _size23 = _rtmp327.size;\\n        for (var _i28 = 0; _i28 < _size23; ++_i28)\\n        {\\n          var elem29 = null;\\n          elem29 = input.readDouble().value;\\n          this.real_col.push(elem29);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size30 = 0;\\n        var _rtmp334;\\n        this.str_col = [];\\n        var _etype33 = 0;\\n        _rtmp334 = input.readListBegin();\\n        _etype33 = _rtmp334.etype;\\n        _size30 = _rtmp334.size;\\n        for (var _i35 = 0; _i35 < _size30; ++_i35)\\n        {\\n          var elem36 = null;\\n          elem36 = input.readString().value;\\n          this.str_col.push(elem36);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size37 = 0;\\n        var _rtmp341;\\n        this.arr_col = [];\\n        var _etype40 = 0;\\n        _rtmp341 = input.readListBegin();\\n        _etype40 = _rtmp341.etype;\\n        _size37 = _rtmp341.size;\\n        for (var _i42 = 0; _i42 < _size37; ++_i42)\\n        {\\n          var elem43 = null;\\n          elem43 = new TColumn();\\n          elem43.read(input);\\n          this.arr_col.push(elem43);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTColumnData.prototype.write = function(output) {\\n  output.writeStructBegin('TColumnData');\\n  if (this.int_col !== null && this.int_col !== undefined) {\\n    output.writeFieldBegin('int_col', Thrift.Type.LIST, 1);\\n    output.writeListBegin(Thrift.Type.I64, this.int_col.length);\\n    for (var iter44 in this.int_col)\\n    {\\n      if (this.int_col.hasOwnProperty(iter44))\\n      {\\n        iter44 = this.int_col[iter44];\\n        output.writeI64(iter44);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.real_col !== null && this.real_col !== undefined) {\\n    output.writeFieldBegin('real_col', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.DOUBLE, this.real_col.length);\\n    for (var iter45 in this.real_col)\\n    {\\n      if (this.real_col.hasOwnProperty(iter45))\\n      {\\n        iter45 = this.real_col[iter45];\\n        output.writeDouble(iter45);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.str_col !== null && this.str_col !== undefined) {\\n    output.writeFieldBegin('str_col', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRING, this.str_col.length);\\n    for (var iter46 in this.str_col)\\n    {\\n      if (this.str_col.hasOwnProperty(iter46))\\n      {\\n        iter46 = this.str_col[iter46];\\n        output.writeString(iter46);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.arr_col !== null && this.arr_col !== undefined) {\\n    output.writeFieldBegin('arr_col', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.arr_col.length);\\n    for (var iter47 in this.arr_col)\\n    {\\n      if (this.arr_col.hasOwnProperty(iter47))\\n      {\\n        iter47 = this.arr_col[iter47];\\n        iter47.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TColumn = function(args) {\\n  this.data = null;\\n  this.nulls = null;\\n  if (args) {\\n    if (args.data !== undefined && args.data !== null) {\\n      this.data = new TColumnData(args.data);\\n    }\\n    if (args.nulls !== undefined && args.nulls !== null) {\\n      this.nulls = Thrift.copyList(args.nulls, [null]);\\n    }\\n  }\\n};\\nTColumn.prototype = {};\\nTColumn.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.data = new TColumnData();\\n        this.data.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size48 = 0;\\n        var _rtmp352;\\n        this.nulls = [];\\n        var _etype51 = 0;\\n        _rtmp352 = input.readListBegin();\\n        _etype51 = _rtmp352.etype;\\n        _size48 = _rtmp352.size;\\n        for (var _i53 = 0; _i53 < _size48; ++_i53)\\n        {\\n          var elem54 = null;\\n          elem54 = input.readBool().value;\\n          this.nulls.push(elem54);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTColumn.prototype.write = function(output) {\\n  output.writeStructBegin('TColumn');\\n  if (this.data !== null && this.data !== undefined) {\\n    output.writeFieldBegin('data', Thrift.Type.STRUCT, 1);\\n    this.data.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nulls !== null && this.nulls !== undefined) {\\n    output.writeFieldBegin('nulls', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.BOOL, this.nulls.length);\\n    for (var iter55 in this.nulls)\\n    {\\n      if (this.nulls.hasOwnProperty(iter55))\\n      {\\n        iter55 = this.nulls[iter55];\\n        output.writeBool(iter55);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TStringRow = function(args) {\\n  this.cols = null;\\n  if (args) {\\n    if (args.cols !== undefined && args.cols !== null) {\\n      this.cols = Thrift.copyList(args.cols, [TStringValue]);\\n    }\\n  }\\n};\\nTStringRow.prototype = {};\\nTStringRow.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size56 = 0;\\n        var _rtmp360;\\n        this.cols = [];\\n        var _etype59 = 0;\\n        _rtmp360 = input.readListBegin();\\n        _etype59 = _rtmp360.etype;\\n        _size56 = _rtmp360.size;\\n        for (var _i61 = 0; _i61 < _size56; ++_i61)\\n        {\\n          var elem62 = null;\\n          elem62 = new TStringValue();\\n          elem62.read(input);\\n          this.cols.push(elem62);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTStringRow.prototype.write = function(output) {\\n  output.writeStructBegin('TStringRow');\\n  if (this.cols !== null && this.cols !== undefined) {\\n    output.writeFieldBegin('cols', Thrift.Type.LIST, 1);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.cols.length);\\n    for (var iter63 in this.cols)\\n    {\\n      if (this.cols.hasOwnProperty(iter63))\\n      {\\n        iter63 = this.cols[iter63];\\n        iter63.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TKrb5Session = function(args) {\\n  this.sessionId = null;\\n  this.krbToken = null;\\n  if (args) {\\n    if (args.sessionId !== undefined && args.sessionId !== null) {\\n      this.sessionId = args.sessionId;\\n    }\\n    if (args.krbToken !== undefined && args.krbToken !== null) {\\n      this.krbToken = args.krbToken;\\n    }\\n  }\\n};\\nTKrb5Session.prototype = {};\\nTKrb5Session.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.sessionId = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.krbToken = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTKrb5Session.prototype.write = function(output) {\\n  output.writeStructBegin('TKrb5Session');\\n  if (this.sessionId !== null && this.sessionId !== undefined) {\\n    output.writeFieldBegin('sessionId', Thrift.Type.STRING, 1);\\n    output.writeString(this.sessionId);\\n    output.writeFieldEnd();\\n  }\\n  if (this.krbToken !== null && this.krbToken !== undefined) {\\n    output.writeFieldBegin('krbToken', Thrift.Type.STRING, 2);\\n    output.writeString(this.krbToken);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TStepResult = function(args) {\\n  this.serialized_rows = null;\\n  this.execution_finished = null;\\n  this.merge_type = null;\\n  this.sharded = null;\\n  this.row_desc = null;\\n  this.node_id = null;\\n  if (args) {\\n    if (args.serialized_rows !== undefined && args.serialized_rows !== null) {\\n      this.serialized_rows = new TSerializedRows(args.serialized_rows);\\n    }\\n    if (args.execution_finished !== undefined && args.execution_finished !== null) {\\n      this.execution_finished = args.execution_finished;\\n    }\\n    if (args.merge_type !== undefined && args.merge_type !== null) {\\n      this.merge_type = args.merge_type;\\n    }\\n    if (args.sharded !== undefined && args.sharded !== null) {\\n      this.sharded = args.sharded;\\n    }\\n    if (args.row_desc !== undefined && args.row_desc !== null) {\\n      this.row_desc = Thrift.copyList(args.row_desc, [TColumnType]);\\n    }\\n    if (args.node_id !== undefined && args.node_id !== null) {\\n      this.node_id = args.node_id;\\n    }\\n  }\\n};\\nTStepResult.prototype = {};\\nTStepResult.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.serialized_rows = new TSerializedRows();\\n        this.serialized_rows.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.execution_finished = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.merge_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.sharded = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size64 = 0;\\n        var _rtmp368;\\n        this.row_desc = [];\\n        var _etype67 = 0;\\n        _rtmp368 = input.readListBegin();\\n        _etype67 = _rtmp368.etype;\\n        _size64 = _rtmp368.size;\\n        for (var _i69 = 0; _i69 < _size64; ++_i69)\\n        {\\n          var elem70 = null;\\n          elem70 = new TColumnType();\\n          elem70.read(input);\\n          this.row_desc.push(elem70);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I32) {\\n        this.node_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTStepResult.prototype.write = function(output) {\\n  output.writeStructBegin('TStepResult');\\n  if (this.serialized_rows !== null && this.serialized_rows !== undefined) {\\n    output.writeFieldBegin('serialized_rows', Thrift.Type.STRUCT, 1);\\n    this.serialized_rows.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.execution_finished !== null && this.execution_finished !== undefined) {\\n    output.writeFieldBegin('execution_finished', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.execution_finished);\\n    output.writeFieldEnd();\\n  }\\n  if (this.merge_type !== null && this.merge_type !== undefined) {\\n    output.writeFieldBegin('merge_type', Thrift.Type.I32, 3);\\n    output.writeI32(this.merge_type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.sharded !== null && this.sharded !== undefined) {\\n    output.writeFieldBegin('sharded', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.sharded);\\n    output.writeFieldEnd();\\n  }\\n  if (this.row_desc !== null && this.row_desc !== undefined) {\\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 5);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\\n    for (var iter71 in this.row_desc)\\n    {\\n      if (this.row_desc.hasOwnProperty(iter71))\\n      {\\n        iter71 = this.row_desc[iter71];\\n        iter71.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.node_id !== null && this.node_id !== undefined) {\\n    output.writeFieldBegin('node_id', Thrift.Type.I32, 6);\\n    output.writeI32(this.node_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TRowSet = function(args) {\\n  this.row_desc = null;\\n  this.rows = null;\\n  this.columns = null;\\n  this.is_columnar = null;\\n  if (args) {\\n    if (args.row_desc !== undefined && args.row_desc !== null) {\\n      this.row_desc = Thrift.copyList(args.row_desc, [TColumnType]);\\n    }\\n    if (args.rows !== undefined && args.rows !== null) {\\n      this.rows = Thrift.copyList(args.rows, [TRow]);\\n    }\\n    if (args.columns !== undefined && args.columns !== null) {\\n      this.columns = Thrift.copyList(args.columns, [TColumn]);\\n    }\\n    if (args.is_columnar !== undefined && args.is_columnar !== null) {\\n      this.is_columnar = args.is_columnar;\\n    }\\n  }\\n};\\nTRowSet.prototype = {};\\nTRowSet.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size72 = 0;\\n        var _rtmp376;\\n        this.row_desc = [];\\n        var _etype75 = 0;\\n        _rtmp376 = input.readListBegin();\\n        _etype75 = _rtmp376.etype;\\n        _size72 = _rtmp376.size;\\n        for (var _i77 = 0; _i77 < _size72; ++_i77)\\n        {\\n          var elem78 = null;\\n          elem78 = new TColumnType();\\n          elem78.read(input);\\n          this.row_desc.push(elem78);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size79 = 0;\\n        var _rtmp383;\\n        this.rows = [];\\n        var _etype82 = 0;\\n        _rtmp383 = input.readListBegin();\\n        _etype82 = _rtmp383.etype;\\n        _size79 = _rtmp383.size;\\n        for (var _i84 = 0; _i84 < _size79; ++_i84)\\n        {\\n          var elem85 = null;\\n          elem85 = new TRow();\\n          elem85.read(input);\\n          this.rows.push(elem85);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size86 = 0;\\n        var _rtmp390;\\n        this.columns = [];\\n        var _etype89 = 0;\\n        _rtmp390 = input.readListBegin();\\n        _etype89 = _rtmp390.etype;\\n        _size86 = _rtmp390.size;\\n        for (var _i91 = 0; _i91 < _size86; ++_i91)\\n        {\\n          var elem92 = null;\\n          elem92 = new TColumn();\\n          elem92.read(input);\\n          this.columns.push(elem92);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_columnar = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTRowSet.prototype.write = function(output) {\\n  output.writeStructBegin('TRowSet');\\n  if (this.row_desc !== null && this.row_desc !== undefined) {\\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 1);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\\n    for (var iter93 in this.row_desc)\\n    {\\n      if (this.row_desc.hasOwnProperty(iter93))\\n      {\\n        iter93 = this.row_desc[iter93];\\n        iter93.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.rows !== null && this.rows !== undefined) {\\n    output.writeFieldBegin('rows', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.rows.length);\\n    for (var iter94 in this.rows)\\n    {\\n      if (this.rows.hasOwnProperty(iter94))\\n      {\\n        iter94 = this.rows[iter94];\\n        iter94.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.columns !== null && this.columns !== undefined) {\\n    output.writeFieldBegin('columns', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.columns.length);\\n    for (var iter95 in this.columns)\\n    {\\n      if (this.columns.hasOwnProperty(iter95))\\n      {\\n        iter95 = this.columns[iter95];\\n        iter95.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_columnar !== null && this.is_columnar !== undefined) {\\n    output.writeFieldBegin('is_columnar', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.is_columnar);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TQueryResult = function(args) {\\n  this.row_set = null;\\n  this.execution_time_ms = null;\\n  this.total_time_ms = null;\\n  this.nonce = null;\\n  this.debug = null;\\n  this.success = true;\\n  this.query_type = 0;\\n  if (args) {\\n    if (args.row_set !== undefined && args.row_set !== null) {\\n      this.row_set = new TRowSet(args.row_set);\\n    }\\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\\n      this.execution_time_ms = args.execution_time_ms;\\n    }\\n    if (args.total_time_ms !== undefined && args.total_time_ms !== null) {\\n      this.total_time_ms = args.total_time_ms;\\n    }\\n    if (args.nonce !== undefined && args.nonce !== null) {\\n      this.nonce = args.nonce;\\n    }\\n    if (args.debug !== undefined && args.debug !== null) {\\n      this.debug = args.debug;\\n    }\\n    if (args.success !== undefined && args.success !== null) {\\n      this.success = args.success;\\n    }\\n    if (args.query_type !== undefined && args.query_type !== null) {\\n      this.query_type = args.query_type;\\n    }\\n  }\\n};\\nTQueryResult.prototype = {};\\nTQueryResult.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.row_set = new TRowSet();\\n        this.row_set.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.execution_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.total_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.nonce = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.debug = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.success = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.I32) {\\n        this.query_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTQueryResult.prototype.write = function(output) {\\n  output.writeStructBegin('TQueryResult');\\n  if (this.row_set !== null && this.row_set !== undefined) {\\n    output.writeFieldBegin('row_set', Thrift.Type.STRUCT, 1);\\n    this.row_set.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 2);\\n    output.writeI64(this.execution_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.total_time_ms !== null && this.total_time_ms !== undefined) {\\n    output.writeFieldBegin('total_time_ms', Thrift.Type.I64, 3);\\n    output.writeI64(this.total_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nonce !== null && this.nonce !== undefined) {\\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 4);\\n    output.writeString(this.nonce);\\n    output.writeFieldEnd();\\n  }\\n  if (this.debug !== null && this.debug !== undefined) {\\n    output.writeFieldBegin('debug', Thrift.Type.STRING, 5);\\n    output.writeString(this.debug);\\n    output.writeFieldEnd();\\n  }\\n  if (this.success !== null && this.success !== undefined) {\\n    output.writeFieldBegin('success', Thrift.Type.BOOL, 6);\\n    output.writeBool(this.success);\\n    output.writeFieldEnd();\\n  }\\n  if (this.query_type !== null && this.query_type !== undefined) {\\n    output.writeFieldBegin('query_type', Thrift.Type.I32, 7);\\n    output.writeI32(this.query_type);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDataFrame = function(args) {\\n  this.sm_handle = null;\\n  this.sm_size = null;\\n  this.df_handle = null;\\n  this.df_size = null;\\n  this.execution_time_ms = null;\\n  this.arrow_conversion_time_ms = null;\\n  this.df_buffer = null;\\n  if (args) {\\n    if (args.sm_handle !== undefined && args.sm_handle !== null) {\\n      this.sm_handle = args.sm_handle;\\n    }\\n    if (args.sm_size !== undefined && args.sm_size !== null) {\\n      this.sm_size = args.sm_size;\\n    }\\n    if (args.df_handle !== undefined && args.df_handle !== null) {\\n      this.df_handle = args.df_handle;\\n    }\\n    if (args.df_size !== undefined && args.df_size !== null) {\\n      this.df_size = args.df_size;\\n    }\\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\\n      this.execution_time_ms = args.execution_time_ms;\\n    }\\n    if (args.arrow_conversion_time_ms !== undefined && args.arrow_conversion_time_ms !== null) {\\n      this.arrow_conversion_time_ms = args.arrow_conversion_time_ms;\\n    }\\n    if (args.df_buffer !== undefined && args.df_buffer !== null) {\\n      this.df_buffer = args.df_buffer;\\n    }\\n  }\\n};\\nTDataFrame.prototype = {};\\nTDataFrame.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.sm_handle = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.sm_size = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.df_handle = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I64) {\\n        this.df_size = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I64) {\\n        this.execution_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I64) {\\n        this.arrow_conversion_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.df_buffer = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDataFrame.prototype.write = function(output) {\\n  output.writeStructBegin('TDataFrame');\\n  if (this.sm_handle !== null && this.sm_handle !== undefined) {\\n    output.writeFieldBegin('sm_handle', Thrift.Type.STRING, 1);\\n    output.writeBinary(this.sm_handle);\\n    output.writeFieldEnd();\\n  }\\n  if (this.sm_size !== null && this.sm_size !== undefined) {\\n    output.writeFieldBegin('sm_size', Thrift.Type.I64, 2);\\n    output.writeI64(this.sm_size);\\n    output.writeFieldEnd();\\n  }\\n  if (this.df_handle !== null && this.df_handle !== undefined) {\\n    output.writeFieldBegin('df_handle', Thrift.Type.STRING, 3);\\n    output.writeBinary(this.df_handle);\\n    output.writeFieldEnd();\\n  }\\n  if (this.df_size !== null && this.df_size !== undefined) {\\n    output.writeFieldBegin('df_size', Thrift.Type.I64, 4);\\n    output.writeI64(this.df_size);\\n    output.writeFieldEnd();\\n  }\\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 5);\\n    output.writeI64(this.execution_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.arrow_conversion_time_ms !== null && this.arrow_conversion_time_ms !== undefined) {\\n    output.writeFieldBegin('arrow_conversion_time_ms', Thrift.Type.I64, 6);\\n    output.writeI64(this.arrow_conversion_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.df_buffer !== null && this.df_buffer !== undefined) {\\n    output.writeFieldBegin('df_buffer', Thrift.Type.STRING, 7);\\n    output.writeBinary(this.df_buffer);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDBInfo = function(args) {\\n  this.db_name = null;\\n  this.db_owner = null;\\n  if (args) {\\n    if (args.db_name !== undefined && args.db_name !== null) {\\n      this.db_name = args.db_name;\\n    }\\n    if (args.db_owner !== undefined && args.db_owner !== null) {\\n      this.db_owner = args.db_owner;\\n    }\\n  }\\n};\\nTDBInfo.prototype = {};\\nTDBInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.db_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.db_owner = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDBInfo.prototype.write = function(output) {\\n  output.writeStructBegin('TDBInfo');\\n  if (this.db_name !== null && this.db_name !== undefined) {\\n    output.writeFieldBegin('db_name', Thrift.Type.STRING, 1);\\n    output.writeString(this.db_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.db_owner !== null && this.db_owner !== undefined) {\\n    output.writeFieldBegin('db_owner', Thrift.Type.STRING, 2);\\n    output.writeString(this.db_owner);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TOmniSciException = function(args) {\\n  this.error_msg = null;\\n  if (args) {\\n    if (args.error_msg !== undefined && args.error_msg !== null) {\\n      this.error_msg = args.error_msg;\\n    }\\n  }\\n};\\nThrift.inherits(TOmniSciException, Thrift.TException);\\nTOmniSciException.prototype.name = 'TOmniSciException';\\nTOmniSciException.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.error_msg = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTOmniSciException.prototype.write = function(output) {\\n  output.writeStructBegin('TOmniSciException');\\n  if (this.error_msg !== null && this.error_msg !== undefined) {\\n    output.writeFieldBegin('error_msg', Thrift.Type.STRING, 1);\\n    output.writeString(this.error_msg);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TCopyParams = function(args) {\\n  this.delimiter = null;\\n  this.null_str = null;\\n  this.has_header = 0;\\n  this.quoted = null;\\n  this.quote = null;\\n  this.escape = null;\\n  this.line_delim = null;\\n  this.array_delim = null;\\n  this.array_begin = null;\\n  this.array_end = null;\\n  this.threads = null;\\n  this.file_type = 0;\\n  this.s3_access_key = null;\\n  this.s3_secret_key = null;\\n  this.s3_region = null;\\n  this.geo_coords_encoding = 6;\\n  this.geo_coords_comp_param = 32;\\n  this.geo_coords_type = 18;\\n  this.geo_coords_srid = 4326;\\n  this.sanitize_column_names = true;\\n  this.geo_layer_name = null;\\n  this.s3_endpoint = null;\\n  this.geo_assign_render_groups = true;\\n  this.geo_explode_collections = false;\\n  if (args) {\\n    if (args.delimiter !== undefined && args.delimiter !== null) {\\n      this.delimiter = args.delimiter;\\n    }\\n    if (args.null_str !== undefined && args.null_str !== null) {\\n      this.null_str = args.null_str;\\n    }\\n    if (args.has_header !== undefined && args.has_header !== null) {\\n      this.has_header = args.has_header;\\n    }\\n    if (args.quoted !== undefined && args.quoted !== null) {\\n      this.quoted = args.quoted;\\n    }\\n    if (args.quote !== undefined && args.quote !== null) {\\n      this.quote = args.quote;\\n    }\\n    if (args.escape !== undefined && args.escape !== null) {\\n      this.escape = args.escape;\\n    }\\n    if (args.line_delim !== undefined && args.line_delim !== null) {\\n      this.line_delim = args.line_delim;\\n    }\\n    if (args.array_delim !== undefined && args.array_delim !== null) {\\n      this.array_delim = args.array_delim;\\n    }\\n    if (args.array_begin !== undefined && args.array_begin !== null) {\\n      this.array_begin = args.array_begin;\\n    }\\n    if (args.array_end !== undefined && args.array_end !== null) {\\n      this.array_end = args.array_end;\\n    }\\n    if (args.threads !== undefined && args.threads !== null) {\\n      this.threads = args.threads;\\n    }\\n    if (args.file_type !== undefined && args.file_type !== null) {\\n      this.file_type = args.file_type;\\n    }\\n    if (args.s3_access_key !== undefined && args.s3_access_key !== null) {\\n      this.s3_access_key = args.s3_access_key;\\n    }\\n    if (args.s3_secret_key !== undefined && args.s3_secret_key !== null) {\\n      this.s3_secret_key = args.s3_secret_key;\\n    }\\n    if (args.s3_region !== undefined && args.s3_region !== null) {\\n      this.s3_region = args.s3_region;\\n    }\\n    if (args.geo_coords_encoding !== undefined && args.geo_coords_encoding !== null) {\\n      this.geo_coords_encoding = args.geo_coords_encoding;\\n    }\\n    if (args.geo_coords_comp_param !== undefined && args.geo_coords_comp_param !== null) {\\n      this.geo_coords_comp_param = args.geo_coords_comp_param;\\n    }\\n    if (args.geo_coords_type !== undefined && args.geo_coords_type !== null) {\\n      this.geo_coords_type = args.geo_coords_type;\\n    }\\n    if (args.geo_coords_srid !== undefined && args.geo_coords_srid !== null) {\\n      this.geo_coords_srid = args.geo_coords_srid;\\n    }\\n    if (args.sanitize_column_names !== undefined && args.sanitize_column_names !== null) {\\n      this.sanitize_column_names = args.sanitize_column_names;\\n    }\\n    if (args.geo_layer_name !== undefined && args.geo_layer_name !== null) {\\n      this.geo_layer_name = args.geo_layer_name;\\n    }\\n    if (args.s3_endpoint !== undefined && args.s3_endpoint !== null) {\\n      this.s3_endpoint = args.s3_endpoint;\\n    }\\n    if (args.geo_assign_render_groups !== undefined && args.geo_assign_render_groups !== null) {\\n      this.geo_assign_render_groups = args.geo_assign_render_groups;\\n    }\\n    if (args.geo_explode_collections !== undefined && args.geo_explode_collections !== null) {\\n      this.geo_explode_collections = args.geo_explode_collections;\\n    }\\n  }\\n};\\nTCopyParams.prototype = {};\\nTCopyParams.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.delimiter = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.null_str = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.has_header = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.quoted = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.quote = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.escape = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.line_delim = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.array_delim = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 9:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.array_begin = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 10:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.array_end = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 11:\\n      if (ftype == Thrift.Type.I32) {\\n        this.threads = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 12:\\n      if (ftype == Thrift.Type.I32) {\\n        this.file_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 13:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.s3_access_key = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 14:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.s3_secret_key = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 15:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.s3_region = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 16:\\n      if (ftype == Thrift.Type.I32) {\\n        this.geo_coords_encoding = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 17:\\n      if (ftype == Thrift.Type.I32) {\\n        this.geo_coords_comp_param = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 18:\\n      if (ftype == Thrift.Type.I32) {\\n        this.geo_coords_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 19:\\n      if (ftype == Thrift.Type.I32) {\\n        this.geo_coords_srid = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 20:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.sanitize_column_names = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 21:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.geo_layer_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 22:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.s3_endpoint = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 23:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.geo_assign_render_groups = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 24:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.geo_explode_collections = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTCopyParams.prototype.write = function(output) {\\n  output.writeStructBegin('TCopyParams');\\n  if (this.delimiter !== null && this.delimiter !== undefined) {\\n    output.writeFieldBegin('delimiter', Thrift.Type.STRING, 1);\\n    output.writeString(this.delimiter);\\n    output.writeFieldEnd();\\n  }\\n  if (this.null_str !== null && this.null_str !== undefined) {\\n    output.writeFieldBegin('null_str', Thrift.Type.STRING, 2);\\n    output.writeString(this.null_str);\\n    output.writeFieldEnd();\\n  }\\n  if (this.has_header !== null && this.has_header !== undefined) {\\n    output.writeFieldBegin('has_header', Thrift.Type.I32, 3);\\n    output.writeI32(this.has_header);\\n    output.writeFieldEnd();\\n  }\\n  if (this.quoted !== null && this.quoted !== undefined) {\\n    output.writeFieldBegin('quoted', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.quoted);\\n    output.writeFieldEnd();\\n  }\\n  if (this.quote !== null && this.quote !== undefined) {\\n    output.writeFieldBegin('quote', Thrift.Type.STRING, 5);\\n    output.writeString(this.quote);\\n    output.writeFieldEnd();\\n  }\\n  if (this.escape !== null && this.escape !== undefined) {\\n    output.writeFieldBegin('escape', Thrift.Type.STRING, 6);\\n    output.writeString(this.escape);\\n    output.writeFieldEnd();\\n  }\\n  if (this.line_delim !== null && this.line_delim !== undefined) {\\n    output.writeFieldBegin('line_delim', Thrift.Type.STRING, 7);\\n    output.writeString(this.line_delim);\\n    output.writeFieldEnd();\\n  }\\n  if (this.array_delim !== null && this.array_delim !== undefined) {\\n    output.writeFieldBegin('array_delim', Thrift.Type.STRING, 8);\\n    output.writeString(this.array_delim);\\n    output.writeFieldEnd();\\n  }\\n  if (this.array_begin !== null && this.array_begin !== undefined) {\\n    output.writeFieldBegin('array_begin', Thrift.Type.STRING, 9);\\n    output.writeString(this.array_begin);\\n    output.writeFieldEnd();\\n  }\\n  if (this.array_end !== null && this.array_end !== undefined) {\\n    output.writeFieldBegin('array_end', Thrift.Type.STRING, 10);\\n    output.writeString(this.array_end);\\n    output.writeFieldEnd();\\n  }\\n  if (this.threads !== null && this.threads !== undefined) {\\n    output.writeFieldBegin('threads', Thrift.Type.I32, 11);\\n    output.writeI32(this.threads);\\n    output.writeFieldEnd();\\n  }\\n  if (this.file_type !== null && this.file_type !== undefined) {\\n    output.writeFieldBegin('file_type', Thrift.Type.I32, 12);\\n    output.writeI32(this.file_type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.s3_access_key !== null && this.s3_access_key !== undefined) {\\n    output.writeFieldBegin('s3_access_key', Thrift.Type.STRING, 13);\\n    output.writeString(this.s3_access_key);\\n    output.writeFieldEnd();\\n  }\\n  if (this.s3_secret_key !== null && this.s3_secret_key !== undefined) {\\n    output.writeFieldBegin('s3_secret_key', Thrift.Type.STRING, 14);\\n    output.writeString(this.s3_secret_key);\\n    output.writeFieldEnd();\\n  }\\n  if (this.s3_region !== null && this.s3_region !== undefined) {\\n    output.writeFieldBegin('s3_region', Thrift.Type.STRING, 15);\\n    output.writeString(this.s3_region);\\n    output.writeFieldEnd();\\n  }\\n  if (this.geo_coords_encoding !== null && this.geo_coords_encoding !== undefined) {\\n    output.writeFieldBegin('geo_coords_encoding', Thrift.Type.I32, 16);\\n    output.writeI32(this.geo_coords_encoding);\\n    output.writeFieldEnd();\\n  }\\n  if (this.geo_coords_comp_param !== null && this.geo_coords_comp_param !== undefined) {\\n    output.writeFieldBegin('geo_coords_comp_param', Thrift.Type.I32, 17);\\n    output.writeI32(this.geo_coords_comp_param);\\n    output.writeFieldEnd();\\n  }\\n  if (this.geo_coords_type !== null && this.geo_coords_type !== undefined) {\\n    output.writeFieldBegin('geo_coords_type', Thrift.Type.I32, 18);\\n    output.writeI32(this.geo_coords_type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.geo_coords_srid !== null && this.geo_coords_srid !== undefined) {\\n    output.writeFieldBegin('geo_coords_srid', Thrift.Type.I32, 19);\\n    output.writeI32(this.geo_coords_srid);\\n    output.writeFieldEnd();\\n  }\\n  if (this.sanitize_column_names !== null && this.sanitize_column_names !== undefined) {\\n    output.writeFieldBegin('sanitize_column_names', Thrift.Type.BOOL, 20);\\n    output.writeBool(this.sanitize_column_names);\\n    output.writeFieldEnd();\\n  }\\n  if (this.geo_layer_name !== null && this.geo_layer_name !== undefined) {\\n    output.writeFieldBegin('geo_layer_name', Thrift.Type.STRING, 21);\\n    output.writeString(this.geo_layer_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.s3_endpoint !== null && this.s3_endpoint !== undefined) {\\n    output.writeFieldBegin('s3_endpoint', Thrift.Type.STRING, 22);\\n    output.writeString(this.s3_endpoint);\\n    output.writeFieldEnd();\\n  }\\n  if (this.geo_assign_render_groups !== null && this.geo_assign_render_groups !== undefined) {\\n    output.writeFieldBegin('geo_assign_render_groups', Thrift.Type.BOOL, 23);\\n    output.writeBool(this.geo_assign_render_groups);\\n    output.writeFieldEnd();\\n  }\\n  if (this.geo_explode_collections !== null && this.geo_explode_collections !== undefined) {\\n    output.writeFieldBegin('geo_explode_collections', Thrift.Type.BOOL, 24);\\n    output.writeBool(this.geo_explode_collections);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TCreateParams = function(args) {\\n  this.is_replicated = null;\\n  if (args) {\\n    if (args.is_replicated !== undefined && args.is_replicated !== null) {\\n      this.is_replicated = args.is_replicated;\\n    }\\n  }\\n};\\nTCreateParams.prototype = {};\\nTCreateParams.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_replicated = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTCreateParams.prototype.write = function(output) {\\n  output.writeStructBegin('TCreateParams');\\n  if (this.is_replicated !== null && this.is_replicated !== undefined) {\\n    output.writeFieldBegin('is_replicated', Thrift.Type.BOOL, 1);\\n    output.writeBool(this.is_replicated);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDetectResult = function(args) {\\n  this.row_set = null;\\n  this.copy_params = null;\\n  if (args) {\\n    if (args.row_set !== undefined && args.row_set !== null) {\\n      this.row_set = new TRowSet(args.row_set);\\n    }\\n    if (args.copy_params !== undefined && args.copy_params !== null) {\\n      this.copy_params = new TCopyParams(args.copy_params);\\n    }\\n  }\\n};\\nTDetectResult.prototype = {};\\nTDetectResult.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.row_set = new TRowSet();\\n        this.row_set.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.copy_params = new TCopyParams();\\n        this.copy_params.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDetectResult.prototype.write = function(output) {\\n  output.writeStructBegin('TDetectResult');\\n  if (this.row_set !== null && this.row_set !== undefined) {\\n    output.writeFieldBegin('row_set', Thrift.Type.STRUCT, 1);\\n    this.row_set.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.copy_params !== null && this.copy_params !== undefined) {\\n    output.writeFieldBegin('copy_params', Thrift.Type.STRUCT, 2);\\n    this.copy_params.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TImportStatus = function(args) {\\n  this.elapsed = null;\\n  this.rows_completed = null;\\n  this.rows_estimated = null;\\n  this.rows_rejected = null;\\n  if (args) {\\n    if (args.elapsed !== undefined && args.elapsed !== null) {\\n      this.elapsed = args.elapsed;\\n    }\\n    if (args.rows_completed !== undefined && args.rows_completed !== null) {\\n      this.rows_completed = args.rows_completed;\\n    }\\n    if (args.rows_estimated !== undefined && args.rows_estimated !== null) {\\n      this.rows_estimated = args.rows_estimated;\\n    }\\n    if (args.rows_rejected !== undefined && args.rows_rejected !== null) {\\n      this.rows_rejected = args.rows_rejected;\\n    }\\n  }\\n};\\nTImportStatus.prototype = {};\\nTImportStatus.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I64) {\\n        this.elapsed = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.rows_completed = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.rows_estimated = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I64) {\\n        this.rows_rejected = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTImportStatus.prototype.write = function(output) {\\n  output.writeStructBegin('TImportStatus');\\n  if (this.elapsed !== null && this.elapsed !== undefined) {\\n    output.writeFieldBegin('elapsed', Thrift.Type.I64, 1);\\n    output.writeI64(this.elapsed);\\n    output.writeFieldEnd();\\n  }\\n  if (this.rows_completed !== null && this.rows_completed !== undefined) {\\n    output.writeFieldBegin('rows_completed', Thrift.Type.I64, 2);\\n    output.writeI64(this.rows_completed);\\n    output.writeFieldEnd();\\n  }\\n  if (this.rows_estimated !== null && this.rows_estimated !== undefined) {\\n    output.writeFieldBegin('rows_estimated', Thrift.Type.I64, 3);\\n    output.writeI64(this.rows_estimated);\\n    output.writeFieldEnd();\\n  }\\n  if (this.rows_rejected !== null && this.rows_rejected !== undefined) {\\n    output.writeFieldBegin('rows_rejected', Thrift.Type.I64, 4);\\n    output.writeI64(this.rows_rejected);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TFrontendView = function(args) {\\n  this.view_name = null;\\n  this.view_state = null;\\n  this.image_hash = null;\\n  this.update_time = null;\\n  this.view_metadata = null;\\n  if (args) {\\n    if (args.view_name !== undefined && args.view_name !== null) {\\n      this.view_name = args.view_name;\\n    }\\n    if (args.view_state !== undefined && args.view_state !== null) {\\n      this.view_state = args.view_state;\\n    }\\n    if (args.image_hash !== undefined && args.image_hash !== null) {\\n      this.image_hash = args.image_hash;\\n    }\\n    if (args.update_time !== undefined && args.update_time !== null) {\\n      this.update_time = args.update_time;\\n    }\\n    if (args.view_metadata !== undefined && args.view_metadata !== null) {\\n      this.view_metadata = args.view_metadata;\\n    }\\n  }\\n};\\nTFrontendView.prototype = {};\\nTFrontendView.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.view_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.view_state = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.image_hash = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.update_time = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.view_metadata = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTFrontendView.prototype.write = function(output) {\\n  output.writeStructBegin('TFrontendView');\\n  if (this.view_name !== null && this.view_name !== undefined) {\\n    output.writeFieldBegin('view_name', Thrift.Type.STRING, 1);\\n    output.writeString(this.view_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.view_state !== null && this.view_state !== undefined) {\\n    output.writeFieldBegin('view_state', Thrift.Type.STRING, 2);\\n    output.writeString(this.view_state);\\n    output.writeFieldEnd();\\n  }\\n  if (this.image_hash !== null && this.image_hash !== undefined) {\\n    output.writeFieldBegin('image_hash', Thrift.Type.STRING, 3);\\n    output.writeString(this.image_hash);\\n    output.writeFieldEnd();\\n  }\\n  if (this.update_time !== null && this.update_time !== undefined) {\\n    output.writeFieldBegin('update_time', Thrift.Type.STRING, 4);\\n    output.writeString(this.update_time);\\n    output.writeFieldEnd();\\n  }\\n  if (this.view_metadata !== null && this.view_metadata !== undefined) {\\n    output.writeFieldBegin('view_metadata', Thrift.Type.STRING, 5);\\n    output.writeString(this.view_metadata);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TServerStatus = function(args) {\\n  this.read_only = null;\\n  this.version = null;\\n  this.rendering_enabled = null;\\n  this.start_time = null;\\n  this.edition = null;\\n  this.host_name = null;\\n  this.poly_rendering_enabled = null;\\n  this.role = null;\\n  if (args) {\\n    if (args.read_only !== undefined && args.read_only !== null) {\\n      this.read_only = args.read_only;\\n    }\\n    if (args.version !== undefined && args.version !== null) {\\n      this.version = args.version;\\n    }\\n    if (args.rendering_enabled !== undefined && args.rendering_enabled !== null) {\\n      this.rendering_enabled = args.rendering_enabled;\\n    }\\n    if (args.start_time !== undefined && args.start_time !== null) {\\n      this.start_time = args.start_time;\\n    }\\n    if (args.edition !== undefined && args.edition !== null) {\\n      this.edition = args.edition;\\n    }\\n    if (args.host_name !== undefined && args.host_name !== null) {\\n      this.host_name = args.host_name;\\n    }\\n    if (args.poly_rendering_enabled !== undefined && args.poly_rendering_enabled !== null) {\\n      this.poly_rendering_enabled = args.poly_rendering_enabled;\\n    }\\n    if (args.role !== undefined && args.role !== null) {\\n      this.role = args.role;\\n    }\\n  }\\n};\\nTServerStatus.prototype = {};\\nTServerStatus.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.read_only = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.version = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.rendering_enabled = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I64) {\\n        this.start_time = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.edition = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.host_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.poly_rendering_enabled = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.I32) {\\n        this.role = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTServerStatus.prototype.write = function(output) {\\n  output.writeStructBegin('TServerStatus');\\n  if (this.read_only !== null && this.read_only !== undefined) {\\n    output.writeFieldBegin('read_only', Thrift.Type.BOOL, 1);\\n    output.writeBool(this.read_only);\\n    output.writeFieldEnd();\\n  }\\n  if (this.version !== null && this.version !== undefined) {\\n    output.writeFieldBegin('version', Thrift.Type.STRING, 2);\\n    output.writeString(this.version);\\n    output.writeFieldEnd();\\n  }\\n  if (this.rendering_enabled !== null && this.rendering_enabled !== undefined) {\\n    output.writeFieldBegin('rendering_enabled', Thrift.Type.BOOL, 3);\\n    output.writeBool(this.rendering_enabled);\\n    output.writeFieldEnd();\\n  }\\n  if (this.start_time !== null && this.start_time !== undefined) {\\n    output.writeFieldBegin('start_time', Thrift.Type.I64, 4);\\n    output.writeI64(this.start_time);\\n    output.writeFieldEnd();\\n  }\\n  if (this.edition !== null && this.edition !== undefined) {\\n    output.writeFieldBegin('edition', Thrift.Type.STRING, 5);\\n    output.writeString(this.edition);\\n    output.writeFieldEnd();\\n  }\\n  if (this.host_name !== null && this.host_name !== undefined) {\\n    output.writeFieldBegin('host_name', Thrift.Type.STRING, 6);\\n    output.writeString(this.host_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.poly_rendering_enabled !== null && this.poly_rendering_enabled !== undefined) {\\n    output.writeFieldBegin('poly_rendering_enabled', Thrift.Type.BOOL, 7);\\n    output.writeBool(this.poly_rendering_enabled);\\n    output.writeFieldEnd();\\n  }\\n  if (this.role !== null && this.role !== undefined) {\\n    output.writeFieldBegin('role', Thrift.Type.I32, 8);\\n    output.writeI32(this.role);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TPixel = function(args) {\\n  this.x = null;\\n  this.y = null;\\n  if (args) {\\n    if (args.x !== undefined && args.x !== null) {\\n      this.x = args.x;\\n    }\\n    if (args.y !== undefined && args.y !== null) {\\n      this.y = args.y;\\n    }\\n  }\\n};\\nTPixel.prototype = {};\\nTPixel.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I64) {\\n        this.x = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.y = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTPixel.prototype.write = function(output) {\\n  output.writeStructBegin('TPixel');\\n  if (this.x !== null && this.x !== undefined) {\\n    output.writeFieldBegin('x', Thrift.Type.I64, 1);\\n    output.writeI64(this.x);\\n    output.writeFieldEnd();\\n  }\\n  if (this.y !== null && this.y !== undefined) {\\n    output.writeFieldBegin('y', Thrift.Type.I64, 2);\\n    output.writeI64(this.y);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TPixelTableRowResult = function(args) {\\n  this.pixel = null;\\n  this.vega_table_name = null;\\n  this.table_id = null;\\n  this.row_id = null;\\n  this.row_set = null;\\n  this.nonce = null;\\n  if (args) {\\n    if (args.pixel !== undefined && args.pixel !== null) {\\n      this.pixel = new TPixel(args.pixel);\\n    }\\n    if (args.vega_table_name !== undefined && args.vega_table_name !== null) {\\n      this.vega_table_name = args.vega_table_name;\\n    }\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = Thrift.copyList(args.table_id, [null]);\\n    }\\n    if (args.row_id !== undefined && args.row_id !== null) {\\n      this.row_id = Thrift.copyList(args.row_id, [null]);\\n    }\\n    if (args.row_set !== undefined && args.row_set !== null) {\\n      this.row_set = new TRowSet(args.row_set);\\n    }\\n    if (args.nonce !== undefined && args.nonce !== null) {\\n      this.nonce = args.nonce;\\n    }\\n  }\\n};\\nTPixelTableRowResult.prototype = {};\\nTPixelTableRowResult.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.pixel = new TPixel();\\n        this.pixel.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.vega_table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size96 = 0;\\n        var _rtmp3100;\\n        this.table_id = [];\\n        var _etype99 = 0;\\n        _rtmp3100 = input.readListBegin();\\n        _etype99 = _rtmp3100.etype;\\n        _size96 = _rtmp3100.size;\\n        for (var _i101 = 0; _i101 < _size96; ++_i101)\\n        {\\n          var elem102 = null;\\n          elem102 = input.readI64().value;\\n          this.table_id.push(elem102);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size103 = 0;\\n        var _rtmp3107;\\n        this.row_id = [];\\n        var _etype106 = 0;\\n        _rtmp3107 = input.readListBegin();\\n        _etype106 = _rtmp3107.etype;\\n        _size103 = _rtmp3107.size;\\n        for (var _i108 = 0; _i108 < _size103; ++_i108)\\n        {\\n          var elem109 = null;\\n          elem109 = input.readI64().value;\\n          this.row_id.push(elem109);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.row_set = new TRowSet();\\n        this.row_set.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.nonce = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTPixelTableRowResult.prototype.write = function(output) {\\n  output.writeStructBegin('TPixelTableRowResult');\\n  if (this.pixel !== null && this.pixel !== undefined) {\\n    output.writeFieldBegin('pixel', Thrift.Type.STRUCT, 1);\\n    this.pixel.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.vega_table_name !== null && this.vega_table_name !== undefined) {\\n    output.writeFieldBegin('vega_table_name', Thrift.Type.STRING, 2);\\n    output.writeString(this.vega_table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.I64, this.table_id.length);\\n    for (var iter110 in this.table_id)\\n    {\\n      if (this.table_id.hasOwnProperty(iter110))\\n      {\\n        iter110 = this.table_id[iter110];\\n        output.writeI64(iter110);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.row_id !== null && this.row_id !== undefined) {\\n    output.writeFieldBegin('row_id', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.I64, this.row_id.length);\\n    for (var iter111 in this.row_id)\\n    {\\n      if (this.row_id.hasOwnProperty(iter111))\\n      {\\n        iter111 = this.row_id[iter111];\\n        output.writeI64(iter111);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.row_set !== null && this.row_set !== undefined) {\\n    output.writeFieldBegin('row_set', Thrift.Type.STRUCT, 5);\\n    this.row_set.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nonce !== null && this.nonce !== undefined) {\\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 6);\\n    output.writeString(this.nonce);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TRenderResult = function(args) {\\n  this.image = null;\\n  this.nonce = null;\\n  this.execution_time_ms = null;\\n  this.render_time_ms = null;\\n  this.total_time_ms = null;\\n  this.vega_metadata = null;\\n  if (args) {\\n    if (args.image !== undefined && args.image !== null) {\\n      this.image = args.image;\\n    }\\n    if (args.nonce !== undefined && args.nonce !== null) {\\n      this.nonce = args.nonce;\\n    }\\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\\n      this.execution_time_ms = args.execution_time_ms;\\n    }\\n    if (args.render_time_ms !== undefined && args.render_time_ms !== null) {\\n      this.render_time_ms = args.render_time_ms;\\n    }\\n    if (args.total_time_ms !== undefined && args.total_time_ms !== null) {\\n      this.total_time_ms = args.total_time_ms;\\n    }\\n    if (args.vega_metadata !== undefined && args.vega_metadata !== null) {\\n      this.vega_metadata = args.vega_metadata;\\n    }\\n  }\\n};\\nTRenderResult.prototype = {};\\nTRenderResult.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.image = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.nonce = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.execution_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I64) {\\n        this.render_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I64) {\\n        this.total_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.vega_metadata = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTRenderResult.prototype.write = function(output) {\\n  output.writeStructBegin('TRenderResult');\\n  if (this.image !== null && this.image !== undefined) {\\n    output.writeFieldBegin('image', Thrift.Type.STRING, 1);\\n    output.writeBinary(this.image);\\n    output.writeFieldEnd();\\n  }\\n  if (this.nonce !== null && this.nonce !== undefined) {\\n    output.writeFieldBegin('nonce', Thrift.Type.STRING, 2);\\n    output.writeString(this.nonce);\\n    output.writeFieldEnd();\\n  }\\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 3);\\n    output.writeI64(this.execution_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.render_time_ms !== null && this.render_time_ms !== undefined) {\\n    output.writeFieldBegin('render_time_ms', Thrift.Type.I64, 4);\\n    output.writeI64(this.render_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.total_time_ms !== null && this.total_time_ms !== undefined) {\\n    output.writeFieldBegin('total_time_ms', Thrift.Type.I64, 5);\\n    output.writeI64(this.total_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.vega_metadata !== null && this.vega_metadata !== undefined) {\\n    output.writeFieldBegin('vega_metadata', Thrift.Type.STRING, 6);\\n    output.writeString(this.vega_metadata);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TGpuSpecification = function(args) {\\n  this.num_sm = null;\\n  this.clock_frequency_kHz = null;\\n  this.memory = null;\\n  this.compute_capability_major = null;\\n  this.compute_capability_minor = null;\\n  if (args) {\\n    if (args.num_sm !== undefined && args.num_sm !== null) {\\n      this.num_sm = args.num_sm;\\n    }\\n    if (args.clock_frequency_kHz !== undefined && args.clock_frequency_kHz !== null) {\\n      this.clock_frequency_kHz = args.clock_frequency_kHz;\\n    }\\n    if (args.memory !== undefined && args.memory !== null) {\\n      this.memory = args.memory;\\n    }\\n    if (args.compute_capability_major !== undefined && args.compute_capability_major !== null) {\\n      this.compute_capability_major = args.compute_capability_major;\\n    }\\n    if (args.compute_capability_minor !== undefined && args.compute_capability_minor !== null) {\\n      this.compute_capability_minor = args.compute_capability_minor;\\n    }\\n  }\\n};\\nTGpuSpecification.prototype = {};\\nTGpuSpecification.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.num_sm = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.clock_frequency_kHz = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.memory = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I16) {\\n        this.compute_capability_major = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I16) {\\n        this.compute_capability_minor = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTGpuSpecification.prototype.write = function(output) {\\n  output.writeStructBegin('TGpuSpecification');\\n  if (this.num_sm !== null && this.num_sm !== undefined) {\\n    output.writeFieldBegin('num_sm', Thrift.Type.I32, 1);\\n    output.writeI32(this.num_sm);\\n    output.writeFieldEnd();\\n  }\\n  if (this.clock_frequency_kHz !== null && this.clock_frequency_kHz !== undefined) {\\n    output.writeFieldBegin('clock_frequency_kHz', Thrift.Type.I64, 2);\\n    output.writeI64(this.clock_frequency_kHz);\\n    output.writeFieldEnd();\\n  }\\n  if (this.memory !== null && this.memory !== undefined) {\\n    output.writeFieldBegin('memory', Thrift.Type.I64, 3);\\n    output.writeI64(this.memory);\\n    output.writeFieldEnd();\\n  }\\n  if (this.compute_capability_major !== null && this.compute_capability_major !== undefined) {\\n    output.writeFieldBegin('compute_capability_major', Thrift.Type.I16, 4);\\n    output.writeI16(this.compute_capability_major);\\n    output.writeFieldEnd();\\n  }\\n  if (this.compute_capability_minor !== null && this.compute_capability_minor !== undefined) {\\n    output.writeFieldBegin('compute_capability_minor', Thrift.Type.I16, 5);\\n    output.writeI16(this.compute_capability_minor);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.THardwareInfo = function(args) {\\n  this.num_gpu_hw = null;\\n  this.num_cpu_hw = null;\\n  this.num_gpu_allocated = null;\\n  this.start_gpu = null;\\n  this.host_name = null;\\n  this.gpu_info = null;\\n  if (args) {\\n    if (args.num_gpu_hw !== undefined && args.num_gpu_hw !== null) {\\n      this.num_gpu_hw = args.num_gpu_hw;\\n    }\\n    if (args.num_cpu_hw !== undefined && args.num_cpu_hw !== null) {\\n      this.num_cpu_hw = args.num_cpu_hw;\\n    }\\n    if (args.num_gpu_allocated !== undefined && args.num_gpu_allocated !== null) {\\n      this.num_gpu_allocated = args.num_gpu_allocated;\\n    }\\n    if (args.start_gpu !== undefined && args.start_gpu !== null) {\\n      this.start_gpu = args.start_gpu;\\n    }\\n    if (args.host_name !== undefined && args.host_name !== null) {\\n      this.host_name = args.host_name;\\n    }\\n    if (args.gpu_info !== undefined && args.gpu_info !== null) {\\n      this.gpu_info = Thrift.copyList(args.gpu_info, [TGpuSpecification]);\\n    }\\n  }\\n};\\nTHardwareInfo.prototype = {};\\nTHardwareInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I16) {\\n        this.num_gpu_hw = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I16) {\\n        this.num_cpu_hw = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I16) {\\n        this.num_gpu_allocated = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I16) {\\n        this.start_gpu = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.host_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size112 = 0;\\n        var _rtmp3116;\\n        this.gpu_info = [];\\n        var _etype115 = 0;\\n        _rtmp3116 = input.readListBegin();\\n        _etype115 = _rtmp3116.etype;\\n        _size112 = _rtmp3116.size;\\n        for (var _i117 = 0; _i117 < _size112; ++_i117)\\n        {\\n          var elem118 = null;\\n          elem118 = new TGpuSpecification();\\n          elem118.read(input);\\n          this.gpu_info.push(elem118);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTHardwareInfo.prototype.write = function(output) {\\n  output.writeStructBegin('THardwareInfo');\\n  if (this.num_gpu_hw !== null && this.num_gpu_hw !== undefined) {\\n    output.writeFieldBegin('num_gpu_hw', Thrift.Type.I16, 1);\\n    output.writeI16(this.num_gpu_hw);\\n    output.writeFieldEnd();\\n  }\\n  if (this.num_cpu_hw !== null && this.num_cpu_hw !== undefined) {\\n    output.writeFieldBegin('num_cpu_hw', Thrift.Type.I16, 2);\\n    output.writeI16(this.num_cpu_hw);\\n    output.writeFieldEnd();\\n  }\\n  if (this.num_gpu_allocated !== null && this.num_gpu_allocated !== undefined) {\\n    output.writeFieldBegin('num_gpu_allocated', Thrift.Type.I16, 3);\\n    output.writeI16(this.num_gpu_allocated);\\n    output.writeFieldEnd();\\n  }\\n  if (this.start_gpu !== null && this.start_gpu !== undefined) {\\n    output.writeFieldBegin('start_gpu', Thrift.Type.I16, 4);\\n    output.writeI16(this.start_gpu);\\n    output.writeFieldEnd();\\n  }\\n  if (this.host_name !== null && this.host_name !== undefined) {\\n    output.writeFieldBegin('host_name', Thrift.Type.STRING, 5);\\n    output.writeString(this.host_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.gpu_info !== null && this.gpu_info !== undefined) {\\n    output.writeFieldBegin('gpu_info', Thrift.Type.LIST, 6);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.gpu_info.length);\\n    for (var iter119 in this.gpu_info)\\n    {\\n      if (this.gpu_info.hasOwnProperty(iter119))\\n      {\\n        iter119 = this.gpu_info[iter119];\\n        iter119.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TClusterHardwareInfo = function(args) {\\n  this.hardware_info = null;\\n  if (args) {\\n    if (args.hardware_info !== undefined && args.hardware_info !== null) {\\n      this.hardware_info = Thrift.copyList(args.hardware_info, [THardwareInfo]);\\n    }\\n  }\\n};\\nTClusterHardwareInfo.prototype = {};\\nTClusterHardwareInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size120 = 0;\\n        var _rtmp3124;\\n        this.hardware_info = [];\\n        var _etype123 = 0;\\n        _rtmp3124 = input.readListBegin();\\n        _etype123 = _rtmp3124.etype;\\n        _size120 = _rtmp3124.size;\\n        for (var _i125 = 0; _i125 < _size120; ++_i125)\\n        {\\n          var elem126 = null;\\n          elem126 = new THardwareInfo();\\n          elem126.read(input);\\n          this.hardware_info.push(elem126);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTClusterHardwareInfo.prototype.write = function(output) {\\n  output.writeStructBegin('TClusterHardwareInfo');\\n  if (this.hardware_info !== null && this.hardware_info !== undefined) {\\n    output.writeFieldBegin('hardware_info', Thrift.Type.LIST, 1);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.hardware_info.length);\\n    for (var iter127 in this.hardware_info)\\n    {\\n      if (this.hardware_info.hasOwnProperty(iter127))\\n      {\\n        iter127 = this.hardware_info[iter127];\\n        iter127.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TMemoryData = function(args) {\\n  this.slab = null;\\n  this.start_page = null;\\n  this.num_pages = null;\\n  this.touch = null;\\n  this.chunk_key = null;\\n  this.buffer_epoch = null;\\n  this.is_free = null;\\n  if (args) {\\n    if (args.slab !== undefined && args.slab !== null) {\\n      this.slab = args.slab;\\n    }\\n    if (args.start_page !== undefined && args.start_page !== null) {\\n      this.start_page = args.start_page;\\n    }\\n    if (args.num_pages !== undefined && args.num_pages !== null) {\\n      this.num_pages = args.num_pages;\\n    }\\n    if (args.touch !== undefined && args.touch !== null) {\\n      this.touch = args.touch;\\n    }\\n    if (args.chunk_key !== undefined && args.chunk_key !== null) {\\n      this.chunk_key = Thrift.copyList(args.chunk_key, [null]);\\n    }\\n    if (args.buffer_epoch !== undefined && args.buffer_epoch !== null) {\\n      this.buffer_epoch = args.buffer_epoch;\\n    }\\n    if (args.is_free !== undefined && args.is_free !== null) {\\n      this.is_free = args.is_free;\\n    }\\n  }\\n};\\nTMemoryData.prototype = {};\\nTMemoryData.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I64) {\\n        this.slab = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.start_page = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.num_pages = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.touch = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size128 = 0;\\n        var _rtmp3132;\\n        this.chunk_key = [];\\n        var _etype131 = 0;\\n        _rtmp3132 = input.readListBegin();\\n        _etype131 = _rtmp3132.etype;\\n        _size128 = _rtmp3132.size;\\n        for (var _i133 = 0; _i133 < _size128; ++_i133)\\n        {\\n          var elem134 = null;\\n          elem134 = input.readI64().value;\\n          this.chunk_key.push(elem134);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I32) {\\n        this.buffer_epoch = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_free = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTMemoryData.prototype.write = function(output) {\\n  output.writeStructBegin('TMemoryData');\\n  if (this.slab !== null && this.slab !== undefined) {\\n    output.writeFieldBegin('slab', Thrift.Type.I64, 1);\\n    output.writeI64(this.slab);\\n    output.writeFieldEnd();\\n  }\\n  if (this.start_page !== null && this.start_page !== undefined) {\\n    output.writeFieldBegin('start_page', Thrift.Type.I32, 2);\\n    output.writeI32(this.start_page);\\n    output.writeFieldEnd();\\n  }\\n  if (this.num_pages !== null && this.num_pages !== undefined) {\\n    output.writeFieldBegin('num_pages', Thrift.Type.I64, 3);\\n    output.writeI64(this.num_pages);\\n    output.writeFieldEnd();\\n  }\\n  if (this.touch !== null && this.touch !== undefined) {\\n    output.writeFieldBegin('touch', Thrift.Type.I32, 4);\\n    output.writeI32(this.touch);\\n    output.writeFieldEnd();\\n  }\\n  if (this.chunk_key !== null && this.chunk_key !== undefined) {\\n    output.writeFieldBegin('chunk_key', Thrift.Type.LIST, 5);\\n    output.writeListBegin(Thrift.Type.I64, this.chunk_key.length);\\n    for (var iter135 in this.chunk_key)\\n    {\\n      if (this.chunk_key.hasOwnProperty(iter135))\\n      {\\n        iter135 = this.chunk_key[iter135];\\n        output.writeI64(iter135);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.buffer_epoch !== null && this.buffer_epoch !== undefined) {\\n    output.writeFieldBegin('buffer_epoch', Thrift.Type.I32, 6);\\n    output.writeI32(this.buffer_epoch);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_free !== null && this.is_free !== undefined) {\\n    output.writeFieldBegin('is_free', Thrift.Type.BOOL, 7);\\n    output.writeBool(this.is_free);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TNodeMemoryInfo = function(args) {\\n  this.host_name = null;\\n  this.page_size = null;\\n  this.max_num_pages = null;\\n  this.num_pages_allocated = null;\\n  this.is_allocation_capped = null;\\n  this.node_memory_data = null;\\n  if (args) {\\n    if (args.host_name !== undefined && args.host_name !== null) {\\n      this.host_name = args.host_name;\\n    }\\n    if (args.page_size !== undefined && args.page_size !== null) {\\n      this.page_size = args.page_size;\\n    }\\n    if (args.max_num_pages !== undefined && args.max_num_pages !== null) {\\n      this.max_num_pages = args.max_num_pages;\\n    }\\n    if (args.num_pages_allocated !== undefined && args.num_pages_allocated !== null) {\\n      this.num_pages_allocated = args.num_pages_allocated;\\n    }\\n    if (args.is_allocation_capped !== undefined && args.is_allocation_capped !== null) {\\n      this.is_allocation_capped = args.is_allocation_capped;\\n    }\\n    if (args.node_memory_data !== undefined && args.node_memory_data !== null) {\\n      this.node_memory_data = Thrift.copyList(args.node_memory_data, [TMemoryData]);\\n    }\\n  }\\n};\\nTNodeMemoryInfo.prototype = {};\\nTNodeMemoryInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.host_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.page_size = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.max_num_pages = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I64) {\\n        this.num_pages_allocated = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_allocation_capped = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size136 = 0;\\n        var _rtmp3140;\\n        this.node_memory_data = [];\\n        var _etype139 = 0;\\n        _rtmp3140 = input.readListBegin();\\n        _etype139 = _rtmp3140.etype;\\n        _size136 = _rtmp3140.size;\\n        for (var _i141 = 0; _i141 < _size136; ++_i141)\\n        {\\n          var elem142 = null;\\n          elem142 = new TMemoryData();\\n          elem142.read(input);\\n          this.node_memory_data.push(elem142);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTNodeMemoryInfo.prototype.write = function(output) {\\n  output.writeStructBegin('TNodeMemoryInfo');\\n  if (this.host_name !== null && this.host_name !== undefined) {\\n    output.writeFieldBegin('host_name', Thrift.Type.STRING, 1);\\n    output.writeString(this.host_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.page_size !== null && this.page_size !== undefined) {\\n    output.writeFieldBegin('page_size', Thrift.Type.I64, 2);\\n    output.writeI64(this.page_size);\\n    output.writeFieldEnd();\\n  }\\n  if (this.max_num_pages !== null && this.max_num_pages !== undefined) {\\n    output.writeFieldBegin('max_num_pages', Thrift.Type.I64, 3);\\n    output.writeI64(this.max_num_pages);\\n    output.writeFieldEnd();\\n  }\\n  if (this.num_pages_allocated !== null && this.num_pages_allocated !== undefined) {\\n    output.writeFieldBegin('num_pages_allocated', Thrift.Type.I64, 4);\\n    output.writeI64(this.num_pages_allocated);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_allocation_capped !== null && this.is_allocation_capped !== undefined) {\\n    output.writeFieldBegin('is_allocation_capped', Thrift.Type.BOOL, 5);\\n    output.writeBool(this.is_allocation_capped);\\n    output.writeFieldEnd();\\n  }\\n  if (this.node_memory_data !== null && this.node_memory_data !== undefined) {\\n    output.writeFieldBegin('node_memory_data', Thrift.Type.LIST, 6);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.node_memory_data.length);\\n    for (var iter143 in this.node_memory_data)\\n    {\\n      if (this.node_memory_data.hasOwnProperty(iter143))\\n      {\\n        iter143 = this.node_memory_data[iter143];\\n        iter143.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TTableMeta = function(args) {\\n  this.table_name = null;\\n  this.num_cols = null;\\n  this.is_view = null;\\n  this.is_replicated = null;\\n  this.shard_count = null;\\n  this.max_rows = null;\\n  this.table_id = null;\\n  this.max_table_id = null;\\n  this.col_types = null;\\n  this.col_names = null;\\n  if (args) {\\n    if (args.table_name !== undefined && args.table_name !== null) {\\n      this.table_name = args.table_name;\\n    }\\n    if (args.num_cols !== undefined && args.num_cols !== null) {\\n      this.num_cols = args.num_cols;\\n    }\\n    if (args.is_view !== undefined && args.is_view !== null) {\\n      this.is_view = args.is_view;\\n    }\\n    if (args.is_replicated !== undefined && args.is_replicated !== null) {\\n      this.is_replicated = args.is_replicated;\\n    }\\n    if (args.shard_count !== undefined && args.shard_count !== null) {\\n      this.shard_count = args.shard_count;\\n    }\\n    if (args.max_rows !== undefined && args.max_rows !== null) {\\n      this.max_rows = args.max_rows;\\n    }\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n    if (args.max_table_id !== undefined && args.max_table_id !== null) {\\n      this.max_table_id = args.max_table_id;\\n    }\\n    if (args.col_types !== undefined && args.col_types !== null) {\\n      this.col_types = Thrift.copyList(args.col_types, [TTypeInfo]);\\n    }\\n    if (args.col_names !== undefined && args.col_names !== null) {\\n      this.col_names = Thrift.copyList(args.col_names, [null]);\\n    }\\n  }\\n};\\nTTableMeta.prototype = {};\\nTTableMeta.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.num_cols = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_view = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_replicated = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I64) {\\n        this.shard_count = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.I64) {\\n        this.max_rows = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.I64) {\\n        this.table_id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 9:\\n      if (ftype == Thrift.Type.I64) {\\n        this.max_table_id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 10:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size144 = 0;\\n        var _rtmp3148;\\n        this.col_types = [];\\n        var _etype147 = 0;\\n        _rtmp3148 = input.readListBegin();\\n        _etype147 = _rtmp3148.etype;\\n        _size144 = _rtmp3148.size;\\n        for (var _i149 = 0; _i149 < _size144; ++_i149)\\n        {\\n          var elem150 = null;\\n          elem150 = new TTypeInfo();\\n          elem150.read(input);\\n          this.col_types.push(elem150);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 11:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size151 = 0;\\n        var _rtmp3155;\\n        this.col_names = [];\\n        var _etype154 = 0;\\n        _rtmp3155 = input.readListBegin();\\n        _etype154 = _rtmp3155.etype;\\n        _size151 = _rtmp3155.size;\\n        for (var _i156 = 0; _i156 < _size151; ++_i156)\\n        {\\n          var elem157 = null;\\n          elem157 = input.readString().value;\\n          this.col_names.push(elem157);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTTableMeta.prototype.write = function(output) {\\n  output.writeStructBegin('TTableMeta');\\n  if (this.table_name !== null && this.table_name !== undefined) {\\n    output.writeFieldBegin('table_name', Thrift.Type.STRING, 1);\\n    output.writeString(this.table_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.num_cols !== null && this.num_cols !== undefined) {\\n    output.writeFieldBegin('num_cols', Thrift.Type.I64, 2);\\n    output.writeI64(this.num_cols);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_view !== null && this.is_view !== undefined) {\\n    output.writeFieldBegin('is_view', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.is_view);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_replicated !== null && this.is_replicated !== undefined) {\\n    output.writeFieldBegin('is_replicated', Thrift.Type.BOOL, 5);\\n    output.writeBool(this.is_replicated);\\n    output.writeFieldEnd();\\n  }\\n  if (this.shard_count !== null && this.shard_count !== undefined) {\\n    output.writeFieldBegin('shard_count', Thrift.Type.I64, 6);\\n    output.writeI64(this.shard_count);\\n    output.writeFieldEnd();\\n  }\\n  if (this.max_rows !== null && this.max_rows !== undefined) {\\n    output.writeFieldBegin('max_rows', Thrift.Type.I64, 7);\\n    output.writeI64(this.max_rows);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I64, 8);\\n    output.writeI64(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.max_table_id !== null && this.max_table_id !== undefined) {\\n    output.writeFieldBegin('max_table_id', Thrift.Type.I64, 9);\\n    output.writeI64(this.max_table_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.col_types !== null && this.col_types !== undefined) {\\n    output.writeFieldBegin('col_types', Thrift.Type.LIST, 10);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.col_types.length);\\n    for (var iter158 in this.col_types)\\n    {\\n      if (this.col_types.hasOwnProperty(iter158))\\n      {\\n        iter158 = this.col_types[iter158];\\n        iter158.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.col_names !== null && this.col_names !== undefined) {\\n    output.writeFieldBegin('col_names', Thrift.Type.LIST, 11);\\n    output.writeListBegin(Thrift.Type.STRING, this.col_names.length);\\n    for (var iter159 in this.col_names)\\n    {\\n      if (this.col_names.hasOwnProperty(iter159))\\n      {\\n        iter159 = this.col_names[iter159];\\n        output.writeString(iter159);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TTableDetails = function(args) {\\n  this.row_desc = null;\\n  this.fragment_size = null;\\n  this.page_size = null;\\n  this.max_rows = null;\\n  this.view_sql = null;\\n  this.shard_count = null;\\n  this.key_metainfo = null;\\n  this.is_temporary = null;\\n  this.partition_detail = null;\\n  if (args) {\\n    if (args.row_desc !== undefined && args.row_desc !== null) {\\n      this.row_desc = Thrift.copyList(args.row_desc, [TColumnType]);\\n    }\\n    if (args.fragment_size !== undefined && args.fragment_size !== null) {\\n      this.fragment_size = args.fragment_size;\\n    }\\n    if (args.page_size !== undefined && args.page_size !== null) {\\n      this.page_size = args.page_size;\\n    }\\n    if (args.max_rows !== undefined && args.max_rows !== null) {\\n      this.max_rows = args.max_rows;\\n    }\\n    if (args.view_sql !== undefined && args.view_sql !== null) {\\n      this.view_sql = args.view_sql;\\n    }\\n    if (args.shard_count !== undefined && args.shard_count !== null) {\\n      this.shard_count = args.shard_count;\\n    }\\n    if (args.key_metainfo !== undefined && args.key_metainfo !== null) {\\n      this.key_metainfo = args.key_metainfo;\\n    }\\n    if (args.is_temporary !== undefined && args.is_temporary !== null) {\\n      this.is_temporary = args.is_temporary;\\n    }\\n    if (args.partition_detail !== undefined && args.partition_detail !== null) {\\n      this.partition_detail = args.partition_detail;\\n    }\\n  }\\n};\\nTTableDetails.prototype = {};\\nTTableDetails.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size160 = 0;\\n        var _rtmp3164;\\n        this.row_desc = [];\\n        var _etype163 = 0;\\n        _rtmp3164 = input.readListBegin();\\n        _etype163 = _rtmp3164.etype;\\n        _size160 = _rtmp3164.size;\\n        for (var _i165 = 0; _i165 < _size160; ++_i165)\\n        {\\n          var elem166 = null;\\n          elem166 = new TColumnType();\\n          elem166.read(input);\\n          this.row_desc.push(elem166);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.fragment_size = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.page_size = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I64) {\\n        this.max_rows = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.view_sql = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I64) {\\n        this.shard_count = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.key_metainfo = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_temporary = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 9:\\n      if (ftype == Thrift.Type.I32) {\\n        this.partition_detail = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTTableDetails.prototype.write = function(output) {\\n  output.writeStructBegin('TTableDetails');\\n  if (this.row_desc !== null && this.row_desc !== undefined) {\\n    output.writeFieldBegin('row_desc', Thrift.Type.LIST, 1);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.row_desc.length);\\n    for (var iter167 in this.row_desc)\\n    {\\n      if (this.row_desc.hasOwnProperty(iter167))\\n      {\\n        iter167 = this.row_desc[iter167];\\n        iter167.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.fragment_size !== null && this.fragment_size !== undefined) {\\n    output.writeFieldBegin('fragment_size', Thrift.Type.I64, 2);\\n    output.writeI64(this.fragment_size);\\n    output.writeFieldEnd();\\n  }\\n  if (this.page_size !== null && this.page_size !== undefined) {\\n    output.writeFieldBegin('page_size', Thrift.Type.I64, 3);\\n    output.writeI64(this.page_size);\\n    output.writeFieldEnd();\\n  }\\n  if (this.max_rows !== null && this.max_rows !== undefined) {\\n    output.writeFieldBegin('max_rows', Thrift.Type.I64, 4);\\n    output.writeI64(this.max_rows);\\n    output.writeFieldEnd();\\n  }\\n  if (this.view_sql !== null && this.view_sql !== undefined) {\\n    output.writeFieldBegin('view_sql', Thrift.Type.STRING, 5);\\n    output.writeString(this.view_sql);\\n    output.writeFieldEnd();\\n  }\\n  if (this.shard_count !== null && this.shard_count !== undefined) {\\n    output.writeFieldBegin('shard_count', Thrift.Type.I64, 6);\\n    output.writeI64(this.shard_count);\\n    output.writeFieldEnd();\\n  }\\n  if (this.key_metainfo !== null && this.key_metainfo !== undefined) {\\n    output.writeFieldBegin('key_metainfo', Thrift.Type.STRING, 7);\\n    output.writeString(this.key_metainfo);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_temporary !== null && this.is_temporary !== undefined) {\\n    output.writeFieldBegin('is_temporary', Thrift.Type.BOOL, 8);\\n    output.writeBool(this.is_temporary);\\n    output.writeFieldEnd();\\n  }\\n  if (this.partition_detail !== null && this.partition_detail !== undefined) {\\n    output.writeFieldBegin('partition_detail', Thrift.Type.I32, 9);\\n    output.writeI32(this.partition_detail);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TColumnRange = function(args) {\\n  this.type = null;\\n  this.col_id = null;\\n  this.table_id = null;\\n  this.has_nulls = null;\\n  this.int_min = null;\\n  this.int_max = null;\\n  this.bucket = null;\\n  this.fp_min = null;\\n  this.fp_max = null;\\n  if (args) {\\n    if (args.type !== undefined && args.type !== null) {\\n      this.type = args.type;\\n    }\\n    if (args.col_id !== undefined && args.col_id !== null) {\\n      this.col_id = args.col_id;\\n    }\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n    if (args.has_nulls !== undefined && args.has_nulls !== null) {\\n      this.has_nulls = args.has_nulls;\\n    }\\n    if (args.int_min !== undefined && args.int_min !== null) {\\n      this.int_min = args.int_min;\\n    }\\n    if (args.int_max !== undefined && args.int_max !== null) {\\n      this.int_max = args.int_max;\\n    }\\n    if (args.bucket !== undefined && args.bucket !== null) {\\n      this.bucket = args.bucket;\\n    }\\n    if (args.fp_min !== undefined && args.fp_min !== null) {\\n      this.fp_min = args.fp_min;\\n    }\\n    if (args.fp_max !== undefined && args.fp_max !== null) {\\n      this.fp_max = args.fp_max;\\n    }\\n  }\\n};\\nTColumnRange.prototype = {};\\nTColumnRange.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.col_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.has_nulls = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I64) {\\n        this.int_min = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I64) {\\n        this.int_max = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.I64) {\\n        this.bucket = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.DOUBLE) {\\n        this.fp_min = input.readDouble().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 9:\\n      if (ftype == Thrift.Type.DOUBLE) {\\n        this.fp_max = input.readDouble().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTColumnRange.prototype.write = function(output) {\\n  output.writeStructBegin('TColumnRange');\\n  if (this.type !== null && this.type !== undefined) {\\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\\n    output.writeI32(this.type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.col_id !== null && this.col_id !== undefined) {\\n    output.writeFieldBegin('col_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.col_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 3);\\n    output.writeI32(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.has_nulls !== null && this.has_nulls !== undefined) {\\n    output.writeFieldBegin('has_nulls', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.has_nulls);\\n    output.writeFieldEnd();\\n  }\\n  if (this.int_min !== null && this.int_min !== undefined) {\\n    output.writeFieldBegin('int_min', Thrift.Type.I64, 5);\\n    output.writeI64(this.int_min);\\n    output.writeFieldEnd();\\n  }\\n  if (this.int_max !== null && this.int_max !== undefined) {\\n    output.writeFieldBegin('int_max', Thrift.Type.I64, 6);\\n    output.writeI64(this.int_max);\\n    output.writeFieldEnd();\\n  }\\n  if (this.bucket !== null && this.bucket !== undefined) {\\n    output.writeFieldBegin('bucket', Thrift.Type.I64, 7);\\n    output.writeI64(this.bucket);\\n    output.writeFieldEnd();\\n  }\\n  if (this.fp_min !== null && this.fp_min !== undefined) {\\n    output.writeFieldBegin('fp_min', Thrift.Type.DOUBLE, 8);\\n    output.writeDouble(this.fp_min);\\n    output.writeFieldEnd();\\n  }\\n  if (this.fp_max !== null && this.fp_max !== undefined) {\\n    output.writeFieldBegin('fp_max', Thrift.Type.DOUBLE, 9);\\n    output.writeDouble(this.fp_max);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDictionaryGeneration = function(args) {\\n  this.dict_id = null;\\n  this.entry_count = null;\\n  if (args) {\\n    if (args.dict_id !== undefined && args.dict_id !== null) {\\n      this.dict_id = args.dict_id;\\n    }\\n    if (args.entry_count !== undefined && args.entry_count !== null) {\\n      this.entry_count = args.entry_count;\\n    }\\n  }\\n};\\nTDictionaryGeneration.prototype = {};\\nTDictionaryGeneration.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.dict_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.entry_count = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDictionaryGeneration.prototype.write = function(output) {\\n  output.writeStructBegin('TDictionaryGeneration');\\n  if (this.dict_id !== null && this.dict_id !== undefined) {\\n    output.writeFieldBegin('dict_id', Thrift.Type.I32, 1);\\n    output.writeI32(this.dict_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.entry_count !== null && this.entry_count !== undefined) {\\n    output.writeFieldBegin('entry_count', Thrift.Type.I64, 2);\\n    output.writeI64(this.entry_count);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TTableGeneration = function(args) {\\n  this.table_id = null;\\n  this.tuple_count = null;\\n  this.start_rowid = null;\\n  if (args) {\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n    if (args.tuple_count !== undefined && args.tuple_count !== null) {\\n      this.tuple_count = args.tuple_count;\\n    }\\n    if (args.start_rowid !== undefined && args.start_rowid !== null) {\\n      this.start_rowid = args.start_rowid;\\n    }\\n  }\\n};\\nTTableGeneration.prototype = {};\\nTTableGeneration.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.tuple_count = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.start_rowid = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTTableGeneration.prototype.write = function(output) {\\n  output.writeStructBegin('TTableGeneration');\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 1);\\n    output.writeI32(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.tuple_count !== null && this.tuple_count !== undefined) {\\n    output.writeFieldBegin('tuple_count', Thrift.Type.I64, 2);\\n    output.writeI64(this.tuple_count);\\n    output.writeFieldEnd();\\n  }\\n  if (this.start_rowid !== null && this.start_rowid !== undefined) {\\n    output.writeFieldBegin('start_rowid', Thrift.Type.I64, 3);\\n    output.writeI64(this.start_rowid);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TPendingQuery = function(args) {\\n  this.id = null;\\n  this.column_ranges = null;\\n  this.dictionary_generations = null;\\n  this.table_generations = null;\\n  this.parent_session_id = null;\\n  if (args) {\\n    if (args.id !== undefined && args.id !== null) {\\n      this.id = args.id;\\n    }\\n    if (args.column_ranges !== undefined && args.column_ranges !== null) {\\n      this.column_ranges = Thrift.copyList(args.column_ranges, [TColumnRange]);\\n    }\\n    if (args.dictionary_generations !== undefined && args.dictionary_generations !== null) {\\n      this.dictionary_generations = Thrift.copyList(args.dictionary_generations, [TDictionaryGeneration]);\\n    }\\n    if (args.table_generations !== undefined && args.table_generations !== null) {\\n      this.table_generations = Thrift.copyList(args.table_generations, [TTableGeneration]);\\n    }\\n    if (args.parent_session_id !== undefined && args.parent_session_id !== null) {\\n      this.parent_session_id = args.parent_session_id;\\n    }\\n  }\\n};\\nTPendingQuery.prototype = {};\\nTPendingQuery.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I64) {\\n        this.id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size168 = 0;\\n        var _rtmp3172;\\n        this.column_ranges = [];\\n        var _etype171 = 0;\\n        _rtmp3172 = input.readListBegin();\\n        _etype171 = _rtmp3172.etype;\\n        _size168 = _rtmp3172.size;\\n        for (var _i173 = 0; _i173 < _size168; ++_i173)\\n        {\\n          var elem174 = null;\\n          elem174 = new TColumnRange();\\n          elem174.read(input);\\n          this.column_ranges.push(elem174);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size175 = 0;\\n        var _rtmp3179;\\n        this.dictionary_generations = [];\\n        var _etype178 = 0;\\n        _rtmp3179 = input.readListBegin();\\n        _etype178 = _rtmp3179.etype;\\n        _size175 = _rtmp3179.size;\\n        for (var _i180 = 0; _i180 < _size175; ++_i180)\\n        {\\n          var elem181 = null;\\n          elem181 = new TDictionaryGeneration();\\n          elem181.read(input);\\n          this.dictionary_generations.push(elem181);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size182 = 0;\\n        var _rtmp3186;\\n        this.table_generations = [];\\n        var _etype185 = 0;\\n        _rtmp3186 = input.readListBegin();\\n        _etype185 = _rtmp3186.etype;\\n        _size182 = _rtmp3186.size;\\n        for (var _i187 = 0; _i187 < _size182; ++_i187)\\n        {\\n          var elem188 = null;\\n          elem188 = new TTableGeneration();\\n          elem188.read(input);\\n          this.table_generations.push(elem188);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.parent_session_id = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTPendingQuery.prototype.write = function(output) {\\n  output.writeStructBegin('TPendingQuery');\\n  if (this.id !== null && this.id !== undefined) {\\n    output.writeFieldBegin('id', Thrift.Type.I64, 1);\\n    output.writeI64(this.id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.column_ranges !== null && this.column_ranges !== undefined) {\\n    output.writeFieldBegin('column_ranges', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.column_ranges.length);\\n    for (var iter189 in this.column_ranges)\\n    {\\n      if (this.column_ranges.hasOwnProperty(iter189))\\n      {\\n        iter189 = this.column_ranges[iter189];\\n        iter189.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.dictionary_generations !== null && this.dictionary_generations !== undefined) {\\n    output.writeFieldBegin('dictionary_generations', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.dictionary_generations.length);\\n    for (var iter190 in this.dictionary_generations)\\n    {\\n      if (this.dictionary_generations.hasOwnProperty(iter190))\\n      {\\n        iter190 = this.dictionary_generations[iter190];\\n        iter190.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_generations !== null && this.table_generations !== undefined) {\\n    output.writeFieldBegin('table_generations', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.table_generations.length);\\n    for (var iter191 in this.table_generations)\\n    {\\n      if (this.table_generations.hasOwnProperty(iter191))\\n      {\\n        iter191 = this.table_generations[iter191];\\n        iter191.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.parent_session_id !== null && this.parent_session_id !== undefined) {\\n    output.writeFieldBegin('parent_session_id', Thrift.Type.STRING, 5);\\n    output.writeString(this.parent_session_id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TVarLen = function(args) {\\n  this.payload = null;\\n  this.is_null = null;\\n  if (args) {\\n    if (args.payload !== undefined && args.payload !== null) {\\n      this.payload = args.payload;\\n    }\\n    if (args.is_null !== undefined && args.is_null !== null) {\\n      this.is_null = args.is_null;\\n    }\\n  }\\n};\\nTVarLen.prototype = {};\\nTVarLen.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.payload = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_null = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTVarLen.prototype.write = function(output) {\\n  output.writeStructBegin('TVarLen');\\n  if (this.payload !== null && this.payload !== undefined) {\\n    output.writeFieldBegin('payload', Thrift.Type.STRING, 1);\\n    output.writeBinary(this.payload);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_null !== null && this.is_null !== undefined) {\\n    output.writeFieldBegin('is_null', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.is_null);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDataBlockPtr = function(args) {\\n  this.fixed_len_data = null;\\n  this.var_len_data = null;\\n  if (args) {\\n    if (args.fixed_len_data !== undefined && args.fixed_len_data !== null) {\\n      this.fixed_len_data = args.fixed_len_data;\\n    }\\n    if (args.var_len_data !== undefined && args.var_len_data !== null) {\\n      this.var_len_data = Thrift.copyList(args.var_len_data, [TVarLen]);\\n    }\\n  }\\n};\\nTDataBlockPtr.prototype = {};\\nTDataBlockPtr.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.fixed_len_data = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size192 = 0;\\n        var _rtmp3196;\\n        this.var_len_data = [];\\n        var _etype195 = 0;\\n        _rtmp3196 = input.readListBegin();\\n        _etype195 = _rtmp3196.etype;\\n        _size192 = _rtmp3196.size;\\n        for (var _i197 = 0; _i197 < _size192; ++_i197)\\n        {\\n          var elem198 = null;\\n          elem198 = new TVarLen();\\n          elem198.read(input);\\n          this.var_len_data.push(elem198);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDataBlockPtr.prototype.write = function(output) {\\n  output.writeStructBegin('TDataBlockPtr');\\n  if (this.fixed_len_data !== null && this.fixed_len_data !== undefined) {\\n    output.writeFieldBegin('fixed_len_data', Thrift.Type.STRING, 1);\\n    output.writeBinary(this.fixed_len_data);\\n    output.writeFieldEnd();\\n  }\\n  if (this.var_len_data !== null && this.var_len_data !== undefined) {\\n    output.writeFieldBegin('var_len_data', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.var_len_data.length);\\n    for (var iter199 in this.var_len_data)\\n    {\\n      if (this.var_len_data.hasOwnProperty(iter199))\\n      {\\n        iter199 = this.var_len_data[iter199];\\n        iter199.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TInsertData = function(args) {\\n  this.db_id = null;\\n  this.table_id = null;\\n  this.column_ids = null;\\n  this.data = null;\\n  this.num_rows = null;\\n  if (args) {\\n    if (args.db_id !== undefined && args.db_id !== null) {\\n      this.db_id = args.db_id;\\n    }\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n    if (args.column_ids !== undefined && args.column_ids !== null) {\\n      this.column_ids = Thrift.copyList(args.column_ids, [null]);\\n    }\\n    if (args.data !== undefined && args.data !== null) {\\n      this.data = Thrift.copyList(args.data, [TDataBlockPtr]);\\n    }\\n    if (args.num_rows !== undefined && args.num_rows !== null) {\\n      this.num_rows = args.num_rows;\\n    }\\n  }\\n};\\nTInsertData.prototype = {};\\nTInsertData.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.db_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size200 = 0;\\n        var _rtmp3204;\\n        this.column_ids = [];\\n        var _etype203 = 0;\\n        _rtmp3204 = input.readListBegin();\\n        _etype203 = _rtmp3204.etype;\\n        _size200 = _rtmp3204.size;\\n        for (var _i205 = 0; _i205 < _size200; ++_i205)\\n        {\\n          var elem206 = null;\\n          elem206 = input.readI32().value;\\n          this.column_ids.push(elem206);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size207 = 0;\\n        var _rtmp3211;\\n        this.data = [];\\n        var _etype210 = 0;\\n        _rtmp3211 = input.readListBegin();\\n        _etype210 = _rtmp3211.etype;\\n        _size207 = _rtmp3211.size;\\n        for (var _i212 = 0; _i212 < _size207; ++_i212)\\n        {\\n          var elem213 = null;\\n          elem213 = new TDataBlockPtr();\\n          elem213.read(input);\\n          this.data.push(elem213);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I64) {\\n        this.num_rows = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTInsertData.prototype.write = function(output) {\\n  output.writeStructBegin('TInsertData');\\n  if (this.db_id !== null && this.db_id !== undefined) {\\n    output.writeFieldBegin('db_id', Thrift.Type.I32, 1);\\n    output.writeI32(this.db_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.column_ids !== null && this.column_ids !== undefined) {\\n    output.writeFieldBegin('column_ids', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.I32, this.column_ids.length);\\n    for (var iter214 in this.column_ids)\\n    {\\n      if (this.column_ids.hasOwnProperty(iter214))\\n      {\\n        iter214 = this.column_ids[iter214];\\n        output.writeI32(iter214);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.data !== null && this.data !== undefined) {\\n    output.writeFieldBegin('data', Thrift.Type.LIST, 4);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.data.length);\\n    for (var iter215 in this.data)\\n    {\\n      if (this.data.hasOwnProperty(iter215))\\n      {\\n        iter215 = this.data[iter215];\\n        iter215.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.num_rows !== null && this.num_rows !== undefined) {\\n    output.writeFieldBegin('num_rows', Thrift.Type.I64, 5);\\n    output.writeI64(this.num_rows);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TPendingRenderQuery = function(args) {\\n  this.id = null;\\n  if (args) {\\n    if (args.id !== undefined && args.id !== null) {\\n      this.id = args.id;\\n    }\\n  }\\n};\\nTPendingRenderQuery.prototype = {};\\nTPendingRenderQuery.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I64) {\\n        this.id = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTPendingRenderQuery.prototype.write = function(output) {\\n  output.writeStructBegin('TPendingRenderQuery');\\n  if (this.id !== null && this.id !== undefined) {\\n    output.writeFieldBegin('id', Thrift.Type.I64, 1);\\n    output.writeI64(this.id);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TRenderParseResult = function(args) {\\n  this.merge_type = null;\\n  this.node_id = null;\\n  this.execution_time_ms = null;\\n  this.render_time_ms = null;\\n  this.total_time_ms = null;\\n  if (args) {\\n    if (args.merge_type !== undefined && args.merge_type !== null) {\\n      this.merge_type = args.merge_type;\\n    }\\n    if (args.node_id !== undefined && args.node_id !== null) {\\n      this.node_id = args.node_id;\\n    }\\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\\n      this.execution_time_ms = args.execution_time_ms;\\n    }\\n    if (args.render_time_ms !== undefined && args.render_time_ms !== null) {\\n      this.render_time_ms = args.render_time_ms;\\n    }\\n    if (args.total_time_ms !== undefined && args.total_time_ms !== null) {\\n      this.total_time_ms = args.total_time_ms;\\n    }\\n  }\\n};\\nTRenderParseResult.prototype = {};\\nTRenderParseResult.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.merge_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.node_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.execution_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I64) {\\n        this.render_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I64) {\\n        this.total_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTRenderParseResult.prototype.write = function(output) {\\n  output.writeStructBegin('TRenderParseResult');\\n  if (this.merge_type !== null && this.merge_type !== undefined) {\\n    output.writeFieldBegin('merge_type', Thrift.Type.I32, 1);\\n    output.writeI32(this.merge_type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.node_id !== null && this.node_id !== undefined) {\\n    output.writeFieldBegin('node_id', Thrift.Type.I32, 2);\\n    output.writeI32(this.node_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 3);\\n    output.writeI64(this.execution_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.render_time_ms !== null && this.render_time_ms !== undefined) {\\n    output.writeFieldBegin('render_time_ms', Thrift.Type.I64, 4);\\n    output.writeI64(this.render_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.total_time_ms !== null && this.total_time_ms !== undefined) {\\n    output.writeFieldBegin('total_time_ms', Thrift.Type.I64, 5);\\n    output.writeI64(this.total_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TRawRenderPassDataResult = function(args) {\\n  this.num_pixel_channels = null;\\n  this.num_pixel_samples = null;\\n  this.pixels = null;\\n  this.row_ids_A = null;\\n  this.row_ids_B = null;\\n  this.table_ids = null;\\n  this.accum_data = null;\\n  this.accum_depth = null;\\n  if (args) {\\n    if (args.num_pixel_channels !== undefined && args.num_pixel_channels !== null) {\\n      this.num_pixel_channels = args.num_pixel_channels;\\n    }\\n    if (args.num_pixel_samples !== undefined && args.num_pixel_samples !== null) {\\n      this.num_pixel_samples = args.num_pixel_samples;\\n    }\\n    if (args.pixels !== undefined && args.pixels !== null) {\\n      this.pixels = args.pixels;\\n    }\\n    if (args.row_ids_A !== undefined && args.row_ids_A !== null) {\\n      this.row_ids_A = args.row_ids_A;\\n    }\\n    if (args.row_ids_B !== undefined && args.row_ids_B !== null) {\\n      this.row_ids_B = args.row_ids_B;\\n    }\\n    if (args.table_ids !== undefined && args.table_ids !== null) {\\n      this.table_ids = args.table_ids;\\n    }\\n    if (args.accum_data !== undefined && args.accum_data !== null) {\\n      this.accum_data = args.accum_data;\\n    }\\n    if (args.accum_depth !== undefined && args.accum_depth !== null) {\\n      this.accum_depth = args.accum_depth;\\n    }\\n  }\\n};\\nTRawRenderPassDataResult.prototype = {};\\nTRawRenderPassDataResult.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.num_pixel_channels = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.num_pixel_samples = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.pixels = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.row_ids_A = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.row_ids_B = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.table_ids = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.accum_data = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.I32) {\\n        this.accum_depth = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTRawRenderPassDataResult.prototype.write = function(output) {\\n  output.writeStructBegin('TRawRenderPassDataResult');\\n  if (this.num_pixel_channels !== null && this.num_pixel_channels !== undefined) {\\n    output.writeFieldBegin('num_pixel_channels', Thrift.Type.I32, 1);\\n    output.writeI32(this.num_pixel_channels);\\n    output.writeFieldEnd();\\n  }\\n  if (this.num_pixel_samples !== null && this.num_pixel_samples !== undefined) {\\n    output.writeFieldBegin('num_pixel_samples', Thrift.Type.I32, 2);\\n    output.writeI32(this.num_pixel_samples);\\n    output.writeFieldEnd();\\n  }\\n  if (this.pixels !== null && this.pixels !== undefined) {\\n    output.writeFieldBegin('pixels', Thrift.Type.STRING, 3);\\n    output.writeBinary(this.pixels);\\n    output.writeFieldEnd();\\n  }\\n  if (this.row_ids_A !== null && this.row_ids_A !== undefined) {\\n    output.writeFieldBegin('row_ids_A', Thrift.Type.STRING, 4);\\n    output.writeBinary(this.row_ids_A);\\n    output.writeFieldEnd();\\n  }\\n  if (this.row_ids_B !== null && this.row_ids_B !== undefined) {\\n    output.writeFieldBegin('row_ids_B', Thrift.Type.STRING, 5);\\n    output.writeBinary(this.row_ids_B);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_ids !== null && this.table_ids !== undefined) {\\n    output.writeFieldBegin('table_ids', Thrift.Type.STRING, 6);\\n    output.writeBinary(this.table_ids);\\n    output.writeFieldEnd();\\n  }\\n  if (this.accum_data !== null && this.accum_data !== undefined) {\\n    output.writeFieldBegin('accum_data', Thrift.Type.STRING, 7);\\n    output.writeBinary(this.accum_data);\\n    output.writeFieldEnd();\\n  }\\n  if (this.accum_depth !== null && this.accum_depth !== undefined) {\\n    output.writeFieldBegin('accum_depth', Thrift.Type.I32, 8);\\n    output.writeI32(this.accum_depth);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TRawPixelData = function(args) {\\n  this.width = null;\\n  this.height = null;\\n  this.render_pass_map = null;\\n  if (args) {\\n    if (args.width !== undefined && args.width !== null) {\\n      this.width = args.width;\\n    }\\n    if (args.height !== undefined && args.height !== null) {\\n      this.height = args.height;\\n    }\\n    if (args.render_pass_map !== undefined && args.render_pass_map !== null) {\\n      this.render_pass_map = Thrift.copyMap(args.render_pass_map, [TRawRenderPassDataResult]);\\n    }\\n  }\\n};\\nTRawPixelData.prototype = {};\\nTRawPixelData.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.width = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.height = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.MAP) {\\n        var _size216 = 0;\\n        var _rtmp3220;\\n        this.render_pass_map = {};\\n        var _ktype217 = 0;\\n        var _vtype218 = 0;\\n        _rtmp3220 = input.readMapBegin();\\n        _ktype217 = _rtmp3220.ktype;\\n        _vtype218 = _rtmp3220.vtype;\\n        _size216 = _rtmp3220.size;\\n        for (var _i221 = 0; _i221 < _size216; ++_i221)\\n        {\\n          if (_i221 > 0 ) {\\n            if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n              input.rstack.pop();\\n            }\\n          }\\n          var key222 = null;\\n          var val223 = null;\\n          key222 = input.readI32().value;\\n          val223 = new TRawRenderPassDataResult();\\n          val223.read(input);\\n          this.render_pass_map[key222] = val223;\\n        }\\n        input.readMapEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTRawPixelData.prototype.write = function(output) {\\n  output.writeStructBegin('TRawPixelData');\\n  if (this.width !== null && this.width !== undefined) {\\n    output.writeFieldBegin('width', Thrift.Type.I32, 1);\\n    output.writeI32(this.width);\\n    output.writeFieldEnd();\\n  }\\n  if (this.height !== null && this.height !== undefined) {\\n    output.writeFieldBegin('height', Thrift.Type.I32, 2);\\n    output.writeI32(this.height);\\n    output.writeFieldEnd();\\n  }\\n  if (this.render_pass_map !== null && this.render_pass_map !== undefined) {\\n    output.writeFieldBegin('render_pass_map', Thrift.Type.MAP, 3);\\n    output.writeMapBegin(Thrift.Type.I32, Thrift.Type.STRUCT, Thrift.objectLength(this.render_pass_map));\\n    for (var kiter224 in this.render_pass_map)\\n    {\\n      if (this.render_pass_map.hasOwnProperty(kiter224))\\n      {\\n        var viter225 = this.render_pass_map[kiter224];\\n        output.writeI32(kiter224);\\n        viter225.write(output);\\n      }\\n    }\\n    output.writeMapEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TRenderDatum = function(args) {\\n  this.type = null;\\n  this.cnt = null;\\n  this.value = null;\\n  if (args) {\\n    if (args.type !== undefined && args.type !== null) {\\n      this.type = args.type;\\n    }\\n    if (args.cnt !== undefined && args.cnt !== null) {\\n      this.cnt = args.cnt;\\n    }\\n    if (args.value !== undefined && args.value !== null) {\\n      this.value = args.value;\\n    }\\n  }\\n};\\nTRenderDatum.prototype = {};\\nTRenderDatum.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.cnt = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.value = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTRenderDatum.prototype.write = function(output) {\\n  output.writeStructBegin('TRenderDatum');\\n  if (this.type !== null && this.type !== undefined) {\\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\\n    output.writeI32(this.type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.cnt !== null && this.cnt !== undefined) {\\n    output.writeFieldBegin('cnt', Thrift.Type.I32, 2);\\n    output.writeI32(this.cnt);\\n    output.writeFieldEnd();\\n  }\\n  if (this.value !== null && this.value !== undefined) {\\n    output.writeFieldBegin('value', Thrift.Type.STRING, 3);\\n    output.writeBinary(this.value);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TRenderStepResult = function(args) {\\n  this.merge_data = null;\\n  this.raw_pixel_data = null;\\n  this.execution_time_ms = null;\\n  this.render_time_ms = null;\\n  this.total_time_ms = null;\\n  if (args) {\\n    if (args.merge_data !== undefined && args.merge_data !== null) {\\n      this.merge_data = Thrift.copyMap(args.merge_data, [Thrift.copyMap, Thrift.copyMap, Thrift.copyMap, Thrift.copyList, TRenderDatum]);\\n    }\\n    if (args.raw_pixel_data !== undefined && args.raw_pixel_data !== null) {\\n      this.raw_pixel_data = new TRawPixelData(args.raw_pixel_data);\\n    }\\n    if (args.execution_time_ms !== undefined && args.execution_time_ms !== null) {\\n      this.execution_time_ms = args.execution_time_ms;\\n    }\\n    if (args.render_time_ms !== undefined && args.render_time_ms !== null) {\\n      this.render_time_ms = args.render_time_ms;\\n    }\\n    if (args.total_time_ms !== undefined && args.total_time_ms !== null) {\\n      this.total_time_ms = args.total_time_ms;\\n    }\\n  }\\n};\\nTRenderStepResult.prototype = {};\\nTRenderStepResult.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.MAP) {\\n        var _size226 = 0;\\n        var _rtmp3230;\\n        this.merge_data = {};\\n        var _ktype227 = 0;\\n        var _vtype228 = 0;\\n        _rtmp3230 = input.readMapBegin();\\n        _ktype227 = _rtmp3230.ktype;\\n        _vtype228 = _rtmp3230.vtype;\\n        _size226 = _rtmp3230.size;\\n        for (var _i231 = 0; _i231 < _size226; ++_i231)\\n        {\\n          if (_i231 > 0 ) {\\n            if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n              input.rstack.pop();\\n            }\\n          }\\n          var key232 = null;\\n          var val233 = null;\\n          key232 = input.readString().value;\\n          var _size234 = 0;\\n          var _rtmp3238;\\n          val233 = {};\\n          var _ktype235 = 0;\\n          var _vtype236 = 0;\\n          _rtmp3238 = input.readMapBegin();\\n          _ktype235 = _rtmp3238.ktype;\\n          _vtype236 = _rtmp3238.vtype;\\n          _size234 = _rtmp3238.size;\\n          for (var _i239 = 0; _i239 < _size234; ++_i239)\\n          {\\n            if (_i239 > 0 ) {\\n              if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n                input.rstack.pop();\\n              }\\n            }\\n            var key240 = null;\\n            var val241 = null;\\n            key240 = input.readString().value;\\n            var _size242 = 0;\\n            var _rtmp3246;\\n            val241 = {};\\n            var _ktype243 = 0;\\n            var _vtype244 = 0;\\n            _rtmp3246 = input.readMapBegin();\\n            _ktype243 = _rtmp3246.ktype;\\n            _vtype244 = _rtmp3246.vtype;\\n            _size242 = _rtmp3246.size;\\n            for (var _i247 = 0; _i247 < _size242; ++_i247)\\n            {\\n              if (_i247 > 0 ) {\\n                if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n                  input.rstack.pop();\\n                }\\n              }\\n              var key248 = null;\\n              var val249 = null;\\n              key248 = input.readString().value;\\n              var _size250 = 0;\\n              var _rtmp3254;\\n              val249 = {};\\n              var _ktype251 = 0;\\n              var _vtype252 = 0;\\n              _rtmp3254 = input.readMapBegin();\\n              _ktype251 = _rtmp3254.ktype;\\n              _vtype252 = _rtmp3254.vtype;\\n              _size250 = _rtmp3254.size;\\n              for (var _i255 = 0; _i255 < _size250; ++_i255)\\n              {\\n                if (_i255 > 0 ) {\\n                  if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {\\n                    input.rstack.pop();\\n                  }\\n                }\\n                var key256 = null;\\n                var val257 = null;\\n                key256 = input.readString().value;\\n                var _size258 = 0;\\n                var _rtmp3262;\\n                val257 = [];\\n                var _etype261 = 0;\\n                _rtmp3262 = input.readListBegin();\\n                _etype261 = _rtmp3262.etype;\\n                _size258 = _rtmp3262.size;\\n                for (var _i263 = 0; _i263 < _size258; ++_i263)\\n                {\\n                  var elem264 = null;\\n                  elem264 = new TRenderDatum();\\n                  elem264.read(input);\\n                  val257.push(elem264);\\n                }\\n                input.readListEnd();\\n                val249[key256] = val257;\\n              }\\n              input.readMapEnd();\\n              val241[key248] = val249;\\n            }\\n            input.readMapEnd();\\n            val233[key240] = val241;\\n          }\\n          input.readMapEnd();\\n          this.merge_data[key232] = val233;\\n        }\\n        input.readMapEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.raw_pixel_data = new TRawPixelData();\\n        this.raw_pixel_data.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.execution_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I64) {\\n        this.render_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I64) {\\n        this.total_time_ms = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTRenderStepResult.prototype.write = function(output) {\\n  output.writeStructBegin('TRenderStepResult');\\n  if (this.merge_data !== null && this.merge_data !== undefined) {\\n    output.writeFieldBegin('merge_data', Thrift.Type.MAP, 1);\\n    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(this.merge_data));\\n    for (var kiter265 in this.merge_data)\\n    {\\n      if (this.merge_data.hasOwnProperty(kiter265))\\n      {\\n        var viter266 = this.merge_data[kiter265];\\n        output.writeString(kiter265);\\n        output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(viter266));\\n        for (var kiter267 in viter266)\\n        {\\n          if (viter266.hasOwnProperty(kiter267))\\n          {\\n            var viter268 = viter266[kiter267];\\n            output.writeString(kiter267);\\n            output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(viter268));\\n            for (var kiter269 in viter268)\\n            {\\n              if (viter268.hasOwnProperty(kiter269))\\n              {\\n                var viter270 = viter268[kiter269];\\n                output.writeString(kiter269);\\n                output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.LIST, Thrift.objectLength(viter270));\\n                for (var kiter271 in viter270)\\n                {\\n                  if (viter270.hasOwnProperty(kiter271))\\n                  {\\n                    var viter272 = viter270[kiter271];\\n                    output.writeString(kiter271);\\n                    output.writeListBegin(Thrift.Type.STRUCT, viter272.length);\\n                    for (var iter273 in viter272)\\n                    {\\n                      if (viter272.hasOwnProperty(iter273))\\n                      {\\n                        iter273 = viter272[iter273];\\n                        iter273.write(output);\\n                      }\\n                    }\\n                    output.writeListEnd();\\n                  }\\n                }\\n                output.writeMapEnd();\\n              }\\n            }\\n            output.writeMapEnd();\\n          }\\n        }\\n        output.writeMapEnd();\\n      }\\n    }\\n    output.writeMapEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.raw_pixel_data !== null && this.raw_pixel_data !== undefined) {\\n    output.writeFieldBegin('raw_pixel_data', Thrift.Type.STRUCT, 2);\\n    this.raw_pixel_data.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.execution_time_ms !== null && this.execution_time_ms !== undefined) {\\n    output.writeFieldBegin('execution_time_ms', Thrift.Type.I64, 3);\\n    output.writeI64(this.execution_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.render_time_ms !== null && this.render_time_ms !== undefined) {\\n    output.writeFieldBegin('render_time_ms', Thrift.Type.I64, 4);\\n    output.writeI64(this.render_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.total_time_ms !== null && this.total_time_ms !== undefined) {\\n    output.writeFieldBegin('total_time_ms', Thrift.Type.I64, 5);\\n    output.writeI64(this.total_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDatabasePermissions = function(args) {\\n  this.create_ = null;\\n  this.delete_ = null;\\n  this.view_sql_editor_ = null;\\n  this.access_ = null;\\n  if (args) {\\n    if (args.create_ !== undefined && args.create_ !== null) {\\n      this.create_ = args.create_;\\n    }\\n    if (args.delete_ !== undefined && args.delete_ !== null) {\\n      this.delete_ = args.delete_;\\n    }\\n    if (args.view_sql_editor_ !== undefined && args.view_sql_editor_ !== null) {\\n      this.view_sql_editor_ = args.view_sql_editor_;\\n    }\\n    if (args.access_ !== undefined && args.access_ !== null) {\\n      this.access_ = args.access_;\\n    }\\n  }\\n};\\nTDatabasePermissions.prototype = {};\\nTDatabasePermissions.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.create_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.delete_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.view_sql_editor_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.access_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDatabasePermissions.prototype.write = function(output) {\\n  output.writeStructBegin('TDatabasePermissions');\\n  if (this.create_ !== null && this.create_ !== undefined) {\\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\\n    output.writeBool(this.create_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.delete_ !== null && this.delete_ !== undefined) {\\n    output.writeFieldBegin('delete_', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.delete_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.view_sql_editor_ !== null && this.view_sql_editor_ !== undefined) {\\n    output.writeFieldBegin('view_sql_editor_', Thrift.Type.BOOL, 3);\\n    output.writeBool(this.view_sql_editor_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.access_ !== null && this.access_ !== undefined) {\\n    output.writeFieldBegin('access_', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.access_);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TTablePermissions = function(args) {\\n  this.create_ = null;\\n  this.drop_ = null;\\n  this.select_ = null;\\n  this.insert_ = null;\\n  this.update_ = null;\\n  this.delete_ = null;\\n  this.truncate_ = null;\\n  this.alter_ = null;\\n  if (args) {\\n    if (args.create_ !== undefined && args.create_ !== null) {\\n      this.create_ = args.create_;\\n    }\\n    if (args.drop_ !== undefined && args.drop_ !== null) {\\n      this.drop_ = args.drop_;\\n    }\\n    if (args.select_ !== undefined && args.select_ !== null) {\\n      this.select_ = args.select_;\\n    }\\n    if (args.insert_ !== undefined && args.insert_ !== null) {\\n      this.insert_ = args.insert_;\\n    }\\n    if (args.update_ !== undefined && args.update_ !== null) {\\n      this.update_ = args.update_;\\n    }\\n    if (args.delete_ !== undefined && args.delete_ !== null) {\\n      this.delete_ = args.delete_;\\n    }\\n    if (args.truncate_ !== undefined && args.truncate_ !== null) {\\n      this.truncate_ = args.truncate_;\\n    }\\n    if (args.alter_ !== undefined && args.alter_ !== null) {\\n      this.alter_ = args.alter_;\\n    }\\n  }\\n};\\nTTablePermissions.prototype = {};\\nTTablePermissions.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.create_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.drop_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.select_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.insert_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.update_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.delete_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.truncate_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.alter_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTTablePermissions.prototype.write = function(output) {\\n  output.writeStructBegin('TTablePermissions');\\n  if (this.create_ !== null && this.create_ !== undefined) {\\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\\n    output.writeBool(this.create_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.drop_ !== null && this.drop_ !== undefined) {\\n    output.writeFieldBegin('drop_', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.drop_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.select_ !== null && this.select_ !== undefined) {\\n    output.writeFieldBegin('select_', Thrift.Type.BOOL, 3);\\n    output.writeBool(this.select_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.insert_ !== null && this.insert_ !== undefined) {\\n    output.writeFieldBegin('insert_', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.insert_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.update_ !== null && this.update_ !== undefined) {\\n    output.writeFieldBegin('update_', Thrift.Type.BOOL, 5);\\n    output.writeBool(this.update_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.delete_ !== null && this.delete_ !== undefined) {\\n    output.writeFieldBegin('delete_', Thrift.Type.BOOL, 6);\\n    output.writeBool(this.delete_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.truncate_ !== null && this.truncate_ !== undefined) {\\n    output.writeFieldBegin('truncate_', Thrift.Type.BOOL, 7);\\n    output.writeBool(this.truncate_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.alter_ !== null && this.alter_ !== undefined) {\\n    output.writeFieldBegin('alter_', Thrift.Type.BOOL, 8);\\n    output.writeBool(this.alter_);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDashboardPermissions = function(args) {\\n  this.create_ = null;\\n  this.delete_ = null;\\n  this.view_ = null;\\n  this.edit_ = null;\\n  if (args) {\\n    if (args.create_ !== undefined && args.create_ !== null) {\\n      this.create_ = args.create_;\\n    }\\n    if (args.delete_ !== undefined && args.delete_ !== null) {\\n      this.delete_ = args.delete_;\\n    }\\n    if (args.view_ !== undefined && args.view_ !== null) {\\n      this.view_ = args.view_;\\n    }\\n    if (args.edit_ !== undefined && args.edit_ !== null) {\\n      this.edit_ = args.edit_;\\n    }\\n  }\\n};\\nTDashboardPermissions.prototype = {};\\nTDashboardPermissions.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.create_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.delete_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.view_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.edit_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDashboardPermissions.prototype.write = function(output) {\\n  output.writeStructBegin('TDashboardPermissions');\\n  if (this.create_ !== null && this.create_ !== undefined) {\\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\\n    output.writeBool(this.create_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.delete_ !== null && this.delete_ !== undefined) {\\n    output.writeFieldBegin('delete_', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.delete_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.view_ !== null && this.view_ !== undefined) {\\n    output.writeFieldBegin('view_', Thrift.Type.BOOL, 3);\\n    output.writeBool(this.view_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.edit_ !== null && this.edit_ !== undefined) {\\n    output.writeFieldBegin('edit_', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.edit_);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TViewPermissions = function(args) {\\n  this.create_ = null;\\n  this.drop_ = null;\\n  this.select_ = null;\\n  this.insert_ = null;\\n  this.update_ = null;\\n  this.delete_ = null;\\n  if (args) {\\n    if (args.create_ !== undefined && args.create_ !== null) {\\n      this.create_ = args.create_;\\n    }\\n    if (args.drop_ !== undefined && args.drop_ !== null) {\\n      this.drop_ = args.drop_;\\n    }\\n    if (args.select_ !== undefined && args.select_ !== null) {\\n      this.select_ = args.select_;\\n    }\\n    if (args.insert_ !== undefined && args.insert_ !== null) {\\n      this.insert_ = args.insert_;\\n    }\\n    if (args.update_ !== undefined && args.update_ !== null) {\\n      this.update_ = args.update_;\\n    }\\n    if (args.delete_ !== undefined && args.delete_ !== null) {\\n      this.delete_ = args.delete_;\\n    }\\n  }\\n};\\nTViewPermissions.prototype = {};\\nTViewPermissions.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.create_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.drop_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.select_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.insert_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.update_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.delete_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTViewPermissions.prototype.write = function(output) {\\n  output.writeStructBegin('TViewPermissions');\\n  if (this.create_ !== null && this.create_ !== undefined) {\\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\\n    output.writeBool(this.create_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.drop_ !== null && this.drop_ !== undefined) {\\n    output.writeFieldBegin('drop_', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.drop_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.select_ !== null && this.select_ !== undefined) {\\n    output.writeFieldBegin('select_', Thrift.Type.BOOL, 3);\\n    output.writeBool(this.select_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.insert_ !== null && this.insert_ !== undefined) {\\n    output.writeFieldBegin('insert_', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.insert_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.update_ !== null && this.update_ !== undefined) {\\n    output.writeFieldBegin('update_', Thrift.Type.BOOL, 5);\\n    output.writeBool(this.update_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.delete_ !== null && this.delete_ !== undefined) {\\n    output.writeFieldBegin('delete_', Thrift.Type.BOOL, 6);\\n    output.writeBool(this.delete_);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TServerPermissions = function(args) {\\n  this.create_ = null;\\n  this.drop_ = null;\\n  this.alter_ = null;\\n  if (args) {\\n    if (args.create_ !== undefined && args.create_ !== null) {\\n      this.create_ = args.create_;\\n    }\\n    if (args.drop_ !== undefined && args.drop_ !== null) {\\n      this.drop_ = args.drop_;\\n    }\\n    if (args.alter_ !== undefined && args.alter_ !== null) {\\n      this.alter_ = args.alter_;\\n    }\\n  }\\n};\\nTServerPermissions.prototype = {};\\nTServerPermissions.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.create_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.drop_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.alter_ = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTServerPermissions.prototype.write = function(output) {\\n  output.writeStructBegin('TServerPermissions');\\n  if (this.create_ !== null && this.create_ !== undefined) {\\n    output.writeFieldBegin('create_', Thrift.Type.BOOL, 1);\\n    output.writeBool(this.create_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.drop_ !== null && this.drop_ !== undefined) {\\n    output.writeFieldBegin('drop_', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.drop_);\\n    output.writeFieldEnd();\\n  }\\n  if (this.alter_ !== null && this.alter_ !== undefined) {\\n    output.writeFieldBegin('alter_', Thrift.Type.BOOL, 3);\\n    output.writeBool(this.alter_);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDBObjectPermissions = function(args) {\\n  this.database_permissions_ = null;\\n  this.table_permissions_ = null;\\n  this.dashboard_permissions_ = null;\\n  this.view_permissions_ = null;\\n  this.server_permissions_ = null;\\n  if (args) {\\n    if (args.database_permissions_ !== undefined && args.database_permissions_ !== null) {\\n      this.database_permissions_ = new TDatabasePermissions(args.database_permissions_);\\n    }\\n    if (args.table_permissions_ !== undefined && args.table_permissions_ !== null) {\\n      this.table_permissions_ = new TTablePermissions(args.table_permissions_);\\n    }\\n    if (args.dashboard_permissions_ !== undefined && args.dashboard_permissions_ !== null) {\\n      this.dashboard_permissions_ = new TDashboardPermissions(args.dashboard_permissions_);\\n    }\\n    if (args.view_permissions_ !== undefined && args.view_permissions_ !== null) {\\n      this.view_permissions_ = new TViewPermissions(args.view_permissions_);\\n    }\\n    if (args.server_permissions_ !== undefined && args.server_permissions_ !== null) {\\n      this.server_permissions_ = new TServerPermissions(args.server_permissions_);\\n    }\\n  }\\n};\\nTDBObjectPermissions.prototype = {};\\nTDBObjectPermissions.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.database_permissions_ = new TDatabasePermissions();\\n        this.database_permissions_.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.table_permissions_ = new TTablePermissions();\\n        this.table_permissions_.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.dashboard_permissions_ = new TDashboardPermissions();\\n        this.dashboard_permissions_.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.view_permissions_ = new TViewPermissions();\\n        this.view_permissions_.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.server_permissions_ = new TServerPermissions();\\n        this.server_permissions_.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDBObjectPermissions.prototype.write = function(output) {\\n  output.writeStructBegin('TDBObjectPermissions');\\n  if (this.database_permissions_ !== null && this.database_permissions_ !== undefined) {\\n    output.writeFieldBegin('database_permissions_', Thrift.Type.STRUCT, 1);\\n    this.database_permissions_.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_permissions_ !== null && this.table_permissions_ !== undefined) {\\n    output.writeFieldBegin('table_permissions_', Thrift.Type.STRUCT, 2);\\n    this.table_permissions_.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_permissions_ !== null && this.dashboard_permissions_ !== undefined) {\\n    output.writeFieldBegin('dashboard_permissions_', Thrift.Type.STRUCT, 3);\\n    this.dashboard_permissions_.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.view_permissions_ !== null && this.view_permissions_ !== undefined) {\\n    output.writeFieldBegin('view_permissions_', Thrift.Type.STRUCT, 4);\\n    this.view_permissions_.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.server_permissions_ !== null && this.server_permissions_ !== undefined) {\\n    output.writeFieldBegin('server_permissions_', Thrift.Type.STRUCT, 5);\\n    this.server_permissions_.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDBObject = function(args) {\\n  this.objectName = null;\\n  this.objectType = null;\\n  this.privs = null;\\n  this.grantee = null;\\n  this.privilegeObjectType = null;\\n  if (args) {\\n    if (args.objectName !== undefined && args.objectName !== null) {\\n      this.objectName = args.objectName;\\n    }\\n    if (args.objectType !== undefined && args.objectType !== null) {\\n      this.objectType = args.objectType;\\n    }\\n    if (args.privs !== undefined && args.privs !== null) {\\n      this.privs = Thrift.copyList(args.privs, [null]);\\n    }\\n    if (args.grantee !== undefined && args.grantee !== null) {\\n      this.grantee = args.grantee;\\n    }\\n    if (args.privilegeObjectType !== undefined && args.privilegeObjectType !== null) {\\n      this.privilegeObjectType = args.privilegeObjectType;\\n    }\\n  }\\n};\\nTDBObject.prototype = {};\\nTDBObject.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.objectName = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.objectType = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size274 = 0;\\n        var _rtmp3278;\\n        this.privs = [];\\n        var _etype277 = 0;\\n        _rtmp3278 = input.readListBegin();\\n        _etype277 = _rtmp3278.etype;\\n        _size274 = _rtmp3278.size;\\n        for (var _i279 = 0; _i279 < _size274; ++_i279)\\n        {\\n          var elem280 = null;\\n          elem280 = input.readBool().value;\\n          this.privs.push(elem280);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.grantee = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I32) {\\n        this.privilegeObjectType = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDBObject.prototype.write = function(output) {\\n  output.writeStructBegin('TDBObject');\\n  if (this.objectName !== null && this.objectName !== undefined) {\\n    output.writeFieldBegin('objectName', Thrift.Type.STRING, 1);\\n    output.writeString(this.objectName);\\n    output.writeFieldEnd();\\n  }\\n  if (this.objectType !== null && this.objectType !== undefined) {\\n    output.writeFieldBegin('objectType', Thrift.Type.I32, 2);\\n    output.writeI32(this.objectType);\\n    output.writeFieldEnd();\\n  }\\n  if (this.privs !== null && this.privs !== undefined) {\\n    output.writeFieldBegin('privs', Thrift.Type.LIST, 3);\\n    output.writeListBegin(Thrift.Type.BOOL, this.privs.length);\\n    for (var iter281 in this.privs)\\n    {\\n      if (this.privs.hasOwnProperty(iter281))\\n      {\\n        iter281 = this.privs[iter281];\\n        output.writeBool(iter281);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.grantee !== null && this.grantee !== undefined) {\\n    output.writeFieldBegin('grantee', Thrift.Type.STRING, 4);\\n    output.writeString(this.grantee);\\n    output.writeFieldEnd();\\n  }\\n  if (this.privilegeObjectType !== null && this.privilegeObjectType !== undefined) {\\n    output.writeFieldBegin('privilegeObjectType', Thrift.Type.I32, 5);\\n    output.writeI32(this.privilegeObjectType);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDashboardGrantees = function(args) {\\n  this.name = null;\\n  this.is_user = null;\\n  this.permissions = null;\\n  if (args) {\\n    if (args.name !== undefined && args.name !== null) {\\n      this.name = args.name;\\n    }\\n    if (args.is_user !== undefined && args.is_user !== null) {\\n      this.is_user = args.is_user;\\n    }\\n    if (args.permissions !== undefined && args.permissions !== null) {\\n      this.permissions = new TDashboardPermissions(args.permissions);\\n    }\\n  }\\n};\\nTDashboardGrantees.prototype = {};\\nTDashboardGrantees.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_user = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.permissions = new TDashboardPermissions();\\n        this.permissions.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDashboardGrantees.prototype.write = function(output) {\\n  output.writeStructBegin('TDashboardGrantees');\\n  if (this.name !== null && this.name !== undefined) {\\n    output.writeFieldBegin('name', Thrift.Type.STRING, 1);\\n    output.writeString(this.name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_user !== null && this.is_user !== undefined) {\\n    output.writeFieldBegin('is_user', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.is_user);\\n    output.writeFieldEnd();\\n  }\\n  if (this.permissions !== null && this.permissions !== undefined) {\\n    output.writeFieldBegin('permissions', Thrift.Type.STRUCT, 3);\\n    this.permissions.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TDashboard = function(args) {\\n  this.dashboard_name = null;\\n  this.dashboard_state = null;\\n  this.image_hash = null;\\n  this.update_time = null;\\n  this.dashboard_metadata = null;\\n  this.dashboard_id = null;\\n  this.dashboard_owner = null;\\n  this.is_dash_shared = null;\\n  this.dashboard_permissions = null;\\n  if (args) {\\n    if (args.dashboard_name !== undefined && args.dashboard_name !== null) {\\n      this.dashboard_name = args.dashboard_name;\\n    }\\n    if (args.dashboard_state !== undefined && args.dashboard_state !== null) {\\n      this.dashboard_state = args.dashboard_state;\\n    }\\n    if (args.image_hash !== undefined && args.image_hash !== null) {\\n      this.image_hash = args.image_hash;\\n    }\\n    if (args.update_time !== undefined && args.update_time !== null) {\\n      this.update_time = args.update_time;\\n    }\\n    if (args.dashboard_metadata !== undefined && args.dashboard_metadata !== null) {\\n      this.dashboard_metadata = args.dashboard_metadata;\\n    }\\n    if (args.dashboard_id !== undefined && args.dashboard_id !== null) {\\n      this.dashboard_id = args.dashboard_id;\\n    }\\n    if (args.dashboard_owner !== undefined && args.dashboard_owner !== null) {\\n      this.dashboard_owner = args.dashboard_owner;\\n    }\\n    if (args.is_dash_shared !== undefined && args.is_dash_shared !== null) {\\n      this.is_dash_shared = args.is_dash_shared;\\n    }\\n    if (args.dashboard_permissions !== undefined && args.dashboard_permissions !== null) {\\n      this.dashboard_permissions = new TDashboardPermissions(args.dashboard_permissions);\\n    }\\n  }\\n};\\nTDashboard.prototype = {};\\nTDashboard.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_state = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.image_hash = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.update_time = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_metadata = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I32) {\\n        this.dashboard_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.dashboard_owner = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_dash_shared = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 9:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.dashboard_permissions = new TDashboardPermissions();\\n        this.dashboard_permissions.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTDashboard.prototype.write = function(output) {\\n  output.writeStructBegin('TDashboard');\\n  if (this.dashboard_name !== null && this.dashboard_name !== undefined) {\\n    output.writeFieldBegin('dashboard_name', Thrift.Type.STRING, 1);\\n    output.writeString(this.dashboard_name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_state !== null && this.dashboard_state !== undefined) {\\n    output.writeFieldBegin('dashboard_state', Thrift.Type.STRING, 2);\\n    output.writeString(this.dashboard_state);\\n    output.writeFieldEnd();\\n  }\\n  if (this.image_hash !== null && this.image_hash !== undefined) {\\n    output.writeFieldBegin('image_hash', Thrift.Type.STRING, 3);\\n    output.writeString(this.image_hash);\\n    output.writeFieldEnd();\\n  }\\n  if (this.update_time !== null && this.update_time !== undefined) {\\n    output.writeFieldBegin('update_time', Thrift.Type.STRING, 4);\\n    output.writeString(this.update_time);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_metadata !== null && this.dashboard_metadata !== undefined) {\\n    output.writeFieldBegin('dashboard_metadata', Thrift.Type.STRING, 5);\\n    output.writeString(this.dashboard_metadata);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_id !== null && this.dashboard_id !== undefined) {\\n    output.writeFieldBegin('dashboard_id', Thrift.Type.I32, 6);\\n    output.writeI32(this.dashboard_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_owner !== null && this.dashboard_owner !== undefined) {\\n    output.writeFieldBegin('dashboard_owner', Thrift.Type.STRING, 7);\\n    output.writeString(this.dashboard_owner);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_dash_shared !== null && this.is_dash_shared !== undefined) {\\n    output.writeFieldBegin('is_dash_shared', Thrift.Type.BOOL, 8);\\n    output.writeBool(this.is_dash_shared);\\n    output.writeFieldEnd();\\n  }\\n  if (this.dashboard_permissions !== null && this.dashboard_permissions !== undefined) {\\n    output.writeFieldBegin('dashboard_permissions', Thrift.Type.STRUCT, 9);\\n    this.dashboard_permissions.write(output);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TLicenseInfo = function(args) {\\n  this.claims = null;\\n  if (args) {\\n    if (args.claims !== undefined && args.claims !== null) {\\n      this.claims = Thrift.copyList(args.claims, [null]);\\n    }\\n  }\\n};\\nTLicenseInfo.prototype = {};\\nTLicenseInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size282 = 0;\\n        var _rtmp3286;\\n        this.claims = [];\\n        var _etype285 = 0;\\n        _rtmp3286 = input.readListBegin();\\n        _etype285 = _rtmp3286.etype;\\n        _size282 = _rtmp3286.size;\\n        for (var _i287 = 0; _i287 < _size282; ++_i287)\\n        {\\n          var elem288 = null;\\n          elem288 = input.readString().value;\\n          this.claims.push(elem288);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 0:\\n        input.skip(ftype);\\n        break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTLicenseInfo.prototype.write = function(output) {\\n  output.writeStructBegin('TLicenseInfo');\\n  if (this.claims !== null && this.claims !== undefined) {\\n    output.writeFieldBegin('claims', Thrift.Type.LIST, 1);\\n    output.writeListBegin(Thrift.Type.STRING, this.claims.length);\\n    for (var iter289 in this.claims)\\n    {\\n      if (this.claims.hasOwnProperty(iter289))\\n      {\\n        iter289 = this.claims[iter289];\\n        output.writeString(iter289);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TSessionInfo = function(args) {\\n  this.user = null;\\n  this.database = null;\\n  this.start_time = null;\\n  this.is_super = null;\\n  if (args) {\\n    if (args.user !== undefined && args.user !== null) {\\n      this.user = args.user;\\n    }\\n    if (args.database !== undefined && args.database !== null) {\\n      this.database = args.database;\\n    }\\n    if (args.start_time !== undefined && args.start_time !== null) {\\n      this.start_time = args.start_time;\\n    }\\n    if (args.is_super !== undefined && args.is_super !== null) {\\n      this.is_super = args.is_super;\\n    }\\n  }\\n};\\nTSessionInfo.prototype = {};\\nTSessionInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.user = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.database = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.start_time = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_super = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTSessionInfo.prototype.write = function(output) {\\n  output.writeStructBegin('TSessionInfo');\\n  if (this.user !== null && this.user !== undefined) {\\n    output.writeFieldBegin('user', Thrift.Type.STRING, 1);\\n    output.writeString(this.user);\\n    output.writeFieldEnd();\\n  }\\n  if (this.database !== null && this.database !== undefined) {\\n    output.writeFieldBegin('database', Thrift.Type.STRING, 2);\\n    output.writeString(this.database);\\n    output.writeFieldEnd();\\n  }\\n  if (this.start_time !== null && this.start_time !== undefined) {\\n    output.writeFieldBegin('start_time', Thrift.Type.I64, 3);\\n    output.writeI64(this.start_time);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_super !== null && this.is_super !== undefined) {\\n    output.writeFieldBegin('is_super', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.is_super);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TGeoFileLayerInfo = function(args) {\\n  this.name = null;\\n  this.contents = null;\\n  if (args) {\\n    if (args.name !== undefined && args.name !== null) {\\n      this.name = args.name;\\n    }\\n    if (args.contents !== undefined && args.contents !== null) {\\n      this.contents = args.contents;\\n    }\\n  }\\n};\\nTGeoFileLayerInfo.prototype = {};\\nTGeoFileLayerInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.name = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.contents = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTGeoFileLayerInfo.prototype.write = function(output) {\\n  output.writeStructBegin('TGeoFileLayerInfo');\\n  if (this.name !== null && this.name !== undefined) {\\n    output.writeFieldBegin('name', Thrift.Type.STRING, 1);\\n    output.writeString(this.name);\\n    output.writeFieldEnd();\\n  }\\n  if (this.contents !== null && this.contents !== undefined) {\\n    output.writeFieldBegin('contents', Thrift.Type.I32, 2);\\n    output.writeI32(this.contents);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TTableEpochInfo = function(args) {\\n  this.table_id = null;\\n  this.table_epoch = null;\\n  this.leaf_index = null;\\n  if (args) {\\n    if (args.table_id !== undefined && args.table_id !== null) {\\n      this.table_id = args.table_id;\\n    }\\n    if (args.table_epoch !== undefined && args.table_epoch !== null) {\\n      this.table_epoch = args.table_epoch;\\n    }\\n    if (args.leaf_index !== undefined && args.leaf_index !== null) {\\n      this.leaf_index = args.leaf_index;\\n    }\\n  }\\n};\\nTTableEpochInfo.prototype = {};\\nTTableEpochInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_id = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.table_epoch = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.leaf_index = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTTableEpochInfo.prototype.write = function(output) {\\n  output.writeStructBegin('TTableEpochInfo');\\n  if (this.table_id !== null && this.table_id !== undefined) {\\n    output.writeFieldBegin('table_id', Thrift.Type.I32, 1);\\n    output.writeI32(this.table_id);\\n    output.writeFieldEnd();\\n  }\\n  if (this.table_epoch !== null && this.table_epoch !== undefined) {\\n    output.writeFieldBegin('table_epoch', Thrift.Type.I32, 2);\\n    output.writeI32(this.table_epoch);\\n    output.writeFieldEnd();\\n  }\\n  if (this.leaf_index !== null && this.leaf_index !== undefined) {\\n    output.writeFieldBegin('leaf_index', Thrift.Type.I32, 3);\\n    output.writeI32(this.leaf_index);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\n\"\n\n/***/ }),\n\n/***/ 7030:\n/***/ ((module) => {\n\nmodule.exports = \"\\\"use strict\\\"\\n//\\n// Autogenerated by Thrift Compiler (0.10.0)\\n//\\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\\n//\\n\\n\\nwindow.TResultSetLayout = {\\n  'GroupByPerfectHash' : 0,\\n  'GroupByBaselineHash' : 1,\\n  'Projection' : 2,\\n  'NonGroupedAggregate' : 3\\n};\\nwindow.TCountDistinctImplType = {\\n  'Invalid' : 0,\\n  'Bitmap' : 1,\\n  'StdSet' : 2\\n};\\nwindow.TAggKind = {\\n  'AVG' : 0,\\n  'MIN' : 1,\\n  'MAX' : 2,\\n  'SUM' : 3,\\n  'COUNT' : 4,\\n  'APPROX_COUNT_DISTINCT' : 5,\\n  'SAMPLE' : 6,\\n  'SINGLE_VALUE' : 7\\n};\\nwindow.TSlotSize = function(args) {\\n  this.padded = null;\\n  this.logical = null;\\n  if (args) {\\n    if (args.padded !== undefined && args.padded !== null) {\\n      this.padded = args.padded;\\n    }\\n    if (args.logical !== undefined && args.logical !== null) {\\n      this.logical = args.logical;\\n    }\\n  }\\n};\\nTSlotSize.prototype = {};\\nTSlotSize.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I16) {\\n        this.padded = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I16) {\\n        this.logical = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTSlotSize.prototype.write = function(output) {\\n  output.writeStructBegin('TSlotSize');\\n  if (this.padded !== null && this.padded !== undefined) {\\n    output.writeFieldBegin('padded', Thrift.Type.I16, 1);\\n    output.writeI16(this.padded);\\n    output.writeFieldEnd();\\n  }\\n  if (this.logical !== null && this.logical !== undefined) {\\n    output.writeFieldBegin('logical', Thrift.Type.I16, 2);\\n    output.writeI16(this.logical);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TColSlotContext = function(args) {\\n  this.slot_sizes = null;\\n  this.col_to_slot_map = null;\\n  if (args) {\\n    if (args.slot_sizes !== undefined && args.slot_sizes !== null) {\\n      this.slot_sizes = Thrift.copyList(args.slot_sizes, [TSlotSize]);\\n    }\\n    if (args.col_to_slot_map !== undefined && args.col_to_slot_map !== null) {\\n      this.col_to_slot_map = Thrift.copyList(args.col_to_slot_map, [Thrift.copyList, null]);\\n    }\\n  }\\n};\\nTColSlotContext.prototype = {};\\nTColSlotContext.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size0 = 0;\\n        var _rtmp34;\\n        this.slot_sizes = [];\\n        var _etype3 = 0;\\n        _rtmp34 = input.readListBegin();\\n        _etype3 = _rtmp34.etype;\\n        _size0 = _rtmp34.size;\\n        for (var _i5 = 0; _i5 < _size0; ++_i5)\\n        {\\n          var elem6 = null;\\n          elem6 = new TSlotSize();\\n          elem6.read(input);\\n          this.slot_sizes.push(elem6);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size7 = 0;\\n        var _rtmp311;\\n        this.col_to_slot_map = [];\\n        var _etype10 = 0;\\n        _rtmp311 = input.readListBegin();\\n        _etype10 = _rtmp311.etype;\\n        _size7 = _rtmp311.size;\\n        for (var _i12 = 0; _i12 < _size7; ++_i12)\\n        {\\n          var elem13 = null;\\n          var _size14 = 0;\\n          var _rtmp318;\\n          elem13 = [];\\n          var _etype17 = 0;\\n          _rtmp318 = input.readListBegin();\\n          _etype17 = _rtmp318.etype;\\n          _size14 = _rtmp318.size;\\n          for (var _i19 = 0; _i19 < _size14; ++_i19)\\n          {\\n            var elem20 = null;\\n            elem20 = input.readI32().value;\\n            elem13.push(elem20);\\n          }\\n          input.readListEnd();\\n          this.col_to_slot_map.push(elem13);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTColSlotContext.prototype.write = function(output) {\\n  output.writeStructBegin('TColSlotContext');\\n  if (this.slot_sizes !== null && this.slot_sizes !== undefined) {\\n    output.writeFieldBegin('slot_sizes', Thrift.Type.LIST, 1);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.slot_sizes.length);\\n    for (var iter21 in this.slot_sizes)\\n    {\\n      if (this.slot_sizes.hasOwnProperty(iter21))\\n      {\\n        iter21 = this.slot_sizes[iter21];\\n        iter21.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.col_to_slot_map !== null && this.col_to_slot_map !== undefined) {\\n    output.writeFieldBegin('col_to_slot_map', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.LIST, this.col_to_slot_map.length);\\n    for (var iter22 in this.col_to_slot_map)\\n    {\\n      if (this.col_to_slot_map.hasOwnProperty(iter22))\\n      {\\n        iter22 = this.col_to_slot_map[iter22];\\n        output.writeListBegin(Thrift.Type.I32, iter22.length);\\n        for (var iter23 in iter22)\\n        {\\n          if (iter22.hasOwnProperty(iter23))\\n          {\\n            iter23 = iter22[iter23];\\n            output.writeI32(iter23);\\n          }\\n        }\\n        output.writeListEnd();\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TCountDistinctDescriptor = function(args) {\\n  this.impl_type = null;\\n  this.min_val = null;\\n  this.bitmap_sz_bits = null;\\n  this.approximate = null;\\n  this.device_type = null;\\n  this.sub_bitmap_count = null;\\n  if (args) {\\n    if (args.impl_type !== undefined && args.impl_type !== null) {\\n      this.impl_type = args.impl_type;\\n    }\\n    if (args.min_val !== undefined && args.min_val !== null) {\\n      this.min_val = args.min_val;\\n    }\\n    if (args.bitmap_sz_bits !== undefined && args.bitmap_sz_bits !== null) {\\n      this.bitmap_sz_bits = args.bitmap_sz_bits;\\n    }\\n    if (args.approximate !== undefined && args.approximate !== null) {\\n      this.approximate = args.approximate;\\n    }\\n    if (args.device_type !== undefined && args.device_type !== null) {\\n      this.device_type = args.device_type;\\n    }\\n    if (args.sub_bitmap_count !== undefined && args.sub_bitmap_count !== null) {\\n      this.sub_bitmap_count = args.sub_bitmap_count;\\n    }\\n  }\\n};\\nTCountDistinctDescriptor.prototype = {};\\nTCountDistinctDescriptor.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.impl_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I64) {\\n        this.min_val = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.bitmap_sz_bits = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.approximate = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I32) {\\n        this.device_type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I64) {\\n        this.sub_bitmap_count = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTCountDistinctDescriptor.prototype.write = function(output) {\\n  output.writeStructBegin('TCountDistinctDescriptor');\\n  if (this.impl_type !== null && this.impl_type !== undefined) {\\n    output.writeFieldBegin('impl_type', Thrift.Type.I32, 1);\\n    output.writeI32(this.impl_type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.min_val !== null && this.min_val !== undefined) {\\n    output.writeFieldBegin('min_val', Thrift.Type.I64, 2);\\n    output.writeI64(this.min_val);\\n    output.writeFieldEnd();\\n  }\\n  if (this.bitmap_sz_bits !== null && this.bitmap_sz_bits !== undefined) {\\n    output.writeFieldBegin('bitmap_sz_bits', Thrift.Type.I64, 3);\\n    output.writeI64(this.bitmap_sz_bits);\\n    output.writeFieldEnd();\\n  }\\n  if (this.approximate !== null && this.approximate !== undefined) {\\n    output.writeFieldBegin('approximate', Thrift.Type.BOOL, 4);\\n    output.writeBool(this.approximate);\\n    output.writeFieldEnd();\\n  }\\n  if (this.device_type !== null && this.device_type !== undefined) {\\n    output.writeFieldBegin('device_type', Thrift.Type.I32, 5);\\n    output.writeI32(this.device_type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.sub_bitmap_count !== null && this.sub_bitmap_count !== undefined) {\\n    output.writeFieldBegin('sub_bitmap_count', Thrift.Type.I64, 6);\\n    output.writeI64(this.sub_bitmap_count);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TResultSetBufferDescriptor = function(args) {\\n  this.layout = null;\\n  this.keyless = null;\\n  this.entry_count = null;\\n  this.idx_target_as_key = null;\\n  this.min_val = null;\\n  this.max_val = null;\\n  this.bucket = null;\\n  this.group_col_widths = null;\\n  this.key_bytewidth = null;\\n  this.col_slot_context = null;\\n  this.target_groupby_indices = null;\\n  this.count_distinct_descriptors = null;\\n  this.force_4byte_float = null;\\n  if (args) {\\n    if (args.layout !== undefined && args.layout !== null) {\\n      this.layout = args.layout;\\n    }\\n    if (args.keyless !== undefined && args.keyless !== null) {\\n      this.keyless = args.keyless;\\n    }\\n    if (args.entry_count !== undefined && args.entry_count !== null) {\\n      this.entry_count = args.entry_count;\\n    }\\n    if (args.idx_target_as_key !== undefined && args.idx_target_as_key !== null) {\\n      this.idx_target_as_key = args.idx_target_as_key;\\n    }\\n    if (args.min_val !== undefined && args.min_val !== null) {\\n      this.min_val = args.min_val;\\n    }\\n    if (args.max_val !== undefined && args.max_val !== null) {\\n      this.max_val = args.max_val;\\n    }\\n    if (args.bucket !== undefined && args.bucket !== null) {\\n      this.bucket = args.bucket;\\n    }\\n    if (args.group_col_widths !== undefined && args.group_col_widths !== null) {\\n      this.group_col_widths = Thrift.copyList(args.group_col_widths, [null]);\\n    }\\n    if (args.key_bytewidth !== undefined && args.key_bytewidth !== null) {\\n      this.key_bytewidth = args.key_bytewidth;\\n    }\\n    if (args.col_slot_context !== undefined && args.col_slot_context !== null) {\\n      this.col_slot_context = new TColSlotContext(args.col_slot_context);\\n    }\\n    if (args.target_groupby_indices !== undefined && args.target_groupby_indices !== null) {\\n      this.target_groupby_indices = Thrift.copyList(args.target_groupby_indices, [null]);\\n    }\\n    if (args.count_distinct_descriptors !== undefined && args.count_distinct_descriptors !== null) {\\n      this.count_distinct_descriptors = Thrift.copyList(args.count_distinct_descriptors, [TCountDistinctDescriptor]);\\n    }\\n    if (args.force_4byte_float !== undefined && args.force_4byte_float !== null) {\\n      this.force_4byte_float = args.force_4byte_float;\\n    }\\n  }\\n};\\nTResultSetBufferDescriptor.prototype = {};\\nTResultSetBufferDescriptor.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.layout = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.keyless = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I32) {\\n        this.entry_count = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.idx_target_as_key = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.I64) {\\n        this.min_val = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.I64) {\\n        this.max_val = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.I64) {\\n        this.bucket = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size24 = 0;\\n        var _rtmp328;\\n        this.group_col_widths = [];\\n        var _etype27 = 0;\\n        _rtmp328 = input.readListBegin();\\n        _etype27 = _rtmp328.etype;\\n        _size24 = _rtmp328.size;\\n        for (var _i29 = 0; _i29 < _size24; ++_i29)\\n        {\\n          var elem30 = null;\\n          elem30 = input.readI16().value;\\n          this.group_col_widths.push(elem30);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 9:\\n      if (ftype == Thrift.Type.I16) {\\n        this.key_bytewidth = input.readI16().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 10:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.col_slot_context = new TColSlotContext();\\n        this.col_slot_context.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 11:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size31 = 0;\\n        var _rtmp335;\\n        this.target_groupby_indices = [];\\n        var _etype34 = 0;\\n        _rtmp335 = input.readListBegin();\\n        _etype34 = _rtmp335.etype;\\n        _size31 = _rtmp335.size;\\n        for (var _i36 = 0; _i36 < _size31; ++_i36)\\n        {\\n          var elem37 = null;\\n          elem37 = input.readI32().value;\\n          this.target_groupby_indices.push(elem37);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 12:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size38 = 0;\\n        var _rtmp342;\\n        this.count_distinct_descriptors = [];\\n        var _etype41 = 0;\\n        _rtmp342 = input.readListBegin();\\n        _etype41 = _rtmp342.etype;\\n        _size38 = _rtmp342.size;\\n        for (var _i43 = 0; _i43 < _size38; ++_i43)\\n        {\\n          var elem44 = null;\\n          elem44 = new TCountDistinctDescriptor();\\n          elem44.read(input);\\n          this.count_distinct_descriptors.push(elem44);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 13:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.force_4byte_float = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTResultSetBufferDescriptor.prototype.write = function(output) {\\n  output.writeStructBegin('TResultSetBufferDescriptor');\\n  if (this.layout !== null && this.layout !== undefined) {\\n    output.writeFieldBegin('layout', Thrift.Type.I32, 1);\\n    output.writeI32(this.layout);\\n    output.writeFieldEnd();\\n  }\\n  if (this.keyless !== null && this.keyless !== undefined) {\\n    output.writeFieldBegin('keyless', Thrift.Type.BOOL, 2);\\n    output.writeBool(this.keyless);\\n    output.writeFieldEnd();\\n  }\\n  if (this.entry_count !== null && this.entry_count !== undefined) {\\n    output.writeFieldBegin('entry_count', Thrift.Type.I32, 3);\\n    output.writeI32(this.entry_count);\\n    output.writeFieldEnd();\\n  }\\n  if (this.idx_target_as_key !== null && this.idx_target_as_key !== undefined) {\\n    output.writeFieldBegin('idx_target_as_key', Thrift.Type.I32, 4);\\n    output.writeI32(this.idx_target_as_key);\\n    output.writeFieldEnd();\\n  }\\n  if (this.min_val !== null && this.min_val !== undefined) {\\n    output.writeFieldBegin('min_val', Thrift.Type.I64, 5);\\n    output.writeI64(this.min_val);\\n    output.writeFieldEnd();\\n  }\\n  if (this.max_val !== null && this.max_val !== undefined) {\\n    output.writeFieldBegin('max_val', Thrift.Type.I64, 6);\\n    output.writeI64(this.max_val);\\n    output.writeFieldEnd();\\n  }\\n  if (this.bucket !== null && this.bucket !== undefined) {\\n    output.writeFieldBegin('bucket', Thrift.Type.I64, 7);\\n    output.writeI64(this.bucket);\\n    output.writeFieldEnd();\\n  }\\n  if (this.group_col_widths !== null && this.group_col_widths !== undefined) {\\n    output.writeFieldBegin('group_col_widths', Thrift.Type.LIST, 8);\\n    output.writeListBegin(Thrift.Type.I16, this.group_col_widths.length);\\n    for (var iter45 in this.group_col_widths)\\n    {\\n      if (this.group_col_widths.hasOwnProperty(iter45))\\n      {\\n        iter45 = this.group_col_widths[iter45];\\n        output.writeI16(iter45);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.key_bytewidth !== null && this.key_bytewidth !== undefined) {\\n    output.writeFieldBegin('key_bytewidth', Thrift.Type.I16, 9);\\n    output.writeI16(this.key_bytewidth);\\n    output.writeFieldEnd();\\n  }\\n  if (this.col_slot_context !== null && this.col_slot_context !== undefined) {\\n    output.writeFieldBegin('col_slot_context', Thrift.Type.STRUCT, 10);\\n    this.col_slot_context.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.target_groupby_indices !== null && this.target_groupby_indices !== undefined) {\\n    output.writeFieldBegin('target_groupby_indices', Thrift.Type.LIST, 11);\\n    output.writeListBegin(Thrift.Type.I32, this.target_groupby_indices.length);\\n    for (var iter46 in this.target_groupby_indices)\\n    {\\n      if (this.target_groupby_indices.hasOwnProperty(iter46))\\n      {\\n        iter46 = this.target_groupby_indices[iter46];\\n        output.writeI32(iter46);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.count_distinct_descriptors !== null && this.count_distinct_descriptors !== undefined) {\\n    output.writeFieldBegin('count_distinct_descriptors', Thrift.Type.LIST, 12);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.count_distinct_descriptors.length);\\n    for (var iter47 in this.count_distinct_descriptors)\\n    {\\n      if (this.count_distinct_descriptors.hasOwnProperty(iter47))\\n      {\\n        iter47 = this.count_distinct_descriptors[iter47];\\n        iter47.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.force_4byte_float !== null && this.force_4byte_float !== undefined) {\\n    output.writeFieldBegin('force_4byte_float', Thrift.Type.BOOL, 13);\\n    output.writeBool(this.force_4byte_float);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TTargetInfo = function(args) {\\n  this.is_agg = null;\\n  this.kind = null;\\n  this.type = null;\\n  this.arg_type = null;\\n  this.skip_nulls = null;\\n  this.is_distinct = null;\\n  if (args) {\\n    if (args.is_agg !== undefined && args.is_agg !== null) {\\n      this.is_agg = args.is_agg;\\n    }\\n    if (args.kind !== undefined && args.kind !== null) {\\n      this.kind = args.kind;\\n    }\\n    if (args.type !== undefined && args.type !== null) {\\n      this.type = new TTypeInfo(args.type);\\n    }\\n    if (args.arg_type !== undefined && args.arg_type !== null) {\\n      this.arg_type = new TTypeInfo(args.arg_type);\\n    }\\n    if (args.skip_nulls !== undefined && args.skip_nulls !== null) {\\n      this.skip_nulls = args.skip_nulls;\\n    }\\n    if (args.is_distinct !== undefined && args.is_distinct !== null) {\\n      this.is_distinct = args.is_distinct;\\n    }\\n  }\\n};\\nTTargetInfo.prototype = {};\\nTTargetInfo.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_agg = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.I32) {\\n        this.kind = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.type = new TTypeInfo();\\n        this.type.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.arg_type = new TTypeInfo();\\n        this.arg_type.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.skip_nulls = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.BOOL) {\\n        this.is_distinct = input.readBool().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTTargetInfo.prototype.write = function(output) {\\n  output.writeStructBegin('TTargetInfo');\\n  if (this.is_agg !== null && this.is_agg !== undefined) {\\n    output.writeFieldBegin('is_agg', Thrift.Type.BOOL, 1);\\n    output.writeBool(this.is_agg);\\n    output.writeFieldEnd();\\n  }\\n  if (this.kind !== null && this.kind !== undefined) {\\n    output.writeFieldBegin('kind', Thrift.Type.I32, 2);\\n    output.writeI32(this.kind);\\n    output.writeFieldEnd();\\n  }\\n  if (this.type !== null && this.type !== undefined) {\\n    output.writeFieldBegin('type', Thrift.Type.STRUCT, 3);\\n    this.type.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.arg_type !== null && this.arg_type !== undefined) {\\n    output.writeFieldBegin('arg_type', Thrift.Type.STRUCT, 4);\\n    this.arg_type.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.skip_nulls !== null && this.skip_nulls !== undefined) {\\n    output.writeFieldBegin('skip_nulls', Thrift.Type.BOOL, 5);\\n    output.writeBool(this.skip_nulls);\\n    output.writeFieldEnd();\\n  }\\n  if (this.is_distinct !== null && this.is_distinct !== undefined) {\\n    output.writeFieldBegin('is_distinct', Thrift.Type.BOOL, 6);\\n    output.writeBool(this.is_distinct);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TCountDistinctSetStorage = function(args) {\\n  this.bitmap = null;\\n  this.sparse_set = null;\\n  if (args) {\\n    if (args.bitmap !== undefined && args.bitmap !== null) {\\n      this.bitmap = args.bitmap;\\n    }\\n    if (args.sparse_set !== undefined && args.sparse_set !== null) {\\n      this.sparse_set = Thrift.copyList(args.sparse_set, [null]);\\n    }\\n  }\\n};\\nTCountDistinctSetStorage.prototype = {};\\nTCountDistinctSetStorage.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.bitmap = input.readBinary().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.SET) {\\n        var _size48 = 0;\\n        var _rtmp352;\\n        this.sparse_set = [];\\n        var _etype51 = 0;\\n        _rtmp352 = input.readSetBegin();\\n        _etype51 = _rtmp352.etype;\\n        _size48 = _rtmp352.size;\\n        for (var _i53 = 0; _i53 < _size48; ++_i53)\\n        {\\n          var elem54 = null;\\n          elem54 = input.readI64().value;\\n          this.sparse_set.push(elem54);\\n        }\\n        input.readSetEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTCountDistinctSetStorage.prototype.write = function(output) {\\n  output.writeStructBegin('TCountDistinctSetStorage');\\n  if (this.bitmap !== null && this.bitmap !== undefined) {\\n    output.writeFieldBegin('bitmap', Thrift.Type.STRING, 1);\\n    output.writeBinary(this.bitmap);\\n    output.writeFieldEnd();\\n  }\\n  if (this.sparse_set !== null && this.sparse_set !== undefined) {\\n    output.writeFieldBegin('sparse_set', Thrift.Type.SET, 2);\\n    output.writeSetBegin(Thrift.Type.I64, this.sparse_set.length);\\n    for (var iter55 in this.sparse_set)\\n    {\\n      if (this.sparse_set.hasOwnProperty(iter55))\\n      {\\n        iter55 = this.sparse_set[iter55];\\n        output.writeI64(iter55);\\n      }\\n    }\\n    output.writeSetEnd();\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TCountDistinctSet = function(args) {\\n  this.type = null;\\n  this.storage = null;\\n  this.remote_ptr = null;\\n  if (args) {\\n    if (args.type !== undefined && args.type !== null) {\\n      this.type = args.type;\\n    }\\n    if (args.storage !== undefined && args.storage !== null) {\\n      this.storage = new TCountDistinctSetStorage(args.storage);\\n    }\\n    if (args.remote_ptr !== undefined && args.remote_ptr !== null) {\\n      this.remote_ptr = args.remote_ptr;\\n    }\\n  }\\n};\\nTCountDistinctSet.prototype = {};\\nTCountDistinctSet.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.I32) {\\n        this.type = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.storage = new TCountDistinctSetStorage();\\n        this.storage.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.remote_ptr = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTCountDistinctSet.prototype.write = function(output) {\\n  output.writeStructBegin('TCountDistinctSet');\\n  if (this.type !== null && this.type !== undefined) {\\n    output.writeFieldBegin('type', Thrift.Type.I32, 1);\\n    output.writeI32(this.type);\\n    output.writeFieldEnd();\\n  }\\n  if (this.storage !== null && this.storage !== undefined) {\\n    output.writeFieldBegin('storage', Thrift.Type.STRUCT, 2);\\n    this.storage.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.remote_ptr !== null && this.remote_ptr !== undefined) {\\n    output.writeFieldBegin('remote_ptr', Thrift.Type.I64, 3);\\n    output.writeI64(this.remote_ptr);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\nwindow.TSerializedRows = function(args) {\\n  this.buffers = null;\\n  this.buffer_lengths = null;\\n  this.buffers_total_size = null;\\n  this.total_compression_time_ms = null;\\n  this.descriptor = null;\\n  this.targets = null;\\n  this.target_init_vals = null;\\n  this.varlen_buffer = null;\\n  this.count_distinct_sets = null;\\n  this.explanation = null;\\n  if (args) {\\n    if (args.buffers !== undefined && args.buffers !== null) {\\n      this.buffers = Thrift.copyList(args.buffers, [null]);\\n    }\\n    if (args.buffer_lengths !== undefined && args.buffer_lengths !== null) {\\n      this.buffer_lengths = Thrift.copyList(args.buffer_lengths, [null]);\\n    }\\n    if (args.buffers_total_size !== undefined && args.buffers_total_size !== null) {\\n      this.buffers_total_size = args.buffers_total_size;\\n    }\\n    if (args.total_compression_time_ms !== undefined && args.total_compression_time_ms !== null) {\\n      this.total_compression_time_ms = args.total_compression_time_ms;\\n    }\\n    if (args.descriptor !== undefined && args.descriptor !== null) {\\n      this.descriptor = new TResultSetBufferDescriptor(args.descriptor);\\n    }\\n    if (args.targets !== undefined && args.targets !== null) {\\n      this.targets = Thrift.copyList(args.targets, [TTargetInfo]);\\n    }\\n    if (args.target_init_vals !== undefined && args.target_init_vals !== null) {\\n      this.target_init_vals = Thrift.copyList(args.target_init_vals, [null]);\\n    }\\n    if (args.varlen_buffer !== undefined && args.varlen_buffer !== null) {\\n      this.varlen_buffer = Thrift.copyList(args.varlen_buffer, [null]);\\n    }\\n    if (args.count_distinct_sets !== undefined && args.count_distinct_sets !== null) {\\n      this.count_distinct_sets = Thrift.copyList(args.count_distinct_sets, [TCountDistinctSet]);\\n    }\\n    if (args.explanation !== undefined && args.explanation !== null) {\\n      this.explanation = args.explanation;\\n    }\\n  }\\n};\\nTSerializedRows.prototype = {};\\nTSerializedRows.prototype.read = function(input) {\\n  input.readStructBegin();\\n  while (true)\\n  {\\n    var ret = input.readFieldBegin();\\n    var fname = ret.fname;\\n    var ftype = ret.ftype;\\n    var fid = ret.fid;\\n    if (ftype == Thrift.Type.STOP) {\\n      break;\\n    }\\n    switch (fid)\\n    {\\n      case 1:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size56 = 0;\\n        var _rtmp360;\\n        this.buffers = [];\\n        var _etype59 = 0;\\n        _rtmp360 = input.readListBegin();\\n        _etype59 = _rtmp360.etype;\\n        _size56 = _rtmp360.size;\\n        for (var _i61 = 0; _i61 < _size56; ++_i61)\\n        {\\n          var elem62 = null;\\n          elem62 = input.readBinary().value;\\n          this.buffers.push(elem62);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 2:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size63 = 0;\\n        var _rtmp367;\\n        this.buffer_lengths = [];\\n        var _etype66 = 0;\\n        _rtmp367 = input.readListBegin();\\n        _etype66 = _rtmp367.etype;\\n        _size63 = _rtmp367.size;\\n        for (var _i68 = 0; _i68 < _size63; ++_i68)\\n        {\\n          var elem69 = null;\\n          elem69 = input.readI64().value;\\n          this.buffer_lengths.push(elem69);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 3:\\n      if (ftype == Thrift.Type.I64) {\\n        this.buffers_total_size = input.readI64().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 4:\\n      if (ftype == Thrift.Type.I32) {\\n        this.total_compression_time_ms = input.readI32().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 5:\\n      if (ftype == Thrift.Type.STRUCT) {\\n        this.descriptor = new TResultSetBufferDescriptor();\\n        this.descriptor.read(input);\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 6:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size70 = 0;\\n        var _rtmp374;\\n        this.targets = [];\\n        var _etype73 = 0;\\n        _rtmp374 = input.readListBegin();\\n        _etype73 = _rtmp374.etype;\\n        _size70 = _rtmp374.size;\\n        for (var _i75 = 0; _i75 < _size70; ++_i75)\\n        {\\n          var elem76 = null;\\n          elem76 = new TTargetInfo();\\n          elem76.read(input);\\n          this.targets.push(elem76);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 7:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size77 = 0;\\n        var _rtmp381;\\n        this.target_init_vals = [];\\n        var _etype80 = 0;\\n        _rtmp381 = input.readListBegin();\\n        _etype80 = _rtmp381.etype;\\n        _size77 = _rtmp381.size;\\n        for (var _i82 = 0; _i82 < _size77; ++_i82)\\n        {\\n          var elem83 = null;\\n          elem83 = input.readI64().value;\\n          this.target_init_vals.push(elem83);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 8:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size84 = 0;\\n        var _rtmp388;\\n        this.varlen_buffer = [];\\n        var _etype87 = 0;\\n        _rtmp388 = input.readListBegin();\\n        _etype87 = _rtmp388.etype;\\n        _size84 = _rtmp388.size;\\n        for (var _i89 = 0; _i89 < _size84; ++_i89)\\n        {\\n          var elem90 = null;\\n          elem90 = input.readBinary().value;\\n          this.varlen_buffer.push(elem90);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 9:\\n      if (ftype == Thrift.Type.LIST) {\\n        var _size91 = 0;\\n        var _rtmp395;\\n        this.count_distinct_sets = [];\\n        var _etype94 = 0;\\n        _rtmp395 = input.readListBegin();\\n        _etype94 = _rtmp395.etype;\\n        _size91 = _rtmp395.size;\\n        for (var _i96 = 0; _i96 < _size91; ++_i96)\\n        {\\n          var elem97 = null;\\n          elem97 = new TCountDistinctSet();\\n          elem97.read(input);\\n          this.count_distinct_sets.push(elem97);\\n        }\\n        input.readListEnd();\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      case 10:\\n      if (ftype == Thrift.Type.STRING) {\\n        this.explanation = input.readString().value;\\n      } else {\\n        input.skip(ftype);\\n      }\\n      break;\\n      default:\\n        input.skip(ftype);\\n    }\\n    input.readFieldEnd();\\n  }\\n  input.readStructEnd();\\n  return;\\n};\\n\\nTSerializedRows.prototype.write = function(output) {\\n  output.writeStructBegin('TSerializedRows');\\n  if (this.buffers !== null && this.buffers !== undefined) {\\n    output.writeFieldBegin('buffers', Thrift.Type.LIST, 1);\\n    output.writeListBegin(Thrift.Type.STRING, this.buffers.length);\\n    for (var iter98 in this.buffers)\\n    {\\n      if (this.buffers.hasOwnProperty(iter98))\\n      {\\n        iter98 = this.buffers[iter98];\\n        output.writeBinary(iter98);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.buffer_lengths !== null && this.buffer_lengths !== undefined) {\\n    output.writeFieldBegin('buffer_lengths', Thrift.Type.LIST, 2);\\n    output.writeListBegin(Thrift.Type.I64, this.buffer_lengths.length);\\n    for (var iter99 in this.buffer_lengths)\\n    {\\n      if (this.buffer_lengths.hasOwnProperty(iter99))\\n      {\\n        iter99 = this.buffer_lengths[iter99];\\n        output.writeI64(iter99);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.buffers_total_size !== null && this.buffers_total_size !== undefined) {\\n    output.writeFieldBegin('buffers_total_size', Thrift.Type.I64, 3);\\n    output.writeI64(this.buffers_total_size);\\n    output.writeFieldEnd();\\n  }\\n  if (this.total_compression_time_ms !== null && this.total_compression_time_ms !== undefined) {\\n    output.writeFieldBegin('total_compression_time_ms', Thrift.Type.I32, 4);\\n    output.writeI32(this.total_compression_time_ms);\\n    output.writeFieldEnd();\\n  }\\n  if (this.descriptor !== null && this.descriptor !== undefined) {\\n    output.writeFieldBegin('descriptor', Thrift.Type.STRUCT, 5);\\n    this.descriptor.write(output);\\n    output.writeFieldEnd();\\n  }\\n  if (this.targets !== null && this.targets !== undefined) {\\n    output.writeFieldBegin('targets', Thrift.Type.LIST, 6);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.targets.length);\\n    for (var iter100 in this.targets)\\n    {\\n      if (this.targets.hasOwnProperty(iter100))\\n      {\\n        iter100 = this.targets[iter100];\\n        iter100.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.target_init_vals !== null && this.target_init_vals !== undefined) {\\n    output.writeFieldBegin('target_init_vals', Thrift.Type.LIST, 7);\\n    output.writeListBegin(Thrift.Type.I64, this.target_init_vals.length);\\n    for (var iter101 in this.target_init_vals)\\n    {\\n      if (this.target_init_vals.hasOwnProperty(iter101))\\n      {\\n        iter101 = this.target_init_vals[iter101];\\n        output.writeI64(iter101);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.varlen_buffer !== null && this.varlen_buffer !== undefined) {\\n    output.writeFieldBegin('varlen_buffer', Thrift.Type.LIST, 8);\\n    output.writeListBegin(Thrift.Type.STRING, this.varlen_buffer.length);\\n    for (var iter102 in this.varlen_buffer)\\n    {\\n      if (this.varlen_buffer.hasOwnProperty(iter102))\\n      {\\n        iter102 = this.varlen_buffer[iter102];\\n        output.writeBinary(iter102);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.count_distinct_sets !== null && this.count_distinct_sets !== undefined) {\\n    output.writeFieldBegin('count_distinct_sets', Thrift.Type.LIST, 9);\\n    output.writeListBegin(Thrift.Type.STRUCT, this.count_distinct_sets.length);\\n    for (var iter103 in this.count_distinct_sets)\\n    {\\n      if (this.count_distinct_sets.hasOwnProperty(iter103))\\n      {\\n        iter103 = this.count_distinct_sets[iter103];\\n        iter103.write(output);\\n      }\\n    }\\n    output.writeListEnd();\\n    output.writeFieldEnd();\\n  }\\n  if (this.explanation !== null && this.explanation !== undefined) {\\n    output.writeFieldBegin('explanation', Thrift.Type.STRING, 10);\\n    output.writeString(this.explanation);\\n    output.writeFieldEnd();\\n  }\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n  return;\\n};\\n\\n\"\n\n/***/ }),\n\n/***/ 9705:\n/***/ ((module) => {\n\nmodule.exports = \"\\\"use strict\\\"\\n/*\\n * Licensed to the Apache Software Foundation (ASF) under one\\n * or more contributor license agreements. See the NOTICE file\\n * distributed with this work for additional information\\n * regarding copyright ownership. The ASF licenses this file\\n * to you under the Apache License, Version 2.0 (the\\n * \\\"License\\\"); you may not use this file except in compliance\\n * with the License. You may obtain a copy of the License at\\n *\\n *   http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing,\\n * software distributed under the License is distributed on an\\n * \\\"AS IS\\\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\\n * KIND, either express or implied. See the License for the\\n * specific language governing permissions and limitations\\n * under the License.\\n */\\n\\n/*jshint evil:true*/\\n\\n/**\\n * The Thrift namespace houses the Apache Thrift JavaScript library\\n * elements providing JavaScript bindings for the Apache Thrift RPC\\n * system. End users will typically only directly make use of the\\n * Transport (TXHRTransport/TWebSocketTransport) and Protocol\\n * (TJSONPRotocol/TBinaryProtocol) constructors.\\n *\\n * Object methods beginning with a __ (e.g. __onOpen()) are internal\\n * and should not be called outside of the object's own methods.\\n *\\n * This library creates one global object: Thrift\\n * Code in this library must never create additional global identifiers,\\n * all features must be scoped within the Thrift namespace.\\n * @namespace\\n * @example\\n *     var transport = new Thrift.Transport(\\\"http://localhost:8585\\\");\\n *     var protocol  = new Thrift.Protocol(transport);\\n *     var client = new MyThriftSvcClient(protocol);\\n *     var result = client.MyMethod();\\n */\\nvar Thrift = {\\n  /**\\n   * Thrift JavaScript library version.\\n   * @readonly\\n   * @const {string} Version\\n   * @memberof Thrift\\n   */\\n  Version: '0.9.3',\\n\\n  /**\\n   * Thrift IDL type string to Id mapping.\\n   * @readonly\\n   * @property {number}  STOP   - End of a set of fields.\\n   * @property {number}  VOID   - No value (only legal for return types).\\n   * @property {number}  BOOL   - True/False integer.\\n   * @property {number}  BYTE   - Signed 8 bit integer.\\n   * @property {number}  I08    - Signed 8 bit integer.\\n   * @property {number}  DOUBLE - 64 bit IEEE 854 floating point.\\n   * @property {number}  I16    - Signed 16 bit integer.\\n   * @property {number}  I32    - Signed 32 bit integer.\\n   * @property {number}  I64    - Signed 64 bit integer.\\n   * @property {number}  STRING - Array of bytes representing a string of characters.\\n   * @property {number}  UTF7   - Array of bytes representing a string of UTF7 encoded characters.\\n   * @property {number}  STRUCT - A multifield type.\\n   * @property {number}  MAP    - A collection type (map/associative-array/dictionary).\\n   * @property {number}  SET    - A collection type (unordered and without repeated values).\\n   * @property {number}  LIST   - A collection type (unordered).\\n   * @property {number}  UTF8   - Array of bytes representing a string of UTF8 encoded characters.\\n   * @property {number}  UTF16  - Array of bytes representing a string of UTF16 encoded characters.\\n   */\\n  Type: {\\n      'STOP' : 0,\\n      'VOID' : 1,\\n      'BOOL' : 2,\\n      'BYTE' : 3,\\n      'I08' : 3,\\n      'DOUBLE' : 4,\\n      'I16' : 6,\\n      'I32' : 8,\\n      'I64' : 10,\\n      'STRING' : 11,\\n      'UTF7' : 11,\\n      'STRUCT' : 12,\\n      'MAP' : 13,\\n      'SET' : 14,\\n      'LIST' : 15,\\n      'UTF8' : 16,\\n      'UTF16' : 17\\n  },\\n\\n  /**\\n   * Thrift RPC message type string to Id mapping.\\n   * @readonly\\n   * @property {number}  CALL      - RPC call sent from client to server.\\n   * @property {number}  REPLY     - RPC call normal response from server to client.\\n   * @property {number}  EXCEPTION - RPC call exception response from server to client.\\n   * @property {number}  ONEWAY    - Oneway RPC call from client to server with no response.\\n   */\\n  MessageType: {\\n      'CALL' : 1,\\n      'REPLY' : 2,\\n      'EXCEPTION' : 3,\\n      'ONEWAY' : 4\\n  },\\n\\n  /**\\n   * Utility function returning the count of an object's own properties.\\n   * @param {object} obj - Object to test.\\n   * @returns {number} number of object's own properties\\n   */\\n  objectLength: function(obj) {\\n      var length = 0;\\n      for (var k in obj) {\\n          if (obj.hasOwnProperty(k)) {\\n              length++;\\n          }\\n      }\\n      return length;\\n  },\\n\\n  /**\\n   * Utility function to establish prototype inheritance.\\n   * @see {@link http://javascript.crockford.com/prototypal.html|Prototypal Inheritance}\\n   * @param {function} constructor - Contstructor function to set as derived.\\n   * @param {function} superConstructor - Contstructor function to set as base.\\n   * @param {string} [name] - Type name to set as name property in derived prototype.\\n   */\\n  inherits: function(constructor, superConstructor, name) {\\n    function F() {}\\n    F.prototype = superConstructor.prototype;\\n    constructor.prototype = new F();\\n    constructor.prototype.name = name || \\\"\\\";\\n  },\\n\\n  xhrWithCredentials: false\\n};\\n\\n/**\\n* Initializes a Thrift TException instance.\\n* @constructor\\n* @augments Error\\n* @param {string} message - The TException message (distinct from the Error message).\\n* @classdesc TException is the base class for all Thrift exceptions types.\\n*/\\nThrift.TException = function(message) {\\n  this.message = message;\\n};\\nThrift.inherits(Thrift.TException, Error, 'TException');\\n\\n/**\\n* Returns the message set on the exception.\\n* @readonly\\n* @returns {string} exception message\\n*/\\nThrift.TException.prototype.getMessage = function() {\\n  return this.message;\\n};\\n\\n/**\\n* Thrift Application Exception type string to Id mapping.\\n* @readonly\\n* @property {number}  UNKNOWN                 - Unknown/undefined.\\n* @property {number}  UNKNOWN_METHOD          - Client attempted to call a method unknown to the server.\\n* @property {number}  INVALID_MESSAGE_TYPE    - Client passed an unknown/unsupported MessageType.\\n* @property {number}  WRONG_METHOD_NAME       - Unused.\\n* @property {number}  BAD_SEQUENCE_ID         - Unused in Thrift RPC, used to flag proprietary sequence number errors.\\n* @property {number}  MISSING_RESULT          - Raised by a server processor if a handler fails to supply the required return result.\\n* @property {number}  INTERNAL_ERROR          - Something bad happened.\\n* @property {number}  PROTOCOL_ERROR          - The protocol layer failed to serialize or deserialize data.\\n* @property {number}  INVALID_TRANSFORM       - Unused.\\n* @property {number}  INVALID_PROTOCOL        - The protocol (or version) is not supported.\\n* @property {number}  UNSUPPORTED_CLIENT_TYPE - Unused.\\n*/\\nThrift.TApplicationExceptionType = {\\n  'UNKNOWN' : 0,\\n  'UNKNOWN_METHOD' : 1,\\n  'INVALID_MESSAGE_TYPE' : 2,\\n  'WRONG_METHOD_NAME' : 3,\\n  'BAD_SEQUENCE_ID' : 4,\\n  'MISSING_RESULT' : 5,\\n  'INTERNAL_ERROR' : 6,\\n  'PROTOCOL_ERROR' : 7,\\n  'INVALID_TRANSFORM' : 8,\\n  'INVALID_PROTOCOL' : 9,\\n  'UNSUPPORTED_CLIENT_TYPE' : 10\\n};\\n\\n/**\\n* Initializes a Thrift TApplicationException instance.\\n* @constructor\\n* @augments Thrift.TException\\n* @param {string} message - The TApplicationException message (distinct from the Error message).\\n* @param {Thrift.TApplicationExceptionType} [code] - The TApplicationExceptionType code.\\n* @classdesc TApplicationException is the exception class used to propagate exceptions from an RPC server back to a calling client.\\n*/\\nThrift.TApplicationException = function(message, code) {\\n  this.message = message;\\n  this.code = typeof code === \\\"number\\\" ? code : 0;\\n};\\nThrift.inherits(Thrift.TApplicationException, Thrift.TException, 'TApplicationException');\\n\\n/**\\n* Read a TApplicationException from the supplied protocol.\\n* @param {object} input - The input protocol to read from.\\n*/\\nThrift.TApplicationException.prototype.read = function(input) {\\n  while (1) {\\n      var ret = input.readFieldBegin();\\n\\n      if (ret.ftype == Thrift.Type.STOP) {\\n          break;\\n      }\\n\\n      var fid = ret.fid;\\n\\n      switch (fid) {\\n          case 1:\\n              if (ret.ftype == Thrift.Type.STRING) {\\n                  ret = input.readString();\\n                  this.message = ret.value;\\n              } else {\\n                  ret = input.skip(ret.ftype);\\n              }\\n              break;\\n          case 2:\\n              if (ret.ftype == Thrift.Type.I32) {\\n                  ret = input.readI32();\\n                  this.code = ret.value;\\n              } else {\\n                  ret = input.skip(ret.ftype);\\n              }\\n              break;\\n         default:\\n              ret = input.skip(ret.ftype);\\n              break;\\n      }\\n\\n      input.readFieldEnd();\\n  }\\n\\n  input.readStructEnd();\\n};\\n\\n/**\\n* Wite a TApplicationException to the supplied protocol.\\n* @param {object} output - The output protocol to write to.\\n*/\\nThrift.TApplicationException.prototype.write = function(output) {\\n  output.writeStructBegin('TApplicationException');\\n\\n  if (this.message) {\\n      output.writeFieldBegin('message', Thrift.Type.STRING, 1);\\n      output.writeString(this.getMessage());\\n      output.writeFieldEnd();\\n  }\\n\\n  if (this.code) {\\n      output.writeFieldBegin('type', Thrift.Type.I32, 2);\\n      output.writeI32(this.code);\\n      output.writeFieldEnd();\\n  }\\n\\n  output.writeFieldStop();\\n  output.writeStructEnd();\\n};\\n\\n/**\\n* Returns the application exception code set on the exception.\\n* @readonly\\n* @returns {Thrift.TApplicationExceptionType} exception code\\n*/\\nThrift.TApplicationException.prototype.getCode = function() {\\n  return this.code;\\n};\\n\\n/**\\n* Constructor Function for the XHR transport.\\n* If you do not specify a url then you must handle XHR operations on\\n* your own. This type can also be constructed using the Transport alias\\n* for backward compatibility.\\n* @constructor\\n* @param {string} [url] - The URL to connect to.\\n* @classdesc The Apache Thrift Transport layer performs byte level I/O\\n* between RPC clients and servers. The JavaScript TXHRTransport object\\n* uses Http[s]/XHR. Target servers must implement the http[s] transport\\n* (see: node.js example server_http.js).\\n* @example\\n*     var transport = new Thrift.TXHRTransport(\\\"http://localhost:8585\\\");\\n*/\\nThrift.Transport = Thrift.TXHRTransport = function(url, options) {\\n  this.url = url;\\n  this.wpos = 0;\\n  this.rpos = 0;\\n  this.useCORS = (options && options.useCORS);\\n  this.send_buf = '';\\n  this.recv_buf = '';\\n};\\n\\nThrift.TXHRTransport.prototype = {\\n  /**\\n   * Gets the browser specific XmlHttpRequest Object.\\n   * @returns {object} the browser XHR interface object\\n   */\\n  getXmlHttpRequestObject: function() {\\n      try { return new XMLHttpRequest(); } catch (e1) { }\\n      try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e2) { }\\n      try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e3) { }\\n\\n      throw \\\"Your browser doesn't support XHR.\\\";\\n  },\\n\\n  /**\\n   * Sends the current XRH request if the transport was created with a URL\\n   * and the async parameter is false. If the transport was not created with\\n   * a URL, or the async parameter is True and no callback is provided, or\\n   * the URL is an empty string, the current send buffer is returned.\\n   * @param {object} async - If true the current send buffer is returned.\\n   * @param {object} callback - Optional async completion callback\\n   * @returns {undefined|string} Nothing or the current send buffer.\\n   * @throws {string} If XHR fails.\\n   */\\n  flush: function(async, callback) {\\n      var self = this;\\n      if ((async && !callback) || this.url === undefined || this.url === '') {\\n          return this.send_buf;\\n      }\\n\\n      var xreq = this.getXmlHttpRequestObject();\\n\\n      if (xreq.overrideMimeType) {\\n          xreq.overrideMimeType('application/vnd.apache.thrift.json; charset=utf-8');\\n      }\\n\\n      if (callback) {\\n          //Ignore XHR callbacks until the data arrives, then call the\\n          //  client's callback\\n          xreq.onreadystatechange =\\n            (function() {\\n              var clientCallback = callback;\\n              return function() {\\n                if (this.readyState == 4 && this.status == 200) {\\n                  self.setRecvBuffer(this.responseText);\\n                  clientCallback();\\n                }\\n              };\\n            }());\\n      }\\n\\n      xreq.open('POST', this.url, !!async);\\n      xreq.withCredentials = Thrift.xhrWithCredentials\\n      if (xreq.setRequestHeader) {\\n          xreq.setRequestHeader('Accept', 'application/vnd.apache.thrift.json; charset=utf-8');\\n          xreq.setRequestHeader('Content-Type', 'application/vnd.apache.thrift.json; charset=utf-8');\\n      }\\n\\n      xreq.send(this.send_buf);\\n      if (async && callback) {\\n          return;\\n      }\\n\\n      if (xreq.readyState != 4) {\\n          throw 'encountered an unknown ajax ready state: ' + xreq.readyState;\\n      }\\n\\n      if (xreq.status != 200) {\\n          throw 'encountered a unknown request status: ' + xreq.status;\\n      }\\n\\n      this.recv_buf = xreq.responseText;\\n      this.recv_buf_sz = this.recv_buf.length;\\n      this.wpos = this.recv_buf.length;\\n      this.rpos = 0;\\n  },\\n\\n  /**\\n   * Creates a jQuery XHR object to be used for a Thrift server call.\\n   * @param {object} client - The Thrift Service client object generated by the IDL compiler.\\n   * @param {object} postData - The message to send to the server.\\n   * @param {function} args - The original call arguments with the success call back at the end.\\n   * @param {function} recv_method - The Thrift Service Client receive method for the call.\\n   * @returns {object} A new jQuery XHR object.\\n   * @throws {string} If the jQuery version is prior to 1.5 or if jQuery is not found.\\n   */\\n  jqRequest: function(client, postData, args, recv_method) {\\n      if (typeof jQuery === 'undefined' ||\\n          typeof jQuery.Deferred === 'undefined') {\\n          throw 'Thrift.js requires jQuery 1.5+ to use asynchronous requests';\\n      }\\n\\n      var thriftTransport = this;\\n\\n      var jqXHR = jQuery.ajax({\\n          url: this.url,\\n          data: postData,\\n          type: 'POST',\\n          cache: false,\\n          contentType: 'application/vnd.apache.thrift.json; charset=utf-8',\\n          dataType: 'text thrift',\\n          converters: {\\n              'text thrift' : function(responseData) {\\n                  thriftTransport.setRecvBuffer(responseData);\\n                  var value = recv_method.call(client);\\n                  return value;\\n              }\\n          },\\n          context: client,\\n          success: jQuery.makeArray(args).pop()\\n      });\\n\\n      return jqXHR;\\n  },\\n\\n  /**\\n   * Sets the buffer to provide the protocol when deserializing.\\n   * @param {string} buf - The buffer to supply the protocol.\\n   */\\n  setRecvBuffer: function(buf) {\\n      this.recv_buf = buf;\\n      this.recv_buf_sz = this.recv_buf.length;\\n      this.wpos = this.recv_buf.length;\\n      this.rpos = 0;\\n  },\\n\\n  /**\\n   * Returns true if the transport is open, XHR always returns true.\\n   * @readonly\\n   * @returns {boolean} Always True.\\n   */\\n  isOpen: function() {\\n      return true;\\n  },\\n\\n  /**\\n   * Opens the transport connection, with XHR this is a nop.\\n   */\\n  open: function() {},\\n\\n  /**\\n   * Closes the transport connection, with XHR this is a nop.\\n   */\\n  close: function() {},\\n\\n  /**\\n   * Returns the specified number of characters from the response\\n   * buffer.\\n   * @param {number} len - The number of characters to return.\\n   * @returns {string} Characters sent by the server.\\n   */\\n  read: function(len) {\\n      var avail = this.wpos - this.rpos;\\n\\n      if (avail === 0) {\\n          return '';\\n      }\\n\\n      var give = len;\\n\\n      if (avail < len) {\\n          give = avail;\\n      }\\n\\n      var ret = this.read_buf.substr(this.rpos, give);\\n      this.rpos += give;\\n\\n      //clear buf when complete?\\n      return ret;\\n  },\\n\\n  /**\\n   * Returns the entire response buffer.\\n   * @returns {string} Characters sent by the server.\\n   */\\n  readAll: function() {\\n      return this.recv_buf;\\n  },\\n\\n  /**\\n   * Sets the send buffer to buf.\\n   * @param {string} buf - The buffer to send.\\n   */\\n  write: function(buf) {\\n      this.send_buf = buf;\\n  },\\n\\n  /**\\n   * Returns the send buffer.\\n   * @readonly\\n   * @returns {string} The send buffer.\\n   */\\n  getSendBuffer: function() {\\n      return this.send_buf;\\n  }\\n\\n};\\n\\n\\n/**\\n* Constructor Function for the WebSocket transport.\\n* @constructor\\n* @param {string} [url] - The URL to connect to.\\n* @classdesc The Apache Thrift Transport layer performs byte level I/O\\n* between RPC clients and servers. The JavaScript TWebSocketTransport object\\n* uses the WebSocket protocol. Target servers must implement WebSocket.\\n* (see: node.js example server_http.js).\\n* @example\\n*   var transport = new Thrift.TWebSocketTransport(\\\"http://localhost:8585\\\");\\n*/\\nThrift.TWebSocketTransport = function(url) {\\n  this.__reset(url);\\n};\\n\\nThrift.TWebSocketTransport.prototype = {\\n  __reset: function(url) {\\n    this.url = url;             //Where to connect\\n    this.socket = null;         //The web socket\\n    this.callbacks = [];        //Pending callbacks\\n    this.send_pending = [];     //Buffers/Callback pairs waiting to be sent\\n    this.send_buf = '';         //Outbound data, immutable until sent\\n    this.recv_buf = '';         //Inbound data\\n    this.rb_wpos = 0;           //Network write position in receive buffer\\n    this.rb_rpos = 0;           //Client read position in receive buffer\\n  },\\n\\n  /**\\n   * Sends the current WS request and registers callback. The async\\n   * parameter is ignored (WS flush is always async) and the callback\\n   * function parameter is required.\\n   * @param {object} async - Ignored.\\n   * @param {object} callback - The client completion callback.\\n   * @returns {undefined|string} Nothing (undefined)\\n   */\\n  flush: function(async, callback) {\\n    var self = this;\\n    if (this.isOpen()) {\\n      //Send data and register a callback to invoke the client callback\\n      this.socket.send(this.send_buf);\\n      this.callbacks.push((function() {\\n        var clientCallback = callback;\\n        return function(msg) {\\n          self.setRecvBuffer(msg);\\n          clientCallback();\\n        };\\n      }()));\\n    } else {\\n      //Queue the send to go out __onOpen\\n      this.send_pending.push({\\n        buf: this.send_buf,\\n        cb:  callback\\n      });\\n    }\\n  },\\n\\n  __onOpen: function() {\\n     var self = this;\\n     if (this.send_pending.length > 0) {\\n        //If the user made calls before the connection was fully\\n        //open, send them now\\n        this.send_pending.forEach(function(elem) {\\n           this.socket.send(elem.buf);\\n           this.callbacks.push((function() {\\n             var clientCallback = elem.cb;\\n             return function(msg) {\\n                self.setRecvBuffer(msg);\\n                clientCallback();\\n             };\\n           }()));\\n        });\\n        this.send_pending = [];\\n     }\\n  },\\n\\n  __onClose: function(evt) {\\n    this.__reset(this.url);\\n  },\\n\\n  __onMessage: function(evt) {\\n    if (this.callbacks.length) {\\n      this.callbacks.shift()(evt.data);\\n    }\\n  },\\n\\n  __onError: function(evt) {\\n    console.log(\\\"Thrift WebSocket Error: \\\" + evt.toString());\\n    this.socket.close();\\n  },\\n\\n  /**\\n   * Sets the buffer to use when receiving server responses.\\n   * @param {string} buf - The buffer to receive server responses.\\n   */\\n  setRecvBuffer: function(buf) {\\n      this.recv_buf = buf;\\n      this.recv_buf_sz = this.recv_buf.length;\\n      this.wpos = this.recv_buf.length;\\n      this.rpos = 0;\\n  },\\n\\n  /**\\n   * Returns true if the transport is open\\n   * @readonly\\n   * @returns {boolean}\\n   */\\n  isOpen: function() {\\n      return this.socket && this.socket.readyState == this.socket.OPEN;\\n  },\\n\\n  /**\\n   * Opens the transport connection\\n   */\\n  open: function() {\\n    //If OPEN/CONNECTING/CLOSING ignore additional opens\\n    if (this.socket && this.socket.readyState != this.socket.CLOSED) {\\n      return;\\n    }\\n    //If there is no socket or the socket is closed:\\n    this.socket = new WebSocket(this.url);\\n    this.socket.onopen = this.__onOpen.bind(this);\\n    this.socket.onmessage = this.__onMessage.bind(this);\\n    this.socket.onerror = this.__onError.bind(this);\\n    this.socket.onclose = this.__onClose.bind(this);\\n  },\\n\\n  /**\\n   * Closes the transport connection\\n   */\\n  close: function() {\\n    this.socket.close();\\n  },\\n\\n  /**\\n   * Returns the specified number of characters from the response\\n   * buffer.\\n   * @param {number} len - The number of characters to return.\\n   * @returns {string} Characters sent by the server.\\n   */\\n  read: function(len) {\\n      var avail = this.wpos - this.rpos;\\n\\n      if (avail === 0) {\\n          return '';\\n      }\\n\\n      var give = len;\\n\\n      if (avail < len) {\\n          give = avail;\\n      }\\n\\n      var ret = this.read_buf.substr(this.rpos, give);\\n      this.rpos += give;\\n\\n      //clear buf when complete?\\n      return ret;\\n  },\\n\\n  /**\\n   * Returns the entire response buffer.\\n   * @returns {string} Characters sent by the server.\\n   */\\n  readAll: function() {\\n      return this.recv_buf;\\n  },\\n\\n  /**\\n   * Sets the send buffer to buf.\\n   * @param {string} buf - The buffer to send.\\n   */\\n  write: function(buf) {\\n      this.send_buf = buf;\\n  },\\n\\n  /**\\n   * Returns the send buffer.\\n   * @readonly\\n   * @returns {string} The send buffer.\\n   */\\n  getSendBuffer: function() {\\n      return this.send_buf;\\n  }\\n\\n};\\n\\n/**\\n* Initializes a Thrift JSON protocol instance.\\n* @constructor\\n* @param {Thrift.Transport} transport - The transport to serialize to/from.\\n* @classdesc Apache Thrift Protocols perform serialization which enables cross\\n* language RPC. The Protocol type is the JavaScript browser implementation\\n* of the Apache Thrift TJSONProtocol.\\n* @example\\n*     var protocol  = new Thrift.Protocol(transport);\\n*/\\nThrift.TJSONProtocol = Thrift.Protocol = function(transport) {\\n  this.tstack = [];\\n  this.tpos = [];\\n  this.transport = transport;\\n};\\n\\n/**\\n* Thrift IDL type Id to string mapping.\\n* @readonly\\n* @see {@link Thrift.Type}\\n*/\\nThrift.Protocol.Type = {};\\nThrift.Protocol.Type[Thrift.Type.BOOL] = '\\\"tf\\\"';\\nThrift.Protocol.Type[Thrift.Type.BYTE] = '\\\"i8\\\"';\\nThrift.Protocol.Type[Thrift.Type.I16] = '\\\"i16\\\"';\\nThrift.Protocol.Type[Thrift.Type.I32] = '\\\"i32\\\"';\\nThrift.Protocol.Type[Thrift.Type.I64] = '\\\"i64\\\"';\\nThrift.Protocol.Type[Thrift.Type.DOUBLE] = '\\\"dbl\\\"';\\nThrift.Protocol.Type[Thrift.Type.STRUCT] = '\\\"rec\\\"';\\nThrift.Protocol.Type[Thrift.Type.STRING] = '\\\"str\\\"';\\nThrift.Protocol.Type[Thrift.Type.MAP] = '\\\"map\\\"';\\nThrift.Protocol.Type[Thrift.Type.LIST] = '\\\"lst\\\"';\\nThrift.Protocol.Type[Thrift.Type.SET] = '\\\"set\\\"';\\n\\n/**\\n* Thrift IDL type string to Id mapping.\\n* @readonly\\n* @see {@link Thrift.Type}\\n*/\\nThrift.Protocol.RType = {};\\nThrift.Protocol.RType.tf = Thrift.Type.BOOL;\\nThrift.Protocol.RType.i8 = Thrift.Type.BYTE;\\nThrift.Protocol.RType.i16 = Thrift.Type.I16;\\nThrift.Protocol.RType.i32 = Thrift.Type.I32;\\nThrift.Protocol.RType.i64 = Thrift.Type.I64;\\nThrift.Protocol.RType.dbl = Thrift.Type.DOUBLE;\\nThrift.Protocol.RType.rec = Thrift.Type.STRUCT;\\nThrift.Protocol.RType.str = Thrift.Type.STRING;\\nThrift.Protocol.RType.map = Thrift.Type.MAP;\\nThrift.Protocol.RType.lst = Thrift.Type.LIST;\\nThrift.Protocol.RType.set = Thrift.Type.SET;\\n\\n/**\\n* The TJSONProtocol version number.\\n* @readonly\\n* @const {number} Version\\n* @memberof Thrift.Protocol\\n*/\\nThrift.Protocol.Version = 1;\\n\\nThrift.Protocol.prototype = {\\n  /**\\n   * Returns the underlying transport.\\n   * @readonly\\n   * @returns {Thrift.Transport} The underlying transport.\\n   */\\n  getTransport: function() {\\n      return this.transport;\\n  },\\n\\n  /**\\n   * Serializes the beginning of a Thrift RPC message.\\n   * @param {string} name - The service method to call.\\n   * @param {Thrift.MessageType} messageType - The type of method call.\\n   * @param {number} seqid - The sequence number of this call (always 0 in Apache Thrift).\\n   */\\n  writeMessageBegin: function(name, messageType, seqid) {\\n      this.tstack = [];\\n      this.tpos = [];\\n\\n      this.tstack.push([Thrift.Protocol.Version, '\\\"' +\\n          name + '\\\"', messageType, seqid]);\\n  },\\n\\n  /**\\n   * Serializes the end of a Thrift RPC message.\\n   */\\n  writeMessageEnd: function() {\\n      var obj = this.tstack.pop();\\n\\n      this.wobj = this.tstack.pop();\\n      this.wobj.push(obj);\\n\\n      this.wbuf = '[' + this.wobj.join(',') + ']';\\n\\n      this.transport.write(this.wbuf);\\n   },\\n\\n\\n  /**\\n   * Serializes the beginning of a struct.\\n   * @param {string} name - The name of the struct.\\n   */\\n  writeStructBegin: function(name) {\\n      this.tpos.push(this.tstack.length);\\n      this.tstack.push({});\\n  },\\n\\n  /**\\n   * Serializes the end of a struct.\\n   */\\n  writeStructEnd: function() {\\n\\n      var p = this.tpos.pop();\\n      var struct = this.tstack[p];\\n      var str = '{';\\n      var first = true;\\n      for (var key in struct) {\\n          if (first) {\\n              first = false;\\n          } else {\\n              str += ',';\\n          }\\n\\n          str += key + ':' + struct[key];\\n      }\\n\\n      str += '}';\\n      this.tstack[p] = str;\\n  },\\n\\n  /**\\n   * Serializes the beginning of a struct field.\\n   * @param {string} name - The name of the field.\\n   * @param {Thrift.Protocol.Type} fieldType - The data type of the field.\\n   * @param {number} fieldId - The field's unique identifier.\\n   */\\n  writeFieldBegin: function(name, fieldType, fieldId) {\\n      this.tpos.push(this.tstack.length);\\n      this.tstack.push({ 'fieldId': '\\\"' +\\n          fieldId + '\\\"', 'fieldType': Thrift.Protocol.Type[fieldType]\\n      });\\n\\n  },\\n\\n  /**\\n   * Serializes the end of a field.\\n   */\\n  writeFieldEnd: function() {\\n      var value = this.tstack.pop();\\n      var fieldInfo = this.tstack.pop();\\n\\n      this.tstack[this.tstack.length - 1][fieldInfo.fieldId] = '{' +\\n          fieldInfo.fieldType + ':' + value + '}';\\n      this.tpos.pop();\\n  },\\n\\n  /**\\n   * Serializes the end of the set of fields for a struct.\\n   */\\n  writeFieldStop: function() {\\n      //na\\n  },\\n\\n  /**\\n   * Serializes the beginning of a map collection.\\n   * @param {Thrift.Type} keyType - The data type of the key.\\n   * @param {Thrift.Type} valType - The data type of the value.\\n   * @param {number} [size] - The number of elements in the map (ignored).\\n   */\\n  writeMapBegin: function(keyType, valType, size) {\\n      this.tpos.push(this.tstack.length);\\n      this.tstack.push([Thrift.Protocol.Type[keyType],\\n          Thrift.Protocol.Type[valType], 0]);\\n  },\\n\\n  /**\\n   * Serializes the end of a map.\\n   */\\n  writeMapEnd: function() {\\n      var p = this.tpos.pop();\\n\\n      if (p == this.tstack.length) {\\n          return;\\n      }\\n\\n      if ((this.tstack.length - p - 1) % 2 !== 0) {\\n          this.tstack.push('');\\n      }\\n\\n      var size = (this.tstack.length - p - 1) / 2;\\n\\n      this.tstack[p][this.tstack[p].length - 1] = size;\\n\\n      var map = '}';\\n      var first = true;\\n      while (this.tstack.length > p + 1) {\\n          var v = this.tstack.pop();\\n          var k = this.tstack.pop();\\n          if (first) {\\n              first = false;\\n          } else {\\n              map = ',' + map;\\n          }\\n\\n          if (! isNaN(k)) { k = '\\\"' + k + '\\\"'; } //json \\\"keys\\\" need to be strings\\n          map = k + ':' + v + map;\\n      }\\n      map = '{' + map;\\n\\n      this.tstack[p].push(map);\\n      this.tstack[p] = '[' + this.tstack[p].join(',') + ']';\\n  },\\n\\n  /**\\n   * Serializes the beginning of a list collection.\\n   * @param {Thrift.Type} elemType - The data type of the elements.\\n   * @param {number} size - The number of elements in the list.\\n   */\\n  writeListBegin: function(elemType, size) {\\n      this.tpos.push(this.tstack.length);\\n      this.tstack.push([Thrift.Protocol.Type[elemType], size]);\\n  },\\n\\n  /**\\n   * Serializes the end of a list.\\n   */\\n  writeListEnd: function() {\\n      var p = this.tpos.pop();\\n\\n      while (this.tstack.length > p + 1) {\\n          var tmpVal = this.tstack[p + 1];\\n          this.tstack.splice(p + 1, 1);\\n          this.tstack[p].push(tmpVal);\\n      }\\n\\n      this.tstack[p] = '[' + this.tstack[p].join(',') + ']';\\n  },\\n\\n  /**\\n   * Serializes the beginning of a set collection.\\n   * @param {Thrift.Type} elemType - The data type of the elements.\\n   * @param {number} size - The number of elements in the list.\\n   */\\n  writeSetBegin: function(elemType, size) {\\n      this.tpos.push(this.tstack.length);\\n      this.tstack.push([Thrift.Protocol.Type[elemType], size]);\\n  },\\n\\n  /**\\n   * Serializes the end of a set.\\n   */\\n  writeSetEnd: function() {\\n      var p = this.tpos.pop();\\n\\n      while (this.tstack.length > p + 1) {\\n          var tmpVal = this.tstack[p + 1];\\n          this.tstack.splice(p + 1, 1);\\n          this.tstack[p].push(tmpVal);\\n      }\\n\\n      this.tstack[p] = '[' + this.tstack[p].join(',') + ']';\\n  },\\n\\n  /** Serializes a boolean */\\n  writeBool: function(value) {\\n      this.tstack.push(value ? 1 : 0);\\n  },\\n\\n  /** Serializes a number */\\n  writeByte: function(i8) {\\n      this.tstack.push(i8);\\n  },\\n\\n  /** Serializes a number */\\n  writeI16: function(i16) {\\n      this.tstack.push(i16);\\n  },\\n\\n  /** Serializes a number */\\n  writeI32: function(i32) {\\n      this.tstack.push(i32);\\n  },\\n\\n  /** Serializes a number */\\n  writeI64: function(i64) {\\n      this.tstack.push(i64);\\n  },\\n\\n  /** Serializes a number */\\n  writeDouble: function(dbl) {\\n      this.tstack.push(dbl);\\n  },\\n\\n  /** Serializes a string */\\n  writeString: function(str) {\\n      // We do not encode uri components for wire transfer:\\n      if (str === null) {\\n          this.tstack.push(null);\\n      } else {\\n          // concat may be slower than building a byte buffer\\n          var escapedString = '';\\n          for (var i = 0; i < str.length; i++) {\\n              var ch = str.charAt(i);      // a single double quote: \\\"\\n              if (ch === '\\\\\\\"') {\\n                  escapedString += '\\\\\\\\\\\\\\\"'; // write out as: \\\\\\\"\\n              } else if (ch === '\\\\\\\\') {    // a single backslash\\n                  escapedString += '\\\\\\\\\\\\\\\\'; // write out as double backslash\\n              } else if (ch === '\\\\b') {    // a single backspace: invisible\\n                  escapedString += '\\\\\\\\b';  // write out as: \\\\b\\\"\\n              } else if (ch === '\\\\f') {    // a single formfeed: invisible\\n                  escapedString += '\\\\\\\\f';  // write out as: \\\\f\\\"\\n              } else if (ch === '\\\\n') {    // a single newline: invisible\\n                  escapedString += '\\\\\\\\n';  // write out as: \\\\n\\\"\\n              } else if (ch === '\\\\r') {    // a single return: invisible\\n                  escapedString += '\\\\\\\\r';  // write out as: \\\\r\\\"\\n              } else if (ch === '\\\\t') {    // a single tab: invisible\\n                  escapedString += '\\\\\\\\t';  // write out as: \\\\t\\\"\\n              } else {\\n                  escapedString += ch;     // Else it need not be escaped\\n              }\\n          }\\n          this.tstack.push('\\\"' + escapedString + '\\\"');\\n      }\\n  },\\n\\n  /** Serializes a string */\\n  writeBinary: function(str) {\\n      this.writeString(str);\\n  },\\n\\n  /**\\n     @class\\n     @name AnonReadMessageBeginReturn\\n     @property {string} fname - The name of the service method.\\n     @property {Thrift.MessageType} mtype - The type of message call.\\n     @property {number} rseqid - The sequence number of the message (0 in Thrift RPC).\\n   */\\n  /**\\n   * Deserializes the beginning of a message.\\n   * @returns {AnonReadMessageBeginReturn}\\n   */\\n  readMessageBegin: function() {\\n      this.rstack = [];\\n      this.rpos = [];\\n\\n      if (typeof JSON !== 'undefined' && typeof JSON.parse === 'function') {\\n          this.robj = JSON.parse(this.transport.readAll());\\n      } else if (typeof jQuery !== 'undefined') {\\n          this.robj = jQuery.parseJSON(this.transport.readAll());\\n      } else {\\n          this.robj = eval(this.transport.readAll());\\n      }\\n\\n      var r = {};\\n      var version = this.robj.shift();\\n\\n      if (version != Thrift.Protocol.Version) {\\n          throw 'Wrong thrift protocol version: ' + version;\\n      }\\n\\n      r.fname = this.robj.shift();\\n      r.mtype = this.robj.shift();\\n      r.rseqid = this.robj.shift();\\n\\n\\n      //get to the main obj\\n      this.rstack.push(this.robj.shift());\\n\\n      return r;\\n  },\\n\\n  /** Deserializes the end of a message. */\\n  readMessageEnd: function() {\\n  },\\n\\n  /**\\n   * Deserializes the beginning of a struct.\\n   * @param {string} [name] - The name of the struct (ignored)\\n   * @returns {object} - An object with an empty string fname property\\n   */\\n  readStructBegin: function(name) {\\n      var r = {};\\n      r.fname = '';\\n\\n      //incase this is an array of structs\\n      if (this.rstack[this.rstack.length - 1] instanceof Array) {\\n          this.rstack.push(this.rstack[this.rstack.length - 1].shift());\\n      }\\n\\n      return r;\\n  },\\n\\n  /** Deserializes the end of a struct. */\\n  readStructEnd: function() {\\n      if (this.rstack[this.rstack.length - 2] instanceof Array) {\\n          this.rstack.pop();\\n      }\\n  },\\n\\n  /**\\n     @class\\n     @name AnonReadFieldBeginReturn\\n     @property {string} fname - The name of the field (always '').\\n     @property {Thrift.Type} ftype - The data type of the field.\\n     @property {number} fid - The unique identifier of the field.\\n   */\\n  /**\\n   * Deserializes the beginning of a field.\\n   * @returns {AnonReadFieldBeginReturn}\\n   */\\n  readFieldBegin: function() {\\n      var r = {};\\n\\n      var fid = -1;\\n      var ftype = Thrift.Type.STOP;\\n\\n      //get a fieldId\\n      for (var f in (this.rstack[this.rstack.length - 1])) {\\n          if (f === null) {\\n            continue;\\n          }\\n\\n          fid = parseInt(f, 10);\\n          this.rpos.push(this.rstack.length);\\n\\n          var field = this.rstack[this.rstack.length - 1][fid];\\n\\n          //remove so we don't see it again\\n          delete this.rstack[this.rstack.length - 1][fid];\\n\\n          this.rstack.push(field);\\n\\n          break;\\n      }\\n\\n      if (fid != -1) {\\n\\n          //should only be 1 of these but this is the only\\n          //way to match a key\\n          for (var i in (this.rstack[this.rstack.length - 1])) {\\n              if (Thrift.Protocol.RType[i] === null) {\\n                  continue;\\n              }\\n\\n              ftype = Thrift.Protocol.RType[i];\\n              this.rstack[this.rstack.length - 1] =\\n                  this.rstack[this.rstack.length - 1][i];\\n          }\\n      }\\n\\n      r.fname = '';\\n      r.ftype = ftype;\\n      r.fid = fid;\\n\\n      return r;\\n  },\\n\\n  /** Deserializes the end of a field. */\\n  readFieldEnd: function() {\\n      var pos = this.rpos.pop();\\n\\n      //get back to the right place in the stack\\n      while (this.rstack.length > pos) {\\n          this.rstack.pop();\\n      }\\n\\n  },\\n\\n  /**\\n     @class\\n     @name AnonReadMapBeginReturn\\n     @property {Thrift.Type} ktype - The data type of the key.\\n     @property {Thrift.Type} vtype - The data type of the value.\\n     @property {number} size - The number of elements in the map.\\n   */\\n  /**\\n   * Deserializes the beginning of a map.\\n   * @returns {AnonReadMapBeginReturn}\\n   */\\n  readMapBegin: function() {\\n      var map = this.rstack.pop();\\n      var first = map.shift();\\n      if (first instanceof Array) {\\n        this.rstack.push(map);\\n        map = first;\\n        first = map.shift();\\n      }\\n\\n      var r = {};\\n      r.ktype = Thrift.Protocol.RType[first];\\n      r.vtype = Thrift.Protocol.RType[map.shift()];\\n      r.size = map.shift();\\n\\n\\n      this.rpos.push(this.rstack.length);\\n      this.rstack.push(map.shift());\\n\\n      return r;\\n  },\\n\\n  /** Deserializes the end of a map. */\\n  readMapEnd: function() {\\n      this.readFieldEnd();\\n  },\\n\\n  /**\\n     @class\\n     @name AnonReadColBeginReturn\\n     @property {Thrift.Type} etype - The data type of the element.\\n     @property {number} size - The number of elements in the collection.\\n   */\\n  /**\\n   * Deserializes the beginning of a list.\\n   * @returns {AnonReadColBeginReturn}\\n   */\\n  readListBegin: function() {\\n      var list = this.rstack[this.rstack.length - 1];\\n\\n      var r = {};\\n      r.etype = Thrift.Protocol.RType[list.shift()];\\n      r.size = list.shift();\\n\\n      this.rpos.push(this.rstack.length);\\n      this.rstack.push(list.shift());\\n\\n      return r;\\n  },\\n\\n  /** Deserializes the end of a list. */\\n  readListEnd: function() {\\n      this.readFieldEnd();\\n  },\\n\\n  /**\\n   * Deserializes the beginning of a set.\\n   * @returns {AnonReadColBeginReturn}\\n   */\\n  readSetBegin: function(elemType, size) {\\n      return this.readListBegin(elemType, size);\\n  },\\n\\n  /** Deserializes the end of a set. */\\n  readSetEnd: function() {\\n      return this.readListEnd();\\n  },\\n\\n  /** Returns an object with a value property set to\\n   *  False unless the next number in the protocol buffer\\n   *  is 1, in which case the value property is True */\\n  readBool: function() {\\n      var r = this.readI32();\\n\\n      if (r !== null && r.value == '1') {\\n          r.value = true;\\n      } else {\\n          r.value = false;\\n      }\\n\\n      return r;\\n  },\\n\\n  /** Returns the an object with a value property set to the\\n      next value found in the protocol buffer */\\n  readByte: function() {\\n      return this.readI32();\\n  },\\n\\n  /** Returns the an object with a value property set to the\\n      next value found in the protocol buffer */\\n  readI16: function() {\\n      return this.readI32();\\n  },\\n\\n  /** Returns the an object with a value property set to the\\n      next value found in the protocol buffer */\\n  readI32: function(f) {\\n      if (f === undefined) {\\n          f = this.rstack[this.rstack.length - 1];\\n      }\\n\\n      var r = {};\\n\\n      if (f instanceof Array) {\\n          if (f.length === 0) {\\n              r.value = undefined;\\n          } else {\\n              if (!f.isReversed) {\\n                  f.reverse();\\n                  f.isReversed = true;\\n              }\\n              r.value = f.pop();\\n          }\\n      } else if (f instanceof Object) {\\n         for (var i in f) {\\n              if (i === null) {\\n                continue;\\n              }\\n              this.rstack.push(f[i]);\\n              delete f[i];\\n\\n              r.value = i;\\n              break;\\n         }\\n      } else {\\n          r.value = f;\\n          this.rstack.pop();\\n      }\\n\\n      return r;\\n  },\\n\\n  /** Returns the an object with a value property set to the\\n      next value found in the protocol buffer */\\n  readI64: function() {\\n      return this.readI32();\\n  },\\n\\n  /** Returns the an object with a value property set to the\\n      next value found in the protocol buffer */\\n  readDouble: function() {\\n      return this.readI32();\\n  },\\n\\n  /** Returns the an object with a value property set to the\\n      next value found in the protocol buffer */\\n  readString: function() {\\n      var r = this.readI32();\\n      return r;\\n  },\\n\\n  /** Returns the an object with a value property set to the\\n      next value found in the protocol buffer */\\n  readBinary: function() {\\n      return this.readString();\\n  },\\n\\n  /**\\n   * Method to arbitrarily skip over data */\\n  skip: function(type) {\\n      var ret, i;\\n      switch (type) {\\n          case Thrift.Type.STOP:\\n              return null;\\n\\n          case Thrift.Type.BOOL:\\n              return this.readBool();\\n\\n          case Thrift.Type.BYTE:\\n              return this.readByte();\\n\\n          case Thrift.Type.I16:\\n              return this.readI16();\\n\\n          case Thrift.Type.I32:\\n              return this.readI32();\\n\\n          case Thrift.Type.I64:\\n              return this.readI64();\\n\\n          case Thrift.Type.DOUBLE:\\n              return this.readDouble();\\n\\n          case Thrift.Type.STRING:\\n              return this.readString();\\n\\n          case Thrift.Type.STRUCT:\\n              this.readStructBegin();\\n              while (true) {\\n                  ret = this.readFieldBegin();\\n                  if (ret.ftype == Thrift.Type.STOP) {\\n                      break;\\n                  }\\n                  this.skip(ret.ftype);\\n                  this.readFieldEnd();\\n              }\\n              this.readStructEnd();\\n              return null;\\n\\n          case Thrift.Type.MAP:\\n              ret = this.readMapBegin();\\n              for (i = 0; i < ret.size; i++) {\\n                  if (i > 0) {\\n                      if (this.rstack.length > this.rpos[this.rpos.length - 1] + 1) {\\n                          this.rstack.pop();\\n                      }\\n                  }\\n                  this.skip(ret.ktype);\\n                  this.skip(ret.vtype);\\n              }\\n              this.readMapEnd();\\n              return null;\\n\\n          case Thrift.Type.SET:\\n              ret = this.readSetBegin();\\n              for (i = 0; i < ret.size; i++) {\\n                  this.skip(ret.etype);\\n              }\\n              this.readSetEnd();\\n              return null;\\n\\n          case Thrift.Type.LIST:\\n              ret = this.readListBegin();\\n              for (i = 0; i < ret.size; i++) {\\n                  this.skip(ret.etype);\\n              }\\n              this.readListEnd();\\n              return null;\\n      }\\n  }\\n};\\n\\n\\n/**\\n* Initializes a MutilplexProtocol Implementation as a Wrapper for Thrift.Protocol\\n* @constructor\\n*/\\nThrift.MultiplexProtocol = function (srvName, trans, strictRead, strictWrite) {\\n  Thrift.Protocol.call(this, trans, strictRead, strictWrite);\\n  this.serviceName = srvName;\\n};\\nThrift.inherits(Thrift.MultiplexProtocol, Thrift.Protocol, 'multiplexProtocol');\\n\\n/** Override writeMessageBegin method of prototype*/\\nThrift.MultiplexProtocol.prototype.writeMessageBegin = function (name, type, seqid) {\\n\\n  if (type === Thrift.MessageType.CALL || type === Thrift.MessageType.ONEWAY) {\\n      Thrift.Protocol.prototype.writeMessageBegin.call(this, this.serviceName + \\\":\\\" + name, type, seqid);\\n  } else {\\n      Thrift.Protocol.prototype.writeMessageBegin.call(this, name, type, seqid);\\n  }\\n};\\n\\nThrift.Multiplexer = function () {\\n  this.seqid = 0;\\n};\\n\\n/** Instantiates a multiplexed client for a specific service\\n* @constructor\\n* @param {String} serviceName - The transport to serialize to/from.\\n* @param {Thrift.ServiceClient} SCl - The Service Client Class\\n* @param {Thrift.Transport} transport - Thrift.Transport instance which provides remote host:port\\n* @example\\n*    var mp = new Thrift.Multiplexer();\\n*    var transport = new Thrift.Transport(\\\"http://localhost:9090/foo.thrift\\\");\\n*    var protocol = new Thrift.Protocol(transport);\\n*    var client = mp.createClient('AuthService', AuthServiceClient, transport);\\n*/\\nThrift.Multiplexer.prototype.createClient = function (serviceName, SCl, transport) {\\n  if (SCl.Client) {\\n      SCl = SCl.Client;\\n  }\\n  var self = this;\\n  SCl.prototype.new_seqid = function () {\\n      self.seqid += 1;\\n      return self.seqid;\\n  };\\n  var client = new SCl(new Thrift.MultiplexProtocol(serviceName, transport));\\n\\n  return client;\\n};\\n\\n\\n\\nvar copyList, copyMap;\\n\\nwindow.copyList = function(lst, types) {\\n\\nif (!lst) {return lst; }\\n\\nvar type;\\n\\nif (types.shift === undefined) {\\n  type = types;\\n}\\nelse {\\n  type = types[0];\\n}\\nvar Type = type;\\n\\nvar len = lst.length, result = [], i, val;\\nfor (i = 0; i < len; i++) {\\n  val = lst[i];\\n  if (type === null) {\\n    result.push(val);\\n  }\\n  else if (type === copyMap || type === copyList) {\\n    result.push(type(val, types.slice(1)));\\n  }\\n  else {\\n    result.push(new Type(val));\\n  }\\n}\\nreturn result;\\n};\\n\\nwindow.copyMap = function(obj, types){\\n\\nif (!obj) {return obj; }\\n\\nvar type;\\n\\nif (types.shift === undefined) {\\n  type = types;\\n}\\nelse {\\n  type = types[0];\\n}\\nvar Type = type;\\n\\nvar result = {}, val;\\nfor(var prop in obj) {\\n  if(obj.hasOwnProperty(prop)) {\\n    val = obj[prop];\\n    if (type === null) {\\n      result[prop] = val;\\n    }\\n    else if (type === copyMap || type === copyList) {\\n      result[prop] = type(val, types.slice(1));\\n    }\\n    else {\\n      result[prop] = new Type(val);\\n    }\\n  }\\n}\\nreturn result;\\n};\\n\\nThrift.copyMap = copyMap;\\nThrift.copyList = copyList;\\n; window.Thrift = Thrift; \"\n\n/***/ }),\n\n/***/ 9685:\n/***/ ((module) => {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\nmodule.exports = function(src) {\n\tfunction log(error) {\n\t\t(typeof console !== \"undefined\")\n\t\t&& (console.error || console.log)(\"[Script Loader]\", error);\n\t}\n\n\t// Check for IE =< 8\n\tfunction isIE() {\n\t\treturn typeof attachEvent !== \"undefined\" && typeof addEventListener === \"undefined\";\n\t}\n\n\ttry {\n\t\tif (typeof execScript !== \"undefined\" && isIE()) {\n\t\t\texecScript(src);\n\t\t} else if (typeof eval !== \"undefined\") {\n\t\t\teval.call(null, src);\n\t\t} else {\n\t\t\tlog(\"EvalError: No eval function available\");\n\t\t}\n\t} catch (error) {\n\t\tlog(error);\n\t}\n}\n\n\n/***/ }),\n\n/***/ 8618:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(9685)(__webpack_require__(9650))\n\n/***/ }),\n\n/***/ 9653:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(9685)(__webpack_require__(1850))\n\n/***/ }),\n\n/***/ 254:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(9685)(__webpack_require__(217))\n\n/***/ }),\n\n/***/ 3906:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(9685)(__webpack_require__(8978))\n\n/***/ }),\n\n/***/ 6942:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(9685)(__webpack_require__(7030))\n\n/***/ }),\n\n/***/ 9970:\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {\n\n__webpack_require__(9685)(__webpack_require__(9705))\n\n/***/ }),\n\n/***/ 7533:\n/***/ ((__unused_webpack_module, exports) => {\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar POW_8 = Math.pow(2, 8);\nvar POW_16 = Math.pow(2, 16);\nvar POW_24 = Math.pow(2, 24);\nvar POW_32 = Math.pow(2, 32);\nvar POW_40 = Math.pow(2, 40);\nvar POW_48 = Math.pow(2, 48);\nvar POW_52 = Math.pow(2, 52);\nvar POW_1022 = Math.pow(2, 1022);\n\nexports.readByte = function(b){\n\treturn b > 127 ? b-256 : b;\n};\n\nexports.readI16 = function(buff, off) {\n  off = off || 0;\n  var v = buff[off + 1];\n  v += buff[off] << 8;\n  if (buff[off] & 128) {\n    v -= POW_16;\n  }\n  return v;\n};\n\nexports.readI32 = function(buff, off) {\n  off = off || 0;\n  var v = buff[off + 3];\n  v += buff[off + 2] << 8;\n  v += buff[off + 1] << 16;\n  v += buff[off] * POW_24;\n  if (buff[off] & 0x80) {\n    v -= POW_32;\n  }\n  return v;\n};\n\nexports.writeI16 = function(buff, v) {\n  buff[1] = v & 0xff;\n  v >>= 8;\n  buff[0] = v & 0xff;\n  return buff;\n};\n\nexports.writeI32 = function(buff, v) {\n  buff[3] = v & 0xff;\n  v >>= 8;\n  buff[2] = v & 0xff;\n  v >>= 8;\n  buff[1] = v & 0xff;\n  v >>= 8;\n  buff[0] = v & 0xff;\n  return buff;\n};\n\nexports.readDouble = function(buff, off) {\n  off = off || 0;\n  var signed = buff[off] & 0x80;\n  var e = (buff[off+1] & 0xF0) >> 4;\n  e += (buff[off] & 0x7F) << 4;\n\n  var m = buff[off+7];\n  m += buff[off+6] << 8;\n  m += buff[off+5] << 16;\n  m += buff[off+4] * POW_24;\n  m += buff[off+3] * POW_32;\n  m += buff[off+2] * POW_40;\n  m += (buff[off+1] & 0x0F) * POW_48;\n\n  switch (e) {\n    case 0:\n      e = -1022;\n      break;\n    case 2047:\n      return m ? NaN : (signed ? -Infinity : Infinity);\n    default:\n      m += POW_52;\n      e -= 1023;\n  }\n\n  if (signed) {\n    m *= -1;\n  }\n\n  return m * Math.pow(2, e - 52);\n};\n\n/*\n * Based on code from the jspack module:\n * http://code.google.com/p/jspack/\n */\nexports.writeDouble = function(buff, v) {\n  var m, e, c;\n\n  buff[0] = (v < 0 ? 0x80 : 0x00);\n\n  v = Math.abs(v);\n  if (v !== v) {\n    // NaN, use QNaN IEEE format\n    m = 2251799813685248;\n    e = 2047;\n  } else if (v === Infinity) {\n    m = 0;\n    e = 2047;\n  } else {\n    e = Math.floor(Math.log(v) / Math.LN2);\n    c = Math.pow(2, -e);\n    if (v * c < 1) {\n      e--;\n      c *= 2;\n    }\n\n    if (e + 1023 >= 2047)\n    {\n      // Overflow\n      m = 0;\n      e = 2047;\n    }\n    else if (e + 1023 >= 1)\n    {\n      // Normalized - term order matters, as Math.pow(2, 52-e) and v*Math.pow(2, 52) can overflow\n      m = (v*c-1) * POW_52;\n      e += 1023;\n    }\n    else\n    {\n      // Denormalized - also catches the '0' case, somewhat by chance\n      m = (v * POW_1022) * POW_52;\n      e = 0;\n    }\n  }\n\n  buff[1] = (e << 4) & 0xf0;\n  buff[0] |= (e >> 4) & 0x7f;\n\n  buff[7] = m & 0xff;\n  m = Math.floor(m / POW_8);\n  buff[6] = m & 0xff;\n  m = Math.floor(m / POW_8);\n  buff[5] = m & 0xff;\n  m = Math.floor(m / POW_8);\n  buff[4] = m & 0xff;\n  m >>= 8;\n  buff[3] = m & 0xff;\n  m >>= 8;\n  buff[2] = m & 0xff;\n  m >>= 8;\n  buff[1] |= m & 0x0f;\n\n  return buff;\n};\n\n\n/***/ }),\n\n/***/ 4711:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar log = __webpack_require__(1291);\nvar binary = __webpack_require__(7533);\nvar Int64 = __webpack_require__(135);\nvar Thrift = __webpack_require__(5406);\nvar Type = Thrift.Type;\n\nmodule.exports = TBinaryProtocol;\n\n// JavaScript supports only numeric doubles, therefore even hex values are always signed.\n// The largest integer value which can be represented in JavaScript is +/-2^53.\n// Bitwise operations convert numbers to 32 bit integers but perform sign extension\n// upon assigning values back to variables.\nvar VERSION_MASK = -65536,   // 0xffff0000\n    VERSION_1 = -2147418112, // 0x80010000\n    TYPE_MASK = 0x000000ff;\n\nTBinaryProtocol.VERSION_MASK = VERSION_MASK;\nTBinaryProtocol.VERSION_1 = VERSION_1;\nTBinaryProtocol.TYPE_MASK = TYPE_MASK\n\nfunction TBinaryProtocol(trans, strictRead, strictWrite) {\n  this.trans = trans;\n  this.strictRead = (strictRead !== undefined ? strictRead : false);\n  this.strictWrite = (strictWrite !== undefined ? strictWrite : true);\n  this._seqid = null;\n};\n\nTBinaryProtocol.prototype.flush = function() {\n  return this.trans.flush();\n};\n\nTBinaryProtocol.prototype.writeMessageBegin = function(name, type, seqid) {\n    if (this.strictWrite) {\n      this.writeI32(VERSION_1 | type);\n      this.writeString(name);\n      this.writeI32(seqid);\n    } else {\n      this.writeString(name);\n      this.writeByte(type);\n      this.writeI32(seqid);\n    }\n    // Record client seqid to find callback again\n    if (this._seqid !== null) {\n      log.warning('SeqId already set', { 'name': name });\n    } else {\n      this._seqid = seqid;\n      this.trans.setCurrSeqId(seqid);\n    }\n};\n\nTBinaryProtocol.prototype.writeMessageEnd = function() {\n    if (this._seqid !== null) {\n        this._seqid = null;\n    } else {\n        log.warning('No seqid to unset');\n    }\n};\n\nTBinaryProtocol.prototype.writeStructBegin = function(name) {\n};\n\nTBinaryProtocol.prototype.writeStructEnd = function() {\n};\n\nTBinaryProtocol.prototype.writeFieldBegin = function(name, type, id) {\n  this.writeByte(type);\n  this.writeI16(id);\n};\n\nTBinaryProtocol.prototype.writeFieldEnd = function() {\n};\n\nTBinaryProtocol.prototype.writeFieldStop = function() {\n  this.writeByte(Type.STOP);\n};\n\nTBinaryProtocol.prototype.writeMapBegin = function(ktype, vtype, size) {\n  this.writeByte(ktype);\n  this.writeByte(vtype);\n  this.writeI32(size);\n};\n\nTBinaryProtocol.prototype.writeMapEnd = function() {\n};\n\nTBinaryProtocol.prototype.writeListBegin = function(etype, size) {\n  this.writeByte(etype);\n  this.writeI32(size);\n};\n\nTBinaryProtocol.prototype.writeListEnd = function() {\n};\n\nTBinaryProtocol.prototype.writeSetBegin = function(etype, size) {\n  this.writeByte(etype);\n  this.writeI32(size);\n};\n\nTBinaryProtocol.prototype.writeSetEnd = function() {\n};\n\nTBinaryProtocol.prototype.writeBool = function(bool) {\n  if (bool) {\n    this.writeByte(1);\n  } else {\n    this.writeByte(0);\n  }\n};\n\nTBinaryProtocol.prototype.writeByte = function(b) {\n  this.trans.write(new Buffer([b]));\n};\n\nTBinaryProtocol.prototype.writeI16 = function(i16) {\n  this.trans.write(binary.writeI16(new Buffer(2), i16));\n};\n\nTBinaryProtocol.prototype.writeI32 = function(i32) {\n  this.trans.write(binary.writeI32(new Buffer(4), i32));\n};\n\nTBinaryProtocol.prototype.writeI64 = function(i64) {\n  if (i64.buffer) {\n    this.trans.write(i64.buffer);\n  } else {\n    this.trans.write(new Int64(i64).buffer);\n  }\n};\n\nTBinaryProtocol.prototype.writeDouble = function(dub) {\n  this.trans.write(binary.writeDouble(new Buffer(8), dub));\n};\n\nTBinaryProtocol.prototype.writeStringOrBinary = function(name, encoding, arg) {\n  if (typeof(arg) === 'string') {\n    this.writeI32(Buffer.byteLength(arg, encoding));\n    this.trans.write(new Buffer(arg, encoding));\n  } else if ((arg instanceof Buffer) ||\n             (Object.prototype.toString.call(arg) == '[object Uint8Array]')) {\n    // Buffers in Node.js under Browserify may extend UInt8Array instead of\n    // defining a new object. We detect them here so we can write them\n    // correctly\n    this.writeI32(arg.length);\n    this.trans.write(arg);\n  } else {\n    throw new Error(name + ' called without a string/Buffer argument: ' + arg);\n  }\n};\n\nTBinaryProtocol.prototype.writeString = function(arg) {\n  this.writeStringOrBinary('writeString', 'utf8', arg);\n};\n\nTBinaryProtocol.prototype.writeBinary = function(arg) {\n  this.writeStringOrBinary('writeBinary', 'binary', arg);\n};\n\nTBinaryProtocol.prototype.readMessageBegin = function() {\n  var sz = this.readI32();\n  var type, name, seqid;\n\n  if (sz < 0) {\n    var version = sz & VERSION_MASK;\n    if (version != VERSION_1) {\n      throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.BAD_VERSION, \"Bad version in readMessageBegin: \" + sz);\n    }\n    type = sz & TYPE_MASK;\n    name = this.readString();\n    seqid = this.readI32();\n  } else {\n    if (this.strictRead) {\n      throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.BAD_VERSION, \"No protocol version header\");\n    }\n    name = this.trans.read(sz);\n    type = this.readByte();\n    seqid = this.readI32();\n  }\n  return {fname: name, mtype: type, rseqid: seqid};\n};\n\nTBinaryProtocol.prototype.readMessageEnd = function() {\n};\n\nTBinaryProtocol.prototype.readStructBegin = function() {\n  return {fname: ''};\n};\n\nTBinaryProtocol.prototype.readStructEnd = function() {\n};\n\nTBinaryProtocol.prototype.readFieldBegin = function() {\n  var type = this.readByte();\n  if (type == Type.STOP) {\n    return {fname: null, ftype: type, fid: 0};\n  }\n  var id = this.readI16();\n  return {fname: null, ftype: type, fid: id};\n};\n\nTBinaryProtocol.prototype.readFieldEnd = function() {\n};\n\nTBinaryProtocol.prototype.readMapBegin = function() {\n  var ktype = this.readByte();\n  var vtype = this.readByte();\n  var size = this.readI32();\n  return {ktype: ktype, vtype: vtype, size: size};\n};\n\nTBinaryProtocol.prototype.readMapEnd = function() {\n};\n\nTBinaryProtocol.prototype.readListBegin = function() {\n  var etype = this.readByte();\n  var size = this.readI32();\n  return {etype: etype, size: size};\n};\n\nTBinaryProtocol.prototype.readListEnd = function() {\n};\n\nTBinaryProtocol.prototype.readSetBegin = function() {\n  var etype = this.readByte();\n  var size = this.readI32();\n  return {etype: etype, size: size};\n};\n\nTBinaryProtocol.prototype.readSetEnd = function() {\n};\n\nTBinaryProtocol.prototype.readBool = function() {\n  var b = this.readByte();\n  if (b === 0) {\n    return false;\n  }\n  return true;\n};\n\nTBinaryProtocol.prototype.readByte = function() {\n  return this.trans.readByte();\n};\n\nTBinaryProtocol.prototype.readI16 = function() {\n  return this.trans.readI16();\n};\n\nTBinaryProtocol.prototype.readI32 = function() {\n  return this.trans.readI32();\n};\n\nTBinaryProtocol.prototype.readI64 = function() {\n  var buff = this.trans.read(8);\n  return new Int64(buff);\n};\n\nTBinaryProtocol.prototype.readDouble = function() {\n  return this.trans.readDouble();\n};\n\nTBinaryProtocol.prototype.readBinary = function() {\n  var len = this.readI32();\n  if (len === 0) {\n    return new Buffer(0);\n  }\n\n  if (len < 0) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, \"Negative binary size\");\n  }\n  return this.trans.read(len);\n};\n\nTBinaryProtocol.prototype.readString = function() {\n  var len = this.readI32();\n  if (len === 0) {\n    return \"\";\n  }\n\n  if (len < 0) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, \"Negative string size\");\n  }\n  return this.trans.readString(len);\n};\n\nTBinaryProtocol.prototype.getTransport = function() {\n  return this.trans;\n};\n\nTBinaryProtocol.prototype.skip = function(type) {\n  switch (type) {\n    case Type.BOOL:\n      this.readBool();\n      break;\n    case Type.BYTE:\n      this.readByte();\n      break;\n    case Type.I16:\n      this.readI16();\n      break;\n    case Type.I32:\n      this.readI32();\n      break;\n    case Type.I64:\n      this.readI64();\n      break;\n    case Type.DOUBLE:\n      this.readDouble();\n      break;\n    case Type.STRING:\n      this.readString();\n      break;\n    case Type.STRUCT:\n      this.readStructBegin();\n      while (true) {\n        var r = this.readFieldBegin();\n        if (r.ftype === Type.STOP) {\n          break;\n        }\n        this.skip(r.ftype);\n        this.readFieldEnd();\n      }\n      this.readStructEnd();\n      break;\n    case Type.MAP:\n      var mapBegin = this.readMapBegin();\n      for (var i = 0; i < mapBegin.size; ++i) {\n        this.skip(mapBegin.ktype);\n        this.skip(mapBegin.vtype);\n      }\n      this.readMapEnd();\n      break;\n    case Type.SET:\n      var setBegin = this.readSetBegin();\n      for (var i2 = 0; i2 < setBegin.size; ++i2) {\n        this.skip(setBegin.etype);\n      }\n      this.readSetEnd();\n      break;\n    case Type.LIST:\n      var listBegin = this.readListBegin();\n      for (var i3 = 0; i3 < listBegin.size; ++i3) {\n        this.skip(listBegin.etype);\n      }\n      this.readListEnd();\n      break;\n    default:\n      throw new  Error(\"Invalid type: \" + type);\n  }\n};\n\n\n/***/ }),\n\n/***/ 9262:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nexports.Thrift = __webpack_require__(5406);\n\nvar xhrConnection = __webpack_require__(4050);\nexports.XHRConnection = xhrConnection.XHRConnection;\nexports.createXHRConnection = xhrConnection.createXHRConnection;\nexports.createXHRClient = xhrConnection.createXHRClient;\n\nexports.Multiplexer = __webpack_require__(4184).Multiplexer;\n\nexports.TWebSocketTransport = __webpack_require__(5764);\nexports.TBufferedTransport = __webpack_require__(8869);\nexports.TFramedTransport = __webpack_require__(7584);\n\nexports.Protocol = exports.TJSONProtocol = __webpack_require__(5086);\nexports.TBinaryProtocol = __webpack_require__(4711);\nexports.TCompactProtocol = __webpack_require__(9277);\n\nexports.Int64 = __webpack_require__(135);\n\n\n/***/ }),\n\n/***/ 8869:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar binary = __webpack_require__(7533);\nvar InputBufferUnderrunError = __webpack_require__(3590);\nvar THeaderTransport = __webpack_require__(5190);\n\nmodule.exports = TBufferedTransport;\n\nfunction TBufferedTransport(buffer, callback) {\n  this.defaultReadBufferSize = 1024;\n  this.writeBufferSize = 512; // Soft Limit\n  this.inBuf = new Buffer(this.defaultReadBufferSize);\n  this.readCursor = 0;\n  this.writeCursor = 0; // for input buffer\n  this.outBuffers = [];\n  this.outCount = 0;\n  this.onFlush = callback;\n};\n\nTBufferedTransport.prototype = new THeaderTransport();\n\nTBufferedTransport.prototype.reset = function() {\n  this.inBuf = new Buffer(this.defaultReadBufferSize);\n  this.readCursor = 0;\n  this.writeCursor = 0;\n  this.outBuffers = [];\n  this.outCount = 0;\n}\n\nTBufferedTransport.receiver = function(callback, seqid) {\n  var reader = new TBufferedTransport();\n\n  return function(data) {\n    if (reader.writeCursor + data.length > reader.inBuf.length) {\n      var buf = new Buffer(reader.writeCursor + data.length);\n      reader.inBuf.copy(buf, 0, 0, reader.writeCursor);\n      reader.inBuf = buf;\n    }\n    data.copy(reader.inBuf, reader.writeCursor, 0);\n    reader.writeCursor += data.length;\n\n    callback(reader, seqid);\n  };\n};\n\n\nTBufferedTransport.prototype.commitPosition = function(){\n  var unreadSize = this.writeCursor - this.readCursor;\n  var bufSize = (unreadSize * 2 > this.defaultReadBufferSize) ?\n    unreadSize * 2 : this.defaultReadBufferSize;\n  var buf = new Buffer(bufSize);\n  if (unreadSize > 0) {\n    this.inBuf.copy(buf, 0, this.readCursor, this.writeCursor);\n  }\n  this.readCursor = 0;\n  this.writeCursor = unreadSize;\n  this.inBuf = buf;\n};\n\nTBufferedTransport.prototype.rollbackPosition = function(){\n  this.readCursor = 0;\n}\n\n  // TODO: Implement open/close support\nTBufferedTransport.prototype.isOpen = function() {\n  return true;\n};\n\nTBufferedTransport.prototype.open = function() {\n};\n\nTBufferedTransport.prototype.close = function() {\n};\n\n  // Set the seqid of the message in the client\n  // So that callbacks can be found\nTBufferedTransport.prototype.setCurrSeqId = function(seqid) {\n  this._seqid = seqid;\n};\n\nTBufferedTransport.prototype.ensureAvailable = function(len) {\n  if (this.readCursor + len > this.writeCursor) {\n    throw new InputBufferUnderrunError();\n  }\n};\n\nTBufferedTransport.prototype.read = function(len) {\n  this.ensureAvailable(len);\n  var buf = new Buffer(len);\n  this.inBuf.copy(buf, 0, this.readCursor, this.readCursor + len);\n  this.readCursor += len;\n  return buf;\n};\n\nTBufferedTransport.prototype.readByte = function() {\n  this.ensureAvailable(1);\n  return binary.readByte(this.inBuf[this.readCursor++]);\n};\n\nTBufferedTransport.prototype.readI16 = function() {\n  this.ensureAvailable(2);\n  var i16 = binary.readI16(this.inBuf, this.readCursor);\n  this.readCursor += 2;\n  return i16;\n};\n\nTBufferedTransport.prototype.readI32 = function() {\n  this.ensureAvailable(4);\n  var i32 = binary.readI32(this.inBuf, this.readCursor);\n  this.readCursor += 4;\n  return i32;\n};\n\nTBufferedTransport.prototype.readDouble = function() {\n  this.ensureAvailable(8);\n  var d = binary.readDouble(this.inBuf, this.readCursor);\n  this.readCursor += 8;\n  return d;\n};\n\nTBufferedTransport.prototype.readString = function(len) {\n  this.ensureAvailable(len);\n  var str = this.inBuf.toString('utf8', this.readCursor, this.readCursor + len);\n  this.readCursor += len;\n  return str;\n};\n\nTBufferedTransport.prototype.borrow = function() {\n  var obj = {buf: this.inBuf, readIndex: this.readCursor, writeIndex: this.writeCursor};\n  return obj;\n};\n\nTBufferedTransport.prototype.consume = function(bytesConsumed) {\n  this.readCursor += bytesConsumed;\n};\n\nTBufferedTransport.prototype.write = function(buf) {\n  if (typeof(buf) === \"string\") {\n    buf = new Buffer(buf, 'utf8');\n  }\n  this.outBuffers.push(buf);\n  this.outCount += buf.length;\n};\n\nTBufferedTransport.prototype.flush = function() {\n  // If the seqid of the callback is available pass it to the onFlush\n  // Then remove the current seqid\n  var seqid = this._seqid;\n  this._seqid = null;\n\n  if (this.outCount < 1) {\n    return;\n  }\n\n  var msg = new Buffer(this.outCount),\n      pos = 0;\n  this.outBuffers.forEach(function(buf) {\n    buf.copy(msg, pos, 0);\n    pos += buf.length;\n  });\n\n  if (this.onFlush) {\n    // Passing seqid through this call to get it to the connection\n    this.onFlush(msg, seqid);\n  }\n\n  this.outBuffers = [];\n  this.outCount = 0;\n}\n\n\n/***/ }),\n\n/***/ 9277:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar log = __webpack_require__(1291);\nvar Int64 = __webpack_require__(135);\nvar Thrift = __webpack_require__(5406);\nvar Type = Thrift.Type;\n\nmodule.exports = TCompactProtocol;\n\nvar POW_8 = Math.pow(2, 8);\nvar POW_24 = Math.pow(2, 24);\nvar POW_32 = Math.pow(2, 32);\nvar POW_40 = Math.pow(2, 40);\nvar POW_48 = Math.pow(2, 48);\nvar POW_52 = Math.pow(2, 52);\nvar POW_1022 = Math.pow(2, 1022);\n\n/**\n * Constructor Function for the Compact Protocol.\n * @constructor\n * @param {object} [trans] - The underlying transport to read/write.\n * @classdesc The Apache Thrift Protocol layer performs serialization\n *     of base types, the compact protocol serializes data in binary\n *     form with minimal space used for scalar values.\n */\nfunction TCompactProtocol(trans) {\n  this.trans = trans;\n  this.lastField_ = [];\n  this.lastFieldId_ = 0;\n  this.string_limit_ = 0;\n  this.string_buf_ = null;\n  this.string_buf_size_ = 0;\n  this.container_limit_ = 0;\n  this.booleanField_ = {\n    name: null,\n    hasBoolValue: false\n  };\n  this.boolValue_ = {\n    hasBoolValue: false,\n    boolValue: false\n  };\n};\n\n\n//\n// Compact Protocol Constants\n//\n\n/**\n  * Compact Protocol ID number.\n  * @readonly\n  * @const {number} PROTOCOL_ID\n  */\nTCompactProtocol.PROTOCOL_ID = -126;  //1000 0010\n\n/**\n  * Compact Protocol version number.\n  * @readonly\n  * @const {number} VERSION_N\n  */\nTCompactProtocol.VERSION_N = 1;\n\n/**\n  * Compact Protocol version mask for combining protocol version and message type in one byte.\n  * @readonly\n  * @const {number} VERSION_MASK\n  */\nTCompactProtocol.VERSION_MASK = 0x1f; //0001 1111\n\n/**\n  * Compact Protocol message type mask for combining protocol version and message type in one byte.\n  * @readonly\n  * @const {number} TYPE_MASK\n  */\nTCompactProtocol.TYPE_MASK = -32;     //1110 0000\n\n/**\n  * Compact Protocol message type bits for ensuring message type bit size.\n  * @readonly\n  * @const {number} TYPE_BITS\n  */\nTCompactProtocol.TYPE_BITS = 7; //0000 0111\n\n/**\n  * Compact Protocol message type shift amount for combining protocol version and message type in one byte.\n  * @readonly\n  * @const {number} TYPE_SHIFT_AMOUNT\n  */\nTCompactProtocol.TYPE_SHIFT_AMOUNT = 5;\n\n/**\n * Compact Protocol type IDs used to keep type data within one nibble.\n * @readonly\n * @property {number}  CT_STOP          - End of a set of fields.\n * @property {number}  CT_BOOLEAN_TRUE  - Flag for Boolean field with true value (packed field and value).\n * @property {number}  CT_BOOLEAN_FALSE - Flag for Boolean field with false value (packed field and value).\n * @property {number}  CT_BYTE          - Signed 8 bit integer.\n * @property {number}  CT_I16           - Signed 16 bit integer.\n * @property {number}  CT_I32           - Signed 32 bit integer.\n * @property {number}  CT_I64           - Signed 64 bit integer (2^53 max in JavaScript).\n * @property {number}  CT_DOUBLE        - 64 bit IEEE 854 floating point.\n * @property {number}  CT_BINARY        - Array of bytes (used for strings also).\n * @property {number}  CT_LIST          - A collection type (unordered).\n * @property {number}  CT_SET           - A collection type (unordered and without repeated values).\n * @property {number}  CT_MAP           - A collection type (map/associative-array/dictionary).\n * @property {number}  CT_STRUCT        - A multifield type.\n */\nTCompactProtocol.Types = {\n  CT_STOP:           0x00,\n  CT_BOOLEAN_TRUE:   0x01,\n  CT_BOOLEAN_FALSE:  0x02,\n  CT_BYTE:           0x03,\n  CT_I16:            0x04,\n  CT_I32:            0x05,\n  CT_I64:            0x06,\n  CT_DOUBLE:         0x07,\n  CT_BINARY:         0x08,\n  CT_LIST:           0x09,\n  CT_SET:            0x0A,\n  CT_MAP:            0x0B,\n  CT_STRUCT:         0x0C\n};\n\n/**\n * Array mapping Compact type IDs to standard Thrift type IDs.\n * @readonly\n */\nTCompactProtocol.TTypeToCType = [\n  TCompactProtocol.Types.CT_STOP,         // T_STOP\n  0,                                      // unused\n  TCompactProtocol.Types.CT_BOOLEAN_TRUE, // T_BOOL\n  TCompactProtocol.Types.CT_BYTE,         // T_BYTE\n  TCompactProtocol.Types.CT_DOUBLE,       // T_DOUBLE\n  0,                                      // unused\n  TCompactProtocol.Types.CT_I16,          // T_I16\n  0,                                      // unused\n  TCompactProtocol.Types.CT_I32,          // T_I32\n  0,                                      // unused\n  TCompactProtocol.Types.CT_I64,          // T_I64\n  TCompactProtocol.Types.CT_BINARY,       // T_STRING\n  TCompactProtocol.Types.CT_STRUCT,       // T_STRUCT\n  TCompactProtocol.Types.CT_MAP,          // T_MAP\n  TCompactProtocol.Types.CT_SET,          // T_SET\n  TCompactProtocol.Types.CT_LIST,         // T_LIST\n];\n\n\n//\n// Compact Protocol Utilities\n//\n\n/**\n * Returns the underlying transport layer.\n * @return {object} The underlying transport layer.\n */TCompactProtocol.prototype.getTransport = function() {\n  return this.trans;\n};\n\n/**\n * Lookup a Compact Protocol Type value for a given Thrift Type value.\n * N.B. Used only internally.\n * @param {number} ttype - Thrift type value\n * @returns {number} Compact protocol type value\n */\nTCompactProtocol.prototype.getCompactType = function(ttype) {\n  return TCompactProtocol.TTypeToCType[ttype];\n};\n\n/**\n * Lookup a Thrift Type value for a given Compact Protocol Type value.\n * N.B. Used only internally.\n * @param {number} type - Compact Protocol type value\n * @returns {number} Thrift Type value\n */\nTCompactProtocol.prototype.getTType = function(type) {\n  switch (type) {\n    case Type.STOP:\n      return Type.STOP;\n    case TCompactProtocol.Types.CT_BOOLEAN_FALSE:\n    case TCompactProtocol.Types.CT_BOOLEAN_TRUE:\n      return Type.BOOL;\n    case TCompactProtocol.Types.CT_BYTE:\n      return Type.BYTE;\n    case TCompactProtocol.Types.CT_I16:\n      return Type.I16;\n    case TCompactProtocol.Types.CT_I32:\n      return Type.I32;\n    case TCompactProtocol.Types.CT_I64:\n      return Type.I64;\n    case TCompactProtocol.Types.CT_DOUBLE:\n      return Type.DOUBLE;\n    case TCompactProtocol.Types.CT_BINARY:\n      return Type.STRING;\n    case TCompactProtocol.Types.CT_LIST:\n      return Type.LIST;\n    case TCompactProtocol.Types.CT_SET:\n      return Type.SET;\n    case TCompactProtocol.Types.CT_MAP:\n      return Type.MAP;\n    case TCompactProtocol.Types.CT_STRUCT:\n      return Type.STRUCT;\n    default:\n      throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.INVALID_DATA, \"Unknown type: \" + type);\n  }\n  return Type.STOP;\n};\n\n\n//\n// Compact Protocol write operations\n//\n\n/**\n * Send any buffered bytes to the end point.\n */\nTCompactProtocol.prototype.flush = function() {\n  return this.trans.flush();\n};\n\n/**\n * Writes an RPC message header\n * @param {string} name - The method name for the message.\n * @param {number} type - The type of message (CALL, REPLY, EXCEPTION, ONEWAY).\n * @param {number} seqid - The call sequence number (if any).\n */\nTCompactProtocol.prototype.writeMessageBegin = function(name, type, seqid) {\n  this.writeByte(TCompactProtocol.PROTOCOL_ID);\n  this.writeByte((TCompactProtocol.VERSION_N & TCompactProtocol.VERSION_MASK) |\n                     ((type << TCompactProtocol.TYPE_SHIFT_AMOUNT) & TCompactProtocol.TYPE_MASK));\n  this.writeVarint32(seqid);\n  this.writeString(name);\n\n  // Record client seqid to find callback again\n  if (this._seqid) {\n    log.warning('SeqId already set', { 'name': name });\n  } else {\n    this._seqid = seqid;\n    this.trans.setCurrSeqId(seqid);\n  }\n};\n\nTCompactProtocol.prototype.writeMessageEnd = function() {\n};\n\nTCompactProtocol.prototype.writeStructBegin = function(name) {\n  this.lastField_.push(this.lastFieldId_);\n  this.lastFieldId_ = 0;\n};\n\nTCompactProtocol.prototype.writeStructEnd = function() {\n  this.lastFieldId_ = this.lastField_.pop();\n};\n\n/**\n * Writes a struct field header\n * @param {string} name - The field name (not written with the compact protocol).\n * @param {number} type - The field data type (a normal Thrift field Type).\n * @param {number} id - The IDL field Id.\n */\nTCompactProtocol.prototype.writeFieldBegin = function(name, type, id) {\n  if (type != Type.BOOL) {\n    return this.writeFieldBeginInternal(name, type, id, -1);\n  }\n\n  this.booleanField_.name = name;\n  this.booleanField_.fieldType = type;\n  this.booleanField_.fieldId = id;\n};\n\nTCompactProtocol.prototype.writeFieldEnd = function() {\n};\n\nTCompactProtocol.prototype.writeFieldStop = function() {\n  this.writeByte(TCompactProtocol.Types.CT_STOP);\n};\n\n/**\n * Writes a map collection header\n * @param {number} keyType - The Thrift type of the map keys.\n * @param {number} valType - The Thrift type of the map values.\n * @param {number} size - The number of k/v pairs in the map.\n */\nTCompactProtocol.prototype.writeMapBegin = function(keyType, valType, size) {\n  if (size === 0) {\n    this.writeByte(0);\n  } else {\n    this.writeVarint32(size);\n    this.writeByte(this.getCompactType(keyType) << 4 | this.getCompactType(valType));\n  }\n};\n\nTCompactProtocol.prototype.writeMapEnd = function() {\n};\n\n/**\n * Writes a list collection header\n * @param {number} elemType - The Thrift type of the list elements.\n * @param {number} size - The number of elements in the list.\n */\nTCompactProtocol.prototype.writeListBegin = function(elemType, size) {\n  this.writeCollectionBegin(elemType, size);\n};\n\nTCompactProtocol.prototype.writeListEnd = function() {\n};\n\n/**\n * Writes a set collection header\n * @param {number} elemType - The Thrift type of the set elements.\n * @param {number} size - The number of elements in the set.\n */\nTCompactProtocol.prototype.writeSetBegin = function(elemType, size) {\n  this.writeCollectionBegin(elemType, size);\n};\n\nTCompactProtocol.prototype.writeSetEnd = function() {\n};\n\nTCompactProtocol.prototype.writeBool = function(value) {\n  if (this.booleanField_.name !== null) {\n    // we haven't written the field header yet\n    this.writeFieldBeginInternal(this.booleanField_.name,\n                                 this.booleanField_.fieldType,\n                                 this.booleanField_.fieldId,\n                                 (value ? TCompactProtocol.Types.CT_BOOLEAN_TRUE\n                                          : TCompactProtocol.Types.CT_BOOLEAN_FALSE));\n    this.booleanField_.name = null;\n  } else {\n    // we're not part of a field, so just write the value\n    this.writeByte((value ? TCompactProtocol.Types.CT_BOOLEAN_TRUE\n                            : TCompactProtocol.Types.CT_BOOLEAN_FALSE));\n  }\n};\n\nTCompactProtocol.prototype.writeByte = function(b) {\n  this.trans.write(new Buffer([b]));\n};\n\nTCompactProtocol.prototype.writeI16 = function(i16) {\n  this.writeVarint32(this.i32ToZigzag(i16));\n};\n\nTCompactProtocol.prototype.writeI32 = function(i32) {\n  this.writeVarint32(this.i32ToZigzag(i32));\n};\n\nTCompactProtocol.prototype.writeI64 = function(i64) {\n  this.writeVarint64(this.i64ToZigzag(i64));\n};\n\n// Little-endian, unlike TBinaryProtocol\nTCompactProtocol.prototype.writeDouble = function(v) {\n  var buff = new Buffer(8);\n  var m, e, c;\n\n  buff[7] = (v < 0 ? 0x80 : 0x00);\n\n  v = Math.abs(v);\n  if (v !== v) {\n    // NaN, use QNaN IEEE format\n    m = 2251799813685248;\n    e = 2047;\n  } else if (v === Infinity) {\n    m = 0;\n    e = 2047;\n  } else {\n    e = Math.floor(Math.log(v) / Math.LN2);\n    c = Math.pow(2, -e);\n    if (v * c < 1) {\n      e--;\n      c *= 2;\n    }\n\n    if (e + 1023 >= 2047)\n    {\n      // Overflow\n      m = 0;\n      e = 2047;\n    }\n    else if (e + 1023 >= 1)\n    {\n      // Normalized - term order matters, as Math.pow(2, 52-e) and v*Math.pow(2, 52) can overflow\n      m = (v*c-1) * POW_52;\n      e += 1023;\n    }\n    else\n    {\n      // Denormalized - also catches the '0' case, somewhat by chance\n      m = (v * POW_1022) * POW_52;\n      e = 0;\n    }\n  }\n\n  buff[6] = (e << 4) & 0xf0;\n  buff[7] |= (e >> 4) & 0x7f;\n\n  buff[0] = m & 0xff;\n  m = Math.floor(m / POW_8);\n  buff[1] = m & 0xff;\n  m = Math.floor(m / POW_8);\n  buff[2] = m & 0xff;\n  m = Math.floor(m / POW_8);\n  buff[3] = m & 0xff;\n  m >>= 8;\n  buff[4] = m & 0xff;\n  m >>= 8;\n  buff[5] = m & 0xff;\n  m >>= 8;\n  buff[6] |= m & 0x0f;\n\n  this.trans.write(buff);\n};\n\nTCompactProtocol.prototype.writeStringOrBinary = function(name, encoding, arg) {\n  if (typeof arg === 'string') {\n    this.writeVarint32(Buffer.byteLength(arg, encoding)) ;\n    this.trans.write(new Buffer(arg, encoding));\n  } else if (arg instanceof Buffer ||\n             Object.prototype.toString.call(arg) == '[object Uint8Array]') {\n    // Buffers in Node.js under Browserify may extend UInt8Array instead of\n    // defining a new object. We detect them here so we can write them\n    // correctly\n    this.writeVarint32(arg.length);\n    this.trans.write(arg);\n  } else {\n    throw new Error(name + ' called without a string/Buffer argument: ' + arg);\n  }\n};\n\nTCompactProtocol.prototype.writeString = function(arg) {\n  this.writeStringOrBinary('writeString', 'utf8', arg);\n};\n\nTCompactProtocol.prototype.writeBinary = function(arg) {\n  this.writeStringOrBinary('writeBinary', 'binary', arg);\n};\n\n\n//\n// Compact Protocol internal write methods\n//\n\nTCompactProtocol.prototype.writeFieldBeginInternal = function(name,\n                                                              fieldType,\n                                                              fieldId,\n                                                              typeOverride) {\n  //If there's a type override, use that.\n  var typeToWrite = (typeOverride == -1 ? this.getCompactType(fieldType) : typeOverride);\n  //Check if we can delta encode the field id\n  if (fieldId > this.lastFieldId_ && fieldId - this.lastFieldId_ <= 15) {\n    //Include the type delta with the field ID\n    this.writeByte((fieldId - this.lastFieldId_) << 4 | typeToWrite);\n  } else {\n    //Write separate type and ID values\n    this.writeByte(typeToWrite);\n    this.writeI16(fieldId);\n  }\n  this.lastFieldId_ = fieldId;\n};\n\nTCompactProtocol.prototype.writeCollectionBegin = function(elemType, size) {\n  if (size <= 14) {\n    //Combine size and type in one byte if possible\n    this.writeByte(size << 4 | this.getCompactType(elemType));\n  } else {\n    this.writeByte(0xf0 | this.getCompactType(elemType));\n    this.writeVarint32(size);\n  }\n};\n\n/**\n * Write an i32 as a varint. Results in 1-5 bytes on the wire.\n */\nTCompactProtocol.prototype.writeVarint32 = function(n) {\n  var buf = new Buffer(5);\n  var wsize = 0;\n  while (true) {\n    if ((n & ~0x7F) === 0) {\n      buf[wsize++] = n;\n      break;\n    } else {\n      buf[wsize++] = ((n & 0x7F) | 0x80);\n      n = n >>> 7;\n    }\n  }\n  var wbuf = new Buffer(wsize);\n  buf.copy(wbuf,0,0,wsize);\n  this.trans.write(wbuf);\n};\n\n/**\n * Write an i64 as a varint. Results in 1-10 bytes on the wire.\n * N.B. node-int64 is always big endian\n */\nTCompactProtocol.prototype.writeVarint64 = function(n) {\n  if (typeof n === \"number\"){\n    n = new Int64(n);\n  }\n  if (! (n instanceof Int64)) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.INVALID_DATA, \"Expected Int64 or Number, found: \" + n);\n  }\n\n  var buf = new Buffer(10);\n  var wsize = 0;\n  var hi = n.buffer.readUInt32BE(0, true);\n  var lo = n.buffer.readUInt32BE(4, true);\n  var mask = 0;\n  while (true) {\n    if (((lo & ~0x7F) === 0) && (hi === 0)) {\n      buf[wsize++] = lo;\n      break;\n    } else {\n      buf[wsize++] = ((lo & 0x7F) | 0x80);\n      mask = hi << 25;\n      lo = lo >>> 7;\n      hi = hi >>> 7;\n      lo = lo | mask;\n    }\n  }\n  var wbuf = new Buffer(wsize);\n  buf.copy(wbuf,0,0,wsize);\n  this.trans.write(wbuf);\n};\n\n/**\n * Convert l into a zigzag long. This allows negative numbers to be\n * represented compactly as a varint.\n */\nTCompactProtocol.prototype.i64ToZigzag = function(l) {\n  if (typeof l === 'string') {\n    l = new Int64(parseInt(l, 10));\n  } else if (typeof l === 'number') {\n    l = new Int64(l);\n  }\n  if (! (l instanceof Int64)) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.INVALID_DATA, \"Expected Int64 or Number, found: \" + l);\n  }\n  var hi = l.buffer.readUInt32BE(0, true);\n  var lo = l.buffer.readUInt32BE(4, true);\n  var sign = hi >>> 31;\n  hi = ((hi << 1) | (lo >>> 31)) ^ ((!!sign) ? 0xFFFFFFFF : 0);\n  lo = (lo << 1) ^ ((!!sign) ? 0xFFFFFFFF : 0);\n  return new Int64(hi, lo);\n};\n\n/**\n * Convert n into a zigzag int. This allows negative numbers to be\n * represented compactly as a varint.\n */\nTCompactProtocol.prototype.i32ToZigzag = function(n) {\n  return (n << 1) ^ ((n & 0x80000000) ? 0xFFFFFFFF : 0);\n};\n\n\n//\n// Compact Protocol read operations\n//\n\nTCompactProtocol.prototype.readMessageBegin = function() {\n  //Read protocol ID\n  var protocolId = this.trans.readByte();\n  if (protocolId != TCompactProtocol.PROTOCOL_ID) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.BAD_VERSION, \"Bad protocol identifier \" + protocolId);\n  }\n\n  //Read Version and Type\n  var versionAndType = this.trans.readByte();\n  var version = (versionAndType & TCompactProtocol.VERSION_MASK);\n  if (version != TCompactProtocol.VERSION_N) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.BAD_VERSION, \"Bad protocol version \" + version);\n  }\n  var type = ((versionAndType >> TCompactProtocol.TYPE_SHIFT_AMOUNT) & TCompactProtocol.TYPE_BITS);\n\n  //Read SeqId\n  var seqid = this.readVarint32();\n\n  //Read name\n  var name = this.readString();\n\n  return {fname: name, mtype: type, rseqid: seqid};\n};\n\nTCompactProtocol.prototype.readMessageEnd = function() {\n};\n\nTCompactProtocol.prototype.readStructBegin = function() {\n  this.lastField_.push(this.lastFieldId_);\n  this.lastFieldId_ = 0;\n  return {fname: ''};\n};\n\nTCompactProtocol.prototype.readStructEnd = function() {\n  this.lastFieldId_ = this.lastField_.pop();\n};\n\nTCompactProtocol.prototype.readFieldBegin = function() {\n  var fieldId = 0;\n  var b = this.trans.readByte(b);\n  var type = (b & 0x0f);\n\n  if (type == TCompactProtocol.Types.CT_STOP) {\n    return {fname: null, ftype: Thrift.Type.STOP, fid: 0};\n  }\n\n  //Mask off the 4 MSB of the type header to check for field id delta.\n  var modifier = ((b & 0x000000f0) >>> 4);\n  if (modifier === 0) {\n    //If not a delta read the field id.\n    fieldId = this.readI16();\n  } else {\n    //Recover the field id from the delta\n    fieldId = (this.lastFieldId_ + modifier);\n  }\n  var fieldType = this.getTType(type);\n\n  //Boolean are encoded with the type\n  if (type == TCompactProtocol.Types.CT_BOOLEAN_TRUE ||\n      type == TCompactProtocol.Types.CT_BOOLEAN_FALSE) {\n    this.boolValue_.hasBoolValue = true;\n    this.boolValue_.boolValue =\n      (type == TCompactProtocol.Types.CT_BOOLEAN_TRUE ? true : false);\n  }\n\n  //Save the new field for the next delta computation.\n  this.lastFieldId_ = fieldId;\n  return {fname: null, ftype: fieldType, fid: fieldId};\n};\n\nTCompactProtocol.prototype.readFieldEnd = function() {\n};\n\nTCompactProtocol.prototype.readMapBegin = function() {\n  var msize = this.readVarint32();\n  if (msize < 0) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, \"Negative map size\");\n  }\n\n  var kvType = 0;\n  if (msize !== 0) {\n    kvType = this.trans.readByte();\n  }\n\n  var keyType = this.getTType((kvType & 0xf0) >>> 4);\n  var valType = this.getTType(kvType & 0xf);\n  return {ktype: keyType, vtype: valType, size: msize};\n};\n\nTCompactProtocol.prototype.readMapEnd = function() {\n};\n\nTCompactProtocol.prototype.readListBegin = function() {\n  var size_and_type = this.trans.readByte();\n\n  var lsize = (size_and_type >>> 4) & 0x0000000f;\n  if (lsize == 15) {\n    lsize = this.readVarint32();\n  }\n\n  if (lsize < 0) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, \"Negative list size\");\n  }\n\n  var elemType = this.getTType(size_and_type & 0x0000000f);\n\n  return {etype: elemType, size: lsize};\n};\n\nTCompactProtocol.prototype.readListEnd = function() {\n};\n\nTCompactProtocol.prototype.readSetBegin = function() {\n  return this.readListBegin();\n};\n\nTCompactProtocol.prototype.readSetEnd = function() {\n};\n\nTCompactProtocol.prototype.readBool = function() {\n  var value = false;\n  var rsize = 0;\n  if (this.boolValue_.hasBoolValue === true) {\n    value = this.boolValue_.boolValue;\n    this.boolValue_.hasBoolValue = false;\n  } else {\n    var res = this.trans.readByte();\n    rsize = res.rsize;\n    value = (res.value == TCompactProtocol.Types.CT_BOOLEAN_TRUE);\n  }\n  return value;\n};\n\nTCompactProtocol.prototype.readByte = function() {\n  return this.trans.readByte();\n};\n\nTCompactProtocol.prototype.readI16 = function() {\n  return this.readI32();\n};\n\nTCompactProtocol.prototype.readI32 = function() {\n  return this.zigzagToI32(this.readVarint32());\n};\n\nTCompactProtocol.prototype.readI64 = function() {\n  return this.zigzagToI64(this.readVarint64());\n};\n\n// Little-endian, unlike TBinaryProtocol\nTCompactProtocol.prototype.readDouble = function() {\n  var buff = this.trans.read(8);\n  var off = 0;\n\n  var signed = buff[off + 7] & 0x80;\n  var e = (buff[off+6] & 0xF0) >> 4;\n  e += (buff[off+7] & 0x7F) << 4;\n\n  var m = buff[off];\n  m += buff[off+1] << 8;\n  m += buff[off+2] << 16;\n  m += buff[off+3] * POW_24;\n  m += buff[off+4] * POW_32;\n  m += buff[off+5] * POW_40;\n  m += (buff[off+6] & 0x0F) * POW_48;\n\n  switch (e) {\n    case 0:\n      e = -1022;\n      break;\n    case 2047:\n      return m ? NaN : (signed ? -Infinity : Infinity);\n    default:\n      m += POW_52;\n      e -= 1023;\n  }\n\n  if (signed) {\n    m *= -1;\n  }\n\n  return m * Math.pow(2, e - 52);\n};\n\nTCompactProtocol.prototype.readBinary = function() {\n  var size = this.readVarint32();\n  if (size === 0) {\n    return new Buffer(0);\n  }\n\n  if (size < 0) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, \"Negative binary size\");\n  }\n  return this.trans.read(size);\n};\n\nTCompactProtocol.prototype.readString = function() {\n  var size = this.readVarint32();\n  // Catch empty string case\n  if (size === 0) {\n    return \"\";\n  }\n\n  // Catch error cases\n  if (size < 0) {\n    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, \"Negative string size\");\n  }\n  return this.trans.readString(size);\n};\n\n\n//\n// Compact Protocol internal read operations\n//\n\n/**\n * Read an i32 from the wire as a varint. The MSB of each byte is set\n * if there is another byte to follow. This can read up to 5 bytes.\n */\nTCompactProtocol.prototype.readVarint32 = function() {\n  return this.readVarint64().toNumber();\n};\n\n/**\n * Read an i64 from the wire as a proper varint. The MSB of each byte is set\n * if there is another byte to follow. This can read up to 10 bytes.\n */\nTCompactProtocol.prototype.readVarint64 = function() {\n  var rsize = 0;\n  var lo = 0;\n  var hi = 0;\n  var shift = 0;\n  while (true) {\n    var b = this.trans.readByte();\n    rsize ++;\n    if (shift <= 25) {\n      lo = lo | ((b & 0x7f) << shift);\n    } else if (25 < shift && shift < 32) {\n      lo = lo | ((b & 0x7f) << shift);\n      hi = hi | ((b & 0x7f) >>> (32-shift));\n    } else {\n      hi = hi | ((b & 0x7f) << (shift-32));\n    }\n    shift += 7;\n    if (!(b & 0x80)) {\n      break;\n    }\n    if (rsize >= 10) {\n      throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.INVALID_DATA, \"Variable-length int over 10 bytes.\");\n    }\n  }\n  return new Int64(hi, lo);\n};\n\n/**\n * Convert from zigzag int to int.\n */\nTCompactProtocol.prototype.zigzagToI32 = function(n) {\n  return (n >>> 1) ^ (-1 * (n & 1));\n};\n\n/**\n * Convert from zigzag long to long.\n */\nTCompactProtocol.prototype.zigzagToI64 = function(n) {\n  var hi = n.buffer.readUInt32BE(0, true);\n  var lo = n.buffer.readUInt32BE(4, true);\n\n  var neg = new Int64(hi & 0, lo & 1);\n  neg._2scomp();\n  var hi_neg = neg.buffer.readUInt32BE(0, true);\n  var lo_neg = neg.buffer.readUInt32BE(4, true);\n\n  var hi_lo = (hi << 31);\n  hi = (hi >>> 1) ^ (hi_neg);\n  lo = ((lo >>> 1) | hi_lo) ^ (lo_neg);\n  return new Int64(hi, lo);\n};\n\nTCompactProtocol.prototype.skip = function(type) {\n  switch (type) {\n    case Type.BOOL:\n      this.readBool();\n      break;\n    case Type.BYTE:\n      this.readByte();\n      break;\n    case Type.I16:\n      this.readI16();\n      break;\n    case Type.I32:\n      this.readI32();\n      break;\n    case Type.I64:\n      this.readI64();\n      break;\n    case Type.DOUBLE:\n      this.readDouble();\n      break;\n    case Type.STRING:\n      this.readString();\n      break;\n    case Type.STRUCT:\n      this.readStructBegin();\n      while (true) {\n        var r = this.readFieldBegin();\n        if (r.ftype === Type.STOP) {\n          break;\n        }\n        this.skip(r.ftype);\n        this.readFieldEnd();\n      }\n      this.readStructEnd();\n      break;\n    case Type.MAP:\n      var mapBegin = this.readMapBegin();\n      for (var i = 0; i < mapBegin.size; ++i) {\n        this.skip(mapBegin.ktype);\n        this.skip(mapBegin.vtype);\n      }\n      this.readMapEnd();\n      break;\n    case Type.SET:\n      var setBegin = this.readSetBegin();\n      for (var i2 = 0; i2 < setBegin.size; ++i2) {\n        this.skip(setBegin.etype);\n      }\n      this.readSetEnd();\n      break;\n    case Type.LIST:\n      var listBegin = this.readListBegin();\n      for (var i3 = 0; i3 < listBegin.size; ++i3) {\n        this.skip(listBegin.etype);\n      }\n      this.readListEnd();\n      break;\n    default:\n      throw new  Error(\"Invalid type: \" + type);\n  }\n};\n\n\n/***/ }),\n\n/***/ 6243:\n/***/ ((module) => {\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nmodule.exports = createClient;\n\n/**\n * Creates a new client object for the specified Thrift service.\n * @param {object} ServiceClient - The module containing the generated service client\n * @param {Connection} Connection - The connection to use.\n * @returns {object} The client object.\n */\nfunction createClient(ServiceClient, connection) {\n  // TODO validate required options and throw otherwise\n  if (ServiceClient.Client) {\n    ServiceClient = ServiceClient.Client;\n  }\n  // TODO detangle these initialization calls\n  // creating \"client\" requires\n  //   - new service client instance\n  //\n  // New service client instance requires\n  //   - new transport instance\n  //   - protocol class reference\n  //\n  // New transport instance requires\n  //   - Buffer to use (or none)\n  //   - Callback to call on flush\n\n  // Wrap the write method\n  var writeCb = function(buf, seqid) {\n    connection.write(buf, seqid);\n  };\n  var transport = new connection.transport(undefined, writeCb);\n  var client = new ServiceClient(transport, connection.protocol);\n  transport.client = client;\n  connection.client = client;\n  return client;\n};\n\n\n/***/ }),\n\n/***/ 7584:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar binary = __webpack_require__(7533);\nvar InputBufferUnderrunError = __webpack_require__(3590);\nvar THeaderTransport = __webpack_require__(5190);\n\nmodule.exports = TFramedTransport;\n\nfunction TFramedTransport(buffer, callback) {\n  this.inBuf = buffer || new Buffer(0);\n  this.outBuffers = [];\n  this.outCount = 0;\n  this.readPos = 0;\n  this.onFlush = callback;\n};\n\nTFramedTransport.prototype = new THeaderTransport();\n\nTFramedTransport.receiver = function(callback, seqid) {\n  var residual = null;\n\n  return function(data) {\n    // Prepend any residual data from our previous read\n    if (residual) {\n      data = Buffer.concat([residual, data]);\n      residual = null;\n    }\n\n    // framed transport\n    while (data.length) {\n      if (data.length < 4) {\n        // Not enough bytes to continue, save and resume on next packet\n        residual = data;\n        return;\n      }\n      var frameSize = binary.readI32(data, 0);\n      if (data.length < 4 + frameSize) {\n        // Not enough bytes to continue, save and resume on next packet\n        residual = data;\n        return;\n      }\n\n      var frame = data.slice(4, 4 + frameSize);\n      residual = data.slice(4 + frameSize);\n\n      callback(new TFramedTransport(frame), seqid);\n\n      data = residual;\n      residual = null;\n    }\n  };\n};\n\nTFramedTransport.prototype.commitPosition = function(){},\nTFramedTransport.prototype.rollbackPosition = function(){},\n\n  // TODO: Implement open/close support\nTFramedTransport.prototype.isOpen = function() {\n  return true;\n};\nTFramedTransport.prototype.open = function() {};\nTFramedTransport.prototype.close =  function() {};\n\n  // Set the seqid of the message in the client\n  // So that callbacks can be found\nTFramedTransport.prototype.setCurrSeqId = function(seqid) {\n  this._seqid = seqid;\n};\n\nTFramedTransport.prototype.ensureAvailable = function(len) {\n  if (this.readPos + len > this.inBuf.length) {\n    throw new InputBufferUnderrunError();\n  }\n};\n\nTFramedTransport.prototype.read = function(len) { // this function will be used for each frames.\n  this.ensureAvailable(len);\n  var end = this.readPos + len;\n\n  if (this.inBuf.length < end) {\n    throw new Error('read(' + len + ') failed - not enough data');\n  }\n\n  var buf = this.inBuf.slice(this.readPos, end);\n  this.readPos = end;\n  return buf;\n};\n\nTFramedTransport.prototype.readByte = function() {\n  this.ensureAvailable(1);\n  return binary.readByte(this.inBuf[this.readPos++]);\n};\n\nTFramedTransport.prototype.readI16 = function() {\n  this.ensureAvailable(2);\n  var i16 = binary.readI16(this.inBuf, this.readPos);\n  this.readPos += 2;\n  return i16;\n};\n\nTFramedTransport.prototype.readI32 = function() {\n  this.ensureAvailable(4);\n  var i32 = binary.readI32(this.inBuf, this.readPos);\n  this.readPos += 4;\n  return i32;\n};\n\nTFramedTransport.prototype.readDouble = function() {\n  this.ensureAvailable(8);\n  var d = binary.readDouble(this.inBuf, this.readPos);\n  this.readPos += 8;\n  return d;\n};\n\nTFramedTransport.prototype.readString = function(len) {\n  this.ensureAvailable(len);\n  var str = this.inBuf.toString('utf8', this.readPos, this.readPos + len);\n  this.readPos += len;\n  return str;\n};\n\nTFramedTransport.prototype.borrow = function() {\n  return {\n    buf: this.inBuf,\n    readIndex: this.readPos,\n    writeIndex: this.inBuf.length\n  };\n};\n\nTFramedTransport.prototype.consume = function(bytesConsumed) {\n  this.readPos += bytesConsumed;\n};\n\nTFramedTransport.prototype.write = function(buf, encoding) {\n  if (typeof(buf) === \"string\") {\n    buf = new Buffer(buf, encoding || 'utf8');\n  }\n  this.outBuffers.push(buf);\n  this.outCount += buf.length;\n};\n\nTFramedTransport.prototype.flush = function() {\n  // If the seqid of the callback is available pass it to the onFlush\n  // Then remove the current seqid\n  var seqid = this._seqid;\n  this._seqid = null;\n\n  var out = new Buffer(this.outCount),\n      pos = 0;\n  this.outBuffers.forEach(function(buf) {\n    buf.copy(out, pos, 0);\n    pos += buf.length;\n  });\n\n  if (this.onFlush) {\n    // TODO: optimize this better, allocate one buffer instead of both:\n    var msg = new Buffer(out.length + 4);\n    binary.writeI32(msg, out.length);\n    out.copy(msg, 4, 0, out.length);\n    if (this.onFlush) {\n      // Passing seqid through this call to get it to the connection\n      this.onFlush(msg, seqid);\n    }\n  }\n\n  this.outBuffers = [];\n  this.outCount = 0;\n};\n\n\n/***/ }),\n\n/***/ 5190:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar util = __webpack_require__(9539);\nvar TCompactProtocol = __webpack_require__(9277);\nvar TBinaryProtocol = __webpack_require__(4711);\nvar InputBufferUnderrunError = __webpack_require__(3590);\n\nfunction THeaderTransportError(message) {\n  Error.call(this);\n  Error.captureStackTrace(this, this.constructor);\n  this.name = this.constructor.name;\n  this.message = message;\n}\n\nutil.inherits(THeaderTransportError, Error);\n\nmodule.exports = THeaderTransport;\n\n// from HeaderFormat.md\nvar COMPACT_PROTOCOL_OFFSET = 0;\nvar COMPACT_PROTOCOL_VERSION_OFFSET = 1;\nvar FRAME_SIZE_OFFSET = 0;\nvar HEADER_MAGIC_OFFSET = 32 / 8;\nvar FLAGS_OFFSET = 48 / 8;\nvar SEQID_OFFSET = 64 / 8;\nvar HEADER_SIZE_OFFSET = 96 / 8;\nvar HEADER_START_OFFSET = 112 / 8;\n\nvar HEADER_MAGIC = 0x0FFF;\n\nvar TINFO_HEADER_KEY_VALUE_TYPE = 0x01;\nvar MAX_FRAME_SIZE = 0x3FFFFFFF;\n\n // A helper class for reading/writing varints. Uses\n // TCompactProtocol under the hood\nfunction VarintHelper(readBuffer) {\n  var TBufferedTransport = __webpack_require__(8869);\n  this.outputBuffer = null;\n  var _this = this;\n  this.transport = new TBufferedTransport(null, function(output) {\n    _this.outputBuffer = output;\n  });\n\n  this.transport.inBuf = readBuffer || Buffer.alloc(0);\n  this.transport.writeCursor = this.transport.inBuf.length;\n  this.protocol = new TCompactProtocol(this.transport);\n};\n\nVarintHelper.prototype.readVarint32 = function() {\n  return this.protocol.readVarint32();\n};\n\nVarintHelper.prototype.writeVarint32 = function(i) {\n  this.protocol.writeVarint32(i);\n};\n\nVarintHelper.prototype.readString = function() {\n  return this.protocol.readString();\n};\n\nVarintHelper.prototype.writeString = function(str) {\n  this.protocol.writeString(str);\n}\n\nVarintHelper.prototype.getOutCount = function() {\n  return this.transport.outCount;\n};\n\nVarintHelper.prototype.write = function(str) {\n  this.transport.write(str);\n};\n\nVarintHelper.prototype.toBuffer = function() {\n  this.transport.flush();\n  return this.outputBuffer;\n};\n\n// from lib/cpp/src/thrift/protocol/TProtocolTypes.h\nTHeaderTransport.SubprotocolId = {\n  BINARY: 0,\n  JSON: 1,\n  COMPACT: 2,\n};\n\n/**\n  An abstract transport used as a prototype for other transports\n  to enable reading/writing theaders. This should NOT be used as a standalone transport\n  The methods in this transport are called by THeaderProtocol, which will call readHeaders/writeHeaders\n  in the read/writeMessageBegin methods and parse/write headers to/from a request\n  prior to reading/writing.\n\n  The reason this is not a standalone transport type is because different transport types\n  have their own individual static receiver methods that are called prior to instantiation.\n  There doesn't seem to be a way for THeaderTransport to know which receiver method to use\n  without reworking the server API.\n\n  For reading headers from a request, the parsed headers can be retrieved via\n  getReadHeader. Similarly, you can set headers to be written on the client via\n  setWriteHeader.\n */\nfunction THeaderTransport() {\n  this.maxFrameSize = MAX_FRAME_SIZE;\n  this.protocolId = THeaderTransport.SubprotocolId.BINARY;\n  this.rheaders = {};\n  this.wheaders = {};\n  this.inBuf = Buffer.alloc(0);\n  this.outCount = 0;\n  this.flags = null;\n  this.seqid = 0;\n  this.shouldWriteHeaders = true;\n};\n\nvar validateHeaders = function(key, value) {\n  if (typeof key !== 'string' || typeof value !== 'string') {\n    throw new THeaderTransportError('Header key and values must be strings');\n  }\n};\n\nvar validateProtocolId = function(protocolId) {\n  var protocols = Object.keys(THeaderTransport.SubprotocolId);\n  for (var i = 0; i < protocols.length; i++) {\n    if (protocolId === THeaderTransport.SubprotocolId[protocols[i]]) return true;\n  }\n\n  throw new Error(protocolId + ' is not a valid protocol id');\n};\n\nTHeaderTransport.prototype.setSeqId = function(seqid) {\n  this.seqid = seqid;\n};\n\nTHeaderTransport.prototype.getSeqId = function(seqid) {\n  return this.seqid;\n};\n\nTHeaderTransport.prototype.setFlags = function(flags) {\n  this.flags = flags;\n};\n\nTHeaderTransport.prototype.getReadHeaders = function() {\n  return this.rheaders;\n};\n\nTHeaderTransport.prototype.setReadHeader = function(key, value) {\n  validateHeaders(key, value);\n  this.rheaders[key] = value;\n};\n\nTHeaderTransport.prototype.clearReadHeaders = function() {\n  this.rheaders = {};\n};\n\nTHeaderTransport.prototype.getWriteHeaders = function() {\n  return this.wheaders;\n};\n\nTHeaderTransport.prototype.setWriteHeader = function(key, value) {\n  validateHeaders(key, value);\n  this.wheaders[key] = value;\n};\n\nTHeaderTransport.prototype.clearWriteHeaders = function() {\n  this.wheaders = {};\n};\n\nTHeaderTransport.prototype.setMaxFrameSize = function(frameSize) {\n  this.maxFrameSize = frameSize;\n};\n\nTHeaderTransport.prototype.setProtocolId = function(protocolId) {\n  validateProtocolId(protocolId);\n  this.protocolId = protocolId;\n};\n\nTHeaderTransport.prototype.getProtocolId = function() {\n  return this.protocolId;\n};\n\nvar isUnframedBinary = function(readBuffer) {\n  var version = readBuffer.readInt32BE();\n  return (version & TBinaryProtocol.VERSION_MASK) === TBinaryProtocol.VERSION_1;\n}\n\nvar isUnframedCompact = function(readBuffer) {\n  var protocolId = readBuffer.readInt8(COMPACT_PROTOCOL_OFFSET);\n  var version = readBuffer.readInt8(COMPACT_PROTOCOL_VERSION_OFFSET);\n  return protocolId === TCompactProtocol.PROTOCOL_ID &&\n    (version & TCompactProtocol.VERSION_MASK) === TCompactProtocol.VERSION_N;\n}\n\nTHeaderTransport.prototype.readHeaders = function() {\n  var readBuffer = this.inBuf;\n\n  var isUnframed = false;\n  if (isUnframedBinary(readBuffer)) {\n    this.setProtocolId(THeaderTransport.SubprotocolId.BINARY);\n    isUnframed = true;\n  }\n\n  if (isUnframedCompact(readBuffer)) {\n    this.setProtocolId(THeaderTransport.SubprotocolId.COMPACT);\n    isUnframed = true;\n  }\n\n  if (isUnframed) {\n    this.shouldWriteHeaders = false;\n    return;\n  }\n\n  var frameSize = readBuffer.readInt32BE(FRAME_SIZE_OFFSET);\n  if (frameSize > this.maxFrameSize) {\n    throw new THeaderTransportError('Frame exceeds maximum frame size');\n  }\n\n  var headerMagic = readBuffer.readInt16BE(HEADER_MAGIC_OFFSET);\n  this.shouldWriteHeaders = headerMagic === HEADER_MAGIC;\n  if (!this.shouldWriteHeaders) {\n    return;\n  }\n\n  this.setFlags(readBuffer.readInt16BE(FLAGS_OFFSET));\n  this.setSeqId(readBuffer.readInt32BE(SEQID_OFFSET));\n  var headerSize = readBuffer.readInt16BE(HEADER_SIZE_OFFSET) * 4;\n  var endOfHeaders = HEADER_START_OFFSET + headerSize;\n  if (endOfHeaders > readBuffer.length) {\n    throw new THeaderTransportError('Header size is greater than frame size');\n  }\n\n  var headerBuffer = Buffer.alloc(headerSize);\n  readBuffer.copy(headerBuffer, 0, HEADER_START_OFFSET, endOfHeaders);\n\n  var varintHelper = new VarintHelper(headerBuffer);\n  this.setProtocolId(varintHelper.readVarint32());\n  var transformCount = varintHelper.readVarint32();\n  if (transformCount > 0) {\n    throw new THeaderTransportError('Transforms are not yet supported');\n  }\n\n  while (true) {\n    try {\n      var headerType = varintHelper.readVarint32();\n      if (headerType !== TINFO_HEADER_KEY_VALUE_TYPE) {\n        break;\n      }\n\n      var numberOfHeaders = varintHelper.readVarint32();\n      for (var i = 0; i < numberOfHeaders; i++) {\n        var key = varintHelper.readString();\n        var value = varintHelper.readString();\n        this.setReadHeader(key, value);\n      }\n    } catch (e) {\n      if (e instanceof InputBufferUnderrunError) {\n        break;\n      }\n      throw e;\n    }\n  }\n\n  // moves the read cursor past the headers\n  this.read(endOfHeaders);\n  return this.getReadHeaders();\n};\n\nTHeaderTransport.prototype.writeHeaders = function() {\n  // only write headers on the server if the client contained headers\n  if (!this.shouldWriteHeaders) {\n    return;\n  }\n  var headers = this.getWriteHeaders();\n\n  var varintWriter = new VarintHelper();\n  varintWriter.writeVarint32(this.protocolId);\n  varintWriter.writeVarint32(0); // transforms not supported\n\n  // writing info header key values\n  var headerKeys = Object.keys(headers);\n  if (headerKeys.length > 0) {\n    varintWriter.writeVarint32(TINFO_HEADER_KEY_VALUE_TYPE);\n    varintWriter.writeVarint32(headerKeys.length);\n    for (var i = 0; i < headerKeys.length; i++) {\n      var key = headerKeys[i];\n      var value = headers[key];\n\n      varintWriter.writeString(key);\n      varintWriter.writeString(value);\n    }\n  }\n var headerSizeWithoutPadding = varintWriter.getOutCount();\n  var paddingNeeded = (4 - (headerSizeWithoutPadding % 4)) % 4;\n\n  var headerSize = Buffer.alloc(2);\n  headerSize.writeInt16BE(Math.floor((headerSizeWithoutPadding + paddingNeeded) / 4));\n\n  var paddingBuffer = Buffer.alloc(paddingNeeded);\n  paddingBuffer.fill(0x00);\n  varintWriter.write(paddingBuffer);\n  var headerContentBuffer = varintWriter.toBuffer();\n  var frameSize = Buffer.alloc(4);\n  frameSize.writeInt32BE(10 + this.outCount + headerContentBuffer.length);\n  var headerMagic = Buffer.alloc(2);\n  headerMagic.writeInt16BE(HEADER_MAGIC);\n\n  // flags are not yet supported, so write a zero\n  var flags = Buffer.alloc(2);\n  flags.writeInt16BE(0);\n\n  var seqid = Buffer.alloc(4);\n  seqid.writeInt32BE(this.getSeqId());\n\n  var headerBuffer = Buffer.concat([\n    frameSize,\n    headerMagic,\n    flags,\n    seqid,\n    headerSize,\n    headerContentBuffer,\n  ]);\n\n  this.outBuffers.unshift(headerBuffer);\n  this.outCount += headerBuffer.length;\n};\n\n\n/***/ }),\n\n/***/ 3590:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nvar util = __webpack_require__(9539);\n\nmodule.exports = InputBufferUnderrunError;\n\nfunction InputBufferUnderrunError(message) {\n  Error.call(this);\n  Error.captureStackTrace(this, this.constructor);\n  this.name = this.constructor.name;\n  this.message = message;\n};\n\nutil.inherits(InputBufferUnderrunError, Error);\n\n\n/***/ }),\n\n/***/ 5197:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar Int64 = __webpack_require__(135);\n\nvar Int64Util = module.exports = {};\n\nvar POW2_24 = Math.pow(2, 24);\nvar POW2_31 = Math.pow(2, 31);\nvar POW2_32 = Math.pow(2, 32);\nvar POW10_11 = Math.pow(10, 11);\n\nInt64Util.toDecimalString = function(i64) {\n  var b = i64.buffer;\n  var o = i64.offset;\n  if ((!b[o] && !(b[o + 1] & 0xe0)) ||\n      (!~b[o] && !~(b[o + 1] & 0xe0))) {\n    // The magnitude is small enough.\n    return i64.toString();\n  } else {\n    var negative = b[o] & 0x80;\n    if (negative) {\n      // 2's complement\n      var incremented = false;\n      var buffer = new Buffer(8);\n      for (var i = 7; i >= 0; --i) {\n        buffer[i] = (~b[o + i] + (incremented ? 0 : 1)) & 0xff;\n        incremented |= b[o + i];\n      }\n      b = buffer;\n    }\n    var high2 = b[o + 1] + (b[o] << 8);\n    // Lesser 11 digits with exceeding values but is under 53 bits capacity.\n    var low = b[o + 7] + (b[o + 6] << 8) + (b[o + 5] << 16)\n        + b[o + 4] * POW2_24  // Bit shift renders 32th bit as sign, so use multiplication\n        + (b[o + 3] + (b[o + 2] << 8)) * POW2_32 + high2 * 74976710656;  // The literal is 2^48 % 10^11\n    // 12th digit and greater.\n    var high = Math.floor(low / POW10_11) + high2 * 2814;  // The literal is 2^48 / 10^11\n    // Make it exactly 11 with leading zeros.\n    low = ('00000000000' + String(low % POW10_11)).slice(-11);\n    return (negative ? '-' : '') + String(high) + low;\n  }\n};\n\nInt64Util.fromDecimalString = function(text) {\n  var negative = text.charAt(0) === '-';\n  if (text.length < (negative ? 17 : 16)) {\n    // The magnitude is smaller than 2^53.\n    return new Int64(+text);\n  } else if (text.length > (negative ? 20 : 19)) {\n    throw new RangeError('Too many digits for Int64: ' + text);\n  } else {\n    // Most significant (up to 5) digits\n    var high5 = +text.slice(negative ? 1 : 0, -15);\n    var low = +text.slice(-15) + high5 * 2764472320;  // The literal is 10^15 % 2^32\n    var high = Math.floor(low / POW2_32) + high5 * 232830;  // The literal is 10^15 / 2^&32\n    low = low % POW2_32;\n    if (high >= POW2_31 &&\n        !(negative && high == POW2_31 && low == 0)  // Allow minimum Int64\n       ) {\n      throw new RangeError('The magnitude is too large for Int64.');\n    }\n    if (negative) {\n      // 2's complement\n      high = ~high;\n      if (low === 0) {\n        high = (high + 1) & 0xffffffff;\n      } else {\n        low = ~low + 1;\n      }\n      high = 0x80000000 | high;\n    }\n    return new Int64(high, low);\n  }\n};\n\n\n/***/ }),\n\n/***/ 6502:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/*\n * Imported from Douglas Crockford's reference implementation with minimum modification\n * to handle Int64.\n *\n * https://github.com/douglascrockford/JSON-js/blob/c98948ae1944a28e2e8ebc3717894e580aeaaa05/json_parse.js\n *\n * Original license header:\n *\n * json_parse.js\n * 2015-05-02\n * Public Domain.\n * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\n */\n\n\n/*jslint for */\n\n/*property\n    at, b, call, charAt, f, fromCharCode, hasOwnProperty, message, n, name,\n    prototype, push, r, t, text\n*/\n\nvar Int64 = __webpack_require__(135);\nvar Int64Util = __webpack_require__(5197);\n\nvar json_parse = module.exports = (function () {\n    \"use strict\";\n\n// This is a function that can parse a JSON text, producing a JavaScript\n// data structure. It is a simple, recursive descent parser. It does not use\n// eval or regular expressions, so it can be used as a model for implementing\n// a JSON parser in other languages.\n\n// We are defining the function inside of another function to avoid creating\n// global variables.\n\n    var at,     // The index of the current character\n        ch,     // The current character\n        escapee = {\n            '\"': '\"',\n            '\\\\': '\\\\',\n            '/': '/',\n            b: '\\b',\n            f: '\\f',\n            n: '\\n',\n            r: '\\r',\n            t: '\\t'\n        },\n        text,\n\n        error = function (m) {\n\n// Call error when something is wrong.\n\n            throw new SyntaxError(m);\n        },\n\n        next = function (c) {\n\n// If a c parameter is provided, verify that it matches the current character.\n\n            if (c && c !== ch) {\n                error(\"Expected '\" + c + \"' instead of '\" + ch + \"'\");\n            }\n\n// Get the next character. When there are no more characters,\n// return the empty string.\n\n            ch = text.charAt(at);\n            at += 1;\n            return ch;\n        },\n\n        number = function () {\n\n// Parse a number value.\n\n            var number,\n                string = '';\n\n            if (ch === '-') {\n                string = '-';\n                next('-');\n            }\n            while (ch >= '0' && ch <= '9') {\n                string += ch;\n                next();\n            }\n            if (ch === '.') {\n                string += '.';\n                while (next() && ch >= '0' && ch <= '9') {\n                    string += ch;\n                }\n            }\n            if (ch === 'e' || ch === 'E') {\n                string += ch;\n                next();\n                if (ch === '-' || ch === '+') {\n                    string += ch;\n                    next();\n                }\n                while (ch >= '0' && ch <= '9') {\n                    string += ch;\n                    next();\n                }\n            }\n            number = +string;\n            if (!isFinite(number)) {\n                error(\"Bad number\");\n            } else if (number >= Int64.MAX_INT || number <= Int64.MIN_INT) {\n                // Return raw string for further process in TJSONProtocol\n                return string;\n            } else {\n                return number;\n            }\n        },\n\n        string = function () {\n\n// Parse a string value.\n\n            var hex,\n                i,\n                string = '',\n                uffff;\n\n// When parsing for string values, we must look for \" and \\ characters.\n\n            if (ch === '\"') {\n                while (next()) {\n                    if (ch === '\"') {\n                        next();\n                        return string;\n                    }\n                    if (ch === '\\\\') {\n                        next();\n                        if (ch === 'u') {\n                            uffff = 0;\n                            for (i = 0; i < 4; i += 1) {\n                                hex = parseInt(next(), 16);\n                                if (!isFinite(hex)) {\n                                    break;\n                                }\n                                uffff = uffff * 16 + hex;\n                            }\n                            string += String.fromCharCode(uffff);\n                        } else if (typeof escapee[ch] === 'string') {\n                            string += escapee[ch];\n                        } else {\n                            break;\n                        }\n                    } else {\n                        string += ch;\n                    }\n                }\n            }\n            error(\"Bad string\");\n        },\n\n        white = function () {\n\n// Skip whitespace.\n\n            while (ch && ch <= ' ') {\n                next();\n            }\n        },\n\n        word = function () {\n\n// true, false, or null.\n\n            switch (ch) {\n            case 't':\n                next('t');\n                next('r');\n                next('u');\n                next('e');\n                return true;\n            case 'f':\n                next('f');\n                next('a');\n                next('l');\n                next('s');\n                next('e');\n                return false;\n            case 'n':\n                next('n');\n                next('u');\n                next('l');\n                next('l');\n                return null;\n            }\n            error(\"Unexpected '\" + ch + \"'\");\n        },\n\n        value,  // Place holder for the value function.\n\n        array = function () {\n\n// Parse an array value.\n\n            var array = [];\n\n            if (ch === '[') {\n                next('[');\n                white();\n                if (ch === ']') {\n                    next(']');\n                    return array;   // empty array\n                }\n                while (ch) {\n                    array.push(value());\n                    white();\n                    if (ch === ']') {\n                        next(']');\n                        return array;\n                    }\n                    next(',');\n                    white();\n                }\n            }\n            error(\"Bad array\");\n        },\n\n        object = function () {\n\n// Parse an object value.\n\n            var key,\n                object = {};\n\n            if (ch === '{') {\n                next('{');\n                white();\n                if (ch === '}') {\n                    next('}');\n                    return object;   // empty object\n                }\n                while (ch) {\n                    key = string();\n                    white();\n                    next(':');\n                    if (Object.hasOwnProperty.call(object, key)) {\n                        error('Duplicate key \"' + key + '\"');\n                    }\n                    object[key] = value();\n                    white();\n                    if (ch === '}') {\n                        next('}');\n                        return object;\n                    }\n                    next(',');\n                    white();\n                }\n            }\n            error(\"Bad object\");\n        };\n\n    value = function () {\n\n// Parse a JSON value. It could be an object, an array, a string, a number,\n// or a word.\n\n        white();\n        switch (ch) {\n        case '{':\n            return object();\n        case '[':\n            return array();\n        case '\"':\n            return string();\n        case '-':\n            return number();\n        default:\n            return ch >= '0' && ch <= '9'\n                ? number()\n                : word();\n        }\n    };\n\n// Return the json_parse function. It will have access to all of the above\n// functions and variables.\n\n    return function (source) {\n        var result;\n\n        text = source;\n        at = 0;\n        ch = ' ';\n        result = value();\n        white();\n        if (ch) {\n            error(\"Syntax error\");\n        }\n\n        return result;\n    };\n}());\n\n\n/***/ }),\n\n/***/ 5086:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar Int64 = __webpack_require__(135);\nvar Thrift = __webpack_require__(5406);\nvar Type = Thrift.Type;\nvar util = __webpack_require__(9539);\n\nvar Int64Util = __webpack_require__(5197);\nvar json_parse = __webpack_require__(6502);\n\nvar InputBufferUnderrunError = __webpack_require__(3590);\n\nmodule.exports = TJSONProtocol;\n\n/**\n * Initializes a Thrift JSON protocol instance.\n * @constructor\n * @param {Thrift.Transport} trans - The transport to serialize to/from.\n * @classdesc Apache Thrift Protocols perform serialization which enables cross\n * language RPC. The Protocol type is the JavaScript browser implementation\n * of the Apache Thrift TJSONProtocol.\n * @example\n *     var protocol  = new Thrift.Protocol(transport);\n */\nfunction TJSONProtocol(trans) {\n  this.tstack = [];\n  this.tpos = [];\n  this.trans = trans;\n};\n\n/**\n * Thrift IDL type Id to string mapping.\n * @readonly\n * @see {@link Thrift.Type}\n */\nTJSONProtocol.Type = {};\nTJSONProtocol.Type[Type.BOOL] = '\"tf\"';\nTJSONProtocol.Type[Type.BYTE] = '\"i8\"';\nTJSONProtocol.Type[Type.I16] = '\"i16\"';\nTJSONProtocol.Type[Type.I32] = '\"i32\"';\nTJSONProtocol.Type[Type.I64] = '\"i64\"';\nTJSONProtocol.Type[Type.DOUBLE] = '\"dbl\"';\nTJSONProtocol.Type[Type.STRUCT] = '\"rec\"';\nTJSONProtocol.Type[Type.STRING] = '\"str\"';\nTJSONProtocol.Type[Type.MAP] = '\"map\"';\nTJSONProtocol.Type[Type.LIST] = '\"lst\"';\nTJSONProtocol.Type[Type.SET] = '\"set\"';\n\n/**\n * Thrift IDL type string to Id mapping.\n * @readonly\n * @see {@link Thrift.Type}\n */\nTJSONProtocol.RType = {};\nTJSONProtocol.RType.tf = Type.BOOL;\nTJSONProtocol.RType.i8 = Type.BYTE;\nTJSONProtocol.RType.i16 = Type.I16;\nTJSONProtocol.RType.i32 = Type.I32;\nTJSONProtocol.RType.i64 = Type.I64;\nTJSONProtocol.RType.dbl = Type.DOUBLE;\nTJSONProtocol.RType.rec = Type.STRUCT;\nTJSONProtocol.RType.str = Type.STRING;\nTJSONProtocol.RType.map = Type.MAP;\nTJSONProtocol.RType.lst = Type.LIST;\nTJSONProtocol.RType.set = Type.SET;\n\n/**\n * The TJSONProtocol version number.\n * @readonly\n * @const {number} Version\n * @memberof Thrift.Protocol\n */\nTJSONProtocol.Version = 1;\n\nTJSONProtocol.prototype.flush = function() {\n  this.writeToTransportIfStackIsFlushable();\n  return this.trans.flush();\n};\n\nTJSONProtocol.prototype.writeToTransportIfStackIsFlushable = function() {\n  if (this.tstack.length === 1) {\n    this.trans.write(this.tstack.pop());\n  }\n};\n\n/**\n * Serializes the beginning of a Thrift RPC message.\n * @param {string} name - The service method to call.\n * @param {Thrift.MessageType} messageType - The type of method call.\n * @param {number} seqid - The sequence number of this call (always 0 in Apache Thrift).\n */\nTJSONProtocol.prototype.writeMessageBegin = function(name, messageType, seqid) {\n  this.tstack.push([TJSONProtocol.Version, '\"' + name + '\"', messageType, seqid]);\n};\n\n/**\n * Serializes the end of a Thrift RPC message.\n */\nTJSONProtocol.prototype.writeMessageEnd = function() {\n  var obj = this.tstack.pop();\n\n  this.wobj = this.tstack.pop();\n  this.wobj.push(obj);\n\n  this.wbuf = '[' + this.wobj.join(',') + ']';\n\n  // we assume there is nothing more to come so we write\n  this.trans.write(this.wbuf);\n};\n\n/**\n * Serializes the beginning of a struct.\n * @param {string} name - The name of the struct.\n */\nTJSONProtocol.prototype.writeStructBegin = function(name) {\n  this.tpos.push(this.tstack.length);\n  this.tstack.push({});\n};\n\n/**\n * Serializes the end of a struct.\n */\nTJSONProtocol.prototype.writeStructEnd = function() {\n  var p = this.tpos.pop();\n  var struct = this.tstack[p];\n  var str = '{';\n  var first = true;\n  for (var key in struct) {\n    if (first) {\n      first = false;\n    } else {\n      str += ',';\n    }\n\n    str += key + ':' + struct[key];\n  }\n\n  str += '}';\n  this.tstack[p] = str;\n\n  this.writeToTransportIfStackIsFlushable();\n};\n\n/**\n * Serializes the beginning of a struct field.\n * @param {string} name - The name of the field.\n * @param {Thrift.Protocol.Type} fieldType - The data type of the field.\n * @param {number} fieldId - The field's unique identifier.\n */\nTJSONProtocol.prototype.writeFieldBegin = function(name, fieldType, fieldId) {\n  this.tpos.push(this.tstack.length);\n  this.tstack.push({ 'fieldId': '\"' +\n    fieldId + '\"', 'fieldType': TJSONProtocol.Type[fieldType]\n  });\n};\n\n/**\n * Serializes the end of a field.\n */\nTJSONProtocol.prototype.writeFieldEnd = function() {\n  var value = this.tstack.pop();\n  var fieldInfo = this.tstack.pop();\n\n  if (':' + value === \":[object Object]\") {\n    this.tstack[this.tstack.length - 1][fieldInfo.fieldId] = '{' +\n      fieldInfo.fieldType + ':' + JSON.stringify(value) + '}';\n  } else {\n    this.tstack[this.tstack.length - 1][fieldInfo.fieldId] = '{' +\n      fieldInfo.fieldType + ':' + value + '}';\n  }\n  this.tpos.pop();\n\n  this.writeToTransportIfStackIsFlushable();\n};\n\n/**\n * Serializes the end of the set of fields for a struct.\n */\nTJSONProtocol.prototype.writeFieldStop = function() {\n};\n\n/**\n * Serializes the beginning of a map collection.\n * @param {Thrift.Type} keyType - The data type of the key.\n * @param {Thrift.Type} valType - The data type of the value.\n * @param {number} [size] - The number of elements in the map (ignored).\n */\nTJSONProtocol.prototype.writeMapBegin = function(keyType, valType, size) {\n  //size is invalid, we'll set it on end.\n  this.tpos.push(this.tstack.length);\n  this.tstack.push([TJSONProtocol.Type[keyType], TJSONProtocol.Type[valType], 0]);\n};\n\n/**\n * Serializes the end of a map.\n */\nTJSONProtocol.prototype.writeMapEnd = function() {\n  var p = this.tpos.pop();\n\n  if (p == this.tstack.length) {\n    return;\n  }\n\n  if ((this.tstack.length - p - 1) % 2 !== 0) {\n    this.tstack.push('');\n  }\n\n  var size = (this.tstack.length - p - 1) / 2;\n\n  this.tstack[p][this.tstack[p].length - 1] = size;\n\n  var map = '}';\n  var first = true;\n  while (this.tstack.length > p + 1) {\n    var v = this.tstack.pop();\n    var k = this.tstack.pop();\n    if (first) {\n      first = false;\n    } else {\n      map = ',' + map;\n    }\n\n    if (! isNaN(k)) { k = '\"' + k + '\"'; } //json \"keys\" need to be strings\n    map = k + ':' + v + map;\n  }\n  map = '{' + map;\n\n  this.tstack[p].push(map);\n  this.tstack[p] = '[' + this.tstack[p].join(',') + ']';\n\n  this.writeToTransportIfStackIsFlushable();\n};\n\n/**\n * Serializes the beginning of a list collection.\n * @param {Thrift.Type} elemType - The data type of the elements.\n * @param {number} size - The number of elements in the list.\n */\nTJSONProtocol.prototype.writeListBegin = function(elemType, size) {\n  this.tpos.push(this.tstack.length);\n  this.tstack.push([TJSONProtocol.Type[elemType], size]);\n};\n\n/**\n * Serializes the end of a list.\n */\nTJSONProtocol.prototype.writeListEnd = function() {\n  var p = this.tpos.pop();\n\n  while (this.tstack.length > p + 1) {\n    var tmpVal = this.tstack[p + 1];\n    this.tstack.splice(p + 1, 1);\n    this.tstack[p].push(tmpVal);\n  }\n\n  this.tstack[p] = '[' + this.tstack[p].join(',') + ']';\n\n  this.writeToTransportIfStackIsFlushable();\n};\n\n/**\n * Serializes the beginning of a set collection.\n * @param {Thrift.Type} elemType - The data type of the elements.\n * @param {number} size - The number of elements in the list.\n */\nTJSONProtocol.prototype.writeSetBegin = function(elemType, size) {\n    this.tpos.push(this.tstack.length);\n    this.tstack.push([TJSONProtocol.Type[elemType], size]);\n};\n\n/**\n * Serializes the end of a set.\n */\nTJSONProtocol.prototype.writeSetEnd = function() {\n  var p = this.tpos.pop();\n\n  while (this.tstack.length > p + 1) {\n    var tmpVal = this.tstack[p + 1];\n    this.tstack.splice(p + 1, 1);\n    this.tstack[p].push(tmpVal);\n  }\n\n  this.tstack[p] = '[' + this.tstack[p].join(',') + ']';\n\n  this.writeToTransportIfStackIsFlushable();\n};\n\n/** Serializes a boolean */\nTJSONProtocol.prototype.writeBool = function(bool) {\n  this.tstack.push(bool ? 1 : 0);\n};\n\n/** Serializes a number */\nTJSONProtocol.prototype.writeByte = function(byte) {\n  this.tstack.push(byte);\n};\n\n/** Serializes a number */\nTJSONProtocol.prototype.writeI16 = function(i16) {\n  this.tstack.push(i16);\n};\n\n/** Serializes a number */\nTJSONProtocol.prototype.writeI32 = function(i32) {\n  this.tstack.push(i32);\n};\n\n/** Serializes a number */\nTJSONProtocol.prototype.writeI64 = function(i64) {\n  if (i64 instanceof Int64) {\n    this.tstack.push(Int64Util.toDecimalString(i64));\n  } else {\n    this.tstack.push(i64);\n  }\n};\n\n/** Serializes a number */\nTJSONProtocol.prototype.writeDouble = function(dub) {\n  this.tstack.push(dub);\n};\n\n/** Serializes a string */\nTJSONProtocol.prototype.writeString = function(arg) {\n  // We do not encode uri components for wire transfer:\n  if (arg === null) {\n      this.tstack.push(null);\n  } else {\n      if (typeof arg === 'string') {\n        var str = arg;\n      } else if (arg instanceof Buffer) {\n        var str = arg.toString('utf8');\n      } else {\n        throw new Error('writeString called without a string/Buffer argument: ' + arg);\n      }\n\n      // concat may be slower than building a byte buffer\n      var escapedString = '';\n      for (var i = 0; i < str.length; i++) {\n          var ch = str.charAt(i);      // a single double quote: \"\n          if (ch === '\\\"') {\n              escapedString += '\\\\\\\"'; // write out as: \\\"\n          } else if (ch === '\\\\') {    // a single backslash: \\\n              escapedString += '\\\\\\\\'; // write out as: \\\\\n          /* Currently escaped forward slashes break TJSONProtocol.\n           * As it stands, we can simply pass forward slashes into\n           * our strings across the wire without being escaped.\n           * I think this is the protocol's bug, not thrift.js\n           * } else if(ch === '/') {   // a single forward slash: /\n           *  escapedString += '\\\\/';  // write out as \\/\n           * }\n           */\n          } else if (ch === '\\b') {    // a single backspace: invisible\n              escapedString += '\\\\b';  // write out as: \\b\"\n          } else if (ch === '\\f') {    // a single formfeed: invisible\n              escapedString += '\\\\f';  // write out as: \\f\"\n          } else if (ch === '\\n') {    // a single newline: invisible\n              escapedString += '\\\\n';  // write out as: \\n\"\n          } else if (ch === '\\r') {    // a single return: invisible\n              escapedString += '\\\\r';  // write out as: \\r\"\n          } else if (ch === '\\t') {    // a single tab: invisible\n              escapedString += '\\\\t';  // write out as: \\t\"\n          } else {\n              escapedString += ch;     // Else it need not be escaped\n          }\n      }\n      this.tstack.push('\"' + escapedString + '\"');\n  }\n};\n\n/** Serializes a string */\nTJSONProtocol.prototype.writeBinary = function(arg) {\n  if (typeof arg === 'string') {\n    var buf = new Buffer(arg, 'binary');\n  } else if (arg instanceof Buffer ||\n             Object.prototype.toString.call(arg) == '[object Uint8Array]')  {\n    var buf = arg;\n  } else {\n    throw new Error('writeBinary called without a string/Buffer argument: ' + arg);\n  }\n  this.tstack.push('\"' + buf.toString('base64') + '\"');\n};\n\n/**\n * @class\n * @name AnonReadMessageBeginReturn\n * @property {string} fname - The name of the service method.\n * @property {Thrift.MessageType} mtype - The type of message call.\n * @property {number} rseqid - The sequence number of the message (0 in Thrift RPC).\n */\n/**\n * Deserializes the beginning of a message.\n * @returns {AnonReadMessageBeginReturn}\n */\nTJSONProtocol.prototype.readMessageBegin = function() {\n  this.rstack = [];\n  this.rpos = [];\n\n  //Borrow the inbound transport buffer and ensure data is present/consistent\n  var transBuf = this.trans.borrow();\n  if (transBuf.readIndex >= transBuf.writeIndex) {\n    throw new InputBufferUnderrunError();\n  }\n  var cursor = transBuf.readIndex;\n\n  if (transBuf.buf[cursor] !== 0x5B) { //[\n    throw new Error(\"Malformed JSON input, no opening bracket\");\n  }\n\n  //Parse a single message (there may be several in the buffer)\n  //  TODO: Handle characters using multiple code units\n  cursor++;\n  var openBracketCount = 1;\n  var inString = false;\n  for (; cursor < transBuf.writeIndex; cursor++) {\n    var chr = transBuf.buf[cursor];\n    //we use hexa charcode here because data[i] returns an int and not a char\n    if (inString) {\n      if (chr === 0x22) { //\"\n        inString = false;\n      } else if (chr === 0x5C) { //\\\n        //escaped character, skip\n        cursor += 1;\n      }\n    } else {\n      if (chr === 0x5B) { //[\n        openBracketCount += 1;\n      } else if (chr === 0x5D) { //]\n        openBracketCount -= 1;\n        if (openBracketCount === 0) {\n          //end of json message detected\n          break;\n        }\n      } else if (chr === 0x22) { //\"\n        inString = true;\n      }\n    }\n  }\n\n  if (openBracketCount !== 0) {\n    // Missing closing bracket. Can be buffer underrun.\n    throw new InputBufferUnderrunError();\n  }\n\n  //Reconstitute the JSON object and conume the necessary bytes\n  this.robj = json_parse(transBuf.buf.slice(transBuf.readIndex, cursor+1).toString());\n  this.trans.consume(cursor + 1 - transBuf.readIndex);\n\n  //Verify the protocol version\n  var version = this.robj.shift();\n  if (version != TJSONProtocol.Version) {\n    throw new Error('Wrong thrift protocol version: ' + version);\n  }\n\n  //Objectify the thrift message {name/type/sequence-number} for return\n  // and then save the JSON object in rstack\n  var r = {};\n  r.fname = this.robj.shift();\n  r.mtype = this.robj.shift();\n  r.rseqid = this.robj.shift();\n  this.rstack.push(this.robj.shift());\n  return r;\n};\n\n/** Deserializes the end of a message. */\nTJSONProtocol.prototype.readMessageEnd = function() {\n};\n\n/**\n * Deserializes the beginning of a struct.\n * @param {string} [name] - The name of the struct (ignored)\n * @returns {object} - An object with an empty string fname property\n */\nTJSONProtocol.prototype.readStructBegin = function() {\n  var r = {};\n  r.fname = '';\n\n  //incase this is an array of structs\n  if (this.rstack[this.rstack.length - 1] instanceof Array) {\n    this.rstack.push(this.rstack[this.rstack.length - 1].shift());\n  }\n\n  return r;\n};\n\n/** Deserializes the end of a struct. */\nTJSONProtocol.prototype.readStructEnd = function() {\n  this.rstack.pop();\n};\n\n/**\n * @class\n * @name AnonReadFieldBeginReturn\n * @property {string} fname - The name of the field (always '').\n * @property {Thrift.Type} ftype - The data type of the field.\n * @property {number} fid - The unique identifier of the field.\n */\n/**\n * Deserializes the beginning of a field.\n * @returns {AnonReadFieldBeginReturn}\n */\nTJSONProtocol.prototype.readFieldBegin = function() {\n  var r = {};\n\n  var fid = -1;\n  var ftype = Type.STOP;\n\n  //get a fieldId\n  for (var f in (this.rstack[this.rstack.length - 1])) {\n    if (f === null) {\n      continue;\n    }\n\n    fid = parseInt(f, 10);\n    this.rpos.push(this.rstack.length);\n\n    var field = this.rstack[this.rstack.length - 1][fid];\n\n    //remove so we don't see it again\n    delete this.rstack[this.rstack.length - 1][fid];\n\n    this.rstack.push(field);\n\n    break;\n  }\n\n  if (fid != -1) {\n    //should only be 1 of these but this is the only\n    //way to match a key\n    for (var i in (this.rstack[this.rstack.length - 1])) {\n      if (TJSONProtocol.RType[i] === null) {\n        continue;\n      }\n\n      ftype = TJSONProtocol.RType[i];\n      this.rstack[this.rstack.length - 1] = this.rstack[this.rstack.length - 1][i];\n    }\n  }\n\n  r.fname = '';\n  r.ftype = ftype;\n  r.fid = fid;\n\n  return r;\n};\n\n/** Deserializes the end of a field. */\nTJSONProtocol.prototype.readFieldEnd = function() {\n  var pos = this.rpos.pop();\n\n  //get back to the right place in the stack\n  while (this.rstack.length > pos) {\n    this.rstack.pop();\n  }\n};\n\n/**\n * @class\n * @name AnonReadMapBeginReturn\n * @property {Thrift.Type} ktype - The data type of the key.\n * @property {Thrift.Type} vtype - The data type of the value.\n * @property {number} size - The number of elements in the map.\n */\n/**\n * Deserializes the beginning of a map.\n * @returns {AnonReadMapBeginReturn}\n */\nTJSONProtocol.prototype.readMapBegin = function() {\n  var map = this.rstack.pop();\n  var first = map.shift();\n  if (first instanceof Array) {\n    this.rstack.push(map);\n    map = first;\n    first = map.shift();\n  }\n\n  var r = {};\n  r.ktype = TJSONProtocol.RType[first];\n  r.vtype = TJSONProtocol.RType[map.shift()];\n  r.size = map.shift();\n\n\n  this.rpos.push(this.rstack.length);\n  this.rstack.push(map.shift());\n\n  return r;\n};\n\n/** Deserializes the end of a map. */\nTJSONProtocol.prototype.readMapEnd = function() {\n  this.readFieldEnd();\n};\n\n/**\n * @class\n * @name AnonReadColBeginReturn\n * @property {Thrift.Type} etype - The data type of the element.\n * @property {number} size - The number of elements in the collection.\n */\n/**\n * Deserializes the beginning of a list.\n * @returns {AnonReadColBeginReturn}\n */\nTJSONProtocol.prototype.readListBegin = function() {\n  var list = this.rstack[this.rstack.length - 1];\n\n  var r = {};\n  r.etype = TJSONProtocol.RType[list.shift()];\n  r.size = list.shift();\n\n  this.rpos.push(this.rstack.length);\n  this.rstack.push(list.shift());\n\n  return r;\n};\n\n/** Deserializes the end of a list. */\nTJSONProtocol.prototype.readListEnd = function() {\n  var pos = this.rpos.pop() - 2;\n  var st = this.rstack;\n  st.pop();\n  if (st instanceof Array && st.length > pos && st[pos].length > 0) {\n    st.push(st[pos].shift());\n  }\n};\n\n/**\n * Deserializes the beginning of a set.\n * @returns {AnonReadColBeginReturn}\n */\nTJSONProtocol.prototype.readSetBegin = function() {\n  return this.readListBegin();\n};\n\n/** Deserializes the end of a set. */\nTJSONProtocol.prototype.readSetEnd = function() {\n  return this.readListEnd();\n};\n\nTJSONProtocol.prototype.readBool = function() {\n  return this.readValue() == '1';\n};\n\nTJSONProtocol.prototype.readByte = function() {\n  return this.readI32();\n};\n\nTJSONProtocol.prototype.readI16 = function() {\n  return this.readI32();\n};\n\nTJSONProtocol.prototype.readI32 = function(f) {\n  return +this.readValue();\n}\n\n/** Returns the next value found in the protocol buffer */\nTJSONProtocol.prototype.readValue = function(f) {\n  if (f === undefined) {\n    f = this.rstack[this.rstack.length - 1];\n  }\n\n  var r = {};\n\n  if (f instanceof Array) {\n    if (f.length === 0) {\n      r.value = undefined;\n    } else {\n      r.value = f.shift();\n    }\n  } else if (!(f instanceof Int64) && f instanceof Object) {\n    for (var i in f) {\n      if (i === null) {\n        continue;\n      }\n      this.rstack.push(f[i]);\n      delete f[i];\n\n      r.value = i;\n      break;\n    }\n  } else {\n    r.value = f;\n    this.rstack.pop();\n  }\n\n  return r.value;\n};\n\nTJSONProtocol.prototype.readI64 = function() {\n  var n = this.readValue()\n  if (typeof n === 'string') {\n    // Assuming no one is sending in 1.11111e+33 format\n    return Int64Util.fromDecimalString(n);\n  } else {\n    return new Int64(n);\n  }\n};\n\nTJSONProtocol.prototype.readDouble = function() {\n  return this.readI32();\n};\n\nTJSONProtocol.prototype.readBinary = function() {\n  return new Buffer(this.readValue(), 'base64');\n};\n\nTJSONProtocol.prototype.readString = function() {\n  return this.readValue();\n};\n\n/**\n * Returns the underlying transport.\n * @readonly\n * @returns {Thrift.Transport} The underlying transport.\n */\nTJSONProtocol.prototype.getTransport = function() {\n  return this.trans;\n};\n\n/**\n * Method to arbitrarily skip over data\n */\nTJSONProtocol.prototype.skip = function(type) {\n    switch (type) {\n    case Type.BOOL:\n      this.readBool();\n      break;\n    case Type.BYTE:\n      this.readByte();\n      break;\n    case Type.I16:\n      this.readI16();\n      break;\n    case Type.I32:\n      this.readI32();\n      break;\n    case Type.I64:\n      this.readI64();\n      break;\n    case Type.DOUBLE:\n      this.readDouble();\n      break;\n    case Type.STRING:\n      this.readString();\n      break;\n    case Type.STRUCT:\n      this.readStructBegin();\n      while (true) {\n        var r = this.readFieldBegin();\n        if (r.ftype === Type.STOP) {\n          break;\n        }\n        this.skip(r.ftype);\n        this.readFieldEnd();\n      }\n      this.readStructEnd();\n      break;\n    case Type.MAP:\n      var mapBegin = this.readMapBegin();\n      for (var i = 0; i < mapBegin.size; ++i) {\n        this.skip(mapBegin.ktype);\n        this.skip(mapBegin.vtype);\n      }\n      this.readMapEnd();\n      break;\n    case Type.SET:\n      var setBegin = this.readSetBegin();\n      for (var i2 = 0; i2 < setBegin.size; ++i2) {\n        this.skip(setBegin.etype);\n      }\n      this.readSetEnd();\n      break;\n    case Type.LIST:\n      var listBegin = this.readListBegin();\n      for (var i3 = 0; i3 < listBegin.size; ++i3) {\n        this.skip(listBegin.etype);\n      }\n      this.readListEnd();\n      break;\n    default:\n      throw new  Error(\"Invalid type: \" + type);\n  }\n};\n\n\n/***/ }),\n\n/***/ 1291:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar util = __webpack_require__(9539);\n\nvar disabled = function () {};\nvar logFunc = console.log;\nvar logLevel = 'error'; // default level\n\nfunction factory(level) {\n  return function () {\n    // better use spread syntax, but due to compatibility,\n    // use legacy method here.\n    var args = ['thrift: [' + level + '] '].concat(Array.from(arguments));\n    return logFunc(util.format.apply(null, args));\n  };\n}\n\nvar trace = disabled;\nvar debug = disabled;\nvar error = disabled;\nvar warning = disabled;\nvar info = disabled;\n\nexports.setLogFunc = function (func) {\n  logFunc = func;\n};\n\nvar setLogLevel = exports.setLogLevel = function (level) {\n  trace = debug = error = warning = info = disabled;\n  logLevel = level;\n  switch (logLevel) {\n  case 'trace':\n    trace = factory('TRACE');\n  case 'debug':\n    debug = factory('DEBUG');\n  case 'error':\n    error = factory('ERROR');\n  case 'warning':\n    warning = factory('WARN');\n  case 'info':\n    info = factory('INFO');\n  }\n};\n\n// set default\nsetLogLevel(logLevel);\n\nexports.getLogLevel = function () {\n  return logLevel;\n};\n\nexports.trace = function () {\n  return trace.apply(null, arguments);\n};\n\nexports.debug = function () {\n  return debug.apply(null, arguments);\n};\n\nexports.error = function () {\n  return error.apply(null, arguments);\n};\n\nexports.warning = function () {\n  return warning.apply(null, arguments);\n};\n\nexports.info = function () {\n  return info.apply(null, arguments);\n};\n\n\n/***/ }),\n\n/***/ 4184:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nvar util = __webpack_require__(9539);\nvar Thrift = __webpack_require__(5406);\n\nexports.Multiplexer = Multiplexer;\n\nfunction Wrapper(serviceName, protocol, connection) {\n\n  function MultiplexProtocol(trans, strictRead, strictWrite) {\n    protocol.call(this, trans, strictRead, strictWrite);\n  };\n\n  util.inherits(MultiplexProtocol, protocol);\n\n  MultiplexProtocol.prototype.writeMessageBegin = function(name, type, seqid) {\n    if (type == Thrift.MessageType.CALL || type == Thrift.MessageType.ONEWAY) {\n      connection.seqId2Service[seqid] = serviceName;\n      MultiplexProtocol.super_.prototype.writeMessageBegin.call(this,\n                                                                serviceName + \":\" + name,\n                                                                type,\n                                                                seqid);\n    } else {\n      MultiplexProtocol.super_.prototype.writeMessageBegin.call(this, name, type, seqid);\n    }\n  };\n\n  return MultiplexProtocol;\n};\n\nfunction Multiplexer() {\n  this.seqid = 0;\n};\n\nMultiplexer.prototype.createClient = function(serviceName, ServiceClient, connection) {\n  if (ServiceClient.Client) {\n    ServiceClient = ServiceClient.Client;\n  }\n  var writeCb = function(buf, seqid) {\n    connection.write(buf,seqid);\n  };\n  var transport = new connection.transport(undefined, writeCb);\n  var protocolWrapper = new Wrapper(serviceName, connection.protocol, connection);\n  var client = new ServiceClient(transport, protocolWrapper);\n  var self = this;\n  client.new_seqid = function() {\n    self.seqid += 1;\n    return self.seqid;\n  };\n\n  if (typeof connection.client !== 'object') {\n    connection.client = {};\n  }\n  connection.client[serviceName] = client;\n\n  return client;\n};\n\n\n/***/ }),\n\n/***/ 5406:\n/***/ ((module, exports, __webpack_require__) => {\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nvar util = __webpack_require__(9539);\n\nvar Type = exports.Type = {\n  STOP: 0,\n  VOID: 1,\n  BOOL: 2,\n  BYTE: 3,\n  I08: 3,\n  DOUBLE: 4,\n  I16: 6,\n  I32: 8,\n  I64: 10,\n  STRING: 11,\n  UTF7: 11,\n  STRUCT: 12,\n  MAP: 13,\n  SET: 14,\n  LIST: 15,\n  UTF8: 16,\n  UTF16: 17\n};\n\nexports.MessageType = {\n  CALL: 1,\n  REPLY: 2,\n  EXCEPTION: 3,\n  ONEWAY: 4\n};\n\nexports.TException = TException;\n\nfunction TException(message) {\n  Error.call(this);\n  Error.captureStackTrace(this, this.constructor);\n  this.name = this.constructor.name;\n  this.message = message;\n};\nutil.inherits(TException, Error);\n\nvar TApplicationExceptionType = exports.TApplicationExceptionType = {\n  UNKNOWN: 0,\n  UNKNOWN_METHOD: 1,\n  INVALID_MESSAGE_TYPE: 2,\n  WRONG_METHOD_NAME: 3,\n  BAD_SEQUENCE_ID: 4,\n  MISSING_RESULT: 5,\n  INTERNAL_ERROR: 6,\n  PROTOCOL_ERROR: 7,\n  INVALID_TRANSFORM: 8,\n  INVALID_PROTOCOL: 9,\n  UNSUPPORTED_CLIENT_TYPE: 10\n};\n\nexports.TApplicationException = TApplicationException;\n\nfunction TApplicationException(type, message) {\n  TException.call(this);\n  Error.captureStackTrace(this, this.constructor);\n  this.type = type || TApplicationExceptionType.UNKNOWN;\n  this.name = this.constructor.name;\n  this.message = message;\n};\nutil.inherits(TApplicationException, TException);\n\nTApplicationException.prototype.read = function(input) {\n  var ftype;\n  var ret = input.readStructBegin('TApplicationException');\n\n  while(1){\n      ret = input.readFieldBegin();\n      if(ret.ftype == Type.STOP)\n          break;\n\n      switch(ret.fid){\n          case 1:\n              if( ret.ftype == Type.STRING ){\n                  ret = input.readString();\n                  this.message = ret;\n              } else {\n                  ret = input.skip(ret.ftype);\n              }\n              break;\n          case 2:\n              if( ret.ftype == Type.I32 ){\n                  ret = input.readI32();\n                  this.type = ret;\n              } else {\n                  ret   = input.skip(ret.ftype);\n              }\n              break;\n          default:\n              ret = input.skip(ret.ftype);\n              break;\n      }\n      input.readFieldEnd();\n  }\n  input.readStructEnd();\n};\n\nTApplicationException.prototype.write = function(output){\n  output.writeStructBegin('TApplicationException');\n\n  if (this.message) {\n      output.writeFieldBegin('message', Type.STRING, 1);\n      output.writeString(this.message);\n      output.writeFieldEnd();\n  }\n\n  if (this.code) {\n      output.writeFieldBegin('type', Type.I32, 2);\n      output.writeI32(this.code);\n      output.writeFieldEnd();\n  }\n\n  output.writeFieldStop();\n  output.writeStructEnd();\n};\n\nvar TProtocolExceptionType = exports.TProtocolExceptionType = {\n  UNKNOWN: 0,\n  INVALID_DATA: 1,\n  NEGATIVE_SIZE: 2,\n  SIZE_LIMIT: 3,\n  BAD_VERSION: 4,\n  NOT_IMPLEMENTED: 5,\n  DEPTH_LIMIT: 6\n};\n\n\nexports.TProtocolException = TProtocolException;\n\nfunction TProtocolException(type, message) {\n  Error.call(this);\n  Error.captureStackTrace(this, this.constructor);\n  this.name = this.constructor.name;\n  this.type = type;\n  this.message = message;\n};\nutil.inherits(TProtocolException, Error);\n\nexports.objectLength = function(obj) {\n  return Object.keys(obj).length;\n};\n\nexports.inherits = function(constructor, superConstructor) {\n  util.inherits(constructor, superConstructor);\n};\n\nvar copyList, copyMap;\n\ncopyList = function(lst, types) {\n\n  if (!lst) {return lst; }\n\n  var type;\n\n  if (types.shift === undefined) {\n    type = types;\n  }\n  else {\n    type = types[0];\n  }\n  var Type = type;\n\n  var len = lst.length, result = [], i, val;\n  for (i = 0; i < len; i++) {\n    val = lst[i];\n    if (type === null) {\n      result.push(val);\n    }\n    else if (type === copyMap || type === copyList) {\n      result.push(type(val, types.slice(1)));\n    }\n    else {\n      result.push(new Type(val));\n    }\n  }\n  return result;\n};\n\ncopyMap = function(obj, types){\n\n  if (!obj) {return obj; }\n\n  var type;\n\n  if (types.shift === undefined) {\n    type = types;\n  }\n  else {\n    type = types[0];\n  }\n  var Type = type;\n\n  var result = {}, val;\n  for(var prop in obj) {\n    if(obj.hasOwnProperty(prop)) {\n      val = obj[prop];\n      if (type === null) {\n        result[prop] = val;\n      }\n      else if (type === copyMap || type === copyList) {\n        result[prop] = type(val, types.slice(1));\n      }\n      else {\n        result[prop] = new Type(val);\n      }\n    }\n  }\n  return result;\n};\n\nmodule.exports.copyMap = copyMap;\nmodule.exports.copyList = copyList;\n\n\n/***/ }),\n\n/***/ 5764:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nvar log = __webpack_require__(1291);\n\nmodule.exports = TWebSocketTransport;\n\n/**\n * Constructor Function for the WebSocket transport.\n * @constructor\n * @param {string} [url] - The URL to connect to.\n * @classdesc The Apache Thrift Transport layer performs byte level I/O\n * between RPC clients and servers. The JavaScript TWebSocketTransport object\n * uses the WebSocket protocol. Target servers must implement WebSocket.\n * (see: node.js example server_http.js).\n * @example\n *   var transport = new Thrift.TWebSocketTransport(\"http://localhost:8585\");\n */\nfunction TWebSocketTransport(url) {\n    this.__reset(url);\n};\n\n\nTWebSocketTransport.prototype.__reset = function(url) {\n  this.url = url;             //Where to connect\n  this.socket = null;         //The web socket\n  this.callbacks = [];        //Pending callbacks\n  this.send_pending = [];     //Buffers/Callback pairs waiting to be sent\n  this.send_buf = '';         //Outbound data, immutable until sent\n  this.recv_buf = '';         //Inbound data\n  this.rb_wpos = 0;           //Network write position in receive buffer\n  this.rb_rpos = 0;           //Client read position in receive buffer\n};\n\n/**\n * Sends the current WS request and registers callback. The async\n * parameter is ignored (WS flush is always async) and the callback\n * function parameter is required.\n * @param {object} async - Ignored.\n * @param {object} callback - The client completion callback.\n * @returns {undefined|string} Nothing (undefined)\n */\nTWebSocketTransport.prototype.flush = function(async, callback) {\n  var self = this;\n  if (this.isOpen()) {\n    //Send data and register a callback to invoke the client callback\n    this.socket.send(this.send_buf);\n    this.callbacks.push((function() {\n      var clientCallback = callback;\n      return function(msg) {\n        self.setRecvBuffer(msg);\n        clientCallback();\n      };\n    }()));\n  } else {\n    //Queue the send to go out __onOpen\n    this.send_pending.push({\n      buf: this.send_buf,\n      cb:  callback\n    });\n  }\n};\n\nTWebSocketTransport.prototype.__onOpen = function() {\n   var self = this;\n   if (this.send_pending.length > 0) {\n      //If the user made calls before the connection was fully\n      //open, send them now\n      this.send_pending.forEach(function(elem) {\n         this.socket.send(elem.buf);\n         this.callbacks.push((function() {\n           var clientCallback = elem.cb;\n           return function(msg) {\n              self.setRecvBuffer(msg);\n              clientCallback();\n           };\n         }()));\n      });\n      this.send_pending = [];\n   }\n};\n\nTWebSocketTransport.prototype.__onClose = function(evt) {\n  this.__reset(this.url);\n};\n\nTWebSocketTransport.prototype.__onMessage = function(evt) {\n  if (this.callbacks.length) {\n    this.callbacks.shift()(evt.data);\n  }\n};\n\nTWebSocketTransport.prototype.__onError = function(evt) {\n  log.error('websocket: ' + evt.toString());\n  this.socket.close();\n};\n\n/**\n * Sets the buffer to use when receiving server responses.\n * @param {string} buf - The buffer to receive server responses.\n */\nTWebSocketTransport.prototype.setRecvBuffer = function(buf) {\n  this.recv_buf = buf;\n  this.recv_buf_sz = this.recv_buf.length;\n  this.wpos = this.recv_buf.length;\n  this.rpos = 0;\n};\n\n/**\n * Returns true if the transport is open\n * @readonly\n * @returns {boolean}\n */\nTWebSocketTransport.prototype.isOpen = function() {\n  return this.socket && this.socket.readyState == this.socket.OPEN;\n};\n\n/**\n * Opens the transport connection\n */\nTWebSocketTransport.prototype.open = function() {\n  //If OPEN/CONNECTING/CLOSING ignore additional opens\n  if (this.socket && this.socket.readyState != this.socket.CLOSED) {\n    return;\n  }\n  //If there is no socket or the socket is closed:\n  this.socket = new WebSocket(this.url);\n  this.socket.onopen = this.__onOpen.bind(this);\n  this.socket.onmessage = this.__onMessage.bind(this);\n  this.socket.onerror = this.__onError.bind(this);\n  this.socket.onclose = this.__onClose.bind(this);\n};\n\n/**\n * Closes the transport connection\n */\nTWebSocketTransport.prototype.close = function() {\n  this.socket.close();\n};\n\n/**\n * Returns the specified number of characters from the response\n * buffer.\n * @param {number} len - The number of characters to return.\n * @returns {string} Characters sent by the server.\n */\nTWebSocketTransport.prototype.read = function(len) {\n  var avail = this.wpos - this.rpos;\n\n  if (avail === 0) {\n    return '';\n  }\n\n  var give = len;\n\n  if (avail < len) {\n    give = avail;\n  }\n\n  var ret = this.read_buf.substr(this.rpos, give);\n  this.rpos += give;\n\n  //clear buf when complete?\n  return ret;\n};\n\n/**\n * Returns the entire response buffer.\n * @returns {string} Characters sent by the server.\n */\nTWebSocketTransport.prototype.readAll = function() {\n  return this.recv_buf;\n};\n\n/**\n * Sets the send buffer to buf.\n * @param {string} buf - The buffer to send.\n */\nTWebSocketTransport.prototype.write = function(buf) {\n  this.send_buf = buf;\n};\n\n/**\n * Returns the send buffer.\n * @readonly\n * @returns {string} The send buffer.\n */\nTWebSocketTransport.prototype.getSendBuffer = function() {\n  return this.send_buf;\n};\n\n\n/***/ }),\n\n/***/ 4050:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n/* provided dependency */ var Buffer = __webpack_require__(8764)[\"Buffer\"];\n/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nvar util = __webpack_require__(9539);\nvar EventEmitter = __webpack_require__(7187).EventEmitter;\nvar thrift = __webpack_require__(5406);\n\nvar TBufferedTransport = __webpack_require__(8869);\nvar TJSONProtocol = __webpack_require__(5086);\nvar InputBufferUnderrunError = __webpack_require__(3590);\n\nvar createClient = __webpack_require__(6243);\n\nexports.XHRConnection = XHRConnection;\n\n/**\n * Constructor Function for the XHR Connection.\n * If you do not specify a host and port then XHRConnection will default to the\n * host and port of the page from which this javascript is served.\n * @constructor\n * @param {string} [url] - The URL to connect to.\n * @classdesc TXHRConnection objects provide Thrift end point transport\n *     semantics implemented using XHR.\n * @example\n *     var transport = new Thrift.TXHRConnection('localhost', 9099, {});\n */\nfunction XHRConnection(host, port, options) {\n  this.options = options || {};\n  this.wpos = 0;\n  this.rpos = 0;\n  this.useCORS = (options && options.useCORS);\n  this.send_buf = '';\n  this.recv_buf = '';\n  this.transport = options.transport || TBufferedTransport;\n  this.protocol = options.protocol || TJSONProtocol;\n  this.headers = options.headers || {};\n\n  host = host || window.location.host;\n  port = port || window.location.port;\n  var prefix = options.https ? 'https://' : 'http://';\n  var path = options.path || '/';\n\n  if (port === '') {\n    port = undefined;\n  }\n\n  if (!port || port === 80 || port === '80') {\n    this.url = prefix + host + path;\n  } else {\n    this.url = prefix + host + ':' + port + path;\n  }\n\n  //The sequence map is used to map seqIDs back to the\n  //  calling client in multiplexed scenarios\n  this.seqId2Service = {};\n};\n\nutil.inherits(XHRConnection, EventEmitter);\n\n/**\n* Gets the browser specific XmlHttpRequest Object.\n* @returns {object} the browser XHR interface object\n*/\nXHRConnection.prototype.getXmlHttpRequestObject = function() {\n  try { return new XMLHttpRequest(); } catch (e1) { }\n  try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e2) { }\n  try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e3) { }\n\n  throw \"Your browser doesn't support XHR.\";\n};\n\n/**\n * Sends the current XRH request if the transport was created with a URL\n * and the async parameter is false. If the transport was not created with\n * a URL, or the async parameter is True and no callback is provided, or\n * the URL is an empty string, the current send buffer is returned.\n * @param {object} async - If true the current send buffer is returned.\n * @param {object} callback - Optional async completion callback\n * @returns {undefined|string} Nothing or the current send buffer.\n * @throws {string} If XHR fails.\n */\nXHRConnection.prototype.flush = function() {\n  var self = this;\n  if (this.url === undefined || this.url === '') {\n    return this.send_buf;\n  }\n\n  var xreq = this.getXmlHttpRequestObject();\n\n  if (xreq.overrideMimeType) {\n    xreq.overrideMimeType('application/json');\n  }\n\n  xreq.onreadystatechange = function() {\n    if (this.readyState == 4 && this.status == 200) {\n      self.setRecvBuffer(this.responseText);\n    }\n  };\n\n  xreq.open('POST', this.url, true);\n\n  Object.keys(this.headers).forEach(function(headerKey) {\n    xreq.setRequestHeader(headerKey, self.headers[headerKey]);\n  });\n\n  xreq.send(this.send_buf);\n};\n\n/**\n * Sets the buffer to provide the protocol when deserializing.\n * @param {string} buf - The buffer to supply the protocol.\n */\nXHRConnection.prototype.setRecvBuffer = function(buf) {\n  this.recv_buf = buf;\n  this.recv_buf_sz = this.recv_buf.length;\n  this.wpos = this.recv_buf.length;\n  this.rpos = 0;\n\n  if (Object.prototype.toString.call(buf) == \"[object ArrayBuffer]\") {\n    var data = new Uint8Array(buf);\n  }\n  var thing = new Buffer(data || buf);\n\n  this.transport.receiver(this.__decodeCallback.bind(this))(thing);\n\n};\n\nXHRConnection.prototype.__decodeCallback = function(transport_with_data) {\n  var proto = new this.protocol(transport_with_data);\n  try {\n    while (true) {\n      var header = proto.readMessageBegin();\n      var dummy_seqid = header.rseqid * -1;\n      var client = this.client;\n      //The Multiplexed Protocol stores a hash of seqid to service names\n      //  in seqId2Service. If the SeqId is found in the hash we need to\n      //  lookup the appropriate client for this call.\n      //  The client var is a single client object when not multiplexing,\n      //  when using multiplexing it is a service name keyed hash of client\n      //  objects.\n      //NOTE: The 2 way interdependencies between protocols, transports,\n      //  connections and clients in the Node.js implementation are irregular\n      //  and make the implementation difficult to extend and maintain. We\n      //  should bring this stuff inline with typical thrift I/O stack\n      //  operation soon.\n      //  --ra\n      var service_name = this.seqId2Service[header.rseqid];\n      if (service_name) {\n        client = this.client[service_name];\n        delete this.seqId2Service[header.rseqid];\n      }\n      /*jshint -W083 */\n      client._reqs[dummy_seqid] = function(err, success) {\n        transport_with_data.commitPosition();\n        var clientCallback = client._reqs[header.rseqid];\n        delete client._reqs[header.rseqid];\n        if (clientCallback) {\n          clientCallback(err, success);\n        }\n      };\n      /*jshint +W083 */\n      if (client['recv_' + header.fname]) {\n        client['recv_' + header.fname](proto, header.mtype, dummy_seqid);\n      } else {\n        delete client._reqs[dummy_seqid];\n        this.emit(\"error\",\n          new thrift.TApplicationException(\n            thrift.TApplicationExceptionType.WRONG_METHOD_NAME,\n            \"Received a response to an unknown RPC function\"));\n      }\n    }\n  } catch (e) {\n    if (e instanceof InputBufferUnderrunError) {\n      transport_with_data.rollbackPosition();\n    } else {\n      throw e;\n    }\n  }\n};\n\n/**\n * Returns true if the transport is open, XHR always returns true.\n * @readonly\n * @returns {boolean} Always True.\n */\nXHRConnection.prototype.isOpen = function() {\n  return true;\n};\n\n/**\n * Opens the transport connection, with XHR this is a nop.\n */\nXHRConnection.prototype.open = function() {};\n\n/**\n * Closes the transport connection, with XHR this is a nop.\n */\nXHRConnection.prototype.close = function() {};\n\n/**\n * Returns the specified number of characters from the response\n * buffer.\n * @param {number} len - The number of characters to return.\n * @returns {string} Characters sent by the server.\n */\nXHRConnection.prototype.read = function(len) {\n  var avail = this.wpos - this.rpos;\n\n  if (avail === 0) {\n    return '';\n  }\n\n  var give = len;\n\n  if (avail < len) {\n    give = avail;\n  }\n\n  var ret = this.read_buf.substr(this.rpos, give);\n  this.rpos += give;\n\n  //clear buf when complete?\n  return ret;\n};\n\n/**\n * Returns the entire response buffer.\n * @returns {string} Characters sent by the server.\n */\nXHRConnection.prototype.readAll = function() {\n  return this.recv_buf;\n};\n\n/**\n * Sets the send buffer to buf.\n * @param {string} buf - The buffer to send.\n */\nXHRConnection.prototype.write = function(buf) {\n  this.send_buf = buf;\n  this.flush();\n};\n\n/**\n * Returns the send buffer.\n * @readonly\n * @returns {string} The send buffer.\n */\nXHRConnection.prototype.getSendBuffer = function() {\n  return this.send_buf;\n};\n\n/**\n * Creates a new TXHRTransport object, used by Thrift clients to connect\n *    to Thrift HTTP based servers.\n * @param {string} host - The host name or IP to connect to.\n * @param {number} port - The TCP port to connect to.\n * @param {XHRConnectOptions} options - The configuration options to use.\n * @returns {XHRConnection} The connection object.\n * @see {@link XHRConnectOptions}\n */\nexports.createXHRConnection = function(host, port, options) {\n  return new XHRConnection(host, port, options);\n};\n\nexports.createXHRClient = createClient;\n\n\n/***/ }),\n\n/***/ 2511:\n/***/ (function(module, exports, __webpack_require__) {\n\n/* module decorator */ module = __webpack_require__.nmd(module);\nvar __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports =  true && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule =  true && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t    counter = 0,\n\t\t    length = string.length,\n\t\t    value,\n\t\t    extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t//  0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t    inputLength = input.length,\n\t\t    out,\n\t\t    i = 0,\n\t\t    n = initialN,\n\t\t    bias = initialBias,\n\t\t    basic,\n\t\t    j,\n\t\t    index,\n\t\t    oldi,\n\t\t    w,\n\t\t    k,\n\t\t    digit,\n\t\t    t,\n\t\t    /** Cached calculation results */\n\t\t    baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t    delta,\n\t\t    handledCPCount,\n\t\t    basicLength,\n\t\t    bias,\n\t\t    j,\n\t\t    m,\n\t\t    q,\n\t\t    k,\n\t\t    t,\n\t\t    currentValue,\n\t\t    output = [],\n\t\t    /** `inputLength` will hold the number of code points in `input`. */\n\t\t    inputLength,\n\t\t    /** Cached calculation results */\n\t\t    handledCPCountPlusOne,\n\t\t    baseMinusT,\n\t\t    qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttrue\n\t) {\n\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n\t\t\treturn punycode;\n\t\t}).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n\n}(this));\n\n\n/***/ }),\n\n/***/ 8575:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\nvar __webpack_unused_export__;\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar punycode = __webpack_require__(2511);\nvar util = __webpack_require__(2502);\n\nexports.Qc = urlParse;\n__webpack_unused_export__ = urlResolve;\n__webpack_unused_export__ = urlResolveObject;\n__webpack_unused_export__ = urlFormat;\n\n__webpack_unused_export__ = Url;\n\nfunction Url() {\n  this.protocol = null;\n  this.slashes = null;\n  this.auth = null;\n  this.host = null;\n  this.port = null;\n  this.hostname = null;\n  this.hash = null;\n  this.search = null;\n  this.query = null;\n  this.pathname = null;\n  this.path = null;\n  this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n    portPattern = /:[0-9]*$/,\n\n    // Special case for a simple path URL\n    simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n    // RFC 2396: characters reserved for delimiting URLs.\n    // We actually just auto-escape these.\n    delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n    // RFC 2396: characters not allowed for various reasons.\n    unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n    // Allowed by RFCs, but cause of XSS attacks.  Always escape these.\n    autoEscape = ['\\''].concat(unwise),\n    // Characters that are never ever allowed in a hostname.\n    // Note that any invalid chars are also handled, but these\n    // are the ones that are *expected* to be seen, so we fast-path\n    // them.\n    nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n    hostEndingChars = ['/', '?', '#'],\n    hostnameMaxLen = 255,\n    hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n    hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n    // protocols that can allow \"unsafe\" and \"unwise\" chars.\n    unsafeProtocol = {\n      'javascript': true,\n      'javascript:': true\n    },\n    // protocols that never have a hostname.\n    hostlessProtocol = {\n      'javascript': true,\n      'javascript:': true\n    },\n    // protocols that always contain a // bit.\n    slashedProtocol = {\n      'http': true,\n      'https': true,\n      'ftp': true,\n      'gopher': true,\n      'file': true,\n      'http:': true,\n      'https:': true,\n      'ftp:': true,\n      'gopher:': true,\n      'file:': true\n    },\n    querystring = __webpack_require__(7673);\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n  if (url && util.isObject(url) && url instanceof Url) return url;\n\n  var u = new Url;\n  u.parse(url, parseQueryString, slashesDenoteHost);\n  return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n  if (!util.isString(url)) {\n    throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n  }\n\n  // Copy chrome, IE, opera backslash-handling behavior.\n  // Back slashes before the query string get converted to forward slashes\n  // See: https://code.google.com/p/chromium/issues/detail?id=25916\n  var queryIndex = url.indexOf('?'),\n      splitter =\n          (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n      uSplit = url.split(splitter),\n      slashRegex = /\\\\/g;\n  uSplit[0] = uSplit[0].replace(slashRegex, '/');\n  url = uSplit.join(splitter);\n\n  var rest = url;\n\n  // trim before proceeding.\n  // This is to support parse stuff like \"  http://foo.com  \\n\"\n  rest = rest.trim();\n\n  if (!slashesDenoteHost && url.split('#').length === 1) {\n    // Try fast path regexp\n    var simplePath = simplePathPattern.exec(rest);\n    if (simplePath) {\n      this.path = rest;\n      this.href = rest;\n      this.pathname = simplePath[1];\n      if (simplePath[2]) {\n        this.search = simplePath[2];\n        if (parseQueryString) {\n          this.query = querystring.parse(this.search.substr(1));\n        } else {\n          this.query = this.search.substr(1);\n        }\n      } else if (parseQueryString) {\n        this.search = '';\n        this.query = {};\n      }\n      return this;\n    }\n  }\n\n  var proto = protocolPattern.exec(rest);\n  if (proto) {\n    proto = proto[0];\n    var lowerProto = proto.toLowerCase();\n    this.protocol = lowerProto;\n    rest = rest.substr(proto.length);\n  }\n\n  // figure out if it's got a host\n  // user@server is *always* interpreted as a hostname, and url\n  // resolution will treat //foo/bar as host=foo,path=bar because that's\n  // how the browser resolves relative URLs.\n  if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n    var slashes = rest.substr(0, 2) === '//';\n    if (slashes && !(proto && hostlessProtocol[proto])) {\n      rest = rest.substr(2);\n      this.slashes = true;\n    }\n  }\n\n  if (!hostlessProtocol[proto] &&\n      (slashes || (proto && !slashedProtocol[proto]))) {\n\n    // there's a hostname.\n    // the first instance of /, ?, ;, or # ends the host.\n    //\n    // If there is an @ in the hostname, then non-host chars *are* allowed\n    // to the left of the last @ sign, unless some host-ending character\n    // comes *before* the @-sign.\n    // URLs are obnoxious.\n    //\n    // ex:\n    // http://a@b@c/ => user:a@b host:c\n    // http://a@b?@c => user:a host:c path:/?@c\n\n    // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n    // Review our test case against browsers more comprehensively.\n\n    // find the first instance of any hostEndingChars\n    var hostEnd = -1;\n    for (var i = 0; i < hostEndingChars.length; i++) {\n      var hec = rest.indexOf(hostEndingChars[i]);\n      if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n        hostEnd = hec;\n    }\n\n    // at this point, either we have an explicit point where the\n    // auth portion cannot go past, or the last @ char is the decider.\n    var auth, atSign;\n    if (hostEnd === -1) {\n      // atSign can be anywhere.\n      atSign = rest.lastIndexOf('@');\n    } else {\n      // atSign must be in auth portion.\n      // http://a@b/c@d => host:b auth:a path:/c@d\n      atSign = rest.lastIndexOf('@', hostEnd);\n    }\n\n    // Now we have a portion which is definitely the auth.\n    // Pull that off.\n    if (atSign !== -1) {\n      auth = rest.slice(0, atSign);\n      rest = rest.slice(atSign + 1);\n      this.auth = decodeURIComponent(auth);\n    }\n\n    // the host is the remaining to the left of the first non-host char\n    hostEnd = -1;\n    for (var i = 0; i < nonHostChars.length; i++) {\n      var hec = rest.indexOf(nonHostChars[i]);\n      if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n        hostEnd = hec;\n    }\n    // if we still have not hit it, then the entire thing is a host.\n    if (hostEnd === -1)\n      hostEnd = rest.length;\n\n    this.host = rest.slice(0, hostEnd);\n    rest = rest.slice(hostEnd);\n\n    // pull out port.\n    this.parseHost();\n\n    // we've indicated that there is a hostname,\n    // so even if it's empty, it has to be present.\n    this.hostname = this.hostname || '';\n\n    // if hostname begins with [ and ends with ]\n    // assume that it's an IPv6 address.\n    var ipv6Hostname = this.hostname[0] === '[' &&\n        this.hostname[this.hostname.length - 1] === ']';\n\n    // validate a little.\n    if (!ipv6Hostname) {\n      var hostparts = this.hostname.split(/\\./);\n      for (var i = 0, l = hostparts.length; i < l; i++) {\n        var part = hostparts[i];\n        if (!part) continue;\n        if (!part.match(hostnamePartPattern)) {\n          var newpart = '';\n          for (var j = 0, k = part.length; j < k; j++) {\n            if (part.charCodeAt(j) > 127) {\n              // we replace non-ASCII char with a temporary placeholder\n              // we need this to make sure size of hostname is not\n              // broken by replacing non-ASCII by nothing\n              newpart += 'x';\n            } else {\n              newpart += part[j];\n            }\n          }\n          // we test again with ASCII char only\n          if (!newpart.match(hostnamePartPattern)) {\n            var validParts = hostparts.slice(0, i);\n            var notHost = hostparts.slice(i + 1);\n            var bit = part.match(hostnamePartStart);\n            if (bit) {\n              validParts.push(bit[1]);\n              notHost.unshift(bit[2]);\n            }\n            if (notHost.length) {\n              rest = '/' + notHost.join('.') + rest;\n            }\n            this.hostname = validParts.join('.');\n            break;\n          }\n        }\n      }\n    }\n\n    if (this.hostname.length > hostnameMaxLen) {\n      this.hostname = '';\n    } else {\n      // hostnames are always lower case.\n      this.hostname = this.hostname.toLowerCase();\n    }\n\n    if (!ipv6Hostname) {\n      // IDNA Support: Returns a punycoded representation of \"domain\".\n      // It only converts parts of the domain name that\n      // have non-ASCII characters, i.e. it doesn't matter if\n      // you call it with a domain that already is ASCII-only.\n      this.hostname = punycode.toASCII(this.hostname);\n    }\n\n    var p = this.port ? ':' + this.port : '';\n    var h = this.hostname || '';\n    this.host = h + p;\n    this.href += this.host;\n\n    // strip [ and ] from the hostname\n    // the host field still retains them, though\n    if (ipv6Hostname) {\n      this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n      if (rest[0] !== '/') {\n        rest = '/' + rest;\n      }\n    }\n  }\n\n  // now rest is set to the post-host stuff.\n  // chop off any delim chars.\n  if (!unsafeProtocol[lowerProto]) {\n\n    // First, make 100% sure that any \"autoEscape\" chars get\n    // escaped, even if encodeURIComponent doesn't think they\n    // need to be.\n    for (var i = 0, l = autoEscape.length; i < l; i++) {\n      var ae = autoEscape[i];\n      if (rest.indexOf(ae) === -1)\n        continue;\n      var esc = encodeURIComponent(ae);\n      if (esc === ae) {\n        esc = escape(ae);\n      }\n      rest = rest.split(ae).join(esc);\n    }\n  }\n\n\n  // chop off from the tail first.\n  var hash = rest.indexOf('#');\n  if (hash !== -1) {\n    // got a fragment string.\n    this.hash = rest.substr(hash);\n    rest = rest.slice(0, hash);\n  }\n  var qm = rest.indexOf('?');\n  if (qm !== -1) {\n    this.search = rest.substr(qm);\n    this.query = rest.substr(qm + 1);\n    if (parseQueryString) {\n      this.query = querystring.parse(this.query);\n    }\n    rest = rest.slice(0, qm);\n  } else if (parseQueryString) {\n    // no query string, but parseQueryString still requested\n    this.search = '';\n    this.query = {};\n  }\n  if (rest) this.pathname = rest;\n  if (slashedProtocol[lowerProto] &&\n      this.hostname && !this.pathname) {\n    this.pathname = '/';\n  }\n\n  //to support http.request\n  if (this.pathname || this.search) {\n    var p = this.pathname || '';\n    var s = this.search || '';\n    this.path = p + s;\n  }\n\n  // finally, reconstruct the href based on what has been validated.\n  this.href = this.format();\n  return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n  // ensure it's an object, and not a string url.\n  // If it's an obj, this is a no-op.\n  // this way, you can call url_format() on strings\n  // to clean up potentially wonky urls.\n  if (util.isString(obj)) obj = urlParse(obj);\n  if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n  return obj.format();\n}\n\nUrl.prototype.format = function() {\n  var auth = this.auth || '';\n  if (auth) {\n    auth = encodeURIComponent(auth);\n    auth = auth.replace(/%3A/i, ':');\n    auth += '@';\n  }\n\n  var protocol = this.protocol || '',\n      pathname = this.pathname || '',\n      hash = this.hash || '',\n      host = false,\n      query = '';\n\n  if (this.host) {\n    host = auth + this.host;\n  } else if (this.hostname) {\n    host = auth + (this.hostname.indexOf(':') === -1 ?\n        this.hostname :\n        '[' + this.hostname + ']');\n    if (this.port) {\n      host += ':' + this.port;\n    }\n  }\n\n  if (this.query &&\n      util.isObject(this.query) &&\n      Object.keys(this.query).length) {\n    query = querystring.stringify(this.query);\n  }\n\n  var search = this.search || (query && ('?' + query)) || '';\n\n  if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n  // only the slashedProtocols get the //.  Not mailto:, xmpp:, etc.\n  // unless they had them to begin with.\n  if (this.slashes ||\n      (!protocol || slashedProtocol[protocol]) && host !== false) {\n    host = '//' + (host || '');\n    if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n  } else if (!host) {\n    host = '';\n  }\n\n  if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n  if (search && search.charAt(0) !== '?') search = '?' + search;\n\n  pathname = pathname.replace(/[?#]/g, function(match) {\n    return encodeURIComponent(match);\n  });\n  search = search.replace('#', '%23');\n\n  return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n  return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n  return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n  if (!source) return relative;\n  return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n  if (util.isString(relative)) {\n    var rel = new Url();\n    rel.parse(relative, false, true);\n    relative = rel;\n  }\n\n  var result = new Url();\n  var tkeys = Object.keys(this);\n  for (var tk = 0; tk < tkeys.length; tk++) {\n    var tkey = tkeys[tk];\n    result[tkey] = this[tkey];\n  }\n\n  // hash is always overridden, no matter what.\n  // even href=\"\" will remove it.\n  result.hash = relative.hash;\n\n  // if the relative url is empty, then there's nothing left to do here.\n  if (relative.href === '') {\n    result.href = result.format();\n    return result;\n  }\n\n  // hrefs like //foo/bar always cut to the protocol.\n  if (relative.slashes && !relative.protocol) {\n    // take everything except the protocol from relative\n    var rkeys = Object.keys(relative);\n    for (var rk = 0; rk < rkeys.length; rk++) {\n      var rkey = rkeys[rk];\n      if (rkey !== 'protocol')\n        result[rkey] = relative[rkey];\n    }\n\n    //urlParse appends trailing / to urls like http://www.example.com\n    if (slashedProtocol[result.protocol] &&\n        result.hostname && !result.pathname) {\n      result.path = result.pathname = '/';\n    }\n\n    result.href = result.format();\n    return result;\n  }\n\n  if (relative.protocol && relative.protocol !== result.protocol) {\n    // if it's a known url protocol, then changing\n    // the protocol does weird things\n    // first, if it's not file:, then we MUST have a host,\n    // and if there was a path\n    // to begin with, then we MUST have a path.\n    // if it is file:, then the host is dropped,\n    // because that's known to be hostless.\n    // anything else is assumed to be absolute.\n    if (!slashedProtocol[relative.protocol]) {\n      var keys = Object.keys(relative);\n      for (var v = 0; v < keys.length; v++) {\n        var k = keys[v];\n        result[k] = relative[k];\n      }\n      result.href = result.format();\n      return result;\n    }\n\n    result.protocol = relative.protocol;\n    if (!relative.host && !hostlessProtocol[relative.protocol]) {\n      var relPath = (relative.pathname || '').split('/');\n      while (relPath.length && !(relative.host = relPath.shift()));\n      if (!relative.host) relative.host = '';\n      if (!relative.hostname) relative.hostname = '';\n      if (relPath[0] !== '') relPath.unshift('');\n      if (relPath.length < 2) relPath.unshift('');\n      result.pathname = relPath.join('/');\n    } else {\n      result.pathname = relative.pathname;\n    }\n    result.search = relative.search;\n    result.query = relative.query;\n    result.host = relative.host || '';\n    result.auth = relative.auth;\n    result.hostname = relative.hostname || relative.host;\n    result.port = relative.port;\n    // to support http.request\n    if (result.pathname || result.search) {\n      var p = result.pathname || '';\n      var s = result.search || '';\n      result.path = p + s;\n    }\n    result.slashes = result.slashes || relative.slashes;\n    result.href = result.format();\n    return result;\n  }\n\n  var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n      isRelAbs = (\n          relative.host ||\n          relative.pathname && relative.pathname.charAt(0) === '/'\n      ),\n      mustEndAbs = (isRelAbs || isSourceAbs ||\n                    (result.host && relative.pathname)),\n      removeAllDots = mustEndAbs,\n      srcPath = result.pathname && result.pathname.split('/') || [],\n      relPath = relative.pathname && relative.pathname.split('/') || [],\n      psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n  // if the url is a non-slashed url, then relative\n  // links like ../.. should be able\n  // to crawl up to the hostname, as well.  This is strange.\n  // result.protocol has already been set by now.\n  // Later on, put the first path part into the host field.\n  if (psychotic) {\n    result.hostname = '';\n    result.port = null;\n    if (result.host) {\n      if (srcPath[0] === '') srcPath[0] = result.host;\n      else srcPath.unshift(result.host);\n    }\n    result.host = '';\n    if (relative.protocol) {\n      relative.hostname = null;\n      relative.port = null;\n      if (relative.host) {\n        if (relPath[0] === '') relPath[0] = relative.host;\n        else relPath.unshift(relative.host);\n      }\n      relative.host = null;\n    }\n    mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n  }\n\n  if (isRelAbs) {\n    // it's absolute.\n    result.host = (relative.host || relative.host === '') ?\n                  relative.host : result.host;\n    result.hostname = (relative.hostname || relative.hostname === '') ?\n                      relative.hostname : result.hostname;\n    result.search = relative.search;\n    result.query = relative.query;\n    srcPath = relPath;\n    // fall through to the dot-handling below.\n  } else if (relPath.length) {\n    // it's relative\n    // throw away the existing file, and take the new path instead.\n    if (!srcPath) srcPath = [];\n    srcPath.pop();\n    srcPath = srcPath.concat(relPath);\n    result.search = relative.search;\n    result.query = relative.query;\n  } else if (!util.isNullOrUndefined(relative.search)) {\n    // just pull out the search.\n    // like href='?foo'.\n    // Put this after the other two cases because it simplifies the booleans\n    if (psychotic) {\n      result.hostname = result.host = srcPath.shift();\n      //occationaly the auth can get stuck only in host\n      //this especially happens in cases like\n      //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n      var authInHost = result.host && result.host.indexOf('@') > 0 ?\n                       result.host.split('@') : false;\n      if (authInHost) {\n        result.auth = authInHost.shift();\n        result.host = result.hostname = authInHost.shift();\n      }\n    }\n    result.search = relative.search;\n    result.query = relative.query;\n    //to support http.request\n    if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n      result.path = (result.pathname ? result.pathname : '') +\n                    (result.search ? result.search : '');\n    }\n    result.href = result.format();\n    return result;\n  }\n\n  if (!srcPath.length) {\n    // no path at all.  easy.\n    // we've already handled the other stuff above.\n    result.pathname = null;\n    //to support http.request\n    if (result.search) {\n      result.path = '/' + result.search;\n    } else {\n      result.path = null;\n    }\n    result.href = result.format();\n    return result;\n  }\n\n  // if a url ENDs in . or .., then it must get a trailing slash.\n  // however, if it ends in anything else non-slashy,\n  // then it must NOT get a trailing slash.\n  var last = srcPath.slice(-1)[0];\n  var hasTrailingSlash = (\n      (result.host || relative.host || srcPath.length > 1) &&\n      (last === '.' || last === '..') || last === '');\n\n  // strip single dots, resolve double dots to parent dir\n  // if the path tries to go above the root, `up` ends up > 0\n  var up = 0;\n  for (var i = srcPath.length; i >= 0; i--) {\n    last = srcPath[i];\n    if (last === '.') {\n      srcPath.splice(i, 1);\n    } else if (last === '..') {\n      srcPath.splice(i, 1);\n      up++;\n    } else if (up) {\n      srcPath.splice(i, 1);\n      up--;\n    }\n  }\n\n  // if the path is allowed to go above the root, restore leading ..s\n  if (!mustEndAbs && !removeAllDots) {\n    for (; up--; up) {\n      srcPath.unshift('..');\n    }\n  }\n\n  if (mustEndAbs && srcPath[0] !== '' &&\n      (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n    srcPath.unshift('');\n  }\n\n  if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n    srcPath.push('');\n  }\n\n  var isAbsolute = srcPath[0] === '' ||\n      (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n  // put the host back\n  if (psychotic) {\n    result.hostname = result.host = isAbsolute ? '' :\n                                    srcPath.length ? srcPath.shift() : '';\n    //occationaly the auth can get stuck only in host\n    //this especially happens in cases like\n    //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n    var authInHost = result.host && result.host.indexOf('@') > 0 ?\n                     result.host.split('@') : false;\n    if (authInHost) {\n      result.auth = authInHost.shift();\n      result.host = result.hostname = authInHost.shift();\n    }\n  }\n\n  mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n  if (mustEndAbs && !isAbsolute) {\n    srcPath.unshift('');\n  }\n\n  if (!srcPath.length) {\n    result.pathname = null;\n    result.path = null;\n  } else {\n    result.pathname = srcPath.join('/');\n  }\n\n  //to support request.http\n  if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n    result.path = (result.pathname ? result.pathname : '') +\n                  (result.search ? result.search : '');\n  }\n  result.auth = relative.auth || result.auth;\n  result.slashes = result.slashes || relative.slashes;\n  result.href = result.format();\n  return result;\n};\n\nUrl.prototype.parseHost = function() {\n  var host = this.host;\n  var port = portPattern.exec(host);\n  if (port) {\n    port = port[0];\n    if (port !== ':') {\n      this.port = port.substr(1);\n    }\n    host = host.substr(0, host.length - port.length);\n  }\n  if (host) this.hostname = host;\n};\n\n\n/***/ }),\n\n/***/ 2502:\n/***/ ((module) => {\n\n\"use strict\";\n\n\nmodule.exports = {\n  isString: function(arg) {\n    return typeof(arg) === 'string';\n  },\n  isObject: function(arg) {\n    return typeof(arg) === 'object' && arg !== null;\n  },\n  isNull: function(arg) {\n    return arg === null;\n  },\n  isNullOrUndefined: function(arg) {\n    return arg == null;\n  }\n};\n\n\n/***/ }),\n\n/***/ 384:\n/***/ ((module) => {\n\nmodule.exports = function isBuffer(arg) {\n  return arg && typeof arg === 'object'\n    && typeof arg.copy === 'function'\n    && typeof arg.fill === 'function'\n    && typeof arg.readUInt8 === 'function';\n}\n\n/***/ }),\n\n/***/ 5955:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n\n\nvar isArgumentsObject = __webpack_require__(2584);\nvar isGeneratorFunction = __webpack_require__(8662);\nvar whichTypedArray = __webpack_require__(6430);\nvar isTypedArray = __webpack_require__(5692);\n\nfunction uncurryThis(f) {\n  return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n  var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n  var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n  if (typeof value !== 'object') {\n    return false;\n  }\n  try {\n    prototypeValueOf(value);\n    return true;\n  } catch(e) {\n    return false;\n  }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n  if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n    return ArrayBuffer.isView(value);\n  }\n\n  return (\n    isTypedArray(value) ||\n    isDataView(value)\n  );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n  return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n  return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n  return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n  return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n  return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n  return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n  return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n  return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n  return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n  return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n  return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n  return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n  typeof Map !== 'undefined' &&\n  isMapToString(new Map())\n);\n\nfunction isMap(value) {\n  if (typeof Map === 'undefined') {\n    return false;\n  }\n\n  return isMapToString.working\n    ? isMapToString(value)\n    : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n  return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n  typeof Set !== 'undefined' &&\n  isSetToString(new Set())\n);\nfunction isSet(value) {\n  if (typeof Set === 'undefined') {\n    return false;\n  }\n\n  return isSetToString.working\n    ? isSetToString(value)\n    : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n  return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n  typeof WeakMap !== 'undefined' &&\n  isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n  if (typeof WeakMap === 'undefined') {\n    return false;\n  }\n\n  return isWeakMapToString.working\n    ? isWeakMapToString(value)\n    : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n  return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n  typeof WeakSet !== 'undefined' &&\n  isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n  return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n  return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n  typeof ArrayBuffer !== 'undefined' &&\n  isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n  if (typeof ArrayBuffer === 'undefined') {\n    return false;\n  }\n\n  return isArrayBufferToString.working\n    ? isArrayBufferToString(value)\n    : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n  return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n  typeof ArrayBuffer !== 'undefined' &&\n  typeof DataView !== 'undefined' &&\n  isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n  if (typeof DataView === 'undefined') {\n    return false;\n  }\n\n  return isDataViewToString.working\n    ? isDataViewToString(value)\n    : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\nfunction isSharedArrayBufferToString(value) {\n  return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nisSharedArrayBufferToString.working = (\n  typeof SharedArrayBuffer !== 'undefined' &&\n  isSharedArrayBufferToString(new SharedArrayBuffer())\n);\nfunction isSharedArrayBuffer(value) {\n  if (typeof SharedArrayBuffer === 'undefined') {\n    return false;\n  }\n\n  return isSharedArrayBufferToString.working\n    ? isSharedArrayBufferToString(value)\n    : value instanceof SharedArrayBuffer;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n  return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n  return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n  return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n  return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n  return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n  return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n  return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n  return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n  return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n  return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n  return (\n    isNumberObject(value) ||\n    isStringObject(value) ||\n    isBooleanObject(value) ||\n    isBigIntObject(value) ||\n    isSymbolObject(value)\n  );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n  return typeof Uint8Array !== 'undefined' && (\n    isArrayBuffer(value) ||\n    isSharedArrayBuffer(value)\n  );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n  Object.defineProperty(exports, method, {\n    enumerable: false,\n    value: function() {\n      throw new Error(method + ' is not supported in userland');\n    }\n  });\n});\n\n\n/***/ }),\n\n/***/ 9539:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n  function getOwnPropertyDescriptors(obj) {\n    var keys = Object.keys(obj);\n    var descriptors = {};\n    for (var i = 0; i < keys.length; i++) {\n      descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n    }\n    return descriptors;\n  };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n  if (!isString(f)) {\n    var objects = [];\n    for (var i = 0; i < arguments.length; i++) {\n      objects.push(inspect(arguments[i]));\n    }\n    return objects.join(' ');\n  }\n\n  var i = 1;\n  var args = arguments;\n  var len = args.length;\n  var str = String(f).replace(formatRegExp, function(x) {\n    if (x === '%%') return '%';\n    if (i >= len) return x;\n    switch (x) {\n      case '%s': return String(args[i++]);\n      case '%d': return Number(args[i++]);\n      case '%j':\n        try {\n          return JSON.stringify(args[i++]);\n        } catch (_) {\n          return '[Circular]';\n        }\n      default:\n        return x;\n    }\n  });\n  for (var x = args[i]; i < len; x = args[++i]) {\n    if (isNull(x) || !isObject(x)) {\n      str += ' ' + x;\n    } else {\n      str += ' ' + inspect(x);\n    }\n  }\n  return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n  if (typeof process !== 'undefined' && process.noDeprecation === true) {\n    return fn;\n  }\n\n  // Allow for deprecating things in the process of starting up.\n  if (typeof process === 'undefined') {\n    return function() {\n      return exports.deprecate(fn, msg).apply(this, arguments);\n    };\n  }\n\n  var warned = false;\n  function deprecated() {\n    if (!warned) {\n      if (process.throwDeprecation) {\n        throw new Error(msg);\n      } else if (process.traceDeprecation) {\n        console.trace(msg);\n      } else {\n        console.error(msg);\n      }\n      warned = true;\n    }\n    return fn.apply(this, arguments);\n  }\n\n  return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n  var debugEnv = process.env.NODE_DEBUG;\n  debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n    .replace(/\\*/g, '.*')\n    .replace(/,/g, '$|^')\n    .toUpperCase();\n  debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n  set = set.toUpperCase();\n  if (!debugs[set]) {\n    if (debugEnvRegex.test(set)) {\n      var pid = process.pid;\n      debugs[set] = function() {\n        var msg = exports.format.apply(exports, arguments);\n        console.error('%s %d: %s', set, pid, msg);\n      };\n    } else {\n      debugs[set] = function() {};\n    }\n  }\n  return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n  // default options\n  var ctx = {\n    seen: [],\n    stylize: stylizeNoColor\n  };\n  // legacy...\n  if (arguments.length >= 3) ctx.depth = arguments[2];\n  if (arguments.length >= 4) ctx.colors = arguments[3];\n  if (isBoolean(opts)) {\n    // legacy...\n    ctx.showHidden = opts;\n  } else if (opts) {\n    // got an \"options\" object\n    exports._extend(ctx, opts);\n  }\n  // set default options\n  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n  if (isUndefined(ctx.depth)) ctx.depth = 2;\n  if (isUndefined(ctx.colors)) ctx.colors = false;\n  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n  if (ctx.colors) ctx.stylize = stylizeWithColor;\n  return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n  'bold' : [1, 22],\n  'italic' : [3, 23],\n  'underline' : [4, 24],\n  'inverse' : [7, 27],\n  'white' : [37, 39],\n  'grey' : [90, 39],\n  'black' : [30, 39],\n  'blue' : [34, 39],\n  'cyan' : [36, 39],\n  'green' : [32, 39],\n  'magenta' : [35, 39],\n  'red' : [31, 39],\n  'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n  'special': 'cyan',\n  'number': 'yellow',\n  'boolean': 'yellow',\n  'undefined': 'grey',\n  'null': 'bold',\n  'string': 'green',\n  'date': 'magenta',\n  // \"name\": intentionally not styling\n  'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n  var style = inspect.styles[styleType];\n\n  if (style) {\n    return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n           '\\u001b[' + inspect.colors[style][1] + 'm';\n  } else {\n    return str;\n  }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n  return str;\n}\n\n\nfunction arrayToHash(array) {\n  var hash = {};\n\n  array.forEach(function(val, idx) {\n    hash[val] = true;\n  });\n\n  return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n  // Provide a hook for user-specified inspect functions.\n  // Check that value is an object with an inspect function on it\n  if (ctx.customInspect &&\n      value &&\n      isFunction(value.inspect) &&\n      // Filter out the util module, it's inspect function is special\n      value.inspect !== exports.inspect &&\n      // Also filter out any prototype objects using the circular check.\n      !(value.constructor && value.constructor.prototype === value)) {\n    var ret = value.inspect(recurseTimes, ctx);\n    if (!isString(ret)) {\n      ret = formatValue(ctx, ret, recurseTimes);\n    }\n    return ret;\n  }\n\n  // Primitive types cannot have properties\n  var primitive = formatPrimitive(ctx, value);\n  if (primitive) {\n    return primitive;\n  }\n\n  // Look up the keys of the object.\n  var keys = Object.keys(value);\n  var visibleKeys = arrayToHash(keys);\n\n  if (ctx.showHidden) {\n    keys = Object.getOwnPropertyNames(value);\n  }\n\n  // IE doesn't make error fields non-enumerable\n  // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n  if (isError(value)\n      && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n    return formatError(value);\n  }\n\n  // Some type of object without properties can be shortcutted.\n  if (keys.length === 0) {\n    if (isFunction(value)) {\n      var name = value.name ? ': ' + value.name : '';\n      return ctx.stylize('[Function' + name + ']', 'special');\n    }\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    }\n    if (isDate(value)) {\n      return ctx.stylize(Date.prototype.toString.call(value), 'date');\n    }\n    if (isError(value)) {\n      return formatError(value);\n    }\n  }\n\n  var base = '', array = false, braces = ['{', '}'];\n\n  // Make Array say that they are Array\n  if (isArray(value)) {\n    array = true;\n    braces = ['[', ']'];\n  }\n\n  // Make functions say that they are functions\n  if (isFunction(value)) {\n    var n = value.name ? ': ' + value.name : '';\n    base = ' [Function' + n + ']';\n  }\n\n  // Make RegExps say that they are RegExps\n  if (isRegExp(value)) {\n    base = ' ' + RegExp.prototype.toString.call(value);\n  }\n\n  // Make dates with properties first say the date\n  if (isDate(value)) {\n    base = ' ' + Date.prototype.toUTCString.call(value);\n  }\n\n  // Make error with message first say the error\n  if (isError(value)) {\n    base = ' ' + formatError(value);\n  }\n\n  if (keys.length === 0 && (!array || value.length == 0)) {\n    return braces[0] + base + braces[1];\n  }\n\n  if (recurseTimes < 0) {\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    } else {\n      return ctx.stylize('[Object]', 'special');\n    }\n  }\n\n  ctx.seen.push(value);\n\n  var output;\n  if (array) {\n    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n  } else {\n    output = keys.map(function(key) {\n      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n    });\n  }\n\n  ctx.seen.pop();\n\n  return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n  if (isUndefined(value))\n    return ctx.stylize('undefined', 'undefined');\n  if (isString(value)) {\n    var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n                                             .replace(/'/g, \"\\\\'\")\n                                             .replace(/\\\\\"/g, '\"') + '\\'';\n    return ctx.stylize(simple, 'string');\n  }\n  if (isNumber(value))\n    return ctx.stylize('' + value, 'number');\n  if (isBoolean(value))\n    return ctx.stylize('' + value, 'boolean');\n  // For some reason typeof null is \"object\", so special case here.\n  if (isNull(value))\n    return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n  return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n  var output = [];\n  for (var i = 0, l = value.length; i < l; ++i) {\n    if (hasOwnProperty(value, String(i))) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          String(i), true));\n    } else {\n      output.push('');\n    }\n  }\n  keys.forEach(function(key) {\n    if (!key.match(/^\\d+$/)) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          key, true));\n    }\n  });\n  return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n  var name, str, desc;\n  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n  if (desc.get) {\n    if (desc.set) {\n      str = ctx.stylize('[Getter/Setter]', 'special');\n    } else {\n      str = ctx.stylize('[Getter]', 'special');\n    }\n  } else {\n    if (desc.set) {\n      str = ctx.stylize('[Setter]', 'special');\n    }\n  }\n  if (!hasOwnProperty(visibleKeys, key)) {\n    name = '[' + key + ']';\n  }\n  if (!str) {\n    if (ctx.seen.indexOf(desc.value) < 0) {\n      if (isNull(recurseTimes)) {\n        str = formatValue(ctx, desc.value, null);\n      } else {\n        str = formatValue(ctx, desc.value, recurseTimes - 1);\n      }\n      if (str.indexOf('\\n') > -1) {\n        if (array) {\n          str = str.split('\\n').map(function(line) {\n            return '  ' + line;\n          }).join('\\n').substr(2);\n        } else {\n          str = '\\n' + str.split('\\n').map(function(line) {\n            return '   ' + line;\n          }).join('\\n');\n        }\n      }\n    } else {\n      str = ctx.stylize('[Circular]', 'special');\n    }\n  }\n  if (isUndefined(name)) {\n    if (array && key.match(/^\\d+$/)) {\n      return str;\n    }\n    name = JSON.stringify('' + key);\n    if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n      name = name.substr(1, name.length - 2);\n      name = ctx.stylize(name, 'name');\n    } else {\n      name = name.replace(/'/g, \"\\\\'\")\n                 .replace(/\\\\\"/g, '\"')\n                 .replace(/(^\"|\"$)/g, \"'\");\n      name = ctx.stylize(name, 'string');\n    }\n  }\n\n  return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n  var numLinesEst = 0;\n  var length = output.reduce(function(prev, cur) {\n    numLinesEst++;\n    if (cur.indexOf('\\n') >= 0) numLinesEst++;\n    return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n  }, 0);\n\n  if (length > 60) {\n    return braces[0] +\n           (base === '' ? '' : base + '\\n ') +\n           ' ' +\n           output.join(',\\n  ') +\n           ' ' +\n           braces[1];\n  }\n\n  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = __webpack_require__(5955);\n\nfunction isArray(ar) {\n  return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n  return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n  return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n  return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n  return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n  return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n  return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n  return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n  return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n  return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n  return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n  return isObject(e) &&\n      (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n  return arg === null ||\n         typeof arg === 'boolean' ||\n         typeof arg === 'number' ||\n         typeof arg === 'string' ||\n         typeof arg === 'symbol' ||  // ES6 symbol\n         typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = __webpack_require__(384);\n\nfunction objectToString(o) {\n  return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n  return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n              'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n  var d = new Date();\n  var time = [pad(d.getHours()),\n              pad(d.getMinutes()),\n              pad(d.getSeconds())].join(':');\n  return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n *     prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = __webpack_require__(5717);\n\nexports._extend = function(origin, add) {\n  // Don't do anything if add isn't an object\n  if (!add || !isObject(add)) return origin;\n\n  var keys = Object.keys(add);\n  var i = keys.length;\n  while (i--) {\n    origin[keys[i]] = add[keys[i]];\n  }\n  return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n  if (typeof original !== 'function')\n    throw new TypeError('The \"original\" argument must be of type Function');\n\n  if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n    var fn = original[kCustomPromisifiedSymbol];\n    if (typeof fn !== 'function') {\n      throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n    }\n    Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n      value: fn, enumerable: false, writable: false, configurable: true\n    });\n    return fn;\n  }\n\n  function fn() {\n    var promiseResolve, promiseReject;\n    var promise = new Promise(function (resolve, reject) {\n      promiseResolve = resolve;\n      promiseReject = reject;\n    });\n\n    var args = [];\n    for (var i = 0; i < arguments.length; i++) {\n      args.push(arguments[i]);\n    }\n    args.push(function (err, value) {\n      if (err) {\n        promiseReject(err);\n      } else {\n        promiseResolve(value);\n      }\n    });\n\n    try {\n      original.apply(this, args);\n    } catch (err) {\n      promiseReject(err);\n    }\n\n    return promise;\n  }\n\n  Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n  if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n    value: fn, enumerable: false, writable: false, configurable: true\n  });\n  return Object.defineProperties(\n    fn,\n    getOwnPropertyDescriptors(original)\n  );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n  // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n  // Because `null` is a special error value in callbacks which means \"no error\n  // occurred\", we error-wrap so the callback consumer can distinguish between\n  // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n  if (!reason) {\n    var newReason = new Error('Promise was rejected with a falsy value');\n    newReason.reason = reason;\n    reason = newReason;\n  }\n  return cb(reason);\n}\n\nfunction callbackify(original) {\n  if (typeof original !== 'function') {\n    throw new TypeError('The \"original\" argument must be of type Function');\n  }\n\n  // We DO NOT return the promise as it gives the user a false sense that\n  // the promise is actually somehow related to the callback's execution\n  // and that the callback throwing will reject the promise.\n  function callbackified() {\n    var args = [];\n    for (var i = 0; i < arguments.length; i++) {\n      args.push(arguments[i]);\n    }\n\n    var maybeCb = args.pop();\n    if (typeof maybeCb !== 'function') {\n      throw new TypeError('The last argument must be of type Function');\n    }\n    var self = this;\n    var cb = function() {\n      return maybeCb.apply(self, arguments);\n    };\n    // In true node style we process the callback on `nextTick` with all the\n    // implications (stack, `uncaughtException`, `async_hooks`)\n    original.apply(this, args)\n      .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n            function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n  }\n\n  Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n  Object.defineProperties(callbackified,\n                          getOwnPropertyDescriptors(original));\n  return callbackified;\n}\nexports.callbackify = callbackify;\n\n\n/***/ }),\n\n/***/ 6430:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar forEach = __webpack_require__(9804);\nvar availableTypedArrays = __webpack_require__(6314);\nvar callBound = __webpack_require__(8914);\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasSymbols = __webpack_require__(1405)();\nvar hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';\n\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = __webpack_require__(4079);\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof __webpack_require__.g[typedArray] === 'function') {\n\t\t\tvar arr = new __webpack_require__.g[typedArray]();\n\t\t\tif (!(Symbol.toStringTag in arr)) {\n\t\t\t\tthrow new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.');\n\t\t\t}\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = __webpack_require__(5692);\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n\n\n/***/ }),\n\n/***/ 2003:\n/***/ ((module) => {\n\n\"use strict\";\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__2003__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => module['default'] :\n/******/ \t\t\t\t() => module;\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/global */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.g = (function() {\n/******/ \t\t\tif (typeof globalThis === 'object') return globalThis;\n/******/ \t\t\ttry {\n/******/ \t\t\t\treturn this || new Function('return this')();\n/******/ \t\t\t} catch (e) {\n/******/ \t\t\t\tif (typeof window === 'object') return window;\n/******/ \t\t\t}\n/******/ \t\t})();\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/node module decorator */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.nmd = (module) => {\n/******/ \t\t\tmodule.paths = [];\n/******/ \t\t\tif (!module.children) module.children = [];\n/******/ \t\t\treturn module;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t__webpack_require__(9970);\n/******/ \t__webpack_require__(9653);\n/******/ \t__webpack_require__(6942);\n/******/ \t__webpack_require__(3906);\n/******/ \t__webpack_require__(8618);\n/******/ \t__webpack_require__(254);\n/******/ \treturn __webpack_require__(8823);\n/******/ })()\n.default;\n});"]}