Built motion from commit 85328c08.|2.5.50
[motion2.git] / server / api / whatsappApplication / whatsappApplication.controller.js
index 32071e2..f1b1b49 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x14eb=['html-pdf','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','lodash','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','index','map','WhatsappApplication','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','count','include','rows','catch','show','params','find','create','body'];(function(_0x51904a,_0x1fef6d){var _0x25cac0=function(_0xd3ff25){while(--_0xd3ff25){_0x51904a['push'](_0x51904a['shift']());}};_0x25cac0(++_0x1fef6d);}(_0x14eb,0x1f1));var _0xb14e=function(_0x2613b8,_0x40a6e6){_0x2613b8=_0x2613b8-0x0;var _0x51d3d5=_0x14eb[_0x2613b8];return _0x51d3d5;};'use strict';var pdf=require(_0xb14e('0x0'));var emlformat=require(_0xb14e('0x1'));var rimraf=require(_0xb14e('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb14e('0x3'));var rp=require('request-promise');var moment=require(_0xb14e('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xb14e('0x5'));var util=require(_0xb14e('0x6'));var path=require(_0xb14e('0x7'));var sox=require(_0xb14e('0x8'));var csv=require(_0xb14e('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xb14e('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xb14e('0xb'));var toCsv=require(_0xb14e('0x9'));var querystring=require(_0xb14e('0xc'));var Papa=require(_0xb14e('0xd'));var Redis=require(_0xb14e('0xe'));var authService=require(_0xb14e('0xf'));var qs=require(_0xb14e('0x10'));var as=require(_0xb14e('0x11'));var hardwareService=require(_0xb14e('0x12'));var logger=require(_0xb14e('0x13'))(_0xb14e('0x14'));var utils=require(_0xb14e('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb14e('0x16'))['db'];function respondWithStatusCode(_0x12190c,_0x19d72c){_0x19d72c=_0x19d72c||0xcc;return function(_0x581c56){if(_0x581c56){return _0x12190c[_0xb14e('0x17')](_0x19d72c);}return _0x12190c[_0xb14e('0x18')](_0x19d72c)[_0xb14e('0x19')]();};}function respondWithResult(_0x28a8fe,_0x449ac6){_0x449ac6=_0x449ac6||0xc8;return function(_0x5c9822){if(_0x5c9822){return _0x28a8fe[_0xb14e('0x18')](_0x449ac6)[_0xb14e('0x1a')](_0x5c9822);}};}function respondWithFilteredResult(_0x48edd8,_0x20c647){return function(_0x1549c7){if(_0x1549c7){var _0x5368d0=_0x1549c7['count'],_0xffdf03=_0x20c647[_0xb14e('0x1b')],_0x48409e=_0x20c647[_0xb14e('0x1b')]+_0x20c647[_0xb14e('0x1c')],_0x3aa51e;if(_0x48409e>=_0x5368d0){_0x48409e=_0x5368d0;_0x3aa51e=0xc8;}else{_0x3aa51e=0xce;}_0x48edd8[_0xb14e('0x18')](_0x3aa51e);return _0x48edd8[_0xb14e('0x1d')](_0xb14e('0x1e'),_0xffdf03+'-'+_0x48409e+'/'+_0x5368d0)[_0xb14e('0x1a')](_0x1549c7);}return null;};}function patchUpdates(_0x165e40){return function(_0x29693e){try{jsonpatch[_0xb14e('0x1f')](_0x29693e,_0x165e40,!![]);}catch(_0x22d6ea){return BPromise[_0xb14e('0x20')](_0x22d6ea);}return _0x29693e[_0xb14e('0x21')]();};}function saveUpdates(_0x56a4d7,_0x594f7d){return function(_0x1ec887){if(_0x1ec887){return _0x1ec887[_0xb14e('0x22')](_0x56a4d7)['then'](function(_0x4073d0){return _0x4073d0;});}return null;};}function removeEntity(_0x566c3b,_0x3afb7e){return function(_0x5b5bf8){if(_0x5b5bf8){return _0x5b5bf8[_0xb14e('0x23')]()[_0xb14e('0x24')](function(){_0x566c3b[_0xb14e('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x31b096,_0x2f79e0){return function(_0x1c2915){if(!_0x1c2915){_0x31b096[_0xb14e('0x17')](0x194);}return _0x1c2915;};}function handleError(_0x473c8d,_0x326bba){_0x326bba=_0x326bba||0x1f4;return function(_0x462697){logger[_0xb14e('0x25')](_0x462697[_0xb14e('0x26')]);if(_0x462697[_0xb14e('0x27')]){delete _0x462697[_0xb14e('0x27')];}_0x473c8d[_0xb14e('0x18')](_0x326bba)['send'](_0x462697);};}exports[_0xb14e('0x28')]=function(_0x46bc2a,_0x403bcf){var _0x3b92d6={},_0x19e61e={},_0x305ad7={'count':0x0,'rows':[]};var _0x5cd52f=_[_0xb14e('0x29')](db[_0xb14e('0x2a')][_0xb14e('0x2b')],function(_0x5ad34d){return{'name':_0x5ad34d[_0xb14e('0x2c')],'type':_0x5ad34d[_0xb14e('0x2d')][_0xb14e('0x2e')]};});_0x19e61e[_0xb14e('0x2f')]=_[_0xb14e('0x29')](_0x5cd52f,'name');_0x19e61e[_0xb14e('0x30')]=_[_0xb14e('0x31')](_0x46bc2a[_0xb14e('0x30')]);_0x19e61e['filters']=_[_0xb14e('0x32')](_0x19e61e['model'],_0x19e61e['query']);_0x3b92d6[_0xb14e('0x33')]=_[_0xb14e('0x32')](_0x19e61e[_0xb14e('0x2f')],qs['fields'](_0x46bc2a['query'][_0xb14e('0x34')]));_0x3b92d6[_0xb14e('0x33')]=_0x3b92d6[_0xb14e('0x33')]['length']?_0x3b92d6[_0xb14e('0x33')]:_0x19e61e['model'];if(!_0x46bc2a[_0xb14e('0x30')][_0xb14e('0x35')](_0xb14e('0x36'))){_0x3b92d6[_0xb14e('0x1c')]=qs[_0xb14e('0x1c')](_0x46bc2a[_0xb14e('0x30')][_0xb14e('0x1c')]);_0x3b92d6[_0xb14e('0x1b')]=qs[_0xb14e('0x1b')](_0x46bc2a[_0xb14e('0x30')]['offset']);}_0x3b92d6[_0xb14e('0x37')]=qs['sort'](_0x46bc2a[_0xb14e('0x30')][_0xb14e('0x38')]);_0x3b92d6['where']=qs[_0xb14e('0x39')](_[_0xb14e('0x3a')](_0x46bc2a['query'],_0x19e61e['filters']),_0x5cd52f);if(_0x46bc2a['query'][_0xb14e('0x3b')]){_0x3b92d6[_0xb14e('0x3c')]=_[_0xb14e('0x3d')](_0x3b92d6[_0xb14e('0x3c')],{'$or':_['map'](_0x5cd52f,function(_0x340f5e){if(_0x340f5e[_0xb14e('0x2d')]!=='VIRTUAL'){var _0x135d8c={};_0x135d8c[_0x340f5e[_0xb14e('0x27')]]={'$like':'%'+_0x46bc2a['query'][_0xb14e('0x3b')]+'%'};return _0x135d8c;}})});}_0x3b92d6=_['merge']({},_0x3b92d6,_0x46bc2a['options']);var _0x14c891={'where':_0x3b92d6['where']};return db['WhatsappApplication'][_0xb14e('0x3e')](_0x14c891)[_0xb14e('0x24')](function(_0x33d717){_0x305ad7[_0xb14e('0x3e')]=_0x33d717;if(_0x46bc2a[_0xb14e('0x30')]['includeAll']){_0x3b92d6[_0xb14e('0x3f')]=[{'all':!![]}];}return db['WhatsappApplication']['findAll'](_0x3b92d6);})[_0xb14e('0x24')](function(_0x1f4d85){_0x305ad7[_0xb14e('0x40')]=_0x1f4d85;return _0x305ad7;})[_0xb14e('0x24')](respondWithFilteredResult(_0x403bcf,_0x3b92d6))[_0xb14e('0x41')](handleError(_0x403bcf,null));};exports[_0xb14e('0x42')]=function(_0x3cc9d9,_0x5bd8c5){var _0x28b27a={'raw':!![],'where':{'id':_0x3cc9d9[_0xb14e('0x43')]['id']}},_0x2edda9={};_0x2edda9[_0xb14e('0x2f')]=_[_0xb14e('0x31')](db[_0xb14e('0x2a')][_0xb14e('0x2b')]);_0x2edda9[_0xb14e('0x30')]=_['keys'](_0x3cc9d9[_0xb14e('0x30')]);_0x2edda9[_0xb14e('0x39')]=_[_0xb14e('0x32')](_0x2edda9[_0xb14e('0x2f')],_0x2edda9[_0xb14e('0x30')]);_0x28b27a[_0xb14e('0x33')]=_[_0xb14e('0x32')](_0x2edda9[_0xb14e('0x2f')],qs[_0xb14e('0x34')](_0x3cc9d9[_0xb14e('0x30')][_0xb14e('0x34')]));_0x28b27a['attributes']=_0x28b27a[_0xb14e('0x33')]['length']?_0x28b27a[_0xb14e('0x33')]:_0x2edda9[_0xb14e('0x2f')];if(_0x3cc9d9['query']['includeAll']){_0x28b27a[_0xb14e('0x3f')]=[{'all':!![]}];}_0x28b27a=_[_0xb14e('0x3d')]({},_0x28b27a,_0x3cc9d9['options']);return db[_0xb14e('0x2a')][_0xb14e('0x44')](_0x28b27a)['then'](handleEntityNotFound(_0x5bd8c5,null))[_0xb14e('0x24')](respondWithResult(_0x5bd8c5,null))['catch'](handleError(_0x5bd8c5,null));};exports[_0xb14e('0x45')]=function(_0x7ebd1a,_0x5f15f8){return db[_0xb14e('0x2a')]['create'](_0x7ebd1a[_0xb14e('0x46')],{})[_0xb14e('0x24')](respondWithResult(_0x5f15f8,0xc9))[_0xb14e('0x41')](handleError(_0x5f15f8,null));};exports[_0xb14e('0x22')]=function(_0xabc6f2,_0x1c3e5d){if(_0xabc6f2['body']['id']){delete _0xabc6f2[_0xb14e('0x46')]['id'];}return db['WhatsappApplication'][_0xb14e('0x44')]({'where':{'id':_0xabc6f2[_0xb14e('0x43')]['id']}})[_0xb14e('0x24')](handleEntityNotFound(_0x1c3e5d,null))[_0xb14e('0x24')](saveUpdates(_0xabc6f2['body'],null))[_0xb14e('0x24')](respondWithResult(_0x1c3e5d,null))[_0xb14e('0x41')](handleError(_0x1c3e5d,null));};exports['destroy']=function(_0x4fafc1,_0x2ef08c){return db[_0xb14e('0x2a')][_0xb14e('0x44')]({'where':{'id':_0x4fafc1[_0xb14e('0x43')]['id']}})['then'](handleEntityNotFound(_0x2ef08c,null))[_0xb14e('0x24')](removeEntity(_0x2ef08c,null))['catch'](handleError(_0x2ef08c,null));};
\ No newline at end of file
+var _0x49fe=['set','json','apply','reject','save','update','then','destroy','stack','name','send','map','WhatsappApplication','rawAttributes','fieldName','type','model','query','filters','intersection','fields','length','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','show','params','keys','find','catch','create','body','eml-format','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count'];(function(_0x50e593,_0x3ae998){var _0x3821d0=function(_0x53c295){while(--_0x53c295){_0x50e593['push'](_0x50e593['shift']());}};_0x3821d0(++_0x3ae998);}(_0x49fe,0x75));var _0xe49f=function(_0x383523,_0x5d95d3){_0x383523=_0x383523-0x0;var _0x5b307e=_0x49fe[_0x383523];return _0x5b307e;};'use strict';var emlformat=require(_0xe49f('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xe49f('0x1'));var moment=require(_0xe49f('0x2'));var BPromise=require(_0xe49f('0x3'));var Mustache=require(_0xe49f('0x4'));var util=require(_0xe49f('0x5'));var path=require(_0xe49f('0x6'));var sox=require(_0xe49f('0x7'));var csv=require(_0xe49f('0x8'));var ejs=require(_0xe49f('0x9'));var fs=require('fs');var fs_extra=require(_0xe49f('0xa'));var _=require(_0xe49f('0xb'));var squel=require(_0xe49f('0xc'));var crypto=require(_0xe49f('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xe49f('0xe'));var toCsv=require(_0xe49f('0x8'));var querystring=require('querystring');var Papa=require(_0xe49f('0xf'));var Redis=require('ioredis');var authService=require(_0xe49f('0x10'));var qs=require(_0xe49f('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe49f('0x12'));var logger=require(_0xe49f('0x13'))(_0xe49f('0x14'));var utils=require(_0xe49f('0x15'));var config=require(_0xe49f('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xe49f('0x17'))['db'];function respondWithStatusCode(_0x3958bd,_0x504081){_0x504081=_0x504081||0xcc;return function(_0x10517d){if(_0x10517d){return _0x3958bd[_0xe49f('0x18')](_0x504081);}return _0x3958bd[_0xe49f('0x19')](_0x504081)[_0xe49f('0x1a')]();};}function respondWithResult(_0x44c7fe,_0x5708d9){_0x5708d9=_0x5708d9||0xc8;return function(_0x3645e8){if(_0x3645e8){return _0x44c7fe[_0xe49f('0x19')](_0x5708d9)['json'](_0x3645e8);}};}function respondWithFilteredResult(_0x4f3550,_0xfe24b7){return function(_0x3e5fb3){if(_0x3e5fb3){var _0x1e8eb8=typeof _0xfe24b7[_0xe49f('0x1b')]===_0xe49f('0x1c')&&typeof _0xfe24b7[_0xe49f('0x1d')]==='undefined';var _0x7831f1=_0x3e5fb3['count'];var _0x6ab378=_0x1e8eb8?0x0:_0xfe24b7['offset'];var _0x58f852=_0x1e8eb8?_0x3e5fb3[_0xe49f('0x1e')]:_0xfe24b7[_0xe49f('0x1b')]+_0xfe24b7['limit'];var _0x7a5643;if(_0x58f852>=_0x7831f1){_0x58f852=_0x7831f1;_0x7a5643=0xc8;}else{_0x7a5643=0xce;}_0x4f3550['status'](_0x7a5643);return _0x4f3550[_0xe49f('0x1f')]('Content-Range',_0x6ab378+'-'+_0x58f852+'/'+_0x7831f1)[_0xe49f('0x20')](_0x3e5fb3);}return null;};}function patchUpdates(_0x47b09a){return function(_0x4c4dcf){try{jsonpatch[_0xe49f('0x21')](_0x4c4dcf,_0x47b09a,!![]);}catch(_0x5b50e0){return BPromise[_0xe49f('0x22')](_0x5b50e0);}return _0x4c4dcf[_0xe49f('0x23')]();};}function saveUpdates(_0x40129c,_0x1647d1){return function(_0x424927){if(_0x424927){return _0x424927[_0xe49f('0x24')](_0x40129c)[_0xe49f('0x25')](function(_0x3d4146){return _0x3d4146;});}return null;};}function removeEntity(_0x233646,_0x2a2926){return function(_0x2bc2b2){if(_0x2bc2b2){return _0x2bc2b2[_0xe49f('0x26')]()[_0xe49f('0x25')](function(){_0x233646['status'](0xcc)[_0xe49f('0x1a')]();});}};}function handleEntityNotFound(_0x298cba,_0xbe357){return function(_0x14d820){if(!_0x14d820){_0x298cba['sendStatus'](0x194);}return _0x14d820;};}function handleError(_0x4ca90a,_0x1ff78c){_0x1ff78c=_0x1ff78c||0x1f4;return function(_0x44b702){logger['error'](_0x44b702[_0xe49f('0x27')]);if(_0x44b702['name']){delete _0x44b702[_0xe49f('0x28')];}_0x4ca90a[_0xe49f('0x19')](_0x1ff78c)[_0xe49f('0x29')](_0x44b702);};}exports['index']=function(_0x557b4e,_0x1357f6){var _0x32406b={},_0x298248={},_0x268f6e={'count':0x0,'rows':[]};var _0x4be6fc=_[_0xe49f('0x2a')](db[_0xe49f('0x2b')][_0xe49f('0x2c')],function(_0x1b3280){return{'name':_0x1b3280[_0xe49f('0x2d')],'type':_0x1b3280[_0xe49f('0x2e')]['key']};});_0x298248[_0xe49f('0x2f')]=_[_0xe49f('0x2a')](_0x4be6fc,_0xe49f('0x28'));_0x298248[_0xe49f('0x30')]=_['keys'](_0x557b4e['query']);_0x298248[_0xe49f('0x31')]=_[_0xe49f('0x32')](_0x298248[_0xe49f('0x2f')],_0x298248['query']);_0x32406b['attributes']=_[_0xe49f('0x32')](_0x298248[_0xe49f('0x2f')],qs[_0xe49f('0x33')](_0x557b4e['query'][_0xe49f('0x33')]));_0x32406b['attributes']=_0x32406b['attributes'][_0xe49f('0x34')]?_0x32406b[_0xe49f('0x35')]:_0x298248[_0xe49f('0x2f')];if(!_0x557b4e['query'][_0xe49f('0x36')](_0xe49f('0x37'))){_0x32406b['limit']=qs['limit'](_0x557b4e[_0xe49f('0x30')][_0xe49f('0x1d')]);_0x32406b[_0xe49f('0x1b')]=qs[_0xe49f('0x1b')](_0x557b4e['query'][_0xe49f('0x1b')]);}_0x32406b[_0xe49f('0x38')]=qs[_0xe49f('0x39')](_0x557b4e[_0xe49f('0x30')][_0xe49f('0x39')]);_0x32406b[_0xe49f('0x3a')]=qs[_0xe49f('0x31')](_[_0xe49f('0x3b')](_0x557b4e[_0xe49f('0x30')],_0x298248[_0xe49f('0x31')]),_0x4be6fc);if(_0x557b4e[_0xe49f('0x30')][_0xe49f('0x3c')]){_0x32406b[_0xe49f('0x3a')]=_[_0xe49f('0x3d')](_0x32406b[_0xe49f('0x3a')],{'$or':_[_0xe49f('0x2a')](_0x4be6fc,function(_0x1edf31){if(_0x1edf31[_0xe49f('0x2e')]!==_0xe49f('0x3e')){var _0x3d1380={};_0x3d1380[_0x1edf31[_0xe49f('0x28')]]={'$like':'%'+_0x557b4e[_0xe49f('0x30')][_0xe49f('0x3c')]+'%'};return _0x3d1380;}})});}_0x32406b=_['merge']({},_0x32406b,_0x557b4e[_0xe49f('0x3f')]);var _0x2efd45={'where':_0x32406b[_0xe49f('0x3a')]};return db['WhatsappApplication'][_0xe49f('0x1e')](_0x2efd45)['then'](function(_0x5cdf86){_0x268f6e[_0xe49f('0x1e')]=_0x5cdf86;if(_0x557b4e[_0xe49f('0x30')]['includeAll']){_0x32406b[_0xe49f('0x40')]=[{'all':!![]}];}return db[_0xe49f('0x2b')][_0xe49f('0x41')](_0x32406b);})[_0xe49f('0x25')](function(_0x36422e){_0x268f6e[_0xe49f('0x42')]=_0x36422e;return _0x268f6e;})[_0xe49f('0x25')](respondWithFilteredResult(_0x1357f6,_0x32406b))['catch'](handleError(_0x1357f6,null));};exports[_0xe49f('0x43')]=function(_0xbe91d2,_0x370162){var _0x2fb5f4={'raw':!![],'where':{'id':_0xbe91d2[_0xe49f('0x44')]['id']}},_0xd4341f={};_0xd4341f['model']=_[_0xe49f('0x45')](db[_0xe49f('0x2b')][_0xe49f('0x2c')]);_0xd4341f[_0xe49f('0x30')]=_[_0xe49f('0x45')](_0xbe91d2[_0xe49f('0x30')]);_0xd4341f[_0xe49f('0x31')]=_[_0xe49f('0x32')](_0xd4341f['model'],_0xd4341f['query']);_0x2fb5f4[_0xe49f('0x35')]=_['intersection'](_0xd4341f[_0xe49f('0x2f')],qs[_0xe49f('0x33')](_0xbe91d2[_0xe49f('0x30')][_0xe49f('0x33')]));_0x2fb5f4['attributes']=_0x2fb5f4[_0xe49f('0x35')][_0xe49f('0x34')]?_0x2fb5f4[_0xe49f('0x35')]:_0xd4341f['model'];if(_0xbe91d2[_0xe49f('0x30')]['includeAll']){_0x2fb5f4[_0xe49f('0x40')]=[{'all':!![]}];}_0x2fb5f4=_['merge']({},_0x2fb5f4,_0xbe91d2[_0xe49f('0x3f')]);return db['WhatsappApplication'][_0xe49f('0x46')](_0x2fb5f4)[_0xe49f('0x25')](handleEntityNotFound(_0x370162,null))[_0xe49f('0x25')](respondWithResult(_0x370162,null))[_0xe49f('0x47')](handleError(_0x370162,null));};exports[_0xe49f('0x48')]=function(_0x21796d,_0x2f87aa){return db[_0xe49f('0x2b')][_0xe49f('0x48')](_0x21796d['body'],{})['then'](respondWithResult(_0x2f87aa,0xc9))[_0xe49f('0x47')](handleError(_0x2f87aa,null));};exports[_0xe49f('0x24')]=function(_0x3fa5ec,_0x2cd14d){if(_0x3fa5ec[_0xe49f('0x49')]['id']){delete _0x3fa5ec[_0xe49f('0x49')]['id'];}return db[_0xe49f('0x2b')][_0xe49f('0x46')]({'where':{'id':_0x3fa5ec[_0xe49f('0x44')]['id']}})[_0xe49f('0x25')](handleEntityNotFound(_0x2cd14d,null))[_0xe49f('0x25')](saveUpdates(_0x3fa5ec['body'],null))[_0xe49f('0x25')](respondWithResult(_0x2cd14d,null))['catch'](handleError(_0x2cd14d,null));};exports[_0xe49f('0x26')]=function(_0x1daf27,_0x416807){return db[_0xe49f('0x2b')][_0xe49f('0x46')]({'where':{'id':_0x1daf27[_0xe49f('0x44')]['id']}})[_0xe49f('0x25')](handleEntityNotFound(_0x416807,null))[_0xe49f('0x25')](removeEntity(_0x416807,null))[_0xe49f('0x47')](handleError(_0x416807,null));};
\ No newline at end of file