Built motion from commit 7158bc59.|2.5.42
[motion2.git] / server / api / cmHopperBlack / cmHopperBlack.controller.js
index 2ef4e07..98f1015 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xdb82=['reject','save','update','destroy','then','sendStatus','error','stack','name','send','index','CmHopperBlack','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','pick','filter','where','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','show','params','length','find','catch','body','describe','eml-format','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','fs-extra','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','status','end','json','undefined','limit','count','offset','set','apply'];(function(_0x5627e1,_0x1b2dbf){var _0x2f013f=function(_0x142015){while(--_0x142015){_0x5627e1['push'](_0x5627e1['shift']());}};_0x2f013f(++_0x1b2dbf);}(_0xdb82,0x1dc));var _0x2db8=function(_0x46aa17,_0x40a731){_0x46aa17=_0x46aa17-0x0;var _0xf4bd0f=_0xdb82[_0x46aa17];return _0xf4bd0f;};'use strict';var emlformat=require(_0x2db8('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2db8('0x1'));var jsonpatch=require(_0x2db8('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x2db8('0x3'));var Mustache=require(_0x2db8('0x4'));var util=require(_0x2db8('0x5'));var path=require(_0x2db8('0x6'));var sox=require(_0x2db8('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2db8('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2db8('0x9'));var deskjs=require(_0x2db8('0xa'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x2db8('0xb'));var authService=require(_0x2db8('0xc'));var qs=require(_0x2db8('0xd'));var as=require(_0x2db8('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2db8('0xf'))(_0x2db8('0x10'));var utils=require(_0x2db8('0x11'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x2db8('0x12'))['db'];function respondWithStatusCode(_0x21befb,_0x150870){_0x150870=_0x150870||0xcc;return function(_0x200ffe){if(_0x200ffe){return _0x21befb['sendStatus'](_0x150870);}return _0x21befb[_0x2db8('0x13')](_0x150870)[_0x2db8('0x14')]();};}function respondWithResult(_0x1476ba,_0x3285a2){_0x3285a2=_0x3285a2||0xc8;return function(_0x51a9e1){if(_0x51a9e1){return _0x1476ba[_0x2db8('0x13')](_0x3285a2)[_0x2db8('0x15')](_0x51a9e1);}};}function respondWithFilteredResult(_0x2fa4fe,_0x42001e){return function(_0x3d1f5f){if(_0x3d1f5f){var _0x212797=typeof _0x42001e['offset']===_0x2db8('0x16')&&typeof _0x42001e[_0x2db8('0x17')]===_0x2db8('0x16');var _0xbb7ad9=_0x3d1f5f[_0x2db8('0x18')];var _0x251481=_0x212797?0x0:_0x42001e[_0x2db8('0x19')];var _0x3d1f68=_0x212797?_0x3d1f5f[_0x2db8('0x18')]:_0x42001e['offset']+_0x42001e[_0x2db8('0x17')];var _0x5193ce;if(_0x3d1f68>=_0xbb7ad9){_0x3d1f68=_0xbb7ad9;_0x5193ce=0xc8;}else{_0x5193ce=0xce;}_0x2fa4fe['status'](_0x5193ce);return _0x2fa4fe[_0x2db8('0x1a')]('Content-Range',_0x251481+'-'+_0x3d1f68+'/'+_0xbb7ad9)[_0x2db8('0x15')](_0x3d1f5f);}return null;};}function patchUpdates(_0x5764f8){return function(_0x304d6b){try{jsonpatch[_0x2db8('0x1b')](_0x304d6b,_0x5764f8,!![]);}catch(_0x4a5e86){return BPromise[_0x2db8('0x1c')](_0x4a5e86);}return _0x304d6b[_0x2db8('0x1d')]();};}function saveUpdates(_0x140585,_0x6183f3){return function(_0x407b74){if(_0x407b74){return _0x407b74[_0x2db8('0x1e')](_0x140585)['then'](function(_0x5c61d3){return _0x5c61d3;});}return null;};}function removeEntity(_0x3ab9c0,_0xe8d69b){return function(_0x584493){if(_0x584493){return _0x584493[_0x2db8('0x1f')]()[_0x2db8('0x20')](function(){_0x3ab9c0[_0x2db8('0x13')](0xcc)[_0x2db8('0x14')]();});}};}function handleEntityNotFound(_0x1d7ce6,_0x2f71db){return function(_0x1d1fda){if(!_0x1d1fda){_0x1d7ce6[_0x2db8('0x21')](0x194);}return _0x1d1fda;};}function handleError(_0x432a07,_0x25bfe4){_0x25bfe4=_0x25bfe4||0x1f4;return function(_0x58bff1){logger[_0x2db8('0x22')](_0x58bff1[_0x2db8('0x23')]);if(_0x58bff1[_0x2db8('0x24')]){delete _0x58bff1[_0x2db8('0x24')];}_0x432a07[_0x2db8('0x13')](_0x25bfe4)[_0x2db8('0x25')](_0x58bff1);};}exports[_0x2db8('0x26')]=function(_0x8af2e8,_0x3569ae){var _0x3de877={},_0x48c740={},_0x37049d={'count':0x0,'rows':[]};var _0x31335f=_['map'](db[_0x2db8('0x27')][_0x2db8('0x28')],function(_0x3b808c){return{'name':_0x3b808c[_0x2db8('0x29')],'type':_0x3b808c['type'][_0x2db8('0x2a')]};});_0x48c740[_0x2db8('0x2b')]=_[_0x2db8('0x2c')](_0x31335f,_0x2db8('0x24'));_0x48c740[_0x2db8('0x2d')]=_[_0x2db8('0x2e')](_0x8af2e8[_0x2db8('0x2d')]);_0x48c740[_0x2db8('0x2f')]=_[_0x2db8('0x30')](_0x48c740[_0x2db8('0x2b')],_0x48c740['query']);_0x3de877['attributes']=_[_0x2db8('0x30')](_0x48c740[_0x2db8('0x2b')],qs[_0x2db8('0x31')](_0x8af2e8[_0x2db8('0x2d')][_0x2db8('0x31')]));_0x3de877[_0x2db8('0x32')]=_0x3de877['attributes']['length']?_0x3de877[_0x2db8('0x32')]:_0x48c740[_0x2db8('0x2b')];if(!_0x8af2e8[_0x2db8('0x2d')][_0x2db8('0x33')](_0x2db8('0x34'))){_0x3de877['limit']=qs[_0x2db8('0x17')](_0x8af2e8[_0x2db8('0x2d')][_0x2db8('0x17')]);_0x3de877[_0x2db8('0x19')]=qs['offset'](_0x8af2e8[_0x2db8('0x2d')][_0x2db8('0x19')]);}_0x3de877['order']=qs['sort'](_0x8af2e8[_0x2db8('0x2d')][_0x2db8('0x35')]);_0x3de877['where']=qs[_0x2db8('0x2f')](_[_0x2db8('0x36')](_0x8af2e8[_0x2db8('0x2d')],_0x48c740[_0x2db8('0x2f')]),_0x31335f);if(_0x8af2e8[_0x2db8('0x2d')][_0x2db8('0x37')]){_0x3de877[_0x2db8('0x38')]=_[_0x2db8('0x39')](_0x3de877[_0x2db8('0x38')],{'$or':_['map'](_0x31335f,function(_0x34f9f1){if(_0x34f9f1[_0x2db8('0x3a')]!==_0x2db8('0x3b')){var _0x466653={};_0x466653[_0x34f9f1['name']]={'$like':'%'+_0x8af2e8[_0x2db8('0x2d')][_0x2db8('0x37')]+'%'};return _0x466653;}})});}_0x3de877=_['merge']({},_0x3de877,_0x8af2e8[_0x2db8('0x3c')]);var _0x540f72={'where':_0x3de877[_0x2db8('0x38')]};return db[_0x2db8('0x27')][_0x2db8('0x18')](_0x540f72)['then'](function(_0x4ca208){_0x37049d[_0x2db8('0x18')]=_0x4ca208;if(_0x8af2e8[_0x2db8('0x2d')][_0x2db8('0x3d')]){_0x3de877[_0x2db8('0x3e')]=[{'all':!![]}];}return db[_0x2db8('0x27')][_0x2db8('0x3f')](_0x3de877);})[_0x2db8('0x20')](function(_0x3e0de0){_0x37049d[_0x2db8('0x40')]=_0x3e0de0;return _0x37049d;})['then'](respondWithFilteredResult(_0x3569ae,_0x3de877))['catch'](handleError(_0x3569ae,null));};exports[_0x2db8('0x41')]=function(_0xf7023b,_0x5e5196){var _0x1e5c35={'raw':!![],'where':{'id':_0xf7023b[_0x2db8('0x42')]['id']}},_0x33d518={};_0x33d518[_0x2db8('0x2b')]=_[_0x2db8('0x2e')](db[_0x2db8('0x27')]['rawAttributes']);_0x33d518[_0x2db8('0x2d')]=_[_0x2db8('0x2e')](_0xf7023b[_0x2db8('0x2d')]);_0x33d518[_0x2db8('0x2f')]=_[_0x2db8('0x30')](_0x33d518[_0x2db8('0x2b')],_0x33d518[_0x2db8('0x2d')]);_0x1e5c35[_0x2db8('0x32')]=_[_0x2db8('0x30')](_0x33d518[_0x2db8('0x2b')],qs['fields'](_0xf7023b[_0x2db8('0x2d')]['fields']));_0x1e5c35[_0x2db8('0x32')]=_0x1e5c35['attributes'][_0x2db8('0x43')]?_0x1e5c35[_0x2db8('0x32')]:_0x33d518[_0x2db8('0x2b')];if(_0xf7023b['query']['includeAll']){_0x1e5c35[_0x2db8('0x3e')]=[{'all':!![]}];}_0x1e5c35=_[_0x2db8('0x39')]({},_0x1e5c35,_0xf7023b[_0x2db8('0x3c')]);return db[_0x2db8('0x27')][_0x2db8('0x44')](_0x1e5c35)[_0x2db8('0x20')](handleEntityNotFound(_0x5e5196,null))[_0x2db8('0x20')](respondWithResult(_0x5e5196,null))[_0x2db8('0x45')](handleError(_0x5e5196,null));};exports['update']=function(_0x20a569,_0x3e20ed){if(_0x20a569[_0x2db8('0x46')]['id']){delete _0x20a569[_0x2db8('0x46')]['id'];}return db[_0x2db8('0x27')][_0x2db8('0x44')]({'where':{'id':_0x20a569[_0x2db8('0x42')]['id']}})[_0x2db8('0x20')](handleEntityNotFound(_0x3e20ed,null))['then'](saveUpdates(_0x20a569[_0x2db8('0x46')],null))[_0x2db8('0x20')](respondWithResult(_0x3e20ed,null))[_0x2db8('0x45')](handleError(_0x3e20ed,null));};exports[_0x2db8('0x1f')]=function(_0x91b421,_0x47a33b){return db[_0x2db8('0x27')][_0x2db8('0x44')]({'where':{'id':_0x91b421[_0x2db8('0x42')]['id']}})[_0x2db8('0x20')](handleEntityNotFound(_0x47a33b,null))[_0x2db8('0x20')](removeEntity(_0x47a33b,null))['catch'](handleError(_0x47a33b,null));};exports[_0x2db8('0x47')]=function(_0x4f1824,_0x3fbcc4){return db[_0x2db8('0x27')]['describe']()[_0x2db8('0x20')](respondWithResult(_0x3fbcc4,null))['catch'](handleError(_0x3fbcc4,null));};
\ No newline at end of file
+var _0x3525=['crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','destroy','stack','name','send','index','map','CmHopperBlack','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','options','includeAll','include','findAll','then','rows','catch','show','params','find','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','squel'];(function(_0x20fe26,_0x4ef59b){var _0x564da2=function(_0x248a3e){while(--_0x248a3e){_0x20fe26['push'](_0x20fe26['shift']());}};_0x564da2(++_0x4ef59b);}(_0x3525,0x16a));var _0x5352=function(_0x5ed8d3,_0x3f149c){_0x5ed8d3=_0x5ed8d3-0x0;var _0x4ae472=_0x3525[_0x5ed8d3];return _0x4ae472;};'use strict';var emlformat=require(_0x5352('0x0'));var rimraf=require(_0x5352('0x1'));var zipdir=require(_0x5352('0x2'));var jsonpatch=require(_0x5352('0x3'));var rp=require(_0x5352('0x4'));var moment=require(_0x5352('0x5'));var BPromise=require(_0x5352('0x6'));var Mustache=require(_0x5352('0x7'));var util=require(_0x5352('0x8'));var path=require('path');var sox=require(_0x5352('0x9'));var csv=require(_0x5352('0xa'));var ejs=require(_0x5352('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x5352('0xc'));var crypto=require(_0x5352('0xd'));var jsforce=require(_0x5352('0xe'));var deskjs=require(_0x5352('0xf'));var toCsv=require(_0x5352('0xa'));var querystring=require('querystring');var Papa=require(_0x5352('0x10'));var Redis=require(_0x5352('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x5352('0x12'));var as=require(_0x5352('0x13'));var hardwareService=require(_0x5352('0x14'));var logger=require(_0x5352('0x15'))(_0x5352('0x16'));var utils=require(_0x5352('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x45f0e5,_0x3ccde3){_0x3ccde3=_0x3ccde3||0xcc;return function(_0x11d2c4){if(_0x11d2c4){return _0x45f0e5[_0x5352('0x18')](_0x3ccde3);}return _0x45f0e5[_0x5352('0x19')](_0x3ccde3)[_0x5352('0x1a')]();};}function respondWithResult(_0x213cd1,_0x471186){_0x471186=_0x471186||0xc8;return function(_0x1894dd){if(_0x1894dd){return _0x213cd1['status'](_0x471186)['json'](_0x1894dd);}};}function respondWithFilteredResult(_0x246eb3,_0x5c5be4){return function(_0x343491){if(_0x343491){var _0x27e58f=typeof _0x5c5be4[_0x5352('0x1b')]===_0x5352('0x1c')&&typeof _0x5c5be4[_0x5352('0x1d')]===_0x5352('0x1c');var _0xb5a7a5=_0x343491[_0x5352('0x1e')];var _0x2c076c=_0x27e58f?0x0:_0x5c5be4[_0x5352('0x1b')];var _0x28a8a1=_0x27e58f?_0x343491['count']:_0x5c5be4[_0x5352('0x1b')]+_0x5c5be4['limit'];var _0x39a8f6;if(_0x28a8a1>=_0xb5a7a5){_0x28a8a1=_0xb5a7a5;_0x39a8f6=0xc8;}else{_0x39a8f6=0xce;}_0x246eb3[_0x5352('0x19')](_0x39a8f6);return _0x246eb3[_0x5352('0x1f')](_0x5352('0x20'),_0x2c076c+'-'+_0x28a8a1+'/'+_0xb5a7a5)[_0x5352('0x21')](_0x343491);}return null;};}function patchUpdates(_0x509bf9){return function(_0x57979f){try{jsonpatch[_0x5352('0x22')](_0x57979f,_0x509bf9,!![]);}catch(_0xcc24b6){return BPromise[_0x5352('0x23')](_0xcc24b6);}return _0x57979f[_0x5352('0x24')]();};}function saveUpdates(_0x7a6298,_0x5f1f9d){return function(_0x48fa99){if(_0x48fa99){return _0x48fa99[_0x5352('0x25')](_0x7a6298)['then'](function(_0xda1b27){return _0xda1b27;});}return null;};}function removeEntity(_0x47c896,_0x5e4bdc){return function(_0x5cdd64){if(_0x5cdd64){return _0x5cdd64[_0x5352('0x26')]()['then'](function(){_0x47c896[_0x5352('0x19')](0xcc)[_0x5352('0x1a')]();});}};}function handleEntityNotFound(_0x59da7c,_0x304b17){return function(_0x129bdf){if(!_0x129bdf){_0x59da7c['sendStatus'](0x194);}return _0x129bdf;};}function handleError(_0x532da7,_0x55a5f7){_0x55a5f7=_0x55a5f7||0x1f4;return function(_0x36d758){logger['error'](_0x36d758[_0x5352('0x27')]);if(_0x36d758[_0x5352('0x28')]){delete _0x36d758[_0x5352('0x28')];}_0x532da7[_0x5352('0x19')](_0x55a5f7)[_0x5352('0x29')](_0x36d758);};}exports[_0x5352('0x2a')]=function(_0x31cbb5,_0x29714c){var _0x4189cb={},_0x1f16db={},_0x5d8bb6={'count':0x0,'rows':[]};var _0x2be40e=_[_0x5352('0x2b')](db[_0x5352('0x2c')][_0x5352('0x2d')],function(_0x21ee2d){return{'name':_0x21ee2d[_0x5352('0x2e')],'type':_0x21ee2d[_0x5352('0x2f')][_0x5352('0x30')]};});_0x1f16db[_0x5352('0x31')]=_['map'](_0x2be40e,_0x5352('0x28'));_0x1f16db[_0x5352('0x32')]=_[_0x5352('0x33')](_0x31cbb5[_0x5352('0x32')]);_0x1f16db['filters']=_['intersection'](_0x1f16db[_0x5352('0x31')],_0x1f16db[_0x5352('0x32')]);_0x4189cb[_0x5352('0x34')]=_[_0x5352('0x35')](_0x1f16db[_0x5352('0x31')],qs[_0x5352('0x36')](_0x31cbb5[_0x5352('0x32')]['fields']));_0x4189cb[_0x5352('0x34')]=_0x4189cb['attributes']['length']?_0x4189cb[_0x5352('0x34')]:_0x1f16db[_0x5352('0x31')];if(!_0x31cbb5[_0x5352('0x32')][_0x5352('0x37')](_0x5352('0x38'))){_0x4189cb[_0x5352('0x1d')]=qs['limit'](_0x31cbb5[_0x5352('0x32')][_0x5352('0x1d')]);_0x4189cb[_0x5352('0x1b')]=qs['offset'](_0x31cbb5['query'][_0x5352('0x1b')]);}_0x4189cb[_0x5352('0x39')]=qs[_0x5352('0x3a')](_0x31cbb5[_0x5352('0x32')]['sort']);_0x4189cb[_0x5352('0x3b')]=qs[_0x5352('0x3c')](_['pick'](_0x31cbb5[_0x5352('0x32')],_0x1f16db[_0x5352('0x3c')]),_0x2be40e);if(_0x31cbb5[_0x5352('0x32')]['filter']){_0x4189cb[_0x5352('0x3b')]=_['merge'](_0x4189cb[_0x5352('0x3b')],{'$or':_[_0x5352('0x2b')](_0x2be40e,function(_0x12cb5e){if(_0x12cb5e[_0x5352('0x2f')]!=='VIRTUAL'){var _0x4d1856={};_0x4d1856[_0x12cb5e['name']]={'$like':'%'+_0x31cbb5[_0x5352('0x32')][_0x5352('0x3d')]+'%'};return _0x4d1856;}})});}_0x4189cb=_[_0x5352('0x3e')]({},_0x4189cb,_0x31cbb5[_0x5352('0x3f')]);var _0x361714={'where':_0x4189cb[_0x5352('0x3b')]};return db[_0x5352('0x2c')][_0x5352('0x1e')](_0x361714)['then'](function(_0x3b6266){_0x5d8bb6[_0x5352('0x1e')]=_0x3b6266;if(_0x31cbb5[_0x5352('0x32')][_0x5352('0x40')]){_0x4189cb[_0x5352('0x41')]=[{'all':!![]}];}return db['CmHopperBlack'][_0x5352('0x42')](_0x4189cb);})[_0x5352('0x43')](function(_0x48bcc2){_0x5d8bb6[_0x5352('0x44')]=_0x48bcc2;return _0x5d8bb6;})[_0x5352('0x43')](respondWithFilteredResult(_0x29714c,_0x4189cb))[_0x5352('0x45')](handleError(_0x29714c,null));};exports[_0x5352('0x46')]=function(_0x29bab4,_0x37c2a4){var _0x5e5c68={'raw':!![],'where':{'id':_0x29bab4[_0x5352('0x47')]['id']}},_0x6e7bd5={};_0x6e7bd5[_0x5352('0x31')]=_[_0x5352('0x33')](db[_0x5352('0x2c')][_0x5352('0x2d')]);_0x6e7bd5['query']=_['keys'](_0x29bab4['query']);_0x6e7bd5[_0x5352('0x3c')]=_['intersection'](_0x6e7bd5[_0x5352('0x31')],_0x6e7bd5['query']);_0x5e5c68[_0x5352('0x34')]=_[_0x5352('0x35')](_0x6e7bd5[_0x5352('0x31')],qs[_0x5352('0x36')](_0x29bab4[_0x5352('0x32')]['fields']));_0x5e5c68[_0x5352('0x34')]=_0x5e5c68[_0x5352('0x34')]['length']?_0x5e5c68[_0x5352('0x34')]:_0x6e7bd5[_0x5352('0x31')];if(_0x29bab4[_0x5352('0x32')][_0x5352('0x40')]){_0x5e5c68['include']=[{'all':!![]}];}_0x5e5c68=_['merge']({},_0x5e5c68,_0x29bab4['options']);return db[_0x5352('0x2c')][_0x5352('0x48')](_0x5e5c68)[_0x5352('0x43')](handleEntityNotFound(_0x37c2a4,null))[_0x5352('0x43')](respondWithResult(_0x37c2a4,null))['catch'](handleError(_0x37c2a4,null));};exports[_0x5352('0x25')]=function(_0x35ef4d,_0x47b5cb){if(_0x35ef4d[_0x5352('0x49')]['id']){delete _0x35ef4d[_0x5352('0x49')]['id'];}return db['CmHopperBlack'][_0x5352('0x48')]({'where':{'id':_0x35ef4d[_0x5352('0x47')]['id']}})[_0x5352('0x43')](handleEntityNotFound(_0x47b5cb,null))[_0x5352('0x43')](saveUpdates(_0x35ef4d[_0x5352('0x49')],null))[_0x5352('0x43')](respondWithResult(_0x47b5cb,null))[_0x5352('0x45')](handleError(_0x47b5cb,null));};exports[_0x5352('0x26')]=function(_0x38274a,_0x1d6b6a){return db[_0x5352('0x2c')]['find']({'where':{'id':_0x38274a[_0x5352('0x47')]['id']}})[_0x5352('0x43')](handleEntityNotFound(_0x1d6b6a,null))['then'](removeEntity(_0x1d6b6a,null))['catch'](handleError(_0x1d6b6a,null));};exports[_0x5352('0x4a')]=function(_0x915810,_0xe3d9f3){return db['CmHopperBlack'][_0x5352('0x4a')]()[_0x5352('0x43')](respondWithResult(_0xe3d9f3,null))[_0x5352('0x45')](handleError(_0xe3d9f3,null));};
\ No newline at end of file