Built motion from commit ffdca78c.|2.6.24
[motion2.git] / server / api / cmHopperHistory / cmHopperHistory.controller.js
index f169151..2b0d00d 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2edd=['stack','name','send','index','map','CmHopperHistory','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','includeAll','include','findAll','rows','catch','show','params','keys','options','create','body','describe','uniqueid','find','html-pdf','eml-format','rimraf','request-promise','bluebird','mustache','util','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','Content-Range','apply','reject','save','then','destroy','error'];(function(_0x25211d,_0x303f2f){var _0xb2a108=function(_0x452629){while(--_0x452629){_0x25211d['push'](_0x25211d['shift']());}};_0xb2a108(++_0x303f2f);}(_0x2edd,0x198));var _0xd2ed=function(_0x351260,_0x5204f0){_0x351260=_0x351260-0x0;var _0x8850d0=_0x2edd[_0x351260];return _0x8850d0;};'use strict';var pdf=require(_0xd2ed('0x0'));var emlformat=require(_0xd2ed('0x1'));var rimraf=require(_0xd2ed('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xd2ed('0x3'));var moment=require('moment');var BPromise=require(_0xd2ed('0x4'));var Mustache=require(_0xd2ed('0x5'));var util=require(_0xd2ed('0x6'));var path=require(_0xd2ed('0x7'));var sox=require(_0xd2ed('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xd2ed('0x9'));var squel=require(_0xd2ed('0xa'));var crypto=require(_0xd2ed('0xb'));var jsforce=require(_0xd2ed('0xc'));var deskjs=require(_0xd2ed('0xd'));var toCsv=require(_0xd2ed('0xe'));var querystring=require('querystring');var Papa=require(_0xd2ed('0xf'));var Redis=require(_0xd2ed('0x10'));var authService=require(_0xd2ed('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xd2ed('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xd2ed('0x13'));var utils=require(_0xd2ed('0x14'));var config=require(_0xd2ed('0x15'));var db=require(_0xd2ed('0x16'))['db'];function respondWithStatusCode(_0x1560ff,_0x595847){_0x595847=_0x595847||0xcc;return function(_0x47efaf){if(_0x47efaf){return _0x1560ff[_0xd2ed('0x17')](_0x595847);}return _0x1560ff[_0xd2ed('0x18')](_0x595847)[_0xd2ed('0x19')]();};}function respondWithResult(_0x133961,_0x23053f){_0x23053f=_0x23053f||0xc8;return function(_0xdbba25){if(_0xdbba25){return _0x133961[_0xd2ed('0x18')](_0x23053f)['json'](_0xdbba25);}};}function respondWithFilteredResult(_0x30eda5,_0x292d3c){return function(_0x14a0ee){if(_0x14a0ee){var _0x5ae2b8=_0x14a0ee[_0xd2ed('0x1a')],_0x25101d=_0x292d3c[_0xd2ed('0x1b')],_0x31c2da=_0x292d3c[_0xd2ed('0x1b')]+_0x292d3c[_0xd2ed('0x1c')],_0x5eba52;if(_0x31c2da>=_0x5ae2b8){_0x31c2da=_0x5ae2b8;_0x5eba52=0xc8;}else{_0x5eba52=0xce;}_0x30eda5[_0xd2ed('0x18')](_0x5eba52);return _0x30eda5['set'](_0xd2ed('0x1d'),_0x25101d+'-'+_0x31c2da+'/'+_0x5ae2b8)['json'](_0x14a0ee);}return null;};}function patchUpdates(_0x41089b){return function(_0x11a161){try{jsonpatch[_0xd2ed('0x1e')](_0x11a161,_0x41089b,!![]);}catch(_0x288333){return BPromise[_0xd2ed('0x1f')](_0x288333);}return _0x11a161[_0xd2ed('0x20')]();};}function saveUpdates(_0x379207,_0x5a048c){return function(_0xba58a2){if(_0xba58a2){return _0xba58a2['update'](_0x379207)[_0xd2ed('0x21')](function(_0x237c26){return _0x237c26;});}return null;};}function removeEntity(_0x3193a0,_0x38e0d4){return function(_0x46ecb4){if(_0x46ecb4){return _0x46ecb4[_0xd2ed('0x22')]()[_0xd2ed('0x21')](function(){_0x3193a0[_0xd2ed('0x18')](0xcc)[_0xd2ed('0x19')]();});}};}function handleEntityNotFound(_0x3dca21,_0x2bed69){return function(_0x321125){if(!_0x321125){_0x3dca21['sendStatus'](0x194);}return _0x321125;};}function handleError(_0x27250c,_0x1c06c2){_0x1c06c2=_0x1c06c2||0x1f4;return function(_0x48323d){logger[_0xd2ed('0x23')](_0x48323d[_0xd2ed('0x24')]);if(_0x48323d[_0xd2ed('0x25')]){delete _0x48323d['name'];}_0x27250c[_0xd2ed('0x18')](_0x1c06c2)[_0xd2ed('0x26')](_0x48323d);};}exports[_0xd2ed('0x27')]=function(_0x532163,_0x86186f){var _0x4f2d6a={},_0x344039={},_0x1e0a9d={'count':0x0,'rows':[]};var _0x224a13=_[_0xd2ed('0x28')](db[_0xd2ed('0x29')][_0xd2ed('0x2a')],function(_0x3d95a6){return{'name':_0x3d95a6[_0xd2ed('0x2b')],'type':_0x3d95a6[_0xd2ed('0x2c')][_0xd2ed('0x2d')]};});_0x344039[_0xd2ed('0x2e')]=_[_0xd2ed('0x28')](_0x224a13,_0xd2ed('0x25'));_0x344039[_0xd2ed('0x2f')]=_['keys'](_0x532163[_0xd2ed('0x2f')]);_0x344039[_0xd2ed('0x30')]=_['intersection'](_0x344039[_0xd2ed('0x2e')],_0x344039[_0xd2ed('0x2f')]);_0x4f2d6a['attributes']=_[_0xd2ed('0x31')](_0x344039[_0xd2ed('0x2e')],qs[_0xd2ed('0x32')](_0x532163[_0xd2ed('0x2f')]['fields']));_0x4f2d6a[_0xd2ed('0x33')]=_0x4f2d6a[_0xd2ed('0x33')][_0xd2ed('0x34')]?_0x4f2d6a[_0xd2ed('0x33')]:_0x344039[_0xd2ed('0x2e')];if(!_0x532163[_0xd2ed('0x2f')][_0xd2ed('0x35')]('nolimit')){_0x4f2d6a['limit']=qs[_0xd2ed('0x1c')](_0x532163[_0xd2ed('0x2f')][_0xd2ed('0x1c')]);_0x4f2d6a[_0xd2ed('0x1b')]=qs['offset'](_0x532163[_0xd2ed('0x2f')][_0xd2ed('0x1b')]);}_0x4f2d6a[_0xd2ed('0x36')]=qs[_0xd2ed('0x37')](_0x532163['query'][_0xd2ed('0x37')]);_0x4f2d6a[_0xd2ed('0x38')]=qs[_0xd2ed('0x30')](_[_0xd2ed('0x39')](_0x532163[_0xd2ed('0x2f')],_0x344039[_0xd2ed('0x30')]));if(_0x532163[_0xd2ed('0x2f')][_0xd2ed('0x3a')]){_0x4f2d6a['where']=_[_0xd2ed('0x3b')](_0x4f2d6a['where'],{'$or':_['map'](_0x224a13,function(_0x3e5c28){if(_0x3e5c28['type']!=='VIRTUAL'){var _0x1168fe={};_0x1168fe[_0x3e5c28[_0xd2ed('0x25')]]={'$like':'%'+_0x532163[_0xd2ed('0x2f')][_0xd2ed('0x3a')]+'%'};return _0x1168fe;}})});}_0x4f2d6a=_[_0xd2ed('0x3b')]({},_0x4f2d6a,_0x532163['options']);var _0x1344fa={'where':_0x4f2d6a[_0xd2ed('0x38')]};return db[_0xd2ed('0x29')][_0xd2ed('0x1a')](_0x1344fa)['then'](function(_0x451b45){_0x1e0a9d['count']=_0x451b45;if(_0x532163[_0xd2ed('0x2f')][_0xd2ed('0x3c')]){_0x4f2d6a[_0xd2ed('0x3d')]=[{'all':!![]}];}return db[_0xd2ed('0x29')][_0xd2ed('0x3e')](_0x4f2d6a);})[_0xd2ed('0x21')](function(_0x817d5f){_0x1e0a9d[_0xd2ed('0x3f')]=_0x817d5f;return _0x1e0a9d;})[_0xd2ed('0x21')](respondWithFilteredResult(_0x86186f,_0x4f2d6a))[_0xd2ed('0x40')](handleError(_0x86186f,null));};exports[_0xd2ed('0x41')]=function(_0x46eb9e,_0x1e640c){var _0x2d2ea3={'raw':!![],'where':{'id':_0x46eb9e[_0xd2ed('0x42')]['id']}},_0x44a1e9={};_0x44a1e9[_0xd2ed('0x2e')]=_[_0xd2ed('0x43')](db[_0xd2ed('0x29')][_0xd2ed('0x2a')]);_0x44a1e9[_0xd2ed('0x2f')]=_[_0xd2ed('0x43')](_0x46eb9e[_0xd2ed('0x2f')]);_0x44a1e9[_0xd2ed('0x30')]=_[_0xd2ed('0x31')](_0x44a1e9[_0xd2ed('0x2e')],_0x44a1e9[_0xd2ed('0x2f')]);_0x2d2ea3[_0xd2ed('0x33')]=_[_0xd2ed('0x31')](_0x44a1e9['model'],qs[_0xd2ed('0x32')](_0x46eb9e[_0xd2ed('0x2f')][_0xd2ed('0x32')]));_0x2d2ea3[_0xd2ed('0x33')]=_0x2d2ea3[_0xd2ed('0x33')][_0xd2ed('0x34')]?_0x2d2ea3[_0xd2ed('0x33')]:_0x44a1e9['model'];if(_0x46eb9e[_0xd2ed('0x2f')]['includeAll']){_0x2d2ea3[_0xd2ed('0x3d')]=[{'all':!![]}];}_0x2d2ea3=_['merge']({},_0x2d2ea3,_0x46eb9e[_0xd2ed('0x44')]);return db[_0xd2ed('0x29')]['find'](_0x2d2ea3)[_0xd2ed('0x21')](handleEntityNotFound(_0x1e640c,null))[_0xd2ed('0x21')](respondWithResult(_0x1e640c,null))[_0xd2ed('0x40')](handleError(_0x1e640c,null));};exports[_0xd2ed('0x45')]=function(_0x37da80,_0x584912){return db[_0xd2ed('0x29')][_0xd2ed('0x45')](_0x37da80[_0xd2ed('0x46')],{})[_0xd2ed('0x21')](respondWithResult(_0x584912,0xc9))[_0xd2ed('0x40')](handleError(_0x584912,null));};exports[_0xd2ed('0x47')]=function(_0x1634e8,_0x11f6fd){return db[_0xd2ed('0x29')][_0xd2ed('0x47')]()[_0xd2ed('0x21')](respondWithResult(_0x11f6fd,null))['catch'](handleError(_0x11f6fd,null));};exports['update']=function(_0x299ed7,_0x2c9d9c){if(_0x299ed7[_0xd2ed('0x46')][_0xd2ed('0x48')]){delete _0x299ed7[_0xd2ed('0x46')][_0xd2ed('0x48')];}return db[_0xd2ed('0x29')][_0xd2ed('0x49')]({'where':{'uniqueid':_0x299ed7['params']['id']}})[_0xd2ed('0x21')](handleEntityNotFound(_0x2c9d9c,null))[_0xd2ed('0x21')](saveUpdates(_0x299ed7[_0xd2ed('0x46')],null))[_0xd2ed('0x21')](respondWithResult(_0x2c9d9c,null))['catch'](handleError(_0x2c9d9c,null));};
\ No newline at end of file
+var _0xce5d=['../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','apply','reject','update','then','destroy','error','stack','name','index','rawAttributes','fieldName','type','key','model','map','query','attributes','intersection','fields','length','nolimit','order','sort','where','filters','merge','VIRTUAL','options','includeAll','include','CmHopperHistory','findAll','rows','show','params','keys','find','catch','create','body','describe','uniqueid','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils'];(function(_0x192099,_0x38a593){var _0x3d6ccc=function(_0x541fff){while(--_0x541fff){_0x192099['push'](_0x192099['shift']());}};_0x3d6ccc(++_0x38a593);}(_0xce5d,0x120));var _0xdce5=function(_0x35bca2,_0x4ce50d){_0x35bca2=_0x35bca2-0x0;var _0x295d7a=_0xce5d[_0x35bca2];return _0x295d7a;};'use strict';var emlformat=require(_0xdce5('0x0'));var rimraf=require(_0xdce5('0x1'));var zipdir=require(_0xdce5('0x2'));var jsonpatch=require(_0xdce5('0x3'));var rp=require(_0xdce5('0x4'));var moment=require(_0xdce5('0x5'));var BPromise=require(_0xdce5('0x6'));var Mustache=require(_0xdce5('0x7'));var util=require(_0xdce5('0x8'));var path=require(_0xdce5('0x9'));var sox=require('sox');var csv=require(_0xdce5('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xdce5('0xb'));var _=require(_0xdce5('0xc'));var squel=require('squel');var crypto=require(_0xdce5('0xd'));var jsforce=require(_0xdce5('0xe'));var deskjs=require(_0xdce5('0xf'));var toCsv=require(_0xdce5('0xa'));var querystring=require(_0xdce5('0x10'));var Papa=require(_0xdce5('0x11'));var Redis=require('ioredis');var authService=require(_0xdce5('0x12'));var qs=require(_0xdce5('0x13'));var as=require(_0xdce5('0x14'));var hardwareService=require(_0xdce5('0x15'));var logger=require(_0xdce5('0x16'))('api');var utils=require(_0xdce5('0x17'));var config=require(_0xdce5('0x18'));var licenseUtil=require(_0xdce5('0x19'));var db=require(_0xdce5('0x1a'))['db'];function respondWithStatusCode(_0x4fb36d,_0x187f78){_0x187f78=_0x187f78||0xcc;return function(_0x23253e){if(_0x23253e){return _0x4fb36d[_0xdce5('0x1b')](_0x187f78);}return _0x4fb36d[_0xdce5('0x1c')](_0x187f78)[_0xdce5('0x1d')]();};}function respondWithResult(_0x3dd253,_0x467043){_0x467043=_0x467043||0xc8;return function(_0x5ed86f){if(_0x5ed86f){return _0x3dd253[_0xdce5('0x1c')](_0x467043)[_0xdce5('0x1e')](_0x5ed86f);}};}function respondWithFilteredResult(_0x50730a,_0x4b6b02){return function(_0x3b3903){if(_0x3b3903){var _0x1025d8=typeof _0x4b6b02['offset']===_0xdce5('0x1f')&&typeof _0x4b6b02[_0xdce5('0x20')]===_0xdce5('0x1f');var _0x195907=_0x3b3903['count'];var _0x1e4da1=_0x1025d8?0x0:_0x4b6b02['offset'];var _0x18ec57=_0x1025d8?_0x3b3903[_0xdce5('0x21')]:_0x4b6b02[_0xdce5('0x22')]+_0x4b6b02['limit'];var _0x57262f;if(_0x18ec57>=_0x195907){_0x18ec57=_0x195907;_0x57262f=0xc8;}else{_0x57262f=0xce;}_0x50730a[_0xdce5('0x1c')](_0x57262f);return _0x50730a['set'](_0xdce5('0x23'),_0x1e4da1+'-'+_0x18ec57+'/'+_0x195907)[_0xdce5('0x1e')](_0x3b3903);}return null;};}function patchUpdates(_0x899213){return function(_0x301618){try{jsonpatch[_0xdce5('0x24')](_0x301618,_0x899213,!![]);}catch(_0x39541d){return BPromise[_0xdce5('0x25')](_0x39541d);}return _0x301618['save']();};}function saveUpdates(_0x1be9f2,_0x4fcfb6){return function(_0x1c366c){if(_0x1c366c){return _0x1c366c[_0xdce5('0x26')](_0x1be9f2)[_0xdce5('0x27')](function(_0x1dfb5d){return _0x1dfb5d;});}return null;};}function removeEntity(_0x1ad119,_0x3b8c8e){return function(_0x5c6fe3){if(_0x5c6fe3){return _0x5c6fe3[_0xdce5('0x28')]()[_0xdce5('0x27')](function(){_0x1ad119[_0xdce5('0x1c')](0xcc)[_0xdce5('0x1d')]();});}};}function handleEntityNotFound(_0x4db274,_0x2a2fed){return function(_0x3d594e){if(!_0x3d594e){_0x4db274[_0xdce5('0x1b')](0x194);}return _0x3d594e;};}function handleError(_0x19e29a,_0x1b4eff){_0x1b4eff=_0x1b4eff||0x1f4;return function(_0x18ec78){logger[_0xdce5('0x29')](_0x18ec78[_0xdce5('0x2a')]);if(_0x18ec78[_0xdce5('0x2b')]){delete _0x18ec78[_0xdce5('0x2b')];}_0x19e29a[_0xdce5('0x1c')](_0x1b4eff)['send'](_0x18ec78);};}exports[_0xdce5('0x2c')]=function(_0x14ce8a,_0x237434){var _0x19ba50={},_0x32f6d0={},_0x144799={'count':0x0,'rows':[]};var _0x282e44=_['map'](db['CmHopperHistory'][_0xdce5('0x2d')],function(_0x3fd548){return{'name':_0x3fd548[_0xdce5('0x2e')],'type':_0x3fd548[_0xdce5('0x2f')][_0xdce5('0x30')]};});_0x32f6d0[_0xdce5('0x31')]=_[_0xdce5('0x32')](_0x282e44,_0xdce5('0x2b'));_0x32f6d0[_0xdce5('0x33')]=_['keys'](_0x14ce8a['query']);_0x32f6d0['filters']=_['intersection'](_0x32f6d0[_0xdce5('0x31')],_0x32f6d0['query']);_0x19ba50[_0xdce5('0x34')]=_[_0xdce5('0x35')](_0x32f6d0['model'],qs[_0xdce5('0x36')](_0x14ce8a['query']['fields']));_0x19ba50['attributes']=_0x19ba50[_0xdce5('0x34')][_0xdce5('0x37')]?_0x19ba50['attributes']:_0x32f6d0['model'];if(!_0x14ce8a['query']['hasOwnProperty'](_0xdce5('0x38'))){_0x19ba50[_0xdce5('0x20')]=qs['limit'](_0x14ce8a['query']['limit']);_0x19ba50[_0xdce5('0x22')]=qs['offset'](_0x14ce8a[_0xdce5('0x33')][_0xdce5('0x22')]);}_0x19ba50[_0xdce5('0x39')]=qs[_0xdce5('0x3a')](_0x14ce8a[_0xdce5('0x33')][_0xdce5('0x3a')]);_0x19ba50[_0xdce5('0x3b')]=qs[_0xdce5('0x3c')](_['pick'](_0x14ce8a['query'],_0x32f6d0[_0xdce5('0x3c')]),_0x282e44);if(_0x14ce8a[_0xdce5('0x33')]['filter']){_0x19ba50['where']=_[_0xdce5('0x3d')](_0x19ba50[_0xdce5('0x3b')],{'$or':_[_0xdce5('0x32')](_0x282e44,function(_0xae5b26){if(_0xae5b26['type']!==_0xdce5('0x3e')){var _0x3d5c7e={};_0x3d5c7e[_0xae5b26[_0xdce5('0x2b')]]={'$like':'%'+_0x14ce8a[_0xdce5('0x33')]['filter']+'%'};return _0x3d5c7e;}})});}_0x19ba50=_[_0xdce5('0x3d')]({},_0x19ba50,_0x14ce8a[_0xdce5('0x3f')]);var _0x3d2eea={'where':_0x19ba50['where']};return db['CmHopperHistory'][_0xdce5('0x21')](_0x3d2eea)[_0xdce5('0x27')](function(_0x41aac0){_0x144799['count']=_0x41aac0;if(_0x14ce8a[_0xdce5('0x33')][_0xdce5('0x40')]){_0x19ba50[_0xdce5('0x41')]=[{'all':!![]}];}return db[_0xdce5('0x42')][_0xdce5('0x43')](_0x19ba50);})['then'](function(_0x63ab2c){_0x144799[_0xdce5('0x44')]=_0x63ab2c;return _0x144799;})['then'](respondWithFilteredResult(_0x237434,_0x19ba50))['catch'](handleError(_0x237434,null));};exports[_0xdce5('0x45')]=function(_0x7788e2,_0x501ec5){var _0x3771b0={'raw':!![],'where':{'id':_0x7788e2[_0xdce5('0x46')]['id']}},_0x366399={};_0x366399[_0xdce5('0x31')]=_['keys'](db['CmHopperHistory']['rawAttributes']);_0x366399[_0xdce5('0x33')]=_[_0xdce5('0x47')](_0x7788e2['query']);_0x366399['filters']=_[_0xdce5('0x35')](_0x366399['model'],_0x366399[_0xdce5('0x33')]);_0x3771b0[_0xdce5('0x34')]=_[_0xdce5('0x35')](_0x366399[_0xdce5('0x31')],qs[_0xdce5('0x36')](_0x7788e2[_0xdce5('0x33')]['fields']));_0x3771b0[_0xdce5('0x34')]=_0x3771b0['attributes'][_0xdce5('0x37')]?_0x3771b0[_0xdce5('0x34')]:_0x366399[_0xdce5('0x31')];if(_0x7788e2[_0xdce5('0x33')]['includeAll']){_0x3771b0['include']=[{'all':!![]}];}_0x3771b0=_[_0xdce5('0x3d')]({},_0x3771b0,_0x7788e2['options']);return db[_0xdce5('0x42')][_0xdce5('0x48')](_0x3771b0)[_0xdce5('0x27')](handleEntityNotFound(_0x501ec5,null))[_0xdce5('0x27')](respondWithResult(_0x501ec5,null))[_0xdce5('0x49')](handleError(_0x501ec5,null));};exports[_0xdce5('0x4a')]=function(_0x13d972,_0x4114af){return db['CmHopperHistory'][_0xdce5('0x4a')](_0x13d972[_0xdce5('0x4b')],{})[_0xdce5('0x27')](respondWithResult(_0x4114af,0xc9))[_0xdce5('0x49')](handleError(_0x4114af,null));};exports[_0xdce5('0x4c')]=function(_0x4d0a07,_0x33741c){return db[_0xdce5('0x42')][_0xdce5('0x4c')]()[_0xdce5('0x27')](respondWithResult(_0x33741c,null))[_0xdce5('0x49')](handleError(_0x33741c,null));};exports[_0xdce5('0x26')]=function(_0x868e48,_0x7afb18){if(_0x868e48[_0xdce5('0x4b')][_0xdce5('0x4d')]){delete _0x868e48['body'][_0xdce5('0x4d')];}return db[_0xdce5('0x42')][_0xdce5('0x48')]({'where':{'uniqueid':_0x868e48['params']['id']}})[_0xdce5('0x27')](handleEntityNotFound(_0x7afb18,null))[_0xdce5('0x27')](saveUpdates(_0x868e48[_0xdce5('0x4b')],null))[_0xdce5('0x27')](respondWithResult(_0x7afb18,null))['catch'](handleError(_0x7afb18,null));};
\ No newline at end of file