Built motion from commit (unavailable).|2.5.29
[motion2.git] / server / api / voiceTransferReport / voiceTransferReport.controller.js
index ac8bd90..0ac1d1d 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x96a2=['find','body','describe','html-pdf','eml-format','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','update','then','destroy','error','name','send','VoiceTransferReport','rawAttributes','fieldName','key','model','map','keys','query','attributes','intersection','fields','nolimit','where','pick','filter','type','VIRTUAL','merge','options','includeAll','include','rows','catch','show','params'];(function(_0x8c9e44,_0x1feffa){var _0x49eb7f=function(_0x21ac40){while(--_0x21ac40){_0x8c9e44['push'](_0x8c9e44['shift']());}};_0x49eb7f(++_0x1feffa);}(_0x96a2,0x1df));var _0x296a=function(_0x52a39a,_0xeb3cbc){_0x52a39a=_0x52a39a-0x0;var _0x2daa85=_0x96a2[_0x52a39a];return _0x2daa85;};'use strict';var pdf=require(_0x296a('0x0'));var emlformat=require(_0x296a('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x296a('0x2'));var rp=require(_0x296a('0x3'));var moment=require('moment');var BPromise=require(_0x296a('0x4'));var Mustache=require(_0x296a('0x5'));var util=require('util');var path=require(_0x296a('0x6'));var sox=require(_0x296a('0x7'));var csv=require('to-csv');var ejs=require(_0x296a('0x8'));var fs=require('fs');var _=require(_0x296a('0x9'));var squel=require(_0x296a('0xa'));var crypto=require(_0x296a('0xb'));var jsforce=require(_0x296a('0xc'));var deskjs=require(_0x296a('0xd'));var toCsv=require(_0x296a('0xe'));var querystring=require(_0x296a('0xf'));var Papa=require(_0x296a('0x10'));var Redis=require(_0x296a('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x296a('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x296a('0x13'));var logger=require(_0x296a('0x14'))(_0x296a('0x15'));var utils=require(_0x296a('0x16'));var config=require(_0x296a('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x296a('0x18'))['db'];function respondWithStatusCode(_0x34172c,_0x1b62d1){_0x1b62d1=_0x1b62d1||0xcc;return function(_0x58c85a){if(_0x58c85a){return _0x34172c['sendStatus'](_0x1b62d1);}return _0x34172c[_0x296a('0x19')](_0x1b62d1)[_0x296a('0x1a')]();};}function respondWithResult(_0x33bbfa,_0x761806){_0x761806=_0x761806||0xc8;return function(_0x1d2409){if(_0x1d2409){return _0x33bbfa[_0x296a('0x19')](_0x761806)[_0x296a('0x1b')](_0x1d2409);}};}function respondWithFilteredResult(_0x5b6474,_0x4275d6){return function(_0x12465e){if(_0x12465e){var _0x33663f=_0x12465e[_0x296a('0x1c')],_0x5b191f=_0x4275d6[_0x296a('0x1d')],_0x23af8c=_0x4275d6[_0x296a('0x1d')]+_0x4275d6[_0x296a('0x1e')],_0x32b27a;if(_0x23af8c>=_0x33663f){_0x23af8c=_0x33663f;_0x32b27a=0xc8;}else{_0x32b27a=0xce;}_0x5b6474['status'](_0x32b27a);return _0x5b6474[_0x296a('0x1f')](_0x296a('0x20'),_0x5b191f+'-'+_0x23af8c+'/'+_0x33663f)[_0x296a('0x1b')](_0x12465e);}return null;};}function patchUpdates(_0x1d15cf){return function(_0x1978cf){try{jsonpatch[_0x296a('0x21')](_0x1978cf,_0x1d15cf,!![]);}catch(_0x2f95e8){return BPromise['reject'](_0x2f95e8);}return _0x1978cf['save']();};}function saveUpdates(_0x36dfa2,_0xdf3f8d){return function(_0x765415){if(_0x765415){return _0x765415[_0x296a('0x22')](_0x36dfa2)[_0x296a('0x23')](function(_0x482bb8){return _0x482bb8;});}return null;};}function removeEntity(_0x2e8cb0,_0x12cbad){return function(_0x1f666c){if(_0x1f666c){return _0x1f666c[_0x296a('0x24')]()[_0x296a('0x23')](function(){_0x2e8cb0[_0x296a('0x19')](0xcc)[_0x296a('0x1a')]();});}};}function handleEntityNotFound(_0x58f446,_0x1a52da){return function(_0x5bf21a){if(!_0x5bf21a){_0x58f446['sendStatus'](0x194);}return _0x5bf21a;};}function handleError(_0x1eed56,_0x5ed7c8){_0x5ed7c8=_0x5ed7c8||0x1f4;return function(_0x47e438){logger[_0x296a('0x25')](_0x47e438['stack']);if(_0x47e438[_0x296a('0x26')]){delete _0x47e438['name'];}_0x1eed56[_0x296a('0x19')](_0x5ed7c8)[_0x296a('0x27')](_0x47e438);};}exports['index']=function(_0x35c8e2,_0x2f598a){var _0x549282={},_0x4bf8d4={},_0x5065e0={'count':0x0,'rows':[]};var _0x17d79f=_['map'](db[_0x296a('0x28')][_0x296a('0x29')],function(_0xfe2029){return{'name':_0xfe2029[_0x296a('0x2a')],'type':_0xfe2029['type'][_0x296a('0x2b')]};});_0x4bf8d4[_0x296a('0x2c')]=_[_0x296a('0x2d')](_0x17d79f,_0x296a('0x26'));_0x4bf8d4['query']=_[_0x296a('0x2e')](_0x35c8e2[_0x296a('0x2f')]);_0x4bf8d4['filters']=_['intersection'](_0x4bf8d4['model'],_0x4bf8d4[_0x296a('0x2f')]);_0x549282[_0x296a('0x30')]=_[_0x296a('0x31')](_0x4bf8d4[_0x296a('0x2c')],qs[_0x296a('0x32')](_0x35c8e2[_0x296a('0x2f')][_0x296a('0x32')]));_0x549282[_0x296a('0x30')]=_0x549282[_0x296a('0x30')]['length']?_0x549282['attributes']:_0x4bf8d4[_0x296a('0x2c')];if(!_0x35c8e2[_0x296a('0x2f')]['hasOwnProperty'](_0x296a('0x33'))){_0x549282[_0x296a('0x1e')]=qs[_0x296a('0x1e')](_0x35c8e2[_0x296a('0x2f')][_0x296a('0x1e')]);_0x549282[_0x296a('0x1d')]=qs[_0x296a('0x1d')](_0x35c8e2[_0x296a('0x2f')]['offset']);}_0x549282['order']=qs['sort'](_0x35c8e2[_0x296a('0x2f')]['sort']);_0x549282[_0x296a('0x34')]=qs['filters'](_[_0x296a('0x35')](_0x35c8e2[_0x296a('0x2f')],_0x4bf8d4['filters']),_0x17d79f);if(_0x35c8e2['query'][_0x296a('0x36')]){_0x549282['where']=_['merge'](_0x549282[_0x296a('0x34')],{'$or':_[_0x296a('0x2d')](_0x17d79f,function(_0x42163b){if(_0x42163b[_0x296a('0x37')]!==_0x296a('0x38')){var _0x1edb77={};_0x1edb77[_0x42163b['name']]={'$like':'%'+_0x35c8e2[_0x296a('0x2f')][_0x296a('0x36')]+'%'};return _0x1edb77;}})});}_0x549282=_[_0x296a('0x39')]({},_0x549282,_0x35c8e2[_0x296a('0x3a')]);var _0x3f2880={'where':_0x549282['where']};return db[_0x296a('0x28')]['count'](_0x3f2880)['then'](function(_0x1006bb){_0x5065e0['count']=_0x1006bb;if(_0x35c8e2[_0x296a('0x2f')][_0x296a('0x3b')]){_0x549282[_0x296a('0x3c')]=[{'all':!![]}];}return db['VoiceTransferReport']['findAll'](_0x549282);})[_0x296a('0x23')](function(_0x40eb26){_0x5065e0[_0x296a('0x3d')]=_0x40eb26;return _0x5065e0;})[_0x296a('0x23')](respondWithFilteredResult(_0x2f598a,_0x549282))[_0x296a('0x3e')](handleError(_0x2f598a,null));};exports[_0x296a('0x3f')]=function(_0x22b77b,_0x112094){var _0x5037d4={'raw':!![],'where':{'id':_0x22b77b[_0x296a('0x40')]['id']}},_0x107ac2={};_0x107ac2[_0x296a('0x2c')]=_[_0x296a('0x2e')](db[_0x296a('0x28')][_0x296a('0x29')]);_0x107ac2[_0x296a('0x2f')]=_[_0x296a('0x2e')](_0x22b77b[_0x296a('0x2f')]);_0x107ac2['filters']=_['intersection'](_0x107ac2[_0x296a('0x2c')],_0x107ac2[_0x296a('0x2f')]);_0x5037d4['attributes']=_['intersection'](_0x107ac2[_0x296a('0x2c')],qs['fields'](_0x22b77b[_0x296a('0x2f')]['fields']));_0x5037d4[_0x296a('0x30')]=_0x5037d4['attributes']['length']?_0x5037d4[_0x296a('0x30')]:_0x107ac2[_0x296a('0x2c')];if(_0x22b77b[_0x296a('0x2f')][_0x296a('0x3b')]){_0x5037d4[_0x296a('0x3c')]=[{'all':!![]}];}_0x5037d4=_[_0x296a('0x39')]({},_0x5037d4,_0x22b77b[_0x296a('0x3a')]);return db[_0x296a('0x28')][_0x296a('0x41')](_0x5037d4)[_0x296a('0x23')](handleEntityNotFound(_0x112094,null))['then'](respondWithResult(_0x112094,null))[_0x296a('0x3e')](handleError(_0x112094,null));};exports['create']=function(_0x2e7393,_0x50c2f1){return db[_0x296a('0x28')]['create'](_0x2e7393[_0x296a('0x42')],{})[_0x296a('0x23')](respondWithResult(_0x50c2f1,0xc9))[_0x296a('0x3e')](handleError(_0x50c2f1,null));};exports['update']=function(_0x3707fd,_0x4a7c96){if(_0x3707fd[_0x296a('0x42')]['id']){delete _0x3707fd[_0x296a('0x42')]['id'];}return db['VoiceTransferReport'][_0x296a('0x41')]({'where':{'id':_0x3707fd['params']['id']}})['then'](handleEntityNotFound(_0x4a7c96,null))[_0x296a('0x23')](saveUpdates(_0x3707fd[_0x296a('0x42')],null))[_0x296a('0x23')](respondWithResult(_0x4a7c96,null))[_0x296a('0x3e')](handleError(_0x4a7c96,null));};exports[_0x296a('0x24')]=function(_0x5e8051,_0x481afb){return db[_0x296a('0x28')][_0x296a('0x41')]({'where':{'id':_0x5e8051[_0x296a('0x40')]['id']}})[_0x296a('0x23')](handleEntityNotFound(_0x481afb,null))[_0x296a('0x23')](removeEntity(_0x481afb,null))[_0x296a('0x3e')](handleError(_0x481afb,null));};exports[_0x296a('0x43')]=function(_0x5bae8f,_0x10a256){return db[_0x296a('0x28')][_0x296a('0x43')]()[_0x296a('0x23')](respondWithResult(_0x10a256,null))[_0x296a('0x3e')](handleError(_0x10a256,null));};
\ No newline at end of file
+var _0xe706=['includeAll','rows','catch','include','find','body','params','destroy','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','undefined','limit','count','offset','set','Content-Range','json','apply','save','update','then','end','name','send','index','map','VoiceTransferReport','rawAttributes','fieldName','key','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','VIRTUAL','options'];(function(_0x4bc668,_0x35a590){var _0x162186=function(_0x3aeecf){while(--_0x3aeecf){_0x4bc668['push'](_0x4bc668['shift']());}};_0x162186(++_0x35a590);}(_0xe706,0xa3));var _0x6e70=function(_0x2730ad,_0x4d247d){_0x2730ad=_0x2730ad-0x0;var _0x1d4363=_0xe706[_0x2730ad];return _0x1d4363;};'use strict';var emlformat=require(_0x6e70('0x0'));var rimraf=require(_0x6e70('0x1'));var zipdir=require(_0x6e70('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6e70('0x3'));var moment=require(_0x6e70('0x4'));var BPromise=require(_0x6e70('0x5'));var Mustache=require(_0x6e70('0x6'));var util=require(_0x6e70('0x7'));var path=require(_0x6e70('0x8'));var sox=require(_0x6e70('0x9'));var csv=require(_0x6e70('0xa'));var ejs=require(_0x6e70('0xb'));var fs=require('fs');var fs_extra=require(_0x6e70('0xc'));var _=require(_0x6e70('0xd'));var squel=require(_0x6e70('0xe'));var crypto=require(_0x6e70('0xf'));var jsforce=require(_0x6e70('0x10'));var deskjs=require(_0x6e70('0x11'));var toCsv=require(_0x6e70('0xa'));var querystring=require(_0x6e70('0x12'));var Papa=require(_0x6e70('0x13'));var Redis=require(_0x6e70('0x14'));var authService=require(_0x6e70('0x15'));var qs=require(_0x6e70('0x16'));var as=require(_0x6e70('0x17'));var hardwareService=require(_0x6e70('0x18'));var logger=require(_0x6e70('0x19'))('api');var utils=require('../../config/utils');var config=require(_0x6e70('0x1a'));var licenseUtil=require(_0x6e70('0x1b'));var db=require(_0x6e70('0x1c'))['db'];function respondWithStatusCode(_0x27dd9b,_0x3b38f3){_0x3b38f3=_0x3b38f3||0xcc;return function(_0x310eb7){if(_0x310eb7){return _0x27dd9b[_0x6e70('0x1d')](_0x3b38f3);}return _0x27dd9b[_0x6e70('0x1e')](_0x3b38f3)['end']();};}function respondWithResult(_0x52737e,_0x48bc72){_0x48bc72=_0x48bc72||0xc8;return function(_0x257e81){if(_0x257e81){return _0x52737e['status'](_0x48bc72)['json'](_0x257e81);}};}function respondWithFilteredResult(_0x304716,_0x22c50c){return function(_0x5d9263){if(_0x5d9263){var _0x24f3ac=typeof _0x22c50c['offset']===_0x6e70('0x1f')&&typeof _0x22c50c[_0x6e70('0x20')]==='undefined';var _0x49029f=_0x5d9263[_0x6e70('0x21')];var _0x5ea7a5=_0x24f3ac?0x0:_0x22c50c[_0x6e70('0x22')];var _0x173afe=_0x24f3ac?_0x5d9263['count']:_0x22c50c['offset']+_0x22c50c[_0x6e70('0x20')];var _0x208e21;if(_0x173afe>=_0x49029f){_0x173afe=_0x49029f;_0x208e21=0xc8;}else{_0x208e21=0xce;}_0x304716[_0x6e70('0x1e')](_0x208e21);return _0x304716[_0x6e70('0x23')](_0x6e70('0x24'),_0x5ea7a5+'-'+_0x173afe+'/'+_0x49029f)[_0x6e70('0x25')](_0x5d9263);}return null;};}function patchUpdates(_0x1b2453){return function(_0x44a49f){try{jsonpatch[_0x6e70('0x26')](_0x44a49f,_0x1b2453,!![]);}catch(_0xb29a2a){return BPromise['reject'](_0xb29a2a);}return _0x44a49f[_0x6e70('0x27')]();};}function saveUpdates(_0x344b65,_0x27b294){return function(_0x502b2d){if(_0x502b2d){return _0x502b2d[_0x6e70('0x28')](_0x344b65)[_0x6e70('0x29')](function(_0x3337a6){return _0x3337a6;});}return null;};}function removeEntity(_0x50da2c,_0x10fc91){return function(_0x538b9c){if(_0x538b9c){return _0x538b9c['destroy']()['then'](function(){_0x50da2c[_0x6e70('0x1e')](0xcc)[_0x6e70('0x2a')]();});}};}function handleEntityNotFound(_0x51d292,_0x3ecdf1){return function(_0x1196ed){if(!_0x1196ed){_0x51d292['sendStatus'](0x194);}return _0x1196ed;};}function handleError(_0x338ad6,_0x67fb43){_0x67fb43=_0x67fb43||0x1f4;return function(_0x2bb231){logger['error'](_0x2bb231['stack']);if(_0x2bb231[_0x6e70('0x2b')]){delete _0x2bb231[_0x6e70('0x2b')];}_0x338ad6[_0x6e70('0x1e')](_0x67fb43)[_0x6e70('0x2c')](_0x2bb231);};}exports[_0x6e70('0x2d')]=function(_0x5d772a,_0x1952ea){var _0x406f29={},_0xecf336={},_0x2864a0={'count':0x0,'rows':[]};var _0x396a67=_[_0x6e70('0x2e')](db[_0x6e70('0x2f')][_0x6e70('0x30')],function(_0x3a0821){return{'name':_0x3a0821[_0x6e70('0x31')],'type':_0x3a0821['type'][_0x6e70('0x32')]};});_0xecf336['model']=_[_0x6e70('0x2e')](_0x396a67,'name');_0xecf336[_0x6e70('0x33')]=_[_0x6e70('0x34')](_0x5d772a[_0x6e70('0x33')]);_0xecf336['filters']=_[_0x6e70('0x35')](_0xecf336[_0x6e70('0x36')],_0xecf336['query']);_0x406f29[_0x6e70('0x37')]=_[_0x6e70('0x35')](_0xecf336['model'],qs[_0x6e70('0x38')](_0x5d772a[_0x6e70('0x33')][_0x6e70('0x38')]));_0x406f29[_0x6e70('0x37')]=_0x406f29[_0x6e70('0x37')][_0x6e70('0x39')]?_0x406f29[_0x6e70('0x37')]:_0xecf336[_0x6e70('0x36')];if(!_0x5d772a[_0x6e70('0x33')][_0x6e70('0x3a')]('nolimit')){_0x406f29[_0x6e70('0x20')]=qs['limit'](_0x5d772a[_0x6e70('0x33')][_0x6e70('0x20')]);_0x406f29[_0x6e70('0x22')]=qs[_0x6e70('0x22')](_0x5d772a[_0x6e70('0x33')][_0x6e70('0x22')]);}_0x406f29[_0x6e70('0x3b')]=qs[_0x6e70('0x3c')](_0x5d772a[_0x6e70('0x33')][_0x6e70('0x3c')]);_0x406f29[_0x6e70('0x3d')]=qs[_0x6e70('0x3e')](_[_0x6e70('0x3f')](_0x5d772a['query'],_0xecf336['filters']),_0x396a67);if(_0x5d772a['query'][_0x6e70('0x40')]){_0x406f29[_0x6e70('0x3d')]=_[_0x6e70('0x41')](_0x406f29[_0x6e70('0x3d')],{'$or':_[_0x6e70('0x2e')](_0x396a67,function(_0x3bdd87){if(_0x3bdd87['type']!==_0x6e70('0x42')){var _0x9e7ad2={};_0x9e7ad2[_0x3bdd87[_0x6e70('0x2b')]]={'$like':'%'+_0x5d772a[_0x6e70('0x33')][_0x6e70('0x40')]+'%'};return _0x9e7ad2;}})});}_0x406f29=_[_0x6e70('0x41')]({},_0x406f29,_0x5d772a[_0x6e70('0x43')]);var _0x16fc7d={'where':_0x406f29['where']};return db[_0x6e70('0x2f')][_0x6e70('0x21')](_0x16fc7d)[_0x6e70('0x29')](function(_0x31cad2){_0x2864a0[_0x6e70('0x21')]=_0x31cad2;if(_0x5d772a[_0x6e70('0x33')][_0x6e70('0x44')]){_0x406f29['include']=[{'all':!![]}];}return db['VoiceTransferReport']['findAll'](_0x406f29);})[_0x6e70('0x29')](function(_0x2b63cc){_0x2864a0[_0x6e70('0x45')]=_0x2b63cc;return _0x2864a0;})[_0x6e70('0x29')](respondWithFilteredResult(_0x1952ea,_0x406f29))[_0x6e70('0x46')](handleError(_0x1952ea,null));};exports['show']=function(_0x225d44,_0x2a58d7){var _0x2a2aca={'raw':!![],'where':{'id':_0x225d44['params']['id']}},_0x52b197={};_0x52b197['model']=_[_0x6e70('0x34')](db['VoiceTransferReport'][_0x6e70('0x30')]);_0x52b197[_0x6e70('0x33')]=_[_0x6e70('0x34')](_0x225d44[_0x6e70('0x33')]);_0x52b197['filters']=_[_0x6e70('0x35')](_0x52b197['model'],_0x52b197[_0x6e70('0x33')]);_0x2a2aca[_0x6e70('0x37')]=_[_0x6e70('0x35')](_0x52b197[_0x6e70('0x36')],qs['fields'](_0x225d44[_0x6e70('0x33')][_0x6e70('0x38')]));_0x2a2aca[_0x6e70('0x37')]=_0x2a2aca[_0x6e70('0x37')][_0x6e70('0x39')]?_0x2a2aca[_0x6e70('0x37')]:_0x52b197[_0x6e70('0x36')];if(_0x225d44['query'][_0x6e70('0x44')]){_0x2a2aca[_0x6e70('0x47')]=[{'all':!![]}];}_0x2a2aca=_[_0x6e70('0x41')]({},_0x2a2aca,_0x225d44[_0x6e70('0x43')]);return db[_0x6e70('0x2f')][_0x6e70('0x48')](_0x2a2aca)[_0x6e70('0x29')](handleEntityNotFound(_0x2a58d7,null))['then'](respondWithResult(_0x2a58d7,null))[_0x6e70('0x46')](handleError(_0x2a58d7,null));};exports['create']=function(_0x11794e,_0x3836e4){return db['VoiceTransferReport']['create'](_0x11794e[_0x6e70('0x49')],{})[_0x6e70('0x29')](respondWithResult(_0x3836e4,0xc9))[_0x6e70('0x46')](handleError(_0x3836e4,null));};exports['update']=function(_0x4af9b1,_0x238ebb){if(_0x4af9b1[_0x6e70('0x49')]['id']){delete _0x4af9b1[_0x6e70('0x49')]['id'];}return db[_0x6e70('0x2f')][_0x6e70('0x48')]({'where':{'id':_0x4af9b1[_0x6e70('0x4a')]['id']}})['then'](handleEntityNotFound(_0x238ebb,null))[_0x6e70('0x29')](saveUpdates(_0x4af9b1[_0x6e70('0x49')],null))[_0x6e70('0x29')](respondWithResult(_0x238ebb,null))[_0x6e70('0x46')](handleError(_0x238ebb,null));};exports[_0x6e70('0x4b')]=function(_0x4b354e,_0x4ae901){return db[_0x6e70('0x2f')][_0x6e70('0x48')]({'where':{'id':_0x4b354e[_0x6e70('0x4a')]['id']}})[_0x6e70('0x29')](handleEntityNotFound(_0x4ae901,null))[_0x6e70('0x29')](removeEntity(_0x4ae901,null))['catch'](handleError(_0x4ae901,null));};exports[_0x6e70('0x4c')]=function(_0x232366,_0x1fa320){return db[_0x6e70('0x2f')][_0x6e70('0x4c')]()['then'](respondWithResult(_0x1fa320,null))[_0x6e70('0x46')](handleError(_0x1fa320,null));};
\ No newline at end of file