Built motion from commit (unavailable).|2.5.6
[motion2.git] / server / api / smsQueueReport / smsQueueReport.controller.js
index 314536f..faea891 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x830d=['then','error','stack','name','send','index','map','SmsQueueReport','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','includeAll','include','findAll','rows','show','find','catch','create','body','params','describe','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','destroy'];(function(_0x3c4e4c,_0x36ff70){var _0x144a87=function(_0x5efb4b){while(--_0x5efb4b){_0x3c4e4c['push'](_0x3c4e4c['shift']());}};_0x144a87(++_0x36ff70);}(_0x830d,0xca));var _0xd830=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x830d[_0x20a584];return _0x4b41a8;};'use strict';var pdf=require(_0xd830('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xd830('0x1'));var zipdir=require(_0xd830('0x2'));var jsonpatch=require(_0xd830('0x3'));var rp=require(_0xd830('0x4'));var moment=require(_0xd830('0x5'));var BPromise=require(_0xd830('0x6'));var Mustache=require(_0xd830('0x7'));var util=require(_0xd830('0x8'));var path=require(_0xd830('0x9'));var sox=require(_0xd830('0xa'));var csv=require(_0xd830('0xb'));var ejs=require(_0xd830('0xc'));var fs=require('fs');var _=require(_0xd830('0xd'));var squel=require(_0xd830('0xe'));var crypto=require(_0xd830('0xf'));var jsforce=require(_0xd830('0x10'));var deskjs=require(_0xd830('0x11'));var toCsv=require('to-csv');var querystring=require(_0xd830('0x12'));var Papa=require(_0xd830('0x13'));var Redis=require(_0xd830('0x14'));var authService=require('../../components/auth/service');var qs=require(_0xd830('0x15'));var as=require(_0xd830('0x16'));var hardwareService=require(_0xd830('0x17'));var logger=require(_0xd830('0x18'))(_0xd830('0x19'));var utils=require(_0xd830('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0xd830('0x1b'));var db=require(_0xd830('0x1c'))['db'];function respondWithStatusCode(_0xab1c18,_0x405ccf){_0x405ccf=_0x405ccf||0xcc;return function(_0x53405f){if(_0x53405f){return _0xab1c18[_0xd830('0x1d')](_0x405ccf);}return _0xab1c18[_0xd830('0x1e')](_0x405ccf)['end']();};}function respondWithResult(_0x3cb265,_0x1303e7){_0x1303e7=_0x1303e7||0xc8;return function(_0x428249){if(_0x428249){return _0x3cb265[_0xd830('0x1e')](_0x1303e7)[_0xd830('0x1f')](_0x428249);}};}function respondWithFilteredResult(_0x1efc6d,_0x45351f){return function(_0x1f6791){if(_0x1f6791){var _0x11e457=_0x1f6791[_0xd830('0x20')],_0x2229b4=_0x45351f[_0xd830('0x21')],_0x519df3=_0x45351f[_0xd830('0x21')]+_0x45351f[_0xd830('0x22')],_0x541483;if(_0x519df3>=_0x11e457){_0x519df3=_0x11e457;_0x541483=0xc8;}else{_0x541483=0xce;}_0x1efc6d[_0xd830('0x1e')](_0x541483);return _0x1efc6d[_0xd830('0x23')](_0xd830('0x24'),_0x2229b4+'-'+_0x519df3+'/'+_0x11e457)['json'](_0x1f6791);}return null;};}function patchUpdates(_0x17304f){return function(_0x2424c9){try{jsonpatch[_0xd830('0x25')](_0x2424c9,_0x17304f,!![]);}catch(_0x5bfd05){return BPromise[_0xd830('0x26')](_0x5bfd05);}return _0x2424c9[_0xd830('0x27')]();};}function saveUpdates(_0x5917d6,_0x412522){return function(_0x80b020){if(_0x80b020){return _0x80b020['update'](_0x5917d6)['then'](function(_0x353362){return _0x353362;});}return null;};}function removeEntity(_0x367883,_0x5c0e66){return function(_0x5af408){if(_0x5af408){return _0x5af408[_0xd830('0x28')]()[_0xd830('0x29')](function(){_0x367883[_0xd830('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4afe5f,_0x5bb3e8){return function(_0x4402aa){if(!_0x4402aa){_0x4afe5f[_0xd830('0x1d')](0x194);}return _0x4402aa;};}function handleError(_0x1e9cd5,_0x284354){_0x284354=_0x284354||0x1f4;return function(_0x4e7d90){logger[_0xd830('0x2a')](_0x4e7d90[_0xd830('0x2b')]);if(_0x4e7d90[_0xd830('0x2c')]){delete _0x4e7d90[_0xd830('0x2c')];}_0x1e9cd5['status'](_0x284354)[_0xd830('0x2d')](_0x4e7d90);};}exports[_0xd830('0x2e')]=function(_0x239b2a,_0x182bbb){var _0x3a3b77={},_0x3852a4={},_0x27692e={'count':0x0,'rows':[]};var _0x506053=_[_0xd830('0x2f')](db[_0xd830('0x30')][_0xd830('0x31')],function(_0x3a034e){return{'name':_0x3a034e[_0xd830('0x32')],'type':_0x3a034e[_0xd830('0x33')][_0xd830('0x34')]};});_0x3852a4[_0xd830('0x35')]=_['map'](_0x506053,_0xd830('0x2c'));_0x3852a4[_0xd830('0x36')]=_[_0xd830('0x37')](_0x239b2a[_0xd830('0x36')]);_0x3852a4['filters']=_['intersection'](_0x3852a4[_0xd830('0x35')],_0x3852a4[_0xd830('0x36')]);_0x3a3b77[_0xd830('0x38')]=_[_0xd830('0x39')](_0x3852a4[_0xd830('0x35')],qs[_0xd830('0x3a')](_0x239b2a['query'][_0xd830('0x3a')]));_0x3a3b77[_0xd830('0x38')]=_0x3a3b77[_0xd830('0x38')][_0xd830('0x3b')]?_0x3a3b77[_0xd830('0x38')]:_0x3852a4[_0xd830('0x35')];if(!_0x239b2a['query'][_0xd830('0x3c')](_0xd830('0x3d'))){_0x3a3b77[_0xd830('0x22')]=qs[_0xd830('0x22')](_0x239b2a[_0xd830('0x36')]['limit']);_0x3a3b77['offset']=qs['offset'](_0x239b2a[_0xd830('0x36')][_0xd830('0x21')]);}_0x3a3b77[_0xd830('0x3e')]=qs[_0xd830('0x3f')](_0x239b2a[_0xd830('0x36')][_0xd830('0x3f')]);_0x3a3b77[_0xd830('0x40')]=qs[_0xd830('0x41')](_[_0xd830('0x42')](_0x239b2a[_0xd830('0x36')],_0x3852a4[_0xd830('0x41')]),_0x506053);if(_0x239b2a['query']['filter']){_0x3a3b77['where']=_[_0xd830('0x43')](_0x3a3b77[_0xd830('0x40')],{'$or':_['map'](_0x506053,function(_0x359a2a){if(_0x359a2a['type']!==_0xd830('0x44')){var _0x39b37f={};_0x39b37f[_0x359a2a[_0xd830('0x2c')]]={'$like':'%'+_0x239b2a[_0xd830('0x36')][_0xd830('0x45')]+'%'};return _0x39b37f;}})});}_0x3a3b77=_[_0xd830('0x43')]({},_0x3a3b77,_0x239b2a['options']);var _0x2c143e={'where':_0x3a3b77['where']};return db[_0xd830('0x30')][_0xd830('0x20')](_0x2c143e)[_0xd830('0x29')](function(_0x30b7d5){_0x27692e[_0xd830('0x20')]=_0x30b7d5;if(_0x239b2a[_0xd830('0x36')][_0xd830('0x46')]){_0x3a3b77[_0xd830('0x47')]=[{'all':!![]}];}return db['SmsQueueReport'][_0xd830('0x48')](_0x3a3b77);})[_0xd830('0x29')](function(_0x3daa6c){_0x27692e[_0xd830('0x49')]=_0x3daa6c;return _0x27692e;})[_0xd830('0x29')](respondWithFilteredResult(_0x182bbb,_0x3a3b77))['catch'](handleError(_0x182bbb,null));};exports[_0xd830('0x4a')]=function(_0x1561d9,_0xdd473c){var _0x50ebaf={'raw':!![],'where':{'id':_0x1561d9['params']['id']}},_0x5815ab={};_0x5815ab['model']=_[_0xd830('0x37')](db[_0xd830('0x30')][_0xd830('0x31')]);_0x5815ab[_0xd830('0x36')]=_[_0xd830('0x37')](_0x1561d9[_0xd830('0x36')]);_0x5815ab['filters']=_['intersection'](_0x5815ab[_0xd830('0x35')],_0x5815ab[_0xd830('0x36')]);_0x50ebaf[_0xd830('0x38')]=_[_0xd830('0x39')](_0x5815ab[_0xd830('0x35')],qs[_0xd830('0x3a')](_0x1561d9[_0xd830('0x36')]['fields']));_0x50ebaf['attributes']=_0x50ebaf[_0xd830('0x38')][_0xd830('0x3b')]?_0x50ebaf[_0xd830('0x38')]:_0x5815ab[_0xd830('0x35')];if(_0x1561d9[_0xd830('0x36')]['includeAll']){_0x50ebaf['include']=[{'all':!![]}];}_0x50ebaf=_[_0xd830('0x43')]({},_0x50ebaf,_0x1561d9['options']);return db['SmsQueueReport'][_0xd830('0x4b')](_0x50ebaf)[_0xd830('0x29')](handleEntityNotFound(_0xdd473c,null))['then'](respondWithResult(_0xdd473c,null))[_0xd830('0x4c')](handleError(_0xdd473c,null));};exports['create']=function(_0x1ae770,_0x4ac254){return db[_0xd830('0x30')][_0xd830('0x4d')](_0x1ae770[_0xd830('0x4e')],{})['then'](respondWithResult(_0x4ac254,0xc9))[_0xd830('0x4c')](handleError(_0x4ac254,null));};exports['update']=function(_0x4cb1e6,_0x5c57a1){if(_0x4cb1e6[_0xd830('0x4e')]['id']){delete _0x4cb1e6[_0xd830('0x4e')]['id'];}return db[_0xd830('0x30')]['find']({'where':{'id':_0x4cb1e6[_0xd830('0x4f')]['id']}})['then'](handleEntityNotFound(_0x5c57a1,null))[_0xd830('0x29')](saveUpdates(_0x4cb1e6[_0xd830('0x4e')],null))[_0xd830('0x29')](respondWithResult(_0x5c57a1,null))[_0xd830('0x4c')](handleError(_0x5c57a1,null));};exports[_0xd830('0x28')]=function(_0x3e7a21,_0x309779){return db['SmsQueueReport'][_0xd830('0x4b')]({'where':{'id':_0x3e7a21[_0xd830('0x4f')]['id']}})[_0xd830('0x29')](handleEntityNotFound(_0x309779,null))[_0xd830('0x29')](removeEntity(_0x309779,null))[_0xd830('0x4c')](handleError(_0x309779,null));};exports[_0xd830('0x50')]=function(_0x1e6010,_0x4ee67e){return db[_0xd830('0x30')][_0xd830('0x50')]()[_0xd830('0x29')](respondWithResult(_0x4ee67e,null))[_0xd830('0x4c')](handleError(_0x4ee67e,null));};
\ No newline at end of file
+var _0xa836=['fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','stack','name','send','index','map','SmsQueueReport','fieldName','type','key','model','filters','intersection','query','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','includeAll','include','findAll','catch','show','params','keys','rawAttributes','find','create','body','destroy','describe','html-pdf'];(function(_0x1aa01e,_0x305a7a){var _0x3af9a7=function(_0x3fd45f){while(--_0x3fd45f){_0x1aa01e['push'](_0x1aa01e['shift']());}};_0x3af9a7(++_0x305a7a);}(_0xa836,0x162));var _0x6a83=function(_0x1bc2e0,_0xa543b){_0x1bc2e0=_0x1bc2e0-0x0;var _0x33e229=_0xa836[_0x1bc2e0];return _0x33e229;};'use strict';var pdf=require(_0x6a83('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x6a83('0x1'));var rp=require(_0x6a83('0x2'));var moment=require(_0x6a83('0x3'));var BPromise=require(_0x6a83('0x4'));var Mustache=require(_0x6a83('0x5'));var util=require(_0x6a83('0x6'));var path=require('path');var sox=require(_0x6a83('0x7'));var csv=require(_0x6a83('0x8'));var ejs=require(_0x6a83('0x9'));var fs=require('fs');var _=require(_0x6a83('0xa'));var squel=require('squel');var crypto=require(_0x6a83('0xb'));var jsforce=require(_0x6a83('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x6a83('0x8'));var querystring=require(_0x6a83('0xd'));var Papa=require('papaparse');var Redis=require(_0x6a83('0xe'));var authService=require(_0x6a83('0xf'));var qs=require(_0x6a83('0x10'));var as=require(_0x6a83('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x6a83('0x12'));var utils=require(_0x6a83('0x13'));var config=require(_0x6a83('0x14'));var licenseUtil=require(_0x6a83('0x15'));var db=require(_0x6a83('0x16'))['db'];function respondWithStatusCode(_0xd1b6a6,_0x91e05d){_0x91e05d=_0x91e05d||0xcc;return function(_0xf136ac){if(_0xf136ac){return _0xd1b6a6['sendStatus'](_0x91e05d);}return _0xd1b6a6[_0x6a83('0x17')](_0x91e05d)['end']();};}function respondWithResult(_0x1bbbfd,_0x194e47){_0x194e47=_0x194e47||0xc8;return function(_0x2b8825){if(_0x2b8825){return _0x1bbbfd['status'](_0x194e47)[_0x6a83('0x18')](_0x2b8825);}};}function respondWithFilteredResult(_0xc92cdb,_0x32b587){return function(_0x4aa0fd){if(_0x4aa0fd){var _0x55c067=_0x4aa0fd[_0x6a83('0x19')],_0x28b6a6=_0x32b587['offset'],_0x250d01=_0x32b587[_0x6a83('0x1a')]+_0x32b587[_0x6a83('0x1b')],_0x146ff2;if(_0x250d01>=_0x55c067){_0x250d01=_0x55c067;_0x146ff2=0xc8;}else{_0x146ff2=0xce;}_0xc92cdb[_0x6a83('0x17')](_0x146ff2);return _0xc92cdb[_0x6a83('0x1c')](_0x6a83('0x1d'),_0x28b6a6+'-'+_0x250d01+'/'+_0x55c067)[_0x6a83('0x18')](_0x4aa0fd);}return null;};}function patchUpdates(_0x5c2867){return function(_0x266fae){try{jsonpatch[_0x6a83('0x1e')](_0x266fae,_0x5c2867,!![]);}catch(_0x1003dc){return BPromise[_0x6a83('0x1f')](_0x1003dc);}return _0x266fae[_0x6a83('0x20')]();};}function saveUpdates(_0x2a7718,_0x41ff70){return function(_0x203e87){if(_0x203e87){return _0x203e87[_0x6a83('0x21')](_0x2a7718)[_0x6a83('0x22')](function(_0x51eede){return _0x51eede;});}return null;};}function removeEntity(_0x149c5b,_0x5b2932){return function(_0x1b3e57){if(_0x1b3e57){return _0x1b3e57['destroy']()[_0x6a83('0x22')](function(){_0x149c5b[_0x6a83('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1f9c0b,_0x91169c){return function(_0x413a72){if(!_0x413a72){_0x1f9c0b['sendStatus'](0x194);}return _0x413a72;};}function handleError(_0x43379c,_0x4cd16a){_0x4cd16a=_0x4cd16a||0x1f4;return function(_0x1738e7){logger['error'](_0x1738e7[_0x6a83('0x23')]);if(_0x1738e7[_0x6a83('0x24')]){delete _0x1738e7['name'];}_0x43379c[_0x6a83('0x17')](_0x4cd16a)[_0x6a83('0x25')](_0x1738e7);};}exports[_0x6a83('0x26')]=function(_0x28c4d3,_0x44cf22){var _0xa7dafe={},_0x410ef0={},_0x451890={'count':0x0,'rows':[]};var _0x6562ec=_[_0x6a83('0x27')](db[_0x6a83('0x28')]['rawAttributes'],function(_0xab9417){return{'name':_0xab9417[_0x6a83('0x29')],'type':_0xab9417[_0x6a83('0x2a')][_0x6a83('0x2b')]};});_0x410ef0[_0x6a83('0x2c')]=_[_0x6a83('0x27')](_0x6562ec,_0x6a83('0x24'));_0x410ef0['query']=_['keys'](_0x28c4d3['query']);_0x410ef0[_0x6a83('0x2d')]=_[_0x6a83('0x2e')](_0x410ef0[_0x6a83('0x2c')],_0x410ef0[_0x6a83('0x2f')]);_0xa7dafe['attributes']=_[_0x6a83('0x2e')](_0x410ef0[_0x6a83('0x2c')],qs[_0x6a83('0x30')](_0x28c4d3[_0x6a83('0x2f')]['fields']));_0xa7dafe[_0x6a83('0x31')]=_0xa7dafe[_0x6a83('0x31')]['length']?_0xa7dafe[_0x6a83('0x31')]:_0x410ef0[_0x6a83('0x2c')];if(!_0x28c4d3[_0x6a83('0x2f')][_0x6a83('0x32')](_0x6a83('0x33'))){_0xa7dafe['limit']=qs['limit'](_0x28c4d3[_0x6a83('0x2f')][_0x6a83('0x1b')]);_0xa7dafe[_0x6a83('0x1a')]=qs[_0x6a83('0x1a')](_0x28c4d3[_0x6a83('0x2f')][_0x6a83('0x1a')]);}_0xa7dafe[_0x6a83('0x34')]=qs['sort'](_0x28c4d3[_0x6a83('0x2f')][_0x6a83('0x35')]);_0xa7dafe[_0x6a83('0x36')]=qs[_0x6a83('0x2d')](_[_0x6a83('0x37')](_0x28c4d3[_0x6a83('0x2f')],_0x410ef0[_0x6a83('0x2d')]),_0x6562ec);if(_0x28c4d3[_0x6a83('0x2f')]['filter']){_0xa7dafe[_0x6a83('0x36')]=_[_0x6a83('0x38')](_0xa7dafe[_0x6a83('0x36')],{'$or':_[_0x6a83('0x27')](_0x6562ec,function(_0x17c375){if(_0x17c375[_0x6a83('0x2a')]!==_0x6a83('0x39')){var _0x3e3a22={};_0x3e3a22[_0x17c375[_0x6a83('0x24')]]={'$like':'%'+_0x28c4d3[_0x6a83('0x2f')]['filter']+'%'};return _0x3e3a22;}})});}_0xa7dafe=_[_0x6a83('0x38')]({},_0xa7dafe,_0x28c4d3['options']);var _0x3684f4={'where':_0xa7dafe[_0x6a83('0x36')]};return db[_0x6a83('0x28')][_0x6a83('0x19')](_0x3684f4)['then'](function(_0x4aa7c1){_0x451890[_0x6a83('0x19')]=_0x4aa7c1;if(_0x28c4d3[_0x6a83('0x2f')][_0x6a83('0x3a')]){_0xa7dafe[_0x6a83('0x3b')]=[{'all':!![]}];}return db[_0x6a83('0x28')][_0x6a83('0x3c')](_0xa7dafe);})['then'](function(_0x21217a){_0x451890['rows']=_0x21217a;return _0x451890;})[_0x6a83('0x22')](respondWithFilteredResult(_0x44cf22,_0xa7dafe))[_0x6a83('0x3d')](handleError(_0x44cf22,null));};exports[_0x6a83('0x3e')]=function(_0x255cdd,_0x36ed8b){var _0x4bf439={'raw':!![],'where':{'id':_0x255cdd[_0x6a83('0x3f')]['id']}},_0x59413a={};_0x59413a[_0x6a83('0x2c')]=_[_0x6a83('0x40')](db[_0x6a83('0x28')][_0x6a83('0x41')]);_0x59413a[_0x6a83('0x2f')]=_[_0x6a83('0x40')](_0x255cdd[_0x6a83('0x2f')]);_0x59413a[_0x6a83('0x2d')]=_[_0x6a83('0x2e')](_0x59413a[_0x6a83('0x2c')],_0x59413a['query']);_0x4bf439[_0x6a83('0x31')]=_[_0x6a83('0x2e')](_0x59413a['model'],qs['fields'](_0x255cdd['query'][_0x6a83('0x30')]));_0x4bf439[_0x6a83('0x31')]=_0x4bf439[_0x6a83('0x31')]['length']?_0x4bf439[_0x6a83('0x31')]:_0x59413a['model'];if(_0x255cdd['query'][_0x6a83('0x3a')]){_0x4bf439[_0x6a83('0x3b')]=[{'all':!![]}];}_0x4bf439=_[_0x6a83('0x38')]({},_0x4bf439,_0x255cdd['options']);return db[_0x6a83('0x28')][_0x6a83('0x42')](_0x4bf439)[_0x6a83('0x22')](handleEntityNotFound(_0x36ed8b,null))[_0x6a83('0x22')](respondWithResult(_0x36ed8b,null))[_0x6a83('0x3d')](handleError(_0x36ed8b,null));};exports[_0x6a83('0x43')]=function(_0x52e219,_0x2102c8){return db[_0x6a83('0x28')][_0x6a83('0x43')](_0x52e219[_0x6a83('0x44')],{})[_0x6a83('0x22')](respondWithResult(_0x2102c8,0xc9))['catch'](handleError(_0x2102c8,null));};exports[_0x6a83('0x21')]=function(_0x485f35,_0x107d06){if(_0x485f35['body']['id']){delete _0x485f35[_0x6a83('0x44')]['id'];}return db['SmsQueueReport'][_0x6a83('0x42')]({'where':{'id':_0x485f35[_0x6a83('0x3f')]['id']}})[_0x6a83('0x22')](handleEntityNotFound(_0x107d06,null))[_0x6a83('0x22')](saveUpdates(_0x485f35[_0x6a83('0x44')],null))['then'](respondWithResult(_0x107d06,null))[_0x6a83('0x3d')](handleError(_0x107d06,null));};exports[_0x6a83('0x45')]=function(_0x8133ff,_0x120356){return db[_0x6a83('0x28')]['find']({'where':{'id':_0x8133ff['params']['id']}})[_0x6a83('0x22')](handleEntityNotFound(_0x120356,null))[_0x6a83('0x22')](removeEntity(_0x120356,null))[_0x6a83('0x3d')](handleError(_0x120356,null));};exports[_0x6a83('0x46')]=function(_0x504979,_0x51b850){return db[_0x6a83('0x28')][_0x6a83('0x46')]()[_0x6a83('0x22')](respondWithResult(_0x51b850,null))[_0x6a83('0x3d')](handleError(_0x51b850,null));};
\ No newline at end of file