e72895c4c3382c53b529e3de379f5dd67420c708
[motion2.git] / server / services / ami / trigger / integration / sugarcrm.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x8101=['value','Agent\x20found!','resolve','Agent\x20not\x20found,\x20using\x20the\x20admin\x20account!','user_id','Searching\x20enduser\x20with\x20phone','format','phone_home','Enduser\x20found!','Enduser\x20not\x20found,\x20creating\x20a\x20new\x20enduser!','<unknown>','Caller\x20-\x20%s','Enduser\x20created.','debug','[HTTP]','merge','map','forEach','type','string','nameField','customField','toLowerCase','content','custom_fields','variable','customVariable','Variable','login','username','password','PLAIN','sessionID','Account\x20%d\x20is\x20not\x20valid','set_relationship','queue','remoteUri','serverUrl','stripTrailingSlash','%s/service/v4_1/rest.php','monitor_format','Recording\x20is\x20enabled!','uniqueid','recordingURL','calleridname','calleridnum','The\x20Enduser\x20ID\x20is:','Fields','Inbound','Ticket\x20created!','users','contacts','version','charAt','%s/index.php?action=ajaxui#ajaxUILoc=index.php%3Fmodule%3DCalls%26action%3DEditView%26record%3D%s','%s/#bwc/index.php?module=Calls&action=EditView&record=%s','[QUEUE]','Displaying\x20ticket\x20to\x20agent\x20in\x20a\x20new\x20tab...','user:%s','catch','error','recordingFormat','[OUTBOUND]','destcalleridname','Outbound','trigger:browser:url','unmanaged','uri','lastevent','toUpperCase','The\x20Ticket\x20ID\x20is:','lodash','request-promise','bluebird','md5','util','ioredis','./util','../../../../config/environment','../../../../config/logger','defaults','redis','socket.io-emitter','POST','emit','info','name','getString','Subjects','assigned_user_id','created_by','Descriptions','slice','duration_hours','duration_minutes','parent_id','parent_type','Contacts','parent_name','push','idField','variableName','set_entry','JSON','Calls','Basic\x20%s','apiKey','toString','base64','get_server_info','stringify','isNil','get_entry_list','Employees','INSTR\x20(\x20users.user_name,\x20\x22%s\x22)\x20>\x200','user_name','then','length','find','entry_list','name_value_list'];(function(_0x4ffe82,_0x162d5f){var _0x4b6169=function(_0x51c8f3){while(--_0x51c8f3){_0x4ffe82['push'](_0x4ffe82['shift']());}};_0x4b6169(++_0x162d5f);}(_0x8101,0xc0));var _0x1810=function(_0x171fdc,_0x16ae91){_0x171fdc=_0x171fdc-0x0;var _0x3782ea=_0x8101[_0x171fdc];return _0x3782ea;};'use strict';var _=require(_0x1810('0x0'));var rp=require(_0x1810('0x1'));var BPromise=require(_0x1810('0x2'));var md5=require(_0x1810('0x3'));var util=require(_0x1810('0x4'));var Redis=require(_0x1810('0x5'));var intUtil=require(_0x1810('0x6'));var config=require(_0x1810('0x7'));var logger=require(_0x1810('0x8'))('sugarcrm');config['redis']=_[_0x1810('0x9')](config[_0x1810('0xa')],{'host':'localhost','port':0x18eb});var io=require(_0x1810('0xb'))(new Redis(config[_0x1810('0xa')]));var def={'method':_0x1810('0xc'),'json':!![]};function emit(_0x33d690,_0x312a3c,_0x271738){io['to'](_0x33d690)[_0x1810('0xd')](_0x312a3c,_0x271738);}function getTicket(_0x2dde85,_0xaa4b05,_0x1e732c,_0x419324,_0x5126d2,_0x3a664b,_0x18bb2d,_0x4f4f4a){logger[_0x1810('0xe')]('Creating\x20new\x20ticket...');var _0x4ee397=new Date();var _0x3c8a9f=[{'name':_0x1810('0xf'),'value':intUtil[_0x1810('0x10')](_0x419324[_0x1810('0x11')],_0x5126d2,'\x20')},{'name':_0x1810('0x12'),'value':_0xaa4b05['id']},{'name':_0x1810('0x13'),'value':_0xaa4b05['id']},{'name':'description','value':intUtil[_0x1810('0x10')](_0x419324[_0x1810('0x14')],_0x5126d2,'\x0a')},{'name':'date_start','value':_0x4ee397['toISOString']()[_0x1810('0x15')](0x0,0x13)['replace']('T','\x20')},{'name':_0x1810('0x16'),'value':'0'},{'name':_0x1810('0x17'),'value':'15'},{'name':_0x1810('0x18'),'value':_0x1e732c['id']},{'name':_0x1810('0x19'),'value':_0x1810('0x1a')},{'name':_0x1810('0x1b'),'value':_0x1e732c[_0x1810('0xf')]},{'name':'direction','value':_0x4f4f4a}];if(_0x3a664b['length']){_['forEach'](_0x3a664b,function(_0x3491d8){if(_0x5126d2[_0x3491d8['variableName']]){_0x3c8a9f[_0x1810('0x1c')]({'name':_0x3491d8[_0x1810('0x1d')],'value':_0x5126d2[_0x3491d8[_0x1810('0x1e')]]});}});}return request({'form':{'method':_0x1810('0x1f'),'input_type':'JSON','response_type':_0x1810('0x20'),'rest_data':JSON['stringify']({'session':_0x18bb2d['id'],'module_name':_0x1810('0x21'),'name_value_list':_0x3c8a9f})}});}function getAuth(_0x116ea0){return util['format'](_0x1810('0x22'),new Buffer(_0x116ea0[_0x1810('0x23')]+':X')[_0x1810('0x24')](_0x1810('0x25')));}function getServerInfo(_0xe66600){return request({'form':{'method':_0x1810('0x26'),'input_type':'JSON','response_type':_0x1810('0x20'),'rest_data':JSON[_0x1810('0x27')]({'session':_0xe66600['id']})}});}function getUser(_0x254062,_0x77b5ed,_0x53ca63){if(!_[_0x1810('0x28')](_0x77b5ed)){logger['info']('Getting\x20agent\x20with\x20name',_0x77b5ed);return request({'form':{'method':_0x1810('0x29'),'input_type':_0x1810('0x20'),'response_type':_0x1810('0x20'),'rest_data':JSON[_0x1810('0x27')]({'session':_0x53ca63['id'],'module_name':_0x1810('0x2a'),'query':util['format'](_0x1810('0x2b'),_0x77b5ed),'order_by':'','offset':'0','select_fields':['id',_0x1810('0xf'),_0x1810('0x2c')],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})[_0x1810('0x2d')](function(_0x523bb2){if(_0x523bb2['entry_list'][_0x1810('0x2e')]){var _0x33f077=_[_0x1810('0x2f')](_0x523bb2[_0x1810('0x30')],function(_0x2d387a){return _0x2d387a[_0x1810('0x31')][_0x1810('0x2c')][_0x1810('0x32')]===_0x77b5ed;});if(_0x33f077){logger[_0x1810('0xe')](_0x1810('0x33'));return BPromise[_0x1810('0x34')]({'id':_0x33f077[_0x1810('0x31')]['id'][_0x1810('0x32')],'name':_0x33f077['name_value_list'][_0x1810('0xf')][_0x1810('0x32')]});}}logger[_0x1810('0xe')](_0x1810('0x35'));return BPromise[_0x1810('0x34')]({'id':_0x53ca63[_0x1810('0x31')]['user_id'][_0x1810('0x32')],'name':_0x53ca63[_0x1810('0x31')][_0x1810('0x2c')][_0x1810('0x32')]});});}else{logger[_0x1810('0xe')]('Agent\x20not\x20available,\x20using\x20the\x20admin\x20account!');return BPromise[_0x1810('0x34')]({'id':_0x53ca63[_0x1810('0x31')][_0x1810('0x36')]['value'],'name':_0x53ca63[_0x1810('0x31')][_0x1810('0x2c')][_0x1810('0x32')]});}}function getEndUser(_0xb46b04,_0x3c3d0a,_0x287181,_0xaecd29){logger[_0x1810('0xe')](_0x1810('0x37'),_0x287181);return request({'form':{'method':_0x1810('0x29'),'input_type':_0x1810('0x20'),'response_type':_0x1810('0x20'),'rest_data':JSON[_0x1810('0x27')]({'session':_0xaecd29['id'],'module_name':_0x1810('0x1a'),'query':util[_0x1810('0x38')]('contacts.phone_home\x20=\x20\x22%s\x22',_0x287181),'order_by':'','offset':'0','select_fields':['id',_0x1810('0xf'),'phone_home'],'link_name_to_fields_array':[],'max_results':-0x1,'deleted':'0'})}})['then'](function(_0xbb39c2){if(_0xbb39c2[_0x1810('0x30')]['length']){var _0x284b30=_[_0x1810('0x2f')](_0xbb39c2[_0x1810('0x30')],function(_0x345da0){return _0x345da0[_0x1810('0x31')][_0x1810('0x39')][_0x1810('0x32')]===_0x287181;});if(_0x284b30){logger['info'](_0x1810('0x3a'));return BPromise[_0x1810('0x34')]({'id':_0x284b30['name_value_list']['id']['value'],'name':_0x284b30[_0x1810('0x31')]['name'][_0x1810('0x32')],'phone':_0x284b30[_0x1810('0x31')][_0x1810('0x39')][_0x1810('0x32')]});}}else{logger[_0x1810('0xe')](_0x1810('0x3b'));return request({'form':{'method':_0x1810('0x1f'),'input_type':_0x1810('0x20'),'response_type':_0x1810('0x20'),'rest_data':JSON['stringify']({'session':_0xaecd29['id'],'module_name':_0x1810('0x1a'),'name_value_list':[{'name':'first_name','value':_0x3c3d0a!==_0x1810('0x3c')?_0x3c3d0a:util[_0x1810('0x38')](_0x1810('0x3d'),_0x287181)},{'name':_0x1810('0x39'),'value':_0x287181}]})}})[_0x1810('0x2d')](function(_0x41c0ab){logger[_0x1810('0xe')](_0x1810('0x3e'));return BPromise[_0x1810('0x34')]({'id':_0x41c0ab['id'],'name':_0x41c0ab[_0x1810('0x30')]['first_name'][_0x1810('0x32')],'phone':_0x41c0ab[_0x1810('0x30')][_0x1810('0x39')]['value']});});}});}function request(_0x368a37){logger[_0x1810('0x3f')](_0x1810('0x40'),JSON[_0x1810('0x27')](_0x368a37));return rp(_[_0x1810('0x41')](def,_0x368a37));}function getTags(_0x378582,_0x4d1de7){var _0x30372a=[];if(_0x378582&&_0x378582[_0x1810('0x2e')]>0x0){_0x30372a=_[_0x1810('0x42')](_0x378582,_0x4d1de7);}return _0x30372a;}function getCustomFields(_0x171190,_0x459570){var _0x4e63d9=[];var _0x358eda={'custom_fields':[]};if(_0x171190[_0x1810('0x2e')]>0x0){_[_0x1810('0x43')](_0x171190,function(_0x15ce70){if(_0x15ce70[_0x1810('0x44')]===_0x1810('0x45')&&_0x15ce70[_0x1810('0x46')]&&!_0x15ce70[_0x1810('0x47')]){_0x358eda[_0x15ce70[_0x1810('0x46')][_0x1810('0x48')]()]=_0x15ce70[_0x1810('0x49')]['toString']();}else if(_0x15ce70[_0x1810('0x44')]==='string'&&_0x15ce70[_0x1810('0x1d')]&&_0x15ce70['customField']){_0x358eda[_0x1810('0x4a')][_0x1810('0x1c')]({'id':_0x15ce70[_0x1810('0x1d')],'value':_0x15ce70[_0x1810('0x49')][_0x1810('0x24')]()});}else if(_0x15ce70[_0x1810('0x44')]===_0x1810('0x4b')&&_0x15ce70[_0x1810('0x1e')]&&_0x15ce70[_0x1810('0x1d')]&&_0x15ce70[_0x1810('0x47')]){_0x459570[_0x15ce70[_0x1810('0x1e')]]&&_0x358eda[_0x1810('0x4a')]['push']({'id':_0x15ce70['idField'],'value':_0x459570[_0x15ce70[_0x1810('0x1e')]]['toString']()});}else if(_0x15ce70[_0x1810('0x44')]===_0x1810('0x4c')&&_0x15ce70['Variable']&&_0x15ce70['Variable'][_0x1810('0xf')]&&_0x15ce70[_0x1810('0x1d')]&&_0x15ce70[_0x1810('0x47')]){_0x459570[_0x15ce70[_0x1810('0x4d')][_0x1810('0xf')]['toLowerCase']()]&&_0x358eda[_0x1810('0x4a')][_0x1810('0x1c')]({'id':_0x15ce70[_0x1810('0x1d')],'value':_0x459570[_0x15ce70[_0x1810('0x4d')][_0x1810('0xf')][_0x1810('0x48')]()][_0x1810('0x24')]()});}});}return _0x358eda;}function getConnection(_0x25d609){return request({'method':_0x1810('0xc'),'form':{'method':_0x1810('0x4e'),'input_type':_0x1810('0x20'),'response_type':'JSON','rest_data':JSON[_0x1810('0x27')]({'user_auth':{'user_name':_0x25d609[_0x1810('0x4f')],'password':_0x25d609[_0x1810('0x50')],'encryption':_0x1810('0x51')},'application':'xCALLY\x20Motion\x20integration'})}})[_0x1810('0x2d')](function(_0x126b0c){var _0x5f5763=_0x126b0c;if(_0x5f5763['id']){def[_0x1810('0x52')]=_0x5f5763['id'];return BPromise['resolve'](_0x5f5763);}else{throw new Error(util['format'](_0x1810('0x53'),_0x25d609['id']));}});}function setRelationship(_0x5f2735,_0x4207c4,_0x4628a7,_0xf895b1){return request({'form':{'method':_0x1810('0x54'),'input_type':_0x1810('0x20'),'response_type':_0x1810('0x20'),'rest_data':JSON[_0x1810('0x27')]({'session':_0x5f2735['id'],'module_name':_0x1810('0x21'),'module_id':_0x4628a7['id'],'link_field_name':_0xf895b1,'related_ids':[_0x4207c4['id']],'name_value_list':[],'delete':0x0})}});}exports[_0x1810('0x55')]=function(_0x2c4c00,_0x73fef8,_0x4a71a8,_0x4f0f76,_0x498213,_0x3c51ec){var _0x1f2974,_0x358d17,_0x53bec7,_0x3337e2;_0x3c51ec[_0x1810('0x56')]=intUtil['stripTrailingSlash'](_0x3c51ec[_0x1810('0x56')]);_0x3c51ec[_0x1810('0x57')]=intUtil[_0x1810('0x58')](_0x3c51ec['serverUrl']);def['uri']=util[_0x1810('0x38')](_0x1810('0x59'),_0x3c51ec[_0x1810('0x56')]);if(_0x498213&&_0x498213[_0x1810('0x5a')]){logger[_0x1810('0xe')]('[QUEUE]',_0x1810('0x5b'));_0x73fef8['recordingURL']=util[_0x1810('0x38')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x3c51ec[_0x1810('0x57')],_0x73fef8[_0x1810('0x5c')],md5(_0x73fef8['uniqueid']));}else{_0x73fef8[_0x1810('0x5d')]='';}return getConnection(_0x3c51ec)['then'](function(_0x3b636e){_0x3337e2=_0x3b636e;return getUser(_0x3c51ec,_0x4f0f76[_0x1810('0xf')],_0x3337e2);})[_0x1810('0x2d')](function(_0x4638d2){_0x1f2974=_0x4638d2;logger[_0x1810('0xe')]('The\x20User\x20ID\x20is:',_0x1f2974['id']);return getEndUser(_0x3c51ec,_0x73fef8[_0x1810('0x5e')],_0x73fef8[_0x1810('0x5f')],_0x3337e2);})['then'](function(_0x37dbe1){_0x358d17=_0x37dbe1;logger['info'](_0x1810('0x60'),_0x358d17['id']);return getTicket(_0x3c51ec,_0x1f2974,_0x358d17,_0x4a71a8,_0x73fef8,_0x4a71a8[_0x1810('0x61')],_0x3337e2,_0x1810('0x62'));})[_0x1810('0x2d')](function(_0x1949a6){_0x53bec7=_0x1949a6;logger['info'](_0x1810('0x63'));logger[_0x1810('0xe')]('The\x20Ticket\x20ID\x20is:',_0x53bec7['id']);return setRelationship(_0x3337e2,_0x1f2974,_0x53bec7,_0x1810('0x64'));})[_0x1810('0x2d')](function(){return setRelationship(_0x3337e2,_0x358d17,_0x53bec7,_0x1810('0x65'));})[_0x1810('0x2d')](function(){return getServerInfo(_0x3337e2);})[_0x1810('0x2d')](function(_0x17e12b){var _0x40deb3=parseInt(_0x17e12b[_0x1810('0x66')][_0x1810('0x67')](0x0));var _0x41eaef=util[_0x1810('0x38')](_0x1810('0x68'),_0x3c51ec[_0x1810('0x56')],_0x53bec7['id']);if(_0x40deb3>0x6){_0x41eaef=util[_0x1810('0x38')](_0x1810('0x69'),_0x3c51ec['remoteUri'],_0x53bec7['id']);}logger[_0x1810('0xe')](_0x1810('0x6a'),_0x1810('0x6b'));emit(util[_0x1810('0x38')](_0x1810('0x6c'),_0x4f0f76[_0x1810('0xf')]),'trigger:browser:url',{'uri':_0x41eaef});})[_0x1810('0x6d')](function(_0x35c92a){logger[_0x1810('0x6e')]('[QUEUE]',JSON[_0x1810('0x27')](_0x35c92a));});};exports['outbound']=function(_0x27d55d,_0x4a13df,_0x425f4c,_0x24f731,_0x4b9858,_0x39051b,_0x771847){var _0x34fa25,_0x1346ed,_0x26af3a,_0x4264b4;_0x39051b[_0x1810('0x56')]=intUtil['stripTrailingSlash'](_0x39051b[_0x1810('0x56')]);_0x39051b['serverUrl']=intUtil['stripTrailingSlash'](_0x39051b[_0x1810('0x57')]);def['uri']=util[_0x1810('0x38')](_0x1810('0x59'),_0x39051b[_0x1810('0x56')]);if(_0x771847&&_0x771847[_0x1810('0x6f')]&&_0x771847[_0x1810('0x6f')]!=='none'){logger['info'](_0x1810('0x70'),_0x1810('0x5b'));_0x4a13df[_0x1810('0x5d')]=util[_0x1810('0x38')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x39051b[_0x1810('0x57')],_0x4a13df[_0x1810('0x5c')],md5(_0x4a13df['uniqueid']));}return getConnection(_0x39051b)[_0x1810('0x2d')](function(_0x5c5761){_0x4264b4=_0x5c5761;return getUser(_0x39051b,_0x24f731[_0x1810('0xf')],_0x4264b4);})[_0x1810('0x2d')](function(_0x5c5efa){_0x34fa25=_0x5c5efa;logger['info']('The\x20User\x20ID\x20is:',_0x34fa25['id']);return getEndUser(_0x39051b,_0x4a13df[_0x1810('0x71')],_0x4a13df['destcalleridnum'],_0x4264b4);})[_0x1810('0x2d')](function(_0x57b877){_0x1346ed=_0x57b877;logger['info'](_0x1810('0x60'),_0x1346ed['id']);return getTicket(_0x39051b,_0x34fa25,_0x1346ed,_0x425f4c,_0x4a13df,_0x425f4c[_0x1810('0x61')],_0x4264b4,_0x1810('0x72'));})[_0x1810('0x2d')](function(_0x316b0b){_0x26af3a=_0x316b0b;logger[_0x1810('0xe')](_0x1810('0x63'));logger[_0x1810('0xe')]('The\x20Ticket\x20ID\x20is:',_0x26af3a['id']);return setRelationship(_0x4264b4,_0x34fa25,_0x26af3a,_0x1810('0x64'));})[_0x1810('0x2d')](function(){return setRelationship(_0x4264b4,_0x1346ed,_0x26af3a,'contacts');})[_0x1810('0x2d')](function(){return getServerInfo(_0x4264b4);})[_0x1810('0x2d')](function(_0x396601){var _0x24f812=parseInt(_0x396601['version'][_0x1810('0x67')](0x0));var _0x52928b=util[_0x1810('0x38')](_0x1810('0x68'),_0x39051b[_0x1810('0x56')],_0x26af3a['id']);if(_0x24f812>0x6){_0x52928b=util['format']('%s/#bwc/index.php?module=Calls&action=EditView&record=%s',_0x39051b[_0x1810('0x56')],_0x26af3a['id']);}logger[_0x1810('0xe')](_0x1810('0x70'),_0x1810('0x6b'));emit(util[_0x1810('0x38')](_0x1810('0x6c'),_0x24f731[_0x1810('0xf')]),_0x1810('0x73'),{'uri':_0x52928b});})[_0x1810('0x6d')](function(_0x17e02b){logger['error'](_0x1810('0x70'),JSON['stringify'](_0x17e02b));});};exports[_0x1810('0x74')]=function(_0xeb72e7,_0x26eb0e,_0x2525b0,_0x22d588,_0x2b1abe,_0x49df55){var _0xf6c9b7,_0x260cfc,_0x3b4bd1,_0x1bb59a;_0x49df55[_0x1810('0x56')]=intUtil[_0x1810('0x58')](_0x49df55[_0x1810('0x56')]);_0x49df55[_0x1810('0x57')]=intUtil[_0x1810('0x58')](_0x49df55[_0x1810('0x57')]);def[_0x1810('0x75')]=util[_0x1810('0x38')](_0x1810('0x59'),_0x49df55[_0x1810('0x56')]);if(_0x2b1abe&&_0x2b1abe[_0x1810('0x5a')]){logger[_0x1810('0xe')]('['+_0x26eb0e[_0x1810('0x76')][_0x1810('0x77')]()+']','Recording\x20is\x20enabled!');_0x26eb0e[_0x1810('0x5d')]=util[_0x1810('0x38')]('%s/api/voice/recordings/%s/downloads?type=uniqueid&token=%s',_0x49df55[_0x1810('0x57')],_0x26eb0e[_0x1810('0x5c')],md5(_0x26eb0e[_0x1810('0x5c')]));}else{_0x26eb0e['recordingURL']='';}return getConnection(_0x49df55)[_0x1810('0x2d')](function(_0x55b6b4){_0x1bb59a=_0x55b6b4;if(!_['isNil'](_0x22d588)){return getUser(_0x49df55,_0x22d588[_0x1810('0xf')],_0x1bb59a);}else{return getUser(_0x49df55,null,_0x1bb59a);}})[_0x1810('0x2d')](function(_0x53256c){_0xf6c9b7=_0x53256c;logger[_0x1810('0xe')]('The\x20User\x20ID\x20is:',_0xf6c9b7['id']);return getEndUser(_0x49df55,_0x26eb0e[_0x1810('0x5e')],_0x26eb0e[_0x1810('0x5f')],_0x1bb59a);})[_0x1810('0x2d')](function(_0x52da7b){_0x260cfc=_0x52da7b;logger['info'](_0x1810('0x60'),_0x260cfc['id']);return getTicket(_0x49df55,_0xf6c9b7,_0x260cfc,_0x2525b0,_0x26eb0e,_0x2525b0['Fields'],_0x1bb59a,_0x1810('0x62'));})[_0x1810('0x2d')](function(_0x5d578d){_0x3b4bd1=_0x5d578d;logger[_0x1810('0xe')](_0x1810('0x63'));logger[_0x1810('0xe')](_0x1810('0x78'),_0x3b4bd1['id']);return setRelationship(_0x1bb59a,_0xf6c9b7,_0x3b4bd1,_0x1810('0x64'));})[_0x1810('0x2d')](function(){return setRelationship(_0x1bb59a,_0x260cfc,_0x3b4bd1,'contacts');})[_0x1810('0x2d')](function(){return getServerInfo(_0x1bb59a);})[_0x1810('0x6d')](function(_0xfa6d8c){logger[_0x1810('0x6e')]('['+_0x26eb0e[_0x1810('0x76')][_0x1810('0x77')]()+']',JSON[_0x1810('0x27')](_0xfa6d8c));});};