cb33c19f5ed07b23d687005b8ba580fe36d83ecc
[motion2.git] / server / services / ami / realtime / index.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 _0xb902=['duration','disposition','ANSWERED','billableseconds','dialQueueProject','SquareProject','initCampaignHopperHistory','exports','bluebird','util','moment','../model/agent','../model/trunk','../model/voiceQueue','../model/trigger','../model/template','../model/campaign','../model/zendeskAccount','../model/salesforceAccount','../model/sugarcrmAccount','../model/zohoAccount','../model/vtigerAccount','../model/dynamics365Account','../model/freshsalesAccount','../model/faxAccount','telephones','trunks','voiceQueues','triggers','campaigns','templates','voiceExtensions','channels','queueChannels','timers','settings','zendeskAccounts','salesforceAccounts','sugarcrmAccounts','zohoAccounts','deskAccounts','vtigerAccounts','servicenowAccounts','dynamics365Accounts','freshsalesAccounts','faxAccounts','mapKeys','hasOwnProperty','format','SIP/%s','interface','total','answered','sumHoldTime','sumDuration','sumBillable','isEmpty','ivrTotalCallsDays','outboundAnswerAgiCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundNoSuchCallsDay','outboundUnknownCallsDay','outboundDropCallsDayTimeout','outboundBlacklistCallsDay','outboundRejectCallsDay','outboundReCallsDay','outboundAnswerCallsDay','queueStatusComplete','mergeFromDatabase','prototype','initAgents','agents','length','isNil','name','isUndefined','initTrunks','initTriggers','initTemplates','initZendeskAccounts','initFreshdeskAccounts','freshdeskAccounts','initSugarcrmAccounts','initVtigerAccounts','initServicenowAccounts','initFreshsalesAccounts','initVoiceQueueHopperHistory','merge','initVoiceQueueReports','groupBy','uniqueid','queuecallerexit','queuecallerabandon','abandoned','queuecallerleaveAt','diff','seconds','queuecallercompleteAt','queuecallerabandonAt','queuecallerexitAt','queuecallerjoinAt','queuecallercomplete','initVoiceCallReports','outbound'];(function(_0x491a7f,_0x28bb80){var _0x3d8f44=function(_0xdaa716){while(--_0xdaa716){_0x491a7f['push'](_0x491a7f['shift']());}};_0x3d8f44(++_0x28bb80);}(_0xb902,0xda));var _0x2b90=function(_0x58a935,_0x427946){_0x58a935=_0x58a935-0x0;var _0x2d6013=_0xb902[_0x58a935];return _0x2d6013;};'use strict';var BPromise=require(_0x2b90('0x0'));var util=require(_0x2b90('0x1'));var _=require('lodash');var moment=require(_0x2b90('0x2'));var Agent=require(_0x2b90('0x3'));var Telephone=require('../model/telephone');var Trunk=require(_0x2b90('0x4'));var VoiceQueue=require(_0x2b90('0x5'));var Trigger=require(_0x2b90('0x6'));var Template=require(_0x2b90('0x7'));var Campaign=require(_0x2b90('0x8'));var VoiceExtension=require('../model/voiceExtension');var ZendeskAccount=require(_0x2b90('0x9'));var SalesforceAccount=require(_0x2b90('0xa'));var FreshdeskAccount=require('../model/freshdeskAccount');var SugarcrmAccount=require(_0x2b90('0xb'));var ZohoAccount=require(_0x2b90('0xc'));var DeskAccount=require('../model/deskAccount');var VtigerAccount=require(_0x2b90('0xd'));var ServicenowAccount=require('../model/servicenowAccount');var Dynamics365Account=require(_0x2b90('0xe'));var FreshsalesAccount=require(_0x2b90('0xf'));var FaxAccount=require(_0x2b90('0x10'));var Realtime=function(){this['agents']={};this[_0x2b90('0x11')]={};this[_0x2b90('0x12')]={};this[_0x2b90('0x13')]={};this[_0x2b90('0x14')]={};this[_0x2b90('0x15')]={};this[_0x2b90('0x16')]={};this['outbound']={'total':0x0,'answered':0x0,'sumHoldTime':0x0,'sumDuration':0x0,'sumBillable':0x0};this[_0x2b90('0x17')]={};this[_0x2b90('0x18')]={};this[_0x2b90('0x19')]={};this['outboundChannels']={};this[_0x2b90('0x1a')]={};this[_0x2b90('0x1b')]={};this[_0x2b90('0x1c')]={};this[_0x2b90('0x1d')]={};this[_0x2b90('0x1e')]={};this['freshdeskAccounts']={};this[_0x2b90('0x1f')]={};this[_0x2b90('0x20')]={};this[_0x2b90('0x21')]={};this[_0x2b90('0x22')]={};this[_0x2b90('0x23')]={};this[_0x2b90('0x24')]={};this[_0x2b90('0x25')]={};};function freeIsNotKey(_0x334f23,_0x52e720,_0x1a7e22){var _0x301e87=_[_0x2b90('0x26')](_0x334f23,function(_0x1d6b65,_0x357435){return _0x1d6b65[_0x1a7e22];});for(var _0x656b95 in _0x52e720){if(_0x52e720[_0x2b90('0x27')](_0x656b95)){if(!_0x301e87[_0x656b95]){delete _0x52e720[_0x656b95];}}}}function freeIsNotKeySip(_0x2b18fa,_0x26e2a7){var _0x318af2=_['mapKeys'](_0x2b18fa,function(_0x59d240,_0x493cdc){return util[_0x2b90('0x28')](_0x2b90('0x29'),_0x59d240['name']);});for(var _0x4a8fca in _0x26e2a7){if(_0x26e2a7['hasOwnProperty'](_0x4a8fca)){if(!_0x318af2[_0x4a8fca]){delete _0x26e2a7[_0x4a8fca];}}}}function freeIsNotKeyAgent(_0x3cf5b7,_0x53c200){var _0x5e210a=_[_0x2b90('0x26')](_0x3cf5b7,function(_0x11fa0a,_0x3b12cc){var _0x241f5f=_['isNil'](_0x11fa0a[_0x2b90('0x2a')])?util['format'](_0x2b90('0x29'),_0x11fa0a['name']):_0x11fa0a[_0x2b90('0x2a')];return _0x241f5f;});for(var _0x3129e6 in _0x53c200){if(_0x53c200['hasOwnProperty'](_0x3129e6)){if(!_0x5e210a[_0x3129e6]){delete _0x53c200[_0x3129e6];}}}}function clearVoiceCallReports(_0x4850d4){_0x4850d4[_0x2b90('0x2b')]=0x0;_0x4850d4[_0x2b90('0x2c')]=0x0;_0x4850d4[_0x2b90('0x2d')]=0x0;_0x4850d4[_0x2b90('0x2e')]=0x0;_0x4850d4[_0x2b90('0x2f')]=0x0;}function clearCampaigns(_0x2b391b){if(!_[_0x2b90('0x30')](_0x2b391b)){for(var _0xeec63 in _0x2b391b){if(_0x2b391b[_0x2b90('0x27')](_0xeec63)){_0x2b391b[_0xeec63][_0x2b90('0x31')]=0x0;_0x2b391b[_0xeec63]['ivrAnswerCallsDay']=0x0;}}}}function clearVoiceQueues(_0x374302){if(!_['isEmpty'](_0x374302)){for(var _0x101bfd in _0x374302){if(_0x374302['hasOwnProperty'](_0x101bfd)){_0x374302[_0x101bfd][_0x2b90('0x2b')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x2c')]=0x0;_0x374302[_0x101bfd]['unmanaged']=0x0;_0x374302[_0x101bfd]['abandoned']=0x0;_0x374302[_0x101bfd][_0x2b90('0x2d')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x2e')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x2f')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x32')]=0x0;_0x374302[_0x101bfd]['outboundNoAnswerCallsDay']=0x0;_0x374302[_0x101bfd][_0x2b90('0x33')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x34')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x35')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x36')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x37')]=0x0;_0x374302[_0x101bfd]['outboundDropCallsDayCallersExit']=0x0;_0x374302[_0x101bfd][_0x2b90('0x38')]=0x0;_0x374302[_0x101bfd]['outboundOriginateFailureCallsDay']=0x0;_0x374302[_0x101bfd][_0x2b90('0x39')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x3a')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x32')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x3b')]=0x0;_0x374302[_0x101bfd][_0x2b90('0x3c')]=!![];}}}}Realtime['prototype'][_0x2b90('0x3d')]=function(_0x136bb7,_0x8e0fd8){for(var _0x48e9d2 in _0x8e0fd8){if(_0x136bb7[_0x2b90('0x27')](_0x48e9d2)){_0x136bb7[_0x48e9d2]=_0x8e0fd8[_0x48e9d2];}}};Realtime[_0x2b90('0x3e')][_0x2b90('0x3f')]=function(){var _0x529472=this;return function(_0x835aac){if(_0x835aac){freeIsNotKeyAgent(_0x835aac,_0x529472[_0x2b90('0x40')]);for(var _0x4a074a=0x0,_0x3060e7={},_0x47c0bb={};_0x4a074a<_0x835aac[_0x2b90('0x41')];_0x4a074a+=0x1){_0x3060e7=_0x835aac[_0x4a074a];var _0x2bcda1=_[_0x2b90('0x42')](_0x3060e7[_0x2b90('0x2a')])?util[_0x2b90('0x28')](_0x2b90('0x29'),_0x3060e7[_0x2b90('0x43')]):_0x3060e7[_0x2b90('0x2a')];if(_[_0x2b90('0x44')](_0x529472[_0x2b90('0x40')][_0x2bcda1])){_0x529472['agents'][_0x2bcda1]=new Agent(_0x3060e7);}else{_0x529472[_0x2b90('0x3d')](_0x529472[_0x2b90('0x40')][_0x2bcda1],_0x3060e7);}}}return _0x529472[_0x2b90('0x40')];};};Realtime[_0x2b90('0x3e')]['initTelephones']=function(){var _0x54f3cc=this;return function(_0x35e191){if(_0x35e191){freeIsNotKeySip(_0x35e191,_0x54f3cc['telephones']);for(var _0x5ba034=0x0,_0xc83e5c={},_0x29b37e={};_0x5ba034<_0x35e191['length'];_0x5ba034+=0x1){_0xc83e5c=_0x35e191[_0x5ba034];if(_[_0x2b90('0x44')](_0x54f3cc[_0x2b90('0x11')][util[_0x2b90('0x28')]('SIP/%s',_0xc83e5c[_0x2b90('0x43')])])){_0x54f3cc[_0x2b90('0x11')][util[_0x2b90('0x28')]('SIP/%s',_0xc83e5c[_0x2b90('0x43')])]=new Telephone(_0xc83e5c);}else{_0x54f3cc[_0x2b90('0x3d')](_0x54f3cc['telephones'][util[_0x2b90('0x28')]('SIP/%s',_0xc83e5c['name'])],_0xc83e5c);}}}return _0x54f3cc[_0x2b90('0x11')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x45')]=function(){var _0x5dd620=this;return function(_0x2c493c){if(_0x2c493c){freeIsNotKeySip(_0x2c493c,_0x5dd620[_0x2b90('0x12')]);for(var _0x4e68e7=0x0,_0x3f7740={},_0xc10260={};_0x4e68e7<_0x2c493c[_0x2b90('0x41')];_0x4e68e7+=0x1){_0x3f7740=_0x2c493c[_0x4e68e7];if(_[_0x2b90('0x44')](_0x5dd620[_0x2b90('0x12')][util[_0x2b90('0x28')]('SIP/%s',_0x3f7740['name'])])){_0x5dd620['trunks'][util[_0x2b90('0x28')](_0x2b90('0x29'),_0x3f7740['name'])]=new Trunk(_0x3f7740);}else{_0x5dd620['mergeFromDatabase'](_0x5dd620[_0x2b90('0x12')][util[_0x2b90('0x28')](_0x2b90('0x29'),_0x3f7740['name'])],_0x3f7740);}}}return _0x5dd620[_0x2b90('0x12')];};};Realtime[_0x2b90('0x3e')]['initVoiceQueues']=function(){var _0x44fbdf=this;return function(_0x1ee66e){if(_0x1ee66e){freeIsNotKey(_0x1ee66e,_0x44fbdf[_0x2b90('0x13')],_0x2b90('0x43'));for(var _0x2afc11=0x0,_0x10d4d5={},_0x323204={};_0x2afc11<_0x1ee66e[_0x2b90('0x41')];_0x2afc11+=0x1){_0x10d4d5=_0x1ee66e[_0x2afc11];if(_[_0x2b90('0x44')](_0x44fbdf[_0x2b90('0x13')][_0x10d4d5[_0x2b90('0x43')]])){_0x44fbdf[_0x2b90('0x13')][_0x10d4d5[_0x2b90('0x43')]]=new VoiceQueue(_0x10d4d5);}else{_0x44fbdf[_0x2b90('0x3d')](_0x44fbdf[_0x2b90('0x13')][_0x10d4d5[_0x2b90('0x43')]],_0x10d4d5);}}}return _0x44fbdf['voiceQueues'];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x46')]=function(){var _0x18bffb=this;return function(_0xcacfee){if(_0xcacfee){freeIsNotKey(_0xcacfee,_0x18bffb[_0x2b90('0x14')],'id');for(var _0x23a617=0x0,_0x5a9823={},_0xc65bad={};_0x23a617<_0xcacfee[_0x2b90('0x41')];_0x23a617+=0x1){_0x5a9823=_0xcacfee[_0x23a617];if(_[_0x2b90('0x44')](_0x18bffb[_0x2b90('0x14')][_0x5a9823['id']])){_0x18bffb['triggers'][_0x5a9823['id']]=new Trigger(_0x5a9823);}else{_0x18bffb[_0x2b90('0x3d')](_0x18bffb['triggers'][_0x5a9823['id']],_0x5a9823);}}}return _0x18bffb['triggers'];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x47')]=function(){var _0x2f999e=this;return function(_0x24288d){if(_0x24288d){freeIsNotKey(_0x24288d,_0x2f999e[_0x2b90('0x16')],'id');for(var _0x5401fa=0x0,_0x4a2824={},_0x19e911={};_0x5401fa<_0x24288d[_0x2b90('0x41')];_0x5401fa+=0x1){_0x4a2824=_0x24288d[_0x5401fa];if(_[_0x2b90('0x44')](_0x2f999e[_0x2b90('0x16')][_0x4a2824['id']])){_0x2f999e[_0x2b90('0x16')][_0x4a2824['id']]=new Template(_0x4a2824);}else{_0x2f999e[_0x2b90('0x3d')](_0x2f999e[_0x2b90('0x16')][_0x4a2824['id']],_0x4a2824);}}}return _0x2f999e['templates'];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x48')]=function(){var _0x574a9b=this;return function(_0x4e3291){if(_0x4e3291){freeIsNotKey(_0x4e3291,_0x574a9b[_0x2b90('0x1c')],'id');for(var _0x13c628=0x0,_0x49a7ec={},_0x3881af={};_0x13c628<_0x4e3291[_0x2b90('0x41')];_0x13c628+=0x1){_0x49a7ec=_0x4e3291[_0x13c628];if(_['isUndefined'](_0x574a9b[_0x2b90('0x1c')][_0x49a7ec['id']])){_0x574a9b['zendeskAccounts'][_0x49a7ec['id']]=new ZendeskAccount(_0x49a7ec);}else{_0x574a9b[_0x2b90('0x3d')](_0x574a9b[_0x2b90('0x1c')][_0x49a7ec['id']],_0x49a7ec);}}}return _0x574a9b[_0x2b90('0x1c')];};};Realtime[_0x2b90('0x3e')]['initSalesforceAccounts']=function(){var _0x4d1b26=this;return function(_0x37ff0c){if(_0x37ff0c){freeIsNotKey(_0x37ff0c,_0x4d1b26[_0x2b90('0x1d')],'id');for(var _0x1c1924=0x0,_0x3f4d0b={},_0x4fe554={};_0x1c1924<_0x37ff0c[_0x2b90('0x41')];_0x1c1924+=0x1){_0x3f4d0b=_0x37ff0c[_0x1c1924];if(_['isUndefined'](_0x4d1b26[_0x2b90('0x1d')][_0x3f4d0b['id']])){_0x4d1b26[_0x2b90('0x1d')][_0x3f4d0b['id']]=new SalesforceAccount(_0x3f4d0b);}else{_0x4d1b26['mergeFromDatabase'](_0x4d1b26[_0x2b90('0x1d')][_0x3f4d0b['id']],_0x3f4d0b);}}}return _0x4d1b26[_0x2b90('0x1d')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x49')]=function(){var _0x9dc553=this;return function(_0x495253){if(_0x495253){freeIsNotKey(_0x495253,_0x9dc553[_0x2b90('0x4a')],'id');for(var _0x13c54b=0x0,_0x3037a0={},_0x52fc8a={};_0x13c54b<_0x495253[_0x2b90('0x41')];_0x13c54b+=0x1){_0x3037a0=_0x495253[_0x13c54b];if(_[_0x2b90('0x44')](_0x9dc553[_0x2b90('0x4a')][_0x3037a0['id']])){_0x9dc553[_0x2b90('0x4a')][_0x3037a0['id']]=new FreshdeskAccount(_0x3037a0);}else{_0x9dc553['mergeFromDatabase'](_0x9dc553[_0x2b90('0x4a')][_0x3037a0['id']],_0x3037a0);}}}return _0x9dc553['freshdeskAccounts'];};};Realtime[_0x2b90('0x3e')]['initZohoAccounts']=function(){var _0x54db04=this;return function(_0x48a241){if(_0x48a241){freeIsNotKey(_0x48a241,_0x54db04[_0x2b90('0x1f')],'id');for(var _0x5b5b86=0x0,_0x22a48c={},_0x36dc7f={};_0x5b5b86<_0x48a241[_0x2b90('0x41')];_0x5b5b86+=0x1){_0x22a48c=_0x48a241[_0x5b5b86];if(_['isUndefined'](_0x54db04['zohoAccounts'][_0x22a48c['id']])){_0x54db04[_0x2b90('0x1f')][_0x22a48c['id']]=new ZohoAccount(_0x22a48c);}else{_0x54db04[_0x2b90('0x3d')](_0x54db04[_0x2b90('0x1f')][_0x22a48c['id']],_0x22a48c);}}}return _0x54db04[_0x2b90('0x1f')];};};Realtime[_0x2b90('0x3e')]['initDeskAccounts']=function(){var _0x1e3552=this;return function(_0x3a1952){if(_0x3a1952){freeIsNotKey(_0x3a1952,_0x1e3552[_0x2b90('0x20')],'id');for(var _0x5c7792=0x0,_0xb42fd={},_0x3f700c={};_0x5c7792<_0x3a1952[_0x2b90('0x41')];_0x5c7792+=0x1){_0xb42fd=_0x3a1952[_0x5c7792];if(_[_0x2b90('0x44')](_0x1e3552[_0x2b90('0x20')][_0xb42fd['id']])){_0x1e3552[_0x2b90('0x20')][_0xb42fd['id']]=new DeskAccount(_0xb42fd);}else{_0x1e3552[_0x2b90('0x3d')](_0x1e3552[_0x2b90('0x20')][_0xb42fd['id']],_0xb42fd);}}}return _0x1e3552[_0x2b90('0x20')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x4b')]=function(){var _0x3e7562=this;return function(_0x151e19){if(_0x151e19){freeIsNotKey(_0x151e19,_0x3e7562[_0x2b90('0x1e')],'id');for(var _0x47d95e=0x0,_0x1fc95d={},_0x3dc21c={};_0x47d95e<_0x151e19[_0x2b90('0x41')];_0x47d95e+=0x1){_0x1fc95d=_0x151e19[_0x47d95e];if(_[_0x2b90('0x44')](_0x3e7562[_0x2b90('0x1e')][_0x1fc95d['id']])){_0x3e7562[_0x2b90('0x1e')][_0x1fc95d['id']]=new SugarcrmAccount(_0x1fc95d);}else{_0x3e7562[_0x2b90('0x3d')](_0x3e7562[_0x2b90('0x1e')][_0x1fc95d['id']],_0x1fc95d);}}}return _0x3e7562[_0x2b90('0x1e')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x4c')]=function(){var _0x1cf1ec=this;return function(_0x2070a7){if(_0x2070a7){freeIsNotKey(_0x2070a7,_0x1cf1ec[_0x2b90('0x21')],'id');for(var _0x5a088a=0x0,_0x33085d={},_0x281e9b={};_0x5a088a<_0x2070a7[_0x2b90('0x41')];_0x5a088a+=0x1){_0x33085d=_0x2070a7[_0x5a088a];if(_[_0x2b90('0x44')](_0x1cf1ec[_0x2b90('0x21')][_0x33085d['id']])){_0x1cf1ec[_0x2b90('0x21')][_0x33085d['id']]=new VtigerAccount(_0x33085d);}else{_0x1cf1ec[_0x2b90('0x3d')](_0x1cf1ec['vtigerAccounts'][_0x33085d['id']],_0x33085d);}}}return _0x1cf1ec[_0x2b90('0x21')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x4d')]=function(){var _0xab6f93=this;return function(_0x548af1){if(_0x548af1){freeIsNotKey(_0x548af1,_0xab6f93[_0x2b90('0x22')],'id');for(var _0x17a7c9=0x0,_0x261b16={},_0x91a456={};_0x17a7c9<_0x548af1[_0x2b90('0x41')];_0x17a7c9+=0x1){_0x261b16=_0x548af1[_0x17a7c9];if(_[_0x2b90('0x44')](_0xab6f93[_0x2b90('0x22')][_0x261b16['id']])){_0xab6f93[_0x2b90('0x22')][_0x261b16['id']]=new ServicenowAccount(_0x261b16);}else{_0xab6f93[_0x2b90('0x3d')](_0xab6f93[_0x2b90('0x22')][_0x261b16['id']],_0x261b16);}}}return _0xab6f93[_0x2b90('0x22')];};};Realtime[_0x2b90('0x3e')]['initDynamics365Accounts']=function(){var _0xa75ca=this;return function(_0x30274a){if(_0x30274a){freeIsNotKey(_0x30274a,_0xa75ca['dynamics365Accounts'],'id');for(var _0x1e0317=0x0,_0x3fc2b2={},_0x5ae99e={};_0x1e0317<_0x30274a[_0x2b90('0x41')];_0x1e0317+=0x1){_0x3fc2b2=_0x30274a[_0x1e0317];if(_[_0x2b90('0x44')](_0xa75ca[_0x2b90('0x23')][_0x3fc2b2['id']])){_0xa75ca[_0x2b90('0x23')][_0x3fc2b2['id']]=new Dynamics365Account(_0x3fc2b2);}else{_0xa75ca['mergeFromDatabase'](_0xa75ca[_0x2b90('0x23')][_0x3fc2b2['id']],_0x3fc2b2);}}}return _0xa75ca[_0x2b90('0x23')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x4e')]=function(){var _0x3458b2=this;return function(_0x41c8fa){if(_0x41c8fa){freeIsNotKey(_0x41c8fa,_0x3458b2[_0x2b90('0x24')],'id');for(var _0x404b9c=0x0,_0x4ad616={},_0x23ad50={};_0x404b9c<_0x41c8fa[_0x2b90('0x41')];_0x404b9c+=0x1){_0x4ad616=_0x41c8fa[_0x404b9c];if(_[_0x2b90('0x44')](_0x3458b2[_0x2b90('0x24')][_0x4ad616['id']])){_0x3458b2[_0x2b90('0x24')][_0x4ad616['id']]=new FreshsalesAccount(_0x4ad616);}else{_0x3458b2[_0x2b90('0x3d')](_0x3458b2[_0x2b90('0x24')][_0x4ad616['id']],_0x4ad616);}}}return _0x3458b2[_0x2b90('0x24')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x4f')]=function(){var _0x3d8b48=this;return function(_0x1e70c4){for(var _0x1e99ca=0x0;_0x1e99ca<_0x1e70c4[_0x2b90('0x41')];_0x1e99ca+=0x1){_[_0x2b90('0x50')](_0x3d8b48[_0x2b90('0x13')][_0x1e70c4[_0x1e99ca][_0x2b90('0x43')]],_0x1e70c4[_0x1e99ca]);}return _0x3d8b48[_0x2b90('0x13')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x51')]=function(){var _0x3c0d57=this;return function(_0x5353df){clearVoiceQueues(_0x3c0d57[_0x2b90('0x13')]);if(_0x5353df){_0x5353df=_[_0x2b90('0x52')](_0x5353df,_0x2b90('0x53'));for(var _0xe666b4 in _0x5353df){if(_0x5353df[_0x2b90('0x27')](_0xe666b4)){var _0x5687bc={};for(var _0x1f8d6a=0x0;_0x1f8d6a<_0x5353df[_0xe666b4][_0x2b90('0x41')];_0x1f8d6a+=0x1){var _0x293352=_0x5353df[_0xe666b4][_0x1f8d6a]['queue'];if(_0x3c0d57['voiceQueues'][_0x293352]){if(_0x5353df[_0xe666b4][_0x1f8d6a][_0x2b90('0x54')]){_0x3c0d57['voiceQueues'][_0x293352]['unmanaged']+=0x1;}if(_0x5353df[_0xe666b4][_0x1f8d6a][_0x2b90('0x55')]){_0x3c0d57[_0x2b90('0x13')][_0x293352][_0x2b90('0x56')]+=0x1;}_0x3c0d57[_0x2b90('0x13')][_0x293352][_0x2b90('0x2d')]+=moment(_0x5353df[_0xe666b4][_0x1f8d6a][_0x2b90('0x57')])[_0x2b90('0x58')](moment(_0x5353df[_0xe666b4][_0x1f8d6a]['queuecallerjoinAt']),_0x2b90('0x59'))||0x0;if(_0x1f8d6a===_0x5353df[_0xe666b4]['length']-0x1){_0x3c0d57[_0x2b90('0x13')][_0x293352][_0x2b90('0x2e')]+=moment(_0x5353df[_0xe666b4][_0x1f8d6a][_0x2b90('0x5a')]||_0x5353df[_0xe666b4][_0x1f8d6a][_0x2b90('0x5b')]||_0x5353df[_0xe666b4][_0x1f8d6a][_0x2b90('0x5c')])[_0x2b90('0x58')](moment(_0x5353df[_0xe666b4][_0x1f8d6a][_0x2b90('0x5d')]),_0x2b90('0x59'))||0x0;_0x3c0d57[_0x2b90('0x13')][_0x293352]['total']+=0x1;if(_0x5353df[_0xe666b4][_0x1f8d6a][_0x2b90('0x5e')]){_0x3c0d57[_0x2b90('0x13')][_0x293352][_0x2b90('0x2c')]+=0x1;_0x3c0d57[_0x2b90('0x13')][_0x293352][_0x2b90('0x2f')]+=moment(_0x5353df[_0xe666b4][_0x1f8d6a]['queuecallercompleteAt'])[_0x2b90('0x58')](moment(_0x5353df[_0xe666b4][_0x1f8d6a]['queuecallerleaveAt']),_0x2b90('0x59'))||0x0;}}else{_0x3c0d57[_0x2b90('0x13')][_0x293352][_0x2b90('0x2e')]+=_0x3c0d57[_0x2b90('0x13')][_0x293352][_0x2b90('0x2d')]||0x0;}}}}}}return _0x3c0d57[_0x2b90('0x13')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x5f')]=function(){var _0x28d47a=this;return function(_0x4a61e4){clearVoiceCallReports(_0x28d47a['outbound']);if(_0x4a61e4){for(var _0x35be2d=0x0;_0x35be2d<_0x4a61e4[_0x2b90('0x41')];_0x35be2d+=0x1){_0x28d47a[_0x2b90('0x60')][_0x2b90('0x2b')]+=0x1;_0x28d47a[_0x2b90('0x60')][_0x2b90('0x2e')]+=_0x4a61e4[_0x35be2d][_0x2b90('0x61')];if(_0x4a61e4[_0x35be2d][_0x2b90('0x62')]===_0x2b90('0x63')){_0x28d47a[_0x2b90('0x60')][_0x2b90('0x2c')]+=0x1;_0x28d47a[_0x2b90('0x60')][_0x2b90('0x2d')]+=_0x4a61e4[_0x35be2d][_0x2b90('0x61')]-_0x4a61e4[_0x35be2d][_0x2b90('0x64')]||0x0;_0x28d47a[_0x2b90('0x60')][_0x2b90('0x2f')]+=_0x4a61e4[_0x35be2d][_0x2b90('0x64')];}}}return _0x28d47a[_0x2b90('0x60')];};};Realtime[_0x2b90('0x3e')]['initCampaigns']=function(){var _0x352bbc=this;return function(_0x3da1ac){if(_0x3da1ac){freeIsNotKey(_0x3da1ac,_0x352bbc[_0x2b90('0x15')],_0x2b90('0x43'));for(var _0x5a3464=0x0,_0x445735={};_0x5a3464<_0x3da1ac['length'];_0x5a3464+=0x1){_0x445735=_0x3da1ac[_0x5a3464];if(_[_0x2b90('0x44')](_0x352bbc[_0x2b90('0x15')][_0x445735['name']])){_0x352bbc['campaigns'][_0x445735[_0x2b90('0x43')]]=new Campaign(_0x445735);}else{_0x352bbc['mergeFromDatabase'](_0x352bbc[_0x2b90('0x15')][_0x445735[_0x2b90('0x43')]],_0x445735);_0x352bbc['campaigns'][_0x445735[_0x2b90('0x43')]][_0x2b90('0x65')]=_0x445735['SquareProject']?_0x445735[_0x2b90('0x66')][_0x2b90('0x43')]:undefined;}}}return _0x352bbc[_0x2b90('0x15')];};};Realtime[_0x2b90('0x3e')]['initVoiceExtensions']=function(){var _0xc867c4=this;return function(_0x1b28bc){if(_0x1b28bc){freeIsNotKey(_0x1b28bc,_0xc867c4[_0x2b90('0x17')],'id');for(var _0x3a4412=0x0,_0xc9d8b5={};_0x3a4412<_0x1b28bc[_0x2b90('0x41')];_0x3a4412+=0x1){_0xc9d8b5=_0x1b28bc[_0x3a4412];if(_['isUndefined'](_0xc867c4[_0x2b90('0x17')][_0xc9d8b5['id']])){_0xc867c4[_0x2b90('0x17')][_0xc9d8b5['id']]=new VoiceExtension(_0xc9d8b5);}else{_0xc867c4[_0x2b90('0x3d')](_0xc867c4[_0x2b90('0x17')][_0xc9d8b5['id']],_0xc9d8b5);}}}return _0xc867c4[_0x2b90('0x17')];};};Realtime[_0x2b90('0x3e')][_0x2b90('0x67')]=function(){var _0x50b22c=this;return function(_0x57cbe8){clearCampaigns(_0x50b22c[_0x2b90('0x15')]);for(var _0x586f5f=0x0;_0x586f5f<_0x57cbe8[_0x2b90('0x41')];_0x586f5f+=0x1){_['merge'](_0x50b22c[_0x2b90('0x15')][_0x57cbe8[_0x586f5f][_0x2b90('0x43')]],_0x57cbe8[_0x586f5f]);}return _0x50b22c[_0x2b90('0x15')];};};Realtime[_0x2b90('0x3e')]['initFaxAccounts']=function(){var _0x1cb0fd=this;return function(_0x85b3fa){if(_0x85b3fa){freeIsNotKey(_0x85b3fa,_0x1cb0fd['faxAccounts'],'id');for(var _0x425590=0x0,_0x3ee7c3={},_0x456e7b={};_0x425590<_0x85b3fa[_0x2b90('0x41')];_0x425590+=0x1){_0x3ee7c3=_0x85b3fa[_0x425590];if(_['isUndefined'](_0x1cb0fd['faxAccounts'][_0x3ee7c3['id']])){_0x1cb0fd[_0x2b90('0x25')][_0x3ee7c3['id']]=new FaxAccount(_0x3ee7c3);}else{_0x1cb0fd[_0x2b90('0x3d')](_0x1cb0fd['faxAccounts'][_0x3ee7c3['id']],_0x3ee7c3);}}}return _0x1cb0fd[_0x2b90('0x25')];};};module[_0x2b90('0x68')]=Realtime;