Built motion from commit b5413ace.|2.6.9
[motion2.git] / server / api / smsQueueReport / smsQueueReport.controller.js
index c1b7bf0..4ce8f75 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x025a=['includeAll','find','create','body','update','describe','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','sendStatus','error','stack','name','map','SmsQueueReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','include','findAll','rows','catch','show','params'];(function(_0x1a1916,_0x2286ad){var _0xa7ee30=function(_0x49d253){while(--_0x49d253){_0x1a1916['push'](_0x1a1916['shift']());}};_0xa7ee30(++_0x2286ad);}(_0x025a,0x13e));var _0xa025=function(_0x5dc45d,_0x55f90f){_0x5dc45d=_0x5dc45d-0x0;var _0x4ce697=_0x025a[_0x5dc45d];return _0x4ce697;};'use strict';var pdf=require(_0xa025('0x0'));var emlformat=require(_0xa025('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xa025('0x2'));var jsonpatch=require(_0xa025('0x3'));var rp=require(_0xa025('0x4'));var moment=require('moment');var BPromise=require(_0xa025('0x5'));var Mustache=require(_0xa025('0x6'));var util=require(_0xa025('0x7'));var path=require(_0xa025('0x8'));var sox=require(_0xa025('0x9'));var csv=require(_0xa025('0xa'));var ejs=require(_0xa025('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0xa025('0xc'));var crypto=require(_0xa025('0xd'));var jsforce=require(_0xa025('0xe'));var deskjs=require(_0xa025('0xf'));var toCsv=require(_0xa025('0xa'));var querystring=require(_0xa025('0x10'));var Papa=require(_0xa025('0x11'));var Redis=require(_0xa025('0x12'));var authService=require(_0xa025('0x13'));var qs=require(_0xa025('0x14'));var as=require(_0xa025('0x15'));var hardwareService=require(_0xa025('0x16'));var logger=require('../../config/logger')(_0xa025('0x17'));var utils=require('../../config/utils');var config=require(_0xa025('0x18'));var licenseUtil=require(_0xa025('0x19'));var db=require(_0xa025('0x1a'))['db'];function respondWithStatusCode(_0x1b18fa,_0x1fffdb){_0x1fffdb=_0x1fffdb||0xcc;return function(_0x49f13f){if(_0x49f13f){return _0x1b18fa['sendStatus'](_0x1fffdb);}return _0x1b18fa[_0xa025('0x1b')](_0x1fffdb)[_0xa025('0x1c')]();};}function respondWithResult(_0x3db922,_0x202552){_0x202552=_0x202552||0xc8;return function(_0x11f037){if(_0x11f037){return _0x3db922['status'](_0x202552)[_0xa025('0x1d')](_0x11f037);}};}function respondWithFilteredResult(_0x40c22a,_0x17dd36){return function(_0x2a8af1){if(_0x2a8af1){var _0x4ee0f9=_0x2a8af1[_0xa025('0x1e')],_0xdc10d5=_0x17dd36[_0xa025('0x1f')],_0x123b0e=_0x17dd36[_0xa025('0x1f')]+_0x17dd36[_0xa025('0x20')],_0x416349;if(_0x123b0e>=_0x4ee0f9){_0x123b0e=_0x4ee0f9;_0x416349=0xc8;}else{_0x416349=0xce;}_0x40c22a[_0xa025('0x1b')](_0x416349);return _0x40c22a[_0xa025('0x21')](_0xa025('0x22'),_0xdc10d5+'-'+_0x123b0e+'/'+_0x4ee0f9)[_0xa025('0x1d')](_0x2a8af1);}return null;};}function patchUpdates(_0x158b40){return function(_0x3051a4){try{jsonpatch[_0xa025('0x23')](_0x3051a4,_0x158b40,!![]);}catch(_0x313f00){return BPromise[_0xa025('0x24')](_0x313f00);}return _0x3051a4[_0xa025('0x25')]();};}function saveUpdates(_0x170da8,_0x2ca09a){return function(_0x140b11){if(_0x140b11){return _0x140b11['update'](_0x170da8)[_0xa025('0x26')](function(_0x8390b6){return _0x8390b6;});}return null;};}function removeEntity(_0x4885f3,_0x5b9132){return function(_0x28db0b){if(_0x28db0b){return _0x28db0b[_0xa025('0x27')]()[_0xa025('0x26')](function(){_0x4885f3['status'](0xcc)[_0xa025('0x1c')]();});}};}function handleEntityNotFound(_0x8c0a78,_0x3a659b){return function(_0x186c25){if(!_0x186c25){_0x8c0a78[_0xa025('0x28')](0x194);}return _0x186c25;};}function handleError(_0x47d8d6,_0x127762){_0x127762=_0x127762||0x1f4;return function(_0x5d658c){logger[_0xa025('0x29')](_0x5d658c[_0xa025('0x2a')]);if(_0x5d658c['name']){delete _0x5d658c[_0xa025('0x2b')];}_0x47d8d6[_0xa025('0x1b')](_0x127762)['send'](_0x5d658c);};}exports['index']=function(_0x111477,_0x1632c0){var _0x44d5f1={},_0x1e629c={},_0x54d9fc={'count':0x0,'rows':[]};var _0x5f12dc=_[_0xa025('0x2c')](db[_0xa025('0x2d')][_0xa025('0x2e')],function(_0x1a6df0){return{'name':_0x1a6df0[_0xa025('0x2f')],'type':_0x1a6df0[_0xa025('0x30')][_0xa025('0x31')]};});_0x1e629c[_0xa025('0x32')]=_['map'](_0x5f12dc,_0xa025('0x2b'));_0x1e629c[_0xa025('0x33')]=_[_0xa025('0x34')](_0x111477[_0xa025('0x33')]);_0x1e629c['filters']=_[_0xa025('0x35')](_0x1e629c['model'],_0x1e629c[_0xa025('0x33')]);_0x44d5f1['attributes']=_[_0xa025('0x35')](_0x1e629c['model'],qs[_0xa025('0x36')](_0x111477['query']['fields']));_0x44d5f1[_0xa025('0x37')]=_0x44d5f1[_0xa025('0x37')][_0xa025('0x38')]?_0x44d5f1[_0xa025('0x37')]:_0x1e629c[_0xa025('0x32')];if(!_0x111477[_0xa025('0x33')][_0xa025('0x39')](_0xa025('0x3a'))){_0x44d5f1[_0xa025('0x20')]=qs[_0xa025('0x20')](_0x111477[_0xa025('0x33')][_0xa025('0x20')]);_0x44d5f1['offset']=qs[_0xa025('0x1f')](_0x111477[_0xa025('0x33')]['offset']);}_0x44d5f1[_0xa025('0x3b')]=qs[_0xa025('0x3c')](_0x111477[_0xa025('0x33')][_0xa025('0x3c')]);_0x44d5f1[_0xa025('0x3d')]=qs[_0xa025('0x3e')](_[_0xa025('0x3f')](_0x111477[_0xa025('0x33')],_0x1e629c[_0xa025('0x3e')]),_0x5f12dc);if(_0x111477['query']['filter']){_0x44d5f1['where']=_['merge'](_0x44d5f1[_0xa025('0x3d')],{'$or':_['map'](_0x5f12dc,function(_0x229d77){if(_0x229d77[_0xa025('0x30')]!=='VIRTUAL'){var _0x174bf8={};_0x174bf8[_0x229d77[_0xa025('0x2b')]]={'$like':'%'+_0x111477['query'][_0xa025('0x40')]+'%'};return _0x174bf8;}})});}_0x44d5f1=_[_0xa025('0x41')]({},_0x44d5f1,_0x111477['options']);var _0x14666e={'where':_0x44d5f1[_0xa025('0x3d')]};return db[_0xa025('0x2d')][_0xa025('0x1e')](_0x14666e)[_0xa025('0x26')](function(_0x4765e2){_0x54d9fc['count']=_0x4765e2;if(_0x111477[_0xa025('0x33')]['includeAll']){_0x44d5f1[_0xa025('0x42')]=[{'all':!![]}];}return db['SmsQueueReport'][_0xa025('0x43')](_0x44d5f1);})[_0xa025('0x26')](function(_0x1c507a){_0x54d9fc[_0xa025('0x44')]=_0x1c507a;return _0x54d9fc;})[_0xa025('0x26')](respondWithFilteredResult(_0x1632c0,_0x44d5f1))[_0xa025('0x45')](handleError(_0x1632c0,null));};exports[_0xa025('0x46')]=function(_0x21439b,_0x21894d){var _0x389c11={'raw':!![],'where':{'id':_0x21439b[_0xa025('0x47')]['id']}},_0x4ae6e9={};_0x4ae6e9[_0xa025('0x32')]=_[_0xa025('0x34')](db['SmsQueueReport'][_0xa025('0x2e')]);_0x4ae6e9['query']=_['keys'](_0x21439b[_0xa025('0x33')]);_0x4ae6e9['filters']=_['intersection'](_0x4ae6e9[_0xa025('0x32')],_0x4ae6e9[_0xa025('0x33')]);_0x389c11[_0xa025('0x37')]=_[_0xa025('0x35')](_0x4ae6e9[_0xa025('0x32')],qs[_0xa025('0x36')](_0x21439b[_0xa025('0x33')][_0xa025('0x36')]));_0x389c11['attributes']=_0x389c11[_0xa025('0x37')][_0xa025('0x38')]?_0x389c11[_0xa025('0x37')]:_0x4ae6e9[_0xa025('0x32')];if(_0x21439b[_0xa025('0x33')][_0xa025('0x48')]){_0x389c11[_0xa025('0x42')]=[{'all':!![]}];}_0x389c11=_['merge']({},_0x389c11,_0x21439b['options']);return db[_0xa025('0x2d')][_0xa025('0x49')](_0x389c11)[_0xa025('0x26')](handleEntityNotFound(_0x21894d,null))[_0xa025('0x26')](respondWithResult(_0x21894d,null))[_0xa025('0x45')](handleError(_0x21894d,null));};exports[_0xa025('0x4a')]=function(_0x228136,_0x43a693){return db[_0xa025('0x2d')][_0xa025('0x4a')](_0x228136[_0xa025('0x4b')],{})[_0xa025('0x26')](respondWithResult(_0x43a693,0xc9))[_0xa025('0x45')](handleError(_0x43a693,null));};exports[_0xa025('0x4c')]=function(_0x13c495,_0x2f2581){if(_0x13c495[_0xa025('0x4b')]['id']){delete _0x13c495[_0xa025('0x4b')]['id'];}return db[_0xa025('0x2d')][_0xa025('0x49')]({'where':{'id':_0x13c495['params']['id']}})[_0xa025('0x26')](handleEntityNotFound(_0x2f2581,null))[_0xa025('0x26')](saveUpdates(_0x13c495['body'],null))[_0xa025('0x26')](respondWithResult(_0x2f2581,null))[_0xa025('0x45')](handleError(_0x2f2581,null));};exports['destroy']=function(_0x5bf24c,_0x548582){return db[_0xa025('0x2d')][_0xa025('0x49')]({'where':{'id':_0x5bf24c[_0xa025('0x47')]['id']}})[_0xa025('0x26')](handleEntityNotFound(_0x548582,null))[_0xa025('0x26')](removeEntity(_0x548582,null))['catch'](handleError(_0x548582,null));};exports[_0xa025('0x4d')]=function(_0x31dbdc,_0x1e6baa){return db[_0xa025('0x2d')]['describe']()[_0xa025('0x26')](respondWithResult(_0x1e6baa,null))['catch'](handleError(_0x1e6baa,null));};
\ No newline at end of file
+var _0xa86f=['fields','length','attributes','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','intersection','includeAll','create','body','update','find','describe','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','Content-Range','apply','reject','save','then','error','stack','name','send','index','SmsQueueReport','rawAttributes','fieldName','type','key','model','map','query','keys','filters'];(function(_0x4e8b44,_0x474654){var _0x531bfc=function(_0x334bd9){while(--_0x334bd9){_0x4e8b44['push'](_0x4e8b44['shift']());}};_0x531bfc(++_0x474654);}(_0xa86f,0x146));var _0xfa86=function(_0x3da7ab,_0x2e00dc){_0x3da7ab=_0x3da7ab-0x0;var _0x4819ed=_0xa86f[_0x3da7ab];return _0x4819ed;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xfa86('0x0'));var zipdir=require(_0xfa86('0x1'));var jsonpatch=require(_0xfa86('0x2'));var rp=require(_0xfa86('0x3'));var moment=require('moment');var BPromise=require(_0xfa86('0x4'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xfa86('0x5'));var csv=require(_0xfa86('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xfa86('0x7'));var _=require(_0xfa86('0x8'));var squel=require('squel');var crypto=require(_0xfa86('0x9'));var jsforce=require(_0xfa86('0xa'));var deskjs=require(_0xfa86('0xb'));var toCsv=require(_0xfa86('0x6'));var querystring=require(_0xfa86('0xc'));var Papa=require(_0xfa86('0xd'));var Redis=require('ioredis');var authService=require(_0xfa86('0xe'));var qs=require(_0xfa86('0xf'));var as=require(_0xfa86('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfa86('0x11'))(_0xfa86('0x12'));var utils=require(_0xfa86('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xfa86('0x14'))['db'];function respondWithStatusCode(_0x502aa1,_0x244d0f){_0x244d0f=_0x244d0f||0xcc;return function(_0x8ba86f){if(_0x8ba86f){return _0x502aa1[_0xfa86('0x15')](_0x244d0f);}return _0x502aa1[_0xfa86('0x16')](_0x244d0f)[_0xfa86('0x17')]();};}function respondWithResult(_0x517c27,_0x4b300e){_0x4b300e=_0x4b300e||0xc8;return function(_0x3bdb1c){if(_0x3bdb1c){return _0x517c27['status'](_0x4b300e)[_0xfa86('0x18')](_0x3bdb1c);}};}function respondWithFilteredResult(_0x3031f9,_0x5a6234){return function(_0x5613a9){if(_0x5613a9){var _0x32cfe7=typeof _0x5a6234['offset']===_0xfa86('0x19')&&typeof _0x5a6234['limit']==='undefined';var _0xca7d05=_0x5613a9[_0xfa86('0x1a')];var _0x18de55=_0x32cfe7?0x0:_0x5a6234['offset'];var _0x47bddc=_0x32cfe7?_0x5613a9['count']:_0x5a6234[_0xfa86('0x1b')]+_0x5a6234[_0xfa86('0x1c')];var _0x211dfd;if(_0x47bddc>=_0xca7d05){_0x47bddc=_0xca7d05;_0x211dfd=0xc8;}else{_0x211dfd=0xce;}_0x3031f9[_0xfa86('0x16')](_0x211dfd);return _0x3031f9['set'](_0xfa86('0x1d'),_0x18de55+'-'+_0x47bddc+'/'+_0xca7d05)[_0xfa86('0x18')](_0x5613a9);}return null;};}function patchUpdates(_0x4f137e){return function(_0x56cebe){try{jsonpatch[_0xfa86('0x1e')](_0x56cebe,_0x4f137e,!![]);}catch(_0x947dd0){return BPromise[_0xfa86('0x1f')](_0x947dd0);}return _0x56cebe[_0xfa86('0x20')]();};}function saveUpdates(_0x4c2d16,_0x539b5f){return function(_0x5e802f){if(_0x5e802f){return _0x5e802f['update'](_0x4c2d16)[_0xfa86('0x21')](function(_0x39db6b){return _0x39db6b;});}return null;};}function removeEntity(_0x4eadd0,_0x3017af){return function(_0x4a8046){if(_0x4a8046){return _0x4a8046['destroy']()[_0xfa86('0x21')](function(){_0x4eadd0['status'](0xcc)[_0xfa86('0x17')]();});}};}function handleEntityNotFound(_0x14be22,_0xcbcaff){return function(_0x5b6616){if(!_0x5b6616){_0x14be22[_0xfa86('0x15')](0x194);}return _0x5b6616;};}function handleError(_0x3f1e71,_0xd8f34f){_0xd8f34f=_0xd8f34f||0x1f4;return function(_0x2df4ae){logger[_0xfa86('0x22')](_0x2df4ae[_0xfa86('0x23')]);if(_0x2df4ae[_0xfa86('0x24')]){delete _0x2df4ae[_0xfa86('0x24')];}_0x3f1e71[_0xfa86('0x16')](_0xd8f34f)[_0xfa86('0x25')](_0x2df4ae);};}exports[_0xfa86('0x26')]=function(_0x523988,_0x179a80){var _0x55818b={},_0x329c0e={},_0x469eef={'count':0x0,'rows':[]};var _0x35d3fa=_['map'](db[_0xfa86('0x27')][_0xfa86('0x28')],function(_0x500f55){return{'name':_0x500f55[_0xfa86('0x29')],'type':_0x500f55[_0xfa86('0x2a')][_0xfa86('0x2b')]};});_0x329c0e[_0xfa86('0x2c')]=_[_0xfa86('0x2d')](_0x35d3fa,_0xfa86('0x24'));_0x329c0e[_0xfa86('0x2e')]=_[_0xfa86('0x2f')](_0x523988['query']);_0x329c0e[_0xfa86('0x30')]=_['intersection'](_0x329c0e[_0xfa86('0x2c')],_0x329c0e[_0xfa86('0x2e')]);_0x55818b['attributes']=_['intersection'](_0x329c0e['model'],qs[_0xfa86('0x31')](_0x523988[_0xfa86('0x2e')][_0xfa86('0x31')]));_0x55818b['attributes']=_0x55818b['attributes'][_0xfa86('0x32')]?_0x55818b[_0xfa86('0x33')]:_0x329c0e[_0xfa86('0x2c')];if(!_0x523988[_0xfa86('0x2e')][_0xfa86('0x34')](_0xfa86('0x35'))){_0x55818b[_0xfa86('0x1c')]=qs[_0xfa86('0x1c')](_0x523988[_0xfa86('0x2e')]['limit']);_0x55818b[_0xfa86('0x1b')]=qs['offset'](_0x523988['query'][_0xfa86('0x1b')]);}_0x55818b[_0xfa86('0x36')]=qs[_0xfa86('0x37')](_0x523988[_0xfa86('0x2e')][_0xfa86('0x37')]);_0x55818b[_0xfa86('0x38')]=qs[_0xfa86('0x30')](_[_0xfa86('0x39')](_0x523988[_0xfa86('0x2e')],_0x329c0e[_0xfa86('0x30')]),_0x35d3fa);if(_0x523988[_0xfa86('0x2e')]['filter']){_0x55818b['where']=_[_0xfa86('0x3a')](_0x55818b[_0xfa86('0x38')],{'$or':_['map'](_0x35d3fa,function(_0x59a28){if(_0x59a28[_0xfa86('0x2a')]!==_0xfa86('0x3b')){var _0x395f72={};_0x395f72[_0x59a28['name']]={'$like':'%'+_0x523988[_0xfa86('0x2e')][_0xfa86('0x3c')]+'%'};return _0x395f72;}})});}_0x55818b=_[_0xfa86('0x3a')]({},_0x55818b,_0x523988[_0xfa86('0x3d')]);var _0x297473={'where':_0x55818b[_0xfa86('0x38')]};return db[_0xfa86('0x27')][_0xfa86('0x1a')](_0x297473)['then'](function(_0x2cb538){_0x469eef[_0xfa86('0x1a')]=_0x2cb538;if(_0x523988[_0xfa86('0x2e')]['includeAll']){_0x55818b[_0xfa86('0x3e')]=[{'all':!![]}];}return db[_0xfa86('0x27')][_0xfa86('0x3f')](_0x55818b);})['then'](function(_0x2c281e){_0x469eef[_0xfa86('0x40')]=_0x2c281e;return _0x469eef;})['then'](respondWithFilteredResult(_0x179a80,_0x55818b))[_0xfa86('0x41')](handleError(_0x179a80,null));};exports[_0xfa86('0x42')]=function(_0x3d9bbe,_0x25b8e2){var _0x24b435={'raw':!![],'where':{'id':_0x3d9bbe[_0xfa86('0x43')]['id']}},_0x1ed920={};_0x1ed920[_0xfa86('0x2c')]=_[_0xfa86('0x2f')](db[_0xfa86('0x27')][_0xfa86('0x28')]);_0x1ed920[_0xfa86('0x2e')]=_[_0xfa86('0x2f')](_0x3d9bbe[_0xfa86('0x2e')]);_0x1ed920['filters']=_[_0xfa86('0x44')](_0x1ed920[_0xfa86('0x2c')],_0x1ed920[_0xfa86('0x2e')]);_0x24b435[_0xfa86('0x33')]=_[_0xfa86('0x44')](_0x1ed920['model'],qs[_0xfa86('0x31')](_0x3d9bbe[_0xfa86('0x2e')][_0xfa86('0x31')]));_0x24b435['attributes']=_0x24b435[_0xfa86('0x33')]['length']?_0x24b435[_0xfa86('0x33')]:_0x1ed920['model'];if(_0x3d9bbe[_0xfa86('0x2e')][_0xfa86('0x45')]){_0x24b435[_0xfa86('0x3e')]=[{'all':!![]}];}_0x24b435=_['merge']({},_0x24b435,_0x3d9bbe[_0xfa86('0x3d')]);return db[_0xfa86('0x27')]['find'](_0x24b435)[_0xfa86('0x21')](handleEntityNotFound(_0x25b8e2,null))['then'](respondWithResult(_0x25b8e2,null))[_0xfa86('0x41')](handleError(_0x25b8e2,null));};exports[_0xfa86('0x46')]=function(_0x443850,_0x17116c){return db[_0xfa86('0x27')][_0xfa86('0x46')](_0x443850[_0xfa86('0x47')],{})[_0xfa86('0x21')](respondWithResult(_0x17116c,0xc9))[_0xfa86('0x41')](handleError(_0x17116c,null));};exports[_0xfa86('0x48')]=function(_0x41e8b5,_0x2d9f27){if(_0x41e8b5[_0xfa86('0x47')]['id']){delete _0x41e8b5['body']['id'];}return db[_0xfa86('0x27')]['find']({'where':{'id':_0x41e8b5['params']['id']}})['then'](handleEntityNotFound(_0x2d9f27,null))[_0xfa86('0x21')](saveUpdates(_0x41e8b5[_0xfa86('0x47')],null))[_0xfa86('0x21')](respondWithResult(_0x2d9f27,null))['catch'](handleError(_0x2d9f27,null));};exports['destroy']=function(_0x2ce700,_0x2d5614){return db[_0xfa86('0x27')][_0xfa86('0x49')]({'where':{'id':_0x2ce700[_0xfa86('0x43')]['id']}})[_0xfa86('0x21')](handleEntityNotFound(_0x2d5614,null))['then'](removeEntity(_0x2d5614,null))[_0xfa86('0x41')](handleError(_0x2d5614,null));};exports[_0xfa86('0x4a')]=function(_0x8be4f9,_0x38d97a){return db['SmsQueueReport'][_0xfa86('0x4a')]()[_0xfa86('0x21')](respondWithResult(_0x38d97a,null))[_0xfa86('0x41')](handleError(_0x38d97a,null));};
\ No newline at end of file