Built motion from commit (unavailable).|2.5.22
[motion2.git] / server / api / intVtigerField / intVtigerField.controller.js
index 8e49cb0..c53076d 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x851a=['set','apply','reject','save','update','then','destroy','error','name','index','map','VtigerField','rawAttributes','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit'];(function(_0x18c51a,_0x24773c){var _0x4dfd04=function(_0x49834f){while(--_0x49834f){_0x18c51a['push'](_0x18c51a['shift']());}};_0x4dfd04(++_0x24773c);}(_0x851a,0x19b));var _0xa851=function(_0x21a9d9,_0x4d5ac8){_0x21a9d9=_0x21a9d9-0x0;var _0x46adce=_0x851a[_0x21a9d9];return _0x46adce;};'use strict';var pdf=require(_0xa851('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa851('0x1'));var zipdir=require(_0xa851('0x2'));var jsonpatch=require(_0xa851('0x3'));var rp=require(_0xa851('0x4'));var moment=require(_0xa851('0x5'));var BPromise=require(_0xa851('0x6'));var Mustache=require(_0xa851('0x7'));var util=require(_0xa851('0x8'));var path=require('path');var sox=require(_0xa851('0x9'));var csv=require('to-csv');var ejs=require(_0xa851('0xa'));var fs=require('fs');var _=require(_0xa851('0xb'));var squel=require(_0xa851('0xc'));var crypto=require('crypto');var jsforce=require(_0xa851('0xd'));var deskjs=require(_0xa851('0xe'));var toCsv=require(_0xa851('0xf'));var querystring=require(_0xa851('0x10'));var Papa=require('papaparse');var Redis=require(_0xa851('0x11'));var authService=require(_0xa851('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xa851('0x13'));var hardwareService=require(_0xa851('0x14'));var logger=require(_0xa851('0x15'))(_0xa851('0x16'));var utils=require(_0xa851('0x17'));var config=require(_0xa851('0x18'));var db=require(_0xa851('0x19'))['db'];function respondWithStatusCode(_0x2fb982,_0x24c9b0){_0x24c9b0=_0x24c9b0||0xcc;return function(_0x184d51){if(_0x184d51){return _0x2fb982[_0xa851('0x1a')](_0x24c9b0);}return _0x2fb982[_0xa851('0x1b')](_0x24c9b0)[_0xa851('0x1c')]();};}function respondWithResult(_0x182d24,_0x4265d7){_0x4265d7=_0x4265d7||0xc8;return function(_0x2ad4b2){if(_0x2ad4b2){return _0x182d24[_0xa851('0x1b')](_0x4265d7)[_0xa851('0x1d')](_0x2ad4b2);}};}function respondWithFilteredResult(_0x5d5e20,_0x2fb663){return function(_0x335947){if(_0x335947){var _0xfb70b5=_0x335947[_0xa851('0x1e')],_0x3d4dd6=_0x2fb663[_0xa851('0x1f')],_0x5be85d=_0x2fb663[_0xa851('0x1f')]+_0x2fb663[_0xa851('0x20')],_0x905e2a;if(_0x5be85d>=_0xfb70b5){_0x5be85d=_0xfb70b5;_0x905e2a=0xc8;}else{_0x905e2a=0xce;}_0x5d5e20['status'](_0x905e2a);return _0x5d5e20[_0xa851('0x21')]('Content-Range',_0x3d4dd6+'-'+_0x5be85d+'/'+_0xfb70b5)[_0xa851('0x1d')](_0x335947);}return null;};}function patchUpdates(_0x7afd4){return function(_0x935682){try{jsonpatch[_0xa851('0x22')](_0x935682,_0x7afd4,!![]);}catch(_0x128226){return BPromise[_0xa851('0x23')](_0x128226);}return _0x935682[_0xa851('0x24')]();};}function saveUpdates(_0x9b3670,_0x2d77fe){return function(_0x5bfe0e){if(_0x5bfe0e){return _0x5bfe0e[_0xa851('0x25')](_0x9b3670)[_0xa851('0x26')](function(_0x521f57){return _0x521f57;});}return null;};}function removeEntity(_0x1846e6,_0x258266){return function(_0x59cad2){if(_0x59cad2){return _0x59cad2[_0xa851('0x27')]()[_0xa851('0x26')](function(){_0x1846e6[_0xa851('0x1b')](0xcc)[_0xa851('0x1c')]();});}};}function handleEntityNotFound(_0x304afd,_0x233cb7){return function(_0x3d956d){if(!_0x3d956d){_0x304afd[_0xa851('0x1a')](0x194);}return _0x3d956d;};}function handleError(_0x10d602,_0x3f5428){_0x3f5428=_0x3f5428||0x1f4;return function(_0x23c3ef){logger[_0xa851('0x28')](_0x23c3ef['stack']);if(_0x23c3ef[_0xa851('0x29')]){delete _0x23c3ef[_0xa851('0x29')];}_0x10d602[_0xa851('0x1b')](_0x3f5428)['send'](_0x23c3ef);};}exports[_0xa851('0x2a')]=function(_0x491c26,_0x2c47e1){var _0x4f49fe={},_0x10935d={},_0x455f93={'count':0x0,'rows':[]};var _0x4e1c5a=_[_0xa851('0x2b')](db[_0xa851('0x2c')][_0xa851('0x2d')],function(_0xae32a0){return{'name':_0xae32a0[_0xa851('0x2e')],'type':_0xae32a0[_0xa851('0x2f')]['key']};});_0x10935d[_0xa851('0x30')]=_[_0xa851('0x2b')](_0x4e1c5a,_0xa851('0x29'));_0x10935d['query']=_[_0xa851('0x31')](_0x491c26[_0xa851('0x32')]);_0x10935d[_0xa851('0x33')]=_[_0xa851('0x34')](_0x10935d[_0xa851('0x30')],_0x10935d[_0xa851('0x32')]);_0x4f49fe[_0xa851('0x35')]=_[_0xa851('0x34')](_0x10935d[_0xa851('0x30')],qs[_0xa851('0x36')](_0x491c26[_0xa851('0x32')][_0xa851('0x36')]));_0x4f49fe['attributes']=_0x4f49fe[_0xa851('0x35')][_0xa851('0x37')]?_0x4f49fe[_0xa851('0x35')]:_0x10935d[_0xa851('0x30')];if(!_0x491c26[_0xa851('0x32')][_0xa851('0x38')]('nolimit')){_0x4f49fe['limit']=qs[_0xa851('0x20')](_0x491c26[_0xa851('0x32')]['limit']);_0x4f49fe[_0xa851('0x1f')]=qs[_0xa851('0x1f')](_0x491c26[_0xa851('0x32')][_0xa851('0x1f')]);}_0x4f49fe[_0xa851('0x39')]=qs[_0xa851('0x3a')](_0x491c26[_0xa851('0x32')][_0xa851('0x3a')]);_0x4f49fe[_0xa851('0x3b')]=qs['filters'](_[_0xa851('0x3c')](_0x491c26[_0xa851('0x32')],_0x10935d[_0xa851('0x33')]),_0x4e1c5a);if(_0x491c26[_0xa851('0x32')][_0xa851('0x3d')]){_0x4f49fe[_0xa851('0x3b')]=_['merge'](_0x4f49fe[_0xa851('0x3b')],{'$or':_[_0xa851('0x2b')](_0x4e1c5a,function(_0x4c7912){if(_0x4c7912[_0xa851('0x2f')]!=='VIRTUAL'){var _0x427167={};_0x427167[_0x4c7912[_0xa851('0x29')]]={'$like':'%'+_0x491c26[_0xa851('0x32')]['filter']+'%'};return _0x427167;}})});}_0x4f49fe=_[_0xa851('0x3e')]({},_0x4f49fe,_0x491c26['options']);var _0x24da6d={'where':_0x4f49fe[_0xa851('0x3b')]};return db[_0xa851('0x2c')][_0xa851('0x1e')](_0x24da6d)[_0xa851('0x26')](function(_0x10d51b){_0x455f93[_0xa851('0x1e')]=_0x10d51b;if(_0x491c26[_0xa851('0x32')][_0xa851('0x3f')]){_0x4f49fe[_0xa851('0x40')]=[{'all':!![]}];}return db[_0xa851('0x2c')][_0xa851('0x41')](_0x4f49fe);})[_0xa851('0x26')](function(_0x3597e1){_0x455f93[_0xa851('0x42')]=_0x3597e1;return _0x455f93;})[_0xa851('0x26')](respondWithFilteredResult(_0x2c47e1,_0x4f49fe))[_0xa851('0x43')](handleError(_0x2c47e1,null));};exports[_0xa851('0x44')]=function(_0x106fd6,_0x5953da){var _0x1e815f={'raw':!![],'where':{'id':_0x106fd6[_0xa851('0x45')]['id']}},_0x8c2fa2={};_0x8c2fa2['model']=_['keys'](db[_0xa851('0x2c')][_0xa851('0x2d')]);_0x8c2fa2['query']=_[_0xa851('0x31')](_0x106fd6[_0xa851('0x32')]);_0x8c2fa2[_0xa851('0x33')]=_[_0xa851('0x34')](_0x8c2fa2[_0xa851('0x30')],_0x8c2fa2[_0xa851('0x32')]);_0x1e815f[_0xa851('0x35')]=_[_0xa851('0x34')](_0x8c2fa2['model'],qs[_0xa851('0x36')](_0x106fd6['query'][_0xa851('0x36')]));_0x1e815f[_0xa851('0x35')]=_0x1e815f['attributes'][_0xa851('0x37')]?_0x1e815f[_0xa851('0x35')]:_0x8c2fa2[_0xa851('0x30')];if(_0x106fd6[_0xa851('0x32')][_0xa851('0x3f')]){_0x1e815f[_0xa851('0x40')]=[{'all':!![]}];}_0x1e815f=_['merge']({},_0x1e815f,_0x106fd6[_0xa851('0x46')]);return db[_0xa851('0x2c')][_0xa851('0x47')](_0x1e815f)[_0xa851('0x26')](handleEntityNotFound(_0x5953da,null))[_0xa851('0x26')](respondWithResult(_0x5953da,null))[_0xa851('0x43')](handleError(_0x5953da,null));};exports[_0xa851('0x48')]=function(_0x498957,_0xc3d770){return db[_0xa851('0x2c')]['create'](_0x498957[_0xa851('0x49')],{})[_0xa851('0x26')](respondWithResult(_0xc3d770,0xc9))[_0xa851('0x43')](handleError(_0xc3d770,null));};exports[_0xa851('0x25')]=function(_0x1947b8,_0x53c35e){if(_0x1947b8[_0xa851('0x49')]['id']){delete _0x1947b8[_0xa851('0x49')]['id'];}return db[_0xa851('0x2c')][_0xa851('0x47')]({'where':{'id':_0x1947b8[_0xa851('0x45')]['id']}})[_0xa851('0x26')](handleEntityNotFound(_0x53c35e,null))['then'](saveUpdates(_0x1947b8[_0xa851('0x49')],null))[_0xa851('0x26')](respondWithResult(_0x53c35e,null))['catch'](handleError(_0x53c35e,null));};exports[_0xa851('0x27')]=function(_0x3ca5b1,_0x5709ea){return db[_0xa851('0x2c')][_0xa851('0x47')]({'where':{'id':_0x3ca5b1[_0xa851('0x45')]['id']}})[_0xa851('0x26')](handleEntityNotFound(_0x5709ea,null))[_0xa851('0x26')](removeEntity(_0x5709ea,null))[_0xa851('0x43')](handleError(_0x5709ea,null));};
\ No newline at end of file
+var _0xb4c7=['apply','reject','save','update','then','destroy','error','stack','name','index','map','VtigerField','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','filters','pick','filter','where','merge','options','includeAll','include','findAll','catch','params','find','create','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xb4c7,0x1ea));var _0x7b4c=function(_0x19b4d4,_0x2df908){_0x19b4d4=_0x19b4d4-0x0;var _0x380eb4=_0xb4c7[_0x19b4d4];return _0x380eb4;};'use strict';var pdf=require(_0x7b4c('0x0'));var emlformat=require(_0x7b4c('0x1'));var rimraf=require(_0x7b4c('0x2'));var zipdir=require(_0x7b4c('0x3'));var jsonpatch=require(_0x7b4c('0x4'));var rp=require('request-promise');var moment=require(_0x7b4c('0x5'));var BPromise=require(_0x7b4c('0x6'));var Mustache=require(_0x7b4c('0x7'));var util=require(_0x7b4c('0x8'));var path=require(_0x7b4c('0x9'));var sox=require('sox');var csv=require(_0x7b4c('0xa'));var ejs=require(_0x7b4c('0xb'));var fs=require('fs');var _=require(_0x7b4c('0xc'));var squel=require('squel');var crypto=require(_0x7b4c('0xd'));var jsforce=require(_0x7b4c('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x7b4c('0xa'));var querystring=require(_0x7b4c('0xf'));var Papa=require(_0x7b4c('0x10'));var Redis=require(_0x7b4c('0x11'));var authService=require(_0x7b4c('0x12'));var qs=require(_0x7b4c('0x13'));var as=require(_0x7b4c('0x14'));var hardwareService=require(_0x7b4c('0x15'));var logger=require(_0x7b4c('0x16'))(_0x7b4c('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x7b4c('0x18'));var db=require(_0x7b4c('0x19'))['db'];function respondWithStatusCode(_0x38656b,_0x1722ad){_0x1722ad=_0x1722ad||0xcc;return function(_0x3e1558){if(_0x3e1558){return _0x38656b[_0x7b4c('0x1a')](_0x1722ad);}return _0x38656b[_0x7b4c('0x1b')](_0x1722ad)[_0x7b4c('0x1c')]();};}function respondWithResult(_0x25b90b,_0x387488){_0x387488=_0x387488||0xc8;return function(_0x593a19){if(_0x593a19){return _0x25b90b[_0x7b4c('0x1b')](_0x387488)[_0x7b4c('0x1d')](_0x593a19);}};}function respondWithFilteredResult(_0xdc71cd,_0x2a0e2f){return function(_0xa0a812){if(_0xa0a812){var _0x2471b3=_0xa0a812[_0x7b4c('0x1e')],_0x1642e1=_0x2a0e2f[_0x7b4c('0x1f')],_0x22c409=_0x2a0e2f[_0x7b4c('0x1f')]+_0x2a0e2f[_0x7b4c('0x20')],_0x4d3f5e;if(_0x22c409>=_0x2471b3){_0x22c409=_0x2471b3;_0x4d3f5e=0xc8;}else{_0x4d3f5e=0xce;}_0xdc71cd['status'](_0x4d3f5e);return _0xdc71cd[_0x7b4c('0x21')](_0x7b4c('0x22'),_0x1642e1+'-'+_0x22c409+'/'+_0x2471b3)[_0x7b4c('0x1d')](_0xa0a812);}return null;};}function patchUpdates(_0x380b79){return function(_0x2d4c72){try{jsonpatch[_0x7b4c('0x23')](_0x2d4c72,_0x380b79,!![]);}catch(_0x237110){return BPromise[_0x7b4c('0x24')](_0x237110);}return _0x2d4c72[_0x7b4c('0x25')]();};}function saveUpdates(_0x55e3df,_0x1f06ec){return function(_0x331e24){if(_0x331e24){return _0x331e24[_0x7b4c('0x26')](_0x55e3df)[_0x7b4c('0x27')](function(_0x148a79){return _0x148a79;});}return null;};}function removeEntity(_0x168ac9,_0x176704){return function(_0x3d4826){if(_0x3d4826){return _0x3d4826[_0x7b4c('0x28')]()[_0x7b4c('0x27')](function(){_0x168ac9['status'](0xcc)[_0x7b4c('0x1c')]();});}};}function handleEntityNotFound(_0x4350c9,_0x276271){return function(_0x3157b8){if(!_0x3157b8){_0x4350c9[_0x7b4c('0x1a')](0x194);}return _0x3157b8;};}function handleError(_0x2bdc4d,_0x37c059){_0x37c059=_0x37c059||0x1f4;return function(_0x459eb4){logger[_0x7b4c('0x29')](_0x459eb4[_0x7b4c('0x2a')]);if(_0x459eb4[_0x7b4c('0x2b')]){delete _0x459eb4[_0x7b4c('0x2b')];}_0x2bdc4d[_0x7b4c('0x1b')](_0x37c059)['send'](_0x459eb4);};}exports[_0x7b4c('0x2c')]=function(_0x3ab614,_0x1fe0f5){var _0x3671c4={},_0x207c2f={},_0x4ce02c={'count':0x0,'rows':[]};var _0x1de2b1=_[_0x7b4c('0x2d')](db[_0x7b4c('0x2e')][_0x7b4c('0x2f')],function(_0x3585cd){return{'name':_0x3585cd[_0x7b4c('0x30')],'type':_0x3585cd[_0x7b4c('0x31')][_0x7b4c('0x32')]};});_0x207c2f[_0x7b4c('0x33')]=_[_0x7b4c('0x2d')](_0x1de2b1,_0x7b4c('0x2b'));_0x207c2f[_0x7b4c('0x34')]=_[_0x7b4c('0x35')](_0x3ab614['query']);_0x207c2f['filters']=_['intersection'](_0x207c2f[_0x7b4c('0x33')],_0x207c2f[_0x7b4c('0x34')]);_0x3671c4[_0x7b4c('0x36')]=_[_0x7b4c('0x37')](_0x207c2f['model'],qs[_0x7b4c('0x38')](_0x3ab614[_0x7b4c('0x34')]['fields']));_0x3671c4[_0x7b4c('0x36')]=_0x3671c4['attributes'][_0x7b4c('0x39')]?_0x3671c4[_0x7b4c('0x36')]:_0x207c2f[_0x7b4c('0x33')];if(!_0x3ab614['query'][_0x7b4c('0x3a')](_0x7b4c('0x3b'))){_0x3671c4['limit']=qs[_0x7b4c('0x20')](_0x3ab614[_0x7b4c('0x34')][_0x7b4c('0x20')]);_0x3671c4[_0x7b4c('0x1f')]=qs['offset'](_0x3ab614['query'][_0x7b4c('0x1f')]);}_0x3671c4[_0x7b4c('0x3c')]=qs['sort'](_0x3ab614[_0x7b4c('0x34')]['sort']);_0x3671c4['where']=qs[_0x7b4c('0x3d')](_[_0x7b4c('0x3e')](_0x3ab614[_0x7b4c('0x34')],_0x207c2f[_0x7b4c('0x3d')]),_0x1de2b1);if(_0x3ab614['query'][_0x7b4c('0x3f')]){_0x3671c4[_0x7b4c('0x40')]=_[_0x7b4c('0x41')](_0x3671c4[_0x7b4c('0x40')],{'$or':_[_0x7b4c('0x2d')](_0x1de2b1,function(_0xddd16){if(_0xddd16[_0x7b4c('0x31')]!=='VIRTUAL'){var _0x5675dc={};_0x5675dc[_0xddd16[_0x7b4c('0x2b')]]={'$like':'%'+_0x3ab614[_0x7b4c('0x34')][_0x7b4c('0x3f')]+'%'};return _0x5675dc;}})});}_0x3671c4=_[_0x7b4c('0x41')]({},_0x3671c4,_0x3ab614[_0x7b4c('0x42')]);var _0x592834={'where':_0x3671c4[_0x7b4c('0x40')]};return db[_0x7b4c('0x2e')][_0x7b4c('0x1e')](_0x592834)[_0x7b4c('0x27')](function(_0x22f71b){_0x4ce02c[_0x7b4c('0x1e')]=_0x22f71b;if(_0x3ab614[_0x7b4c('0x34')][_0x7b4c('0x43')]){_0x3671c4[_0x7b4c('0x44')]=[{'all':!![]}];}return db['VtigerField'][_0x7b4c('0x45')](_0x3671c4);})['then'](function(_0x2a3a74){_0x4ce02c['rows']=_0x2a3a74;return _0x4ce02c;})[_0x7b4c('0x27')](respondWithFilteredResult(_0x1fe0f5,_0x3671c4))[_0x7b4c('0x46')](handleError(_0x1fe0f5,null));};exports['show']=function(_0x50f2ed,_0x354578){var _0x4314b6={'raw':!![],'where':{'id':_0x50f2ed[_0x7b4c('0x47')]['id']}},_0x1def44={};_0x1def44['model']=_[_0x7b4c('0x35')](db[_0x7b4c('0x2e')][_0x7b4c('0x2f')]);_0x1def44['query']=_[_0x7b4c('0x35')](_0x50f2ed['query']);_0x1def44['filters']=_[_0x7b4c('0x37')](_0x1def44['model'],_0x1def44[_0x7b4c('0x34')]);_0x4314b6[_0x7b4c('0x36')]=_[_0x7b4c('0x37')](_0x1def44[_0x7b4c('0x33')],qs[_0x7b4c('0x38')](_0x50f2ed[_0x7b4c('0x34')][_0x7b4c('0x38')]));_0x4314b6[_0x7b4c('0x36')]=_0x4314b6[_0x7b4c('0x36')]['length']?_0x4314b6[_0x7b4c('0x36')]:_0x1def44['model'];if(_0x50f2ed['query'][_0x7b4c('0x43')]){_0x4314b6[_0x7b4c('0x44')]=[{'all':!![]}];}_0x4314b6=_['merge']({},_0x4314b6,_0x50f2ed['options']);return db[_0x7b4c('0x2e')][_0x7b4c('0x48')](_0x4314b6)[_0x7b4c('0x27')](handleEntityNotFound(_0x354578,null))[_0x7b4c('0x27')](respondWithResult(_0x354578,null))[_0x7b4c('0x46')](handleError(_0x354578,null));};exports[_0x7b4c('0x49')]=function(_0x336796,_0x1cf7c7){return db['VtigerField'][_0x7b4c('0x49')](_0x336796[_0x7b4c('0x4a')],{})[_0x7b4c('0x27')](respondWithResult(_0x1cf7c7,0xc9))[_0x7b4c('0x46')](handleError(_0x1cf7c7,null));};exports[_0x7b4c('0x26')]=function(_0x379f15,_0x11a6f9){if(_0x379f15[_0x7b4c('0x4a')]['id']){delete _0x379f15[_0x7b4c('0x4a')]['id'];}return db['VtigerField']['find']({'where':{'id':_0x379f15[_0x7b4c('0x47')]['id']}})[_0x7b4c('0x27')](handleEntityNotFound(_0x11a6f9,null))[_0x7b4c('0x27')](saveUpdates(_0x379f15['body'],null))[_0x7b4c('0x27')](respondWithResult(_0x11a6f9,null))[_0x7b4c('0x46')](handleError(_0x11a6f9,null));};exports['destroy']=function(_0x1d82ee,_0x5c2ecd){return db[_0x7b4c('0x2e')]['find']({'where':{'id':_0x1d82ee[_0x7b4c('0x47')]['id']}})['then'](handleEntityNotFound(_0x5c2ecd,null))[_0x7b4c('0x27')](removeEntity(_0x5c2ecd,null))[_0x7b4c('0x46')](handleError(_0x5c2ecd,null));};
\ No newline at end of file