Built motion from commit efa66e19.|2.6.22
[motion2.git] / server / api / cmHopperHistory / cmHopperHistory.controller.js
index 5bc0566..3db1fbe 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xbceb=['crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','end','error','stack','name','index','map','CmHopperHistory','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','params','fields','find','catch','create','body','describe','uniqueid','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash'];(function(_0x582274,_0x2cbd9c){var _0x8f14d3=function(_0x1cfe08){while(--_0x1cfe08){_0x582274['push'](_0x582274['shift']());}};_0x8f14d3(++_0x2cbd9c);}(_0xbceb,0xdc));var _0xbbce=function(_0x2f783d,_0x23c6b5){_0x2f783d=_0x2f783d-0x0;var _0x20d4eb=_0xbceb[_0x2f783d];return _0x20d4eb;};'use strict';var emlformat=require(_0xbbce('0x0'));var rimraf=require(_0xbbce('0x1'));var zipdir=require(_0xbbce('0x2'));var jsonpatch=require(_0xbbce('0x3'));var rp=require(_0xbbce('0x4'));var moment=require(_0xbbce('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xbbce('0x6'));var util=require(_0xbbce('0x7'));var path=require(_0xbbce('0x8'));var sox=require(_0xbbce('0x9'));var csv=require(_0xbbce('0xa'));var ejs=require(_0xbbce('0xb'));var fs=require('fs');var fs_extra=require(_0xbbce('0xc'));var _=require(_0xbbce('0xd'));var squel=require('squel');var crypto=require(_0xbbce('0xe'));var jsforce=require(_0xbbce('0xf'));var deskjs=require(_0xbbce('0x10'));var toCsv=require(_0xbbce('0xa'));var querystring=require(_0xbbce('0x11'));var Papa=require('papaparse');var Redis=require(_0xbbce('0x12'));var authService=require(_0xbbce('0x13'));var qs=require(_0xbbce('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbbce('0x15'));var logger=require(_0xbbce('0x16'))('api');var utils=require(_0xbbce('0x17'));var config=require(_0xbbce('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x57f3ad,_0x59d2de){_0x59d2de=_0x59d2de||0xcc;return function(_0x511914){if(_0x511914){return _0x57f3ad[_0xbbce('0x19')](_0x59d2de);}return _0x57f3ad[_0xbbce('0x1a')](_0x59d2de)['end']();};}function respondWithResult(_0x29bb1f,_0x34acb7){_0x34acb7=_0x34acb7||0xc8;return function(_0x168ee9){if(_0x168ee9){return _0x29bb1f[_0xbbce('0x1a')](_0x34acb7)[_0xbbce('0x1b')](_0x168ee9);}};}function respondWithFilteredResult(_0x3aade2,_0x4c579b){return function(_0x4dde12){if(_0x4dde12){var _0x2c4f99=typeof _0x4c579b[_0xbbce('0x1c')]===_0xbbce('0x1d')&&typeof _0x4c579b[_0xbbce('0x1e')]===_0xbbce('0x1d');var _0x39516f=_0x4dde12[_0xbbce('0x1f')];var _0x14afe5=_0x2c4f99?0x0:_0x4c579b[_0xbbce('0x1c')];var _0x1467fa=_0x2c4f99?_0x4dde12['count']:_0x4c579b[_0xbbce('0x1c')]+_0x4c579b[_0xbbce('0x1e')];var _0x214c2d;if(_0x1467fa>=_0x39516f){_0x1467fa=_0x39516f;_0x214c2d=0xc8;}else{_0x214c2d=0xce;}_0x3aade2[_0xbbce('0x1a')](_0x214c2d);return _0x3aade2[_0xbbce('0x20')](_0xbbce('0x21'),_0x14afe5+'-'+_0x1467fa+'/'+_0x39516f)[_0xbbce('0x1b')](_0x4dde12);}return null;};}function patchUpdates(_0xdbb62b){return function(_0x526379){try{jsonpatch[_0xbbce('0x22')](_0x526379,_0xdbb62b,!![]);}catch(_0x36eec3){return BPromise[_0xbbce('0x23')](_0x36eec3);}return _0x526379['save']();};}function saveUpdates(_0x31f404,_0x494c2a){return function(_0x35d473){if(_0x35d473){return _0x35d473[_0xbbce('0x24')](_0x31f404)[_0xbbce('0x25')](function(_0x3184aa){return _0x3184aa;});}return null;};}function removeEntity(_0x573a8a,_0x368685){return function(_0x5424b0){if(_0x5424b0){return _0x5424b0[_0xbbce('0x26')]()['then'](function(){_0x573a8a[_0xbbce('0x1a')](0xcc)[_0xbbce('0x27')]();});}};}function handleEntityNotFound(_0x103247,_0x49daff){return function(_0x3b357b){if(!_0x3b357b){_0x103247[_0xbbce('0x19')](0x194);}return _0x3b357b;};}function handleError(_0x21147c,_0x1aa675){_0x1aa675=_0x1aa675||0x1f4;return function(_0x1dcc1a){logger[_0xbbce('0x28')](_0x1dcc1a[_0xbbce('0x29')]);if(_0x1dcc1a[_0xbbce('0x2a')]){delete _0x1dcc1a[_0xbbce('0x2a')];}_0x21147c[_0xbbce('0x1a')](_0x1aa675)['send'](_0x1dcc1a);};}exports[_0xbbce('0x2b')]=function(_0x294090,_0x29d7da){var _0x413dde={},_0x1ef1a8={},_0x274aa7={'count':0x0,'rows':[]};var _0x4edba5=_[_0xbbce('0x2c')](db[_0xbbce('0x2d')][_0xbbce('0x2e')],function(_0x2a8134){return{'name':_0x2a8134[_0xbbce('0x2f')],'type':_0x2a8134[_0xbbce('0x30')]['key']};});_0x1ef1a8[_0xbbce('0x31')]=_[_0xbbce('0x2c')](_0x4edba5,_0xbbce('0x2a'));_0x1ef1a8[_0xbbce('0x32')]=_[_0xbbce('0x33')](_0x294090[_0xbbce('0x32')]);_0x1ef1a8[_0xbbce('0x34')]=_[_0xbbce('0x35')](_0x1ef1a8[_0xbbce('0x31')],_0x1ef1a8['query']);_0x413dde['attributes']=_[_0xbbce('0x35')](_0x1ef1a8['model'],qs['fields'](_0x294090[_0xbbce('0x32')]['fields']));_0x413dde[_0xbbce('0x36')]=_0x413dde['attributes'][_0xbbce('0x37')]?_0x413dde[_0xbbce('0x36')]:_0x1ef1a8[_0xbbce('0x31')];if(!_0x294090[_0xbbce('0x32')][_0xbbce('0x38')](_0xbbce('0x39'))){_0x413dde[_0xbbce('0x1e')]=qs[_0xbbce('0x1e')](_0x294090[_0xbbce('0x32')][_0xbbce('0x1e')]);_0x413dde['offset']=qs[_0xbbce('0x1c')](_0x294090['query']['offset']);}_0x413dde[_0xbbce('0x3a')]=qs['sort'](_0x294090[_0xbbce('0x32')][_0xbbce('0x3b')]);_0x413dde[_0xbbce('0x3c')]=qs[_0xbbce('0x34')](_['pick'](_0x294090[_0xbbce('0x32')],_0x1ef1a8['filters']),_0x4edba5);if(_0x294090[_0xbbce('0x32')][_0xbbce('0x3d')]){_0x413dde['where']=_['merge'](_0x413dde[_0xbbce('0x3c')],{'$or':_[_0xbbce('0x2c')](_0x4edba5,function(_0x4a0b47){if(_0x4a0b47[_0xbbce('0x30')]!==_0xbbce('0x3e')){var _0x494dd8={};_0x494dd8[_0x4a0b47[_0xbbce('0x2a')]]={'$like':'%'+_0x294090['query']['filter']+'%'};return _0x494dd8;}})});}_0x413dde=_[_0xbbce('0x3f')]({},_0x413dde,_0x294090[_0xbbce('0x40')]);var _0x4b7a8d={'where':_0x413dde[_0xbbce('0x3c')]};return db[_0xbbce('0x2d')][_0xbbce('0x1f')](_0x4b7a8d)[_0xbbce('0x25')](function(_0x20d789){_0x274aa7[_0xbbce('0x1f')]=_0x20d789;if(_0x294090[_0xbbce('0x32')][_0xbbce('0x41')]){_0x413dde[_0xbbce('0x42')]=[{'all':!![]}];}return db[_0xbbce('0x2d')][_0xbbce('0x43')](_0x413dde);})[_0xbbce('0x25')](function(_0x175145){_0x274aa7[_0xbbce('0x44')]=_0x175145;return _0x274aa7;})[_0xbbce('0x25')](respondWithFilteredResult(_0x29d7da,_0x413dde))['catch'](handleError(_0x29d7da,null));};exports[_0xbbce('0x45')]=function(_0x30aae9,_0x23053e){var _0x4ae175={'raw':!![],'where':{'id':_0x30aae9[_0xbbce('0x46')]['id']}},_0x57633d={};_0x57633d[_0xbbce('0x31')]=_[_0xbbce('0x33')](db[_0xbbce('0x2d')][_0xbbce('0x2e')]);_0x57633d['query']=_['keys'](_0x30aae9[_0xbbce('0x32')]);_0x57633d[_0xbbce('0x34')]=_[_0xbbce('0x35')](_0x57633d[_0xbbce('0x31')],_0x57633d[_0xbbce('0x32')]);_0x4ae175[_0xbbce('0x36')]=_[_0xbbce('0x35')](_0x57633d[_0xbbce('0x31')],qs[_0xbbce('0x47')](_0x30aae9[_0xbbce('0x32')]['fields']));_0x4ae175[_0xbbce('0x36')]=_0x4ae175[_0xbbce('0x36')][_0xbbce('0x37')]?_0x4ae175[_0xbbce('0x36')]:_0x57633d[_0xbbce('0x31')];if(_0x30aae9[_0xbbce('0x32')][_0xbbce('0x41')]){_0x4ae175[_0xbbce('0x42')]=[{'all':!![]}];}_0x4ae175=_[_0xbbce('0x3f')]({},_0x4ae175,_0x30aae9['options']);return db[_0xbbce('0x2d')][_0xbbce('0x48')](_0x4ae175)['then'](handleEntityNotFound(_0x23053e,null))[_0xbbce('0x25')](respondWithResult(_0x23053e,null))[_0xbbce('0x49')](handleError(_0x23053e,null));};exports[_0xbbce('0x4a')]=function(_0x54046f,_0x498b18){return db[_0xbbce('0x2d')][_0xbbce('0x4a')](_0x54046f[_0xbbce('0x4b')],{})[_0xbbce('0x25')](respondWithResult(_0x498b18,0xc9))['catch'](handleError(_0x498b18,null));};exports['describe']=function(_0xd78af9,_0x48e745){return db['CmHopperHistory'][_0xbbce('0x4c')]()[_0xbbce('0x25')](respondWithResult(_0x48e745,null))[_0xbbce('0x49')](handleError(_0x48e745,null));};exports[_0xbbce('0x24')]=function(_0x2aca1f,_0xd4d35c){if(_0x2aca1f[_0xbbce('0x4b')][_0xbbce('0x4d')]){delete _0x2aca1f[_0xbbce('0x4b')]['uniqueid'];}return db[_0xbbce('0x2d')][_0xbbce('0x48')]({'where':{'uniqueid':_0x2aca1f[_0xbbce('0x46')]['id']}})[_0xbbce('0x25')](handleEntityNotFound(_0xd4d35c,null))[_0xbbce('0x25')](saveUpdates(_0x2aca1f[_0xbbce('0x4b')],null))[_0xbbce('0x25')](respondWithResult(_0xd4d35c,null))[_0xbbce('0x49')](handleError(_0xd4d35c,null));};
\ No newline at end of file
+var _0x59f1=['send','map','CmHopperHistory','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','nolimit','order','sort','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','include','create','body','describe','uniqueid','find','params','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','stack','name'];(function(_0x3b8e2c,_0x11a1b8){var _0x432178=function(_0x524669){while(--_0x524669){_0x3b8e2c['push'](_0x3b8e2c['shift']());}};_0x432178(++_0x11a1b8);}(_0x59f1,0x153));var _0x159f=function(_0x41052c,_0x20035c){_0x41052c=_0x41052c-0x0;var _0x4dc096=_0x59f1[_0x41052c];return _0x4dc096;};'use strict';var emlformat=require(_0x159f('0x0'));var rimraf=require(_0x159f('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x159f('0x2'));var moment=require(_0x159f('0x3'));var BPromise=require(_0x159f('0x4'));var Mustache=require(_0x159f('0x5'));var util=require(_0x159f('0x6'));var path=require(_0x159f('0x7'));var sox=require(_0x159f('0x8'));var csv=require('to-csv');var ejs=require(_0x159f('0x9'));var fs=require('fs');var fs_extra=require(_0x159f('0xa'));var _=require(_0x159f('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x159f('0xc'));var deskjs=require(_0x159f('0xd'));var toCsv=require('to-csv');var querystring=require(_0x159f('0xe'));var Papa=require(_0x159f('0xf'));var Redis=require(_0x159f('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x159f('0x11'));var as=require(_0x159f('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x159f('0x13'))(_0x159f('0x14'));var utils=require('../../config/utils');var config=require(_0x159f('0x15'));var licenseUtil=require(_0x159f('0x16'));var db=require(_0x159f('0x17'))['db'];function respondWithStatusCode(_0x1ec1c9,_0x58b6c1){_0x58b6c1=_0x58b6c1||0xcc;return function(_0x168eb3){if(_0x168eb3){return _0x1ec1c9[_0x159f('0x18')](_0x58b6c1);}return _0x1ec1c9[_0x159f('0x19')](_0x58b6c1)[_0x159f('0x1a')]();};}function respondWithResult(_0x2ddb72,_0x26fa74){_0x26fa74=_0x26fa74||0xc8;return function(_0x96f5d){if(_0x96f5d){return _0x2ddb72[_0x159f('0x19')](_0x26fa74)[_0x159f('0x1b')](_0x96f5d);}};}function respondWithFilteredResult(_0x599c14,_0x3d5f66){return function(_0x335c5e){if(_0x335c5e){var _0x20323f=typeof _0x3d5f66[_0x159f('0x1c')]===_0x159f('0x1d')&&typeof _0x3d5f66[_0x159f('0x1e')]===_0x159f('0x1d');var _0x4dd1db=_0x335c5e[_0x159f('0x1f')];var _0x239fad=_0x20323f?0x0:_0x3d5f66[_0x159f('0x1c')];var _0x3d2273=_0x20323f?_0x335c5e[_0x159f('0x1f')]:_0x3d5f66[_0x159f('0x1c')]+_0x3d5f66['limit'];var _0x27d7c6;if(_0x3d2273>=_0x4dd1db){_0x3d2273=_0x4dd1db;_0x27d7c6=0xc8;}else{_0x27d7c6=0xce;}_0x599c14[_0x159f('0x19')](_0x27d7c6);return _0x599c14[_0x159f('0x20')](_0x159f('0x21'),_0x239fad+'-'+_0x3d2273+'/'+_0x4dd1db)[_0x159f('0x1b')](_0x335c5e);}return null;};}function patchUpdates(_0x2c5866){return function(_0x390751){try{jsonpatch[_0x159f('0x22')](_0x390751,_0x2c5866,!![]);}catch(_0x12f4e5){return BPromise[_0x159f('0x23')](_0x12f4e5);}return _0x390751[_0x159f('0x24')]();};}function saveUpdates(_0x397e11,_0x3fbacc){return function(_0x2d1987){if(_0x2d1987){return _0x2d1987[_0x159f('0x25')](_0x397e11)[_0x159f('0x26')](function(_0x171eb9){return _0x171eb9;});}return null;};}function removeEntity(_0x216d20,_0x208a37){return function(_0x40e345){if(_0x40e345){return _0x40e345['destroy']()['then'](function(){_0x216d20[_0x159f('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x24e018,_0xec80b1){return function(_0x503fca){if(!_0x503fca){_0x24e018['sendStatus'](0x194);}return _0x503fca;};}function handleError(_0x1db057,_0x5f2053){_0x5f2053=_0x5f2053||0x1f4;return function(_0x1b69f2){logger['error'](_0x1b69f2[_0x159f('0x27')]);if(_0x1b69f2['name']){delete _0x1b69f2[_0x159f('0x28')];}_0x1db057['status'](_0x5f2053)[_0x159f('0x29')](_0x1b69f2);};}exports['index']=function(_0x31283b,_0x6d3599){var _0x4a8d91={},_0x16b63a={},_0x4869d9={'count':0x0,'rows':[]};var _0x58a625=_[_0x159f('0x2a')](db[_0x159f('0x2b')][_0x159f('0x2c')],function(_0x57ac16){return{'name':_0x57ac16[_0x159f('0x2d')],'type':_0x57ac16[_0x159f('0x2e')][_0x159f('0x2f')]};});_0x16b63a[_0x159f('0x30')]=_[_0x159f('0x2a')](_0x58a625,'name');_0x16b63a['query']=_[_0x159f('0x31')](_0x31283b[_0x159f('0x32')]);_0x16b63a[_0x159f('0x33')]=_[_0x159f('0x34')](_0x16b63a[_0x159f('0x30')],_0x16b63a[_0x159f('0x32')]);_0x4a8d91[_0x159f('0x35')]=_[_0x159f('0x34')](_0x16b63a[_0x159f('0x30')],qs[_0x159f('0x36')](_0x31283b[_0x159f('0x32')]['fields']));_0x4a8d91[_0x159f('0x35')]=_0x4a8d91[_0x159f('0x35')][_0x159f('0x37')]?_0x4a8d91[_0x159f('0x35')]:_0x16b63a[_0x159f('0x30')];if(!_0x31283b['query']['hasOwnProperty'](_0x159f('0x38'))){_0x4a8d91[_0x159f('0x1e')]=qs[_0x159f('0x1e')](_0x31283b[_0x159f('0x32')][_0x159f('0x1e')]);_0x4a8d91[_0x159f('0x1c')]=qs[_0x159f('0x1c')](_0x31283b[_0x159f('0x32')][_0x159f('0x1c')]);}_0x4a8d91[_0x159f('0x39')]=qs[_0x159f('0x3a')](_0x31283b['query'][_0x159f('0x3a')]);_0x4a8d91['where']=qs[_0x159f('0x33')](_['pick'](_0x31283b[_0x159f('0x32')],_0x16b63a['filters']),_0x58a625);if(_0x31283b[_0x159f('0x32')][_0x159f('0x3b')]){_0x4a8d91[_0x159f('0x3c')]=_[_0x159f('0x3d')](_0x4a8d91[_0x159f('0x3c')],{'$or':_['map'](_0x58a625,function(_0x569388){if(_0x569388[_0x159f('0x2e')]!==_0x159f('0x3e')){var _0x6d41bf={};_0x6d41bf[_0x569388[_0x159f('0x28')]]={'$like':'%'+_0x31283b['query'][_0x159f('0x3b')]+'%'};return _0x6d41bf;}})});}_0x4a8d91=_['merge']({},_0x4a8d91,_0x31283b[_0x159f('0x3f')]);var _0x1be51e={'where':_0x4a8d91[_0x159f('0x3c')]};return db[_0x159f('0x2b')][_0x159f('0x1f')](_0x1be51e)[_0x159f('0x26')](function(_0x1f6837){_0x4869d9[_0x159f('0x1f')]=_0x1f6837;if(_0x31283b[_0x159f('0x32')][_0x159f('0x40')]){_0x4a8d91['include']=[{'all':!![]}];}return db[_0x159f('0x2b')][_0x159f('0x41')](_0x4a8d91);})['then'](function(_0x331853){_0x4869d9[_0x159f('0x42')]=_0x331853;return _0x4869d9;})[_0x159f('0x26')](respondWithFilteredResult(_0x6d3599,_0x4a8d91))[_0x159f('0x43')](handleError(_0x6d3599,null));};exports[_0x159f('0x44')]=function(_0x4f2d07,_0x5d636d){var _0x39b6b0={'raw':!![],'where':{'id':_0x4f2d07['params']['id']}},_0x4cc490={};_0x4cc490[_0x159f('0x30')]=_['keys'](db['CmHopperHistory'][_0x159f('0x2c')]);_0x4cc490[_0x159f('0x32')]=_[_0x159f('0x31')](_0x4f2d07['query']);_0x4cc490[_0x159f('0x33')]=_[_0x159f('0x34')](_0x4cc490[_0x159f('0x30')],_0x4cc490[_0x159f('0x32')]);_0x39b6b0[_0x159f('0x35')]=_[_0x159f('0x34')](_0x4cc490['model'],qs[_0x159f('0x36')](_0x4f2d07[_0x159f('0x32')][_0x159f('0x36')]));_0x39b6b0[_0x159f('0x35')]=_0x39b6b0[_0x159f('0x35')][_0x159f('0x37')]?_0x39b6b0[_0x159f('0x35')]:_0x4cc490[_0x159f('0x30')];if(_0x4f2d07[_0x159f('0x32')][_0x159f('0x40')]){_0x39b6b0[_0x159f('0x45')]=[{'all':!![]}];}_0x39b6b0=_[_0x159f('0x3d')]({},_0x39b6b0,_0x4f2d07[_0x159f('0x3f')]);return db[_0x159f('0x2b')]['find'](_0x39b6b0)['then'](handleEntityNotFound(_0x5d636d,null))[_0x159f('0x26')](respondWithResult(_0x5d636d,null))[_0x159f('0x43')](handleError(_0x5d636d,null));};exports[_0x159f('0x46')]=function(_0x1a7b44,_0x452834){return db[_0x159f('0x2b')][_0x159f('0x46')](_0x1a7b44[_0x159f('0x47')],{})[_0x159f('0x26')](respondWithResult(_0x452834,0xc9))[_0x159f('0x43')](handleError(_0x452834,null));};exports['describe']=function(_0x50a77d,_0x1b983e){return db[_0x159f('0x2b')][_0x159f('0x48')]()[_0x159f('0x26')](respondWithResult(_0x1b983e,null))[_0x159f('0x43')](handleError(_0x1b983e,null));};exports[_0x159f('0x25')]=function(_0x1f53cb,_0x443515){if(_0x1f53cb[_0x159f('0x47')][_0x159f('0x49')]){delete _0x1f53cb[_0x159f('0x47')]['uniqueid'];}return db[_0x159f('0x2b')][_0x159f('0x4a')]({'where':{'uniqueid':_0x1f53cb[_0x159f('0x4b')]['id']}})['then'](handleEntityNotFound(_0x443515,null))['then'](saveUpdates(_0x1f53cb[_0x159f('0x47')],null))[_0x159f('0x26')](respondWithResult(_0x443515,null))[_0x159f('0x43')](handleError(_0x443515,null));};
\ No newline at end of file