UNPKG

evelodb

Version:

An awesome local database management system with nodejs. Made by Evelocore. With B-tree Operations & AES Encryption.

1 lines 20.4 kB
const _0x5c3759=_0x110f;(function(_0x3f95a5,_0x3a3f06){const _0x11cd83=_0x110f,_0x54e159=_0x3f95a5();while(!![]){try{const _0x23fcd4=-parseInt(_0x11cd83(0x110))/0x1*(-parseInt(_0x11cd83(0x11c))/0x2)+parseInt(_0x11cd83(0x167))/0x3*(parseInt(_0x11cd83(0x111))/0x4)+-parseInt(_0x11cd83(0x162))/0x5+-parseInt(_0x11cd83(0x11d))/0x6+-parseInt(_0x11cd83(0x151))/0x7*(-parseInt(_0x11cd83(0x163))/0x8)+-parseInt(_0x11cd83(0x147))/0x9+parseInt(_0x11cd83(0x136))/0xa;if(_0x23fcd4===_0x3a3f06)break;else _0x54e159['push'](_0x54e159['shift']());}catch(_0x61220b){_0x54e159['push'](_0x54e159['shift']());}}}(_0x2994,0x57e76));const fs=require('fs'),{encrypt,decrypt,generateKey}=require(_0x5c3759(0x17c)),{BSON,ObjectId}=require(_0x5c3759(0x14d)),defaultConfig={'directory':_0x5c3759(0x171),'extension':_0x5c3759(0x152),'tabspace':0x3,'encode':_0x5c3759(0x152),'encryption':null,'encryptionKey':null,'noRepeat':![],'autoPrimaryKey':!![]};function deepCompare(_0x30d59c,_0x208d75){const _0x3cf139=_0x5c3759;if(typeof _0x30d59c===_0x3cf139(0x15a)&&typeof _0x208d75===_0x3cf139(0x15a)){if(Array[_0x3cf139(0x10d)](_0x30d59c)){if(!Array[_0x3cf139(0x10d)](_0x208d75))return![];if(_0x30d59c[_0x3cf139(0x11a)]!==_0x208d75[_0x3cf139(0x11a)])return![];for(let _0x56bbe3=0x0;_0x56bbe3<_0x30d59c[_0x3cf139(0x11a)];_0x56bbe3++){if(!deepCompare(_0x30d59c[_0x56bbe3],_0x208d75[_0x56bbe3]))return![];}return!![];}else{const _0x38574e=Object[_0x3cf139(0x14c)](_0x30d59c),_0x3e4dab=Object[_0x3cf139(0x14c)](_0x208d75);if(_0x38574e[_0x3cf139(0x11a)]!==_0x3e4dab[_0x3cf139(0x11a)])return![];for(let _0x5575f6 of _0x38574e){if(!deepCompare(_0x30d59c[_0x5575f6],_0x208d75[_0x5575f6]))return![];}return!![];}}else return _0x30d59c===_0x208d75;}class BTreeNode{constructor(_0x56bebf){const _0x2ca2dd=_0x5c3759;this['keys']=[],this[_0x2ca2dd(0x149)]=[],this[_0x2ca2dd(0x165)]=_0x56bebf;}}function _0x110f(_0x47e2a4,_0x5b2c28){const _0x299468=_0x2994();return _0x110f=function(_0x110f98,_0x435ce4){_0x110f98=_0x110f98-0x10d;let _0x54ab9c=_0x299468[_0x110f98];return _0x54ab9c;},_0x110f(_0x47e2a4,_0x5b2c28);}class BTree{constructor(_0x5a4af2){const _0x51bc13=_0x5c3759;this[_0x51bc13(0x178)]=_0x5a4af2,this[_0x51bc13(0x156)]=new BTreeNode(!![]);}[_0x5c3759(0x177)](_0x5f497b,_0x40ce7f){const _0x4e8bcf=_0x5c3759;let _0x2b3d87=this[_0x4e8bcf(0x156)];if(_0x2b3d87[_0x4e8bcf(0x14c)]['length']===this[_0x4e8bcf(0x178)]-0x1){let _0x5df84e=new BTreeNode(![]);_0x5df84e[_0x4e8bcf(0x149)][_0x4e8bcf(0x135)](_0x2b3d87),this[_0x4e8bcf(0x142)](_0x5df84e,0x0),this['root']=_0x5df84e;}this['insertNonFull'](this[_0x4e8bcf(0x156)],[_0x5f497b,_0x40ce7f]);}[_0x5c3759(0x13e)](_0x59dc2d,_0x212845){const _0x341831=_0x5c3759;let _0x5dfb75=_0x59dc2d[_0x341831(0x14c)][_0x341831(0x11a)]-0x1;if(_0x59dc2d[_0x341831(0x165)]){_0x59dc2d['keys'][_0x341831(0x135)](null);while(_0x5dfb75>=0x0&&_0x212845[0x0]<_0x59dc2d[_0x341831(0x14c)][_0x5dfb75][0x0]){_0x59dc2d[_0x341831(0x14c)][_0x5dfb75+0x1]=_0x59dc2d[_0x341831(0x14c)][_0x5dfb75],_0x5dfb75--;}_0x59dc2d['keys'][_0x5dfb75+0x1]=_0x212845;}else{while(_0x5dfb75>=0x0&&_0x212845[0x0]<_0x59dc2d['keys'][_0x5dfb75][0x0]){_0x5dfb75--;}_0x5dfb75++,_0x59dc2d[_0x341831(0x149)][_0x5dfb75][_0x341831(0x14c)][_0x341831(0x11a)]===this[_0x341831(0x178)]-0x1&&(this[_0x341831(0x142)](_0x59dc2d,_0x5dfb75),_0x212845[0x0]>_0x59dc2d[_0x341831(0x14c)][_0x5dfb75][0x0]&&_0x5dfb75++),this[_0x341831(0x13e)](_0x59dc2d[_0x341831(0x149)][_0x5dfb75],_0x212845);}}[_0x5c3759(0x142)](_0x21edee,_0x3f3972){const _0x28c6ad=_0x5c3759;let _0xacd726=this[_0x28c6ad(0x178)],_0x387826=_0x21edee[_0x28c6ad(0x149)][_0x3f3972],_0x282b1c=new BTreeNode(_0x387826[_0x28c6ad(0x165)]);_0x21edee[_0x28c6ad(0x14c)]['splice'](_0x3f3972,0x0,_0x387826[_0x28c6ad(0x14c)][Math[_0x28c6ad(0x12b)](_0xacd726/0x2)]),_0x21edee['children'][_0x28c6ad(0x12a)](_0x3f3972+0x1,0x0,_0x282b1c),_0x282b1c['keys']=_0x387826[_0x28c6ad(0x14c)][_0x28c6ad(0x12a)](Math[_0x28c6ad(0x12b)](_0xacd726/0x2)+0x1),!_0x387826[_0x28c6ad(0x165)]&&(_0x282b1c[_0x28c6ad(0x149)]=_0x387826[_0x28c6ad(0x149)][_0x28c6ad(0x12a)](Math[_0x28c6ad(0x12b)](_0xacd726/0x2)+0x1));}[_0x5c3759(0x114)](_0x46f0eb){const _0x5c7da1=_0x5c3759;let _0x46ab24=[];for(let _0x10fc80=0x0;_0x10fc80<_0x46f0eb[_0x5c7da1(0x14c)][_0x5c7da1(0x11a)];_0x10fc80++){!_0x46f0eb[_0x5c7da1(0x165)]&&(_0x46ab24=_0x46ab24[_0x5c7da1(0x16f)](this[_0x5c7da1(0x114)](_0x46f0eb['children'][_0x10fc80]))),_0x46ab24[_0x5c7da1(0x135)](_0x46f0eb[_0x5c7da1(0x14c)][_0x10fc80][0x1]);}return!_0x46f0eb[_0x5c7da1(0x165)]&&_0x46f0eb[_0x5c7da1(0x149)]['length']>_0x46f0eb[_0x5c7da1(0x14c)][_0x5c7da1(0x11a)]&&(_0x46ab24=_0x46ab24['concat'](this[_0x5c7da1(0x114)](_0x46f0eb[_0x5c7da1(0x149)][_0x46f0eb['keys'][_0x5c7da1(0x11a)]]))),_0x46ab24;}}class eveloDB{constructor(_0x29d83a={}){const _0x525135=_0x5c3759;this[_0x525135(0x155)]={...defaultConfig,..._0x29d83a};if(this[_0x525135(0x155)][_0x525135(0x133)]===_0x525135(0x14d)&&this[_0x525135(0x155)][_0x525135(0x11f)]&&this[_0x525135(0x155)][_0x525135(0x159)])throw new Error('BSON\x20encoding\x20does\x20not\x20support\x20encryption.\x20Please\x20set\x20\x22encryption\x22\x20and\x20\x22encryptionKey\x22\x20to\x20null\x20or\x20use\x20\x22json\x22\x20encoding.');this[_0x525135(0x155)][_0x525135(0x133)]===_0x525135(0x14d)&&(!_0x29d83a['extension']&&(this[_0x525135(0x155)][_0x525135(0x117)]=_0x525135(0x14d)),this[_0x525135(0x155)]['tabspace']=0x0,this['config'][_0x525135(0x11f)]=null,this[_0x525135(0x155)]['encryptionKey']=null);if(this[_0x525135(0x155)][_0x525135(0x11f)]){const _0x4f1fed=this['config'][_0x525135(0x159)],_0x4bc6a6=this[_0x525135(0x155)][_0x525135(0x11f)];if(!_0x4f1fed)throw new Error('Encryption\x20key\x20required\x20when\x20encryption\x20is\x20enabled');const _0x229f1a={'aes-128-cbc':0x20,'aes-192-cbc':0x30,'aes-256-cbc':0x40,'aes-128-gcm':0x20,'aes-256-gcm':0x40},_0x499c96=_0x229f1a[_0x4bc6a6];if(!_0x499c96)throw new Error(_0x525135(0x17a)+_0x4bc6a6);if(_0x4f1fed['length']!==_0x499c96)throw new Error(_0x4bc6a6[_0x525135(0x122)]()+_0x525135(0x15e)+_0x499c96+_0x525135(0x129)+_0x499c96/0x2+'\x20bytes)');}this[_0x525135(0x13f)]=new BTree(0x3),!fs[_0x525135(0x173)](this[_0x525135(0x155)][_0x525135(0x16d)])&&fs[_0x525135(0x148)](this['config']['directory'],{'recursive':!![]});}[_0x5c3759(0x13a)](_0x163e5d){const _0x5be4c5=_0x5c3759;if(this['config'][_0x5be4c5(0x133)]===_0x5be4c5(0x14d))return _0x163e5d;return encrypt(_0x163e5d,this['config'][_0x5be4c5(0x11f)],this[_0x5be4c5(0x155)][_0x5be4c5(0x159)]);}['decrypt'](_0x3fa8b5){const _0x48dd60=_0x5c3759;if(this['config'][_0x48dd60(0x133)]==='bson')return _0x3fa8b5;return decrypt(_0x3fa8b5,this[_0x48dd60(0x155)][_0x48dd60(0x11f)],this[_0x48dd60(0x155)][_0x48dd60(0x159)]);}['encodeData'](_0x569129){const _0x39acfc=_0x5c3759;if(this['config'][_0x39acfc(0x133)]===_0x39acfc(0x14d)){const _0x397c1c={'db':_0x569129};return BSON['serialize'](_0x397c1c);}if(this[_0x39acfc(0x155)][_0x39acfc(0x133)]===_0x39acfc(0x152))return JSON[_0x39acfc(0x140)](_0x569129,null,this[_0x39acfc(0x155)][_0x39acfc(0x145)]);return JSON[_0x39acfc(0x140)](_0x569129,null,this[_0x39acfc(0x155)][_0x39acfc(0x145)]);}[_0x5c3759(0x12c)](_0x323c04){const _0x31f64c=_0x5c3759;if(this[_0x31f64c(0x155)]['encode']===_0x31f64c(0x14d)){const {db:_0x2667ee}=BSON['deserialize'](_0x323c04);return _0x2667ee;}if(this[_0x31f64c(0x155)]['encode']===_0x31f64c(0x152))return JSON[_0x31f64c(0x14b)](_0x323c04);return JSON[_0x31f64c(0x14b)](_0x323c04);}[_0x5c3759(0x164)](_0x34f39f){const _0x2e8a6b=_0x5c3759,_0x4ce782=this[_0x2e8a6b(0x155)]['encode']===_0x2e8a6b(0x14d)?fs['readFileSync'](_0x34f39f):fs[_0x2e8a6b(0x153)](_0x34f39f,_0x2e8a6b(0x134)),_0x1140a6=this[_0x2e8a6b(0x155)][_0x2e8a6b(0x11f)]?this[_0x2e8a6b(0x176)](_0x4ce782):this['decodeData'](_0x4ce782);return _0x1140a6;}[_0x5c3759(0x14e)](_0xd696c2,_0x5af574){const _0x430e8a=_0x5c3759,_0xa3879a=this['config'][_0x430e8a(0x11f)]?this[_0x430e8a(0x13a)](_0x5af574):this[_0x430e8a(0x141)](_0x5af574);return fs['writeFileSync'](_0xd696c2,_0xa3879a),!![];}[_0x5c3759(0x125)](_0x220cb0){return generateKey(_0x220cb0);}[_0x5c3759(0x123)](_0x36c6e4){const _0x3669bd=_0x5c3759;return this[_0x3669bd(0x155)][_0x3669bd(0x16d)]+'/'+_0x36c6e4+'.'+this[_0x3669bd(0x155)][_0x3669bd(0x117)];}['create'](_0x414082,_0x1a5bb9){const _0x24d404=_0x5c3759;if(!_0x414082)return{'err':_0x24d404(0x124)};if(!_0x1a5bb9||typeof _0x1a5bb9!==_0x24d404(0x15a))return{'err':'Valid\x20data\x20object\x20required'};const _0x516c7f=this[_0x24d404(0x123)](_0x414082);let _0x46bd21=[];if(fs['existsSync'](_0x516c7f)){_0x46bd21=this['readFileData'](_0x516c7f);if(this[_0x24d404(0x155)][_0x24d404(0x11b)]){const _0x215346=_0x46bd21[_0x24d404(0x15f)](_0x50fa43=>{return Object['keys'](_0x1a5bb9)['every'](_0x27fdca=>{if(_0x27fdca==='__id')return!![];return deepCompare(_0x50fa43[_0x27fdca],_0x1a5bb9[_0x27fdca]);})&&Object['keys'](_0x1a5bb9)['every'](_0x15d88d=>_0x15d88d in _0x50fa43);});if(_0x215346)return{'err':_0x24d404(0x169),'code':_0x24d404(0x15d)};}}const _0x3e2345={..._0x1a5bb9};let _0x2f9e17;return this['config']['autoPrimaryKey']&&(_0x2f9e17=typeof this[_0x24d404(0x155)][_0x24d404(0x115)]===_0x24d404(0x16e)&&this[_0x24d404(0x155)][_0x24d404(0x115)][_0x24d404(0x11a)]>0x0?this[_0x24d404(0x155)]['autoPrimaryKey']:_0x24d404(0x154),!_0x3e2345[_0x24d404(0x17d)](_0x2f9e17)&&(_0x3e2345[_0x2f9e17]=this['generateUniqueId']())),_0x46bd21[_0x24d404(0x135)](_0x3e2345),this['writeFileData'](_0x516c7f,_0x46bd21),_0x3e2345[_0x24d404(0x137)]&&this[_0x24d404(0x13f)][_0x24d404(0x177)](_0x3e2345[_0x24d404(0x137)],_0x3e2345),{'success':!![],..._0x2f9e17&&_0x3e2345[_0x2f9e17]?{[_0x2f9e17]:_0x3e2345[_0x2f9e17]}:{}};}[_0x5c3759(0x16a)](_0x261082,_0x411f9d){const _0x228832=_0x5c3759;if(!_0x261082)return{'err':_0x228832(0x170)};if(!_0x411f9d)return{'err':_0x228832(0x138)};const _0x1a9395=this[_0x228832(0x123)](_0x261082);if(!fs[_0x228832(0x173)](_0x1a9395))return{'err':0x194};let _0x5e916b=this[_0x228832(0x164)](_0x1a9395);const _0x2b220b=_0x5e916b[_0x228832(0x16b)](_0x599b07=>{const _0x7a2326=_0x228832;return!Object['entries'](_0x411f9d)[_0x7a2326(0x160)](([_0xdac092,_0x563845])=>{return typeof _0x563845==='object'?deepCompare(_0x599b07[_0xdac092],_0x563845):_0x599b07[_0xdac092]===_0x563845;});});return this[_0x228832(0x14e)](_0x1a9395,_0x2b220b),{'success':!![]};}[_0x5c3759(0x119)](_0x5643e0,_0x51ef7d){const _0xef3b4f=_0x5c3759;if(!_0x5643e0)return{'err':_0xef3b4f(0x170)};if(!_0x51ef7d)return{'err':_0xef3b4f(0x12f)};const _0x31e953=this[_0xef3b4f(0x123)](_0x5643e0);return this['writeFileData'](_0x31e953,_0x51ef7d),{'success':!![]};}[_0x5c3759(0x126)](_0x3b4055,_0x5a91bd){const _0x4c8abf=_0x5c3759;if(!_0x3b4055)return{'err':_0x4c8abf(0x170)};if(!_0x5a91bd)return{'err':'conditions\x20required!'};const _0x24b721=this[_0x4c8abf(0x123)](_0x3b4055);if(!fs[_0x4c8abf(0x173)](_0x24b721))return{'err':0x194};let _0x26050a=this[_0x4c8abf(0x164)](_0x24b721);return _0x26050a[_0x4c8abf(0x16b)](_0x42cee6=>{return Object['entries'](_0x5a91bd)['every'](([_0x2b7b32,_0x3ea377])=>_0x42cee6[_0x2b7b32]===_0x3ea377);});}[_0x5c3759(0x172)](_0x1c4e66,_0x525df2){const _0xed3524=_0x5c3759;if(!_0x1c4e66)return{'err':_0xed3524(0x170)};if(!_0x525df2)return{'err':_0xed3524(0x138)};const _0x5a3fb2=this[_0xed3524(0x123)](_0x1c4e66);if(!fs[_0xed3524(0x173)](_0x5a3fb2))return{'err':0x194};let _0x4b96a7=this[_0xed3524(0x164)](_0x5a3fb2);return _0x4b96a7[_0xed3524(0x126)](_0x3fd623=>{const _0x2603bd=_0xed3524;return Object['entries'](_0x525df2)[_0x2603bd(0x160)](([_0x515f20,_0x25ba24])=>_0x3fd623[_0x515f20]===_0x25ba24);})||null;}[_0x5c3759(0x118)](_0x5d0a65,_0x23f677){const _0x27d91b=_0x5c3759;if(!_0x5d0a65)return{'err':_0x27d91b(0x170)};if(!_0x23f677)return{'err':_0x27d91b(0x138)};const _0x45d126=this[_0x27d91b(0x123)](_0x5d0a65);if(!fs[_0x27d91b(0x173)](_0x45d126))return{'err':0x194};let _0x17361c=this[_0x27d91b(0x164)](_0x45d126);return _0x17361c[_0x27d91b(0x16b)](_0x11090c=>{const _0x154ef6=_0x27d91b;return Object[_0x154ef6(0x127)](_0x23f677)[_0x154ef6(0x160)](([_0x446552,_0x5d71e3])=>{const _0x4526c3=_0x154ef6;if(_0x11090c[_0x446552]!==undefined&&_0x11090c[_0x446552]!==null)return _0x11090c[_0x446552][_0x4526c3(0x128)]()[_0x4526c3(0x12e)](new RegExp(_0x5d71e3,'i'));return![];});});}[_0x5c3759(0x16c)](_0x1470b7){const _0x224d41=_0x5c3759;if(!_0x1470b7)return{'err':'collection\x20required!'};const _0x29b7ab=this['getFilePath'](_0x1470b7);if(!fs[_0x224d41(0x173)](_0x29b7ab))return{'err':0x194};return this[_0x224d41(0x164)](_0x29b7ab);}['count'](_0x1a0de4){const _0x22a284=_0x5c3759;if(!_0x1a0de4)return{'success':![],'err':_0x22a284(0x170)};const _0x41cfb9=this['get'](_0x1a0de4);if(_0x41cfb9['err'])return{'success':![],'err':_0x41cfb9[_0x22a284(0x116)]===0x194?_0x22a284(0x14a):_0x41cfb9[_0x22a284(0x116)]};if(!Array[_0x22a284(0x10d)](_0x41cfb9))return{'success':![],'err':_0x22a284(0x157)};return{'success':!![],'count':_0x41cfb9[_0x22a284(0x11a)]};}[_0x5c3759(0x168)](_0x393212,_0x4b5b0b){const _0x5db2bc=_0x5c3759;if(!_0x393212)return{'err':_0x5db2bc(0x170)};if(!_0x4b5b0b)return{'err':_0x5db2bc(0x138)};return this[_0x5db2bc(0x126)](_0x393212,_0x4b5b0b)[_0x5db2bc(0x11a)]>0x0;}[_0x5c3759(0x130)](_0x48d69f,_0x1b80d0,_0x982c75){const _0x1b168d=_0x5c3759;if(!_0x48d69f)return{'err':_0x1b168d(0x124)};if(!_0x1b80d0)return{'err':_0x1b168d(0x10e)};if(!_0x982c75)return{'err':_0x1b168d(0x166)};const _0x26146e=this[_0x1b168d(0x123)](_0x48d69f);if(!fs[_0x1b168d(0x173)](_0x26146e))return{'err':_0x1b168d(0x14a),'code':0x194};let _0x597f52=this[_0x1b168d(0x164)](_0x26146e),_0x7be9f7=0x0,_0x5b6eb3=![];const _0x9842d2=_0x597f52[_0x1b168d(0x121)](_0x17705f=>{const _0xa86f3f=_0x1b168d;if(Object[_0xa86f3f(0x127)](_0x1b80d0)['every'](([_0x232da8,_0x65a5c9])=>{return _0x17705f[_0x232da8]===_0x65a5c9||deepCompare(_0x17705f[_0x232da8],_0x65a5c9);})){const _0x250c9e={..._0x17705f,..._0x982c75};if(this[_0xa86f3f(0x155)][_0xa86f3f(0x11b)]){const _0x294a6a=_0x597f52['some'](_0x574280=>{const _0x2da330=_0xa86f3f;if(_0x574280[_0x2da330(0x139)]&&_0x17705f['__id']&&_0x574280['__id']===_0x17705f[_0x2da330(0x139)])return![];return Object[_0x2da330(0x14c)](_0x982c75)[_0x2da330(0x160)](_0x5b8369=>{const _0x199884=_0x2da330;if(_0x5b8369===_0x199884(0x139))return![];return deepCompare(_0x574280[_0x5b8369],_0x250c9e[_0x5b8369]);});});if(_0x294a6a)return _0x5b6eb3=!![],_0x17705f;}return _0x7be9f7++,_0x250c9e;}return _0x17705f;});if(_0x5b6eb3)return{'err':_0x1b168d(0x15b),'code':_0x1b168d(0x15d)};if(_0x7be9f7===0x0)return{'err':'No\x20matching\x20records\x20found','code':_0x1b168d(0x179)};return this[_0x1b168d(0x14e)](_0x26146e,_0x9842d2),{'success':!![],'modifiedCount':_0x7be9f7};}[_0x5c3759(0x112)](_0x101c4c){const _0x1f40a4=_0x5c3759;if(!_0x101c4c)return{'err':_0x1f40a4(0x170)};const _0x129d1e=this[_0x1f40a4(0x123)](_0x101c4c);return fs['existsSync'](_0x129d1e)?(fs[_0x1f40a4(0x113)](_0x129d1e),{'success':!![]}):{'err':0x194};}['reset'](_0x3beaec){const _0x180580=_0x5c3759;return this[_0x180580(0x112)](_0x3beaec);}[_0x5c3759(0x15c)]({from:_0x13e1fe,to:_0x21a907,collections:_0x39aca6}){const _0x138e9c=_0x5c3759;if(this[_0x138e9c(0x155)]['encode']!=='json'&&(_0x13e1fe[_0x138e9c(0x11f)]||_0x13e1fe['encryptionKey']||_0x21a907[_0x138e9c(0x11f)]||_0x21a907[_0x138e9c(0x159)]))throw new Error('Cannot\x20change\x20encryption\x20settings\x20while\x20encoding\x20is\x20not\x20JSON');const _0x5496bc=require(_0x138e9c(0x11e)),_0x219ae5=fs[_0x138e9c(0x120)](_0x13e1fe[_0x138e9c(0x16d)]||this[_0x138e9c(0x155)]['directory']),{encrypt:_0x402dd9,decrypt:_0x523a17}=require(_0x138e9c(0x17c)),_0x3cbb32={'aes-128-cbc':0x20,'aes-192-cbc':0x30,'aes-256-cbc':0x40,'aes-128-gcm':0x20,'aes-256-gcm':0x40},_0x3b4079=(_0x229e65,_0x3e1da2)=>{const _0x2fb88a=_0x138e9c;if(!_0x3e1da2)return;if(!_0x229e65||_0x229e65[_0x2fb88a(0x11a)]!==_0x3cbb32[_0x3e1da2])throw new Error(_0x3e1da2+_0x2fb88a(0x161)+_0x3cbb32[_0x3e1da2]+_0x2fb88a(0x174));};_0x3b4079(_0x13e1fe['encryptionKey'],_0x13e1fe[_0x138e9c(0x11f)]),_0x3b4079(_0x21a907[_0x138e9c(0x159)],_0x21a907[_0x138e9c(0x11f)]);let _0x28e3ac=0x0,_0x48228c=0x0;const _0x302360=_0x13e1fe[_0x138e9c(0x117)]||this['config'][_0x138e9c(0x117)],_0x18863d=_0x21a907[_0x138e9c(0x117)]||this[_0x138e9c(0x155)]['extension'],_0x1ff8a9=_0x13e1fe[_0x138e9c(0x16d)]||this[_0x138e9c(0x155)]['directory'],_0x59d0ea=_0x21a907[_0x138e9c(0x16d)]||this[_0x138e9c(0x155)][_0x138e9c(0x16d)];!fs[_0x138e9c(0x173)](_0x59d0ea)&&fs[_0x138e9c(0x148)](_0x59d0ea,{'recursive':!![]});_0x219ae5['forEach'](_0x207552=>{const _0x4c7407=_0x138e9c,_0x5d597a=_0x5496bc[_0x4c7407(0x13c)](_0x207552)[_0x4c7407(0x143)](0x1),_0x5dae4f=_0x5496bc['basename'](_0x207552,'.'+_0x5d597a);if(_0x5d597a!==_0x302360)return;if(_0x39aca6&&!_0x39aca6[_0x4c7407(0x12d)](_0x5dae4f))return;const _0x464467=_0x5496bc[_0x4c7407(0x13b)](_0x1ff8a9,_0x207552),_0x163df4=_0x5496bc[_0x4c7407(0x13b)](_0x59d0ea,_0x5dae4f+'.'+_0x18863d);try{const _0x3b7b2b=fs['readFileSync'](_0x464467,_0x4c7407(0x134)),_0x560c91=_0x13e1fe[_0x4c7407(0x11f)]?_0x523a17(_0x3b7b2b,_0x13e1fe[_0x4c7407(0x11f)],_0x13e1fe[_0x4c7407(0x159)]):JSON[_0x4c7407(0x14b)](_0x3b7b2b),_0x3a3574=_0x21a907['encryption']?_0x402dd9(_0x560c91,_0x21a907['encryption'],_0x21a907[_0x4c7407(0x159)]):JSON[_0x4c7407(0x140)](_0x560c91,null,0x3);fs['writeFileSync'](_0x163df4,_0x3a3574),_0x28e3ac++,_0x464467!==_0x163df4&&fs[_0x4c7407(0x173)](_0x464467)&&fs['unlinkSync'](_0x464467);}catch(_0x4f5c82){console[_0x4c7407(0x158)](_0x4c7407(0x150)+_0x207552+':\x20'+_0x4f5c82[_0x4c7407(0x131)]),_0x48228c++;}});if(_0x1ff8a9!==_0x59d0ea&&fs[_0x138e9c(0x173)](_0x1ff8a9)){const _0x5dc8d0=fs[_0x138e9c(0x120)](_0x1ff8a9);_0x5dc8d0[_0x138e9c(0x11a)]===0x0&&fs[_0x138e9c(0x13d)](_0x1ff8a9,{'recursive':!![]});}return{'success':!![],'converted':_0x28e3ac,'failed':_0x48228c};}[_0x5c3759(0x144)](_0x37e449){const _0x167a2b=_0x5c3759;if(!_0x37e449)return{'err':_0x167a2b(0x170)};const _0x4b7195=this['getFilePath'](_0x37e449);if(!fs[_0x167a2b(0x173)](_0x4b7195))return{'err':0x194};let _0x4cf824=this[_0x167a2b(0x164)](_0x4b7195);this[_0x167a2b(0x13f)]=new BTree(0x3),_0x4cf824[_0x167a2b(0x17b)](_0x52d240=>{const _0x32672f=_0x167a2b;_0x52d240[_0x32672f(0x137)]?this['btree'][_0x32672f(0x177)](_0x52d240[_0x32672f(0x137)],_0x52d240):console[_0x32672f(0x158)](_0x32672f(0x175),_0x52d240);});}[_0x5c3759(0x10f)](){const _0x17befd=_0x5c3759;return this[_0x17befd(0x13f)][_0x17befd(0x114)](this[_0x17befd(0x13f)][_0x17befd(0x156)]);}['generateUniqueId'](){const _0xca1f7a=_0x5c3759;if(this[_0xca1f7a(0x155)]['encode']==='bson')return new ObjectId();const _0x555a82=Date['now']()[_0xca1f7a(0x128)](0x24),_0x2d5ab2=Math[_0xca1f7a(0x132)]()[_0xca1f7a(0x128)](0x24)[_0xca1f7a(0x146)](0x2,0x8);return _0x555a82+'-'+_0x2d5ab2;}}function _0x2994(){const _0x45b01a=['push','1157680NlfRIX','token','conditions\x20required!','__id','encrypt','join','extname','rmdirSync','insertNonFull','btree','stringify','encodeData','splitChild','slice','rebuildBTree','tabspace','substring','5293170zJLHCI','mkdirSync','children','Collection\x20not\x20found','parse','keys','bson','writeFileData','exports','Failed\x20to\x20convert\x20','56lBjvcK','json','readFileSync','_id','config','root','Invalid\x20collection\x20data\x20format','error','encryptionKey','object','Edit\x20would\x20create\x20duplicate\x20data\x20(noRepeat\x20enabled)','changeConfig','DUPLICATE_DATA','\x20requires\x20a\x20','some','every','\x20requires\x20','3001495XAfFhi','534784vCAoXW','readFileData','isLeaf','New\x20data\x20required','3AERfMn','check','Duplicate\x20data\x20-\x20record\x20already\x20exists\x20(noRepeat\x20enabled)','delete','filter','get','directory','string','concat','collection\x20required!','./evelodatabase','findOne','existsSync','\x20hex\x20characters','Item\x20is\x20missing\x20a\x20token:','decrypt','insert','order','NO_MATCH','Unsupported\x20encryption\x20algorithm:\x20','forEach','./encryption','hasOwnProperty','isArray','Conditions\x20required','getAllFromBTree','1OdzLVz','1951172TjjXGA','drop','unlinkSync','traverse','autoPrimaryKey','err','extension','search','inject','length','noRepeat','989860auOVez','508752SaSeNM','path','encryption','readdirSync','map','toUpperCase','getFilePath','Collection\x20name\x20required','generateKey','find','entries','toString','-character\x20hex\x20key\x20(','splice','floor','decodeData','includes','match','data\x20required!','edit','message','random','encode','utf8'];_0x2994=function(){return _0x45b01a;};return _0x2994();}module[_0x5c3759(0x14f)]=eveloDB;