vome-core 0.0.13 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/admin/api/client.js +147 -1
  2. package/dist/admin/config/plugin-dev.js +1 -1
  3. package/dist/admin/crud/config.js +1 -1
  4. package/dist/admin/crud/confirm.js +1 -1
  5. package/dist/admin/crud/dict.js +1 -1
  6. package/dist/admin/crud/index.js +1 -1
  7. package/dist/admin/crud/key.js +1 -1
  8. package/dist/admin/crud/mitt.js +1 -1
  9. package/dist/admin/crud/plugins.js +1 -1
  10. package/dist/admin/crud/span.js +1 -1
  11. package/dist/admin/crud/style.js +1 -1
  12. package/dist/admin/crud/useCrud.js +59 -1
  13. package/dist/admin/crud/validate.js +1 -1
  14. package/dist/admin/crud/vm-crud.vue +0 -1
  15. package/dist/admin/crud/vm-search.vue +3 -2
  16. package/dist/admin/directives/perm.js +1 -1
  17. package/dist/admin/hooks/useBrowser.js +21 -1
  18. package/dist/admin/hooks/useUpload.js +1 -1
  19. package/dist/admin/hooks/useVome.js +11 -1
  20. package/dist/admin/index.js +54 -1
  21. package/dist/admin/lib/browser.js +1 -1
  22. package/dist/admin/lib/cn.js +1 -1
  23. package/dist/admin/lib/dialog-float.js +1 -1
  24. package/dist/admin/lib/eps.js +33 -1
  25. package/dist/admin/lib/menu.js +1 -1
  26. package/dist/admin/lib/module.js +85 -1
  27. package/dist/admin/lib/tree.js +1 -1
  28. package/dist/admin/lib/upload.js +1 -1
  29. package/dist/admin/router/index.js +68 -1
  30. package/dist/admin/router/menu-routes.js +113 -1
  31. package/dist/admin/service/base.js +76 -1
  32. package/dist/admin/service/index.js +263 -1
  33. package/dist/admin/stores/app.js +24 -1
  34. package/dist/admin/stores/tags.js +64 -1
  35. package/dist/admin/stores/user.js +64 -1
  36. package/dist/index.js +1 -1
  37. package/dist/server/index.js +1 -1
  38. package/dist/shared/index.js +1 -1
  39. package/dist/shared/tree.js +1 -1
  40. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x4caa47=_0x46b5;(function(_0x13e3b0,_0xa556f){const _0x5d3e09=_0x46b5,_0x31effd=_0x13e3b0();while(!![]){try{const _0x10123c=parseInt(_0x5d3e09(0x226))/0x1+parseInt(_0x5d3e09(0x2a3))/0x2+parseInt(_0x5d3e09(0x20e))/0x3*(-parseInt(_0x5d3e09(0x254))/0x4)+parseInt(_0x5d3e09(0x211))/0x5+parseInt(_0x5d3e09(0x1f7))/0x6+-parseInt(_0x5d3e09(0x253))/0x7+parseInt(_0x5d3e09(0x29c))/0x8;if(_0x10123c===_0xa556f)break;else _0x31effd['push'](_0x31effd['shift']());}catch(_0x7ccbf9){_0x31effd['push'](_0x31effd['shift']());}}}(_0x6fbb,0x2127f));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0xbb09a0=_0x46b5;return Bun[_0xbb09a0(0x1f3)][_0xbb09a0(0x21b)]==='dev'?'dev':_0xbb09a0(0x327);}function merge(_0x32d2e9,_0x203325){const _0x24b7d6=_0x46b5,_0x6d02b0={..._0x32d2e9};for(const _0x51f38d of Object[_0x24b7d6(0x2aa)](_0x203325)){const _0x216196=_0x6d02b0[_0x51f38d],_0x1fd1ca=_0x203325[_0x51f38d];if(_0x216196&&_0x1fd1ca&&typeof _0x216196===_0x24b7d6(0x2df)&&typeof _0x1fd1ca==='object'&&!Array[_0x24b7d6(0x322)](_0x216196)&&!Array[_0x24b7d6(0x322)](_0x1fd1ca)){_0x6d02b0[_0x51f38d]=merge(_0x216196,_0x1fd1ca);continue;}_0x6d02b0[_0x51f38d]=_0x1fd1ca;}return _0x6d02b0;}async function loadConfig(_0x181972=join(process[_0x4caa47(0x1b8)](),_0x4caa47(0x1c6))){const _0x52a70e=_0x4caa47,_0x360531=getEnv()===_0x52a70e(0x320)?_0x52a70e(0x32c):_0x52a70e(0x1f6),_0x30ed90=await import(pathToFileURL(join(_0x181972,'default.ts'))['href']),_0x2cb880=await import(pathToFileURL(join(_0x181972,_0x360531))[_0x52a70e(0x2d2)]);return merge(_0x30ed90[_0x52a70e(0x1f9)],_0x2cb880[_0x52a70e(0x1f9)]);}var VomeConfig=await loadConfig();import{Elysia as _0x12bc18}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x48ab87){const _0x143561=_0x4caa47,_0x4cdd09=_0x48ab87[_0x143561(0x278)][_0x143561(0x331)](_0x143561(0x228));if(_0x4cdd09){const _0x1f6301=_0x4cdd09[_0x143561(0x330)](',')[0x0]?.[_0x143561(0x32d)]();if(_0x1f6301)return _0x1f6301;}return _0x48ab87['headers']['get'](_0x143561(0x297))?.[_0x143561(0x32d)]()||_0x48ab87[_0x143561(0x278)][_0x143561(0x331)]('cf-connecting-ip')?.['trim']()||'';}function initContextFromRequest(_0x361852){const _0x39799c=_0x4caa47,_0x4ab344=new URL(_0x361852[_0x39799c(0x1ad)]),_0x5bac84=_0x361852[_0x39799c(0x278)][_0x39799c(0x331)](_0x39799c(0x20f))?.[_0x39799c(0x330)](',')[0x0]?.[_0x39799c(0x32d)](),_0x100a02=_0x361852[_0x39799c(0x278)]['get'](_0x39799c(0x2bf))?.[_0x39799c(0x32d)]();return{'requestId':crypto[_0x39799c(0x2b0)](),'method':_0x361852['method'],'path':_0x4ab344['pathname'],'ip':resolveClientIp(_0x361852),'host':_0x5bac84||_0x100a02||_0x4ab344[_0x39799c(0x2bf)],'startTime':Date['now']()};}function enterContextWith(_0x5f3c2c){const _0x1510a3=_0x4caa47;storage[_0x1510a3(0x2af)](_0x5f3c2c);}function getContext(){const _0x50d55a=_0x4caa47;return storage[_0x50d55a(0x1f2)]();}function assignContext(_0x3fb91b){const _0x3b8a79=_0x4caa47,_0x1d6674=storage[_0x3b8a79(0x1f2)]();if(!_0x1d6674){getEnv()===_0x3b8a79(0x320)&&!warnedOutsideRequest&&(warnedOutsideRequest=!![],console[_0x3b8a79(0x168)](_0x3b8a79(0x314)));return;}Object[_0x3b8a79(0x28b)](_0x1d6674,_0x3fb91b);}function runContext(_0x4e8b8e,_0x1d6d05){return storage['run'](_0x4e8b8e,_0x1d6d05);}var Context=Object[_0x4caa47(0x28b)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY=_0x4caa47(0x2ba),providers=new Map();function registerProvider(_0x4d5939){const _0xc22110=_0x4caa47;providers[_0xc22110(0x302)](_0x4d5939[_0xc22110(0x31f)],_0x4d5939);}function getProvider(_0xc5196){const _0x24d6a4=_0x4caa47;return providers[_0x24d6a4(0x331)](_0xc5196);}function listProviders(){const _0x23b662=_0x4caa47,_0xb96c70=new Set(),_0x2f2204=[];for(const _0x682706 of providers[_0x23b662(0x180)]()){if(_0xb96c70[_0x23b662(0x30c)](_0x682706[_0x23b662(0x29d)]))continue;_0xb96c70[_0x23b662(0x301)](_0x682706[_0x23b662(0x29d)]),_0x2f2204[_0x23b662(0x1f1)](_0x682706);}return _0x2f2204;}function tokenLabel(_0x4cc312){const _0x578754=_0x4caa47;if(typeof _0x4cc312===_0x578754(0x2ed)||typeof _0x4cc312===_0x578754(0x2bc))return String(_0x4cc312);return _0x4cc312['name']||_0x578754(0x22d);}function appendInjectMeta(_0x30cb07,_0xb3cfc2){const _0x1907e5=_0x4caa47,_0x40f60f=Reflect[_0x1907e5(0x307)](INJECT_METADATA_KEY,_0x30cb07)??[];_0x40f60f['push'](_0xb3cfc2),Reflect['defineMetadata'](INJECT_METADATA_KEY,_0x40f60f,_0x30cb07);}function getInjectMetas(_0x114243){const _0x412669=_0x4caa47;return Reflect[_0x412669(0x307)](INJECT_METADATA_KEY,_0x114243)??[];}function resetProviders(){const _0x10026f=_0x4caa47;providers[_0x10026f(0x2db)]();}var ScopeEnum;(_0x14b1d6=>{const _0x5d986b=_0x4caa47;_0x14b1d6['Singleton']=_0x5d986b(0x263),_0x14b1d6[_0x5d986b(0x2cd)]='request',_0x14b1d6[_0x5d986b(0x2f3)]=_0x5d986b(0x19a);})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x5e3a2b,_0x2468a3){const _0x2bfa3d=_0x4caa47;for(const _0x3b0ea3 of getInjectMetas(_0x2468a3)){const {propertyKey:_0x11856c,token:_0x5339e3,resolve:_0x8ee8fa}=_0x3b0ea3;if(!_0x8ee8fa&&_0x5339e3==null)throw new Error(_0x2bfa3d(0x218)+String(_0x11856c)+_0x2bfa3d(0x16c));const _0x21d744=_0x8ee8fa?_0x8ee8fa():Ioc[_0x2bfa3d(0x331)](_0x5339e3);_0x5e3a2b[_0x11856c]=_0x21d744;const _0xb33fc5=_0x5e3a2b['bindEntity'];_0x8ee8fa&&typeof _0xb33fc5===_0x2bfa3d(0x2ea)&&_0xb33fc5['call'](_0x5e3a2b,_0x21d744);}}function createInstance(_0x2a17f4){const _0x572dea=_0x4caa47;if(creating['has'](_0x2a17f4))throw new Error('[Ioc]\x20检测到循环依赖:\x20'+_0x2a17f4[_0x572dea(0x30a)]);creating[_0x572dea(0x301)](_0x2a17f4);try{const _0x46bba5=new _0x2a17f4();return injectProperties(_0x46bba5,_0x2a17f4),_0x46bba5;}finally{creating['delete'](_0x2a17f4);}}function getSingleton(_0x1d2974){const _0x17f6f0=_0x4caa47,_0x409277=singletons[_0x17f6f0(0x331)](_0x1d2974);if(_0x409277)return _0x409277;const _0x538287=createInstance(_0x1d2974);return singletons[_0x17f6f0(0x302)](_0x1d2974,_0x538287),_0x538287;}function getRequestCache(){const _0x4a30cc=_0x4caa47,_0x26a8c3=Context[_0x4a30cc(0x331)]();if(!_0x26a8c3)throw new Error(_0x4a30cc(0x239));let _0x500e48=requestCaches[_0x4a30cc(0x331)](_0x26a8c3);return!_0x500e48&&(_0x500e48=new Map(),requestCaches[_0x4a30cc(0x302)](_0x26a8c3,_0x500e48)),_0x500e48;}function getRequestScoped(_0x4fd239){const _0x5cddf8=_0x4caa47,_0x2e08c9=getRequestCache(),_0x1a5cef=_0x2e08c9[_0x5cddf8(0x331)](_0x4fd239);if(_0x1a5cef)return _0x1a5cef;const _0x4eaddc=createInstance(_0x4fd239);return _0x2e08c9[_0x5cddf8(0x302)](_0x4fd239,_0x4eaddc),_0x4eaddc;}function resolveByScope(_0x2e6722,_0x36c571){const _0x2d75d7=_0x4caa47;switch(_0x36c571){case _0x2d75d7(0x263):return getSingleton(_0x2e6722);case _0x2d75d7(0x19a):return createInstance(_0x2e6722);case _0x2d75d7(0x176):return getRequestScoped(_0x2e6722);default:throw new Error('[Ioc]\x20未知作用域:\x20'+_0x36c571);}}function resolveMeta(_0x2934d5){const _0x12f70b=_0x4caa47,_0x9fd14c=getProvider(_0x2934d5);if(!_0x9fd14c)throw new Error(_0x12f70b(0x2e0)+tokenLabel(_0x2934d5));return _0x9fd14c;}function bootstrapIoc(){const _0x111252=_0x4caa47;for(const {useClass:_0x381049,scope:_0x351449}of listProviders()){_0x351449==='singleton'&&getSingleton(_0x381049);}console[_0x111252(0x264)]('[Ioc]\x20bootstrap\x20←\x20'+singletons[_0x111252(0x251)]+_0x111252(0x23b));}function get(_0x4b965f){const _0x13c518=_0x4caa47,_0x151fe4=resolveMeta(_0x4b965f);return resolveByScope(_0x151fe4[_0x13c518(0x29d)],_0x151fe4[_0x13c518(0x2d9)]);}function set(_0x352301,_0x100bfb){const _0x444724=_0x4caa47;if(typeof _0x352301===_0x444724(0x2ea)){registerProvider({'token':_0x352301,'useClass':_0x352301,'scope':_0x444724(0x263)}),singletons[_0x444724(0x302)](_0x352301,_0x100bfb);return;}const _0x51d03b=_0x100bfb?.[_0x444724(0x300)];if(!_0x51d03b||_0x51d03b===Object)throw new Error(_0x444724(0x269)+tokenLabel(_0x352301)+_0x444724(0x27d));registerProvider({'token':_0x352301,'useClass':_0x51d03b,'scope':_0x444724(0x263)}),registerProvider({'token':_0x51d03b,'useClass':_0x51d03b,'scope':_0x444724(0x263)}),singletons[_0x444724(0x302)](_0x51d03b,_0x100bfb);}function resetIoc(){const _0x3d56d2=_0x4caa47;singletons[_0x3d56d2(0x2db)](),creating[_0x3d56d2(0x2db)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0x510b87){const _0x84e02a=_0x4caa47;controllers[_0x84e02a(0x302)](_0x510b87[_0x84e02a(0x31f)],_0x510b87);}function listControllers(_0x4565da){const _0x2b40f2=_0x4caa47,_0x4e7fcd=[...controllers[_0x2b40f2(0x180)]()];return _0x4565da?_0x4e7fcd[_0x2b40f2(0x29b)](_0x131f10=>_0x131f10[_0x2b40f2(0x1d6)]===_0x4565da):_0x4e7fcd;}var ROUTE_PARAMS_KEY=_0x4caa47(0x207),ROUTE_PUBLIC_KEY=_0x4caa47(0x25e),ROUTE_MW_KEY=_0x4caa47(0x2ab),ROUTE_PERMS_KEY=_0x4caa47(0x326),ROUTE_IGNORE_PERMS_KEY=_0x4caa47(0x2ce);function appendRouteParam(_0x514b69,_0x33266f,_0x5f4460){const _0x317e0b=_0x4caa47,_0x427a33=Reflect['getMetadata'](ROUTE_PARAMS_KEY,_0x514b69)??{},_0x3bc1d6=_0x427a33[_0x33266f]??[];_0x3bc1d6[_0x317e0b(0x1f1)](_0x5f4460),_0x427a33[_0x33266f]=_0x3bc1d6,Reflect[_0x317e0b(0x214)](ROUTE_PARAMS_KEY,_0x427a33,_0x514b69);}function getRouteParams(_0x1c808c,_0x511190){const _0xaed9f9=_0x4caa47,_0x35b3f5=Reflect[_0xaed9f9(0x307)](ROUTE_PARAMS_KEY,_0x1c808c);return _0x35b3f5?.[_0x511190]??[];}function clearRouteParams(_0x36670c){const _0x2b3910=_0x4caa47;Reflect[_0x2b3910(0x1b7)](ROUTE_PARAMS_KEY,_0x36670c);}function markRoutePublic(_0x24a900,_0xca3cb4){const _0x4c1890=_0x4caa47,_0x53f408=Reflect[_0x4c1890(0x307)](ROUTE_PUBLIC_KEY,_0x24a900)??{};_0x53f408[_0xca3cb4]=!![],Reflect[_0x4c1890(0x214)](ROUTE_PUBLIC_KEY,_0x53f408,_0x24a900);}function isRoutePublic(_0x201cb8,_0x102b87){const _0x3bc75c=_0x4caa47,_0xd2d60e=Reflect[_0x3bc75c(0x307)](ROUTE_PUBLIC_KEY,_0x201cb8);return!!_0xd2d60e?.[_0x102b87];}function clearRoutePublic(_0xa6686d){Reflect['deleteMetadata'](ROUTE_PUBLIC_KEY,_0xa6686d);}function appendRouteMiddleware(_0x332d77,_0x217418,_0x5c39ad){const _0x145afc=Reflect['getMetadata'](ROUTE_MW_KEY,_0x332d77)??{};_0x145afc[_0x217418]=[..._0x145afc[_0x217418]??[],..._0x5c39ad],Reflect['defineMetadata'](ROUTE_MW_KEY,_0x145afc,_0x332d77);}function getRouteMiddleware(_0x4a2ef8,_0x5c0638){const _0x326445=_0x4caa47,_0x53c419=Reflect[_0x326445(0x307)](ROUTE_MW_KEY,_0x4a2ef8);return _0x53c419?.[_0x5c0638]??[];}function clearRouteMiddleware(_0x493cca){const _0x2272b6=_0x4caa47;Reflect[_0x2272b6(0x1b7)](ROUTE_MW_KEY,_0x493cca);}function setRoutePerms(_0xe189d,_0x788690,_0x1b6965){const _0x5a27f3=_0x4caa47,_0x3222a3=Reflect[_0x5a27f3(0x307)](ROUTE_PERMS_KEY,_0xe189d)??{};_0x3222a3[_0x788690]=_0x1b6965,Reflect[_0x5a27f3(0x214)](ROUTE_PERMS_KEY,_0x3222a3,_0xe189d);}function getRoutePerms(_0x510697,_0xc77e4f){const _0x16b104=_0x4caa47,_0x409f5c=Reflect[_0x16b104(0x307)](ROUTE_PERMS_KEY,_0x510697);return _0x409f5c?.[_0xc77e4f];}function clearRoutePerms(_0x8f391e){const _0x447fed=_0x4caa47;Reflect[_0x447fed(0x1b7)](ROUTE_PERMS_KEY,_0x8f391e);}function markRouteIgnorePerms(_0x5d1404,_0x5bfdd7){const _0x100bba=_0x4caa47,_0x13ee64=Reflect['getMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x5d1404)??{};_0x13ee64[_0x5bfdd7]=!![],Reflect[_0x100bba(0x214)](ROUTE_IGNORE_PERMS_KEY,_0x13ee64,_0x5d1404);}function isRouteIgnorePerms(_0x3fe15b,_0x13d343){const _0xded8e1=Reflect['getMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x3fe15b);return!!_0xded8e1?.[_0x13d343];}function clearRouteIgnorePerms(_0x3a7f26){const _0x2ad64d=_0x4caa47;Reflect[_0x2ad64d(0x1b7)](ROUTE_IGNORE_PERMS_KEY,_0x3a7f26);}function schemaFromParams(_0x1e8589){const _0x1d195d=_0x4caa47,_0x4fb414={};for(const _0x2f9582 of _0x1e8589){if(_0x2f9582[_0x1d195d(0x255)]===_0x1d195d(0x183)&&_0x2f9582[_0x1d195d(0x1d9)]!==undefined)_0x4fb414[_0x1d195d(0x183)]=_0x2f9582['schema'];if(_0x2f9582[_0x1d195d(0x255)]==='query'&&_0x2f9582[_0x1d195d(0x1d9)]!==undefined)_0x4fb414[_0x1d195d(0x21d)]=_0x2f9582[_0x1d195d(0x1d9)];if(_0x2f9582['source']===_0x1d195d(0x2c2)&&_0x2f9582[_0x1d195d(0x1d9)]!==undefined)_0x4fb414[_0x1d195d(0x2c2)]=_0x2f9582['schema'];}return Object['keys'](_0x4fb414)[_0x1d195d(0x1ee)]>0x0?_0x4fb414:undefined;}function openApiTag(_0x24dda3,_0x50d1f6){return _0x24dda3+'.'+_0x50d1f6;}function sideOrder(_0x125abc){const _0x2a7224=_0x4caa47;if(_0x125abc===_0x2a7224(0x1ce))return 0x0;if(_0x125abc===_0x2a7224(0x232))return 0x1;return 0x2;}function parseTag(_0x3efe2e){const _0x53669b=_0x4caa47,_0x584579=_0x3efe2e[_0x53669b(0x29f)]('.');if(_0x584579<0x0)return{'module':_0x3efe2e,'side':''};return{'module':_0x3efe2e[_0x53669b(0x1fe)](0x0,_0x584579),'side':_0x3efe2e[_0x53669b(0x1fe)](_0x584579+0x1)};}function buildOpenApiTagDocs(){const _0x3af873=_0x4caa47,_0x3072fa=listControllers(),_0x2fb2c7=new Map(),_0x2eae1c=new Map();for(const _0x552a3d of _0x3072fa){const _0x59d835=openApiTag(_0x552a3d[_0x3af873(0x2ef)],_0x552a3d[_0x3af873(0x1d6)]);!_0x2fb2c7['has'](_0x59d835)&&_0x2fb2c7[_0x3af873(0x302)](_0x59d835,{'name':_0x59d835,'description':_0x552a3d['module']+'\x20'+_0x552a3d['side'],'x-displayName':_0x552a3d['side']});let _0x2a2836=_0x2eae1c[_0x3af873(0x331)](_0x552a3d[_0x3af873(0x2ef)]);!_0x2a2836&&(_0x2a2836=new Set(),_0x2eae1c[_0x3af873(0x302)](_0x552a3d['module'],_0x2a2836)),_0x2a2836[_0x3af873(0x301)](_0x59d835);}const _0x1a3a92=[..._0x2fb2c7['values']()][_0x3af873(0x32e)]((_0x402d66,_0x5cf60b)=>{const _0x291343=_0x3af873,_0x5037de=parseTag(_0x402d66[_0x291343(0x30a)]),_0x3f5dbc=parseTag(_0x5cf60b[_0x291343(0x30a)]);return _0x5037de[_0x291343(0x2ef)][_0x291343(0x1cd)](_0x3f5dbc[_0x291343(0x2ef)])||sideOrder(_0x5037de[_0x291343(0x1d6)])-sideOrder(_0x3f5dbc[_0x291343(0x1d6)]);}),_0x1d3f40=[..._0x2eae1c[_0x3af873(0x216)]()][_0x3af873(0x32e)](([_0x43f1e0],[_0x36d98c])=>_0x43f1e0['localeCompare'](_0x36d98c))['map'](([_0x438362,_0x33e1e1])=>({'name':_0x438362,'tags':[..._0x33e1e1][_0x3af873(0x32e)]((_0x4a3d88,_0x1a802a)=>{const _0x10fa99=_0x3af873,_0x9baaee=parseTag(_0x4a3d88)[_0x10fa99(0x1d6)],_0x28ecff=parseTag(_0x1a802a)['side'];return sideOrder(_0x9baaee)-sideOrder(_0x28ecff);})}));return{'tags':_0x1a3a92,'tagGroups':_0x1d3f40};}function normalizePrefix(_0x5a871d){const _0x2ea4c7=_0x4caa47;if(!_0x5a871d)return'';return _0x5a871d[_0x2ea4c7(0x335)]('/')?_0x5a871d:'/'+_0x5a871d;}function joinPrefix(..._0x5ab21a){const _0x2bc3ce=_0x4caa47,_0x36bd92=_0x5ab21a[_0x2bc3ce(0x274)](_0x24d8f1=>normalizePrefix(_0x24d8f1)[_0x2bc3ce(0x313)](/^\/+|\/+$/g,''))['filter'](Boolean);return _0x36bd92['length']?'/'+_0x36bd92[_0x2bc3ce(0x24c)]('/'):'/';}function getRouteSubPath(_0x355b5d,_0x5c9845){const _0x3a54e6=_0x4caa47,_0x18b874=normalizePrefix(_0x5c9845)[_0x3a54e6(0x313)](/\/$/,''),_0x3e2558=normalizePrefix(_0x355b5d);if(!_0x18b874)return _0x3e2558||'/';if(_0x3e2558===_0x18b874)return'/';if(_0x3e2558[_0x3a54e6(0x335)](_0x18b874+'/'))return _0x3e2558['slice'](_0x18b874[_0x3a54e6(0x1ee)])||'/';const _0x1d4fd4=_0x355b5d[_0x3a54e6(0x335)]('/')?_0x355b5d:'/'+_0x355b5d;return _0x1d4fd4||'/';}function resolveRoutePerm(_0x9fcf93,_0x14a08b,_0xd43801){const _0x489e2f=_0x4caa47;let _0x55abd2=_0x14a08b[_0x489e2f(0x313)](/^\//,'')[_0x489e2f(0x313)](/\/+/g,':');if(_0x55abd2===_0x9fcf93)_0x55abd2=_0x9fcf93;else _0x55abd2['startsWith'](_0x9fcf93+':')&&(_0x55abd2=_0x55abd2[_0x489e2f(0x1fe)](_0x9fcf93['length']+0x1));const _0x5a7f06=_0x9fcf93+'-';_0x55abd2['startsWith'](_0x5a7f06)&&(_0x55abd2=_0x55abd2['slice'](_0x5a7f06[_0x489e2f(0x1ee)]));_0x55abd2=_0x55abd2['replace'](/-/g,':');if(!_0x55abd2)_0x55abd2=_0x9fcf93;return _0x9fcf93+':'+_0x55abd2+':'+_0xd43801;}function actionFromSubPath(_0x5410bc){const _0x46468b=_0x4caa47,_0x4e4142=_0x5410bc[_0x46468b(0x313)](/^\/+|\/+$/g,'');if(!_0x4e4142)return _0x46468b(0x2fa);const _0x501795=_0x4e4142[_0x46468b(0x330)]('/');return _0x501795[_0x501795['length']-0x1]||_0x46468b(0x2fa);}function effectivePerms(_0x581d0e,_0x33d3a6,_0x2d98b6){const _0x4bcb33=_0x4caa47;if(_0x33d3a6[_0x4bcb33(0x1d6)]!==_0x4bcb33(0x1ce)||_0x581d0e[_0x4bcb33(0x192)]||_0x581d0e['ignorePerms'])return;if(_0x581d0e[_0x4bcb33(0x1e1)]?.['length'])return _0x581d0e[_0x4bcb33(0x1e1)];const _0x152145=_0x2d98b6??actionFromSubPath(getRouteSubPath(_0x581d0e[_0x4bcb33(0x31a)]??'/',_0x33d3a6['prefix']));return[resolveRoutePerm(_0x33d3a6[_0x4bcb33(0x2ef)],_0x33d3a6[_0x4bcb33(0x1c4)],_0x152145)];}var crudRegistrar;function setCrudRegistrar(_0x1a8b9a){crudRegistrar=_0x1a8b9a;}var SIDE_PREFIX={'admin':'/admin','app':_0x4caa47(0x2c9)},ADMIN_GUARD=_0x4caa47(0x22f),APP_GUARD=_0x4caa47(0x273),ELYSIA_METHODS={'GET':_0x4caa47(0x331),'POST':_0x4caa47(0x2e3),'PUT':_0x4caa47(0x1ca),'DELETE':_0x4caa47(0x1d0),'PATCH':_0x4caa47(0x237)};function getSidePrefix(_0x317f04){return normalizePrefix(SIDE_PREFIX[_0x317f04]);}function buildRouteSchema(_0x4c5229){const _0x574502=_0x4caa47;if(_0x4c5229[_0x574502(0x2c2)]?.['length'])return schemaFromParams(_0x4c5229[_0x574502(0x2c2)]);const _0x49fed2={};if(_0x4c5229[_0x574502(0x183)]!==undefined)_0x49fed2[_0x574502(0x183)]=_0x4c5229[_0x574502(0x183)];if(_0x4c5229[_0x574502(0x21d)]!==undefined)_0x49fed2[_0x574502(0x21d)]=_0x4c5229[_0x574502(0x21d)];if(_0x4c5229[_0x574502(0x19d)]!==undefined)_0x49fed2[_0x574502(0x2c2)]=_0x4c5229['routeParams'];return Object[_0x574502(0x2aa)](_0x49fed2)[_0x574502(0x1ee)]>0x0?_0x49fed2:undefined;}function assertRouteParams(_0x418a5f,_0x23540a,_0xdee5c4){const _0x450e95=_0x4caa47,_0x1b0ae7=new Set();for(const _0x262e41 of _0x418a5f){if(_0x1b0ae7['has'](_0x262e41[_0x450e95(0x255)])){const _0x2a20bf=_0x262e41[_0x450e95(0x255)]===_0x450e95(0x183)?_0x450e95(0x198):_0x262e41[_0x450e95(0x255)]==='query'?_0x450e95(0x321):_0x450e95(0x17f);throw new Error('[Router]\x20'+_0xdee5c4+'.'+_0x23540a+_0x450e95(0x171)+_0x2a20bf);}_0x1b0ae7[_0x450e95(0x301)](_0x262e41[_0x450e95(0x255)]);}}function createParamHandler(_0x4d7f18,_0x333c28,_0x448cf3){const _0x108dd9=_0x4caa47,_0x2893d6=_0x4d7f18[_0x333c28],_0x299887=_0x2893d6['bind'](_0x4d7f18);if(!_0x448cf3?.[_0x108dd9(0x1ee)])return _0x299887;const _0x3e85c9=[..._0x448cf3][_0x108dd9(0x32e)]((_0x56449f,_0x457be5)=>_0x56449f[_0x108dd9(0x2fa)]-_0x457be5['index']);return _0x113ab=>{const _0x4a81dc=_0x108dd9,_0x52e6ec=_0x3e85c9[_0x4a81dc(0x274)](_0x3ddf90=>{const _0x6a5b81=_0x4a81dc;if(_0x3ddf90[_0x6a5b81(0x255)]===_0x6a5b81(0x183))return _0x113ab[_0x6a5b81(0x183)];if(_0x3ddf90[_0x6a5b81(0x255)]===_0x6a5b81(0x21d))return _0x113ab[_0x6a5b81(0x21d)];if(_0x3ddf90[_0x6a5b81(0x255)]===_0x6a5b81(0x2c2))return _0x113ab[_0x6a5b81(0x2c2)];throw new Error(_0x6a5b81(0x174)+_0x3ddf90['source']);});return _0x299887(..._0x52e6ec,_0x113ab);};}function createPermsGuard(_0x59bcbe){return _0x397576=>{const _0x15d09a=_0x46b5,_0x2e6c69=_0x397576['status'],_0x5e703d=Context[_0x15d09a(0x331)]();if(_0x5e703d?.[_0x15d09a(0x2cf)])return;const _0x4f43a6=_0x5e703d?.[_0x15d09a(0x1e1)]??[];if(_0x59bcbe[_0x15d09a(0x1d2)](_0x337dba=>_0x4f43a6[_0x15d09a(0x30e)](_0x337dba)))return;return _0x2e6c69(0x193);};}function openApiSummary(_0x3dce4c,_0x54bc10){const _0x5aadda=_0x4caa47,_0x351dd4=_0x3dce4c[_0x5aadda(0x313)](/^\/+|\/+$/g,'')[_0x5aadda(0x330)]('/')[_0x5aadda(0x2e1)]()||_0x3dce4c;return _0x54bc10?_0x351dd4+'\x20'+_0x54bc10:_0x351dd4;}function buildRouteOptions(_0x13f8c9,_0x3439e4){const _0x38bffc=_0x4caa47,_0x23f124=buildRouteSchema(_0x13f8c9)??{},_0x2826ec={..._0x23f124,'detail':{'tags':[openApiTag(_0x3439e4['module'],_0x3439e4[_0x38bffc(0x1d6)])],'summary':openApiSummary(_0x13f8c9['handler'],_0x13f8c9[_0x38bffc(0x1a9)])}};_0x3439e4[_0x38bffc(0x1d6)]===_0x38bffc(0x1ce)&&!_0x13f8c9[_0x38bffc(0x192)]&&(_0x2826ec[ADMIN_GUARD]=!![]);_0x3439e4['side']===_0x38bffc(0x232)&&!_0x13f8c9[_0x38bffc(0x192)]&&(_0x2826ec[APP_GUARD]=!![]);const _0x443a84=[],_0x3bd857=effectivePerms(_0x13f8c9,_0x3439e4);if(_0x3bd857?.[_0x38bffc(0x1ee)])_0x443a84['push'](createPermsGuard(_0x3bd857));if(_0x13f8c9['middleware']?.['length'])_0x443a84['push'](..._0x13f8c9['middleware']);if(_0x443a84[_0x38bffc(0x1ee)])_0x2826ec[_0x38bffc(0x22a)]=_0x443a84;return _0x2826ec;}function normalizeCrudRouteOpts(_0x255960){if(_0x255960==null)return{};if(typeof _0x255960==='boolean')return{'public':_0x255960};return _0x255960;}function registerControllerPlugin(_0x2495d7,_0x1f140f){const _0x45dfc0=_0x4caa47,_0x3b13b7=getSidePrefix(_0x2495d7[_0x45dfc0(0x1d6)]),_0x83ac1c=joinPrefix(_0x3b13b7,_0x2495d7[_0x45dfc0(0x1c4)]),_0x5f1df8=Ioc[_0x45dfc0(0x331)](_0x2495d7['token']);let _0x23d181=new Elysia({'prefix':_0x83ac1c,'name':_0x2495d7['token'][_0x45dfc0(0x30a)],'tags':[openApiTag(_0x2495d7[_0x45dfc0(0x2ef)],_0x2495d7[_0x45dfc0(0x1d6)])]});for(const _0x1e4d07 of _0x2495d7[_0x45dfc0(0x1b3)]??[]){_0x23d181=_0x23d181['onBeforeHandle'](_0x1e4d07);}const _0x4220df=[];for(const _0x213e19 of _0x2495d7[_0x45dfc0(0x2dc)]){const _0x38dab7=_0x5f1df8[_0x213e19[_0x45dfc0(0x2bb)]];if(typeof _0x38dab7!==_0x45dfc0(0x2ea))throw new Error('[Router]\x20'+_0x2495d7[_0x45dfc0(0x31f)][_0x45dfc0(0x30a)]+'.'+_0x213e19[_0x45dfc0(0x2bb)]+_0x45dfc0(0x240));assertRouteParams(_0x213e19[_0x45dfc0(0x2c2)]??[],_0x213e19[_0x45dfc0(0x2bb)],_0x2495d7['token'][_0x45dfc0(0x30a)]);const _0x303c13=createParamHandler(_0x5f1df8,_0x213e19['handler'],_0x213e19['params']),_0x2acee7=getRouteSubPath(_0x213e19[_0x45dfc0(0x31a)],_0x2495d7[_0x45dfc0(0x1c4)]),_0x3c7491=buildRouteOptions(_0x213e19,_0x2495d7),_0x37526b=ELYSIA_METHODS[_0x213e19['method']];_0x23d181=_0x23d181[_0x37526b](_0x2acee7,_0x303c13,_0x3c7491);}if(_0x2495d7[_0x45dfc0(0x17b)]?.[_0x45dfc0(0x233)]?.[_0x45dfc0(0x1ee)]||_0x2495d7['crud']?.['serviceApis']?.[_0x45dfc0(0x1ee)]){if(!crudRegistrar)throw new Error(_0x45dfc0(0x2fb)+_0x2495d7[_0x45dfc0(0x31f)][_0x45dfc0(0x30a)]+_0x45dfc0(0x1eb));_0x23d181=crudRegistrar(_0x23d181,_0x2495d7,{'controller':_0x5f1df8,'routeOptions':_0x4ae158=>{const _0x2a0fcf=_0x45dfc0,{public:_0x33a8c0,action:_0x3b9168,summary:_0x5da909}=normalizeCrudRouteOpts(_0x4ae158),_0x19aabb={'detail':{'tags':[openApiTag(_0x2495d7[_0x2a0fcf(0x2ef)],_0x2495d7[_0x2a0fcf(0x1d6)])],'summary':openApiSummary(_0x3b9168??_0x2a0fcf(0x21a),_0x5da909)}};if(_0x2495d7[_0x2a0fcf(0x1d6)]===_0x2a0fcf(0x1ce)&&!_0x33a8c0){_0x19aabb[ADMIN_GUARD]=!![];if(_0x3b9168){const _0x22028a=resolveRoutePerm(_0x2495d7[_0x2a0fcf(0x2ef)],_0x2495d7[_0x2a0fcf(0x1c4)],_0x3b9168);_0x19aabb[_0x2a0fcf(0x22a)]=[createPermsGuard([_0x22028a])];}}return _0x19aabb;}});for(const _0x3a2282 of _0x2495d7[_0x45dfc0(0x17b)]?.[_0x45dfc0(0x233)]??[]){const _0x3f1f65=_0x3a2282===_0x45dfc0(0x191)?_0x45dfc0(0x282):_0x45dfc0(0x2cc);_0x4220df[_0x45dfc0(0x1f1)]({'method':_0x3f1f65,'path':joinPrefix(_0x2495d7[_0x45dfc0(0x1c4)],_0x3a2282),'handler':_0x3a2282,'autoCrud':!![]});}for(const _0xdf3e24 of _0x2495d7['crud']?.['serviceApis']??[]){_0x4220df['push']({'method':_0x45dfc0(0x2cc),'path':joinPrefix(_0x2495d7[_0x45dfc0(0x1c4)],_0xdf3e24),'handler':_0xdf3e24,'autoCrud':!![]});}}return{'plugin':_0x23d181,'pluginPrefix':_0x83ac1c,'autoRoutes':_0x4220df};}function registerControllers(_0x5b8d10,_0x4facae){const _0x749862=_0x4caa47;let _0x500c57=_0x5b8d10,_0x18a712=0x0;const _0x3064ed=[];for(const _0x525125 of listControllers()){const {plugin:_0x400a1f,pluginPrefix:_0x157ffd,autoRoutes:_0x4d4661}=registerControllerPlugin(_0x525125,_0x4facae);_0x500c57=_0x500c57[_0x749862(0x1cb)](_0x400a1f);for(const _0x1faa07 of[..._0x525125['routes'],..._0x4d4661]){_0x18a712+=0x1;const _0x3c36fc=getRouteSubPath(_0x1faa07[_0x749862(0x31a)],_0x525125[_0x749862(0x1c4)]),_0x3986e0=_0x3c36fc==='/'?_0x157ffd:joinPrefix(_0x157ffd,_0x3c36fc[_0x749862(0x313)](/^\//,'')),_0x36a588=_0x1faa07[_0x749862(0x192)]?'\x20(public)':_0x1faa07[_0x749862(0x1ea)]?_0x749862(0x31d):'';_0x3064ed[_0x749862(0x1f1)](_0x1faa07[_0x749862(0x315)]+'\x20'+_0x3986e0+_0x36a588);}}if(_0x18a712>0x0){console[_0x749862(0x264)](_0x749862(0x1e5)+_0x18a712+_0x749862(0x27a));for(const _0x530875 of _0x3064ed)console['log']('\x20\x20'+_0x530875);}return _0x500c57;}var {Glob}=globalThis[_0x4caa47(0x2f7)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0xd3a2bd,_0x1212b0={}){const _0x43eecf=_0x4caa47,{cwd:cwd=process[_0x43eecf(0x1b8)](),ext:ext=DEFAULT_EXT}=_0x1212b0,_0x1739a0=Array[_0x43eecf(0x322)](_0xd3a2bd)?_0xd3a2bd:[_0xd3a2bd],_0x577001=[];for(const _0xefa1c0 of _0x1739a0){const _0x4d4b73=new Glob(_0xefa1c0);for await(const _0x55a950 of _0x4d4b73[_0x43eecf(0x20b)]({'cwd':cwd,'onlyFiles':!![]})){if(ext[_0x43eecf(0x1e9)](_0x55a950))_0x577001[_0x43eecf(0x1f1)](_0x55a950);}}return[...new Set(_0x577001)]['sort']();}var context=null;function _0x46b5(_0x4da77a,_0x2416ca){_0x4da77a=_0x4da77a-0x166;const _0x6fbbd3=_0x6fbb();let _0x46b5c0=_0x6fbbd3[_0x4da77a];if(_0x46b5['pQZzEx']===undefined){var _0x4833f1=function(_0x1aa0ef){const _0x17e380='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12bc18='',_0x4b4655='';for(let _0x38a578=0x0,_0x374de0,_0x3abfa2,_0x2bced8=0x0;_0x3abfa2=_0x1aa0ef['charAt'](_0x2bced8++);~_0x3abfa2&&(_0x374de0=_0x38a578%0x4?_0x374de0*0x40+_0x3abfa2:_0x3abfa2,_0x38a578++%0x4)?_0x12bc18+=String['fromCharCode'](0xff&_0x374de0>>(-0x2*_0x38a578&0x6)):0x0){_0x3abfa2=_0x17e380['indexOf'](_0x3abfa2);}for(let _0x5d9553=0x0,_0x3e1c32=_0x12bc18['length'];_0x5d9553<_0x3e1c32;_0x5d9553++){_0x4b4655+='%'+('00'+_0x12bc18['charCodeAt'](_0x5d9553)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b4655);};_0x46b5['YqCcCW']=_0x4833f1,_0x46b5['tDBskq']={},_0x46b5['pQZzEx']=!![];}const _0x1ca0f4=_0x6fbbd3[0x0],_0x35885f=_0x4da77a+_0x1ca0f4,_0x16c5ff=_0x46b5['tDBskq'][_0x35885f];return!_0x16c5ff?(_0x46b5c0=_0x46b5['YqCcCW'](_0x46b5c0),_0x46b5['tDBskq'][_0x35885f]=_0x46b5c0):_0x46b5c0=_0x16c5ff,_0x46b5c0;}function setControllerScanContext(_0x2517a5){context=_0x2517a5;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x5736f9){const _0x40cd52=_0x4caa47,_0x1b3c57=_0x5736f9['match'](/modules\/([^/]+)\/controller\//);if(!_0x1b3c57)return _0x40cd52(0x213);return _0x1b3c57[0x1];}function parseControllerAutoPrefix(_0x2604b2){const _0x2f3f1d=_0x4caa47,_0x3c669b=_0x2604b2[_0x2f3f1d(0x313)](/\\/g,'/')[_0x2f3f1d(0x25d)](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x3c669b)return'';const _0x88f3e1=_0x3c669b[0x1],_0x53bda1=_0x3c669b[0x2]['replace'](/\/+/g,'/')[_0x2f3f1d(0x313)](/^\/|\/$/g,'');if(!_0x53bda1)return'/'+_0x88f3e1;return'/'+_0x88f3e1+'/'+_0x53bda1;}var TIME_KEY_RE=/(?:Time|Date|At)$/,ISO_RE=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?$/;function formatDateTime(_0x33adc6){const _0x5c22f0=_0x4caa47,_0x46885d=_0x33adc6 instanceof Date?_0x33adc6:new Date(_0x33adc6);if(Number[_0x5c22f0(0x291)](_0x46885d[_0x5c22f0(0x1f0)]()))return String(_0x33adc6);return new Intl['DateTimeFormat'](_0x5c22f0(0x1fc),{'timeZone':_0x5c22f0(0x2c4),'year':_0x5c22f0(0x1ab),'month':_0x5c22f0(0x339),'day':_0x5c22f0(0x339),'hour':_0x5c22f0(0x339),'minute':_0x5c22f0(0x339),'second':_0x5c22f0(0x339),'hour12':![]})[_0x5c22f0(0x2b3)](_0x46885d)[_0x5c22f0(0x313)]('T','\x20');}function isTimeKey(_0x408b84){const _0x3dd20c=_0x4caa47;return TIME_KEY_RE[_0x3dd20c(0x1e9)](_0x408b84);}function formatApiDates(_0x1b9b14){return walk(_0x1b9b14);}function walk(_0x217ee4,_0x463128){const _0x8eefa0=_0x4caa47;if(_0x217ee4==null)return _0x217ee4;if(_0x217ee4 instanceof Date)return formatDateTime(_0x217ee4);if(typeof _0x217ee4==='string'&&_0x463128&&isTimeKey(_0x463128)&&ISO_RE[_0x8eefa0(0x1e9)](_0x217ee4))return formatDateTime(_0x217ee4);if(Array[_0x8eefa0(0x322)](_0x217ee4))return _0x217ee4[_0x8eefa0(0x274)](_0x249afc=>walk(_0x249afc));if(typeof _0x217ee4===_0x8eefa0(0x2df)){if(Object[_0x8eefa0(0x19a)][_0x8eefa0(0x1e3)][_0x8eefa0(0x248)](_0x217ee4)!==_0x8eefa0(0x25f))return _0x217ee4;const _0x106dd4={};for(const [_0x4a288d,_0x353559]of Object[_0x8eefa0(0x216)](_0x217ee4)){_0x106dd4[_0x4a288d]=walk(_0x353559,_0x4a288d);}return _0x106dd4;}return _0x217ee4;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0x41dca8){const _0x4834e7=_0x4caa47,_0x35da8b=_0x41dca8===undefined?null:_0x41dca8;return{'code':RES_CODE[_0x4834e7(0x1e7)],'message':_0x4834e7(0x1c0),'data':_0x35da8b==null?_0x35da8b:formatApiDates(_0x35da8b)};}['fail'](_0x49a66d=_0x4caa47(0x20c),_0x59fb7e=RES_CODE[_0x4caa47(0x1fd)]){return{'code':_0x59fb7e,'message':_0x49a66d};}}import'reflect-metadata';function normalizeProvideArgs(_0x489fcd){const _0x30a6fe=_0x4caa47;if(_0x489fcd==null)return{};if(typeof _0x489fcd===_0x30a6fe(0x2ed)||typeof _0x489fcd===_0x30a6fe(0x2bc))return{'id':_0x489fcd};return _0x489fcd;}function Provide(_0x3f719a){return _0x332db4=>{const _0x5469f9=_0x46b5,_0x40ef24=normalizeProvideArgs(_0x3f719a),_0x2cf6cb=_0x40ef24[_0x5469f9(0x2d9)]??_0x5469f9(0x263);registerProvider({'token':_0x332db4,'useClass':_0x332db4,'scope':_0x2cf6cb}),_0x40ef24['id']!=null&&registerProvider({'token':_0x40ef24['id'],'useClass':_0x332db4,'scope':_0x2cf6cb});};}function Inject(_0x2996e0){return(_0x39db77,_0x4dbbb6)=>{const _0x446523=_0x46b5,_0x28353b=Reflect['getMetadata']('design:type',_0x39db77,_0x4dbbb6),_0x3befe7=_0x2996e0??_0x28353b;if(_0x3befe7==null)throw new Error(_0x446523(0x298)+String(_0x4dbbb6)+_0x446523(0x1d7));appendInjectMeta(_0x39db77[_0x446523(0x300)],{'propertyKey':_0x4dbbb6,'token':_0x3befe7});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0x185ae8){const _0x2ebb9a=_0x4caa47;if(typeof _0x185ae8===_0x2ebb9a(0x2ed)){const _0xdb8336=_0x185ae8[_0x2ebb9a(0x30e)]('.')?_0x185ae8[_0x2ebb9a(0x330)]('.')[_0x2ebb9a(0x2e1)]():_0x185ae8;return{'column':_0xdb8336,'param':_0xdb8336,'none':![]};}const _0x1edf5b=_0x185ae8[_0x2ebb9a(0x2ad)][_0x2ebb9a(0x30e)]('.')?_0x185ae8[_0x2ebb9a(0x2ad)][_0x2ebb9a(0x330)]('.')[_0x2ebb9a(0x2e1)]():_0x185ae8[_0x2ebb9a(0x2ad)];return{'column':_0x1edf5b,'param':_0x185ae8[_0x2ebb9a(0x2a0)]??_0x1edf5b,'none':Boolean(_0x185ae8[_0x2ebb9a(0x304)])};}function rangeColumn(_0x517826){const _0xab237a=_0x4caa47;return _0x517826[_0xab237a(0x2ad)][_0xab237a(0x30e)]('.')?_0x517826[_0xab237a(0x2ad)]['split']('.')[_0xab237a(0x2e1)]():_0x517826['column'];}function tableCol(_0x109370,_0x27f411){const _0x1fa45d=_0x109370[_0x27f411];if(_0x1fa45d==null)throw new Error('[QueryOp]\x20表无字段:\x20'+_0x27f411);return _0x1fa45d;}function isBlank(_0x3d3ce8){return _0x3d3ce8===undefined||_0x3d3ce8===null||_0x3d3ce8==='';}function compactWhere(_0x1366ee){const _0x139038=_0x4caa47;if(_0x1366ee==null||_0x1366ee===![])return[];const _0x447d60=Array[_0x139038(0x322)](_0x1366ee)?_0x1366ee:[_0x1366ee];return _0x447d60['filter'](_0x59012b=>_0x59012b!=null&&_0x59012b!==![]);}var q={'between'(_0x5255c8,_0x511d9b,_0x49515a){if(isBlank(_0x511d9b)||isBlank(_0x49515a))return;return sql`${_0x5255c8} between ${_0x511d9b} and ${_0x49515a}`;},'range'(_0x462991,_0x357684,_0x3cd3f3){const _0x1f8459=_0x4caa47,_0x35fe82=[];if(!isBlank(_0x357684))_0x35fe82[_0x1f8459(0x1f1)](gte(_0x462991,_0x357684));if(!isBlank(_0x3cd3f3))_0x35fe82[_0x1f8459(0x1f1)](lte(_0x462991,_0x3cd3f3));if(!_0x35fe82[_0x1f8459(0x1ee)])return;return _0x35fe82[_0x1f8459(0x1ee)]===0x1?_0x35fe82[0x0]:and(..._0x35fe82);},'eqRest'(_0x2f689f,_0x5b01e9,_0x13c9cd){const _0x12b711=_0x4caa47,_0x1e2437=[];for(const [_0x161c5d,_0x2059ef]of Object[_0x12b711(0x216)](_0x2f689f)){if(isBlank(_0x2059ef))continue;const _0x26ea5e=_0x13c9cd?.[_0x161c5d]??_0x5b01e9[_0x161c5d];if(_0x26ea5e==null)continue;_0x1e2437['push'](eq(_0x26ea5e,_0x2059ef));}return _0x1e2437;},'contains'(_0x102e5a,_0xc59734){const _0x3b83f0=_0x4caa47;if(isBlank(_0xc59734))return;const _0x13cf9e=Array['isArray'](_0xc59734)?_0xc59734:[_0xc59734];if(!_0x13cf9e[_0x3b83f0(0x1ee)])return;return _0x13cf9e[_0x3b83f0(0x1ee)]===0x1?arrayContains(_0x102e5a,_0x13cf9e):arrayOverlaps(_0x102e5a,_0x13cf9e);}};function buildFieldClauses(_0x2bc0b1,_0x28866e,_0x45a6d4){const _0x23d659=_0x4caa47,_0x3d31da=[];if(_0x45a6d4[_0x23d659(0x329)]?.['length']&&!isBlank(_0x28866e[_0x23d659(0x270)])){const _0x19893c='%'+String(_0x28866e['keyWord'])+'%',_0x4a5856=_0x45a6d4['keyWordLikeFields'][_0x23d659(0x274)](_0x418446=>{const _0x696836=_0x23d659,_0x3a95b7=_0x418446[_0x696836(0x30e)]('.')?_0x418446[_0x696836(0x330)]('.')[_0x696836(0x2e1)]():_0x418446;return like(tableCol(_0x2bc0b1,_0x3a95b7),_0x19893c);});if(_0x4a5856[_0x23d659(0x1ee)]===0x1)_0x3d31da[_0x23d659(0x1f1)](_0x4a5856[0x0]);else{if(_0x4a5856[_0x23d659(0x1ee)]>0x1)_0x3d31da['push'](or(..._0x4a5856));}}for(const _0x566179 of _0x45a6d4[_0x23d659(0x230)]??[]){const {column:_0x572d76,param:_0x3682b9}=colName(_0x566179),_0x297f88=_0x28866e[_0x3682b9];if(isBlank(_0x297f88))continue;if(Array[_0x23d659(0x322)](_0x297f88)){if(!_0x297f88[_0x23d659(0x1ee)])continue;_0x3d31da[_0x23d659(0x1f1)](inArray(tableCol(_0x2bc0b1,_0x572d76),_0x297f88));}else _0x3d31da[_0x23d659(0x1f1)](eq(tableCol(_0x2bc0b1,_0x572d76),_0x297f88));}for(const _0x503b75 of _0x45a6d4[_0x23d659(0x1de)]??[]){const {column:_0x51ce4f,param:_0x14dfde}=colName(_0x503b75),_0x386a1e=_0x28866e[_0x14dfde];if(isBlank(_0x386a1e))continue;_0x3d31da[_0x23d659(0x1f1)](like(tableCol(_0x2bc0b1,_0x51ce4f),'%'+String(_0x386a1e)+'%'));}for(const _0x20d110 of _0x45a6d4['fieldArray']??[]){const {column:_0x25ac4e,param:_0x269585}=colName(_0x20d110),_0x4af2f8=q[_0x23d659(0x28c)](tableCol(_0x2bc0b1,_0x25ac4e),_0x28866e[_0x269585]);if(_0x4af2f8)_0x3d31da[_0x23d659(0x1f1)](_0x4af2f8);}for(const _0x362a10 of _0x45a6d4['fieldRange']??[]){const _0x2c90df=tableCol(_0x2bc0b1,rangeColumn(_0x362a10)),_0x5afcf8=q[_0x23d659(0x28e)](_0x2c90df,_0x28866e[_0x362a10[_0x23d659(0x23e)]],_0x28866e[_0x362a10[_0x23d659(0x258)]]);if(_0x5afcf8)_0x3d31da[_0x23d659(0x1f1)](_0x5afcf8);}return _0x3d31da;}function buildOrderBy(_0x1dcb6c,_0x7275b1,_0x42331d){const _0x41032c=_0x4caa47,_0x3c8502=[],_0x2e9e76=_0x7275b1[_0x41032c(0x328)]!=null?String(_0x7275b1[_0x41032c(0x328)]):undefined,_0x391f22=_0x7275b1['sort']===_0x41032c(0x2f5)||_0x7275b1['sort']===_0x41032c(0x244)?_0x7275b1[_0x41032c(0x32e)]:undefined;if(_0x2e9e76){const _0x4b97a3=tableCol(_0x1dcb6c,_0x2e9e76);_0x3c8502[_0x41032c(0x1f1)](_0x391f22==='asc'?asc(_0x4b97a3):desc(_0x4b97a3));}else{if(_0x42331d[_0x41032c(0x1ba)])for(const [_0x309539,_0x4c213c]of Object[_0x41032c(0x216)](_0x42331d[_0x41032c(0x1ba)])){const _0x160fc1=_0x309539['includes']('.')?_0x309539[_0x41032c(0x330)]('.')[_0x41032c(0x2e1)]():_0x309539,_0x2d92a7=tableCol(_0x1dcb6c,_0x160fc1);_0x3c8502[_0x41032c(0x1f1)](_0x4c213c===_0x41032c(0x2f5)?asc(_0x2d92a7):desc(_0x2d92a7));}}return _0x3c8502;}function needsAdvancedQuery(_0x46d871){const _0x4f9a38=_0x4caa47;return!!(_0x46d871?.['join']?.[_0x4f9a38(0x1ee)]||_0x46d871?.['select']);}async function buildQueryOp(_0x1e6a34,_0x5bd21d,_0x2eee3d={},_0x34f2fe){const _0x515a82=_0x4caa47,_0x43b832=buildFieldClauses(_0x1e6a34,_0x5bd21d,_0x2eee3d),_0x17bf71=buildOrderBy(_0x1e6a34,_0x5bd21d,_0x2eee3d),_0x2a4d37={'body':_0x5bd21d,'request':_0x34f2fe??new Request(_0x515a82(0x16d))};_0x2eee3d['where']&&_0x43b832[_0x515a82(0x1f1)](...compactWhere(await _0x2eee3d[_0x515a82(0x2f8)](_0x2a4d37)));if(_0x2eee3d['extend']){const _0x5e2139={'andWhere'(_0x43f03a){const _0x3a486b=_0x515a82;if(_0x43f03a!=null&&_0x43f03a!==![])_0x43b832[_0x3a486b(0x1f1)](_0x43f03a);},'orderBy'(..._0x2cb7bb){const _0x4c044a=_0x515a82;for(const _0x3fd767 of _0x2cb7bb){if(_0x3fd767!=null)_0x17bf71[_0x4c044a(0x1f1)](_0x3fd767);}}};await _0x2eee3d[_0x515a82(0x290)](_0x5e2139,_0x2a4d37);}const _0x271fac=_0x43b832[_0x515a82(0x1ee)]===0x0?undefined:_0x43b832['length']===0x1?_0x43b832[0x0]:and(..._0x43b832);return{'where':_0x271fac,'orderBySql':_0x17bf71};}import{and as _0x4b4655,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x38a578}from'drizzle-orm';function readCrudConfig(){const _0x4d4431=_0x4caa47;return VomeConfig[_0x4d4431(0x23f)]?.[_0x4d4431(0x17b)]??{};}function resolveUpsert(_0x3b01fd){const _0x39c9e9=_0x4caa47;return _0x3b01fd??readCrudConfig()[_0x39c9e9(0x1a7)]??_0x39c9e9(0x177);}function resolveSoftDelete(_0x40aafe){const _0x4a4cd5=_0x4caa47;if(_0x40aafe!=null)return _0x40aafe;return readCrudConfig()[_0x4a4cd5(0x1bc)]===!![];}class DbStore{['drizzle'];[_0x4caa47(0x310)];[_0x4caa47(0x1d9)];[_0x4caa47(0x172)];constructor(_0x547073,_0x2693b9,_0x274bf,_0x4327e3){const _0x4bdc11=_0x4caa47;this['drizzle']=_0x547073,this[_0x4bdc11(0x310)]=_0x2693b9,this['schema']=_0x274bf,this[_0x4bdc11(0x172)]=_0x4327e3;}}import{and as _0x374de0,inArray as _0x3abfa2,sql as _0x2bced8}from'drizzle-orm';import{and as _0x5d9553,eq as _0x3e1c32,sql as _0x3f6d4a}from'drizzle-orm';var SKIP_KEY=_0x4caa47(0x235);function isTenantEnabled(){const _0x21e508=_0x4caa47;return VomeConfig[_0x21e508(0x23f)]?.[_0x21e508(0x2e7)]===!![];}function tableHasTenantId(_0x212dd4){return _0x212dd4['tenantId']!=null;}function resolveTenantScope(){const _0x3323dd=_0x4caa47;if(!isTenantEnabled())return _0x3323dd(0x1d5);const _0x1cf9df=Context[_0x3323dd(0x331)]();if(_0x1cf9df?.[SKIP_KEY])return _0x3323dd(0x1d5);if(_0x1cf9df?.[_0x3323dd(0x2cf)])return _0x3323dd(0x212);const _0x3b4bc8=_0x1cf9df?.[_0x3323dd(0x2c0)],_0x456920=typeof _0x3b4bc8===_0x3323dd(0x224)?_0x3b4bc8:Number(_0x3b4bc8);if(!Number[_0x3323dd(0x1b5)](_0x456920)||_0x456920<=0x0)return _0x3323dd(0x304);return _0x456920;}function applyTenantWhere(_0x17c0b6,_0x281008){const _0x7b0495=_0x4caa47;if(!tableHasTenantId(_0x17c0b6))return _0x281008;const _0xf10c93=resolveTenantScope();if(_0xf10c93===_0x7b0495(0x1d5)||_0xf10c93===_0x7b0495(0x212))return _0x281008;const _0xd1dbd=_0x17c0b6[_0x7b0495(0x2c0)],_0x569743=_0xf10c93==='none'?_0x3f6d4a`false`:_0x3e1c32(_0xd1dbd,_0xf10c93);if(_0x281008&&_0x569743)return _0x5d9553(_0x281008,_0x569743);return _0x281008??_0x569743;}function stampTenantId(_0x20bb36,_0x2bdb26){const _0x5f3a0c=_0x4caa47;if(!tableHasTenantId(_0x20bb36))return _0x2bdb26;const _0x5485b1=resolveTenantScope();if(typeof _0x5485b1!==_0x5f3a0c(0x224))return _0x2bdb26;if(_0x2bdb26[_0x5f3a0c(0x2c0)]!=null)return _0x2bdb26;return{..._0x2bdb26,'tenantId':_0x5485b1};}async function noTenant(_0x3be107){const _0x13db2f=_0x4caa47,_0x4d2aaf=Context[_0x13db2f(0x331)]();if(!_0x4d2aaf)return _0x3be107();const _0x73af0a=_0x4d2aaf[SKIP_KEY];_0x4d2aaf[SKIP_KEY]=!![];try{return await _0x3be107();}finally{if(_0x73af0a===undefined)delete _0x4d2aaf[SKIP_KEY];else _0x4d2aaf[SKIP_KEY]=_0x73af0a;}}function normalizeHost(_0x400407){const _0x5e9232=_0x4caa47;if(!_0x400407)return'';return _0x400407[_0x5e9232(0x32d)]()[_0x5e9232(0x19c)]()[_0x5e9232(0x313)](/:\d+$/,'');}var SKIP_KEY2=_0x4caa47(0x311);function tableHasDepartmentId(_0x5d1944){const _0x5f3aba=_0x4caa47;return _0x5d1944[_0x5f3aba(0x197)]!=null;}function resolveDataScope(){const _0x225bc0=_0x4caa47,_0xec0320=Context['get']();if(!_0xec0320)return _0x225bc0(0x1d5);if(_0xec0320[SKIP_KEY2])return _0x225bc0(0x1d5);if(_0xec0320[_0x225bc0(0x2cf)])return _0x225bc0(0x212);const _0x26efc6=_0xec0320[_0x225bc0(0x28f)];if(_0x26efc6==null||_0x26efc6==='')return'off';if(_0x26efc6===_0x225bc0(0x212))return'all';if(_0x26efc6===_0x225bc0(0x304))return _0x225bc0(0x304);const _0x4f904d=_0xec0320['dataScopeDeptIds'],_0x410335=Array[_0x225bc0(0x322)](_0x4f904d)?_0x4f904d['map'](_0x1cebb5=>Number(_0x1cebb5))[_0x225bc0(0x29b)](_0x287097=>Number[_0x225bc0(0x1b5)](_0x287097)&&_0x287097>0x0):[];if(!_0x410335[_0x225bc0(0x1ee)])return _0x225bc0(0x304);return[...new Set(_0x410335)];}function applyDataScopeWhere(_0x2c0cb5,_0x5c96b6){const _0x2db0ea=_0x4caa47;if(!tableHasDepartmentId(_0x2c0cb5))return _0x5c96b6;const _0x1a5b45=resolveDataScope();if(_0x1a5b45===_0x2db0ea(0x1d5)||_0x1a5b45==='all')return _0x5c96b6;const _0x9adeee=_0x2c0cb5[_0x2db0ea(0x197)],_0x34abc1=_0x1a5b45==='none'?_0x2bced8`false`:_0x3abfa2(_0x9adeee,_0x1a5b45);if(_0x5c96b6)return _0x374de0(_0x5c96b6,_0x34abc1);return _0x34abc1;}function applyRowScopes(_0x5d3e6c,_0x20aeed){return applyDataScopeWhere(_0x5d3e6c,applyTenantWhere(_0x5d3e6c,_0x20aeed));}async function noDataScope(_0x2391ab){const _0x3e721e=_0x4caa47,_0x102525=Context[_0x3e721e(0x331)]();if(!_0x102525)return _0x2391ab();const _0x2c6e7e=_0x102525[SKIP_KEY2];_0x102525[SKIP_KEY2]=!![];try{return await _0x2391ab();}finally{if(_0x2c6e7e===undefined)delete _0x102525[SKIP_KEY2];else _0x102525[SKIP_KEY2]=_0x2c6e7e;}}function deletedAtColumn(_0x563691){const _0x2c4b23=_0x4caa47;return _0x563691[_0x2c4b23(0x222)];}function trashClause(_0x49b186,_0x36172e){const _0x42934e=_0x4caa47;if(!resolveSoftDelete(_0x36172e?.[_0x42934e(0x1bc)]))return;const _0x5a2f00=deletedAtColumn(_0x49b186);if(_0x5a2f00==null)return;if(_0x36172e?.['onlyTrashed'])return isNotNull(_0x5a2f00);if(_0x36172e?.[_0x42934e(0x23d)])return;return isNull(_0x5a2f00);}function mergeWhere(_0x5dd22b,_0x52b9f8){if(_0x5dd22b&&_0x52b9f8)return _0x4b4655(_0x52b9f8,_0x5dd22b);return _0x5dd22b??_0x52b9f8;}function applyJoins(_0x1b3ce2,_0x14e3f5,_0x1f6d9f){const _0x41489f=_0x4caa47;let _0x24a960=_0x1b3ce2;for(const _0x4456cf of _0x1f6d9f[_0x41489f(0x24c)]??[]){const _0x487000=_0x4456cf[_0x41489f(0x2a6)],_0x3f3c5f=_0x4456cf['on'](_0x14e3f5),_0x3654a3=_0x4456cf[_0x41489f(0x261)]??'leftJoin';_0x3654a3===_0x41489f(0x16f)||_0x3654a3==='join'?_0x24a960=_0x24a960[_0x41489f(0x16f)](_0x487000,_0x3f3c5f):_0x24a960=_0x24a960[_0x41489f(0x1df)](_0x487000,_0x3f3c5f);}return _0x24a960;}function resolveSelect(_0x51f9b3,_0x1ddb1e){const _0x299bdb=_0x4caa47;if(_0x1ddb1e[_0x299bdb(0x2eb)])return _0x1ddb1e[_0x299bdb(0x2eb)];return getTableColumns(_0x51f9b3);}function countExpr(_0x222e7d,_0x2034b6){const _0x3b2bea=_0x222e7d['id'];if(_0x3b2bea!=null&&_0x2034b6)return countDistinct(_0x3b2bea);if(_0x3b2bea!=null)return count(_0x3b2bea);return count(_0x38a578`*`);}async function queryWithOp(_0x1b173a,_0x42aa2f,_0x3771c6,_0x1e57a7){const _0x430df3=_0x4caa47,_0x35cce3=await buildQueryOp(_0x1b173a,_0x42aa2f,_0x3771c6,_0x1e57a7[_0x430df3(0x176)]),_0x44be67=trashClause(_0x1b173a,_0x1e57a7[_0x430df3(0x247)]),_0xb796a5=applyRowScopes(_0x1b173a,mergeWhere(_0x35cce3[_0x430df3(0x2f8)],_0x44be67)),_0x3032ca=resolveSelect(_0x1b173a,_0x3771c6),_0x414339=!!_0x3771c6['join']?.[_0x430df3(0x1ee)],_0x2b1dfa=Ioc[_0x430df3(0x331)](DbStore)[_0x430df3(0x1f5)];let _0x4d7a91=applyJoins(_0x2b1dfa['select'](_0x3032ca)['from'](_0x1b173a),_0x1b173a,_0x3771c6);if(_0xb796a5)_0x4d7a91=_0x4d7a91[_0x430df3(0x2f8)](_0xb796a5);if(_0x35cce3[_0x430df3(0x2d3)][_0x430df3(0x1ee)])_0x4d7a91=_0x4d7a91[_0x430df3(0x333)](..._0x35cce3[_0x430df3(0x2d3)]);if(_0x1e57a7[_0x430df3(0x20a)]==='list')return await _0x4d7a91;const _0x24d514=Math[_0x430df3(0x258)](0x1,Number(_0x42aa2f[_0x430df3(0x26c)]??0x1)),_0x5b1572=Math['min'](0x64,Math[_0x430df3(0x258)](0x1,Number(_0x42aa2f[_0x430df3(0x251)]??0x14))),_0x254a61=(_0x24d514-0x1)*_0x5b1572,_0x42a88a=await _0x4d7a91[_0x430df3(0x2e4)](_0x5b1572)[_0x430df3(0x2c8)](_0x254a61);let _0x2ba968=applyJoins(_0x2b1dfa[_0x430df3(0x2eb)]({'value':countExpr(_0x1b173a,_0x414339)})['from'](_0x1b173a),_0x1b173a,_0x3771c6);if(_0xb796a5)_0x2ba968=_0x2ba968['where'](_0xb796a5);const _0xa76464=await _0x2ba968,_0x3ebb73=Number(_0xa76464[0x0]?.[_0x430df3(0x1c9)]??0x0);return{'list':_0x42a88a,'pagination':{'page':_0x24d514,'size':_0x5b1572,'total':_0x3ebb73}};}import{and as _0x2f78fb,count as _0x573995,eq as _0x39328e,inArray as _0x20b21f,isNotNull as _0x3af972,isNull as _0x4e35c0}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0x8a8cea){return{'select':createSelectSchema(_0x8a8cea),'insert':createInsertSchema(_0x8a8cea),'update':createUpdateSchema(_0x8a8cea)};}var WRITE_META_KEYS=['createTime',_0x4caa47(0x2c6),'deletedAt'];function sanitizeWritePayload(_0x1b6b7f){const _0x3bef7c=_0x4caa47,_0x5d5fc0=_0x1b6b7f&&typeof _0x1b6b7f===_0x3bef7c(0x2df)&&!Array[_0x3bef7c(0x322)](_0x1b6b7f)?{..._0x1b6b7f}:{};for(const _0x19efcf of WRITE_META_KEYS)delete _0x5d5fc0[_0x19efcf];for(const [_0x48e9f0,_0x298dbb]of Object[_0x3bef7c(0x216)](_0x5d5fc0)){if(typeof _0x298dbb!==_0x3bef7c(0x2ed))continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x3bef7c(0x1e9)](_0x298dbb))continue;const _0x1c5d0e=new Date(_0x298dbb);if(!Number[_0x3bef7c(0x291)](_0x1c5d0e['getTime']()))_0x5d5fc0[_0x48e9f0]=_0x1c5d0e;}return _0x5d5fc0;}function isSqlLike(_0x1699f4){const _0x2d2df4=_0x4caa47;return!!_0x1699f4&&typeof _0x1699f4==='object'&&_0x1699f4[_0x2d2df4(0x252)]!=null;}function db(){const _0x8b5101=_0x4caa47;return Ioc[_0x8b5101(0x331)](DbStore)[_0x8b5101(0x1f5)];}function tableId(_0x34e326){const _0x420ddb=_0x4caa47,_0x56fd3f=_0x34e326['id'];if(!_0x56fd3f)throw new Error(_0x420ddb(0x308));return _0x56fd3f;}function deletedAtColumn2(_0x55bedf){const _0x3f6c7d=_0x4caa47;return _0x55bedf[_0x3f6c7d(0x222)];}function mergeWhere2(_0x4d95d5,_0x507178){if(_0x4d95d5&&_0x507178)return _0x2f78fb(_0x507178,_0x4d95d5);return _0x4d95d5??_0x507178;}function trashClause2(_0x491625,_0x438945){const _0x11c26b=_0x4caa47;if(!resolveSoftDelete(_0x438945?.[_0x11c26b(0x1bc)]))return;const _0x53b4f3=deletedAtColumn2(_0x491625);if(_0x53b4f3==null)return;if(_0x438945?.[_0x11c26b(0x334)])return _0x3af972(_0x53b4f3);if(_0x438945?.[_0x11c26b(0x23d)])return;return _0x4e35c0(_0x53b4f3);}class Repository{[_0x4caa47(0x2a6)];[_0x4caa47(0x1d9)];constructor(_0x97897,_0x349175){const _0x57cee5=_0x4caa47;this[_0x57cee5(0x2a6)]=_0x97897,this['schema']=_0x349175??entitySchemas(_0x97897);}[_0x4caa47(0x170)](){const _0x2b06e4=_0x4caa47;return deletedAtColumn2(this[_0x2b06e4(0x2a6)])!=null;}[_0x4caa47(0x259)](_0x1972bf,_0x57b1bd){const _0x254acb=_0x4caa47;return applyRowScopes(this[_0x254acb(0x2a6)],mergeWhere2(_0x1972bf,trashClause2(this[_0x254acb(0x2a6)],_0x57b1bd)));}async[_0x4caa47(0x292)](_0x338b1f,_0xe10326){const _0x2853aa=_0x4caa47,_0x3a9e9a=this[_0x2853aa(0x259)](_0x338b1f,_0xe10326);let _0x2a428d=db()[_0x2853aa(0x2eb)]()[_0x2853aa(0x199)](this[_0x2853aa(0x2a6)]);if(_0x3a9e9a)_0x2a428d=_0x2a428d['where'](_0x3a9e9a);if(_0xe10326?.[_0x2853aa(0x333)]?.[_0x2853aa(0x1ee)])_0x2a428d=_0x2a428d[_0x2853aa(0x333)](..._0xe10326['orderBy']);return await _0x2a428d;}async['findOne'](_0x57e6e6,_0x30068c){const _0x43e190=_0x4caa47,[_0x243e43]=await this[_0x43e190(0x292)](_0x57e6e6,_0x30068c);return _0x243e43;}async[_0x4caa47(0x2ca)](_0x103598,_0x290818){const _0x2c510c=_0x4caa47;return this[_0x2c510c(0x1aa)](_0x39328e(tableId(this[_0x2c510c(0x2a6)]),_0x103598),_0x290818);}async['count'](_0x191609,_0x14cfe6){const _0x321d2e=_0x4caa47,_0xf38be2=this['scopedWhere'](_0x191609,_0x14cfe6),_0x3de8d2=db()['select']({'value':_0x573995()})[_0x321d2e(0x199)](this['table']),_0xc67d3a=_0xf38be2?await _0x3de8d2[_0x321d2e(0x2f8)](_0xf38be2):await _0x3de8d2;return Number(_0xc67d3a[0x0]?.[_0x321d2e(0x1c9)]??0x0);}async[_0x4caa47(0x324)](_0x11ae15){const _0x2e5a62=_0x4caa47,{page:_0x42609,size:_0x441ad0,where:_0x4257ca,orderBy:_0x1fdde1,withTrashed:_0x4ac8e9,onlyTrashed:_0x49053d,softDelete:_0x929b2f}=_0x11ae15,_0x3b144e={'withTrashed':_0x4ac8e9,'onlyTrashed':_0x49053d,'softDelete':_0x929b2f},_0x926b21=this['scopedWhere'](_0x4257ca,_0x3b144e),_0x331619=(_0x42609-0x1)*_0x441ad0;let _0x9ab8f1=db()[_0x2e5a62(0x2eb)]()[_0x2e5a62(0x199)](this[_0x2e5a62(0x2a6)]);if(_0x926b21)_0x9ab8f1=_0x9ab8f1['where'](_0x926b21);if(_0x1fdde1?.[_0x2e5a62(0x1ee)])_0x9ab8f1=_0x9ab8f1[_0x2e5a62(0x333)](..._0x1fdde1);const _0x145864=await _0x9ab8f1['limit'](_0x441ad0)['offset'](_0x331619),_0x5f2eae=await this[_0x2e5a62(0x266)](_0x4257ca,_0x3b144e);return{'list':_0x145864,'pagination':{'page':_0x42609,'size':_0x441ad0,'total':_0x5f2eae}};}[_0x4caa47(0x2cb)](_0x5326bf){const _0x145f45=_0x4caa47,_0x3d6766=stampTenantId(this[_0x145f45(0x2a6)],sanitizeWritePayload(_0x5326bf));return this[_0x145f45(0x1d9)][_0x145f45(0x177)][_0x145f45(0x1cf)](_0x3d6766);}async[_0x4caa47(0x1a3)](_0x251433){const _0x3b2538=_0x4caa47;if(Array[_0x3b2538(0x322)](_0x251433)){if(!_0x251433[_0x3b2538(0x1ee)])return[];const _0x5e4960=_0x251433[_0x3b2538(0x274)](_0xaf5b63=>this['parseInsert'](_0xaf5b63));return await db()[_0x3b2538(0x177)](this[_0x3b2538(0x2a6)])[_0x3b2538(0x180)](_0x5e4960)['returning']();}const [_0x4f9cf5]=await db()['insert'](this[_0x3b2538(0x2a6)])[_0x3b2538(0x180)](this['parseInsert'](_0x251433))[_0x3b2538(0x275)]();return _0x4f9cf5;}async['save'](_0x7975b){const _0x26abec=_0x4caa47;if(Array[_0x26abec(0x322)](_0x7975b)){if(!_0x7975b[_0x26abec(0x1ee)])return[];const _0x3939d9=_0x7975b,_0xbee2e3=tableId(this[_0x26abec(0x2a6)]),_0x2a9d48=_0x3939d9[_0x26abec(0x29b)](_0x5d9f9c=>_0x5d9f9c?.['id']!=null&&_0x5d9f9c['id']!==''),_0x2eb3ec=_0x3939d9[_0x26abec(0x29b)](_0x2eb604=>_0x2eb604?.['id']==null||_0x2eb604['id']==='');let _0x5cc5d8=new Set();if(_0x2a9d48['length']){const _0x30b456=await this[_0x26abec(0x292)](_0x20b21f(_0xbee2e3,_0x2a9d48[_0x26abec(0x274)](_0x48e656=>_0x48e656['id'])));_0x5cc5d8=new Set(_0x30b456['map'](_0xd4c9ac=>_0xd4c9ac['id']));}const _0x5606c7=[],_0x45470d=[..._0x2eb3ec];for(const _0x4de41b of _0x2a9d48){if(_0x5cc5d8[_0x26abec(0x30c)](_0x4de41b['id']))_0x5606c7[_0x26abec(0x1f1)](_0x4de41b);else _0x45470d['push'](_0x4de41b);}const _0x52ebfd=_0x5606c7[_0x26abec(0x1ee)]?await this['update'](_0x5606c7):[],_0x51b090=_0x45470d[_0x26abec(0x1ee)]?await this[_0x26abec(0x1a3)](_0x45470d):[];return[...Array[_0x26abec(0x322)](_0x52ebfd)?_0x52ebfd:_0x52ebfd?[_0x52ebfd]:[],...Array[_0x26abec(0x322)](_0x51b090)?_0x51b090:_0x51b090?[_0x51b090]:[]];}const _0x432fc9=_0x7975b,_0x311fc6=_0x432fc9?.['id'];if(_0x311fc6!=null&&_0x311fc6!==''){const _0x361a3f=await this[_0x26abec(0x2ca)](_0x311fc6);if(_0x361a3f){const {id:_0x188550,..._0x5b6ab0}=_0x432fc9,_0x49d5b5=await this[_0x26abec(0x234)](_0x39328e(tableId(this[_0x26abec(0x2a6)]),_0x311fc6),_0x5b6ab0);return _0x49d5b5??_0x361a3f;}}return await this['create'](_0x7975b);}async['update'](_0xa16e73,_0x85db87){const _0x1f6449=_0x4caa47;if(Array[_0x1f6449(0x322)](_0xa16e73))return this['updateByRows'](_0xa16e73);const _0x680d40=this['schema'][_0x1f6449(0x234)][_0x1f6449(0x1cf)](sanitizeWritePayload(_0x85db87)),_0x20a0ad=applyRowScopes(this[_0x1f6449(0x2a6)],_0xa16e73);if(!_0x20a0ad)return;const [_0x68731c]=await db()[_0x1f6449(0x234)](this[_0x1f6449(0x2a6)])[_0x1f6449(0x302)](_0x680d40)['where'](_0x20a0ad)['returning']();return _0x68731c;}async[_0x4caa47(0x2fd)](_0x5a2bb6){const _0x229ff6=_0x4caa47;if(!_0x5a2bb6['length'])return[];const _0x40fe31=tableId(this[_0x229ff6(0x2a6)]),_0x59c5a8=new Map();for(const _0xaa0691 of _0x5a2bb6){const _0x7fd40c=_0xaa0691['id'];if(_0x7fd40c==null||_0x7fd40c==='')throw new Error('[Repository]\x20\u6279\u91CF\u66F4\u65B0\u6BCF\u6761\u9700\u5E26\x20id');const {id:_0x28a318,..._0x16201f}=_0xaa0691,_0x2134be=this[_0x229ff6(0x1d9)]['update']['parse'](sanitizeWritePayload(_0x16201f)),_0x55c2ab=JSON[_0x229ff6(0x22e)](_0x2134be),_0x8bea7c=_0x59c5a8[_0x229ff6(0x331)](_0x55c2ab);if(_0x8bea7c)_0x8bea7c[_0x229ff6(0x2b7)][_0x229ff6(0x1f1)](_0x7fd40c);else _0x59c5a8[_0x229ff6(0x302)](_0x55c2ab,{'ids':[_0x7fd40c],'patch':_0x2134be});}const _0x414015=[];for(const {ids:_0x1feac4,patch:_0x54fff7}of _0x59c5a8[_0x229ff6(0x180)]()){const _0x55502d=applyRowScopes(this[_0x229ff6(0x2a6)],_0x20b21f(_0x40fe31,_0x1feac4));if(!_0x55502d)continue;const _0x264dd7=await db()[_0x229ff6(0x234)](this[_0x229ff6(0x2a6)])[_0x229ff6(0x302)](_0x54fff7)[_0x229ff6(0x2f8)](_0x55502d)[_0x229ff6(0x275)]();_0x414015['push'](..._0x264dd7);}return _0x414015;}['resolveIdWhere'](_0xba83ac){const _0x25c0c6=_0x4caa47;if(isSqlLike(_0xba83ac))return applyRowScopes(this[_0x25c0c6(0x2a6)],_0xba83ac);const _0x4e4b00=Array[_0x25c0c6(0x322)](_0xba83ac)?_0xba83ac:[_0xba83ac];if(!_0x4e4b00['length'])return;return applyRowScopes(this['table'],_0x20b21f(tableId(this[_0x25c0c6(0x2a6)]),_0x4e4b00));}async[_0x4caa47(0x1bc)](_0x23bd32){const _0x3d8299=_0x4caa47;if(!this[_0x3d8299(0x170)]())throw new Error(_0x3d8299(0x272));const _0x1472e0=this['resolveIdWhere'](_0x23bd32);if(!_0x1472e0)return;await db()[_0x3d8299(0x234)](this[_0x3d8299(0x2a6)])[_0x3d8299(0x302)]({'deletedAt':new Date()})[_0x3d8299(0x2f8)](_0x1472e0);}async[_0x4caa47(0x31b)](_0x4b7898){const _0x45e571=_0x4caa47;if(!this[_0x45e571(0x170)]())throw new Error(_0x45e571(0x32b));const _0x3d8408=this[_0x45e571(0x2e8)](_0x4b7898);if(!_0x3d8408)return;await db()[_0x45e571(0x234)](this[_0x45e571(0x2a6)])[_0x45e571(0x302)]({'deletedAt':null})['where'](_0x3d8408);}async[_0x4caa47(0x18a)](_0x36b42f){const _0x5c74f8=_0x4caa47,_0x1cc7e8=this['resolveIdWhere'](_0x36b42f);if(!_0x1cc7e8)return;await db()[_0x5c74f8(0x1d0)](this['table'])[_0x5c74f8(0x2f8)](_0x1cc7e8);}}var repoCache=new WeakMap();function getRepository(_0x1b8f32){const _0x22a474=_0x4caa47,_0x563672=repoCache['get'](_0x1b8f32);if(_0x563672)return _0x563672;const _0x39e9b6=new Repository(_0x1b8f32);return repoCache[_0x22a474(0x302)](_0x1b8f32,_0x39e9b6),_0x39e9b6;}function InjectRepository(_0xca643){return(_0x36be22,_0x57c4b0)=>{appendInjectMeta(_0x36be22['constructor'],{'propertyKey':_0x57c4b0,'resolve':()=>getRepository(_0xca643)});};}function isSql(_0x2cac51){const _0xbcdd02=_0x4caa47;return!!_0x2cac51&&typeof _0x2cac51===_0xbcdd02(0x2df)&&_0x2cac51[_0xbcdd02(0x252)]!=null;}class BaseService{['entity'];['bindEntity'](_0x3c96fb){if(!this['entity'])this['entity']=_0x3c96fb;}[_0x4caa47(0x1e2)](_0x339635){const _0x194deb=_0x4caa47;this[_0x194deb(0x1a2)]=_0x339635;}[_0x4caa47(0x31e)](){const _0x3243f4=_0x4caa47;return!!this[_0x3243f4(0x1a2)];}[_0x4caa47(0x1ff)](){return this['requireEntity']();}[_0x4caa47(0x217)](){const _0x27b6b7=_0x4caa47;if(!this[_0x27b6b7(0x1a2)])throw new Error(_0x27b6b7(0x193));return this[_0x27b6b7(0x1a2)];}async[_0x4caa47(0x21f)](_0x368b12,_0xfb23f){}async[_0x4caa47(0x30d)](_0x580163,_0x10f069){}async['add'](_0x2c3f5a,_0x37b037){const _0x559661=_0x4caa47,_0x310041=resolveUpsert(_0x37b037?.['upsert']),_0x5cba6f=Array['isArray'](_0x2c3f5a)?_0x2c3f5a[_0x559661(0x274)](_0x39fc91=>_0x39fc91!=null&&typeof _0x39fc91===_0x559661(0x2df)?{..._0x39fc91}:_0x39fc91):_0x2c3f5a!=null&&typeof _0x2c3f5a===_0x559661(0x2df)?{..._0x2c3f5a}:_0x2c3f5a;await this['modifyBefore'](_0x5cba6f,_0x559661(0x301));const _0x1ea912=_0x310041===_0x559661(0x33c)?await this['requireEntity']()[_0x559661(0x33c)](_0x5cba6f):await this['requireEntity']()[_0x559661(0x1a3)](_0x5cba6f);return await this[_0x559661(0x30d)](_0x1ea912??_0x5cba6f,_0x559661(0x301)),_0x1ea912;}async[_0x4caa47(0x234)](_0x5c85fd,_0xfac8c7){const _0xe42aff=_0x4caa47;if(Array[_0xe42aff(0x322)](_0x5c85fd)){const _0x4fe3df=_0x5c85fd[_0xe42aff(0x274)](_0x5007b8=>({..._0x5007b8}));await this[_0xe42aff(0x21f)](_0x4fe3df,_0xe42aff(0x234));const _0x5c8382=await this['requireEntity']()[_0xe42aff(0x234)](_0x4fe3df);return await this[_0xe42aff(0x30d)](_0x5c8382??_0x4fe3df,_0xe42aff(0x234)),_0x5c8382;}if(isSql(_0x5c85fd)){const _0x359c8b=_0xfac8c7!=null&&typeof _0xfac8c7==='object'?{..._0xfac8c7}:_0xfac8c7;await this['modifyBefore'](_0x359c8b,_0xe42aff(0x234));const _0x5a2e3f=await this[_0xe42aff(0x217)]()[_0xe42aff(0x234)](_0x5c85fd,_0x359c8b);return await this[_0xe42aff(0x30d)](_0x5a2e3f??_0x359c8b,_0xe42aff(0x234)),_0x5a2e3f;}const _0x2ecef4={..._0x5c85fd};await this[_0xe42aff(0x21f)](_0x2ecef4,'update');const _0x34dd5e=await this['requireEntity']()[_0xe42aff(0x234)]([_0x2ecef4]);return await this[_0xe42aff(0x30d)](_0x34dd5e??_0x2ecef4,_0xe42aff(0x234)),Array[_0xe42aff(0x322)](_0x34dd5e)?_0x34dd5e[0x0]:_0x34dd5e;}async[_0x4caa47(0x1d0)](_0x28c012,_0x246087){const _0x566ade=_0x4caa47,_0x72767=this['requireEntity']();await this[_0x566ade(0x21f)](_0x28c012,_0x566ade(0x1d0));const _0x39ef74=resolveSoftDelete(_0x246087?.[_0x566ade(0x1bc)]);_0x246087?.[_0x566ade(0x2ac)]||!_0x39ef74||!_0x72767['supportsSoftDelete']()?await _0x72767[_0x566ade(0x18a)](_0x28c012):await _0x72767['softDelete'](_0x28c012),await this[_0x566ade(0x30d)](_0x28c012,_0x566ade(0x1d0));}[_0x4caa47(0x31b)](_0x480830){const _0x15821a=_0x4caa47;return this['requireEntity']()[_0x15821a(0x31b)](_0x480830);}[_0x4caa47(0x289)](_0x28d366,_0x47295f){const _0x56f5d0=_0x4caa47;return this[_0x56f5d0(0x217)]()[_0x56f5d0(0x292)](_0x28d366,_0x47295f);}[_0x4caa47(0x191)](_0x41e23d,_0x527802){const _0x1dc5a5=_0x4caa47,_0x141b4a=this[_0x1dc5a5(0x217)]();if(typeof _0x41e23d===_0x1dc5a5(0x2df))return _0x141b4a['findOne'](_0x41e23d,_0x527802);return _0x141b4a['findById'](_0x41e23d,_0x527802);}[_0x4caa47(0x26c)](_0x3fd018={}){const _0x359e7f=_0x4caa47,_0x39a9a0=Math[_0x359e7f(0x258)](0x1,_0x3fd018[_0x359e7f(0x26c)]??0x1),_0x27085e=Math[_0x359e7f(0x23e)](0x64,Math[_0x359e7f(0x258)](0x1,_0x3fd018[_0x359e7f(0x251)]??0x14));return this[_0x359e7f(0x217)]()['findPage']({'page':_0x39a9a0,'size':_0x27085e,'where':_0x3fd018['where'],'orderBy':_0x3fd018[_0x359e7f(0x333)],'withTrashed':_0x3fd018[_0x359e7f(0x23d)],'onlyTrashed':_0x3fd018[_0x359e7f(0x334)],'softDelete':_0x3fd018[_0x359e7f(0x1bc)]});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':_0x4caa47(0x24a),'list':_0x4caa47(0x1b6),'page':_0x4caa47(0x2f1),'restore':'\u6062\u590D'},CRUD_APIS=[_0x4caa47(0x301),_0x4caa47(0x1d0),_0x4caa47(0x234),_0x4caa47(0x191),_0x4caa47(0x289),_0x4caa47(0x26c),_0x4caa47(0x31b)],BEFORE_APIS=new Set(['add',_0x4caa47(0x234),'delete',_0x4caa47(0x31b)]);function omitProps(_0x5b74f2,_0x377a7c){const _0x56ea88=_0x4caa47;if(!_0x5b74f2||!_0x377a7c?.[_0x56ea88(0x1ee)])return _0x5b74f2;const _0x1e63cf={..._0x5b74f2};for(const _0xc5da1a of _0x377a7c)delete _0x1e63cf[_0xc5da1a];return _0x1e63cf;}function resolveIds(_0x2e5e7a){const _0x4d4956=_0x4caa47;if(Array[_0x4d4956(0x322)](_0x2e5e7a))return _0x2e5e7a[_0x4d4956(0x274)](_0x3fbbeb=>{if(_0x3fbbeb!=null&&typeof _0x3fbbeb==='object'&&'id'in _0x3fbbeb)return _0x3fbbeb['id'];return _0x3fbbeb;});if(_0x2e5e7a&&typeof _0x2e5e7a==='object'){const _0x37623c=_0x2e5e7a;if(Array[_0x4d4956(0x322)](_0x37623c['ids']))return _0x37623c['ids'];if(_0x37623c['id']!=null)return[_0x37623c['id']];}return[];}function resolveService(_0x4c17e2){const _0x18c09e=_0x4caa47,_0x4a280b=_0x4c17e2['crud'],_0x17aee2=_0x4a280b[_0x18c09e(0x1a2)];if(_0x4a280b[_0x18c09e(0x1d4)]){const _0x55ef34=Ioc[_0x18c09e(0x331)](_0x4a280b[_0x18c09e(0x1d4)]);if(_0x17aee2&&!_0x55ef34['hasEntity']())_0x55ef34[_0x18c09e(0x1e2)](getRepository(_0x17aee2));return _0x55ef34;}if(!_0x17aee2)throw new Error('[CRUD]\x20'+_0x4c17e2[_0x18c09e(0x31f)][_0x18c09e(0x30a)]+_0x18c09e(0x337));const _0x2f550c=new class extends BaseService{}();return _0x2f550c[_0x18c09e(0x1e2)](getRepository(_0x17aee2)),_0x2f550c;}function tableOf(_0x95613a,_0x535993){const _0x31b5bb=_0x4caa47,_0x5737e7=_0x535993['crud']?.[_0x31b5bb(0x1a2)];if(_0x5737e7)return _0x5737e7;return _0x95613a['getRepo']()['table'];}var attachCrudRoutes=(_0x7f0e03,_0x332f9c,_0x7de2e2)=>{const _0x541c67=_0x4caa47,_0xe58ce6=_0x332f9c[_0x541c67(0x17b)];if(!_0xe58ce6)return _0x7f0e03;const _0x30e4bb=(_0xe58ce6[_0x541c67(0x233)]??[])[_0x541c67(0x29b)](_0x4cc64c=>CRUD_APIS[_0x541c67(0x30e)](_0x4cc64c)),_0x1e5833=_0xe58ce6[_0x541c67(0x1bb)]??[];if(!_0x30e4bb[_0x541c67(0x1ee)]&&!_0x1e5833[_0x541c67(0x1ee)])return _0x7f0e03;const _0x34df17=_0x7de2e2[_0x541c67(0x2b4)]instanceof BaseController?_0x7de2e2['controller']:new BaseController(),_0x56d2d2=_0x30e4bb[_0x541c67(0x1ee)]>0x0,_0x180bff=_0x56d2d2||_0xe58ce6[_0x541c67(0x1d4)]?resolveService(_0x332f9c):undefined,_0x12e80a=_0x56d2d2&&_0x180bff?tableOf(_0x180bff,_0x332f9c):undefined,_0xea1da2=_0x12e80a?_0x12e80a['id']:undefined;if(_0x56d2d2&&_0xea1da2==null)throw new Error('[CRUD]\x20'+_0x332f9c['token'][_0x541c67(0x30a)]+_0x541c67(0x296));let _0x1b2456=_0x7f0e03;const _0x1a4777=(_0x5bc5d8,_0x3fab14,_0x4fb6e9,_0x16dd1c)=>{const _0x4b495f=_0x541c67;_0x1b2456=_0x1b2456[_0x5bc5d8](_0x3fab14,_0x16dd1c,_0x7de2e2[_0x4b495f(0x1da)]({'action':_0x4fb6e9,'summary':CRUD_SUMMARY[_0x4fb6e9]}));},_0x374498=async(_0x4501cb,_0x5a8353,_0x611888)=>{const _0x4a965d=_0x541c67;if(!_0xe58ce6[_0x4a965d(0x173)]||!BEFORE_APIS[_0x4a965d(0x30c)](_0x4501cb))return _0x5a8353;return await _0xe58ce6[_0x4a965d(0x173)]({'body':_0x5a8353,'request':_0x611888,'api':_0x4501cb}),_0x5a8353;};_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x301))&&_0x180bff&&_0x1a4777(_0x541c67(0x2e3),'/add','add',async({body:_0x2f179e,request:_0x2ab813})=>{const _0x5b4778=_0x541c67;try{const _0x2a9b4f=_0x2f179e;if(Array[_0x5b4778(0x322)](_0x2a9b4f)){let _0xb72d6a=_0x2a9b4f;if(_0xe58ce6[_0x5b4778(0x173)]&&BEFORE_APIS[_0x5b4778(0x30c)](_0x5b4778(0x301)))for(let _0x48bee6=0x0;_0x48bee6<_0xb72d6a['length'];_0x48bee6++){_0xb72d6a[_0x48bee6]=await _0x374498(_0x5b4778(0x301),{..._0xb72d6a[_0x48bee6]??{}},_0x2ab813);}if(_0xe58ce6['insertParam']){const _0x472aa5=await _0xe58ce6[_0x5b4778(0x219)]({'body':_0xb72d6a[0x0]??{},'request':_0x2ab813});_0xb72d6a=_0xb72d6a['map'](_0x4cef52=>({..._0x4cef52,..._0x472aa5}));}const _0x1339b0=await _0x180bff[_0x5b4778(0x301)](_0xb72d6a);return _0x34df17['ok'](_0x1339b0);}let _0x2d290a={..._0x2a9b4f??{}};_0x2d290a=await _0x374498(_0x5b4778(0x301),_0x2d290a,_0x2ab813);_0xe58ce6[_0x5b4778(0x219)]&&Object[_0x5b4778(0x28b)](_0x2d290a,await _0xe58ce6[_0x5b4778(0x219)]({'body':_0x2d290a,'request':_0x2ab813}));const _0x12173d=await _0x180bff['add'](_0x2d290a);return _0x34df17['ok'](_0x12173d);}catch(_0x3d1713){return _0x34df17[_0x5b4778(0x305)](_0x3d1713 instanceof Error?_0x3d1713[_0x5b4778(0x225)]:_0x5b4778(0x2d1));}});_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x1d0))&&_0x180bff&&_0xea1da2&&_0x1a4777('post',_0x541c67(0x2b2),_0x541c67(0x1d0),async({body:_0x12110a,request:_0x847718})=>{const _0x457e96=_0x541c67;try{const _0x4f5d5c=_0x12110a,_0x278bb0=Array[_0x457e96(0x322)](_0x4f5d5c)?_0x4f5d5c:await _0x374498(_0x457e96(0x1d0),{..._0x4f5d5c??{}},_0x847718),_0x2d0777=resolveIds(_0x278bb0);if(!_0x2d0777['length'])return _0x34df17['fail'](_0x457e96(0x182));const _0x57f92e=!Array[_0x457e96(0x322)](_0x278bb0)&&!!_0x278bb0[_0x457e96(0x2ac)];return await _0x180bff[_0x457e96(0x1d0)](_0x2d0777,{'force':_0x57f92e}),_0x34df17['ok']();}catch(_0x5df59f){return _0x34df17[_0x457e96(0x305)](_0x5df59f instanceof Error?_0x5df59f[_0x457e96(0x225)]:_0x457e96(0x2a8));}});_0x30e4bb['includes'](_0x541c67(0x234))&&_0x180bff&&_0xea1da2&&_0x1a4777('post',_0x541c67(0x288),_0x541c67(0x234),async({body:_0x1bb0e7,request:_0x2b4e9a})=>{const _0x5888e0=_0x541c67;try{const _0x2938cd=_0x1bb0e7;if(Array[_0x5888e0(0x322)](_0x2938cd)){let _0x1f1cf1=_0x2938cd;if(_0xe58ce6[_0x5888e0(0x173)]&&BEFORE_APIS[_0x5888e0(0x30c)](_0x5888e0(0x234)))for(let _0x59c462=0x0;_0x59c462<_0x1f1cf1[_0x5888e0(0x1ee)];_0x59c462++){_0x1f1cf1[_0x59c462]=await _0x374498(_0x5888e0(0x234),{..._0x1f1cf1[_0x59c462]??{}},_0x2b4e9a);}const _0x230678=await _0x180bff[_0x5888e0(0x234)](_0x1f1cf1);return _0x34df17['ok'](_0x230678);}const _0x4ee1d7=await _0x374498(_0x5888e0(0x234),{..._0x2938cd??{}},_0x2b4e9a),_0x5dbbc0=_0x4ee1d7['id'];if(_0x5dbbc0==null)return _0x34df17['fail']('id\x20required');const _0x1f4b6a=await _0x180bff[_0x5888e0(0x234)](_0x4ee1d7);return _0x34df17['ok'](_0x1f4b6a);}catch(_0x4ed279){return _0x34df17['fail'](_0x4ed279 instanceof Error?_0x4ed279[_0x5888e0(0x225)]:_0x5888e0(0x20d));}});_0x30e4bb[_0x541c67(0x30e)]('info')&&_0x180bff&&_0x1a4777(_0x541c67(0x331),_0x541c67(0x277),_0x541c67(0x191),async({query:_0x41a300})=>{const _0x367494=_0x541c67;try{const _0x34c870=_0x41a300?.['id'];if(_0x34c870==null||_0x34c870==='')return _0x34df17[_0x367494(0x305)](_0x367494(0x1ed));const _0x5f5049=await _0x180bff['info'](_0x34c870);return _0x34df17['ok'](omitProps(_0x5f5049,_0xe58ce6[_0x367494(0x241)]));}catch(_0xea9c08){return _0x34df17[_0x367494(0x305)](_0xea9c08 instanceof Error?_0xea9c08[_0x367494(0x225)]:'info\x20failed');}});_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x289))&&_0x180bff&&_0x12e80a&&_0x1a4777(_0x541c67(0x2e3),_0x541c67(0x220),'list',async({body:_0xe91027,request:_0x52cdc5})=>{const _0x3477b8=_0x541c67;try{const _0x10b11f=_0xe91027??{},_0x18f1ae=_0xe58ce6['listQueryOp']??{},_0x2bffd3={'onlyTrashed':_0x10b11f['onlyTrashed']===!![],'withTrashed':_0x10b11f[_0x3477b8(0x23d)]===!![]};if(needsAdvancedQuery(_0x18f1ae)){const _0x1a737f=await queryWithOp(_0x12e80a,_0x10b11f,_0x18f1ae,{'request':_0x52cdc5,'mode':_0x3477b8(0x289),'trash':_0x2bffd3});return _0x34df17['ok'](_0x1a737f);}const {where:_0x3f77bc,orderBySql:_0x28fa41}=await buildQueryOp(_0x12e80a,_0x10b11f,_0x18f1ae,_0x52cdc5),_0x80d711=await _0x180bff[_0x3477b8(0x289)](_0x3f77bc,{'orderBy':_0x28fa41,..._0x2bffd3});return _0x34df17['ok'](_0x80d711);}catch(_0x50eead){return _0x34df17[_0x3477b8(0x305)](_0x50eead instanceof Error?_0x50eead[_0x3477b8(0x225)]:_0x3477b8(0x27e));}});_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x26c))&&_0x180bff&&_0x12e80a&&_0x1a4777(_0x541c67(0x2e3),_0x541c67(0x309),_0x541c67(0x26c),async({body:_0x3a9d92,request:_0x34173e})=>{const _0x41c54c=_0x541c67;try{const _0x2ad2d5=_0x3a9d92??{},_0x3b804c=_0xe58ce6[_0x41c54c(0x325)]??{},_0x15bece={'onlyTrashed':_0x2ad2d5[_0x41c54c(0x334)]===!![],'withTrashed':_0x2ad2d5['withTrashed']===!![]};if(needsAdvancedQuery(_0x3b804c)){const _0x3c20eb=await queryWithOp(_0x12e80a,_0x2ad2d5,_0x3b804c,{'request':_0x34173e,'mode':'page','trash':_0x15bece});return _0x34df17['ok'](_0x3c20eb);}const {where:_0x2c9856,orderBySql:_0x3981af}=await buildQueryOp(_0x12e80a,_0x2ad2d5,_0x3b804c,_0x34173e),_0x5d361c=await _0x180bff[_0x41c54c(0x26c)]({'page':Number(_0x2ad2d5[_0x41c54c(0x26c)]??0x1),'size':Number(_0x2ad2d5[_0x41c54c(0x251)]??0x14),'where':_0x2c9856,'orderBy':_0x3981af,..._0x15bece});return _0x34df17['ok'](_0x5d361c);}catch(_0x1d45ff){return _0x34df17[_0x41c54c(0x305)](_0x1d45ff instanceof Error?_0x1d45ff['message']:_0x41c54c(0x1ae));}});_0x30e4bb[_0x541c67(0x30e)](_0x541c67(0x31b))&&_0x180bff&&_0xea1da2&&_0x1a4777(_0x541c67(0x2e3),'/restore',_0x541c67(0x31b),async({body:_0x25569a,request:_0x598e43})=>{const _0x1bde4f=_0x541c67;try{const _0x3be9ff=_0x25569a,_0x1f3396=Array['isArray'](_0x3be9ff)?_0x3be9ff:await _0x374498(_0x1bde4f(0x31b),{..._0x3be9ff??{}},_0x598e43),_0x7d6b74=resolveIds(_0x1f3396);if(!_0x7d6b74[_0x1bde4f(0x1ee)])return _0x34df17[_0x1bde4f(0x305)](_0x1bde4f(0x182));return await _0x180bff[_0x1bde4f(0x31b)](_0x7d6b74),_0x34df17['ok']();}catch(_0x207742){return _0x34df17[_0x1bde4f(0x305)](_0x207742 instanceof Error?_0x207742[_0x1bde4f(0x225)]:_0x1bde4f(0x24b));}});if(_0x1e5833['length']){if(!_0xe58ce6['service'])throw new Error(_0x541c67(0x1a8)+_0x332f9c['token'][_0x541c67(0x30a)]+'\x20配置了\x20serviceApis,需同时配置\x20service');const _0x79bcbc=Ioc[_0x541c67(0x331)](_0xe58ce6[_0x541c67(0x1d4)]);for(const _0x4fdfde of _0x1e5833){const _0x3ca5e4=_0x79bcbc[_0x4fdfde];if(typeof _0x3ca5e4!==_0x541c67(0x2ea))throw new Error(_0x541c67(0x1a8)+_0xe58ce6['service'][_0x541c67(0x30a)]+'.'+_0x4fdfde+'\x20不是有效方法');const _0x55cdb0=_0x3ca5e4[_0x541c67(0x236)](_0x79bcbc);_0x1a4777(_0x541c67(0x2e3),'/'+_0x4fdfde,_0x4fdfde,async({body:_0x419798})=>{const _0x3f6709=_0x541c67;try{const _0x394c7a=await _0x55cdb0(_0x419798);return _0x34df17['ok'](_0x394c7a);}catch(_0x23e95e){return _0x34df17['fail'](_0x23e95e instanceof Error?_0x23e95e[_0x3f6709(0x225)]:_0x4fdfde+_0x3f6709(0x318));}});}}return _0x1b2456;};import{join as _0x1f97ef}from'path';import{pathToFileURL as _0xb7fa53}from'url';var SERVICE_PATTERN=_0x4caa47(0x306),CONTROLLER_SCANS=[{'pattern':'**/modules/*/controller/admin/**/*.ts','side':_0x4caa47(0x1ce)},{'pattern':_0x4caa47(0x1fb),'side':_0x4caa47(0x232)}];async function importWithContext(_0x3a9e13,_0x1d7b4c,_0x3339e0){const _0x59de9b=_0x4caa47;setControllerScanContext({'module':parseModuleFromPath(_0x1d7b4c),'side':_0x3339e0,'file':_0x1d7b4c});try{const _0x24fc8c=_0xb7fa53(_0x1f97ef(_0x3a9e13,_0x1d7b4c))[_0x59de9b(0x2d2)];await import(_0x24fc8c);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x4cef6a=_0x4caa47,_0xb07c79=process[_0x4cef6a(0x1b8)](),_0xa1ee68=await scanFiles(SERVICE_PATTERN,{'cwd':_0xb07c79});for(const _0x23990d of _0xa1ee68){const _0xdc4e7e=_0xb7fa53(_0x1f97ef(_0xb07c79,_0x23990d))['href'];await import(_0xdc4e7e);}let _0x4f6f11=0x0;for(const {pattern:_0x5a817d,side:_0x241708}of CONTROLLER_SCANS){const _0x17a1d0=await scanFiles(_0x5a817d,{'cwd':_0xb07c79});_0x4f6f11+=_0x17a1d0[_0x4cef6a(0x1ee)];for(const _0x37cbb1 of _0x17a1d0){await importWithContext(_0xb07c79,_0x37cbb1,_0x241708);}}setCrudRegistrar(attachCrudRoutes),console[_0x4cef6a(0x264)](_0x4cef6a(0x1e6)),console[_0x4cef6a(0x264)]('[Host]\x20scan\x20←\x20'+_0xa1ee68[_0x4cef6a(0x1ee)]+'\x20service,\x20'+_0x4f6f11+_0x4cef6a(0x169));}import{join as _0x3de7e4}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0x171d15 from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0x6de698}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x36b17e=new Date()){const _0x4ef477=_0x4caa47,_0x5dd2ad=_0x36b17e[_0x4ef477(0x21c)](),_0x556804=String(_0x36b17e['getMonth']()+0x1)[_0x4ef477(0x195)](0x2,'0'),_0x40cee7=String(_0x36b17e[_0x4ef477(0x1e8)]())[_0x4ef477(0x195)](0x2,'0');return _0x5dd2ad+'-'+_0x556804+'-'+_0x40cee7;}function purgeOldLogs(_0x35cbdc,_0x31fa29){const _0x2034fa=_0x4caa47,_0x22f43d=new Date();_0x22f43d[_0x2034fa(0x2a2)](_0x22f43d[_0x2034fa(0x1e8)]()-_0x31fa29);const _0x5bc1a4=formatLocalDate(_0x22f43d);for(const _0x289207 of readdirSync(_0x35cbdc)){const _0x152187=_0x289207[_0x2034fa(0x25d)](FILE_PATTERN);if(!_0x152187||_0x152187[0x1]>=_0x5bc1a4)continue;unlinkSync(_0x6de698(_0x35cbdc,_0x289207));}}function openDailyStream(_0x391c48,_0x435342){const _0x117b3d=_0x4caa47;return createWriteStream(_0x6de698(_0x391c48,_0x435342+_0x117b3d(0x280)),{'flags':'a'});}function createDailyLogStream(_0x476868,_0x1c2ce2=0x1e){mkdirSync(_0x476868,{'recursive':!![]}),purgeOldLogs(_0x476868,_0x1c2ce2);let _0x559ce5=formatLocalDate(),_0x51328f=openDailyStream(_0x476868,_0x559ce5);return new Writable({'write'(_0x53e62b,_0x3dfc7c,_0x4571af){const _0x8ae53f=_0x46b5,_0x2c3185=formatLocalDate();_0x2c3185!==_0x559ce5&&(_0x51328f['end'](),_0x559ce5=_0x2c3185,_0x51328f=openDailyStream(_0x476868,_0x559ce5),purgeOldLogs(_0x476868,_0x1c2ce2)),_0x51328f[_0x8ae53f(0x303)](_0x53e62b,_0x4571af);},'final'(_0x16136f){const _0x14eed4=_0x46b5;_0x51328f[_0x14eed4(0x32a)](_0x16136f);}});}var pinoInstance;function buildPino(){const _0x407984=_0x4caa47,_0x509dd0=VomeConfig['logging']??{},_0x461f50=_0x509dd0[_0x407984(0x286)]??_0x407984(0x191);if(_0x509dd0[_0x407984(0x26b)]==='file'){const _0x323700=_0x3de7e4(process['cwd'](),_0x509dd0[_0x407984(0x1c5)]??'logging'),_0x59bbd9=_0x509dd0[_0x407984(0x209)]??0x1e;return createPinoLogger({'level':_0x461f50,'stream':createDailyLogStream(_0x323700,_0x59bbd9)});}return createPinoLogger({'level':_0x461f50,'stream':_0x171d15({'colorize':!![],'translateTime':'SYS:standard','ignore':_0x407984(0x19e)})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{[_0x4caa47(0x191)](_0x386fa2,..._0x547b23){const _0x1ddbc8=_0x4caa47,_0x524c20=getPinoLogger();if(_0x547b23['length'])_0x524c20[_0x1ddbc8(0x191)]({'args':_0x547b23},_0x386fa2);else _0x524c20[_0x1ddbc8(0x191)](_0x386fa2);}['warn'](_0x2ceabe,..._0x13b703){const _0x4433bc=_0x4caa47,_0x50e6d4=getPinoLogger();if(_0x13b703[_0x4433bc(0x1ee)])_0x50e6d4['warn']({'args':_0x13b703},_0x2ceabe);else _0x50e6d4[_0x4433bc(0x168)](_0x2ceabe);}[_0x4caa47(0x204)](_0x157330,..._0x178bdb){const _0x19fd23=_0x4caa47,_0x5e3e52=getPinoLogger();if(_0x178bdb['length'])_0x5e3e52['debug']({'args':_0x178bdb},_0x157330);else _0x5e3e52[_0x19fd23(0x204)](_0x157330);}[_0x4caa47(0x20c)](_0x3133f6,..._0x190b75){const _0x52f3b7=_0x4caa47,_0x37a60b=getPinoLogger();if(_0x3133f6 instanceof Error){_0x37a60b['error'](_0x3133f6);return;}if(_0x190b75[0x0]instanceof Error){_0x37a60b[_0x52f3b7(0x20c)](_0x190b75[0x0],_0x3133f6);return;}if(_0x190b75['length'])_0x37a60b[_0x52f3b7(0x20c)]({'args':_0x190b75},_0x3133f6);else _0x37a60b[_0x52f3b7(0x20c)](_0x3133f6);}}class CommException extends Error{['statusCode'];[_0x4caa47(0x166)];constructor(_0x1c104e,_0xebf2fc){const _0x27a638=_0x4caa47;super(_0x1c104e),this[_0x27a638(0x30a)]=_0x27a638(0x1d8),this[_0x27a638(0x2d5)]=_0xebf2fc?.[_0x27a638(0x2d5)]??0xc8,this['code']=_0xebf2fc?.[_0x27a638(0x166)]??RES_CODE[_0x27a638(0x1fd)];}}function isCommException(_0x3dcaf8){return _0x3dcaf8 instanceof CommException;}function bootstrapLogger(){const _0xa399ce=_0x4caa47;getPinoLogger(),Ioc[_0xa399ce(0x302)](Logger,new Logger());}var VOME_BANNER=_0x4caa47(0x2bd);function resetViewport(){const _0xa40a74=_0x4caa47;if(!process[_0xa40a74(0x215)][_0xa40a74(0x189)])return;process[_0xa40a74(0x215)][_0xa40a74(0x303)]('\x1B[2J\x1B[H');}function printStartupBanner(){const _0x2f330b=_0x4caa47;resetViewport();const _0x5eadb4=getEnv(),_0x335153=VomeConfig['system']?.['port']??0xbb9,_0x2c2757=VomeConfig[_0x2f330b(0x17a)]?.[_0x2f330b(0x31a)]??_0x2f330b(0x179),_0x3cfc0f='http://localhost:'+_0x335153;console['log'](VOME_BANNER),console[_0x2f330b(0x264)](_0x2f330b(0x194)+_0x5eadb4),_0x5eadb4===_0x2f330b(0x320)&&(console[_0x2f330b(0x264)](_0x2f330b(0x227)+_0x3cfc0f),console[_0x2f330b(0x264)]('📚\x20API文档:\x20'+_0x3cfc0f+(_0x2c2757[_0x2f330b(0x335)]('/')?_0x2c2757:'/'+_0x2c2757)));}import{access}from'fs/promises';import{join as _0x1d6a5d}from'path';import{pathToFileURL as _0xe37052}from'url';async function exists(_0x5c95d9){try{return await access(_0x5c95d9),!![];}catch{return![];}}async function importHostModule(_0x29382d){const _0x1e0e6e=_0x4caa47,_0x1c4e25=_0x1d6a5d(process[_0x1e0e6e(0x1b8)](),_0x29382d);if(!await exists(_0x1c4e25)){console['warn'](_0x1e0e6e(0x27c)+_0x29382d);return;}return await import(_0xe37052(_0x1c4e25)[_0x1e0e6e(0x2d2)]);}async function bootstrapHostInfra(){const _0x4ba161=_0x4caa47,_0x2f42f4=await importHostModule(_0x4ba161(0x1f4));if(_0x2f42f4?.['Db']?.[_0x4ba161(0x19b)])await _0x2f42f4['Db'][_0x4ba161(0x19b)]();const _0x5b2cb5=await importHostModule(_0x4ba161(0x221));if(_0x5b2cb5?.[_0x4ba161(0x1c8)]?.[_0x4ba161(0x19b)])await _0x5b2cb5['Cache'][_0x4ba161(0x19b)]();const _0x5e1306=await importHostModule(_0x4ba161(0x30f));if(_0x5e1306?.[_0x4ba161(0x2f0)]?.[_0x4ba161(0x19b)])await _0x5e1306['Auth'][_0x4ba161(0x19b)]();}async function bootstrapHostTasks(){const _0x2b4267=_0x4caa47,_0x51b665=await importHostModule('src/lib/task/index.ts');if(_0x51b665?.['Task']?.[_0x2b4267(0x19b)])await _0x51b665['Task'][_0x2b4267(0x19b)]();}async function bootstrapHostPlugins(){const _0x5a209d=_0x4caa47,_0x3764e1=await importHostModule(_0x5a209d(0x23c));if(_0x3764e1?.[_0x5a209d(0x1a4)]?.[_0x5a209d(0x19b)])await _0x3764e1[_0x5a209d(0x1a4)]['bootstrap']();}async function bootstrapHostModules(){const _0x5857d6=_0x4caa47,_0x3f0312=await importHostModule(_0x5857d6(0x281));if(_0x3f0312?.['Module']?.[_0x5857d6(0x19b)])await _0x3f0312['Module'][_0x5857d6(0x19b)]();}async function shutdownHostTasks(){const _0x3d1d88=_0x4caa47,_0x1510ca=await importHostModule(_0x3d1d88(0x2f4));if(_0x1510ca?.[_0x3d1d88(0x287)]?.['close'])await _0x1510ca[_0x3d1d88(0x287)][_0x3d1d88(0x2b6)]();}async function shutdownHostInfra(){const _0x507728=_0x4caa47,_0x4a507a=await importHostModule(_0x507728(0x221));if(_0x4a507a?.['Cache']?.['close'])await _0x4a507a[_0x507728(0x1c8)][_0x507728(0x2b6)]();const _0x3cb502=await importHostModule(_0x507728(0x1f4));if(_0x3cb502?.['Db']?.[_0x507728(0x2b6)])await _0x3cb502['Db'][_0x507728(0x2b6)]();}async function applyHostAuthMiddleware(_0x2cfd1a){const _0xb2a517=_0x4caa47,_0x40d06a=await importHostModule(_0xb2a517(0x25c));if(!_0x40d06a)return _0x2cfd1a;let _0x52e89c=_0x2cfd1a;if(_0x40d06a['webAuth'])_0x52e89c=_0x52e89c[_0xb2a517(0x1cb)](_0x40d06a[_0xb2a517(0x196)]);if(_0x40d06a[_0xb2a517(0x22f)])_0x52e89c=_0x52e89c[_0xb2a517(0x1cb)](_0x40d06a['adminAuth']);if(_0x40d06a['requestLog'])_0x52e89c=_0x52e89c[_0xb2a517(0x1cb)](_0x40d06a[_0xb2a517(0x257)]);if(_0x40d06a[_0xb2a517(0x2dd)])_0x52e89c=_0x52e89c['use'](_0x40d06a[_0xb2a517(0x2dd)]);if(_0x40d06a[_0xb2a517(0x188)])_0x52e89c=_0x52e89c[_0xb2a517(0x1cb)](_0x40d06a['moduleGateway']);return _0x52e89c;}function applyAsyncContext(_0x2f7def){const _0x3ca8ec=_0x4caa47,_0x5a4dd9=VomeConfig['asyncContextManager']??{};if(!_0x5a4dd9[_0x3ca8ec(0x1bf)])return _0x2f7def;return _0x2f7def['onRequest'](({request:_0x1d94c4})=>{enterContextWith(initContextFromRequest(_0x1d94c4));});}function applyErrorHandler(_0x93691a){return _0x93691a['onError'](({error:_0x54cb70,set:_0x2a7d86,code:_0x18dea1})=>{const _0x537893=_0x46b5,_0x57f3cc=getPinoLogger();if(isCommException(_0x54cb70))return _0x57f3cc['error']({'code':_0x54cb70['code']},_0x54cb70[_0x537893(0x225)]),_0x2a7d86[_0x537893(0x2c7)]=_0x54cb70[_0x537893(0x2d5)],{'code':_0x54cb70[_0x537893(0x166)],'message':_0x54cb70[_0x537893(0x225)]};if(_0x18dea1==='VALIDATION'){const _0x55856f=_0x54cb70 instanceof Error?_0x54cb70[_0x537893(0x225)]:'validation\x20failed';return _0x57f3cc[_0x537893(0x20c)]({'code':_0x18dea1},_0x55856f),_0x2a7d86[_0x537893(0x2c7)]=0x1a6,{'code':RES_CODE[_0x537893(0x1fd)],'message':_0x55856f};}if(_0x18dea1===_0x537893(0x2e6))return _0x2a7d86[_0x537893(0x2c7)]=0x194,{'code':RES_CODE['ERROR'],'message':_0x537893(0x2ff)};const _0x489ffa=_0x54cb70 instanceof Error?_0x54cb70:new Error(String(_0x54cb70));return _0x57f3cc[_0x537893(0x20c)](_0x489ffa),_0x2a7d86[_0x537893(0x2c7)]=0x1f4,{'code':RES_CODE[_0x537893(0x1fd)],'message':getEnv()===_0x537893(0x320)?_0x489ffa['message']:_0x537893(0x1e4)};});}function applyLogging(_0x93c547){const _0x4273e4=_0x4caa47,_0x59efa1=getPinoLogger();return _0x93c547[_0x4273e4(0x1cb)](_0x59efa1['into']({'autoLogging':{'ignore':_0x574bab=>Boolean(_0x574bab[_0x4273e4(0x16b)])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0x207462){const _0x147c66=_0x4caa47,_0x61cba6=VomeConfig['openapi']??{'enable':![]};if(_0x61cba6[_0x147c66(0x1bf)]===![])return _0x207462;const _0x23ee68=_0x61cba6[_0x147c66(0x31a)]??_0x147c66(0x179),{tags:_0x263deb,tagGroups:_0xc832d}=buildOpenApiTagDocs(),_0x5f338d=_0x61cba6[_0x147c66(0x332)]??{},_0x1cbcc3=_0x61cba6[_0x147c66(0x22b)]??{};return _0x207462['use'](openapi({'path':_0x23ee68,'documentation':{..._0x5f338d,'tags':[..._0x5f338d[_0x147c66(0x267)]??[],..._0x263deb],'x-tagGroups':_0xc832d},'scalar':{..._0x1cbcc3,'layout':_0x1cbcc3[_0x147c66(0x1ac)]??'classic','operationTitleSource':_0x1cbcc3['operationTitleSource']??_0x147c66(0x1a9)}}));}var app,started=![],signalsRegistered=![],hostScanned=![],bootstrapHooks=[],shutdownHooks=[],usePlugins=[];async function ensureHostScanned(){if(hostScanned)return;hostScanned=!![],await scanHost();}function createApp(){return applyAsyncContext(applyErrorHandler(applyLogging(new _0x12bc18())));}function bootstrap(_0x2bf5db){const _0x4dfdd1=_0x4caa47;bootstrapHooks[_0x4dfdd1(0x1f1)](_0x2bf5db);}function shutdown(_0x347ac8){const _0x2cebc3=_0x4caa47;shutdownHooks[_0x2cebc3(0x1f1)](_0x347ac8);}function use(_0xe96b25){usePlugins['push'](_0xe96b25);}async function start(){const _0x4ddb9f=_0x4caa47;if(started)throw new Error(_0x4ddb9f(0x2f9));let _0x4d0c84=createApp();_0x4d0c84=await applyHostAuthMiddleware(_0x4d0c84);for(const _0x337c17 of usePlugins){_0x4d0c84=_0x337c17(_0x4d0c84);}await ensureHostScanned(),_0x4d0c84=applyOpenapi(_0x4d0c84),await bootstrapHostInfra();for(const _0x12ae2e of bootstrapHooks)await _0x12ae2e();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x4d0c84=registerControllers(_0x4d0c84,VomeConfig);const _0x7ccea=VomeConfig[_0x4ddb9f(0x1be)]?.[_0x4ddb9f(0x299)]??0xbb9;return _0x4d0c84[_0x4ddb9f(0x1b2)](_0x7ccea),app=_0x4d0c84,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){if(!app)return;for(const _0xc538d1 of shutdownHooks)await _0xc538d1();await shutdownHostTasks(),await shutdownHostInfra(),await app['stop'](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0x39f6d1=_0x4caa47;if(signalsRegistered)return;signalsRegistered=!![];for(const _0x1f8ba5 of['SIGINT',_0x39f6d1(0x1fa)]){process['once'](_0x1f8ba5,async()=>{const _0x2966a7=_0x39f6d1;await stop(),process[_0x2966a7(0x316)](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x29443a){const _0x4c191a=_0x4caa47;if(_0x29443a)await _0x29443a({'App':App});return App[_0x4c191a(0x27f)]();}import{getTableColumns as _0x4aaef9,getTableName as _0x5b218e}from'drizzle-orm';import{getTableColumns as _0x550182,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')['primaryKey'](),'createTime':timestamp(_0x4caa47(0x238),{'withTimezone':!![]})[_0x4caa47(0x2b9)]()[_0x4caa47(0x185)](),'updateTime':timestamp(_0x4caa47(0x2c6),{'withTimezone':!![]})[_0x4caa47(0x2b9)]()[_0x4caa47(0x185)]()[_0x4caa47(0x2be)](()=>new Date()),'deletedAt':timestamp('deletedAt',{'withTimezone':!![]}),'tenantId':integer(_0x4caa47(0x2c0))},BASE_COLUMN_COMMENTS={'id':'ID','createTime':_0x4caa47(0x17e),'updateTime':_0x4caa47(0x205),'deletedAt':_0x4caa47(0x2d4),'tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x597507,_0x5f02f3={}){const _0x1da7d6=_0x4caa47;return tables[_0x1da7d6(0x301)](_0x597507),registry[_0x1da7d6(0x302)](_0x597507,{...BASE_COLUMN_COMMENTS,...registry[_0x1da7d6(0x331)](_0x597507)||{},..._0x5f02f3}),_0x597507;}function getColumnComments(_0x19abe9){const _0xf1d123=_0x4caa47;return registry[_0xf1d123(0x331)](_0x19abe9)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0x294f5e){const _0x43a2d7=_0x4caa47;if(!/^[A-Za-z_][A-Za-z0-9_]*$/[_0x43a2d7(0x1e9)](_0x294f5e))throw new Error(_0x43a2d7(0x231)+_0x294f5e);return'\x22'+_0x294f5e+'\x22';}function escapeLiteral(_0xe8cae){const _0x4fa09d=_0x4caa47;return _0xe8cae[_0x4fa09d(0x313)](/'/g,'\x27\x27');}async function syncColumnCommentsToPg(_0x2ebc07){const _0x214d54=_0x4caa47,_0x1f2f64=listColumnCommentTables();if(!_0x1f2f64[_0x214d54(0x1ee)])return 0x0;const _0x49cef0=new Map(),_0x46c60a=[];for(const _0x373efa of _0x1f2f64){let _0x55e8ba;try{_0x55e8ba=getTableName(_0x373efa);}catch{continue;}const _0x1f6dd3=_0x550182(_0x373efa),_0x2d035c=getColumnComments(_0x373efa),_0x18e586=new Map();for(const [_0x13beec,_0x545806]of Object[_0x214d54(0x216)](_0x2d035c)){if(!_0x545806||!(_0x13beec in _0x1f6dd3))continue;_0x18e586[_0x214d54(0x302)](_0x13beec,_0x545806);}if(!_0x18e586['size'])continue;_0x49cef0['set'](_0x55e8ba,_0x18e586),_0x46c60a[_0x214d54(0x1f1)](_0x55e8ba);}if(!_0x46c60a[_0x214d54(0x1ee)])return 0x0;const _0x5aadc1=_0x46c60a['map'](_0x424407=>'\x27'+escapeLiteral(_0x424407)+'\x27')[_0x214d54(0x24c)](','),_0x573fc7=await _0x2ebc07[_0x214d54(0x268)](_0x214d54(0x2ee)+_0x5aadc1+_0x214d54(0x1b0)),_0x4ad39b=new Map();for(const _0x1e5ab6 of _0x573fc7||[]){if(!_0x1e5ab6['table_name']||!_0x1e5ab6[_0x214d54(0x25a)])continue;_0x4ad39b['set'](_0x1e5ab6['table_name']+'.'+_0x1e5ab6[_0x214d54(0x25a)],_0x1e5ab6[_0x214d54(0x1d3)]??null);}let _0x2558bd=0x0;for(const [_0x17c12f,_0xfdcf57]of _0x49cef0){for(const [_0x1de3ad,_0x41b12e]of _0xfdcf57){const _0x15eb7b=_0x17c12f+'.'+_0x1de3ad,_0x909133=_0x4ad39b[_0x214d54(0x331)](_0x15eb7b);if(_0x909133===_0x41b12e)continue;await _0x2ebc07['unsafe'](_0x214d54(0x16a)+quoteIdent(_0x17c12f)+'.'+quoteIdent(_0x1de3ad)+_0x214d54(0x2f6)+escapeLiteral(_0x41b12e)+'\x27'),_0x2558bd++;}}return _0x2558bd;}var SIDE_PREFIX2={'admin':'/admin','app':_0x4caa47(0x2c9)};function getSidePrefix2(_0x5e1b80){return normalizePrefix(SIDE_PREFIX2[_0x5e1b80]);}function lastSegment(_0x4259e3){const _0x4653c5=_0x4caa47,_0x497cc2=_0x4259e3[_0x4653c5(0x313)](/^\/+|\/+$/g,'')[_0x4653c5(0x330)]('/');return _0x497cc2[_0x497cc2[_0x4653c5(0x1ee)]-0x1]||_0x4259e3||_0x4653c5(0x2fa);}function toPascalEntityName(_0x1ea0dc){const _0x593257=_0x4caa47;return _0x1ea0dc['split']('_')[_0x593257(0x29b)](Boolean)['map'](_0x391a64=>_0x391a64['charAt'](0x0)[_0x593257(0x28d)]()+_0x391a64['slice'](0x1))[_0x593257(0x24c)]('')+_0x593257(0x2da);}function withAlias(_0x50e832){const _0x199dfa=_0x4caa47;if(!_0x50e832?.[_0x199dfa(0x1ee)])return[];return _0x50e832['map'](_0x198903=>{const _0x1f3975=_0x199dfa;if(typeof _0x198903!==_0x1f3975(0x2ed)){const _0x4b6831=_0x198903[_0x1f3975(0x2ad)];return{..._0x198903,'column':_0x4b6831[_0x1f3975(0x30e)]('.')?_0x4b6831:'a.'+_0x4b6831};}return _0x198903[_0x1f3975(0x30e)]('.')?_0x198903:'a.'+_0x198903;});}function normalizePageQueryOp(_0x46cee2){const _0x34b0a2=_0x4caa47;return{'keyWordLikeFields':withAlias(_0x46cee2?.['keyWordLikeFields']),'fieldEq':withAlias(_0x46cee2?.[_0x34b0a2(0x230)]),'fieldLike':withAlias(_0x46cee2?.['fieldLike']),'fieldArray':withAlias(_0x46cee2?.[_0x34b0a2(0x2de)]),'fieldRange':(_0x46cee2?.[_0x34b0a2(0x21e)]??[])['map'](_0x163a29=>({..._0x163a29,'column':_0x163a29[_0x34b0a2(0x2ad)][_0x34b0a2(0x30e)]('.')?_0x163a29[_0x34b0a2(0x2ad)]:'a.'+_0x163a29[_0x34b0a2(0x2ad)]}))};}function applyFieldDictToColumns(_0x15fa55,_0x2d8303){const _0x2b522e=_0x4caa47;for(const _0x2d1dbe of _0x2d8303){if(typeof _0x2d1dbe==='string'||!_0x2d1dbe[_0x2b522e(0x1f8)])continue;const _0x37fcb5=_0x2d1dbe[_0x2b522e(0x2ad)][_0x2b522e(0x30e)]('.')?_0x2d1dbe[_0x2b522e(0x2ad)][_0x2b522e(0x330)]('.')[_0x2b522e(0x2e1)]():_0x2d1dbe[_0x2b522e(0x2ad)],_0x37fa43=_0x15fa55[_0x2b522e(0x292)](_0x461bfd=>_0x461bfd[_0x2b522e(0x1ef)]===_0x37fcb5);if(_0x37fa43)_0x37fa43[_0x2b522e(0x1f8)]=_0x2d1dbe['dict'];}}function columnsFromEntity(_0x1c2300){const _0x1a0d86=_0x4caa47;if(!_0x1c2300||typeof _0x1c2300!==_0x1a0d86(0x2df))return[];try{const _0x2b8cf5=_0x4aaef9(_0x1c2300),_0x25098e=getColumnComments(_0x1c2300),_0x5aee24=[];for(const [_0xfe92b7,_0x4e1eea]of Object[_0x1a0d86(0x216)](_0x2b8cf5)){if(_0xfe92b7===_0x1a0d86(0x2c0))continue;const _0x5d3c25=_0x4e1eea;_0x5aee24[_0x1a0d86(0x1f1)]({'propertyName':_0xfe92b7,'type':String(_0x5d3c25['dataType']??_0x5d3c25['columnType']??'string'),'length':_0x5d3c25[_0x1a0d86(0x1ee)]!=null?String(_0x5d3c25['length']):undefined,'nullable':_0x5d3c25[_0x1a0d86(0x2b9)]!==!![],'source':'a.'+_0xfe92b7,'comment':_0x25098e[_0xfe92b7]});}const _0x4df316=new Set(['createTime',_0x1a0d86(0x2c6),_0x1a0d86(0x222)]),_0x4e82b9=_0x5aee24[_0x1a0d86(0x29b)](_0x47a533=>!_0x4df316[_0x1a0d86(0x30c)](_0x47a533[_0x1a0d86(0x1ef)])),_0x1f1e43=_0x5aee24[_0x1a0d86(0x29b)](_0x1037bb=>_0x4df316[_0x1a0d86(0x30c)](_0x1037bb['propertyName']));return[..._0x4e82b9,..._0x1f1e43];}catch{return[];}}function entityNameOf(_0x2f5223){if(!_0x2f5223||typeof _0x2f5223!=='object')return;try{return toPascalEntityName(_0x5b218e(_0x2f5223));}catch{return;}}function buildApis(_0x3a921f,_0x338496){const _0x3974c6=_0x4caa47,_0x54fa76=[],_0x2894b7=new Set(),_0x2ca210=_0x39b281=>{const _0x324c04=_0x46b5,_0x534701=_0x39b281['method']+':'+_0x39b281[_0x324c04(0x31a)];if(_0x2894b7[_0x324c04(0x30c)](_0x534701))return;_0x2894b7[_0x324c04(0x301)](_0x534701),_0x54fa76['push'](_0x39b281);};for(const _0x5b1702 of _0x3a921f['routes']){const _0x2d8407=getRouteSubPath(_0x5b1702[_0x3974c6(0x31a)],_0x3a921f[_0x3974c6(0x1c4)]),_0x5f16f2=_0x2d8407[_0x3974c6(0x335)]('/')?_0x2d8407:'/'+_0x2d8407,_0x5caeba=actionFromSubPath(_0x5f16f2);_0x2ca210({'method':_0x5b1702[_0x3974c6(0x315)]['toLowerCase'](),'path':_0x5f16f2,'summary':_0x5b1702[_0x3974c6(0x1a9)]??'','dts':{},'tag':'','prefix':_0x338496,'ignoreToken':Boolean(_0x5b1702[_0x3974c6(0x192)]),'ignorePerms':Boolean(_0x5b1702['ignorePerms']),'perms':effectivePerms(_0x5b1702,_0x3a921f,_0x5caeba)??[]});}for(const _0x2f8dff of _0x3a921f[_0x3974c6(0x17b)]?.[_0x3974c6(0x233)]??[]){const _0x1617f3='/'+_0x2f8dff;_0x2ca210({'method':_0x2f8dff==='info'?_0x3974c6(0x331):'post','path':_0x1617f3,'summary':CRUD_SUMMARY[_0x2f8dff]??_0x2f8dff,'dts':{},'tag':'','prefix':_0x338496,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x3a921f,_0x2f8dff)??[]});}for(const _0x2d07ca of _0x3a921f['crud']?.['serviceApis']??[]){const _0x4ae815='/'+_0x2d07ca;_0x2ca210({'method':'post','path':_0x4ae815,'summary':_0x2d07ca,'dts':{},'tag':'','prefix':_0x338496,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x3a921f,_0x2d07ca)??[]});}return _0x54fa76;}function buildEntity(_0x570d85){const _0x44ff50=_0x4caa47,_0x47d234=joinPrefix(getSidePrefix2(_0x570d85[_0x44ff50(0x1d6)]),_0x570d85[_0x44ff50(0x1c4)]),_0xd52ddb=lastSegment(_0x570d85[_0x44ff50(0x1c4)]),_0x947a5f=_0x570d85[_0x44ff50(0x17b)]?.[_0x44ff50(0x1a2)],_0x36fcae=columnsFromEntity(_0x947a5f),_0x301e96=normalizePageQueryOp(_0x570d85['crud']?.[_0x44ff50(0x325)]);return applyFieldDictToColumns(_0x36fcae,_0x301e96[_0x44ff50(0x230)]),{'module':_0x570d85[_0x44ff50(0x2ef)],'side':_0x570d85[_0x44ff50(0x1d6)],'prefix':_0x47d234,'name':entityNameOf(_0x947a5f),'info':{'type':{'name':_0xd52ddb,'description':_0x570d85['description']??_0xd52ddb}},'api':buildApis(_0x570d85,_0x47d234),'columns':_0x36fcae,'pageQueryOp':_0x301e96,'pageColumns':_0x36fcae};}function groupByModule(_0x4a122c){const _0x1c53f8=_0x4caa47,_0x5d33be={};for(const _0x55f048 of _0x4a122c){const _0x3fe416=_0x5d33be[_0x55f048[_0x1c53f8(0x2ef)]]??[];_0x3fe416['push'](_0x55f048),_0x5d33be[_0x55f048[_0x1c53f8(0x2ef)]]=_0x3fe416;}return _0x5d33be;}function isEpsEnabled(){const _0x8d594c=_0x4caa47;return Boolean(VomeConfig[_0x8d594c(0x23f)]?.['eps']);}function buildEps(_0xebb535){const _0x4925d0=_0x4caa47;if(!isEpsEnabled())return{};return groupByModule(listControllers(_0xebb535)[_0x4925d0(0x274)](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps(_0x4caa47(0x1ce)),'app':()=>buildEps(_0x4caa47(0x232)),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0x4caa47(0x293);function joinRoute(_0x5da5f2,_0x48334e){return joinPrefix(_0x5da5f2,_0x48334e==='/'?'':_0x48334e);}function asMiddlewareList(_0x4a6e51){const _0x19d211=_0x4caa47;if(_0x4a6e51==null)return;return Array[_0x19d211(0x322)](_0x4a6e51)?_0x4a6e51:[_0x4a6e51];}function appendPendingRoute(_0x508728,_0x4032dd){const _0x3a0a8d=_0x4caa47,_0x4403bf=Reflect[_0x3a0a8d(0x307)](ROUTES_PENDING_KEY,_0x508728)??[];_0x4403bf[_0x3a0a8d(0x1f1)](_0x4032dd),Reflect[_0x3a0a8d(0x214)](ROUTES_PENDING_KEY,_0x4403bf,_0x508728);}function createParamDecorator(_0x592e3e){const _0x5a8f46=_0x4caa47,_0x43b318=_0x592e3e===_0x5a8f46(0x2c2)?_0x5a8f46(0x17f):_0x592e3e===_0x5a8f46(0x183)?_0x5a8f46(0x198):_0x5a8f46(0x321);return _0x47bd47=>(_0x33446d,_0x7fdadd,_0xc90840)=>{const _0x419384=_0x5a8f46;if(_0x7fdadd===undefined)throw new Error(_0x419384(0x2b1)+_0x43b318+_0x419384(0x16e));const _0x50c0e9=_0x33446d[_0x419384(0x300)];appendRouteParam(_0x50c0e9,String(_0x7fdadd),{'index':_0xc90840,'source':_0x592e3e,'schema':_0x47bd47});};}function pickCrudOptions(_0x1a0353){const {api:_0x550986,entity:_0x22ab82,service:_0x57f2b3,serviceApis:_0x201558,before:_0x3cf9f6,pageQueryOp:_0x1afd9e,listQueryOp:_0x4a0aa9,insertParam:_0x48602c,infoIgnoreProperty:_0x4a58ba}=_0x1a0353;if(_0x550986==null&&_0x22ab82==null&&_0x57f2b3==null&&_0x201558==null&&_0x3cf9f6==null&&_0x1afd9e==null&&_0x4a0aa9==null&&_0x48602c==null&&_0x4a58ba==null)return;return{'api':_0x550986,'entity':_0x22ab82,'service':_0x57f2b3,'serviceApis':_0x201558,'before':_0x3cf9f6,'pageQueryOp':_0x1afd9e,'listQueryOp':_0x4a0aa9,'insertParam':_0x48602c,'infoIgnoreProperty':_0x4a58ba};}function Controller(_0x5ac3d0=''){const _0x5baf4b=typeof _0x5ac3d0==='string',_0x21f9af=_0x5baf4b?{'prefix':_0x5ac3d0}:_0x5ac3d0;return _0x3f2686=>{const _0x3d96ec=_0x46b5;registerProvider({'token':_0x3f2686,'useClass':_0x3f2686,'scope':_0x3d96ec(0x263)});const _0x5c4299=getControllerScanContext(),_0x5a14e0=_0x5baf4b&&_0x5ac3d0===''||!_0x5baf4b&&(_0x21f9af['prefix']==null||_0x21f9af['prefix']===''),_0x4f4ce2=normalizePrefix(_0x5a14e0&&_0x5c4299?.[_0x3d96ec(0x2e9)]?parseControllerAutoPrefix(_0x5c4299[_0x3d96ec(0x2e9)]):_0x21f9af[_0x3d96ec(0x1c4)]??''),_0x57d69c=Reflect[_0x3d96ec(0x307)](ROUTES_PENDING_KEY,_0x3f2686)??[],_0x5e7f4c=pickCrudOptions(_0x21f9af);registerController({'token':_0x3f2686,'prefix':_0x4f4ce2,'module':_0x21f9af[_0x3d96ec(0x2ef)]??_0x5c4299?.['module']??_0x3d96ec(0x213),'side':_0x21f9af['side']??_0x5c4299?.[_0x3d96ec(0x1d6)]??_0x3d96ec(0x1ce),'description':_0x21f9af[_0x3d96ec(0x23a)],'file':_0x5c4299?.[_0x3d96ec(0x2e9)],'middleware':asMiddlewareList(_0x21f9af[_0x3d96ec(0x1b3)]),'crud':_0x5e7f4c,'routes':_0x57d69c[_0x3d96ec(0x274)](_0x4d5bd8=>{const _0x17e3f1=_0x3d96ec,_0x140341=getRouteParams(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)]),_0x41cfed=schemaFromParams(_0x140341),_0x3e48f3=[..._0x4d5bd8[_0x17e3f1(0x1b3)]??[],...getRouteMiddleware(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)])];return{..._0x4d5bd8,'path':joinRoute(_0x4f4ce2,_0x4d5bd8[_0x17e3f1(0x31a)]['startsWith']('/')?_0x4d5bd8[_0x17e3f1(0x31a)][_0x17e3f1(0x1fe)](0x1):_0x4d5bd8[_0x17e3f1(0x31a)]),'params':_0x140341,'body':_0x41cfed?.['body'],'query':_0x41cfed?.[_0x17e3f1(0x21d)],'routeParams':_0x41cfed?.['params'],'public':isRoutePublic(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)]),'ignorePerms':isRouteIgnorePerms(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)]),'perms':getRoutePerms(_0x3f2686,_0x4d5bd8[_0x17e3f1(0x2bb)]),'middleware':_0x3e48f3['length']?_0x3e48f3:undefined};})}),Reflect['deleteMetadata'](ROUTES_PENDING_KEY,_0x3f2686),clearRouteParams(_0x3f2686),clearRoutePublic(_0x3f2686),clearRouteMiddleware(_0x3f2686),clearRoutePerms(_0x3f2686),clearRouteIgnorePerms(_0x3f2686);};}function Use(..._0x2fd19b){return(_0x1ddc4a,_0x2cf7f4)=>{const _0x94e9c5=_0x1ddc4a['constructor'];appendRouteMiddleware(_0x94e9c5,String(_0x2cf7f4),_0x2fd19b);};}function createMethodDecorator(_0x2b46ae){return(_0x57f1d1='',_0x14a4b4)=>(_0xf91032,_0x276b0a)=>{const _0x23e5b8=_0x46b5,_0x446ed9=_0xf91032[_0x23e5b8(0x300)];appendPendingRoute(_0x446ed9,{'method':_0x2b46ae,'path':_0x57f1d1,'handler':String(_0x276b0a),'summary':_0x14a4b4?.[_0x23e5b8(0x1a9)]});};}function Public(){return(_0x35a9ed,_0x272ff4)=>{const _0x36fc61=_0x46b5,_0x5f48c2=_0x35a9ed[_0x36fc61(0x300)];markRoutePublic(_0x5f48c2,String(_0x272ff4));};}function Perms(..._0x5272b2){return(_0x5a9cfe,_0x825904)=>{const _0x5b5d71=_0x46b5,_0x9711ab=_0x5a9cfe[_0x5b5d71(0x300)];setRoutePerms(_0x9711ab,String(_0x825904),_0x5272b2);};}function IgnorePerms(){return(_0x425f1e,_0x15ee8d)=>{const _0x13ac47=_0x46b5,_0x5679d1=_0x425f1e[_0x13ac47(0x300)];markRouteIgnorePerms(_0x5679d1,String(_0x15ee8d));};}var Body=createParamDecorator(_0x4caa47(0x183)),Query=createParamDecorator(_0x4caa47(0x21d)),Param=createParamDecorator(_0x4caa47(0x2c2)),Get=createMethodDecorator('GET'),Post=createMethodDecorator(_0x4caa47(0x2cc)),Put=createMethodDecorator(_0x4caa47(0x202)),Delete=createMethodDecorator(_0x4caa47(0x1b1)),Patch=createMethodDecorator('PATCH');class BasePlugin{[_0x4caa47(0x319)];[_0x4caa47(0x265)];[_0x4caa47(0x181)];['pluginService'];async[_0x4caa47(0x18d)](_0x746f49,_0x491c3e,_0x5d598f,_0x677c4e){const _0x5d80f0=_0x4caa47;this[_0x5d80f0(0x319)]=_0x746f49,this[_0x5d80f0(0x265)]=_0x491c3e,this[_0x5d80f0(0x181)]=_0x677c4e?.['cache'],this[_0x5d80f0(0x18b)]=_0x677c4e?.['pluginService'],await this[_0x5d80f0(0x2a5)]();}async[_0x4caa47(0x2a5)](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';import{join as _0x446690}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0x3e4147}from'path';function pDataPath(){const _0x3f56c9=_0x4caa47,_0x3e0fba=createHash(_0x3f56c9(0x2ec))['update'](String(VomeConfig['keys']??_0x3f56c9(0x23f)))[_0x3f56c9(0x1c1)](_0x3f56c9(0x276));return _0x3e4147(homedir(),_0x3f56c9(0x19f),_0x3e0fba);}function pPluginPath(){const _0x111a32=_0x4caa47;return _0x3e4147(pDataPath(),_0x111a32(0x2a7));}function pModulesPath(){const _0x3a1c3c=_0x4caa47;return _0x3e4147(pDataPath(),_0x3a1c3c(0x262));}function pModulePath(_0x389d23){return _0x3e4147(pModulesPath(),_0x389d23);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x4ed1fa){if(_0x4ed1fa==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x4ed1fa);}function loadPluginClass(_0x9c0d54){const _0x4c11f5=_0x4caa47;try{const _0x2774c9=_0x9c0d54['replace'](/export\s+const\s+Plugin\s*=/g,_0x4c11f5(0x210))[_0x4c11f5(0x313)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')['replace'](/export\s+const\s+handlers\s*=/g,'var\x20handlers\x20=')[_0x4c11f5(0x313)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+class\s+(\w+)/g,_0x4c11f5(0x2f2))[_0x4c11f5(0x313)](/export\s+default\s+/g,'')[_0x4c11f5(0x313)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x4c11f5(0x313)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x4c11f5(0x313)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x4c11f5(0x18e)),_0x1ed775=new Function(_0x4c11f5(0x1bd),_0x4c11f5(0x29e),_0x4c11f5(0x2ef),_0x4c11f5(0x294),_0x2774c9+_0x4c11f5(0x1a5)),_0x1452ed={'exports':{}};return _0x1ed775(BasePlugin,pluginRequire,_0x1452ed,_0x1452ed['exports']);}catch(_0x207165){throw new Error('[Plugin]\x20加载失败:\x20'+(_0x207165 instanceof Error?_0x207165[_0x4c11f5(0x225)]:String(_0x207165)));}}function readPluginScript(_0x5611fa){const _0x38985e=_0x4caa47,_0x19af28=_0x446690(pModulePath(_0x5611fa),_0x38985e(0x2e2),_0x38985e(0x260));if(existsSync(_0x19af28))return readFileSync(_0x19af28,_0x38985e(0x336));const _0x4c3609=_0x446690(pPluginPath(),_0x5611fa);if(!existsSync(_0x4c3609))return;try{const _0x2e82e8=JSON[_0x38985e(0x1cf)](readFileSync(_0x4c3609,_0x38985e(0x336)));return _0x2e82e8[_0x38985e(0x1e0)]?.[_0x38985e(0x30b)];}catch{return;}}import{existsSync as _0x17d619,readFileSync as _0x41ee9a,readdirSync as _0x431117,statSync}from'fs';import{createRequire as _0x5efd49}from'module';import{join as _0x48d507}from'path';function _0x6fbb(){const _0x157e00=['yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','D2fYBG','ignVBNrYB2XSzxiGzMLSzsHZkq','q09ntuvovcbptIbdt0Xvtu4G','AxnfCNjVCG','ioE8UUwWKsb0B2TLBIdMIjyGCMvZB2X2zq','Ahr0CdOVl2XVy2fS','iowpQUIdVEEuQos6JUAwUEAZLEwpGUAvSa','Aw5UzxjkB2LU','C3vWCg9YDhntB2z0rgvSzxrL','ioMhJEwKJsba','C3fS','yMvMB3jL','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','lMnZCW','CMvXDwvZDa','Aw5Zzxj0','yNvUihnJCMLWDhmVyNvPBgqTywrTAw4UDhm','l2rVy3m','B3bLBMfWAq','y3j1za','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','DMvYC2LVBG','5yIB5BU65PE26zE0','ugfYyw0','DMfSDwvZ','y2fJAgu','AwrZihjLCxvPCMvK','yM9KEq','sw52ywXPzcbHChaGA2v5','zgvMyxvSDe5VDW','ioE8UUwWKsbOyw5KBgvYoIa','pJ00lJaUma','Bw9KDwXLr2f0zxDHEq','AxnuvfK','zM9Yy2vezwXLDgu','CgX1z2LUu2vYDMLJzq','lI9KAxn0l2fKBwLUl2LUzgv4lMqUDhm','Aw5PDa','khSGqMfZzvbSDwDPBIb9kq','DMfYigHHBMrSzxjZid0','zgLZDa','Aw5MBW','ChvIBgLJ','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','8j+mJsdOV5dOOyZNJQ/LOOm6ia','CgfKu3rHCNq','D2vIqxv0Aa','zgvWyxj0BwvUDeLK','qM9KEq','zNjVBq','ChjVDg90ExbL','yM9VDhn0CMfW','Dg9mB3DLCKnHC2u','CM91DgvqyxjHBxm','CgLKlgHVC3rUyw1L','lNzVBwu','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','Bgf0zxn0','zw50Axr5','y3jLyxrL','ugX1z2LU','cNzHCIbFx1bSDwDPBIa9icH0ExbLB2yGugX1z2LUice9psaNDw5KzwzPBMvKjYKkica/ifbSDwDPBGOGidOGkg1VzhvSzs5LEhbVCNrZicyMicHTB2r1BguUzxHWB3j0CY5qBhvNAw4GFhWGBw9KDwXLlMv4Cg9YDhmUzgvMyxvSDcb8FcbTB2r1BguUzxHWB3j0CYKPoWPPzIaODhLWzw9Mif9FugX1z2LUid09psaNDw5KzwzPBMvKjYb8FcbFx1bSDwDPBIa9pt0GBNvSBcKGEWOGihrOCM93ig5LDYbfCNjVCIGNBwLZC2LUzYbLEhbVCNqGugX1z2LUjYK7cN0kCMv0DxjUif9FugX1z2LUoW','AgfUzgXLCIdNVlRLPle6ia','DxbZzxj0','w0nsvurDia','C3vTBwfYEq','zMLUze9Uzq','BNvTzxjPyW','Bgf5B3v0','DxjS','CgfNzsbMywLSzwq','lI9KAxn0l2LUzgv4lMqUDhm','kqOGia','revmrvrf','BgLZDgvU','BwLKzgXLD2fYzq','zw5KC1DPDgG','AxngAw5PDgu','5yIx6kgO5P+L6k+I','zgvSzxrLtwv0ywrHDge','y3DK','5QIH5z2xia','ywrKt3jKzxjcEq','C2vYDMLJzufWAxm','C29MDerLBgv0zq','qMfZzvbSDwDPBG','C3LZDgvT','zw5HyMXL','C3vJy2vZCW','zgLNzxn0','D2vI','lMH0BwW','ChjLzML4','zgLY','C3jJl2nVBMzPzW','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','q2fJAgu','DMfSDwu','Chv0','DxnL','mc4WlJeZ','Bg9JywXLq29TCgfYzq','ywrTAw4','CgfYC2u','zgvSzxrL','AxngAwXL','C29Tzq','y29TBwvUDa','C2vYDMLJzq','B2zM','C2LKzq','ioEAHoEXU+wEI++8JoIVT+AyVUw8J+s8OowfPsb0B2TLBG','q29TBuv4y2vWDgLVBG','C2nOzw1H','CM91DgvpChrPB25Z','iowJSoAyJUs6HIbYB3v0zxmG5l2g57Y65BcrihnLCNzLCI9PBMrLEc5QCW','lM1HCa','lNbUzW','zMLLBgrmAwTL','BgvMDePVAw4','y29UDgvUDa','CgvYBxm','C2v0rw50Axr5','Dg9tDhjPBMC','Aw50zxjUywWGC2vYDMvYigvYCM9Y','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','w0HVC3rDignYDwqG4OAqieb2B21LlwnVCMuVB3jT','u1vdq0vtuW','z2v0rgf0zq','DgvZDa','yxv0B0nYDwq','ioMfJEE9RUs6HIbHCgKVC2vYDMLJzufWAxpVViZKVyBMNkRMIB7LIlaGq1jvrcdLRP7NJRdVViHaDM9Tzs1JB3jLigf0DgfJAenYDwrsB3v0zxmG5PYQ5OYc6l2977Yj','lMPWzW','AwqGCMvXDwLYzwq','BgvUz3rO','ChjVCgvYDhLoyw1L','z2v0vgLTzq','ChvZAa','z2v0u3rVCMu','zw52','C3jJl2XPyI9KyI9PBMrLEc50CW','zhjPENPSzq','ChjVzc50CW','mty2odu0BgL5Axbe','zgLJDa','zgvMyxvSDa','u0Lhvevstq','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVyxbWlYOQlYOUDhm','C3yTu0u','rvjst1i','C2XPy2u','z2v0uMvWBW','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','pJ0YlJaUma','ufvu','ywnJzxnZlwnVBNrYB2WTywXSB3CTB3jPz2LU','zgvIDwC','5PU05PAW5PE26zE0','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','DM9TztPJB250CM9SBgvYoNjVDxrLlxbHCMfTCW','AxneAxjLy3rVCNK','Bwf4rgf5CW','Bw9Kzq','C2nHBG','zxjYB3i','DxbKyxrLigzHAwXLza','mteWmJy1z3rbuMv5','Ec1MB3j3yxjKzwqTAg9ZDa','DMfYifbSDwDPBIa9','ntGZmJe1DhjNCvDT','ywXS','Dw5RBM93BG','zgvMAw5Ltwv0ywrHDge','C3rKB3v0','zw50CMLLCW','CMvXDwLYzuvUDgL0Eq','w0LVy10G','Aw5Zzxj0ugfYyw0','ywn0Aw9U','tK9erv9ftLy','z2v0rNvSBfLLyxi','CxvLCNK','zMLLBgrsyw5Nzq','Bw9KAwz5qMvMB3jL','l2XPC3q','C3jJl2XPyI9JywnOzs9PBMrLEc50CW','zgvSzxrLzef0','y29UDgvUDc10ExbL','BNvTyMvY','BwvZC2fNzq','mZi1nJfhyLrKENK','8j+tOsdMNi3LIQhLNldLNya6ia','Ec1MB3j3yxjKzwqTzM9Y','lI9KAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','yMvMB3jLsgfUzgXL','C2nHBgfY','lNDVzMyY','kgfUB255Bw91CYK','C3rYAw5NAwz5','ywrTAw5bDxrO','zMLLBgrfCq','w2nVBhvTBKnVBw1LBNrZxsdPNz7MS5xMOiFOR4BNRky6ia','yxbW','yxbP','DxbKyxrL','x19ZA2LWvgvUyw50','yMLUza','Cgf0y2G','y3jLyxrLvgLTzq','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','zgvZy3jPChrPB24','ihnPBMDSzxrVBIHZkq','C3jJl2XPyI9WBhvNAw4VAw5KzxGUDhm','D2L0AfrYyxnOzwq','BwLU','DM9Tzq','ios4JEAyR+ACIEAvIcbOyw5KBgvY','Aw5MB0LNBM9YzvbYB3bLCNr5','Dgv4Dc9JC3m7ignOyxjZzxq9DxrMltG','tM90iezVDw5K','zgvZyW','xJeUnc4Xnq','DMfYigHHBMrSzxjZid0GEW','DhjHC2G','y2fSBa','cMLMicH0ExbLB2yGAgfUzgXLCNmGpt09icD1BMrLzMLUzwqNksbYzxr1CM4GBNvSBdSkCMv0DxjUigHHBMrSzxjZoW','5y2v5lIQ5l+H5OgV','CMvZDg9YzsbMywLSzwq','AM9PBG','6lEV55sX5lIn5A2y5zYO','BM8Ty2fJAgu','pJ0ZlJuUma','pJ0Xmc4WlJa','C2L6zq','z2v0u1fm','mtC5mtaYn1PbvezpsG','mtjHuNDUuuO','C291CMnL','yNvUihj1BIbIDwLSzcaMjIbIDw4GCNvUig9IzNvZy2f0zq','CMvXDwvZDeXVzW','Bwf4','C2nVCgvKv2HLCMu','y29SDw1Ux25HBwu','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','C3jJl21PzgrSzxDHCMuVAw5KzxGUDhm','Bwf0y2G','DM9TztPJB250CM9SBgvYoNjVDxrLlxb1yMXPyW','w29IAMvJDcbpyMPLy3rD','Aw5KzxGUANm','DhLWzq','Bw9KDwXLCW','C2LUz2XLDg9U','Bg9N','y3r4','y291BNq','DgfNCW','Dw5ZywzL','w0LVy10Gsw9JlNnLDcG','yNvUihj1BIbIDwLSzdPVyMz1C2nHDgu','DhjHBNnWB3j0','CgfNzq','5QIH5z2x5PYQ5yQG6l29','C2nVCgvK','y2fJAguTy29UDhjVBa','A2v5v29Yza','DhLWAw5NCY9Hzg1PBG','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xOVA/LIkdPMAq','yxv0Aa','BwfW','CMv0DxjUAw5N','Agv4','l2LUzM8','AgvHzgvYCW','qxbWig5VDcbMB3vUza','ihjVDxrLkhmP','57Y65Bcrig1VzhvSzs5QC29UoIa','w0HVC3rDihnRAxaG4OAqig1PC3nPBMCG','ksdPNidOPOeGy2XHC3mG5A6E5l6l77Ym5lUL5l6/56gU5A6AihvZzunSyxnZ','BgLZDcbMywLSzwq','C3rHCNq','lMXVzW','C3jJl2XPyI9TB2r1BguVAw5KzxGUDhm','r0vu','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','ywrTAw5jza','Bw9KDwXLlwDHDgv3yxK','Bgv2zwW','vgfZAW','l3vWzgf0zq','BgLZDa','xJaUms4Xma','yxnZAwDU','y29UDgfPBNm','Dg9vChbLCKnHC2u','CMfUz2u','zgf0yvnJB3bL','zxH0zw5K','Axnoyu4','zMLUza','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','zxHWB3j0CW','BwLJCM8TyxbWCY1ZDgf0Awm','ioIHQoAxOcbPzcdLIjC','Ec1YzwfSlwLW','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','Cg9YDa','AgfUzgXLCNm','zMLSDgvY','nZeWmty4uMDsrw1i','DxnLq2XHC3m','CMvXDwLYzq','BgfZDeLUzgv4t2y','CMvXDwvZDfbHCMfT','Bg9Hza','C2v0rgf0zq','ndCYmJK4CK95CNrP','pJ0WlJuUma','CMvHzhK','DgfIBgu','CgX1z2LU','zgvSzxrLigzHAwXLza','lI90ExbPBMDZl2fKBwLUlYO','A2v5CW','DM9TztPJB250CM9SBgvYoNjVDxrLlw1PzgrSzxDHCMu','zM9Yy2u','y29SDw1U','pJ05lJaUma','zw50zxjxAxrO','CMfUzg9Tvvvjra','w0nVBNrYB2XSzxjDiea','l2rLBgv0zq','zM9YBwf0','y29UDhjVBgXLCG','Aw5KzxGUAhrTBa','y2XVC2u','AwrZ','pJ0XlJaUma','BM90tNvSBa','DM9TztPPBMPLy3q','AgfUzgXLCG','C3LTyM9S','cUkwIokwIokvLYaGiokwIokwIokvLYaGiokwIokwIokwIokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcUkwIokwIokvKsaGiokwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4PwxicdILOJILOJILOJILOJILzCG4PAi4PAi4PAi4PAi4PwricdILOJILOJILztILzdILzdILzdILzdILz0k4PAi4PAi4PwricaG4PAi4PAi4PwricdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvLokwIokwIokwIokwIokvLokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PwxcIdILOJILOJILzCG4PAi4PAi4Pwu4PwDicdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvKEkvMUkwIokwIokvLokvNEkwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4PwDcIaG4PwA4PAi4PAi4PAi4Pwu4PwDicaG4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwDicdILOJILOJILzeG4PwA4Pwq4PwDiokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcIaGiokvMUkvKokvKokvNsaGicaG4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4PwDicaG4PwA4Pwq4PwDicaGicdILzRILzdILz0GiokvMUkvKokvKokvKokvKokvKokvKokvNqO','jg9UvxbKyxrL','Ag9ZDa','DgvUyw50swq','BwLZC2LUzYbLEhbVCNqGAgfUzgXLCNm','CgfYyw1Z','pJ0WlJiUma','qxnPys9tAgfUz2HHAq','xJeZlJeUmW','DxbKyxrLvgLTzq','C3rHDhvZ','B2zMC2v0','l2fWCa','zMLUzej5swq','CgfYC2vjBNnLCNq','ue9tva','uMvXDwvZDa','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','AxntDxbLCG','Aw1Hz2uVCg5N','ywrKigzHAwXLza','AhjLzG','B3jKzxjcEvnXBa','5yIG6zMK5PE26zE0','C3rHDhvZq29Kzq','Aw1Hz2uVC3zNk3HTBa','lI9KAxn0l2fKBwLUl3n0EwXLCY9IyxnLlMnZCW','xJaUoc4Z','C2nVCgu','rw50Axr5','y2XLyxi','CM91DgvZ','BwLJCM9bChbZ','zMLLBgrbCNjHEq','B2jQzwn0','w0LVy10G5PYQ5RoO5yAm55QeifbYB3zPzgvYoIa','Cg9W','C2vYDMvY','Cg9ZDa','BgLTAxq','tuLu','tK9ux0zpvu5e','DgvUyw50','CMvZB2X2zuLKv2HLCMu','zMLSzq','zNvUy3rPB24','C2vSzwn0','Bwq1','C3rYAw5N','cIaGicbtruXfq1qkicaGicaGyY5YzwXUyw1LieftihrHyMXLx25HBwuScIaGicaGigeUyxr0BMfTzsbbuYbJB2X1Bw5FBMfTzsWkicaGicaGy29Sx2rLC2nYAxb0Aw9UkgeUyxr0CMvSAwqSigeUyxr0BNvTksbbuYbJB21Tzw50cIaGicbguK9nihbNx2nHDgfSB2CUCgDFy2XHC3mGyWOGicaGsK9jtIbWz19JyxrHBg9NlNbNx25HBwvZCgfJzsbUie9oig4UB2LKid0GyY5YzwXUyw1LC3bHy2ukicaGiePpsu4GCgDFy2f0ywXVzY5Wz19HDhrYAwj1DguGysbptIbHlMf0DhjLBgLKid0GyY5VAwqkicaGifDirvjfigmUCMvSA2LUzca9icDYjWOGicaGicbbtKqGBI5UC3bUyw1Lid0Gy3vYCMvUDf9Zy2HLBweOkqOGicaGicbbtKqGys5HDhrUDw0GpIaWcIaGicaGieforcbot1qGys5HDhrPC2rYB3bWzwqkicaGicaGqu5eigmUCMvSBMfTzsbjtIaO','Bw9KDwXL','qxv0Aa','5yIg6Ag15P+L6k+I','y2XHC3mGjde','uhjVDg90ExbL','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','yxnJ','ieLticC','qNvU','D2HLCMu','w0fWCf0G5BEY5zcV5yQO77Ym6k+35ywiiefWCc5ZDg9WkcKG5yAnihn0yxj0','Aw5KzxG','w1jVDxrLCL0G','Bw9KDwXLlMPZB24','DxbKyxrLqNLsB3DZ','Aw1Hz2uVANbLzW','BM90igzVDw5K','y29UC3rYDwn0B3i','ywrK','C2v0','D3jPDgu','BM9Uzq','zMfPBa','kIOVBw9KDwXLCY8Ql3nLCNzPy2uVkIOVkI50CW','z2v0twv0ywrHDge','w1jLCg9ZAxrVCNLDioIHQoAxOcbPzcdLIjFVViZOR7FMLlNNLkGGzMLUzcH3AgvYzsKGlYbMAw5Kt25LkhDOzxjLkq','l3bHz2u','BMfTzq','zgf0yq','AgfZ','Bw9KAwz5qwz0zxi','Aw5JBhvKzxm','C3jJl2XPyI9HDxrOl2LUzgv4lNrZ','y2XPzw50','x19ZA2LWrgf0yvnJB3bL','lNDVzMy','CMvWBgfJzq','w0nVBNrLEhrDiow9K+wjJEAxOoIVT+AXGUs4IUs4I+AwH++8JowgMEwfPEIIQ+w/VEEvPE+8IoIVT+EHRUIUPcbHC3LUy0nVBNrLEhrnyw5Hz2vYiow3SUwqR+EuQo+8Iq','Bwv0Ag9K','zxHPDa','xJeWlJmUmq','igzHAwXLza','CgX1z2LUsw5MBW','Cgf0Aa','CMvZDg9Yzq','l3zVBwuVyxbWCW','icHJCNvKkq','AgfZrw50Axr5','Dg9Rzw4','zgv2','uxvLCNK','AxnbCNjHEq','A2v5','zMLUzfbHz2u','CgfNzvf1zxj5t3a','DM9TztPJB250CM9SBgvYoNjVDxrLlxbLCM1Z','ChjVza','B3jKzxi','A2v5v29YzeXPA2vgAwvSzhm','zw5K','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xMGAlLPi0','zgv2lNrZ','DhjPBq','C29YDa','lNn2zW','C3bSAxq','z2v0','zg9JDw1LBNrHDgLVBG','B3jKzxjcEq','B25SEvrYyxnOzwq','C3rHCNrZv2L0Aa','DxrMoa','ioMCGoMfJEE9RIbLBNrPDhKG5OIwihnLCNzPy2u','lI9KAxn0l2LUzgv4lMPZ','mI1KAwDPDa','6z2E5Rov5QIH5z2xigTLEtOG','pJ0ZlJaUma','C2f2zq','w01VzhvSzv0GBg9HzgvKia','y29Kzq'];_0x6fbb=function(){return _0x157e00;};return _0x6fbb();}var registry2=new Map(),hostRequire2=_0x5efd49(import.meta.url);function pluginRequire2(_0x3a7b5c){if(_0x3a7b5c==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0x3a7b5c);}function normalizePath(_0x4a12a1){const _0x1345a9=_0x4caa47,_0x4b1129=_0x4a12a1[_0x1345a9(0x335)]('/')?_0x4a12a1:'/'+_0x4a12a1;return _0x4b1129[_0x1345a9(0x313)](/\/+$/,'')||'/';}function normalizeMethod(_0x195636){const _0x15eb56=_0x4caa47;return _0x195636[_0x15eb56(0x28d)]();}function normalizeModuleScript(_0xee1431){const _0x32e4d1=_0x4caa47;return _0xee1431[_0x32e4d1(0x313)](/export\s+const\s+handlers\s*=/g,_0x32e4d1(0x18f))[_0x32e4d1(0x313)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+default\s+\{/g,_0x32e4d1(0x246))[_0x32e4d1(0x313)](/export\s+const\s+Plugin\s*=/g,'var\x20Plugin\x20=')[_0x32e4d1(0x313)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x32e4d1(0x313)](/export\s+class\s+(\w+)/g,_0x32e4d1(0x2f2))[_0x32e4d1(0x313)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x32e4d1(0x313)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x32e4d1(0x313)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,'({\x20BasePlugin\x20})');}function loadModuleHandlers(_0x1f2be5,_0x4ba0be=!![]){const _0x22d8b9=_0x4caa47,_0x57945c=normalizeModuleScript(_0x1f2be5),_0xbb760a=new Function(_0x22d8b9(0x1bd),_0x22d8b9(0x29e),'module',_0x22d8b9(0x294),_0x57945c+_0x22d8b9(0x249)),_0x3868c2={'exports':{}},_0x568e31=_0xbb760a(BasePlugin,pluginRequire2,_0x3868c2,_0x3868c2[_0x22d8b9(0x294)]);if(!_0x568e31||typeof _0x568e31!==_0x22d8b9(0x2df)){if(_0x4ba0be)throw new Error(_0x22d8b9(0x2c1));return{};}return _0x568e31;}var ModuleRegistry={'get'(_0x2f6a6c){return registry2['get'](_0x2f6a6c);},'list'(){const _0xfd0292=_0x4caa47;return[...registry2['entries']()][_0xfd0292(0x274)](([_0x401648,_0x5790b3])=>({'key':_0x401648,'manifest':_0x5790b3['manifest'],'routes':_0x5790b3[_0xfd0292(0x2dc)]}));},'load'(_0x110011){const _0x401cb6=_0x4caa47;if(!_0x110011||!/^[a-zA-Z0-9_-]+$/['test'](_0x110011))throw new Error(_0x401cb6(0x33a)+_0x110011);const _0x27deda=pModulePath(_0x110011),_0x57f04b=_0x48d507(_0x27deda,_0x401cb6(0x2fc));if(!_0x17d619(_0x57f04b))throw new Error(_0x401cb6(0x27b)+_0x110011);const _0x38b72c=JSON[_0x401cb6(0x1cf)](_0x41ee9a(_0x57f04b,_0x401cb6(0x336))),_0xe2a480=(_0x38b72c[_0x401cb6(0x2dc)]??[])[_0x401cb6(0x274)](_0xa85efa=>({..._0xa85efa,'method':normalizeMethod(_0xa85efa[_0x401cb6(0x315)]),'path':normalizePath(_0xa85efa[_0x401cb6(0x31a)])}));let _0x2712c3={};const _0x5ce0f9=_0x48d507(_0x27deda,_0x401cb6(0x2e2),_0x401cb6(0x260));if(_0x17d619(_0x5ce0f9)){const _0x398bec=_0x41ee9a(_0x5ce0f9,_0x401cb6(0x336));_0x2712c3=loadModuleHandlers(_0x398bec,_0xe2a480[_0x401cb6(0x1ee)]>0x0);for(const _0x5e4c4e of _0xe2a480){if(typeof _0x2712c3[_0x5e4c4e['handler']]!==_0x401cb6(0x2ea))throw new Error(_0x401cb6(0x1b9)+_0x110011+_0x401cb6(0x186)+_0x5e4c4e[_0x401cb6(0x2bb)]);}}else{if(_0xe2a480[_0x401cb6(0x1ee)])throw new Error(_0x401cb6(0x1b9)+_0x110011+_0x401cb6(0x1db));}return registry2[_0x401cb6(0x302)](_0x110011,{'manifest':_0x38b72c,'handlers':_0x2712c3,'routes':_0xe2a480}),registry2['get'](_0x110011);},'unload'(_0xef4760){const _0x7b3f5a=_0x4caa47;registry2[_0x7b3f5a(0x1d0)](_0xef4760);},async 'dispatch'(_0x2dd78c,_0x10271e,_0x392e8c,_0x17cd00){const _0x41783f=_0x4caa47,_0x4a654f=registry2['get'](_0x2dd78c);if(!_0x4a654f)return{'ok':![],'status':0x194,'message':_0x41783f(0x26d)};const _0x1e52c9=normalizeMethod(_0x10271e),_0x3a21c4=normalizePath(_0x392e8c),_0x49782b=_0x4a654f[_0x41783f(0x2dc)]['find'](_0x4f72c0=>_0x4f72c0[_0x41783f(0x315)]===_0x1e52c9&&_0x4f72c0[_0x41783f(0x31a)]===_0x3a21c4);if(!_0x49782b)return{'ok':![],'status':0x194,'message':_0x41783f(0x24d)};const _0x54ae78=_0x4a654f[_0x41783f(0x29a)][_0x49782b['handler']];if(typeof _0x54ae78!==_0x41783f(0x2ea))return{'ok':![],'status':0x1f4,'message':_0x41783f(0x1a6)+_0x49782b['handler']};try{const _0x1b8283=await _0x54ae78(_0x17cd00);return{'ok':!![],'data':_0x1b8283,'route':_0x49782b};}catch(_0x7a4e0a){const _0x46484d=_0x7a4e0a instanceof Error?_0x7a4e0a[_0x41783f(0x225)]:String(_0x7a4e0a);return{'ok':![],'status':0x1f4,'message':_0x46484d,'route':_0x49782b};}},'bootstrap'(){const _0x38fe69=_0x4caa47,_0x5c3a9a=pModulesPath();if(!_0x17d619(_0x5c3a9a))return;for(const _0x396eb3 of _0x431117(_0x5c3a9a)){const _0x1664c4=_0x48d507(_0x5c3a9a,_0x396eb3);if(!statSync(_0x1664c4)[_0x38fe69(0x208)]())continue;if(!_0x17d619(_0x48d507(_0x1664c4,'module.json')))continue;try{this[_0x38fe69(0x2a1)](_0x396eb3),console[_0x38fe69(0x264)](_0x38fe69(0x33d)+_0x396eb3);}catch(_0x34cc48){console['warn']('[Module]\x20load\x20failed\x20'+_0x396eb3+':',_0x34cc48 instanceof Error?_0x34cc48[_0x38fe69(0x225)]:_0x34cc48);}}}};import{existsSync as _0x1da566,statSync as _0x4449fd}from'fs';import{join as _0x2092a0,normalize,sep}from'path';import{Elysia as _0x1e7f19}from'elysia';var PREFIX=_0x4caa47(0x31c);function contentType(_0x387ea2){const _0x1b0ae6=_0x4caa47,_0x456285=_0x387ea2[_0x1b0ae6(0x19c)]();if(_0x456285['endsWith'](_0x1b0ae6(0x1c3)))return _0x1b0ae6(0x25b);if(_0x456285[_0x1b0ae6(0x1b4)]('.js')||_0x456285[_0x1b0ae6(0x1b4)]('.mjs'))return'application/javascript;\x20charset=utf-8';if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x175)))return _0x1b0ae6(0x242);if(_0x456285[_0x1b0ae6(0x1b4)]('.json'))return'application/json;\x20charset=utf-8';if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x32f)))return _0x1b0ae6(0x2d6);if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x1dd)))return _0x1b0ae6(0x2d0);if(_0x456285['endsWith'](_0x1b0ae6(0x1ec))||_0x456285[_0x1b0ae6(0x1b4)]('.jpeg'))return _0x1b0ae6(0x2fe);if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x22c)))return'font/woff2';if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x312)))return'font/woff';if(_0x456285[_0x1b0ae6(0x1b4)](_0x1b0ae6(0x1dc)))return'application/json';return _0x1b0ae6(0x200);}var microApps=new _0x1e7f19({'name':_0x4caa47(0x295)})[_0x4caa47(0x331)](PREFIX+'/*',({params:_0x284561,set:_0x15168})=>{const _0x535995=_0x4caa47,_0x211af9=String(_0x284561['*']||''),_0xf697a5=_0x211af9[_0x535995(0x330)]('/')[_0x535995(0x29b)](Boolean);if(!_0xf697a5[_0x535995(0x1ee)])return _0x15168[_0x535995(0x2c7)]=0x194,_0x535995(0x243);const _0x1391ec=_0xf697a5[0x0];if(!/^[a-zA-Z0-9_-]+$/[_0x535995(0x1e9)](_0x1391ec))return _0x15168[_0x535995(0x2c7)]=0x190,_0x535995(0x184);const _0x3cb088=_0x2092a0(pModulePath(_0x1391ec),_0x535995(0x1c2));if(!_0x1da566(_0x3cb088)||!_0x4449fd(_0x3cb088)[_0x535995(0x208)]())return _0x15168['status']=0x194,_0x535995(0x279);let _0x2b3be1=_0xf697a5[_0x535995(0x1fe)](0x1)[_0x535995(0x24c)]('/')||'index.html';if(_0x2b3be1[_0x535995(0x1b4)]('/'))_0x2b3be1+=_0x535995(0x2b5);const _0x355937=normalize(_0x2092a0(_0x3cb088,_0x2b3be1));if(!_0x355937[_0x535995(0x335)](_0x3cb088+sep)&&_0x355937!==_0x3cb088)return _0x15168[_0x535995(0x2c7)]=0x193,'Forbidden';let _0x25afeb=_0x355937;_0x1da566(_0x25afeb)&&_0x4449fd(_0x25afeb)[_0x535995(0x208)]()&&(_0x25afeb=_0x2092a0(_0x25afeb,_0x535995(0x2b5)));if(!_0x1da566(_0x25afeb)||!_0x4449fd(_0x25afeb)[_0x535995(0x1d1)]())return _0x15168[_0x535995(0x2c7)]=0x194,_0x535995(0x243);return _0x15168[_0x535995(0x278)][_0x535995(0x223)]=contentType(_0x25afeb),_0x15168[_0x535995(0x278)][_0x535995(0x26f)]=_0x535995(0x24e),_0x15168[_0x535995(0x278)][_0x535995(0x203)]='*',Bun[_0x535995(0x2e9)](_0x25afeb);});import{Elysia as _0x45505d}from'elysia';function ok(_0x5deef4){const _0xbab9d9=_0x4caa47;return{'code':RES_CODE[_0xbab9d9(0x1e7)],'message':_0xbab9d9(0x1c0),'data':_0x5deef4??null};}function fail(_0x3dfbc4,_0x2ea9ab=RES_CODE[_0x4caa47(0x1fd)]){return{'code':_0x2ea9ab,'message':_0x3dfbc4};}async function handleExt(_0xdaae64){const _0x3954ce=_0x4caa47,_0x27868b=_0xdaae64[_0x3954ce(0x2c2)][_0x3954ce(0x323)];if(!_0x27868b||!/^[a-zA-Z0-9_-]+$/[_0x3954ce(0x1e9)](_0x27868b))return _0xdaae64[_0x3954ce(0x302)][_0x3954ce(0x2c7)]=0x190,fail('\u975E\u6CD5\u6A21\u5757\x20key');const _0x16ac2c=String(_0xdaae64['params']['*']||''),_0x5054ca=('/'+_0x16ac2c)[_0x3954ce(0x313)](/\/+/g,'/'),_0x51f4ea=Context[_0x3954ce(0x331)](),_0x156e8c=ModuleRegistry[_0x3954ce(0x331)](_0x27868b);if(!_0x156e8c)return _0xdaae64[_0x3954ce(0x302)]['status']=0x194,fail('\u6A21\u5757\u672A\u5B89\u88C5\u6216\u672A\u52A0\u8F7D');const _0x4864c5=_0xdaae64[_0x3954ce(0x176)][_0x3954ce(0x315)][_0x3954ce(0x28d)](),_0x478e45=_0x5054ca[_0x3954ce(0x313)](/\/+$/,'')||'/',_0x2f5b37=_0x156e8c['routes']['find'](_0x12fc98=>_0x12fc98[_0x3954ce(0x315)]===_0x4864c5&&_0x12fc98[_0x3954ce(0x31a)]===_0x478e45);if(!_0x2f5b37)return _0xdaae64[_0x3954ce(0x302)][_0x3954ce(0x2c7)]=0x194,fail(_0x3954ce(0x24d));if(_0x2f5b37['perms']&&!_0x51f4ea?.[_0x3954ce(0x2cf)]){const _0x23cf79=_0x51f4ea?.[_0x3954ce(0x1e1)]??[];if(!_0x23cf79[_0x3954ce(0x30e)](_0x2f5b37['perms']))return _0xdaae64[_0x3954ce(0x2c7)](0x193);}const _0x321cc8=await ModuleRegistry['dispatch'](_0x27868b,_0x4864c5,_0x5054ca,{'body':_0xdaae64[_0x3954ce(0x183)],'query':_0xdaae64[_0x3954ce(0x21d)]??{},'params':_0xdaae64[_0x3954ce(0x2c2)],'headers':_0xdaae64['request'][_0x3954ce(0x278)],'adminId':_0x51f4ea?.[_0x3954ce(0x284)]});if(!_0x321cc8['ok'])return _0xdaae64['set']['status']=_0x321cc8[_0x3954ce(0x2c7)],fail(_0x321cc8['message']);return ok(_0x321cc8[_0x3954ce(0x30b)]);}function createModuleGateway(_0x28948b){const _0x5e8187=_0x4caa47;return new _0x45505d({'name':_0x5e8187(0x285)})[_0x5e8187(0x1cb)](_0x28948b['adminAuth'])['all']('/admin/ext/:key/*',handleExt,{'adminAuth':!![]})['all']('/admin/ext/:key',handleExt,{'adminAuth':!![]});}import{Elysia as _0x46c002}from'elysia';function defineAuthMacro(_0xc6a160,_0x426fd5){const _0x20d569=_0x4caa47;return new _0x46c002({'name':_0xc6a160+'-macro'})['macro']({[_0xc6a160]:{'resolve':_0x426fd5}})['as'](_0x20d569(0x26e));}var package_default={'name':'vome-core','version':_0x4caa47(0x1cc),'description':_0x4caa47(0x206),'license':_0x4caa47(0x2e5),'type':_0x4caa47(0x2ef),'files':[_0x4caa47(0x190),'src/shared',_0x4caa47(0x271)],'main':_0x4caa47(0x338),'types':_0x4caa47(0x1af),'exports':{'.':{'types':'./dist/index.d.ts','import':_0x4caa47(0x338),'default':_0x4caa47(0x338)},'./server':{'types':_0x4caa47(0x229),'import':'./dist/server/index.js','default':_0x4caa47(0x1c7)},'./admin':{'types':_0x4caa47(0x18c),'import':_0x4caa47(0x1a0),'default':_0x4caa47(0x1a0)},'./admin/*':'./dist/admin/*','./admin/styles/base.css':_0x4caa47(0x2d7),'./typings/*':_0x4caa47(0x2a9)},'scripts':{'build:server':_0x4caa47(0x17c),'build:admin':_0x4caa47(0x178),'build':_0x4caa47(0x283),'obfuscate':_0x4caa47(0x167),'build:obfuscate':_0x4caa47(0x256),'prepublishOnly':_0x4caa47(0x26a)},'peerDependencies':{'elysia':_0x4caa47(0x2b8),'reflect-metadata':_0x4caa47(0x2c3),'drizzle-orm':'>=0.30.0','drizzle-zod':_0x4caa47(0x2a4),'vue':_0x4caa47(0x24f),'vue-router':_0x4caa47(0x187),'pinia':_0x4caa47(0x201),'vue-sonner':_0x4caa47(0x201),'@vueuse/core':_0x4caa47(0x250),'clsx':_0x4caa47(0x201),'tailwind-merge':_0x4caa47(0x201),'dompurify':_0x4caa47(0x33b),'marked':_0x4caa47(0x2ae)},'peerDependenciesMeta':{'drizzle-orm':{'optional':!![]},'drizzle-zod':{'optional':!![]},'vue':{'optional':!![]},'vue-router':{'optional':!![]},'pinia':{'optional':!![]},'vue-sonner':{'optional':!![]},'@vueuse/core':{'optional':!![]},'clsx':{'optional':!![]},'tailwind-merge':{'optional':!![]},'dompurify':{'optional':!![]},'marked':{'optional':!![]}},'devDependencies':{'bun-types':_0x4caa47(0x1a1),'drizzle-orm':_0x4caa47(0x1a1),'drizzle-zod':_0x4caa47(0x2d8),'elysia':_0x4caa47(0x1a1),'javascript-obfuscator':'^5.4.7','reflect-metadata':'^0.2.2','typescript':_0x4caa47(0x1a1)},'dependencies':{'@bogeychan/elysia-logger':_0x4caa47(0x28a),'@elysiajs/openapi':_0x4caa47(0x245),'pino':_0x4caa47(0x317),'pino-pretty':_0x4caa47(0x2c5)}},version=package_default[_0x4caa47(0x17d)];export{vome,version,tableHasDepartmentId,syncColumnCommentsToPg,scanFiles,resolveTenantScope,resolveDataScope,readPluginScript,q,pPluginPath,pModulesPath,pModulePath,pDataPath,normalizeHost,noTenant,noDataScope,microApps,loadPluginClass,loadModuleHandlers,listProviders,listControllers,isTenantEnabled,isEpsEnabled,isCommException,getRepository,getEnv,getColumnComments,entitySchemas,defineAuthMacro,createModuleGateway,columnComments,baseColumns,attachCrudRoutes,applyRowScopes,applyDataScopeWhere,appendInjectMeta,VomeConfig,Use,ScopeEnum,Repository,RES_CODE,Query,Put,Public,Provide,Post,Perms,Patch,Param,ModuleRegistry,Logger,Ioc,InjectRepository,Inject,IgnorePerms,Get,Eps,Delete,DbStore,Controller,Context,CommException,Body,BaseService,BasePlugin,BaseController,BASE_COLUMN_COMMENTS,App};
1
+ const _0x161e41=_0x17b8;(function(_0x388993,_0x492efe){const _0x1192f6=_0x17b8,_0x17c3ed=_0x388993();while(!![]){try{const _0x94a126=-parseInt(_0x1192f6(0x2e2))/0x1+-parseInt(_0x1192f6(0x1f2))/0x2+-parseInt(_0x1192f6(0x19d))/0x3*(parseInt(_0x1192f6(0x350))/0x4)+parseInt(_0x1192f6(0x36c))/0x5+-parseInt(_0x1192f6(0x2d0))/0x6+-parseInt(_0x1192f6(0x2b3))/0x7+parseInt(_0x1192f6(0x31a))/0x8;if(_0x94a126===_0x492efe)break;else _0x17c3ed['push'](_0x17c3ed['shift']());}catch(_0x415e5f){_0x17c3ed['push'](_0x17c3ed['shift']());}}}(_0x456b,0x91747));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0x57fee8=_0x17b8;return Bun[_0x57fee8(0x36e)][_0x57fee8(0x1a1)]===_0x57fee8(0x32a)?_0x57fee8(0x32a):'prod';}function merge(_0x11cec8,_0x576522){const _0x599070=_0x17b8,_0x104e46={..._0x11cec8};for(const _0x56b11e of Object[_0x599070(0x1d0)](_0x576522)){const _0x4280ff=_0x104e46[_0x56b11e],_0x449f1e=_0x576522[_0x56b11e];if(_0x4280ff&&_0x449f1e&&typeof _0x4280ff==='object'&&typeof _0x449f1e==='object'&&!Array[_0x599070(0x2d4)](_0x4280ff)&&!Array[_0x599070(0x2d4)](_0x449f1e)){_0x104e46[_0x56b11e]=merge(_0x4280ff,_0x449f1e);continue;}_0x104e46[_0x56b11e]=_0x449f1e;}return _0x104e46;}async function loadConfig(_0x15bba9=join(process['cwd'](),_0x161e41(0x21f))){const _0xbc8618=_0x161e41,_0x419442=getEnv()===_0xbc8618(0x32a)?_0xbc8618(0x314):'prod.ts',_0x35234d=await import(pathToFileURL(join(_0x15bba9,_0xbc8618(0x353)))[_0xbc8618(0x223)]),_0x3a08fc=await import(pathToFileURL(join(_0x15bba9,_0x419442))[_0xbc8618(0x223)]);return merge(_0x35234d[_0xbc8618(0x35c)],_0x3a08fc[_0xbc8618(0x35c)]);}var VomeConfig=await loadConfig();import{Elysia as _0x35d6af}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x530745){const _0x15ebaa=_0x161e41,_0xa6d1d4=_0x530745[_0x15ebaa(0x1f5)]['get'](_0x15ebaa(0x2fd));if(_0xa6d1d4){const _0x580fbd=_0xa6d1d4[_0x15ebaa(0x1af)](',')[0x0]?.['trim']();if(_0x580fbd)return _0x580fbd;}return _0x530745[_0x15ebaa(0x1f5)]['get'](_0x15ebaa(0x2fc))?.['trim']()||_0x530745[_0x15ebaa(0x1f5)][_0x15ebaa(0x2fb)](_0x15ebaa(0x22b))?.[_0x15ebaa(0x22e)]()||'';}function initContextFromRequest(_0xec5da6){const _0xe2bc4f=_0x161e41,_0xe26784=new URL(_0xec5da6[_0xe2bc4f(0x281)]),_0x35a162=_0xec5da6['headers']['get']('x-forwarded-host')?.[_0xe2bc4f(0x1af)](',')[0x0]?.[_0xe2bc4f(0x22e)](),_0x186ba3=_0xec5da6['headers'][_0xe2bc4f(0x2fb)]('host')?.[_0xe2bc4f(0x22e)]();return{'requestId':crypto[_0xe2bc4f(0x261)](),'method':_0xec5da6['method'],'path':_0xe26784['pathname'],'ip':resolveClientIp(_0xec5da6),'host':_0x35a162||_0x186ba3||_0xe26784[_0xe2bc4f(0x1d4)],'startTime':Date[_0xe2bc4f(0x2ba)]()};}function enterContextWith(_0x143a49){storage['enterWith'](_0x143a49);}function getContext(){const _0x503b5a=_0x161e41;return storage[_0x503b5a(0x2b5)]();}function assignContext(_0xb1ad17){const _0x3b6e27=_0x161e41,_0x20f70f=storage['getStore']();if(!_0x20f70f){getEnv()===_0x3b6e27(0x32a)&&!warnedOutsideRequest&&(warnedOutsideRequest=!![],console['warn']('[Context]\x20\u5F53\u524D\u65E0\u8BF7\u6C42\u4E0A\u4E0B\u6587\uFF0C\u5199\u5165\u88AB\u5FFD\u7565\uFF08\u8BF7\u786E\u8BA4\x20asyncContextManager\x20\u5DF2\u542F\u7528\uFF09'));return;}Object[_0x3b6e27(0x304)](_0x20f70f,_0xb1ad17);}function runContext(_0x5bf165,_0x4ed7d8){const _0x28b2b2=_0x161e41;return storage[_0x28b2b2(0x233)](_0x5bf165,_0x4ed7d8);}var Context=Object[_0x161e41(0x304)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY=_0x161e41(0x22a),providers=new Map();function registerProvider(_0x2daadc){const _0xd5a1fe=_0x161e41;providers[_0xd5a1fe(0x368)](_0x2daadc[_0xd5a1fe(0x263)],_0x2daadc);}function getProvider(_0x3b861e){const _0x3e7b46=_0x161e41;return providers[_0x3e7b46(0x2fb)](_0x3b861e);}function listProviders(){const _0xad0ea6=_0x161e41,_0x256414=new Set(),_0x12db4e=[];for(const _0x19539b of providers['values']()){if(_0x256414[_0xad0ea6(0x1bd)](_0x19539b['useClass']))continue;_0x256414['add'](_0x19539b[_0xad0ea6(0x1ab)]),_0x12db4e[_0xad0ea6(0x31e)](_0x19539b);}return _0x12db4e;}function tokenLabel(_0xd70a12){const _0x1c82c0=_0x161e41;if(typeof _0xd70a12===_0x1c82c0(0x354)||typeof _0xd70a12===_0x1c82c0(0x324))return String(_0xd70a12);return _0xd70a12[_0x1c82c0(0x1a8)]||_0x1c82c0(0x205);}function appendInjectMeta(_0xd1b95c,_0x1758a5){const _0x16f35f=_0x161e41,_0x350488=Reflect[_0x16f35f(0x2a8)](INJECT_METADATA_KEY,_0xd1b95c)??[];_0x350488[_0x16f35f(0x31e)](_0x1758a5),Reflect['defineMetadata'](INJECT_METADATA_KEY,_0x350488,_0xd1b95c);}function getInjectMetas(_0x2ff7c7){const _0xd59af8=_0x161e41;return Reflect[_0xd59af8(0x2a8)](INJECT_METADATA_KEY,_0x2ff7c7)??[];}function resetProviders(){const _0x132905=_0x161e41;providers[_0x132905(0x1b9)]();}var ScopeEnum;(_0x107e92=>{const _0x5cfeaa=_0x161e41;_0x107e92['Singleton']='singleton',_0x107e92[_0x5cfeaa(0x1a6)]=_0x5cfeaa(0x1cd),_0x107e92['Prototype']=_0x5cfeaa(0x222);})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x1d3f5f,_0x245a6c){const _0x3e8739=_0x161e41;for(const _0x5c1a69 of getInjectMetas(_0x245a6c)){const {propertyKey:_0x42e054,token:_0x37ddb9,resolve:_0x8bcdd8}=_0x5c1a69;if(!_0x8bcdd8&&_0x37ddb9==null)throw new Error('[Ioc]\x20'+String(_0x42e054)+_0x3e8739(0x1dc));const _0x5b6957=_0x8bcdd8?_0x8bcdd8():Ioc['get'](_0x37ddb9);_0x1d3f5f[_0x42e054]=_0x5b6957;const _0xf8b871=_0x1d3f5f[_0x3e8739(0x288)];_0x8bcdd8&&typeof _0xf8b871===_0x3e8739(0x2cf)&&_0xf8b871['call'](_0x1d3f5f,_0x5b6957);}}function createInstance(_0x21c529){const _0x29b782=_0x161e41;if(creating[_0x29b782(0x1bd)](_0x21c529))throw new Error(_0x29b782(0x241)+_0x21c529['name']);creating[_0x29b782(0x369)](_0x21c529);try{const _0xfc3d1e=new _0x21c529();return injectProperties(_0xfc3d1e,_0x21c529),_0xfc3d1e;}finally{creating[_0x29b782(0x1e2)](_0x21c529);}}function getSingleton(_0x1da82c){const _0x4bbc3a=_0x161e41,_0x31d6c4=singletons[_0x4bbc3a(0x2fb)](_0x1da82c);if(_0x31d6c4)return _0x31d6c4;const _0x209019=createInstance(_0x1da82c);return singletons[_0x4bbc3a(0x368)](_0x1da82c,_0x209019),_0x209019;}function getRequestCache(){const _0x5ba9f9=_0x161e41,_0x517f65=Context[_0x5ba9f9(0x2fb)]();if(!_0x517f65)throw new Error(_0x5ba9f9(0x327));let _0x29349d=requestCaches[_0x5ba9f9(0x2fb)](_0x517f65);return!_0x29349d&&(_0x29349d=new Map(),requestCaches['set'](_0x517f65,_0x29349d)),_0x29349d;}function getRequestScoped(_0x1d3909){const _0x1107f1=_0x161e41,_0x10c2b4=getRequestCache(),_0x5dd5c6=_0x10c2b4[_0x1107f1(0x2fb)](_0x1d3909);if(_0x5dd5c6)return _0x5dd5c6;const _0x475a3c=createInstance(_0x1d3909);return _0x10c2b4[_0x1107f1(0x368)](_0x1d3909,_0x475a3c),_0x475a3c;}function resolveByScope(_0x530b09,_0x59e423){const _0x5e8295=_0x161e41;switch(_0x59e423){case _0x5e8295(0x203):return getSingleton(_0x530b09);case'prototype':return createInstance(_0x530b09);case _0x5e8295(0x1cd):return getRequestScoped(_0x530b09);default:throw new Error(_0x5e8295(0x23c)+_0x59e423);}}function resolveMeta(_0x20c375){const _0x21233a=_0x161e41,_0x498b10=getProvider(_0x20c375);if(!_0x498b10)throw new Error(_0x21233a(0x250)+tokenLabel(_0x20c375));return _0x498b10;}function bootstrapIoc(){const _0x474d83=_0x161e41;for(const {useClass:_0x4690b4,scope:_0xe5a891}of listProviders()){_0xe5a891===_0x474d83(0x203)&&getSingleton(_0x4690b4);}console['log'](_0x474d83(0x349)+singletons[_0x474d83(0x267)]+_0x474d83(0x339));}function get(_0x114b53){const _0x2e3916=_0x161e41,_0x3b1724=resolveMeta(_0x114b53);return resolveByScope(_0x3b1724[_0x2e3916(0x1ab)],_0x3b1724['scope']);}function set(_0x3c4917,_0x352128){const _0x51f47f=_0x161e41;if(typeof _0x3c4917===_0x51f47f(0x2cf)){registerProvider({'token':_0x3c4917,'useClass':_0x3c4917,'scope':'singleton'}),singletons[_0x51f47f(0x368)](_0x3c4917,_0x352128);return;}const _0x45217d=_0x352128?.[_0x51f47f(0x37a)];if(!_0x45217d||_0x45217d===Object)throw new Error('[Ioc]\x20Ioc.set('+tokenLabel(_0x3c4917)+_0x51f47f(0x290));registerProvider({'token':_0x3c4917,'useClass':_0x45217d,'scope':_0x51f47f(0x203)}),registerProvider({'token':_0x45217d,'useClass':_0x45217d,'scope':_0x51f47f(0x203)}),singletons[_0x51f47f(0x368)](_0x45217d,_0x352128);}function resetIoc(){const _0xb46f10=_0x161e41;singletons[_0xb46f10(0x1b9)](),creating[_0xb46f10(0x1b9)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0x16aee3){const _0x531b15=_0x161e41;controllers[_0x531b15(0x368)](_0x16aee3[_0x531b15(0x263)],_0x16aee3);}function listControllers(_0x4f3833){const _0x4d2be8=_0x161e41,_0x4912c5=[...controllers[_0x4d2be8(0x24e)]()];return _0x4f3833?_0x4912c5['filter'](_0x4a02a1=>_0x4a02a1[_0x4d2be8(0x276)]===_0x4f3833):_0x4912c5;}var ROUTE_PARAMS_KEY=_0x161e41(0x295),ROUTE_PUBLIC_KEY=_0x161e41(0x313),ROUTE_MW_KEY=_0x161e41(0x2a6),ROUTE_PERMS_KEY=_0x161e41(0x1e9),ROUTE_IGNORE_PERMS_KEY=_0x161e41(0x1f8);function appendRouteParam(_0x4009e8,_0x3a4d1b,_0x8fcbc5){const _0x3a9e7b=_0x161e41,_0x141cbb=Reflect[_0x3a9e7b(0x2a8)](ROUTE_PARAMS_KEY,_0x4009e8)??{},_0x278ee4=_0x141cbb[_0x3a4d1b]??[];_0x278ee4[_0x3a9e7b(0x31e)](_0x8fcbc5),_0x141cbb[_0x3a4d1b]=_0x278ee4,Reflect[_0x3a9e7b(0x329)](ROUTE_PARAMS_KEY,_0x141cbb,_0x4009e8);}function getRouteParams(_0x1c5977,_0x475255){const _0x22c582=_0x161e41,_0x5ba820=Reflect[_0x22c582(0x2a8)](ROUTE_PARAMS_KEY,_0x1c5977);return _0x5ba820?.[_0x475255]??[];}function clearRouteParams(_0x58938a){Reflect['deleteMetadata'](ROUTE_PARAMS_KEY,_0x58938a);}function markRoutePublic(_0x13dc8d,_0x26e4e0){const _0x313ad0=_0x161e41,_0x46253d=Reflect[_0x313ad0(0x2a8)](ROUTE_PUBLIC_KEY,_0x13dc8d)??{};_0x46253d[_0x26e4e0]=!![],Reflect[_0x313ad0(0x329)](ROUTE_PUBLIC_KEY,_0x46253d,_0x13dc8d);}function isRoutePublic(_0x47766d,_0x326b38){const _0x3e6aa6=_0x161e41,_0x254fd4=Reflect[_0x3e6aa6(0x2a8)](ROUTE_PUBLIC_KEY,_0x47766d);return!!_0x254fd4?.[_0x326b38];}function clearRoutePublic(_0x2c7571){const _0x162779=_0x161e41;Reflect[_0x162779(0x30f)](ROUTE_PUBLIC_KEY,_0x2c7571);}function appendRouteMiddleware(_0x77d6f8,_0x28800f,_0x2b5c3c){const _0x5cb846=_0x161e41,_0x5d8d60=Reflect['getMetadata'](ROUTE_MW_KEY,_0x77d6f8)??{};_0x5d8d60[_0x28800f]=[..._0x5d8d60[_0x28800f]??[],..._0x2b5c3c],Reflect[_0x5cb846(0x329)](ROUTE_MW_KEY,_0x5d8d60,_0x77d6f8);}function getRouteMiddleware(_0x2c2663,_0x5e1ed5){const _0x5f18a7=_0x161e41,_0x5a17f7=Reflect[_0x5f18a7(0x2a8)](ROUTE_MW_KEY,_0x2c2663);return _0x5a17f7?.[_0x5e1ed5]??[];}function clearRouteMiddleware(_0x3a41d9){Reflect['deleteMetadata'](ROUTE_MW_KEY,_0x3a41d9);}function setRoutePerms(_0x1bc231,_0x5006ba,_0x3d9cdd){const _0x688eae=_0x161e41,_0x39053a=Reflect[_0x688eae(0x2a8)](ROUTE_PERMS_KEY,_0x1bc231)??{};_0x39053a[_0x5006ba]=_0x3d9cdd,Reflect[_0x688eae(0x329)](ROUTE_PERMS_KEY,_0x39053a,_0x1bc231);}function getRoutePerms(_0x519858,_0x3af9a2){const _0x1964c5=_0x161e41,_0x479c97=Reflect[_0x1964c5(0x2a8)](ROUTE_PERMS_KEY,_0x519858);return _0x479c97?.[_0x3af9a2];}function clearRoutePerms(_0x1ae53d){Reflect['deleteMetadata'](ROUTE_PERMS_KEY,_0x1ae53d);}function markRouteIgnorePerms(_0x2461b5,_0x410ea0){const _0x1ae299=_0x161e41,_0x321fc4=Reflect[_0x1ae299(0x2a8)](ROUTE_IGNORE_PERMS_KEY,_0x2461b5)??{};_0x321fc4[_0x410ea0]=!![],Reflect[_0x1ae299(0x329)](ROUTE_IGNORE_PERMS_KEY,_0x321fc4,_0x2461b5);}function isRouteIgnorePerms(_0x18861b,_0x48e0f4){const _0x35f644=_0x161e41,_0x349fbb=Reflect[_0x35f644(0x2a8)](ROUTE_IGNORE_PERMS_KEY,_0x18861b);return!!_0x349fbb?.[_0x48e0f4];}function clearRouteIgnorePerms(_0x4cb130){const _0x3eb31c=_0x161e41;Reflect[_0x3eb31c(0x30f)](ROUTE_IGNORE_PERMS_KEY,_0x4cb130);}function schemaFromParams(_0x3dc8c8){const _0x7739b3=_0x161e41,_0x56790a={};for(const _0x2060c0 of _0x3dc8c8){if(_0x2060c0['source']===_0x7739b3(0x28d)&&_0x2060c0[_0x7739b3(0x1de)]!==undefined)_0x56790a[_0x7739b3(0x28d)]=_0x2060c0[_0x7739b3(0x1de)];if(_0x2060c0[_0x7739b3(0x34a)]==='query'&&_0x2060c0['schema']!==undefined)_0x56790a[_0x7739b3(0x1d1)]=_0x2060c0[_0x7739b3(0x1de)];if(_0x2060c0[_0x7739b3(0x34a)]===_0x7739b3(0x30e)&&_0x2060c0[_0x7739b3(0x1de)]!==undefined)_0x56790a[_0x7739b3(0x30e)]=_0x2060c0[_0x7739b3(0x1de)];}return Object[_0x7739b3(0x1d0)](_0x56790a)[_0x7739b3(0x308)]>0x0?_0x56790a:undefined;}function openApiTag(_0x3ad5c8,_0x35bcc7){return _0x3ad5c8+'.'+_0x35bcc7;}function sideOrder(_0x205c45){const _0xf10bf5=_0x161e41;if(_0x205c45===_0xf10bf5(0x1d3))return 0x0;if(_0x205c45==='app')return 0x1;return 0x2;}function parseTag(_0x53bfaf){const _0x5a017d=_0x161e41,_0x3827f7=_0x53bfaf[_0x5a017d(0x305)]('.');if(_0x3827f7<0x0)return{'module':_0x53bfaf,'side':''};return{'module':_0x53bfaf[_0x5a017d(0x23e)](0x0,_0x3827f7),'side':_0x53bfaf['slice'](_0x3827f7+0x1)};}function buildOpenApiTagDocs(){const _0xdb9fce=_0x161e41,_0x5b9c7e=listControllers(),_0x19165d=new Map(),_0x9b42a0=new Map();for(const _0x13d97d of _0x5b9c7e){const _0x3f2f1f=openApiTag(_0x13d97d[_0xdb9fce(0x1ee)],_0x13d97d[_0xdb9fce(0x276)]);!_0x19165d['has'](_0x3f2f1f)&&_0x19165d[_0xdb9fce(0x368)](_0x3f2f1f,{'name':_0x3f2f1f,'description':_0x13d97d[_0xdb9fce(0x1ee)]+'\x20'+_0x13d97d[_0xdb9fce(0x276)],'x-displayName':_0x13d97d[_0xdb9fce(0x276)]});let _0x37c37b=_0x9b42a0[_0xdb9fce(0x2fb)](_0x13d97d['module']);!_0x37c37b&&(_0x37c37b=new Set(),_0x9b42a0['set'](_0x13d97d[_0xdb9fce(0x1ee)],_0x37c37b)),_0x37c37b['add'](_0x3f2f1f);}const _0x5163d4=[..._0x19165d[_0xdb9fce(0x24e)]()][_0xdb9fce(0x1ac)]((_0x241964,_0x38cde2)=>{const _0x408029=_0xdb9fce,_0x37d7d6=parseTag(_0x241964['name']),_0x188fc8=parseTag(_0x38cde2[_0x408029(0x1a8)]);return _0x37d7d6['module'][_0x408029(0x1aa)](_0x188fc8[_0x408029(0x1ee)])||sideOrder(_0x37d7d6[_0x408029(0x276)])-sideOrder(_0x188fc8[_0x408029(0x276)]);}),_0x4b1ac1=[..._0x9b42a0[_0xdb9fce(0x20b)]()][_0xdb9fce(0x1ac)](([_0xa75b4b],[_0x1c93bd])=>_0xa75b4b[_0xdb9fce(0x1aa)](_0x1c93bd))['map'](([_0x332e86,_0x23a2ee])=>({'name':_0x332e86,'tags':[..._0x23a2ee]['sort']((_0x27bbda,_0x320714)=>{const _0x2f4462=_0xdb9fce,_0x470560=parseTag(_0x27bbda)[_0x2f4462(0x276)],_0x37a2b6=parseTag(_0x320714)[_0x2f4462(0x276)];return sideOrder(_0x470560)-sideOrder(_0x37a2b6);})}));return{'tags':_0x5163d4,'tagGroups':_0x4b1ac1};}function normalizePrefix(_0x23405e){if(!_0x23405e)return'';return _0x23405e['startsWith']('/')?_0x23405e:'/'+_0x23405e;}function joinPrefix(..._0x3c62fe){const _0x3a92d9=_0x161e41,_0x19095c=_0x3c62fe[_0x3a92d9(0x310)](_0x27113e=>normalizePrefix(_0x27113e)['replace'](/^\/+|\/+$/g,''))[_0x3a92d9(0x27b)](Boolean);return _0x19095c[_0x3a92d9(0x308)]?'/'+_0x19095c['join']('/'):'/';}function getRouteSubPath(_0x3d10cb,_0x1e1ed7){const _0x59f805=_0x161e41,_0x3a466d=normalizePrefix(_0x1e1ed7)[_0x59f805(0x1b3)](/\/$/,''),_0x4d220d=normalizePrefix(_0x3d10cb);if(!_0x3a466d)return _0x4d220d||'/';if(_0x4d220d===_0x3a466d)return'/';if(_0x4d220d[_0x59f805(0x1f7)](_0x3a466d+'/'))return _0x4d220d[_0x59f805(0x23e)](_0x3a466d[_0x59f805(0x308)])||'/';const _0x4117c9=_0x3d10cb[_0x59f805(0x1f7)]('/')?_0x3d10cb:'/'+_0x3d10cb;return _0x4117c9||'/';}function resolveRoutePerm(_0x5e366a,_0x542255,_0xa5ef38){const _0x47680f=_0x161e41;let _0x169d38=_0x542255[_0x47680f(0x1b3)](/^\//,'')['replace'](/\/+/g,':');if(_0x169d38===_0x5e366a)_0x169d38=_0x5e366a;else _0x169d38[_0x47680f(0x1f7)](_0x5e366a+':')&&(_0x169d38=_0x169d38[_0x47680f(0x23e)](_0x5e366a[_0x47680f(0x308)]+0x1));const _0x63bcdd=_0x5e366a+'-';_0x169d38['startsWith'](_0x63bcdd)&&(_0x169d38=_0x169d38[_0x47680f(0x23e)](_0x63bcdd['length']));_0x169d38=_0x169d38[_0x47680f(0x1b3)](/-/g,':');if(!_0x169d38)_0x169d38=_0x5e366a;return _0x5e366a+':'+_0x169d38+':'+_0xa5ef38;}function actionFromSubPath(_0xc48bf4){const _0x2b097c=_0x161e41,_0x558d4e=_0xc48bf4[_0x2b097c(0x1b3)](/^\/+|\/+$/g,'');if(!_0x558d4e)return _0x2b097c(0x2c6);const _0x12bf2e=_0x558d4e['split']('/');return _0x12bf2e[_0x12bf2e[_0x2b097c(0x308)]-0x1]||_0x2b097c(0x2c6);}function effectivePerms(_0x54f192,_0x1ea55b,_0x426d31){const _0xdf3b4b=_0x161e41;if(_0x1ea55b[_0xdf3b4b(0x276)]!=='admin'||_0x54f192[_0xdf3b4b(0x303)]||_0x54f192[_0xdf3b4b(0x27f)])return;if(_0x54f192[_0xdf3b4b(0x2b8)]?.[_0xdf3b4b(0x308)])return _0x54f192[_0xdf3b4b(0x2b8)];const _0x24ffe8=_0x426d31??actionFromSubPath(getRouteSubPath(_0x54f192[_0xdf3b4b(0x277)]??'/',_0x1ea55b[_0xdf3b4b(0x1fb)]));return[resolveRoutePerm(_0x1ea55b[_0xdf3b4b(0x1ee)],_0x1ea55b[_0xdf3b4b(0x1fb)],_0x24ffe8)];}var crudRegistrar;function setCrudRegistrar(_0x9404e0){crudRegistrar=_0x9404e0;}var SIDE_PREFIX={'admin':'/admin','app':_0x161e41(0x1ad)},ADMIN_GUARD='adminAuth',APP_GUARD=_0x161e41(0x1bc),ELYSIA_METHODS={'GET':_0x161e41(0x2fb),'POST':_0x161e41(0x285),'PUT':'put','DELETE':_0x161e41(0x1e2),'PATCH':_0x161e41(0x253)};function getSidePrefix(_0x317978){return normalizePrefix(SIDE_PREFIX[_0x317978]);}function buildRouteSchema(_0x2dcd22){const _0x706a6d=_0x161e41;if(_0x2dcd22[_0x706a6d(0x30e)]?.[_0x706a6d(0x308)])return schemaFromParams(_0x2dcd22[_0x706a6d(0x30e)]);const _0x1c1c96={};if(_0x2dcd22[_0x706a6d(0x28d)]!==undefined)_0x1c1c96[_0x706a6d(0x28d)]=_0x2dcd22[_0x706a6d(0x28d)];if(_0x2dcd22['query']!==undefined)_0x1c1c96[_0x706a6d(0x1d1)]=_0x2dcd22[_0x706a6d(0x1d1)];if(_0x2dcd22['routeParams']!==undefined)_0x1c1c96['params']=_0x2dcd22[_0x706a6d(0x2b6)];return Object['keys'](_0x1c1c96)[_0x706a6d(0x308)]>0x0?_0x1c1c96:undefined;}function assertRouteParams(_0x54b003,_0x1a3b45,_0x411b96){const _0x45d404=_0x161e41,_0xc85617=new Set();for(const _0x17bee6 of _0x54b003){if(_0xc85617[_0x45d404(0x1bd)](_0x17bee6[_0x45d404(0x34a)])){const _0x22f2dd=_0x17bee6[_0x45d404(0x34a)]===_0x45d404(0x28d)?_0x45d404(0x24c):_0x17bee6[_0x45d404(0x34a)]===_0x45d404(0x1d1)?_0x45d404(0x2ed):_0x45d404(0x1b4);throw new Error(_0x45d404(0x29d)+_0x411b96+'.'+_0x1a3b45+_0x45d404(0x235)+_0x22f2dd);}_0xc85617[_0x45d404(0x369)](_0x17bee6[_0x45d404(0x34a)]);}}function createParamHandler(_0x1c196f,_0x34e4c3,_0x1de0ff){const _0x2d6d2f=_0x161e41,_0x141302=_0x1c196f[_0x34e4c3],_0x198fb7=_0x141302[_0x2d6d2f(0x2d3)](_0x1c196f);if(!_0x1de0ff?.[_0x2d6d2f(0x308)])return _0x198fb7;const _0x5387a1=[..._0x1de0ff][_0x2d6d2f(0x1ac)]((_0x381c0f,_0x4a0c74)=>_0x381c0f[_0x2d6d2f(0x2c6)]-_0x4a0c74[_0x2d6d2f(0x2c6)]);return _0x2b5104=>{const _0x31e123=_0x2d6d2f,_0x1b5993=_0x5387a1[_0x31e123(0x310)](_0x5df297=>{const _0x249d37=_0x31e123;if(_0x5df297[_0x249d37(0x34a)]===_0x249d37(0x28d))return _0x2b5104[_0x249d37(0x28d)];if(_0x5df297['source']===_0x249d37(0x1d1))return _0x2b5104['query'];if(_0x5df297[_0x249d37(0x34a)]==='params')return _0x2b5104[_0x249d37(0x30e)];throw new Error(_0x249d37(0x211)+_0x5df297[_0x249d37(0x34a)]);});return _0x198fb7(..._0x1b5993,_0x2b5104);};}function createPermsGuard(_0x25d606){return _0x16a3f3=>{const _0x155db6=_0x17b8,_0x5e545a=_0x16a3f3[_0x155db6(0x2cb)],_0x535a3c=Context[_0x155db6(0x2fb)]();if(_0x535a3c?.['isSuper'])return;const _0x2a81c5=_0x535a3c?.[_0x155db6(0x2b8)]??[];if(_0x25d606[_0x155db6(0x28c)](_0x5d4462=>_0x2a81c5[_0x155db6(0x236)](_0x5d4462)))return;return _0x5e545a(0x193);};}function openApiSummary(_0x43934e,_0x54e30b){const _0x5b9e08=_0x161e41,_0x13d6ab=_0x43934e['replace'](/^\/+|\/+$/g,'')[_0x5b9e08(0x1af)]('/')['pop']()||_0x43934e;return _0x54e30b?_0x13d6ab+'\x20'+_0x54e30b:_0x13d6ab;}function buildRouteOptions(_0x2314c7,_0x51f8e2){const _0x3a7e8b=_0x161e41,_0x375ce1=buildRouteSchema(_0x2314c7)??{},_0x4fdb02={..._0x375ce1,'detail':{'tags':[openApiTag(_0x51f8e2[_0x3a7e8b(0x1ee)],_0x51f8e2[_0x3a7e8b(0x276)])],'summary':openApiSummary(_0x2314c7[_0x3a7e8b(0x22c)],_0x2314c7[_0x3a7e8b(0x30c)])}};_0x51f8e2['side']===_0x3a7e8b(0x1d3)&&!_0x2314c7[_0x3a7e8b(0x303)]&&(_0x4fdb02[ADMIN_GUARD]=!![]);_0x51f8e2[_0x3a7e8b(0x276)]===_0x3a7e8b(0x2e6)&&!_0x2314c7[_0x3a7e8b(0x303)]&&(_0x4fdb02[APP_GUARD]=!![]);const _0x5731f7=[],_0x309aed=effectivePerms(_0x2314c7,_0x51f8e2);if(_0x309aed?.[_0x3a7e8b(0x308)])_0x5731f7[_0x3a7e8b(0x31e)](createPermsGuard(_0x309aed));if(_0x2314c7[_0x3a7e8b(0x2e3)]?.[_0x3a7e8b(0x308)])_0x5731f7[_0x3a7e8b(0x31e)](..._0x2314c7[_0x3a7e8b(0x2e3)]);if(_0x5731f7['length'])_0x4fdb02[_0x3a7e8b(0x2ec)]=_0x5731f7;return _0x4fdb02;}function normalizeCrudRouteOpts(_0x58aa29){if(_0x58aa29==null)return{};if(typeof _0x58aa29==='boolean')return{'public':_0x58aa29};return _0x58aa29;}function registerControllerPlugin(_0x54c1f2,_0x1d30ed){const _0x98fbdb=_0x161e41,_0x5a17e8=getSidePrefix(_0x54c1f2[_0x98fbdb(0x276)]),_0x6b71e7=joinPrefix(_0x5a17e8,_0x54c1f2['prefix']),_0x438ab1=Ioc['get'](_0x54c1f2[_0x98fbdb(0x263)]);let _0x22c438=new Elysia({'prefix':_0x6b71e7,'name':_0x54c1f2[_0x98fbdb(0x263)]['name'],'tags':[openApiTag(_0x54c1f2[_0x98fbdb(0x1ee)],_0x54c1f2[_0x98fbdb(0x276)])]});for(const _0x5028fb of _0x54c1f2[_0x98fbdb(0x2e3)]??[]){_0x22c438=_0x22c438[_0x98fbdb(0x2bd)](_0x5028fb);}const _0x4175d4=[];for(const _0x38cfae of _0x54c1f2[_0x98fbdb(0x34b)]){const _0x5d0237=_0x438ab1[_0x38cfae[_0x98fbdb(0x22c)]];if(typeof _0x5d0237!=='function')throw new Error(_0x98fbdb(0x29d)+_0x54c1f2[_0x98fbdb(0x263)]['name']+'.'+_0x38cfae[_0x98fbdb(0x22c)]+_0x98fbdb(0x28f));assertRouteParams(_0x38cfae[_0x98fbdb(0x30e)]??[],_0x38cfae[_0x98fbdb(0x22c)],_0x54c1f2['token'][_0x98fbdb(0x1a8)]);const _0x1b4fbd=createParamHandler(_0x438ab1,_0x38cfae['handler'],_0x38cfae['params']),_0x24d36=getRouteSubPath(_0x38cfae['path'],_0x54c1f2[_0x98fbdb(0x1fb)]),_0x4bf3cc=buildRouteOptions(_0x38cfae,_0x54c1f2),_0x36a932=ELYSIA_METHODS[_0x38cfae[_0x98fbdb(0x286)]];_0x22c438=_0x22c438[_0x36a932](_0x24d36,_0x1b4fbd,_0x4bf3cc);}if(_0x54c1f2[_0x98fbdb(0x355)]?.[_0x98fbdb(0x1c6)]?.[_0x98fbdb(0x308)]||_0x54c1f2['crud']?.[_0x98fbdb(0x213)]?.['length']){if(!crudRegistrar)throw new Error(_0x98fbdb(0x29d)+_0x54c1f2['token']['name']+_0x98fbdb(0x291));_0x22c438=crudRegistrar(_0x22c438,_0x54c1f2,{'controller':_0x438ab1,'routeOptions':_0x20c164=>{const _0x15cae8=_0x98fbdb,{public:_0x357c90,action:_0x1456cd,summary:_0x101134}=normalizeCrudRouteOpts(_0x20c164),_0x4e891c={'detail':{'tags':[openApiTag(_0x54c1f2[_0x15cae8(0x1ee)],_0x54c1f2[_0x15cae8(0x276)])],'summary':openApiSummary(_0x1456cd??'action',_0x101134)}};if(_0x54c1f2[_0x15cae8(0x276)]==='admin'&&!_0x357c90){_0x4e891c[ADMIN_GUARD]=!![];if(_0x1456cd){const _0x54e94d=resolveRoutePerm(_0x54c1f2[_0x15cae8(0x1ee)],_0x54c1f2[_0x15cae8(0x1fb)],_0x1456cd);_0x4e891c[_0x15cae8(0x2ec)]=[createPermsGuard([_0x54e94d])];}}return _0x4e891c;}});for(const _0x5be928 of _0x54c1f2['crud']?.[_0x98fbdb(0x1c6)]??[]){const _0x49535d=_0x5be928===_0x98fbdb(0x2ca)?_0x98fbdb(0x25b):'POST';_0x4175d4[_0x98fbdb(0x31e)]({'method':_0x49535d,'path':joinPrefix(_0x54c1f2[_0x98fbdb(0x1fb)],_0x5be928),'handler':_0x5be928,'autoCrud':!![]});}for(const _0x24a32e of _0x54c1f2[_0x98fbdb(0x355)]?.['serviceApis']??[]){_0x4175d4[_0x98fbdb(0x31e)]({'method':_0x98fbdb(0x30a),'path':joinPrefix(_0x54c1f2['prefix'],_0x24a32e),'handler':_0x24a32e,'autoCrud':!![]});}}return{'plugin':_0x22c438,'pluginPrefix':_0x6b71e7,'autoRoutes':_0x4175d4};}function registerControllers(_0x5e50e4,_0x5b737d){const _0x45272d=_0x161e41;let _0x2b625c=_0x5e50e4,_0x154079=0x0;const _0x16dae8=[];for(const _0x38aba2 of listControllers()){const {plugin:_0x32a7cf,pluginPrefix:_0x5a169f,autoRoutes:_0x23a4ee}=registerControllerPlugin(_0x38aba2,_0x5b737d);_0x2b625c=_0x2b625c[_0x45272d(0x344)](_0x32a7cf);for(const _0x1242ca of[..._0x38aba2[_0x45272d(0x34b)],..._0x23a4ee]){_0x154079+=0x1;const _0x2615c3=getRouteSubPath(_0x1242ca[_0x45272d(0x277)],_0x38aba2[_0x45272d(0x1fb)]),_0x2a38ab=_0x2615c3==='/'?_0x5a169f:joinPrefix(_0x5a169f,_0x2615c3[_0x45272d(0x1b3)](/^\//,'')),_0x34b9c8=_0x1242ca[_0x45272d(0x303)]?'\x20(public)':_0x1242ca[_0x45272d(0x23b)]?_0x45272d(0x300):'';_0x16dae8[_0x45272d(0x31e)](_0x1242ca[_0x45272d(0x286)]+'\x20'+_0x2a38ab+_0x34b9c8);}}if(_0x154079>0x0){console[_0x45272d(0x32f)](_0x45272d(0x1a0)+_0x154079+_0x45272d(0x2ce));for(const _0x115cad of _0x16dae8)console['log']('\x20\x20'+_0x115cad);}return _0x2b625c;}var {Glob}=globalThis[_0x161e41(0x2e7)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0x563e91,_0x51cb6f={}){const _0x24ddf6=_0x161e41,{cwd:cwd=process[_0x24ddf6(0x25a)](),ext:ext=DEFAULT_EXT}=_0x51cb6f,_0x410759=Array[_0x24ddf6(0x2d4)](_0x563e91)?_0x563e91:[_0x563e91],_0x218c1b=[];for(const _0x388526 of _0x410759){const _0xc82e4=new Glob(_0x388526);for await(const _0x2a3a38 of _0xc82e4[_0x24ddf6(0x25c)]({'cwd':cwd,'onlyFiles':!![]})){if(ext[_0x24ddf6(0x259)](_0x2a3a38))_0x218c1b[_0x24ddf6(0x31e)](_0x2a3a38);}}return[...new Set(_0x218c1b)][_0x24ddf6(0x1ac)]();}var context=null;function setControllerScanContext(_0x45c1f4){context=_0x45c1f4;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x587232){const _0x5d74ba=_0x161e41,_0x4f1245=_0x587232['match'](/modules\/([^/]+)\/controller\//);if(!_0x4f1245)return _0x5d74ba(0x26f);return _0x4f1245[0x1];}function parseControllerAutoPrefix(_0x57849e){const _0x3fb5f2=_0x161e41,_0x5a0c43=_0x57849e['replace'](/\\/g,'/')['match'](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x5a0c43)return'';const _0x110b69=_0x5a0c43[0x1],_0x501501=_0x5a0c43[0x2][_0x3fb5f2(0x1b3)](/\/+/g,'/')[_0x3fb5f2(0x1b3)](/^\/|\/$/g,'');if(!_0x501501)return'/'+_0x110b69;return'/'+_0x110b69+'/'+_0x501501;}var TIME_KEY_RE=/(?:Time|Date|At)$/,ISO_RE=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?$/;function formatDateTime(_0x445995){const _0x3c9dc9=_0x161e41,_0x89a7a3=_0x445995 instanceof Date?_0x445995:new Date(_0x445995);if(Number[_0x3c9dc9(0x2df)](_0x89a7a3[_0x3c9dc9(0x2a1)]()))return String(_0x445995);return new Intl[(_0x3c9dc9(0x1e1))]('sv-SE',{'timeZone':_0x3c9dc9(0x320),'year':_0x3c9dc9(0x260),'month':_0x3c9dc9(0x248),'day':'2-digit','hour':_0x3c9dc9(0x248),'minute':'2-digit','second':_0x3c9dc9(0x248),'hour12':![]})[_0x3c9dc9(0x224)](_0x89a7a3)[_0x3c9dc9(0x1b3)]('T','\x20');}function isTimeKey(_0x3142e6){const _0x417f50=_0x161e41;return TIME_KEY_RE[_0x417f50(0x259)](_0x3142e6);}function formatApiDates(_0x15e6a0){return walk(_0x15e6a0);}function walk(_0x5e0b2d,_0x32d30e){const _0x1528af=_0x161e41;if(_0x5e0b2d==null)return _0x5e0b2d;if(_0x5e0b2d instanceof Date)return formatDateTime(_0x5e0b2d);if(typeof _0x5e0b2d===_0x1528af(0x354)&&_0x32d30e&&isTimeKey(_0x32d30e)&&ISO_RE[_0x1528af(0x259)](_0x5e0b2d))return formatDateTime(_0x5e0b2d);if(Array[_0x1528af(0x2d4)](_0x5e0b2d))return _0x5e0b2d[_0x1528af(0x310)](_0x283b3f=>walk(_0x283b3f));if(typeof _0x5e0b2d===_0x1528af(0x375)){if(Object['prototype']['toString'][_0x1528af(0x227)](_0x5e0b2d)!=='[object\x20Object]')return _0x5e0b2d;const _0x4934fe={};for(const [_0x3bab17,_0x281d66]of Object[_0x1528af(0x20b)](_0x5e0b2d)){_0x4934fe[_0x3bab17]=walk(_0x281d66,_0x3bab17);}return _0x4934fe;}return _0x5e0b2d;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0x4033bf){const _0x3e419a=_0x161e41,_0x399c79=_0x4033bf===undefined?null:_0x4033bf;return{'code':RES_CODE[_0x3e419a(0x2f4)],'message':'success','data':_0x399c79==null?_0x399c79:formatApiDates(_0x399c79)};}['fail'](_0x47ec9d=_0x161e41(0x1b0),_0x36a3e2=RES_CODE[_0x161e41(0x31f)]){return{'code':_0x36a3e2,'message':_0x47ec9d};}}import'reflect-metadata';function normalizeProvideArgs(_0x4bd9e5){const _0x2b5af5=_0x161e41;if(_0x4bd9e5==null)return{};if(typeof _0x4bd9e5===_0x2b5af5(0x354)||typeof _0x4bd9e5===_0x2b5af5(0x324))return{'id':_0x4bd9e5};return _0x4bd9e5;}function Provide(_0x5d7acb){return _0x3ea7d3=>{const _0x2a930c=_0x17b8,_0x433dd0=normalizeProvideArgs(_0x5d7acb),_0xd08645=_0x433dd0['scope']??_0x2a930c(0x203);registerProvider({'token':_0x3ea7d3,'useClass':_0x3ea7d3,'scope':_0xd08645}),_0x433dd0['id']!=null&&registerProvider({'token':_0x433dd0['id'],'useClass':_0x3ea7d3,'scope':_0xd08645});};}function Inject(_0x3a5f96){return(_0x392431,_0x39adec)=>{const _0x36facb=_0x17b8,_0x120d13=Reflect[_0x36facb(0x2a8)](_0x36facb(0x257),_0x392431,_0x39adec),_0x377c48=_0x3a5f96??_0x120d13;if(_0x377c48==null)throw new Error(_0x36facb(0x367)+String(_0x39adec)+_0x36facb(0x36d));appendInjectMeta(_0x392431[_0x36facb(0x37a)],{'propertyKey':_0x39adec,'token':_0x377c48});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0x4aa32a){const _0x458674=_0x161e41;if(typeof _0x4aa32a===_0x458674(0x354)){const _0x3697bd=_0x4aa32a[_0x458674(0x236)]('.')?_0x4aa32a[_0x458674(0x1af)]('.')['pop']():_0x4aa32a;return{'column':_0x3697bd,'param':_0x3697bd,'none':![]};}const _0x112505=_0x4aa32a[_0x458674(0x298)]['includes']('.')?_0x4aa32a[_0x458674(0x298)]['split']('.')[_0x458674(0x359)]():_0x4aa32a['column'];return{'column':_0x112505,'param':_0x4aa32a[_0x458674(0x238)]??_0x112505,'none':Boolean(_0x4aa32a[_0x458674(0x361)])};}function rangeColumn(_0x33b881){const _0x42a1aa=_0x161e41;return _0x33b881['column'][_0x42a1aa(0x236)]('.')?_0x33b881[_0x42a1aa(0x298)]['split']('.')[_0x42a1aa(0x359)]():_0x33b881[_0x42a1aa(0x298)];}function tableCol(_0x573811,_0x4f6050){const _0x1a2aef=_0x161e41,_0x25af4d=_0x573811[_0x4f6050];if(_0x25af4d==null)throw new Error(_0x1a2aef(0x2c7)+_0x4f6050);return _0x25af4d;}function isBlank(_0x995dc2){return _0x995dc2===undefined||_0x995dc2===null||_0x995dc2==='';}function compactWhere(_0x2fa131){if(_0x2fa131==null||_0x2fa131===![])return[];const _0x1662a7=Array['isArray'](_0x2fa131)?_0x2fa131:[_0x2fa131];return _0x1662a7['filter'](_0x5c3180=>_0x5c3180!=null&&_0x5c3180!==![]);}var q={'between'(_0x5ae0f3,_0x3d0af8,_0x2eaa28){if(isBlank(_0x3d0af8)||isBlank(_0x2eaa28))return;return sql`${_0x5ae0f3} between ${_0x3d0af8} and ${_0x2eaa28}`;},'range'(_0x5f1cc1,_0x618c63,_0x101f38){const _0x30974b=_0x161e41,_0x3ba575=[];if(!isBlank(_0x618c63))_0x3ba575[_0x30974b(0x31e)](gte(_0x5f1cc1,_0x618c63));if(!isBlank(_0x101f38))_0x3ba575[_0x30974b(0x31e)](lte(_0x5f1cc1,_0x101f38));if(!_0x3ba575[_0x30974b(0x308)])return;return _0x3ba575[_0x30974b(0x308)]===0x1?_0x3ba575[0x0]:and(..._0x3ba575);},'eqRest'(_0xae7a38,_0x388cf2,_0x2074a2){const _0x34c195=_0x161e41,_0x33aca0=[];for(const [_0x3df3e9,_0x54647a]of Object[_0x34c195(0x20b)](_0xae7a38)){if(isBlank(_0x54647a))continue;const _0xef542c=_0x2074a2?.[_0x3df3e9]??_0x388cf2[_0x3df3e9];if(_0xef542c==null)continue;_0x33aca0['push'](eq(_0xef542c,_0x54647a));}return _0x33aca0;},'contains'(_0x3227bb,_0x1e78f1){const _0x1c89cd=_0x161e41;if(isBlank(_0x1e78f1))return;const _0x1b162c=Array[_0x1c89cd(0x2d4)](_0x1e78f1)?_0x1e78f1:[_0x1e78f1];if(!_0x1b162c[_0x1c89cd(0x308)])return;return _0x1b162c[_0x1c89cd(0x308)]===0x1?arrayContains(_0x3227bb,_0x1b162c):arrayOverlaps(_0x3227bb,_0x1b162c);}};function buildFieldClauses(_0xca0b92,_0x2f8000,_0x369562){const _0x29b838=_0x161e41,_0x168c11=[];if(_0x369562[_0x29b838(0x336)]?.[_0x29b838(0x308)]&&!isBlank(_0x2f8000[_0x29b838(0x2be)])){const _0x35dc2d='%'+String(_0x2f8000[_0x29b838(0x2be)])+'%',_0x28123a=_0x369562[_0x29b838(0x336)]['map'](_0x365654=>{const _0x3b704c=_0x29b838,_0x28358d=_0x365654[_0x3b704c(0x236)]('.')?_0x365654[_0x3b704c(0x1af)]('.')[_0x3b704c(0x359)]():_0x365654;return like(tableCol(_0xca0b92,_0x28358d),_0x35dc2d);});if(_0x28123a[_0x29b838(0x308)]===0x1)_0x168c11['push'](_0x28123a[0x0]);else{if(_0x28123a[_0x29b838(0x308)]>0x1)_0x168c11[_0x29b838(0x31e)](or(..._0x28123a));}}for(const _0x424937 of _0x369562[_0x29b838(0x32e)]??[]){const {column:_0x55e402,param:_0x3c7747}=colName(_0x424937),_0x73df97=_0x2f8000[_0x3c7747];if(isBlank(_0x73df97))continue;if(Array[_0x29b838(0x2d4)](_0x73df97)){if(!_0x73df97[_0x29b838(0x308)])continue;_0x168c11[_0x29b838(0x31e)](inArray(tableCol(_0xca0b92,_0x55e402),_0x73df97));}else _0x168c11[_0x29b838(0x31e)](eq(tableCol(_0xca0b92,_0x55e402),_0x73df97));}for(const _0x5de039 of _0x369562['fieldLike']??[]){const {column:_0x1d4c76,param:_0x497c7e}=colName(_0x5de039),_0x104e17=_0x2f8000[_0x497c7e];if(isBlank(_0x104e17))continue;_0x168c11[_0x29b838(0x31e)](like(tableCol(_0xca0b92,_0x1d4c76),'%'+String(_0x104e17)+'%'));}for(const _0x5a4384 of _0x369562[_0x29b838(0x307)]??[]){const {column:_0x4d2b1e,param:_0x36b0d1}=colName(_0x5a4384),_0x5d62b7=q[_0x29b838(0x1d5)](tableCol(_0xca0b92,_0x4d2b1e),_0x2f8000[_0x36b0d1]);if(_0x5d62b7)_0x168c11[_0x29b838(0x31e)](_0x5d62b7);}for(const _0x3bb904 of _0x369562[_0x29b838(0x2e5)]??[]){const _0x157816=tableCol(_0xca0b92,rangeColumn(_0x3bb904)),_0x9f115e=q[_0x29b838(0x268)](_0x157816,_0x2f8000[_0x3bb904[_0x29b838(0x347)]],_0x2f8000[_0x3bb904[_0x29b838(0x2cc)]]);if(_0x9f115e)_0x168c11[_0x29b838(0x31e)](_0x9f115e);}return _0x168c11;}function buildOrderBy(_0x4cee4c,_0x4a8938,_0x494b43){const _0x2b4fb8=_0x161e41,_0x40ef79=[],_0x3bb565=_0x4a8938[_0x2b4fb8(0x1cf)]!=null?String(_0x4a8938[_0x2b4fb8(0x1cf)]):undefined,_0x3018e3=_0x4a8938[_0x2b4fb8(0x1ac)]===_0x2b4fb8(0x1b5)||_0x4a8938[_0x2b4fb8(0x1ac)]==='desc'?_0x4a8938['sort']:undefined;if(_0x3bb565){const _0xee9f92=tableCol(_0x4cee4c,_0x3bb565);_0x40ef79[_0x2b4fb8(0x31e)](_0x3018e3==='asc'?asc(_0xee9f92):desc(_0xee9f92));}else{if(_0x494b43['addOrderBy'])for(const [_0x243bb9,_0x35671c]of Object['entries'](_0x494b43[_0x2b4fb8(0x2a9)])){const _0x40c3e4=_0x243bb9[_0x2b4fb8(0x236)]('.')?_0x243bb9[_0x2b4fb8(0x1af)]('.')[_0x2b4fb8(0x359)]():_0x243bb9,_0x5cf753=tableCol(_0x4cee4c,_0x40c3e4);_0x40ef79[_0x2b4fb8(0x31e)](_0x35671c===_0x2b4fb8(0x1b5)?asc(_0x5cf753):desc(_0x5cf753));}}return _0x40ef79;}function needsAdvancedQuery(_0x3c4546){const _0x37424d=_0x161e41;return!!(_0x3c4546?.['join']?.[_0x37424d(0x308)]||_0x3c4546?.[_0x37424d(0x2b7)]);}async function buildQueryOp(_0x35a38d,_0x34922d,_0x566470={},_0xb2e2e2){const _0x5e38fc=_0x161e41,_0x59a39f=buildFieldClauses(_0x35a38d,_0x34922d,_0x566470),_0x5bbb1a=buildOrderBy(_0x35a38d,_0x34922d,_0x566470),_0xb9bace={'body':_0x34922d,'request':_0xb2e2e2??new Request(_0x5e38fc(0x270))};_0x566470[_0x5e38fc(0x32b)]&&_0x59a39f[_0x5e38fc(0x31e)](...compactWhere(await _0x566470[_0x5e38fc(0x32b)](_0xb9bace)));if(_0x566470['extend']){const _0x534c92={'andWhere'(_0x233779){const _0x1057c8=_0x5e38fc;if(_0x233779!=null&&_0x233779!==![])_0x59a39f[_0x1057c8(0x31e)](_0x233779);},'orderBy'(..._0x132d2a){for(const _0x5b7a1f of _0x132d2a){if(_0x5b7a1f!=null)_0x5bbb1a['push'](_0x5b7a1f);}}};await _0x566470[_0x5e38fc(0x2ab)](_0x534c92,_0xb9bace);}const _0x1aec9f=_0x59a39f[_0x5e38fc(0x308)]===0x0?undefined:_0x59a39f[_0x5e38fc(0x308)]===0x1?_0x59a39f[0x0]:and(..._0x59a39f);return{'where':_0x1aec9f,'orderBySql':_0x5bbb1a};}import{and as _0x58b828,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x27ae3e}from'drizzle-orm';function readCrudConfig(){const _0x41be58=_0x161e41;return VomeConfig['vome']?.[_0x41be58(0x355)]??{};}function resolveUpsert(_0x201238){const _0x4a850d=_0x161e41;return _0x201238??readCrudConfig()[_0x4a850d(0x33d)]??'insert';}function resolveSoftDelete(_0x4f3d46){const _0x2b3e98=_0x161e41;if(_0x4f3d46!=null)return _0x4f3d46;return readCrudConfig()[_0x2b3e98(0x26b)]===!![];}class DbStore{[_0x161e41(0x2fa)];[_0x161e41(0x1ec)];[_0x161e41(0x1de)];[_0x161e41(0x2c3)];constructor(_0x144f09,_0x3b76bf,_0x5b88a6,_0x26202a){const _0x2e636d=_0x161e41;this[_0x2e636d(0x2fa)]=_0x144f09,this[_0x2e636d(0x1ec)]=_0x3b76bf,this[_0x2e636d(0x1de)]=_0x5b88a6,this[_0x2e636d(0x2c3)]=_0x26202a;}}import{and as _0x296238,inArray as _0x14ecc5,sql as _0x21a502}from'drizzle-orm';import{and as _0x532b17,eq as _0x5cdde3,sql as _0x18b4e8}from'drizzle-orm';var SKIP_KEY=_0x161e41(0x373);function isTenantEnabled(){const _0xdb5088=_0x161e41;return VomeConfig[_0xdb5088(0x2ef)]?.[_0xdb5088(0x2b4)]===!![];}function tableHasTenantId(_0x53a3cd){const _0x200be1=_0x161e41;return _0x53a3cd[_0x200be1(0x2ad)]!=null;}function resolveTenantScope(){const _0xa85abb=_0x161e41;if(!isTenantEnabled())return _0xa85abb(0x360);const _0x376723=Context[_0xa85abb(0x2fb)]();if(_0x376723?.[SKIP_KEY])return _0xa85abb(0x360);if(_0x376723?.[_0xa85abb(0x21b)])return _0xa85abb(0x2c2);const _0x4b422b=_0x376723?.[_0xa85abb(0x2ad)],_0x268db0=typeof _0x4b422b===_0xa85abb(0x317)?_0x4b422b:Number(_0x4b422b);if(!Number[_0xa85abb(0x23d)](_0x268db0)||_0x268db0<=0x0)return'none';return _0x268db0;}function applyTenantWhere(_0x59b575,_0x46acb9){const _0x129cb3=_0x161e41;if(!tableHasTenantId(_0x59b575))return _0x46acb9;const _0x1ddae1=resolveTenantScope();if(_0x1ddae1===_0x129cb3(0x360)||_0x1ddae1===_0x129cb3(0x2c2))return _0x46acb9;const _0x5e9be9=_0x59b575[_0x129cb3(0x2ad)],_0x99fca2=_0x1ddae1===_0x129cb3(0x361)?_0x18b4e8`false`:_0x5cdde3(_0x5e9be9,_0x1ddae1);if(_0x46acb9&&_0x99fca2)return _0x532b17(_0x46acb9,_0x99fca2);return _0x46acb9??_0x99fca2;}function stampTenantId(_0x58cb93,_0x588297){const _0x3f614c=_0x161e41;if(!tableHasTenantId(_0x58cb93))return _0x588297;const _0x309ed4=resolveTenantScope();if(typeof _0x309ed4!==_0x3f614c(0x317))return _0x588297;if(_0x588297['tenantId']!=null)return _0x588297;return{..._0x588297,'tenantId':_0x309ed4};}async function noTenant(_0x2dd684){const _0x5542c7=_0x161e41,_0x1f6101=Context[_0x5542c7(0x2fb)]();if(!_0x1f6101)return _0x2dd684();const _0x3faa30=_0x1f6101[SKIP_KEY];_0x1f6101[SKIP_KEY]=!![];try{return await _0x2dd684();}finally{if(_0x3faa30===undefined)delete _0x1f6101[SKIP_KEY];else _0x1f6101[SKIP_KEY]=_0x3faa30;}}function normalizeHost(_0x1e1f6f){const _0x5f19cb=_0x161e41;if(!_0x1e1f6f)return'';return _0x1e1f6f[_0x5f19cb(0x22e)]()[_0x5f19cb(0x2d9)]()[_0x5f19cb(0x1b3)](/:\d+$/,'');}var SKIP_KEY2='__skipDataScope';function tableHasDepartmentId(_0x46bcd2){const _0x567304=_0x161e41;return _0x46bcd2[_0x567304(0x1dd)]!=null;}function resolveDataScope(){const _0x83eef2=_0x161e41,_0x26e5ff=Context[_0x83eef2(0x2fb)]();if(!_0x26e5ff)return _0x83eef2(0x360);if(_0x26e5ff[SKIP_KEY2])return _0x83eef2(0x360);if(_0x26e5ff[_0x83eef2(0x21b)])return _0x83eef2(0x2c2);const _0x104eb2=_0x26e5ff[_0x83eef2(0x210)];if(_0x104eb2==null||_0x104eb2==='')return _0x83eef2(0x360);if(_0x104eb2===_0x83eef2(0x2c2))return'all';if(_0x104eb2===_0x83eef2(0x361))return _0x83eef2(0x361);const _0xb09ecd=_0x26e5ff[_0x83eef2(0x216)],_0x12ca19=Array[_0x83eef2(0x2d4)](_0xb09ecd)?_0xb09ecd[_0x83eef2(0x310)](_0x3c9f35=>Number(_0x3c9f35))[_0x83eef2(0x27b)](_0x374e34=>Number[_0x83eef2(0x23d)](_0x374e34)&&_0x374e34>0x0):[];if(!_0x12ca19[_0x83eef2(0x308)])return'none';return[...new Set(_0x12ca19)];}function applyDataScopeWhere(_0x1a43ae,_0x5a8061){const _0xafc8a4=_0x161e41;if(!tableHasDepartmentId(_0x1a43ae))return _0x5a8061;const _0x24097f=resolveDataScope();if(_0x24097f==='off'||_0x24097f==='all')return _0x5a8061;const _0x1f982b=_0x1a43ae['departmentId'],_0x316f8e=_0x24097f===_0xafc8a4(0x361)?_0x21a502`false`:_0x14ecc5(_0x1f982b,_0x24097f);if(_0x5a8061)return _0x296238(_0x5a8061,_0x316f8e);return _0x316f8e;}function applyRowScopes(_0x170139,_0x52363c){return applyDataScopeWhere(_0x170139,applyTenantWhere(_0x170139,_0x52363c));}async function noDataScope(_0x317cb0){const _0x22bf16=_0x161e41,_0x4e5505=Context[_0x22bf16(0x2fb)]();if(!_0x4e5505)return _0x317cb0();const _0x112cc0=_0x4e5505[SKIP_KEY2];_0x4e5505[SKIP_KEY2]=!![];try{return await _0x317cb0();}finally{if(_0x112cc0===undefined)delete _0x4e5505[SKIP_KEY2];else _0x4e5505[SKIP_KEY2]=_0x112cc0;}}function deletedAtColumn(_0x4b8df2){const _0x3d9bf5=_0x161e41;return _0x4b8df2[_0x3d9bf5(0x33c)];}function trashClause(_0x20acad,_0x3e8e19){const _0x338030=_0x161e41;if(!resolveSoftDelete(_0x3e8e19?.[_0x338030(0x26b)]))return;const _0x4645eb=deletedAtColumn(_0x20acad);if(_0x4645eb==null)return;if(_0x3e8e19?.[_0x338030(0x20c)])return isNotNull(_0x4645eb);if(_0x3e8e19?.[_0x338030(0x34e)])return;return isNull(_0x4645eb);}function mergeWhere(_0x7f24a7,_0xc88322){if(_0x7f24a7&&_0xc88322)return _0x58b828(_0xc88322,_0x7f24a7);return _0x7f24a7??_0xc88322;}function applyJoins(_0x2b6da6,_0x1a28a4,_0x3fda0f){const _0x1e488a=_0x161e41;let _0x188eb3=_0x2b6da6;for(const _0x23ee62 of _0x3fda0f[_0x1e488a(0x20d)]??[]){const _0x1650a7=_0x23ee62[_0x1e488a(0x26a)],_0x2edcce=_0x23ee62['on'](_0x1a28a4),_0xfc3f51=_0x23ee62[_0x1e488a(0x1fc)]??_0x1e488a(0x274);_0xfc3f51===_0x1e488a(0x2a2)||_0xfc3f51===_0x1e488a(0x20d)?_0x188eb3=_0x188eb3[_0x1e488a(0x2a2)](_0x1650a7,_0x2edcce):_0x188eb3=_0x188eb3[_0x1e488a(0x274)](_0x1650a7,_0x2edcce);}return _0x188eb3;}function resolveSelect(_0x5ef942,_0x22e9a9){const _0x1047ff=_0x161e41;if(_0x22e9a9[_0x1047ff(0x2b7)])return _0x22e9a9[_0x1047ff(0x2b7)];return getTableColumns(_0x5ef942);}function countExpr(_0x527d8b,_0x558561){const _0x424c79=_0x527d8b['id'];if(_0x424c79!=null&&_0x558561)return countDistinct(_0x424c79);if(_0x424c79!=null)return count(_0x424c79);return count(_0x27ae3e`*`);}async function queryWithOp(_0x4048d4,_0x22b0fe,_0x3ca20f,_0x231baf){const _0x2d4907=_0x161e41,_0x2b85f1=await buildQueryOp(_0x4048d4,_0x22b0fe,_0x3ca20f,_0x231baf[_0x2d4907(0x1cd)]),_0x2285ac=trashClause(_0x4048d4,_0x231baf['trash']),_0x2750aa=applyRowScopes(_0x4048d4,mergeWhere(_0x2b85f1[_0x2d4907(0x32b)],_0x2285ac)),_0x1f3290=resolveSelect(_0x4048d4,_0x3ca20f),_0x13cf44=!!_0x3ca20f[_0x2d4907(0x20d)]?.[_0x2d4907(0x308)],_0x130a2f=Ioc[_0x2d4907(0x2fb)](DbStore)['drizzle'];let _0x5199bc=applyJoins(_0x130a2f['select'](_0x1f3290)[_0x2d4907(0x287)](_0x4048d4),_0x4048d4,_0x3ca20f);if(_0x2750aa)_0x5199bc=_0x5199bc[_0x2d4907(0x32b)](_0x2750aa);if(_0x2b85f1[_0x2d4907(0x311)][_0x2d4907(0x308)])_0x5199bc=_0x5199bc[_0x2d4907(0x221)](..._0x2b85f1[_0x2d4907(0x311)]);if(_0x231baf[_0x2d4907(0x280)]===_0x2d4907(0x275))return await _0x5199bc;const _0x401a57=Math[_0x2d4907(0x2cc)](0x1,Number(_0x22b0fe[_0x2d4907(0x1cb)]??0x1)),_0x1d9614=Math[_0x2d4907(0x347)](0x64,Math['max'](0x1,Number(_0x22b0fe[_0x2d4907(0x267)]??0x14))),_0x4196f4=(_0x401a57-0x1)*_0x1d9614,_0x215224=await _0x5199bc['limit'](_0x1d9614)['offset'](_0x4196f4);let _0x208cd0=applyJoins(_0x130a2f[_0x2d4907(0x2b7)]({'value':countExpr(_0x4048d4,_0x13cf44)})[_0x2d4907(0x287)](_0x4048d4),_0x4048d4,_0x3ca20f);if(_0x2750aa)_0x208cd0=_0x208cd0['where'](_0x2750aa);const _0x5eeb47=await _0x208cd0,_0x4582fa=Number(_0x5eeb47[0x0]?.[_0x2d4907(0x31c)]??0x0);return{'list':_0x215224,'pagination':{'page':_0x401a57,'size':_0x1d9614,'total':_0x4582fa}};}import{and as _0x1c04ae,count as _0x5aded0,eq as _0x173e50,inArray as _0x243837,isNotNull as _0x1ebb7f,isNull as _0xd7aa63}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0x4b01b0){return{'select':createSelectSchema(_0x4b01b0),'insert':createInsertSchema(_0x4b01b0),'update':createUpdateSchema(_0x4b01b0)};}var WRITE_META_KEYS=[_0x161e41(0x21d),_0x161e41(0x340),_0x161e41(0x33c)];function sanitizeWritePayload(_0x5cd970){const _0x51d113=_0x161e41,_0x40eeba=_0x5cd970&&typeof _0x5cd970===_0x51d113(0x375)&&!Array[_0x51d113(0x2d4)](_0x5cd970)?{..._0x5cd970}:{};for(const _0x3f2c39 of WRITE_META_KEYS)delete _0x40eeba[_0x3f2c39];for(const [_0x1f6c58,_0x624120]of Object[_0x51d113(0x20b)](_0x40eeba)){if(typeof _0x624120!=='string')continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x51d113(0x259)](_0x624120))continue;const _0x11bc70=new Date(_0x624120);if(!Number[_0x51d113(0x2df)](_0x11bc70[_0x51d113(0x2a1)]()))_0x40eeba[_0x1f6c58]=_0x11bc70;}return _0x40eeba;}function isSqlLike(_0x5bd7f3){const _0x4f3544=_0x161e41;return!!_0x5bd7f3&&typeof _0x5bd7f3===_0x4f3544(0x375)&&_0x5bd7f3[_0x4f3544(0x27e)]!=null;}function db(){const _0x11222b=_0x161e41;return Ioc[_0x11222b(0x2fb)](DbStore)['drizzle'];}function tableId(_0x7f40de){const _0x2ef368=_0x161e41,_0x37b201=_0x7f40de['id'];if(!_0x37b201)throw new Error(_0x2ef368(0x2d2));return _0x37b201;}function deletedAtColumn2(_0x265dbd){return _0x265dbd['deletedAt'];}function mergeWhere2(_0x3cecd1,_0x106e59){if(_0x3cecd1&&_0x106e59)return _0x1c04ae(_0x106e59,_0x3cecd1);return _0x3cecd1??_0x106e59;}function trashClause2(_0x23ce43,_0x32e7f){const _0x4b0272=_0x161e41;if(!resolveSoftDelete(_0x32e7f?.[_0x4b0272(0x26b)]))return;const _0x293471=deletedAtColumn2(_0x23ce43);if(_0x293471==null)return;if(_0x32e7f?.['onlyTrashed'])return _0x1ebb7f(_0x293471);if(_0x32e7f?.['withTrashed'])return;return _0xd7aa63(_0x293471);}class Repository{[_0x161e41(0x26a)];['schema'];constructor(_0xde75b3,_0x3ca3d2){const _0x460bdc=_0x161e41;this[_0x460bdc(0x26a)]=_0xde75b3,this[_0x460bdc(0x1de)]=_0x3ca3d2??entitySchemas(_0xde75b3);}[_0x161e41(0x2ee)](){const _0x53b49b=_0x161e41;return deletedAtColumn2(this[_0x53b49b(0x26a)])!=null;}['scopedWhere'](_0x528458,_0x59cdfa){const _0x270bc6=_0x161e41;return applyRowScopes(this[_0x270bc6(0x26a)],mergeWhere2(_0x528458,trashClause2(this[_0x270bc6(0x26a)],_0x59cdfa)));}async[_0x161e41(0x240)](_0x49922d,_0x3df32f){const _0x293740=_0x161e41,_0x3c5f39=this[_0x293740(0x2d5)](_0x49922d,_0x3df32f);let _0x2c2486=db()['select']()['from'](this[_0x293740(0x26a)]);if(_0x3c5f39)_0x2c2486=_0x2c2486[_0x293740(0x32b)](_0x3c5f39);if(_0x3df32f?.[_0x293740(0x221)]?.[_0x293740(0x308)])_0x2c2486=_0x2c2486[_0x293740(0x221)](..._0x3df32f['orderBy']);return await _0x2c2486;}async['findOne'](_0x447812,_0x5812e3){const _0x4f05f7=_0x161e41,[_0x42f384]=await this[_0x4f05f7(0x240)](_0x447812,_0x5812e3);return _0x42f384;}async[_0x161e41(0x237)](_0xda47a4,_0x249ce5){const _0x2e9a35=_0x161e41;return this[_0x2e9a35(0x35b)](_0x173e50(tableId(this[_0x2e9a35(0x26a)]),_0xda47a4),_0x249ce5);}async[_0x161e41(0x34f)](_0x2d2541,_0x3a247a){const _0x575358=_0x161e41,_0x5b5e3f=this[_0x575358(0x2d5)](_0x2d2541,_0x3a247a),_0xd43669=db()[_0x575358(0x2b7)]({'value':_0x5aded0()})[_0x575358(0x287)](this[_0x575358(0x26a)]),_0x1195e5=_0x5b5e3f?await _0xd43669['where'](_0x5b5e3f):await _0xd43669;return Number(_0x1195e5[0x0]?.[_0x575358(0x31c)]??0x0);}async[_0x161e41(0x33b)](_0x574265){const _0x5251b1=_0x161e41,{page:_0x2da58c,size:_0x499d9f,where:_0x40061c,orderBy:_0x391115,withTrashed:_0x22abd3,onlyTrashed:_0x324859,softDelete:_0x470b33}=_0x574265,_0x1c5926={'withTrashed':_0x22abd3,'onlyTrashed':_0x324859,'softDelete':_0x470b33},_0x448d57=this[_0x5251b1(0x2d5)](_0x40061c,_0x1c5926),_0x537647=(_0x2da58c-0x1)*_0x499d9f;let _0x30b89d=db()[_0x5251b1(0x2b7)]()[_0x5251b1(0x287)](this[_0x5251b1(0x26a)]);if(_0x448d57)_0x30b89d=_0x30b89d[_0x5251b1(0x32b)](_0x448d57);if(_0x391115?.[_0x5251b1(0x308)])_0x30b89d=_0x30b89d[_0x5251b1(0x221)](..._0x391115);const _0x4df551=await _0x30b89d[_0x5251b1(0x2e1)](_0x499d9f)[_0x5251b1(0x2dd)](_0x537647),_0x141eab=await this[_0x5251b1(0x34f)](_0x40061c,_0x1c5926);return{'list':_0x4df551,'pagination':{'page':_0x2da58c,'size':_0x499d9f,'total':_0x141eab}};}[_0x161e41(0x372)](_0x9b0c34){const _0x23164e=_0x161e41,_0x5844e8=stampTenantId(this[_0x23164e(0x26a)],sanitizeWritePayload(_0x9b0c34));return this['schema'][_0x23164e(0x318)][_0x23164e(0x278)](_0x5844e8);}async[_0x161e41(0x283)](_0x337c88){const _0x376c91=_0x161e41;if(Array[_0x376c91(0x2d4)](_0x337c88)){if(!_0x337c88[_0x376c91(0x308)])return[];const _0x425c10=_0x337c88[_0x376c91(0x310)](_0x59f862=>this[_0x376c91(0x372)](_0x59f862));return await db()['insert'](this[_0x376c91(0x26a)])[_0x376c91(0x24e)](_0x425c10)[_0x376c91(0x2f9)]();}const [_0x151d95]=await db()[_0x376c91(0x318)](this['table'])[_0x376c91(0x24e)](this[_0x376c91(0x372)](_0x337c88))[_0x376c91(0x2f9)]();return _0x151d95;}async['save'](_0x519f9c){const _0x4f8153=_0x161e41;if(Array[_0x4f8153(0x2d4)](_0x519f9c)){if(!_0x519f9c[_0x4f8153(0x308)])return[];const _0x281848=_0x519f9c,_0x1022ef=tableId(this[_0x4f8153(0x26a)]),_0x2e2a18=_0x281848[_0x4f8153(0x27b)](_0x214b84=>_0x214b84?.['id']!=null&&_0x214b84['id']!==''),_0x15b504=_0x281848['filter'](_0x22a933=>_0x22a933?.['id']==null||_0x22a933['id']==='');let _0x25e74f=new Set();if(_0x2e2a18[_0x4f8153(0x308)]){const _0x12c5e3=await this['find'](_0x243837(_0x1022ef,_0x2e2a18[_0x4f8153(0x310)](_0xec3be3=>_0xec3be3['id'])));_0x25e74f=new Set(_0x12c5e3['map'](_0xf67b89=>_0xf67b89['id']));}const _0xa0f560=[],_0x573faf=[..._0x15b504];for(const _0x5cd9f9 of _0x2e2a18){if(_0x25e74f[_0x4f8153(0x1bd)](_0x5cd9f9['id']))_0xa0f560['push'](_0x5cd9f9);else _0x573faf[_0x4f8153(0x31e)](_0x5cd9f9);}const _0x2237c0=_0xa0f560['length']?await this[_0x4f8153(0x1f6)](_0xa0f560):[],_0x6ab92c=_0x573faf[_0x4f8153(0x308)]?await this['create'](_0x573faf):[];return[...Array[_0x4f8153(0x2d4)](_0x2237c0)?_0x2237c0:_0x2237c0?[_0x2237c0]:[],...Array[_0x4f8153(0x2d4)](_0x6ab92c)?_0x6ab92c:_0x6ab92c?[_0x6ab92c]:[]];}const _0x3bdd61=_0x519f9c,_0x14913a=_0x3bdd61?.['id'];if(_0x14913a!=null&&_0x14913a!==''){const _0x4d5cb6=await this[_0x4f8153(0x237)](_0x14913a);if(_0x4d5cb6){const {id:_0x2fb033,..._0x120827}=_0x3bdd61,_0x181f1f=await this['update'](_0x173e50(tableId(this[_0x4f8153(0x26a)]),_0x14913a),_0x120827);return _0x181f1f??_0x4d5cb6;}}return await this[_0x4f8153(0x283)](_0x519f9c);}async['update'](_0x1fe0fc,_0x3b87f3){const _0x3f97ce=_0x161e41;if(Array[_0x3f97ce(0x2d4)](_0x1fe0fc))return this[_0x3f97ce(0x1fd)](_0x1fe0fc);const _0x5eb48a=this[_0x3f97ce(0x1de)][_0x3f97ce(0x1f6)][_0x3f97ce(0x278)](sanitizeWritePayload(_0x3b87f3)),_0x48e78d=applyRowScopes(this[_0x3f97ce(0x26a)],_0x1fe0fc);if(!_0x48e78d)return;const [_0x1a7398]=await db()[_0x3f97ce(0x1f6)](this[_0x3f97ce(0x26a)])['set'](_0x5eb48a)['where'](_0x48e78d)[_0x3f97ce(0x2f9)]();return _0x1a7398;}async[_0x161e41(0x1fd)](_0x390acf){const _0x27c0b8=_0x161e41;if(!_0x390acf[_0x27c0b8(0x308)])return[];const _0x54308e=tableId(this[_0x27c0b8(0x26a)]),_0x660fae=new Map();for(const _0x43d51c of _0x390acf){const _0x11d2c4=_0x43d51c['id'];if(_0x11d2c4==null||_0x11d2c4==='')throw new Error(_0x27c0b8(0x316));const {id:_0x5dbc8c,..._0x24f961}=_0x43d51c,_0x2a4f76=this[_0x27c0b8(0x1de)][_0x27c0b8(0x1f6)][_0x27c0b8(0x278)](sanitizeWritePayload(_0x24f961)),_0x148bd4=JSON[_0x27c0b8(0x2ae)](_0x2a4f76),_0x59a546=_0x660fae[_0x27c0b8(0x2fb)](_0x148bd4);if(_0x59a546)_0x59a546['ids'][_0x27c0b8(0x31e)](_0x11d2c4);else _0x660fae[_0x27c0b8(0x368)](_0x148bd4,{'ids':[_0x11d2c4],'patch':_0x2a4f76});}const _0x5e2088=[];for(const {ids:_0x13a077,patch:_0x30e7c7}of _0x660fae[_0x27c0b8(0x24e)]()){const _0xb6b590=applyRowScopes(this[_0x27c0b8(0x26a)],_0x243837(_0x54308e,_0x13a077));if(!_0xb6b590)continue;const _0x2b14e6=await db()['update'](this[_0x27c0b8(0x26a)])[_0x27c0b8(0x368)](_0x30e7c7)[_0x27c0b8(0x32b)](_0xb6b590)[_0x27c0b8(0x2f9)]();_0x5e2088[_0x27c0b8(0x31e)](..._0x2b14e6);}return _0x5e2088;}[_0x161e41(0x363)](_0x4c518f){const _0xebabb3=_0x161e41;if(isSqlLike(_0x4c518f))return applyRowScopes(this[_0xebabb3(0x26a)],_0x4c518f);const _0x3cbdf8=Array['isArray'](_0x4c518f)?_0x4c518f:[_0x4c518f];if(!_0x3cbdf8['length'])return;return applyRowScopes(this['table'],_0x243837(tableId(this[_0xebabb3(0x26a)]),_0x3cbdf8));}async['softDelete'](_0xc9ab81){const _0x418e36=_0x161e41;if(!this[_0x418e36(0x2ee)]())throw new Error(_0x418e36(0x1d8));const _0x317fc2=this[_0x418e36(0x363)](_0xc9ab81);if(!_0x317fc2)return;await db()[_0x418e36(0x1f6)](this[_0x418e36(0x26a)])[_0x418e36(0x368)]({'deletedAt':new Date()})[_0x418e36(0x32b)](_0x317fc2);}async[_0x161e41(0x209)](_0x33faad){const _0x13d3f2=_0x161e41;if(!this[_0x13d3f2(0x2ee)]())throw new Error(_0x13d3f2(0x255));const _0x1ce60c=this[_0x13d3f2(0x363)](_0x33faad);if(!_0x1ce60c)return;await db()[_0x13d3f2(0x1f6)](this[_0x13d3f2(0x26a)])[_0x13d3f2(0x368)]({'deletedAt':null})[_0x13d3f2(0x32b)](_0x1ce60c);}async[_0x161e41(0x282)](_0x132fe3){const _0x3ccf18=_0x161e41,_0x48d225=this['resolveIdWhere'](_0x132fe3);if(!_0x48d225)return;await db()['delete'](this[_0x3ccf18(0x26a)])[_0x3ccf18(0x32b)](_0x48d225);}}var repoCache=new WeakMap();function getRepository(_0x32ab6f){const _0x32cf98=_0x161e41,_0x4f0b56=repoCache[_0x32cf98(0x2fb)](_0x32ab6f);if(_0x4f0b56)return _0x4f0b56;const _0x4e8da7=new Repository(_0x32ab6f);return repoCache[_0x32cf98(0x368)](_0x32ab6f,_0x4e8da7),_0x4e8da7;}function InjectRepository(_0x1c245e){return(_0x379707,_0x44da37)=>{const _0x4404af=_0x17b8;appendInjectMeta(_0x379707[_0x4404af(0x37a)],{'propertyKey':_0x44da37,'resolve':()=>getRepository(_0x1c245e)});};}function isSql(_0x2364ff){const _0x4093a4=_0x161e41;return!!_0x2364ff&&typeof _0x2364ff===_0x4093a4(0x375)&&_0x2364ff['getSQL']!=null;}class BaseService{[_0x161e41(0x27c)];[_0x161e41(0x288)](_0x94a891){const _0x521f12=_0x161e41;if(!this[_0x521f12(0x27c)])this[_0x521f12(0x27c)]=_0x94a891;}['setEntity'](_0x50e96a){const _0x481b83=_0x161e41;this[_0x481b83(0x27c)]=_0x50e96a;}[_0x161e41(0x246)](){const _0x5cabe=_0x161e41;return!!this[_0x5cabe(0x27c)];}[_0x161e41(0x1db)](){const _0x22ed18=_0x161e41;return this[_0x22ed18(0x273)]();}['requireEntity'](){const _0x356975=_0x161e41;if(!this[_0x356975(0x27c)])throw new Error(_0x356975(0x32c));return this[_0x356975(0x27c)];}async[_0x161e41(0x35d)](_0x363413,_0x8d304a){}async[_0x161e41(0x1e5)](_0x46567c,_0x34c7c9){}async[_0x161e41(0x369)](_0x25144b,_0x56e3a1){const _0x1ac8f2=_0x161e41,_0x54bea6=resolveUpsert(_0x56e3a1?.[_0x1ac8f2(0x33d)]),_0x219ed1=Array[_0x1ac8f2(0x2d4)](_0x25144b)?_0x25144b['map'](_0x52b689=>_0x52b689!=null&&typeof _0x52b689===_0x1ac8f2(0x375)?{..._0x52b689}:_0x52b689):_0x25144b!=null&&typeof _0x25144b==='object'?{..._0x25144b}:_0x25144b;await this[_0x1ac8f2(0x35d)](_0x219ed1,_0x1ac8f2(0x369));const _0x57a5da=_0x54bea6===_0x1ac8f2(0x1e3)?await this[_0x1ac8f2(0x273)]()[_0x1ac8f2(0x1e3)](_0x219ed1):await this[_0x1ac8f2(0x273)]()[_0x1ac8f2(0x283)](_0x219ed1);return await this[_0x1ac8f2(0x1e5)](_0x57a5da??_0x219ed1,_0x1ac8f2(0x369)),_0x57a5da;}async[_0x161e41(0x1f6)](_0x1705e7,_0x11017e){const _0x112175=_0x161e41;if(Array[_0x112175(0x2d4)](_0x1705e7)){const _0x216536=_0x1705e7[_0x112175(0x310)](_0x3299dc=>({..._0x3299dc}));await this[_0x112175(0x35d)](_0x216536,_0x112175(0x1f6));const _0x55a9d6=await this[_0x112175(0x273)]()['update'](_0x216536);return await this[_0x112175(0x1e5)](_0x55a9d6??_0x216536,_0x112175(0x1f6)),_0x55a9d6;}if(isSql(_0x1705e7)){const _0x1e1f51=_0x11017e!=null&&typeof _0x11017e===_0x112175(0x375)?{..._0x11017e}:_0x11017e;await this[_0x112175(0x35d)](_0x1e1f51,'update');const _0x427706=await this[_0x112175(0x273)]()['update'](_0x1705e7,_0x1e1f51);return await this[_0x112175(0x1e5)](_0x427706??_0x1e1f51,_0x112175(0x1f6)),_0x427706;}const _0x550840={..._0x1705e7};await this[_0x112175(0x35d)](_0x550840,_0x112175(0x1f6));const _0x518397=await this['requireEntity']()[_0x112175(0x1f6)]([_0x550840]);return await this['modifyAfter'](_0x518397??_0x550840,_0x112175(0x1f6)),Array['isArray'](_0x518397)?_0x518397[0x0]:_0x518397;}async[_0x161e41(0x1e2)](_0x1c3341,_0x313ff4){const _0x33a64d=_0x161e41,_0x3be7b1=this[_0x33a64d(0x273)]();await this[_0x33a64d(0x35d)](_0x1c3341,'delete');const _0x1f29cc=resolveSoftDelete(_0x313ff4?.[_0x33a64d(0x26b)]);_0x313ff4?.[_0x33a64d(0x1ca)]||!_0x1f29cc||!_0x3be7b1['supportsSoftDelete']()?await _0x3be7b1[_0x33a64d(0x282)](_0x1c3341):await _0x3be7b1[_0x33a64d(0x26b)](_0x1c3341),await this[_0x33a64d(0x1e5)](_0x1c3341,'delete');}['restore'](_0x5d6705){const _0x2435ad=_0x161e41;return this[_0x2435ad(0x273)]()[_0x2435ad(0x209)](_0x5d6705);}[_0x161e41(0x275)](_0x40c6aa,_0x2739){const _0xeb89bf=_0x161e41;return this[_0xeb89bf(0x273)]()[_0xeb89bf(0x240)](_0x40c6aa,_0x2739);}[_0x161e41(0x2ca)](_0x2fb44d,_0x4fb0fc){const _0x5a81a6=_0x161e41,_0x573fbe=this['requireEntity']();if(typeof _0x2fb44d===_0x5a81a6(0x375))return _0x573fbe[_0x5a81a6(0x35b)](_0x2fb44d,_0x4fb0fc);return _0x573fbe['findById'](_0x2fb44d,_0x4fb0fc);}[_0x161e41(0x1cb)](_0x10dcc4={}){const _0x2dc22b=_0x161e41,_0x2bedbd=Math[_0x2dc22b(0x2cc)](0x1,_0x10dcc4[_0x2dc22b(0x1cb)]??0x1),_0x2443aa=Math[_0x2dc22b(0x347)](0x64,Math['max'](0x1,_0x10dcc4[_0x2dc22b(0x267)]??0x14));return this[_0x2dc22b(0x273)]()[_0x2dc22b(0x33b)]({'page':_0x2bedbd,'size':_0x2443aa,'where':_0x10dcc4[_0x2dc22b(0x32b)],'orderBy':_0x10dcc4['orderBy'],'withTrashed':_0x10dcc4[_0x2dc22b(0x34e)],'onlyTrashed':_0x10dcc4[_0x2dc22b(0x20c)],'softDelete':_0x10dcc4[_0x2dc22b(0x26b)]});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':_0x161e41(0x377),'list':'\u5217\u8868\u67E5\u8BE2','page':_0x161e41(0x1f0),'restore':'\u6062\u590D'},CRUD_APIS=[_0x161e41(0x369),_0x161e41(0x1e2),'update',_0x161e41(0x2ca),_0x161e41(0x275),_0x161e41(0x1cb),_0x161e41(0x209)],BEFORE_APIS=new Set(['add',_0x161e41(0x1f6),_0x161e41(0x1e2),_0x161e41(0x209)]);function omitProps(_0x383b8c,_0x1a8c9d){const _0x50b03a=_0x161e41;if(!_0x383b8c||!_0x1a8c9d?.[_0x50b03a(0x308)])return _0x383b8c;const _0x4707d5={..._0x383b8c};for(const _0x5e87b6 of _0x1a8c9d)delete _0x4707d5[_0x5e87b6];return _0x4707d5;}function resolveIds(_0x4354f1){const _0x2a6ae3=_0x161e41;if(Array[_0x2a6ae3(0x2d4)](_0x4354f1))return _0x4354f1['map'](_0x4e907a=>{if(_0x4e907a!=null&&typeof _0x4e907a==='object'&&'id'in _0x4e907a)return _0x4e907a['id'];return _0x4e907a;});if(_0x4354f1&&typeof _0x4354f1===_0x2a6ae3(0x375)){const _0x56385a=_0x4354f1;if(Array[_0x2a6ae3(0x2d4)](_0x56385a['ids']))return _0x56385a[_0x2a6ae3(0x1bb)];if(_0x56385a['id']!=null)return[_0x56385a['id']];}return[];}function resolveService(_0x43629c){const _0x23a007=_0x161e41,_0x1e61c9=_0x43629c[_0x23a007(0x355)],_0x5b1a14=_0x1e61c9['entity'];if(_0x1e61c9[_0x23a007(0x2d6)]){const _0x52d67a=Ioc[_0x23a007(0x2fb)](_0x1e61c9[_0x23a007(0x2d6)]);if(_0x5b1a14&&!_0x52d67a[_0x23a007(0x246)]())_0x52d67a[_0x23a007(0x33a)](getRepository(_0x5b1a14));return _0x52d67a;}if(!_0x5b1a14)throw new Error(_0x23a007(0x1ba)+_0x43629c[_0x23a007(0x263)][_0x23a007(0x1a8)]+_0x23a007(0x1fa));const _0x211da8=new class extends BaseService{}();return _0x211da8[_0x23a007(0x33a)](getRepository(_0x5b1a14)),_0x211da8;}function tableOf(_0x480d63,_0x4ba67d){const _0x3da239=_0x161e41,_0x4972a8=_0x4ba67d[_0x3da239(0x355)]?.[_0x3da239(0x27c)];if(_0x4972a8)return _0x4972a8;return _0x480d63[_0x3da239(0x1db)]()[_0x3da239(0x26a)];}var attachCrudRoutes=(_0x35b549,_0x1a5d58,_0x55f76d)=>{const _0x44f169=_0x161e41,_0x49f668=_0x1a5d58['crud'];if(!_0x49f668)return _0x35b549;const _0x382b36=(_0x49f668[_0x44f169(0x1c6)]??[])[_0x44f169(0x27b)](_0x3890a2=>CRUD_APIS[_0x44f169(0x236)](_0x3890a2)),_0x44d1a0=_0x49f668[_0x44f169(0x213)]??[];if(!_0x382b36[_0x44f169(0x308)]&&!_0x44d1a0['length'])return _0x35b549;const _0x5a6c1f=_0x55f76d[_0x44f169(0x220)]instanceof BaseController?_0x55f76d[_0x44f169(0x220)]:new BaseController(),_0x398dd0=_0x382b36['length']>0x0,_0x39bf1b=_0x398dd0||_0x49f668[_0x44f169(0x2d6)]?resolveService(_0x1a5d58):undefined,_0x4471b1=_0x398dd0&&_0x39bf1b?tableOf(_0x39bf1b,_0x1a5d58):undefined,_0x48b908=_0x4471b1?_0x4471b1['id']:undefined;if(_0x398dd0&&_0x48b908==null)throw new Error(_0x44f169(0x1ba)+_0x1a5d58[_0x44f169(0x263)][_0x44f169(0x1a8)]+_0x44f169(0x1c4));let _0x25761d=_0x35b549;const _0x2b450f=(_0x4cfaa2,_0x4fc076,_0x27ed58,_0x4fe68a)=>{_0x25761d=_0x25761d[_0x4cfaa2](_0x4fc076,_0x4fe68a,_0x55f76d['routeOptions']({'action':_0x27ed58,'summary':CRUD_SUMMARY[_0x27ed58]}));},_0x5e31d7=async(_0x5a9dc8,_0x538957,_0x2595cc)=>{const _0xdeb318=_0x44f169;if(!_0x49f668[_0xdeb318(0x284)]||!BEFORE_APIS['has'](_0x5a9dc8))return _0x538957;return await _0x49f668['before']({'body':_0x538957,'request':_0x2595cc,'api':_0x5a9dc8}),_0x538957;};_0x382b36[_0x44f169(0x236)](_0x44f169(0x369))&&_0x39bf1b&&_0x2b450f(_0x44f169(0x285),_0x44f169(0x36a),_0x44f169(0x369),async({body:_0x2baea0,request:_0x3a0e04})=>{const _0x3dca51=_0x44f169;try{const _0x4e5017=_0x2baea0;if(Array[_0x3dca51(0x2d4)](_0x4e5017)){let _0x43397c=_0x4e5017;if(_0x49f668[_0x3dca51(0x284)]&&BEFORE_APIS[_0x3dca51(0x1bd)]('add'))for(let _0x2bac3e=0x0;_0x2bac3e<_0x43397c[_0x3dca51(0x308)];_0x2bac3e++){_0x43397c[_0x2bac3e]=await _0x5e31d7(_0x3dca51(0x369),{..._0x43397c[_0x2bac3e]??{}},_0x3a0e04);}if(_0x49f668[_0x3dca51(0x24b)]){const _0x105cd3=await _0x49f668[_0x3dca51(0x24b)]({'body':_0x43397c[0x0]??{},'request':_0x3a0e04});_0x43397c=_0x43397c[_0x3dca51(0x310)](_0x3dc429=>({..._0x3dc429,..._0x105cd3}));}const _0xdff76e=await _0x39bf1b[_0x3dca51(0x369)](_0x43397c);return _0x5a6c1f['ok'](_0xdff76e);}let _0x239a1a={..._0x4e5017??{}};_0x239a1a=await _0x5e31d7(_0x3dca51(0x369),_0x239a1a,_0x3a0e04);_0x49f668[_0x3dca51(0x24b)]&&Object[_0x3dca51(0x304)](_0x239a1a,await _0x49f668[_0x3dca51(0x24b)]({'body':_0x239a1a,'request':_0x3a0e04}));const _0x41182a=await _0x39bf1b[_0x3dca51(0x369)](_0x239a1a);return _0x5a6c1f['ok'](_0x41182a);}catch(_0x3e6a55){return _0x5a6c1f[_0x3dca51(0x325)](_0x3e6a55 instanceof Error?_0x3e6a55[_0x3dca51(0x1c0)]:_0x3dca51(0x338));}});_0x382b36[_0x44f169(0x236)](_0x44f169(0x1e2))&&_0x39bf1b&&_0x48b908&&_0x2b450f('post',_0x44f169(0x1da),_0x44f169(0x1e2),async({body:_0x222ef9,request:_0x4b5d76})=>{const _0x5797a6=_0x44f169;try{const _0x484a51=_0x222ef9,_0x30334c=Array[_0x5797a6(0x2d4)](_0x484a51)?_0x484a51:await _0x5e31d7(_0x5797a6(0x1e2),{..._0x484a51??{}},_0x4b5d76),_0x4f6f7d=resolveIds(_0x30334c);if(!_0x4f6f7d['length'])return _0x5a6c1f[_0x5797a6(0x325)](_0x5797a6(0x2b1));const _0x5213c7=!Array[_0x5797a6(0x2d4)](_0x30334c)&&!!_0x30334c[_0x5797a6(0x1ca)];return await _0x39bf1b[_0x5797a6(0x1e2)](_0x4f6f7d,{'force':_0x5213c7}),_0x5a6c1f['ok']();}catch(_0x556816){return _0x5a6c1f[_0x5797a6(0x325)](_0x556816 instanceof Error?_0x556816[_0x5797a6(0x1c0)]:_0x5797a6(0x1ea));}});_0x382b36[_0x44f169(0x236)](_0x44f169(0x1f6))&&_0x39bf1b&&_0x48b908&&_0x2b450f('post',_0x44f169(0x35a),_0x44f169(0x1f6),async({body:_0x3ecf9f,request:_0x58cde8})=>{const _0x4b0421=_0x44f169;try{const _0x8d3385=_0x3ecf9f;if(Array[_0x4b0421(0x2d4)](_0x8d3385)){let _0x206292=_0x8d3385;if(_0x49f668[_0x4b0421(0x284)]&&BEFORE_APIS[_0x4b0421(0x1bd)](_0x4b0421(0x1f6)))for(let _0x596a99=0x0;_0x596a99<_0x206292[_0x4b0421(0x308)];_0x596a99++){_0x206292[_0x596a99]=await _0x5e31d7(_0x4b0421(0x1f6),{..._0x206292[_0x596a99]??{}},_0x58cde8);}const _0x305388=await _0x39bf1b[_0x4b0421(0x1f6)](_0x206292);return _0x5a6c1f['ok'](_0x305388);}const _0x1dbfa3=await _0x5e31d7(_0x4b0421(0x1f6),{..._0x8d3385??{}},_0x58cde8),_0x585183=_0x1dbfa3['id'];if(_0x585183==null)return _0x5a6c1f['fail']('id\x20required');const _0x3bcffd=await _0x39bf1b[_0x4b0421(0x1f6)](_0x1dbfa3);return _0x5a6c1f['ok'](_0x3bcffd);}catch(_0x4fb63d){return _0x5a6c1f[_0x4b0421(0x325)](_0x4fb63d instanceof Error?_0x4fb63d[_0x4b0421(0x1c0)]:_0x4b0421(0x20a));}});_0x382b36[_0x44f169(0x236)](_0x44f169(0x2ca))&&_0x39bf1b&&_0x2b450f('get',_0x44f169(0x333),_0x44f169(0x2ca),async({query:_0x44bed9})=>{const _0x3eea8c=_0x44f169;try{const _0x2a51fa=_0x44bed9?.['id'];if(_0x2a51fa==null||_0x2a51fa==='')return _0x5a6c1f['fail']('id\x20required');const _0x23fcd8=await _0x39bf1b[_0x3eea8c(0x2ca)](_0x2a51fa);return _0x5a6c1f['ok'](omitProps(_0x23fcd8,_0x49f668[_0x3eea8c(0x212)]));}catch(_0x4090eb){return _0x5a6c1f[_0x3eea8c(0x325)](_0x4090eb instanceof Error?_0x4090eb[_0x3eea8c(0x1c0)]:_0x3eea8c(0x2f2));}});_0x382b36[_0x44f169(0x236)](_0x44f169(0x275))&&_0x39bf1b&&_0x4471b1&&_0x2b450f(_0x44f169(0x285),_0x44f169(0x1c5),'list',async({body:_0x2363a8,request:_0x26c658})=>{const _0x5abc17=_0x44f169;try{const _0x1b494c=_0x2363a8??{},_0x4dde8d=_0x49f668[_0x5abc17(0x269)]??{},_0x179c40={'onlyTrashed':_0x1b494c[_0x5abc17(0x20c)]===!![],'withTrashed':_0x1b494c['withTrashed']===!![]};if(needsAdvancedQuery(_0x4dde8d)){const _0x118e9b=await queryWithOp(_0x4471b1,_0x1b494c,_0x4dde8d,{'request':_0x26c658,'mode':_0x5abc17(0x275),'trash':_0x179c40});return _0x5a6c1f['ok'](_0x118e9b);}const {where:_0xeb800,orderBySql:_0x486d8e}=await buildQueryOp(_0x4471b1,_0x1b494c,_0x4dde8d,_0x26c658),_0x2069c1=await _0x39bf1b['list'](_0xeb800,{'orderBy':_0x486d8e,..._0x179c40});return _0x5a6c1f['ok'](_0x2069c1);}catch(_0x4daf8f){return _0x5a6c1f['fail'](_0x4daf8f instanceof Error?_0x4daf8f['message']:_0x5abc17(0x2cd));}});_0x382b36['includes'](_0x44f169(0x1cb))&&_0x39bf1b&&_0x4471b1&&_0x2b450f(_0x44f169(0x285),_0x44f169(0x2a4),_0x44f169(0x1cb),async({body:_0x999102,request:_0x47403a})=>{const _0x41f3da=_0x44f169;try{const _0x2fab3d=_0x999102??{},_0x3397c4=_0x49f668[_0x41f3da(0x2f3)]??{},_0x555e16={'onlyTrashed':_0x2fab3d['onlyTrashed']===!![],'withTrashed':_0x2fab3d[_0x41f3da(0x34e)]===!![]};if(needsAdvancedQuery(_0x3397c4)){const _0x42de18=await queryWithOp(_0x4471b1,_0x2fab3d,_0x3397c4,{'request':_0x47403a,'mode':_0x41f3da(0x1cb),'trash':_0x555e16});return _0x5a6c1f['ok'](_0x42de18);}const {where:_0x2cd9c0,orderBySql:_0xdb2584}=await buildQueryOp(_0x4471b1,_0x2fab3d,_0x3397c4,_0x47403a),_0x4da6dc=await _0x39bf1b[_0x41f3da(0x1cb)]({'page':Number(_0x2fab3d[_0x41f3da(0x1cb)]??0x1),'size':Number(_0x2fab3d['size']??0x14),'where':_0x2cd9c0,'orderBy':_0xdb2584,..._0x555e16});return _0x5a6c1f['ok'](_0x4da6dc);}catch(_0xb4de5a){return _0x5a6c1f[_0x41f3da(0x325)](_0xb4de5a instanceof Error?_0xb4de5a[_0x41f3da(0x1c0)]:_0x41f3da(0x362));}});_0x382b36['includes'](_0x44f169(0x209))&&_0x39bf1b&&_0x48b908&&_0x2b450f(_0x44f169(0x285),_0x44f169(0x343),'restore',async({body:_0x5c05bf,request:_0x1c18ea})=>{const _0x113046=_0x44f169;try{const _0x86725e=_0x5c05bf,_0x2f154d=Array[_0x113046(0x2d4)](_0x86725e)?_0x86725e:await _0x5e31d7(_0x113046(0x209),{..._0x86725e??{}},_0x1c18ea),_0x1dfe3f=resolveIds(_0x2f154d);if(!_0x1dfe3f[_0x113046(0x308)])return _0x5a6c1f['fail']('ids\x20required');return await _0x39bf1b['restore'](_0x1dfe3f),_0x5a6c1f['ok']();}catch(_0x117005){return _0x5a6c1f['fail'](_0x117005 instanceof Error?_0x117005[_0x113046(0x1c0)]:_0x113046(0x1d9));}});if(_0x44d1a0[_0x44f169(0x308)]){if(!_0x49f668['service'])throw new Error(_0x44f169(0x1ba)+_0x1a5d58[_0x44f169(0x263)][_0x44f169(0x1a8)]+_0x44f169(0x232));const _0x11f8f0=Ioc[_0x44f169(0x2fb)](_0x49f668['service']);for(const _0x1e2147 of _0x44d1a0){const _0x4e2f8c=_0x11f8f0[_0x1e2147];if(typeof _0x4e2f8c!==_0x44f169(0x2cf))throw new Error(_0x44f169(0x1ba)+_0x49f668[_0x44f169(0x2d6)][_0x44f169(0x1a8)]+'.'+_0x1e2147+_0x44f169(0x2e8));const _0x5ef2cb=_0x4e2f8c[_0x44f169(0x2d3)](_0x11f8f0);_0x2b450f(_0x44f169(0x285),'/'+_0x1e2147,_0x1e2147,async({body:_0x2c3cc7})=>{try{const _0x67f6af=await _0x5ef2cb(_0x2c3cc7);return _0x5a6c1f['ok'](_0x67f6af);}catch(_0x4fff62){return _0x5a6c1f['fail'](_0x4fff62 instanceof Error?_0x4fff62['message']:_0x1e2147+'\x20failed');}});}}return _0x25761d;};import{join as _0x4e9bbf}from'path';import{pathToFileURL as _0x16f1a7}from'url';var SERVICE_PATTERN='**/modules/*/service/**/*.ts',CONTROLLER_SCANS=[{'pattern':_0x161e41(0x251),'side':_0x161e41(0x1d3)},{'pattern':_0x161e41(0x20f),'side':_0x161e41(0x2e6)}];async function importWithContext(_0x388995,_0x27cae3,_0x4556d4){setControllerScanContext({'module':parseModuleFromPath(_0x27cae3),'side':_0x4556d4,'file':_0x27cae3});try{const _0x3f56fa=_0x16f1a7(_0x4e9bbf(_0x388995,_0x27cae3))['href'];await import(_0x3f56fa);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x16c9af=_0x161e41,_0x274e60=process[_0x16c9af(0x25a)](),_0x1b0e36=await scanFiles(SERVICE_PATTERN,{'cwd':_0x274e60});for(const _0x4b73c5 of _0x1b0e36){const _0x44137c=_0x16f1a7(_0x4e9bbf(_0x274e60,_0x4b73c5))[_0x16c9af(0x223)];await import(_0x44137c);}let _0x5e2260=0x0;for(const {pattern:_0x10b69c,side:_0x45a27c}of CONTROLLER_SCANS){const _0x4afda2=await scanFiles(_0x10b69c,{'cwd':_0x274e60});_0x5e2260+=_0x4afda2['length'];for(const _0x160b45 of _0x4afda2){await importWithContext(_0x274e60,_0x160b45,_0x45a27c);}}setCrudRegistrar(attachCrudRoutes),console[_0x16c9af(0x32f)]('[Host]\x20crud\x20←\x20@vome-core/orm'),console['log'](_0x16c9af(0x306)+_0x1b0e36[_0x16c9af(0x308)]+_0x16c9af(0x256)+_0x5e2260+_0x16c9af(0x20e));}function _0x17b8(_0x10e7d7,_0x2b7f8d){_0x10e7d7=_0x10e7d7-0x19d;const _0x456b33=_0x456b();let _0x17b8b7=_0x456b33[_0x10e7d7];if(_0x17b8['bibENb']===undefined){var _0x540907=function(_0x4c6f0a){const _0x38c129='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35d6af='',_0x58b828='';for(let _0x27ae3e=0x0,_0x296238,_0x14ecc5,_0x21a502=0x0;_0x14ecc5=_0x4c6f0a['charAt'](_0x21a502++);~_0x14ecc5&&(_0x296238=_0x27ae3e%0x4?_0x296238*0x40+_0x14ecc5:_0x14ecc5,_0x27ae3e++%0x4)?_0x35d6af+=String['fromCharCode'](0xff&_0x296238>>(-0x2*_0x27ae3e&0x6)):0x0){_0x14ecc5=_0x38c129['indexOf'](_0x14ecc5);}for(let _0x532b17=0x0,_0x5cdde3=_0x35d6af['length'];_0x532b17<_0x5cdde3;_0x532b17++){_0x58b828+='%'+('00'+_0x35d6af['charCodeAt'](_0x532b17)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58b828);};_0x17b8['kOxoyh']=_0x540907,_0x17b8['NFPSrQ']={},_0x17b8['bibENb']=!![];}const _0x17e0e1=_0x456b33[0x0],_0x57e469=_0x10e7d7+_0x17e0e1,_0x5ed42f=_0x17b8['NFPSrQ'][_0x57e469];return!_0x5ed42f?(_0x17b8b7=_0x17b8['kOxoyh'](_0x17b8b7),_0x17b8['NFPSrQ'][_0x57e469]=_0x17b8b7):_0x17b8b7=_0x5ed42f,_0x17b8b7;}import{join as _0xd49fe0}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0x41b2de from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0xde0bdf}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x382c2a=new Date()){const _0x5140f2=_0x161e41,_0x55e526=_0x382c2a[_0x5140f2(0x219)](),_0x685aa8=String(_0x382c2a[_0x5140f2(0x2e9)]()+0x1)['padStart'](0x2,'0'),_0x1706ff=String(_0x382c2a[_0x5140f2(0x36f)]())[_0x5140f2(0x1a7)](0x2,'0');return _0x55e526+'-'+_0x685aa8+'-'+_0x1706ff;}function purgeOldLogs(_0x368482,_0x43645c){const _0x591d71=_0x161e41,_0x58f67d=new Date();_0x58f67d['setDate'](_0x58f67d[_0x591d71(0x36f)]()-_0x43645c);const _0x549694=formatLocalDate(_0x58f67d);for(const _0x7d6257 of readdirSync(_0x368482)){const _0xdfcaed=_0x7d6257[_0x591d71(0x214)](FILE_PATTERN);if(!_0xdfcaed||_0xdfcaed[0x1]>=_0x549694)continue;unlinkSync(_0xde0bdf(_0x368482,_0x7d6257));}}function openDailyStream(_0x4db2d2,_0xf0927){const _0x1755a0=_0x161e41;return createWriteStream(_0xde0bdf(_0x4db2d2,_0xf0927+_0x1755a0(0x1b6)),{'flags':'a'});}function createDailyLogStream(_0x593cb5,_0x162a57=0x1e){mkdirSync(_0x593cb5,{'recursive':!![]}),purgeOldLogs(_0x593cb5,_0x162a57);let _0x16fb44=formatLocalDate(),_0x46b20d=openDailyStream(_0x593cb5,_0x16fb44);return new Writable({'write'(_0x346634,_0x618211,_0x2ce248){const _0x517231=_0x17b8,_0x3349b2=formatLocalDate();_0x3349b2!==_0x16fb44&&(_0x46b20d['end'](),_0x16fb44=_0x3349b2,_0x46b20d=openDailyStream(_0x593cb5,_0x16fb44),purgeOldLogs(_0x593cb5,_0x162a57)),_0x46b20d[_0x517231(0x29e)](_0x346634,_0x2ce248);},'final'(_0x403f6e){const _0x3d4506=_0x17b8;_0x46b20d[_0x3d4506(0x1f9)](_0x403f6e);}});}var pinoInstance;function buildPino(){const _0x2cd7a4=_0x161e41,_0x1e6399=VomeConfig[_0x2cd7a4(0x323)]??{},_0x560375=_0x1e6399[_0x2cd7a4(0x1c7)]??'info';if(_0x1e6399['transport']===_0x2cd7a4(0x341)){const _0x565ffe=_0xd49fe0(process[_0x2cd7a4(0x25a)](),_0x1e6399['dir']??'logging'),_0x577091=_0x1e6399[_0x2cd7a4(0x1b2)]??0x1e;return createPinoLogger({'level':_0x560375,'stream':createDailyLogStream(_0x565ffe,_0x577091)});}return createPinoLogger({'level':_0x560375,'stream':_0x41b2de({'colorize':!![],'translateTime':_0x2cd7a4(0x351),'ignore':_0x2cd7a4(0x254)})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{[_0x161e41(0x2ca)](_0x5a9bf7,..._0x218986){const _0x55c6a8=_0x161e41,_0x1a2607=getPinoLogger();if(_0x218986[_0x55c6a8(0x308)])_0x1a2607[_0x55c6a8(0x2ca)]({'args':_0x218986},_0x5a9bf7);else _0x1a2607[_0x55c6a8(0x2ca)](_0x5a9bf7);}[_0x161e41(0x2a5)](_0x5e2b01,..._0x28c5d3){const _0x5a4c21=_0x161e41,_0x5da48a=getPinoLogger();if(_0x28c5d3[_0x5a4c21(0x308)])_0x5da48a[_0x5a4c21(0x2a5)]({'args':_0x28c5d3},_0x5e2b01);else _0x5da48a[_0x5a4c21(0x2a5)](_0x5e2b01);}[_0x161e41(0x24a)](_0x2db934,..._0x4a3b64){const _0x3fcc97=_0x161e41,_0x3f08a3=getPinoLogger();if(_0x4a3b64[_0x3fcc97(0x308)])_0x3f08a3[_0x3fcc97(0x24a)]({'args':_0x4a3b64},_0x2db934);else _0x3f08a3[_0x3fcc97(0x24a)](_0x2db934);}[_0x161e41(0x1b0)](_0x3c8d71,..._0x835363){const _0x4ee922=_0x161e41,_0x1af198=getPinoLogger();if(_0x3c8d71 instanceof Error){_0x1af198['error'](_0x3c8d71);return;}if(_0x835363[0x0]instanceof Error){_0x1af198[_0x4ee922(0x1b0)](_0x835363[0x0],_0x3c8d71);return;}if(_0x835363['length'])_0x1af198[_0x4ee922(0x1b0)]({'args':_0x835363},_0x3c8d71);else _0x1af198[_0x4ee922(0x1b0)](_0x3c8d71);}}class CommException extends Error{[_0x161e41(0x30d)];[_0x161e41(0x2ff)];constructor(_0x10f674,_0x2db4a1){const _0x4f476a=_0x161e41;super(_0x10f674),this[_0x4f476a(0x1a8)]=_0x4f476a(0x244),this[_0x4f476a(0x30d)]=_0x2db4a1?.[_0x4f476a(0x30d)]??0xc8,this[_0x4f476a(0x2ff)]=_0x2db4a1?.[_0x4f476a(0x2ff)]??RES_CODE[_0x4f476a(0x31f)];}}function isCommException(_0x503471){return _0x503471 instanceof CommException;}function bootstrapLogger(){const _0x5953e0=_0x161e41;getPinoLogger(),Ioc[_0x5953e0(0x368)](Logger,new Logger());}var VOME_BANNER=_0x161e41(0x29f);function resetViewport(){const _0x5330d3=_0x161e41;if(!process['stdout'][_0x5330d3(0x28b)])return;process[_0x5330d3(0x330)][_0x5330d3(0x29e)](_0x5330d3(0x31b));}function printStartupBanner(){const _0x48703e=_0x161e41;resetViewport();const _0x2e8b0f=getEnv(),_0x196089=VomeConfig[_0x48703e(0x376)]?.['port']??0xbb9,_0x3c9399=VomeConfig['openapi']?.['path']??'/docs',_0xff1df9=_0x48703e(0x26c)+_0x196089;console[_0x48703e(0x32f)](VOME_BANNER),console[_0x48703e(0x32f)]('🌍\x20运行环境:\x20'+_0x2e8b0f),_0x2e8b0f===_0x48703e(0x32a)&&(console[_0x48703e(0x32f)](_0x48703e(0x19f)+_0xff1df9),console['log'](_0x48703e(0x1bf)+_0xff1df9+(_0x3c9399[_0x48703e(0x1f7)]('/')?_0x3c9399:'/'+_0x3c9399)));}import{access}from'fs/promises';import{join as _0x1e78ca}from'path';import{pathToFileURL as _0xa8232a}from'url';async function exists(_0x26a475){try{return await access(_0x26a475),!![];}catch{return![];}}async function importHostModule(_0x3c7f2c){const _0x3d6d73=_0x161e41,_0x58a5bf=_0x1e78ca(process['cwd'](),_0x3c7f2c);if(!await exists(_0x58a5bf)){console['warn'](_0x3d6d73(0x22f)+_0x3c7f2c);return;}return await import(_0xa8232a(_0x58a5bf)[_0x3d6d73(0x223)]);}async function bootstrapHostInfra(){const _0x34140d=_0x161e41,_0x12c912=await importHostModule(_0x34140d(0x1a2));if(_0x12c912?.['Db']?.[_0x34140d(0x1c9)])await _0x12c912['Db'][_0x34140d(0x1c9)]();const _0xdb955a=await importHostModule(_0x34140d(0x2f6));if(_0xdb955a?.[_0x34140d(0x1f4)]?.['bootstrap'])await _0xdb955a[_0x34140d(0x1f4)][_0x34140d(0x1c9)]();const _0x2b4a68=await importHostModule(_0x34140d(0x1b7));if(_0x2b4a68?.[_0x34140d(0x34d)]?.[_0x34140d(0x1c9)])await _0x2b4a68[_0x34140d(0x34d)][_0x34140d(0x1c9)]();}async function bootstrapHostTasks(){const _0x461484=_0x161e41,_0xe4d861=await importHostModule(_0x461484(0x218));if(_0xe4d861?.[_0x461484(0x2a7)]?.[_0x461484(0x1c9)])await _0xe4d861['Task'][_0x461484(0x1c9)]();}async function bootstrapHostPlugins(){const _0x1b8ebb=_0x161e41,_0x24155f=await importHostModule(_0x1b8ebb(0x1ae));if(_0x24155f?.[_0x1b8ebb(0x33e)]?.['bootstrap'])await _0x24155f[_0x1b8ebb(0x33e)][_0x1b8ebb(0x1c9)]();}async function bootstrapHostModules(){const _0x336d3b=_0x161e41,_0xf8044e=await importHostModule(_0x336d3b(0x28a));if(_0xf8044e?.[_0x336d3b(0x374)]?.[_0x336d3b(0x1c9)])await _0xf8044e[_0x336d3b(0x374)]['bootstrap']();}async function shutdownHostTasks(){const _0x21fe5b=_0x161e41,_0xa59c3e=await importHostModule(_0x21fe5b(0x218));if(_0xa59c3e?.[_0x21fe5b(0x2a7)]?.['close'])await _0xa59c3e['Task'][_0x21fe5b(0x321)]();}async function shutdownHostInfra(){const _0x2e3b50=_0x161e41,_0x37ace3=await importHostModule(_0x2e3b50(0x2f6));if(_0x37ace3?.[_0x2e3b50(0x1f4)]?.[_0x2e3b50(0x321)])await _0x37ace3[_0x2e3b50(0x1f4)][_0x2e3b50(0x321)]();const _0x4b8bac=await importHostModule(_0x2e3b50(0x1a2));if(_0x4b8bac?.['Db']?.[_0x2e3b50(0x321)])await _0x4b8bac['Db'][_0x2e3b50(0x321)]();}async function applyHostAuthMiddleware(_0xefdeaf){const _0x3859dd=_0x161e41,_0x58aaf6=await importHostModule(_0x3859dd(0x2de));if(!_0x58aaf6)return _0xefdeaf;let _0x51d9fc=_0xefdeaf;if(_0x58aaf6[_0x3859dd(0x1ce)])_0x51d9fc=_0x51d9fc[_0x3859dd(0x344)](_0x58aaf6[_0x3859dd(0x1ce)]);if(_0x58aaf6[_0x3859dd(0x1d6)])_0x51d9fc=_0x51d9fc[_0x3859dd(0x344)](_0x58aaf6[_0x3859dd(0x1d6)]);if(_0x58aaf6[_0x3859dd(0x26d)])_0x51d9fc=_0x51d9fc['use'](_0x58aaf6['requestLog']);if(_0x58aaf6['microApps'])_0x51d9fc=_0x51d9fc['use'](_0x58aaf6['microApps']);if(_0x58aaf6[_0x3859dd(0x25f)])_0x51d9fc=_0x51d9fc['use'](_0x58aaf6[_0x3859dd(0x25f)]);return _0x51d9fc;}function applyAsyncContext(_0x5ac336){const _0x1e3689=_0x161e41,_0x2fb85a=VomeConfig[_0x1e3689(0x22d)]??{};if(!_0x2fb85a[_0x1e3689(0x272)])return _0x5ac336;return _0x5ac336[_0x1e3689(0x2e4)](({request:_0x1ce2fa})=>{enterContextWith(initContextFromRequest(_0x1ce2fa));});}function applyErrorHandler(_0x50cd7c){return _0x50cd7c['onError'](({error:_0x2d31b6,set:_0x24681a,code:_0x43fde7})=>{const _0xf1ccc9=_0x17b8,_0x230448=getPinoLogger();if(isCommException(_0x2d31b6))return _0x230448[_0xf1ccc9(0x1b0)]({'code':_0x2d31b6[_0xf1ccc9(0x2ff)]},_0x2d31b6[_0xf1ccc9(0x1c0)]),_0x24681a[_0xf1ccc9(0x2cb)]=_0x2d31b6[_0xf1ccc9(0x30d)],{'code':_0x2d31b6['code'],'message':_0x2d31b6[_0xf1ccc9(0x1c0)]};if(_0x43fde7==='VALIDATION'){const _0x40a331=_0x2d31b6 instanceof Error?_0x2d31b6[_0xf1ccc9(0x1c0)]:'validation\x20failed';return _0x230448[_0xf1ccc9(0x1b0)]({'code':_0x43fde7},_0x40a331),_0x24681a[_0xf1ccc9(0x2cb)]=0x1a6,{'code':RES_CODE[_0xf1ccc9(0x31f)],'message':_0x40a331};}if(_0x43fde7==='NOT_FOUND')return _0x24681a[_0xf1ccc9(0x2cb)]=0x194,{'code':RES_CODE[_0xf1ccc9(0x31f)],'message':_0xf1ccc9(0x342)};const _0x46233a=_0x2d31b6 instanceof Error?_0x2d31b6:new Error(String(_0x2d31b6));return _0x230448[_0xf1ccc9(0x1b0)](_0x46233a),_0x24681a[_0xf1ccc9(0x2cb)]=0x1f4,{'code':RES_CODE['ERROR'],'message':getEnv()===_0xf1ccc9(0x32a)?_0x46233a[_0xf1ccc9(0x1c0)]:'internal\x20server\x20error'};});}function applyLogging(_0x2b8f6d){const _0x562c38=_0x161e41,_0x5aad21=getPinoLogger();return _0x2b8f6d['use'](_0x5aad21['into']({'autoLogging':{'ignore':_0x1fed03=>Boolean(_0x1fed03[_0x562c38(0x33f)])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0x39bf0d){const _0x512ec3=_0x161e41,_0x343b3d=VomeConfig['openapi']??{'enable':![]};if(_0x343b3d['enable']===![])return _0x39bf0d;const _0x13388f=_0x343b3d[_0x512ec3(0x277)]??_0x512ec3(0x309),{tags:_0x1824ad,tagGroups:_0x3829b4}=buildOpenApiTagDocs(),_0x2393f9=_0x343b3d[_0x512ec3(0x2c0)]??{},_0x341da5=_0x343b3d[_0x512ec3(0x346)]??{};return _0x39bf0d[_0x512ec3(0x344)](openapi({'path':_0x13388f,'documentation':{..._0x2393f9,'tags':[..._0x2393f9[_0x512ec3(0x34c)]??[],..._0x1824ad],'x-tagGroups':_0x3829b4},'scalar':{..._0x341da5,'layout':_0x341da5[_0x512ec3(0x265)]??_0x512ec3(0x312),'operationTitleSource':_0x341da5[_0x512ec3(0x262)]??'summary'}}));}var app,started=![],signalsRegistered=![],hostScanned=![],bootstrapHooks=[],shutdownHooks=[],usePlugins=[];async function ensureHostScanned(){if(hostScanned)return;hostScanned=!![],await scanHost();}function createApp(){return applyAsyncContext(applyErrorHandler(applyLogging(new _0x35d6af())));}function bootstrap(_0x2dd2fe){const _0x5b1cf4=_0x161e41;bootstrapHooks[_0x5b1cf4(0x31e)](_0x2dd2fe);}function shutdown(_0x497e57){const _0x1e77b5=_0x161e41;shutdownHooks[_0x1e77b5(0x31e)](_0x497e57);}function use(_0x2a65b9){const _0x1bf8c8=_0x161e41;usePlugins[_0x1bf8c8(0x31e)](_0x2a65b9);}async function start(){const _0x52bc99=_0x161e41;if(started)throw new Error('[App]\x20\u5DF2\u542F\u52A8\uFF0C\u8BF7\u5148\x20App.stop()\x20\u518D\x20start');let _0x4d8ddf=createApp();_0x4d8ddf=await applyHostAuthMiddleware(_0x4d8ddf);for(const _0x31d07b of usePlugins){_0x4d8ddf=_0x31d07b(_0x4d8ddf);}await ensureHostScanned(),_0x4d8ddf=applyOpenapi(_0x4d8ddf),await bootstrapHostInfra();for(const _0x4fe333 of bootstrapHooks)await _0x4fe333();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x4d8ddf=registerControllers(_0x4d8ddf,VomeConfig);const _0x3cde08=VomeConfig[_0x52bc99(0x376)]?.[_0x52bc99(0x225)]??0xbb9;return _0x4d8ddf[_0x52bc99(0x1a5)](_0x3cde08),app=_0x4d8ddf,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){const _0xfe64ba=_0x161e41;if(!app)return;for(const _0x37500f of shutdownHooks)await _0x37500f();await shutdownHostTasks(),await shutdownHostInfra(),await app[_0xfe64ba(0x201)](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0x1c9d68=_0x161e41;if(signalsRegistered)return;signalsRegistered=!![];for(const _0x213f52 of[_0x1c9d68(0x226),_0x1c9d68(0x2c4)]){process[_0x1c9d68(0x2f7)](_0x213f52,async()=>{await stop(),process['exit'](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x2e2f0d){const _0x49b1bb=_0x161e41;if(_0x2e2f0d)await _0x2e2f0d({'App':App});return App[_0x49b1bb(0x239)]();}import{getTableColumns as _0x2c3d3,getTableName as _0x19343c}from'drizzle-orm';import{getTableColumns as _0x3ca01d,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')['primaryKey'](),'createTime':timestamp(_0x161e41(0x21d),{'withTimezone':!![]})[_0x161e41(0x2fe)]()[_0x161e41(0x208)](),'updateTime':timestamp(_0x161e41(0x340),{'withTimezone':!![]})[_0x161e41(0x2fe)]()['defaultNow']()[_0x161e41(0x1ef)](()=>new Date()),'deletedAt':timestamp(_0x161e41(0x33c),{'withTimezone':!![]}),'tenantId':integer(_0x161e41(0x2ad))},BASE_COLUMN_COMMENTS={'id':'ID','createTime':'\u521B\u5EFA\u65F6\u95F4','updateTime':_0x161e41(0x19e),'deletedAt':_0x161e41(0x332),'tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x3a113d,_0x43003f={}){const _0x8a5c00=_0x161e41;return tables[_0x8a5c00(0x369)](_0x3a113d),registry[_0x8a5c00(0x368)](_0x3a113d,{...BASE_COLUMN_COMMENTS,...registry['get'](_0x3a113d)||{},..._0x43003f}),_0x3a113d;}function getColumnComments(_0xd39343){const _0x2c67e7=_0x161e41;return registry[_0x2c67e7(0x2fb)](_0xd39343)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0x780e8b){const _0x7a950=_0x161e41;if(!/^[A-Za-z_][A-Za-z0-9_]*$/[_0x7a950(0x259)](_0x780e8b))throw new Error('[columnComments]\x20非法标识符:\x20'+_0x780e8b);return'\x22'+_0x780e8b+'\x22';}function escapeLiteral(_0x5c9dbf){const _0xad1049=_0x161e41;return _0x5c9dbf[_0xad1049(0x1b3)](/'/g,'\x27\x27');}async function syncColumnCommentsToPg(_0x2b8445){const _0x8de9ae=_0x161e41,_0x1dc5c5=listColumnCommentTables();if(!_0x1dc5c5[_0x8de9ae(0x308)])return 0x0;const _0x190266=new Map(),_0x5bdfd7=[];for(const _0x3ec30d of _0x1dc5c5){let _0x19aa36;try{_0x19aa36=getTableName(_0x3ec30d);}catch{continue;}const _0xdfcb97=_0x3ca01d(_0x3ec30d),_0x5a5b31=getColumnComments(_0x3ec30d),_0x16187c=new Map();for(const [_0xa894a3,_0x303964]of Object['entries'](_0x5a5b31)){if(!_0x303964||!(_0xa894a3 in _0xdfcb97))continue;_0x16187c[_0x8de9ae(0x368)](_0xa894a3,_0x303964);}if(!_0x16187c['size'])continue;_0x190266[_0x8de9ae(0x368)](_0x19aa36,_0x16187c),_0x5bdfd7[_0x8de9ae(0x31e)](_0x19aa36);}if(!_0x5bdfd7[_0x8de9ae(0x308)])return 0x0;const _0x486aaf=_0x5bdfd7[_0x8de9ae(0x310)](_0x44e79e=>'\x27'+escapeLiteral(_0x44e79e)+'\x27')[_0x8de9ae(0x20d)](','),_0x23195d=await _0x2b8445[_0x8de9ae(0x266)](_0x8de9ae(0x364)+_0x486aaf+_0x8de9ae(0x247)),_0xf3c2b7=new Map();for(const _0x5abda4 of _0x23195d||[]){if(!_0x5abda4[_0x8de9ae(0x1d7)]||!_0x5abda4['column_name'])continue;_0xf3c2b7[_0x8de9ae(0x368)](_0x5abda4[_0x8de9ae(0x1d7)]+'.'+_0x5abda4[_0x8de9ae(0x2bb)],_0x5abda4[_0x8de9ae(0x2b0)]??null);}let _0x2707e8=0x0;for(const [_0x4d03eb,_0x54a5c4]of _0x190266){for(const [_0x190390,_0x41e7ef]of _0x54a5c4){const _0x5c882f=_0x4d03eb+'.'+_0x190390,_0x471d83=_0xf3c2b7[_0x8de9ae(0x2fb)](_0x5c882f);if(_0x471d83===_0x41e7ef)continue;await _0x2b8445['unsafe'](_0x8de9ae(0x294)+quoteIdent(_0x4d03eb)+'.'+quoteIdent(_0x190390)+_0x8de9ae(0x24f)+escapeLiteral(_0x41e7ef)+'\x27'),_0x2707e8++;}}return _0x2707e8;}var SIDE_PREFIX2={'admin':_0x161e41(0x200),'app':_0x161e41(0x1ad)};function getSidePrefix2(_0x12d2bb){return normalizePrefix(SIDE_PREFIX2[_0x12d2bb]);}function lastSegment(_0x269cea){const _0x1f48a7=_0x161e41,_0x4cf59d=_0x269cea['replace'](/^\/+|\/+$/g,'')[_0x1f48a7(0x1af)]('/');return _0x4cf59d[_0x4cf59d[_0x1f48a7(0x308)]-0x1]||_0x269cea||_0x1f48a7(0x2c6);}function toPascalEntityName(_0x27eea0){const _0x821454=_0x161e41;return _0x27eea0[_0x821454(0x1af)]('_')[_0x821454(0x27b)](Boolean)[_0x821454(0x310)](_0x4d20ec=>_0x4d20ec[_0x821454(0x348)](0x0)['toUpperCase']()+_0x4d20ec[_0x821454(0x23e)](0x1))[_0x821454(0x20d)]('')+_0x821454(0x1c3);}function withAlias(_0x5b4e4f){if(!_0x5b4e4f?.['length'])return[];return _0x5b4e4f['map'](_0x4a9374=>{const _0x59bf16=_0x17b8;if(typeof _0x4a9374!==_0x59bf16(0x354)){const _0x39e97e=_0x4a9374[_0x59bf16(0x298)];return{..._0x4a9374,'column':_0x39e97e['includes']('.')?_0x39e97e:'a.'+_0x39e97e};}return _0x4a9374['includes']('.')?_0x4a9374:'a.'+_0x4a9374;});}function normalizePageQueryOp(_0x2e246a){const _0x4381c6=_0x161e41;return{'keyWordLikeFields':withAlias(_0x2e246a?.[_0x4381c6(0x336)]),'fieldEq':withAlias(_0x2e246a?.[_0x4381c6(0x32e)]),'fieldLike':withAlias(_0x2e246a?.['fieldLike']),'fieldArray':withAlias(_0x2e246a?.[_0x4381c6(0x307)]),'fieldRange':(_0x2e246a?.[_0x4381c6(0x2e5)]??[])['map'](_0x5e9ac7=>({..._0x5e9ac7,'column':_0x5e9ac7[_0x4381c6(0x298)][_0x4381c6(0x236)]('.')?_0x5e9ac7[_0x4381c6(0x298)]:'a.'+_0x5e9ac7[_0x4381c6(0x298)]}))};}function applyFieldDictToColumns(_0x3f0151,_0x3ae3bf){const _0x1eca61=_0x161e41;for(const _0x1f17fb of _0x3ae3bf){if(typeof _0x1f17fb==='string'||!_0x1f17fb[_0x1eca61(0x315)])continue;const _0x3b1c1a=_0x1f17fb[_0x1eca61(0x298)][_0x1eca61(0x236)]('.')?_0x1f17fb[_0x1eca61(0x298)][_0x1eca61(0x1af)]('.')[_0x1eca61(0x359)]():_0x1f17fb[_0x1eca61(0x298)],_0x42c3c2=_0x3f0151['find'](_0x1b851a=>_0x1b851a[_0x1eca61(0x29a)]===_0x3b1c1a);if(_0x42c3c2)_0x42c3c2[_0x1eca61(0x315)]=_0x1f17fb[_0x1eca61(0x315)];}}function columnsFromEntity(_0x2596d5){const _0x34b8b4=_0x161e41;if(!_0x2596d5||typeof _0x2596d5!==_0x34b8b4(0x375))return[];try{const _0x1ef7aa=_0x2c3d3(_0x2596d5),_0xe1f2cc=getColumnComments(_0x2596d5),_0x553e5d=[];for(const [_0x8d7ec3,_0x4709e7]of Object[_0x34b8b4(0x20b)](_0x1ef7aa)){if(_0x8d7ec3==='tenantId')continue;const _0x22b306=_0x4709e7;_0x553e5d[_0x34b8b4(0x31e)]({'propertyName':_0x8d7ec3,'type':String(_0x22b306[_0x34b8b4(0x23a)]??_0x22b306[_0x34b8b4(0x1e7)]??_0x34b8b4(0x354)),'length':_0x22b306[_0x34b8b4(0x308)]!=null?String(_0x22b306[_0x34b8b4(0x308)]):undefined,'nullable':_0x22b306[_0x34b8b4(0x2fe)]!==!![],'source':'a.'+_0x8d7ec3,'comment':_0xe1f2cc[_0x8d7ec3]});}const _0x2848eb=new Set(['createTime',_0x34b8b4(0x340),_0x34b8b4(0x33c)]),_0x1638f7=_0x553e5d['filter'](_0xd60b87=>!_0x2848eb[_0x34b8b4(0x1bd)](_0xd60b87[_0x34b8b4(0x29a)])),_0x2edd88=_0x553e5d[_0x34b8b4(0x27b)](_0x32f0db=>_0x2848eb[_0x34b8b4(0x1bd)](_0x32f0db[_0x34b8b4(0x29a)]));return[..._0x1638f7,..._0x2edd88];}catch{return[];}}function entityNameOf(_0x2b9a23){if(!_0x2b9a23||typeof _0x2b9a23!=='object')return;try{return toPascalEntityName(_0x19343c(_0x2b9a23));}catch{return;}}function buildApis(_0x50b8b1,_0x515f6b){const _0x3ef194=_0x161e41,_0x1ac740=[],_0x149284=new Set(),_0x1db861=_0x42446c=>{const _0x334f0f=_0x17b8,_0x46b5e2=_0x42446c[_0x334f0f(0x286)]+':'+_0x42446c['path'];if(_0x149284[_0x334f0f(0x1bd)](_0x46b5e2))return;_0x149284['add'](_0x46b5e2),_0x1ac740['push'](_0x42446c);};for(const _0x1bcbb6 of _0x50b8b1[_0x3ef194(0x34b)]){const _0x59bf35=getRouteSubPath(_0x1bcbb6['path'],_0x50b8b1[_0x3ef194(0x1fb)]),_0x186cbd=_0x59bf35['startsWith']('/')?_0x59bf35:'/'+_0x59bf35,_0x369122=actionFromSubPath(_0x186cbd);_0x1db861({'method':_0x1bcbb6[_0x3ef194(0x286)][_0x3ef194(0x2d9)](),'path':_0x186cbd,'summary':_0x1bcbb6[_0x3ef194(0x30c)]??'','dts':{},'tag':'','prefix':_0x515f6b,'ignoreToken':Boolean(_0x1bcbb6[_0x3ef194(0x303)]),'ignorePerms':Boolean(_0x1bcbb6[_0x3ef194(0x27f)]),'perms':effectivePerms(_0x1bcbb6,_0x50b8b1,_0x369122)??[]});}for(const _0x1a1ed5 of _0x50b8b1[_0x3ef194(0x355)]?.[_0x3ef194(0x1c6)]??[]){const _0x479e1a='/'+_0x1a1ed5;_0x1db861({'method':_0x1a1ed5===_0x3ef194(0x2ca)?'get':_0x3ef194(0x285),'path':_0x479e1a,'summary':CRUD_SUMMARY[_0x1a1ed5]??_0x1a1ed5,'dts':{},'tag':'','prefix':_0x515f6b,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x50b8b1,_0x1a1ed5)??[]});}for(const _0x353c70 of _0x50b8b1['crud']?.[_0x3ef194(0x213)]??[]){const _0x13a935='/'+_0x353c70;_0x1db861({'method':_0x3ef194(0x285),'path':_0x13a935,'summary':_0x353c70,'dts':{},'tag':'','prefix':_0x515f6b,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x50b8b1,_0x353c70)??[]});}return _0x1ac740;}function buildEntity(_0x29ab50){const _0x35b225=_0x161e41,_0x2a6fc8=joinPrefix(getSidePrefix2(_0x29ab50[_0x35b225(0x276)]),_0x29ab50[_0x35b225(0x1fb)]),_0x46027c=lastSegment(_0x29ab50[_0x35b225(0x1fb)]),_0x31dcdf=_0x29ab50[_0x35b225(0x355)]?.[_0x35b225(0x27c)],_0x5e3f1a=columnsFromEntity(_0x31dcdf),_0x2ce211=normalizePageQueryOp(_0x29ab50[_0x35b225(0x355)]?.[_0x35b225(0x2f3)]);return applyFieldDictToColumns(_0x5e3f1a,_0x2ce211[_0x35b225(0x32e)]),{'module':_0x29ab50[_0x35b225(0x1ee)],'side':_0x29ab50[_0x35b225(0x276)],'prefix':_0x2a6fc8,'name':entityNameOf(_0x31dcdf),'info':{'type':{'name':_0x46027c,'description':_0x29ab50[_0x35b225(0x301)]??_0x46027c}},'api':buildApis(_0x29ab50,_0x2a6fc8),'columns':_0x5e3f1a,'pageQueryOp':_0x2ce211,'pageColumns':_0x5e3f1a};}function groupByModule(_0x3d55ad){const _0x2f4ca8=_0x161e41,_0x239aa4={};for(const _0x55aa3a of _0x3d55ad){const _0x3cc69f=_0x239aa4[_0x55aa3a['module']]??[];_0x3cc69f[_0x2f4ca8(0x31e)](_0x55aa3a),_0x239aa4[_0x55aa3a[_0x2f4ca8(0x1ee)]]=_0x3cc69f;}return _0x239aa4;}function isEpsEnabled(){return Boolean(VomeConfig['vome']?.['eps']);}function buildEps(_0x57d85b){const _0x1f0c87=_0x161e41;if(!isEpsEnabled())return{};return groupByModule(listControllers(_0x57d85b)[_0x1f0c87(0x310)](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps('admin'),'app':()=>buildEps('app'),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0x161e41(0x357);function joinRoute(_0x5ceb00,_0x169ae1){return joinPrefix(_0x5ceb00,_0x169ae1==='/'?'':_0x169ae1);}function asMiddlewareList(_0x3fe8f0){const _0x205e8d=_0x161e41;if(_0x3fe8f0==null)return;return Array[_0x205e8d(0x2d4)](_0x3fe8f0)?_0x3fe8f0:[_0x3fe8f0];}function appendPendingRoute(_0x2b3329,_0x45e6df){const _0x16d1da=_0x161e41,_0x570653=Reflect[_0x16d1da(0x2a8)](ROUTES_PENDING_KEY,_0x2b3329)??[];_0x570653[_0x16d1da(0x31e)](_0x45e6df),Reflect['defineMetadata'](ROUTES_PENDING_KEY,_0x570653,_0x2b3329);}function createParamDecorator(_0x5b7010){const _0x1de3b1=_0x161e41,_0x478ebd=_0x5b7010===_0x1de3b1(0x30e)?_0x1de3b1(0x1b4):_0x5b7010===_0x1de3b1(0x28d)?_0x1de3b1(0x24c):_0x1de3b1(0x2ed);return _0x4b6e42=>(_0x50b292,_0x2af437,_0x41df31)=>{const _0x131f5c=_0x1de3b1;if(_0x2af437===undefined)throw new Error(_0x131f5c(0x1eb)+_0x478ebd+_0x131f5c(0x1b1));const _0x1f5c77=_0x50b292['constructor'];appendRouteParam(_0x1f5c77,String(_0x2af437),{'index':_0x41df31,'source':_0x5b7010,'schema':_0x4b6e42});};}function pickCrudOptions(_0x69cc0a){const {api:_0x58616b,entity:_0x50c21d,service:_0x2a85e3,serviceApis:_0x485321,before:_0x4a1574,pageQueryOp:_0xf00633,listQueryOp:_0x2d1609,insertParam:_0x134a36,infoIgnoreProperty:_0x554c8b}=_0x69cc0a;if(_0x58616b==null&&_0x50c21d==null&&_0x2a85e3==null&&_0x485321==null&&_0x4a1574==null&&_0xf00633==null&&_0x2d1609==null&&_0x134a36==null&&_0x554c8b==null)return;return{'api':_0x58616b,'entity':_0x50c21d,'service':_0x2a85e3,'serviceApis':_0x485321,'before':_0x4a1574,'pageQueryOp':_0xf00633,'listQueryOp':_0x2d1609,'insertParam':_0x134a36,'infoIgnoreProperty':_0x554c8b};}function Controller(_0x51d950=''){const _0x19db1d=_0x161e41,_0x1be8f2=typeof _0x51d950===_0x19db1d(0x354),_0x5ee1e7=_0x1be8f2?{'prefix':_0x51d950}:_0x51d950;return _0x477e95=>{const _0x40dbb1=_0x19db1d;registerProvider({'token':_0x477e95,'useClass':_0x477e95,'scope':_0x40dbb1(0x203)});const _0x3e950d=getControllerScanContext(),_0x4b08b1=_0x1be8f2&&_0x51d950===''||!_0x1be8f2&&(_0x5ee1e7[_0x40dbb1(0x1fb)]==null||_0x5ee1e7[_0x40dbb1(0x1fb)]===''),_0xa2a7=normalizePrefix(_0x4b08b1&&_0x3e950d?.[_0x40dbb1(0x341)]?parseControllerAutoPrefix(_0x3e950d[_0x40dbb1(0x341)]):_0x5ee1e7['prefix']??''),_0x2c3997=Reflect['getMetadata'](ROUTES_PENDING_KEY,_0x477e95)??[],_0x2b9875=pickCrudOptions(_0x5ee1e7);registerController({'token':_0x477e95,'prefix':_0xa2a7,'module':_0x5ee1e7[_0x40dbb1(0x1ee)]??_0x3e950d?.[_0x40dbb1(0x1ee)]??_0x40dbb1(0x26f),'side':_0x5ee1e7['side']??_0x3e950d?.[_0x40dbb1(0x276)]??_0x40dbb1(0x1d3),'description':_0x5ee1e7[_0x40dbb1(0x301)],'file':_0x3e950d?.['file'],'middleware':asMiddlewareList(_0x5ee1e7[_0x40dbb1(0x2e3)]),'crud':_0x2b9875,'routes':_0x2c3997[_0x40dbb1(0x310)](_0x357dec=>{const _0x42c40c=_0x40dbb1,_0x156d50=getRouteParams(_0x477e95,_0x357dec['handler']),_0x4f442a=schemaFromParams(_0x156d50),_0x57482f=[..._0x357dec[_0x42c40c(0x2e3)]??[],...getRouteMiddleware(_0x477e95,_0x357dec['handler'])];return{..._0x357dec,'path':joinRoute(_0xa2a7,_0x357dec['path'][_0x42c40c(0x1f7)]('/')?_0x357dec['path'][_0x42c40c(0x23e)](0x1):_0x357dec['path']),'params':_0x156d50,'body':_0x4f442a?.[_0x42c40c(0x28d)],'query':_0x4f442a?.['query'],'routeParams':_0x4f442a?.[_0x42c40c(0x30e)],'public':isRoutePublic(_0x477e95,_0x357dec[_0x42c40c(0x22c)]),'ignorePerms':isRouteIgnorePerms(_0x477e95,_0x357dec[_0x42c40c(0x22c)]),'perms':getRoutePerms(_0x477e95,_0x357dec['handler']),'middleware':_0x57482f[_0x42c40c(0x308)]?_0x57482f:undefined};})}),Reflect[_0x40dbb1(0x30f)](ROUTES_PENDING_KEY,_0x477e95),clearRouteParams(_0x477e95),clearRoutePublic(_0x477e95),clearRouteMiddleware(_0x477e95),clearRoutePerms(_0x477e95),clearRouteIgnorePerms(_0x477e95);};}function Use(..._0x9ea25e){return(_0x21c2b3,_0x11071f)=>{const _0x402002=_0x21c2b3['constructor'];appendRouteMiddleware(_0x402002,String(_0x11071f),_0x9ea25e);};}function createMethodDecorator(_0x560635){return(_0x3d1077='',_0x968fd0)=>(_0x53cfda,_0x18aaaf)=>{const _0x1a2faf=_0x17b8,_0x38e40e=_0x53cfda['constructor'];appendPendingRoute(_0x38e40e,{'method':_0x560635,'path':_0x3d1077,'handler':String(_0x18aaaf),'summary':_0x968fd0?.[_0x1a2faf(0x30c)]});};}function Public(){return(_0xd56d5,_0x4b4299)=>{const _0x33a2b6=_0xd56d5['constructor'];markRoutePublic(_0x33a2b6,String(_0x4b4299));};}function Perms(..._0x3ee7b3){return(_0x3f6253,_0x15aa72)=>{const _0x432938=_0x17b8,_0x3d0662=_0x3f6253[_0x432938(0x37a)];setRoutePerms(_0x3d0662,String(_0x15aa72),_0x3ee7b3);};}function IgnorePerms(){return(_0x214842,_0x1793a)=>{const _0x55e82c=_0x17b8,_0x51e270=_0x214842[_0x55e82c(0x37a)];markRouteIgnorePerms(_0x51e270,String(_0x1793a));};}var Body=createParamDecorator(_0x161e41(0x28d)),Query=createParamDecorator(_0x161e41(0x1d1)),Param=createParamDecorator('params'),Get=createMethodDecorator(_0x161e41(0x25b)),Post=createMethodDecorator(_0x161e41(0x30a)),Put=createMethodDecorator(_0x161e41(0x27a)),Delete=createMethodDecorator(_0x161e41(0x299)),Patch=createMethodDecorator(_0x161e41(0x245));class BasePlugin{[_0x161e41(0x21e)];[_0x161e41(0x26e)];[_0x161e41(0x23f)];[_0x161e41(0x352)];async['init'](_0xb7afa3,_0x5112b0,_0x354c64,_0x270be9){const _0x50059e=_0x161e41;this[_0x50059e(0x21e)]=_0xb7afa3,this[_0x50059e(0x26e)]=_0x5112b0,this[_0x50059e(0x23f)]=_0x270be9?.['cache'],this['pluginService']=_0x270be9?.[_0x50059e(0x352)],await this['ready']();}async['ready'](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';import{join as _0x382c8e}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0x48a378}from'path';function pDataPath(){const _0x5256ed=_0x161e41,_0x1111ac=createHash('md5')[_0x5256ed(0x1f6)](String(VomeConfig[_0x5256ed(0x1d0)]??_0x5256ed(0x2ef)))['digest'](_0x5256ed(0x228));return _0x48a378(homedir(),_0x5256ed(0x32d),_0x1111ac);}function pPluginPath(){return _0x48a378(pDataPath(),'plugin');}function pModulesPath(){const _0x6c8f59=_0x161e41;return _0x48a378(pDataPath(),_0x6c8f59(0x1e8));}function pModulePath(_0x4b5105){return _0x48a378(pModulesPath(),_0x4b5105);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x210b80){if(_0x210b80==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x210b80);}function loadPluginClass(_0x494d00){const _0x43897f=_0x161e41;try{const _0x22e406=_0x494d00[_0x43897f(0x1b3)](/export\s+const\s+Plugin\s*=/g,_0x43897f(0x356))[_0x43897f(0x1b3)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')['replace'](/export\s+const\s+handlers\s*=/g,_0x43897f(0x1e4))[_0x43897f(0x1b3)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')[_0x43897f(0x1b3)](/export\s+class\s+(\w+)/g,_0x43897f(0x319))[_0x43897f(0x1b3)](/export\s+default\s+/g,'')[_0x43897f(0x1b3)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x43897f(0x1b3)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x43897f(0x1b3)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x43897f(0x2af)),_0x3cc49f=new Function('BasePlugin','require',_0x43897f(0x1ee),_0x43897f(0x36b),_0x22e406+_0x43897f(0x289)),_0x5d1510={'exports':{}};return _0x3cc49f(BasePlugin,pluginRequire,_0x5d1510,_0x5d1510[_0x43897f(0x36b)]);}catch(_0x360c08){throw new Error(_0x43897f(0x2aa)+(_0x360c08 instanceof Error?_0x360c08[_0x43897f(0x1c0)]:String(_0x360c08)));}}function readPluginScript(_0x362e61){const _0x33e888=_0x161e41,_0x360757=_0x382c8e(pModulePath(_0x362e61),_0x33e888(0x217),_0x33e888(0x1df));if(existsSync(_0x360757))return readFileSync(_0x360757,_0x33e888(0x202));const _0x4b9444=_0x382c8e(pPluginPath(),_0x362e61);if(!existsSync(_0x4b9444))return;try{const _0x1b2ceb=JSON[_0x33e888(0x278)](readFileSync(_0x4b9444,'utf8'));return _0x1b2ceb['content']?.[_0x33e888(0x2b9)];}catch{return;}}import{existsSync as _0x11f7b5,readFileSync as _0x1cf801,readdirSync as _0x18736b,statSync}from'fs';import{createRequire as _0x5b6295}from'module';import{join as _0x243e2a}from'path';var registry2=new Map(),hostRequire2=_0x5b6295(import.meta.url);function pluginRequire2(_0x254054){if(_0x254054==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0x254054);}function normalizePath(_0x57838e){const _0x3c6cde=_0x161e41,_0x58e649=_0x57838e[_0x3c6cde(0x1f7)]('/')?_0x57838e:'/'+_0x57838e;return _0x58e649[_0x3c6cde(0x1b3)](/\/+$/,'')||'/';}function normalizeMethod(_0x5dcf53){const _0x17aa7a=_0x161e41;return _0x5dcf53[_0x17aa7a(0x1d2)]();}function normalizeModuleScript(_0x16f737){const _0x5716d7=_0x161e41;return _0x16f737['replace'](/export\s+const\s+handlers\s*=/g,_0x5716d7(0x1e4))[_0x5716d7(0x1b3)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')[_0x5716d7(0x1b3)](/export\s+default\s+\{/g,_0x5716d7(0x25d))[_0x5716d7(0x1b3)](/export\s+const\s+Plugin\s*=/g,_0x5716d7(0x356))[_0x5716d7(0x1b3)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x5716d7(0x1b3)](/export\s+class\s+(\w+)/g,_0x5716d7(0x319))[_0x5716d7(0x1b3)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')['replace'](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x5716d7(0x1b3)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x5716d7(0x2af));}function loadModuleHandlers(_0x14cb79,_0x1384b9=!![]){const _0x142569=_0x161e41,_0xf58d0=normalizeModuleScript(_0x14cb79),_0x20c526=new Function(_0x142569(0x2d8),_0x142569(0x2c1),_0x142569(0x1ee),_0x142569(0x36b),_0xf58d0+_0x142569(0x2db)),_0x1e437b={'exports':{}},_0x5b51d6=_0x20c526(BasePlugin,pluginRequire2,_0x1e437b,_0x1e437b['exports']);if(!_0x5b51d6||typeof _0x5b51d6!==_0x142569(0x375)){if(_0x1384b9)throw new Error(_0x142569(0x243));return{};}return _0x5b51d6;}var ModuleRegistry={'get'(_0x314b70){return registry2['get'](_0x314b70);},'list'(){const _0x449b8b=_0x161e41;return[...registry2['entries']()][_0x449b8b(0x310)](([_0x34f81a,_0x5739b3])=>({'key':_0x34f81a,'manifest':_0x5739b3[_0x449b8b(0x1fe)],'routes':_0x5739b3[_0x449b8b(0x34b)]}));},'load'(_0x2a61a6){const _0x1feba2=_0x161e41;if(!_0x2a61a6||!/^[a-zA-Z0-9_-]+$/[_0x1feba2(0x259)](_0x2a61a6))throw new Error(_0x1feba2(0x2eb)+_0x2a61a6);const _0x735114=pModulePath(_0x2a61a6),_0x22bab7=_0x243e2a(_0x735114,_0x1feba2(0x331));if(!_0x11f7b5(_0x22bab7))throw new Error(_0x1feba2(0x1b8)+_0x2a61a6);const _0x3ba5ad=JSON['parse'](_0x1cf801(_0x22bab7,_0x1feba2(0x202))),_0x48e15d=(_0x3ba5ad['routes']??[])[_0x1feba2(0x310)](_0x34a274=>({..._0x34a274,'method':normalizeMethod(_0x34a274[_0x1feba2(0x286)]),'path':normalizePath(_0x34a274[_0x1feba2(0x277)])}));let _0x453563={};const _0x1058cb=_0x243e2a(_0x735114,_0x1feba2(0x217),'index.js');if(_0x11f7b5(_0x1058cb)){const _0x4da68d=_0x1cf801(_0x1058cb,_0x1feba2(0x202));_0x453563=loadModuleHandlers(_0x4da68d,_0x48e15d['length']>0x0);for(const _0x39a9fe of _0x48e15d){if(typeof _0x453563[_0x39a9fe[_0x1feba2(0x22c)]]!=='function')throw new Error(_0x1feba2(0x345)+_0x2a61a6+_0x1feba2(0x379)+_0x39a9fe[_0x1feba2(0x22c)]);}}else{if(_0x48e15d[_0x1feba2(0x308)])throw new Error('模块\x20'+_0x2a61a6+_0x1feba2(0x378));}return registry2[_0x1feba2(0x368)](_0x2a61a6,{'manifest':_0x3ba5ad,'handlers':_0x453563,'routes':_0x48e15d}),registry2[_0x1feba2(0x2fb)](_0x2a61a6);},'unload'(_0x1d47a1){const _0x4c5a8c=_0x161e41;registry2[_0x4c5a8c(0x1e2)](_0x1d47a1);},async 'dispatch'(_0x502cff,_0x3f44a7,_0x4fcb2e,_0x14df4f){const _0x2b2339=_0x161e41,_0x4c4d45=registry2[_0x2b2339(0x2fb)](_0x502cff);if(!_0x4c4d45)return{'ok':![],'status':0x194,'message':'\u6A21\u5757\u672A\u52A0\u8F7D'};const _0x539fd6=normalizeMethod(_0x3f44a7),_0x36259c=normalizePath(_0x4fcb2e),_0x331cc9=_0x4c4d45[_0x2b2339(0x34b)]['find'](_0x163ba6=>_0x163ba6[_0x2b2339(0x286)]===_0x539fd6&&_0x163ba6[_0x2b2339(0x277)]===_0x36259c);if(!_0x331cc9)return{'ok':![],'status':0x194,'message':_0x2b2339(0x206)};const _0x2c35fb=_0x4c4d45[_0x2b2339(0x229)][_0x331cc9[_0x2b2339(0x22c)]];if(typeof _0x2c35fb!==_0x2b2339(0x2cf))return{'ok':![],'status':0x1f4,'message':'handler\x20缺失:\x20'+_0x331cc9[_0x2b2339(0x22c)]};try{const _0xe1c817=await _0x2c35fb(_0x14df4f);return{'ok':!![],'data':_0xe1c817,'route':_0x331cc9};}catch(_0x458546){const _0x340119=_0x458546 instanceof Error?_0x458546[_0x2b2339(0x1c0)]:String(_0x458546);return{'ok':![],'status':0x1f4,'message':_0x340119,'route':_0x331cc9};}},'bootstrap'(){const _0x35a42d=_0x161e41,_0x2ff1b0=pModulesPath();if(!_0x11f7b5(_0x2ff1b0))return;for(const _0x2f9b8d of _0x18736b(_0x2ff1b0)){const _0x50bcc1=_0x243e2a(_0x2ff1b0,_0x2f9b8d);if(!statSync(_0x50bcc1)[_0x35a42d(0x371)]())continue;if(!_0x11f7b5(_0x243e2a(_0x50bcc1,_0x35a42d(0x331))))continue;try{this[_0x35a42d(0x1ed)](_0x2f9b8d),console['log'](_0x35a42d(0x29c)+_0x2f9b8d);}catch(_0xe1fc52){console[_0x35a42d(0x2a5)](_0x35a42d(0x322)+_0x2f9b8d+':',_0xe1fc52 instanceof Error?_0xe1fc52[_0x35a42d(0x1c0)]:_0xe1fc52);}}}};import{existsSync as _0x505777,statSync as _0x1b278a}from'fs';import{join as _0x5eab88,normalize,sep}from'path';import{Elysia as _0x24b6d6}from'elysia';var PREFIX=_0x161e41(0x293);function contentType(_0x143977){const _0x10be64=_0x161e41,_0xde12fc=_0x143977[_0x10be64(0x2d9)]();if(_0xde12fc[_0x10be64(0x27d)](_0x10be64(0x1be)))return _0x10be64(0x35f);if(_0xde12fc[_0x10be64(0x27d)](_0x10be64(0x35e))||_0xde12fc[_0x10be64(0x27d)](_0x10be64(0x302)))return _0x10be64(0x215);if(_0xde12fc['endsWith'](_0x10be64(0x231)))return _0x10be64(0x28e);if(_0xde12fc[_0x10be64(0x27d)](_0x10be64(0x1cc)))return _0x10be64(0x2a3);if(_0xde12fc['endsWith']('.svg'))return'image/svg+xml';if(_0xde12fc['endsWith']('.png'))return _0x10be64(0x264);if(_0xde12fc[_0x10be64(0x27d)](_0x10be64(0x358))||_0xde12fc['endsWith']('.jpeg'))return'image/jpeg';if(_0xde12fc[_0x10be64(0x27d)]('.woff2'))return _0x10be64(0x297);if(_0xde12fc[_0x10be64(0x27d)](_0x10be64(0x2d1)))return'font/woff';if(_0xde12fc[_0x10be64(0x27d)](_0x10be64(0x1c8)))return _0x10be64(0x334);return _0x10be64(0x1f3);}var microApps=new _0x24b6d6({'name':_0x161e41(0x2f1)})['get'](PREFIX+'/*',({params:_0x1e4262,set:_0x5ef4e9})=>{const _0x4c874e=_0x161e41,_0x3b53ab=String(_0x1e4262['*']||''),_0xbca45d=_0x3b53ab[_0x4c874e(0x1af)]('/')[_0x4c874e(0x27b)](Boolean);if(!_0xbca45d[_0x4c874e(0x308)])return _0x5ef4e9[_0x4c874e(0x2cb)]=0x194,_0x4c874e(0x1e6);const _0x9793ad=_0xbca45d[0x0];if(!/^[a-zA-Z0-9_-]+$/[_0x4c874e(0x259)](_0x9793ad))return _0x5ef4e9[_0x4c874e(0x2cb)]=0x190,'Invalid\x20app\x20key';const _0x2ea1b1=_0x5eab88(pModulePath(_0x9793ad),'web');if(!_0x505777(_0x2ea1b1)||!_0x1b278a(_0x2ea1b1)[_0x4c874e(0x371)]())return _0x5ef4e9[_0x4c874e(0x2cb)]=0x194,_0x4c874e(0x21a);let _0x480b4d=_0xbca45d[_0x4c874e(0x23e)](0x1)['join']('/')||'index.html';if(_0x480b4d[_0x4c874e(0x27d)]('/'))_0x480b4d+='index.html';const _0x105bea=normalize(_0x5eab88(_0x2ea1b1,_0x480b4d));if(!_0x105bea[_0x4c874e(0x1f7)](_0x2ea1b1+sep)&&_0x105bea!==_0x2ea1b1)return _0x5ef4e9[_0x4c874e(0x2cb)]=0x193,'Forbidden';let _0x5859a3=_0x105bea;_0x505777(_0x5859a3)&&_0x1b278a(_0x5859a3)[_0x4c874e(0x371)]()&&(_0x5859a3=_0x5eab88(_0x5859a3,_0x4c874e(0x2f8)));if(!_0x505777(_0x5859a3)||!_0x1b278a(_0x5859a3)['isFile']())return _0x5ef4e9[_0x4c874e(0x2cb)]=0x194,_0x4c874e(0x1e6);return _0x5ef4e9['headers']['content-type']=contentType(_0x5859a3),_0x5ef4e9[_0x4c874e(0x1f5)][_0x4c874e(0x252)]=_0x4c874e(0x328),_0x5ef4e9[_0x4c874e(0x1f5)][_0x4c874e(0x1e0)]='*',Bun[_0x4c874e(0x341)](_0x5859a3);});import{Elysia as _0x11ef9b}from'elysia';function ok(_0x41cb95){return{'code':RES_CODE['SUCCESS'],'message':'success','data':_0x41cb95??null};}function fail(_0x4a18d3,_0x3459a1=RES_CODE[_0x161e41(0x31f)]){return{'code':_0x3459a1,'message':_0x4a18d3};}function _0x456b(){const _0x91140e=['l2rLBgv0zq','z2v0uMvWBW','ioE8UUwWKsb0B2TLBIdMIjyGCMvZB2X2zq','zgvWyxj0BwvUDeLK','C2nOzw1H','Aw5KzxGUANm','ywnJzxnZlwnVBNrYB2WTywXSB3CTB3jPz2LU','rgf0zvrPBwvgB3jTyxq','zgvSzxrL','C2f2zq','DMfYigHHBMrSzxjZid0','Bw9KAwz5qwz0zxi','tM90iezVDw5K','y29SDw1UvhLWzq','Bw9KDwXLCW','DM9TztPJB250CM9SBgvYoNjVDxrLlxbLCM1Z','zgvSzxrLigzHAwXLza','w0nVBNrYB2XSzxjDiea','y2XPzw50','Bg9Hza','Bw9KDwXL','jg9UvxbKyxrL','5yIg6Ag15P+L6k+I','DhLWAw5NCY9Hzg1PBG','mtq4mZu1nfzWv3rwDW','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','q2fJAgu','AgvHzgvYCW','DxbKyxrL','C3rHCNrZv2L0Aa','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','zw5K','ioMCGoMfJEE9RIbLBNrPDhKG5OIwihnLCNzPy2u','ChjLzML4','DhLWzq','DxbKyxrLqNLsB3DZ','BwfUAwzLC3q','xJaUms4Xma','l2fKBwLU','C3rVCa','DxrMoa','C2LUz2XLDg9U','C2nVCgvK','kgfUB255Bw91CYK','6lEV55sX5lIn5A2y5zYO','5QIH5z2x5PYQ5A6j6kof5OIw5PYQ5yQG6l29','zgvMyxvSDe5VDW','CMvZDg9Yzq','DxbKyxrLigzHAwXLza','zw50CMLLCW','B25SEvrYyxnOzwq','AM9PBG','ignVBNrYB2XSzxiGzMLSzsHZkq','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVyxbWlYOQlYOUDhm','zgf0yvnJB3bL','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','Aw5MB0LNBM9YzvbYB3bLCNr5','C2vYDMLJzufWAxm','Bwf0y2G','yxbWBgLJyxrPB24VAMf2yxnJCMLWDdSGy2HHCNnLDd11DgyToa','zgf0yvnJB3bLrgvWDeLKCW','C2vYDMvY','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','z2v0rNvSBfLLyxi','qxbWig5VDcbMB3vUza','AxntDxbLCG','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','y3jLyxrLvgLTzq','CgX1z2LUsw5MBW','C3jJl2nVBMzPzW','y29UDhjVBgXLCG','B3jKzxjcEq','ChjVDg90ExbL','AhjLzG','zM9YBwf0','Cg9YDa','u0Lhsu5u','y2fSBa','Agv4','AgfUzgXLCNm','DM9TztPPBMPLy3q','y2yTy29UBMvJDgLUzY1PCa','AgfUzgXLCG','yxn5BMndB250zxH0twfUywDLCG','DhjPBq','w0HVC3rDihnRAxaG4OAqig1PC3nPBMCG','pJ0WlJiUma','lMnZCW','ioMfJEE9RUs6HIbZzxj2AwnLqxbPC++8JoMCGowqJoAxTUMfJEE9RIbZzxj2AwnL','CNvU','ywrTAw5jza','ioMhJEwKJsba','Aw5JBhvKzxm','zMLUzej5swq','CMvXDwvZDfbHCMfT','C3rHCNq','zgf0yvr5Cgu','yxv0B0nYDwq','w0LVy10G5PYQ55+L5l2C55sO5z+FoIa','AxngAw5PDgu','C2XPy2u','y2fJAgu','zMLUza','w0LVy10G5Qoa5Rwl5yIW5B6Q546V5l6D6lwwoIa','lI9KAxn0l2LUzgv4lMPZ','BwLZC2LUzYbLEhbVCNqGAgfUzgXLCNm','q29TBuv4y2vWDgLVBG','uefuq0G','AgfZrw50Axr5','kqOGia','mI1KAwDPDa','tuLu','zgvIDwC','Aw5Zzxj0ugfYyw0','qM9KEq','Bgf0zxn0','DMfSDwvZ','ieLticC','w0LVy10G5PYQ5RoO5yAm55QeifbYB3zPzgvYoIa','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVywrTAw4VkIOVkI50CW','y2fJAguTy29UDhjVBa','Cgf0y2G','CgLKlgHVC3rUyw1L','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xMGAlLPi0','ihnLCNzPy2uSia','zgvZAwDUoNr5Cgu','pJ0ZlJuUma','DgvZDa','y3DK','r0vu','C2nHBG','DMfYigHHBMrSzxjZid0GEW','lw1Hy3jV','Bw9KDwXLr2f0zxDHEq','BNvTzxjPyW','CMfUzg9Tvvvjra','B3bLCMf0Aw9UvgL0BgvtB3vYy2u','Dg9Rzw4','Aw1Hz2uVCg5N','Bgf5B3v0','Dw5ZywzL','C2L6zq','CMfUz2u','BgLZDff1zxj5t3a','DgfIBgu','C29MDerLBgv0zq','Ahr0CdOVl2XVy2fSAg9ZDdO','CMvXDwvZDeXVzW','y3r4','Dw5RBM93BG','Ahr0CdOVl2XVy2fS','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','zw5HyMXL','CMvXDwLYzuvUDgL0Eq','BgvMDePVAw4','BgLZDa','C2LKzq','Cgf0Aa','CgfYC2u','pJ05lJaUma','ufvu','zMLSDgvY','zw50Axr5','zw5KC1DPDgG','z2v0u1fm','AwDUB3jLugvYBxm','Bw9Kzq','DxjS','zM9Yy2vezwXLDgu','y3jLyxrL','yMvMB3jL','Cg9ZDa','Bwv0Ag9K','zNjVBq','yMLUzevUDgL0Eq','cNzHCIbFx1bSDwDPBIa9icH0ExbLB2yGugX1z2LUice9psaNDw5KzwzPBMvKjYKkica/ifbSDwDPBGOGidOGkg1VzhvSzs5LEhbVCNrZicyMicHTB2r1BguUzxHWB3j0CY5qBhvNAw4GFhWGBw9KDwXLlMv4Cg9YDhmUzgvMyxvSDcb8FcbTB2r1BguUzxHWB3j0CYKPoWPPzIaODhLWzw9Mif9FugX1z2LUid09psaNDw5KzwzPBMvKjYb8FcbFx1bSDwDPBIa9pt0GBNvSBcKGEWOGihrOCM93ig5LDYbfCNjVCIGNBwLZC2LUzYbLEhbVCNqGugX1z2LUjYK7cN0kCMv0DxjUif9FugX1z2LUoW','C3jJl2XPyI9TB2r1BguVAw5KzxGUDhm','AxnuvfK','C29Tzq','yM9KEq','Dgv4Dc9JC3m7ignOyxjZzxq9DxrMltG','ios4JEAyR+ACIEAvIcbOyw5KBgvY','ksdPNidOPOeGy2XHC3mG5A6E5l6l77Ym5lUL5l6/56gU5A6AihvZzunSyxnZ','ioMfJEE9RUs6HIbHCgKVC2vYDMLJzufWAxpVViZKVyBMNkRMIB7LIlaGq1jvrcdLRP7NJRdVViHaDM9Tzs1JB3jLigf0DgfJAenYDwrsB3v0zxmG5PYQ5OYc6l2977Yj','xJeZlJeUmW','l3zVBwuVyxbWCW','q09ntuvovcbptIbdt0Xvtu4G','DM9TztPJB250CM9SBgvYoNjVDxrLlxbHCMfTCW','yNvUihnJCMLWDhmVyNvPBgqTywrTAw4UDhm','zM9UDc93B2zMmG','y29SDw1U','revmrvrf','ChjVCgvYDhLoyw1L','xJaUmI4Y','w01VzhvSzv0GBg9HzgvKia','w1jVDxrLCL0G','D3jPDgu','cUkwIokwIokvLYaGiokwIokwIokvLYaGiokwIokwIokwIokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcUkwIokwIokvKsaGiokwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4PwxicdILOJILOJILOJILOJILzCG4PAi4PAi4PAi4PAi4PwricdILOJILOJILztILzdILzdILzdILzdILz0k4PAi4PAi4PwricaG4PAi4PAi4PwricdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvLokwIokwIokwIokwIokvLokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PwxcIdILOJILOJILzCG4PAi4PAi4Pwu4PwDicdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvKEkvMUkwIokwIokvLokvNEkwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4PwDcIaG4PwA4PAi4PAi4PAi4Pwu4PwDicaG4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwDicdILOJILOJILzeG4PwA4Pwq4PwDiokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcIaGiokvMUkvKokvKokvNsaGicaG4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4PwDicaG4PwA4Pwq4PwDicaGicdILzRILzdILz0GiokvMUkvKokvKokvKokvKokvKokvKokvNqO','yNvUihj1BIbIDwLSzcaMjIbIDw4GCNvUig9IzNvZy2f0zq','z2v0vgLTzq','Aw5UzxjkB2LU','yxbWBgLJyxrPB24VANnVBJSGy2HHCNnLDd11DgyToa','l3bHz2u','D2fYBG','DM9TztPJB250CM9SBgvYoNjVDxrLlw1PzgrSzxDHCMu','vgfZAW','z2v0twv0ywrHDge','ywrKt3jKzxjcEq','w1bSDwDPBL0G5yQG6l295AsX6lsLoIa','zxH0zw5K','xJeWlJmUmq','DgvUyw50swq','C3rYAw5NAwz5','khSGqMfZzvbSDwDPBIb9kq','y29TBwvUDa','AwrZihjLCxvPCMvK','pJ0Xmc4WlJa','mJqZndm5n3bxvMrbDa','DgvUyw50','z2v0u3rVCMu','CM91DgvqyxjHBxm','C2vSzwn0','CgvYBxm','zgf0yq','BM93','y29SDw1Ux25HBwu','lI9KAxn0l2fKBwLUl2LUzgv4lMqUDhm','B25czwzVCMviyw5KBgu','A2v5v29Yza','xJeUnc4Xnq','zg9JDw1LBNrHDgLVBG','CMvXDwLYzq','ywXS','C3fS','u0Lhvevstq','zgLZDa','Aw5KzxG','w1f1zxj5t3bDioIHQoAxOowTL+AUTtOG','zgLZCgf0y2G','DM9Tzs1JB3jL','Aw5MBW','C3rHDhvZ','Bwf4','BgLZDcbMywLSzwq','ihjVDxrLkhmP','zNvUy3rPB24','nJqXotaXnKjpz3b2wq','lNDVzMy','w1jLCg9ZAxrVCNLDioIHQoAxOcbPzcdLIjFVViZOR7FMLlNNLkGGzMLUzcH3AgvYzsKGlYbMAw5Kt25LkhDOzxjLkq','yMLUza','AxnbCNjHEq','C2nVCgvKv2HLCMu','C2vYDMLJzq','lI9KAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','qMfZzvbSDwDPBG','Dg9mB3DLCKnHC2u','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','cMLMicH0ExbLB2yGAgfUzgXLCNmGpt09icD1BMrLzMLUzwqNksbYzxr1CM4GBNvSBdSkCMv0DxjUigHHBMrSzxjZoW','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','B2zMC2v0','C3jJl21PzgrSzxDHCMuVAw5KzxGUDhm','Axnoyu4','pJ0YlJaUma','BgLTAxq','nZe5mJu4CKrXsw9Z','BwLKzgXLD2fYzq','B25szxf1zxn0','zMLLBgrsyw5Nzq','yxbW','qNvU','ios4JEAyR+ACIEAvIoAwUEAZLq','z2v0tw9UDgG','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','6z2E5Rov5QIH5z2xigTLEtOG','yMvMB3jLsgfUzgXL','uxvLCNK','C3vWCg9YDhntB2z0rgvSzxrL','DM9Tzq','lI9KAxn0l2fKBwLUlYO','BwLJCM8TyxbWCY1ZDgf0Awm','Aw5MBYbMywLSzwq','CgfNzvf1zxj5t3a','u1vdq0vtuW','l2fKBwLUl2v4Dc86A2v5lYO','C3jJl2XPyI9JywnOzs9PBMrLEc50CW','B25Jzq','Aw5KzxGUAhrTBa','CMv0DxjUAw5N','zhjPENPSzq','z2v0','Ec1YzwfSlwLW','Ec1MB3j3yxjKzwqTzM9Y','BM90tNvSBa','y29Kzq','icHJCNvKkq','zgvZy3jPChrPB24','lM1QCW','ChvIBgLJ','yxnZAwDU','BgfZDeLUzgv4t2y','w0HVC3rDihnJyw4G4OAqia','zMLLBgrbCNjHEq','BgvUz3rO','l2rVy3m','ue9tva','C3jJl3nOyxjLza','C3vTBwfYEq','C3rHDhvZq29Kzq','CgfYyw1Z','zgvSzxrLtwv0ywrHDge','BwfW','B3jKzxjcEvnXBa','y2XHC3nPyW','DM9TztPJB250CM9SBgvYoNjVDxrLlxb1yMXPyW','zgv2lNrZ','zgLJDa','w1jLCg9ZAxrVCNLDioAjUEMhJ+ABToAwSoAVJ+ADOEMCGow4PIbPza','BNvTyMvY','Aw5Zzxj0','y2XHC3mGjde','mZi4mtaZmtjKuNLsv2W','g1SYsHTBsa','DMfSDwu','l2fKBwLUl2v4Dc86A2v5','ChvZAa','rvjst1i','qxnPys9tAgfUz2HHAq','y2XVC2u','w01VzhvSzv0GBg9HzcbMywLSzwqG','Bg9Nz2LUzW','C3LTyM9S','zMfPBa','pJ0WlJmWlJa','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','BM8Ty2fJAgu','zgvMAw5Ltwv0ywrHDge','zgv2','D2HLCMu','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','lNzVBwu','zMLLBgrfCq','Bg9N','C3rKB3v0','Bw9KDwXLlMPZB24','5yIG6zMK5PE26zE0','l2LUzM8','yxbWBgLJyxrPB24VANnVBG','Bw9KDwXLlwDHDgv3yxK','A2v5v29YzeXPA2vgAwvSzhm','DMvYC2LVBG','ywrKigzHAwXLza','ihnPBMDSzxrVBIHZkq','C2v0rw50Axr5','zMLUzfbHz2u','zgvSzxrLzef0','DxbZzxj0','ugX1z2LU','AxnfCNjVCG','DxbKyxrLvgLTzq','zMLSzq','BM90igzVDw5K','l3jLC3rVCMu','DxnL','5QIH5z2xia','C2nHBgfY','BwLU','y2HHCKf0','w0LVy10GyM9VDhn0CMfWiokgKca','C291CMnL','CM91DgvZ','DgfNCW','qxv0Aa','D2L0AfrYyxnOzwq','y291BNq','nhnbEvjtuG','u1LtoNn0yw5KyxjK','CgX1z2LUu2vYDMLJzq','zgvMyxvSDc50CW','C3rYAw5N','y3j1za','DMfYifbSDwDPBIa9','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','lMPWzW','Cg9W','l3vWzgf0zq','zMLUze9Uzq','zgvMyxvSDa','Bw9KAwz5qMvMB3jL','lMPZ','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','B2zM','BM9Uzq','CgfNzsbMywLSzwq','CMvZB2X2zuLKv2HLCMu','cIaGicbtruXfq1qkicaGicaGyY5YzwXUyw1LieftihrHyMXLx25HBwuScIaGicaGigeUyxr0BMfTzsbbuYbJB2X1Bw5FBMfTzsWkicaGicaGy29Sx2rLC2nYAxb0Aw9UkgeUyxr0CMvSAwqSigeUyxr0BNvTksbbuYbJB21Tzw50cIaGicbguK9nihbNx2nHDgfSB2CUCgDFy2XHC3mGyWOGicaGsK9jtIbWz19JyxrHBg9NlNbNx25HBwvZCgfJzsbUie9oig4UB2LKid0GyY5YzwXUyw1LC3bHy2ukicaGiePpsu4GCgDFy2f0ywXVzY5Wz19HDhrYAwj1DguGysbptIbHlMf0DhjLBgLKid0GyY5VAwqkicaGifDirvjfigmUCMvSA2LUzca9icDYjWOGicaGicbbtKqGBI5UC3bUyw1Lid0Gy3vYCMvUDf9Zy2HLBweOkqOGicaGicbbtKqGys5HDhrUDw0GpIaWcIaGicaGieforcbot1qGys5HDhrPC2rYB3bWzwqkicaGicaGqu5eigmUCMvSBMfTzsbjtIaO','lI90ExbPBMDZl2fKBwLUlYO','A2v5','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','C2v0','ywrK','l2fKza','zxHWB3j0CW','mJC1mZCWvu1dzez0','ioEAHoEXU+wEI++8JoIVT+AyVUw8J+s8OowfPsb0B2TLBG','zw52','z2v0rgf0zq','yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','AxneAxjLy3rVCNK','CgfYC2vjBNnLCNq','x19ZA2LWvgvUyw50','tw9KDwXL','B2jQzwn0','C3LZDgvT','5y2v5lIQ5l+H5OgV','iowJSoAyJUs6HIbYB3v0zxmG5l2g57Y65BcrihnLCNzLCI9PBMrLEc5QCW','ioE8UUwWKsbOyw5KBgvYoIa','y29UC3rYDwn0B3i','mJa0ntGXneHXDKnIra','5PU05PAW5PE26zE0','8j+tOsdMNi3LIQhLNldLNya6ia','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','tK9erv9ftLy','C3jJl2XPyI9KyI9PBMrLEc50CW','6z2E5Rov5QIH5z2xigTLEq','yNvUihj1BIbIDwLSzdPVyMz1C2nHDgu','BgLZDgvU','uMvXDwvZDa','CgfKu3rHCNq','BMfTzq','lI9KAxn0l2LUzgv4lMqUDhm','Bg9JywXLq29TCgfYzq','DxnLq2XHC3m','C29YDa','l2fWCa','C3jJl2XPyI9WBhvNAw4VAw5KzxGUDhm','C3bSAxq','zxjYB3i','iowpQUIdVEEuQos6JUAwUEAZLEwpGUAvSa','Bwf4rgf5CW','CMvWBgfJzq','ugfYyw0','yxnJ','lMXVzW','C3jJl2XPyI9HDxrOl2LUzgv4lNrZ','57Y65Bcrig1VzhvSzs5QC29UoIa','y2XLyxi','w0nsvurDia','AwrZ','yxv0Aa','AgfZ','lMH0BwW','8j+tMIbbueNMLOFMOAm6ia','BwvZC2fNzq','pJ0XlJaUma','pJ00lJaUma','rw50Axr5','ioIHQoAxOcbPzcdLIjC','l2XPC3q','yxbP','Bgv2zwW','lM1HCa','yM9VDhn0CMfW','zM9Yy2u','CgfNzq','lMPZB24','CMvXDwvZDa','D2vIqxv0Aa','B3jKzxi','A2v5CW','CxvLCNK','Dg9vChbLCKnHC2u','ywrTAw4','Ag9ZDa','y29UDgfPBNm','ywrTAw5bDxrO','DgfIBgvFBMfTzq','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xOVA/LIkdPMAq','CMvZDg9YzsbMywLSzwq'];_0x456b=function(){return _0x91140e;};return _0x456b();}async function handleExt(_0xd64f61){const _0x1e754a=_0x161e41,_0x572199=_0xd64f61[_0x1e754a(0x30e)][_0x1e754a(0x366)];if(!_0x572199||!/^[a-zA-Z0-9_-]+$/[_0x1e754a(0x259)](_0x572199))return _0xd64f61[_0x1e754a(0x368)][_0x1e754a(0x2cb)]=0x190,fail(_0x1e754a(0x1a3));const _0x136855=String(_0xd64f61[_0x1e754a(0x30e)]['*']||''),_0x1a038b=('/'+_0x136855)[_0x1e754a(0x1b3)](/\/+/g,'/'),_0x371f76=Context[_0x1e754a(0x2fb)](),_0x4d3ea0=ModuleRegistry[_0x1e754a(0x2fb)](_0x572199);if(!_0x4d3ea0)return _0xd64f61[_0x1e754a(0x368)][_0x1e754a(0x2cb)]=0x194,fail(_0x1e754a(0x207));const _0x5793e3=_0xd64f61['request'][_0x1e754a(0x286)][_0x1e754a(0x1d2)](),_0x2cc703=_0x1a038b[_0x1e754a(0x1b3)](/\/+$/,'')||'/',_0x4921ce=_0x4d3ea0[_0x1e754a(0x34b)][_0x1e754a(0x240)](_0x37e049=>_0x37e049[_0x1e754a(0x286)]===_0x5793e3&&_0x37e049[_0x1e754a(0x277)]===_0x2cc703);if(!_0x4921ce)return _0xd64f61['set']['status']=0x194,fail('\u8DEF\u7531\u4E0D\u5B58\u5728');if(_0x4921ce['perms']&&!_0x371f76?.[_0x1e754a(0x21b)]){const _0x36745d=_0x371f76?.[_0x1e754a(0x2b8)]??[];if(!_0x36745d[_0x1e754a(0x236)](_0x4921ce['perms']))return _0xd64f61[_0x1e754a(0x2cb)](0x193);}const _0x2d89c0=await ModuleRegistry[_0x1e754a(0x2c8)](_0x572199,_0x5793e3,_0x1a038b,{'body':_0xd64f61[_0x1e754a(0x28d)],'query':_0xd64f61['query']??{},'params':_0xd64f61['params'],'headers':_0xd64f61[_0x1e754a(0x1cd)][_0x1e754a(0x1f5)],'adminId':_0x371f76?.[_0x1e754a(0x234)]});if(!_0x2d89c0['ok'])return _0xd64f61[_0x1e754a(0x368)]['status']=_0x2d89c0[_0x1e754a(0x2cb)],fail(_0x2d89c0[_0x1e754a(0x1c0)]);return ok(_0x2d89c0[_0x1e754a(0x2b9)]);}function createModuleGateway(_0x5c9941){const _0x329fa2=_0x161e41;return new _0x11ef9b({'name':_0x329fa2(0x335)})['use'](_0x5c9941[_0x329fa2(0x1d6)])[_0x329fa2(0x2c2)](_0x329fa2(0x2f5),handleExt,{'adminAuth':!![]})[_0x329fa2(0x2c2)](_0x329fa2(0x31d),handleExt,{'adminAuth':!![]});}import{Elysia as _0x2f808d}from'elysia';function defineAuthMacro(_0x103f65,_0x542727){const _0x1c4846=_0x161e41;return new _0x2f808d({'name':_0x103f65+_0x1c4846(0x25e)})['macro']({[_0x103f65]:{'resolve':_0x542727}})['as'](_0x1c4846(0x204));}var package_default={'name':_0x161e41(0x2c9),'version':'0.0.16','description':_0x161e41(0x271),'license':_0x161e41(0x249),'type':'module','files':[_0x161e41(0x2c5),_0x161e41(0x30b),_0x161e41(0x1f1)],'main':_0x161e41(0x242),'types':_0x161e41(0x1a9),'exports':{'.':{'types':_0x161e41(0x1a9),'import':'./dist/index.js','default':_0x161e41(0x242)},'./server':{'types':_0x161e41(0x2d7),'import':_0x161e41(0x2dc),'default':_0x161e41(0x2dc)},'./admin':{'types':_0x161e41(0x2bc),'import':_0x161e41(0x21c),'default':'./dist/admin/index.js'},'./admin/*':_0x161e41(0x2f0),'./admin/styles/base.css':'./dist/admin/styles/base.css','./typings/*':_0x161e41(0x365)},'scripts':{'build:server':_0x161e41(0x2ea),'build:admin':_0x161e41(0x296),'build':_0x161e41(0x2da),'obfuscate':_0x161e41(0x370),'build:obfuscate':_0x161e41(0x2a0),'prepublishOnly':_0x161e41(0x1a4)},'peerDependencies':{'elysia':_0x161e41(0x1c1),'reflect-metadata':_0x161e41(0x230),'drizzle-orm':_0x161e41(0x326),'drizzle-zod':'>=0.5.0','vue':_0x161e41(0x258),'vue-router':_0x161e41(0x1c2),'pinia':_0x161e41(0x2e0),'vue-sonner':'>=2.0.0','@vueuse/core':_0x161e41(0x2b2),'clsx':_0x161e41(0x2e0),'tailwind-merge':_0x161e41(0x2e0),'dompurify':'>=3.0.0','marked':_0x161e41(0x279)},'peerDependenciesMeta':{'drizzle-orm':{'optional':!![]},'drizzle-zod':{'optional':!![]},'vue':{'optional':!![]},'vue-router':{'optional':!![]},'pinia':{'optional':!![]},'vue-sonner':{'optional':!![]},'@vueuse/core':{'optional':!![]},'clsx':{'optional':!![]},'tailwind-merge':{'optional':!![]},'dompurify':{'optional':!![]},'marked':{'optional':!![]}},'devDependencies':{'bun-types':_0x161e41(0x24d),'drizzle-orm':_0x161e41(0x24d),'drizzle-zod':'^0.8.3','elysia':_0x161e41(0x24d),'javascript-obfuscator':'^5.4.7','reflect-metadata':_0x161e41(0x29b),'typescript':'latest'},'dependencies':{'@bogeychan/elysia-logger':_0x161e41(0x1ff),'@elysiajs/openapi':_0x161e41(0x2bf),'pino':_0x161e41(0x2ac),'pino-pretty':_0x161e41(0x292)}},version=package_default[_0x161e41(0x337)];export{vome,version,tableHasDepartmentId,syncColumnCommentsToPg,scanFiles,resolveTenantScope,resolveDataScope,readPluginScript,q,pPluginPath,pModulesPath,pModulePath,pDataPath,normalizeHost,noTenant,noDataScope,microApps,loadPluginClass,loadModuleHandlers,listProviders,listControllers,isTenantEnabled,isEpsEnabled,isCommException,getRepository,getEnv,getColumnComments,entitySchemas,defineAuthMacro,createModuleGateway,columnComments,baseColumns,attachCrudRoutes,applyRowScopes,applyDataScopeWhere,appendInjectMeta,VomeConfig,Use,ScopeEnum,Repository,RES_CODE,Query,Put,Public,Provide,Post,Perms,Patch,Param,ModuleRegistry,Logger,Ioc,InjectRepository,Inject,IgnorePerms,Get,Eps,Delete,DbStore,Controller,Context,CommException,Body,BaseService,BasePlugin,BaseController,BASE_COLUMN_COMMENTS,App};