Built motion from commit 0900f080.|2.5.45
[motion2.git] / server / api / integration / integration.controller.js
index 63aa78d..85309a3 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2169=['json','count','offset','Content-Range','then','error','stack','index','Integration','rawAttributes','fieldName','type','key','model','map','name','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','params','keys','catch','create','update','body','find','destroy','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x2f06e0,_0x2e1c2a){var _0xf2711b=function(_0x32036c){while(--_0x32036c){_0x2f06e0['push'](_0x2f06e0['shift']());}};_0xf2711b(++_0x2e1c2a);}(_0x2169,0x14f));var _0x9216=function(_0x4e82ff,_0x3cbf4b){_0x4e82ff=_0x4e82ff-0x0;var _0x495205=_0x2169[_0x4e82ff];return _0x495205;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9216('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9216('0x1'));var jsonpatch=require(_0x9216('0x2'));var rp=require(_0x9216('0x3'));var moment=require(_0x9216('0x4'));var BPromise=require(_0x9216('0x5'));var Mustache=require(_0x9216('0x6'));var util=require(_0x9216('0x7'));var path=require(_0x9216('0x8'));var sox=require(_0x9216('0x9'));var csv=require(_0x9216('0xa'));var ejs=require(_0x9216('0xb'));var fs=require('fs');var _=require(_0x9216('0xc'));var squel=require(_0x9216('0xd'));var crypto=require(_0x9216('0xe'));var jsforce=require(_0x9216('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x9216('0xa'));var querystring=require('querystring');var Papa=require(_0x9216('0x10'));var Redis=require(_0x9216('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x9216('0x12'));var as=require(_0x9216('0x13'));var hardwareService=require(_0x9216('0x14'));var logger=require(_0x9216('0x15'))(_0x9216('0x16'));var utils=require(_0x9216('0x17'));var config=require(_0x9216('0x18'));var licenseUtil=require(_0x9216('0x19'));var db=require(_0x9216('0x1a'))['db'];function respondWithStatusCode(_0x10c534,_0x256d15){_0x256d15=_0x256d15||0xcc;return function(_0x29c637){if(_0x29c637){return _0x10c534[_0x9216('0x1b')](_0x256d15);}return _0x10c534[_0x9216('0x1c')](_0x256d15)[_0x9216('0x1d')]();};}function respondWithResult(_0x2ae896,_0x589de2){_0x589de2=_0x589de2||0xc8;return function(_0x13dbde){if(_0x13dbde){return _0x2ae896[_0x9216('0x1c')](_0x589de2)[_0x9216('0x1e')](_0x13dbde);}};}function respondWithFilteredResult(_0x46c585,_0x2258fa){return function(_0x3f0411){if(_0x3f0411){var _0xeb24cd=_0x3f0411[_0x9216('0x1f')],_0x29aef5=_0x2258fa['offset'],_0x481ac4=_0x2258fa[_0x9216('0x20')]+_0x2258fa['limit'],_0x437b41;if(_0x481ac4>=_0xeb24cd){_0x481ac4=_0xeb24cd;_0x437b41=0xc8;}else{_0x437b41=0xce;}_0x46c585[_0x9216('0x1c')](_0x437b41);return _0x46c585['set'](_0x9216('0x21'),_0x29aef5+'-'+_0x481ac4+'/'+_0xeb24cd)[_0x9216('0x1e')](_0x3f0411);}return null;};}function patchUpdates(_0x9c7b20){return function(_0x290aa8){try{jsonpatch['apply'](_0x290aa8,_0x9c7b20,!![]);}catch(_0x36f186){return BPromise['reject'](_0x36f186);}return _0x290aa8['save']();};}function saveUpdates(_0x53f1e8,_0x178722){return function(_0x53cf99){if(_0x53cf99){return _0x53cf99['update'](_0x53f1e8)['then'](function(_0xf8f6ee){return _0xf8f6ee;});}return null;};}function removeEntity(_0x147a2e,_0x95763e){return function(_0x48dfd3){if(_0x48dfd3){return _0x48dfd3['destroy']()[_0x9216('0x22')](function(){_0x147a2e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x20ea30,_0x403326){return function(_0x59eeb3){if(!_0x59eeb3){_0x20ea30['sendStatus'](0x194);}return _0x59eeb3;};}function handleError(_0xa21e9b,_0x1df11a){_0x1df11a=_0x1df11a||0x1f4;return function(_0x3c1aa6){logger[_0x9216('0x23')](_0x3c1aa6[_0x9216('0x24')]);if(_0x3c1aa6['name']){delete _0x3c1aa6['name'];}_0xa21e9b['status'](_0x1df11a)['send'](_0x3c1aa6);};}exports[_0x9216('0x25')]=function(_0x2f18f5,_0x59667f){var _0x2b9d2a={},_0xdd104={},_0x1ff5af={'count':0x0,'rows':[]};var _0x7b57e1=_['map'](db[_0x9216('0x26')][_0x9216('0x27')],function(_0x11dbe6){return{'name':_0x11dbe6[_0x9216('0x28')],'type':_0x11dbe6[_0x9216('0x29')][_0x9216('0x2a')]};});_0xdd104[_0x9216('0x2b')]=_[_0x9216('0x2c')](_0x7b57e1,_0x9216('0x2d'));_0xdd104[_0x9216('0x2e')]=_['keys'](_0x2f18f5['query']);_0xdd104[_0x9216('0x2f')]=_[_0x9216('0x30')](_0xdd104['model'],_0xdd104[_0x9216('0x2e')]);_0x2b9d2a['attributes']=_[_0x9216('0x30')](_0xdd104[_0x9216('0x2b')],qs['fields'](_0x2f18f5[_0x9216('0x2e')][_0x9216('0x31')]));_0x2b9d2a[_0x9216('0x32')]=_0x2b9d2a['attributes'][_0x9216('0x33')]?_0x2b9d2a['attributes']:_0xdd104[_0x9216('0x2b')];if(!_0x2f18f5[_0x9216('0x2e')][_0x9216('0x34')](_0x9216('0x35'))){_0x2b9d2a['limit']=qs[_0x9216('0x36')](_0x2f18f5[_0x9216('0x2e')][_0x9216('0x36')]);_0x2b9d2a[_0x9216('0x20')]=qs[_0x9216('0x20')](_0x2f18f5['query'][_0x9216('0x20')]);}_0x2b9d2a[_0x9216('0x37')]=qs[_0x9216('0x38')](_0x2f18f5[_0x9216('0x2e')][_0x9216('0x38')]);_0x2b9d2a[_0x9216('0x39')]=qs[_0x9216('0x2f')](_[_0x9216('0x3a')](_0x2f18f5[_0x9216('0x2e')],_0xdd104[_0x9216('0x2f')]),_0x7b57e1);if(_0x2f18f5['query'][_0x9216('0x3b')]){_0x2b9d2a['where']=_[_0x9216('0x3c')](_0x2b9d2a[_0x9216('0x39')],{'$or':_['map'](_0x7b57e1,function(_0x1d17b6){if(_0x1d17b6[_0x9216('0x29')]!=='VIRTUAL'){var _0x4b8a7e={};_0x4b8a7e[_0x1d17b6[_0x9216('0x2d')]]={'$like':'%'+_0x2f18f5[_0x9216('0x2e')]['filter']+'%'};return _0x4b8a7e;}})});}_0x2b9d2a=_[_0x9216('0x3c')]({},_0x2b9d2a,_0x2f18f5[_0x9216('0x3d')]);var _0x36cad2={'where':_0x2b9d2a['where']};return db[_0x9216('0x26')][_0x9216('0x1f')](_0x36cad2)[_0x9216('0x22')](function(_0x203d44){_0x1ff5af[_0x9216('0x1f')]=_0x203d44;if(_0x2f18f5[_0x9216('0x2e')][_0x9216('0x3e')]){_0x2b9d2a[_0x9216('0x3f')]=[{'all':!![]}];}return db[_0x9216('0x26')][_0x9216('0x40')](_0x2b9d2a);})[_0x9216('0x22')](function(_0x30cd13){_0x1ff5af['rows']=_0x30cd13;return _0x1ff5af;})[_0x9216('0x22')](respondWithFilteredResult(_0x59667f,_0x2b9d2a))['catch'](handleError(_0x59667f,null));};exports['show']=function(_0x311b73,_0x377540){var _0x112baf={'raw':![],'where':{'id':_0x311b73[_0x9216('0x41')]['id']}},_0x2c9467={};_0x2c9467[_0x9216('0x2b')]=_[_0x9216('0x42')](db[_0x9216('0x26')][_0x9216('0x27')]);_0x2c9467[_0x9216('0x2e')]=_['keys'](_0x311b73['query']);_0x2c9467[_0x9216('0x2f')]=_[_0x9216('0x30')](_0x2c9467[_0x9216('0x2b')],_0x2c9467[_0x9216('0x2e')]);_0x112baf[_0x9216('0x32')]=_[_0x9216('0x30')](_0x2c9467['model'],qs[_0x9216('0x31')](_0x311b73[_0x9216('0x2e')][_0x9216('0x31')]));_0x112baf[_0x9216('0x32')]=_0x112baf[_0x9216('0x32')]['length']?_0x112baf[_0x9216('0x32')]:_0x2c9467['model'];if(_0x311b73[_0x9216('0x2e')]['includeAll']){_0x112baf[_0x9216('0x3f')]=[{'all':!![]}];}_0x112baf=_[_0x9216('0x3c')]({},_0x112baf,_0x311b73['options']);return db[_0x9216('0x26')]['find'](_0x112baf)[_0x9216('0x22')](handleEntityNotFound(_0x377540,null))[_0x9216('0x22')](respondWithResult(_0x377540,null))[_0x9216('0x43')](handleError(_0x377540,null));};exports[_0x9216('0x44')]=function(_0x1d5498,_0x107a32){return db[_0x9216('0x26')]['create'](_0x1d5498['body'],{})[_0x9216('0x22')](respondWithResult(_0x107a32,0xc9))['catch'](handleError(_0x107a32,null));};exports[_0x9216('0x45')]=function(_0x126e32,_0x1f506c){if(_0x126e32[_0x9216('0x46')]['id']){delete _0x126e32[_0x9216('0x46')]['id'];}return db[_0x9216('0x26')][_0x9216('0x47')]({'where':{'id':_0x126e32['params']['id']}})[_0x9216('0x22')](handleEntityNotFound(_0x1f506c,null))['then'](saveUpdates(_0x126e32[_0x9216('0x46')],null))[_0x9216('0x22')](respondWithResult(_0x1f506c,null))[_0x9216('0x43')](handleError(_0x1f506c,null));};exports[_0x9216('0x48')]=function(_0x2501ca,_0x26495a){return db[_0x9216('0x26')][_0x9216('0x47')]({'where':{'id':_0x2501ca[_0x9216('0x41')]['id']}})[_0x9216('0x22')](handleEntityNotFound(_0x26495a,null))['then'](removeEntity(_0x26495a,null))[_0x9216('0x43')](handleError(_0x26495a,null));};
\ No newline at end of file
+var _0xfdbd=['findAll','rows','show','length','find','catch','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','fs-extra','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','reject','save','update','destroy','then','error','stack','name','send','index','map','Integration','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include'];(function(_0x1cfada,_0x23456e){var _0x4a2870=function(_0x59533a){while(--_0x59533a){_0x1cfada['push'](_0x1cfada['shift']());}};_0x4a2870(++_0x23456e);}(_0xfdbd,0xf0));var _0xdfdb=function(_0x2ef251,_0x3687e5){_0x2ef251=_0x2ef251-0x0;var _0x5c931b=_0xfdbd[_0x2ef251];return _0x5c931b;};'use strict';var emlformat=require(_0xdfdb('0x0'));var rimraf=require(_0xdfdb('0x1'));var zipdir=require(_0xdfdb('0x2'));var jsonpatch=require(_0xdfdb('0x3'));var rp=require(_0xdfdb('0x4'));var moment=require(_0xdfdb('0x5'));var BPromise=require(_0xdfdb('0x6'));var Mustache=require(_0xdfdb('0x7'));var util=require(_0xdfdb('0x8'));var path=require('path');var sox=require(_0xdfdb('0x9'));var csv=require('to-csv');var ejs=require(_0xdfdb('0xa'));var fs=require('fs');var fs_extra=require(_0xdfdb('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xdfdb('0xc'));var deskjs=require(_0xdfdb('0xd'));var toCsv=require('to-csv');var querystring=require(_0xdfdb('0xe'));var Papa=require(_0xdfdb('0xf'));var Redis=require(_0xdfdb('0x10'));var authService=require(_0xdfdb('0x11'));var qs=require(_0xdfdb('0x12'));var as=require(_0xdfdb('0x13'));var hardwareService=require(_0xdfdb('0x14'));var logger=require('../../config/logger')(_0xdfdb('0x15'));var utils=require(_0xdfdb('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xdfdb('0x17'));var db=require(_0xdfdb('0x18'))['db'];function respondWithStatusCode(_0x2bee3b,_0x1918c1){_0x1918c1=_0x1918c1||0xcc;return function(_0x2a95f1){if(_0x2a95f1){return _0x2bee3b[_0xdfdb('0x19')](_0x1918c1);}return _0x2bee3b[_0xdfdb('0x1a')](_0x1918c1)[_0xdfdb('0x1b')]();};}function respondWithResult(_0x51162f,_0x48a66a){_0x48a66a=_0x48a66a||0xc8;return function(_0x2c44dc){if(_0x2c44dc){return _0x51162f['status'](_0x48a66a)[_0xdfdb('0x1c')](_0x2c44dc);}};}function respondWithFilteredResult(_0x9f3039,_0x11a56a){return function(_0x40bc8a){if(_0x40bc8a){var _0x3bfd81=typeof _0x11a56a[_0xdfdb('0x1d')]==='undefined'&&typeof _0x11a56a['limit']===_0xdfdb('0x1e');var _0x8b9193=_0x40bc8a[_0xdfdb('0x1f')];var _0x55ab5a=_0x3bfd81?0x0:_0x11a56a[_0xdfdb('0x1d')];var _0xb677b1=_0x3bfd81?_0x40bc8a[_0xdfdb('0x1f')]:_0x11a56a[_0xdfdb('0x1d')]+_0x11a56a[_0xdfdb('0x20')];var _0x2294de;if(_0xb677b1>=_0x8b9193){_0xb677b1=_0x8b9193;_0x2294de=0xc8;}else{_0x2294de=0xce;}_0x9f3039[_0xdfdb('0x1a')](_0x2294de);return _0x9f3039[_0xdfdb('0x21')]('Content-Range',_0x55ab5a+'-'+_0xb677b1+'/'+_0x8b9193)[_0xdfdb('0x1c')](_0x40bc8a);}return null;};}function patchUpdates(_0xb7417c){return function(_0x172c63){try{jsonpatch['apply'](_0x172c63,_0xb7417c,!![]);}catch(_0x377112){return BPromise[_0xdfdb('0x22')](_0x377112);}return _0x172c63[_0xdfdb('0x23')]();};}function saveUpdates(_0x4d55e5,_0x280e53){return function(_0x789bd2){if(_0x789bd2){return _0x789bd2[_0xdfdb('0x24')](_0x4d55e5)['then'](function(_0x2a80c1){return _0x2a80c1;});}return null;};}function removeEntity(_0x526057,_0x2db1c1){return function(_0x145350){if(_0x145350){return _0x145350[_0xdfdb('0x25')]()[_0xdfdb('0x26')](function(){_0x526057['status'](0xcc)[_0xdfdb('0x1b')]();});}};}function handleEntityNotFound(_0x4363d8,_0x956843){return function(_0x400663){if(!_0x400663){_0x4363d8[_0xdfdb('0x19')](0x194);}return _0x400663;};}function handleError(_0x305954,_0x57d24f){_0x57d24f=_0x57d24f||0x1f4;return function(_0xec4d22){logger[_0xdfdb('0x27')](_0xec4d22[_0xdfdb('0x28')]);if(_0xec4d22['name']){delete _0xec4d22[_0xdfdb('0x29')];}_0x305954['status'](_0x57d24f)[_0xdfdb('0x2a')](_0xec4d22);};}exports[_0xdfdb('0x2b')]=function(_0x19c36f,_0x513fa0){var _0x5bc174={},_0x1c8ca8={},_0xc56435={'count':0x0,'rows':[]};var _0xedbb91=_[_0xdfdb('0x2c')](db[_0xdfdb('0x2d')][_0xdfdb('0x2e')],function(_0x5a9fc4){return{'name':_0x5a9fc4[_0xdfdb('0x2f')],'type':_0x5a9fc4[_0xdfdb('0x30')][_0xdfdb('0x31')]};});_0x1c8ca8[_0xdfdb('0x32')]=_[_0xdfdb('0x2c')](_0xedbb91,_0xdfdb('0x29'));_0x1c8ca8[_0xdfdb('0x33')]=_[_0xdfdb('0x34')](_0x19c36f[_0xdfdb('0x33')]);_0x1c8ca8[_0xdfdb('0x35')]=_[_0xdfdb('0x36')](_0x1c8ca8['model'],_0x1c8ca8['query']);_0x5bc174[_0xdfdb('0x37')]=_['intersection'](_0x1c8ca8[_0xdfdb('0x32')],qs[_0xdfdb('0x38')](_0x19c36f[_0xdfdb('0x33')][_0xdfdb('0x38')]));_0x5bc174['attributes']=_0x5bc174[_0xdfdb('0x37')]['length']?_0x5bc174[_0xdfdb('0x37')]:_0x1c8ca8[_0xdfdb('0x32')];if(!_0x19c36f[_0xdfdb('0x33')][_0xdfdb('0x39')](_0xdfdb('0x3a'))){_0x5bc174[_0xdfdb('0x20')]=qs['limit'](_0x19c36f[_0xdfdb('0x33')][_0xdfdb('0x20')]);_0x5bc174['offset']=qs[_0xdfdb('0x1d')](_0x19c36f[_0xdfdb('0x33')][_0xdfdb('0x1d')]);}_0x5bc174[_0xdfdb('0x3b')]=qs[_0xdfdb('0x3c')](_0x19c36f[_0xdfdb('0x33')][_0xdfdb('0x3c')]);_0x5bc174[_0xdfdb('0x3d')]=qs[_0xdfdb('0x35')](_[_0xdfdb('0x3e')](_0x19c36f[_0xdfdb('0x33')],_0x1c8ca8['filters']),_0xedbb91);if(_0x19c36f[_0xdfdb('0x33')][_0xdfdb('0x3f')]){_0x5bc174[_0xdfdb('0x3d')]=_[_0xdfdb('0x40')](_0x5bc174[_0xdfdb('0x3d')],{'$or':_[_0xdfdb('0x2c')](_0xedbb91,function(_0x3ec73a){if(_0x3ec73a[_0xdfdb('0x30')]!=='VIRTUAL'){var _0x55d707={};_0x55d707[_0x3ec73a[_0xdfdb('0x29')]]={'$like':'%'+_0x19c36f[_0xdfdb('0x33')][_0xdfdb('0x3f')]+'%'};return _0x55d707;}})});}_0x5bc174=_[_0xdfdb('0x40')]({},_0x5bc174,_0x19c36f[_0xdfdb('0x41')]);var _0x300884={'where':_0x5bc174[_0xdfdb('0x3d')]};return db[_0xdfdb('0x2d')][_0xdfdb('0x1f')](_0x300884)['then'](function(_0x175f57){_0xc56435[_0xdfdb('0x1f')]=_0x175f57;if(_0x19c36f[_0xdfdb('0x33')][_0xdfdb('0x42')]){_0x5bc174[_0xdfdb('0x43')]=[{'all':!![]}];}return db['Integration'][_0xdfdb('0x44')](_0x5bc174);})[_0xdfdb('0x26')](function(_0x3e9f88){_0xc56435[_0xdfdb('0x45')]=_0x3e9f88;return _0xc56435;})[_0xdfdb('0x26')](respondWithFilteredResult(_0x513fa0,_0x5bc174))['catch'](handleError(_0x513fa0,null));};exports[_0xdfdb('0x46')]=function(_0xd2f8bd,_0xf0482a){var _0x5b4381={'raw':![],'where':{'id':_0xd2f8bd['params']['id']}},_0x2b5139={};_0x2b5139[_0xdfdb('0x32')]=_['keys'](db[_0xdfdb('0x2d')][_0xdfdb('0x2e')]);_0x2b5139['query']=_[_0xdfdb('0x34')](_0xd2f8bd['query']);_0x2b5139[_0xdfdb('0x35')]=_[_0xdfdb('0x36')](_0x2b5139[_0xdfdb('0x32')],_0x2b5139[_0xdfdb('0x33')]);_0x5b4381[_0xdfdb('0x37')]=_['intersection'](_0x2b5139['model'],qs[_0xdfdb('0x38')](_0xd2f8bd[_0xdfdb('0x33')]['fields']));_0x5b4381[_0xdfdb('0x37')]=_0x5b4381['attributes'][_0xdfdb('0x47')]?_0x5b4381[_0xdfdb('0x37')]:_0x2b5139[_0xdfdb('0x32')];if(_0xd2f8bd[_0xdfdb('0x33')][_0xdfdb('0x42')]){_0x5b4381[_0xdfdb('0x43')]=[{'all':!![]}];}_0x5b4381=_[_0xdfdb('0x40')]({},_0x5b4381,_0xd2f8bd[_0xdfdb('0x41')]);return db[_0xdfdb('0x2d')][_0xdfdb('0x48')](_0x5b4381)[_0xdfdb('0x26')](handleEntityNotFound(_0xf0482a,null))[_0xdfdb('0x26')](respondWithResult(_0xf0482a,null))[_0xdfdb('0x49')](handleError(_0xf0482a,null));};exports[_0xdfdb('0x4a')]=function(_0x1c08fb,_0x273477){return db['Integration']['create'](_0x1c08fb[_0xdfdb('0x4b')],{})[_0xdfdb('0x26')](respondWithResult(_0x273477,0xc9))[_0xdfdb('0x49')](handleError(_0x273477,null));};exports['update']=function(_0x36149e,_0x4d4c90){if(_0x36149e[_0xdfdb('0x4b')]['id']){delete _0x36149e[_0xdfdb('0x4b')]['id'];}return db['Integration'][_0xdfdb('0x48')]({'where':{'id':_0x36149e[_0xdfdb('0x4c')]['id']}})['then'](handleEntityNotFound(_0x4d4c90,null))[_0xdfdb('0x26')](saveUpdates(_0x36149e[_0xdfdb('0x4b')],null))[_0xdfdb('0x26')](respondWithResult(_0x4d4c90,null))[_0xdfdb('0x49')](handleError(_0x4d4c90,null));};exports[_0xdfdb('0x25')]=function(_0x10b490,_0x17dfdb){return db[_0xdfdb('0x2d')][_0xdfdb('0x48')]({'where':{'id':_0x10b490['params']['id']}})[_0xdfdb('0x26')](handleEntityNotFound(_0x17dfdb,null))['then'](removeEntity(_0x17dfdb,null))[_0xdfdb('0x49')](handleError(_0x17dfdb,null));};
\ No newline at end of file