Built motion from commit 64a6f4bc.|2.6.26
[motion2.git] / server / services / routing / server / applications / queue.js
index 9bdad1a..ebece04 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x7eba=['consequence','validate','[%s][QUEUE]\x20%s','map','join','stop','find','Queues','createQueue','atimeout','qtimeout','rules','end','close','complete','[%s][QUEUE]\x20APPLICATION\x20END','next','strategy','rrmemory','beepall','error','[%s][QUEUE]\x20queue\x20not\x20found\x20%s','lodash','util','ioredis','../../../../config/logger','routing','./strategy','redis','localhost','socket.io-emitter','account','queue','clone','queue_id','capitalize','format','%sQueuesWaitingInteractions','pick','%s:queue:%s','%s_queue_waiting_interaction:%s','save','../../rpc/openchannelQueueReport','../../rpc/chatQueueReport','../../rpc/smsQueueReport','../../rpc/faxQueueReport','../../rpc/whatsappQueueReport','../../rpc/chatInteraction','../../rpc/faxInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/whatsappInteraction','string','name\x20is\x20a\x20string\x20and\x20it\x20is\x20required','number','timeout\x20is\x20a\x20number','waiting','body','YYYY-MM-DD\x20HH:mm:ss','contact','list','upperFirst','channel','InteractionId','interaction','message','chat','WebsiteId','info','[%s][START:QUEUE][NAME:%s]','name','QueueReport','create','catch','create\x20queue\x20report','[%s][STOP:QUEUE][NAME:%s]','then','update\x20queue\x20report','timeout','update','toLowerCase'];(function(_0x8de54f,_0x271987){var _0x14cba4=function(_0x58ed41){while(--_0x58ed41){_0x8de54f['push'](_0x8de54f['shift']());}};_0x14cba4(++_0x271987);}(_0x7eba,0x67));var _0xa7eb=function(_0x107c2d,_0x513116){_0x107c2d=_0x107c2d-0x0;var _0x1d2473=_0x7eba[_0x107c2d];return _0x1d2473;};'use strict';var schema=require('validate');var _=require(_0xa7eb('0x0'));var util=require(_0xa7eb('0x1'));var seqqueue=require('seq-queue');var moment=require('moment');var Redis=require(_0xa7eb('0x2'));var config=require('../../../../config/environment');var logger=require(_0xa7eb('0x3'))(_0xa7eb('0x4'));var strategy=require(_0xa7eb('0x5'));config[_0xa7eb('0x6')]=_['defaults'](config[_0xa7eb('0x6')],{'host':_0xa7eb('0x7'),'port':0x18eb});var io=require(_0xa7eb('0x8'))(new Redis(config['redis']));var attributes=['id','queue_id',_0xa7eb('0x9'),_0xa7eb('0xa'),'from','joinAt'];function emit(_0x5ad454,_0x164736,_0x9c09c9){io['to'](_0x5ad454)['emit'](_0x164736,_0x9c09c9);}function emitChannelQueueInteraction(_0x446898,_0x3f103c,_0x412d06,_0x21c8c0,_0x49020d,_0x281287,_0x3cacd9,_0x364c7e){var _0x3d79e1=_[_0xa7eb('0xb')](_0x412d06);_0x3d79e1[_0xa7eb('0xc')]=_0x364c7e;_0x3d79e1[_0xa7eb('0xa')]=_0x3f103c;_0x3d79e1[_0xa7eb('0x9')]=_0x21c8c0;_0x3d79e1['id']=_0x49020d;if(_0x281287){attributes['push'](_[_0xa7eb('0xd')](_0x446898)+'InteractionId');_0x3cacd9[util[_0xa7eb('0xe')](_0xa7eb('0xf'),_0x446898)][_0x49020d]=_[_0xa7eb('0x10')](_0x3d79e1,attributes);}else{delete _0x3cacd9[util['format'](_0xa7eb('0xf'),_0x446898)][_0x49020d];}emit(util[_0xa7eb('0xe')](_0xa7eb('0x11'),_0x446898,_0x3f103c),util[_0xa7eb('0xe')](_0xa7eb('0x12'),_0x446898,_0x281287?_0xa7eb('0x13'):'remove'),_['pick'](_0x3d79e1,attributes));}var rpc={'openchannelQueueReport':require(_0xa7eb('0x14')),'mailQueueReport':require('../../rpc/mailQueueReport'),'chatQueueReport':require(_0xa7eb('0x15')),'smsQueueReport':require(_0xa7eb('0x16')),'faxQueueReport':require(_0xa7eb('0x17')),'whatsappQueueReport':require(_0xa7eb('0x18')),'chatInteraction':require(_0xa7eb('0x19')),'faxInteraction':require(_0xa7eb('0x1a')),'mailInteraction':require(_0xa7eb('0x1b')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'smsInteraction':require(_0xa7eb('0x1c')),'whatsappInteraction':require(_0xa7eb('0x1d'))};var queue=schema({'name':{'type':_0xa7eb('0x1e'),'required':!![],'message':_0xa7eb('0x1f')},'timeout':{'type':_0xa7eb('0x20'),'message':_0xa7eb('0x21')}});function startRouting(_0x3a71ed,_0x5afa68,_0xa9aef8,_0x8a8f81){if(_0x3a71ed&&_0x5afa68&&_0xa9aef8){_0x5afa68[_0xa7eb('0x22')]+=0x1;var _0x47ce51={'uniqueid':_0x3a71ed,'from':_0xa9aef8[_0xa7eb('0x23')]?_0xa9aef8[_0xa7eb('0x23')]['from']:'','joinAt':moment()['format'](_0xa7eb('0x24')),'ContactId':_0xa9aef8[_0xa7eb('0x25')]?_0xa9aef8[_0xa7eb('0x25')]['id']:null,'ListId':_0xa9aef8[_0xa7eb('0x26')]?_0xa9aef8[_0xa7eb('0x26')]['id']:null};_0x47ce51[_[_0xa7eb('0x27')](_0xa9aef8[_0xa7eb('0x28')])+'QueueId']=_0x5afa68['id']||null;_0x47ce51[_['upperFirst'](_0xa9aef8[_0xa7eb('0x28')])+_0xa7eb('0x29')]=_0xa9aef8[_0xa7eb('0x2a')]?_0xa9aef8[_0xa7eb('0x2a')]['id']:null;_0x47ce51[_[_0xa7eb('0x27')](_0xa9aef8['channel'])+'MessageId']=_0xa9aef8[_0xa7eb('0x2b')]?_0xa9aef8[_0xa7eb('0x2b')]['id']:null;_0x47ce51[_[_0xa7eb('0x27')](_0xa9aef8[_0xa7eb('0x28')])+(_0xa9aef8[_0xa7eb('0x28')]!==_0xa7eb('0x2c')?'AccountId':_0xa7eb('0x2d'))]=_0xa9aef8['account']?_0xa9aef8['account']['id']:null;logger[_0xa7eb('0x2e')](util[_0xa7eb('0xe')](_0xa7eb('0x2f'),_0x3a71ed,_0x5afa68[_0xa7eb('0x30')]));emitChannelQueueInteraction(_0xa9aef8[_0xa7eb('0x28')],_0x5afa68[_0xa7eb('0x30')],_0x47ce51,_0xa9aef8[_0xa7eb('0x9')]['name'],_0xa9aef8[_0xa7eb('0x2b')]['id'],!![],_0x8a8f81,_0x5afa68['id']);if(rpc[_0xa9aef8['channel']+'QueueReport']){return rpc[_0xa9aef8[_0xa7eb('0x28')]+_0xa7eb('0x31')][_0xa7eb('0x32')](_0x47ce51)[_0xa7eb('0x33')](function(_0x5ae821){logger['error'](_0xa7eb('0x34'),_0x5ae821);});}}}function stopRouting(_0x568459,_0xe46996,_0x50a580,_0x815215){if(_0x568459&&_0xe46996){_0xe46996[_0xa7eb('0x22')]-=0x1;var _0x3c8f13={'leaveAt':moment()[_0xa7eb('0xe')](_0xa7eb('0x24')),'acceptAt':moment()['format'](_0xa7eb('0x24')),'reason':'accepted'};logger['info'](util[_0xa7eb('0xe')](_0xa7eb('0x35'),_0x568459,_0xe46996['name']));emitChannelQueueInteraction(_0x50a580[_0xa7eb('0x28')],_0xe46996[_0xa7eb('0x30')],_0x50a580[_0xa7eb('0x23')],_0x50a580[_0xa7eb('0x9')][_0xa7eb('0x30')],_0x50a580[_0xa7eb('0x2b')]['id'],![],_0x815215,_0xe46996['id']);return rpc[_0x50a580[_0xa7eb('0x28')]+'Interaction']['update'](_0x50a580[_0xa7eb('0x2a')]['id'],{'queueId':_0xe46996['id']})[_0xa7eb('0x36')](function(){if(rpc[_0x50a580[_0xa7eb('0x28')]+_0xa7eb('0x31')]){return rpc[_0x50a580['channel']+_0xa7eb('0x31')]['update'](_0x568459,_0x3c8f13)[_0xa7eb('0x33')](function(_0xaa1269){logger['error'](_0xa7eb('0x37'),_0xaa1269);});}});}}function endRouting(_0x5482e5,_0x2e8af8,_0x203e82,_0xbe858f){if(_0x5482e5&&_0x2e8af8){_0x2e8af8[_0xa7eb('0x22')]-=0x1;var _0x4632b8={'leaveAt':moment()['format'](_0xa7eb('0x24')),'exitAt':moment()[_0xa7eb('0xe')](_0xa7eb('0x24')),'reason':_0xa7eb('0x38')};logger['info'](util[_0xa7eb('0xe')]('[%s][END:QUEUE][NAME:%s]',_0x5482e5,_0x2e8af8[_0xa7eb('0x30')]));emitChannelQueueInteraction(_0x203e82['channel'],_0x2e8af8['name'],_0x203e82[_0xa7eb('0x23')],_0x203e82[_0xa7eb('0x9')]['name'],_0x203e82['message']['id'],![],_0xbe858f);if(rpc[_0x203e82['channel']+_0xa7eb('0x31')]){return rpc[_0x203e82['channel']+_0xa7eb('0x31')][_0xa7eb('0x39')](_0x5482e5,_0x4632b8)[_0xa7eb('0x33')](function(_0x208ffe){logger['error']('update\x20queue\x20report',_0x208ffe);});}}}function handleFindQueue(_0x49d3eb){return function(_0x2f30f1){return _0x2f30f1['name'][_0xa7eb('0x3a')]()===_0x49d3eb[_0xa7eb('0x3a')]();};}exports[_0xa7eb('0x3b')]=function(_0x52b26b,_0x560493,_0x508ee7,_0x568cee){return function(_0x114857){try{var _0x25913b={'name':_0x560493[0x0],'timeout':_0x560493[0x1]};var _0x5c1197=queue[_0xa7eb('0x3c')](_0x25913b,{'typecast':!![]});if(_0x5c1197['length']){logger['error'](_0xa7eb('0x3d'),_0x52b26b,_[_0xa7eb('0x3e')](_0x5c1197,'message')[_0xa7eb('0x3f')](',\x20'));_0x114857[_0xa7eb('0x40')]();}else{var _0x33fa88=_[_0xa7eb('0x41')](_0x508ee7[_0x568cee[_0xa7eb('0x28')]+_0xa7eb('0x42')],handleFindQueue(_0x25913b[_0xa7eb('0x30')]));if(_0x33fa88){startRouting(_0x52b26b,_0x33fa88,_0x568cee,_0x508ee7);var _0x3b79bc=(_0x33fa88[_0xa7eb('0x38')]||0xa)*0x3e8;var _0x1b6f7e=(_0x25913b[_0xa7eb('0x38')]||0x14)*0x3e8;var _0x50dbb3;if(_0x3b79bc>_0x1b6f7e){_0x1b6f7e=_0x3b79bc;}var _0x5dec75=seqqueue[_0xa7eb('0x43')](_0x3b79bc);_0x5dec75['id']=_0x52b26b;_0x5dec75[_0xa7eb('0x44')]=_0x3b79bc;_0x5dec75[_0xa7eb('0x45')]=_0x1b6f7e;_0x5dec75[_0xa7eb('0x28')]=_0x568cee[_0xa7eb('0x28')];_0x508ee7[_0xa7eb('0x46')][_0x52b26b]['on'](_0xa7eb('0x47'),function(){logger[_0xa7eb('0x2e')]('[%s][QUEUE]\x20ROUTING\x20STOPPED',_0x52b26b);stopRouting(_0x52b26b,_0x33fa88,_0x568cee,_0x508ee7);clearTimeout(_0x50dbb3);_0x50dbb3=undefined;_0x5dec75[_0xa7eb('0x48')](!![]);if(_0x508ee7[_0xa7eb('0x46')][_0x52b26b]){delete _0x508ee7['rules'][_0x52b26b];}_0x114857[_0xa7eb('0x40')]();});_0x508ee7[_0xa7eb('0x46')][_0x52b26b]['on'](_0xa7eb('0x49'),function(){if(_0x508ee7[_0xa7eb('0x46')][_0x52b26b]){delete _0x508ee7['rules'][_0x52b26b];}});_0x50dbb3=setTimeout(function(){logger[_0xa7eb('0x2e')](_0xa7eb('0x4a'),_0x52b26b);endRouting(_0x52b26b,_0x33fa88,_0x568cee,_0x508ee7);clearTimeout(_0x50dbb3);_0x5dec75[_0xa7eb('0x48')](!![]);_0x114857[_0xa7eb('0x4b')]();},_0x1b6f7e);switch(_0x33fa88[_0xa7eb('0x4c')]){case _0xa7eb('0x4d'):strategy['rrmemory'](_0x5dec75,_0x33fa88,_0x508ee7,_0x568cee);break;default:strategy[_0xa7eb('0x4e')](_0x5dec75,_0x33fa88,_0x508ee7,_0x568cee);}}else{logger[_0xa7eb('0x4f')](_0xa7eb('0x50'),_0x52b26b,_0x25913b[_0xa7eb('0x30')]);_0x114857[_0xa7eb('0x40')]();}}}catch(_0x1861db){logger[_0xa7eb('0x4f')](_0xa7eb('0x3d'),_0x52b26b,_0x1861db['stack']);_0x114857[_0xa7eb('0x40')]();}};};
\ No newline at end of file
+var _0x4854=['then','[%s][END:QUEUE][NAME:%s]','catch','toLowerCase','consequence','length','[%s][QUEUE]\x20%s','map','join','stop','find','Queues','timeout','createQueue','atimeout','qtimeout','rules','end','[%s][QUEUE]\x20ROUTING\x20STOPPED','close','complete','[%s][QUEUE]\x20APPLICATION\x20END','next','strategy','rrmemory','beepall','[%s][QUEUE]\x20queue\x20not\x20found\x20%s','validate','util','moment','ioredis','../../../../config/environment','../../../../config/logger','routing','redis','defaults','localhost','socket.io-emitter','queue','from','joinAt','emit','queue_id','push','capitalize','InteractionId','%sQueuesWaitingInteractions','format','%s:queue:%s','%s_queue_waiting_interaction:%s','remove','../../rpc/openchannelQueueReport','../../rpc/mailQueueReport','../../rpc/chatQueueReport','../../rpc/faxQueueReport','../../rpc/whatsappQueueReport','../../rpc/chatInteraction','../../rpc/faxInteraction','../../rpc/mailInteraction','../../rpc/openchannelInteraction','../../rpc/smsInteraction','../../rpc/whatsappInteraction','string','name\x20is\x20a\x20string\x20and\x20it\x20is\x20required','number','timeout\x20is\x20a\x20number','body','YYYY-MM-DD\x20HH:mm:ss','contact','upperFirst','channel','QueueId','interaction','MessageId','message','WebsiteId','account','info','[%s][START:QUEUE][NAME:%s]','name','QueueReport','create','error','create\x20queue\x20report','waiting','[%s][STOP:QUEUE][NAME:%s]','Interaction','update'];(function(_0x4731b0,_0x384141){var _0x4a5525=function(_0x2e344d){while(--_0x2e344d){_0x4731b0['push'](_0x4731b0['shift']());}};_0x4a5525(++_0x384141);}(_0x4854,0x17b));var _0x4485=function(_0x3fa4bd,_0x14a72d){_0x3fa4bd=_0x3fa4bd-0x0;var _0x358c95=_0x4854[_0x3fa4bd];return _0x358c95;};'use strict';var schema=require(_0x4485('0x0'));var _=require('lodash');var util=require(_0x4485('0x1'));var seqqueue=require('seq-queue');var moment=require(_0x4485('0x2'));var Redis=require(_0x4485('0x3'));var config=require(_0x4485('0x4'));var logger=require(_0x4485('0x5'))(_0x4485('0x6'));var strategy=require('./strategy');config[_0x4485('0x7')]=_[_0x4485('0x8')](config[_0x4485('0x7')],{'host':_0x4485('0x9'),'port':0x18eb});var io=require(_0x4485('0xa'))(new Redis(config[_0x4485('0x7')]));var attributes=['id','queue_id','account',_0x4485('0xb'),_0x4485('0xc'),_0x4485('0xd')];function emit(_0x19ca46,_0xb52096,_0xaf588c){io['to'](_0x19ca46)[_0x4485('0xe')](_0xb52096,_0xaf588c);}function emitChannelQueueInteraction(_0x1d5cfb,_0x28ec6b,_0x2b042a,_0x36ac53,_0x46c6f9,_0x3520ef,_0x36c53e,_0x4671d4){var _0x461139=_['clone'](_0x2b042a);_0x461139[_0x4485('0xf')]=_0x4671d4;_0x461139[_0x4485('0xb')]=_0x28ec6b;_0x461139['account']=_0x36ac53;_0x461139['id']=_0x46c6f9;if(_0x3520ef){attributes[_0x4485('0x10')](_[_0x4485('0x11')](_0x1d5cfb)+_0x4485('0x12'));_0x36c53e[util['format'](_0x4485('0x13'),_0x1d5cfb)][_0x46c6f9]=_['pick'](_0x461139,attributes);}else{delete _0x36c53e[util[_0x4485('0x14')](_0x4485('0x13'),_0x1d5cfb)][_0x46c6f9];}emit(util[_0x4485('0x14')](_0x4485('0x15'),_0x1d5cfb,_0x28ec6b),util[_0x4485('0x14')](_0x4485('0x16'),_0x1d5cfb,_0x3520ef?'save':_0x4485('0x17')),_['pick'](_0x461139,attributes));}var rpc={'openchannelQueueReport':require(_0x4485('0x18')),'mailQueueReport':require(_0x4485('0x19')),'chatQueueReport':require(_0x4485('0x1a')),'smsQueueReport':require('../../rpc/smsQueueReport'),'faxQueueReport':require(_0x4485('0x1b')),'whatsappQueueReport':require(_0x4485('0x1c')),'chatInteraction':require(_0x4485('0x1d')),'faxInteraction':require(_0x4485('0x1e')),'mailInteraction':require(_0x4485('0x1f')),'openchannelInteraction':require(_0x4485('0x20')),'smsInteraction':require(_0x4485('0x21')),'whatsappInteraction':require(_0x4485('0x22'))};var queue=schema({'name':{'type':_0x4485('0x23'),'required':!![],'message':_0x4485('0x24')},'timeout':{'type':_0x4485('0x25'),'message':_0x4485('0x26')}});function startRouting(_0xb74689,_0x3a8e24,_0x220602,_0x4620d1){if(_0xb74689&&_0x3a8e24&&_0x220602){_0x3a8e24['waiting']+=0x1;var _0x21a748={'uniqueid':_0xb74689,'from':_0x220602['body']?_0x220602[_0x4485('0x27')][_0x4485('0xc')]:'','joinAt':moment()[_0x4485('0x14')](_0x4485('0x28')),'ContactId':_0x220602[_0x4485('0x29')]?_0x220602['contact']['id']:null,'ListId':_0x220602['list']?_0x220602['list']['id']:null};_0x21a748[_[_0x4485('0x2a')](_0x220602[_0x4485('0x2b')])+_0x4485('0x2c')]=_0x3a8e24['id']||null;_0x21a748[_[_0x4485('0x2a')](_0x220602[_0x4485('0x2b')])+_0x4485('0x12')]=_0x220602['interaction']?_0x220602[_0x4485('0x2d')]['id']:null;_0x21a748[_['upperFirst'](_0x220602['channel'])+_0x4485('0x2e')]=_0x220602[_0x4485('0x2f')]?_0x220602[_0x4485('0x2f')]['id']:null;_0x21a748[_[_0x4485('0x2a')](_0x220602[_0x4485('0x2b')])+(_0x220602[_0x4485('0x2b')]!=='chat'?'AccountId':_0x4485('0x30'))]=_0x220602[_0x4485('0x31')]?_0x220602[_0x4485('0x31')]['id']:null;logger[_0x4485('0x32')](util[_0x4485('0x14')](_0x4485('0x33'),_0xb74689,_0x3a8e24[_0x4485('0x34')]));emitChannelQueueInteraction(_0x220602[_0x4485('0x2b')],_0x3a8e24[_0x4485('0x34')],_0x21a748,_0x220602[_0x4485('0x31')][_0x4485('0x34')],_0x220602[_0x4485('0x2f')]['id'],!![],_0x4620d1,_0x3a8e24['id']);if(rpc[_0x220602[_0x4485('0x2b')]+_0x4485('0x35')]){return rpc[_0x220602[_0x4485('0x2b')]+_0x4485('0x35')][_0x4485('0x36')](_0x21a748)['catch'](function(_0x1fd18b){logger[_0x4485('0x37')](_0x4485('0x38'),_0x1fd18b);});}}}function stopRouting(_0x374c4b,_0x3c921d,_0x43f78d,_0x31d0b1){if(_0x374c4b&&_0x3c921d){_0x3c921d[_0x4485('0x39')]-=0x1;var _0x2732fe={'leaveAt':moment()[_0x4485('0x14')]('YYYY-MM-DD\x20HH:mm:ss'),'acceptAt':moment()[_0x4485('0x14')](_0x4485('0x28')),'reason':'accepted'};logger[_0x4485('0x32')](util[_0x4485('0x14')](_0x4485('0x3a'),_0x374c4b,_0x3c921d[_0x4485('0x34')]));emitChannelQueueInteraction(_0x43f78d['channel'],_0x3c921d['name'],_0x43f78d[_0x4485('0x27')],_0x43f78d[_0x4485('0x31')][_0x4485('0x34')],_0x43f78d[_0x4485('0x2f')]['id'],![],_0x31d0b1,_0x3c921d['id']);return rpc[_0x43f78d[_0x4485('0x2b')]+_0x4485('0x3b')][_0x4485('0x3c')](_0x43f78d[_0x4485('0x2d')]['id'],{'queueId':_0x3c921d['id']})[_0x4485('0x3d')](function(){if(rpc[_0x43f78d['channel']+_0x4485('0x35')]){return rpc[_0x43f78d[_0x4485('0x2b')]+'QueueReport'][_0x4485('0x3c')](_0x374c4b,_0x2732fe)['catch'](function(_0x14efba){logger['error']('update\x20queue\x20report',_0x14efba);});}});}}function endRouting(_0xe3f5c5,_0x2035f6,_0x4d107e,_0x10e4cf){if(_0xe3f5c5&&_0x2035f6){_0x2035f6[_0x4485('0x39')]-=0x1;var _0x773295={'leaveAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'exitAt':moment()[_0x4485('0x14')]('YYYY-MM-DD\x20HH:mm:ss'),'reason':'timeout'};logger['info'](util[_0x4485('0x14')](_0x4485('0x3e'),_0xe3f5c5,_0x2035f6[_0x4485('0x34')]));emitChannelQueueInteraction(_0x4d107e[_0x4485('0x2b')],_0x2035f6['name'],_0x4d107e[_0x4485('0x27')],_0x4d107e[_0x4485('0x31')][_0x4485('0x34')],_0x4d107e['message']['id'],![],_0x10e4cf);if(rpc[_0x4d107e['channel']+_0x4485('0x35')]){return rpc[_0x4d107e['channel']+_0x4485('0x35')][_0x4485('0x3c')](_0xe3f5c5,_0x773295)[_0x4485('0x3f')](function(_0x1ec80e){logger[_0x4485('0x37')]('update\x20queue\x20report',_0x1ec80e);});}}}function handleFindQueue(_0xace792){return function(_0x467b67){return _0x467b67['name']['toLowerCase']()===_0xace792[_0x4485('0x40')]();};}exports[_0x4485('0x41')]=function(_0x480c8d,_0x318f1f,_0x410800,_0x4e0edc){return function(_0x392203){try{var _0x2d8877={'name':_0x318f1f[0x0],'timeout':_0x318f1f[0x1]};var _0x1f3a13=queue[_0x4485('0x0')](_0x2d8877,{'typecast':!![]});if(_0x1f3a13[_0x4485('0x42')]){logger['error'](_0x4485('0x43'),_0x480c8d,_[_0x4485('0x44')](_0x1f3a13,'message')[_0x4485('0x45')](',\x20'));_0x392203[_0x4485('0x46')]();}else{var _0x3d6df1=_[_0x4485('0x47')](_0x410800[_0x4e0edc[_0x4485('0x2b')]+_0x4485('0x48')],handleFindQueue(_0x2d8877['name']));if(_0x3d6df1){startRouting(_0x480c8d,_0x3d6df1,_0x4e0edc,_0x410800);var _0x5581c0=(_0x3d6df1[_0x4485('0x49')]||0xa)*0x3e8;var _0x5096b9=(_0x2d8877['timeout']||0x14)*0x3e8;var _0x1f2047;if(_0x5581c0>_0x5096b9){_0x5096b9=_0x5581c0;}var _0x1cef82=seqqueue[_0x4485('0x4a')](_0x5581c0);_0x1cef82['id']=_0x480c8d;_0x1cef82[_0x4485('0x4b')]=_0x5581c0;_0x1cef82[_0x4485('0x4c')]=_0x5096b9;_0x1cef82[_0x4485('0x2b')]=_0x4e0edc[_0x4485('0x2b')];_0x410800[_0x4485('0x4d')][_0x480c8d]['on'](_0x4485('0x4e'),function(){logger[_0x4485('0x32')](_0x4485('0x4f'),_0x480c8d);stopRouting(_0x480c8d,_0x3d6df1,_0x4e0edc,_0x410800);clearTimeout(_0x1f2047);_0x1f2047=undefined;_0x1cef82[_0x4485('0x50')](!![]);if(_0x410800[_0x4485('0x4d')][_0x480c8d]){delete _0x410800[_0x4485('0x4d')][_0x480c8d];}_0x392203[_0x4485('0x46')]();});_0x410800[_0x4485('0x4d')][_0x480c8d]['on'](_0x4485('0x51'),function(){if(_0x410800['rules'][_0x480c8d]){delete _0x410800[_0x4485('0x4d')][_0x480c8d];}});_0x1f2047=setTimeout(function(){logger[_0x4485('0x32')](_0x4485('0x52'),_0x480c8d);endRouting(_0x480c8d,_0x3d6df1,_0x4e0edc,_0x410800);clearTimeout(_0x1f2047);_0x1cef82[_0x4485('0x50')](!![]);_0x392203[_0x4485('0x53')]();},_0x5096b9);switch(_0x3d6df1[_0x4485('0x54')]){case _0x4485('0x55'):strategy[_0x4485('0x55')](_0x1cef82,_0x3d6df1,_0x410800,_0x4e0edc);break;default:strategy[_0x4485('0x56')](_0x1cef82,_0x3d6df1,_0x410800,_0x4e0edc);}}else{logger['error'](_0x4485('0x57'),_0x480c8d,_0x2d8877[_0x4485('0x34')]);_0x392203[_0x4485('0x46')]();}}}catch(_0x4dfb2e){logger[_0x4485('0x37')](_0x4485('0x43'),_0x480c8d,_0x4dfb2e['stack']);_0x392203[_0x4485('0x46')]();}};};
\ No newline at end of file