Built motion from commit f6d7e26c.|2.6.14
[motion2.git] / server / components / import / cm / csvUpdates.js
index 5b3a08e..fbd2099 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xffc0=['YYYY-MM-DD\x20HH:mm:ss','YYYYMMDDHHmmss','test','select','field','from','join','.id\x20=\x20','\x20=\x20','where','sequelize','query','spread','push','all','then','catch','message','isNil','split','length','CmContactHasItem','update','updated','PHONE','CmContact','CmHopper','phone','cm_contacts.phone','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','scheduledat','ContactId','ListId','updatedAt','priority','UserId','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','toString','cm_hopper_black','.CmListId\x20=\x20?','ListId\x20=\x20?','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','CmHopperId','OrderBy','createdAt','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','concat','keys','MIN(id)','min_id','group','error','errors','info','stringify','start','clone','socket_timestamp','root','body','ContactItemType','findAll','name','_description','writeFileSync','parse','createReadStream','data','rows','find','hasOwnProperty','trim','replace','isValid','isNaN','isNumber','dateOfBirth','YYYY-MM-DD','dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','firstName','itemTypeId','description','appendFileSync','emit','contact:import:','Abort\x20parser','abort','SystemError','step','CREATE\x20TABLE\x20','CIS\x20len','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27','CompanyId',',\x20scheduledAt\x20=\x20NOW()','contact','contactId','orderBy','DROP\x20TABLE\x20','each','finish','unlink','exit','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','existsSync','file\x20doesn\x27t\x20exists','binding','body\x20id\x20mandatory','map','No\x20agent\x20available','uncaughtException','lodash','util','bluebird','moment','squel','ioredis','../../../mysqldb','../../../config/environment','import','redis','defaults','socket.io-emitter','format'];(function(_0x2fd02e,_0x8ebcc5){var _0x4d7f54=function(_0x1437c0){while(--_0x1437c0){_0x2fd02e['push'](_0x2fd02e['shift']());}};_0x4d7f54(++_0x8ebcc5);}(_0xffc0,0x1a0));var _0x0ffc=function(_0x48873f,_0x29c1d7){_0x48873f=_0x48873f-0x0;var _0x154ad4=_0xffc0[_0x48873f];return _0x154ad4;};'use strict';var fs=require('fs');var path=require('path');var _=require(_0x0ffc('0x0'));var Papa=require('papaparse');var util=require(_0x0ffc('0x1'));var BPromise=require(_0x0ffc('0x2'));var moment=require(_0x0ffc('0x3'));var squel=require(_0x0ffc('0x4'));var Redis=require(_0x0ffc('0x5'));var db=require(_0x0ffc('0x6'))['db'];var config=require(_0x0ffc('0x7'));var logger=require('../../../config/logger')(_0x0ffc('0x8'));config[_0x0ffc('0x9')]=_[_0x0ffc('0xa')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x0ffc('0xb'))(new Redis(config[_0x0ffc('0x9')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var promisesContact=[];var orderBy=0x0;var updatedRows=0x0;var stopped=![];var NOW=moment()[_0x0ffc('0xc')](_0x0ffc('0xd'));var tempTableName='cm_contacts_temp_'+moment()[_0x0ffc('0xc')](_0x0ffc('0xe'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x234549){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/[_0x0ffc('0xf')](_0x234549);}function selectNotIn(_0x20bfe1,_0x1ca057,_0x252444,_0x3547c0,_0x481a0f){return squel[_0x0ffc('0x10')]()[_0x0ffc('0x11')]('phone')[_0x0ffc('0x12')](_0x3547c0)[_0x0ffc('0x13')](_0x1ca057,null,_0x1ca057+_0x0ffc('0x14')+_0x3547c0+'.'+_0x252444)['where'](_0x3547c0+'.'+_0x252444+_0x0ffc('0x15')+_0x20bfe1+'.'+_0x252444)[_0x0ffc('0x16')](_0x1ca057+'.dialCheckDuplicateType\x20IN\x20('+_0x481a0f[_0x0ffc('0x13')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x137908,_0x1e32b4){promisesAdditionalPhones=[];promisesContact=[];return db[_0x0ffc('0x17')][_0x0ffc('0x18')]('select\x20*\x20from\x20'+tempTableName)[_0x0ffc('0x19')](function(_0x565921){if(_0x565921!==null){var _0x7f401=[];for(var _0xc2bb7e=0x0;_0xc2bb7e<_0x565921['length'];_0xc2bb7e++){var _0x4803b4=_0x565921[_0xc2bb7e];if(!_['isNil'](_0x4803b4['phone'])){if(!_['isNil'](_0x4803b4['AdditionalPhones']))_0x7f401[_0x0ffc('0x1a')](insertAdditionalPhones(_0x4803b4));promisesContact[_0x0ffc('0x1a')]({'contact':_0x4803b4});}}}Promise[_0x0ffc('0x1b')](_0x7f401)[_0x0ffc('0x1c')](function(){_0x137908({'val':0x1});});})[_0x0ffc('0x1d')](function(_0x480931){logger['error'](_0x480931[_0x0ffc('0x1e')]);});});}function insertAdditionalPhones(_0x5e5256){return new Promise(function(_0x49e690,_0x60ac9d){var _0x126f09=_0x5e5256['AdditionalPhones'];if(_[_0x0ffc('0x1f')](_0x126f09))_0x60ac9d({'val':0x0});else{var _0x18bc34=_0x126f09[_0x0ffc('0x20')](';');var _0x527fd4=[];orderBy=0x0;for(var _0x4ffd80=0x0;_0x4ffd80<_0x18bc34[_0x0ffc('0x21')];_0x4ffd80++){_0x527fd4[_0x0ffc('0x1a')](splitAdditionalPhone(_0x5e5256['id'],_0x18bc34[_0x4ffd80]));}Promise[_0x0ffc('0x1b')](_0x527fd4)[_0x0ffc('0x1c')](function(){_0x49e690({'val':_0x18bc34[_0x0ffc('0x21')]});});}});}function splitAdditionalPhone(_0x4d4294,_0x501c0c){return new Promise(function(_0x3e1180,_0x529415){var _0x154ffe=_0x501c0c['split'](':');var _0x25e3c0=_0x154ffe[0x0];var _0x136b0a=_0x154ffe[0x1];if(_0x136b0a!==''){var _0x23b14e=_0x136b0a[_0x0ffc('0x20')]('|');var _0x3968cc=[];for(var _0x34bce1=0x0;_0x34bce1<_0x23b14e[_0x0ffc('0x21')];_0x34bce1++){if(_0x23b14e[_0x34bce1]!==''){var _0x4a2794=_['filter'](promisesAdditionalPhones,{'contactId':_0x4d4294,'phone':_0x23b14e[_0x34bce1]});if(_0x4a2794[_0x0ffc('0x21')]==0x0){orderBy++;promisesAdditionalPhones[_0x0ffc('0x1a')]({'contactId':_0x4d4294,'contactTypeId':_0x25e3c0,'phone':_0x23b14e[_0x34bce1],'orderBy':orderBy});}}}_0x3e1180({'ok':0x1});}else _0x3e1180({'res':0x0});});}function createAdditionalPhone(_0x59afc9,_0x5bb1d5,_0x40166f,_0x5f3a01){var _0x13c425='';var _0x5d3cff='';var _0x4ece4f=_0x40166f[_0x0ffc('0x20')]('§');_0x13c425=_0x4ece4f[0x0];if(_0x4ece4f['length']==0x2)_0x5d3cff=_0x4ece4f[0x1];return new Promise(function(_0x467905,_0x18dc67){return db[_0x0ffc('0x22')]['findOne']({'where':{'CmContactId':_0x59afc9,'item':_0x13c425}})[_0x0ffc('0x1c')](function(_0x2c87d0){if(_0x2c87d0){return db[_0x0ffc('0x22')][_0x0ffc('0x23')]({'ItemTypeId':_0x5bb1d5,'description':_0x5d3cff,'OrderBy':_0x5f3a01},{'where':{'CmContactId':_0x59afc9,'item':_0x13c425}})['then'](function(_0x170390){_0x467905({'res':_0x0ffc('0x24')});});}else{return db[_0x0ffc('0x22')]['create']({'CmContactId':_0x59afc9,'item':_0x13c425,'ItemTypeId':_0x5bb1d5,'description':_0x5d3cff,'OrderBy':_0x5f3a01,'ItemClass':_0x0ffc('0x25')})['then'](function(_0x321fa9){_0x467905({'res':'inserted'});});}});});}function updateContact(_0x214faf){return new Promise(function(_0x103bb3,_0x48fdca){var _0x473d6c=_0x214faf['id'];delete _0x214faf['id'];return db[_0x0ffc('0x26')][_0x0ffc('0x23')](_0x214faf,{'where':{'id':_0x473d6c}})[_0x0ffc('0x1c')](function(_0x581c42){updatedRows+=0x1;return db[_0x0ffc('0x27')][_0x0ffc('0x23')]({'phone':_0x214faf[_0x0ffc('0x28')]},{'where':{'ContactId':_0x473d6c}})[_0x0ffc('0x1c')](function(_0x1edd2c){_0x103bb3({'ret':'OK'});});});});}function insertCmHopper(_0x6f3091,_0x1ba0b6,_0x597d9a,_0x482372,_0x3e3c5f){var _0x329a64=[_0x0ffc('0x29'),'cm_contacts.scheduledat',_0x0ffc('0x2a'),_0x0ffc('0x2b'),_0x1ba0b6+'.'+_0x482372,_0x0ffc('0x2c'),_0x0ffc('0x2d'),'cm_contacts.priority',_0x0ffc('0x2e'),'\x22'+_0x3e3c5f+'\x22'];return squel[_0x0ffc('0x2f')]()[_0x0ffc('0x30')](_0x0ffc('0x31'))[_0x0ffc('0x32')]([_0x0ffc('0x28'),_0x0ffc('0x33'),_0x0ffc('0x34'),_0x0ffc('0x35'),_0x482372,'createdAt',_0x0ffc('0x36'),_0x0ffc('0x37'),_0x0ffc('0x38'),_0x0ffc('0x39')],squel['select']()[_0x0ffc('0x3a')](_0x329a64)[_0x0ffc('0x12')](_0x1ba0b6)[_0x0ffc('0x13')](_0x0ffc('0x3b'),null,_0x0ffc('0x3c')+_0x1ba0b6+_0x0ffc('0x3d'))[_0x0ffc('0x13')](_0x597d9a,null,_0x597d9a+_0x0ffc('0x14')+_0x1ba0b6+'.'+_0x482372)[_0x0ffc('0x16')](_0x1ba0b6+'.CmListId\x20=\x20?',_0x6f3091)[_0x0ffc('0x16')](_0x0ffc('0x3e'),NOW)[_0x0ffc('0x16')](_0x0ffc('0x3f'),selectNotIn(_0x1ba0b6,_0x597d9a,_0x482372,'cm_hopper',['\x22always\x22','\x22onlyIfOpen\x22']))[_0x0ffc('0x16')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x1ba0b6,_0x597d9a,_0x482372,_0x0ffc('0x31'),['\x22always\x22'])))[_0x0ffc('0x40')]();}function insertCmHopperBlack(_0x1cb958,_0x50c005,_0x54070c,_0x1bf431){var _0x46b411=['cm_contacts.phone',_0x0ffc('0x2a'),_0x0ffc('0x2b'),_0x50c005+'.'+_0x1bf431,'cm_contacts.createdAt','cm_contacts.updatedAt'];return squel[_0x0ffc('0x2f')]()['into'](_0x0ffc('0x41'))['fromQuery'](['phone','ContactId',_0x0ffc('0x35'),_0x1bf431,'createdAt',_0x0ffc('0x36')],squel[_0x0ffc('0x10')]()[_0x0ffc('0x3a')](_0x46b411)['from'](_0x50c005)[_0x0ffc('0x13')](_0x0ffc('0x3b'),null,_0x0ffc('0x3c')+_0x50c005+_0x0ffc('0x3d'))[_0x0ffc('0x13')](_0x54070c,null,_0x54070c+_0x0ffc('0x14')+_0x50c005+'.'+_0x1bf431)[_0x0ffc('0x16')](_0x50c005+_0x0ffc('0x42'),_0x1cb958)['where'](_0x0ffc('0x3e'),NOW)[_0x0ffc('0x16')](_0x0ffc('0x3f'),squel['select']()[_0x0ffc('0x11')](_0x0ffc('0x28'))[_0x0ffc('0x12')](_0x0ffc('0x41'))['where'](_0x0ffc('0x43'),_0x1cb958)[_0x0ffc('0x16')](_0x1bf431+'\x20=\x20?',_0x50c005+'.'+_0x1bf431)))[_0x0ffc('0x40')]();}function insertCmHopperAdditionalPhones(_0x5f6aad){var _0x5cd99e=['cm_hopper.id',_0x0ffc('0x44'),_0x0ffc('0x45'),_0x0ffc('0x46'),'cm_contact_has_items.updatedAt'];return squel['insert']()[_0x0ffc('0x30')]('cm_hopper_additional_phones')[_0x0ffc('0x32')]([_0x0ffc('0x47'),_0x0ffc('0x28'),_0x0ffc('0x48'),_0x0ffc('0x49'),'updatedAt'],squel[_0x0ffc('0x10')]()[_0x0ffc('0x3a')](_0x5cd99e)[_0x0ffc('0x12')](_0x0ffc('0x31'))['join']('cm_contacts',null,_0x0ffc('0x4a'))['join'](_0x0ffc('0x4b'),null,_0x0ffc('0x4c'))['where']('cm_hopper.ListId\x20=\x20?',_0x5f6aad)[_0x0ffc('0x16')](_0x0ffc('0x3e'),NOW))['toString']();}function insertCmContact(_0x3394a9,_0x14d785,_0x265b8d,_0x38aa4b){var _0x18b55b=_[_0x0ffc('0x4d')](_[_0x0ffc('0x4e')](_0x38aa4b),['ListId','CompanyId',_0x0ffc('0x49'),_0x0ffc('0x36')]);return squel['insert']()[_0x0ffc('0x30')](_0x0ffc('0x3b'))[_0x0ffc('0x32')](_0x18b55b,squel['select']()[_0x0ffc('0x3a')](_0x18b55b)['from'](_0x14d785)['where']('('+_0x265b8d[_0x0ffc('0x13')](',')+')\x20NOT\x20IN\x20?',squel['select']()[_0x0ffc('0x3a')](_0x265b8d)[_0x0ffc('0x12')](_0x0ffc('0x3b'))['where'](_0x0ffc('0x43'),_0x3394a9))[_0x0ffc('0x16')]('id\x20IN\x20?',squel['select']()[_0x0ffc('0x11')](_0x0ffc('0x4f'),_0x0ffc('0x50'))[_0x0ffc('0x12')](_0x14d785)[_0x0ffc('0x51')](_0x265b8d['join'](','))))[_0x0ffc('0x40')]();}function handleStop(){logger['info']('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x28ec97){logger[_0x0ffc('0x52')](_0x28ec97[_0x0ffc('0x1e')]);process['exit'](0x1);}function handleError(_0x5c83d3,_0x4aa514){stats[_0x0ffc('0x53')][_0x0ffc('0x1a')]({'name':_0x4aa514['code'],'message':_0x4aa514[_0x0ffc('0x1e')],'row':_0x5c83d3});}function handleQuery(_0x455e96){logger['info'](_0x455e96);return db[_0x0ffc('0x17')][_0x0ffc('0x18')](_0x455e96)[_0x0ffc('0x19')](function(_0x4a510b){results[_0x0ffc('0x1a')](_0x4a510b);})[_0x0ffc('0x1d')](function(_0x42372d){logger[_0x0ffc('0x52')](_0x42372d['message']);});}function main(_0x55b47d,_0x13a739,_0x59bb1e,_0x32ce17){logger[_0x0ffc('0x54')]('main',_0x55b47d,JSON[_0x0ffc('0x55')](_0x13a739));process['send'](_0x0ffc('0x56'));var _0x44397e=_0x13a739['binding'];var _0x5d515c=_[_0x0ffc('0x57')](_0x44397e);var _0x314da1=_0x13a739[_0x0ffc('0x58')];var _0x26f3d8=path[_0x0ffc('0x13')](config[_0x0ffc('0x59')],'server/files/tmp',_0x314da1+'.csv');logger[_0x0ffc('0x54')](_0x0ffc('0x5a'),_0x13a739);db[_0x0ffc('0x5b')][_0x0ffc('0x5c')]({'raw':!![],'attributes':['id',_0x0ffc('0x5d')]})['then'](function(_0x576442){for(var _0x12fd65=0x0;_0x12fd65<_0x576442[_0x0ffc('0x21')];_0x12fd65++){if(_0x576442[_0x12fd65][_0x0ffc('0x5d')]in _0x44397e){contactItemTypes['push'](_0x576442[_0x12fd65]);delete _0x5d515c[_0x576442[_0x12fd65][_0x0ffc('0x5d')]];hasAdditionalPhones=!![];}for(var _0x10107d in _0x44397e){if(_0x576442[_0x12fd65][_0x0ffc('0x5d')]+_0x0ffc('0x5e')===_0x10107d){phoneDescriptions[_0x0ffc('0x1a')]({'itemTypeId':_0x576442[_0x12fd65]['id'],'description':_0x10107d});delete _0x5d515c[_0x10107d];}}}if(hasAdditionalPhones)_0x5d515c['AdditionalPhones']='';var _0x2f4ae6=_[_0x0ffc('0x4e')](_0x5d515c)[_0x0ffc('0x13')]();logger[_0x0ffc('0x54')]('header',_0x2f4ae6);fs[_0x0ffc('0x5f')](_0x26f3d8,_0x2f4ae6+'\x0a');Papa[_0x0ffc('0x60')](fs[_0x0ffc('0x61')](_0x55b47d),{'header':!![],'skipEmptyLines':!![],'step':function(_0x24dd64,_0x589e42){try{for(var _0xc8e26d=0x0,_0x416aad=[];_0xc8e26d<_0x24dd64[_0x0ffc('0x62')][_0x0ffc('0x21')];_0xc8e26d++){stats[_0x0ffc('0x63')]+=0x1;if(_0x24dd64[_0x0ffc('0x53')][_0xc8e26d]){handleError(_0x24dd64[_0x0ffc('0x62')][_0xc8e26d],_0x24dd64['errors'][_0xc8e26d]);}else{var _0x8162a5=[];var _0x59901f=[];var _0x3bde31={};for(var _0x1d7b1e in _0x44397e){let _0x577890=contactItemTypes[_0x0ffc('0x64')](_0x44f708=>_0x44f708[_0x0ffc('0x5d')]===_0x1d7b1e);let _0xb98f11=contactItemTypes[_0x0ffc('0x64')](_0x313e9b=>_0x313e9b[_0x0ffc('0x5d')]+_0x0ffc('0x5e')===_0x1d7b1e);if(_['isNil'](_0x577890)&&_[_0x0ffc('0x1f')](_0xb98f11)){if(_0x44397e[_0x0ffc('0x65')](_0x1d7b1e)){if(_0x24dd64[_0x0ffc('0x62')][_0xc8e26d][_0x44397e[_0x1d7b1e]]){var _0x100d6c=_[_0x0ffc('0x66')](_0x24dd64[_0x0ffc('0x62')][_0xc8e26d][_0x44397e[_0x1d7b1e]][_0x0ffc('0x67')](/"/g,'\x27'));switch(_0x1d7b1e){case _0x0ffc('0x33'):var _0x53e2f2=moment(_0x100d6c,_0x0ffc('0xd'),!![]);if(_0x53e2f2[_0x0ffc('0x68')]()){_0x416aad['push']('\x22'+_0x100d6c+'\x22');}else{_0x8162a5[_0x0ffc('0x1a')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x0ffc('0x37'):var _0x4cbb97=parseInt(_0x100d6c);_0x100d6c=_[_0x0ffc('0x69')](_0x4cbb97)||_0x4cbb97<0x0||_0x4cbb97>0x4?_0x32ce17?0x3:0x2:_0x4cbb97;_0x416aad['push']('\x22'+_0x100d6c+'\x22');break;case _0x0ffc('0x38'):var _0x1b0cd2=parseInt(_0x100d6c);if(_[_0x0ffc('0x6a')](_0x1b0cd2)&&_['includes'](_0x59bb1e,_0x1b0cd2)){_0x416aad['push']('\x22'+_0x1b0cd2+'\x22');}else{_0x8162a5[_0x0ffc('0x1a')]('agent\x20not\x20exists');}break;case'email':if(isEmail(_0x100d6c)){_0x416aad[_0x0ffc('0x1a')]('\x22'+_0x100d6c+'\x22');}else{_0x8162a5[_0x0ffc('0x1a')]('email\x20wrong\x20format');}break;case _0x0ffc('0x6b'):var _0x489c4a=moment(_0x100d6c,_0x0ffc('0x6c'),!![]);if(_0x489c4a[_0x0ffc('0x68')]()){_0x416aad[_0x0ffc('0x1a')]('\x22'+_0x100d6c+'\x22');}else{_0x8162a5['push'](_0x0ffc('0x6d'));}break;default:_0x416aad[_0x0ffc('0x1a')]('\x22'+_0x100d6c+'\x22');}}else{switch(_0x1d7b1e){case _0x0ffc('0x6e'):case _0x0ffc('0x28'):_0x8162a5[_0x0ffc('0x1a')](_0x1d7b1e+'\x20not\x20specified');break;default:_0x416aad[_0x0ffc('0x1a')]('\x22\x22');}}}}else{var _0x250eb7='';if(!_['isNil'](_0x577890)){if(!_0x3bde31[_0x0ffc('0x65')](_0x577890['id'])){for(var _0x5be92d=0x0;_0x5be92d<_0x44397e[_0x1d7b1e][_0x0ffc('0x21')];_0x5be92d++){var _0x100d6c=_[_0x0ffc('0x66')](_0x24dd64[_0x0ffc('0x62')][_0xc8e26d][_0x44397e[_0x1d7b1e][_0x5be92d]][_0x0ffc('0x67')](/"/g,'\x27'));var _0x3314be=phoneDescriptions['find'](_0x355a70=>_0x355a70[_0x0ffc('0x6f')]===_0x577890['id']);if(!_['isNil'](_0x3314be)){var _0x7789d4=_[_0x0ffc('0x66')](_0x24dd64[_0x0ffc('0x62')][_0xc8e26d][_0x44397e[_0x3314be[_0x0ffc('0x70')]][0x0]][_0x0ffc('0x67')](/"/g,'\x27'));if(!_[_0x0ffc('0x1f')](_0x7789d4))_0x100d6c=_0x100d6c+'§'+_0x7789d4;}if(_0x250eb7=='')_0x250eb7=_0x100d6c;else _0x250eb7+='|'+_0x100d6c;}_0x59901f[_0x0ffc('0x1a')](_0x577890['id']+':'+_0x250eb7);_0x3bde31[_0x577890['id']]=0x1;}}}}if(hasAdditionalPhones){_0x416aad[_0x0ffc('0x1a')]('\x22'+_0x59901f[_0x0ffc('0x13')](';')+'\x22');}if(_0x8162a5[_0x0ffc('0x21')]){handleError(_0x24dd64['data'][_0xc8e26d],{'code':'SystemRow','message':_0x8162a5['join']()});}else{fs[_0x0ffc('0x71')](_0x26f3d8,_0x416aad[_0x0ffc('0x13')]()+'\x0a');}_0x416aad=[];}if(!(stats[_0x0ffc('0x63')]%0xc8)){socket[_0x0ffc('0x72')](_0x0ffc('0x73')+_0x314da1,stats);stats['errors']=[];}}if(stopped){logger[_0x0ffc('0x54')](_0x0ffc('0x74'));_0x589e42[_0x0ffc('0x75')]();}}catch(_0x3c5583){handleError(_0x24dd64['data'][_0xc8e26d],{'code':_0x0ffc('0x76'),'message':_0x3c5583[_0x0ffc('0x1e')]});logger[_0x0ffc('0x52')](_0x0ffc('0x77'),_0x3c5583[_0x0ffc('0x1e')]);}},'complete':function(){try{var _0xc6ffb6=[];var _0x2e3f2b=tempTableName;_0xc6ffb6[_0x0ffc('0x1a')](_0x0ffc('0x78')+_0x2e3f2b+'\x20LIKE\x20cm_contacts;');logger[_0x0ffc('0x54')](_0x0ffc('0x79'),contactItemTypes['length']);var _0x2eb982=util[_0x0ffc('0xc')](_0x0ffc('0x7a'),_0x26f3d8,_0x2e3f2b,_0x2f4ae6,_0x13a739[_0x0ffc('0x35')],_0x13a739[_0x0ffc('0x7b')]||null,NOW,NOW);if(_['isNil'](_0x44397e[_0x0ffc('0x33')])){_0x2eb982+=_0x0ffc('0x7c');}_0xc6ffb6['push'](_0x2eb982);BPromise['each'](_0xc6ffb6,handleQuery)[_0x0ffc('0x1c')](function(_0x3bf2d8){BPromise['all']([handleAdditionalPhones()])['then'](function(){_0xc6ffb6=[];for(var _0x44c882=0x0;_0x44c882<promisesContact[_0x0ffc('0x21')];_0x44c882++){_0xc6ffb6[_0x0ffc('0x1a')](updateContact(promisesContact[_0x44c882][_0x0ffc('0x7d')]));}BPromise['all'](_0xc6ffb6)[_0x0ffc('0x1c')](function(){_0xc6ffb6=[];for(var _0x3f41c1=0x0;_0x3f41c1<promisesAdditionalPhones[_0x0ffc('0x21')];_0x3f41c1++){_0xc6ffb6['push'](createAdditionalPhone(promisesAdditionalPhones[_0x3f41c1][_0x0ffc('0x7e')],promisesAdditionalPhones[_0x3f41c1]['contactTypeId'],promisesAdditionalPhones[_0x3f41c1][_0x0ffc('0x28')],promisesAdditionalPhones[_0x3f41c1][_0x0ffc('0x7f')]));}BPromise[_0x0ffc('0x1b')](_0xc6ffb6)[_0x0ffc('0x1c')](function(){_0xc6ffb6=[];_0xc6ffb6[_0x0ffc('0x1a')](insertCmHopperAdditionalPhones(_0x13a739['ListId']));_0xc6ffb6[_0x0ffc('0x1a')](_0x0ffc('0x80')+_0x2e3f2b+';');BPromise[_0x0ffc('0x81')](_0xc6ffb6,handleQuery)[_0x0ffc('0x1c')](function(_0x561e4c){stats[_0x0ffc('0x82')]=!![];stats['affectedRows']=updatedRows;socket[_0x0ffc('0x72')](_0x0ffc('0x73')+_0x314da1,stats);fs[_0x0ffc('0x83')](_0x55b47d);fs[_0x0ffc('0x83')](_0x26f3d8);process['exit'](0x0);})['catch'](function(_0x5b0171){logger[_0x0ffc('0x52')](_0x5b0171[_0x0ffc('0x1e')]);process['exit'](0x1);});});});});})[_0x0ffc('0x1d')](function(_0x5b2ce3){logger[_0x0ffc('0x52')](_0x5b2ce3['message']);process[_0x0ffc('0x84')](0x1);});}catch(_0xb89296){logger[_0x0ffc('0x52')](_0x0ffc('0x85'),_0xb89296['message']);process[_0x0ffc('0x84')](0x1);}},'error':function(_0x1a2d22,_0x43fdf7,_0x113668,_0x259c88){throw new Error(_0x259c88);}});});}function validate(){if(process[_0x0ffc('0x86')]&&process[_0x0ffc('0x86')][_0x0ffc('0x21')]<0x4){throw new Error(_0x0ffc('0x87'));}var _0x39b276=path[_0x0ffc('0x13')](config['root'],'server/files/tmp',process['argv'][0x2]);if(!fs[_0x0ffc('0x88')](_0x39b276)){throw new Error(_0x0ffc('0x89'));}var _0x2e78af={};try{_0x2e78af=JSON[_0x0ffc('0x60')](process['argv'][0x3]);if(!_0x2e78af[_0x0ffc('0x8a')]){throw new Error('binding\x20doesn\x27t\x20exists');}var _0x4987c2=0x0;if(_0x2e78af[_0x0ffc('0x8a')][_0x0ffc('0x38')]){_0x4987c2=0x1;}if(!_0x2e78af[_0x0ffc('0x35')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0xc53a71){throw new Error(_0x0ffc('0x8b'));}var _0x4babf5=[];try{_0x4babf5=_[_0x0ffc('0x8c')](JSON[_0x0ffc('0x60')](process[_0x0ffc('0x86')][0x4]),'id');}catch(_0xb3796f){logger['info'](_0x0ffc('0x8d'));}main(_0x39b276,_0x2e78af,_0x4babf5,_0x4987c2);}validate();process['on']('SIGINT',handleStop);process['on'](_0x0ffc('0x8e'),handleUncaughtException);
\ No newline at end of file
+var _0x49db=['find','trim','replace','scheduledat','isValid','isNumber','includes','agent\x20not\x20exists','email','email\x20wrong\x20format','YYYY-MM-DD','\x20not\x20specified','hasOwnProperty','itemTypeId','description','SystemRow','appendFileSync','contact:import:','SystemError','step','CIS\x20len','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27',',\x20scheduledAt\x20=\x20NOW()','each','contact','contactId','contactTypeId','DROP\x20TABLE\x20','finish','affectedRows','emit','exit','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','file\x20doesn\x27t\x20exists','parse','binding\x20doesn\x27t\x20exists','ListId\x20is\x20mandatory','map','No\x20agent\x20available','SIGINT','uncaughtException','path','lodash','papaparse','util','bluebird','squel','ioredis','../../../mysqldb','../../../config/logger','defaults','redis','localhost','format','YYYY-MM-DD\x20HH:mm:ss','cm_contacts_temp_','YYYYMMDDHHmmss','select','field','phone','from','.id\x20=\x20','where','\x20=\x20','join','sequelize','query','select\x20*\x20from\x20','spread','isNil','push','all','then','catch','message','AdditionalPhones','split','length','filter','findOne','CmContactHasItem','update','create','PHONE','inserted','CmContact','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','insert','into','cm_hopper','updatedAt','priority','UserId','recallme','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.phone\x20NOT\x20IN\x20(?)','cm_contacts.phone','cm_contacts.ListId','cm_hopper_black','fromQuery','ContactId','createdAt','ListId\x20=\x20?','\x20=\x20?','toString','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_hopper_additional_phones','CmHopperId','OrderBy','fields','cm_contacts.id\x20=\x20cm_hopper.ContactId','cm_hopper.ListId\x20=\x20?','concat','keys','ListId','CompanyId',')\x20NOT\x20IN\x20?','MIN(id)','min_id','group','info','errors','code','error','main','stringify','start','binding','clone','root','.csv','body','ContactItemType','findAll','name','_description','header','writeFileSync','createReadStream','data','rows'];(function(_0x44edc8,_0x41e0a7){var _0x214264=function(_0x59f6a0){while(--_0x59f6a0){_0x44edc8['push'](_0x44edc8['shift']());}};_0x214264(++_0x41e0a7);}(_0x49db,0xc5));var _0xb49d=function(_0x275f36,_0x31cde2){_0x275f36=_0x275f36-0x0;var _0x479ba9=_0x49db[_0x275f36];return _0x479ba9;};'use strict';var fs=require('fs');var path=require(_0xb49d('0x0'));var _=require(_0xb49d('0x1'));var Papa=require(_0xb49d('0x2'));var util=require(_0xb49d('0x3'));var BPromise=require(_0xb49d('0x4'));var moment=require('moment');var squel=require(_0xb49d('0x5'));var Redis=require(_0xb49d('0x6'));var db=require(_0xb49d('0x7'))['db'];var config=require('../../../config/environment');var logger=require(_0xb49d('0x8'))('import');config['redis']=_[_0xb49d('0x9')](config[_0xb49d('0xa')],{'host':_0xb49d('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xb49d('0xa')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var promisesContact=[];var orderBy=0x0;var updatedRows=0x0;var stopped=![];var NOW=moment()[_0xb49d('0xc')](_0xb49d('0xd'));var tempTableName=_0xb49d('0xe')+moment()[_0xb49d('0xc')](_0xb49d('0xf'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x54f285){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/['test'](_0x54f285);}function selectNotIn(_0x3f21e3,_0x3422e0,_0x3e9e6d,_0x3259e5,_0x2c9c16){return squel[_0xb49d('0x10')]()[_0xb49d('0x11')](_0xb49d('0x12'))[_0xb49d('0x13')](_0x3259e5)['join'](_0x3422e0,null,_0x3422e0+_0xb49d('0x14')+_0x3259e5+'.'+_0x3e9e6d)[_0xb49d('0x15')](_0x3259e5+'.'+_0x3e9e6d+_0xb49d('0x16')+_0x3f21e3+'.'+_0x3e9e6d)[_0xb49d('0x15')](_0x3422e0+'.dialCheckDuplicateType\x20IN\x20('+_0x2c9c16[_0xb49d('0x17')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x2c0b41,_0x4ddeb5){promisesAdditionalPhones=[];promisesContact=[];return db[_0xb49d('0x18')][_0xb49d('0x19')](_0xb49d('0x1a')+tempTableName)[_0xb49d('0x1b')](function(_0x1491fb){if(_0x1491fb!==null){var _0x270298=[];for(var _0x1dba19=0x0;_0x1dba19<_0x1491fb['length'];_0x1dba19++){var _0x1da77c=_0x1491fb[_0x1dba19];if(!_[_0xb49d('0x1c')](_0x1da77c[_0xb49d('0x12')])){if(!_[_0xb49d('0x1c')](_0x1da77c['AdditionalPhones']))_0x270298['push'](insertAdditionalPhones(_0x1da77c));promisesContact[_0xb49d('0x1d')]({'contact':_0x1da77c});}}}Promise[_0xb49d('0x1e')](_0x270298)[_0xb49d('0x1f')](function(){_0x2c0b41({'val':0x1});});})[_0xb49d('0x20')](function(_0x5b24b9){logger['error'](_0x5b24b9[_0xb49d('0x21')]);});});}function insertAdditionalPhones(_0x47626f){return new Promise(function(_0x3bf7a2,_0x263c62){var _0x22ad15=_0x47626f[_0xb49d('0x22')];if(_[_0xb49d('0x1c')](_0x22ad15))_0x263c62({'val':0x0});else{var _0x35f82b=_0x22ad15[_0xb49d('0x23')](';');var _0x38be04=[];orderBy=0x0;for(var _0x19ead9=0x0;_0x19ead9<_0x35f82b[_0xb49d('0x24')];_0x19ead9++){_0x38be04[_0xb49d('0x1d')](splitAdditionalPhone(_0x47626f['id'],_0x35f82b[_0x19ead9]));}Promise[_0xb49d('0x1e')](_0x38be04)[_0xb49d('0x1f')](function(){_0x3bf7a2({'val':_0x35f82b[_0xb49d('0x24')]});});}});}function splitAdditionalPhone(_0x26db55,_0x21c0e1){return new Promise(function(_0x165ec2,_0x1ae086){var _0xb3d5=_0x21c0e1[_0xb49d('0x23')](':');var _0x5a6cbe=_0xb3d5[0x0];var _0x227305=_0xb3d5[0x1];if(_0x227305!==''){var _0x4b7134=_0x227305[_0xb49d('0x23')]('|');var _0x3b7fee=[];for(var _0x56163c=0x0;_0x56163c<_0x4b7134[_0xb49d('0x24')];_0x56163c++){if(_0x4b7134[_0x56163c]!==''){var _0x1cd841=_[_0xb49d('0x25')](promisesAdditionalPhones,{'contactId':_0x26db55,'phone':_0x4b7134[_0x56163c]});if(_0x1cd841[_0xb49d('0x24')]==0x0){orderBy++;promisesAdditionalPhones[_0xb49d('0x1d')]({'contactId':_0x26db55,'contactTypeId':_0x5a6cbe,'phone':_0x4b7134[_0x56163c],'orderBy':orderBy});}}}_0x165ec2({'ok':0x1});}else _0x165ec2({'res':0x0});});}function createAdditionalPhone(_0x2276ba,_0x5d7323,_0x3930fe,_0xf734e1){var _0x2b5e5d='';var _0x37901b='';var _0x420e63=_0x3930fe[_0xb49d('0x23')]('§');_0x2b5e5d=_0x420e63[0x0];if(_0x420e63[_0xb49d('0x24')]==0x2)_0x37901b=_0x420e63[0x1];return new Promise(function(_0x588529,_0x3f1796){return db['CmContactHasItem'][_0xb49d('0x26')]({'where':{'CmContactId':_0x2276ba,'item':_0x2b5e5d}})[_0xb49d('0x1f')](function(_0x978e19){if(_0x978e19){return db[_0xb49d('0x27')][_0xb49d('0x28')]({'ItemTypeId':_0x5d7323,'description':_0x37901b,'OrderBy':_0xf734e1},{'where':{'CmContactId':_0x2276ba,'item':_0x2b5e5d}})[_0xb49d('0x1f')](function(_0xd6d0b){_0x588529({'res':'updated'});});}else{return db[_0xb49d('0x27')][_0xb49d('0x29')]({'CmContactId':_0x2276ba,'item':_0x2b5e5d,'ItemTypeId':_0x5d7323,'description':_0x37901b,'OrderBy':_0xf734e1,'ItemClass':_0xb49d('0x2a')})['then'](function(_0x5cc4e5){_0x588529({'res':_0xb49d('0x2b')});});}});});}function updateContact(_0x12abb6){return new Promise(function(_0x208967,_0xbb8e0f){var _0x3fd75e=_0x12abb6['id'];delete _0x12abb6['id'];return db[_0xb49d('0x2c')][_0xb49d('0x28')](_0x12abb6,{'where':{'id':_0x3fd75e}})[_0xb49d('0x1f')](function(_0x594dcb){updatedRows+=0x1;return db['CmHopper'][_0xb49d('0x28')]({'phone':_0x12abb6['phone']},{'where':{'ContactId':_0x3fd75e}})['then'](function(_0x4b790e){_0x208967({'ret':'OK'});});});});}function insertCmHopper(_0x423399,_0x4235ad,_0x3964ec,_0x33f922,_0x1e90a7){var _0x2a90ee=['cm_contacts.phone',_0xb49d('0x2d'),_0xb49d('0x2e'),'cm_contacts.ListId',_0x4235ad+'.'+_0x33f922,_0xb49d('0x2f'),_0xb49d('0x30'),_0xb49d('0x31'),'cm_contacts.UserId','\x22'+_0x1e90a7+'\x22'];return squel[_0xb49d('0x32')]()[_0xb49d('0x33')](_0xb49d('0x34'))['fromQuery']([_0xb49d('0x12'),'scheduledat','ContactId','ListId',_0x33f922,'createdAt',_0xb49d('0x35'),_0xb49d('0x36'),_0xb49d('0x37'),_0xb49d('0x38')],squel['select']()['fields'](_0x2a90ee)[_0xb49d('0x13')](_0x4235ad)[_0xb49d('0x17')](_0xb49d('0x39'),null,_0xb49d('0x3a')+_0x4235ad+_0xb49d('0x3b'))['join'](_0x3964ec,null,_0x3964ec+'.id\x20=\x20'+_0x4235ad+'.'+_0x33f922)[_0xb49d('0x15')](_0x4235ad+_0xb49d('0x3c'),_0x423399)[_0xb49d('0x15')](_0xb49d('0x3d'),NOW)[_0xb49d('0x15')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x4235ad,_0x3964ec,_0x33f922,_0xb49d('0x34'),[_0xb49d('0x3e'),_0xb49d('0x3f')]))[_0xb49d('0x15')](_0xb49d('0x40'),selectNotIn(_0x4235ad,_0x3964ec,_0x33f922,_0xb49d('0x34'),[_0xb49d('0x3e')])))['toString']();}function insertCmHopperBlack(_0x2f9481,_0x586968,_0x5db393,_0x3f394f){var _0x308407=[_0xb49d('0x41'),'cm_contacts.id',_0xb49d('0x42'),_0x586968+'.'+_0x3f394f,_0xb49d('0x2f'),_0xb49d('0x30')];return squel['insert']()['into'](_0xb49d('0x43'))[_0xb49d('0x44')]([_0xb49d('0x12'),_0xb49d('0x45'),'ListId',_0x3f394f,_0xb49d('0x46'),_0xb49d('0x35')],squel[_0xb49d('0x10')]()['fields'](_0x308407)[_0xb49d('0x13')](_0x586968)[_0xb49d('0x17')](_0xb49d('0x39'),null,_0xb49d('0x3a')+_0x586968+_0xb49d('0x3b'))[_0xb49d('0x17')](_0x5db393,null,_0x5db393+_0xb49d('0x14')+_0x586968+'.'+_0x3f394f)[_0xb49d('0x15')](_0x586968+'.CmListId\x20=\x20?',_0x2f9481)['where']('cm_contacts.createdAt\x20=\x20?',NOW)[_0xb49d('0x15')](_0xb49d('0x40'),squel[_0xb49d('0x10')]()[_0xb49d('0x11')]('phone')['from']('cm_hopper_black')[_0xb49d('0x15')](_0xb49d('0x47'),_0x2f9481)[_0xb49d('0x15')](_0x3f394f+_0xb49d('0x48'),_0x586968+'.'+_0x3f394f)))[_0xb49d('0x49')]();}function insertCmHopperAdditionalPhones(_0x4f58fa){var _0x2de03d=[_0xb49d('0x4a'),_0xb49d('0x4b'),_0xb49d('0x4c'),_0xb49d('0x4d'),'cm_contact_has_items.updatedAt'];return squel[_0xb49d('0x32')]()[_0xb49d('0x33')](_0xb49d('0x4e'))[_0xb49d('0x44')]([_0xb49d('0x4f'),_0xb49d('0x12'),_0xb49d('0x50'),'createdAt',_0xb49d('0x35')],squel['select']()[_0xb49d('0x51')](_0x2de03d)[_0xb49d('0x13')](_0xb49d('0x34'))[_0xb49d('0x17')](_0xb49d('0x39'),null,_0xb49d('0x52'))[_0xb49d('0x17')]('cm_contact_has_items',null,'cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId')['where'](_0xb49d('0x53'),_0x4f58fa)[_0xb49d('0x15')]('cm_contacts.createdAt\x20=\x20?',NOW))[_0xb49d('0x49')]();}function insertCmContact(_0x14624f,_0x1cfc5a,_0x4057b7,_0x33ba3e){var _0x3ae388=_[_0xb49d('0x54')](_[_0xb49d('0x55')](_0x33ba3e),[_0xb49d('0x56'),_0xb49d('0x57'),'createdAt',_0xb49d('0x35')]);return squel[_0xb49d('0x32')]()[_0xb49d('0x33')](_0xb49d('0x39'))[_0xb49d('0x44')](_0x3ae388,squel[_0xb49d('0x10')]()[_0xb49d('0x51')](_0x3ae388)[_0xb49d('0x13')](_0x1cfc5a)[_0xb49d('0x15')]('('+_0x4057b7[_0xb49d('0x17')](',')+_0xb49d('0x58'),squel[_0xb49d('0x10')]()[_0xb49d('0x51')](_0x4057b7)['from'](_0xb49d('0x39'))[_0xb49d('0x15')](_0xb49d('0x47'),_0x14624f))[_0xb49d('0x15')]('id\x20IN\x20?',squel[_0xb49d('0x10')]()[_0xb49d('0x11')](_0xb49d('0x59'),_0xb49d('0x5a'))[_0xb49d('0x13')](_0x1cfc5a)[_0xb49d('0x5b')](_0x4057b7[_0xb49d('0x17')](','))))['toString']();}function handleStop(){logger[_0xb49d('0x5c')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0xe81ea2){logger['error'](_0xe81ea2[_0xb49d('0x21')]);process['exit'](0x1);}function handleError(_0x916de2,_0x2da6a1){stats[_0xb49d('0x5d')]['push']({'name':_0x2da6a1[_0xb49d('0x5e')],'message':_0x2da6a1['message'],'row':_0x916de2});}function handleQuery(_0x53c6c4){logger[_0xb49d('0x5c')](_0x53c6c4);return db[_0xb49d('0x18')][_0xb49d('0x19')](_0x53c6c4)[_0xb49d('0x1b')](function(_0x15e06d){results[_0xb49d('0x1d')](_0x15e06d);})['catch'](function(_0x5ac526){logger[_0xb49d('0x5f')](_0x5ac526[_0xb49d('0x21')]);});}function main(_0x16b956,_0x55c75a,_0x280689,_0x314c5d){logger['info'](_0xb49d('0x60'),_0x16b956,JSON[_0xb49d('0x61')](_0x55c75a));process['send'](_0xb49d('0x62'));var _0x2d8271=_0x55c75a[_0xb49d('0x63')];var _0x1201b1=_[_0xb49d('0x64')](_0x2d8271);var _0x264605=_0x55c75a['socket_timestamp'];var _0x24884d=path[_0xb49d('0x17')](config[_0xb49d('0x65')],'server/files/tmp',_0x264605+_0xb49d('0x66'));logger[_0xb49d('0x5c')](_0xb49d('0x67'),_0x55c75a);db[_0xb49d('0x68')][_0xb49d('0x69')]({'raw':!![],'attributes':['id',_0xb49d('0x6a')]})['then'](function(_0x8a266c){for(var _0x10d3cf=0x0;_0x10d3cf<_0x8a266c[_0xb49d('0x24')];_0x10d3cf++){if(_0x8a266c[_0x10d3cf][_0xb49d('0x6a')]in _0x2d8271){contactItemTypes[_0xb49d('0x1d')](_0x8a266c[_0x10d3cf]);delete _0x1201b1[_0x8a266c[_0x10d3cf][_0xb49d('0x6a')]];hasAdditionalPhones=!![];}for(var _0x11934a in _0x2d8271){if(_0x8a266c[_0x10d3cf][_0xb49d('0x6a')]+_0xb49d('0x6b')===_0x11934a){phoneDescriptions[_0xb49d('0x1d')]({'itemTypeId':_0x8a266c[_0x10d3cf]['id'],'description':_0x11934a});delete _0x1201b1[_0x11934a];}}}if(hasAdditionalPhones)_0x1201b1[_0xb49d('0x22')]='';var _0x162c46=_['keys'](_0x1201b1)[_0xb49d('0x17')]();logger['info'](_0xb49d('0x6c'),_0x162c46);fs[_0xb49d('0x6d')](_0x24884d,_0x162c46+'\x0a');Papa['parse'](fs[_0xb49d('0x6e')](_0x16b956),{'header':!![],'skipEmptyLines':!![],'step':function(_0x55603f,_0x2cdcc2){try{for(var _0x595052=0x0,_0x2d2d9c=[];_0x595052<_0x55603f[_0xb49d('0x6f')][_0xb49d('0x24')];_0x595052++){stats[_0xb49d('0x70')]+=0x1;if(_0x55603f[_0xb49d('0x5d')][_0x595052]){handleError(_0x55603f['data'][_0x595052],_0x55603f[_0xb49d('0x5d')][_0x595052]);}else{var _0x5adf36=[];var _0x2d7f16=[];var _0xf0a753={};for(var _0x3ded9a in _0x2d8271){let _0x44f848=contactItemTypes[_0xb49d('0x71')](_0x1c1175=>_0x1c1175[_0xb49d('0x6a')]===_0x3ded9a);let _0x35aa38=contactItemTypes['find'](_0x258ce9=>_0x258ce9[_0xb49d('0x6a')]+'_description'===_0x3ded9a);if(_[_0xb49d('0x1c')](_0x44f848)&&_['isNil'](_0x35aa38)){if(_0x2d8271['hasOwnProperty'](_0x3ded9a)){if(_0x55603f['data'][_0x595052][_0x2d8271[_0x3ded9a]]){var _0x50bb6c=_[_0xb49d('0x72')](_0x55603f[_0xb49d('0x6f')][_0x595052][_0x2d8271[_0x3ded9a]][_0xb49d('0x73')](/"/g,'\x27'));switch(_0x3ded9a){case _0xb49d('0x74'):var _0x59a570=moment(_0x50bb6c,_0xb49d('0xd'),!![]);if(_0x59a570[_0xb49d('0x75')]()){_0x2d2d9c[_0xb49d('0x1d')]('\x22'+_0x50bb6c+'\x22');}else{_0x5adf36[_0xb49d('0x1d')]('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0xb49d('0x36'):var _0x1463e4=parseInt(_0x50bb6c);_0x50bb6c=_['isNaN'](_0x1463e4)||_0x1463e4<0x0||_0x1463e4>0x4?_0x314c5d?0x3:0x2:_0x1463e4;_0x2d2d9c[_0xb49d('0x1d')]('\x22'+_0x50bb6c+'\x22');break;case _0xb49d('0x37'):var _0x48accb=parseInt(_0x50bb6c);if(_[_0xb49d('0x76')](_0x48accb)&&_[_0xb49d('0x77')](_0x280689,_0x48accb)){_0x2d2d9c['push']('\x22'+_0x48accb+'\x22');}else{_0x5adf36['push'](_0xb49d('0x78'));}break;case _0xb49d('0x79'):if(isEmail(_0x50bb6c)){_0x2d2d9c[_0xb49d('0x1d')]('\x22'+_0x50bb6c+'\x22');}else{_0x5adf36[_0xb49d('0x1d')](_0xb49d('0x7a'));}break;case'dateOfBirth':var _0x1ab7e7=moment(_0x50bb6c,_0xb49d('0x7b'),!![]);if(_0x1ab7e7[_0xb49d('0x75')]()){_0x2d2d9c['push']('\x22'+_0x50bb6c+'\x22');}else{_0x5adf36[_0xb49d('0x1d')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;default:_0x2d2d9c[_0xb49d('0x1d')]('\x22'+_0x50bb6c+'\x22');}}else{switch(_0x3ded9a){case'firstName':case _0xb49d('0x12'):_0x5adf36[_0xb49d('0x1d')](_0x3ded9a+_0xb49d('0x7c'));break;default:_0x2d2d9c[_0xb49d('0x1d')]('\x22\x22');}}}}else{var _0x214078='';if(!_['isNil'](_0x44f848)){if(!_0xf0a753[_0xb49d('0x7d')](_0x44f848['id'])){for(var _0x5b98a4=0x0;_0x5b98a4<_0x2d8271[_0x3ded9a][_0xb49d('0x24')];_0x5b98a4++){var _0x50bb6c=_[_0xb49d('0x72')](_0x55603f[_0xb49d('0x6f')][_0x595052][_0x2d8271[_0x3ded9a][_0x5b98a4]][_0xb49d('0x73')](/"/g,'\x27'));var _0x3619e3=phoneDescriptions[_0xb49d('0x71')](_0x39a8ef=>_0x39a8ef[_0xb49d('0x7e')]===_0x44f848['id']);if(!_['isNil'](_0x3619e3)){var _0x4c1dc6=_['trim'](_0x55603f[_0xb49d('0x6f')][_0x595052][_0x2d8271[_0x3619e3[_0xb49d('0x7f')]][0x0]][_0xb49d('0x73')](/"/g,'\x27'));if(!_[_0xb49d('0x1c')](_0x4c1dc6))_0x50bb6c=_0x50bb6c+'§'+_0x4c1dc6;}if(_0x214078=='')_0x214078=_0x50bb6c;else _0x214078+='|'+_0x50bb6c;}_0x2d7f16[_0xb49d('0x1d')](_0x44f848['id']+':'+_0x214078);_0xf0a753[_0x44f848['id']]=0x1;}}}}if(hasAdditionalPhones){_0x2d2d9c[_0xb49d('0x1d')]('\x22'+_0x2d7f16[_0xb49d('0x17')](';')+'\x22');}if(_0x5adf36[_0xb49d('0x24')]){handleError(_0x55603f[_0xb49d('0x6f')][_0x595052],{'code':_0xb49d('0x80'),'message':_0x5adf36[_0xb49d('0x17')]()});}else{fs[_0xb49d('0x81')](_0x24884d,_0x2d2d9c[_0xb49d('0x17')]()+'\x0a');}_0x2d2d9c=[];}if(!(stats[_0xb49d('0x70')]%0xc8)){socket['emit'](_0xb49d('0x82')+_0x264605,stats);stats['errors']=[];}}if(stopped){logger[_0xb49d('0x5c')]('Abort\x20parser');_0x2cdcc2['abort']();}}catch(_0x2c29ba){handleError(_0x55603f[_0xb49d('0x6f')][_0x595052],{'code':_0xb49d('0x83'),'message':_0x2c29ba['message']});logger['error'](_0xb49d('0x84'),_0x2c29ba[_0xb49d('0x21')]);}},'complete':function(){try{var _0x212ad0=[];var _0x453694=tempTableName;_0x212ad0[_0xb49d('0x1d')]('CREATE\x20TABLE\x20'+_0x453694+'\x20LIKE\x20cm_contacts;');logger['info'](_0xb49d('0x85'),contactItemTypes[_0xb49d('0x24')]);var _0x70cf7b=util['format'](_0xb49d('0x86'),_0x24884d,_0x453694,_0x162c46,_0x55c75a[_0xb49d('0x56')],_0x55c75a[_0xb49d('0x57')]||null,NOW,NOW);if(_[_0xb49d('0x1c')](_0x2d8271[_0xb49d('0x74')])){_0x70cf7b+=_0xb49d('0x87');}_0x212ad0['push'](_0x70cf7b);BPromise[_0xb49d('0x88')](_0x212ad0,handleQuery)[_0xb49d('0x1f')](function(_0x221092){BPromise[_0xb49d('0x1e')]([handleAdditionalPhones()])['then'](function(){_0x212ad0=[];for(var _0x15cf10=0x0;_0x15cf10<promisesContact[_0xb49d('0x24')];_0x15cf10++){_0x212ad0[_0xb49d('0x1d')](updateContact(promisesContact[_0x15cf10][_0xb49d('0x89')]));}BPromise[_0xb49d('0x1e')](_0x212ad0)[_0xb49d('0x1f')](function(){_0x212ad0=[];for(var _0x33bbb4=0x0;_0x33bbb4<promisesAdditionalPhones[_0xb49d('0x24')];_0x33bbb4++){_0x212ad0['push'](createAdditionalPhone(promisesAdditionalPhones[_0x33bbb4][_0xb49d('0x8a')],promisesAdditionalPhones[_0x33bbb4][_0xb49d('0x8b')],promisesAdditionalPhones[_0x33bbb4][_0xb49d('0x12')],promisesAdditionalPhones[_0x33bbb4]['orderBy']));}BPromise[_0xb49d('0x1e')](_0x212ad0)['then'](function(){_0x212ad0=[];_0x212ad0['push'](insertCmHopperAdditionalPhones(_0x55c75a[_0xb49d('0x56')]));_0x212ad0[_0xb49d('0x1d')](_0xb49d('0x8c')+_0x453694+';');BPromise[_0xb49d('0x88')](_0x212ad0,handleQuery)[_0xb49d('0x1f')](function(_0x4bdf27){stats[_0xb49d('0x8d')]=!![];stats[_0xb49d('0x8e')]=updatedRows;socket[_0xb49d('0x8f')](_0xb49d('0x82')+_0x264605,stats);fs['unlink'](_0x16b956);fs['unlink'](_0x24884d);process[_0xb49d('0x90')](0x0);})[_0xb49d('0x20')](function(_0x361795){logger['error'](_0x361795[_0xb49d('0x21')]);process['exit'](0x1);});});});});})[_0xb49d('0x20')](function(_0x2ddc5d){logger[_0xb49d('0x5f')](_0x2ddc5d[_0xb49d('0x21')]);process[_0xb49d('0x90')](0x1);});}catch(_0x5e8583){logger[_0xb49d('0x5f')]('complete',_0x5e8583['message']);process[_0xb49d('0x90')](0x1);}},'error':function(_0x3c5448,_0xccde3d,_0xdbf39,_0x25c525){throw new Error(_0x25c525);}});});}function validate(){if(process[_0xb49d('0x91')]&&process['argv'][_0xb49d('0x24')]<0x4){throw new Error(_0xb49d('0x92'));}var _0x3aa190=path[_0xb49d('0x17')](config[_0xb49d('0x65')],'server/files/tmp',process[_0xb49d('0x91')][0x2]);if(!fs['existsSync'](_0x3aa190)){throw new Error(_0xb49d('0x93'));}var _0x3edc21={};try{_0x3edc21=JSON[_0xb49d('0x94')](process[_0xb49d('0x91')][0x3]);if(!_0x3edc21['binding']){throw new Error(_0xb49d('0x95'));}var _0x164fb8=0x0;if(_0x3edc21['binding']['UserId']){_0x164fb8=0x1;}if(!_0x3edc21[_0xb49d('0x56')]){throw new Error(_0xb49d('0x96'));}}catch(_0x7a07b4){throw new Error('body\x20id\x20mandatory');}var _0x46ea96=[];try{_0x46ea96=_[_0xb49d('0x97')](JSON[_0xb49d('0x94')](process[_0xb49d('0x91')][0x4]),'id');}catch(_0x57b8c7){logger[_0xb49d('0x5c')](_0xb49d('0x98'));}main(_0x3aa190,_0x3edc21,_0x46ea96,_0x164fb8);}validate();process['on'](_0xb49d('0x99'),handleStop);process['on'](_0xb49d('0x9a'),handleUncaughtException);
\ No newline at end of file