Built motion from commit 8271bb6f.|2.6.28
[motion2.git] / server / components / import / cm / csv.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 _0x589c=['localhost','socket.io-emitter','../../../api/cmContact/cmContact.socket','register','argv','null','Missing\x20filepath\x20parameter!','undefined','Missing\x20binding\x20parameters!','zipObject','split','Missing\x20ListId\x20parameter!','isNil','error','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','map','join','hasOwnProperty','data','firstName','phone','phone\x20not\x20specified!','birthDate','isValid','email','ListId','CompanyId','find','duplicate','CmContact','create','keys','then','push','pick','Error\x20while\x20creating\x20contact:\x20','message','cmContact','checkHopper','inspect','insert','cm_hopper','fromQuery','scheduledAt','ContactId','createdAt','field','NOW()','toString','updatedAt','from','cm_contacts','where','deletedAt\x20IS\x20NULL','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','select','\x20=\x20?','into','id\x20IN\x20?','str','calleridnum','cm_hopper_final','cm_hopper_black','VoiceQueue','findAll','outbound','CmList','Lists','dialCheckDuplicateType','always','sequelize','query','catch','onlyIfOpen','VoiceQueueId','all','get','Campaign','CampaignId','BlackLists','cmContact,\x20%s,\x20%s','Error\x20processing\x20rows\x20block:','stringify','finally','emit','resume','resolve','contact:csv_','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','SIGINT','info','CSV\x20import\x20process\x20stopped!','createReadStream','parse','pause','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','lodash','squel','papaparse','ioredis','../../../mysqldb','../../../config/environment','api','defaults','redis'];(function(_0xa6d7bb,_0x76d0a5){var _0xaf51ec=function(_0x29bd3c){while(--_0x29bd3c){_0xa6d7bb['push'](_0xa6d7bb['shift']());}};_0xaf51ec(++_0x76d0a5);}(_0x589c,0x149));var _0xc589=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x589c[_0x14add3];return _0x4a174f;};'use strict';var BPromise=require(_0xc589('0x0'));var util=require('util');var _=require(_0xc589('0x1'));var fs=require('fs');var squel=require(_0xc589('0x2'));var Papa=require(_0xc589('0x3'));var Redis=require(_0xc589('0x4'));var db=require(_0xc589('0x5'))['db'];var config=require(_0xc589('0x6'));var logger=require('../../../config/logger')(_0xc589('0x7'));config['redis']=_[_0xc589('0x8')](config[_0xc589('0x9')],{'host':_0xc589('0xa'),'port':0x18eb});var socket=require(_0xc589('0xb'))(new Redis(config[_0xc589('0x9')]));require(_0xc589('0xc'))[_0xc589('0xd')](socket);try{if(!process[_0xc589('0xe')][0x2]||process['argv'][0x2]==='undefined'||process[_0xc589('0xe')][0x2]===_0xc589('0xf')){throw new Error(_0xc589('0x10'));}var FILEPATH=process['argv'][0x2];if(!process['argv'][0x3]||process[_0xc589('0xe')][0x3]==='undefined'||process[_0xc589('0xe')][0x3]===_0xc589('0xf')||!process[_0xc589('0xe')][0x4]||process[_0xc589('0xe')][0x4]===_0xc589('0x11')||process[_0xc589('0xe')][0x4]===_0xc589('0xf')){throw new Error(_0xc589('0x12'));}var FIELDS=_[_0xc589('0x13')](process[_0xc589('0xe')][0x3][_0xc589('0x14')](','),process[_0xc589('0xe')][0x4]['split'](','));if(!process['argv'][0x5]||process['argv'][0x5]===_0xc589('0x11')||process['argv'][0x5]===_0xc589('0xf')){throw new Error(_0xc589('0x15'));}var LISTID=process[_0xc589('0xe')][0x5];var COMPANYID=process['argv'][0x6]&&process[_0xc589('0xe')][0x6]!==_0xc589('0x11')&&process['argv'][0x6]!=='null'?process[_0xc589('0xe')][0x6]:null;var DUPLICATES=process[_0xc589('0xe')][0x7]&&process[_0xc589('0xe')][0x7]!==_0xc589('0x11')&&process[_0xc589('0xe')][0x7]!==_0xc589('0xf')?process[_0xc589('0xe')][0x7]:null;if(!process[_0xc589('0xe')][0x8]||process[_0xc589('0xe')][0x8]==='undefined'||process[_0xc589('0xe')][0x8]===_0xc589('0xf')){throw new Error('Missing\x20socket_timestamp\x20parameter!');}var SOCKET_TIMESTAMP=process[_0xc589('0xe')][0x8];}catch(_0x198ced){logger['error'](_0x198ced);endCsv();}var total=0x0;var pTotal=0x0;var success=0x0;var errors=0x0;var duplicates=0x0;var rows=[];var hopperContacts='';var promises=[];var index=0x0;var alreadyInvalid=![];function handleCheckRowError(_0x418160,_0x3a34c7,_0x2fce07,_0x5b7ab7){var _0x175970={'message':_0x3a34c7};_0x175970[_0x418160]=!![];if(_0x2fce07){_0x175970['contact']=_0x2fce07;}if(_0x5b7ab7){_0x175970['index']=_0x5b7ab7;}return _0x175970;}function isEmail(_0x4c81e7){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'](_0x4c81e7);}function checkRow(_0x1dc236,_0x55a435,_0x524234){return new BPromise(function(_0x39b8cd,_0x127e13){if(_[_0xc589('0x16')](_0x1dc236)){return _0x127e13(handleCheckRowError(_0xc589('0x17'),_0xc589('0x18'),null,_0x524234));}if(_0x1dc236[_0xc589('0x19')]&&_0x1dc236[_0xc589('0x19')][_0xc589('0x1a')]){var _0x34e838=_[_0xc589('0x1b')](_0x1dc236[_0xc589('0x19')],'message')[_0xc589('0x1c')](';');return _0x127e13(handleCheckRowError(_0xc589('0x17'),_0x34e838,null,_0x524234));}var _0x22a20d={};for(var _0x6b4e49 in FIELDS){if(FIELDS[_0xc589('0x1d')](_0x6b4e49)&&FIELDS[_0x6b4e49]){_0x22a20d[_0x6b4e49]=_0x1dc236[_0xc589('0x1e')][0x0][FIELDS[_0x6b4e49]]||_0x1dc236[_0xc589('0x1e')][0x0]['\ufeff'+FIELDS[_0x6b4e49]];}}if(!_0x22a20d[_0xc589('0x1f')]){return _0x127e13(handleCheckRowError(_0xc589('0x17'),'firstName\x20not\x20specified!',null,_0x524234));}if(!_0x22a20d[_0xc589('0x20')]){return _0x127e13(handleCheckRowError('error',_0xc589('0x21'),null,_0x524234));}if(_0x22a20d[_0xc589('0x22')]){var _0x1c61d1=moment(_0x22a20d['birthDate'],'YYYY-MM-DD');if(!_0x1c61d1[_0xc589('0x23')]()){return _0x127e13(handleCheckRowError(_0xc589('0x17'),'birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!',null,_0x524234));}}if(_0x22a20d[_0xc589('0x24')]){if(!isEmail(_0x22a20d[_0xc589('0x24')])){return _0x127e13(handleCheckRowError(_0xc589('0x17'),'email\x20format\x20is\x20not\x20valid!',null,_0x524234));}}_0x22a20d[_0xc589('0x25')]=LISTID;_0x22a20d[_0xc589('0x26')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES['length']&&_0x55a435){var _0x2495f4={};for(var _0x3189e2=0x0,_0xea755e=DUPLICATES[_0xc589('0x1a')];_0x3189e2<_0xea755e;_0x3189e2+=0x1){_0x2495f4[DUPLICATES[_0x3189e2]]=_0x22a20d[DUPLICATES[_0x3189e2]];}var _0x5b2f69=_[_0xc589('0x27')](_0x55a435,_0x2495f4);if(_0x5b2f69){return _0x127e13(handleCheckRowError(_0xc589('0x28'),'Duplicate\x20Contact',_0x5b2f69,_0x524234));}}return db[_0xc589('0x29')][_0xc589('0x2a')](_0x22a20d,{'raw':!![],'hooks':![],'fields':_[_0xc589('0x2b')](_0x22a20d)})[_0xc589('0x2c')](function(_0x4fcf76){if(DUPLICATES&&DUPLICATES[_0xc589('0x1a')]&&_0x55a435){_0x55a435[_0xc589('0x2d')](_[_0xc589('0x2e')](_0x22a20d,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x4fcf76['id'];return _0x39b8cd();})['catch'](function(_0x3a0b79){return _0x127e13(handleCheckRowError(_0xc589('0x17'),_0xc589('0x2f')+(_0x3a0b79[_0xc589('0x30')]||JSON['stringify'](_0x3a0b79)),null,_0x524234));});});}function checkHopper(){function _0x217fe0(){return function(_0x2ae4bb){logger[_0xc589('0x17')](_0xc589('0x31'),_0xc589('0x32'),util[_0xc589('0x33')](_0x2ae4bb,{'showHidden':![],'depth':null}));};}var _0x8ed8b2=function(_0x2e73a4,_0x1c86ea){var _0x18067a=squel[_0xc589('0x34')]()['into'](_0xc589('0x35'))[_0xc589('0x36')]([_0xc589('0x20'),_0xc589('0x37'),_0xc589('0x38'),_0xc589('0x25'),_0x1c86ea,_0xc589('0x39'),'updatedAt'],squel['select']()['field'](_0xc589('0x20'),_0xc589('0x20'))[_0xc589('0x3a')](_0xc589('0x3b'),'scheduledAt')['field']('id',_0xc589('0x38'))[_0xc589('0x3a')](LISTID['toString'](),_0xc589('0x25'))[_0xc589('0x3a')](_0x2e73a4['id'][_0xc589('0x3c')](),_0x1c86ea)[_0xc589('0x3a')]('NOW()',_0xc589('0x39'))['field'](_0xc589('0x3b'),_0xc589('0x3d'))[_0xc589('0x3e')](_0xc589('0x3f'))[_0xc589('0x40')](_0xc589('0x41'))['where'](_0xc589('0x42'),LISTID['toString']())[_0xc589('0x40')](_0xc589('0x43'))[_0xc589('0x40')](_0xc589('0x44'),squel[_0xc589('0x45')]()[_0xc589('0x3a')](_0xc589('0x20'))[_0xc589('0x3e')](_0xc589('0x35'))[_0xc589('0x40')](_0x1c86ea+_0xc589('0x46'),_0x2e73a4['id'][_0xc589('0x3c')]())))['toString']();return _0x18067a;};var _0x2d07e6=function(_0x4f780a,_0x3f276a){var _0x393a4f=squel[_0xc589('0x34')]()[_0xc589('0x47')](_0xc589('0x35'))['fromQuery']([_0xc589('0x20'),_0xc589('0x37'),'ContactId','ListId',_0x3f276a,'createdAt',_0xc589('0x3d')],squel[_0xc589('0x45')]()[_0xc589('0x3a')]('phone',_0xc589('0x20'))[_0xc589('0x3a')](_0xc589('0x3b'),_0xc589('0x37'))[_0xc589('0x3a')]('id',_0xc589('0x38'))[_0xc589('0x3a')](LISTID['toString'](),_0xc589('0x25'))['field'](_0x4f780a['id'][_0xc589('0x3c')](),_0x3f276a)[_0xc589('0x3a')](_0xc589('0x3b'),_0xc589('0x39'))[_0xc589('0x3a')](_0xc589('0x3b'),_0xc589('0x3d'))[_0xc589('0x3e')](_0xc589('0x3f'))[_0xc589('0x40')](_0xc589('0x41'))[_0xc589('0x40')](_0xc589('0x42'),LISTID[_0xc589('0x3c')]())[_0xc589('0x40')](_0xc589('0x48'),squel[_0xc589('0x49')](hopperContacts))[_0xc589('0x40')]('phone\x20IS\x20NOT\x20NULL')[_0xc589('0x40')](_0xc589('0x44'),squel[_0xc589('0x45')]()[_0xc589('0x3a')](_0xc589('0x4a'))[_0xc589('0x3e')](_0xc589('0x4b'))[_0xc589('0x40')](_0x3f276a+_0xc589('0x46'),_0x4f780a['id'][_0xc589('0x3c')]()))[_0xc589('0x40')]('phone\x20NOT\x20IN\x20(?)',squel[_0xc589('0x45')]()['field'](_0xc589('0x20'))[_0xc589('0x3e')](_0xc589('0x35'))[_0xc589('0x40')](_0x3f276a+_0xc589('0x46'),_0x4f780a['id'][_0xc589('0x3c')]())))[_0xc589('0x3c')]();return _0x393a4f;};function _0x3f9e96(_0x1f0532,_0x418661){var _0x50feb8=squel[_0xc589('0x34')]()['into'](_0xc589('0x35'))[_0xc589('0x36')]([_0xc589('0x20'),_0xc589('0x37'),_0xc589('0x38'),_0xc589('0x25'),_0x418661,'createdAt','updatedAt'],squel[_0xc589('0x45')]()[_0xc589('0x3a')](_0xc589('0x20'),_0xc589('0x20'))[_0xc589('0x3a')](_0xc589('0x3b'),'scheduledAt')[_0xc589('0x3a')]('id',_0xc589('0x38'))[_0xc589('0x3a')](LISTID[_0xc589('0x3c')](),_0xc589('0x25'))[_0xc589('0x3a')](_0x1f0532['id'][_0xc589('0x3c')](),_0x418661)[_0xc589('0x3a')]('NOW()',_0xc589('0x39'))[_0xc589('0x3a')]('NOW()',_0xc589('0x3d'))[_0xc589('0x3e')]('cm_contacts')[_0xc589('0x40')](_0xc589('0x41'))[_0xc589('0x40')](_0xc589('0x42'),LISTID[_0xc589('0x3c')]())[_0xc589('0x40')](_0xc589('0x48'),squel[_0xc589('0x49')](hopperContacts))[_0xc589('0x40')](_0xc589('0x43')))[_0xc589('0x3c')]();return _0x50feb8;}function _0x485a2b(_0x4914af,_0x278719){var _0x4152b3=squel[_0xc589('0x34')]()[_0xc589('0x47')](_0xc589('0x4c'))['fromQuery']([_0xc589('0x20'),'ContactId',_0xc589('0x25'),_0x278719,_0xc589('0x39'),'updatedAt'],squel[_0xc589('0x45')]()[_0xc589('0x3a')](_0xc589('0x20'),'phone')[_0xc589('0x3a')]('id',_0xc589('0x38'))[_0xc589('0x3a')](LISTID[_0xc589('0x3c')](),'ListId')[_0xc589('0x3a')](_0x4914af['id'][_0xc589('0x3c')](),_0x278719)[_0xc589('0x3a')](_0xc589('0x3b'),_0xc589('0x39'))[_0xc589('0x3a')]('NOW()','updatedAt')[_0xc589('0x3e')]('cm_contacts')[_0xc589('0x40')](_0xc589('0x41'))[_0xc589('0x40')](_0xc589('0x42'),LISTID['toString']())[_0xc589('0x40')](_0xc589('0x48'),squel[_0xc589('0x49')](hopperContacts))[_0xc589('0x40')](_0xc589('0x43')))[_0xc589('0x3c')]();return _0x4152b3;}return db[_0xc589('0x4d')][_0xc589('0x4e')]({'where':{'type':_0xc589('0x4f')},'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db[_0xc589('0x50')],'as':_0xc589('0x51'),'where':{'id':LISTID}}]})[_0xc589('0x2c')](function(_0x1c2f2e){var _0x2dd1b3=[];if(_0x1c2f2e){var _0x35db25;for(var _0x5147a2=0x0,_0x3a2bc2;_0x5147a2<_0x1c2f2e[_0xc589('0x1a')];_0x5147a2+=0x1){_0x3a2bc2=_0x1c2f2e[_0x5147a2]['get']({'plain':!![]});switch(_0x3a2bc2[_0xc589('0x52')]){case _0xc589('0x53'):_0x2dd1b3[_0xc589('0x2d')](db[_0xc589('0x54')][_0xc589('0x55')](_0x2d07e6(_0x3a2bc2,'VoiceQueueId'))[_0xc589('0x2c')](function(){})[_0xc589('0x56')](_0x217fe0()));break;case _0xc589('0x57'):_0x2dd1b3[_0xc589('0x2d')](db[_0xc589('0x54')][_0xc589('0x55')](_0x8ed8b2(_0x3a2bc2,_0xc589('0x58')))[_0xc589('0x2c')](function(){})[_0xc589('0x56')](_0x217fe0()));break;default:_0x2dd1b3[_0xc589('0x2d')](db[_0xc589('0x54')][_0xc589('0x55')](_0x3f9e96(_0x3a2bc2,'VoiceQueueId'))[_0xc589('0x2c')](function(){})[_0xc589('0x56')](_0x217fe0()));}}}return _0x2dd1b3;})[_0xc589('0x59')]()['then'](function(){return db[_0xc589('0x4d')][_0xc589('0x4e')]({'where':{'type':_0xc589('0x4f')},'attributes':['id'],'include':[{'model':db[_0xc589('0x50')],'as':'BlackLists','where':{'id':LISTID}}]})['then'](function(_0x5a169d){var _0x58cdeb=[];if(_0x5a169d){var _0x240d4e;for(var _0x1cafba=0x0,_0x1b29f9;_0x1cafba<_0x5a169d[_0xc589('0x1a')];_0x1cafba+=0x1){_0x1b29f9=_0x5a169d[_0x1cafba][_0xc589('0x5a')]({'plain':!![]});_0x58cdeb['push'](db[_0xc589('0x54')][_0xc589('0x55')](_0x485a2b(_0x1b29f9,_0xc589('0x58')))[_0xc589('0x2c')](function(){})[_0xc589('0x56')](_0x217fe0()));}}return _0x58cdeb;})[_0xc589('0x59')]();})[_0xc589('0x2c')](function(){return db[_0xc589('0x5b')][_0xc589('0x4e')]({'attributes':['id',_0xc589('0x52')],'include':[{'model':db[_0xc589('0x50')],'as':'Lists','where':{'id':LISTID}}]})[_0xc589('0x2c')](function(_0x4e6f57){var _0x65862e=[];if(_0x4e6f57){for(var _0x2d203c=0x0,_0xa73c95;_0x2d203c<_0x4e6f57[_0xc589('0x1a')];_0x2d203c+=0x1){_0xa73c95=_0x4e6f57[_0x2d203c]['get']({'plain':!![]});switch(_0xa73c95[_0xc589('0x52')]){case _0xc589('0x53'):_0x65862e['push'](db['sequelize'][_0xc589('0x55')](_0x2d07e6(_0xa73c95,_0xc589('0x5c')))[_0xc589('0x2c')](function(){})[_0xc589('0x56')](_0x217fe0()));break;case _0xc589('0x57'):_0x65862e[_0xc589('0x2d')](db[_0xc589('0x54')][_0xc589('0x55')](_0x8ed8b2(_0xa73c95,_0xc589('0x5c')))['then'](function(){})['catch'](_0x217fe0()));break;default:_0x65862e[_0xc589('0x2d')](db[_0xc589('0x54')][_0xc589('0x55')](_0x3f9e96(_0xa73c95,_0xc589('0x5c')))[_0xc589('0x2c')](function(){})[_0xc589('0x56')](_0x217fe0()));}}}return _0x65862e;})[_0xc589('0x59')]();})[_0xc589('0x2c')](function(){return db[_0xc589('0x5b')][_0xc589('0x4e')]({'attributes':['id'],'include':[{'model':db[_0xc589('0x50')],'as':_0xc589('0x5d'),'where':{'id':LISTID}}]})[_0xc589('0x2c')](function(_0x3e6c54){var _0x50c6dc=[];if(_0x3e6c54){for(var _0x39044f=0x0,_0x12f333;_0x39044f<_0x3e6c54[_0xc589('0x1a')];_0x39044f+=0x1){_0x12f333=_0x3e6c54[_0x39044f][_0xc589('0x5a')]({'plain':!![]});_0x50c6dc[_0xc589('0x2d')](db[_0xc589('0x54')][_0xc589('0x55')](_0x485a2b(_0x12f333,'CampaignId'))[_0xc589('0x2c')](function(){})[_0xc589('0x56')](_0x217fe0()));}}return _0x50c6dc;})[_0xc589('0x59')]();})[_0xc589('0x56')](function(_0x266e96){logger[_0xc589('0x17')](_0xc589('0x5e'),'generalCheckHopper',_0x266e96[_0xc589('0x30')]);});}var processPromises=function(_0x1c0ecd){return BPromise[_0xc589('0x59')](promises)[_0xc589('0x2c')](function(_0x569055){})[_0xc589('0x56')](function(_0x2ca1d7){logger[_0xc589('0x17')](_0xc589('0x5f'),JSON[_0xc589('0x60')](_0x2ca1d7));})[_0xc589('0x61')](function(){socket[_0xc589('0x62')]('contact:csv_'+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x1c0ecd){return _0x1c0ecd[_0xc589('0x63')]();}});};var endCsv=function(){return BPromise[_0xc589('0x64')]()[_0xc589('0x2c')](function(){if(hopperContacts){return checkHopper();}})[_0xc589('0x2c')](function(){socket[_0xc589('0x62')](_0xc589('0x65')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0xc589('0x66')](FILEPATH);}catch(_0x322f51){logger[_0xc589('0x17')](_0xc589('0x67'),JSON['stringify'](_0x322f51));}finally{process['exit'](0x0);}});};process['on'](_0xc589('0x68'),function(){logger[_0xc589('0x69')](_0xc589('0x6a'));endCsv();});function main(){return BPromise['resolve']()['then'](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0xc589('0x14')](',');return db['CmContact'][_0xc589('0x4e')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0xc589('0x2c')](function(_0x53dac6){var _0x3fd3c5=fs[_0xc589('0x6b')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0xc589('0x6c')](_0x3fd3c5,{'header':!![],'skipEmptyLines':!![],'step':function(_0x303915,_0x129426){total+=0x1;var _0x444f15=total;promises[_0xc589('0x2d')](checkRow(_0x303915,_0x53dac6,_0x444f15)['then'](function(){success+=0x1;})['catch'](function(_0x3147d4){if(_0x3147d4['error']){errors+=0x1;delete _0x3147d4[_0xc589('0x17')];}else if(_0x3147d4[_0xc589('0x28')]){duplicates+=0x1;delete _0x3147d4[_0xc589('0x28')];}rows[_0xc589('0x2d')](_0x3147d4);}));if(total%0xc8===0x0){_0x129426[_0xc589('0x6d')]();return processPromises(_0x129426);}},'complete':function(){return processPromises()['then'](function(){logger[_0xc589('0x69')](_0xc589('0x6e'));endCsv();});},'error':function(_0x1b6570,_0x13ca3f){logger[_0xc589('0x69')](_0xc589('0x6f'),JSON[_0xc589('0x60')](_0x1b6570));endCsv();}});})['catch'](function(_0x3eb92e){logger[_0xc589('0x17')](_0xc589('0x70'),JSON['stringify'](_0x3eb92e));});}main();