Built motion from commit 9e1399f3.|2.5.37
[motion2.git] / server / api / whatsappQueueReport / whatsappQueueReport.controller.js
index f76a524..00e445d 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x0570=['filter','merge','options','WhatsappQueueReport','includeAll','include','rows','catch','show','params','fields','find','create','body','describe','eml-format','rimraf','zip-dir','request-promise','bluebird','util','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../mysqldb','sendStatus','status','end','count','offset','set','json','apply','reject','save','update','then','destroy','name','send','index','map','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','length','hasOwnProperty','nolimit','limit','order','sort','pick','where','VIRTUAL'];(function(_0x43d16c,_0x2b5447){var _0x208cce=function(_0x371720){while(--_0x371720){_0x43d16c['push'](_0x43d16c['shift']());}};_0x208cce(++_0x2b5447);}(_0x0570,0x172));var _0x0057=function(_0x54e71f,_0x485047){_0x54e71f=_0x54e71f-0x0;var _0x2c823b=_0x0570[_0x54e71f];return _0x2c823b;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0057('0x0'));var rimraf=require(_0x0057('0x1'));var zipdir=require(_0x0057('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0057('0x3'));var moment=require('moment');var BPromise=require(_0x0057('0x4'));var Mustache=require('mustache');var util=require(_0x0057('0x5'));var path=require(_0x0057('0x6'));var sox=require(_0x0057('0x7'));var csv=require(_0x0057('0x8'));var ejs=require(_0x0057('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x0057('0xa'));var crypto=require('crypto');var jsforce=require(_0x0057('0xb'));var deskjs=require(_0x0057('0xc'));var toCsv=require(_0x0057('0x8'));var querystring=require(_0x0057('0xd'));var Papa=require(_0x0057('0xe'));var Redis=require('ioredis');var authService=require(_0x0057('0xf'));var qs=require(_0x0057('0x10'));var as=require(_0x0057('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0057('0x12'))(_0x0057('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x0057('0x14'))['db'];function respondWithStatusCode(_0x471f7c,_0x33ed2c){_0x33ed2c=_0x33ed2c||0xcc;return function(_0x4d9117){if(_0x4d9117){return _0x471f7c[_0x0057('0x15')](_0x33ed2c);}return _0x471f7c[_0x0057('0x16')](_0x33ed2c)[_0x0057('0x17')]();};}function respondWithResult(_0x344d8e,_0x567515){_0x567515=_0x567515||0xc8;return function(_0x1feb22){if(_0x1feb22){return _0x344d8e[_0x0057('0x16')](_0x567515)['json'](_0x1feb22);}};}function respondWithFilteredResult(_0x20e69e,_0x25628f){return function(_0x581e76){if(_0x581e76){var _0x17549f=_0x581e76[_0x0057('0x18')],_0x59a3e7=_0x25628f[_0x0057('0x19')],_0x399018=_0x25628f['offset']+_0x25628f['limit'],_0x51524e;if(_0x399018>=_0x17549f){_0x399018=_0x17549f;_0x51524e=0xc8;}else{_0x51524e=0xce;}_0x20e69e[_0x0057('0x16')](_0x51524e);return _0x20e69e[_0x0057('0x1a')]('Content-Range',_0x59a3e7+'-'+_0x399018+'/'+_0x17549f)[_0x0057('0x1b')](_0x581e76);}return null;};}function patchUpdates(_0x5b5a4b){return function(_0x96bd7f){try{jsonpatch[_0x0057('0x1c')](_0x96bd7f,_0x5b5a4b,!![]);}catch(_0xa6b45e){return BPromise[_0x0057('0x1d')](_0xa6b45e);}return _0x96bd7f[_0x0057('0x1e')]();};}function saveUpdates(_0x26a524,_0xdea279){return function(_0x320c62){if(_0x320c62){return _0x320c62[_0x0057('0x1f')](_0x26a524)[_0x0057('0x20')](function(_0x5e6499){return _0x5e6499;});}return null;};}function removeEntity(_0xc1ba0,_0x74a47c){return function(_0x43454a){if(_0x43454a){return _0x43454a[_0x0057('0x21')]()['then'](function(){_0xc1ba0[_0x0057('0x16')](0xcc)[_0x0057('0x17')]();});}};}function handleEntityNotFound(_0x5b7c01,_0x620fcc){return function(_0xa8d716){if(!_0xa8d716){_0x5b7c01['sendStatus'](0x194);}return _0xa8d716;};}function handleError(_0x464d79,_0x2472de){_0x2472de=_0x2472de||0x1f4;return function(_0x426304){logger['error'](_0x426304['stack']);if(_0x426304[_0x0057('0x22')]){delete _0x426304[_0x0057('0x22')];}_0x464d79[_0x0057('0x16')](_0x2472de)[_0x0057('0x23')](_0x426304);};}exports[_0x0057('0x24')]=function(_0x22ba65,_0x491ef3){var _0x5f3818={},_0x5cc3e0={},_0x32e92b={'count':0x0,'rows':[]};var _0x45ff9e=_[_0x0057('0x25')](db['WhatsappQueueReport'][_0x0057('0x26')],function(_0xa4fb6a){return{'name':_0xa4fb6a[_0x0057('0x27')],'type':_0xa4fb6a[_0x0057('0x28')]['key']};});_0x5cc3e0['model']=_[_0x0057('0x25')](_0x45ff9e,'name');_0x5cc3e0[_0x0057('0x29')]=_[_0x0057('0x2a')](_0x22ba65[_0x0057('0x29')]);_0x5cc3e0[_0x0057('0x2b')]=_[_0x0057('0x2c')](_0x5cc3e0[_0x0057('0x2d')],_0x5cc3e0[_0x0057('0x29')]);_0x5f3818[_0x0057('0x2e')]=_['intersection'](_0x5cc3e0[_0x0057('0x2d')],qs['fields'](_0x22ba65[_0x0057('0x29')]['fields']));_0x5f3818['attributes']=_0x5f3818[_0x0057('0x2e')][_0x0057('0x2f')]?_0x5f3818[_0x0057('0x2e')]:_0x5cc3e0[_0x0057('0x2d')];if(!_0x22ba65['query'][_0x0057('0x30')](_0x0057('0x31'))){_0x5f3818[_0x0057('0x32')]=qs[_0x0057('0x32')](_0x22ba65[_0x0057('0x29')][_0x0057('0x32')]);_0x5f3818['offset']=qs[_0x0057('0x19')](_0x22ba65['query'][_0x0057('0x19')]);}_0x5f3818[_0x0057('0x33')]=qs[_0x0057('0x34')](_0x22ba65['query'][_0x0057('0x34')]);_0x5f3818['where']=qs['filters'](_[_0x0057('0x35')](_0x22ba65['query'],_0x5cc3e0[_0x0057('0x2b')]),_0x45ff9e);if(_0x22ba65[_0x0057('0x29')]['filter']){_0x5f3818[_0x0057('0x36')]=_['merge'](_0x5f3818[_0x0057('0x36')],{'$or':_[_0x0057('0x25')](_0x45ff9e,function(_0x34e7b1){if(_0x34e7b1[_0x0057('0x28')]!==_0x0057('0x37')){var _0x5976f4={};_0x5976f4[_0x34e7b1[_0x0057('0x22')]]={'$like':'%'+_0x22ba65[_0x0057('0x29')][_0x0057('0x38')]+'%'};return _0x5976f4;}})});}_0x5f3818=_[_0x0057('0x39')]({},_0x5f3818,_0x22ba65[_0x0057('0x3a')]);var _0x48b875={'where':_0x5f3818[_0x0057('0x36')]};return db[_0x0057('0x3b')]['count'](_0x48b875)['then'](function(_0x556fc4){_0x32e92b[_0x0057('0x18')]=_0x556fc4;if(_0x22ba65[_0x0057('0x29')][_0x0057('0x3c')]){_0x5f3818[_0x0057('0x3d')]=[{'all':!![]}];}return db[_0x0057('0x3b')]['findAll'](_0x5f3818);})[_0x0057('0x20')](function(_0x583066){_0x32e92b[_0x0057('0x3e')]=_0x583066;return _0x32e92b;})['then'](respondWithFilteredResult(_0x491ef3,_0x5f3818))[_0x0057('0x3f')](handleError(_0x491ef3,null));};exports[_0x0057('0x40')]=function(_0x1b5743,_0x577d65){var _0x54e9a2={'raw':!![],'where':{'id':_0x1b5743[_0x0057('0x41')]['id']}},_0x419f26={};_0x419f26[_0x0057('0x2d')]=_[_0x0057('0x2a')](db[_0x0057('0x3b')][_0x0057('0x26')]);_0x419f26[_0x0057('0x29')]=_[_0x0057('0x2a')](_0x1b5743[_0x0057('0x29')]);_0x419f26['filters']=_['intersection'](_0x419f26[_0x0057('0x2d')],_0x419f26[_0x0057('0x29')]);_0x54e9a2['attributes']=_[_0x0057('0x2c')](_0x419f26[_0x0057('0x2d')],qs[_0x0057('0x42')](_0x1b5743['query'][_0x0057('0x42')]));_0x54e9a2[_0x0057('0x2e')]=_0x54e9a2['attributes'][_0x0057('0x2f')]?_0x54e9a2[_0x0057('0x2e')]:_0x419f26['model'];if(_0x1b5743[_0x0057('0x29')][_0x0057('0x3c')]){_0x54e9a2[_0x0057('0x3d')]=[{'all':!![]}];}_0x54e9a2=_['merge']({},_0x54e9a2,_0x1b5743[_0x0057('0x3a')]);return db['WhatsappQueueReport'][_0x0057('0x43')](_0x54e9a2)[_0x0057('0x20')](handleEntityNotFound(_0x577d65,null))['then'](respondWithResult(_0x577d65,null))[_0x0057('0x3f')](handleError(_0x577d65,null));};exports[_0x0057('0x44')]=function(_0x34797e,_0x5e8149){return db[_0x0057('0x3b')]['create'](_0x34797e[_0x0057('0x45')],{})[_0x0057('0x20')](respondWithResult(_0x5e8149,0xc9))[_0x0057('0x3f')](handleError(_0x5e8149,null));};exports[_0x0057('0x1f')]=function(_0x2733d9,_0x47886a){if(_0x2733d9[_0x0057('0x45')]['id']){delete _0x2733d9[_0x0057('0x45')]['id'];}return db[_0x0057('0x3b')]['find']({'where':{'id':_0x2733d9[_0x0057('0x41')]['id']}})[_0x0057('0x20')](handleEntityNotFound(_0x47886a,null))['then'](saveUpdates(_0x2733d9[_0x0057('0x45')],null))[_0x0057('0x20')](respondWithResult(_0x47886a,null))[_0x0057('0x3f')](handleError(_0x47886a,null));};exports['destroy']=function(_0x25ee88,_0x98e77e){return db['WhatsappQueueReport'][_0x0057('0x43')]({'where':{'id':_0x25ee88['params']['id']}})[_0x0057('0x20')](handleEntityNotFound(_0x98e77e,null))['then'](removeEntity(_0x98e77e,null))[_0x0057('0x3f')](handleError(_0x98e77e,null));};exports[_0x0057('0x46')]=function(_0x6978a2,_0x5d7c7a){return db[_0x0057('0x3b')][_0x0057('0x46')]()[_0x0057('0x20')](respondWithResult(_0x5d7c7a,null))[_0x0057('0x3f')](handleError(_0x5d7c7a,null));};
\ No newline at end of file
+var _0xb9a7=['include','rows','catch','show','params','rawAttributes','intersection','create','body','describe','rimraf','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','count','set','Content-Range','save','update','then','destroy','stack','map','WhatsappQueueReport','fieldName','type','key','model','keys','query','filters','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','name','options','includeAll'];(function(_0x51fe78,_0x5a290e){var _0x133fac=function(_0x2fa127){while(--_0x2fa127){_0x51fe78['push'](_0x51fe78['shift']());}};_0x133fac(++_0x5a290e);}(_0xb9a7,0x112));var _0x7b9a=function(_0x8c43de,_0x90ff31){_0x8c43de=_0x8c43de-0x0;var _0xa6591b=_0xb9a7[_0x8c43de];return _0xa6591b;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7b9a('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x7b9a('0x1'));var BPromise=require('bluebird');var Mustache=require(_0x7b9a('0x2'));var util=require(_0x7b9a('0x3'));var path=require(_0x7b9a('0x4'));var sox=require(_0x7b9a('0x5'));var csv=require(_0x7b9a('0x6'));var ejs=require(_0x7b9a('0x7'));var fs=require('fs');var fs_extra=require(_0x7b9a('0x8'));var _=require(_0x7b9a('0x9'));var squel=require(_0x7b9a('0xa'));var crypto=require(_0x7b9a('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x7b9a('0xc'));var toCsv=require(_0x7b9a('0x6'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x7b9a('0xd'));var qs=require(_0x7b9a('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7b9a('0xf'));var logger=require('../../config/logger')(_0x7b9a('0x10'));var utils=require('../../config/utils');var config=require(_0x7b9a('0x11'));var licenseUtil=require(_0x7b9a('0x12'));var db=require(_0x7b9a('0x13'))['db'];function respondWithStatusCode(_0x5948ca,_0x32f616){_0x32f616=_0x32f616||0xcc;return function(_0xec5949){if(_0xec5949){return _0x5948ca['sendStatus'](_0x32f616);}return _0x5948ca[_0x7b9a('0x14')](_0x32f616)[_0x7b9a('0x15')]();};}function respondWithResult(_0x4b7ec0,_0xb157e5){_0xb157e5=_0xb157e5||0xc8;return function(_0xde180d){if(_0xde180d){return _0x4b7ec0[_0x7b9a('0x14')](_0xb157e5)[_0x7b9a('0x16')](_0xde180d);}};}function respondWithFilteredResult(_0x344fa7,_0x346daa){return function(_0x22a7e4){if(_0x22a7e4){var _0x35e602=typeof _0x346daa[_0x7b9a('0x17')]==='undefined'&&typeof _0x346daa[_0x7b9a('0x18')]==='undefined';var _0x123921=_0x22a7e4[_0x7b9a('0x19')];var _0x271263=_0x35e602?0x0:_0x346daa[_0x7b9a('0x17')];var _0x44a232=_0x35e602?_0x22a7e4[_0x7b9a('0x19')]:_0x346daa[_0x7b9a('0x17')]+_0x346daa[_0x7b9a('0x18')];var _0x2064a0;if(_0x44a232>=_0x123921){_0x44a232=_0x123921;_0x2064a0=0xc8;}else{_0x2064a0=0xce;}_0x344fa7[_0x7b9a('0x14')](_0x2064a0);return _0x344fa7[_0x7b9a('0x1a')](_0x7b9a('0x1b'),_0x271263+'-'+_0x44a232+'/'+_0x123921)[_0x7b9a('0x16')](_0x22a7e4);}return null;};}function patchUpdates(_0x58aed7){return function(_0x993048){try{jsonpatch['apply'](_0x993048,_0x58aed7,!![]);}catch(_0x1eacbc){return BPromise['reject'](_0x1eacbc);}return _0x993048[_0x7b9a('0x1c')]();};}function saveUpdates(_0x331ae6,_0x23d812){return function(_0x54fda7){if(_0x54fda7){return _0x54fda7[_0x7b9a('0x1d')](_0x331ae6)[_0x7b9a('0x1e')](function(_0x5705b2){return _0x5705b2;});}return null;};}function removeEntity(_0x35aca7,_0x374dca){return function(_0x269c07){if(_0x269c07){return _0x269c07[_0x7b9a('0x1f')]()[_0x7b9a('0x1e')](function(){_0x35aca7['status'](0xcc)[_0x7b9a('0x15')]();});}};}function handleEntityNotFound(_0x23219e,_0x5809f5){return function(_0x39b7ec){if(!_0x39b7ec){_0x23219e['sendStatus'](0x194);}return _0x39b7ec;};}function handleError(_0x31eb67,_0x3091ab){_0x3091ab=_0x3091ab||0x1f4;return function(_0x4c2271){logger['error'](_0x4c2271[_0x7b9a('0x20')]);if(_0x4c2271['name']){delete _0x4c2271['name'];}_0x31eb67[_0x7b9a('0x14')](_0x3091ab)['send'](_0x4c2271);};}exports['index']=function(_0x3847b4,_0x4d5880){var _0x5c89b6={},_0x314b6d={},_0x4fee38={'count':0x0,'rows':[]};var _0x1553ae=_[_0x7b9a('0x21')](db[_0x7b9a('0x22')]['rawAttributes'],function(_0x45ccf5){return{'name':_0x45ccf5[_0x7b9a('0x23')],'type':_0x45ccf5[_0x7b9a('0x24')][_0x7b9a('0x25')]};});_0x314b6d[_0x7b9a('0x26')]=_[_0x7b9a('0x21')](_0x1553ae,'name');_0x314b6d['query']=_[_0x7b9a('0x27')](_0x3847b4[_0x7b9a('0x28')]);_0x314b6d[_0x7b9a('0x29')]=_['intersection'](_0x314b6d[_0x7b9a('0x26')],_0x314b6d[_0x7b9a('0x28')]);_0x5c89b6['attributes']=_['intersection'](_0x314b6d[_0x7b9a('0x26')],qs[_0x7b9a('0x2a')](_0x3847b4['query'][_0x7b9a('0x2a')]));_0x5c89b6[_0x7b9a('0x2b')]=_0x5c89b6[_0x7b9a('0x2b')][_0x7b9a('0x2c')]?_0x5c89b6[_0x7b9a('0x2b')]:_0x314b6d['model'];if(!_0x3847b4[_0x7b9a('0x28')][_0x7b9a('0x2d')](_0x7b9a('0x2e'))){_0x5c89b6[_0x7b9a('0x18')]=qs[_0x7b9a('0x18')](_0x3847b4[_0x7b9a('0x28')]['limit']);_0x5c89b6['offset']=qs[_0x7b9a('0x17')](_0x3847b4[_0x7b9a('0x28')]['offset']);}_0x5c89b6[_0x7b9a('0x2f')]=qs[_0x7b9a('0x30')](_0x3847b4[_0x7b9a('0x28')]['sort']);_0x5c89b6[_0x7b9a('0x31')]=qs[_0x7b9a('0x29')](_['pick'](_0x3847b4['query'],_0x314b6d[_0x7b9a('0x29')]),_0x1553ae);if(_0x3847b4[_0x7b9a('0x28')][_0x7b9a('0x32')]){_0x5c89b6[_0x7b9a('0x31')]=_[_0x7b9a('0x33')](_0x5c89b6[_0x7b9a('0x31')],{'$or':_[_0x7b9a('0x21')](_0x1553ae,function(_0x380f4b){if(_0x380f4b['type']!==_0x7b9a('0x34')){var _0x5ac175={};_0x5ac175[_0x380f4b[_0x7b9a('0x35')]]={'$like':'%'+_0x3847b4[_0x7b9a('0x28')][_0x7b9a('0x32')]+'%'};return _0x5ac175;}})});}_0x5c89b6=_[_0x7b9a('0x33')]({},_0x5c89b6,_0x3847b4[_0x7b9a('0x36')]);var _0x89951b={'where':_0x5c89b6['where']};return db[_0x7b9a('0x22')][_0x7b9a('0x19')](_0x89951b)[_0x7b9a('0x1e')](function(_0x1bc1f0){_0x4fee38['count']=_0x1bc1f0;if(_0x3847b4[_0x7b9a('0x28')][_0x7b9a('0x37')]){_0x5c89b6[_0x7b9a('0x38')]=[{'all':!![]}];}return db[_0x7b9a('0x22')]['findAll'](_0x5c89b6);})[_0x7b9a('0x1e')](function(_0x53d89a){_0x4fee38[_0x7b9a('0x39')]=_0x53d89a;return _0x4fee38;})[_0x7b9a('0x1e')](respondWithFilteredResult(_0x4d5880,_0x5c89b6))[_0x7b9a('0x3a')](handleError(_0x4d5880,null));};exports[_0x7b9a('0x3b')]=function(_0x43fad0,_0x41f541){var _0x56e274={'raw':!![],'where':{'id':_0x43fad0[_0x7b9a('0x3c')]['id']}},_0x33edc6={};_0x33edc6[_0x7b9a('0x26')]=_['keys'](db['WhatsappQueueReport'][_0x7b9a('0x3d')]);_0x33edc6[_0x7b9a('0x28')]=_[_0x7b9a('0x27')](_0x43fad0[_0x7b9a('0x28')]);_0x33edc6[_0x7b9a('0x29')]=_[_0x7b9a('0x3e')](_0x33edc6['model'],_0x33edc6['query']);_0x56e274['attributes']=_[_0x7b9a('0x3e')](_0x33edc6[_0x7b9a('0x26')],qs['fields'](_0x43fad0[_0x7b9a('0x28')][_0x7b9a('0x2a')]));_0x56e274[_0x7b9a('0x2b')]=_0x56e274['attributes'][_0x7b9a('0x2c')]?_0x56e274['attributes']:_0x33edc6[_0x7b9a('0x26')];if(_0x43fad0[_0x7b9a('0x28')][_0x7b9a('0x37')]){_0x56e274[_0x7b9a('0x38')]=[{'all':!![]}];}_0x56e274=_[_0x7b9a('0x33')]({},_0x56e274,_0x43fad0['options']);return db[_0x7b9a('0x22')]['find'](_0x56e274)[_0x7b9a('0x1e')](handleEntityNotFound(_0x41f541,null))['then'](respondWithResult(_0x41f541,null))['catch'](handleError(_0x41f541,null));};exports[_0x7b9a('0x3f')]=function(_0x3727ef,_0x717d08){return db[_0x7b9a('0x22')][_0x7b9a('0x3f')](_0x3727ef[_0x7b9a('0x40')],{})[_0x7b9a('0x1e')](respondWithResult(_0x717d08,0xc9))[_0x7b9a('0x3a')](handleError(_0x717d08,null));};exports[_0x7b9a('0x1d')]=function(_0x5088c7,_0x1d7957){if(_0x5088c7[_0x7b9a('0x40')]['id']){delete _0x5088c7['body']['id'];}return db['WhatsappQueueReport']['find']({'where':{'id':_0x5088c7[_0x7b9a('0x3c')]['id']}})[_0x7b9a('0x1e')](handleEntityNotFound(_0x1d7957,null))[_0x7b9a('0x1e')](saveUpdates(_0x5088c7[_0x7b9a('0x40')],null))['then'](respondWithResult(_0x1d7957,null))[_0x7b9a('0x3a')](handleError(_0x1d7957,null));};exports[_0x7b9a('0x1f')]=function(_0x287dea,_0x33b200){return db[_0x7b9a('0x22')]['find']({'where':{'id':_0x287dea[_0x7b9a('0x3c')]['id']}})['then'](handleEntityNotFound(_0x33b200,null))[_0x7b9a('0x1e')](removeEntity(_0x33b200,null))[_0x7b9a('0x3a')](handleError(_0x33b200,null));};exports[_0x7b9a('0x41')]=function(_0x3f42a2,_0x52f2ca){return db[_0x7b9a('0x22')][_0x7b9a('0x41')]()[_0x7b9a('0x1e')](respondWithResult(_0x52f2ca,null))[_0x7b9a('0x3a')](handleError(_0x52f2ca,null));};
\ No newline at end of file