Built motion from commit cf5ff673.|2.5.41
[motion2.git] / server / api / voiceDialReport / voiceDialReport.controller.js
index 141238d..06d8b5f 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x4926=['VIRTUAL','VoiceDialReport','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','destroy','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','json','limit','undefined','count','offset','set','Content-Range','apply','save','update','then','stack','name','status','send','index','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge'];(function(_0x350561,_0x17bc48){var _0x15669f=function(_0x1921c4){while(--_0x1921c4){_0x350561['push'](_0x350561['shift']());}};_0x15669f(++_0x17bc48);}(_0x4926,0xf6));var _0x6492=function(_0x1bc762,_0x523eb3){_0x1bc762=_0x1bc762-0x0;var _0x40f70c=_0x4926[_0x1bc762];return _0x40f70c;};'use strict';var emlformat=require(_0x6492('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6492('0x1'));var jsonpatch=require(_0x6492('0x2'));var rp=require(_0x6492('0x3'));var moment=require(_0x6492('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x6492('0x5'));var util=require(_0x6492('0x6'));var path=require(_0x6492('0x7'));var sox=require(_0x6492('0x8'));var csv=require(_0x6492('0x9'));var ejs=require(_0x6492('0xa'));var fs=require('fs');var fs_extra=require(_0x6492('0xb'));var _=require(_0x6492('0xc'));var squel=require(_0x6492('0xd'));var crypto=require('crypto');var jsforce=require(_0x6492('0xe'));var deskjs=require(_0x6492('0xf'));var toCsv=require('to-csv');var querystring=require(_0x6492('0x10'));var Papa=require(_0x6492('0x11'));var Redis=require(_0x6492('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6492('0x13'));var logger=require(_0x6492('0x14'))(_0x6492('0x15'));var utils=require(_0x6492('0x16'));var config=require(_0x6492('0x17'));var licenseUtil=require(_0x6492('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5788b1,_0x2c02f6){_0x2c02f6=_0x2c02f6||0xcc;return function(_0x510b71){if(_0x510b71){return _0x5788b1[_0x6492('0x19')](_0x2c02f6);}return _0x5788b1['status'](_0x2c02f6)[_0x6492('0x1a')]();};}function respondWithResult(_0x577c83,_0x33c9f7){_0x33c9f7=_0x33c9f7||0xc8;return function(_0x2e52e6){if(_0x2e52e6){return _0x577c83['status'](_0x33c9f7)[_0x6492('0x1b')](_0x2e52e6);}};}function respondWithFilteredResult(_0x380ca8,_0x530e22){return function(_0x24c185){if(_0x24c185){var _0x49c0cc=typeof _0x530e22['offset']==='undefined'&&typeof _0x530e22[_0x6492('0x1c')]===_0x6492('0x1d');var _0x5825f1=_0x24c185[_0x6492('0x1e')];var _0x223401=_0x49c0cc?0x0:_0x530e22[_0x6492('0x1f')];var _0x24aa25=_0x49c0cc?_0x24c185[_0x6492('0x1e')]:_0x530e22['offset']+_0x530e22[_0x6492('0x1c')];var _0x1858e8;if(_0x24aa25>=_0x5825f1){_0x24aa25=_0x5825f1;_0x1858e8=0xc8;}else{_0x1858e8=0xce;}_0x380ca8['status'](_0x1858e8);return _0x380ca8[_0x6492('0x20')](_0x6492('0x21'),_0x223401+'-'+_0x24aa25+'/'+_0x5825f1)['json'](_0x24c185);}return null;};}function patchUpdates(_0x247281){return function(_0x47bd20){try{jsonpatch[_0x6492('0x22')](_0x47bd20,_0x247281,!![]);}catch(_0x27e505){return BPromise['reject'](_0x27e505);}return _0x47bd20[_0x6492('0x23')]();};}function saveUpdates(_0x5b3157,_0x5a642d){return function(_0x5697c8){if(_0x5697c8){return _0x5697c8[_0x6492('0x24')](_0x5b3157)[_0x6492('0x25')](function(_0x36ae09){return _0x36ae09;});}return null;};}function removeEntity(_0x417709,_0x1715ed){return function(_0x43ef5b){if(_0x43ef5b){return _0x43ef5b['destroy']()[_0x6492('0x25')](function(){_0x417709['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x45a72e,_0x4b2e0a){return function(_0x1fca2a){if(!_0x1fca2a){_0x45a72e[_0x6492('0x19')](0x194);}return _0x1fca2a;};}function handleError(_0x3b4064,_0x29299e){_0x29299e=_0x29299e||0x1f4;return function(_0x3ce26c){logger['error'](_0x3ce26c[_0x6492('0x26')]);if(_0x3ce26c['name']){delete _0x3ce26c[_0x6492('0x27')];}_0x3b4064[_0x6492('0x28')](_0x29299e)[_0x6492('0x29')](_0x3ce26c);};}exports[_0x6492('0x2a')]=function(_0x8db66f,_0x2e2691){var _0x182730={},_0x4cdf5e={},_0x1663be={'count':0x0,'rows':[]};var _0x3bd0c1=_[_0x6492('0x2b')](db['VoiceDialReport'][_0x6492('0x2c')],function(_0x292bff){return{'name':_0x292bff[_0x6492('0x2d')],'type':_0x292bff[_0x6492('0x2e')]['key']};});_0x4cdf5e[_0x6492('0x2f')]=_[_0x6492('0x2b')](_0x3bd0c1,'name');_0x4cdf5e[_0x6492('0x30')]=_[_0x6492('0x31')](_0x8db66f[_0x6492('0x30')]);_0x4cdf5e[_0x6492('0x32')]=_[_0x6492('0x33')](_0x4cdf5e[_0x6492('0x2f')],_0x4cdf5e[_0x6492('0x30')]);_0x182730['attributes']=_['intersection'](_0x4cdf5e[_0x6492('0x2f')],qs['fields'](_0x8db66f[_0x6492('0x30')][_0x6492('0x34')]));_0x182730[_0x6492('0x35')]=_0x182730['attributes'][_0x6492('0x36')]?_0x182730[_0x6492('0x35')]:_0x4cdf5e[_0x6492('0x2f')];if(!_0x8db66f['query'][_0x6492('0x37')](_0x6492('0x38'))){_0x182730[_0x6492('0x1c')]=qs[_0x6492('0x1c')](_0x8db66f[_0x6492('0x30')][_0x6492('0x1c')]);_0x182730[_0x6492('0x1f')]=qs[_0x6492('0x1f')](_0x8db66f[_0x6492('0x30')][_0x6492('0x1f')]);}_0x182730[_0x6492('0x39')]=qs[_0x6492('0x3a')](_0x8db66f[_0x6492('0x30')]['sort']);_0x182730[_0x6492('0x3b')]=qs['filters'](_['pick'](_0x8db66f[_0x6492('0x30')],_0x4cdf5e['filters']),_0x3bd0c1);if(_0x8db66f[_0x6492('0x30')][_0x6492('0x3c')]){_0x182730[_0x6492('0x3b')]=_[_0x6492('0x3d')](_0x182730[_0x6492('0x3b')],{'$or':_[_0x6492('0x2b')](_0x3bd0c1,function(_0x77ffa9){if(_0x77ffa9[_0x6492('0x2e')]!==_0x6492('0x3e')){var _0x3162c2={};_0x3162c2[_0x77ffa9[_0x6492('0x27')]]={'$like':'%'+_0x8db66f[_0x6492('0x30')][_0x6492('0x3c')]+'%'};return _0x3162c2;}})});}_0x182730=_[_0x6492('0x3d')]({},_0x182730,_0x8db66f['options']);var _0x3e6b2b={'where':_0x182730[_0x6492('0x3b')]};return db[_0x6492('0x3f')][_0x6492('0x1e')](_0x3e6b2b)['then'](function(_0x336a87){_0x1663be[_0x6492('0x1e')]=_0x336a87;if(_0x8db66f[_0x6492('0x30')][_0x6492('0x40')]){_0x182730[_0x6492('0x41')]=[{'all':!![]}];}return db[_0x6492('0x3f')][_0x6492('0x42')](_0x182730);})[_0x6492('0x25')](function(_0x321612){_0x1663be[_0x6492('0x43')]=_0x321612;return _0x1663be;})[_0x6492('0x25')](respondWithFilteredResult(_0x2e2691,_0x182730))[_0x6492('0x44')](handleError(_0x2e2691,null));};exports[_0x6492('0x45')]=function(_0x16febe,_0x485b4b){var _0x1d1258={'raw':!![],'where':{'id':_0x16febe[_0x6492('0x46')]['id']}},_0x355cbb={};_0x355cbb[_0x6492('0x2f')]=_[_0x6492('0x31')](db[_0x6492('0x3f')]['rawAttributes']);_0x355cbb['query']=_[_0x6492('0x31')](_0x16febe[_0x6492('0x30')]);_0x355cbb['filters']=_['intersection'](_0x355cbb['model'],_0x355cbb[_0x6492('0x30')]);_0x1d1258[_0x6492('0x35')]=_[_0x6492('0x33')](_0x355cbb[_0x6492('0x2f')],qs[_0x6492('0x34')](_0x16febe[_0x6492('0x30')][_0x6492('0x34')]));_0x1d1258[_0x6492('0x35')]=_0x1d1258[_0x6492('0x35')][_0x6492('0x36')]?_0x1d1258[_0x6492('0x35')]:_0x355cbb[_0x6492('0x2f')];if(_0x16febe[_0x6492('0x30')][_0x6492('0x40')]){_0x1d1258[_0x6492('0x41')]=[{'all':!![]}];}_0x1d1258=_[_0x6492('0x3d')]({},_0x1d1258,_0x16febe[_0x6492('0x47')]);return db[_0x6492('0x3f')][_0x6492('0x48')](_0x1d1258)[_0x6492('0x25')](handleEntityNotFound(_0x485b4b,null))[_0x6492('0x25')](respondWithResult(_0x485b4b,null))[_0x6492('0x44')](handleError(_0x485b4b,null));};exports[_0x6492('0x49')]=function(_0x4bc806,_0x18e005){return db[_0x6492('0x3f')]['create'](_0x4bc806['body'],{})[_0x6492('0x25')](respondWithResult(_0x18e005,0xc9))[_0x6492('0x44')](handleError(_0x18e005,null));};exports[_0x6492('0x24')]=function(_0x2bbb8a,_0x3adffc){if(_0x2bbb8a['body']['id']){delete _0x2bbb8a[_0x6492('0x4a')]['id'];}return db[_0x6492('0x3f')][_0x6492('0x48')]({'where':{'id':_0x2bbb8a[_0x6492('0x46')]['id']}})[_0x6492('0x25')](handleEntityNotFound(_0x3adffc,null))['then'](saveUpdates(_0x2bbb8a[_0x6492('0x4a')],null))[_0x6492('0x25')](respondWithResult(_0x3adffc,null))[_0x6492('0x44')](handleError(_0x3adffc,null));};exports[_0x6492('0x4b')]=function(_0x1c3fe8,_0x137042){return db[_0x6492('0x3f')]['find']({'where':{'id':_0x1c3fe8[_0x6492('0x46')]['id']}})[_0x6492('0x25')](handleEntityNotFound(_0x137042,null))['then'](removeEntity(_0x137042,null))[_0x6492('0x44')](handleError(_0x137042,null));};exports['describe']=function(_0x2a4c32,_0x5c62b7){return db[_0x6492('0x3f')][_0x6492('0x4c')]()[_0x6492('0x25')](respondWithResult(_0x5c62b7,null))[_0x6492('0x44')](handleError(_0x5c62b7,null));};
\ No newline at end of file
+var _0x69c5=['update','then','stack','name','map','VoiceDialReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','filter','includeAll','include','rows','catch','params','length','options','find','create','body','destroy','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit','offset','count','set','Content-Range','json','save'];(function(_0x5d2370,_0x470266){var _0x382048=function(_0x3dd542){while(--_0x3dd542){_0x5d2370['push'](_0x5d2370['shift']());}};_0x382048(++_0x470266);}(_0x69c5,0xfd));var _0x569c=function(_0x40738d,_0x3dfaab){_0x40738d=_0x40738d-0x0;var _0x1fe9ea=_0x69c5[_0x40738d];return _0x1fe9ea;};'use strict';var emlformat=require(_0x569c('0x0'));var rimraf=require(_0x569c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x569c('0x2'));var rp=require(_0x569c('0x3'));var moment=require(_0x569c('0x4'));var BPromise=require(_0x569c('0x5'));var Mustache=require(_0x569c('0x6'));var util=require(_0x569c('0x7'));var path=require(_0x569c('0x8'));var sox=require(_0x569c('0x9'));var csv=require(_0x569c('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x569c('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x569c('0xc'));var jsforce=require(_0x569c('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x569c('0xa'));var querystring=require('querystring');var Papa=require(_0x569c('0xe'));var Redis=require(_0x569c('0xf'));var authService=require(_0x569c('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x569c('0x11'));var hardwareService=require(_0x569c('0x12'));var logger=require(_0x569c('0x13'))(_0x569c('0x14'));var utils=require(_0x569c('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x569c('0x16'));var db=require(_0x569c('0x17'))['db'];function respondWithStatusCode(_0x28e5a7,_0x1f392a){_0x1f392a=_0x1f392a||0xcc;return function(_0x4da2d2){if(_0x4da2d2){return _0x28e5a7[_0x569c('0x18')](_0x1f392a);}return _0x28e5a7[_0x569c('0x19')](_0x1f392a)[_0x569c('0x1a')]();};}function respondWithResult(_0x158949,_0x182ef9){_0x182ef9=_0x182ef9||0xc8;return function(_0x409213){if(_0x409213){return _0x158949[_0x569c('0x19')](_0x182ef9)['json'](_0x409213);}};}function respondWithFilteredResult(_0x28d44c,_0x3d7c7d){return function(_0x349f76){if(_0x349f76){var _0x170051=typeof _0x3d7c7d['offset']===_0x569c('0x1b')&&typeof _0x3d7c7d[_0x569c('0x1c')]===_0x569c('0x1b');var _0x343171=_0x349f76['count'];var _0x3431d3=_0x170051?0x0:_0x3d7c7d[_0x569c('0x1d')];var _0x43cc9a=_0x170051?_0x349f76[_0x569c('0x1e')]:_0x3d7c7d['offset']+_0x3d7c7d[_0x569c('0x1c')];var _0x3c3e4b;if(_0x43cc9a>=_0x343171){_0x43cc9a=_0x343171;_0x3c3e4b=0xc8;}else{_0x3c3e4b=0xce;}_0x28d44c[_0x569c('0x19')](_0x3c3e4b);return _0x28d44c[_0x569c('0x1f')](_0x569c('0x20'),_0x3431d3+'-'+_0x43cc9a+'/'+_0x343171)[_0x569c('0x21')](_0x349f76);}return null;};}function patchUpdates(_0x10ff39){return function(_0x16147f){try{jsonpatch['apply'](_0x16147f,_0x10ff39,!![]);}catch(_0x399ec5){return BPromise['reject'](_0x399ec5);}return _0x16147f[_0x569c('0x22')]();};}function saveUpdates(_0x5c9344,_0x4830d6){return function(_0xe8a6c3){if(_0xe8a6c3){return _0xe8a6c3[_0x569c('0x23')](_0x5c9344)[_0x569c('0x24')](function(_0x3b6c08){return _0x3b6c08;});}return null;};}function removeEntity(_0x5984bf,_0x1d1b72){return function(_0x34044e){if(_0x34044e){return _0x34044e['destroy']()[_0x569c('0x24')](function(){_0x5984bf[_0x569c('0x19')](0xcc)[_0x569c('0x1a')]();});}};}function handleEntityNotFound(_0x343bd9,_0x48ee35){return function(_0x5ce6e0){if(!_0x5ce6e0){_0x343bd9['sendStatus'](0x194);}return _0x5ce6e0;};}function handleError(_0x518424,_0xf62975){_0xf62975=_0xf62975||0x1f4;return function(_0x5003bf){logger['error'](_0x5003bf[_0x569c('0x25')]);if(_0x5003bf[_0x569c('0x26')]){delete _0x5003bf[_0x569c('0x26')];}_0x518424[_0x569c('0x19')](_0xf62975)['send'](_0x5003bf);};}exports['index']=function(_0x119c71,_0x2f0bea){var _0x4dad0={},_0x31b349={},_0x3310fe={'count':0x0,'rows':[]};var _0x42139e=_[_0x569c('0x27')](db[_0x569c('0x28')][_0x569c('0x29')],function(_0x4346d9){return{'name':_0x4346d9[_0x569c('0x2a')],'type':_0x4346d9[_0x569c('0x2b')][_0x569c('0x2c')]};});_0x31b349[_0x569c('0x2d')]=_[_0x569c('0x27')](_0x42139e,'name');_0x31b349[_0x569c('0x2e')]=_[_0x569c('0x2f')](_0x119c71[_0x569c('0x2e')]);_0x31b349[_0x569c('0x30')]=_[_0x569c('0x31')](_0x31b349['model'],_0x31b349[_0x569c('0x2e')]);_0x4dad0[_0x569c('0x32')]=_[_0x569c('0x31')](_0x31b349[_0x569c('0x2d')],qs[_0x569c('0x33')](_0x119c71[_0x569c('0x2e')][_0x569c('0x33')]));_0x4dad0['attributes']=_0x4dad0[_0x569c('0x32')]['length']?_0x4dad0['attributes']:_0x31b349[_0x569c('0x2d')];if(!_0x119c71[_0x569c('0x2e')][_0x569c('0x34')](_0x569c('0x35'))){_0x4dad0[_0x569c('0x1c')]=qs['limit'](_0x119c71[_0x569c('0x2e')]['limit']);_0x4dad0[_0x569c('0x1d')]=qs['offset'](_0x119c71[_0x569c('0x2e')]['offset']);}_0x4dad0[_0x569c('0x36')]=qs[_0x569c('0x37')](_0x119c71['query']['sort']);_0x4dad0[_0x569c('0x38')]=qs[_0x569c('0x30')](_['pick'](_0x119c71['query'],_0x31b349[_0x569c('0x30')]),_0x42139e);if(_0x119c71[_0x569c('0x2e')]['filter']){_0x4dad0[_0x569c('0x38')]=_[_0x569c('0x39')](_0x4dad0[_0x569c('0x38')],{'$or':_['map'](_0x42139e,function(_0x37a058){if(_0x37a058['type']!==_0x569c('0x3a')){var _0x10a1db={};_0x10a1db[_0x37a058[_0x569c('0x26')]]={'$like':'%'+_0x119c71[_0x569c('0x2e')][_0x569c('0x3b')]+'%'};return _0x10a1db;}})});}_0x4dad0=_[_0x569c('0x39')]({},_0x4dad0,_0x119c71['options']);var _0x5680a2={'where':_0x4dad0['where']};return db[_0x569c('0x28')][_0x569c('0x1e')](_0x5680a2)['then'](function(_0x46c47d){_0x3310fe[_0x569c('0x1e')]=_0x46c47d;if(_0x119c71[_0x569c('0x2e')][_0x569c('0x3c')]){_0x4dad0[_0x569c('0x3d')]=[{'all':!![]}];}return db[_0x569c('0x28')]['findAll'](_0x4dad0);})['then'](function(_0x18f96c){_0x3310fe[_0x569c('0x3e')]=_0x18f96c;return _0x3310fe;})[_0x569c('0x24')](respondWithFilteredResult(_0x2f0bea,_0x4dad0))[_0x569c('0x3f')](handleError(_0x2f0bea,null));};exports['show']=function(_0x537dfe,_0x1756af){var _0x9c6ffa={'raw':!![],'where':{'id':_0x537dfe[_0x569c('0x40')]['id']}},_0x27800e={};_0x27800e[_0x569c('0x2d')]=_[_0x569c('0x2f')](db[_0x569c('0x28')]['rawAttributes']);_0x27800e[_0x569c('0x2e')]=_[_0x569c('0x2f')](_0x537dfe[_0x569c('0x2e')]);_0x27800e[_0x569c('0x30')]=_[_0x569c('0x31')](_0x27800e[_0x569c('0x2d')],_0x27800e[_0x569c('0x2e')]);_0x9c6ffa[_0x569c('0x32')]=_[_0x569c('0x31')](_0x27800e[_0x569c('0x2d')],qs[_0x569c('0x33')](_0x537dfe['query'][_0x569c('0x33')]));_0x9c6ffa[_0x569c('0x32')]=_0x9c6ffa[_0x569c('0x32')][_0x569c('0x41')]?_0x9c6ffa[_0x569c('0x32')]:_0x27800e['model'];if(_0x537dfe[_0x569c('0x2e')][_0x569c('0x3c')]){_0x9c6ffa[_0x569c('0x3d')]=[{'all':!![]}];}_0x9c6ffa=_['merge']({},_0x9c6ffa,_0x537dfe[_0x569c('0x42')]);return db[_0x569c('0x28')][_0x569c('0x43')](_0x9c6ffa)[_0x569c('0x24')](handleEntityNotFound(_0x1756af,null))[_0x569c('0x24')](respondWithResult(_0x1756af,null))[_0x569c('0x3f')](handleError(_0x1756af,null));};exports[_0x569c('0x44')]=function(_0x5ea2cc,_0x5579c7){return db[_0x569c('0x28')][_0x569c('0x44')](_0x5ea2cc['body'],{})[_0x569c('0x24')](respondWithResult(_0x5579c7,0xc9))[_0x569c('0x3f')](handleError(_0x5579c7,null));};exports[_0x569c('0x23')]=function(_0x41f21a,_0x1367e2){if(_0x41f21a[_0x569c('0x45')]['id']){delete _0x41f21a[_0x569c('0x45')]['id'];}return db[_0x569c('0x28')][_0x569c('0x43')]({'where':{'id':_0x41f21a[_0x569c('0x40')]['id']}})[_0x569c('0x24')](handleEntityNotFound(_0x1367e2,null))['then'](saveUpdates(_0x41f21a[_0x569c('0x45')],null))[_0x569c('0x24')](respondWithResult(_0x1367e2,null))[_0x569c('0x3f')](handleError(_0x1367e2,null));};exports[_0x569c('0x46')]=function(_0x2406a8,_0x508220){return db[_0x569c('0x28')]['find']({'where':{'id':_0x2406a8[_0x569c('0x40')]['id']}})[_0x569c('0x24')](handleEntityNotFound(_0x508220,null))['then'](removeEntity(_0x508220,null))['catch'](handleError(_0x508220,null));};exports[_0x569c('0x47')]=function(_0x57deb9,_0x159cbe){return db['VoiceDialReport'][_0x569c('0x47')]()[_0x569c('0x24')](respondWithResult(_0x159cbe,null))[_0x569c('0x3f')](handleError(_0x159cbe,null));};
\ No newline at end of file