Built motion from commit da617fac.|2.6.6
[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 _0x5767=['cmContact,\x20%s,\x20%s','generalCheckHopper','Error\x20processing\x20rows\x20block:','finally','emit','contact:csv_','resume','resolve','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','SIGINT','info','createReadStream','parse','pause','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','util','lodash','papaparse','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','api','redis','defaults','localhost','argv','undefined','null','Missing\x20filepath\x20parameter!','Missing\x20binding\x20parameters!','zipObject','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','contact','test','isNil','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','map','join','error','data','phone','birthDate','YYYY-MM-DD','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','ListId','CompanyId','find','duplicate','Duplicate\x20Contact','CmContact','create','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','message','stringify','cmContact','checkHopper','insert','into','fromQuery','scheduledAt','ContactId','createdAt','updatedAt','select','field','toString','NOW()','from','cm_contacts','deletedAt\x20IS\x20NULL','ListId\x20=\x20?','where','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','cm_hopper','\x20=\x20?','id\x20IN\x20?','str','calleridnum','cm_hopper_final','cm_hopper_black','VoiceQueue','outbound','CmList','Lists','dialCheckDuplicateType','sequelize','query','VoiceQueueId','onlyIfOpen','all','findAll','BlackLists','get','always','CampaignId','Campaign'];(function(_0x4b369d,_0x265eb8){var _0x571a98=function(_0x56341a){while(--_0x56341a){_0x4b369d['push'](_0x4b369d['shift']());}};_0x571a98(++_0x265eb8);}(_0x5767,0x162));var _0x7576=function(_0x44058c,_0x45c37b){_0x44058c=_0x44058c-0x0;var _0x334ff0=_0x5767[_0x44058c];return _0x334ff0;};'use strict';var BPromise=require(_0x7576('0x0'));var util=require(_0x7576('0x1'));var _=require(_0x7576('0x2'));var fs=require('fs');var squel=require('squel');var Papa=require(_0x7576('0x3'));var Redis=require(_0x7576('0x4'));var db=require(_0x7576('0x5'))['db'];var config=require(_0x7576('0x6'));var logger=require(_0x7576('0x7'))(_0x7576('0x8'));config[_0x7576('0x9')]=_[_0x7576('0xa')](config[_0x7576('0x9')],{'host':_0x7576('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7576('0x9')]));require('../../../api/cmContact/cmContact.socket')['register'](socket);try{if(!process[_0x7576('0xc')][0x2]||process[_0x7576('0xc')][0x2]===_0x7576('0xd')||process[_0x7576('0xc')][0x2]===_0x7576('0xe')){throw new Error(_0x7576('0xf'));}var FILEPATH=process[_0x7576('0xc')][0x2];if(!process[_0x7576('0xc')][0x3]||process[_0x7576('0xc')][0x3]===_0x7576('0xd')||process[_0x7576('0xc')][0x3]===_0x7576('0xe')||!process[_0x7576('0xc')][0x4]||process[_0x7576('0xc')][0x4]===_0x7576('0xd')||process[_0x7576('0xc')][0x4]==='null'){throw new Error(_0x7576('0x10'));}var FIELDS=_[_0x7576('0x11')](process['argv'][0x3]['split'](','),process[_0x7576('0xc')][0x4][_0x7576('0x12')](','));if(!process[_0x7576('0xc')][0x5]||process[_0x7576('0xc')][0x5]===_0x7576('0xd')||process[_0x7576('0xc')][0x5]==='null'){throw new Error(_0x7576('0x13'));}var LISTID=process['argv'][0x5];var COMPANYID=process[_0x7576('0xc')][0x6]&&process[_0x7576('0xc')][0x6]!==_0x7576('0xd')&&process[_0x7576('0xc')][0x6]!==_0x7576('0xe')?process[_0x7576('0xc')][0x6]:null;var DUPLICATES=process[_0x7576('0xc')][0x7]&&process[_0x7576('0xc')][0x7]!==_0x7576('0xd')&&process[_0x7576('0xc')][0x7]!=='null'?process[_0x7576('0xc')][0x7]:null;if(!process[_0x7576('0xc')][0x8]||process['argv'][0x8]==='undefined'||process[_0x7576('0xc')][0x8]===_0x7576('0xe')){throw new Error(_0x7576('0x14'));}var SOCKET_TIMESTAMP=process['argv'][0x8];}catch(_0x3e22e1){logger['error'](_0x3e22e1);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(_0x39f842,_0xdf5529,_0x29bba0,_0x2467d4){var _0x22fba1={'message':_0xdf5529};_0x22fba1[_0x39f842]=!![];if(_0x29bba0){_0x22fba1[_0x7576('0x15')]=_0x29bba0;}if(_0x2467d4){_0x22fba1['index']=_0x2467d4;}return _0x22fba1;}function isEmail(_0x114039){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))*$/[_0x7576('0x16')](_0x114039);}function checkRow(_0x18f2c7,_0x4b5c46,_0x2c5f61){return new BPromise(function(_0x2d3e37,_0x1d25dd){if(_[_0x7576('0x17')](_0x18f2c7)){return _0x1d25dd(handleCheckRowError('error',_0x7576('0x18'),null,_0x2c5f61));}if(_0x18f2c7['errors']&&_0x18f2c7[_0x7576('0x19')][_0x7576('0x1a')]){var _0x54b636=_[_0x7576('0x1b')](_0x18f2c7[_0x7576('0x19')],'message')[_0x7576('0x1c')](';');return _0x1d25dd(handleCheckRowError(_0x7576('0x1d'),_0x54b636,null,_0x2c5f61));}var _0x45133e={};for(var _0x5ac9d4 in FIELDS){if(FIELDS['hasOwnProperty'](_0x5ac9d4)&&FIELDS[_0x5ac9d4]){_0x45133e[_0x5ac9d4]=_0x18f2c7['data'][0x0][FIELDS[_0x5ac9d4]]||_0x18f2c7[_0x7576('0x1e')][0x0]['\ufeff'+FIELDS[_0x5ac9d4]];}}if(!_0x45133e['firstName']){return _0x1d25dd(handleCheckRowError(_0x7576('0x1d'),'firstName\x20not\x20specified!',null,_0x2c5f61));}if(!_0x45133e[_0x7576('0x1f')]){return _0x1d25dd(handleCheckRowError(_0x7576('0x1d'),'phone\x20not\x20specified!',null,_0x2c5f61));}if(_0x45133e[_0x7576('0x20')]){var _0x3acfa9=moment(_0x45133e[_0x7576('0x20')],_0x7576('0x21'));if(!_0x3acfa9['isValid']()){return _0x1d25dd(handleCheckRowError(_0x7576('0x1d'),_0x7576('0x22'),null,_0x2c5f61));}}if(_0x45133e[_0x7576('0x23')]){if(!isEmail(_0x45133e['email'])){return _0x1d25dd(handleCheckRowError(_0x7576('0x1d'),'email\x20format\x20is\x20not\x20valid!',null,_0x2c5f61));}}_0x45133e[_0x7576('0x24')]=LISTID;_0x45133e[_0x7576('0x25')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0x7576('0x1a')]&&_0x4b5c46){var _0x67ca1b={};for(var _0x46bea0=0x0,_0x568a18=DUPLICATES[_0x7576('0x1a')];_0x46bea0<_0x568a18;_0x46bea0+=0x1){_0x67ca1b[DUPLICATES[_0x46bea0]]=_0x45133e[DUPLICATES[_0x46bea0]];}var _0x15518a=_[_0x7576('0x26')](_0x4b5c46,_0x67ca1b);if(_0x15518a){return _0x1d25dd(handleCheckRowError(_0x7576('0x27'),_0x7576('0x28'),_0x15518a,_0x2c5f61));}}return db[_0x7576('0x29')][_0x7576('0x2a')](_0x45133e,{'raw':!![],'hooks':![],'fields':_[_0x7576('0x2b')](_0x45133e)})[_0x7576('0x2c')](function(_0x391274){if(DUPLICATES&&DUPLICATES[_0x7576('0x1a')]&&_0x4b5c46){_0x4b5c46[_0x7576('0x2d')](_[_0x7576('0x2e')](_0x45133e,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x391274['id'];return _0x2d3e37();})[_0x7576('0x2f')](function(_0x3757a9){return _0x1d25dd(handleCheckRowError(_0x7576('0x1d'),_0x7576('0x30')+(_0x3757a9[_0x7576('0x31')]||JSON[_0x7576('0x32')](_0x3757a9)),null,_0x2c5f61));});});}function checkHopper(){function _0x660034(){return function(_0x471600){logger[_0x7576('0x1d')](_0x7576('0x33'),_0x7576('0x34'),util['inspect'](_0x471600,{'showHidden':![],'depth':null}));};}var _0x3e6a8f=function(_0xc13695,_0x4b8acc){var _0x4ae105=squel[_0x7576('0x35')]()[_0x7576('0x36')]('cm_hopper')[_0x7576('0x37')]([_0x7576('0x1f'),_0x7576('0x38'),_0x7576('0x39'),_0x7576('0x24'),_0x4b8acc,_0x7576('0x3a'),_0x7576('0x3b')],squel[_0x7576('0x3c')]()[_0x7576('0x3d')](_0x7576('0x1f'),_0x7576('0x1f'))['field']('NOW()','scheduledAt')[_0x7576('0x3d')]('id',_0x7576('0x39'))['field'](LISTID[_0x7576('0x3e')](),_0x7576('0x24'))[_0x7576('0x3d')](_0xc13695['id'][_0x7576('0x3e')](),_0x4b8acc)[_0x7576('0x3d')](_0x7576('0x3f'),_0x7576('0x3a'))[_0x7576('0x3d')](_0x7576('0x3f'),_0x7576('0x3b'))[_0x7576('0x40')](_0x7576('0x41'))['where'](_0x7576('0x42'))['where'](_0x7576('0x43'),LISTID[_0x7576('0x3e')]())[_0x7576('0x44')](_0x7576('0x45'))[_0x7576('0x44')](_0x7576('0x46'),squel[_0x7576('0x3c')]()['field']('phone')[_0x7576('0x40')](_0x7576('0x47'))[_0x7576('0x44')](_0x4b8acc+_0x7576('0x48'),_0xc13695['id'][_0x7576('0x3e')]())))['toString']();return _0x4ae105;};var _0x31f067=function(_0x5a02ce,_0x1ab0d2){var _0x4878c7=squel[_0x7576('0x35')]()[_0x7576('0x36')](_0x7576('0x47'))[_0x7576('0x37')](['phone',_0x7576('0x38'),_0x7576('0x39'),'ListId',_0x1ab0d2,_0x7576('0x3a'),_0x7576('0x3b')],squel[_0x7576('0x3c')]()['field'](_0x7576('0x1f'),'phone')[_0x7576('0x3d')](_0x7576('0x3f'),_0x7576('0x38'))['field']('id',_0x7576('0x39'))[_0x7576('0x3d')](LISTID[_0x7576('0x3e')](),'ListId')['field'](_0x5a02ce['id'][_0x7576('0x3e')](),_0x1ab0d2)[_0x7576('0x3d')](_0x7576('0x3f'),_0x7576('0x3a'))[_0x7576('0x3d')]('NOW()',_0x7576('0x3b'))['from'](_0x7576('0x41'))['where'](_0x7576('0x42'))[_0x7576('0x44')](_0x7576('0x43'),LISTID[_0x7576('0x3e')]())[_0x7576('0x44')](_0x7576('0x49'),squel[_0x7576('0x4a')](hopperContacts))['where'](_0x7576('0x45'))[_0x7576('0x44')]('phone\x20NOT\x20IN\x20(?)',squel[_0x7576('0x3c')]()[_0x7576('0x3d')](_0x7576('0x4b'))[_0x7576('0x40')](_0x7576('0x4c'))[_0x7576('0x44')](_0x1ab0d2+_0x7576('0x48'),_0x5a02ce['id']['toString']()))[_0x7576('0x44')]('phone\x20NOT\x20IN\x20(?)',squel[_0x7576('0x3c')]()[_0x7576('0x3d')]('phone')['from']('cm_hopper')['where'](_0x1ab0d2+_0x7576('0x48'),_0x5a02ce['id'][_0x7576('0x3e')]())))[_0x7576('0x3e')]();return _0x4878c7;};function _0x565390(_0x292cbe,_0x1cc95b){var _0x5381d8=squel['insert']()[_0x7576('0x36')](_0x7576('0x47'))[_0x7576('0x37')]([_0x7576('0x1f'),_0x7576('0x38'),_0x7576('0x39'),_0x7576('0x24'),_0x1cc95b,_0x7576('0x3a'),_0x7576('0x3b')],squel[_0x7576('0x3c')]()['field']('phone',_0x7576('0x1f'))[_0x7576('0x3d')](_0x7576('0x3f'),_0x7576('0x38'))[_0x7576('0x3d')]('id',_0x7576('0x39'))[_0x7576('0x3d')](LISTID[_0x7576('0x3e')](),_0x7576('0x24'))[_0x7576('0x3d')](_0x292cbe['id'][_0x7576('0x3e')](),_0x1cc95b)[_0x7576('0x3d')](_0x7576('0x3f'),_0x7576('0x3a'))[_0x7576('0x3d')]('NOW()',_0x7576('0x3b'))[_0x7576('0x40')](_0x7576('0x41'))[_0x7576('0x44')](_0x7576('0x42'))[_0x7576('0x44')](_0x7576('0x43'),LISTID[_0x7576('0x3e')]())[_0x7576('0x44')](_0x7576('0x49'),squel[_0x7576('0x4a')](hopperContacts))['where'](_0x7576('0x45')))[_0x7576('0x3e')]();return _0x5381d8;}function _0x3a19a5(_0x3c9b3a,_0x45d06e){var _0x5a42d3=squel[_0x7576('0x35')]()[_0x7576('0x36')](_0x7576('0x4d'))[_0x7576('0x37')]([_0x7576('0x1f'),_0x7576('0x39'),'ListId',_0x45d06e,_0x7576('0x3a'),_0x7576('0x3b')],squel[_0x7576('0x3c')]()[_0x7576('0x3d')](_0x7576('0x1f'),_0x7576('0x1f'))[_0x7576('0x3d')]('id',_0x7576('0x39'))[_0x7576('0x3d')](LISTID[_0x7576('0x3e')](),_0x7576('0x24'))[_0x7576('0x3d')](_0x3c9b3a['id'][_0x7576('0x3e')](),_0x45d06e)['field'](_0x7576('0x3f'),_0x7576('0x3a'))[_0x7576('0x3d')]('NOW()',_0x7576('0x3b'))[_0x7576('0x40')](_0x7576('0x41'))[_0x7576('0x44')]('deletedAt\x20IS\x20NULL')[_0x7576('0x44')](_0x7576('0x43'),LISTID[_0x7576('0x3e')]())['where'](_0x7576('0x49'),squel[_0x7576('0x4a')](hopperContacts))['where'](_0x7576('0x45')))[_0x7576('0x3e')]();return _0x5a42d3;}return db[_0x7576('0x4e')]['findAll']({'where':{'type':_0x7576('0x4f')},'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db[_0x7576('0x50')],'as':_0x7576('0x51'),'where':{'id':LISTID}}]})[_0x7576('0x2c')](function(_0x26185a){var _0x4aaddc=[];if(_0x26185a){var _0x172fe8;for(var _0x35eed9=0x0,_0x58518e;_0x35eed9<_0x26185a[_0x7576('0x1a')];_0x35eed9+=0x1){_0x58518e=_0x26185a[_0x35eed9]['get']({'plain':!![]});switch(_0x58518e[_0x7576('0x52')]){case'always':_0x4aaddc[_0x7576('0x2d')](db[_0x7576('0x53')][_0x7576('0x54')](_0x31f067(_0x58518e,_0x7576('0x55')))['then'](function(){})[_0x7576('0x2f')](_0x660034()));break;case _0x7576('0x56'):_0x4aaddc[_0x7576('0x2d')](db['sequelize'][_0x7576('0x54')](_0x3e6a8f(_0x58518e,_0x7576('0x55')))[_0x7576('0x2c')](function(){})[_0x7576('0x2f')](_0x660034()));break;default:_0x4aaddc[_0x7576('0x2d')](db[_0x7576('0x53')][_0x7576('0x54')](_0x565390(_0x58518e,_0x7576('0x55')))[_0x7576('0x2c')](function(){})['catch'](_0x660034()));}}}return _0x4aaddc;})[_0x7576('0x57')]()[_0x7576('0x2c')](function(){return db[_0x7576('0x4e')][_0x7576('0x58')]({'where':{'type':'outbound'},'attributes':['id'],'include':[{'model':db[_0x7576('0x50')],'as':_0x7576('0x59'),'where':{'id':LISTID}}]})[_0x7576('0x2c')](function(_0x4f71f3){var _0x3c4b4e=[];if(_0x4f71f3){var _0x5338ea;for(var _0x4d50e2=0x0,_0x1ec03c;_0x4d50e2<_0x4f71f3[_0x7576('0x1a')];_0x4d50e2+=0x1){_0x1ec03c=_0x4f71f3[_0x4d50e2][_0x7576('0x5a')]({'plain':!![]});_0x3c4b4e['push'](db[_0x7576('0x53')][_0x7576('0x54')](_0x3a19a5(_0x1ec03c,_0x7576('0x55')))[_0x7576('0x2c')](function(){})[_0x7576('0x2f')](_0x660034()));}}return _0x3c4b4e;})[_0x7576('0x57')]();})['then'](function(){return db['Campaign'][_0x7576('0x58')]({'attributes':['id',_0x7576('0x52')],'include':[{'model':db[_0x7576('0x50')],'as':_0x7576('0x51'),'where':{'id':LISTID}}]})['then'](function(_0xe7e9f0){var _0x6cce62=[];if(_0xe7e9f0){for(var _0x3cc80d=0x0,_0x5c7c28;_0x3cc80d<_0xe7e9f0['length'];_0x3cc80d+=0x1){_0x5c7c28=_0xe7e9f0[_0x3cc80d][_0x7576('0x5a')]({'plain':!![]});switch(_0x5c7c28['dialCheckDuplicateType']){case _0x7576('0x5b'):_0x6cce62[_0x7576('0x2d')](db[_0x7576('0x53')][_0x7576('0x54')](_0x31f067(_0x5c7c28,_0x7576('0x5c')))[_0x7576('0x2c')](function(){})['catch'](_0x660034()));break;case'onlyIfOpen':_0x6cce62[_0x7576('0x2d')](db[_0x7576('0x53')]['query'](_0x3e6a8f(_0x5c7c28,_0x7576('0x5c')))[_0x7576('0x2c')](function(){})[_0x7576('0x2f')](_0x660034()));break;default:_0x6cce62[_0x7576('0x2d')](db[_0x7576('0x53')][_0x7576('0x54')](_0x565390(_0x5c7c28,_0x7576('0x5c')))[_0x7576('0x2c')](function(){})[_0x7576('0x2f')](_0x660034()));}}}return _0x6cce62;})['all']();})[_0x7576('0x2c')](function(){return db[_0x7576('0x5d')]['findAll']({'attributes':['id'],'include':[{'model':db[_0x7576('0x50')],'as':_0x7576('0x59'),'where':{'id':LISTID}}]})['then'](function(_0x2d9edf){var _0x182f49=[];if(_0x2d9edf){for(var _0x47405f=0x0,_0x182a82;_0x47405f<_0x2d9edf['length'];_0x47405f+=0x1){_0x182a82=_0x2d9edf[_0x47405f][_0x7576('0x5a')]({'plain':!![]});_0x182f49['push'](db[_0x7576('0x53')][_0x7576('0x54')](_0x3a19a5(_0x182a82,_0x7576('0x5c')))[_0x7576('0x2c')](function(){})['catch'](_0x660034()));}}return _0x182f49;})[_0x7576('0x57')]();})[_0x7576('0x2f')](function(_0x5bc1a9){logger[_0x7576('0x1d')](_0x7576('0x5e'),_0x7576('0x5f'),_0x5bc1a9[_0x7576('0x31')]);});}var processPromises=function(_0x913d05){return BPromise['all'](promises)[_0x7576('0x2c')](function(_0x864968){})[_0x7576('0x2f')](function(_0x4403c4){logger[_0x7576('0x1d')](_0x7576('0x60'),JSON[_0x7576('0x32')](_0x4403c4));})[_0x7576('0x61')](function(){socket[_0x7576('0x62')](_0x7576('0x63')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x913d05){return _0x913d05[_0x7576('0x64')]();}});};var endCsv=function(){return BPromise[_0x7576('0x65')]()[_0x7576('0x2c')](function(){if(hopperContacts){return checkHopper();}})['then'](function(){socket[_0x7576('0x62')](_0x7576('0x63')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0x7576('0x66')](FILEPATH);}catch(_0x295a83){logger[_0x7576('0x1d')](_0x7576('0x67'),JSON[_0x7576('0x32')](_0x295a83));}finally{process['exit'](0x0);}});};process['on'](_0x7576('0x68'),function(){logger[_0x7576('0x69')]('CSV\x20import\x20process\x20stopped!');endCsv();});function main(){return BPromise[_0x7576('0x65')]()[_0x7576('0x2c')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0x7576('0x12')](',');return db[_0x7576('0x29')]['findAll']({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})['then'](function(_0x1b372e){var _0x3cf54f=fs[_0x7576('0x6a')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x7576('0x6b')](_0x3cf54f,{'header':!![],'skipEmptyLines':!![],'step':function(_0x7c86a8,_0x24ee7c){total+=0x1;var _0x25dfba=total;promises['push'](checkRow(_0x7c86a8,_0x1b372e,_0x25dfba)[_0x7576('0x2c')](function(){success+=0x1;})[_0x7576('0x2f')](function(_0xff316f){if(_0xff316f[_0x7576('0x1d')]){errors+=0x1;delete _0xff316f[_0x7576('0x1d')];}else if(_0xff316f[_0x7576('0x27')]){duplicates+=0x1;delete _0xff316f[_0x7576('0x27')];}rows[_0x7576('0x2d')](_0xff316f);}));if(total%0xc8===0x0){_0x24ee7c[_0x7576('0x6c')]();return processPromises(_0x24ee7c);}},'complete':function(){return processPromises()[_0x7576('0x2c')](function(){logger['info'](_0x7576('0x6d'));endCsv();});},'error':function(_0x36a893,_0x3119ad){logger[_0x7576('0x69')](_0x7576('0x6e'),JSON['stringify'](_0x36a893));endCsv();}});})[_0x7576('0x2f')](function(_0x31c38e){logger[_0x7576('0x1d')](_0x7576('0x6f'),JSON[_0x7576('0x32')](_0x31c38e));});}main();