Built motion from commit (unavailable).|2.5.30
[motion2.git] / server / api / intVtigerConfiguration / intVtigerConfiguration.controller.js
index 2134226..4244a05 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xe14d=['intersection','model','attributes','fields','hasOwnProperty','order','sort','filter','where','merge','type','options','count','includeAll','findAll','rows','show','params','include','find','create','body','getFields','findOne','length','pick','nolimit','getSubjects','getDescriptions','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','VtigerConfiguration,\x20%s,\x20%s','request\x20sent','debug','VtigerConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','limit','set','apply','reject','save','update','destroy','stack','name','map','VtigerConfiguration','rawAttributes','fieldName','query','keys','filters'];(function(_0x3dd3e3,_0x5e122e){var _0x5755c4=function(_0x2ca7db){while(--_0x2ca7db){_0x3dd3e3['push'](_0x3dd3e3['shift']());}};_0x5755c4(++_0x5e122e);}(_0xe14d,0x1ee));var _0xde14=function(_0x1d9aa0,_0x272488){_0x1d9aa0=_0x1d9aa0-0x0;var _0x226868=_0xe14d[_0x1d9aa0];return _0x226868;};'use strict';var pdf=require(_0xde14('0x0'));var emlformat=require(_0xde14('0x1'));var rimraf=require(_0xde14('0x2'));var zipdir=require(_0xde14('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xde14('0x4'));var moment=require(_0xde14('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xde14('0x6'));var util=require(_0xde14('0x7'));var path=require(_0xde14('0x8'));var sox=require(_0xde14('0x9'));var csv=require(_0xde14('0xa'));var ejs=require(_0xde14('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xde14('0xc'));var jsforce=require(_0xde14('0xd'));var deskjs=require(_0xde14('0xe'));var toCsv=require(_0xde14('0xa'));var querystring=require(_0xde14('0xf'));var Papa=require(_0xde14('0x10'));var Redis=require(_0xde14('0x11'));var authService=require(_0xde14('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xde14('0x13'));var hardwareService=require(_0xde14('0x14'));var logger=require(_0xde14('0x15'))(_0xde14('0x16'));var utils=require(_0xde14('0x17'));var config=require(_0xde14('0x18'));var licenseUtil=require(_0xde14('0x19'));var db=require(_0xde14('0x1a'))['db'];var jayson=require(_0xde14('0x1b'));var client=jayson[_0xde14('0x1c')][_0xde14('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x464624,_0x3521d4,_0x281c54,_0x1489e9){return new BPromise(function(_0x54c58b,_0x584959){var _0x23c878=_0x1489e9||client;return _0x23c878[_0xde14('0x1e')](_0x464624,_0x281c54)[_0xde14('0x1f')](function(_0x4c86ff){logger[_0xde14('0x20')](_0xde14('0x21'),_0x3521d4,_0xde14('0x22'));logger[_0xde14('0x23')](_0xde14('0x24'),_0x3521d4,_0xde14('0x22'),JSON[_0xde14('0x25')](_0x4c86ff));if(_0x4c86ff[_0xde14('0x26')]){if(_0x4c86ff[_0xde14('0x26')][_0xde14('0x27')]===0x1f4){logger['error'](_0xde14('0x21'),_0x3521d4,_0x4c86ff[_0xde14('0x26')][_0xde14('0x28')]);return _0x584959(_0x4c86ff[_0xde14('0x26')]['message']);}logger[_0xde14('0x26')]('VtigerConfiguration,\x20%s,\x20%s',_0x3521d4,_0x4c86ff[_0xde14('0x26')]['message']);return _0x54c58b(_0x4c86ff[_0xde14('0x26')][_0xde14('0x28')]);}else{logger[_0xde14('0x20')](_0xde14('0x21'),_0x3521d4,_0xde14('0x22'));_0x54c58b(_0x4c86ff[_0xde14('0x29')][_0xde14('0x28')]);}})[_0xde14('0x2a')](function(_0xdd8d59){logger[_0xde14('0x26')](_0xde14('0x21'),_0x3521d4,_0xdd8d59);_0x584959(_0xdd8d59);});});}function respondWithStatusCode(_0xbaa078,_0x8f8033){_0x8f8033=_0x8f8033||0xcc;return function(_0x5ae4c1){if(_0x5ae4c1){return _0xbaa078[_0xde14('0x2b')](_0x8f8033);}return _0xbaa078[_0xde14('0x2c')](_0x8f8033)[_0xde14('0x2d')]();};}function respondWithResult(_0xbd05d6,_0x1bb7be){_0x1bb7be=_0x1bb7be||0xc8;return function(_0x21ef15){if(_0x21ef15){return _0xbd05d6[_0xde14('0x2c')](_0x1bb7be)[_0xde14('0x2e')](_0x21ef15);}};}function respondWithFilteredResult(_0x1618e1,_0x350a78){return function(_0x4eff65){if(_0x4eff65){var _0x309922=_0x4eff65['count'],_0x1696ee=_0x350a78[_0xde14('0x2f')],_0x3eaee5=_0x350a78[_0xde14('0x2f')]+_0x350a78[_0xde14('0x30')],_0xf8279a;if(_0x3eaee5>=_0x309922){_0x3eaee5=_0x309922;_0xf8279a=0xc8;}else{_0xf8279a=0xce;}_0x1618e1['status'](_0xf8279a);return _0x1618e1[_0xde14('0x31')]('Content-Range',_0x1696ee+'-'+_0x3eaee5+'/'+_0x309922)[_0xde14('0x2e')](_0x4eff65);}return null;};}function patchUpdates(_0x361b2c){return function(_0x3bb1da){try{jsonpatch[_0xde14('0x32')](_0x3bb1da,_0x361b2c,!![]);}catch(_0x2aca96){return BPromise[_0xde14('0x33')](_0x2aca96);}return _0x3bb1da[_0xde14('0x34')]();};}function saveUpdates(_0x464666,_0x4e7c5b){return function(_0xbfc01b){if(_0xbfc01b){return _0xbfc01b[_0xde14('0x35')](_0x464666)['then'](function(_0xf25a9e){return _0xf25a9e;});}return null;};}function removeEntity(_0x4c9b15,_0x2e40ad){return function(_0x44e88a){if(_0x44e88a){return _0x44e88a[_0xde14('0x36')]()[_0xde14('0x1f')](function(){_0x4c9b15[_0xde14('0x2c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x26dfa9,_0x57b98b){return function(_0x4d4295){if(!_0x4d4295){_0x26dfa9[_0xde14('0x2b')](0x194);}return _0x4d4295;};}function handleError(_0x3c943b,_0x2c41e4){_0x2c41e4=_0x2c41e4||0x1f4;return function(_0x319136){logger[_0xde14('0x26')](_0x319136[_0xde14('0x37')]);if(_0x319136[_0xde14('0x38')]){delete _0x319136[_0xde14('0x38')];}_0x3c943b[_0xde14('0x2c')](_0x2c41e4)['send'](_0x319136);};}exports['index']=function(_0x1c7136,_0x403007){var _0x20913d={},_0x38d21c={},_0x31cad4={'count':0x0,'rows':[]};var _0x23813f=_[_0xde14('0x39')](db[_0xde14('0x3a')][_0xde14('0x3b')],function(_0x4e33e0){return{'name':_0x4e33e0[_0xde14('0x3c')],'type':_0x4e33e0['type']['key']};});_0x38d21c['model']=_[_0xde14('0x39')](_0x23813f,_0xde14('0x38'));_0x38d21c[_0xde14('0x3d')]=_[_0xde14('0x3e')](_0x1c7136[_0xde14('0x3d')]);_0x38d21c[_0xde14('0x3f')]=_[_0xde14('0x40')](_0x38d21c[_0xde14('0x41')],_0x38d21c['query']);_0x20913d[_0xde14('0x42')]=_[_0xde14('0x40')](_0x38d21c[_0xde14('0x41')],qs[_0xde14('0x43')](_0x1c7136[_0xde14('0x3d')][_0xde14('0x43')]));_0x20913d[_0xde14('0x42')]=_0x20913d[_0xde14('0x42')]['length']?_0x20913d[_0xde14('0x42')]:_0x38d21c[_0xde14('0x41')];if(!_0x1c7136[_0xde14('0x3d')][_0xde14('0x44')]('nolimit')){_0x20913d['limit']=qs[_0xde14('0x30')](_0x1c7136[_0xde14('0x3d')][_0xde14('0x30')]);_0x20913d[_0xde14('0x2f')]=qs[_0xde14('0x2f')](_0x1c7136['query'][_0xde14('0x2f')]);}_0x20913d[_0xde14('0x45')]=qs[_0xde14('0x46')](_0x1c7136['query'][_0xde14('0x46')]);_0x20913d['where']=qs[_0xde14('0x3f')](_['pick'](_0x1c7136[_0xde14('0x3d')],_0x38d21c[_0xde14('0x3f')]),_0x23813f);if(_0x1c7136[_0xde14('0x3d')][_0xde14('0x47')]){_0x20913d[_0xde14('0x48')]=_[_0xde14('0x49')](_0x20913d[_0xde14('0x48')],{'$or':_[_0xde14('0x39')](_0x23813f,function(_0x5b18b0){if(_0x5b18b0[_0xde14('0x4a')]!=='VIRTUAL'){var _0x430b22={};_0x430b22[_0x5b18b0['name']]={'$like':'%'+_0x1c7136[_0xde14('0x3d')][_0xde14('0x47')]+'%'};return _0x430b22;}})});}_0x20913d=_[_0xde14('0x49')]({},_0x20913d,_0x1c7136[_0xde14('0x4b')]);var _0x40e7ae={'where':_0x20913d[_0xde14('0x48')]};return db[_0xde14('0x3a')][_0xde14('0x4c')](_0x40e7ae)['then'](function(_0x15859c){_0x31cad4[_0xde14('0x4c')]=_0x15859c;if(_0x1c7136[_0xde14('0x3d')][_0xde14('0x4d')]){_0x20913d['include']=[{'all':!![]}];}return db[_0xde14('0x3a')][_0xde14('0x4e')](_0x20913d);})[_0xde14('0x1f')](function(_0xdbdab8){_0x31cad4[_0xde14('0x4f')]=_0xdbdab8;return _0x31cad4;})[_0xde14('0x1f')](respondWithFilteredResult(_0x403007,_0x20913d))['catch'](handleError(_0x403007,null));};exports[_0xde14('0x50')]=function(_0x518426,_0xa408ec){var _0x383b99={'raw':![],'where':{'id':_0x518426[_0xde14('0x51')]['id']}},_0x48a677={};_0x48a677[_0xde14('0x41')]=_[_0xde14('0x3e')](db[_0xde14('0x3a')][_0xde14('0x3b')]);_0x48a677[_0xde14('0x3d')]=_[_0xde14('0x3e')](_0x518426['query']);_0x48a677[_0xde14('0x3f')]=_['intersection'](_0x48a677[_0xde14('0x41')],_0x48a677[_0xde14('0x3d')]);_0x383b99[_0xde14('0x42')]=_[_0xde14('0x40')](_0x48a677[_0xde14('0x41')],qs[_0xde14('0x43')](_0x518426[_0xde14('0x3d')][_0xde14('0x43')]));_0x383b99[_0xde14('0x42')]=_0x383b99[_0xde14('0x42')]['length']?_0x383b99[_0xde14('0x42')]:_0x48a677[_0xde14('0x41')];if(_0x518426[_0xde14('0x3d')][_0xde14('0x4d')]){_0x383b99[_0xde14('0x52')]=[{'all':!![]}];}_0x383b99=_['merge']({},_0x383b99,_0x518426[_0xde14('0x4b')]);return db['VtigerConfiguration'][_0xde14('0x53')](_0x383b99)[_0xde14('0x1f')](handleEntityNotFound(_0xa408ec,null))[_0xde14('0x1f')](respondWithResult(_0xa408ec,null))[_0xde14('0x2a')](handleError(_0xa408ec,null));};exports[_0xde14('0x54')]=function(_0x53a1c8,_0x5356fe){return db[_0xde14('0x3a')]['create'](_0x53a1c8[_0xde14('0x55')],{})[_0xde14('0x1f')](respondWithResult(_0x5356fe,0xc9))[_0xde14('0x2a')](handleError(_0x5356fe,null));};exports[_0xde14('0x35')]=function(_0x345d08,_0x1ed775){if(_0x345d08[_0xde14('0x55')]['id']){delete _0x345d08[_0xde14('0x55')]['id'];}return db[_0xde14('0x3a')]['find']({'where':{'id':_0x345d08[_0xde14('0x51')]['id']}})[_0xde14('0x1f')](handleEntityNotFound(_0x1ed775,null))[_0xde14('0x1f')](saveUpdates(_0x345d08[_0xde14('0x55')],null))[_0xde14('0x1f')](respondWithResult(_0x1ed775,null))['catch'](handleError(_0x1ed775,null));};exports[_0xde14('0x36')]=function(_0x58790d,_0x6cd665){return db[_0xde14('0x3a')][_0xde14('0x53')]({'where':{'id':_0x58790d[_0xde14('0x51')]['id']}})[_0xde14('0x1f')](handleEntityNotFound(_0x6cd665,null))[_0xde14('0x1f')](removeEntity(_0x6cd665,null))[_0xde14('0x2a')](handleError(_0x6cd665,null));};exports[_0xde14('0x56')]=function(_0x525c64,_0x5a2753,_0x593143){var _0x475671={};var _0x508f25={};var _0x596cd3;var _0xc10000;return db[_0xde14('0x3a')][_0xde14('0x57')]({'where':{'id':_0x525c64[_0xde14('0x51')]['id']}})[_0xde14('0x1f')](handleEntityNotFound(_0x5a2753,null))[_0xde14('0x1f')](function(_0x30f7a5){if(_0x30f7a5){_0x596cd3=_0x30f7a5;_0x508f25[_0xde14('0x41')]=_[_0xde14('0x3e')](db['VtigerField'][_0xde14('0x3b')]);_0x508f25[_0xde14('0x3d')]=_[_0xde14('0x3e')](_0x525c64['query']);_0x508f25[_0xde14('0x3f')]=_['intersection'](_0x508f25[_0xde14('0x41')],_0x508f25[_0xde14('0x3d')]);_0x475671[_0xde14('0x42')]=_[_0xde14('0x40')](_0x508f25[_0xde14('0x41')],qs[_0xde14('0x43')](_0x525c64[_0xde14('0x3d')]['fields']));_0x475671[_0xde14('0x42')]=_0x475671[_0xde14('0x42')][_0xde14('0x58')]?_0x475671[_0xde14('0x42')]:_0x508f25[_0xde14('0x41')];_0x475671[_0xde14('0x45')]=qs[_0xde14('0x46')](_0x525c64['query']['sort']);_0x475671[_0xde14('0x48')]=qs[_0xde14('0x3f')](_[_0xde14('0x59')](_0x525c64['query'],_0x508f25[_0xde14('0x3f')]));if(_0x525c64[_0xde14('0x3d')][_0xde14('0x47')]){_0x475671[_0xde14('0x48')]=_['merge'](_0x475671['where'],{'$or':_[_0xde14('0x39')](_0x475671[_0xde14('0x42')],function(_0x30f228){var _0x329be2={};_0x329be2[_0x30f228]={'$like':'%'+_0x525c64[_0xde14('0x3d')][_0xde14('0x47')]+'%'};return _0x329be2;})});}_0x475671=_[_0xde14('0x49')]({},_0x475671,_0x525c64[_0xde14('0x4b')]);return _0x596cd3[_0xde14('0x56')](_0x475671);}})[_0xde14('0x1f')](function(_0x102630){if(_0x102630){_0xc10000=_0x102630[_0xde14('0x58')];if(!_0x525c64[_0xde14('0x3d')][_0xde14('0x44')](_0xde14('0x5a'))){_0x475671[_0xde14('0x30')]=qs[_0xde14('0x30')](_0x525c64[_0xde14('0x3d')][_0xde14('0x30')]);_0x475671[_0xde14('0x2f')]=qs[_0xde14('0x2f')](_0x525c64[_0xde14('0x3d')][_0xde14('0x2f')]);}return _0x596cd3['getFields'](_0x475671);}})[_0xde14('0x1f')](function(_0x55ddcf){if(_0x55ddcf){return _0x55ddcf?{'count':_0xc10000,'rows':_0x55ddcf}:null;}})[_0xde14('0x1f')](respondWithResult(_0x5a2753,null))['catch'](handleError(_0x5a2753,null));};exports[_0xde14('0x5b')]=function(_0xfa9c8d,_0x3aaba2,_0x5506e1){var _0x5e16e2={};var _0x23d3e1={};var _0x18abd0;var _0x217a3d;return db[_0xde14('0x3a')]['findOne']({'where':{'id':_0xfa9c8d[_0xde14('0x51')]['id']}})[_0xde14('0x1f')](handleEntityNotFound(_0x3aaba2,null))[_0xde14('0x1f')](function(_0x500344){if(_0x500344){_0x18abd0=_0x500344;_0x23d3e1['model']=_['keys'](db['VtigerField'][_0xde14('0x3b')]);_0x23d3e1[_0xde14('0x3d')]=_[_0xde14('0x3e')](_0xfa9c8d['query']);_0x23d3e1[_0xde14('0x3f')]=_[_0xde14('0x40')](_0x23d3e1[_0xde14('0x41')],_0x23d3e1[_0xde14('0x3d')]);_0x5e16e2[_0xde14('0x42')]=_[_0xde14('0x40')](_0x23d3e1['model'],qs['fields'](_0xfa9c8d[_0xde14('0x3d')][_0xde14('0x43')]));_0x5e16e2['attributes']=_0x5e16e2[_0xde14('0x42')][_0xde14('0x58')]?_0x5e16e2[_0xde14('0x42')]:_0x23d3e1[_0xde14('0x41')];_0x5e16e2[_0xde14('0x45')]=qs[_0xde14('0x46')](_0xfa9c8d[_0xde14('0x3d')]['sort']);_0x5e16e2['where']=qs['filters'](_['pick'](_0xfa9c8d[_0xde14('0x3d')],_0x23d3e1[_0xde14('0x3f')]));if(_0xfa9c8d['query']['filter']){_0x5e16e2[_0xde14('0x48')]=_[_0xde14('0x49')](_0x5e16e2[_0xde14('0x48')],{'$or':_['map'](_0x5e16e2[_0xde14('0x42')],function(_0x2b1e2e){var _0x57e32c={};_0x57e32c[_0x2b1e2e]={'$like':'%'+_0xfa9c8d[_0xde14('0x3d')][_0xde14('0x47')]+'%'};return _0x57e32c;})});}_0x5e16e2=_[_0xde14('0x49')]({},_0x5e16e2,_0xfa9c8d[_0xde14('0x4b')]);return _0x18abd0['getSubjects'](_0x5e16e2);}})[_0xde14('0x1f')](function(_0x5a5b25){if(_0x5a5b25){_0x217a3d=_0x5a5b25[_0xde14('0x58')];if(!_0xfa9c8d[_0xde14('0x3d')][_0xde14('0x44')]('nolimit')){_0x5e16e2[_0xde14('0x30')]=qs[_0xde14('0x30')](_0xfa9c8d[_0xde14('0x3d')][_0xde14('0x30')]);_0x5e16e2[_0xde14('0x2f')]=qs['offset'](_0xfa9c8d['query'][_0xde14('0x2f')]);}return _0x18abd0[_0xde14('0x5b')](_0x5e16e2);}})[_0xde14('0x1f')](function(_0x5398d2){if(_0x5398d2){return _0x5398d2?{'count':_0x217a3d,'rows':_0x5398d2}:null;}})[_0xde14('0x1f')](respondWithResult(_0x3aaba2,null))[_0xde14('0x2a')](handleError(_0x3aaba2,null));};exports[_0xde14('0x5c')]=function(_0x85f5d5,_0x27f2ba,_0x2cc5b7){var _0x38ac02={};var _0x4a5963={};var _0x235575;var _0x65af8c;return db[_0xde14('0x3a')][_0xde14('0x57')]({'where':{'id':_0x85f5d5[_0xde14('0x51')]['id']}})[_0xde14('0x1f')](handleEntityNotFound(_0x27f2ba,null))[_0xde14('0x1f')](function(_0x57bc16){if(_0x57bc16){_0x235575=_0x57bc16;_0x4a5963[_0xde14('0x41')]=_[_0xde14('0x3e')](db['VtigerField'][_0xde14('0x3b')]);_0x4a5963['query']=_[_0xde14('0x3e')](_0x85f5d5['query']);_0x4a5963[_0xde14('0x3f')]=_[_0xde14('0x40')](_0x4a5963[_0xde14('0x41')],_0x4a5963[_0xde14('0x3d')]);_0x38ac02[_0xde14('0x42')]=_[_0xde14('0x40')](_0x4a5963['model'],qs[_0xde14('0x43')](_0x85f5d5[_0xde14('0x3d')][_0xde14('0x43')]));_0x38ac02['attributes']=_0x38ac02[_0xde14('0x42')][_0xde14('0x58')]?_0x38ac02[_0xde14('0x42')]:_0x4a5963['model'];_0x38ac02[_0xde14('0x45')]=qs[_0xde14('0x46')](_0x85f5d5[_0xde14('0x3d')]['sort']);_0x38ac02['where']=qs['filters'](_['pick'](_0x85f5d5[_0xde14('0x3d')],_0x4a5963[_0xde14('0x3f')]));if(_0x85f5d5['query'][_0xde14('0x47')]){_0x38ac02[_0xde14('0x48')]=_[_0xde14('0x49')](_0x38ac02[_0xde14('0x48')],{'$or':_[_0xde14('0x39')](_0x38ac02['attributes'],function(_0xe209e4){var _0x166a76={};_0x166a76[_0xe209e4]={'$like':'%'+_0x85f5d5[_0xde14('0x3d')][_0xde14('0x47')]+'%'};return _0x166a76;})});}_0x38ac02=_[_0xde14('0x49')]({},_0x38ac02,_0x85f5d5[_0xde14('0x4b')]);return _0x235575[_0xde14('0x5c')](_0x38ac02);}})[_0xde14('0x1f')](function(_0x5d6337){if(_0x5d6337){_0x65af8c=_0x5d6337[_0xde14('0x58')];if(!_0x85f5d5[_0xde14('0x3d')][_0xde14('0x44')](_0xde14('0x5a'))){_0x38ac02[_0xde14('0x30')]=qs[_0xde14('0x30')](_0x85f5d5[_0xde14('0x3d')][_0xde14('0x30')]);_0x38ac02['offset']=qs[_0xde14('0x2f')](_0x85f5d5[_0xde14('0x3d')]['offset']);}return _0x235575[_0xde14('0x5c')](_0x38ac02);}})[_0xde14('0x1f')](function(_0x170d96){if(_0x170d96){return _0x170d96?{'count':_0x65af8c,'rows':_0x170d96}:null;}})[_0xde14('0x1f')](respondWithResult(_0x27f2ba,null))[_0xde14('0x2a')](handleError(_0x27f2ba,null));};
\ No newline at end of file
+var _0xfe24=['name','send','index','map','VtigerConfiguration','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','where','merge','VIRTUAL','includeAll','include','findAll','show','params','length','options','find','create','body','update','getFields','findOne','VtigerField','getSubjects','filter','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','jayson/promise','http','request','then','VtigerConfiguration,\x20%s,\x20%s','debug','VtigerConfiguration,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','code','error','message','info','catch','sendStatus','end','status','json','undefined','offset','count','limit','set','Content-Range','apply','reject','save','destroy'];(function(_0x54f32d,_0x39a0a5){var _0x2b73c2=function(_0x4cc816){while(--_0x4cc816){_0x54f32d['push'](_0x54f32d['shift']());}};_0x2b73c2(++_0x39a0a5);}(_0xfe24,0xe5));var _0x4fe2=function(_0x50564d,_0x1b1075){_0x50564d=_0x50564d-0x0;var _0x3699a1=_0xfe24[_0x50564d];return _0x3699a1;};'use strict';var emlformat=require(_0x4fe2('0x0'));var rimraf=require(_0x4fe2('0x1'));var zipdir=require(_0x4fe2('0x2'));var jsonpatch=require(_0x4fe2('0x3'));var rp=require(_0x4fe2('0x4'));var moment=require(_0x4fe2('0x5'));var BPromise=require(_0x4fe2('0x6'));var Mustache=require(_0x4fe2('0x7'));var util=require('util');var path=require('path');var sox=require(_0x4fe2('0x8'));var csv=require(_0x4fe2('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4fe2('0xa'));var _=require(_0x4fe2('0xb'));var squel=require('squel');var crypto=require(_0x4fe2('0xc'));var jsforce=require(_0x4fe2('0xd'));var deskjs=require(_0x4fe2('0xe'));var toCsv=require(_0x4fe2('0x9'));var querystring=require('querystring');var Papa=require(_0x4fe2('0xf'));var Redis=require(_0x4fe2('0x10'));var authService=require(_0x4fe2('0x11'));var qs=require(_0x4fe2('0x12'));var as=require(_0x4fe2('0x13'));var hardwareService=require(_0x4fe2('0x14'));var logger=require(_0x4fe2('0x15'))(_0x4fe2('0x16'));var utils=require('../../config/utils');var config=require(_0x4fe2('0x17'));var licenseUtil=require(_0x4fe2('0x18'));var db=require('../../mysqldb')['db'];var jayson=require(_0x4fe2('0x19'));var client=jayson['client'][_0x4fe2('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x19c618,_0x360ea3,_0x570002,_0x261b0a){return new BPromise(function(_0x2dae0f,_0x881071){var _0x2378f6=_0x261b0a||client;return _0x2378f6[_0x4fe2('0x1b')](_0x19c618,_0x570002)[_0x4fe2('0x1c')](function(_0xccba4e){logger['info'](_0x4fe2('0x1d'),_0x360ea3,'request\x20sent');logger[_0x4fe2('0x1e')](_0x4fe2('0x1f'),_0x360ea3,_0x4fe2('0x20'),JSON[_0x4fe2('0x21')](_0xccba4e));if(_0xccba4e['error']){if(_0xccba4e['error'][_0x4fe2('0x22')]===0x1f4){logger[_0x4fe2('0x23')](_0x4fe2('0x1d'),_0x360ea3,_0xccba4e[_0x4fe2('0x23')][_0x4fe2('0x24')]);return _0x881071(_0xccba4e[_0x4fe2('0x23')][_0x4fe2('0x24')]);}logger[_0x4fe2('0x23')](_0x4fe2('0x1d'),_0x360ea3,_0xccba4e[_0x4fe2('0x23')][_0x4fe2('0x24')]);return _0x2dae0f(_0xccba4e[_0x4fe2('0x23')]['message']);}else{logger[_0x4fe2('0x25')]('VtigerConfiguration,\x20%s,\x20%s',_0x360ea3,'request\x20sent');_0x2dae0f(_0xccba4e['result'][_0x4fe2('0x24')]);}})[_0x4fe2('0x26')](function(_0x2fa9c5){logger[_0x4fe2('0x23')]('VtigerConfiguration,\x20%s,\x20%s',_0x360ea3,_0x2fa9c5);_0x881071(_0x2fa9c5);});});}function respondWithStatusCode(_0x54b8f6,_0x4e44bf){_0x4e44bf=_0x4e44bf||0xcc;return function(_0x13c585){if(_0x13c585){return _0x54b8f6[_0x4fe2('0x27')](_0x4e44bf);}return _0x54b8f6['status'](_0x4e44bf)[_0x4fe2('0x28')]();};}function respondWithResult(_0x12776d,_0x4c4d13){_0x4c4d13=_0x4c4d13||0xc8;return function(_0x147415){if(_0x147415){return _0x12776d[_0x4fe2('0x29')](_0x4c4d13)[_0x4fe2('0x2a')](_0x147415);}};}function respondWithFilteredResult(_0xaabe3a,_0x562b0e){return function(_0x2a3e49){if(_0x2a3e49){var _0x207deb=typeof _0x562b0e['offset']===_0x4fe2('0x2b')&&typeof _0x562b0e['limit']===_0x4fe2('0x2b');var _0x57a728=_0x2a3e49['count'];var _0x57b6fc=_0x207deb?0x0:_0x562b0e[_0x4fe2('0x2c')];var _0x3df4be=_0x207deb?_0x2a3e49[_0x4fe2('0x2d')]:_0x562b0e[_0x4fe2('0x2c')]+_0x562b0e[_0x4fe2('0x2e')];var _0x15267a;if(_0x3df4be>=_0x57a728){_0x3df4be=_0x57a728;_0x15267a=0xc8;}else{_0x15267a=0xce;}_0xaabe3a[_0x4fe2('0x29')](_0x15267a);return _0xaabe3a[_0x4fe2('0x2f')](_0x4fe2('0x30'),_0x57b6fc+'-'+_0x3df4be+'/'+_0x57a728)[_0x4fe2('0x2a')](_0x2a3e49);}return null;};}function patchUpdates(_0x309da8){return function(_0x308936){try{jsonpatch[_0x4fe2('0x31')](_0x308936,_0x309da8,!![]);}catch(_0x2badfe){return BPromise[_0x4fe2('0x32')](_0x2badfe);}return _0x308936[_0x4fe2('0x33')]();};}function saveUpdates(_0x1ae2ae,_0x3aa09d){return function(_0x299125){if(_0x299125){return _0x299125['update'](_0x1ae2ae)['then'](function(_0x5481f0){return _0x5481f0;});}return null;};}function removeEntity(_0x3e9b20,_0x3458d5){return function(_0x71c901){if(_0x71c901){return _0x71c901[_0x4fe2('0x34')]()[_0x4fe2('0x1c')](function(){_0x3e9b20[_0x4fe2('0x29')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5848bb,_0x5d8596){return function(_0xb5fb6b){if(!_0xb5fb6b){_0x5848bb[_0x4fe2('0x27')](0x194);}return _0xb5fb6b;};}function handleError(_0x57fe1c,_0x22ab46){_0x22ab46=_0x22ab46||0x1f4;return function(_0x17a6c5){logger['error'](_0x17a6c5['stack']);if(_0x17a6c5[_0x4fe2('0x35')]){delete _0x17a6c5[_0x4fe2('0x35')];}_0x57fe1c['status'](_0x22ab46)[_0x4fe2('0x36')](_0x17a6c5);};}exports[_0x4fe2('0x37')]=function(_0x3476fe,_0x32bdf9){var _0x36ea0c={},_0x37e4ef={},_0x5c6a15={'count':0x0,'rows':[]};var _0x2e9446=_[_0x4fe2('0x38')](db[_0x4fe2('0x39')][_0x4fe2('0x3a')],function(_0x43718a){return{'name':_0x43718a[_0x4fe2('0x3b')],'type':_0x43718a[_0x4fe2('0x3c')][_0x4fe2('0x3d')]};});_0x37e4ef[_0x4fe2('0x3e')]=_[_0x4fe2('0x38')](_0x2e9446,'name');_0x37e4ef[_0x4fe2('0x3f')]=_[_0x4fe2('0x40')](_0x3476fe[_0x4fe2('0x3f')]);_0x37e4ef['filters']=_[_0x4fe2('0x41')](_0x37e4ef[_0x4fe2('0x3e')],_0x37e4ef[_0x4fe2('0x3f')]);_0x36ea0c[_0x4fe2('0x42')]=_[_0x4fe2('0x41')](_0x37e4ef[_0x4fe2('0x3e')],qs[_0x4fe2('0x43')](_0x3476fe[_0x4fe2('0x3f')]['fields']));_0x36ea0c[_0x4fe2('0x42')]=_0x36ea0c['attributes']['length']?_0x36ea0c[_0x4fe2('0x42')]:_0x37e4ef[_0x4fe2('0x3e')];if(!_0x3476fe[_0x4fe2('0x3f')][_0x4fe2('0x44')](_0x4fe2('0x45'))){_0x36ea0c[_0x4fe2('0x2e')]=qs[_0x4fe2('0x2e')](_0x3476fe[_0x4fe2('0x3f')][_0x4fe2('0x2e')]);_0x36ea0c[_0x4fe2('0x2c')]=qs[_0x4fe2('0x2c')](_0x3476fe[_0x4fe2('0x3f')][_0x4fe2('0x2c')]);}_0x36ea0c[_0x4fe2('0x46')]=qs[_0x4fe2('0x47')](_0x3476fe[_0x4fe2('0x3f')][_0x4fe2('0x47')]);_0x36ea0c['where']=qs[_0x4fe2('0x48')](_[_0x4fe2('0x49')](_0x3476fe[_0x4fe2('0x3f')],_0x37e4ef['filters']),_0x2e9446);if(_0x3476fe[_0x4fe2('0x3f')]['filter']){_0x36ea0c[_0x4fe2('0x4a')]=_[_0x4fe2('0x4b')](_0x36ea0c[_0x4fe2('0x4a')],{'$or':_[_0x4fe2('0x38')](_0x2e9446,function(_0x1cfa46){if(_0x1cfa46['type']!==_0x4fe2('0x4c')){var _0x3fc2b6={};_0x3fc2b6[_0x1cfa46[_0x4fe2('0x35')]]={'$like':'%'+_0x3476fe[_0x4fe2('0x3f')]['filter']+'%'};return _0x3fc2b6;}})});}_0x36ea0c=_['merge']({},_0x36ea0c,_0x3476fe['options']);var _0x3d8449={'where':_0x36ea0c[_0x4fe2('0x4a')]};return db[_0x4fe2('0x39')][_0x4fe2('0x2d')](_0x3d8449)[_0x4fe2('0x1c')](function(_0x40e351){_0x5c6a15[_0x4fe2('0x2d')]=_0x40e351;if(_0x3476fe[_0x4fe2('0x3f')][_0x4fe2('0x4d')]){_0x36ea0c[_0x4fe2('0x4e')]=[{'all':!![]}];}return db[_0x4fe2('0x39')][_0x4fe2('0x4f')](_0x36ea0c);})[_0x4fe2('0x1c')](function(_0x1121f6){_0x5c6a15['rows']=_0x1121f6;return _0x5c6a15;})['then'](respondWithFilteredResult(_0x32bdf9,_0x36ea0c))[_0x4fe2('0x26')](handleError(_0x32bdf9,null));};exports[_0x4fe2('0x50')]=function(_0x52c6e5,_0x18c103){var _0x18c1a3={'raw':![],'where':{'id':_0x52c6e5[_0x4fe2('0x51')]['id']}},_0x3a4b06={};_0x3a4b06['model']=_[_0x4fe2('0x40')](db['VtigerConfiguration']['rawAttributes']);_0x3a4b06['query']=_[_0x4fe2('0x40')](_0x52c6e5[_0x4fe2('0x3f')]);_0x3a4b06[_0x4fe2('0x48')]=_[_0x4fe2('0x41')](_0x3a4b06['model'],_0x3a4b06[_0x4fe2('0x3f')]);_0x18c1a3[_0x4fe2('0x42')]=_[_0x4fe2('0x41')](_0x3a4b06[_0x4fe2('0x3e')],qs[_0x4fe2('0x43')](_0x52c6e5['query'][_0x4fe2('0x43')]));_0x18c1a3['attributes']=_0x18c1a3[_0x4fe2('0x42')][_0x4fe2('0x52')]?_0x18c1a3[_0x4fe2('0x42')]:_0x3a4b06[_0x4fe2('0x3e')];if(_0x52c6e5[_0x4fe2('0x3f')][_0x4fe2('0x4d')]){_0x18c1a3[_0x4fe2('0x4e')]=[{'all':!![]}];}_0x18c1a3=_[_0x4fe2('0x4b')]({},_0x18c1a3,_0x52c6e5[_0x4fe2('0x53')]);return db[_0x4fe2('0x39')][_0x4fe2('0x54')](_0x18c1a3)[_0x4fe2('0x1c')](handleEntityNotFound(_0x18c103,null))[_0x4fe2('0x1c')](respondWithResult(_0x18c103,null))['catch'](handleError(_0x18c103,null));};exports[_0x4fe2('0x55')]=function(_0x1d96a6,_0x2ec945){return db[_0x4fe2('0x39')][_0x4fe2('0x55')](_0x1d96a6[_0x4fe2('0x56')],{})[_0x4fe2('0x1c')](respondWithResult(_0x2ec945,0xc9))['catch'](handleError(_0x2ec945,null));};exports[_0x4fe2('0x57')]=function(_0x54f947,_0x4fd7e1){if(_0x54f947[_0x4fe2('0x56')]['id']){delete _0x54f947['body']['id'];}return db[_0x4fe2('0x39')][_0x4fe2('0x54')]({'where':{'id':_0x54f947['params']['id']}})['then'](handleEntityNotFound(_0x4fd7e1,null))[_0x4fe2('0x1c')](saveUpdates(_0x54f947[_0x4fe2('0x56')],null))[_0x4fe2('0x1c')](respondWithResult(_0x4fd7e1,null))['catch'](handleError(_0x4fd7e1,null));};exports[_0x4fe2('0x34')]=function(_0x57c57b,_0x19a9c9){return db[_0x4fe2('0x39')][_0x4fe2('0x54')]({'where':{'id':_0x57c57b[_0x4fe2('0x51')]['id']}})[_0x4fe2('0x1c')](handleEntityNotFound(_0x19a9c9,null))[_0x4fe2('0x1c')](removeEntity(_0x19a9c9,null))[_0x4fe2('0x26')](handleError(_0x19a9c9,null));};exports[_0x4fe2('0x58')]=function(_0x4ab597,_0x31a740,_0x594c9f){var _0x5b7d1a={};var _0x4d1590={};var _0x5f4f67;var _0x6dfa28;return db[_0x4fe2('0x39')][_0x4fe2('0x59')]({'where':{'id':_0x4ab597[_0x4fe2('0x51')]['id']}})[_0x4fe2('0x1c')](handleEntityNotFound(_0x31a740,null))[_0x4fe2('0x1c')](function(_0x1024aa){if(_0x1024aa){_0x5f4f67=_0x1024aa;_0x4d1590[_0x4fe2('0x3e')]=_[_0x4fe2('0x40')](db[_0x4fe2('0x5a')][_0x4fe2('0x3a')]);_0x4d1590[_0x4fe2('0x3f')]=_[_0x4fe2('0x40')](_0x4ab597[_0x4fe2('0x3f')]);_0x4d1590[_0x4fe2('0x48')]=_[_0x4fe2('0x41')](_0x4d1590['model'],_0x4d1590[_0x4fe2('0x3f')]);_0x5b7d1a[_0x4fe2('0x42')]=_[_0x4fe2('0x41')](_0x4d1590['model'],qs['fields'](_0x4ab597['query'][_0x4fe2('0x43')]));_0x5b7d1a[_0x4fe2('0x42')]=_0x5b7d1a['attributes'][_0x4fe2('0x52')]?_0x5b7d1a['attributes']:_0x4d1590[_0x4fe2('0x3e')];_0x5b7d1a[_0x4fe2('0x46')]=qs[_0x4fe2('0x47')](_0x4ab597[_0x4fe2('0x3f')][_0x4fe2('0x47')]);_0x5b7d1a['where']=qs['filters'](_[_0x4fe2('0x49')](_0x4ab597['query'],_0x4d1590[_0x4fe2('0x48')]));if(_0x4ab597[_0x4fe2('0x3f')]['filter']){_0x5b7d1a[_0x4fe2('0x4a')]=_[_0x4fe2('0x4b')](_0x5b7d1a[_0x4fe2('0x4a')],{'$or':_[_0x4fe2('0x38')](_0x5b7d1a['attributes'],function(_0xa4f59e){var _0x5d5327={};_0x5d5327[_0xa4f59e]={'$like':'%'+_0x4ab597[_0x4fe2('0x3f')]['filter']+'%'};return _0x5d5327;})});}_0x5b7d1a=_[_0x4fe2('0x4b')]({},_0x5b7d1a,_0x4ab597['options']);return _0x5f4f67[_0x4fe2('0x58')](_0x5b7d1a);}})[_0x4fe2('0x1c')](function(_0x23cd42){if(_0x23cd42){_0x6dfa28=_0x23cd42['length'];if(!_0x4ab597[_0x4fe2('0x3f')][_0x4fe2('0x44')](_0x4fe2('0x45'))){_0x5b7d1a[_0x4fe2('0x2e')]=qs[_0x4fe2('0x2e')](_0x4ab597[_0x4fe2('0x3f')][_0x4fe2('0x2e')]);_0x5b7d1a[_0x4fe2('0x2c')]=qs[_0x4fe2('0x2c')](_0x4ab597['query']['offset']);}return _0x5f4f67['getFields'](_0x5b7d1a);}})[_0x4fe2('0x1c')](function(_0x23bb97){if(_0x23bb97){return _0x23bb97?{'count':_0x6dfa28,'rows':_0x23bb97}:null;}})[_0x4fe2('0x1c')](respondWithResult(_0x31a740,null))[_0x4fe2('0x26')](handleError(_0x31a740,null));};exports[_0x4fe2('0x5b')]=function(_0x58254f,_0x2ea3a7,_0x44be51){var _0x52bbda={};var _0x167b82={};var _0x71ea3c;var _0x432fa8;return db[_0x4fe2('0x39')][_0x4fe2('0x59')]({'where':{'id':_0x58254f[_0x4fe2('0x51')]['id']}})[_0x4fe2('0x1c')](handleEntityNotFound(_0x2ea3a7,null))[_0x4fe2('0x1c')](function(_0x2a8156){if(_0x2a8156){_0x71ea3c=_0x2a8156;_0x167b82[_0x4fe2('0x3e')]=_[_0x4fe2('0x40')](db[_0x4fe2('0x5a')]['rawAttributes']);_0x167b82[_0x4fe2('0x3f')]=_[_0x4fe2('0x40')](_0x58254f[_0x4fe2('0x3f')]);_0x167b82[_0x4fe2('0x48')]=_[_0x4fe2('0x41')](_0x167b82[_0x4fe2('0x3e')],_0x167b82[_0x4fe2('0x3f')]);_0x52bbda[_0x4fe2('0x42')]=_[_0x4fe2('0x41')](_0x167b82['model'],qs[_0x4fe2('0x43')](_0x58254f['query'][_0x4fe2('0x43')]));_0x52bbda[_0x4fe2('0x42')]=_0x52bbda[_0x4fe2('0x42')][_0x4fe2('0x52')]?_0x52bbda[_0x4fe2('0x42')]:_0x167b82[_0x4fe2('0x3e')];_0x52bbda[_0x4fe2('0x46')]=qs[_0x4fe2('0x47')](_0x58254f[_0x4fe2('0x3f')][_0x4fe2('0x47')]);_0x52bbda[_0x4fe2('0x4a')]=qs[_0x4fe2('0x48')](_[_0x4fe2('0x49')](_0x58254f['query'],_0x167b82['filters']));if(_0x58254f[_0x4fe2('0x3f')][_0x4fe2('0x5c')]){_0x52bbda['where']=_[_0x4fe2('0x4b')](_0x52bbda['where'],{'$or':_[_0x4fe2('0x38')](_0x52bbda['attributes'],function(_0xe43ab4){var _0x25b1bb={};_0x25b1bb[_0xe43ab4]={'$like':'%'+_0x58254f['query']['filter']+'%'};return _0x25b1bb;})});}_0x52bbda=_['merge']({},_0x52bbda,_0x58254f[_0x4fe2('0x53')]);return _0x71ea3c['getSubjects'](_0x52bbda);}})[_0x4fe2('0x1c')](function(_0xfca86d){if(_0xfca86d){_0x432fa8=_0xfca86d['length'];if(!_0x58254f[_0x4fe2('0x3f')]['hasOwnProperty'](_0x4fe2('0x45'))){_0x52bbda['limit']=qs['limit'](_0x58254f[_0x4fe2('0x3f')][_0x4fe2('0x2e')]);_0x52bbda[_0x4fe2('0x2c')]=qs['offset'](_0x58254f[_0x4fe2('0x3f')][_0x4fe2('0x2c')]);}return _0x71ea3c['getSubjects'](_0x52bbda);}})[_0x4fe2('0x1c')](function(_0x11c7ea){if(_0x11c7ea){return _0x11c7ea?{'count':_0x432fa8,'rows':_0x11c7ea}:null;}})[_0x4fe2('0x1c')](respondWithResult(_0x2ea3a7,null))[_0x4fe2('0x26')](handleError(_0x2ea3a7,null));};exports['getDescriptions']=function(_0x45533b,_0x46c094,_0x3366c1){var _0x46dc61={};var _0x3b6175={};var _0x4e9642;var _0x1536fa;return db[_0x4fe2('0x39')][_0x4fe2('0x59')]({'where':{'id':_0x45533b['params']['id']}})[_0x4fe2('0x1c')](handleEntityNotFound(_0x46c094,null))[_0x4fe2('0x1c')](function(_0x133970){if(_0x133970){_0x4e9642=_0x133970;_0x3b6175['model']=_['keys'](db['VtigerField']['rawAttributes']);_0x3b6175[_0x4fe2('0x3f')]=_[_0x4fe2('0x40')](_0x45533b[_0x4fe2('0x3f')]);_0x3b6175[_0x4fe2('0x48')]=_[_0x4fe2('0x41')](_0x3b6175['model'],_0x3b6175[_0x4fe2('0x3f')]);_0x46dc61[_0x4fe2('0x42')]=_['intersection'](_0x3b6175[_0x4fe2('0x3e')],qs[_0x4fe2('0x43')](_0x45533b[_0x4fe2('0x3f')][_0x4fe2('0x43')]));_0x46dc61['attributes']=_0x46dc61[_0x4fe2('0x42')][_0x4fe2('0x52')]?_0x46dc61['attributes']:_0x3b6175[_0x4fe2('0x3e')];_0x46dc61[_0x4fe2('0x46')]=qs[_0x4fe2('0x47')](_0x45533b[_0x4fe2('0x3f')][_0x4fe2('0x47')]);_0x46dc61['where']=qs['filters'](_[_0x4fe2('0x49')](_0x45533b[_0x4fe2('0x3f')],_0x3b6175[_0x4fe2('0x48')]));if(_0x45533b[_0x4fe2('0x3f')][_0x4fe2('0x5c')]){_0x46dc61[_0x4fe2('0x4a')]=_[_0x4fe2('0x4b')](_0x46dc61['where'],{'$or':_[_0x4fe2('0x38')](_0x46dc61[_0x4fe2('0x42')],function(_0x4ec20f){var _0x472442={};_0x472442[_0x4ec20f]={'$like':'%'+_0x45533b[_0x4fe2('0x3f')][_0x4fe2('0x5c')]+'%'};return _0x472442;})});}_0x46dc61=_[_0x4fe2('0x4b')]({},_0x46dc61,_0x45533b[_0x4fe2('0x53')]);return _0x4e9642[_0x4fe2('0x5d')](_0x46dc61);}})[_0x4fe2('0x1c')](function(_0x317db7){if(_0x317db7){_0x1536fa=_0x317db7[_0x4fe2('0x52')];if(!_0x45533b[_0x4fe2('0x3f')][_0x4fe2('0x44')]('nolimit')){_0x46dc61[_0x4fe2('0x2e')]=qs[_0x4fe2('0x2e')](_0x45533b[_0x4fe2('0x3f')][_0x4fe2('0x2e')]);_0x46dc61['offset']=qs[_0x4fe2('0x2c')](_0x45533b[_0x4fe2('0x3f')][_0x4fe2('0x2c')]);}return _0x4e9642[_0x4fe2('0x5d')](_0x46dc61);}})['then'](function(_0x568001){if(_0x568001){return _0x568001?{'count':_0x1536fa,'rows':_0x568001}:null;}})[_0x4fe2('0x1c')](respondWithResult(_0x46c094,null))['catch'](handleError(_0x46c094,null));};
\ No newline at end of file