Built motion from commit (unavailable).|2.5.11
[motion2.git] / server / api / voiceDialReport / voiceDialReport.controller.js
index b15afbd..5b2f11c 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x72fb=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','reject','save','then','sendStatus','error','stack','name','send','index','map','VoiceDialReport','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','options','includeAll','include','catch','show','params','rawAttributes','find','create','body','update','destroy','describe','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','squel','jsforce','desk.js'];(function(_0xf9d540,_0x5555e0){var _0x2d1040=function(_0x158481){while(--_0x158481){_0xf9d540['push'](_0xf9d540['shift']());}};_0x2d1040(++_0x5555e0);}(_0x72fb,0x86));var _0xb72f=function(_0x506172,_0xbc3a3){_0x506172=_0x506172-0x0;var _0x2723c0=_0x72fb[_0x506172];return _0x2723c0;};'use strict';var pdf=require(_0xb72f('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xb72f('0x1'));var jsonpatch=require(_0xb72f('0x2'));var rp=require(_0xb72f('0x3'));var moment=require(_0xb72f('0x4'));var BPromise=require(_0xb72f('0x5'));var Mustache=require(_0xb72f('0x6'));var util=require(_0xb72f('0x7'));var path=require(_0xb72f('0x8'));var sox=require(_0xb72f('0x9'));var csv=require(_0xb72f('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xb72f('0xb'));var crypto=require('crypto');var jsforce=require(_0xb72f('0xc'));var deskjs=require(_0xb72f('0xd'));var toCsv=require(_0xb72f('0xa'));var querystring=require(_0xb72f('0xe'));var Papa=require(_0xb72f('0xf'));var Redis=require(_0xb72f('0x10'));var authService=require(_0xb72f('0x11'));var qs=require(_0xb72f('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb72f('0x13'));var logger=require(_0xb72f('0x14'))(_0xb72f('0x15'));var utils=require(_0xb72f('0x16'));var config=require(_0xb72f('0x17'));var db=require(_0xb72f('0x18'))['db'];function respondWithStatusCode(_0x2ea4ca,_0x33e695){_0x33e695=_0x33e695||0xcc;return function(_0x3737dc){if(_0x3737dc){return _0x2ea4ca['sendStatus'](_0x33e695);}return _0x2ea4ca[_0xb72f('0x19')](_0x33e695)[_0xb72f('0x1a')]();};}function respondWithResult(_0x481fda,_0x346609){_0x346609=_0x346609||0xc8;return function(_0xccc665){if(_0xccc665){return _0x481fda['status'](_0x346609)[_0xb72f('0x1b')](_0xccc665);}};}function respondWithFilteredResult(_0x190e5b,_0x1055c0){return function(_0x37df35){if(_0x37df35){var _0x3faffe=_0x37df35[_0xb72f('0x1c')],_0x19825b=_0x1055c0[_0xb72f('0x1d')],_0x299b39=_0x1055c0[_0xb72f('0x1d')]+_0x1055c0[_0xb72f('0x1e')],_0x383a61;if(_0x299b39>=_0x3faffe){_0x299b39=_0x3faffe;_0x383a61=0xc8;}else{_0x383a61=0xce;}_0x190e5b['status'](_0x383a61);return _0x190e5b[_0xb72f('0x1f')]('Content-Range',_0x19825b+'-'+_0x299b39+'/'+_0x3faffe)[_0xb72f('0x1b')](_0x37df35);}return null;};}function patchUpdates(_0x45e39d){return function(_0x13b548){try{jsonpatch['apply'](_0x13b548,_0x45e39d,!![]);}catch(_0x362e5a){return BPromise[_0xb72f('0x20')](_0x362e5a);}return _0x13b548[_0xb72f('0x21')]();};}function saveUpdates(_0x410b02,_0x9a5420){return function(_0x460f48){if(_0x460f48){return _0x460f48['update'](_0x410b02)[_0xb72f('0x22')](function(_0x287401){return _0x287401;});}return null;};}function removeEntity(_0x169aad,_0x534044){return function(_0x56334a){if(_0x56334a){return _0x56334a['destroy']()[_0xb72f('0x22')](function(){_0x169aad[_0xb72f('0x19')](0xcc)[_0xb72f('0x1a')]();});}};}function handleEntityNotFound(_0x17dfe8,_0x5c8af7){return function(_0x50fb69){if(!_0x50fb69){_0x17dfe8[_0xb72f('0x23')](0x194);}return _0x50fb69;};}function handleError(_0x31201c,_0x5e77a3){_0x5e77a3=_0x5e77a3||0x1f4;return function(_0x28209c){logger[_0xb72f('0x24')](_0x28209c[_0xb72f('0x25')]);if(_0x28209c['name']){delete _0x28209c[_0xb72f('0x26')];}_0x31201c[_0xb72f('0x19')](_0x5e77a3)[_0xb72f('0x27')](_0x28209c);};}exports[_0xb72f('0x28')]=function(_0x4081ab,_0x266561){var _0x457980={},_0x341418={},_0x1b948c={'count':0x0,'rows':[]};var _0x4e0c82=_[_0xb72f('0x29')](db[_0xb72f('0x2a')]['rawAttributes'],function(_0x144726){return{'name':_0x144726[_0xb72f('0x2b')],'type':_0x144726[_0xb72f('0x2c')][_0xb72f('0x2d')]};});_0x341418[_0xb72f('0x2e')]=_[_0xb72f('0x29')](_0x4e0c82,'name');_0x341418[_0xb72f('0x2f')]=_[_0xb72f('0x30')](_0x4081ab['query']);_0x341418['filters']=_[_0xb72f('0x31')](_0x341418[_0xb72f('0x2e')],_0x341418[_0xb72f('0x2f')]);_0x457980[_0xb72f('0x32')]=_[_0xb72f('0x31')](_0x341418[_0xb72f('0x2e')],qs[_0xb72f('0x33')](_0x4081ab['query'][_0xb72f('0x33')]));_0x457980[_0xb72f('0x32')]=_0x457980['attributes'][_0xb72f('0x34')]?_0x457980[_0xb72f('0x32')]:_0x341418[_0xb72f('0x2e')];if(!_0x4081ab[_0xb72f('0x2f')][_0xb72f('0x35')](_0xb72f('0x36'))){_0x457980[_0xb72f('0x1e')]=qs[_0xb72f('0x1e')](_0x4081ab[_0xb72f('0x2f')][_0xb72f('0x1e')]);_0x457980[_0xb72f('0x1d')]=qs['offset'](_0x4081ab[_0xb72f('0x2f')][_0xb72f('0x1d')]);}_0x457980[_0xb72f('0x37')]=qs[_0xb72f('0x38')](_0x4081ab[_0xb72f('0x2f')][_0xb72f('0x38')]);_0x457980[_0xb72f('0x39')]=qs[_0xb72f('0x3a')](_['pick'](_0x4081ab[_0xb72f('0x2f')],_0x341418[_0xb72f('0x3a')]));if(_0x4081ab[_0xb72f('0x2f')][_0xb72f('0x3b')]){_0x457980['where']=_[_0xb72f('0x3c')](_0x457980[_0xb72f('0x39')],{'$or':_[_0xb72f('0x29')](_0x4e0c82,function(_0x129567){if(_0x129567['type']!=='VIRTUAL'){var _0x124375={};_0x124375[_0x129567[_0xb72f('0x26')]]={'$like':'%'+_0x4081ab[_0xb72f('0x2f')][_0xb72f('0x3b')]+'%'};return _0x124375;}})});}_0x457980=_[_0xb72f('0x3c')]({},_0x457980,_0x4081ab[_0xb72f('0x3d')]);var _0x35ee1a={'where':_0x457980[_0xb72f('0x39')]};return db[_0xb72f('0x2a')][_0xb72f('0x1c')](_0x35ee1a)[_0xb72f('0x22')](function(_0x40db3){_0x1b948c[_0xb72f('0x1c')]=_0x40db3;if(_0x4081ab[_0xb72f('0x2f')][_0xb72f('0x3e')]){_0x457980[_0xb72f('0x3f')]=[{'all':!![]}];}return db[_0xb72f('0x2a')]['findAll'](_0x457980);})['then'](function(_0x32e3d7){_0x1b948c['rows']=_0x32e3d7;return _0x1b948c;})[_0xb72f('0x22')](respondWithFilteredResult(_0x266561,_0x457980))[_0xb72f('0x40')](handleError(_0x266561,null));};exports[_0xb72f('0x41')]=function(_0x217501,_0x15ea68){var _0x2fd8d8={'raw':!![],'where':{'id':_0x217501[_0xb72f('0x42')]['id']}},_0x3ccdb0={};_0x3ccdb0[_0xb72f('0x2e')]=_['keys'](db[_0xb72f('0x2a')][_0xb72f('0x43')]);_0x3ccdb0[_0xb72f('0x2f')]=_[_0xb72f('0x30')](_0x217501[_0xb72f('0x2f')]);_0x3ccdb0['filters']=_[_0xb72f('0x31')](_0x3ccdb0[_0xb72f('0x2e')],_0x3ccdb0['query']);_0x2fd8d8[_0xb72f('0x32')]=_[_0xb72f('0x31')](_0x3ccdb0[_0xb72f('0x2e')],qs['fields'](_0x217501[_0xb72f('0x2f')]['fields']));_0x2fd8d8['attributes']=_0x2fd8d8[_0xb72f('0x32')][_0xb72f('0x34')]?_0x2fd8d8[_0xb72f('0x32')]:_0x3ccdb0['model'];if(_0x217501[_0xb72f('0x2f')][_0xb72f('0x3e')]){_0x2fd8d8[_0xb72f('0x3f')]=[{'all':!![]}];}_0x2fd8d8=_[_0xb72f('0x3c')]({},_0x2fd8d8,_0x217501[_0xb72f('0x3d')]);return db[_0xb72f('0x2a')][_0xb72f('0x44')](_0x2fd8d8)[_0xb72f('0x22')](handleEntityNotFound(_0x15ea68,null))['then'](respondWithResult(_0x15ea68,null))[_0xb72f('0x40')](handleError(_0x15ea68,null));};exports[_0xb72f('0x45')]=function(_0x5c5bd1,_0x32d46c){return db['VoiceDialReport']['create'](_0x5c5bd1[_0xb72f('0x46')],{})[_0xb72f('0x22')](respondWithResult(_0x32d46c,0xc9))[_0xb72f('0x40')](handleError(_0x32d46c,null));};exports[_0xb72f('0x47')]=function(_0x12d31e,_0x2e38ca){if(_0x12d31e[_0xb72f('0x46')]['id']){delete _0x12d31e[_0xb72f('0x46')]['id'];}return db[_0xb72f('0x2a')][_0xb72f('0x44')]({'where':{'id':_0x12d31e['params']['id']}})[_0xb72f('0x22')](handleEntityNotFound(_0x2e38ca,null))['then'](saveUpdates(_0x12d31e['body'],null))['then'](respondWithResult(_0x2e38ca,null))['catch'](handleError(_0x2e38ca,null));};exports[_0xb72f('0x48')]=function(_0xd1a59d,_0x152f38){return db[_0xb72f('0x2a')][_0xb72f('0x44')]({'where':{'id':_0xd1a59d['params']['id']}})[_0xb72f('0x22')](handleEntityNotFound(_0x152f38,null))['then'](removeEntity(_0x152f38,null))['catch'](handleError(_0x152f38,null));};exports['describe']=function(_0x4458ea,_0x172f7a){return db[_0xb72f('0x2a')][_0xb72f('0x49')]()[_0xb72f('0x22')](respondWithResult(_0x172f7a,null))[_0xb72f('0x40')](handleError(_0x172f7a,null));};
\ No newline at end of file
+var _0x8e12=['include','findAll','catch','show','params','keys','find','create','body','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','destroy','then','error','stack','name','send','index','map','VoiceDialReport','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','merge','options','includeAll'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x8e12,0x9c));var _0x28e1=function(_0x78909a,_0x3e2210){_0x78909a=_0x78909a-0x0;var _0x32ad61=_0x8e12[_0x78909a];return _0x32ad61;};'use strict';var pdf=require(_0x28e1('0x0'));var emlformat=require(_0x28e1('0x1'));var rimraf=require(_0x28e1('0x2'));var zipdir=require(_0x28e1('0x3'));var jsonpatch=require(_0x28e1('0x4'));var rp=require(_0x28e1('0x5'));var moment=require(_0x28e1('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x28e1('0x7'));var util=require(_0x28e1('0x8'));var path=require('path');var sox=require(_0x28e1('0x9'));var csv=require(_0x28e1('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x28e1('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x28e1('0xa'));var querystring=require('querystring');var Papa=require(_0x28e1('0xc'));var Redis=require('ioredis');var authService=require(_0x28e1('0xd'));var qs=require(_0x28e1('0xe'));var as=require(_0x28e1('0xf'));var hardwareService=require(_0x28e1('0x10'));var logger=require(_0x28e1('0x11'))('api');var utils=require(_0x28e1('0x12'));var config=require(_0x28e1('0x13'));var licenseUtil=require(_0x28e1('0x14'));var db=require(_0x28e1('0x15'))['db'];function respondWithStatusCode(_0x425f73,_0x1ce5cd){_0x1ce5cd=_0x1ce5cd||0xcc;return function(_0xb2bc8d){if(_0xb2bc8d){return _0x425f73[_0x28e1('0x16')](_0x1ce5cd);}return _0x425f73[_0x28e1('0x17')](_0x1ce5cd)[_0x28e1('0x18')]();};}function respondWithResult(_0x144ed8,_0x3c1597){_0x3c1597=_0x3c1597||0xc8;return function(_0x3165cb){if(_0x3165cb){return _0x144ed8['status'](_0x3c1597)[_0x28e1('0x19')](_0x3165cb);}};}function respondWithFilteredResult(_0x10b140,_0x1c980c){return function(_0x24243d){if(_0x24243d){var _0x17a260=_0x24243d[_0x28e1('0x1a')],_0x540b4c=_0x1c980c[_0x28e1('0x1b')],_0x485614=_0x1c980c[_0x28e1('0x1b')]+_0x1c980c[_0x28e1('0x1c')],_0x30085e;if(_0x485614>=_0x17a260){_0x485614=_0x17a260;_0x30085e=0xc8;}else{_0x30085e=0xce;}_0x10b140[_0x28e1('0x17')](_0x30085e);return _0x10b140[_0x28e1('0x1d')](_0x28e1('0x1e'),_0x540b4c+'-'+_0x485614+'/'+_0x17a260)['json'](_0x24243d);}return null;};}function patchUpdates(_0x15e623){return function(_0x2c4d5d){try{jsonpatch[_0x28e1('0x1f')](_0x2c4d5d,_0x15e623,!![]);}catch(_0x2f0223){return BPromise['reject'](_0x2f0223);}return _0x2c4d5d[_0x28e1('0x20')]();};}function saveUpdates(_0x5c8f90,_0xe10d09){return function(_0x59cf31){if(_0x59cf31){return _0x59cf31[_0x28e1('0x21')](_0x5c8f90)['then'](function(_0x27035a){return _0x27035a;});}return null;};}function removeEntity(_0x485c89,_0x5f26cb){return function(_0x43821f){if(_0x43821f){return _0x43821f[_0x28e1('0x22')]()[_0x28e1('0x23')](function(){_0x485c89[_0x28e1('0x17')](0xcc)[_0x28e1('0x18')]();});}};}function handleEntityNotFound(_0x48631f,_0x5412bd){return function(_0x1f940c){if(!_0x1f940c){_0x48631f[_0x28e1('0x16')](0x194);}return _0x1f940c;};}function handleError(_0x30e5fb,_0x4b99b0){_0x4b99b0=_0x4b99b0||0x1f4;return function(_0x279173){logger[_0x28e1('0x24')](_0x279173[_0x28e1('0x25')]);if(_0x279173[_0x28e1('0x26')]){delete _0x279173[_0x28e1('0x26')];}_0x30e5fb[_0x28e1('0x17')](_0x4b99b0)[_0x28e1('0x27')](_0x279173);};}exports[_0x28e1('0x28')]=function(_0x172d4b,_0x355c3a){var _0x490b49={},_0x3af378={},_0x483a3d={'count':0x0,'rows':[]};var _0x4beb78=_[_0x28e1('0x29')](db[_0x28e1('0x2a')][_0x28e1('0x2b')],function(_0x29d8a9){return{'name':_0x29d8a9[_0x28e1('0x2c')],'type':_0x29d8a9[_0x28e1('0x2d')][_0x28e1('0x2e')]};});_0x3af378[_0x28e1('0x2f')]=_['map'](_0x4beb78,_0x28e1('0x26'));_0x3af378[_0x28e1('0x30')]=_['keys'](_0x172d4b[_0x28e1('0x30')]);_0x3af378['filters']=_[_0x28e1('0x31')](_0x3af378['model'],_0x3af378[_0x28e1('0x30')]);_0x490b49[_0x28e1('0x32')]=_[_0x28e1('0x31')](_0x3af378[_0x28e1('0x2f')],qs[_0x28e1('0x33')](_0x172d4b[_0x28e1('0x30')]['fields']));_0x490b49[_0x28e1('0x32')]=_0x490b49[_0x28e1('0x32')][_0x28e1('0x34')]?_0x490b49[_0x28e1('0x32')]:_0x3af378['model'];if(!_0x172d4b['query']['hasOwnProperty'](_0x28e1('0x35'))){_0x490b49[_0x28e1('0x1c')]=qs[_0x28e1('0x1c')](_0x172d4b[_0x28e1('0x30')][_0x28e1('0x1c')]);_0x490b49['offset']=qs['offset'](_0x172d4b[_0x28e1('0x30')][_0x28e1('0x1b')]);}_0x490b49[_0x28e1('0x36')]=qs[_0x28e1('0x37')](_0x172d4b[_0x28e1('0x30')]['sort']);_0x490b49[_0x28e1('0x38')]=qs[_0x28e1('0x39')](_[_0x28e1('0x3a')](_0x172d4b[_0x28e1('0x30')],_0x3af378['filters']),_0x4beb78);if(_0x172d4b[_0x28e1('0x30')][_0x28e1('0x3b')]){_0x490b49[_0x28e1('0x38')]=_[_0x28e1('0x3c')](_0x490b49[_0x28e1('0x38')],{'$or':_['map'](_0x4beb78,function(_0x57377b){if(_0x57377b[_0x28e1('0x2d')]!=='VIRTUAL'){var _0x3c97e6={};_0x3c97e6[_0x57377b[_0x28e1('0x26')]]={'$like':'%'+_0x172d4b['query'][_0x28e1('0x3b')]+'%'};return _0x3c97e6;}})});}_0x490b49=_[_0x28e1('0x3c')]({},_0x490b49,_0x172d4b[_0x28e1('0x3d')]);var _0x1d2984={'where':_0x490b49[_0x28e1('0x38')]};return db['VoiceDialReport']['count'](_0x1d2984)[_0x28e1('0x23')](function(_0x486a67){_0x483a3d[_0x28e1('0x1a')]=_0x486a67;if(_0x172d4b[_0x28e1('0x30')][_0x28e1('0x3e')]){_0x490b49[_0x28e1('0x3f')]=[{'all':!![]}];}return db[_0x28e1('0x2a')][_0x28e1('0x40')](_0x490b49);})[_0x28e1('0x23')](function(_0x21ea3e){_0x483a3d['rows']=_0x21ea3e;return _0x483a3d;})[_0x28e1('0x23')](respondWithFilteredResult(_0x355c3a,_0x490b49))[_0x28e1('0x41')](handleError(_0x355c3a,null));};exports[_0x28e1('0x42')]=function(_0x276a8d,_0x316f0e){var _0x23be19={'raw':!![],'where':{'id':_0x276a8d[_0x28e1('0x43')]['id']}},_0x1a6b79={};_0x1a6b79[_0x28e1('0x2f')]=_[_0x28e1('0x44')](db['VoiceDialReport'][_0x28e1('0x2b')]);_0x1a6b79[_0x28e1('0x30')]=_[_0x28e1('0x44')](_0x276a8d[_0x28e1('0x30')]);_0x1a6b79[_0x28e1('0x39')]=_[_0x28e1('0x31')](_0x1a6b79[_0x28e1('0x2f')],_0x1a6b79[_0x28e1('0x30')]);_0x23be19['attributes']=_[_0x28e1('0x31')](_0x1a6b79[_0x28e1('0x2f')],qs['fields'](_0x276a8d[_0x28e1('0x30')][_0x28e1('0x33')]));_0x23be19[_0x28e1('0x32')]=_0x23be19[_0x28e1('0x32')]['length']?_0x23be19['attributes']:_0x1a6b79[_0x28e1('0x2f')];if(_0x276a8d['query'][_0x28e1('0x3e')]){_0x23be19['include']=[{'all':!![]}];}_0x23be19=_[_0x28e1('0x3c')]({},_0x23be19,_0x276a8d[_0x28e1('0x3d')]);return db[_0x28e1('0x2a')][_0x28e1('0x45')](_0x23be19)[_0x28e1('0x23')](handleEntityNotFound(_0x316f0e,null))['then'](respondWithResult(_0x316f0e,null))[_0x28e1('0x41')](handleError(_0x316f0e,null));};exports[_0x28e1('0x46')]=function(_0x532f6e,_0x14bc8e){return db[_0x28e1('0x2a')][_0x28e1('0x46')](_0x532f6e[_0x28e1('0x47')],{})[_0x28e1('0x23')](respondWithResult(_0x14bc8e,0xc9))[_0x28e1('0x41')](handleError(_0x14bc8e,null));};exports[_0x28e1('0x21')]=function(_0x202a0f,_0x9e7b6c){if(_0x202a0f[_0x28e1('0x47')]['id']){delete _0x202a0f[_0x28e1('0x47')]['id'];}return db['VoiceDialReport'][_0x28e1('0x45')]({'where':{'id':_0x202a0f[_0x28e1('0x43')]['id']}})[_0x28e1('0x23')](handleEntityNotFound(_0x9e7b6c,null))[_0x28e1('0x23')](saveUpdates(_0x202a0f[_0x28e1('0x47')],null))['then'](respondWithResult(_0x9e7b6c,null))['catch'](handleError(_0x9e7b6c,null));};exports[_0x28e1('0x22')]=function(_0x49dc5a,_0x56bf5f){return db[_0x28e1('0x2a')][_0x28e1('0x45')]({'where':{'id':_0x49dc5a[_0x28e1('0x43')]['id']}})[_0x28e1('0x23')](handleEntityNotFound(_0x56bf5f,null))['then'](removeEntity(_0x56bf5f,null))[_0x28e1('0x41')](handleError(_0x56bf5f,null));};exports[_0x28e1('0x48')]=function(_0x1db393,_0x265180){return db['VoiceDialReport'][_0x28e1('0x48')]()[_0x28e1('0x23')](respondWithResult(_0x265180,null))[_0x28e1('0x41')](handleError(_0x265180,null));};
\ No newline at end of file