Built motion from commit 25580385.|2.6.2
[motion2.git] / server / api / intServicenowField / intServicenowField.controller.js
index 0694620..7d576a4 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xa9e0=['sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','catch','params','includeAll','create','body','find','html-pdf','eml-format','rimraf','request-promise','bluebird','mustache','util','path','sox','ejs','lodash','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../mysqldb','sendStatus','status','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','end','error','name','send','index','map','ServicenowField','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','limit'];(function(_0x5a56cc,_0x29650c){var _0x589caa=function(_0x1e3ce5){while(--_0x1e3ce5){_0x5a56cc['push'](_0x5a56cc['shift']());}};_0x589caa(++_0x29650c);}(_0xa9e0,0x123));var _0x0a9e=function(_0x387777,_0x356171){_0x387777=_0x387777-0x0;var _0x3f84c0=_0xa9e0[_0x387777];return _0x3f84c0;};'use strict';var pdf=require(_0x0a9e('0x0'));var emlformat=require(_0x0a9e('0x1'));var rimraf=require(_0x0a9e('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x0a9e('0x3'));var moment=require('moment');var BPromise=require(_0x0a9e('0x4'));var Mustache=require(_0x0a9e('0x5'));var util=require(_0x0a9e('0x6'));var path=require(_0x0a9e('0x7'));var sox=require(_0x0a9e('0x8'));var csv=require('to-csv');var ejs=require(_0x0a9e('0x9'));var fs=require('fs');var _=require(_0x0a9e('0xa'));var squel=require(_0x0a9e('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0a9e('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x0a9e('0xd'));var Redis=require(_0x0a9e('0xe'));var authService=require(_0x0a9e('0xf'));var qs=require(_0x0a9e('0x10'));var as=require(_0x0a9e('0x11'));var hardwareService=require(_0x0a9e('0x12'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x0a9e('0x13'))['db'];function respondWithStatusCode(_0x36471c,_0xd5b662){_0xd5b662=_0xd5b662||0xcc;return function(_0x26d672){if(_0x26d672){return _0x36471c[_0x0a9e('0x14')](_0xd5b662);}return _0x36471c[_0x0a9e('0x15')](_0xd5b662)['end']();};}function respondWithResult(_0x4283ce,_0x239b12){_0x239b12=_0x239b12||0xc8;return function(_0x2b4227){if(_0x2b4227){return _0x4283ce[_0x0a9e('0x15')](_0x239b12)[_0x0a9e('0x16')](_0x2b4227);}};}function respondWithFilteredResult(_0x4d5611,_0x52a03d){return function(_0x22dccb){if(_0x22dccb){var _0x5d0880=_0x22dccb[_0x0a9e('0x17')],_0x1985b6=_0x52a03d['offset'],_0x519dfd=_0x52a03d[_0x0a9e('0x18')]+_0x52a03d['limit'],_0x16033c;if(_0x519dfd>=_0x5d0880){_0x519dfd=_0x5d0880;_0x16033c=0xc8;}else{_0x16033c=0xce;}_0x4d5611[_0x0a9e('0x15')](_0x16033c);return _0x4d5611[_0x0a9e('0x19')](_0x0a9e('0x1a'),_0x1985b6+'-'+_0x519dfd+'/'+_0x5d0880)[_0x0a9e('0x16')](_0x22dccb);}return null;};}function patchUpdates(_0x31b1ca){return function(_0x2eb11f){try{jsonpatch[_0x0a9e('0x1b')](_0x2eb11f,_0x31b1ca,!![]);}catch(_0x20559e){return BPromise[_0x0a9e('0x1c')](_0x20559e);}return _0x2eb11f[_0x0a9e('0x1d')]();};}function saveUpdates(_0x1c696a,_0x105080){return function(_0x4bb1e3){if(_0x4bb1e3){return _0x4bb1e3[_0x0a9e('0x1e')](_0x1c696a)[_0x0a9e('0x1f')](function(_0x53682f){return _0x53682f;});}return null;};}function removeEntity(_0x20f109,_0x5a09ef){return function(_0x588269){if(_0x588269){return _0x588269[_0x0a9e('0x20')]()[_0x0a9e('0x1f')](function(){_0x20f109[_0x0a9e('0x15')](0xcc)[_0x0a9e('0x21')]();});}};}function handleEntityNotFound(_0x4abc77,_0xfb6e48){return function(_0x2fb0e4){if(!_0x2fb0e4){_0x4abc77[_0x0a9e('0x14')](0x194);}return _0x2fb0e4;};}function handleError(_0x4d00e6,_0x370d86){_0x370d86=_0x370d86||0x1f4;return function(_0x42ac8f){logger[_0x0a9e('0x22')](_0x42ac8f['stack']);if(_0x42ac8f['name']){delete _0x42ac8f[_0x0a9e('0x23')];}_0x4d00e6[_0x0a9e('0x15')](_0x370d86)[_0x0a9e('0x24')](_0x42ac8f);};}exports[_0x0a9e('0x25')]=function(_0x526cf3,_0x384319){var _0x479bc4={},_0x45a1e7={},_0x5bfb33={'count':0x0,'rows':[]};var _0x1dc186=_[_0x0a9e('0x26')](db[_0x0a9e('0x27')][_0x0a9e('0x28')],function(_0x140511){return{'name':_0x140511[_0x0a9e('0x29')],'type':_0x140511[_0x0a9e('0x2a')][_0x0a9e('0x2b')]};});_0x45a1e7['model']=_[_0x0a9e('0x26')](_0x1dc186,_0x0a9e('0x23'));_0x45a1e7[_0x0a9e('0x2c')]=_[_0x0a9e('0x2d')](_0x526cf3['query']);_0x45a1e7[_0x0a9e('0x2e')]=_[_0x0a9e('0x2f')](_0x45a1e7[_0x0a9e('0x30')],_0x45a1e7[_0x0a9e('0x2c')]);_0x479bc4[_0x0a9e('0x31')]=_[_0x0a9e('0x2f')](_0x45a1e7[_0x0a9e('0x30')],qs[_0x0a9e('0x32')](_0x526cf3[_0x0a9e('0x2c')]['fields']));_0x479bc4[_0x0a9e('0x31')]=_0x479bc4['attributes'][_0x0a9e('0x33')]?_0x479bc4[_0x0a9e('0x31')]:_0x45a1e7[_0x0a9e('0x30')];if(!_0x526cf3[_0x0a9e('0x2c')][_0x0a9e('0x34')]('nolimit')){_0x479bc4[_0x0a9e('0x35')]=qs[_0x0a9e('0x35')](_0x526cf3[_0x0a9e('0x2c')][_0x0a9e('0x35')]);_0x479bc4[_0x0a9e('0x18')]=qs[_0x0a9e('0x18')](_0x526cf3[_0x0a9e('0x2c')][_0x0a9e('0x18')]);}_0x479bc4['order']=qs[_0x0a9e('0x36')](_0x526cf3['query'][_0x0a9e('0x36')]);_0x479bc4[_0x0a9e('0x37')]=qs[_0x0a9e('0x2e')](_[_0x0a9e('0x38')](_0x526cf3['query'],_0x45a1e7[_0x0a9e('0x2e')]),_0x1dc186);if(_0x526cf3[_0x0a9e('0x2c')][_0x0a9e('0x39')]){_0x479bc4[_0x0a9e('0x37')]=_['merge'](_0x479bc4['where'],{'$or':_[_0x0a9e('0x26')](_0x1dc186,function(_0x5640eb){if(_0x5640eb[_0x0a9e('0x2a')]!==_0x0a9e('0x3a')){var _0x381c37={};_0x381c37[_0x5640eb[_0x0a9e('0x23')]]={'$like':'%'+_0x526cf3['query'][_0x0a9e('0x39')]+'%'};return _0x381c37;}})});}_0x479bc4=_[_0x0a9e('0x3b')]({},_0x479bc4,_0x526cf3[_0x0a9e('0x3c')]);var _0x533942={'where':_0x479bc4[_0x0a9e('0x37')]};return db[_0x0a9e('0x27')][_0x0a9e('0x17')](_0x533942)['then'](function(_0x546ef8){_0x5bfb33[_0x0a9e('0x17')]=_0x546ef8;if(_0x526cf3[_0x0a9e('0x2c')]['includeAll']){_0x479bc4[_0x0a9e('0x3d')]=[{'all':!![]}];}return db[_0x0a9e('0x27')][_0x0a9e('0x3e')](_0x479bc4);})[_0x0a9e('0x1f')](function(_0x4b38d9){_0x5bfb33['rows']=_0x4b38d9;return _0x5bfb33;})[_0x0a9e('0x1f')](respondWithFilteredResult(_0x384319,_0x479bc4))[_0x0a9e('0x3f')](handleError(_0x384319,null));};exports['show']=function(_0x183991,_0x1dec2e){var _0x1459bb={'raw':!![],'where':{'id':_0x183991[_0x0a9e('0x40')]['id']}},_0x5b4f5e={};_0x5b4f5e[_0x0a9e('0x30')]=_[_0x0a9e('0x2d')](db[_0x0a9e('0x27')][_0x0a9e('0x28')]);_0x5b4f5e[_0x0a9e('0x2c')]=_[_0x0a9e('0x2d')](_0x183991[_0x0a9e('0x2c')]);_0x5b4f5e[_0x0a9e('0x2e')]=_[_0x0a9e('0x2f')](_0x5b4f5e[_0x0a9e('0x30')],_0x5b4f5e[_0x0a9e('0x2c')]);_0x1459bb[_0x0a9e('0x31')]=_[_0x0a9e('0x2f')](_0x5b4f5e[_0x0a9e('0x30')],qs['fields'](_0x183991['query'][_0x0a9e('0x32')]));_0x1459bb[_0x0a9e('0x31')]=_0x1459bb[_0x0a9e('0x31')][_0x0a9e('0x33')]?_0x1459bb[_0x0a9e('0x31')]:_0x5b4f5e[_0x0a9e('0x30')];if(_0x183991[_0x0a9e('0x2c')][_0x0a9e('0x41')]){_0x1459bb[_0x0a9e('0x3d')]=[{'all':!![]}];}_0x1459bb=_[_0x0a9e('0x3b')]({},_0x1459bb,_0x183991[_0x0a9e('0x3c')]);return db[_0x0a9e('0x27')]['find'](_0x1459bb)[_0x0a9e('0x1f')](handleEntityNotFound(_0x1dec2e,null))[_0x0a9e('0x1f')](respondWithResult(_0x1dec2e,null))[_0x0a9e('0x3f')](handleError(_0x1dec2e,null));};exports[_0x0a9e('0x42')]=function(_0x2e8caf,_0xbe9d19){return db[_0x0a9e('0x27')][_0x0a9e('0x42')](_0x2e8caf['body'],{})[_0x0a9e('0x1f')](respondWithResult(_0xbe9d19,0xc9))['catch'](handleError(_0xbe9d19,null));};exports[_0x0a9e('0x1e')]=function(_0x476688,_0x8d6dd1){if(_0x476688['body']['id']){delete _0x476688[_0x0a9e('0x43')]['id'];}return db[_0x0a9e('0x27')][_0x0a9e('0x44')]({'where':{'id':_0x476688[_0x0a9e('0x40')]['id']}})[_0x0a9e('0x1f')](handleEntityNotFound(_0x8d6dd1,null))[_0x0a9e('0x1f')](saveUpdates(_0x476688[_0x0a9e('0x43')],null))['then'](respondWithResult(_0x8d6dd1,null))[_0x0a9e('0x3f')](handleError(_0x8d6dd1,null));};exports[_0x0a9e('0x20')]=function(_0x1b5e80,_0x16f976){return db[_0x0a9e('0x27')][_0x0a9e('0x44')]({'where':{'id':_0x1b5e80[_0x0a9e('0x40')]['id']}})[_0x0a9e('0x1f')](handleEntityNotFound(_0x16f976,null))[_0x0a9e('0x1f')](removeEntity(_0x16f976,null))['catch'](handleError(_0x16f976,null));};
\ No newline at end of file
+var _0x7a33=['keys','query','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','filters','pick','filter','where','VIRTUAL','merge','options','includeAll','findAll','rows','show','params','include','find','create','body','catch','rimraf','fast-json-patch','request-promise','moment','util','path','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','Content-Range','apply','save','update','then','destroy','stack','name','ServicenowField','rawAttributes','fieldName','type','key','model','map'];(function(_0x1f333e,_0x49f143){var _0x2c8cde=function(_0x7da9c2){while(--_0x7da9c2){_0x1f333e['push'](_0x1f333e['shift']());}};_0x2c8cde(++_0x49f143);}(_0x7a33,0x137));var _0x37a3=function(_0x5eef66,_0x5384bb){_0x5eef66=_0x5eef66-0x0;var _0x3b384a=_0x7a33[_0x5eef66];return _0x3b384a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x37a3('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x37a3('0x1'));var rp=require(_0x37a3('0x2'));var moment=require(_0x37a3('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x37a3('0x4'));var path=require(_0x37a3('0x5'));var sox=require('sox');var csv=require(_0x37a3('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x37a3('0x7'));var squel=require(_0x37a3('0x8'));var crypto=require(_0x37a3('0x9'));var jsforce=require(_0x37a3('0xa'));var deskjs=require(_0x37a3('0xb'));var toCsv=require(_0x37a3('0x6'));var querystring=require(_0x37a3('0xc'));var Papa=require(_0x37a3('0xd'));var Redis=require(_0x37a3('0xe'));var authService=require(_0x37a3('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x37a3('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x37a3('0x11'));var utils=require(_0x37a3('0x12'));var config=require(_0x37a3('0x13'));var licenseUtil=require(_0x37a3('0x14'));var db=require(_0x37a3('0x15'))['db'];function respondWithStatusCode(_0x1ce941,_0x13b977){_0x13b977=_0x13b977||0xcc;return function(_0x14460e){if(_0x14460e){return _0x1ce941[_0x37a3('0x16')](_0x13b977);}return _0x1ce941[_0x37a3('0x17')](_0x13b977)[_0x37a3('0x18')]();};}function respondWithResult(_0xdd9948,_0x3debd5){_0x3debd5=_0x3debd5||0xc8;return function(_0x47ce4b){if(_0x47ce4b){return _0xdd9948['status'](_0x3debd5)[_0x37a3('0x19')](_0x47ce4b);}};}function respondWithFilteredResult(_0x39dfea,_0xc66675){return function(_0x26ca78){if(_0x26ca78){var _0x2522ba=typeof _0xc66675['offset']===_0x37a3('0x1a')&&typeof _0xc66675['limit']===_0x37a3('0x1a');var _0x436639=_0x26ca78[_0x37a3('0x1b')];var _0x4a9b35=_0x2522ba?0x0:_0xc66675[_0x37a3('0x1c')];var _0x2991fe=_0x2522ba?_0x26ca78[_0x37a3('0x1b')]:_0xc66675[_0x37a3('0x1c')]+_0xc66675['limit'];var _0x534aab;if(_0x2991fe>=_0x436639){_0x2991fe=_0x436639;_0x534aab=0xc8;}else{_0x534aab=0xce;}_0x39dfea['status'](_0x534aab);return _0x39dfea['set'](_0x37a3('0x1d'),_0x4a9b35+'-'+_0x2991fe+'/'+_0x436639)['json'](_0x26ca78);}return null;};}function patchUpdates(_0x280247){return function(_0x4b35bf){try{jsonpatch[_0x37a3('0x1e')](_0x4b35bf,_0x280247,!![]);}catch(_0x2b130a){return BPromise['reject'](_0x2b130a);}return _0x4b35bf[_0x37a3('0x1f')]();};}function saveUpdates(_0x19652a,_0x5763a0){return function(_0x4ff800){if(_0x4ff800){return _0x4ff800[_0x37a3('0x20')](_0x19652a)[_0x37a3('0x21')](function(_0xc4f801){return _0xc4f801;});}return null;};}function removeEntity(_0x40b7c1,_0x25ebb7){return function(_0x1065cc){if(_0x1065cc){return _0x1065cc[_0x37a3('0x22')]()[_0x37a3('0x21')](function(){_0x40b7c1[_0x37a3('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x566e10,_0x567889){return function(_0x533635){if(!_0x533635){_0x566e10[_0x37a3('0x16')](0x194);}return _0x533635;};}function handleError(_0x5e8a51,_0x9750c4){_0x9750c4=_0x9750c4||0x1f4;return function(_0x55abc1){logger['error'](_0x55abc1[_0x37a3('0x23')]);if(_0x55abc1[_0x37a3('0x24')]){delete _0x55abc1[_0x37a3('0x24')];}_0x5e8a51[_0x37a3('0x17')](_0x9750c4)['send'](_0x55abc1);};}exports['index']=function(_0x261a4f,_0x49b3aa){var _0x428617={},_0x2270a6={},_0x33fd14={'count':0x0,'rows':[]};var _0x471b85=_['map'](db[_0x37a3('0x25')][_0x37a3('0x26')],function(_0x187d8a){return{'name':_0x187d8a[_0x37a3('0x27')],'type':_0x187d8a[_0x37a3('0x28')][_0x37a3('0x29')]};});_0x2270a6[_0x37a3('0x2a')]=_[_0x37a3('0x2b')](_0x471b85,_0x37a3('0x24'));_0x2270a6['query']=_[_0x37a3('0x2c')](_0x261a4f[_0x37a3('0x2d')]);_0x2270a6['filters']=_[_0x37a3('0x2e')](_0x2270a6[_0x37a3('0x2a')],_0x2270a6[_0x37a3('0x2d')]);_0x428617[_0x37a3('0x2f')]=_['intersection'](_0x2270a6['model'],qs['fields'](_0x261a4f['query'][_0x37a3('0x30')]));_0x428617[_0x37a3('0x2f')]=_0x428617[_0x37a3('0x2f')][_0x37a3('0x31')]?_0x428617[_0x37a3('0x2f')]:_0x2270a6['model'];if(!_0x261a4f[_0x37a3('0x2d')][_0x37a3('0x32')]('nolimit')){_0x428617['limit']=qs[_0x37a3('0x33')](_0x261a4f['query']['limit']);_0x428617[_0x37a3('0x1c')]=qs['offset'](_0x261a4f['query'][_0x37a3('0x1c')]);}_0x428617[_0x37a3('0x34')]=qs[_0x37a3('0x35')](_0x261a4f[_0x37a3('0x2d')][_0x37a3('0x35')]);_0x428617['where']=qs[_0x37a3('0x36')](_[_0x37a3('0x37')](_0x261a4f[_0x37a3('0x2d')],_0x2270a6[_0x37a3('0x36')]),_0x471b85);if(_0x261a4f['query'][_0x37a3('0x38')]){_0x428617['where']=_['merge'](_0x428617[_0x37a3('0x39')],{'$or':_[_0x37a3('0x2b')](_0x471b85,function(_0x37212c){if(_0x37212c[_0x37a3('0x28')]!==_0x37a3('0x3a')){var _0x42bc13={};_0x42bc13[_0x37212c[_0x37a3('0x24')]]={'$like':'%'+_0x261a4f[_0x37a3('0x2d')][_0x37a3('0x38')]+'%'};return _0x42bc13;}})});}_0x428617=_[_0x37a3('0x3b')]({},_0x428617,_0x261a4f[_0x37a3('0x3c')]);var _0xd983e4={'where':_0x428617[_0x37a3('0x39')]};return db[_0x37a3('0x25')]['count'](_0xd983e4)[_0x37a3('0x21')](function(_0x51404a){_0x33fd14[_0x37a3('0x1b')]=_0x51404a;if(_0x261a4f[_0x37a3('0x2d')][_0x37a3('0x3d')]){_0x428617['include']=[{'all':!![]}];}return db[_0x37a3('0x25')][_0x37a3('0x3e')](_0x428617);})[_0x37a3('0x21')](function(_0x2a3b72){_0x33fd14[_0x37a3('0x3f')]=_0x2a3b72;return _0x33fd14;})[_0x37a3('0x21')](respondWithFilteredResult(_0x49b3aa,_0x428617))['catch'](handleError(_0x49b3aa,null));};exports[_0x37a3('0x40')]=function(_0x164b29,_0x3b50cb){var _0x281c73={'raw':!![],'where':{'id':_0x164b29[_0x37a3('0x41')]['id']}},_0x2c73ca={};_0x2c73ca['model']=_[_0x37a3('0x2c')](db['ServicenowField']['rawAttributes']);_0x2c73ca[_0x37a3('0x2d')]=_[_0x37a3('0x2c')](_0x164b29[_0x37a3('0x2d')]);_0x2c73ca['filters']=_[_0x37a3('0x2e')](_0x2c73ca[_0x37a3('0x2a')],_0x2c73ca[_0x37a3('0x2d')]);_0x281c73[_0x37a3('0x2f')]=_[_0x37a3('0x2e')](_0x2c73ca[_0x37a3('0x2a')],qs[_0x37a3('0x30')](_0x164b29['query'][_0x37a3('0x30')]));_0x281c73['attributes']=_0x281c73[_0x37a3('0x2f')][_0x37a3('0x31')]?_0x281c73[_0x37a3('0x2f')]:_0x2c73ca['model'];if(_0x164b29[_0x37a3('0x2d')][_0x37a3('0x3d')]){_0x281c73[_0x37a3('0x42')]=[{'all':!![]}];}_0x281c73=_[_0x37a3('0x3b')]({},_0x281c73,_0x164b29[_0x37a3('0x3c')]);return db['ServicenowField'][_0x37a3('0x43')](_0x281c73)[_0x37a3('0x21')](handleEntityNotFound(_0x3b50cb,null))[_0x37a3('0x21')](respondWithResult(_0x3b50cb,null))['catch'](handleError(_0x3b50cb,null));};exports[_0x37a3('0x44')]=function(_0xd0f146,_0x2f61c8){return db[_0x37a3('0x25')][_0x37a3('0x44')](_0xd0f146['body'],{})[_0x37a3('0x21')](respondWithResult(_0x2f61c8,0xc9))['catch'](handleError(_0x2f61c8,null));};exports['update']=function(_0x28cdbb,_0x479260){if(_0x28cdbb[_0x37a3('0x45')]['id']){delete _0x28cdbb[_0x37a3('0x45')]['id'];}return db['ServicenowField']['find']({'where':{'id':_0x28cdbb[_0x37a3('0x41')]['id']}})[_0x37a3('0x21')](handleEntityNotFound(_0x479260,null))[_0x37a3('0x21')](saveUpdates(_0x28cdbb[_0x37a3('0x45')],null))[_0x37a3('0x21')](respondWithResult(_0x479260,null))['catch'](handleError(_0x479260,null));};exports['destroy']=function(_0x432bdf,_0x983ad7){return db[_0x37a3('0x25')][_0x37a3('0x43')]({'where':{'id':_0x432bdf[_0x37a3('0x41')]['id']}})[_0x37a3('0x21')](handleEntityNotFound(_0x983ad7,null))[_0x37a3('0x21')](removeEntity(_0x983ad7,null))[_0x37a3('0x46')](handleError(_0x983ad7,null));};
\ No newline at end of file