Built motion from commit da24aabd.|2.6.20
[motion2.git] / server / api / intVtigerField / intVtigerField.controller.js
index f54d8b2..88cf9ac 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x1f90=['VtigerField','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','includeAll','include','findAll','rows','show','params','options','find','catch','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','undefined','limit','count','offset','set','json','apply','reject','save','update','then','destroy','error','stack','name','index','map'];(function(_0x2d6dc4,_0x5e2d29){var _0x52991e=function(_0x5f2f0c){while(--_0x5f2f0c){_0x2d6dc4['push'](_0x2d6dc4['shift']());}};_0x52991e(++_0x5e2d29);}(_0x1f90,0xbb));var _0x01f9=function(_0xb58bc2,_0x3fff5f){_0xb58bc2=_0xb58bc2-0x0;var _0x3902d6=_0x1f90[_0xb58bc2];return _0x3902d6;};'use strict';var emlformat=require(_0x01f9('0x0'));var rimraf=require(_0x01f9('0x1'));var zipdir=require(_0x01f9('0x2'));var jsonpatch=require(_0x01f9('0x3'));var rp=require(_0x01f9('0x4'));var moment=require(_0x01f9('0x5'));var BPromise=require(_0x01f9('0x6'));var Mustache=require(_0x01f9('0x7'));var util=require(_0x01f9('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x01f9('0x9'));var ejs=require(_0x01f9('0xa'));var fs=require('fs');var fs_extra=require(_0x01f9('0xb'));var _=require(_0x01f9('0xc'));var squel=require(_0x01f9('0xd'));var crypto=require(_0x01f9('0xe'));var jsforce=require(_0x01f9('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x01f9('0x9'));var querystring=require(_0x01f9('0x10'));var Papa=require(_0x01f9('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x01f9('0x12'));var as=require(_0x01f9('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x01f9('0x14'))(_0x01f9('0x15'));var utils=require('../../config/utils');var config=require(_0x01f9('0x16'));var licenseUtil=require(_0x01f9('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x124bff,_0x517529){_0x517529=_0x517529||0xcc;return function(_0x1a932f){if(_0x1a932f){return _0x124bff[_0x01f9('0x18')](_0x517529);}return _0x124bff[_0x01f9('0x19')](_0x517529)[_0x01f9('0x1a')]();};}function respondWithResult(_0x340a14,_0x5bb5f4){_0x5bb5f4=_0x5bb5f4||0xc8;return function(_0x5aebfa){if(_0x5aebfa){return _0x340a14[_0x01f9('0x19')](_0x5bb5f4)['json'](_0x5aebfa);}};}function respondWithFilteredResult(_0x4cedf3,_0x15b059){return function(_0x382fe5){if(_0x382fe5){var _0x2524c6=typeof _0x15b059['offset']===_0x01f9('0x1b')&&typeof _0x15b059[_0x01f9('0x1c')]===_0x01f9('0x1b');var _0x36ba04=_0x382fe5[_0x01f9('0x1d')];var _0x768109=_0x2524c6?0x0:_0x15b059[_0x01f9('0x1e')];var _0x1cea8f=_0x2524c6?_0x382fe5[_0x01f9('0x1d')]:_0x15b059[_0x01f9('0x1e')]+_0x15b059['limit'];var _0x18e826;if(_0x1cea8f>=_0x36ba04){_0x1cea8f=_0x36ba04;_0x18e826=0xc8;}else{_0x18e826=0xce;}_0x4cedf3[_0x01f9('0x19')](_0x18e826);return _0x4cedf3[_0x01f9('0x1f')]('Content-Range',_0x768109+'-'+_0x1cea8f+'/'+_0x36ba04)[_0x01f9('0x20')](_0x382fe5);}return null;};}function patchUpdates(_0x318500){return function(_0x205e9b){try{jsonpatch[_0x01f9('0x21')](_0x205e9b,_0x318500,!![]);}catch(_0x15ca59){return BPromise[_0x01f9('0x22')](_0x15ca59);}return _0x205e9b[_0x01f9('0x23')]();};}function saveUpdates(_0x3e716e,_0x31eb22){return function(_0xf0989a){if(_0xf0989a){return _0xf0989a[_0x01f9('0x24')](_0x3e716e)[_0x01f9('0x25')](function(_0x21a6c1){return _0x21a6c1;});}return null;};}function removeEntity(_0x5570d1,_0x42e5bd){return function(_0x1d56a4){if(_0x1d56a4){return _0x1d56a4[_0x01f9('0x26')]()[_0x01f9('0x25')](function(){_0x5570d1[_0x01f9('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x387a08,_0x1d9476){return function(_0x254b24){if(!_0x254b24){_0x387a08[_0x01f9('0x18')](0x194);}return _0x254b24;};}function handleError(_0x51ad42,_0x3b0c44){_0x3b0c44=_0x3b0c44||0x1f4;return function(_0x23a786){logger[_0x01f9('0x27')](_0x23a786[_0x01f9('0x28')]);if(_0x23a786[_0x01f9('0x29')]){delete _0x23a786[_0x01f9('0x29')];}_0x51ad42[_0x01f9('0x19')](_0x3b0c44)['send'](_0x23a786);};}exports[_0x01f9('0x2a')]=function(_0x5dec35,_0xa81be3){var _0x1b085a={},_0x3c05ca={},_0x315370={'count':0x0,'rows':[]};var _0x53dde5=_[_0x01f9('0x2b')](db[_0x01f9('0x2c')][_0x01f9('0x2d')],function(_0x5a489a){return{'name':_0x5a489a[_0x01f9('0x2e')],'type':_0x5a489a[_0x01f9('0x2f')][_0x01f9('0x30')]};});_0x3c05ca[_0x01f9('0x31')]=_[_0x01f9('0x2b')](_0x53dde5,'name');_0x3c05ca[_0x01f9('0x32')]=_[_0x01f9('0x33')](_0x5dec35[_0x01f9('0x32')]);_0x3c05ca['filters']=_['intersection'](_0x3c05ca[_0x01f9('0x31')],_0x3c05ca[_0x01f9('0x32')]);_0x1b085a[_0x01f9('0x34')]=_[_0x01f9('0x35')](_0x3c05ca[_0x01f9('0x31')],qs[_0x01f9('0x36')](_0x5dec35[_0x01f9('0x32')]['fields']));_0x1b085a['attributes']=_0x1b085a[_0x01f9('0x34')][_0x01f9('0x37')]?_0x1b085a[_0x01f9('0x34')]:_0x3c05ca[_0x01f9('0x31')];if(!_0x5dec35[_0x01f9('0x32')][_0x01f9('0x38')](_0x01f9('0x39'))){_0x1b085a[_0x01f9('0x1c')]=qs[_0x01f9('0x1c')](_0x5dec35[_0x01f9('0x32')][_0x01f9('0x1c')]);_0x1b085a[_0x01f9('0x1e')]=qs[_0x01f9('0x1e')](_0x5dec35[_0x01f9('0x32')][_0x01f9('0x1e')]);}_0x1b085a[_0x01f9('0x3a')]=qs[_0x01f9('0x3b')](_0x5dec35[_0x01f9('0x32')]['sort']);_0x1b085a[_0x01f9('0x3c')]=qs[_0x01f9('0x3d')](_[_0x01f9('0x3e')](_0x5dec35[_0x01f9('0x32')],_0x3c05ca[_0x01f9('0x3d')]),_0x53dde5);if(_0x5dec35[_0x01f9('0x32')][_0x01f9('0x3f')]){_0x1b085a[_0x01f9('0x3c')]=_['merge'](_0x1b085a['where'],{'$or':_[_0x01f9('0x2b')](_0x53dde5,function(_0x255a37){if(_0x255a37[_0x01f9('0x2f')]!==_0x01f9('0x40')){var _0x2758fa={};_0x2758fa[_0x255a37[_0x01f9('0x29')]]={'$like':'%'+_0x5dec35[_0x01f9('0x32')][_0x01f9('0x3f')]+'%'};return _0x2758fa;}})});}_0x1b085a=_[_0x01f9('0x41')]({},_0x1b085a,_0x5dec35['options']);var _0x4aa459={'where':_0x1b085a[_0x01f9('0x3c')]};return db[_0x01f9('0x2c')][_0x01f9('0x1d')](_0x4aa459)['then'](function(_0x430e53){_0x315370[_0x01f9('0x1d')]=_0x430e53;if(_0x5dec35[_0x01f9('0x32')][_0x01f9('0x42')]){_0x1b085a[_0x01f9('0x43')]=[{'all':!![]}];}return db[_0x01f9('0x2c')][_0x01f9('0x44')](_0x1b085a);})[_0x01f9('0x25')](function(_0x43708d){_0x315370[_0x01f9('0x45')]=_0x43708d;return _0x315370;})['then'](respondWithFilteredResult(_0xa81be3,_0x1b085a))['catch'](handleError(_0xa81be3,null));};exports[_0x01f9('0x46')]=function(_0x2fe697,_0x411488){var _0x280e1c={'raw':!![],'where':{'id':_0x2fe697[_0x01f9('0x47')]['id']}},_0x287737={};_0x287737['model']=_[_0x01f9('0x33')](db[_0x01f9('0x2c')][_0x01f9('0x2d')]);_0x287737[_0x01f9('0x32')]=_[_0x01f9('0x33')](_0x2fe697[_0x01f9('0x32')]);_0x287737[_0x01f9('0x3d')]=_[_0x01f9('0x35')](_0x287737[_0x01f9('0x31')],_0x287737['query']);_0x280e1c['attributes']=_[_0x01f9('0x35')](_0x287737[_0x01f9('0x31')],qs[_0x01f9('0x36')](_0x2fe697[_0x01f9('0x32')][_0x01f9('0x36')]));_0x280e1c[_0x01f9('0x34')]=_0x280e1c[_0x01f9('0x34')][_0x01f9('0x37')]?_0x280e1c[_0x01f9('0x34')]:_0x287737[_0x01f9('0x31')];if(_0x2fe697[_0x01f9('0x32')][_0x01f9('0x42')]){_0x280e1c[_0x01f9('0x43')]=[{'all':!![]}];}_0x280e1c=_[_0x01f9('0x41')]({},_0x280e1c,_0x2fe697[_0x01f9('0x48')]);return db[_0x01f9('0x2c')][_0x01f9('0x49')](_0x280e1c)['then'](handleEntityNotFound(_0x411488,null))[_0x01f9('0x25')](respondWithResult(_0x411488,null))[_0x01f9('0x4a')](handleError(_0x411488,null));};exports[_0x01f9('0x4b')]=function(_0x191912,_0x49916d){return db[_0x01f9('0x2c')][_0x01f9('0x4b')](_0x191912[_0x01f9('0x4c')],{})[_0x01f9('0x25')](respondWithResult(_0x49916d,0xc9))[_0x01f9('0x4a')](handleError(_0x49916d,null));};exports[_0x01f9('0x24')]=function(_0xb0974e,_0x254443){if(_0xb0974e[_0x01f9('0x4c')]['id']){delete _0xb0974e[_0x01f9('0x4c')]['id'];}return db[_0x01f9('0x2c')][_0x01f9('0x49')]({'where':{'id':_0xb0974e[_0x01f9('0x47')]['id']}})['then'](handleEntityNotFound(_0x254443,null))[_0x01f9('0x25')](saveUpdates(_0xb0974e[_0x01f9('0x4c')],null))[_0x01f9('0x25')](respondWithResult(_0x254443,null))[_0x01f9('0x4a')](handleError(_0x254443,null));};exports[_0x01f9('0x26')]=function(_0x27c66e,_0x3e0942){return db[_0x01f9('0x2c')][_0x01f9('0x49')]({'where':{'id':_0x27c66e['params']['id']}})['then'](handleEntityNotFound(_0x3e0942,null))[_0x01f9('0x25')](removeEntity(_0x3e0942,null))[_0x01f9('0x4a')](handleError(_0x3e0942,null));};
\ No newline at end of file
+var _0x1258=['map','VtigerField','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','findAll','rows','show','params','keys','includeAll','include','catch','create','body','rimraf','fast-json-patch','moment','mustache','util','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','update','then','destroy','error','stack','name','send','index'];(function(_0x3cfb42,_0x466f88){var _0x4ee87e=function(_0x57cd82){while(--_0x57cd82){_0x3cfb42['push'](_0x3cfb42['shift']());}};_0x4ee87e(++_0x466f88);}(_0x1258,0x1c4));var _0x8125=function(_0x1ba36e,_0x20f86d){_0x1ba36e=_0x1ba36e-0x0;var _0x408b99=_0x1258[_0x1ba36e];return _0x408b99;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8125('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8125('0x1'));var rp=require('request-promise');var moment=require(_0x8125('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x8125('0x3'));var util=require(_0x8125('0x4'));var path=require('path');var sox=require(_0x8125('0x5'));var csv=require('to-csv');var ejs=require(_0x8125('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8125('0x7'));var crypto=require(_0x8125('0x8'));var jsforce=require(_0x8125('0x9'));var deskjs=require(_0x8125('0xa'));var toCsv=require(_0x8125('0xb'));var querystring=require(_0x8125('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8125('0xd'));var as=require(_0x8125('0xe'));var hardwareService=require(_0x8125('0xf'));var logger=require(_0x8125('0x10'))(_0x8125('0x11'));var utils=require(_0x8125('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x8125('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5d3d01,_0x50f425){_0x50f425=_0x50f425||0xcc;return function(_0x1ffb22){if(_0x1ffb22){return _0x5d3d01[_0x8125('0x14')](_0x50f425);}return _0x5d3d01[_0x8125('0x15')](_0x50f425)[_0x8125('0x16')]();};}function respondWithResult(_0x28d807,_0x17ebef){_0x17ebef=_0x17ebef||0xc8;return function(_0x28a7d1){if(_0x28a7d1){return _0x28d807[_0x8125('0x15')](_0x17ebef)[_0x8125('0x17')](_0x28a7d1);}};}function respondWithFilteredResult(_0x226d40,_0x138dd4){return function(_0x1cd32c){if(_0x1cd32c){var _0x555890=typeof _0x138dd4[_0x8125('0x18')]===_0x8125('0x19')&&typeof _0x138dd4['limit']==='undefined';var _0x53eb33=_0x1cd32c[_0x8125('0x1a')];var _0x1356c5=_0x555890?0x0:_0x138dd4['offset'];var _0x6596fc=_0x555890?_0x1cd32c[_0x8125('0x1a')]:_0x138dd4[_0x8125('0x18')]+_0x138dd4[_0x8125('0x1b')];var _0x2d763f;if(_0x6596fc>=_0x53eb33){_0x6596fc=_0x53eb33;_0x2d763f=0xc8;}else{_0x2d763f=0xce;}_0x226d40[_0x8125('0x15')](_0x2d763f);return _0x226d40['set'](_0x8125('0x1c'),_0x1356c5+'-'+_0x6596fc+'/'+_0x53eb33)[_0x8125('0x17')](_0x1cd32c);}return null;};}function patchUpdates(_0x58365f){return function(_0x3d01a0){try{jsonpatch[_0x8125('0x1d')](_0x3d01a0,_0x58365f,!![]);}catch(_0x4db344){return BPromise['reject'](_0x4db344);}return _0x3d01a0['save']();};}function saveUpdates(_0x153200,_0x53183d){return function(_0x25e238){if(_0x25e238){return _0x25e238[_0x8125('0x1e')](_0x153200)[_0x8125('0x1f')](function(_0x3b5da3){return _0x3b5da3;});}return null;};}function removeEntity(_0x4aa55b,_0x1e8e97){return function(_0x5eff99){if(_0x5eff99){return _0x5eff99[_0x8125('0x20')]()['then'](function(){_0x4aa55b[_0x8125('0x15')](0xcc)[_0x8125('0x16')]();});}};}function handleEntityNotFound(_0x3726f8,_0x4b3dc5){return function(_0x123987){if(!_0x123987){_0x3726f8['sendStatus'](0x194);}return _0x123987;};}function handleError(_0x4a0c7b,_0xe63824){_0xe63824=_0xe63824||0x1f4;return function(_0x5a8807){logger[_0x8125('0x21')](_0x5a8807[_0x8125('0x22')]);if(_0x5a8807['name']){delete _0x5a8807[_0x8125('0x23')];}_0x4a0c7b[_0x8125('0x15')](_0xe63824)[_0x8125('0x24')](_0x5a8807);};}exports[_0x8125('0x25')]=function(_0x40e825,_0x1f158c){var _0x13939e={},_0x57ff32={},_0x46973d={'count':0x0,'rows':[]};var _0x58a01a=_[_0x8125('0x26')](db[_0x8125('0x27')][_0x8125('0x28')],function(_0x55fdf5){return{'name':_0x55fdf5[_0x8125('0x29')],'type':_0x55fdf5[_0x8125('0x2a')][_0x8125('0x2b')]};});_0x57ff32[_0x8125('0x2c')]=_[_0x8125('0x26')](_0x58a01a,_0x8125('0x23'));_0x57ff32['query']=_['keys'](_0x40e825[_0x8125('0x2d')]);_0x57ff32[_0x8125('0x2e')]=_[_0x8125('0x2f')](_0x57ff32['model'],_0x57ff32[_0x8125('0x2d')]);_0x13939e[_0x8125('0x30')]=_[_0x8125('0x2f')](_0x57ff32[_0x8125('0x2c')],qs['fields'](_0x40e825[_0x8125('0x2d')][_0x8125('0x31')]));_0x13939e[_0x8125('0x30')]=_0x13939e[_0x8125('0x30')][_0x8125('0x32')]?_0x13939e[_0x8125('0x30')]:_0x57ff32['model'];if(!_0x40e825[_0x8125('0x2d')][_0x8125('0x33')](_0x8125('0x34'))){_0x13939e[_0x8125('0x1b')]=qs[_0x8125('0x1b')](_0x40e825['query'][_0x8125('0x1b')]);_0x13939e[_0x8125('0x18')]=qs['offset'](_0x40e825[_0x8125('0x2d')][_0x8125('0x18')]);}_0x13939e[_0x8125('0x35')]=qs['sort'](_0x40e825[_0x8125('0x2d')][_0x8125('0x36')]);_0x13939e[_0x8125('0x37')]=qs[_0x8125('0x2e')](_['pick'](_0x40e825[_0x8125('0x2d')],_0x57ff32[_0x8125('0x2e')]),_0x58a01a);if(_0x40e825['query'][_0x8125('0x38')]){_0x13939e[_0x8125('0x37')]=_[_0x8125('0x39')](_0x13939e[_0x8125('0x37')],{'$or':_[_0x8125('0x26')](_0x58a01a,function(_0x302259){if(_0x302259[_0x8125('0x2a')]!==_0x8125('0x3a')){var _0x1f4f3b={};_0x1f4f3b[_0x302259[_0x8125('0x23')]]={'$like':'%'+_0x40e825[_0x8125('0x2d')][_0x8125('0x38')]+'%'};return _0x1f4f3b;}})});}_0x13939e=_[_0x8125('0x39')]({},_0x13939e,_0x40e825[_0x8125('0x3b')]);var _0x365956={'where':_0x13939e[_0x8125('0x37')]};return db['VtigerField'][_0x8125('0x1a')](_0x365956)[_0x8125('0x1f')](function(_0x376f9b){_0x46973d[_0x8125('0x1a')]=_0x376f9b;if(_0x40e825[_0x8125('0x2d')]['includeAll']){_0x13939e['include']=[{'all':!![]}];}return db[_0x8125('0x27')][_0x8125('0x3c')](_0x13939e);})[_0x8125('0x1f')](function(_0x3ba1c9){_0x46973d[_0x8125('0x3d')]=_0x3ba1c9;return _0x46973d;})[_0x8125('0x1f')](respondWithFilteredResult(_0x1f158c,_0x13939e))['catch'](handleError(_0x1f158c,null));};exports[_0x8125('0x3e')]=function(_0x7313e3,_0x1be525){var _0x3bbb20={'raw':!![],'where':{'id':_0x7313e3[_0x8125('0x3f')]['id']}},_0x7d70b8={};_0x7d70b8[_0x8125('0x2c')]=_['keys'](db[_0x8125('0x27')]['rawAttributes']);_0x7d70b8[_0x8125('0x2d')]=_[_0x8125('0x40')](_0x7313e3['query']);_0x7d70b8[_0x8125('0x2e')]=_[_0x8125('0x2f')](_0x7d70b8[_0x8125('0x2c')],_0x7d70b8[_0x8125('0x2d')]);_0x3bbb20['attributes']=_['intersection'](_0x7d70b8[_0x8125('0x2c')],qs[_0x8125('0x31')](_0x7313e3[_0x8125('0x2d')][_0x8125('0x31')]));_0x3bbb20[_0x8125('0x30')]=_0x3bbb20[_0x8125('0x30')][_0x8125('0x32')]?_0x3bbb20['attributes']:_0x7d70b8[_0x8125('0x2c')];if(_0x7313e3[_0x8125('0x2d')][_0x8125('0x41')]){_0x3bbb20[_0x8125('0x42')]=[{'all':!![]}];}_0x3bbb20=_['merge']({},_0x3bbb20,_0x7313e3['options']);return db[_0x8125('0x27')]['find'](_0x3bbb20)[_0x8125('0x1f')](handleEntityNotFound(_0x1be525,null))[_0x8125('0x1f')](respondWithResult(_0x1be525,null))[_0x8125('0x43')](handleError(_0x1be525,null));};exports['create']=function(_0x164b16,_0x4dd2f1){return db[_0x8125('0x27')][_0x8125('0x44')](_0x164b16[_0x8125('0x45')],{})[_0x8125('0x1f')](respondWithResult(_0x4dd2f1,0xc9))[_0x8125('0x43')](handleError(_0x4dd2f1,null));};exports[_0x8125('0x1e')]=function(_0x2234b6,_0x50ef42){if(_0x2234b6[_0x8125('0x45')]['id']){delete _0x2234b6['body']['id'];}return db['VtigerField']['find']({'where':{'id':_0x2234b6['params']['id']}})[_0x8125('0x1f')](handleEntityNotFound(_0x50ef42,null))[_0x8125('0x1f')](saveUpdates(_0x2234b6[_0x8125('0x45')],null))[_0x8125('0x1f')](respondWithResult(_0x50ef42,null))[_0x8125('0x43')](handleError(_0x50ef42,null));};exports[_0x8125('0x20')]=function(_0x10a45e,_0x2954a4){return db['VtigerField']['find']({'where':{'id':_0x10a45e[_0x8125('0x3f')]['id']}})['then'](handleEntityNotFound(_0x2954a4,null))[_0x8125('0x1f')](removeEntity(_0x2954a4,null))[_0x8125('0x43')](handleError(_0x2954a4,null));};
\ No newline at end of file