vome-core 0.0.11 → 0.0.12

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 (39) hide show
  1. package/dist/admin/api/client.js +1 -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 +1 -1
  13. package/dist/admin/crud/validate.js +1 -1
  14. package/dist/admin/directives/perm.js +1 -1
  15. package/dist/admin/hooks/useBrowser.js +1 -1
  16. package/dist/admin/hooks/useUpload.js +1 -1
  17. package/dist/admin/hooks/useVome.js +1 -1
  18. package/dist/admin/index.js +1 -1
  19. package/dist/admin/lib/browser.js +1 -1
  20. package/dist/admin/lib/cn.js +1 -1
  21. package/dist/admin/lib/dialog-float.js +1 -1
  22. package/dist/admin/lib/eps.js +1 -1
  23. package/dist/admin/lib/menu.js +1 -1
  24. package/dist/admin/lib/module.js +1 -1
  25. package/dist/admin/lib/tree.js +1 -1
  26. package/dist/admin/lib/upload.js +1 -1
  27. package/dist/admin/router/index.js +1 -1
  28. package/dist/admin/router/menu-routes.js +1 -1
  29. package/dist/admin/service/base.js +1 -1
  30. package/dist/admin/service/index.d.ts +2 -2
  31. package/dist/admin/service/index.js +1 -1
  32. package/dist/admin/stores/app.js +1 -1
  33. package/dist/admin/stores/tags.js +1 -1
  34. package/dist/admin/stores/user.js +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/server/index.js +1 -1
  37. package/dist/shared/index.js +1 -1
  38. package/dist/shared/tree.js +1 -1
  39. package/package.json +1 -2
@@ -1 +1 @@
1
- const _0x4727c2=_0x1a3d;(function(_0x1fa943,_0x5277dc){const _0x80a20e=_0x1a3d,_0x572732=_0x1fa943();while(!![]){try{const _0x54e8d2=parseInt(_0x80a20e(0x383))/0x1*(parseInt(_0x80a20e(0x326))/0x2)+-parseInt(_0x80a20e(0x259))/0x3*(-parseInt(_0x80a20e(0x2d0))/0x4)+-parseInt(_0x80a20e(0x26d))/0x5*(-parseInt(_0x80a20e(0x358))/0x6)+-parseInt(_0x80a20e(0x1e2))/0x7+-parseInt(_0x80a20e(0x390))/0x8*(parseInt(_0x80a20e(0x1ef))/0x9)+-parseInt(_0x80a20e(0x3a6))/0xa*(-parseInt(_0x80a20e(0x291))/0xb)+parseInt(_0x80a20e(0x347))/0xc*(-parseInt(_0x80a20e(0x348))/0xd);if(_0x54e8d2===_0x5277dc)break;else _0x572732['push'](_0x572732['shift']());}catch(_0x46b268){_0x572732['push'](_0x572732['shift']());}}}(_0x35d7,0xddcba));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0x4e8822=_0x1a3d;return Bun[_0x4e8822(0x2d1)][_0x4e8822(0x33f)]===_0x4e8822(0x3ac)?_0x4e8822(0x3ac):_0x4e8822(0x223);}function merge(_0x586c13,_0x17888b){const _0x4e66f0=_0x1a3d,_0x37e931={..._0x586c13};for(const _0x122223 of Object[_0x4e66f0(0x246)](_0x17888b)){const _0x3014d2=_0x37e931[_0x122223],_0x247dc3=_0x17888b[_0x122223];if(_0x3014d2&&_0x247dc3&&typeof _0x3014d2===_0x4e66f0(0x310)&&typeof _0x247dc3==='object'&&!Array[_0x4e66f0(0x327)](_0x3014d2)&&!Array[_0x4e66f0(0x327)](_0x247dc3)){_0x37e931[_0x122223]=merge(_0x3014d2,_0x247dc3);continue;}_0x37e931[_0x122223]=_0x247dc3;}return _0x37e931;}async function loadConfig(_0x4217c7=join(process[_0x4727c2(0x378)](),_0x4727c2(0x3b0))){const _0x2e18d5=_0x4727c2,_0x10cee3=getEnv()==='dev'?_0x2e18d5(0x288):_0x2e18d5(0x24c),_0xd878ce=await import(pathToFileURL(join(_0x4217c7,_0x2e18d5(0x278)))['href']),_0x13a541=await import(pathToFileURL(join(_0x4217c7,_0x10cee3))[_0x2e18d5(0x28c)]);return merge(_0xd878ce[_0x2e18d5(0x365)],_0x13a541[_0x2e18d5(0x365)]);}var VomeConfig=await loadConfig();import{Elysia as _0x59c491}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x547a56){const _0x5ee35f=_0x4727c2,_0x5374f5=_0x547a56[_0x5ee35f(0x23f)][_0x5ee35f(0x389)](_0x5ee35f(0x1fd));if(_0x5374f5){const _0x13bd9e=_0x5374f5[_0x5ee35f(0x22f)](',')[0x0]?.[_0x5ee35f(0x2fa)]();if(_0x13bd9e)return _0x13bd9e;}return _0x547a56['headers'][_0x5ee35f(0x389)](_0x5ee35f(0x31f))?.[_0x5ee35f(0x2fa)]()||_0x547a56[_0x5ee35f(0x23f)][_0x5ee35f(0x389)](_0x5ee35f(0x34b))?.[_0x5ee35f(0x2fa)]()||'';}function initContextFromRequest(_0x471a51){const _0x79e048=_0x4727c2,_0x572f45=new URL(_0x471a51[_0x79e048(0x2a6)]),_0x1160c1=_0x471a51[_0x79e048(0x23f)][_0x79e048(0x389)](_0x79e048(0x37d))?.[_0x79e048(0x22f)](',')[0x0]?.[_0x79e048(0x2fa)](),_0xb8205=_0x471a51['headers'][_0x79e048(0x389)]('host')?.['trim']();return{'requestId':crypto[_0x79e048(0x38d)](),'method':_0x471a51['method'],'path':_0x572f45[_0x79e048(0x2a1)],'ip':resolveClientIp(_0x471a51),'host':_0x1160c1||_0xb8205||_0x572f45[_0x79e048(0x360)],'startTime':Date[_0x79e048(0x322)]()};}function enterContextWith(_0x340432){const _0x5e72aa=_0x4727c2;storage[_0x5e72aa(0x20d)](_0x340432);}function getContext(){const _0x54d7c4=_0x4727c2;return storage[_0x54d7c4(0x286)]();}function assignContext(_0x3d6e5e){const _0x1ed9e0=_0x4727c2,_0x2f5e48=storage[_0x1ed9e0(0x286)]();if(!_0x2f5e48){getEnv()===_0x1ed9e0(0x3ac)&&!warnedOutsideRequest&&(warnedOutsideRequest=!![],console[_0x1ed9e0(0x1f8)](_0x1ed9e0(0x353)));return;}Object[_0x1ed9e0(0x39e)](_0x2f5e48,_0x3d6e5e);}function runContext(_0xb3e942,_0x2ecfcd){return storage['run'](_0xb3e942,_0x2ecfcd);}var Context=Object[_0x4727c2(0x39e)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY=_0x4727c2(0x35a),providers=new Map();function registerProvider(_0xd5b541){const _0x38d9b7=_0x4727c2;providers[_0x38d9b7(0x2fc)](_0xd5b541[_0x38d9b7(0x341)],_0xd5b541);}function getProvider(_0x10bc10){const _0x4829bd=_0x4727c2;return providers[_0x4829bd(0x389)](_0x10bc10);}function listProviders(){const _0x5af665=_0x4727c2,_0x2f2932=new Set(),_0x585fb1=[];for(const _0x18c5d7 of providers[_0x5af665(0x319)]()){if(_0x2f2932['has'](_0x18c5d7[_0x5af665(0x2a7)]))continue;_0x2f2932[_0x5af665(0x213)](_0x18c5d7[_0x5af665(0x2a7)]),_0x585fb1['push'](_0x18c5d7);}return _0x585fb1;}function tokenLabel(_0x1d3471){const _0x2763ea=_0x4727c2;if(typeof _0x1d3471===_0x2763ea(0x256)||typeof _0x1d3471==='symbol')return String(_0x1d3471);return _0x1d3471[_0x2763ea(0x27e)]||_0x2763ea(0x23b);}function appendInjectMeta(_0x2b5288,_0x5a6566){const _0x4e09bf=_0x4727c2,_0x361447=Reflect[_0x4e09bf(0x2b7)](INJECT_METADATA_KEY,_0x2b5288)??[];_0x361447[_0x4e09bf(0x2dc)](_0x5a6566),Reflect[_0x4e09bf(0x328)](INJECT_METADATA_KEY,_0x361447,_0x2b5288);}function getInjectMetas(_0x2a3830){return Reflect['getMetadata'](INJECT_METADATA_KEY,_0x2a3830)??[];}function resetProviders(){providers['clear']();}var ScopeEnum;(_0x3e3217=>{const _0x1475f6=_0x4727c2;_0x3e3217[_0x1475f6(0x313)]=_0x1475f6(0x218),_0x3e3217[_0x1475f6(0x23a)]=_0x1475f6(0x34d),_0x3e3217[_0x1475f6(0x2a3)]=_0x1475f6(0x29b);})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x358f68,_0x5e6022){const _0x5deec1=_0x4727c2;for(const _0x1bb282 of getInjectMetas(_0x5e6022)){const {propertyKey:_0x4c8509,token:_0x292f3b,resolve:_0x165276}=_0x1bb282;if(!_0x165276&&_0x292f3b==null)throw new Error(_0x5deec1(0x30d)+String(_0x4c8509)+_0x5deec1(0x33d));const _0x43a01c=_0x165276?_0x165276():Ioc[_0x5deec1(0x389)](_0x292f3b);_0x358f68[_0x4c8509]=_0x43a01c;const _0x3dbde5=_0x358f68['bindEntity'];_0x165276&&typeof _0x3dbde5===_0x5deec1(0x305)&&_0x3dbde5[_0x5deec1(0x26b)](_0x358f68,_0x43a01c);}}function createInstance(_0x1c9229){const _0x3b014a=_0x4727c2;if(creating['has'](_0x1c9229))throw new Error('[Ioc]\x20检测到循环依赖:\x20'+_0x1c9229['name']);creating['add'](_0x1c9229);try{const _0x53cb78=new _0x1c9229();return injectProperties(_0x53cb78,_0x1c9229),_0x53cb78;}finally{creating[_0x3b014a(0x232)](_0x1c9229);}}function getSingleton(_0x5a7e61){const _0xcda6f2=singletons['get'](_0x5a7e61);if(_0xcda6f2)return _0xcda6f2;const _0xedc3d3=createInstance(_0x5a7e61);return singletons['set'](_0x5a7e61,_0xedc3d3),_0xedc3d3;}function getRequestCache(){const _0x6fd39c=_0x4727c2,_0x42a93a=Context[_0x6fd39c(0x389)]();if(!_0x42a93a)throw new Error(_0x6fd39c(0x361));let _0x227c8c=requestCaches[_0x6fd39c(0x389)](_0x42a93a);return!_0x227c8c&&(_0x227c8c=new Map(),requestCaches[_0x6fd39c(0x2fc)](_0x42a93a,_0x227c8c)),_0x227c8c;}function getRequestScoped(_0x4ab980){const _0x3cf10c=_0x4727c2,_0x48532b=getRequestCache(),_0x190b8f=_0x48532b[_0x3cf10c(0x389)](_0x4ab980);if(_0x190b8f)return _0x190b8f;const _0x539744=createInstance(_0x4ab980);return _0x48532b[_0x3cf10c(0x2fc)](_0x4ab980,_0x539744),_0x539744;}function resolveByScope(_0x158fe2,_0x4b4260){const _0x370166=_0x4727c2;switch(_0x4b4260){case _0x370166(0x218):return getSingleton(_0x158fe2);case'prototype':return createInstance(_0x158fe2);case _0x370166(0x34d):return getRequestScoped(_0x158fe2);default:throw new Error(_0x370166(0x2fe)+_0x4b4260);}}function resolveMeta(_0x553cd2){const _0x5a5b52=_0x4727c2,_0x204cc5=getProvider(_0x553cd2);if(!_0x204cc5)throw new Error(_0x5a5b52(0x2de)+tokenLabel(_0x553cd2));return _0x204cc5;}function bootstrapIoc(){const _0xf26266=_0x4727c2;for(const {useClass:_0x322df9,scope:_0x58f7c4}of listProviders()){_0x58f7c4===_0xf26266(0x218)&&getSingleton(_0x322df9);}console['log'](_0xf26266(0x1e3)+singletons[_0xf26266(0x2aa)]+'\x20singleton(s)');}function get(_0x510aa9){const _0x59982c=_0x4727c2,_0x5b0b85=resolveMeta(_0x510aa9);return resolveByScope(_0x5b0b85[_0x59982c(0x2a7)],_0x5b0b85['scope']);}function set(_0x3ad5b6,_0x580186){const _0x486f7f=_0x4727c2;if(typeof _0x3ad5b6===_0x486f7f(0x305)){registerProvider({'token':_0x3ad5b6,'useClass':_0x3ad5b6,'scope':_0x486f7f(0x218)}),singletons[_0x486f7f(0x2fc)](_0x3ad5b6,_0x580186);return;}const _0x268864=_0x580186?.[_0x486f7f(0x1e4)];if(!_0x268864||_0x268864===Object)throw new Error('[Ioc]\x20Ioc.set('+tokenLabel(_0x3ad5b6)+')\x20需要\x20class\x20实例,以便确定\x20useClass');registerProvider({'token':_0x3ad5b6,'useClass':_0x268864,'scope':_0x486f7f(0x218)}),registerProvider({'token':_0x268864,'useClass':_0x268864,'scope':_0x486f7f(0x218)}),singletons[_0x486f7f(0x2fc)](_0x268864,_0x580186);}function resetIoc(){const _0x42ce0d=_0x4727c2;singletons[_0x42ce0d(0x30f)](),creating[_0x42ce0d(0x30f)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0x3c8905){const _0x4deef8=_0x4727c2;controllers[_0x4deef8(0x2fc)](_0x3c8905[_0x4deef8(0x341)],_0x3c8905);}function listControllers(_0x43c980){const _0x4d81b1=_0x4727c2,_0x286456=[...controllers['values']()];return _0x43c980?_0x286456[_0x4d81b1(0x2e3)](_0x17f969=>_0x17f969[_0x4d81b1(0x3b1)]===_0x43c980):_0x286456;}var ROUTE_PARAMS_KEY='vome:controller:route-params',ROUTE_PUBLIC_KEY=_0x4727c2(0x27b),ROUTE_MW_KEY='vome:controller:route-middleware',ROUTE_PERMS_KEY='vome:controller:route-perms',ROUTE_IGNORE_PERMS_KEY=_0x4727c2(0x1f2);function appendRouteParam(_0x4b5ef6,_0x342213,_0x133d05){const _0x5973c0=_0x4727c2,_0x2517f2=Reflect[_0x5973c0(0x2b7)](ROUTE_PARAMS_KEY,_0x4b5ef6)??{},_0x46aecd=_0x2517f2[_0x342213]??[];_0x46aecd[_0x5973c0(0x2dc)](_0x133d05),_0x2517f2[_0x342213]=_0x46aecd,Reflect[_0x5973c0(0x328)](ROUTE_PARAMS_KEY,_0x2517f2,_0x4b5ef6);}function getRouteParams(_0xea84a1,_0x361c63){const _0x55c128=_0x4727c2,_0xafca0e=Reflect[_0x55c128(0x2b7)](ROUTE_PARAMS_KEY,_0xea84a1);return _0xafca0e?.[_0x361c63]??[];}function clearRouteParams(_0x3996a0){const _0x8444e2=_0x4727c2;Reflect[_0x8444e2(0x352)](ROUTE_PARAMS_KEY,_0x3996a0);}function markRoutePublic(_0x5d8844,_0x23aeaa){const _0x3c7cc6=_0x4727c2,_0x15497a=Reflect['getMetadata'](ROUTE_PUBLIC_KEY,_0x5d8844)??{};_0x15497a[_0x23aeaa]=!![],Reflect[_0x3c7cc6(0x328)](ROUTE_PUBLIC_KEY,_0x15497a,_0x5d8844);}function isRoutePublic(_0x3b1450,_0xaf0d80){const _0x1f2d7a=_0x4727c2,_0x49d8b7=Reflect[_0x1f2d7a(0x2b7)](ROUTE_PUBLIC_KEY,_0x3b1450);return!!_0x49d8b7?.[_0xaf0d80];}function clearRoutePublic(_0x82fa73){Reflect['deleteMetadata'](ROUTE_PUBLIC_KEY,_0x82fa73);}function appendRouteMiddleware(_0x3a6322,_0x247f2b,_0x5245c8){const _0x2e39a5=_0x4727c2,_0x2e0050=Reflect[_0x2e39a5(0x2b7)](ROUTE_MW_KEY,_0x3a6322)??{};_0x2e0050[_0x247f2b]=[..._0x2e0050[_0x247f2b]??[],..._0x5245c8],Reflect[_0x2e39a5(0x328)](ROUTE_MW_KEY,_0x2e0050,_0x3a6322);}function getRouteMiddleware(_0x43b8b0,_0x1e881e){const _0x30982f=Reflect['getMetadata'](ROUTE_MW_KEY,_0x43b8b0);return _0x30982f?.[_0x1e881e]??[];}function clearRouteMiddleware(_0x1e429b){const _0x21629a=_0x4727c2;Reflect[_0x21629a(0x352)](ROUTE_MW_KEY,_0x1e429b);}function setRoutePerms(_0x1094cc,_0x576593,_0x136056){const _0x25e578=_0x4727c2,_0x2f9bba=Reflect[_0x25e578(0x2b7)](ROUTE_PERMS_KEY,_0x1094cc)??{};_0x2f9bba[_0x576593]=_0x136056,Reflect[_0x25e578(0x328)](ROUTE_PERMS_KEY,_0x2f9bba,_0x1094cc);}function getRoutePerms(_0xe0b5d,_0x3c6264){const _0xac768=Reflect['getMetadata'](ROUTE_PERMS_KEY,_0xe0b5d);return _0xac768?.[_0x3c6264];}function clearRoutePerms(_0x5a561b){const _0xf5c0ae=_0x4727c2;Reflect[_0xf5c0ae(0x352)](ROUTE_PERMS_KEY,_0x5a561b);}function markRouteIgnorePerms(_0x3dd2e7,_0xe01e85){const _0x4f2ea4=_0x4727c2,_0xe55d4d=Reflect[_0x4f2ea4(0x2b7)](ROUTE_IGNORE_PERMS_KEY,_0x3dd2e7)??{};_0xe55d4d[_0xe01e85]=!![],Reflect[_0x4f2ea4(0x328)](ROUTE_IGNORE_PERMS_KEY,_0xe55d4d,_0x3dd2e7);}function isRouteIgnorePerms(_0x2b7a99,_0x542aa0){const _0x14b25e=_0x4727c2,_0x494793=Reflect[_0x14b25e(0x2b7)](ROUTE_IGNORE_PERMS_KEY,_0x2b7a99);return!!_0x494793?.[_0x542aa0];}function clearRouteIgnorePerms(_0x2f8105){Reflect['deleteMetadata'](ROUTE_IGNORE_PERMS_KEY,_0x2f8105);}function schemaFromParams(_0xa4a0af){const _0x1a455f=_0x4727c2,_0x49ece9={};for(const _0x8f0565 of _0xa4a0af){if(_0x8f0565[_0x1a455f(0x20f)]===_0x1a455f(0x3ba)&&_0x8f0565[_0x1a455f(0x250)]!==undefined)_0x49ece9[_0x1a455f(0x3ba)]=_0x8f0565[_0x1a455f(0x250)];if(_0x8f0565[_0x1a455f(0x20f)]==='query'&&_0x8f0565['schema']!==undefined)_0x49ece9['query']=_0x8f0565[_0x1a455f(0x250)];if(_0x8f0565[_0x1a455f(0x20f)]===_0x1a455f(0x3aa)&&_0x8f0565[_0x1a455f(0x250)]!==undefined)_0x49ece9[_0x1a455f(0x3aa)]=_0x8f0565['schema'];}return Object[_0x1a455f(0x246)](_0x49ece9)[_0x1a455f(0x202)]>0x0?_0x49ece9:undefined;}function openApiTag(_0x1edca5,_0x1d3b42){return _0x1edca5+'.'+_0x1d3b42;}function sideOrder(_0x18a03e){const _0x4b5206=_0x4727c2;if(_0x18a03e===_0x4b5206(0x32b))return 0x0;if(_0x18a03e===_0x4b5206(0x343))return 0x1;return 0x2;}function parseTag(_0x260a83){const _0x1f3721=_0x4727c2,_0x42d9d1=_0x260a83[_0x1f3721(0x297)]('.');if(_0x42d9d1<0x0)return{'module':_0x260a83,'side':''};return{'module':_0x260a83[_0x1f3721(0x1fb)](0x0,_0x42d9d1),'side':_0x260a83['slice'](_0x42d9d1+0x1)};}function buildOpenApiTagDocs(){const _0x9e8f6f=_0x4727c2,_0x5946db=listControllers(),_0x14190a=new Map(),_0x4e88da=new Map();for(const _0x431452 of _0x5946db){const _0x2e34e2=openApiTag(_0x431452[_0x9e8f6f(0x265)],_0x431452['side']);!_0x14190a['has'](_0x2e34e2)&&_0x14190a[_0x9e8f6f(0x2fc)](_0x2e34e2,{'name':_0x2e34e2,'description':_0x431452[_0x9e8f6f(0x265)]+'\x20'+_0x431452[_0x9e8f6f(0x3b1)],'x-displayName':_0x431452[_0x9e8f6f(0x3b1)]});let _0x5644d8=_0x4e88da[_0x9e8f6f(0x389)](_0x431452[_0x9e8f6f(0x265)]);!_0x5644d8&&(_0x5644d8=new Set(),_0x4e88da['set'](_0x431452[_0x9e8f6f(0x265)],_0x5644d8)),_0x5644d8[_0x9e8f6f(0x213)](_0x2e34e2);}const _0x703e23=[..._0x14190a[_0x9e8f6f(0x319)]()][_0x9e8f6f(0x25e)]((_0x4ce466,_0x957ccc)=>{const _0x59643a=_0x9e8f6f,_0x27808d=parseTag(_0x4ce466[_0x59643a(0x27e)]),_0xb3435f=parseTag(_0x957ccc[_0x59643a(0x27e)]);return _0x27808d[_0x59643a(0x265)]['localeCompare'](_0xb3435f['module'])||sideOrder(_0x27808d[_0x59643a(0x3b1)])-sideOrder(_0xb3435f[_0x59643a(0x3b1)]);}),_0x1ff89b=[..._0x4e88da[_0x9e8f6f(0x3b8)]()]['sort'](([_0x1904b0],[_0x12e1fe])=>_0x1904b0[_0x9e8f6f(0x220)](_0x12e1fe))[_0x9e8f6f(0x38c)](([_0x2f2c34,_0x5d57a8])=>({'name':_0x2f2c34,'tags':[..._0x5d57a8][_0x9e8f6f(0x25e)]((_0x23290d,_0x4c9ccc)=>{const _0xe19fde=_0x9e8f6f,_0x21c50c=parseTag(_0x23290d)[_0xe19fde(0x3b1)],_0x46c9eb=parseTag(_0x4c9ccc)[_0xe19fde(0x3b1)];return sideOrder(_0x21c50c)-sideOrder(_0x46c9eb);})}));return{'tags':_0x703e23,'tagGroups':_0x1ff89b};}function normalizePrefix(_0x4b7cb2){const _0x3bd833=_0x4727c2;if(!_0x4b7cb2)return'';return _0x4b7cb2[_0x3bd833(0x2ed)]('/')?_0x4b7cb2:'/'+_0x4b7cb2;}function joinPrefix(..._0x2336e6){const _0x596bde=_0x4727c2,_0x23c7d5=_0x2336e6[_0x596bde(0x38c)](_0x26882e=>normalizePrefix(_0x26882e)[_0x596bde(0x244)](/^\/+|\/+$/g,''))[_0x596bde(0x2e3)](Boolean);return _0x23c7d5[_0x596bde(0x202)]?'/'+_0x23c7d5['join']('/'):'/';}function getRouteSubPath(_0x25ef30,_0x4eaca9){const _0x2ace9f=_0x4727c2,_0x3df412=normalizePrefix(_0x4eaca9)[_0x2ace9f(0x244)](/\/$/,''),_0x3f75e4=normalizePrefix(_0x25ef30);if(!_0x3df412)return _0x3f75e4||'/';if(_0x3f75e4===_0x3df412)return'/';if(_0x3f75e4[_0x2ace9f(0x2ed)](_0x3df412+'/'))return _0x3f75e4[_0x2ace9f(0x1fb)](_0x3df412[_0x2ace9f(0x202)])||'/';const _0x43b6b2=_0x25ef30['startsWith']('/')?_0x25ef30:'/'+_0x25ef30;return _0x43b6b2||'/';}function resolveRoutePerm(_0x2eb657,_0x8ad59d,_0x284e6f){const _0x453e42=_0x4727c2;let _0x396cbc=_0x8ad59d[_0x453e42(0x244)](/^\//,'')[_0x453e42(0x244)](/\/+/g,':');if(_0x396cbc===_0x2eb657)_0x396cbc=_0x2eb657;else _0x396cbc['startsWith'](_0x2eb657+':')&&(_0x396cbc=_0x396cbc['slice'](_0x2eb657['length']+0x1));const _0x1e4f0e=_0x2eb657+'-';_0x396cbc[_0x453e42(0x2ed)](_0x1e4f0e)&&(_0x396cbc=_0x396cbc['slice'](_0x1e4f0e[_0x453e42(0x202)]));_0x396cbc=_0x396cbc[_0x453e42(0x244)](/-/g,':');if(!_0x396cbc)_0x396cbc=_0x2eb657;return _0x2eb657+':'+_0x396cbc+':'+_0x284e6f;}function actionFromSubPath(_0x5a487f){const _0x1abcc1=_0x4727c2,_0x21e8d7=_0x5a487f[_0x1abcc1(0x244)](/^\/+|\/+$/g,'');if(!_0x21e8d7)return _0x1abcc1(0x380);const _0x21a9d1=_0x21e8d7[_0x1abcc1(0x22f)]('/');return _0x21a9d1[_0x21a9d1['length']-0x1]||_0x1abcc1(0x380);}function effectivePerms(_0x1f8617,_0x2d5b8b,_0x120dac){const _0x198e9e=_0x4727c2;if(_0x2d5b8b[_0x198e9e(0x3b1)]!=='admin'||_0x1f8617[_0x198e9e(0x200)]||_0x1f8617[_0x198e9e(0x3b2)])return;if(_0x1f8617[_0x198e9e(0x2b6)]?.['length'])return _0x1f8617[_0x198e9e(0x2b6)];const _0xbf1a83=_0x120dac??actionFromSubPath(getRouteSubPath(_0x1f8617[_0x198e9e(0x2b5)]??'/',_0x2d5b8b['prefix']));return[resolveRoutePerm(_0x2d5b8b[_0x198e9e(0x265)],_0x2d5b8b['prefix'],_0xbf1a83)];}var crudRegistrar;function setCrudRegistrar(_0x2e51ac){crudRegistrar=_0x2e51ac;}var SIDE_PREFIX={'admin':_0x4727c2(0x307),'app':'/app'},ADMIN_GUARD='adminAuth',APP_GUARD=_0x4727c2(0x2da),ELYSIA_METHODS={'GET':_0x4727c2(0x389),'POST':_0x4727c2(0x21a),'PUT':_0x4727c2(0x20e),'DELETE':'delete','PATCH':_0x4727c2(0x29a)};function getSidePrefix(_0x32b71a){return normalizePrefix(SIDE_PREFIX[_0x32b71a]);}function buildRouteSchema(_0x40223e){const _0x3626b6=_0x4727c2;if(_0x40223e[_0x3626b6(0x3aa)]?.[_0x3626b6(0x202)])return schemaFromParams(_0x40223e[_0x3626b6(0x3aa)]);const _0x5d3c8a={};if(_0x40223e[_0x3626b6(0x3ba)]!==undefined)_0x5d3c8a[_0x3626b6(0x3ba)]=_0x40223e[_0x3626b6(0x3ba)];if(_0x40223e[_0x3626b6(0x1ed)]!==undefined)_0x5d3c8a[_0x3626b6(0x1ed)]=_0x40223e[_0x3626b6(0x1ed)];if(_0x40223e['routeParams']!==undefined)_0x5d3c8a[_0x3626b6(0x3aa)]=_0x40223e[_0x3626b6(0x359)];return Object[_0x3626b6(0x246)](_0x5d3c8a)[_0x3626b6(0x202)]>0x0?_0x5d3c8a:undefined;}function assertRouteParams(_0x23071e,_0x212de4,_0x2de32a){const _0xfa3d61=_0x4727c2,_0x1a4355=new Set();for(const _0x358bba of _0x23071e){if(_0x1a4355[_0xfa3d61(0x211)](_0x358bba['source'])){const _0x533362=_0x358bba[_0xfa3d61(0x20f)]===_0xfa3d61(0x3ba)?_0xfa3d61(0x303):_0x358bba[_0xfa3d61(0x20f)]===_0xfa3d61(0x1ed)?'Query':_0xfa3d61(0x38e);throw new Error('[Router]\x20'+_0x2de32a+'.'+_0x212de4+'\x20重复\x20@'+_0x533362);}_0x1a4355['add'](_0x358bba[_0xfa3d61(0x20f)]);}}function createParamHandler(_0x5581cf,_0x3e0982,_0x3f1782){const _0x34b6b1=_0x4727c2,_0x3495c5=_0x5581cf[_0x3e0982],_0x5eb1aa=_0x3495c5[_0x34b6b1(0x37c)](_0x5581cf);if(!_0x3f1782?.[_0x34b6b1(0x202)])return _0x5eb1aa;const _0x392d62=[..._0x3f1782][_0x34b6b1(0x25e)]((_0x40ce52,_0x4ad60d)=>_0x40ce52['index']-_0x4ad60d[_0x34b6b1(0x380)]);return _0x44485f=>{const _0xb7b526=_0x34b6b1,_0x17d653=_0x392d62[_0xb7b526(0x38c)](_0x328c57=>{const _0x1f39f1=_0xb7b526;if(_0x328c57[_0x1f39f1(0x20f)]==='body')return _0x44485f[_0x1f39f1(0x3ba)];if(_0x328c57['source']===_0x1f39f1(0x1ed))return _0x44485f['query'];if(_0x328c57[_0x1f39f1(0x20f)]===_0x1f39f1(0x3aa))return _0x44485f[_0x1f39f1(0x3aa)];throw new Error(_0x1f39f1(0x316)+_0x328c57[_0x1f39f1(0x20f)]);});return _0x5eb1aa(..._0x17d653,_0x44485f);};}function createPermsGuard(_0x242dba){return _0xfe15e1=>{const _0x4c730a=_0x1a3d,_0x1bde9c=_0xfe15e1[_0x4c730a(0x2d7)],_0x4e39a9=Context[_0x4c730a(0x389)]();if(_0x4e39a9?.['isSuper'])return;const _0x601aff=_0x4e39a9?.[_0x4c730a(0x2b6)]??[];if(_0x242dba['some'](_0x131f31=>_0x601aff[_0x4c730a(0x395)](_0x131f31)))return;return _0x1bde9c(0x193);};}function openApiSummary(_0x40abd7,_0x14928b){const _0x1effbf=_0x4727c2,_0x24347d=_0x40abd7[_0x1effbf(0x244)](/^\/+|\/+$/g,'')[_0x1effbf(0x22f)]('/')[_0x1effbf(0x27d)]()||_0x40abd7;return _0x14928b?_0x24347d+'\x20'+_0x14928b:_0x24347d;}function buildRouteOptions(_0x48e224,_0x4e8335){const _0x3a255e=_0x4727c2,_0x241969=buildRouteSchema(_0x48e224)??{},_0x110e3e={..._0x241969,'detail':{'tags':[openApiTag(_0x4e8335['module'],_0x4e8335[_0x3a255e(0x3b1)])],'summary':openApiSummary(_0x48e224[_0x3a255e(0x1e6)],_0x48e224[_0x3a255e(0x1f4)])}};_0x4e8335['side']===_0x3a255e(0x32b)&&!_0x48e224['public']&&(_0x110e3e[ADMIN_GUARD]=!![]);_0x4e8335['side']==='app'&&!_0x48e224['public']&&(_0x110e3e[APP_GUARD]=!![]);const _0x3dba89=[],_0x1343a4=effectivePerms(_0x48e224,_0x4e8335);if(_0x1343a4?.[_0x3a255e(0x202)])_0x3dba89[_0x3a255e(0x2dc)](createPermsGuard(_0x1343a4));if(_0x48e224[_0x3a255e(0x274)]?.[_0x3a255e(0x202)])_0x3dba89['push'](..._0x48e224[_0x3a255e(0x274)]);if(_0x3dba89['length'])_0x110e3e[_0x3a255e(0x21d)]=_0x3dba89;return _0x110e3e;}function normalizeCrudRouteOpts(_0xc61ecf){const _0x1b501e=_0x4727c2;if(_0xc61ecf==null)return{};if(typeof _0xc61ecf===_0x1b501e(0x237))return{'public':_0xc61ecf};return _0xc61ecf;}function registerControllerPlugin(_0x1a9d49,_0x57492b){const _0x425c32=_0x4727c2,_0x307538=getSidePrefix(_0x1a9d49['side']),_0x1bd247=joinPrefix(_0x307538,_0x1a9d49['prefix']),_0x10a125=Ioc[_0x425c32(0x389)](_0x1a9d49[_0x425c32(0x341)]);let _0x9c6540=new Elysia({'prefix':_0x1bd247,'name':_0x1a9d49['token'][_0x425c32(0x27e)],'tags':[openApiTag(_0x1a9d49[_0x425c32(0x265)],_0x1a9d49['side'])]});for(const _0x16e11a of _0x1a9d49['middleware']??[]){_0x9c6540=_0x9c6540[_0x425c32(0x285)](_0x16e11a);}const _0x5a8b74=[];for(const _0x4618f8 of _0x1a9d49[_0x425c32(0x1e0)]){const _0x907477=_0x10a125[_0x4618f8[_0x425c32(0x1e6)]];if(typeof _0x907477!==_0x425c32(0x305))throw new Error(_0x425c32(0x37f)+_0x1a9d49['token']['name']+'.'+_0x4618f8['handler']+_0x425c32(0x21b));assertRouteParams(_0x4618f8[_0x425c32(0x3aa)]??[],_0x4618f8[_0x425c32(0x1e6)],_0x1a9d49[_0x425c32(0x341)][_0x425c32(0x27e)]);const _0x45348a=createParamHandler(_0x10a125,_0x4618f8[_0x425c32(0x1e6)],_0x4618f8[_0x425c32(0x3aa)]),_0x16e2ec=getRouteSubPath(_0x4618f8['path'],_0x1a9d49[_0x425c32(0x388)]),_0x4c020a=buildRouteOptions(_0x4618f8,_0x1a9d49),_0x523c85=ELYSIA_METHODS[_0x4618f8[_0x425c32(0x269)]];_0x9c6540=_0x9c6540[_0x523c85](_0x16e2ec,_0x45348a,_0x4c020a);}if(_0x1a9d49[_0x425c32(0x391)]?.['api']?.[_0x425c32(0x202)]||_0x1a9d49[_0x425c32(0x391)]?.[_0x425c32(0x30b)]?.[_0x425c32(0x202)]){if(!crudRegistrar)throw new Error(_0x425c32(0x37f)+_0x1a9d49['token'][_0x425c32(0x27e)]+_0x425c32(0x1df));_0x9c6540=crudRegistrar(_0x9c6540,_0x1a9d49,{'controller':_0x10a125,'routeOptions':_0x59de55=>{const _0x16783e=_0x425c32,{public:_0x11a218,action:_0x270801,summary:_0x357a6c}=normalizeCrudRouteOpts(_0x59de55),_0x19f775={'detail':{'tags':[openApiTag(_0x1a9d49[_0x16783e(0x265)],_0x1a9d49['side'])],'summary':openApiSummary(_0x270801??_0x16783e(0x294),_0x357a6c)}};if(_0x1a9d49['side']===_0x16783e(0x32b)&&!_0x11a218){_0x19f775[ADMIN_GUARD]=!![];if(_0x270801){const _0x24855a=resolveRoutePerm(_0x1a9d49[_0x16783e(0x265)],_0x1a9d49[_0x16783e(0x388)],_0x270801);_0x19f775[_0x16783e(0x21d)]=[createPermsGuard([_0x24855a])];}}return _0x19f775;}});for(const _0x2376e9 of _0x1a9d49[_0x425c32(0x391)]?.[_0x425c32(0x22b)]??[]){const _0x33ef63=_0x2376e9==='info'?_0x425c32(0x2c0):_0x425c32(0x3bc);_0x5a8b74[_0x425c32(0x2dc)]({'method':_0x33ef63,'path':joinPrefix(_0x1a9d49[_0x425c32(0x388)],_0x2376e9),'handler':_0x2376e9,'autoCrud':!![]});}for(const _0x3e3b53 of _0x1a9d49[_0x425c32(0x391)]?.[_0x425c32(0x30b)]??[]){_0x5a8b74[_0x425c32(0x2dc)]({'method':_0x425c32(0x3bc),'path':joinPrefix(_0x1a9d49[_0x425c32(0x388)],_0x3e3b53),'handler':_0x3e3b53,'autoCrud':!![]});}}return{'plugin':_0x9c6540,'pluginPrefix':_0x1bd247,'autoRoutes':_0x5a8b74};}function registerControllers(_0x533a1c,_0x3a4741){const _0x5d4a5d=_0x4727c2;let _0x1f2dc8=_0x533a1c,_0x5905b8=0x0;const _0x1ad42a=[];for(const _0x43e8cc of listControllers()){const {plugin:_0x555f65,pluginPrefix:_0x560e02,autoRoutes:_0x27b92d}=registerControllerPlugin(_0x43e8cc,_0x3a4741);_0x1f2dc8=_0x1f2dc8[_0x5d4a5d(0x262)](_0x555f65);for(const _0x7d0c94 of[..._0x43e8cc[_0x5d4a5d(0x1e0)],..._0x27b92d]){_0x5905b8+=0x1;const _0x1a95cd=getRouteSubPath(_0x7d0c94['path'],_0x43e8cc['prefix']),_0x55fac8=_0x1a95cd==='/'?_0x560e02:joinPrefix(_0x560e02,_0x1a95cd[_0x5d4a5d(0x244)](/^\//,'')),_0x29a54a=_0x7d0c94[_0x5d4a5d(0x200)]?_0x5d4a5d(0x356):_0x7d0c94['autoCrud']?_0x5d4a5d(0x2d4):'';_0x1ad42a[_0x5d4a5d(0x2dc)](_0x7d0c94['method']+'\x20'+_0x55fac8+_0x29a54a);}}if(_0x5905b8>0x0){console[_0x5d4a5d(0x2e2)](_0x5d4a5d(0x33a)+_0x5905b8+_0x5d4a5d(0x2a0));for(const _0x286386 of _0x1ad42a)console['log']('\x20\x20'+_0x286386);}return _0x1f2dc8;}var {Glob}=globalThis[_0x4727c2(0x2ac)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0x5ccac8,_0x44fdd8={}){const _0x18fc5f=_0x4727c2,{cwd:cwd=process[_0x18fc5f(0x378)](),ext:ext=DEFAULT_EXT}=_0x44fdd8,_0x3579c6=Array[_0x18fc5f(0x327)](_0x5ccac8)?_0x5ccac8:[_0x5ccac8],_0x125d50=[];for(const _0x2ba066 of _0x3579c6){const _0x42bbb4=new Glob(_0x2ba066);for await(const _0xc76403 of _0x42bbb4[_0x18fc5f(0x1ec)]({'cwd':cwd,'onlyFiles':!![]})){if(ext['test'](_0xc76403))_0x125d50['push'](_0xc76403);}}return[...new Set(_0x125d50)][_0x18fc5f(0x25e)]();}var context=null;function setControllerScanContext(_0x3ede49){context=_0x3ede49;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x5b4b0c){const _0xb54ecc=_0x4727c2,_0x1f471f=_0x5b4b0c[_0xb54ecc(0x393)](/modules\/([^/]+)\/controller\//);if(!_0x1f471f)return _0xb54ecc(0x330);return _0x1f471f[0x1];}function parseControllerAutoPrefix(_0x30e949){const _0xc56201=_0x4727c2,_0x4d5a77=_0x30e949[_0xc56201(0x244)](/\\/g,'/')['match'](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x4d5a77)return'';const _0x17bf60=_0x4d5a77[0x1],_0x35a979=_0x4d5a77[0x2][_0xc56201(0x244)](/\/+/g,'/')['replace'](/^\/|\/$/g,'');if(!_0x35a979)return'/'+_0x17bf60;return'/'+_0x17bf60+'/'+_0x35a979;}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(_0x1b4b67){const _0x4454ed=_0x4727c2,_0x1acedb=_0x1b4b67 instanceof Date?_0x1b4b67:new Date(_0x1b4b67);if(Number[_0x4454ed(0x342)](_0x1acedb['getTime']()))return String(_0x1b4b67);return new Intl[(_0x4454ed(0x302))](_0x4454ed(0x290),{'timeZone':_0x4454ed(0x399),'year':_0x4454ed(0x321),'month':'2-digit','day':_0x4454ed(0x35e),'hour':_0x4454ed(0x35e),'minute':'2-digit','second':_0x4454ed(0x35e),'hour12':![]})['format'](_0x1acedb)[_0x4454ed(0x244)]('T','\x20');}function isTimeKey(_0x38e371){const _0x332a5b=_0x4727c2;return TIME_KEY_RE[_0x332a5b(0x298)](_0x38e371);}function formatApiDates(_0x4b5775){return walk(_0x4b5775);}function walk(_0x382f09,_0x2219bc){const _0x42b851=_0x4727c2;if(_0x382f09==null)return _0x382f09;if(_0x382f09 instanceof Date)return formatDateTime(_0x382f09);if(typeof _0x382f09===_0x42b851(0x256)&&_0x2219bc&&isTimeKey(_0x2219bc)&&ISO_RE[_0x42b851(0x298)](_0x382f09))return formatDateTime(_0x382f09);if(Array['isArray'](_0x382f09))return _0x382f09[_0x42b851(0x38c)](_0x14d443=>walk(_0x14d443));if(typeof _0x382f09===_0x42b851(0x310)){if(Object[_0x42b851(0x29b)][_0x42b851(0x252)][_0x42b851(0x26b)](_0x382f09)!==_0x42b851(0x1f5))return _0x382f09;const _0x27d834={};for(const [_0x2cbd45,_0x4ec971]of Object['entries'](_0x382f09)){_0x27d834[_0x2cbd45]=walk(_0x4ec971,_0x2cbd45);}return _0x27d834;}return _0x382f09;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0x3d1b72){const _0x118ac9=_0x4727c2,_0x5536a1=_0x3d1b72===undefined?null:_0x3d1b72;return{'code':RES_CODE[_0x118ac9(0x2f8)],'message':_0x118ac9(0x26f),'data':_0x5536a1==null?_0x5536a1:formatApiDates(_0x5536a1)};}['fail'](_0x35c6cd='error',_0x4619ae=RES_CODE[_0x4727c2(0x34c)]){return{'code':_0x4619ae,'message':_0x35c6cd};}}import'reflect-metadata';function normalizeProvideArgs(_0x388eae){const _0x3ec046=_0x4727c2;if(_0x388eae==null)return{};if(typeof _0x388eae===_0x3ec046(0x256)||typeof _0x388eae==='symbol')return{'id':_0x388eae};return _0x388eae;}function Provide(_0x32f9eb){return _0x522fc7=>{const _0x1cbcf8=_0x1a3d,_0x2e1740=normalizeProvideArgs(_0x32f9eb),_0x153f05=_0x2e1740[_0x1cbcf8(0x279)]??_0x1cbcf8(0x218);registerProvider({'token':_0x522fc7,'useClass':_0x522fc7,'scope':_0x153f05}),_0x2e1740['id']!=null&&registerProvider({'token':_0x2e1740['id'],'useClass':_0x522fc7,'scope':_0x153f05});};}function Inject(_0xfa267d){return(_0x298201,_0x3a6e81)=>{const _0x12bf68=_0x1a3d,_0x28a23d=Reflect[_0x12bf68(0x2b7)](_0x12bf68(0x39f),_0x298201,_0x3a6e81),_0x1df7cd=_0xfa267d??_0x28a23d;if(_0x1df7cd==null)throw new Error(_0x12bf68(0x2ce)+String(_0x3a6e81)+'\x20的类型,请显式传入\x20token');appendInjectMeta(_0x298201['constructor'],{'propertyKey':_0x3a6e81,'token':_0x1df7cd});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0x4cf464){const _0x1b9618=_0x4727c2;if(typeof _0x4cf464==='string'){const _0x322ed0=_0x4cf464[_0x1b9618(0x395)]('.')?_0x4cf464[_0x1b9618(0x22f)]('.')[_0x1b9618(0x27d)]():_0x4cf464;return{'column':_0x322ed0,'param':_0x322ed0,'none':![]};}const _0x2b7185=_0x4cf464[_0x1b9618(0x3b5)][_0x1b9618(0x395)]('.')?_0x4cf464[_0x1b9618(0x3b5)][_0x1b9618(0x22f)]('.')[_0x1b9618(0x27d)]():_0x4cf464[_0x1b9618(0x3b5)];return{'column':_0x2b7185,'param':_0x4cf464[_0x1b9618(0x2af)]??_0x2b7185,'none':Boolean(_0x4cf464['none'])};}function rangeColumn(_0x563d99){const _0x3dbae1=_0x4727c2;return _0x563d99[_0x3dbae1(0x3b5)]['includes']('.')?_0x563d99[_0x3dbae1(0x3b5)]['split']('.')[_0x3dbae1(0x27d)]():_0x563d99[_0x3dbae1(0x3b5)];}function tableCol(_0x315fde,_0x3f0082){const _0x24d39e=_0x4727c2,_0x4fcbe6=_0x315fde[_0x3f0082];if(_0x4fcbe6==null)throw new Error(_0x24d39e(0x201)+_0x3f0082);return _0x4fcbe6;}function isBlank(_0x1db959){return _0x1db959===undefined||_0x1db959===null||_0x1db959==='';}function compactWhere(_0x38d4bf){const _0x4c1837=_0x4727c2;if(_0x38d4bf==null||_0x38d4bf===![])return[];const _0x3bc55c=Array[_0x4c1837(0x327)](_0x38d4bf)?_0x38d4bf:[_0x38d4bf];return _0x3bc55c[_0x4c1837(0x2e3)](_0xe44271=>_0xe44271!=null&&_0xe44271!==![]);}var q={'between'(_0x514b38,_0x284d68,_0x42648e){if(isBlank(_0x284d68)||isBlank(_0x42648e))return;return sql`${_0x514b38} between ${_0x284d68} and ${_0x42648e}`;},'range'(_0x11a32c,_0x44a5bb,_0x1ef1d1){const _0x4c238e=_0x4727c2,_0x5cc8bc=[];if(!isBlank(_0x44a5bb))_0x5cc8bc[_0x4c238e(0x2dc)](gte(_0x11a32c,_0x44a5bb));if(!isBlank(_0x1ef1d1))_0x5cc8bc[_0x4c238e(0x2dc)](lte(_0x11a32c,_0x1ef1d1));if(!_0x5cc8bc[_0x4c238e(0x202)])return;return _0x5cc8bc[_0x4c238e(0x202)]===0x1?_0x5cc8bc[0x0]:and(..._0x5cc8bc);},'eqRest'(_0x26e927,_0x572bc9,_0x574e0c){const _0x301825=_0x4727c2,_0x28e0f3=[];for(const [_0x6d2a32,_0x5492f5]of Object[_0x301825(0x3b8)](_0x26e927)){if(isBlank(_0x5492f5))continue;const _0x23246d=_0x574e0c?.[_0x6d2a32]??_0x572bc9[_0x6d2a32];if(_0x23246d==null)continue;_0x28e0f3['push'](eq(_0x23246d,_0x5492f5));}return _0x28e0f3;},'contains'(_0x17a7db,_0x23e9e9){const _0x2f8242=_0x4727c2;if(isBlank(_0x23e9e9))return;const _0x16b7cd=Array['isArray'](_0x23e9e9)?_0x23e9e9:[_0x23e9e9];if(!_0x16b7cd[_0x2f8242(0x202)])return;return _0x16b7cd[_0x2f8242(0x202)]===0x1?arrayContains(_0x17a7db,_0x16b7cd):arrayOverlaps(_0x17a7db,_0x16b7cd);}};function _0x35d7(){const _0x3aed69=['DMfYigHHBMrSzxjZid0GEW','AgfZrw50Axr5','C2nVCgvKv2HLCMu','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','pJ00lJaUma','CM91DgvpChrPB25Z','ioE8UUwWKsb0B2TLBIdMIjyGCMvZB2X2zq','w1bSDwDPBL0G5yQG6l295AsX6lsLoIa','tK9erv9ftLy','CMvZDg9YzsbMywLSzwq','Dg9Rzw4','Axnoyu4','yxbW','BwLU','Aw1Hz2uVC3zNk3HTBa','DgfNCW','ntaWnfHlqMPgEa','odG1ndnyChzZuwi','yMvMB3jL','AwrZihjLCxvPCMvK','y2yTy29UBMvJDgLUzY1PCa','rvjst1i','CMvXDwvZDa','BNvTyMvY','5y2v5lIQ5l+H5OgV','C3rHDhvZq29Kzq','Aw5Zzxj0','zgvSzxrLtwv0ywrHDge','w0nVBNrLEhrDiow9K+wjJEAxOoIVT+AXGUs4IUs4I+AwH++8JowgMEwfPEIIQ+w/VEEvPE+8IoIVT+EHRUIUPcbHC3LUy0nVBNrLEhrnyw5Hz2vYiow3SUwqR+EuQo+8Iq','zxHPDa','ywrKt3jKzxjcEq','icHWDwjSAwmP','CMvHzhK','mtq4nte5ogLgAfHwDa','CM91DgvqyxjHBxm','DM9TztPPBMPLy3q','B25szxf1zxn0','Bw9KDwXLlMPZB24','uxvLCNK','mI1KAwDPDa','AwrZ','Ag9ZDa','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','yxbWBgLJyxrPB24VANnVBJSGy2HHCNnLDd11DgyToa','C2f2zq','z2v0u1fm','zgvMyxvSDa','Aw1Hz2uVCg5N','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','Dw5ZywzL','zgf0yvnJB3bLrgvWDeLKCW','5yIG6zMK5PE26zE0','Aw5KzxGUANm','yxnJ','CMfUz2u','6z2E5Rov5QIH5z2xigTLEq','zgf0yvr5Cgu','57Y65Bcrig1VzhvSzs5QC29UoIa','lI9KAxn0l2LUzgv4lMqUDhm','zgLNzxn0','D2vI','B25fCNjVCG','BwfUAwzLC3q','CMvXDwvZDeXVzW','Bgf0zxn0','y3DK','y29TBwvUDa','zM9UDc93B2zMmG','BgLZDff1zxj5t3a','yMLUza','Ec1MB3j3yxjKzwqTAg9ZDa','zgvZy3jPChrPB24','w1jVDxrLCL0G','Aw5KzxG','DhLWzq','yM9VDhn0CMfW','nJaWotjIqwXgDee','Aw50zxjUywWGC2vYDMvYigvYCM9Y','BM90igzVDw5K','yxbWBgLJyxrPB24VAMf2yxnJCMLWDdSGy2HHCNnLDd11DgyToa','zM9Yy2u','ChjLzML4','z2v0','BgvMDePVAw4','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','BwfW','CMfUzg9Tvvvjra','ugfYyw0','l2LUzM8','ohf5DLLRsa','y3j1za','B3jKzxjcEvnXBa','Bwf0y2G','l2XPC3q','Aw5JBhvKzxm','6lEV55sX5lIn5A2y5zYO','cMLMicH0ExbLB2yGAgfUzgXLCNmGpt09icD1BMrLzMLUzwqNksbYzxr1CM4GBNvSBdSkCMv0DxjUigHHBMrSzxjZoW','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','qxnPys9tAgfUz2HHAq','C2nVCgvK','pJ0Xmc4WlJa','Aw5KzxGUAhrTBa','B2zMC2v0','yxnZAwDU','zgvZAwDUoNr5Cgu','C3vWCg9YDhntB2z0rgvSzxrL','D2L0AfrYyxnOzwq','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','y3jLyxrLvgLTzq','zgvZyW','CgfNzvf1zxj5t3a','nJmWndbzChrXtKK','Bw9KAwz5qwz0zxi','zgf0yvnJB3bL','zw5KC1DPDgG','CgfYyw1Z','l3jLC3rVCMu','zgv2','DMfYifbSDwDPBIa9','l3bHz2u','CgfNzq','C3jJl2nVBMzPzW','C2LKzq','AwDUB3jLugvYBxm','Bw9KAwz5qMvMB3jL','Aw5PDa','y29SDw1U','BgLZDgvU','zgvSzxrLigzHAwXLza','zw50CMLLCW','lNDVzMyY','yM9KEq','y3r4','ue9tva','y2XHC3nPyW','z2v0tw9UDgG','kIOVBw9KDwXLCY8Ql3nLCNzPy2uVkIOVkI50CW','BM8Ty2fJAgu','y291BNq','y3jLyxrL','qxbWig5VDcbMB3vUza','Aw5MBYbMywLSzwq','pJ0ZlJaUma','5yIB5BU65PE26zE0','ioMfJEE9RUs6HIbHCgKVC2vYDMLJzufWAxpVViZKVyBMNkRMIB7LIlaGq1jvrcdLRP7NJRdVViHaDM9Tzs1JB3jLigf0DgfJAenYDwrsB3v0zxmG5PYQ5OYc6l2977Yj','CM91DgvZ','BwLJCM9bChbZ','otaXotm0nMHlwhnTrG','w0LVy10GyM9VDhn0CMfWiokgKca','y29UC3rYDwn0B3i','zMLLBgrsyw5Nzq','AgfUzgXLCG','xJeZlJeUmW','AxneAxjLy3rVCNK','ChjVCgvYDhLoyw1L','C2v0rw50Axr5','pJ0YlJaUma','C2nHBG','CxvLCNK','l2fKza','otG2odq5mwH5zM9NqG','lM1QCW','y29UDhjVBgXLCG','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','D3jPDgu','C3vTBwfYEq','w29IAMvJDcbpyMPLy3rD','zw5K','lNbUzW','D2fYBG','B3jKzxjcEq','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVywrTAw4VkIOVkI50CW','C2XPy2u','CgX1z2LU','Ec1MB3j3yxjKzwqTzM9Y','zMLUzej5swq','DxbKyxrLvgLTzq','ChvIBgLJ','w1f1zxj5t3bDioIHQoAxOowTL+AUTtOG','BgvUz3rO','AxngAw5PDgu','w01VzhvSzv0GBg9HzcbMywLSzwqG','mc4WlJeX','CMv0DxjUAw5N','y29UDgvUDa','xJeUnc4Xnq','y29SDw1UvhLWzq','DM9Tzq','zw5HyMXL','l3zVBwuVyxbWCW','zw50zxjxAxrO','Chv0','C291CMnL','C3rHCNq','AgfZ','AgfUzgXLCNm','ywrK','lI9KAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','ywrKigzHAwXLza','pJ05lJaUma','zMLUza','C2LUz2XLDg9U','C2vYDMLJzq','Cg9ZDa','ios4JEAyR+ACIEAvIcbOyw5KBgvY','AxntDxbLCG','yMvMB3jLsgfUzgXL','Dgv4Dc9JC3m7ignOyxjZzxq9DxrMltG','BgLTAxq','Bg9JywXLq29TCgfYzq','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xOVA/LIkdPMAq','ufvu','ChjVza','Bwf4rgf5CW','yNvUihnJCMLWDhmVyNvPBgqTywrTAw4UDhm','yNvUihj1BIbIDwLSzdPVyMz1C2nHDgu','ioIHQoAxOcbPzcdLIjC','xJeWlJmUmq','zMLUze9Uzq','ChjPBwfYEuTLEq','yxbP','zgLZDa','CgfKu3rHCNq','lw1Hy3jV','C3bSAxq','w2nVBhvTBKnVBw1LBNrZxsdPNz7MS5xMOiFOR4BNRky6ia','DMvYC2LVBG','zgvSzxrL','zxjYB3i','DM9Tzs1JB3jL','lMPZB24','zgvIDwC','yM9VBgvHBG','zMLUzfbHz2u','ios4JEAyR+ACIEAvIoAwUEAZLq','uMvXDwvZDa','kgfUB255Bw91CYK','w0HVC3rDihnJyw4G4OAqia','B25Jzq','zMLLBgrbCNjHEq','AgvHzgvYCW','y2XVC2u','w01VzhvSzv0GBg9HzgvKia','DMfSAwrHDgLVBIbMywLSzwq','w0HVC3rDignYDwqG4OAqieb2B21LlwnVCMuVB3jT','CMvWBgfJzq','z2v0rgf0zq','A2v5CW','ywrTAw5bDxrO','yMLUzevUDgL0Eq','AM9PBG','B3jKzxi','ignVBNrYB2XSzxiGzMLSzsHZkq','ChjVzc50CW','C3jJl21PzgrSzxDHCMuVAw5KzxGUDhm','CgLKlgHVC3rUyw1L','8j+tMIbbueNMLOFMOAm6ia','C2nOzw1H','uefuq0G','Dg9tDhjPBMC','y29SDw1Ux25HBwu','zw50Axr5','yxbWBgLJyxrPB24VANnVBG','C3rYAw5N','DxbKyxrLigzHAwXLza','y29Kzq','mJaXDNHyA0np','Bg9Nz2LUzW','y29UDgvUDc10ExbL','rw50Axr5','lNDVzMy','C29YDa','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','khSGqMfZzvbSDwDPBIb9kq','DMfSDwu','DxnL','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','pJ0WlJiUma','Bw9KDwXL','Bwq1','y2fJAgu','CgX1z2LUu2vYDMLJzq','Bwv0Ag9K','lI90ExbPBMDZl2fKBwLUlYO','y2fSBa','CMvZDg9Yzq','mZvHr1bev1y','C3jJl2XPyI9JywnOzs9PBMrLEc50CW','C3vJy2vZCW','zMLLBgrfCq','BwLJCM8TyxbWCY1ZDgf0Awm','Bwf4','5QIH5z2x5PYQ5yQG6l29','BwLKzgXLD2fYzq','B3bLCMf0Aw9UvgL0BgvtB3vYy2u','Bgf5B3v0','Ahr0CdOVl2XVy2fS','zgvMyxvSDc50CW','C2nVCgu','zNjVBq','DM9TztPJB250CM9SBgvYoNjVDxrLlxb1yMXPyW','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','Cg9W','BMfTzq','B2zM','BM90tNvSBa','DxbKyxrLqNLsB3DZ','DxbKyxrL','Cg9YDa','DxbZzxj0','B25czwzVCMviyw5KBgu','z2v0u3rVCMu','6z2E5Rov5QIH5z2xigTLEtOG','zgv2lNrZ','Dg9mB3DLCKnHC2u','lMPZ','x19ZA2LWrgf0yvnJB3bL','AhjLzG','DhjHC2G','vKfmsurbveLptG','C3rKB3v0','C3yTu0u','mJC2mu50vvbqAG','zMLSzq','Bw9KDwXLr2f0zxDHEq','ywn0Aw9U','q09ntuvovcbptIbdt0Xvtu4G','zgvMyxvSDe5VDW','BgfZDeLUzgv4t2y','DgvZDa','lI9KAxn0l2fKBwLUl3n0EwXLCY9IyxnLlMnZCW','Cgf0y2G','ChjVDg90ExbL','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','5yIx6kgO5P+L6k+I','lMH0BwW','C3fS','ihjVDxrLkhmP','Cgf0Ag5HBwu','AwqGCMvXDwLYzwq','uhjVDg90ExbL','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','C3jJl3nOyxjLza','DxjS','DxnLq2XHC3m','Ahr0CdOVl2XVy2fSAg9ZDdO','zgvWyxj0BwvUDeLK','C2L6zq','w0HVC3rDihnRAxaG4OAqig1PC3nPBMCG','qNvU','ywnJzxnZlwnVBNrYB2WTywXSB3CTB3jPz2LU','A2v5v29YzeXPA2vgAwvSzhm','CMvXDwvZDfbHCMfT','u0Lhvevstq','zM9Yy2vezwXLDgu','lI9KAxn0l2fKBwLUlYO','tM90iezVDw5K','Aw5UzxjkB2LU','Cgf0Aa','CgvYBxm','z2v0twv0ywrHDge','BM9Uzq','revmrvrf','zgf0yq','C3jJl2XPyI9HDxrOl2LUzgv4lNrZ','zM9UDc93B2zM','Dg9vChbLCKnHC2u','w0nsvurDia','vgfZAW','r0vu','C3rVCa','jg9UvxbKyxrL','y2XHC3mGjde','DMfYigHHBMrSzxjZid0','5QIH5z2x5PYQ5A6j6kof5OIw5PYQ5yQG6l29','C29MDerLBgv0zq','ioMCGoMfJEE9RIbLBNrPDhKG5OIwihnLCNzPy2u','zxHWB3j0CW','w1jLCg9ZAxrVCNLDioAjUEMhJ+ABToAwSoAVJ+ADOEMCGow4PIbPza','AxnfCNjVCG','C3jJl2XPyI9WBhvNAw4VAw5KzxGUDhm','zgLJDa','zg9JDw1LBNrHDgLVBG','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','odKZndH1s2vTtMO','zw52','x19ZA2LWvgvUyw50','A2v5','icHJCNvKkq','DxrMoa','D2HLCMu','C3rHDhvZ','zxH0zw5K','DgfIBgu','yxv0Aa','l2rLBgv0zq','ChvZAa','g1SYsHTBsa','w0LVy10G5PYQ5RoO5yAm55QeifbYB3zPzgvYoIa','Aw1Hz2uVANbLzW','pJ0ZlJuUma','kqOGia','Bg9N','zMLSDgvY','iowJSoAyJUs6HIbYB3v0zxmG5l2g57Y65BcrihnLCNzLCI9PBMrLEc5QCW','cUkwIokwIokvLYaGiokwIokwIokvLYaGiokwIokwIokwIokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcUkwIokwIokvKsaGiokwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4PwxicdILOJILOJILOJILOJILzCG4PAi4PAi4PAi4PAi4PwricdILOJILOJILztILzdILzdILzdILzdILz0k4PAi4PAi4PwricaG4PAi4PAi4PwricdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvLokwIokwIokwIokwIokvLokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PwxcIdILOJILOJILzCG4PAi4PAi4Pwu4PwDicdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvKEkvMUkwIokwIokvLokvNEkwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4PwDcIaG4PwA4PAi4PAi4PAi4Pwu4PwDicaG4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwDicdILOJILOJILzeG4PwA4Pwq4PwDiokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcIaGiokvMUkvKokvKokvNsaGicaG4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4PwDicaG4PwA4Pwq4PwDicaGicdILzRILzdILz0GiokvMUkvKokvKokvKokvKokvKokvKokvNqO','DgfIBgvFBMfTzq','AgfUzgXLCIdNVlRLPle6ia','C2v0rgf0zq','CgfYC2u','AxngAwXL','C2vYDMvY','rM9YyMLKzgvU','C3rHCNrZv2L0Aa','z2v0uMvWBW','ugX1z2LU','lMnZCW','A2v5v29Yza','cIaGicbtruXfq1qkicaGicaGyY5YzwXUyw1LieftihrHyMXLx25HBwuScIaGicaGigeUyxr0BMfTzsbbuYbJB2X1Bw5FBMfTzsWkicaGicaGy29Sx2rLC2nYAxb0Aw9UkgeUyxr0CMvSAwqSigeUyxr0BNvTksbbuYbJB21Tzw50cIaGicbguK9nihbNx2nHDgfSB2CUCgDFy2XHC3mGyWOGicaGsK9jtIbWz19JyxrHBg9NlNbNx25HBwvZCgfJzsbUie9oig4UB2LKid0GyY5YzwXUyw1LC3bHy2ukicaGiePpsu4GCgDFy2f0ywXVzY5Wz19HDhrYAwj1DguGysbptIbHlMf0DhjLBgLKid0GyY5VAwqkicaGifDirvjfigmUCMvSA2LUzca9icDYjWOGicaGicbbtKqGBI5UC3bUyw1Lid0Gy3vYCMvUDf9Zy2HLBweOkqOGicaGicbbtKqGys5HDhrUDw0GpIaWcIaGicaGieforcbot1qGys5HDhrPC2rYB3bWzwqkicaGicaGqu5eigmUCMvSBMfTzsbjtIaO','lI9KAxn0l2LUzgv4lMPZ','Bw9KDwXLCW','ywXS','y2XPzw50','Bgv2zwW','u1vdq0vtuW','zhjPENPSzq','DhjPBq','ywrTAw5jza','C2v0','DhLWAw5NCY9Hzg1PBG','w0LVy10G5PYQ55+L5l2C55sO5z+FoIa','q29TBuv4y2vWDgLVBG','C3jJl2XPyI9KyI9PBMrLEc50CW','CMvXDwLYzuvUDgL0Eq','rgf0zvrPBwvgB3jTyxq','qM9KEq','Aw5MBW','zNvUy3rPB24','CMvZB2X2zuLKv2HLCMu','l2fKBwLU','C2nHBgfY','tw9KDwXL','CgfNzsbMywLSzwq','C2vYDMLJzufWAxm','l2rVy3m','w0LVy10G','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xMGAlLPi0','y2XLyxi','B2jQzwn0','Bw9Kzq','B25SEvrYyxnOzwq','u2LUz2XLDg9U','l2fKBwLUl2v4Dc86A2v5','q2fJAgu','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','C3LZDgvT','BwvZC2fNzq','DMfSDwvZ','5PU05PAW5PE26zE0','DgvUyw50swq','y29UDgfPBNm','C2vSzwn0','BgLZDcbMywLSzwq','Ec1YzwfSlwLW','zgvSzxrLzef0','BNvTzxjPyW','BM93','igzHAwXLza','BgLZDa','zMfPBa','ndrOu2vNyxG','AxnbCNjHEq','zgvMAw5Ltwv0ywrHDge','5yIg6Ag15P+L6k+I','DhjHBNnWB3j0','ywrTAw4','D2vIqxv0Aa','u0Lhsu5u','zgLY','Aw5MB0LNBM9YzvbYB3bLCNr5','Dw5RBM93BG','Aw5Zzxj0ugfYyw0','DgvUyw50','l3vWzgf0zq','yNvUihj1BIbIDwLSzcaMjIbIDw4GCNvUig9IzNvZy2f0zq','CgX1z2LUsw5MBW','CgfYC2vjBNnLCNq'];_0x35d7=function(){return _0x3aed69;};return _0x35d7();}function buildFieldClauses(_0x35794f,_0x2e4fcc,_0x182fc7){const _0x1c0fc7=_0x4727c2,_0x56dc14=[];if(_0x182fc7[_0x1c0fc7(0x2ae)]?.['length']&&!isBlank(_0x2e4fcc[_0x1c0fc7(0x2f1)])){const _0x1bc7c2='%'+String(_0x2e4fcc[_0x1c0fc7(0x2f1)])+'%',_0x5bb9a5=_0x182fc7[_0x1c0fc7(0x2ae)][_0x1c0fc7(0x38c)](_0x2cc91b=>{const _0x5ee6df=_0x1c0fc7,_0x1fc618=_0x2cc91b[_0x5ee6df(0x395)]('.')?_0x2cc91b[_0x5ee6df(0x22f)]('.')['pop']():_0x2cc91b;return like(tableCol(_0x35794f,_0x1fc618),_0x1bc7c2);});if(_0x5bb9a5[_0x1c0fc7(0x202)]===0x1)_0x56dc14[_0x1c0fc7(0x2dc)](_0x5bb9a5[0x0]);else{if(_0x5bb9a5['length']>0x1)_0x56dc14['push'](or(..._0x5bb9a5));}}for(const _0x269d3f of _0x182fc7[_0x1c0fc7(0x270)]??[]){const {column:_0x32b875,param:_0x7cec0a}=colName(_0x269d3f),_0x11a9a7=_0x2e4fcc[_0x7cec0a];if(isBlank(_0x11a9a7))continue;if(Array[_0x1c0fc7(0x327)](_0x11a9a7)){if(!_0x11a9a7[_0x1c0fc7(0x202)])continue;_0x56dc14[_0x1c0fc7(0x2dc)](inArray(tableCol(_0x35794f,_0x32b875),_0x11a9a7));}else _0x56dc14[_0x1c0fc7(0x2dc)](eq(tableCol(_0x35794f,_0x32b875),_0x11a9a7));}for(const _0x346792 of _0x182fc7['fieldLike']??[]){const {column:_0x513467,param:_0x65583}=colName(_0x346792),_0x396d7f=_0x2e4fcc[_0x65583];if(isBlank(_0x396d7f))continue;_0x56dc14['push'](like(tableCol(_0x35794f,_0x513467),'%'+String(_0x396d7f)+'%'));}for(const _0x29a2af of _0x182fc7[_0x1c0fc7(0x23e)]??[]){const {column:_0x3d0996,param:_0x35fe89}=colName(_0x29a2af),_0x2fe9cf=q[_0x1c0fc7(0x31c)](tableCol(_0x35794f,_0x3d0996),_0x2e4fcc[_0x35fe89]);if(_0x2fe9cf)_0x56dc14[_0x1c0fc7(0x2dc)](_0x2fe9cf);}for(const _0x857400 of _0x182fc7[_0x1c0fc7(0x1e5)]??[]){const _0x1ded6d=tableCol(_0x35794f,rangeColumn(_0x857400)),_0x5b2aa4=q[_0x1c0fc7(0x36d)](_0x1ded6d,_0x2e4fcc[_0x857400['min']],_0x2e4fcc[_0x857400['max']]);if(_0x5b2aa4)_0x56dc14[_0x1c0fc7(0x2dc)](_0x5b2aa4);}return _0x56dc14;}function buildOrderBy(_0x4cf3a0,_0xcd01ef,_0x998e88){const _0x5f1987=_0x4727c2,_0x2acb6a=[],_0xf37616=_0xcd01ef[_0x5f1987(0x24a)]!=null?String(_0xcd01ef[_0x5f1987(0x24a)]):undefined,_0x1c69f0=_0xcd01ef['sort']==='asc'||_0xcd01ef[_0x5f1987(0x25e)]===_0x5f1987(0x3a4)?_0xcd01ef[_0x5f1987(0x25e)]:undefined;if(_0xf37616){const _0x5a75dc=tableCol(_0x4cf3a0,_0xf37616);_0x2acb6a[_0x5f1987(0x2dc)](_0x1c69f0==='asc'?asc(_0x5a75dc):desc(_0x5a75dc));}else{if(_0x998e88[_0x5f1987(0x355)])for(const [_0x48cda1,_0x12b4bd]of Object[_0x5f1987(0x3b8)](_0x998e88[_0x5f1987(0x355)])){const _0x2a89c6=_0x48cda1[_0x5f1987(0x395)]('.')?_0x48cda1[_0x5f1987(0x22f)]('.')[_0x5f1987(0x27d)]():_0x48cda1,_0x2ab074=tableCol(_0x4cf3a0,_0x2a89c6);_0x2acb6a['push'](_0x12b4bd===_0x5f1987(0x36c)?asc(_0x2ab074):desc(_0x2ab074));}}return _0x2acb6a;}function needsAdvancedQuery(_0x4260f9){const _0x1c54cd=_0x4727c2;return!!(_0x4260f9?.['join']?.['length']||_0x4260f9?.[_0x1c54cd(0x31d)]);}async function buildQueryOp(_0x5373c3,_0x2837b5,_0x1c81e5={},_0x51a092){const _0x1c2e1a=_0x4727c2,_0x447ce1=buildFieldClauses(_0x5373c3,_0x2837b5,_0x1c81e5),_0x1c2dc4=buildOrderBy(_0x5373c3,_0x2837b5,_0x1c81e5),_0x216cbe={'body':_0x2837b5,'request':_0x51a092??new Request(_0x1c2e1a(0x277))};_0x1c81e5[_0x1c2e1a(0x2d6)]&&_0x447ce1[_0x1c2e1a(0x2dc)](...compactWhere(await _0x1c81e5[_0x1c2e1a(0x2d6)](_0x216cbe)));if(_0x1c81e5[_0x1c2e1a(0x2d8)]){const _0x40afc9={'andWhere'(_0x39cac3){const _0x5122fd=_0x1c2e1a;if(_0x39cac3!=null&&_0x39cac3!==![])_0x447ce1[_0x5122fd(0x2dc)](_0x39cac3);},'orderBy'(..._0x498b8b){for(const _0x4eff05 of _0x498b8b){if(_0x4eff05!=null)_0x1c2dc4['push'](_0x4eff05);}}};await _0x1c81e5[_0x1c2e1a(0x2d8)](_0x40afc9,_0x216cbe);}const _0x57f84d=_0x447ce1[_0x1c2e1a(0x202)]===0x0?undefined:_0x447ce1[_0x1c2e1a(0x202)]===0x1?_0x447ce1[0x0]:and(..._0x447ce1);return{'where':_0x57f84d,'orderBySql':_0x1c2dc4};}import{and as _0x124388,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x2cd2ac}from'drizzle-orm';function readCrudConfig(){const _0x35df3c=_0x4727c2;return VomeConfig[_0x35df3c(0x20a)]?.['crud']??{};}function resolveUpsert(_0x1308a6){const _0x4f2c71=_0x4727c2;return _0x1308a6??readCrudConfig()[_0x4f2c71(0x284)]??_0x4f2c71(0x351);}function resolveSoftDelete(_0x685ed7){const _0x5691cb=_0x4727c2;if(_0x685ed7!=null)return _0x685ed7;return readCrudConfig()[_0x5691cb(0x2c6)]===!![];}class DbStore{[_0x4727c2(0x2f9)];[_0x4727c2(0x2f6)];[_0x4727c2(0x250)];[_0x4727c2(0x29f)];constructor(_0x2b70b0,_0x1183a9,_0x60a850,_0x672620){const _0x53649f=_0x4727c2;this[_0x53649f(0x2f9)]=_0x2b70b0,this[_0x53649f(0x2f6)]=_0x1183a9,this['schema']=_0x60a850,this[_0x53649f(0x29f)]=_0x672620;}}import{and as _0x1b9a45,inArray as _0x3c367f,sql as _0x426b38}from'drizzle-orm';import{and as _0x25f2a8,eq as _0x20c6cf,sql as _0x21c614}from'drizzle-orm';var SKIP_KEY=_0x4727c2(0x2d2);function isTenantEnabled(){const _0x417ac5=_0x4727c2;return VomeConfig[_0x417ac5(0x20a)]?.[_0x417ac5(0x332)]===!![];}function tableHasTenantId(_0x5bf0ba){const _0x5b77ea=_0x4727c2;return _0x5bf0ba[_0x5b77ea(0x31b)]!=null;}function resolveTenantScope(){const _0x14d1fc=_0x4727c2;if(!isTenantEnabled())return _0x14d1fc(0x27f);const _0x497988=Context[_0x14d1fc(0x389)]();if(_0x497988?.[SKIP_KEY])return'off';if(_0x497988?.[_0x14d1fc(0x21c)])return'all';const _0x248e04=_0x497988?.[_0x14d1fc(0x31b)],_0x98f005=typeof _0x248e04===_0x14d1fc(0x34e)?_0x248e04:Number(_0x248e04);if(!Number[_0x14d1fc(0x203)](_0x98f005)||_0x98f005<=0x0)return'none';return _0x98f005;}function applyTenantWhere(_0x3e258a,_0x2de813){const _0x3381ec=_0x4727c2;if(!tableHasTenantId(_0x3e258a))return _0x2de813;const _0x41ffdc=resolveTenantScope();if(_0x41ffdc===_0x3381ec(0x27f)||_0x41ffdc==='all')return _0x2de813;const _0x33abc3=_0x3e258a[_0x3381ec(0x31b)],_0x1a7ae5=_0x41ffdc===_0x3381ec(0x2b8)?_0x21c614`false`:_0x20c6cf(_0x33abc3,_0x41ffdc);if(_0x2de813&&_0x1a7ae5)return _0x25f2a8(_0x2de813,_0x1a7ae5);return _0x2de813??_0x1a7ae5;}function stampTenantId(_0x4a6b18,_0x5202b8){if(!tableHasTenantId(_0x4a6b18))return _0x5202b8;const _0x59a660=resolveTenantScope();if(typeof _0x59a660!=='number')return _0x5202b8;if(_0x5202b8['tenantId']!=null)return _0x5202b8;return{..._0x5202b8,'tenantId':_0x59a660};}async function noTenant(_0x113908){const _0x5dfa4d=_0x4727c2,_0x23bea6=Context[_0x5dfa4d(0x389)]();if(!_0x23bea6)return _0x113908();const _0xb815e0=_0x23bea6[SKIP_KEY];_0x23bea6[SKIP_KEY]=!![];try{return await _0x113908();}finally{if(_0xb815e0===undefined)delete _0x23bea6[SKIP_KEY];else _0x23bea6[SKIP_KEY]=_0xb815e0;}}function normalizeHost(_0x2a0b05){const _0x464ec9=_0x4727c2;if(!_0x2a0b05)return'';return _0x2a0b05['trim']()[_0x464ec9(0x289)]()['replace'](/:\d+$/,'');}var SKIP_KEY2=_0x4727c2(0x28b);function tableHasDepartmentId(_0x38882f){const _0xa10722=_0x4727c2;return _0x38882f[_0xa10722(0x2a9)]!=null;}function resolveDataScope(){const _0x124ca8=_0x4727c2,_0x3039e7=Context['get']();if(!_0x3039e7)return _0x124ca8(0x27f);if(_0x3039e7[SKIP_KEY2])return _0x124ca8(0x27f);if(_0x3039e7['isSuper'])return _0x124ca8(0x2f5);const _0x3d4533=_0x3039e7[_0x124ca8(0x3a8)];if(_0x3d4533==null||_0x3d4533==='')return _0x124ca8(0x27f);if(_0x3d4533==='all')return _0x124ca8(0x2f5);if(_0x3d4533==='none')return'none';const _0xc9a0f7=_0x3039e7[_0x124ca8(0x369)],_0x48ad64=Array['isArray'](_0xc9a0f7)?_0xc9a0f7[_0x124ca8(0x38c)](_0x1af096=>Number(_0x1af096))['filter'](_0x18084f=>Number['isFinite'](_0x18084f)&&_0x18084f>0x0):[];if(!_0x48ad64[_0x124ca8(0x202)])return'none';return[...new Set(_0x48ad64)];}function applyDataScopeWhere(_0x21987e,_0x44950b){const _0x8f93b1=_0x4727c2;if(!tableHasDepartmentId(_0x21987e))return _0x44950b;const _0x264432=resolveDataScope();if(_0x264432==='off'||_0x264432===_0x8f93b1(0x2f5))return _0x44950b;const _0x5dce3d=_0x21987e['departmentId'],_0x4c9f33=_0x264432===_0x8f93b1(0x2b8)?_0x426b38`false`:_0x3c367f(_0x5dce3d,_0x264432);if(_0x44950b)return _0x1b9a45(_0x44950b,_0x4c9f33);return _0x4c9f33;}function applyRowScopes(_0x2bf40c,_0x237582){return applyDataScopeWhere(_0x2bf40c,applyTenantWhere(_0x2bf40c,_0x237582));}async function noDataScope(_0x32da19){const _0x111a40=_0x4727c2,_0x321be4=Context[_0x111a40(0x389)]();if(!_0x321be4)return _0x32da19();const _0x383cf9=_0x321be4[SKIP_KEY2];_0x321be4[SKIP_KEY2]=!![];try{return await _0x32da19();}finally{if(_0x383cf9===undefined)delete _0x321be4[SKIP_KEY2];else _0x321be4[SKIP_KEY2]=_0x383cf9;}}function deletedAtColumn(_0x115a56){return _0x115a56['deletedAt'];}function trashClause(_0x160319,_0x468e31){const _0x35d9f2=_0x4727c2;if(!resolveSoftDelete(_0x468e31?.[_0x35d9f2(0x2c6)]))return;const _0x349396=deletedAtColumn(_0x160319);if(_0x349396==null)return;if(_0x468e31?.[_0x35d9f2(0x312)])return isNotNull(_0x349396);if(_0x468e31?.[_0x35d9f2(0x3a1)])return;return isNull(_0x349396);}function mergeWhere(_0x599b91,_0x296b65){if(_0x599b91&&_0x296b65)return _0x124388(_0x296b65,_0x599b91);return _0x599b91??_0x296b65;}function applyJoins(_0x5eb718,_0x2e1781,_0x4d24fd){const _0xb2620f=_0x4727c2;let _0x58d6aa=_0x5eb718;for(const _0x4e52b1 of _0x4d24fd['join']??[]){const _0x4add93=_0x4e52b1[_0xb2620f(0x2d9)],_0x2c9e84=_0x4e52b1['on'](_0x2e1781),_0x3942d0=_0x4e52b1[_0xb2620f(0x381)]??_0xb2620f(0x38a);_0x3942d0===_0xb2620f(0x2b4)||_0x3942d0==='join'?_0x58d6aa=_0x58d6aa[_0xb2620f(0x2b4)](_0x4add93,_0x2c9e84):_0x58d6aa=_0x58d6aa[_0xb2620f(0x38a)](_0x4add93,_0x2c9e84);}return _0x58d6aa;}function resolveSelect(_0x2e8f37,_0x2e3310){const _0xb8c31d=_0x4727c2;if(_0x2e3310['select'])return _0x2e3310[_0xb8c31d(0x31d)];return getTableColumns(_0x2e8f37);}function countExpr(_0x586e6b,_0x13388e){const _0x73bb5d=_0x586e6b['id'];if(_0x73bb5d!=null&&_0x13388e)return countDistinct(_0x73bb5d);if(_0x73bb5d!=null)return count(_0x73bb5d);return count(_0x2cd2ac`*`);}async function queryWithOp(_0x317a19,_0x37532b,_0x59b05d,_0x5638a4){const _0x47b07e=_0x4727c2,_0x512b13=await buildQueryOp(_0x317a19,_0x37532b,_0x59b05d,_0x5638a4['request']),_0x201c70=trashClause(_0x317a19,_0x5638a4[_0x47b07e(0x28d)]),_0x407515=applyRowScopes(_0x317a19,mergeWhere(_0x512b13['where'],_0x201c70)),_0x55bb13=resolveSelect(_0x317a19,_0x59b05d),_0x5bfd8b=!!_0x59b05d[_0x47b07e(0x249)]?.[_0x47b07e(0x202)],_0x16e87f=Ioc[_0x47b07e(0x389)](DbStore)['drizzle'];let _0x379687=applyJoins(_0x16e87f[_0x47b07e(0x31d)](_0x55bb13)[_0x47b07e(0x27a)](_0x317a19),_0x317a19,_0x59b05d);if(_0x407515)_0x379687=_0x379687[_0x47b07e(0x2d6)](_0x407515);if(_0x512b13[_0x47b07e(0x392)][_0x47b07e(0x202)])_0x379687=_0x379687[_0x47b07e(0x1f9)](..._0x512b13['orderBySql']);if(_0x5638a4[_0x47b07e(0x311)]===_0x47b07e(0x324))return await _0x379687;const _0x22a3a7=Math[_0x47b07e(0x272)](0x1,Number(_0x37532b['page']??0x1)),_0x42806f=Math[_0x47b07e(0x344)](0x64,Math[_0x47b07e(0x272)](0x1,Number(_0x37532b['size']??0x14))),_0x31490f=(_0x22a3a7-0x1)*_0x42806f,_0x1c6db0=await _0x379687[_0x47b07e(0x21f)](_0x42806f)[_0x47b07e(0x39d)](_0x31490f);let _0x33b81e=applyJoins(_0x16e87f['select']({'value':countExpr(_0x317a19,_0x5bfd8b)})[_0x47b07e(0x27a)](_0x317a19),_0x317a19,_0x59b05d);if(_0x407515)_0x33b81e=_0x33b81e['where'](_0x407515);const _0x5bd108=await _0x33b81e,_0x28b960=Number(_0x5bd108[0x0]?.['value']??0x0);return{'list':_0x1c6db0,'pagination':{'page':_0x22a3a7,'size':_0x42806f,'total':_0x28b960}};}import{and as _0x2d4390,count as _0x562431,eq as _0xbb5626,inArray as _0x25d194,isNotNull as _0x238ed1,isNull as _0x202255}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0x29706b){return{'select':createSelectSchema(_0x29706b),'insert':createInsertSchema(_0x29706b),'update':createUpdateSchema(_0x29706b)};}var WRITE_META_KEYS=['createTime',_0x4727c2(0x1ff),_0x4727c2(0x320)];function sanitizeWritePayload(_0x380096){const _0x4c9175=_0x4727c2,_0x3123be=_0x380096&&typeof _0x380096===_0x4c9175(0x310)&&!Array[_0x4c9175(0x327)](_0x380096)?{..._0x380096}:{};for(const _0x24ac74 of WRITE_META_KEYS)delete _0x3123be[_0x24ac74];for(const [_0x5b099e,_0x479ff6]of Object[_0x4c9175(0x3b8)](_0x3123be)){if(typeof _0x479ff6!==_0x4c9175(0x256))continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x4c9175(0x298)](_0x479ff6))continue;const _0xcbf8ec=new Date(_0x479ff6);if(!Number[_0x4c9175(0x342)](_0xcbf8ec['getTime']()))_0x3123be[_0x5b099e]=_0xcbf8ec;}return _0x3123be;}function isSqlLike(_0x5d6d66){const _0x1cd5cd=_0x4727c2;return!!_0x5d6d66&&typeof _0x5d6d66===_0x1cd5cd(0x310)&&_0x5d6d66[_0x1cd5cd(0x364)]!=null;}function db(){const _0xa26695=_0x4727c2;return Ioc[_0xa26695(0x389)](DbStore)[_0xa26695(0x2f9)];}function tableId(_0x5975d7){const _0x1e9987=_0x5975d7['id'];if(!_0x1e9987)throw new Error('[Repository]\x20\u8868\u65E0\x20id\x20\u5217\uFF0C\u8BF7\u6539\u7528\x20find(where)\x20/\x20findOne(where)');return _0x1e9987;}function deletedAtColumn2(_0x348ea6){const _0x21e606=_0x4727c2;return _0x348ea6[_0x21e606(0x320)];}function mergeWhere2(_0xfcfb8d,_0x32a169){if(_0xfcfb8d&&_0x32a169)return _0x2d4390(_0x32a169,_0xfcfb8d);return _0xfcfb8d??_0x32a169;}function trashClause2(_0x5e4007,_0x1e9657){const _0x350865=_0x4727c2;if(!resolveSoftDelete(_0x1e9657?.[_0x350865(0x2c6)]))return;const _0x359373=deletedAtColumn2(_0x5e4007);if(_0x359373==null)return;if(_0x1e9657?.[_0x350865(0x312)])return _0x238ed1(_0x359373);if(_0x1e9657?.[_0x350865(0x3a1)])return;return _0x202255(_0x359373);}class Repository{[_0x4727c2(0x2d9)];[_0x4727c2(0x250)];constructor(_0x319507,_0x4f6e4b){const _0x223783=_0x4727c2;this['table']=_0x319507,this[_0x223783(0x250)]=_0x4f6e4b??entitySchemas(_0x319507);}[_0x4727c2(0x3a0)](){const _0x5ca444=_0x4727c2;return deletedAtColumn2(this[_0x5ca444(0x2d9)])!=null;}[_0x4727c2(0x339)](_0x4820cc,_0x2c8d9d){const _0x450ae0=_0x4727c2;return applyRowScopes(this[_0x450ae0(0x2d9)],mergeWhere2(_0x4820cc,trashClause2(this[_0x450ae0(0x2d9)],_0x2c8d9d)));}async[_0x4727c2(0x217)](_0x159998,_0x5679f0){const _0x54be0f=_0x4727c2,_0x11b867=this['scopedWhere'](_0x159998,_0x5679f0);let _0x6eea8c=db()[_0x54be0f(0x31d)]()[_0x54be0f(0x27a)](this['table']);if(_0x11b867)_0x6eea8c=_0x6eea8c[_0x54be0f(0x2d6)](_0x11b867);if(_0x5679f0?.[_0x54be0f(0x1f9)]?.[_0x54be0f(0x202)])_0x6eea8c=_0x6eea8c[_0x54be0f(0x1f9)](..._0x5679f0[_0x54be0f(0x1f9)]);return await _0x6eea8c;}async[_0x4727c2(0x229)](_0x3166b3,_0x373598){const _0x5b3b3f=_0x4727c2,[_0x495b50]=await this[_0x5b3b3f(0x217)](_0x3166b3,_0x373598);return _0x495b50;}async['findById'](_0x1d591e,_0x360e0c){const _0x21470c=_0x4727c2;return this['findOne'](_0xbb5626(tableId(this[_0x21470c(0x2d9)]),_0x1d591e),_0x360e0c);}async[_0x4727c2(0x3c1)](_0x412709,_0x4e806d){const _0x3e6950=_0x4727c2,_0xc432a3=this[_0x3e6950(0x339)](_0x412709,_0x4e806d),_0x12e059=db()['select']({'value':_0x562431()})[_0x3e6950(0x27a)](this[_0x3e6950(0x2d9)]),_0x17bed7=_0xc432a3?await _0x12e059[_0x3e6950(0x2d6)](_0xc432a3):await _0x12e059;return Number(_0x17bed7[0x0]?.[_0x3e6950(0x261)]??0x0);}async[_0x4727c2(0x238)](_0x2cfa39){const _0x4a1cfb=_0x4727c2,{page:_0x294ecc,size:_0x52922e,where:_0x2fb275,orderBy:_0x54c299,withTrashed:_0xa6bb3d,onlyTrashed:_0x3b3c1d,softDelete:_0x17c2bf}=_0x2cfa39,_0x2255a9={'withTrashed':_0xa6bb3d,'onlyTrashed':_0x3b3c1d,'softDelete':_0x17c2bf},_0x31d6a6=this[_0x4a1cfb(0x339)](_0x2fb275,_0x2255a9),_0x7c1235=(_0x294ecc-0x1)*_0x52922e;let _0x322647=db()['select']()['from'](this['table']);if(_0x31d6a6)_0x322647=_0x322647['where'](_0x31d6a6);if(_0x54c299?.[_0x4a1cfb(0x202)])_0x322647=_0x322647[_0x4a1cfb(0x1f9)](..._0x54c299);const _0x1f1395=await _0x322647[_0x4a1cfb(0x21f)](_0x52922e)['offset'](_0x7c1235),_0x1e0fd4=await this[_0x4a1cfb(0x3c1)](_0x2fb275,_0x2255a9);return{'list':_0x1f1395,'pagination':{'page':_0x294ecc,'size':_0x52922e,'total':_0x1e0fd4}};}[_0x4727c2(0x336)](_0x1b0e6b){const _0x1c760d=_0x4727c2,_0x225fb0=stampTenantId(this[_0x1c760d(0x2d9)],sanitizeWritePayload(_0x1b0e6b));return this[_0x1c760d(0x250)][_0x1c760d(0x351)][_0x1c760d(0x2e9)](_0x225fb0);}async['create'](_0x415bc5){const _0xe1ab74=_0x4727c2;if(Array[_0xe1ab74(0x327)](_0x415bc5)){if(!_0x415bc5[_0xe1ab74(0x202)])return[];const _0x39278a=_0x415bc5[_0xe1ab74(0x38c)](_0x251978=>this[_0xe1ab74(0x336)](_0x251978));return await db()[_0xe1ab74(0x351)](this[_0xe1ab74(0x2d9)])['values'](_0x39278a)['returning']();}const [_0x29b0ed]=await db()[_0xe1ab74(0x351)](this[_0xe1ab74(0x2d9)])['values'](this['parseInsert'](_0x415bc5))[_0xe1ab74(0x206)]();return _0x29b0ed;}async[_0x4727c2(0x363)](_0x16a10e){const _0x2bc93a=_0x4727c2;if(Array[_0x2bc93a(0x327)](_0x16a10e)){if(!_0x16a10e[_0x2bc93a(0x202)])return[];const _0x512a06=_0x16a10e,_0x1e279e=tableId(this[_0x2bc93a(0x2d9)]),_0x5e6ea1=_0x512a06['filter'](_0x33191f=>_0x33191f?.['id']!=null&&_0x33191f['id']!==''),_0x4458b3=_0x512a06[_0x2bc93a(0x2e3)](_0x1637ca=>_0x1637ca?.['id']==null||_0x1637ca['id']==='');let _0x5c1459=new Set();if(_0x5e6ea1[_0x2bc93a(0x202)]){const _0x3be584=await this[_0x2bc93a(0x217)](_0x25d194(_0x1e279e,_0x5e6ea1[_0x2bc93a(0x38c)](_0x2fb258=>_0x2fb258['id'])));_0x5c1459=new Set(_0x3be584['map'](_0x4a9321=>_0x4a9321['id']));}const _0x142404=[],_0x4ab105=[..._0x4458b3];for(const _0x1bdfce of _0x5e6ea1){if(_0x5c1459[_0x2bc93a(0x211)](_0x1bdfce['id']))_0x142404['push'](_0x1bdfce);else _0x4ab105[_0x2bc93a(0x2dc)](_0x1bdfce);}const _0x26cad8=_0x142404[_0x2bc93a(0x202)]?await this['update'](_0x142404):[],_0x330467=_0x4ab105[_0x2bc93a(0x202)]?await this[_0x2bc93a(0x1da)](_0x4ab105):[];return[...Array['isArray'](_0x26cad8)?_0x26cad8:_0x26cad8?[_0x26cad8]:[],...Array[_0x2bc93a(0x327)](_0x330467)?_0x330467:_0x330467?[_0x330467]:[]];}const _0x59b286=_0x16a10e,_0x447e6a=_0x59b286?.['id'];if(_0x447e6a!=null&&_0x447e6a!==''){const _0x3b79a7=await this[_0x2bc93a(0x1fe)](_0x447e6a);if(_0x3b79a7){const {id:_0x12d041,..._0xa55fa}=_0x59b286,_0x3b7784=await this[_0x2bc93a(0x282)](_0xbb5626(tableId(this[_0x2bc93a(0x2d9)]),_0x447e6a),_0xa55fa);return _0x3b7784??_0x3b79a7;}}return await this[_0x2bc93a(0x1da)](_0x16a10e);}async[_0x4727c2(0x282)](_0xfa45d9,_0x5aac08){const _0x22a7ad=_0x4727c2;if(Array[_0x22a7ad(0x327)](_0xfa45d9))return this[_0x22a7ad(0x281)](_0xfa45d9);const _0x21fe48=this[_0x22a7ad(0x250)][_0x22a7ad(0x282)]['parse'](sanitizeWritePayload(_0x5aac08)),_0x2800da=applyRowScopes(this['table'],_0xfa45d9);if(!_0x2800da)return;const [_0x3f2e9f]=await db()[_0x22a7ad(0x282)](this[_0x22a7ad(0x2d9)])[_0x22a7ad(0x2fc)](_0x21fe48)['where'](_0x2800da)['returning']();return _0x3f2e9f;}async[_0x4727c2(0x281)](_0x1fa29f){const _0x27e5d3=_0x4727c2;if(!_0x1fa29f[_0x27e5d3(0x202)])return[];const _0x2fc165=tableId(this[_0x27e5d3(0x2d9)]),_0x50d621=new Map();for(const _0x28b713 of _0x1fa29f){const _0xc1b763=_0x28b713['id'];if(_0xc1b763==null||_0xc1b763==='')throw new Error(_0x27e5d3(0x2c9));const {id:_0x125c02,..._0x19f8a3}=_0x28b713,_0x25871c=this[_0x27e5d3(0x250)][_0x27e5d3(0x282)][_0x27e5d3(0x2e9)](sanitizeWritePayload(_0x19f8a3)),_0x5c4982=JSON['stringify'](_0x25871c),_0x3bdeba=_0x50d621['get'](_0x5c4982);if(_0x3bdeba)_0x3bdeba[_0x27e5d3(0x35f)]['push'](_0xc1b763);else _0x50d621['set'](_0x5c4982,{'ids':[_0xc1b763],'patch':_0x25871c});}const _0x3292a1=[];for(const {ids:_0x587ca3,patch:_0x47f920}of _0x50d621[_0x27e5d3(0x319)]()){const _0x33e3fe=applyRowScopes(this[_0x27e5d3(0x2d9)],_0x25d194(_0x2fc165,_0x587ca3));if(!_0x33e3fe)continue;const _0x47374c=await db()[_0x27e5d3(0x282)](this['table'])[_0x27e5d3(0x2fc)](_0x47f920)[_0x27e5d3(0x2d6)](_0x33e3fe)[_0x27e5d3(0x206)]();_0x3292a1[_0x27e5d3(0x2dc)](..._0x47374c);}return _0x3292a1;}[_0x4727c2(0x306)](_0x1e1933){const _0x3224df=_0x4727c2;if(isSqlLike(_0x1e1933))return applyRowScopes(this['table'],_0x1e1933);const _0x5659b8=Array[_0x3224df(0x327)](_0x1e1933)?_0x1e1933:[_0x1e1933];if(!_0x5659b8[_0x3224df(0x202)])return;return applyRowScopes(this[_0x3224df(0x2d9)],_0x25d194(tableId(this[_0x3224df(0x2d9)]),_0x5659b8));}async[_0x4727c2(0x2c6)](_0x5bcbac){const _0x16b189=_0x4727c2;if(!this[_0x16b189(0x3a0)]())throw new Error(_0x16b189(0x221));const _0x489e9d=this[_0x16b189(0x306)](_0x5bcbac);if(!_0x489e9d)return;await db()[_0x16b189(0x282)](this[_0x16b189(0x2d9)])[_0x16b189(0x2fc)]({'deletedAt':new Date()})[_0x16b189(0x2d6)](_0x489e9d);}async[_0x4727c2(0x26c)](_0xfc1083){const _0x5e0d50=_0x4727c2;if(!this[_0x5e0d50(0x3a0)]())throw new Error(_0x5e0d50(0x30e));const _0x568abe=this[_0x5e0d50(0x306)](_0xfc1083);if(!_0x568abe)return;await db()[_0x5e0d50(0x282)](this[_0x5e0d50(0x2d9)])[_0x5e0d50(0x2fc)]({'deletedAt':null})[_0x5e0d50(0x2d6)](_0x568abe);}async[_0x4727c2(0x2b1)](_0xdbf919){const _0x20ff4c=_0x4727c2,_0x4488d0=this['resolveIdWhere'](_0xdbf919);if(!_0x4488d0)return;await db()[_0x20ff4c(0x232)](this[_0x20ff4c(0x2d9)])['where'](_0x4488d0);}}var repoCache=new WeakMap();function getRepository(_0x49c2b5){const _0x29153f=_0x4727c2,_0x19c413=repoCache[_0x29153f(0x389)](_0x49c2b5);if(_0x19c413)return _0x19c413;const _0xf4beca=new Repository(_0x49c2b5);return repoCache['set'](_0x49c2b5,_0xf4beca),_0xf4beca;}function InjectRepository(_0x246e66){return(_0x5e7214,_0xcdc27d)=>{const _0x3cc9a3=_0x1a3d;appendInjectMeta(_0x5e7214[_0x3cc9a3(0x1e4)],{'propertyKey':_0xcdc27d,'resolve':()=>getRepository(_0x246e66)});};}function isSql(_0x367c63){const _0x20a782=_0x4727c2;return!!_0x367c63&&typeof _0x367c63==='object'&&_0x367c63[_0x20a782(0x364)]!=null;}class BaseService{['entity'];[_0x4727c2(0x248)](_0x4a1fbd){const _0x142255=_0x4727c2;if(!this[_0x142255(0x254)])this[_0x142255(0x254)]=_0x4a1fbd;}[_0x4727c2(0x1ea)](_0x140ab0){this['entity']=_0x140ab0;}[_0x4727c2(0x338)](){return!!this['entity'];}[_0x4727c2(0x2ee)](){const _0x24eb1c=_0x4727c2;return this[_0x24eb1c(0x301)]();}[_0x4727c2(0x301)](){const _0x378460=_0x4727c2;if(!this['entity'])throw new Error(_0x378460(0x27c));return this[_0x378460(0x254)];}async[_0x4727c2(0x3b3)](_0x1e5343,_0x55d7aa){}async['modifyAfter'](_0x3c1116,_0x14ce02){}async[_0x4727c2(0x213)](_0xef1894,_0x50d847){const _0x2b5efa=_0x4727c2,_0x45d24a=resolveUpsert(_0x50d847?.[_0x2b5efa(0x284)]),_0x5a80a0=Array['isArray'](_0xef1894)?_0xef1894[_0x2b5efa(0x38c)](_0x518d3e=>_0x518d3e!=null&&typeof _0x518d3e==='object'?{..._0x518d3e}:_0x518d3e):_0xef1894!=null&&typeof _0xef1894===_0x2b5efa(0x310)?{..._0xef1894}:_0xef1894;await this[_0x2b5efa(0x3b3)](_0x5a80a0,_0x2b5efa(0x213));const _0x83946a=_0x45d24a===_0x2b5efa(0x363)?await this[_0x2b5efa(0x301)]()[_0x2b5efa(0x363)](_0x5a80a0):await this[_0x2b5efa(0x301)]()[_0x2b5efa(0x1da)](_0x5a80a0);return await this[_0x2b5efa(0x3a7)](_0x83946a??_0x5a80a0,_0x2b5efa(0x213)),_0x83946a;}async[_0x4727c2(0x282)](_0x492cb0,_0x3f3fe0){const _0x52a985=_0x4727c2;if(Array[_0x52a985(0x327)](_0x492cb0)){const _0x11550a=_0x492cb0['map'](_0x183d72=>({..._0x183d72}));await this[_0x52a985(0x3b3)](_0x11550a,'update');const _0x4358b8=await this[_0x52a985(0x301)]()[_0x52a985(0x282)](_0x11550a);return await this['modifyAfter'](_0x4358b8??_0x11550a,_0x52a985(0x282)),_0x4358b8;}if(isSql(_0x492cb0)){const _0x3b3efe=_0x3f3fe0!=null&&typeof _0x3f3fe0==='object'?{..._0x3f3fe0}:_0x3f3fe0;await this[_0x52a985(0x3b3)](_0x3b3efe,'update');const _0x411c86=await this['requireEntity']()[_0x52a985(0x282)](_0x492cb0,_0x3b3efe);return await this[_0x52a985(0x3a7)](_0x411c86??_0x3b3efe,_0x52a985(0x282)),_0x411c86;}const _0x4a04c3={..._0x492cb0};await this[_0x52a985(0x3b3)](_0x4a04c3,'update');const _0x2489aa=await this[_0x52a985(0x301)]()[_0x52a985(0x282)]([_0x4a04c3]);return await this['modifyAfter'](_0x2489aa??_0x4a04c3,_0x52a985(0x282)),Array[_0x52a985(0x327)](_0x2489aa)?_0x2489aa[0x0]:_0x2489aa;}async['delete'](_0x1e6860,_0x2922e){const _0x304432=_0x4727c2,_0x2bad7e=this['requireEntity']();await this[_0x304432(0x3b3)](_0x1e6860,'delete');const _0x5e9a63=resolveSoftDelete(_0x2922e?.[_0x304432(0x2c6)]);_0x2922e?.[_0x304432(0x387)]||!_0x5e9a63||!_0x2bad7e[_0x304432(0x3a0)]()?await _0x2bad7e['forceDelete'](_0x1e6860):await _0x2bad7e[_0x304432(0x2c6)](_0x1e6860),await this[_0x304432(0x3a7)](_0x1e6860,_0x304432(0x232));}[_0x4727c2(0x26c)](_0x2c5b7a){return this['requireEntity']()['restore'](_0x2c5b7a);}[_0x4727c2(0x324)](_0x31dd37,_0x335e1e){const _0x2a755f=_0x4727c2;return this[_0x2a755f(0x301)]()[_0x2a755f(0x217)](_0x31dd37,_0x335e1e);}[_0x4727c2(0x304)](_0x10cb96,_0x522d48){const _0x3dc9ac=_0x4727c2,_0x4a1e1e=this[_0x3dc9ac(0x301)]();if(typeof _0x10cb96===_0x3dc9ac(0x310))return _0x4a1e1e[_0x3dc9ac(0x229)](_0x10cb96,_0x522d48);return _0x4a1e1e[_0x3dc9ac(0x1fe)](_0x10cb96,_0x522d48);}[_0x4727c2(0x3af)](_0xdd6a34={}){const _0x3ccc0c=_0x4727c2,_0x5d66a9=Math['max'](0x1,_0xdd6a34[_0x3ccc0c(0x3af)]??0x1),_0x21a4ee=Math[_0x3ccc0c(0x344)](0x64,Math['max'](0x1,_0xdd6a34[_0x3ccc0c(0x2aa)]??0x14));return this[_0x3ccc0c(0x301)]()[_0x3ccc0c(0x238)]({'page':_0x5d66a9,'size':_0x21a4ee,'where':_0xdd6a34[_0x3ccc0c(0x2d6)],'orderBy':_0xdd6a34[_0x3ccc0c(0x1f9)],'withTrashed':_0xdd6a34['withTrashed'],'onlyTrashed':_0xdd6a34[_0x3ccc0c(0x312)],'softDelete':_0xdd6a34[_0x3ccc0c(0x2c6)]});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':_0x4727c2(0x34f),'list':_0x4727c2(0x29d),'page':_0x4727c2(0x329),'restore':'\u6062\u590D'},CRUD_APIS=['add',_0x4727c2(0x232),_0x4727c2(0x282),_0x4727c2(0x304),_0x4727c2(0x324),_0x4727c2(0x3af),_0x4727c2(0x26c)],BEFORE_APIS=new Set([_0x4727c2(0x213),_0x4727c2(0x282),_0x4727c2(0x232),_0x4727c2(0x26c)]);function omitProps(_0x396026,_0x225886){const _0x2cf16d=_0x4727c2;if(!_0x396026||!_0x225886?.[_0x2cf16d(0x202)])return _0x396026;const _0x343674={..._0x396026};for(const _0x5972b8 of _0x225886)delete _0x343674[_0x5972b8];return _0x343674;}function resolveIds(_0x5c1ec5){const _0xa7aafe=_0x4727c2;if(Array[_0xa7aafe(0x327)](_0x5c1ec5))return _0x5c1ec5[_0xa7aafe(0x38c)](_0x3a9298=>{if(_0x3a9298!=null&&typeof _0x3a9298==='object'&&'id'in _0x3a9298)return _0x3a9298['id'];return _0x3a9298;});if(_0x5c1ec5&&typeof _0x5c1ec5===_0xa7aafe(0x310)){const _0x44fff7=_0x5c1ec5;if(Array['isArray'](_0x44fff7['ids']))return _0x44fff7[_0xa7aafe(0x35f)];if(_0x44fff7['id']!=null)return[_0x44fff7['id']];}return[];}function resolveService(_0x325700){const _0x5d9d73=_0x4727c2,_0x25cf4b=_0x325700[_0x5d9d73(0x391)],_0x2ee69e=_0x25cf4b['entity'];if(_0x25cf4b[_0x5d9d73(0x219)]){const _0x559010=Ioc[_0x5d9d73(0x389)](_0x25cf4b['service']);if(_0x2ee69e&&!_0x559010['hasEntity']())_0x559010[_0x5d9d73(0x1ea)](getRepository(_0x2ee69e));return _0x559010;}if(!_0x2ee69e)throw new Error(_0x5d9d73(0x2be)+_0x325700[_0x5d9d73(0x341)]['name']+_0x5d9d73(0x2c7));const _0x83a19=new class extends BaseService{}();return _0x83a19[_0x5d9d73(0x1ea)](getRepository(_0x2ee69e)),_0x83a19;}function tableOf(_0x324e74,_0x2999b9){const _0x2d5b59=_0x4727c2,_0x52f6ed=_0x2999b9[_0x2d5b59(0x391)]?.[_0x2d5b59(0x254)];if(_0x52f6ed)return _0x52f6ed;return _0x324e74['getRepo']()['table'];}var attachCrudRoutes=(_0x4866be,_0x209ca6,_0x21839a)=>{const _0x2eb502=_0x4727c2,_0x2d3c0a=_0x209ca6[_0x2eb502(0x391)];if(!_0x2d3c0a)return _0x4866be;const _0xc78748=(_0x2d3c0a[_0x2eb502(0x22b)]??[])['filter'](_0x56c3df=>CRUD_APIS['includes'](_0x56c3df)),_0x1437f5=_0x2d3c0a[_0x2eb502(0x30b)]??[];if(!_0xc78748['length']&&!_0x1437f5['length'])return _0x4866be;const _0xf428a2=_0x21839a[_0x2eb502(0x1f1)]instanceof BaseController?_0x21839a[_0x2eb502(0x1f1)]:new BaseController(),_0x3de5a8=_0xc78748[_0x2eb502(0x202)]>0x0,_0x5b57d2=_0x3de5a8||_0x2d3c0a[_0x2eb502(0x219)]?resolveService(_0x209ca6):undefined,_0x116510=_0x3de5a8&&_0x5b57d2?tableOf(_0x5b57d2,_0x209ca6):undefined,_0x3e2af3=_0x116510?_0x116510['id']:undefined;if(_0x3de5a8&&_0x3e2af3==null)throw new Error(_0x2eb502(0x2be)+_0x209ca6[_0x2eb502(0x341)][_0x2eb502(0x27e)]+_0x2eb502(0x227));let _0x46b8cd=_0x4866be;const _0x5842ef=(_0xcbe487,_0x1f1ccf,_0x3209e6,_0x520625)=>{const _0x4092c6=_0x2eb502;_0x46b8cd=_0x46b8cd[_0xcbe487](_0x1f1ccf,_0x520625,_0x21839a[_0x4092c6(0x33c)]({'action':_0x3209e6,'summary':CRUD_SUMMARY[_0x3209e6]}));},_0x55cdb5=async(_0x34d575,_0x2173be,_0x31935c)=>{const _0x175876=_0x2eb502;if(!_0x2d3c0a[_0x175876(0x349)]||!BEFORE_APIS['has'](_0x34d575))return _0x2173be;return await _0x2d3c0a['before']({'body':_0x2173be,'request':_0x31935c,'api':_0x34d575}),_0x2173be;};_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x213))&&_0x5b57d2&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x1ee),_0x2eb502(0x213),async({body:_0x28e97c,request:_0x45931d})=>{const _0xebe65f=_0x2eb502;try{const _0x310e02=_0x28e97c;if(Array[_0xebe65f(0x327)](_0x310e02)){let _0x46411a=_0x310e02;if(_0x2d3c0a[_0xebe65f(0x349)]&&BEFORE_APIS[_0xebe65f(0x211)](_0xebe65f(0x213)))for(let _0x4b3b22=0x0;_0x4b3b22<_0x46411a[_0xebe65f(0x202)];_0x4b3b22++){_0x46411a[_0x4b3b22]=await _0x55cdb5('add',{..._0x46411a[_0x4b3b22]??{}},_0x45931d);}if(_0x2d3c0a['insertParam']){const _0x5ab1d4=await _0x2d3c0a[_0xebe65f(0x331)]({'body':_0x46411a[0x0]??{},'request':_0x45931d});_0x46411a=_0x46411a[_0xebe65f(0x38c)](_0x224810=>({..._0x224810,..._0x5ab1d4}));}const _0x2f91df=await _0x5b57d2['add'](_0x46411a);return _0xf428a2['ok'](_0x2f91df);}let _0x393e8e={..._0x310e02??{}};_0x393e8e=await _0x55cdb5(_0xebe65f(0x213),_0x393e8e,_0x45931d);_0x2d3c0a['insertParam']&&Object[_0xebe65f(0x39e)](_0x393e8e,await _0x2d3c0a[_0xebe65f(0x331)]({'body':_0x393e8e,'request':_0x45931d}));const _0x2e92bb=await _0x5b57d2[_0xebe65f(0x213)](_0x393e8e);return _0xf428a2['ok'](_0x2e92bb);}catch(_0x50253f){return _0xf428a2[_0xebe65f(0x325)](_0x50253f instanceof Error?_0x50253f[_0xebe65f(0x318)]:_0xebe65f(0x215));}});_0xc78748[_0x2eb502(0x395)]('delete')&&_0x5b57d2&&_0x3e2af3&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x2db),_0x2eb502(0x232),async({body:_0x159934,request:_0x2ae207})=>{const _0x182340=_0x2eb502;try{const _0x2109f1=_0x159934,_0x2923dc=Array[_0x182340(0x327)](_0x2109f1)?_0x2109f1:await _0x55cdb5(_0x182340(0x232),{..._0x2109f1??{}},_0x2ae207),_0x2f409d=resolveIds(_0x2923dc);if(!_0x2f409d[_0x182340(0x202)])return _0xf428a2[_0x182340(0x325)](_0x182340(0x34a));const _0x1bee41=!Array['isArray'](_0x2923dc)&&!!_0x2923dc[_0x182340(0x387)];return await _0x5b57d2['delete'](_0x2f409d,{'force':_0x1bee41}),_0xf428a2['ok']();}catch(_0x10e028){return _0xf428a2['fail'](_0x10e028 instanceof Error?_0x10e028[_0x182340(0x318)]:_0x182340(0x3b7));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x282))&&_0x5b57d2&&_0x3e2af3&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x333),_0x2eb502(0x282),async({body:_0x2ef9a9,request:_0x4df1be})=>{const _0x5a00aa=_0x2eb502;try{const _0x3074bd=_0x2ef9a9;if(Array[_0x5a00aa(0x327)](_0x3074bd)){let _0x568a04=_0x3074bd;if(_0x2d3c0a[_0x5a00aa(0x349)]&&BEFORE_APIS['has'](_0x5a00aa(0x282)))for(let _0x5b13d0=0x0;_0x5b13d0<_0x568a04['length'];_0x5b13d0++){_0x568a04[_0x5b13d0]=await _0x55cdb5(_0x5a00aa(0x282),{..._0x568a04[_0x5b13d0]??{}},_0x4df1be);}const _0x113728=await _0x5b57d2[_0x5a00aa(0x282)](_0x568a04);return _0xf428a2['ok'](_0x113728);}const _0x773808=await _0x55cdb5('update',{..._0x3074bd??{}},_0x4df1be),_0x145411=_0x773808['id'];if(_0x145411==null)return _0xf428a2[_0x5a00aa(0x325)](_0x5a00aa(0x2a2));const _0x144acd=await _0x5b57d2[_0x5a00aa(0x282)](_0x773808);return _0xf428a2['ok'](_0x144acd);}catch(_0x330268){return _0xf428a2[_0x5a00aa(0x325)](_0x330268 instanceof Error?_0x330268[_0x5a00aa(0x318)]:_0x5a00aa(0x257));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x304))&&_0x5b57d2&&_0x5842ef(_0x2eb502(0x389),_0x2eb502(0x38f),'info',async({query:_0x26a736})=>{const _0x188102=_0x2eb502;try{const _0x303803=_0x26a736?.['id'];if(_0x303803==null||_0x303803==='')return _0xf428a2[_0x188102(0x325)](_0x188102(0x2a2));const _0x208640=await _0x5b57d2[_0x188102(0x304)](_0x303803);return _0xf428a2['ok'](omitProps(_0x208640,_0x2d3c0a[_0x188102(0x32f)]));}catch(_0x59433e){return _0xf428a2[_0x188102(0x325)](_0x59433e instanceof Error?_0x59433e[_0x188102(0x318)]:_0x188102(0x1dc));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x324))&&_0x5b57d2&&_0x116510&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x394),_0x2eb502(0x324),async({body:_0x463754,request:_0x45c469})=>{const _0x1569ff=_0x2eb502;try{const _0x27a15e=_0x463754??{},_0x5aeccf=_0x2d3c0a[_0x1569ff(0x37b)]??{},_0x4eae20={'onlyTrashed':_0x27a15e[_0x1569ff(0x312)]===!![],'withTrashed':_0x27a15e[_0x1569ff(0x3a1)]===!![]};if(needsAdvancedQuery(_0x5aeccf)){const _0x579541=await queryWithOp(_0x116510,_0x27a15e,_0x5aeccf,{'request':_0x45c469,'mode':'list','trash':_0x4eae20});return _0xf428a2['ok'](_0x579541);}const {where:_0x314cb3,orderBySql:_0x22494b}=await buildQueryOp(_0x116510,_0x27a15e,_0x5aeccf,_0x45c469),_0x1e7fa9=await _0x5b57d2['list'](_0x314cb3,{'orderBy':_0x22494b,..._0x4eae20});return _0xf428a2['ok'](_0x1e7fa9);}catch(_0x26e62c){return _0xf428a2[_0x1569ff(0x325)](_0x26e62c instanceof Error?_0x26e62c[_0x1569ff(0x318)]:_0x1569ff(0x31e));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x3af))&&_0x5b57d2&&_0x116510&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x3ae),_0x2eb502(0x3af),async({body:_0x483eae,request:_0x3a7f96})=>{const _0x44b58d=_0x2eb502;try{const _0x58107a=_0x483eae??{},_0x297bc4=_0x2d3c0a[_0x44b58d(0x3a5)]??{},_0x509947={'onlyTrashed':_0x58107a[_0x44b58d(0x312)]===!![],'withTrashed':_0x58107a[_0x44b58d(0x3a1)]===!![]};if(needsAdvancedQuery(_0x297bc4)){const _0x4ce82e=await queryWithOp(_0x116510,_0x58107a,_0x297bc4,{'request':_0x3a7f96,'mode':_0x44b58d(0x3af),'trash':_0x509947});return _0xf428a2['ok'](_0x4ce82e);}const {where:_0x3447dc,orderBySql:_0xdb0670}=await buildQueryOp(_0x116510,_0x58107a,_0x297bc4,_0x3a7f96),_0x5b40c3=await _0x5b57d2[_0x44b58d(0x3af)]({'page':Number(_0x58107a[_0x44b58d(0x3af)]??0x1),'size':Number(_0x58107a[_0x44b58d(0x2aa)]??0x14),'where':_0x3447dc,'orderBy':_0xdb0670,..._0x509947});return _0xf428a2['ok'](_0x5b40c3);}catch(_0x2525a5){return _0xf428a2[_0x44b58d(0x325)](_0x2525a5 instanceof Error?_0x2525a5[_0x44b58d(0x318)]:_0x44b58d(0x30a));}});_0xc78748[_0x2eb502(0x395)](_0x2eb502(0x26c))&&_0x5b57d2&&_0x3e2af3&&_0x5842ef(_0x2eb502(0x21a),_0x2eb502(0x3ab),_0x2eb502(0x26c),async({body:_0x1b747b,request:_0x335451})=>{const _0x3bb9a2=_0x2eb502;try{const _0x23a99b=_0x1b747b,_0x2e5629=Array[_0x3bb9a2(0x327)](_0x23a99b)?_0x23a99b:await _0x55cdb5(_0x3bb9a2(0x26c),{..._0x23a99b??{}},_0x335451),_0xe3460c=resolveIds(_0x2e5629);if(!_0xe3460c[_0x3bb9a2(0x202)])return _0xf428a2[_0x3bb9a2(0x325)](_0x3bb9a2(0x34a));return await _0x5b57d2[_0x3bb9a2(0x26c)](_0xe3460c),_0xf428a2['ok']();}catch(_0x528710){return _0xf428a2[_0x3bb9a2(0x325)](_0x528710 instanceof Error?_0x528710[_0x3bb9a2(0x318)]:_0x3bb9a2(0x340));}});if(_0x1437f5[_0x2eb502(0x202)]){if(!_0x2d3c0a[_0x2eb502(0x219)])throw new Error(_0x2eb502(0x2be)+_0x209ca6[_0x2eb502(0x341)]['name']+'\x20配置了\x20serviceApis,需同时配置\x20service');const _0x4c4e5a=Ioc[_0x2eb502(0x389)](_0x2d3c0a[_0x2eb502(0x219)]);for(const _0x4f0d42 of _0x1437f5){const _0x14d342=_0x4c4e5a[_0x4f0d42];if(typeof _0x14d342!==_0x2eb502(0x305))throw new Error(_0x2eb502(0x2be)+_0x2d3c0a[_0x2eb502(0x219)][_0x2eb502(0x27e)]+'.'+_0x4f0d42+_0x2eb502(0x239));const _0x1cab9d=_0x14d342[_0x2eb502(0x37c)](_0x4c4e5a);_0x5842ef('post','/'+_0x4f0d42,_0x4f0d42,async({body:_0x4e0902})=>{const _0x36ce50=_0x2eb502;try{const _0x183245=await _0x1cab9d(_0x4e0902);return _0xf428a2['ok'](_0x183245);}catch(_0x170c6a){return _0xf428a2[_0x36ce50(0x325)](_0x170c6a instanceof Error?_0x170c6a[_0x36ce50(0x318)]:_0x4f0d42+_0x36ce50(0x323));}});}}return _0x46b8cd;};import{join as _0x3b53a1}from'path';import{pathToFileURL as _0x402a87}from'url';var SERVICE_PATTERN=_0x4727c2(0x3bf),CONTROLLER_SCANS=[{'pattern':_0x4727c2(0x1fa),'side':'admin'},{'pattern':'**/modules/*/controller/app/**/*.ts','side':'app'}];async function importWithContext(_0x367b0d,_0x10d8ca,_0x207577){setControllerScanContext({'module':parseModuleFromPath(_0x10d8ca),'side':_0x207577,'file':_0x10d8ca});try{const _0x3629de=_0x402a87(_0x3b53a1(_0x367b0d,_0x10d8ca))['href'];await import(_0x3629de);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x4b5f69=_0x4727c2,_0x25ea5b=process[_0x4b5f69(0x378)](),_0x32397a=await scanFiles(SERVICE_PATTERN,{'cwd':_0x25ea5b});for(const _0x50fe4c of _0x32397a){const _0x20101a=_0x402a87(_0x3b53a1(_0x25ea5b,_0x50fe4c))[_0x4b5f69(0x28c)];await import(_0x20101a);}let _0x537a15=0x0;for(const {pattern:_0x58a1e9,side:_0x382c5b}of CONTROLLER_SCANS){const _0x26d199=await scanFiles(_0x58a1e9,{'cwd':_0x25ea5b});_0x537a15+=_0x26d199[_0x4b5f69(0x202)];for(const _0x42b224 of _0x26d199){await importWithContext(_0x25ea5b,_0x42b224,_0x382c5b);}}setCrudRegistrar(attachCrudRoutes),console[_0x4b5f69(0x2e2)](_0x4b5f69(0x243)),console[_0x4b5f69(0x2e2)](_0x4b5f69(0x23c)+_0x32397a[_0x4b5f69(0x202)]+'\x20service,\x20'+_0x537a15+_0x4b5f69(0x24b));}import{join as _0x347a49}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0x2b939e from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0x13f264}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x2eb670=new Date()){const _0x382bbd=_0x4727c2,_0x4d110f=_0x2eb670['getFullYear'](),_0x45fd3b=String(_0x2eb670[_0x382bbd(0x3be)]()+0x1)[_0x382bbd(0x22d)](0x2,'0'),_0x44f8f8=String(_0x2eb670[_0x382bbd(0x245)]())[_0x382bbd(0x22d)](0x2,'0');return _0x4d110f+'-'+_0x45fd3b+'-'+_0x44f8f8;}function purgeOldLogs(_0x33351d,_0x1fc90d){const _0x59ab58=_0x4727c2,_0xb915dc=new Date();_0xb915dc[_0x59ab58(0x2e8)](_0xb915dc[_0x59ab58(0x245)]()-_0x1fc90d);const _0x44972a=formatLocalDate(_0xb915dc);for(const _0x313c46 of readdirSync(_0x33351d)){const _0x58aac2=_0x313c46[_0x59ab58(0x393)](FILE_PATTERN);if(!_0x58aac2||_0x58aac2[0x1]>=_0x44972a)continue;unlinkSync(_0x13f264(_0x33351d,_0x313c46));}}function openDailyStream(_0xf761f8,_0x5a49a1){return createWriteStream(_0x13f264(_0xf761f8,_0x5a49a1+'.log'),{'flags':'a'});}function createDailyLogStream(_0x2d516d,_0x5b4a0b=0x1e){mkdirSync(_0x2d516d,{'recursive':!![]}),purgeOldLogs(_0x2d516d,_0x5b4a0b);let _0x442e47=formatLocalDate(),_0x47201c=openDailyStream(_0x2d516d,_0x442e47);return new Writable({'write'(_0x156c3a,_0x44fa72,_0x537ee4){const _0x21fb8e=_0x1a3d,_0x24fb3a=formatLocalDate();_0x24fb3a!==_0x442e47&&(_0x47201c[_0x21fb8e(0x1f6)](),_0x442e47=_0x24fb3a,_0x47201c=openDailyStream(_0x2d516d,_0x442e47),purgeOldLogs(_0x2d516d,_0x5b4a0b)),_0x47201c[_0x21fb8e(0x1f3)](_0x156c3a,_0x537ee4);},'final'(_0x23b3ef){const _0x34b799=_0x1a3d;_0x47201c[_0x34b799(0x1f6)](_0x23b3ef);}});}var pinoInstance;function buildPino(){const _0x290fb6=_0x4727c2,_0x56fc90=VomeConfig[_0x290fb6(0x25a)]??{},_0x253ebb=_0x56fc90[_0x290fb6(0x2f7)]??'info';if(_0x56fc90[_0x290fb6(0x32a)]===_0x290fb6(0x292)){const _0x491a84=_0x347a49(process[_0x290fb6(0x378)](),_0x56fc90[_0x290fb6(0x32e)]??'logging'),_0x170013=_0x56fc90[_0x290fb6(0x224)]??0x1e;return createPinoLogger({'level':_0x253ebb,'stream':createDailyLogStream(_0x491a84,_0x170013)});}return createPinoLogger({'level':_0x253ebb,'stream':_0x2b939e({'colorize':!![],'translateTime':'SYS:standard','ignore':_0x290fb6(0x24e)})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{['info'](_0x27cd0b,..._0x7f29c1){const _0x31c9f5=_0x4727c2,_0x2416e2=getPinoLogger();if(_0x7f29c1[_0x31c9f5(0x202)])_0x2416e2[_0x31c9f5(0x304)]({'args':_0x7f29c1},_0x27cd0b);else _0x2416e2[_0x31c9f5(0x304)](_0x27cd0b);}[_0x4727c2(0x1f8)](_0x2fc7f0,..._0x4113fc){const _0xc135ea=_0x4727c2,_0x4a7dd7=getPinoLogger();if(_0x4113fc['length'])_0x4a7dd7[_0xc135ea(0x1f8)]({'args':_0x4113fc},_0x2fc7f0);else _0x4a7dd7[_0xc135ea(0x1f8)](_0x2fc7f0);}[_0x4727c2(0x236)](_0xdce0df,..._0x2e968d){const _0x3e9b00=_0x4727c2,_0x582695=getPinoLogger();if(_0x2e968d[_0x3e9b00(0x202)])_0x582695[_0x3e9b00(0x236)]({'args':_0x2e968d},_0xdce0df);else _0x582695[_0x3e9b00(0x236)](_0xdce0df);}[_0x4727c2(0x233)](_0x1be81f,..._0x5113d8){const _0x27c437=_0x4727c2,_0x28176a=getPinoLogger();if(_0x1be81f instanceof Error){_0x28176a[_0x27c437(0x233)](_0x1be81f);return;}if(_0x5113d8[0x0]instanceof Error){_0x28176a[_0x27c437(0x233)](_0x5113d8[0x0],_0x1be81f);return;}if(_0x5113d8[_0x27c437(0x202)])_0x28176a[_0x27c437(0x233)]({'args':_0x5113d8},_0x1be81f);else _0x28176a[_0x27c437(0x233)](_0x1be81f);}}class CommException extends Error{[_0x4727c2(0x350)];['code'];constructor(_0x5e8298,_0x2b4be3){const _0xe5afdf=_0x4727c2;super(_0x5e8298),this[_0xe5afdf(0x27e)]=_0xe5afdf(0x2ff),this['statusCode']=_0x2b4be3?.[_0xe5afdf(0x350)]??0xc8,this[_0xe5afdf(0x258)]=_0x2b4be3?.[_0xe5afdf(0x258)]??RES_CODE[_0xe5afdf(0x34c)];}}function isCommException(_0x1c80ca){return _0x1c80ca instanceof CommException;}function bootstrapLogger(){const _0xc08a92=_0x4727c2;getPinoLogger(),Ioc[_0xc08a92(0x2fc)](Logger,new Logger());}var VOME_BANNER=_0x4727c2(0x2e5);function resetViewport(){const _0x457ff5=_0x4727c2;if(!process[_0x457ff5(0x28f)]['isTTY'])return;process[_0x457ff5(0x28f)][_0x457ff5(0x1f3)](_0x457ff5(0x2dd));}function printStartupBanner(){const _0xe205b9=_0x4727c2;resetViewport();const _0x4e4030=getEnv(),_0xc93e53=VomeConfig[_0xe205b9(0x317)]?.[_0xe205b9(0x283)]??0xbb9,_0x3832ba=VomeConfig['openapi']?.['path']??'/docs',_0x349fa1=_0xe205b9(0x2a8)+_0xc93e53;console[_0xe205b9(0x2e2)](VOME_BANNER),console[_0xe205b9(0x2e2)]('🌍\x20运行环境:\x20'+_0x4e4030),_0x4e4030==='dev'&&(console[_0xe205b9(0x2e2)]('📡\x20服务地址:\x20'+_0x349fa1),console[_0xe205b9(0x2e2)](_0xe205b9(0x24f)+_0x349fa1+(_0x3832ba['startsWith']('/')?_0x3832ba:'/'+_0x3832ba)));}import{access}from'fs/promises';import{join as _0x9a0e10}from'path';import{pathToFileURL as _0x5afdc8}from'url';async function exists(_0x5b3690){try{return await access(_0x5b3690),!![];}catch{return![];}}async function importHostModule(_0x24b227){const _0x4995ba=_0x4727c2,_0x433d9d=_0x9a0e10(process[_0x4995ba(0x378)](),_0x24b227);if(!await exists(_0x433d9d)){console[_0x4995ba(0x1f8)](_0x4995ba(0x2ab)+_0x24b227);return;}return await import(_0x5afdc8(_0x433d9d)['href']);}async function bootstrapHostInfra(){const _0x3bdcc5=_0x4727c2,_0x4d864a=await importHostModule(_0x3bdcc5(0x300));if(_0x4d864a?.['Db']?.['bootstrap'])await _0x4d864a['Db']['bootstrap']();const _0x4790d5=await importHostModule(_0x3bdcc5(0x26e));if(_0x4790d5?.[_0x3bdcc5(0x315)]?.[_0x3bdcc5(0x382)])await _0x4790d5[_0x3bdcc5(0x315)][_0x3bdcc5(0x382)]();const _0x444c68=await importHostModule(_0x3bdcc5(0x2bb));if(_0x444c68?.['Auth']?.['bootstrap'])await _0x444c68['Auth'][_0x3bdcc5(0x382)]();}async function bootstrapHostTasks(){const _0x35a81d=_0x4727c2,_0x12c021=await importHostModule(_0x35a81d(0x29c));if(_0x12c021?.[_0x35a81d(0x2bf)]?.[_0x35a81d(0x382)])await _0x12c021[_0x35a81d(0x2bf)][_0x35a81d(0x382)]();}async function bootstrapHostPlugins(){const _0x4e108a=_0x4727c2,_0x2a9c09=await importHostModule(_0x4e108a(0x2cb));if(_0x2a9c09?.[_0x4e108a(0x2ef)]?.[_0x4e108a(0x382)])await _0x2a9c09[_0x4e108a(0x2ef)][_0x4e108a(0x382)]();}async function bootstrapHostModules(){const _0xf26bda=_0x4727c2,_0x4418ce=await importHostModule('src/lib/module/index.ts');if(_0x4418ce?.[_0xf26bda(0x309)]?.[_0xf26bda(0x382)])await _0x4418ce[_0xf26bda(0x309)][_0xf26bda(0x382)]();}async function shutdownHostTasks(){const _0x24fc8e=_0x4727c2,_0x1c3392=await importHostModule('src/lib/task/index.ts');if(_0x1c3392?.[_0x24fc8e(0x2bf)]?.['close'])await _0x1c3392[_0x24fc8e(0x2bf)][_0x24fc8e(0x240)]();}async function shutdownHostInfra(){const _0x2052c1=_0x4727c2,_0x5c4b3e=await importHostModule(_0x2052c1(0x26e));if(_0x5c4b3e?.[_0x2052c1(0x315)]?.[_0x2052c1(0x240)])await _0x5c4b3e[_0x2052c1(0x315)][_0x2052c1(0x240)]();const _0xc37e89=await importHostModule(_0x2052c1(0x300));if(_0xc37e89?.['Db']?.[_0x2052c1(0x240)])await _0xc37e89['Db'][_0x2052c1(0x240)]();}async function applyHostAuthMiddleware(_0x2bcad4){const _0x562f3f=_0x4727c2,_0x2ed935=await importHostModule(_0x562f3f(0x24d));if(!_0x2ed935)return _0x2bcad4;let _0x32faa2=_0x2bcad4;if(_0x2ed935[_0x562f3f(0x32c)])_0x32faa2=_0x32faa2['use'](_0x2ed935[_0x562f3f(0x32c)]);if(_0x2ed935[_0x562f3f(0x247)])_0x32faa2=_0x32faa2[_0x562f3f(0x262)](_0x2ed935[_0x562f3f(0x247)]);if(_0x2ed935[_0x562f3f(0x376)])_0x32faa2=_0x32faa2[_0x562f3f(0x262)](_0x2ed935[_0x562f3f(0x376)]);if(_0x2ed935['microApps'])_0x32faa2=_0x32faa2[_0x562f3f(0x262)](_0x2ed935[_0x562f3f(0x1e1)]);if(_0x2ed935[_0x562f3f(0x293)])_0x32faa2=_0x32faa2[_0x562f3f(0x262)](_0x2ed935[_0x562f3f(0x293)]);return _0x32faa2;}function applyAsyncContext(_0x5f31e9){const _0x1909ef=_0x4727c2,_0x57c5ca=VomeConfig['asyncContextManager']??{};if(!_0x57c5ca[_0x1909ef(0x20b)])return _0x5f31e9;return _0x5f31e9[_0x1909ef(0x35b)](({request:_0x406c0d})=>{enterContextWith(initContextFromRequest(_0x406c0d));});}function applyErrorHandler(_0x375a11){const _0x6752d4=_0x4727c2;return _0x375a11[_0x6752d4(0x374)](({error:_0x2e68e4,set:_0x6314ad,code:_0x56ac13})=>{const _0x28e881=_0x6752d4,_0x4f3fa1=getPinoLogger();if(isCommException(_0x2e68e4))return _0x4f3fa1['error']({'code':_0x2e68e4[_0x28e881(0x258)]},_0x2e68e4[_0x28e881(0x318)]),_0x6314ad['status']=_0x2e68e4[_0x28e881(0x350)],{'code':_0x2e68e4[_0x28e881(0x258)],'message':_0x2e68e4[_0x28e881(0x318)]};if(_0x56ac13===_0x28e881(0x28e)){const _0x465875=_0x2e68e4 instanceof Error?_0x2e68e4[_0x28e881(0x318)]:_0x28e881(0x242);return _0x4f3fa1[_0x28e881(0x233)]({'code':_0x56ac13},_0x465875),_0x6314ad['status']=0x1a6,{'code':RES_CODE['ERROR'],'message':_0x465875};}if(_0x56ac13==='NOT_FOUND')return _0x6314ad[_0x28e881(0x2d7)]=0x194,{'code':RES_CODE[_0x28e881(0x34c)],'message':_0x28e881(0x385)};const _0x41ba17=_0x2e68e4 instanceof Error?_0x2e68e4:new Error(String(_0x2e68e4));return _0x4f3fa1[_0x28e881(0x233)](_0x41ba17),_0x6314ad[_0x28e881(0x2d7)]=0x1f4,{'code':RES_CODE[_0x28e881(0x34c)],'message':getEnv()===_0x28e881(0x3ac)?_0x41ba17['message']:_0x28e881(0x384)};});}function applyLogging(_0x497069){const _0x397d0a=_0x4727c2,_0x23cc36=getPinoLogger();return _0x497069[_0x397d0a(0x262)](_0x23cc36['into']({'autoLogging':{'ignore':_0x5a851c=>Boolean(_0x5a851c[_0x397d0a(0x2ca)])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0x46205a){const _0x52bb9d=_0x4727c2,_0x201fa0=VomeConfig['openapi']??{'enable':![]};if(_0x201fa0[_0x52bb9d(0x20b)]===![])return _0x46205a;const _0x36decd=_0x201fa0['path']??_0x52bb9d(0x30c),{tags:_0x42224b,tagGroups:_0xd10665}=buildOpenApiTagDocs(),_0x3328c9=_0x201fa0[_0x52bb9d(0x2cd)]??{},_0x4717d0=_0x201fa0[_0x52bb9d(0x308)]??{};return _0x46205a[_0x52bb9d(0x262)](openapi({'path':_0x36decd,'documentation':{..._0x3328c9,'tags':[..._0x3328c9[_0x52bb9d(0x346)]??[],..._0x42224b],'x-tagGroups':_0xd10665},'scalar':{..._0x4717d0,'layout':_0x4717d0[_0x52bb9d(0x276)]??_0x52bb9d(0x3bd),'operationTitleSource':_0x4717d0[_0x52bb9d(0x275)]??'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 _0x59c491())));}function bootstrap(_0x7506b4){const _0xbd7b73=_0x4727c2;bootstrapHooks[_0xbd7b73(0x2dc)](_0x7506b4);}function shutdown(_0x517813){shutdownHooks['push'](_0x517813);}function use(_0x5ed7fb){usePlugins['push'](_0x5ed7fb);}async function start(){const _0x37c370=_0x4727c2;if(started)throw new Error('[App]\x20\u5DF2\u542F\u52A8\uFF0C\u8BF7\u5148\x20App.stop()\x20\u518D\x20start');let _0x49d250=createApp();_0x49d250=await applyHostAuthMiddleware(_0x49d250);for(const _0x393d33 of usePlugins){_0x49d250=_0x393d33(_0x49d250);}await ensureHostScanned(),_0x49d250=applyOpenapi(_0x49d250),await bootstrapHostInfra();for(const _0x464bb1 of bootstrapHooks)await _0x464bb1();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x49d250=registerControllers(_0x49d250,VomeConfig);const _0x48a01d=VomeConfig['system']?.['port']??0xbb9;return _0x49d250[_0x37c370(0x3b6)](_0x48a01d),app=_0x49d250,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){const _0x69036e=_0x4727c2;if(!app)return;for(const _0x617212 of shutdownHooks)await _0x617212();await shutdownHostTasks(),await shutdownHostInfra(),await app[_0x69036e(0x2c1)](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0x391ba0=_0x4727c2;if(signalsRegistered)return;signalsRegistered=!![];for(const _0x4dfc32 of[_0x391ba0(0x32d),_0x391ba0(0x2b0)]){process[_0x391ba0(0x23d)](_0x4dfc32,async()=>{const _0x18ac43=_0x391ba0;await stop(),process[_0x18ac43(0x354)](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x46e95a){const _0x396e7d=_0x4727c2;if(_0x46e95a)await _0x46e95a({'App':App});return App[_0x396e7d(0x210)]();}import{getTableColumns as _0x2f3001,getTableName as _0xd19f45}from'drizzle-orm';import{getTableColumns as _0x149367,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')[_0x4727c2(0x22a)](),'createTime':timestamp('createTime',{'withTimezone':!![]})[_0x4727c2(0x280)]()['defaultNow'](),'updateTime':timestamp(_0x4727c2(0x1ff),{'withTimezone':!![]})['notNull']()[_0x4727c2(0x296)]()[_0x4727c2(0x2c2)](()=>new Date()),'deletedAt':timestamp('deletedAt',{'withTimezone':!![]}),'tenantId':integer(_0x4727c2(0x31b))},BASE_COLUMN_COMMENTS={'id':'ID','createTime':_0x4727c2(0x1de),'updateTime':_0x4727c2(0x31a),'deletedAt':_0x4727c2(0x36a),'tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x4b4a3c,_0x46442a={}){const _0x333276=_0x4727c2;return tables[_0x333276(0x213)](_0x4b4a3c),registry[_0x333276(0x2fc)](_0x4b4a3c,{...BASE_COLUMN_COMMENTS,...registry[_0x333276(0x389)](_0x4b4a3c)||{},..._0x46442a}),_0x4b4a3c;}function getColumnComments(_0x4a0e1f){return registry['get'](_0x4a0e1f)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0x1e39cd){const _0x53e4dd=_0x4727c2;if(!/^[A-Za-z_][A-Za-z0-9_]*$/['test'](_0x1e39cd))throw new Error(_0x53e4dd(0x230)+_0x1e39cd);return'\x22'+_0x1e39cd+'\x22';}function escapeLiteral(_0x1decfd){return _0x1decfd['replace'](/'/g,'\x27\x27');}async function syncColumnCommentsToPg(_0xe559a4){const _0x2da588=_0x4727c2,_0x9d9b44=listColumnCommentTables();if(!_0x9d9b44[_0x2da588(0x202)])return 0x0;const _0x19539f=new Map(),_0x1ed783=[];for(const _0x5177c6 of _0x9d9b44){let _0x58c761;try{_0x58c761=getTableName(_0x5177c6);}catch{continue;}const _0x314b3b=_0x149367(_0x5177c6),_0x553321=getColumnComments(_0x5177c6),_0x372550=new Map();for(const [_0x3593aa,_0x4c0216]of Object[_0x2da588(0x3b8)](_0x553321)){if(!_0x4c0216||!(_0x3593aa in _0x314b3b))continue;_0x372550[_0x2da588(0x2fc)](_0x3593aa,_0x4c0216);}if(!_0x372550['size'])continue;_0x19539f[_0x2da588(0x2fc)](_0x58c761,_0x372550),_0x1ed783[_0x2da588(0x2dc)](_0x58c761);}if(!_0x1ed783[_0x2da588(0x202)])return 0x0;const _0x29b09c=_0x1ed783['map'](_0x549377=>'\x27'+escapeLiteral(_0x549377)+'\x27')[_0x2da588(0x249)](','),_0x1a2002=await _0xe559a4['unsafe'](_0x2da588(0x2f2)+_0x29b09c+_0x2da588(0x2e1)),_0x48dcb1=new Map();for(const _0x3f689f of _0x1a2002||[]){if(!_0x3f689f['table_name']||!_0x3f689f[_0x2da588(0x253)])continue;_0x48dcb1[_0x2da588(0x2fc)](_0x3f689f[_0x2da588(0x2e6)]+'.'+_0x3f689f[_0x2da588(0x253)],_0x3f689f[_0x2da588(0x379)]??null);}let _0x50a3a5=0x0;for(const [_0x3daf11,_0x52c7de]of _0x19539f){for(const [_0x32dc1a,_0x413851]of _0x52c7de){const _0x2e9da7=_0x3daf11+'.'+_0x32dc1a,_0x495273=_0x48dcb1[_0x2da588(0x389)](_0x2e9da7);if(_0x495273===_0x413851)continue;await _0xe559a4[_0x2da588(0x368)](_0x2da588(0x295)+quoteIdent(_0x3daf11)+'.'+quoteIdent(_0x32dc1a)+'\x20IS\x20\x27'+escapeLiteral(_0x413851)+'\x27'),_0x50a3a5++;}}return _0x50a3a5;}var SIDE_PREFIX2={'admin':'/admin','app':'/app'};function getSidePrefix2(_0x153ba8){return normalizePrefix(SIDE_PREFIX2[_0x153ba8]);}function lastSegment(_0x49d98d){const _0x47223b=_0x4727c2,_0x43a11c=_0x49d98d[_0x47223b(0x244)](/^\/+|\/+$/g,'')[_0x47223b(0x22f)]('/');return _0x43a11c[_0x43a11c[_0x47223b(0x202)]-0x1]||_0x49d98d||_0x47223b(0x380);}function toPascalEntityName(_0x4e4418){const _0x161f37=_0x4727c2;return _0x4e4418[_0x161f37(0x22f)]('_')[_0x161f37(0x2e3)](Boolean)[_0x161f37(0x38c)](_0x45e2ce=>_0x45e2ce['charAt'](0x0)['toUpperCase']()+_0x45e2ce[_0x161f37(0x1fb)](0x1))['join']('')+_0x161f37(0x25c);}function withAlias(_0x311a13){if(!_0x311a13?.['length'])return[];return _0x311a13['map'](_0x1d2598=>{const _0xbb4f6=_0x1a3d;if(typeof _0x1d2598!==_0xbb4f6(0x256)){const _0x199358=_0x1d2598['column'];return{..._0x1d2598,'column':_0x199358[_0xbb4f6(0x395)]('.')?_0x199358:'a.'+_0x199358};}return _0x1d2598['includes']('.')?_0x1d2598:'a.'+_0x1d2598;});}function normalizePageQueryOp(_0x429340){const _0xe3fcb4=_0x4727c2;return{'keyWordLikeFields':withAlias(_0x429340?.['keyWordLikeFields']),'fieldEq':withAlias(_0x429340?.[_0xe3fcb4(0x270)]),'fieldLike':withAlias(_0x429340?.['fieldLike']),'fieldArray':withAlias(_0x429340?.[_0xe3fcb4(0x23e)]),'fieldRange':(_0x429340?.[_0xe3fcb4(0x1e5)]??[])[_0xe3fcb4(0x38c)](_0xc54f3d=>({..._0xc54f3d,'column':_0xc54f3d['column']['includes']('.')?_0xc54f3d[_0xe3fcb4(0x3b5)]:'a.'+_0xc54f3d[_0xe3fcb4(0x3b5)]}))};}function applyFieldDictToColumns(_0x1dc87b,_0x584360){const _0x228392=_0x4727c2;for(const _0x170b2d of _0x584360){if(typeof _0x170b2d===_0x228392(0x256)||!_0x170b2d[_0x228392(0x2cc)])continue;const _0x1a6891=_0x170b2d['column'][_0x228392(0x395)]('.')?_0x170b2d[_0x228392(0x3b5)][_0x228392(0x22f)]('.')[_0x228392(0x27d)]():_0x170b2d[_0x228392(0x3b5)],_0x4c2cce=_0x1dc87b[_0x228392(0x217)](_0x1383e8=>_0x1383e8['propertyName']===_0x1a6891);if(_0x4c2cce)_0x4c2cce['dict']=_0x170b2d[_0x228392(0x2cc)];}}function columnsFromEntity(_0x1e2636){const _0x924fd2=_0x4727c2;if(!_0x1e2636||typeof _0x1e2636!==_0x924fd2(0x310))return[];try{const _0x2e65ac=_0x2f3001(_0x1e2636),_0x5c802d=getColumnComments(_0x1e2636),_0x2aa939=[];for(const [_0xe3aba7,_0xeae998]of Object[_0x924fd2(0x3b8)](_0x2e65ac)){if(_0xe3aba7===_0x924fd2(0x31b))continue;const _0x41f1a1=_0xeae998;_0x2aa939[_0x924fd2(0x2dc)]({'propertyName':_0xe3aba7,'type':String(_0x41f1a1[_0x924fd2(0x36f)]??_0x41f1a1[_0x924fd2(0x209)]??_0x924fd2(0x256)),'length':_0x41f1a1['length']!=null?String(_0x41f1a1['length']):undefined,'nullable':_0x41f1a1[_0x924fd2(0x280)]!==!![],'source':'a.'+_0xe3aba7,'comment':_0x5c802d[_0xe3aba7]});}const _0x13c2b7=new Set([_0x924fd2(0x3a3),_0x924fd2(0x1ff),'deletedAt']),_0xf207dd=_0x2aa939[_0x924fd2(0x2e3)](_0x46af7c=>!_0x13c2b7[_0x924fd2(0x211)](_0x46af7c[_0x924fd2(0x1e9)])),_0x39ce86=_0x2aa939[_0x924fd2(0x2e3)](_0x1b41d1=>_0x13c2b7[_0x924fd2(0x211)](_0x1b41d1[_0x924fd2(0x1e9)]));return[..._0xf207dd,..._0x39ce86];}catch{return[];}}function entityNameOf(_0x5316f6){if(!_0x5316f6||typeof _0x5316f6!=='object')return;try{return toPascalEntityName(_0xd19f45(_0x5316f6));}catch{return;}}function buildApis(_0x114d3f,_0x4199b5){const _0x5232e5=_0x4727c2,_0x38f355=[],_0x31e57d=new Set(),_0x2ab389=_0xf4b5af=>{const _0x30be73=_0x1a3d,_0x1b0501=_0xf4b5af[_0x30be73(0x269)]+':'+_0xf4b5af[_0x30be73(0x2b5)];if(_0x31e57d[_0x30be73(0x211)](_0x1b0501))return;_0x31e57d[_0x30be73(0x213)](_0x1b0501),_0x38f355[_0x30be73(0x2dc)](_0xf4b5af);};for(const _0x38384a of _0x114d3f[_0x5232e5(0x1e0)]){const _0x3493c0=getRouteSubPath(_0x38384a[_0x5232e5(0x2b5)],_0x114d3f[_0x5232e5(0x388)]),_0x44ed05=_0x3493c0[_0x5232e5(0x2ed)]('/')?_0x3493c0:'/'+_0x3493c0,_0x42ed0a=actionFromSubPath(_0x44ed05);_0x2ab389({'method':_0x38384a['method'][_0x5232e5(0x289)](),'path':_0x44ed05,'summary':_0x38384a[_0x5232e5(0x1f4)]??'','dts':{},'tag':'','prefix':_0x4199b5,'ignoreToken':Boolean(_0x38384a[_0x5232e5(0x200)]),'ignorePerms':Boolean(_0x38384a[_0x5232e5(0x3b2)]),'perms':effectivePerms(_0x38384a,_0x114d3f,_0x42ed0a)??[]});}for(const _0x318209 of _0x114d3f['crud']?.[_0x5232e5(0x22b)]??[]){const _0x32b44e='/'+_0x318209;_0x2ab389({'method':_0x318209===_0x5232e5(0x304)?_0x5232e5(0x389):'post','path':_0x32b44e,'summary':CRUD_SUMMARY[_0x318209]??_0x318209,'dts':{},'tag':'','prefix':_0x4199b5,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x114d3f,_0x318209)??[]});}for(const _0x1b49db of _0x114d3f[_0x5232e5(0x391)]?.[_0x5232e5(0x30b)]??[]){const _0x7cef48='/'+_0x1b49db;_0x2ab389({'method':_0x5232e5(0x21a),'path':_0x7cef48,'summary':_0x1b49db,'dts':{},'tag':'','prefix':_0x4199b5,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x114d3f,_0x1b49db)??[]});}return _0x38f355;}function buildEntity(_0x4aec12){const _0x1cd413=_0x4727c2,_0x2b1fa6=joinPrefix(getSidePrefix2(_0x4aec12['side']),_0x4aec12[_0x1cd413(0x388)]),_0xba813=lastSegment(_0x4aec12[_0x1cd413(0x388)]),_0xa46981=_0x4aec12[_0x1cd413(0x391)]?.['entity'],_0x2afdcd=columnsFromEntity(_0xa46981),_0x61961e=normalizePageQueryOp(_0x4aec12[_0x1cd413(0x391)]?.['pageQueryOp']);return applyFieldDictToColumns(_0x2afdcd,_0x61961e['fieldEq']),{'module':_0x4aec12[_0x1cd413(0x265)],'side':_0x4aec12['side'],'prefix':_0x2b1fa6,'name':entityNameOf(_0xa46981),'info':{'type':{'name':_0xba813,'description':_0x4aec12[_0x1cd413(0x37e)]??_0xba813}},'api':buildApis(_0x4aec12,_0x2b1fa6),'columns':_0x2afdcd,'pageQueryOp':_0x61961e,'pageColumns':_0x2afdcd};}function groupByModule(_0x2bbfa6){const _0x4f0950=_0x4727c2,_0x3669ed={};for(const _0x1d9181 of _0x2bbfa6){const _0x3a41b7=_0x3669ed[_0x1d9181['module']]??[];_0x3a41b7[_0x4f0950(0x2dc)](_0x1d9181),_0x3669ed[_0x1d9181['module']]=_0x3a41b7;}return _0x3669ed;}function isEpsEnabled(){const _0x39c28d=_0x4727c2;return Boolean(VomeConfig[_0x39c28d(0x20a)]?.['eps']);}function buildEps(_0x26d523){const _0xc17b27=_0x4727c2;if(!isEpsEnabled())return{};return groupByModule(listControllers(_0x26d523)[_0xc17b27(0x38c)](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps('admin'),'app':()=>buildEps('app'),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0x4727c2(0x263);function joinRoute(_0x3c494f,_0x5f2449){return joinPrefix(_0x3c494f,_0x5f2449==='/'?'':_0x5f2449);}function asMiddlewareList(_0x4e6f46){const _0xeb8818=_0x4727c2;if(_0x4e6f46==null)return;return Array[_0xeb8818(0x327)](_0x4e6f46)?_0x4e6f46:[_0x4e6f46];}function appendPendingRoute(_0x56e8f3,_0x51e4e4){const _0x54c9f1=_0x4727c2,_0x1693cc=Reflect['getMetadata'](ROUTES_PENDING_KEY,_0x56e8f3)??[];_0x1693cc[_0x54c9f1(0x2dc)](_0x51e4e4),Reflect[_0x54c9f1(0x328)](ROUTES_PENDING_KEY,_0x1693cc,_0x56e8f3);}function createParamDecorator(_0x431b0f){const _0x334102=_0x4727c2,_0x294962=_0x431b0f===_0x334102(0x3aa)?'Param':_0x431b0f==='body'?_0x334102(0x303):_0x334102(0x35d);return _0x4514ee=>(_0x45dfb1,_0x1830c7,_0x22b45e)=>{const _0x1b8be6=_0x334102;if(_0x1830c7===undefined)throw new Error('[Controller]\x20@'+_0x294962+'\x20只能用于方法参数');const _0x38bf07=_0x45dfb1[_0x1b8be6(0x1e4)];appendRouteParam(_0x38bf07,String(_0x1830c7),{'index':_0x22b45e,'source':_0x431b0f,'schema':_0x4514ee});};}function pickCrudOptions(_0x2f968c){const {api:_0x4a6662,entity:_0x5042ba,service:_0x3c147e,serviceApis:_0x15d6c7,before:_0x307a5b,pageQueryOp:_0x2dad7d,listQueryOp:_0xefd232,insertParam:_0x216a87,infoIgnoreProperty:_0x5c5de4}=_0x2f968c;if(_0x4a6662==null&&_0x5042ba==null&&_0x3c147e==null&&_0x15d6c7==null&&_0x307a5b==null&&_0x2dad7d==null&&_0xefd232==null&&_0x216a87==null&&_0x5c5de4==null)return;return{'api':_0x4a6662,'entity':_0x5042ba,'service':_0x3c147e,'serviceApis':_0x15d6c7,'before':_0x307a5b,'pageQueryOp':_0x2dad7d,'listQueryOp':_0xefd232,'insertParam':_0x216a87,'infoIgnoreProperty':_0x5c5de4};}function Controller(_0x433f64=''){const _0xb57a1d=_0x4727c2,_0x230040=typeof _0x433f64===_0xb57a1d(0x256),_0x3d0ba5=_0x230040?{'prefix':_0x433f64}:_0x433f64;return _0x5f3d3c=>{const _0x5852b0=_0xb57a1d;registerProvider({'token':_0x5f3d3c,'useClass':_0x5f3d3c,'scope':_0x5852b0(0x218)});const _0x3ed024=getControllerScanContext(),_0x588ef4=_0x230040&&_0x433f64===''||!_0x230040&&(_0x3d0ba5[_0x5852b0(0x388)]==null||_0x3d0ba5[_0x5852b0(0x388)]===''),_0x252581=normalizePrefix(_0x588ef4&&_0x3ed024?.[_0x5852b0(0x292)]?parseControllerAutoPrefix(_0x3ed024[_0x5852b0(0x292)]):_0x3d0ba5[_0x5852b0(0x388)]??''),_0x29d283=Reflect['getMetadata'](ROUTES_PENDING_KEY,_0x5f3d3c)??[],_0x134888=pickCrudOptions(_0x3d0ba5);registerController({'token':_0x5f3d3c,'prefix':_0x252581,'module':_0x3d0ba5[_0x5852b0(0x265)]??_0x3ed024?.[_0x5852b0(0x265)]??'unknown','side':_0x3d0ba5[_0x5852b0(0x3b1)]??_0x3ed024?.[_0x5852b0(0x3b1)]??_0x5852b0(0x32b),'description':_0x3d0ba5[_0x5852b0(0x37e)],'file':_0x3ed024?.[_0x5852b0(0x292)],'middleware':asMiddlewareList(_0x3d0ba5[_0x5852b0(0x274)]),'crud':_0x134888,'routes':_0x29d283[_0x5852b0(0x38c)](_0x9d5f99=>{const _0x32af7e=_0x5852b0,_0x2b58fd=getRouteParams(_0x5f3d3c,_0x9d5f99[_0x32af7e(0x1e6)]),_0x3f1b78=schemaFromParams(_0x2b58fd),_0x5acb2f=[..._0x9d5f99[_0x32af7e(0x274)]??[],...getRouteMiddleware(_0x5f3d3c,_0x9d5f99[_0x32af7e(0x1e6)])];return{..._0x9d5f99,'path':joinRoute(_0x252581,_0x9d5f99[_0x32af7e(0x2b5)][_0x32af7e(0x2ed)]('/')?_0x9d5f99[_0x32af7e(0x2b5)]['slice'](0x1):_0x9d5f99[_0x32af7e(0x2b5)]),'params':_0x2b58fd,'body':_0x3f1b78?.[_0x32af7e(0x3ba)],'query':_0x3f1b78?.[_0x32af7e(0x1ed)],'routeParams':_0x3f1b78?.['params'],'public':isRoutePublic(_0x5f3d3c,_0x9d5f99['handler']),'ignorePerms':isRouteIgnorePerms(_0x5f3d3c,_0x9d5f99[_0x32af7e(0x1e6)]),'perms':getRoutePerms(_0x5f3d3c,_0x9d5f99['handler']),'middleware':_0x5acb2f[_0x32af7e(0x202)]?_0x5acb2f:undefined};})}),Reflect[_0x5852b0(0x352)](ROUTES_PENDING_KEY,_0x5f3d3c),clearRouteParams(_0x5f3d3c),clearRoutePublic(_0x5f3d3c),clearRouteMiddleware(_0x5f3d3c),clearRoutePerms(_0x5f3d3c),clearRouteIgnorePerms(_0x5f3d3c);};}function Use(..._0x2c543e){return(_0x2828ef,_0x48a196)=>{const _0x29db91=_0x2828ef['constructor'];appendRouteMiddleware(_0x29db91,String(_0x48a196),_0x2c543e);};}function createMethodDecorator(_0x1a4ad8){return(_0x493365='',_0x1f70dd)=>(_0x37832d,_0x4286a4)=>{const _0xa87113=_0x1a3d,_0x1dc210=_0x37832d[_0xa87113(0x1e4)];appendPendingRoute(_0x1dc210,{'method':_0x1a4ad8,'path':_0x493365,'handler':String(_0x4286a4),'summary':_0x1f70dd?.[_0xa87113(0x1f4)]});};}function Public(){return(_0x3ae41e,_0x29d7fb)=>{const _0x2a65f1=_0x1a3d,_0x847d00=_0x3ae41e[_0x2a65f1(0x1e4)];markRoutePublic(_0x847d00,String(_0x29d7fb));};}function Perms(..._0x1173a8){return(_0x5aa96b,_0x4eab3a)=>{const _0x1c6c02=_0x5aa96b['constructor'];setRoutePerms(_0x1c6c02,String(_0x4eab3a),_0x1173a8);};}function IgnorePerms(){return(_0x5e8570,_0x4fe0e7)=>{const _0x28de72=_0x1a3d,_0x363a0f=_0x5e8570[_0x28de72(0x1e4)];markRouteIgnorePerms(_0x363a0f,String(_0x4fe0e7));};}var Body=createParamDecorator(_0x4727c2(0x3ba)),Query=createParamDecorator('query'),Param=createParamDecorator(_0x4727c2(0x3aa)),Get=createMethodDecorator(_0x4727c2(0x2c0)),Post=createMethodDecorator(_0x4727c2(0x3bc)),Put=createMethodDecorator(_0x4727c2(0x222)),Delete=createMethodDecorator(_0x4727c2(0x2b9)),Patch=createMethodDecorator(_0x4727c2(0x251));class BasePlugin{['pluginInfo'];[_0x4727c2(0x3bb)];['cache'];[_0x4727c2(0x268)];async[_0x4727c2(0x3b4)](_0x123798,_0x586fa6,_0x1c9ede,_0x36d4f9){const _0xe8c613=_0x4727c2;this[_0xe8c613(0x335)]=_0x123798,this[_0xe8c613(0x3bb)]=_0x586fa6,this[_0xe8c613(0x267)]=_0x36d4f9?.[_0xe8c613(0x267)],this[_0xe8c613(0x268)]=_0x36d4f9?.[_0xe8c613(0x268)],await this[_0xe8c613(0x357)]();}async[_0x4727c2(0x357)](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';import{join as _0x138fed}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0x2a03e9}from'path';function pDataPath(){const _0x27ae60=_0x4727c2,_0x29ad2d=createHash(_0x27ae60(0x266))[_0x27ae60(0x282)](String(VomeConfig[_0x27ae60(0x246)]??_0x27ae60(0x20a)))[_0x27ae60(0x372)]('hex');return _0x2a03e9(homedir(),'.vome',_0x29ad2d);}function pPluginPath(){const _0x3036d2=_0x4727c2;return _0x2a03e9(pDataPath(),_0x3036d2(0x1fc));}function pModulesPath(){const _0x56c509=_0x4727c2;return _0x2a03e9(pDataPath(),_0x56c509(0x2f4));}function pModulePath(_0x4f3506){return _0x2a03e9(pModulesPath(),_0x4f3506);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x1c7658){if(_0x1c7658==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x1c7658);}function loadPluginClass(_0x197397){const _0x1fe20b=_0x4727c2;try{const _0x2dd665=_0x197397[_0x1fe20b(0x244)](/export\s+const\s+Plugin\s*=/g,_0x1fe20b(0x3ad))[_0x1fe20b(0x244)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x1fe20b(0x244)](/export\s+const\s+handlers\s*=/g,'var\x20handlers\x20=')[_0x1fe20b(0x244)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+class\s+(\w+)/g,_0x1fe20b(0x2c3))[_0x1fe20b(0x244)](/export\s+default\s+/g,'')[_0x1fe20b(0x244)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x1fe20b(0x244)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x1fe20b(0x244)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,'({\x20BasePlugin\x20})'),_0x3cd627=new Function('BasePlugin','require',_0x1fe20b(0x265),_0x1fe20b(0x2c8),_0x2dd665+'\x0avar\x20__Plugin\x20=\x20(typeof\x20Plugin\x20!==\x20\x27undefined\x27)\x0a\x20\x20?\x20Plugin\x0a\x20\x20:\x20(module.exports\x20&&\x20(module.exports.Plugin\x20||\x20module.exports.default\x20||\x20module.exports));\x0aif\x20(typeof\x20__Plugin\x20===\x20\x27undefined\x27\x20||\x20__Plugin\x20===\x20null)\x20{\x0a\x20\x20throw\x20new\x20Error(\x27missing\x20export\x20Plugin\x27);\x0a}\x0areturn\x20__Plugin;'),_0x3d1af8={'exports':{}};return _0x3cd627(BasePlugin,pluginRequire,_0x3d1af8,_0x3d1af8[_0x1fe20b(0x2c8)]);}catch(_0x2b8048){throw new Error(_0x1fe20b(0x33e)+(_0x2b8048 instanceof Error?_0x2b8048[_0x1fe20b(0x318)]:String(_0x2b8048)));}}function readPluginScript(_0x27bcaf){const _0x43fcb8=_0x4727c2,_0x2b0c38=_0x138fed(pModulePath(_0x27bcaf),_0x43fcb8(0x2eb),'index.js');if(existsSync(_0x2b0c38))return readFileSync(_0x2b0c38,_0x43fcb8(0x2d5));const _0x37de20=_0x138fed(pPluginPath(),_0x27bcaf);if(!existsSync(_0x37de20))return;try{const _0x489ac6=JSON[_0x43fcb8(0x2e9)](readFileSync(_0x37de20,'utf8'));return _0x489ac6[_0x43fcb8(0x207)]?.[_0x43fcb8(0x2ba)];}catch{return;}}import{existsSync as _0x9a50c2,readFileSync as _0x335bf3,readdirSync as _0x109931,statSync}from'fs';import{createRequire as _0x17e74c}from'module';import{join as _0x4b3091}from'path';var registry2=new Map(),hostRequire2=_0x17e74c(import.meta.url);function pluginRequire2(_0x3a5562){if(_0x3a5562==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0x3a5562);}function normalizePath(_0x4d97ec){const _0x4cb400=_0x4727c2,_0x4386f7=_0x4d97ec[_0x4cb400(0x2ed)]('/')?_0x4d97ec:'/'+_0x4d97ec;return _0x4386f7[_0x4cb400(0x244)](/\/+$/,'')||'/';}function normalizeMethod(_0xb10f0f){const _0x105caa=_0x4727c2;return _0xb10f0f[_0x105caa(0x2bd)]();}function normalizeModuleScript(_0x50d4d3){const _0x260db4=_0x4727c2;return _0x50d4d3[_0x260db4(0x244)](/export\s+const\s+handlers\s*=/g,_0x260db4(0x2c4))['replace'](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+default\s+\{/g,_0x260db4(0x337))['replace'](/export\s+const\s+Plugin\s*=/g,_0x260db4(0x3ad))['replace'](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x260db4(0x244)](/export\s+class\s+(\w+)/g,_0x260db4(0x2c3))[_0x260db4(0x244)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x260db4(0x244)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x260db4(0x244)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x260db4(0x260));}function loadModuleHandlers(_0x519377,_0x8884fd=!![]){const _0x5d3c24=_0x4727c2,_0x3c9fb6=normalizeModuleScript(_0x519377),_0x334006=new Function('BasePlugin','require',_0x5d3c24(0x265),_0x5d3c24(0x2c8),_0x3c9fb6+_0x5d3c24(0x397)),_0x480089={'exports':{}},_0x5f04e9=_0x334006(BasePlugin,pluginRequire2,_0x480089,_0x480089['exports']);if(!_0x5f04e9||typeof _0x5f04e9!=='object'){if(_0x8884fd)throw new Error('missing\x20export\x20handlers');return{};}return _0x5f04e9;}var ModuleRegistry={'get'(_0x2f301e){return registry2['get'](_0x2f301e);},'list'(){const _0x53e0b2=_0x4727c2;return[...registry2[_0x53e0b2(0x3b8)]()][_0x53e0b2(0x38c)](([_0x337708,_0x4c03ae])=>({'key':_0x337708,'manifest':_0x4c03ae[_0x53e0b2(0x375)],'routes':_0x4c03ae[_0x53e0b2(0x1e0)]}));},'load'(_0x262cd2){const _0x1a0c03=_0x4727c2;if(!_0x262cd2||!/^[a-zA-Z0-9_-]+$/[_0x1a0c03(0x298)](_0x262cd2))throw new Error(_0x1a0c03(0x287)+_0x262cd2);const _0x54559b=pModulePath(_0x262cd2),_0x3cb41b=_0x4b3091(_0x54559b,_0x1a0c03(0x35c));if(!_0x9a50c2(_0x3cb41b))throw new Error(_0x1a0c03(0x370)+_0x262cd2);const _0x2bf2fc=JSON['parse'](_0x335bf3(_0x3cb41b,_0x1a0c03(0x2d5))),_0x285d6c=(_0x2bf2fc[_0x1a0c03(0x1e0)]??[])[_0x1a0c03(0x38c)](_0x80ff83=>({..._0x80ff83,'method':normalizeMethod(_0x80ff83['method']),'path':normalizePath(_0x80ff83[_0x1a0c03(0x2b5)])}));let _0x42b782={};const _0x667946=_0x4b3091(_0x54559b,_0x1a0c03(0x2eb),_0x1a0c03(0x36b));if(_0x9a50c2(_0x667946)){const _0xd54574=_0x335bf3(_0x667946,_0x1a0c03(0x2d5));_0x42b782=loadModuleHandlers(_0xd54574,_0x285d6c[_0x1a0c03(0x202)]>0x0);for(const _0x4ad62c of _0x285d6c){if(typeof _0x42b782[_0x4ad62c[_0x1a0c03(0x1e6)]]!==_0x1a0c03(0x305))throw new Error('模块\x20'+_0x262cd2+'\x20缺少\x20handler:\x20'+_0x4ad62c[_0x1a0c03(0x1e6)]);}}else{if(_0x285d6c[_0x1a0c03(0x202)])throw new Error('模块\x20'+_0x262cd2+_0x1a0c03(0x2e4));}return registry2[_0x1a0c03(0x2fc)](_0x262cd2,{'manifest':_0x2bf2fc,'handlers':_0x42b782,'routes':_0x285d6c}),registry2[_0x1a0c03(0x389)](_0x262cd2);},'unload'(_0x392ea7){const _0x41d808=_0x4727c2;registry2[_0x41d808(0x232)](_0x392ea7);},async 'dispatch'(_0x40a28c,_0x2fbd65,_0x597e4e,_0x4e3bfa){const _0x26de50=_0x4727c2,_0x1eea2f=registry2['get'](_0x40a28c);if(!_0x1eea2f)return{'ok':![],'status':0x194,'message':_0x26de50(0x273)};const _0x50648a=normalizeMethod(_0x2fbd65),_0x3c3d22=normalizePath(_0x597e4e),_0x542c08=_0x1eea2f['routes']['find'](_0x2a47a6=>_0x2a47a6[_0x26de50(0x269)]===_0x50648a&&_0x2a47a6[_0x26de50(0x2b5)]===_0x3c3d22);if(!_0x542c08)return{'ok':![],'status':0x194,'message':_0x26de50(0x396)};const _0xa85b73=_0x1eea2f[_0x26de50(0x212)][_0x542c08[_0x26de50(0x1e6)]];if(typeof _0xa85b73!=='function')return{'ok':![],'status':0x1f4,'message':_0x26de50(0x2e7)+_0x542c08[_0x26de50(0x1e6)]};try{const _0x43ca58=await _0xa85b73(_0x4e3bfa);return{'ok':!![],'data':_0x43ca58,'route':_0x542c08};}catch(_0x5b82d9){const _0x589f20=_0x5b82d9 instanceof Error?_0x5b82d9['message']:String(_0x5b82d9);return{'ok':![],'status':0x1f4,'message':_0x589f20,'route':_0x542c08};}},'bootstrap'(){const _0x2ce253=_0x4727c2,_0x22b1b1=pModulesPath();if(!_0x9a50c2(_0x22b1b1))return;for(const _0x1bbfe2 of _0x109931(_0x22b1b1)){const _0x56c043=_0x4b3091(_0x22b1b1,_0x1bbfe2);if(!statSync(_0x56c043)['isDirectory']())continue;if(!_0x9a50c2(_0x4b3091(_0x56c043,_0x2ce253(0x35c))))continue;try{this['load'](_0x1bbfe2),console[_0x2ce253(0x2e2)](_0x2ce253(0x241)+_0x1bbfe2);}catch(_0x467fcd){console[_0x2ce253(0x1f8)](_0x2ce253(0x204)+_0x1bbfe2+':',_0x467fcd instanceof Error?_0x467fcd['message']:_0x467fcd);}}}};import{existsSync as _0x286eff,statSync as _0x2209a8}from'fs';import{join as _0x199eb5,normalize,sep}from'path';import{Elysia as _0x4890ac}from'elysia';var PREFIX=_0x4727c2(0x20c);function contentType(_0x503074){const _0x2d9189=_0x4727c2,_0x14e40d=_0x503074[_0x2d9189(0x289)]();if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x29e)))return'text/html;\x20charset=utf-8';if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x28a))||_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x1f0)))return _0x2d9189(0x386);if(_0x14e40d['endsWith'](_0x2d9189(0x2f0)))return _0x2d9189(0x21e);if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x235)))return _0x2d9189(0x362);if(_0x14e40d[_0x2d9189(0x3a9)]('.svg'))return _0x2d9189(0x345);if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x1f7)))return _0x2d9189(0x366);if(_0x14e40d[_0x2d9189(0x3a9)]('.jpg')||_0x14e40d[_0x2d9189(0x3a9)]('.jpeg'))return _0x2d9189(0x2df);if(_0x14e40d['endsWith'](_0x2d9189(0x3b9)))return _0x2d9189(0x37a);if(_0x14e40d[_0x2d9189(0x3a9)](_0x2d9189(0x25d)))return _0x2d9189(0x2bc);if(_0x14e40d['endsWith']('.map'))return _0x2d9189(0x255);return _0x2d9189(0x2a4);}var microApps=new _0x4890ac({'name':_0x4727c2(0x271)})['get'](PREFIX+'/*',({params:_0x4bf5ba,set:_0x4774c3})=>{const _0x2b8466=_0x4727c2,_0x17d466=String(_0x4bf5ba['*']||''),_0x3c8967=_0x17d466[_0x2b8466(0x22f)]('/')['filter'](Boolean);if(!_0x3c8967[_0x2b8466(0x202)])return _0x4774c3[_0x2b8466(0x2d7)]=0x194,_0x2b8466(0x2b3);const _0x155681=_0x3c8967[0x0];if(!/^[a-zA-Z0-9_-]+$/['test'](_0x155681))return _0x4774c3['status']=0x190,'Invalid\x20app\x20key';const _0x2d5a93=_0x199eb5(pModulePath(_0x155681),_0x2b8466(0x373));if(!_0x286eff(_0x2d5a93)||!_0x2209a8(_0x2d5a93)[_0x2b8466(0x1e8)]())return _0x4774c3[_0x2b8466(0x2d7)]=0x194,_0x2b8466(0x1db);let _0x349997=_0x3c8967['slice'](0x1)[_0x2b8466(0x249)]('/')||_0x2b8466(0x39c);if(_0x349997[_0x2b8466(0x3a9)]('/'))_0x349997+=_0x2b8466(0x39c);const _0x28e1cd=normalize(_0x199eb5(_0x2d5a93,_0x349997));if(!_0x28e1cd[_0x2b8466(0x2ed)](_0x2d5a93+sep)&&_0x28e1cd!==_0x2d5a93)return _0x4774c3[_0x2b8466(0x2d7)]=0x193,_0x2b8466(0x2ec);let _0x3ed57c=_0x28e1cd;_0x286eff(_0x3ed57c)&&_0x2209a8(_0x3ed57c)[_0x2b8466(0x1e8)]()&&(_0x3ed57c=_0x199eb5(_0x3ed57c,_0x2b8466(0x39c)));if(!_0x286eff(_0x3ed57c)||!_0x2209a8(_0x3ed57c)[_0x2b8466(0x2ea)]())return _0x4774c3[_0x2b8466(0x2d7)]=0x194,_0x2b8466(0x2b3);return _0x4774c3[_0x2b8466(0x23f)][_0x2b8466(0x25b)]=contentType(_0x3ed57c),_0x4774c3[_0x2b8466(0x23f)]['cache-control']=_0x2b8466(0x3c0),_0x4774c3[_0x2b8466(0x23f)][_0x2b8466(0x2ad)]='*',Bun['file'](_0x3ed57c);});import{Elysia as _0x155ea5}from'elysia';function ok(_0xbc3353){const _0x5385a1=_0x4727c2;return{'code':RES_CODE[_0x5385a1(0x2f8)],'message':'success','data':_0xbc3353??null};}function fail(_0xf0d91d,_0x501207=RES_CODE[_0x4727c2(0x34c)]){return{'code':_0x501207,'message':_0xf0d91d};}async function handleExt(_0x1bad81){const _0x112904=_0x4727c2,_0x7a2010=_0x1bad81[_0x112904(0x3aa)][_0x112904(0x2d3)];if(!_0x7a2010||!/^[a-zA-Z0-9_-]+$/[_0x112904(0x298)](_0x7a2010))return _0x1bad81[_0x112904(0x2fc)][_0x112904(0x2d7)]=0x190,fail(_0x112904(0x36e));const _0x1f0e0e=String(_0x1bad81['params']['*']||''),_0x3da807=('/'+_0x1f0e0e)[_0x112904(0x244)](/\/+/g,'/'),_0x10acf9=Context[_0x112904(0x389)](),_0x30714c=ModuleRegistry['get'](_0x7a2010);if(!_0x30714c)return _0x1bad81['set'][_0x112904(0x2d7)]=0x194,fail(_0x112904(0x2c5));const _0x52d58b=_0x1bad81['request'][_0x112904(0x269)]['toUpperCase'](),_0x4ac05b=_0x3da807[_0x112904(0x244)](/\/+$/,'')||'/',_0x22fd2f=_0x30714c[_0x112904(0x1e0)][_0x112904(0x217)](_0x26161f=>_0x26161f[_0x112904(0x269)]===_0x52d58b&&_0x26161f[_0x112904(0x2b5)]===_0x4ac05b);if(!_0x22fd2f)return _0x1bad81[_0x112904(0x2fc)][_0x112904(0x2d7)]=0x194,fail(_0x112904(0x396));if(_0x22fd2f['perms']&&!_0x10acf9?.['isSuper']){const _0x4aeaa3=_0x10acf9?.[_0x112904(0x2b6)]??[];if(!_0x4aeaa3[_0x112904(0x395)](_0x22fd2f['perms']))return _0x1bad81[_0x112904(0x2d7)](0x193);}const _0x684fb4=await ModuleRegistry['dispatch'](_0x7a2010,_0x52d58b,_0x3da807,{'body':_0x1bad81[_0x112904(0x3ba)],'query':_0x1bad81['query']??{},'params':_0x1bad81[_0x112904(0x3aa)],'headers':_0x1bad81[_0x112904(0x34d)][_0x112904(0x23f)],'adminId':_0x10acf9?.[_0x112904(0x2fb)]});if(!_0x684fb4['ok'])return _0x1bad81[_0x112904(0x2fc)][_0x112904(0x2d7)]=_0x684fb4['status'],fail(_0x684fb4[_0x112904(0x318)]);return ok(_0x684fb4['data']);}function createModuleGateway(_0x3585e2){const _0x243066=_0x4727c2;return new _0x155ea5({'name':'module-gateway'})['use'](_0x3585e2['adminAuth'])[_0x243066(0x2f5)]('/admin/ext/:key/*',handleExt,{'adminAuth':!![]})[_0x243066(0x2f5)](_0x243066(0x314),handleExt,{'adminAuth':!![]});}import{Elysia as _0x1059e1}from'elysia';function defineAuthMacro(_0x562de0,_0x555cc8){const _0x4f9467=_0x4727c2;return new _0x1059e1({'name':_0x562de0+_0x4f9467(0x22e)})['macro']({[_0x562de0]:{'resolve':_0x555cc8}})['as'](_0x4f9467(0x39a));}var package_default={'name':_0x4727c2(0x234),'version':_0x4727c2(0x205),'description':_0x4727c2(0x3a2),'license':'MIT','type':_0x4727c2(0x265),'files':[_0x4727c2(0x22c),_0x4727c2(0x2a5),_0x4727c2(0x2fd)],'main':_0x4727c2(0x2f3),'types':_0x4727c2(0x371),'exports':{'.':{'types':_0x4727c2(0x371),'import':_0x4727c2(0x2f3),'default':_0x4727c2(0x2f3)},'./server':{'types':_0x4727c2(0x214),'import':_0x4727c2(0x38b),'default':_0x4727c2(0x38b)},'./admin':{'types':'./dist/admin/index.d.ts','import':_0x4727c2(0x25f),'default':'./dist/admin/index.js'},'./admin/*':_0x4727c2(0x2b2),'./admin/styles/base.css':_0x4727c2(0x299),'./typings/*':_0x4727c2(0x26a)},'scripts':{'build:server':_0x4727c2(0x367),'build:admin':_0x4727c2(0x225),'build':_0x4727c2(0x398),'obfuscate':_0x4727c2(0x2cf),'build:obfuscate':_0x4727c2(0x334),'prepare':_0x4727c2(0x226),'prepublishOnly':_0x4727c2(0x226)},'peerDependencies':{'elysia':'>=1.0.0','reflect-metadata':_0x4727c2(0x264),'drizzle-orm':'>=0.30.0','drizzle-zod':'>=0.5.0','vue':_0x4727c2(0x2e0),'vue-router':_0x4727c2(0x33b),'pinia':_0x4727c2(0x1eb),'vue-sonner':_0x4727c2(0x1eb),'@vueuse/core':_0x4727c2(0x39b),'clsx':_0x4727c2(0x1eb),'tailwind-merge':_0x4727c2(0x1eb),'dompurify':_0x4727c2(0x1dd),'marked':_0x4727c2(0x216)},'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':_0x4727c2(0x377),'drizzle-orm':_0x4727c2(0x377),'drizzle-zod':'^0.8.3','elysia':_0x4727c2(0x377),'javascript-obfuscator':'^5.4.7','reflect-metadata':'^0.2.2','typescript':_0x4727c2(0x377)},'dependencies':{'@bogeychan/elysia-logger':'^0.1.10','@elysiajs/openapi':_0x4727c2(0x208),'pino':_0x4727c2(0x228),'pino-pretty':_0x4727c2(0x1e7)}},version=package_default[_0x4727c2(0x231)];function _0x1a3d(_0x20edc5,_0x5c4b88){_0x20edc5=_0x20edc5-0x1da;const _0x35d74e=_0x35d7();let _0x1a3df9=_0x35d74e[_0x20edc5];if(_0x1a3d['sdRDvN']===undefined){var _0x59a366=function(_0x5daf74){const _0x2f2017='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59c491='',_0x124388='';for(let _0x2cd2ac=0x0,_0x1b9a45,_0x3c367f,_0x426b38=0x0;_0x3c367f=_0x5daf74['charAt'](_0x426b38++);~_0x3c367f&&(_0x1b9a45=_0x2cd2ac%0x4?_0x1b9a45*0x40+_0x3c367f:_0x3c367f,_0x2cd2ac++%0x4)?_0x59c491+=String['fromCharCode'](0xff&_0x1b9a45>>(-0x2*_0x2cd2ac&0x6)):0x0){_0x3c367f=_0x2f2017['indexOf'](_0x3c367f);}for(let _0x25f2a8=0x0,_0x20c6cf=_0x59c491['length'];_0x25f2a8<_0x20c6cf;_0x25f2a8++){_0x124388+='%'+('00'+_0x59c491['charCodeAt'](_0x25f2a8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x124388);};_0x1a3d['pwteJe']=_0x59a366,_0x1a3d['FoQjbz']={},_0x1a3d['sdRDvN']=!![];}const _0x2903ab=_0x35d74e[0x0],_0x3d5165=_0x20edc5+_0x2903ab,_0x1d11d6=_0x1a3d['FoQjbz'][_0x3d5165];return!_0x1d11d6?(_0x1a3df9=_0x1a3d['pwteJe'](_0x1a3df9),_0x1a3d['FoQjbz'][_0x3d5165]=_0x1a3df9):_0x1a3df9=_0x1d11d6,_0x1a3df9;}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 _0x558e8f=_0x16aa;(function(_0x4ad17c,_0x4dac29){const _0x490ceb=_0x16aa,_0x30bf34=_0x4ad17c();while(!![]){try{const _0x15ec2c=-parseInt(_0x490ceb(0x1de))/0x1*(-parseInt(_0x490ceb(0x166))/0x2)+-parseInt(_0x490ceb(0x288))/0x3*(-parseInt(_0x490ceb(0x265))/0x4)+parseInt(_0x490ceb(0x1e7))/0x5+parseInt(_0x490ceb(0x2e3))/0x6*(parseInt(_0x490ceb(0x23b))/0x7)+-parseInt(_0x490ceb(0x2ea))/0x8+parseInt(_0x490ceb(0x26a))/0x9+parseInt(_0x490ceb(0x17a))/0xa*(-parseInt(_0x490ceb(0x232))/0xb);if(_0x15ec2c===_0x4dac29)break;else _0x30bf34['push'](_0x30bf34['shift']());}catch(_0x4ee111){_0x30bf34['push'](_0x30bf34['shift']());}}}(_0x10f3,0x3f6f1));import{join}from'path';import{pathToFileURL}from'url';function getEnv(){const _0x2d8953=_0x16aa;return Bun[_0x2d8953(0x2a1)][_0x2d8953(0x263)]===_0x2d8953(0x31a)?_0x2d8953(0x31a):_0x2d8953(0x16d);}function merge(_0x4d805a,_0x92515b){const _0x3d70a7=_0x16aa,_0x14b6b4={..._0x4d805a};for(const _0x4a87fc of Object[_0x3d70a7(0x28b)](_0x92515b)){const _0x265725=_0x14b6b4[_0x4a87fc],_0x4c4532=_0x92515b[_0x4a87fc];if(_0x265725&&_0x4c4532&&typeof _0x265725==='object'&&typeof _0x4c4532===_0x3d70a7(0x1b1)&&!Array[_0x3d70a7(0x2dc)](_0x265725)&&!Array['isArray'](_0x4c4532)){_0x14b6b4[_0x4a87fc]=merge(_0x265725,_0x4c4532);continue;}_0x14b6b4[_0x4a87fc]=_0x4c4532;}return _0x14b6b4;}async function loadConfig(_0x268634=join(process[_0x558e8f(0x1cc)](),_0x558e8f(0x310))){const _0x2a4a60=_0x558e8f,_0xe52c7=getEnv()==='dev'?_0x2a4a60(0x307):_0x2a4a60(0x1df),_0x5dc2fe=await import(pathToFileURL(join(_0x268634,'default.ts'))[_0x2a4a60(0x194)]),_0x5e1fb9=await import(pathToFileURL(join(_0x268634,_0xe52c7))['href']);return merge(_0x5dc2fe[_0x2a4a60(0x300)],_0x5e1fb9[_0x2a4a60(0x300)]);}var VomeConfig=await loadConfig();import{Elysia as _0x19be4e}from'elysia';import{Elysia}from'elysia';import{AsyncLocalStorage}from'async_hooks';var storage=new AsyncLocalStorage(),warnedOutsideRequest=![];function resolveClientIp(_0x1fd446){const _0x1d94f7=_0x558e8f,_0x178d88=_0x1fd446[_0x1d94f7(0x292)][_0x1d94f7(0x248)](_0x1d94f7(0x2cd));if(_0x178d88){const _0x379711=_0x178d88['split'](',')[0x0]?.[_0x1d94f7(0x257)]();if(_0x379711)return _0x379711;}return _0x1fd446['headers'][_0x1d94f7(0x248)](_0x1d94f7(0x247))?.[_0x1d94f7(0x257)]()||_0x1fd446['headers'][_0x1d94f7(0x248)](_0x1d94f7(0x2ce))?.['trim']()||'';}function initContextFromRequest(_0x21c8e6){const _0x5de4e4=_0x558e8f,_0x1cc5ef=new URL(_0x21c8e6[_0x5de4e4(0x33a)]),_0x101602=_0x21c8e6[_0x5de4e4(0x292)][_0x5de4e4(0x248)](_0x5de4e4(0x197))?.[_0x5de4e4(0x2fa)](',')[0x0]?.[_0x5de4e4(0x257)](),_0x27117e=_0x21c8e6[_0x5de4e4(0x292)]['get']('host')?.['trim']();return{'requestId':crypto[_0x5de4e4(0x1e9)](),'method':_0x21c8e6[_0x5de4e4(0x31b)],'path':_0x1cc5ef[_0x5de4e4(0x188)],'ip':resolveClientIp(_0x21c8e6),'host':_0x101602||_0x27117e||_0x1cc5ef['host'],'startTime':Date[_0x5de4e4(0x1f5)]()};}function enterContextWith(_0x71242d){storage['enterWith'](_0x71242d);}function getContext(){const _0x584817=_0x558e8f;return storage[_0x584817(0x223)]();}function assignContext(_0x510d64){const _0x2f54b3=_0x558e8f,_0x1d79d9=storage['getStore']();if(!_0x1d79d9){getEnv()===_0x2f54b3(0x31a)&&!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[_0x2f54b3(0x2b7)](_0x1d79d9,_0x510d64);}function runContext(_0x23fe86,_0x49beb8){const _0x36cf84=_0x558e8f;return storage[_0x36cf84(0x1d3)](_0x23fe86,_0x49beb8);}var Context=Object[_0x558e8f(0x2b7)](assignContext,{'get':getContext,'run':runContext});import'reflect-metadata';var INJECT_METADATA_KEY='vome:inject',providers=new Map();function registerProvider(_0x34e1b8){const _0x285367=_0x558e8f;providers[_0x285367(0x2f7)](_0x34e1b8['token'],_0x34e1b8);}function getProvider(_0x3c1d6d){const _0x5cd6bb=_0x558e8f;return providers[_0x5cd6bb(0x248)](_0x3c1d6d);}function listProviders(){const _0x153590=_0x558e8f,_0x1f7a73=new Set(),_0x1babf6=[];for(const _0x22be8c of providers['values']()){if(_0x1f7a73[_0x153590(0x2fc)](_0x22be8c['useClass']))continue;_0x1f7a73[_0x153590(0x29f)](_0x22be8c['useClass']),_0x1babf6[_0x153590(0x2d0)](_0x22be8c);}return _0x1babf6;}function tokenLabel(_0x3d3e13){const _0x427131=_0x558e8f;if(typeof _0x3d3e13===_0x427131(0x222)||typeof _0x3d3e13===_0x427131(0x28e))return String(_0x3d3e13);return _0x3d3e13[_0x427131(0x321)]||_0x427131(0x255);}function appendInjectMeta(_0x3bee07,_0x492997){const _0x5b2fc6=_0x558e8f,_0x42b7e7=Reflect[_0x5b2fc6(0x2db)](INJECT_METADATA_KEY,_0x3bee07)??[];_0x42b7e7['push'](_0x492997),Reflect[_0x5b2fc6(0x266)](INJECT_METADATA_KEY,_0x42b7e7,_0x3bee07);}function getInjectMetas(_0x3ebe36){return Reflect['getMetadata'](INJECT_METADATA_KEY,_0x3ebe36)??[];}function resetProviders(){const _0x41c2a8=_0x558e8f;providers[_0x41c2a8(0x173)]();}var ScopeEnum;(_0x45b4dd=>{const _0x28af73=_0x558e8f;_0x45b4dd[_0x28af73(0x2b2)]='singleton',_0x45b4dd[_0x28af73(0x1ba)]='request',_0x45b4dd[_0x28af73(0x260)]=_0x28af73(0x29a);})(ScopeEnum||={});var singletons=new Map(),creating=new Set(),requestCaches=new WeakMap();function injectProperties(_0x37513b,_0x326379){const _0x5ee556=_0x558e8f;for(const _0x584516 of getInjectMetas(_0x326379)){const {propertyKey:_0x2d67f1,token:_0x2de3b6,resolve:_0x1d56c9}=_0x584516;if(!_0x1d56c9&&_0x2de3b6==null)throw new Error(_0x5ee556(0x1e8)+String(_0x2d67f1)+_0x5ee556(0x1ff));const _0x52cbf2=_0x1d56c9?_0x1d56c9():Ioc[_0x5ee556(0x248)](_0x2de3b6);_0x37513b[_0x2d67f1]=_0x52cbf2;const _0x515786=_0x37513b['bindEntity'];_0x1d56c9&&typeof _0x515786===_0x5ee556(0x20b)&&_0x515786[_0x5ee556(0x2b0)](_0x37513b,_0x52cbf2);}}function createInstance(_0x3d8da8){const _0x21536e=_0x558e8f;if(creating['has'](_0x3d8da8))throw new Error('[Ioc]\x20检测到循环依赖:\x20'+_0x3d8da8['name']);creating[_0x21536e(0x29f)](_0x3d8da8);try{const _0x176676=new _0x3d8da8();return injectProperties(_0x176676,_0x3d8da8),_0x176676;}finally{creating[_0x21536e(0x296)](_0x3d8da8);}}function getSingleton(_0x52f7e1){const _0x28009d=singletons['get'](_0x52f7e1);if(_0x28009d)return _0x28009d;const _0x2367a5=createInstance(_0x52f7e1);return singletons['set'](_0x52f7e1,_0x2367a5),_0x2367a5;}function getRequestCache(){const _0x7d7c76=_0x558e8f,_0x3aa71e=Context[_0x7d7c76(0x248)]();if(!_0x3aa71e)throw new Error(_0x7d7c76(0x21e));let _0x229854=requestCaches['get'](_0x3aa71e);return!_0x229854&&(_0x229854=new Map(),requestCaches['set'](_0x3aa71e,_0x229854)),_0x229854;}function getRequestScoped(_0x4f0adf){const _0x15c57e=_0x558e8f,_0x37daf7=getRequestCache(),_0x51aed9=_0x37daf7[_0x15c57e(0x248)](_0x4f0adf);if(_0x51aed9)return _0x51aed9;const _0x2cb2f2=createInstance(_0x4f0adf);return _0x37daf7[_0x15c57e(0x2f7)](_0x4f0adf,_0x2cb2f2),_0x2cb2f2;}function resolveByScope(_0x1a3838,_0x15cdd5){const _0x2c1909=_0x558e8f;switch(_0x15cdd5){case _0x2c1909(0x1bf):return getSingleton(_0x1a3838);case _0x2c1909(0x29a):return createInstance(_0x1a3838);case _0x2c1909(0x26b):return getRequestScoped(_0x1a3838);default:throw new Error(_0x2c1909(0x1d8)+_0x15cdd5);}}function resolveMeta(_0x3dc043){const _0x26032f=_0x558e8f,_0x5d7afd=getProvider(_0x3dc043);if(!_0x5d7afd)throw new Error(_0x26032f(0x1b4)+tokenLabel(_0x3dc043));return _0x5d7afd;}function bootstrapIoc(){const _0x465b7e=_0x558e8f;for(const {useClass:_0x625d29,scope:_0x58128a}of listProviders()){_0x58128a==='singleton'&&getSingleton(_0x625d29);}console[_0x465b7e(0x21a)](_0x465b7e(0x328)+singletons[_0x465b7e(0x1d5)]+_0x465b7e(0x2ad));}function get(_0x5c86d7){const _0x1d5e39=_0x558e8f,_0x52a2d3=resolveMeta(_0x5c86d7);return resolveByScope(_0x52a2d3[_0x1d5e39(0x267)],_0x52a2d3[_0x1d5e39(0x210)]);}function set(_0x12d2c9,_0x146af3){const _0x45246a=_0x558e8f;if(typeof _0x12d2c9===_0x45246a(0x20b)){registerProvider({'token':_0x12d2c9,'useClass':_0x12d2c9,'scope':_0x45246a(0x1bf)}),singletons[_0x45246a(0x2f7)](_0x12d2c9,_0x146af3);return;}const _0x5ec8b9=_0x146af3?.[_0x45246a(0x1f0)];if(!_0x5ec8b9||_0x5ec8b9===Object)throw new Error(_0x45246a(0x324)+tokenLabel(_0x12d2c9)+')\x20需要\x20class\x20实例,以便确定\x20useClass');registerProvider({'token':_0x12d2c9,'useClass':_0x5ec8b9,'scope':_0x45246a(0x1bf)}),registerProvider({'token':_0x5ec8b9,'useClass':_0x5ec8b9,'scope':'singleton'}),singletons[_0x45246a(0x2f7)](_0x5ec8b9,_0x146af3);}function resetIoc(){const _0x172f99=_0x558e8f;singletons[_0x172f99(0x173)](),creating[_0x172f99(0x173)](),resetProviders();}var Ioc={'get':get,'set':set};import'reflect-metadata';var controllers=new Map();function registerController(_0x3b1c12){const _0x1fda33=_0x558e8f;controllers[_0x1fda33(0x2f7)](_0x3b1c12[_0x1fda33(0x2b5)],_0x3b1c12);}function listControllers(_0x1d986b){const _0x40bed6=_0x558e8f,_0x486ebf=[...controllers[_0x40bed6(0x2ca)]()];return _0x1d986b?_0x486ebf[_0x40bed6(0x1a7)](_0x3f8099=>_0x3f8099[_0x40bed6(0x261)]===_0x1d986b):_0x486ebf;}var ROUTE_PARAMS_KEY='vome:controller:route-params',ROUTE_PUBLIC_KEY=_0x558e8f(0x16f),ROUTE_MW_KEY=_0x558e8f(0x1b2),ROUTE_PERMS_KEY='vome:controller:route-perms',ROUTE_IGNORE_PERMS_KEY=_0x558e8f(0x19c);function appendRouteParam(_0x79218,_0x100960,_0x5cc5da){const _0x5514ea=_0x558e8f,_0x4cad45=Reflect['getMetadata'](ROUTE_PARAMS_KEY,_0x79218)??{},_0x39bddc=_0x4cad45[_0x100960]??[];_0x39bddc[_0x5514ea(0x2d0)](_0x5cc5da),_0x4cad45[_0x100960]=_0x39bddc,Reflect[_0x5514ea(0x266)](ROUTE_PARAMS_KEY,_0x4cad45,_0x79218);}function getRouteParams(_0x4107b6,_0x2b7460){const _0x2afaa8=Reflect['getMetadata'](ROUTE_PARAMS_KEY,_0x4107b6);return _0x2afaa8?.[_0x2b7460]??[];}function clearRouteParams(_0x2b9429){const _0x28a20c=_0x558e8f;Reflect[_0x28a20c(0x336)](ROUTE_PARAMS_KEY,_0x2b9429);}function markRoutePublic(_0x6b6076,_0x48f72e){const _0x283f68=_0x558e8f,_0x3b3d01=Reflect[_0x283f68(0x2db)](ROUTE_PUBLIC_KEY,_0x6b6076)??{};_0x3b3d01[_0x48f72e]=!![],Reflect['defineMetadata'](ROUTE_PUBLIC_KEY,_0x3b3d01,_0x6b6076);}function isRoutePublic(_0x3a7f5c,_0x516b74){const _0x304041=_0x558e8f,_0x5b6463=Reflect[_0x304041(0x2db)](ROUTE_PUBLIC_KEY,_0x3a7f5c);return!!_0x5b6463?.[_0x516b74];}function clearRoutePublic(_0x2d3a46){const _0x19fb86=_0x558e8f;Reflect[_0x19fb86(0x336)](ROUTE_PUBLIC_KEY,_0x2d3a46);}function appendRouteMiddleware(_0x3e0700,_0xe09cd4,_0x462926){const _0xe21681=_0x558e8f,_0x10a2d4=Reflect['getMetadata'](ROUTE_MW_KEY,_0x3e0700)??{};_0x10a2d4[_0xe09cd4]=[..._0x10a2d4[_0xe09cd4]??[],..._0x462926],Reflect[_0xe21681(0x266)](ROUTE_MW_KEY,_0x10a2d4,_0x3e0700);}function getRouteMiddleware(_0x5e8b2f,_0x5628f5){const _0x4feefa=_0x558e8f,_0x11d424=Reflect[_0x4feefa(0x2db)](ROUTE_MW_KEY,_0x5e8b2f);return _0x11d424?.[_0x5628f5]??[];}function clearRouteMiddleware(_0x88b483){const _0x333e9c=_0x558e8f;Reflect[_0x333e9c(0x336)](ROUTE_MW_KEY,_0x88b483);}function setRoutePerms(_0x38f869,_0x424488,_0x3b72c4){const _0x41f9f0=_0x558e8f,_0x3d9c32=Reflect[_0x41f9f0(0x2db)](ROUTE_PERMS_KEY,_0x38f869)??{};_0x3d9c32[_0x424488]=_0x3b72c4,Reflect[_0x41f9f0(0x266)](ROUTE_PERMS_KEY,_0x3d9c32,_0x38f869);}function getRoutePerms(_0x2a59db,_0x16129e){const _0x24f54d=Reflect['getMetadata'](ROUTE_PERMS_KEY,_0x2a59db);return _0x24f54d?.[_0x16129e];}function clearRoutePerms(_0x549a17){const _0x142475=_0x558e8f;Reflect[_0x142475(0x336)](ROUTE_PERMS_KEY,_0x549a17);}function markRouteIgnorePerms(_0x36dfb3,_0x370a9b){const _0x3fb344=_0x558e8f,_0x3af340=Reflect[_0x3fb344(0x2db)](ROUTE_IGNORE_PERMS_KEY,_0x36dfb3)??{};_0x3af340[_0x370a9b]=!![],Reflect[_0x3fb344(0x266)](ROUTE_IGNORE_PERMS_KEY,_0x3af340,_0x36dfb3);}function isRouteIgnorePerms(_0x3a1520,_0x2e55d6){const _0x410ffa=_0x558e8f,_0x1b8bae=Reflect[_0x410ffa(0x2db)](ROUTE_IGNORE_PERMS_KEY,_0x3a1520);return!!_0x1b8bae?.[_0x2e55d6];}function clearRouteIgnorePerms(_0x51374e){const _0x20e389=_0x558e8f;Reflect[_0x20e389(0x336)](ROUTE_IGNORE_PERMS_KEY,_0x51374e);}function schemaFromParams(_0x57a68c){const _0x243e14=_0x558e8f,_0x480150={};for(const _0x31bd7f of _0x57a68c){if(_0x31bd7f[_0x243e14(0x28a)]==='body'&&_0x31bd7f['schema']!==undefined)_0x480150['body']=_0x31bd7f['schema'];if(_0x31bd7f['source']===_0x243e14(0x192)&&_0x31bd7f[_0x243e14(0x231)]!==undefined)_0x480150[_0x243e14(0x192)]=_0x31bd7f['schema'];if(_0x31bd7f[_0x243e14(0x28a)]===_0x243e14(0x199)&&_0x31bd7f[_0x243e14(0x231)]!==undefined)_0x480150['params']=_0x31bd7f[_0x243e14(0x231)];}return Object[_0x243e14(0x28b)](_0x480150)['length']>0x0?_0x480150:undefined;}function openApiTag(_0x3e2319,_0x342fe8){return _0x3e2319+'.'+_0x342fe8;}function sideOrder(_0x114918){const _0x4ca688=_0x558e8f;if(_0x114918===_0x4ca688(0x2a7))return 0x0;if(_0x114918===_0x4ca688(0x1da))return 0x1;return 0x2;}function parseTag(_0x160b88){const _0x8d367a=_0x558e8f,_0x4f22c0=_0x160b88[_0x8d367a(0x314)]('.');if(_0x4f22c0<0x0)return{'module':_0x160b88,'side':''};return{'module':_0x160b88[_0x8d367a(0x331)](0x0,_0x4f22c0),'side':_0x160b88[_0x8d367a(0x331)](_0x4f22c0+0x1)};}function buildOpenApiTagDocs(){const _0x3a4f42=_0x558e8f,_0x164715=listControllers(),_0x52ce7b=new Map(),_0x14954b=new Map();for(const _0x5e9320 of _0x164715){const _0x48062a=openApiTag(_0x5e9320[_0x3a4f42(0x29d)],_0x5e9320[_0x3a4f42(0x261)]);!_0x52ce7b['has'](_0x48062a)&&_0x52ce7b[_0x3a4f42(0x2f7)](_0x48062a,{'name':_0x48062a,'description':_0x5e9320[_0x3a4f42(0x29d)]+'\x20'+_0x5e9320[_0x3a4f42(0x261)],'x-displayName':_0x5e9320['side']});let _0x4a2671=_0x14954b[_0x3a4f42(0x248)](_0x5e9320[_0x3a4f42(0x29d)]);!_0x4a2671&&(_0x4a2671=new Set(),_0x14954b[_0x3a4f42(0x2f7)](_0x5e9320[_0x3a4f42(0x29d)],_0x4a2671)),_0x4a2671[_0x3a4f42(0x29f)](_0x48062a);}const _0x6c1156=[..._0x52ce7b[_0x3a4f42(0x2ca)]()][_0x3a4f42(0x2af)]((_0xc89bc,_0x4bd661)=>{const _0x5509c8=_0x3a4f42,_0x22191c=parseTag(_0xc89bc[_0x5509c8(0x321)]),_0x52ad21=parseTag(_0x4bd661[_0x5509c8(0x321)]);return _0x22191c['module']['localeCompare'](_0x52ad21['module'])||sideOrder(_0x22191c[_0x5509c8(0x261)])-sideOrder(_0x52ad21['side']);}),_0x51caa8=[..._0x14954b[_0x3a4f42(0x2e7)]()][_0x3a4f42(0x2af)](([_0x51c2e5],[_0x31ec6c])=>_0x51c2e5[_0x3a4f42(0x1b7)](_0x31ec6c))['map'](([_0x4118bf,_0x1cf832])=>({'name':_0x4118bf,'tags':[..._0x1cf832][_0x3a4f42(0x2af)]((_0x154f84,_0x22103b)=>{const _0x13ab74=_0x3a4f42,_0x10f45f=parseTag(_0x154f84)[_0x13ab74(0x261)],_0x2ad9c5=parseTag(_0x22103b)['side'];return sideOrder(_0x10f45f)-sideOrder(_0x2ad9c5);})}));return{'tags':_0x6c1156,'tagGroups':_0x51caa8};}function normalizePrefix(_0xa9d37c){if(!_0xa9d37c)return'';return _0xa9d37c['startsWith']('/')?_0xa9d37c:'/'+_0xa9d37c;}function joinPrefix(..._0x1e9bd4){const _0x348c17=_0x558e8f,_0x204982=_0x1e9bd4['map'](_0x20794a=>normalizePrefix(_0x20794a)[_0x348c17(0x326)](/^\/+|\/+$/g,''))['filter'](Boolean);return _0x204982[_0x348c17(0x293)]?'/'+_0x204982['join']('/'):'/';}function getRouteSubPath(_0x3c00bb,_0x3455f1){const _0x17a1bc=_0x558e8f,_0x372116=normalizePrefix(_0x3455f1)[_0x17a1bc(0x326)](/\/$/,''),_0x4ece08=normalizePrefix(_0x3c00bb);if(!_0x372116)return _0x4ece08||'/';if(_0x4ece08===_0x372116)return'/';if(_0x4ece08[_0x17a1bc(0x2f2)](_0x372116+'/'))return _0x4ece08['slice'](_0x372116[_0x17a1bc(0x293)])||'/';const _0x16af12=_0x3c00bb[_0x17a1bc(0x2f2)]('/')?_0x3c00bb:'/'+_0x3c00bb;return _0x16af12||'/';}function resolveRoutePerm(_0x8a5135,_0x293894,_0x2a7c54){const _0x188d2b=_0x558e8f;let _0x192bc6=_0x293894[_0x188d2b(0x326)](/^\//,'')['replace'](/\/+/g,':');if(_0x192bc6===_0x8a5135)_0x192bc6=_0x8a5135;else _0x192bc6[_0x188d2b(0x2f2)](_0x8a5135+':')&&(_0x192bc6=_0x192bc6[_0x188d2b(0x331)](_0x8a5135[_0x188d2b(0x293)]+0x1));const _0xce5ba0=_0x8a5135+'-';_0x192bc6[_0x188d2b(0x2f2)](_0xce5ba0)&&(_0x192bc6=_0x192bc6[_0x188d2b(0x331)](_0xce5ba0['length']));_0x192bc6=_0x192bc6[_0x188d2b(0x326)](/-/g,':');if(!_0x192bc6)_0x192bc6=_0x8a5135;return _0x8a5135+':'+_0x192bc6+':'+_0x2a7c54;}function actionFromSubPath(_0x10d655){const _0x20c087=_0x558e8f,_0x49b345=_0x10d655[_0x20c087(0x326)](/^\/+|\/+$/g,'');if(!_0x49b345)return _0x20c087(0x2c6);const _0x1d6592=_0x49b345['split']('/');return _0x1d6592[_0x1d6592['length']-0x1]||_0x20c087(0x2c6);}function effectivePerms(_0x4863e1,_0x567c77,_0x6da9c4){const _0x863225=_0x558e8f;if(_0x567c77['side']!==_0x863225(0x2a7)||_0x4863e1[_0x863225(0x2bf)]||_0x4863e1[_0x863225(0x22b)])return;if(_0x4863e1[_0x863225(0x26c)]?.[_0x863225(0x293)])return _0x4863e1[_0x863225(0x26c)];const _0x5e8129=_0x6da9c4??actionFromSubPath(getRouteSubPath(_0x4863e1['path']??'/',_0x567c77[_0x863225(0x24d)]));return[resolveRoutePerm(_0x567c77[_0x863225(0x29d)],_0x567c77['prefix'],_0x5e8129)];}var crudRegistrar;function setCrudRegistrar(_0x26150c){crudRegistrar=_0x26150c;}var SIDE_PREFIX={'admin':'/admin','app':'/app'},ADMIN_GUARD=_0x558e8f(0x24c),APP_GUARD=_0x558e8f(0x219),ELYSIA_METHODS={'GET':_0x558e8f(0x248),'POST':_0x558e8f(0x1c8),'PUT':_0x558e8f(0x1ee),'DELETE':_0x558e8f(0x296),'PATCH':_0x558e8f(0x29b)};function getSidePrefix(_0x2d68e8){return normalizePrefix(SIDE_PREFIX[_0x2d68e8]);}function buildRouteSchema(_0x9a8222){const _0x4a294d=_0x558e8f;if(_0x9a8222[_0x4a294d(0x199)]?.['length'])return schemaFromParams(_0x9a8222['params']);const _0x2776d5={};if(_0x9a8222['body']!==undefined)_0x2776d5[_0x4a294d(0x30a)]=_0x9a8222[_0x4a294d(0x30a)];if(_0x9a8222[_0x4a294d(0x192)]!==undefined)_0x2776d5[_0x4a294d(0x192)]=_0x9a8222[_0x4a294d(0x192)];if(_0x9a8222[_0x4a294d(0x33b)]!==undefined)_0x2776d5['params']=_0x9a8222[_0x4a294d(0x33b)];return Object[_0x4a294d(0x28b)](_0x2776d5)[_0x4a294d(0x293)]>0x0?_0x2776d5:undefined;}function assertRouteParams(_0x550d69,_0x2242c1,_0x424596){const _0x369a04=_0x558e8f,_0x7cc74b=new Set();for(const _0x2b0360 of _0x550d69){if(_0x7cc74b[_0x369a04(0x2fc)](_0x2b0360[_0x369a04(0x28a)])){const _0x206049=_0x2b0360[_0x369a04(0x28a)]===_0x369a04(0x30a)?_0x369a04(0x25f):_0x2b0360[_0x369a04(0x28a)]===_0x369a04(0x192)?_0x369a04(0x17d):_0x369a04(0x202);throw new Error('[Router]\x20'+_0x424596+'.'+_0x2242c1+_0x369a04(0x31c)+_0x206049);}_0x7cc74b['add'](_0x2b0360[_0x369a04(0x28a)]);}}function createParamHandler(_0x12e0f3,_0x3aff22,_0x279ce4){const _0x411764=_0x558e8f,_0x4f7308=_0x12e0f3[_0x3aff22],_0x44e5bc=_0x4f7308[_0x411764(0x299)](_0x12e0f3);if(!_0x279ce4?.[_0x411764(0x293)])return _0x44e5bc;const _0x40f752=[..._0x279ce4][_0x411764(0x2af)]((_0x1b6a3e,_0x2406b4)=>_0x1b6a3e[_0x411764(0x2c6)]-_0x2406b4[_0x411764(0x2c6)]);return _0x5c3541=>{const _0xbedc8=_0x411764,_0x4361ae=_0x40f752[_0xbedc8(0x31e)](_0x5c0cf4=>{const _0x4dbbc5=_0xbedc8;if(_0x5c0cf4['source']==='body')return _0x5c3541[_0x4dbbc5(0x30a)];if(_0x5c0cf4['source']==='query')return _0x5c3541['query'];if(_0x5c0cf4['source']==='params')return _0x5c3541[_0x4dbbc5(0x199)];throw new Error(_0x4dbbc5(0x278)+_0x5c0cf4[_0x4dbbc5(0x28a)]);});return _0x44e5bc(..._0x4361ae,_0x5c3541);};}function createPermsGuard(_0x4e16dd){return _0x1ba9e9=>{const _0x1b4a7d=_0x16aa,_0x333a4f=_0x1ba9e9[_0x1b4a7d(0x21d)],_0x26dd5a=Context[_0x1b4a7d(0x248)]();if(_0x26dd5a?.[_0x1b4a7d(0x23c)])return;const _0x5d526c=_0x26dd5a?.[_0x1b4a7d(0x26c)]??[];if(_0x4e16dd[_0x1b4a7d(0x19a)](_0x1ed929=>_0x5d526c[_0x1b4a7d(0x339)](_0x1ed929)))return;return _0x333a4f(0x193);};}function openApiSummary(_0x23134e,_0x309ac9){const _0x4aefec=_0x558e8f,_0x448381=_0x23134e['replace'](/^\/+|\/+$/g,'')['split']('/')[_0x4aefec(0x2d9)]()||_0x23134e;return _0x309ac9?_0x448381+'\x20'+_0x309ac9:_0x448381;}function buildRouteOptions(_0x22c4bf,_0x2d2405){const _0x21ddb3=_0x558e8f,_0x525fe5=buildRouteSchema(_0x22c4bf)??{},_0x49675f={..._0x525fe5,'detail':{'tags':[openApiTag(_0x2d2405[_0x21ddb3(0x29d)],_0x2d2405[_0x21ddb3(0x261)])],'summary':openApiSummary(_0x22c4bf[_0x21ddb3(0x2aa)],_0x22c4bf[_0x21ddb3(0x311)])}};_0x2d2405[_0x21ddb3(0x261)]===_0x21ddb3(0x2a7)&&!_0x22c4bf[_0x21ddb3(0x2bf)]&&(_0x49675f[ADMIN_GUARD]=!![]);_0x2d2405['side']==='app'&&!_0x22c4bf['public']&&(_0x49675f[APP_GUARD]=!![]);const _0x11937c=[],_0x1407e3=effectivePerms(_0x22c4bf,_0x2d2405);if(_0x1407e3?.[_0x21ddb3(0x293)])_0x11937c[_0x21ddb3(0x2d0)](createPermsGuard(_0x1407e3));if(_0x22c4bf[_0x21ddb3(0x2e0)]?.['length'])_0x11937c[_0x21ddb3(0x2d0)](..._0x22c4bf[_0x21ddb3(0x2e0)]);if(_0x11937c[_0x21ddb3(0x293)])_0x49675f[_0x21ddb3(0x2e4)]=_0x11937c;return _0x49675f;}function normalizeCrudRouteOpts(_0x5d4248){const _0x2ee523=_0x558e8f;if(_0x5d4248==null)return{};if(typeof _0x5d4248===_0x2ee523(0x338))return{'public':_0x5d4248};return _0x5d4248;}function registerControllerPlugin(_0x55f87a,_0x2598da){const _0x4d5bcd=_0x558e8f,_0x354ecb=getSidePrefix(_0x55f87a[_0x4d5bcd(0x261)]),_0x3505d8=joinPrefix(_0x354ecb,_0x55f87a[_0x4d5bcd(0x24d)]),_0x2faeb1=Ioc[_0x4d5bcd(0x248)](_0x55f87a[_0x4d5bcd(0x2b5)]);let _0x413116=new Elysia({'prefix':_0x3505d8,'name':_0x55f87a[_0x4d5bcd(0x2b5)][_0x4d5bcd(0x321)],'tags':[openApiTag(_0x55f87a[_0x4d5bcd(0x29d)],_0x55f87a[_0x4d5bcd(0x261)])]});for(const _0xef8191 of _0x55f87a[_0x4d5bcd(0x2e0)]??[]){_0x413116=_0x413116[_0x4d5bcd(0x258)](_0xef8191);}const _0xb51964=[];for(const _0x19c669 of _0x55f87a[_0x4d5bcd(0x169)]){const _0x256ba9=_0x2faeb1[_0x19c669[_0x4d5bcd(0x2aa)]];if(typeof _0x256ba9!=='function')throw new Error(_0x4d5bcd(0x1dd)+_0x55f87a[_0x4d5bcd(0x2b5)]['name']+'.'+_0x19c669['handler']+_0x4d5bcd(0x196));assertRouteParams(_0x19c669[_0x4d5bcd(0x199)]??[],_0x19c669['handler'],_0x55f87a[_0x4d5bcd(0x2b5)][_0x4d5bcd(0x321)]);const _0x2a72b0=createParamHandler(_0x2faeb1,_0x19c669[_0x4d5bcd(0x2aa)],_0x19c669[_0x4d5bcd(0x199)]),_0x2b3dc5=getRouteSubPath(_0x19c669['path'],_0x55f87a[_0x4d5bcd(0x24d)]),_0x41debc=buildRouteOptions(_0x19c669,_0x55f87a),_0x1d6d67=ELYSIA_METHODS[_0x19c669[_0x4d5bcd(0x31b)]];_0x413116=_0x413116[_0x1d6d67](_0x2b3dc5,_0x2a72b0,_0x41debc);}if(_0x55f87a['crud']?.[_0x4d5bcd(0x2c1)]?.[_0x4d5bcd(0x293)]||_0x55f87a['crud']?.[_0x4d5bcd(0x209)]?.[_0x4d5bcd(0x293)]){if(!crudRegistrar)throw new Error(_0x4d5bcd(0x1dd)+_0x55f87a['token'][_0x4d5bcd(0x321)]+_0x4d5bcd(0x2a0));_0x413116=crudRegistrar(_0x413116,_0x55f87a,{'controller':_0x2faeb1,'routeOptions':_0x1f01f7=>{const _0x4e226e=_0x4d5bcd,{public:_0x432cf7,action:_0x394983,summary:_0x353eaf}=normalizeCrudRouteOpts(_0x1f01f7),_0x2b51c2={'detail':{'tags':[openApiTag(_0x55f87a['module'],_0x55f87a[_0x4e226e(0x261)])],'summary':openApiSummary(_0x394983??_0x4e226e(0x271),_0x353eaf)}};if(_0x55f87a['side']===_0x4e226e(0x2a7)&&!_0x432cf7){_0x2b51c2[ADMIN_GUARD]=!![];if(_0x394983){const _0x1942ad=resolveRoutePerm(_0x55f87a[_0x4e226e(0x29d)],_0x55f87a[_0x4e226e(0x24d)],_0x394983);_0x2b51c2[_0x4e226e(0x2e4)]=[createPermsGuard([_0x1942ad])];}}return _0x2b51c2;}});for(const _0x4090f2 of _0x55f87a[_0x4d5bcd(0x295)]?.[_0x4d5bcd(0x2c1)]??[]){const _0x1a81f2=_0x4090f2==='info'?_0x4d5bcd(0x2c2):'POST';_0xb51964[_0x4d5bcd(0x2d0)]({'method':_0x1a81f2,'path':joinPrefix(_0x55f87a[_0x4d5bcd(0x24d)],_0x4090f2),'handler':_0x4090f2,'autoCrud':!![]});}for(const _0x28364e of _0x55f87a[_0x4d5bcd(0x295)]?.['serviceApis']??[]){_0xb51964[_0x4d5bcd(0x2d0)]({'method':_0x4d5bcd(0x23e),'path':joinPrefix(_0x55f87a[_0x4d5bcd(0x24d)],_0x28364e),'handler':_0x28364e,'autoCrud':!![]});}}return{'plugin':_0x413116,'pluginPrefix':_0x3505d8,'autoRoutes':_0xb51964};}function registerControllers(_0xc46dde,_0x3abfd6){const _0x25a293=_0x558e8f;let _0x23745a=_0xc46dde,_0x28f496=0x0;const _0x40667d=[];for(const _0x303893 of listControllers()){const {plugin:_0x1c4b13,pluginPrefix:_0x438fa2,autoRoutes:_0x78c31c}=registerControllerPlugin(_0x303893,_0x3abfd6);_0x23745a=_0x23745a['use'](_0x1c4b13);for(const _0x1dd44c of[..._0x303893[_0x25a293(0x169)],..._0x78c31c]){_0x28f496+=0x1;const _0x7d419a=getRouteSubPath(_0x1dd44c['path'],_0x303893[_0x25a293(0x24d)]),_0x5729b5=_0x7d419a==='/'?_0x438fa2:joinPrefix(_0x438fa2,_0x7d419a[_0x25a293(0x326)](/^\//,'')),_0x33aee0=_0x1dd44c[_0x25a293(0x2bf)]?_0x25a293(0x191):_0x1dd44c[_0x25a293(0x297)]?'\x20(crud)':'';_0x40667d[_0x25a293(0x2d0)](_0x1dd44c[_0x25a293(0x31b)]+'\x20'+_0x5729b5+_0x33aee0);}}if(_0x28f496>0x0){console['log'](_0x25a293(0x1a5)+_0x28f496+_0x25a293(0x1c0));for(const _0x260dd5 of _0x40667d)console['log']('\x20\x20'+_0x260dd5);}return _0x23745a;}var {Glob}=globalThis[_0x558e8f(0x220)],DEFAULT_EXT=/\.tsx?$/;async function scanFiles(_0x10c3b3,_0x36e604={}){const _0x3278ce=_0x558e8f,{cwd:cwd=process[_0x3278ce(0x1cc)](),ext:ext=DEFAULT_EXT}=_0x36e604,_0x40f09e=Array[_0x3278ce(0x2dc)](_0x10c3b3)?_0x10c3b3:[_0x10c3b3],_0x151090=[];for(const _0x183754 of _0x40f09e){const _0x135154=new Glob(_0x183754);for await(const _0x49cb28 of _0x135154[_0x3278ce(0x1ac)]({'cwd':cwd,'onlyFiles':!![]})){if(ext[_0x3278ce(0x274)](_0x49cb28))_0x151090[_0x3278ce(0x2d0)](_0x49cb28);}}return[...new Set(_0x151090)][_0x3278ce(0x2af)]();}var context=null;function setControllerScanContext(_0x485535){context=_0x485535;}function getControllerScanContext(){return context;}function parseModuleFromPath(_0x258e5d){const _0x49154d=_0x558e8f,_0x2efbff=_0x258e5d[_0x49154d(0x1e1)](/modules\/([^/]+)\/controller\//);if(!_0x2efbff)return'unknown';return _0x2efbff[0x1];}function parseControllerAutoPrefix(_0x5caebe){const _0x13adbf=_0x558e8f,_0x415c05=_0x5caebe[_0x13adbf(0x326)](/\\/g,'/')['match'](/modules\/([^/]+)\/controller\/(?:admin|app)\/(.+)\.tsx?$/);if(!_0x415c05)return'';const _0x1fdc61=_0x415c05[0x1],_0x1cf9ee=_0x415c05[0x2][_0x13adbf(0x326)](/\/+/g,'/')['replace'](/^\/|\/$/g,'');if(!_0x1cf9ee)return'/'+_0x1fdc61;return'/'+_0x1fdc61+'/'+_0x1cf9ee;}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(_0x20c8ef){const _0x2e76c6=_0x558e8f,_0x2b3ceb=_0x20c8ef instanceof Date?_0x20c8ef:new Date(_0x20c8ef);if(Number[_0x2e76c6(0x21b)](_0x2b3ceb['getTime']()))return String(_0x20c8ef);return new Intl[(_0x2e76c6(0x1a2))](_0x2e76c6(0x2e1),{'timeZone':_0x2e76c6(0x1ed),'year':'numeric','month':'2-digit','day':_0x2e76c6(0x1c7),'hour':_0x2e76c6(0x1c7),'minute':_0x2e76c6(0x1c7),'second':_0x2e76c6(0x1c7),'hour12':![]})[_0x2e76c6(0x316)](_0x2b3ceb)[_0x2e76c6(0x326)]('T','\x20');}function isTimeKey(_0x5e15cf){return TIME_KEY_RE['test'](_0x5e15cf);}function formatApiDates(_0x563a3f){return walk(_0x563a3f);}function walk(_0x4e8dcf,_0x25c69a){const _0x462ceb=_0x558e8f;if(_0x4e8dcf==null)return _0x4e8dcf;if(_0x4e8dcf instanceof Date)return formatDateTime(_0x4e8dcf);if(typeof _0x4e8dcf===_0x462ceb(0x222)&&_0x25c69a&&isTimeKey(_0x25c69a)&&ISO_RE['test'](_0x4e8dcf))return formatDateTime(_0x4e8dcf);if(Array[_0x462ceb(0x2dc)](_0x4e8dcf))return _0x4e8dcf['map'](_0x47eb2b=>walk(_0x47eb2b));if(typeof _0x4e8dcf==='object'){if(Object['prototype'][_0x462ceb(0x22e)]['call'](_0x4e8dcf)!==_0x462ceb(0x1af))return _0x4e8dcf;const _0x4a6479={};for(const [_0x388d04,_0x5c4a73]of Object[_0x462ceb(0x2e7)](_0x4e8dcf)){_0x4a6479[_0x388d04]=walk(_0x5c4a73,_0x388d04);}return _0x4a6479;}return _0x4e8dcf;}var RES_CODE={'SUCCESS':0x3e8,'ERROR':0x3e9};class BaseController{['ok'](_0xbd00d8){const _0x2da2ed=_0x558e8f,_0x5be081=_0xbd00d8===undefined?null:_0xbd00d8;return{'code':RES_CODE['SUCCESS'],'message':_0x2da2ed(0x1ca),'data':_0x5be081==null?_0x5be081:formatApiDates(_0x5be081)};}[_0x558e8f(0x172)](_0x43805b=_0x558e8f(0x193),_0x3f78fb=RES_CODE[_0x558e8f(0x2cf)]){return{'code':_0x3f78fb,'message':_0x43805b};}}import'reflect-metadata';function normalizeProvideArgs(_0x36c9b2){const _0x32539c=_0x558e8f;if(_0x36c9b2==null)return{};if(typeof _0x36c9b2===_0x32539c(0x222)||typeof _0x36c9b2===_0x32539c(0x28e))return{'id':_0x36c9b2};return _0x36c9b2;}function Provide(_0x1ba45e){return _0x5185c7=>{const _0x281b1a=_0x16aa,_0x482f34=normalizeProvideArgs(_0x1ba45e),_0x334b28=_0x482f34[_0x281b1a(0x210)]??_0x281b1a(0x1bf);registerProvider({'token':_0x5185c7,'useClass':_0x5185c7,'scope':_0x334b28}),_0x482f34['id']!=null&&registerProvider({'token':_0x482f34['id'],'useClass':_0x5185c7,'scope':_0x334b28});};}function Inject(_0x5c59ad){return(_0x115171,_0x2fe029)=>{const _0xef79ec=_0x16aa,_0x43c60d=Reflect['getMetadata'](_0xef79ec(0x1fa),_0x115171,_0x2fe029),_0xba83f9=_0x5c59ad??_0x43c60d;if(_0xba83f9==null)throw new Error(_0xef79ec(0x1ab)+String(_0x2fe029)+_0xef79ec(0x2a2));appendInjectMeta(_0x115171[_0xef79ec(0x1f0)],{'propertyKey':_0x2fe029,'token':_0xba83f9});};}import{and,arrayContains,arrayOverlaps,asc,desc,eq,gte,inArray,like,lte,or,sql}from'drizzle-orm';function colName(_0x226f21){const _0x3a2692=_0x558e8f;if(typeof _0x226f21===_0x3a2692(0x222)){const _0x506f5e=_0x226f21[_0x3a2692(0x339)]('.')?_0x226f21[_0x3a2692(0x2fa)]('.')['pop']():_0x226f21;return{'column':_0x506f5e,'param':_0x506f5e,'none':![]};}const _0xf0fe6a=_0x226f21[_0x3a2692(0x1d1)][_0x3a2692(0x339)]('.')?_0x226f21[_0x3a2692(0x1d1)][_0x3a2692(0x2fa)]('.')[_0x3a2692(0x2d9)]():_0x226f21[_0x3a2692(0x1d1)];return{'column':_0xf0fe6a,'param':_0x226f21[_0x3a2692(0x33c)]??_0xf0fe6a,'none':Boolean(_0x226f21[_0x3a2692(0x270)])};}function rangeColumn(_0x4065a6){const _0x2a2759=_0x558e8f;return _0x4065a6[_0x2a2759(0x1d1)]['includes']('.')?_0x4065a6[_0x2a2759(0x1d1)][_0x2a2759(0x2fa)]('.')[_0x2a2759(0x2d9)]():_0x4065a6['column'];}function tableCol(_0xa8b57a,_0x39e096){const _0x2eadf7=_0x558e8f,_0x5d4124=_0xa8b57a[_0x39e096];if(_0x5d4124==null)throw new Error(_0x2eadf7(0x2a6)+_0x39e096);return _0x5d4124;}function isBlank(_0x19259c){return _0x19259c===undefined||_0x19259c===null||_0x19259c==='';}function compactWhere(_0x206a15){const _0xb6edfe=_0x558e8f;if(_0x206a15==null||_0x206a15===![])return[];const _0x1accc2=Array[_0xb6edfe(0x2dc)](_0x206a15)?_0x206a15:[_0x206a15];return _0x1accc2['filter'](_0x1f0924=>_0x1f0924!=null&&_0x1f0924!==![]);}var q={'between'(_0x23dd8d,_0x10f396,_0x557f21){if(isBlank(_0x10f396)||isBlank(_0x557f21))return;return sql`${_0x23dd8d} between ${_0x10f396} and ${_0x557f21}`;},'range'(_0x480c1f,_0x53658d,_0x4fc6ee){const _0x1c5476=_0x558e8f,_0x3c7cc0=[];if(!isBlank(_0x53658d))_0x3c7cc0[_0x1c5476(0x2d0)](gte(_0x480c1f,_0x53658d));if(!isBlank(_0x4fc6ee))_0x3c7cc0[_0x1c5476(0x2d0)](lte(_0x480c1f,_0x4fc6ee));if(!_0x3c7cc0['length'])return;return _0x3c7cc0['length']===0x1?_0x3c7cc0[0x0]:and(..._0x3c7cc0);},'eqRest'(_0x80e00f,_0x5e2e71,_0x227e54){const _0x230ec6=_0x558e8f,_0x1c9d48=[];for(const [_0x5d0bf8,_0x222243]of Object[_0x230ec6(0x2e7)](_0x80e00f)){if(isBlank(_0x222243))continue;const _0x54a8ac=_0x227e54?.[_0x5d0bf8]??_0x5e2e71[_0x5d0bf8];if(_0x54a8ac==null)continue;_0x1c9d48[_0x230ec6(0x2d0)](eq(_0x54a8ac,_0x222243));}return _0x1c9d48;},'contains'(_0x179263,_0x348ef5){const _0x3c607e=_0x558e8f;if(isBlank(_0x348ef5))return;const _0xeaba95=Array['isArray'](_0x348ef5)?_0x348ef5:[_0x348ef5];if(!_0xeaba95[_0x3c607e(0x293)])return;return _0xeaba95[_0x3c607e(0x293)]===0x1?arrayContains(_0x179263,_0xeaba95):arrayOverlaps(_0x179263,_0xeaba95);}};function buildFieldClauses(_0x3b51b3,_0x3523a1,_0x5768f3){const _0x200017=_0x558e8f,_0x47e1ca=[];if(_0x5768f3[_0x200017(0x329)]?.[_0x200017(0x293)]&&!isBlank(_0x3523a1['keyWord'])){const _0x3a8967='%'+String(_0x3523a1[_0x200017(0x32f)])+'%',_0x41c7ea=_0x5768f3[_0x200017(0x329)][_0x200017(0x31e)](_0x557cb2=>{const _0x41ee3f=_0x200017,_0x5087bf=_0x557cb2[_0x41ee3f(0x339)]('.')?_0x557cb2[_0x41ee3f(0x2fa)]('.')['pop']():_0x557cb2;return like(tableCol(_0x3b51b3,_0x5087bf),_0x3a8967);});if(_0x41c7ea[_0x200017(0x293)]===0x1)_0x47e1ca[_0x200017(0x2d0)](_0x41c7ea[0x0]);else{if(_0x41c7ea[_0x200017(0x293)]>0x1)_0x47e1ca[_0x200017(0x2d0)](or(..._0x41c7ea));}}for(const _0x1df5f6 of _0x5768f3['fieldEq']??[]){const {column:_0x2ca1e1,param:_0x2bbeaf}=colName(_0x1df5f6),_0x13f9c9=_0x3523a1[_0x2bbeaf];if(isBlank(_0x13f9c9))continue;if(Array[_0x200017(0x2dc)](_0x13f9c9)){if(!_0x13f9c9[_0x200017(0x293)])continue;_0x47e1ca[_0x200017(0x2d0)](inArray(tableCol(_0x3b51b3,_0x2ca1e1),_0x13f9c9));}else _0x47e1ca['push'](eq(tableCol(_0x3b51b3,_0x2ca1e1),_0x13f9c9));}for(const _0x5e99ce of _0x5768f3[_0x200017(0x225)]??[]){const {column:_0x3fe4f1,param:_0x2b3575}=colName(_0x5e99ce),_0x4946b3=_0x3523a1[_0x2b3575];if(isBlank(_0x4946b3))continue;_0x47e1ca['push'](like(tableCol(_0x3b51b3,_0x3fe4f1),'%'+String(_0x4946b3)+'%'));}for(const _0x553e69 of _0x5768f3[_0x200017(0x181)]??[]){const {column:_0xd7fb5c,param:_0x191874}=colName(_0x553e69),_0x47dca2=q['contains'](tableCol(_0x3b51b3,_0xd7fb5c),_0x3523a1[_0x191874]);if(_0x47dca2)_0x47e1ca[_0x200017(0x2d0)](_0x47dca2);}for(const _0x2e9950 of _0x5768f3[_0x200017(0x242)]??[]){const _0x4762d1=tableCol(_0x3b51b3,rangeColumn(_0x2e9950)),_0x36d5af=q[_0x200017(0x31f)](_0x4762d1,_0x3523a1[_0x2e9950[_0x200017(0x1fe)]],_0x3523a1[_0x2e9950[_0x200017(0x18b)]]);if(_0x36d5af)_0x47e1ca[_0x200017(0x2d0)](_0x36d5af);}return _0x47e1ca;}function buildOrderBy(_0x452da2,_0x423443,_0x22ccc1){const _0x86fc98=_0x558e8f,_0x1e1a08=[],_0x36b31d=_0x423443['order']!=null?String(_0x423443[_0x86fc98(0x2fd)]):undefined,_0x2ebcea=_0x423443[_0x86fc98(0x2af)]===_0x86fc98(0x1fc)||_0x423443[_0x86fc98(0x2af)]==='desc'?_0x423443[_0x86fc98(0x2af)]:undefined;if(_0x36b31d){const _0x48eca6=tableCol(_0x452da2,_0x36b31d);_0x1e1a08['push'](_0x2ebcea===_0x86fc98(0x1fc)?asc(_0x48eca6):desc(_0x48eca6));}else{if(_0x22ccc1['addOrderBy'])for(const [_0x63b5ca,_0x1ebdf4]of Object[_0x86fc98(0x2e7)](_0x22ccc1[_0x86fc98(0x1ad)])){const _0x3eb3be=_0x63b5ca[_0x86fc98(0x339)]('.')?_0x63b5ca['split']('.')[_0x86fc98(0x2d9)]():_0x63b5ca,_0x5a6719=tableCol(_0x452da2,_0x3eb3be);_0x1e1a08[_0x86fc98(0x2d0)](_0x1ebdf4===_0x86fc98(0x1fc)?asc(_0x5a6719):desc(_0x5a6719));}}return _0x1e1a08;}function needsAdvancedQuery(_0x11c43a){const _0x20c5a1=_0x558e8f;return!!(_0x11c43a?.[_0x20c5a1(0x245)]?.[_0x20c5a1(0x293)]||_0x11c43a?.[_0x20c5a1(0x230)]);}async function buildQueryOp(_0x59f91c,_0x4f9eec,_0x1d9ea1={},_0x5f41e9){const _0x43081b=_0x558e8f,_0x32c8ef=buildFieldClauses(_0x59f91c,_0x4f9eec,_0x1d9ea1),_0x2cd85e=buildOrderBy(_0x59f91c,_0x4f9eec,_0x1d9ea1),_0xc5cdee={'body':_0x4f9eec,'request':_0x5f41e9??new Request(_0x43081b(0x1fb))};_0x1d9ea1['where']&&_0x32c8ef[_0x43081b(0x2d0)](...compactWhere(await _0x1d9ea1[_0x43081b(0x327)](_0xc5cdee)));if(_0x1d9ea1[_0x43081b(0x16c)]){const _0x541fc2={'andWhere'(_0xae3bdb){if(_0xae3bdb!=null&&_0xae3bdb!==![])_0x32c8ef['push'](_0xae3bdb);},'orderBy'(..._0x5c3b37){for(const _0xb87abb of _0x5c3b37){if(_0xb87abb!=null)_0x2cd85e['push'](_0xb87abb);}}};await _0x1d9ea1[_0x43081b(0x16c)](_0x541fc2,_0xc5cdee);}const _0x12f3df=_0x32c8ef[_0x43081b(0x293)]===0x0?undefined:_0x32c8ef[_0x43081b(0x293)]===0x1?_0x32c8ef[0x0]:and(..._0x32c8ef);return{'where':_0x12f3df,'orderBySql':_0x2cd85e};}import{and as _0x4e7f47,count,countDistinct,getTableColumns,isNotNull,isNull,sql as _0x1f31d0}from'drizzle-orm';function readCrudConfig(){const _0xdcb7aa=_0x558e8f;return VomeConfig[_0xdcb7aa(0x189)]?.[_0xdcb7aa(0x295)]??{};}function resolveUpsert(_0x2b72d0){const _0x4cd7fd=_0x558e8f;return _0x2b72d0??readCrudConfig()[_0x4cd7fd(0x303)]??_0x4cd7fd(0x25b);}function resolveSoftDelete(_0x3b9a19){if(_0x3b9a19!=null)return _0x3b9a19;return readCrudConfig()['softDelete']===!![];}class DbStore{['drizzle'];[_0x558e8f(0x1a4)];[_0x558e8f(0x231)];['sql'];constructor(_0x420d28,_0x7ee046,_0x49b8e9,_0x3d256b){const _0x36ed93=_0x558e8f;this[_0x36ed93(0x1c9)]=_0x420d28,this['client']=_0x7ee046,this[_0x36ed93(0x231)]=_0x49b8e9,this[_0x36ed93(0x21f)]=_0x3d256b;}}import{and as _0x1cd4c,inArray as _0xda578d,sql as _0x44764e}from'drizzle-orm';import{and as _0x6892bb,eq as _0x3d534a,sql as _0x3d0e69}from'drizzle-orm';var SKIP_KEY='__skipTenant';function isTenantEnabled(){const _0x48056a=_0x558e8f;return VomeConfig[_0x48056a(0x189)]?.['tenant']===!![];}function tableHasTenantId(_0x18301f){const _0x4e5684=_0x558e8f;return _0x18301f[_0x4e5684(0x18a)]!=null;}function resolveTenantScope(){const _0x50d448=_0x558e8f;if(!isTenantEnabled())return _0x50d448(0x319);const _0x447353=Context['get']();if(_0x447353?.[SKIP_KEY])return _0x50d448(0x319);if(_0x447353?.[_0x50d448(0x23c)])return'all';const _0x3fa073=_0x447353?.[_0x50d448(0x18a)],_0x4ed621=typeof _0x3fa073==='number'?_0x3fa073:Number(_0x3fa073);if(!Number[_0x50d448(0x301)](_0x4ed621)||_0x4ed621<=0x0)return'none';return _0x4ed621;}function applyTenantWhere(_0x1958fb,_0x3181ab){const _0x54c913=_0x558e8f;if(!tableHasTenantId(_0x1958fb))return _0x3181ab;const _0x39e6ff=resolveTenantScope();if(_0x39e6ff===_0x54c913(0x319)||_0x39e6ff===_0x54c913(0x241))return _0x3181ab;const _0x2d2e79=_0x1958fb[_0x54c913(0x18a)],_0x2f7342=_0x39e6ff===_0x54c913(0x270)?_0x3d0e69`false`:_0x3d534a(_0x2d2e79,_0x39e6ff);if(_0x3181ab&&_0x2f7342)return _0x6892bb(_0x3181ab,_0x2f7342);return _0x3181ab??_0x2f7342;}function stampTenantId(_0x293aef,_0xd8af4c){const _0x42e5ab=_0x558e8f;if(!tableHasTenantId(_0x293aef))return _0xd8af4c;const _0x464ed7=resolveTenantScope();if(typeof _0x464ed7!==_0x42e5ab(0x163))return _0xd8af4c;if(_0xd8af4c['tenantId']!=null)return _0xd8af4c;return{..._0xd8af4c,'tenantId':_0x464ed7};}async function noTenant(_0x43b476){const _0x46da27=_0x558e8f,_0xfcc1b=Context[_0x46da27(0x248)]();if(!_0xfcc1b)return _0x43b476();const _0x7ce2a=_0xfcc1b[SKIP_KEY];_0xfcc1b[SKIP_KEY]=!![];try{return await _0x43b476();}finally{if(_0x7ce2a===undefined)delete _0xfcc1b[SKIP_KEY];else _0xfcc1b[SKIP_KEY]=_0x7ce2a;}}function normalizeHost(_0x2f7ae9){const _0x49b02a=_0x558e8f;if(!_0x2f7ae9)return'';return _0x2f7ae9['trim']()[_0x49b02a(0x1c3)]()[_0x49b02a(0x326)](/:\d+$/,'');}var SKIP_KEY2=_0x558e8f(0x171);function tableHasDepartmentId(_0x1ec066){const _0x1f4418=_0x558e8f;return _0x1ec066[_0x1f4418(0x280)]!=null;}function resolveDataScope(){const _0x271943=_0x558e8f,_0x1aefe8=Context[_0x271943(0x248)]();if(!_0x1aefe8)return _0x271943(0x319);if(_0x1aefe8[SKIP_KEY2])return _0x271943(0x319);if(_0x1aefe8[_0x271943(0x23c)])return'all';const _0xc6f0e=_0x1aefe8[_0x271943(0x27a)];if(_0xc6f0e==null||_0xc6f0e==='')return _0x271943(0x319);if(_0xc6f0e===_0x271943(0x241))return _0x271943(0x241);if(_0xc6f0e===_0x271943(0x270))return _0x271943(0x270);const _0x262bfd=_0x1aefe8[_0x271943(0x227)],_0x15c127=Array['isArray'](_0x262bfd)?_0x262bfd[_0x271943(0x31e)](_0x10a755=>Number(_0x10a755))[_0x271943(0x1a7)](_0x3b96e8=>Number[_0x271943(0x301)](_0x3b96e8)&&_0x3b96e8>0x0):[];if(!_0x15c127[_0x271943(0x293)])return _0x271943(0x270);return[...new Set(_0x15c127)];}function applyDataScopeWhere(_0x38a5ee,_0xb5c9cd){const _0x253403=_0x558e8f;if(!tableHasDepartmentId(_0x38a5ee))return _0xb5c9cd;const _0x4cbecf=resolveDataScope();if(_0x4cbecf===_0x253403(0x319)||_0x4cbecf===_0x253403(0x241))return _0xb5c9cd;const _0x138d9d=_0x38a5ee[_0x253403(0x280)],_0x4f9b46=_0x4cbecf==='none'?_0x44764e`false`:_0xda578d(_0x138d9d,_0x4cbecf);if(_0xb5c9cd)return _0x1cd4c(_0xb5c9cd,_0x4f9b46);return _0x4f9b46;}function applyRowScopes(_0x1b5f09,_0x5bfb78){return applyDataScopeWhere(_0x1b5f09,applyTenantWhere(_0x1b5f09,_0x5bfb78));}async function noDataScope(_0x242a35){const _0xd8ff0b=_0x558e8f,_0x477439=Context[_0xd8ff0b(0x248)]();if(!_0x477439)return _0x242a35();const _0x35d72d=_0x477439[SKIP_KEY2];_0x477439[SKIP_KEY2]=!![];try{return await _0x242a35();}finally{if(_0x35d72d===undefined)delete _0x477439[SKIP_KEY2];else _0x477439[SKIP_KEY2]=_0x35d72d;}}function deletedAtColumn(_0x1f5d3f){return _0x1f5d3f['deletedAt'];}function trashClause(_0xedb21a,_0x1094fb){const _0x4a3a5d=_0x558e8f;if(!resolveSoftDelete(_0x1094fb?.[_0x4a3a5d(0x2df)]))return;const _0x3fa371=deletedAtColumn(_0xedb21a);if(_0x3fa371==null)return;if(_0x1094fb?.['onlyTrashed'])return isNotNull(_0x3fa371);if(_0x1094fb?.[_0x4a3a5d(0x335)])return;return isNull(_0x3fa371);}function mergeWhere(_0x55ae06,_0x356a86){if(_0x55ae06&&_0x356a86)return _0x4e7f47(_0x356a86,_0x55ae06);return _0x55ae06??_0x356a86;}function applyJoins(_0xa6d98,_0x4195cc,_0x4fe087){const _0x2e5971=_0x558e8f;let _0x405f64=_0xa6d98;for(const _0x690a9b of _0x4fe087['join']??[]){const _0xacd5ab=_0x690a9b[_0x2e5971(0x31d)],_0x10a534=_0x690a9b['on'](_0x4195cc),_0x4cdffb=_0x690a9b['type']??_0x2e5971(0x2f6);_0x4cdffb===_0x2e5971(0x17c)||_0x4cdffb===_0x2e5971(0x245)?_0x405f64=_0x405f64[_0x2e5971(0x17c)](_0xacd5ab,_0x10a534):_0x405f64=_0x405f64[_0x2e5971(0x2f6)](_0xacd5ab,_0x10a534);}return _0x405f64;}function resolveSelect(_0x1517a8,_0x1b258e){const _0x371c57=_0x558e8f;if(_0x1b258e['select'])return _0x1b258e[_0x371c57(0x230)];return getTableColumns(_0x1517a8);}function countExpr(_0x2818b2,_0x13e760){const _0x95c34d=_0x2818b2['id'];if(_0x95c34d!=null&&_0x13e760)return countDistinct(_0x95c34d);if(_0x95c34d!=null)return count(_0x95c34d);return count(_0x1f31d0`*`);}async function queryWithOp(_0xf1fd4f,_0x23e9e8,_0x169612,_0x25498d){const _0x38f86b=_0x558e8f,_0x4704f7=await buildQueryOp(_0xf1fd4f,_0x23e9e8,_0x169612,_0x25498d[_0x38f86b(0x26b)]),_0x47fb03=trashClause(_0xf1fd4f,_0x25498d[_0x38f86b(0x244)]),_0x939abb=applyRowScopes(_0xf1fd4f,mergeWhere(_0x4704f7[_0x38f86b(0x327)],_0x47fb03)),_0x4706c2=resolveSelect(_0xf1fd4f,_0x169612),_0x2b768c=!!_0x169612['join']?.[_0x38f86b(0x293)],_0x37958e=Ioc[_0x38f86b(0x248)](DbStore)['drizzle'];let _0x27d366=applyJoins(_0x37958e[_0x38f86b(0x230)](_0x4706c2)[_0x38f86b(0x198)](_0xf1fd4f),_0xf1fd4f,_0x169612);if(_0x939abb)_0x27d366=_0x27d366[_0x38f86b(0x327)](_0x939abb);if(_0x4704f7[_0x38f86b(0x315)][_0x38f86b(0x293)])_0x27d366=_0x27d366[_0x38f86b(0x224)](..._0x4704f7[_0x38f86b(0x315)]);if(_0x25498d[_0x38f86b(0x1bb)]===_0x38f86b(0x320))return await _0x27d366;const _0x1ec3ed=Math[_0x38f86b(0x18b)](0x1,Number(_0x23e9e8['page']??0x1)),_0x206304=Math[_0x38f86b(0x1fe)](0x64,Math[_0x38f86b(0x18b)](0x1,Number(_0x23e9e8[_0x38f86b(0x1d5)]??0x14))),_0xe42790=(_0x1ec3ed-0x1)*_0x206304,_0x26d15f=await _0x27d366[_0x38f86b(0x269)](_0x206304)[_0x38f86b(0x262)](_0xe42790);let _0x5019b3=applyJoins(_0x37958e[_0x38f86b(0x230)]({'value':countExpr(_0xf1fd4f,_0x2b768c)})[_0x38f86b(0x198)](_0xf1fd4f),_0xf1fd4f,_0x169612);if(_0x939abb)_0x5019b3=_0x5019b3['where'](_0x939abb);const _0x47064a=await _0x5019b3,_0x5e1949=Number(_0x47064a[0x0]?.[_0x38f86b(0x1f8)]??0x0);return{'list':_0x26d15f,'pagination':{'page':_0x1ec3ed,'size':_0x206304,'total':_0x5e1949}};}import{and as _0x2776a2,count as _0x3bbf04,eq as _0x3314f7,inArray as _0x5095e3,isNotNull as _0x49cabc,isNull as _0x2b1170}from'drizzle-orm';import{createInsertSchema,createSelectSchema,createUpdateSchema}from'drizzle-zod';function entitySchemas(_0x521892){return{'select':createSelectSchema(_0x521892),'insert':createInsertSchema(_0x521892),'update':createUpdateSchema(_0x521892)};}var WRITE_META_KEYS=[_0x558e8f(0x259),_0x558e8f(0x2ba),_0x558e8f(0x254)];function sanitizeWritePayload(_0x50c1fd){const _0x4a8f21=_0x558e8f,_0x54c9b7=_0x50c1fd&&typeof _0x50c1fd==='object'&&!Array[_0x4a8f21(0x2dc)](_0x50c1fd)?{..._0x50c1fd}:{};for(const _0x186c8b of WRITE_META_KEYS)delete _0x54c9b7[_0x186c8b];for(const [_0x2837f2,_0x5a6e80]of Object[_0x4a8f21(0x2e7)](_0x54c9b7)){if(typeof _0x5a6e80!==_0x4a8f21(0x222))continue;if(!/^\d{4}-\d{2}-\d{2}/[_0x4a8f21(0x274)](_0x5a6e80))continue;const _0x5dcbff=new Date(_0x5a6e80);if(!Number['isNaN'](_0x5dcbff[_0x4a8f21(0x22f)]()))_0x54c9b7[_0x2837f2]=_0x5dcbff;}return _0x54c9b7;}function isSqlLike(_0x12a7b9){const _0x3eb0ce=_0x558e8f;return!!_0x12a7b9&&typeof _0x12a7b9===_0x3eb0ce(0x1b1)&&_0x12a7b9[_0x3eb0ce(0x2ee)]!=null;}function db(){const _0x38bf5f=_0x558e8f;return Ioc[_0x38bf5f(0x248)](DbStore)[_0x38bf5f(0x1c9)];}function tableId(_0xccf443){const _0x5e5dd7=_0x558e8f,_0x5e8037=_0xccf443['id'];if(!_0x5e8037)throw new Error(_0x5e5dd7(0x167));return _0x5e8037;}function _0x10f3(){const _0x4fae75=['CgX1z2LU','zgvZAwDUoNr5Cgu','Ahr0CdOVl2XVy2fS','yxnJ','lw1Hy3jV','BwLU','ioE8UUwWKsb0B2TLBIdMIjyGCMvZB2X2zq','z2v0rNvSBfLLyxi','lI90ExbPBMDZl2fKBwLUlYO','ugfYyw0','CgX1z2LUu2vYDMLJzq','qxv0Aa','zw5K','Dg9vChbLCKnHC2u','zgLY','w0fWCf0G5BEY5zcV5yQO77Ym6k+35ywiiefWCc5ZDg9WkcKG5yAnihn0yxj0','C2vYDMLJzufWAxm','z2v0rgf0zq','zNvUy3rPB24','DhLWAw5NCY9Hzg1PBG','pJ05lJaUma','B25SEvrYyxnOzwq','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','C2nVCgu','ioMCGoMfJEE9RIbLBNrPDhKG5OIwihnLCNzPy2u','y2fJAguTy29UDhjVBa','CgfNzq','w0nsvurDia','Cgf0Aa','DMfSAwrHDgLVBIbMywLSzwq','lI9KAxn0l2LUzgv4lMPZ','yMLUzevUDgL0Eq','yxv0Aa','Bg9N','Axnoyu4','D2vI','C3rHDhvZ','w0LVy10GuMvXDwvZDcdKVzZNLkJLN5/POBVLNkJOR7FMSylKUiRKUiVMLOFKUk3OP6pMNPdVViJOR7FNOA7ORQqGyxn5BMndB250zxH0twfUywDLCI5LBMfIBgxVViK','C3fS','qNvU','tK9ux0zpvu5e','C3rYAw5N','z2v0u3rVCMu','B3jKzxjcEq','zMLLBgrmAwTL','lI9KAxn0l2fKBwLUl2LUzgv4lMPZ','zgf0yvnJB3bLrgvWDeLKCW','y29UDgvUDc10ExbL','DMfYifbSDwDPBIa9','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xMGAlLPi0','AwDUB3jLugvYBxm','y2fJAgu','zxHWB3j0CW','Dg9tDhjPBMC','z2v0vgLTzq','C2vSzwn0','C2nOzw1H','mtf0A1bnshG','C2f2zq','B3bLBMfWAq','C2v0rw50Axr5','CMvXDwLYzq','zMLUze9Uzq','ugX1z2LU','Aw5MBW','q2fJAgu','mti0ndeZmxPYB1PmBq','AxntDxbLCG','zM9Yy2u','ue9tva','BgLZDcbMywLSzwq','w2nVBhvTBKnVBw1LBNrZxsdPNz7MS5xMOiFOR4BNRky6ia','ywXS','zMLLBgrsyw5Nzq','B25szxf1zxn0','DhjHC2G','AM9PBG','Bw9KAwz5qMvMB3jL','Ec1YzwfSlwLW','z2v0','ywrKigzHAwXLza','AxneAxjLy3rVCNK','lI9KAxn0l2fKBwLUl3n0EwXLCY9IyxnLlMnZCW','ywrTAw5bDxrO','ChjLzML4','vM9TzsbMCMfTzxDVCMSG4OcuihnOyxjLzcaRiej1BI9fBhLZAweGC2vYDMvYicSGvNvLigfKBwLU','w0nVBNrYB2XSzxjDiea','BwvZC2fNzq','zgvMyxvSDe5VDW','Aw5KzxGUAhrTBa','C2v0rgf0zq','zgvSzxrLzef0','kgfUB255Bw91CYK','D2fYBG','DhjPBq','B25czwzVCMviyw5KBgu','y3jLyxrLvgLTzq','ChjVCgvYDhLoyw1L','Aw5Zzxj0','CgfYC2u','l2LUzM8','w01VzhvSzv0GBg9HzcbMywLSzwqG','qM9KEq','uhjVDg90ExbL','C2LKzq','B2zMC2v0','tK9erv9ftLy','C3rVCa','mta0mZzSywjXyLq','zgvMAw5Ltwv0ywrHDge','DxnLq2XHC3m','C3jJl2XPyI9WBhvNAw4VAw5KzxGUDhm','BgLTAxq','mtK4mti1mufWAhHPwa','CMvXDwvZDa','CgvYBxm','BwLJCM9bChbZ','mc4WlJeY','lI9KAxn0l2fKBwLUl2LUzgv4lMqUDhm','BM9Uzq','ywn0Aw9U','lMPZ','zgvSzxrLigzHAwXLza','DgvZDa','Bw9KDwXLCW','BgLZDff1zxj5t3a','C2vYDMLJzq','w1jVDxrLCL0G5PYQ55+L5y+c5PwW5P2L5RQqoIa','vKfmsurbveLptG','zgf0yvnJB3bL','u0Lhsu5u','DxbKyxrLigzHAwXLza','CgfNzsbMywLSzwq','zM9Yy2vezwXLDgu','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','zgvWyxj0BwvUDeLK','Bw9KAwz5qwz0zxi','q09ntuvovcbptIbdt0Xvtu4G','6z2E5Rov5QIH5z2xigTLEtOG','Bw9KDwXLlwDHDgv3yxK','tw9KDwXL','kIOVBw9KDwXLCY8Ql3nLCNzPy2uVkIOVkI50CW','w01VzhvSzv0GBg9HzgvKia','mZi3Cu1UveHi','D2vIqxv0Aa','C291CMnL','A2v5CW','C3jJl3nOyxjLza','pJ0ZlJuUma','C3LTyM9S','kqOGia','5QIH5z2xia','xJaUmI4Y','AgvHzgvYCW','BgvUz3rO','DgfNCW','y3j1za','zgvSzxrL','yxv0B0nYDwq','Aw5KzxGUANm','yMLUza','ChjVDg90ExbL','Cgf0y2G','lMXVzW','Bw9KDwXL','B3bLCMf0Aw9UvgL0BgvtB3vYy2u','ywrK','ioMfJEE9RUs6HIbHCgKVC2vYDMLJzufWAxpVViZKVyBMNkRMIB7LIlaGq1jvrcdLRP7NJRdVViHaDM9Tzs1JB3jLigf0DgfJAenYDwrsB3v0zxmG5PYQ5OYc6l2977Yj','zw52','ioEAHoEXU+wEI++8JoIVT+AyVUw8J+s8OowfPsb0B2TLBG','AwrZ','CgfNzvf1zxj5t3a','cUkwIokwIokvLYaGiokwIokwIokvLYaGiokwIokwIokwIokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaGiokwIokwIokwIokvLYaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcUkwIokwIokvKsaGiokwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4Pwq4PAi4PAi4PwxicdILOJILOJILOJILOJILzCG4PAi4PAi4PAi4PAi4PwricdILOJILOJILztILzdILzdILzdILzdILz0k4PAi4PAi4PwricaG4PAi4PAi4PwricdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvLokwIokwIokwIokwIokvLokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PwxcIdILOJILOJILzCG4PAi4PAi4Pwu4PwDicdILOJILOJILzeGicdILOJILOJILzeGiokwIokwIokvKEkvMUkwIokwIokvLokvNEkwIokwIokvKsaG4PAi4PAi4Pwu4Pwq4Pwq4PwDcIaG4PwA4PAi4PAi4PAi4Pwu4PwDicaG4PwA4PAi4PAi4PAi4PAi4PAi4PAi4Pwu4PwDicdILOJILOJILzeG4PwA4Pwq4PwDiokwIokwIokvKsaG4PAi4PAi4PAi4PAi4PAi4PAi4PAi4PwxcIaGiokvMUkvKokvKokvNsaGicaG4PwA4Pwq4Pwq4Pwq4Pwq4Pwq4PwDicaG4PwA4Pwq4PwDicaGicdILzRILzdILz0GiokvMUkvKokvKokvKokvKokvKokvKokvNqO','w1f1zxj5t3bDioIHQoAxOowTL+AUTtOG','ywrTAw4','y29UDhjVBgXLCG','CgX1z2LUsw5MBW','AgfUzgXLCG','DhjHBNnWB3j0','ioIHQoAxOcbPzcdLIjC','ihnPBMDSzxrVBIHZkq','l2rVy3m','C29YDa','y2fSBa','zMLUzej5swq','u2LUz2XLDg9U','BM90tNvSBa','Aw50BW','Dg9Rzw4','ChjPBwfYEuTLEq','yxnZAwDU','pJ0ZlJaUma','pJ0WlJiUma','DxbKyxrLvgLTzq','lNn2zW','yNvUihnJCMLWDhmVB2jMDxnJyxrLlNrZ','xJaUms4Xma','DMfYigHHBMrSzxjZid0','ChvIBgLJ','iowJSoAyJUs6HIbYB3v0zxmG5l2g57Y65BcrihnLCNzLCI9PBMrLEc5QCW','yxbP','r0vu','lI9KAxn0l2LUzgv4lMqUDhm','CMv0DxjUAw5N','w0HVC3rDignYDwqG4OAqieb2B21LlwnVCMuVB3jT','Aw5KzxG','ios4JEAyR+ACIEAvIoAwUEAZLq','yMvMB3jL','Bg9Hza','DMfSDwvZ','qxbWig5VDcbMB3vUza','w1jLCg9ZAxrVCNLDioAjUEMhJ+ABToAwSoAVJ+ADOEMCGow4PIbPza','Ec1MB3j3yxjKzwqTzM9Y','y2yTy29UBMvJDgLUzY1PCa','rvjst1i','ChvZAa','y3r4','CMvZDg9YzsbMywLSzwq','l2fKBwLUl2v4Dc86A2v5','C3jJl2XPyI90yxnRl2LUzgv4lNrZ','AwqGCMvXDwLYzwq','5yIG6zMK5PE26zE0','z2v0uMvWBW','yNvUigj1AwXKic4VC3jJl2LUzgv4lNrZic4VC3jJl3nLCNzLCI9PBMrLEc50CYaTlw91DgrPCIaUl2rPC3qGls10yxjNzxqGyNvUic0TzM9YBwf0igvZBsaTlwv4DgvYBMfSigvSExnPysaTlwv4DgvYBMfSihjLzMXLy3qTBwv0ywrHDgeGls1LEhrLCM5HBcbKCML6EMXLlw9YBsaTlwv4DgvYBMfSigrYAxP6BguTEM9Kic0TzxH0zxjUywWGqgvSExnPywPZl29Wzw5HCgKGls1LEhrLCM5HBcbayM9NzxLJAgfUl2vSExnPys1SB2DNzxiGls1LEhrLCM5HBcbWAw5Vic0TzxH0zxjUywWGCgLUBY1WCMv0DhKGjIyGDhnJic1WihrZy29UzMLNlMj1AwXKlMPZB24GjIyGChjPBNrMiciLC1XUiIaIzxHWB3j0icOGzNjVBsaNlI9ZCMmVAw5KzxGNiIa+igrPC3qVAw5KzxGUzc50CYaMjIbTA2rPCIaTCcbKAxn0l3nLCNzLCIaMjIbWCMLUDgyGiIvZxg4IicjLEhbVCNqGkIbMCM9TicCUlI9ZCMmVC2vYDMvYl2LUzgv4jYiGpIbKAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','Cg9W','C3rKB3v0','z2v0twv0ywrHDge','AxnbCNjHEq','zMLLBgrfCq','y29SDw1UvhLWzq','C29MDerLBgv0zq','BwLKzgXLD2fYzq','C3yTu0u','57Y65Bcrig1VzhvSzs5QC29UoIa','mtj1CvH2v3C','yMvMB3jLsgfUzgXL','w1jLCg9ZAxrVCNLDioIHQoAxOcbKzwXLDgvKqxtVViZML6dMS5xOVA/LIkdPMAq','BwLJCM8TyxbWCY1ZDgf0Awm','zw50CMLLCW','8j+tOsdMNi3LIQhLNldLNya6ia','l3vWzgf0zq','nda1nZu0ngzvqurIwq','u1vdq0vtuW','zgLNzxn0','xJaUoc4Z','z2v0u1fm','BwfUAwzLC3q','C2nVCgvKv2HLCMu','w0jHC2vtzxj2AwnLxsdMNkRNU5hLRPRLRP7KVzpVViZOR7FKVB/NLkGGqeLUAMvJDfjLCg9ZAxrVCNKG5OIwihnLDevUDgL0Eq','C3rHCNrZv2L0Aa','l3jLC3rVCMu','y3jLyxrL','yM9VDhn0CMfW','BgvMDePVAw4','C2v0','xJeWlJmUmq','lNDVzMy','C3bSAxq','C3jJl2XPyI9TB2r1BguVAw5KzxGUDhm','AgfZ','B3jKzxi','zw5HyMXL','zw50Axr5','zgvMyxvSDa','AxngAw5PDgu','CMvZDg9Yzq','DxbZzxj0','5PU05PAW5PE26zE0','pJ0YlJaUma','zgLZCgf0y2G','zgv2lNrZ','zw5KC1DPDgG','AgfUzgXLCIdNVlRLPle6ia','yM9KEq','Dgv4Dc9JC3m7ignOyxjZzxq9DxrMltG','rw50Axr5','xJuUnc43','C3rHCNq','yxn5BMndB250zxH0twfUywDLCG','C3jJl2nVBMzPzW','C3vTBwfYEq','qMfZzvbSDwDPBG','AxnfCNjVCG','BgfZDeLUzgv4t2y','B3jKzxjcEvnXBa','zM9YBwf0','y29TBwvUDa','zg9JDw1LBNrHDgLVBG','B2zM','zgv2','Bwv0Ag9K','ioMhJEwKJsba','DgfIBgu','BwfW','CMfUz2u','BgLZDa','BMfTzq','CMvZB2X2zuLKv2HLCMu','Aw5PDa','w0LVy10Gsw9JlNnLDcG','6lEV55sX5lIn5A2y5zYO','CMvWBgfJzq','D2HLCMu','w0LVy10GyM9VDhn0CMfWiokgKca','A2v5v29YzeXPA2vgAwvSzhm','y2XHC3nPyW','zgvZy3jPChrPB24','CMvXDwLYzuvUDgL0Eq','rM9YyMLKzgvU','CMvXDwvZDeXVzW','A2v5v29Yza','sw52ywXPzcbHChaGA2v5','C2XPy2u','g1SYsHTBsa','zgLZDa','BM8Ty2fJAgu','D2L0AfrYyxnOzwq','zgvSzxrLtwv0ywrHDge','ywnJzxnZlwnVBNrYB2WTywXSB3CTB3jPz2LU','yM9VBgvHBG','Aw5JBhvKzxm','DxjS','CM91DgvqyxjHBxm','CMvXDwvZDfbHCMfT','AwrZihjLCxvPCMvK','BNvTyMvY','zgvIDwC','pJ0WlJmWlJa','nJyXmtGWzhnmqMHK','w1jLCg9ZAxrVCNLDioIHQoAxOcbPzcdLIjFVViZOR7FMLlNNLkGGzMLUzcH3AgvYzsKGlYbMAw5Kt25LkhDOzxjLkq','C3rHDhvZq29Kzq','CM91DgvZ','zgf0yvr5Cgu','khSGqMfZzvbSDwDPBIb9kq','zxH0zw5K','ChjVza','zMLSzq','DM9TztPJB250CM9SBgvYoNjVDxrLlxb1yMXPyW','yNvUihj1BIbIDwLSzdPVyMz1C2nHDgu','x19ZA2LWrgf0yvnJB3bL','zMfPBa','y2XLyxi','C3vWCg9YDhntB2z0rgvSzxrL','DxbKyxrL','Bgf5B3v0','lMPZB24','8j+mJsdOV5dOOyZNJQ/LOOm6ia','zgf0yq','nJC3nJG5mhPwAeX6Cq','CMvHzhK','Aw5UzxjkB2LU','uxvLCNK','cNzHCIbFx1bSDwDPBIa9icH0ExbLB2yGugX1z2LUice9psaNDw5KzwzPBMvKjYKkica/ifbSDwDPBGOGidOGkg1VzhvSzs5LEhbVCNrZicyMicHTB2r1BguUzxHWB3j0CY5qBhvNAw4GFhWGBw9KDwXLlMv4Cg9YDhmUzgvMyxvSDcb8FcbTB2r1BguUzxHWB3j0CYKPoWPPzIaODhLWzw9Mif9FugX1z2LUid09psaNDw5KzwzPBMvKjYb8FcbFx1bSDwDPBIa9pt0GBNvSBcKGEWOGihrOCM93ig5LDYbfCNjVCIGNBwLZC2LUzYbLEhbVCNqGugX1z2LUjYK7cN0kCMv0DxjUif9FugX1z2LUoW','DgfIBgvFBMfTzq','lMPWzwC','zMLLBgrbCNjHEq','ywrTAw5jza','u1LtoNn0yw5KyxjK','CM0GlxjMigrPC3qGjIyGyNvUihj1BIbIDwLSzdPZzxj2zxiGjIyGyNvUihj1BIbIDwLSzdPHzg1PBG','DM9Tzs1JB3jL','y2XVC2u','uefuq0G','Cgf0Ag5HBwu','DM9Tzq','DgvUyw50swq','Bwf4','Dw5ZywzL','CgfKu3rHCNq','l2fWCa','y2HHCKf0','DxbKyxrLqNLsB3DZ','icHWDwjSAwmP','CxvLCNK','zxjYB3i','AhjLzG','revmrvrf','ios4JEAyR+ACIEAvIcbOyw5KBgvY','Ec1MB3j3yxjKzwqTAg9ZDa','zNjVBq','CgfYyw1Z','C29Tzq','Bgf0zxn0','DM9TztPJB250CM9SBgvYoNjVDxrLlwLNBM9Yzs1WzxjTCW','DxnL','C2nHBgfY','DM9TztPJB250CM9SBgvYoNjVDxrLCY1Wzw5KAw5N','AxngAwXL','kIOVBw9KDwXLCY8Ql2nVBNrYB2XSzxiVywrTAw4VkIOVkI50CW','rgf0zvrPBwvgB3jTyxq','y29UDgvUDa','y2XPzw50','w1jVDxrLCL0GCMvNAxn0zxjLzcdIHPaG','lI9KAxn0l3nLCNzLCI9PBMrLEc5QCW','zMLSDgvY','CgfYC2vjBNnLCNq','pJ00lJaUma','Bwq1','w0LVy10GqeLUAMvJDcdML6dMS5xMJQJMLQ0G','C2nHBG','ywrKt3jKzxjcEq','Bgv2zwW','w29IAMvJDcbpyMPLy3rD','cMLMicH0ExbLB2yGAgfUzgXLCNmGpt09icD1BMrLzMLUzwqNksbYzxr1CM4GBNvSBdSkCMv0DxjUigHHBMrSzxjZoW','B2jQzwn0','DM9TztPJB250CM9SBgvYoNjVDxrLlw1PzgrSzxDHCMu','zMLUza','w0LVy10G5PYQ5RoO5yAm55QeifbYB3zPzgvYoIa','l2rLBgv0zq','l2XPC3q','Bg9JywXLq29TCgfYzq','C3LZDgvT','5yIg6Ag15P+L6k+I','uMvXDwvZDa','Bw9Kzq','Aw1Hz2uVCg5N','zMLUzfbHz2u','DxrMoa','C2LUz2XLDg9U','ihjVDxrLkhmP','D3jPDgu','ioE8UUwWKsbOyw5KBgvYoIa','Dg9mB3DLCKnHC2u','C3jJl21PzgrSzxDHCMuVAw5KzxGUDhm','AgfUzgXLCNm','Aw5Zzxj0ugfYyw0','mI1KAwDPDa','Cg9ZDa','zhjPENPSzq','C3vJy2vZCW','Bg9Nz2LUzW','y3DK','5yIx6kgO5P+L6k+I','y291BNq','y29SDw1Ux25HBwu','AxnuvfK','y29SDw1U','Bw9KDwXLlMPZB24','CNvU','5yIB5BU65PE26zE0','C2L6zq','5QIH5z2x5PYQ5yQG6l29','B25fCNjVCG','w0LVy10G5PYQ55+L5l2C55sO5z+FoIa','Cg9YDa','yxbW','Bw9KDwXLr2f0zxDHEq','zM9UDc93B2zM','w1jVDxrLCL0G','mwTuANb5uW','ChjVzc50CW','Dw5RBM93BG','Bwf0y2G','lM1QCW','ioMfJEE9RUs6HIbZzxj2AwnLqxbPC++8JoMCGowqJoAxTUMfJEE9RIbZzxj2AwnL','y29Kzq','CM91DgvpChrPB25Z','vgfZAW','mti3mdy1nw13yu5JvG','w0LVy10G','CMfUzg9Tvvvjra','tM90iezVDw5K','Ahr0CdOVl2XVy2fSAg9ZDdO','l2fKza','qxnPys9tAgfUz2HHAq','Chv0','AgfZrw50Axr5','y29UC3rYDwn0B3i','zxbZ','DMvYC2LVBG','lI9KAxn0l3nLCNzLCI9PBMrLEc5KlNrZ','w0HVC3rDihnJyw4G4OAqia','BM93','zgLJDa','yxbWBgLJyxrPB24VANnVBG','DMfSDwu'];_0x10f3=function(){return _0x4fae75;};return _0x10f3();}function deletedAtColumn2(_0x3e07cb){const _0x37f5cf=_0x558e8f;return _0x3e07cb[_0x37f5cf(0x254)];}function mergeWhere2(_0x59a2b8,_0x56ea3a){if(_0x59a2b8&&_0x56ea3a)return _0x2776a2(_0x56ea3a,_0x59a2b8);return _0x59a2b8??_0x56ea3a;}function trashClause2(_0x224de0,_0xbdfdb){const _0x471dea=_0x558e8f;if(!resolveSoftDelete(_0xbdfdb?.[_0x471dea(0x2df)]))return;const _0x2c9f36=deletedAtColumn2(_0x224de0);if(_0x2c9f36==null)return;if(_0xbdfdb?.['onlyTrashed'])return _0x49cabc(_0x2c9f36);if(_0xbdfdb?.[_0x471dea(0x335)])return;return _0x2b1170(_0x2c9f36);}class Repository{[_0x558e8f(0x31d)];[_0x558e8f(0x231)];constructor(_0x1e9dc4,_0x11c0e0){const _0x1385c4=_0x558e8f;this['table']=_0x1e9dc4,this[_0x1385c4(0x231)]=_0x11c0e0??entitySchemas(_0x1e9dc4);}['supportsSoftDelete'](){const _0x1ba1e8=_0x558e8f;return deletedAtColumn2(this[_0x1ba1e8(0x31d)])!=null;}[_0x558e8f(0x2f0)](_0x54cd35,_0x11f750){const _0x27d785=_0x558e8f;return applyRowScopes(this[_0x27d785(0x31d)],mergeWhere2(_0x54cd35,trashClause2(this['table'],_0x11f750)));}async['find'](_0x44462c,_0x2e48aa){const _0x6c616f=_0x558e8f,_0x199ec8=this[_0x6c616f(0x2f0)](_0x44462c,_0x2e48aa);let _0x5c7124=db()['select']()['from'](this[_0x6c616f(0x31d)]);if(_0x199ec8)_0x5c7124=_0x5c7124[_0x6c616f(0x327)](_0x199ec8);if(_0x2e48aa?.[_0x6c616f(0x224)]?.[_0x6c616f(0x293)])_0x5c7124=_0x5c7124['orderBy'](..._0x2e48aa[_0x6c616f(0x224)]);return await _0x5c7124;}async[_0x558e8f(0x237)](_0x1dfe33,_0x55a72e){const _0x25f092=_0x558e8f,[_0x5d5cec]=await this[_0x25f092(0x1b3)](_0x1dfe33,_0x55a72e);return _0x5d5cec;}async[_0x558e8f(0x2b1)](_0x13e3e3,_0x149a3b){const _0x3d56bd=_0x558e8f;return this['findOne'](_0x3314f7(tableId(this[_0x3d56bd(0x31d)]),_0x13e3e3),_0x149a3b);}async[_0x558e8f(0x1ce)](_0x1906ed,_0x2407e4){const _0x1243e0=_0x558e8f,_0x1101e1=this['scopedWhere'](_0x1906ed,_0x2407e4),_0x30289=db()['select']({'value':_0x3bbf04()})[_0x1243e0(0x198)](this['table']),_0x2b0150=_0x1101e1?await _0x30289[_0x1243e0(0x327)](_0x1101e1):await _0x30289;return Number(_0x2b0150[0x0]?.[_0x1243e0(0x1f8)]??0x0);}async[_0x558e8f(0x1bd)](_0x11b304){const _0x1e581c=_0x558e8f,{page:_0x5ccd1d,size:_0x342fda,where:_0x1c634b,orderBy:_0x4a505c,withTrashed:_0x3f894b,onlyTrashed:_0xdadd2e,softDelete:_0x566f23}=_0x11b304,_0x4b37c6={'withTrashed':_0x3f894b,'onlyTrashed':_0xdadd2e,'softDelete':_0x566f23},_0x78bd65=this[_0x1e581c(0x2f0)](_0x1c634b,_0x4b37c6),_0x3ecd46=(_0x5ccd1d-0x1)*_0x342fda;let _0x4a7d68=db()[_0x1e581c(0x230)]()[_0x1e581c(0x198)](this[_0x1e581c(0x31d)]);if(_0x78bd65)_0x4a7d68=_0x4a7d68[_0x1e581c(0x327)](_0x78bd65);if(_0x4a505c?.[_0x1e581c(0x293)])_0x4a7d68=_0x4a7d68[_0x1e581c(0x224)](..._0x4a505c);const _0x18a3ee=await _0x4a7d68[_0x1e581c(0x269)](_0x342fda)[_0x1e581c(0x262)](_0x3ecd46),_0x26e606=await this[_0x1e581c(0x1ce)](_0x1c634b,_0x4b37c6);return{'list':_0x18a3ee,'pagination':{'page':_0x5ccd1d,'size':_0x342fda,'total':_0x26e606}};}[_0x558e8f(0x1a8)](_0x4e4683){const _0x58e266=_0x558e8f,_0x111287=stampTenantId(this[_0x58e266(0x31d)],sanitizeWritePayload(_0x4e4683));return this[_0x58e266(0x231)][_0x58e266(0x25b)][_0x58e266(0x25c)](_0x111287);}async[_0x558e8f(0x2f4)](_0x87fabf){const _0x2afce8=_0x558e8f;if(Array['isArray'](_0x87fabf)){if(!_0x87fabf[_0x2afce8(0x293)])return[];const _0x413780=_0x87fabf[_0x2afce8(0x31e)](_0x28ae9f=>this['parseInsert'](_0x28ae9f));return await db()[_0x2afce8(0x25b)](this[_0x2afce8(0x31d)])[_0x2afce8(0x2ca)](_0x413780)[_0x2afce8(0x2c4)]();}const [_0x2afc97]=await db()[_0x2afce8(0x25b)](this[_0x2afce8(0x31d)])[_0x2afce8(0x2ca)](this[_0x2afce8(0x1a8)](_0x87fabf))[_0x2afce8(0x2c4)]();return _0x2afc97;}async['save'](_0x55f4e4){const _0xe2faa0=_0x558e8f;if(Array['isArray'](_0x55f4e4)){if(!_0x55f4e4[_0xe2faa0(0x293)])return[];const _0x2bfca6=_0x55f4e4,_0x16170e=tableId(this[_0xe2faa0(0x31d)]),_0x35f4b8=_0x2bfca6['filter'](_0x27317b=>_0x27317b?.['id']!=null&&_0x27317b['id']!==''),_0x4f411e=_0x2bfca6['filter'](_0x2dfb72=>_0x2dfb72?.['id']==null||_0x2dfb72['id']==='');let _0x5378ab=new Set();if(_0x35f4b8[_0xe2faa0(0x293)]){const _0x1240ed=await this[_0xe2faa0(0x1b3)](_0x5095e3(_0x16170e,_0x35f4b8[_0xe2faa0(0x31e)](_0x5897a7=>_0x5897a7['id'])));_0x5378ab=new Set(_0x1240ed[_0xe2faa0(0x31e)](_0x5cebf0=>_0x5cebf0['id']));}const _0x16313e=[],_0xe1c9a8=[..._0x4f411e];for(const _0x5de7b6 of _0x35f4b8){if(_0x5378ab[_0xe2faa0(0x2fc)](_0x5de7b6['id']))_0x16313e[_0xe2faa0(0x2d0)](_0x5de7b6);else _0xe1c9a8[_0xe2faa0(0x2d0)](_0x5de7b6);}const _0x3aa28d=_0x16313e[_0xe2faa0(0x293)]?await this[_0xe2faa0(0x175)](_0x16313e):[],_0x593d75=_0xe1c9a8[_0xe2faa0(0x293)]?await this[_0xe2faa0(0x2f4)](_0xe1c9a8):[];return[...Array['isArray'](_0x3aa28d)?_0x3aa28d:_0x3aa28d?[_0x3aa28d]:[],...Array[_0xe2faa0(0x2dc)](_0x593d75)?_0x593d75:_0x593d75?[_0x593d75]:[]];}const _0x48d833=_0x55f4e4,_0x3651b9=_0x48d833?.['id'];if(_0x3651b9!=null&&_0x3651b9!==''){const _0x5b6796=await this[_0xe2faa0(0x2b1)](_0x3651b9);if(_0x5b6796){const {id:_0x6f0caf,..._0x1d1709}=_0x48d833,_0x385f3b=await this[_0xe2faa0(0x175)](_0x3314f7(tableId(this[_0xe2faa0(0x31d)]),_0x3651b9),_0x1d1709);return _0x385f3b??_0x5b6796;}}return await this['create'](_0x55f4e4);}async[_0x558e8f(0x175)](_0x48afe2,_0x487a5f){const _0x5e28b2=_0x558e8f;if(Array[_0x5e28b2(0x2dc)](_0x48afe2))return this[_0x5e28b2(0x190)](_0x48afe2);const _0x14d781=this[_0x5e28b2(0x231)][_0x5e28b2(0x175)][_0x5e28b2(0x25c)](sanitizeWritePayload(_0x487a5f)),_0x34f8e3=applyRowScopes(this[_0x5e28b2(0x31d)],_0x48afe2);if(!_0x34f8e3)return;const [_0x206c3d]=await db()[_0x5e28b2(0x175)](this['table'])[_0x5e28b2(0x2f7)](_0x14d781)[_0x5e28b2(0x327)](_0x34f8e3)[_0x5e28b2(0x2c4)]();return _0x206c3d;}async[_0x558e8f(0x190)](_0x145efa){const _0x22172d=_0x558e8f;if(!_0x145efa['length'])return[];const _0x5004e7=tableId(this[_0x22172d(0x31d)]),_0x4a9ff=new Map();for(const _0x3e0ccb of _0x145efa){const _0x43567b=_0x3e0ccb['id'];if(_0x43567b==null||_0x43567b==='')throw new Error(_0x22172d(0x2cc));const {id:_0x5da1df,..._0x38c85f}=_0x3e0ccb,_0x40012f=this[_0x22172d(0x231)][_0x22172d(0x175)][_0x22172d(0x25c)](sanitizeWritePayload(_0x38c85f)),_0x3ba740=JSON['stringify'](_0x40012f),_0x5de2c2=_0x4a9ff[_0x22172d(0x248)](_0x3ba740);if(_0x5de2c2)_0x5de2c2['ids'][_0x22172d(0x2d0)](_0x43567b);else _0x4a9ff[_0x22172d(0x2f7)](_0x3ba740,{'ids':[_0x43567b],'patch':_0x40012f});}const _0x288c00=[];for(const {ids:_0x5afcea,patch:_0x150bed}of _0x4a9ff[_0x22172d(0x2ca)]()){const _0x2f43e3=applyRowScopes(this[_0x22172d(0x31d)],_0x5095e3(_0x5004e7,_0x5afcea));if(!_0x2f43e3)continue;const _0x2d9e3d=await db()[_0x22172d(0x175)](this['table'])[_0x22172d(0x2f7)](_0x150bed)[_0x22172d(0x327)](_0x2f43e3)[_0x22172d(0x2c4)]();_0x288c00[_0x22172d(0x2d0)](..._0x2d9e3d);}return _0x288c00;}['resolveIdWhere'](_0x2fd26e){const _0x153bd6=_0x558e8f;if(isSqlLike(_0x2fd26e))return applyRowScopes(this['table'],_0x2fd26e);const _0x1f3c33=Array[_0x153bd6(0x2dc)](_0x2fd26e)?_0x2fd26e:[_0x2fd26e];if(!_0x1f3c33[_0x153bd6(0x293)])return;return applyRowScopes(this['table'],_0x5095e3(tableId(this[_0x153bd6(0x31d)]),_0x1f3c33));}async['softDelete'](_0x114ca2){const _0x3e2ef7=_0x558e8f;if(!this[_0x3e2ef7(0x174)]())throw new Error(_0x3e2ef7(0x2e5));const _0x21e5d1=this['resolveIdWhere'](_0x114ca2);if(!_0x21e5d1)return;await db()['update'](this[_0x3e2ef7(0x31d)])['set']({'deletedAt':new Date()})['where'](_0x21e5d1);}async[_0x558e8f(0x302)](_0x1b966b){const _0x37d3b7=_0x558e8f;if(!this['supportsSoftDelete']())throw new Error(_0x37d3b7(0x22a));const _0x87b313=this[_0x37d3b7(0x322)](_0x1b966b);if(!_0x87b313)return;await db()['update'](this[_0x37d3b7(0x31d)])['set']({'deletedAt':null})[_0x37d3b7(0x327)](_0x87b313);}async['forceDelete'](_0xe5607e){const _0x133d17=_0x558e8f,_0x35375d=this[_0x133d17(0x322)](_0xe5607e);if(!_0x35375d)return;await db()[_0x133d17(0x296)](this[_0x133d17(0x31d)])[_0x133d17(0x327)](_0x35375d);}}var repoCache=new WeakMap();function getRepository(_0x502900){const _0x439c0f=_0x558e8f,_0x238eeb=repoCache[_0x439c0f(0x248)](_0x502900);if(_0x238eeb)return _0x238eeb;const _0x344bf3=new Repository(_0x502900);return repoCache[_0x439c0f(0x2f7)](_0x502900,_0x344bf3),_0x344bf3;}function InjectRepository(_0x272737){return(_0x286997,_0x4c2bf3)=>{const _0x163834=_0x16aa;appendInjectMeta(_0x286997[_0x163834(0x1f0)],{'propertyKey':_0x4c2bf3,'resolve':()=>getRepository(_0x272737)});};}function isSql(_0x236631){const _0x250a7b=_0x558e8f;return!!_0x236631&&typeof _0x236631===_0x250a7b(0x1b1)&&_0x236631[_0x250a7b(0x2ee)]!=null;}class BaseService{[_0x558e8f(0x2ff)];[_0x558e8f(0x218)](_0x5c0618){const _0x1ac0f5=_0x558e8f;if(!this[_0x1ac0f5(0x2ff)])this['entity']=_0x5c0618;}[_0x558e8f(0x235)](_0x3a1d42){const _0x1d8d1a=_0x558e8f;this[_0x1d8d1a(0x2ff)]=_0x3a1d42;}[_0x558e8f(0x1ef)](){const _0x2f56e0=_0x558e8f;return!!this[_0x2f56e0(0x2ff)];}[_0x558e8f(0x2d7)](){const _0x4fa85a=_0x558e8f;return this[_0x4fa85a(0x32c)]();}[_0x558e8f(0x32c)](){const _0x5956db=_0x558e8f;if(!this['entity'])throw new Error(_0x5956db(0x2f1));return this[_0x5956db(0x2ff)];}async[_0x558e8f(0x246)](_0x36600e,_0x3be81e){}async[_0x558e8f(0x281)](_0xf1fd1e,_0xd0c3ba){}async[_0x558e8f(0x29f)](_0x2cc7d3,_0x1ab1ce){const _0x144087=_0x558e8f,_0x561379=resolveUpsert(_0x1ab1ce?.['upsert']),_0x4c8277=Array['isArray'](_0x2cc7d3)?_0x2cc7d3['map'](_0x1fed95=>_0x1fed95!=null&&typeof _0x1fed95==='object'?{..._0x1fed95}:_0x1fed95):_0x2cc7d3!=null&&typeof _0x2cc7d3===_0x144087(0x1b1)?{..._0x2cc7d3}:_0x2cc7d3;await this[_0x144087(0x246)](_0x4c8277,'add');const _0x35ca00=_0x561379===_0x144087(0x233)?await this[_0x144087(0x32c)]()[_0x144087(0x233)](_0x4c8277):await this[_0x144087(0x32c)]()[_0x144087(0x2f4)](_0x4c8277);return await this[_0x144087(0x281)](_0x35ca00??_0x4c8277,_0x144087(0x29f)),_0x35ca00;}async[_0x558e8f(0x175)](_0xa86c1d,_0x268ae6){const _0x890fe3=_0x558e8f;if(Array[_0x890fe3(0x2dc)](_0xa86c1d)){const _0x2993ba=_0xa86c1d[_0x890fe3(0x31e)](_0x387055=>({..._0x387055}));await this[_0x890fe3(0x246)](_0x2993ba,_0x890fe3(0x175));const _0x51ab04=await this[_0x890fe3(0x32c)]()[_0x890fe3(0x175)](_0x2993ba);return await this[_0x890fe3(0x281)](_0x51ab04??_0x2993ba,_0x890fe3(0x175)),_0x51ab04;}if(isSql(_0xa86c1d)){const _0x564cd3=_0x268ae6!=null&&typeof _0x268ae6===_0x890fe3(0x1b1)?{..._0x268ae6}:_0x268ae6;await this[_0x890fe3(0x246)](_0x564cd3,'update');const _0x20f511=await this[_0x890fe3(0x32c)]()[_0x890fe3(0x175)](_0xa86c1d,_0x564cd3);return await this[_0x890fe3(0x281)](_0x20f511??_0x564cd3,_0x890fe3(0x175)),_0x20f511;}const _0x210c4e={..._0xa86c1d};await this[_0x890fe3(0x246)](_0x210c4e,_0x890fe3(0x175));const _0x179be7=await this[_0x890fe3(0x32c)]()['update']([_0x210c4e]);return await this[_0x890fe3(0x281)](_0x179be7??_0x210c4e,_0x890fe3(0x175)),Array[_0x890fe3(0x2dc)](_0x179be7)?_0x179be7[0x0]:_0x179be7;}async['delete'](_0x1040ce,_0x4942fb){const _0x413c14=_0x558e8f,_0x1a3373=this[_0x413c14(0x32c)]();await this[_0x413c14(0x246)](_0x1040ce,_0x413c14(0x296));const _0x5cb8df=resolveSoftDelete(_0x4942fb?.[_0x413c14(0x2df)]);_0x4942fb?.[_0x413c14(0x23d)]||!_0x5cb8df||!_0x1a3373[_0x413c14(0x174)]()?await _0x1a3373[_0x413c14(0x27e)](_0x1040ce):await _0x1a3373[_0x413c14(0x2df)](_0x1040ce),await this[_0x413c14(0x281)](_0x1040ce,'delete');}[_0x558e8f(0x302)](_0x3424d0){const _0x18fd87=_0x558e8f;return this['requireEntity']()[_0x18fd87(0x302)](_0x3424d0);}[_0x558e8f(0x320)](_0x4ef188,_0x304650){const _0x4982a9=_0x558e8f;return this['requireEntity']()[_0x4982a9(0x1b3)](_0x4ef188,_0x304650);}[_0x558e8f(0x239)](_0x382a54,_0x2dc0ff){const _0x4a8d36=_0x558e8f,_0x5382fe=this[_0x4a8d36(0x32c)]();if(typeof _0x382a54===_0x4a8d36(0x1b1))return _0x5382fe[_0x4a8d36(0x237)](_0x382a54,_0x2dc0ff);return _0x5382fe['findById'](_0x382a54,_0x2dc0ff);}[_0x558e8f(0x213)](_0x1e490b={}){const _0x16de1f=_0x558e8f,_0x79e151=Math[_0x16de1f(0x18b)](0x1,_0x1e490b['page']??0x1),_0x13928b=Math[_0x16de1f(0x1fe)](0x64,Math[_0x16de1f(0x18b)](0x1,_0x1e490b[_0x16de1f(0x1d5)]??0x14));return this[_0x16de1f(0x32c)]()[_0x16de1f(0x1bd)]({'page':_0x79e151,'size':_0x13928b,'where':_0x1e490b[_0x16de1f(0x327)],'orderBy':_0x1e490b[_0x16de1f(0x224)],'withTrashed':_0x1e490b[_0x16de1f(0x335)],'onlyTrashed':_0x1e490b['onlyTrashed'],'softDelete':_0x1e490b[_0x16de1f(0x2df)]});}}var CRUD_SUMMARY={'add':'\u65B0\u589E','delete':'\u5220\u9664','update':'\u4FEE\u6539','info':'\u5355\u4E2A\u4FE1\u606F','list':_0x558e8f(0x1cd),'page':_0x558e8f(0x1b9),'restore':'\u6062\u590D'},CRUD_APIS=[_0x558e8f(0x29f),_0x558e8f(0x296),_0x558e8f(0x175),'info',_0x558e8f(0x320),_0x558e8f(0x213),'restore'],BEFORE_APIS=new Set([_0x558e8f(0x29f),_0x558e8f(0x175),_0x558e8f(0x296),'restore']);function omitProps(_0x482bbd,_0x3a40ca){if(!_0x482bbd||!_0x3a40ca?.['length'])return _0x482bbd;const _0x3f126f={..._0x482bbd};for(const _0x16ae69 of _0x3a40ca)delete _0x3f126f[_0x16ae69];return _0x3f126f;}function resolveIds(_0x6fc6df){const _0x4ce74c=_0x558e8f;if(Array[_0x4ce74c(0x2dc)](_0x6fc6df))return _0x6fc6df['map'](_0xecf8ab=>{const _0x40152c=_0x4ce74c;if(_0xecf8ab!=null&&typeof _0xecf8ab===_0x40152c(0x1b1)&&'id'in _0xecf8ab)return _0xecf8ab['id'];return _0xecf8ab;});if(_0x6fc6df&&typeof _0x6fc6df===_0x4ce74c(0x1b1)){const _0x3b809b=_0x6fc6df;if(Array[_0x4ce74c(0x2dc)](_0x3b809b[_0x4ce74c(0x2a3)]))return _0x3b809b[_0x4ce74c(0x2a3)];if(_0x3b809b['id']!=null)return[_0x3b809b['id']];}return[];}function resolveService(_0x126f0a){const _0x638fc1=_0x558e8f,_0x13d56d=_0x126f0a[_0x638fc1(0x295)],_0x155389=_0x13d56d[_0x638fc1(0x2ff)];if(_0x13d56d['service']){const _0x3ed389=Ioc[_0x638fc1(0x248)](_0x13d56d[_0x638fc1(0x277)]);if(_0x155389&&!_0x3ed389[_0x638fc1(0x1ef)]())_0x3ed389[_0x638fc1(0x235)](getRepository(_0x155389));return _0x3ed389;}if(!_0x155389)throw new Error(_0x638fc1(0x214)+_0x126f0a['token']['name']+_0x638fc1(0x211));const _0x327efb=new class extends BaseService{}();return _0x327efb[_0x638fc1(0x235)](getRepository(_0x155389)),_0x327efb;}function tableOf(_0x1dfca5,_0x142523){const _0x2b3bd6=_0x558e8f,_0x3fa2bc=_0x142523[_0x2b3bd6(0x295)]?.[_0x2b3bd6(0x2ff)];if(_0x3fa2bc)return _0x3fa2bc;return _0x1dfca5['getRepo']()['table'];}var attachCrudRoutes=(_0x249e39,_0x337ab5,_0x45f828)=>{const _0x47f00e=_0x558e8f,_0x54745=_0x337ab5[_0x47f00e(0x295)];if(!_0x54745)return _0x249e39;const _0x29dfa6=(_0x54745['api']??[])[_0x47f00e(0x1a7)](_0x3c438e=>CRUD_APIS[_0x47f00e(0x339)](_0x3c438e)),_0x1d3f46=_0x54745[_0x47f00e(0x209)]??[];if(!_0x29dfa6[_0x47f00e(0x293)]&&!_0x1d3f46['length'])return _0x249e39;const _0x3a5d1b=_0x45f828[_0x47f00e(0x2a8)]instanceof BaseController?_0x45f828[_0x47f00e(0x2a8)]:new BaseController(),_0x42ce61=_0x29dfa6[_0x47f00e(0x293)]>0x0,_0x25967f=_0x42ce61||_0x54745[_0x47f00e(0x277)]?resolveService(_0x337ab5):undefined,_0x1fab35=_0x42ce61&&_0x25967f?tableOf(_0x25967f,_0x337ab5):undefined,_0x416c16=_0x1fab35?_0x1fab35['id']:undefined;if(_0x42ce61&&_0x416c16==null)throw new Error('[CRUD]\x20'+_0x337ab5[_0x47f00e(0x2b5)][_0x47f00e(0x321)]+_0x47f00e(0x2ac));let _0x3438c3=_0x249e39;const _0x37d338=(_0x2eed08,_0x2dffa1,_0x560641,_0x18d11f)=>{const _0x30a558=_0x47f00e;_0x3438c3=_0x3438c3[_0x2eed08](_0x2dffa1,_0x18d11f,_0x45f828[_0x30a558(0x1e5)]({'action':_0x560641,'summary':CRUD_SUMMARY[_0x560641]}));},_0xa051c0=async(_0xcbb804,_0xccb796,_0x3d507b)=>{const _0x5c9151=_0x47f00e;if(!_0x54745[_0x5c9151(0x2c8)]||!BEFORE_APIS['has'](_0xcbb804))return _0xccb796;return await _0x54745['before']({'body':_0xccb796,'request':_0x3d507b,'api':_0xcbb804}),_0xccb796;};_0x29dfa6[_0x47f00e(0x339)]('add')&&_0x25967f&&_0x37d338(_0x47f00e(0x1c8),_0x47f00e(0x1ec),'add',async({body:_0x2223f7,request:_0x2ddbdc})=>{const _0x1d79e7=_0x47f00e;try{const _0x5e75b5=_0x2223f7;if(Array[_0x1d79e7(0x2dc)](_0x5e75b5)){let _0x53f7bb=_0x5e75b5;if(_0x54745[_0x1d79e7(0x2c8)]&&BEFORE_APIS['has'](_0x1d79e7(0x29f)))for(let _0x36cc14=0x0;_0x36cc14<_0x53f7bb[_0x1d79e7(0x293)];_0x36cc14++){_0x53f7bb[_0x36cc14]=await _0xa051c0(_0x1d79e7(0x29f),{..._0x53f7bb[_0x36cc14]??{}},_0x2ddbdc);}if(_0x54745[_0x1d79e7(0x1c6)]){const _0x747b09=await _0x54745[_0x1d79e7(0x1c6)]({'body':_0x53f7bb[0x0]??{},'request':_0x2ddbdc});_0x53f7bb=_0x53f7bb['map'](_0x92f9a9=>({..._0x92f9a9,..._0x747b09}));}const _0x4ca36c=await _0x25967f['add'](_0x53f7bb);return _0x3a5d1b['ok'](_0x4ca36c);}let _0x3bfe21={..._0x5e75b5??{}};_0x3bfe21=await _0xa051c0('add',_0x3bfe21,_0x2ddbdc);_0x54745[_0x1d79e7(0x1c6)]&&Object[_0x1d79e7(0x2b7)](_0x3bfe21,await _0x54745[_0x1d79e7(0x1c6)]({'body':_0x3bfe21,'request':_0x2ddbdc}));const _0x2fcf3a=await _0x25967f[_0x1d79e7(0x29f)](_0x3bfe21);return _0x3a5d1b['ok'](_0x2fcf3a);}catch(_0x3e87dd){return _0x3a5d1b['fail'](_0x3e87dd instanceof Error?_0x3e87dd[_0x1d79e7(0x250)]:_0x1d79e7(0x249));}});_0x29dfa6[_0x47f00e(0x339)]('delete')&&_0x25967f&&_0x416c16&&_0x37d338(_0x47f00e(0x1c8),_0x47f00e(0x1b5),_0x47f00e(0x296),async({body:_0x276b03,request:_0x184fcb})=>{const _0x2710f9=_0x47f00e;try{const _0x39b65b=_0x276b03,_0x323c17=Array[_0x2710f9(0x2dc)](_0x39b65b)?_0x39b65b:await _0xa051c0('delete',{..._0x39b65b??{}},_0x184fcb),_0x4ac70a=resolveIds(_0x323c17);if(!_0x4ac70a['length'])return _0x3a5d1b[_0x2710f9(0x172)](_0x2710f9(0x33d));const _0x6c5d99=!Array[_0x2710f9(0x2dc)](_0x323c17)&&!!_0x323c17['force'];return await _0x25967f[_0x2710f9(0x296)](_0x4ac70a,{'force':_0x6c5d99}),_0x3a5d1b['ok']();}catch(_0x25b5d5){return _0x3a5d1b[_0x2710f9(0x172)](_0x25b5d5 instanceof Error?_0x25b5d5['message']:_0x2710f9(0x273));}});_0x29dfa6[_0x47f00e(0x339)](_0x47f00e(0x175))&&_0x25967f&&_0x416c16&&_0x37d338(_0x47f00e(0x1c8),_0x47f00e(0x2e9),_0x47f00e(0x175),async({body:_0x213166,request:_0x6adc0d})=>{const _0x77634=_0x47f00e;try{const _0x1d5af0=_0x213166;if(Array[_0x77634(0x2dc)](_0x1d5af0)){let _0x1929e5=_0x1d5af0;if(_0x54745[_0x77634(0x2c8)]&&BEFORE_APIS[_0x77634(0x2fc)](_0x77634(0x175)))for(let _0x9f5719=0x0;_0x9f5719<_0x1929e5[_0x77634(0x293)];_0x9f5719++){_0x1929e5[_0x9f5719]=await _0xa051c0('update',{..._0x1929e5[_0x9f5719]??{}},_0x6adc0d);}const _0x35a49e=await _0x25967f[_0x77634(0x175)](_0x1929e5);return _0x3a5d1b['ok'](_0x35a49e);}const _0x48ce2e=await _0xa051c0('update',{..._0x1d5af0??{}},_0x6adc0d),_0x34901b=_0x48ce2e['id'];if(_0x34901b==null)return _0x3a5d1b[_0x77634(0x172)]('id\x20required');const _0x5e5080=await _0x25967f['update'](_0x48ce2e);return _0x3a5d1b['ok'](_0x5e5080);}catch(_0x4d8ad4){return _0x3a5d1b[_0x77634(0x172)](_0x4d8ad4 instanceof Error?_0x4d8ad4[_0x77634(0x250)]:_0x77634(0x27c));}});_0x29dfa6[_0x47f00e(0x339)](_0x47f00e(0x239))&&_0x25967f&&_0x37d338('get',_0x47f00e(0x25d),_0x47f00e(0x239),async({query:_0x4c0d09})=>{const _0x13bbb0=_0x47f00e;try{const _0x4c0854=_0x4c0d09?.['id'];if(_0x4c0854==null||_0x4c0854==='')return _0x3a5d1b[_0x13bbb0(0x172)](_0x13bbb0(0x2d5));const _0x41f9b5=await _0x25967f['info'](_0x4c0854);return _0x3a5d1b['ok'](omitProps(_0x41f9b5,_0x54745['infoIgnoreProperty']));}catch(_0xc510d7){return _0x3a5d1b[_0x13bbb0(0x172)](_0xc510d7 instanceof Error?_0xc510d7['message']:'info\x20failed');}});_0x29dfa6[_0x47f00e(0x339)](_0x47f00e(0x320))&&_0x25967f&&_0x1fab35&&_0x37d338(_0x47f00e(0x1c8),_0x47f00e(0x1b6),_0x47f00e(0x320),async({body:_0x3c7fe0,request:_0x3922d5})=>{const _0x438c9f=_0x47f00e;try{const _0x56131f=_0x3c7fe0??{},_0x4381de=_0x54745[_0x438c9f(0x276)]??{},_0x4eb3a0={'onlyTrashed':_0x56131f[_0x438c9f(0x20e)]===!![],'withTrashed':_0x56131f['withTrashed']===!![]};if(needsAdvancedQuery(_0x4381de)){const _0x1d4830=await queryWithOp(_0x1fab35,_0x56131f,_0x4381de,{'request':_0x3922d5,'mode':'list','trash':_0x4eb3a0});return _0x3a5d1b['ok'](_0x1d4830);}const {where:_0x107812,orderBySql:_0x11444c}=await buildQueryOp(_0x1fab35,_0x56131f,_0x4381de,_0x3922d5),_0x2ca3df=await _0x25967f[_0x438c9f(0x320)](_0x107812,{'orderBy':_0x11444c,..._0x4eb3a0});return _0x3a5d1b['ok'](_0x2ca3df);}catch(_0x159adf){return _0x3a5d1b[_0x438c9f(0x172)](_0x159adf instanceof Error?_0x159adf[_0x438c9f(0x250)]:_0x438c9f(0x23f));}});_0x29dfa6[_0x47f00e(0x339)]('page')&&_0x25967f&&_0x1fab35&&_0x37d338('post','/page',_0x47f00e(0x213),async({body:_0x371cb0,request:_0x33dbf9})=>{const _0x4168c5=_0x47f00e;try{const _0x1805d0=_0x371cb0??{},_0x3515fe=_0x54745[_0x4168c5(0x2a4)]??{},_0x377611={'onlyTrashed':_0x1805d0[_0x4168c5(0x20e)]===!![],'withTrashed':_0x1805d0[_0x4168c5(0x335)]===!![]};if(needsAdvancedQuery(_0x3515fe)){const _0x478361=await queryWithOp(_0x1fab35,_0x1805d0,_0x3515fe,{'request':_0x33dbf9,'mode':'page','trash':_0x377611});return _0x3a5d1b['ok'](_0x478361);}const {where:_0x21caaa,orderBySql:_0x407a4d}=await buildQueryOp(_0x1fab35,_0x1805d0,_0x3515fe,_0x33dbf9),_0x5f1f7=await _0x25967f[_0x4168c5(0x213)]({'page':Number(_0x1805d0[_0x4168c5(0x213)]??0x1),'size':Number(_0x1805d0['size']??0x14),'where':_0x21caaa,'orderBy':_0x407a4d,..._0x377611});return _0x3a5d1b['ok'](_0x5f1f7);}catch(_0x5cb514){return _0x3a5d1b[_0x4168c5(0x172)](_0x5cb514 instanceof Error?_0x5cb514['message']:_0x4168c5(0x27d));}});_0x29dfa6['includes'](_0x47f00e(0x302))&&_0x25967f&&_0x416c16&&_0x37d338(_0x47f00e(0x1c8),_0x47f00e(0x2f3),_0x47f00e(0x302),async({body:_0x316463,request:_0x453de3})=>{const _0x3d20ce=_0x47f00e;try{const _0x7a250e=_0x316463,_0x579bcc=Array[_0x3d20ce(0x2dc)](_0x7a250e)?_0x7a250e:await _0xa051c0(_0x3d20ce(0x302),{..._0x7a250e??{}},_0x453de3),_0x6b1fa4=resolveIds(_0x579bcc);if(!_0x6b1fa4[_0x3d20ce(0x293)])return _0x3a5d1b[_0x3d20ce(0x172)](_0x3d20ce(0x33d));return await _0x25967f['restore'](_0x6b1fa4),_0x3a5d1b['ok']();}catch(_0x48764a){return _0x3a5d1b[_0x3d20ce(0x172)](_0x48764a instanceof Error?_0x48764a[_0x3d20ce(0x250)]:_0x3d20ce(0x2d2));}});if(_0x1d3f46[_0x47f00e(0x293)]){if(!_0x54745[_0x47f00e(0x277)])throw new Error(_0x47f00e(0x214)+_0x337ab5['token'][_0x47f00e(0x321)]+_0x47f00e(0x1e3));const _0x15b40=Ioc['get'](_0x54745['service']);for(const _0x211a87 of _0x1d3f46){const _0x2da821=_0x15b40[_0x211a87];if(typeof _0x2da821!==_0x47f00e(0x20b))throw new Error('[CRUD]\x20'+_0x54745[_0x47f00e(0x277)]['name']+'.'+_0x211a87+_0x47f00e(0x2c7));const _0xa6102c=_0x2da821[_0x47f00e(0x299)](_0x15b40);_0x37d338('post','/'+_0x211a87,_0x211a87,async({body:_0x59a805})=>{const _0x4d3993=_0x47f00e;try{const _0x2f3bc7=await _0xa6102c(_0x59a805);return _0x3a5d1b['ok'](_0x2f3bc7);}catch(_0x41dd51){return _0x3a5d1b[_0x4d3993(0x172)](_0x41dd51 instanceof Error?_0x41dd51['message']:_0x211a87+'\x20failed');}});}}return _0x3438c3;};import{join as _0x57c0bb}from'path';import{pathToFileURL as _0x8af44}from'url';var SERVICE_PATTERN=_0x558e8f(0x286),CONTROLLER_SCANS=[{'pattern':_0x558e8f(0x1a1),'side':_0x558e8f(0x2a7)},{'pattern':'**/modules/*/controller/app/**/*.ts','side':_0x558e8f(0x1da)}];async function importWithContext(_0x4dedb5,_0x55ed86,_0x1d4d3e){const _0x2dc0b4=_0x558e8f;setControllerScanContext({'module':parseModuleFromPath(_0x55ed86),'side':_0x1d4d3e,'file':_0x55ed86});try{const _0x3c2e15=_0x8af44(_0x57c0bb(_0x4dedb5,_0x55ed86))[_0x2dc0b4(0x194)];await import(_0x3c2e15);}finally{setControllerScanContext(null);}}async function scanHost(){const _0x4381c6=_0x558e8f,_0x5edd79=process['cwd'](),_0x4bda38=await scanFiles(SERVICE_PATTERN,{'cwd':_0x5edd79});for(const _0x5c95ee of _0x4bda38){const _0x454966=_0x8af44(_0x57c0bb(_0x5edd79,_0x5c95ee))[_0x4381c6(0x194)];await import(_0x454966);}let _0x14282e=0x0;for(const {pattern:_0x17adcb,side:_0x328a16}of CONTROLLER_SCANS){const _0x3b3d04=await scanFiles(_0x17adcb,{'cwd':_0x5edd79});_0x14282e+=_0x3b3d04[_0x4381c6(0x293)];for(const _0x17aafb of _0x3b3d04){await importWithContext(_0x5edd79,_0x17aafb,_0x328a16);}}setCrudRegistrar(attachCrudRoutes),console[_0x4381c6(0x21a)](_0x4381c6(0x2c5)),console[_0x4381c6(0x21a)](_0x4381c6(0x1f4)+_0x4bda38[_0x4381c6(0x293)]+'\x20service,\x20'+_0x14282e+'\x20controller\x20file(s)');}import{join as _0x5b7b42}from'path';import{createPinoLogger}from'@bogeychan/elysia-logger';import _0x5917fe from'pino-pretty';import{createWriteStream,mkdirSync,readdirSync,unlinkSync}from'fs';import{join as _0x30340c}from'path';import{Writable}from'stream';var FILE_PATTERN=/^(\d{4}-\d{2}-\d{2})\.log$/;function formatLocalDate(_0x27dcd1=new Date()){const _0x30a73c=_0x558e8f,_0x589b62=_0x27dcd1[_0x30a73c(0x200)](),_0x1e7856=String(_0x27dcd1['getMonth']()+0x1)[_0x30a73c(0x18d)](0x2,'0'),_0x5873ee=String(_0x27dcd1[_0x30a73c(0x20a)]())['padStart'](0x2,'0');return _0x589b62+'-'+_0x1e7856+'-'+_0x5873ee;}function purgeOldLogs(_0x1d5dac,_0x444bcf){const _0xd0e56e=_0x558e8f,_0x187270=new Date();_0x187270[_0xd0e56e(0x253)](_0x187270[_0xd0e56e(0x20a)]()-_0x444bcf);const _0xde53f6=formatLocalDate(_0x187270);for(const _0x33f8c0 of readdirSync(_0x1d5dac)){const _0x4eee35=_0x33f8c0[_0xd0e56e(0x1e1)](FILE_PATTERN);if(!_0x4eee35||_0x4eee35[0x1]>=_0xde53f6)continue;unlinkSync(_0x30340c(_0x1d5dac,_0x33f8c0));}}function openDailyStream(_0x2ed28e,_0x120583){const _0xd43586=_0x558e8f;return createWriteStream(_0x30340c(_0x2ed28e,_0x120583+_0xd43586(0x29c)),{'flags':'a'});}function createDailyLogStream(_0xeaf698,_0x464ce8=0x1e){mkdirSync(_0xeaf698,{'recursive':!![]}),purgeOldLogs(_0xeaf698,_0x464ce8);let _0x5c6941=formatLocalDate(),_0x538c5e=openDailyStream(_0xeaf698,_0x5c6941);return new Writable({'write'(_0x3d2d20,_0x148458,_0x4d541a){const _0x28389e=formatLocalDate();_0x28389e!==_0x5c6941&&(_0x538c5e['end'](),_0x5c6941=_0x28389e,_0x538c5e=openDailyStream(_0xeaf698,_0x5c6941),purgeOldLogs(_0xeaf698,_0x464ce8)),_0x538c5e['write'](_0x3d2d20,_0x4d541a);},'final'(_0x4641b5){const _0x4421d3=_0x16aa;_0x538c5e[_0x4421d3(0x205)](_0x4641b5);}});}var pinoInstance;function buildPino(){const _0x4a2b25=_0x558e8f,_0x2860ad=VomeConfig[_0x4a2b25(0x1cb)]??{},_0xba2dfc=_0x2860ad[_0x4a2b25(0x1ae)]??_0x4a2b25(0x239);if(_0x2860ad[_0x4a2b25(0x2ab)]===_0x4a2b25(0x16e)){const _0x5c6ae2=_0x5b7b42(process[_0x4a2b25(0x1cc)](),_0x2860ad[_0x4a2b25(0x207)]??_0x4a2b25(0x1cb)),_0x22ec05=_0x2860ad['maxDays']??0x1e;return createPinoLogger({'level':_0xba2dfc,'stream':createDailyLogStream(_0x5c6ae2,_0x22ec05)});}return createPinoLogger({'level':_0xba2dfc,'stream':_0x5917fe({'colorize':!![],'translateTime':_0x4a2b25(0x183),'ignore':'pid,hostname'})});}function getPinoLogger(){if(!pinoInstance)pinoInstance=buildPino();return pinoInstance;}function resetPinoLogger(){pinoInstance=undefined;}class Logger{[_0x558e8f(0x239)](_0x19f047,..._0xf38ada){const _0x142a0e=_0x558e8f,_0x2bba70=getPinoLogger();if(_0xf38ada[_0x142a0e(0x293)])_0x2bba70[_0x142a0e(0x239)]({'args':_0xf38ada},_0x19f047);else _0x2bba70[_0x142a0e(0x239)](_0x19f047);}['warn'](_0x2c5c17,..._0x2e19f9){const _0x1cde01=_0x558e8f,_0x3fa310=getPinoLogger();if(_0x2e19f9['length'])_0x3fa310['warn']({'args':_0x2e19f9},_0x2c5c17);else _0x3fa310[_0x1cde01(0x256)](_0x2c5c17);}['debug'](_0x1e18fa,..._0x4d2b01){const _0x2a139f=_0x558e8f,_0xc40e11=getPinoLogger();if(_0x4d2b01[_0x2a139f(0x293)])_0xc40e11[_0x2a139f(0x164)]({'args':_0x4d2b01},_0x1e18fa);else _0xc40e11[_0x2a139f(0x164)](_0x1e18fa);}[_0x558e8f(0x193)](_0x326daf,..._0x3f5489){const _0x58a162=_0x558e8f,_0x5b5dd6=getPinoLogger();if(_0x326daf instanceof Error){_0x5b5dd6[_0x58a162(0x193)](_0x326daf);return;}if(_0x3f5489[0x0]instanceof Error){_0x5b5dd6['error'](_0x3f5489[0x0],_0x326daf);return;}if(_0x3f5489[_0x58a162(0x293)])_0x5b5dd6[_0x58a162(0x193)]({'args':_0x3f5489},_0x326daf);else _0x5b5dd6[_0x58a162(0x193)](_0x326daf);}}class CommException extends Error{[_0x558e8f(0x168)];[_0x558e8f(0x1e4)];constructor(_0x34c693,_0x24f04e){const _0x68da16=_0x558e8f;super(_0x34c693),this[_0x68da16(0x321)]='CommException',this[_0x68da16(0x168)]=_0x24f04e?.[_0x68da16(0x168)]??0xc8,this[_0x68da16(0x1e4)]=_0x24f04e?.[_0x68da16(0x1e4)]??RES_CODE[_0x68da16(0x2cf)];}}function isCommException(_0x5b1d3c){return _0x5b1d3c instanceof CommException;}function bootstrapLogger(){const _0x22e38d=_0x558e8f;getPinoLogger(),Ioc[_0x22e38d(0x2f7)](Logger,new Logger());}var VOME_BANNER=_0x558e8f(0x2a5);function resetViewport(){const _0x3f3a9a=_0x558e8f;if(!process[_0x3f3a9a(0x2da)][_0x3f3a9a(0x1d0)])return;process[_0x3f3a9a(0x2da)][_0x3f3a9a(0x1c1)](_0x3f3a9a(0x332));}function printStartupBanner(){const _0x27fc59=_0x558e8f;resetViewport();const _0x88042a=getEnv(),_0x4fb2af=VomeConfig[_0x27fc59(0x1b8)]?.[_0x27fc59(0x1d9)]??0xbb9,_0xd63a75=VomeConfig[_0x27fc59(0x234)]?.[_0x27fc59(0x215)]??_0x27fc59(0x2ae),_0x1ff153=_0x27fc59(0x1eb)+_0x4fb2af;console[_0x27fc59(0x21a)](VOME_BANNER),console[_0x27fc59(0x21a)](_0x27fc59(0x178)+_0x88042a),_0x88042a==='dev'&&(console['log'](_0x27fc59(0x2e8)+_0x1ff153),console[_0x27fc59(0x21a)]('📚\x20API文档:\x20'+_0x1ff153+(_0xd63a75[_0x27fc59(0x2f2)]('/')?_0xd63a75:'/'+_0xd63a75)));}import{access}from'fs/promises';import{join as _0x516c3e}from'path';import{pathToFileURL as _0xfff9db}from'url';async function exists(_0x4ce6fa){try{return await access(_0x4ce6fa),!![];}catch{return![];}}async function importHostModule(_0x37dfee){const _0x58a1db=_0x558e8f,_0x521d6f=_0x516c3e(process[_0x58a1db(0x1cc)](),_0x37dfee);if(!await exists(_0x521d6f)){console['warn']('[Host]\x20skip\x20←\x20missing\x20'+_0x37dfee);return;}return await import(_0xfff9db(_0x521d6f)[_0x58a1db(0x194)]);}async function bootstrapHostInfra(){const _0x1de688=_0x558e8f,_0x3ace9b=await importHostModule('src/lib/db/index.ts');if(_0x3ace9b?.['Db']?.[_0x1de688(0x2f5)])await _0x3ace9b['Db']['bootstrap']();const _0x16c01c=await importHostModule('src/lib/cache/index.ts');if(_0x16c01c?.[_0x1de688(0x23a)]?.[_0x1de688(0x2f5)])await _0x16c01c[_0x1de688(0x23a)]['bootstrap']();const _0x7e827e=await importHostModule('src/lib/auth/index.ts');if(_0x7e827e?.['Auth']?.[_0x1de688(0x2f5)])await _0x7e827e[_0x1de688(0x204)][_0x1de688(0x2f5)]();}async function bootstrapHostTasks(){const _0x4585e7=_0x558e8f,_0xf73abb=await importHostModule(_0x4585e7(0x2d4));if(_0xf73abb?.['Task']?.[_0x4585e7(0x2f5)])await _0xf73abb[_0x4585e7(0x1e6)][_0x4585e7(0x2f5)]();}async function bootstrapHostPlugins(){const _0x188f1e=_0x558e8f,_0xfb03be=await importHostModule(_0x188f1e(0x268));if(_0xfb03be?.[_0x188f1e(0x238)]?.['bootstrap'])await _0xfb03be[_0x188f1e(0x238)][_0x188f1e(0x2f5)]();}async function bootstrapHostModules(){const _0x4d67ac=_0x558e8f,_0x30b851=await importHostModule(_0x4d67ac(0x2fb));if(_0x30b851?.[_0x4d67ac(0x285)]?.[_0x4d67ac(0x2f5)])await _0x30b851['Module']['bootstrap']();}async function shutdownHostTasks(){const _0x50ad05=_0x558e8f,_0x3bef9f=await importHostModule(_0x50ad05(0x2d4));if(_0x3bef9f?.[_0x50ad05(0x1e6)]?.[_0x50ad05(0x186)])await _0x3bef9f[_0x50ad05(0x1e6)][_0x50ad05(0x186)]();}async function shutdownHostInfra(){const _0x250194=_0x558e8f,_0xf89d4=await importHostModule('src/lib/cache/index.ts');if(_0xf89d4?.[_0x250194(0x23a)]?.[_0x250194(0x186)])await _0xf89d4[_0x250194(0x23a)]['close']();const _0x156080=await importHostModule('src/lib/db/index.ts');if(_0x156080?.['Db']?.[_0x250194(0x186)])await _0x156080['Db']['close']();}async function applyHostAuthMiddleware(_0x1d068a){const _0x137513=_0x558e8f,_0x476077=await importHostModule(_0x137513(0x1c4));if(!_0x476077)return _0x1d068a;let _0x433935=_0x1d068a;if(_0x476077[_0x137513(0x289)])_0x433935=_0x433935[_0x137513(0x19d)](_0x476077['webAuth']);if(_0x476077['adminAuth'])_0x433935=_0x433935[_0x137513(0x19d)](_0x476077['adminAuth']);if(_0x476077[_0x137513(0x32e)])_0x433935=_0x433935[_0x137513(0x19d)](_0x476077[_0x137513(0x32e)]);if(_0x476077[_0x137513(0x26d)])_0x433935=_0x433935[_0x137513(0x19d)](_0x476077[_0x137513(0x26d)]);if(_0x476077[_0x137513(0x1db)])_0x433935=_0x433935[_0x137513(0x19d)](_0x476077[_0x137513(0x1db)]);return _0x433935;}function applyAsyncContext(_0x3cdb7f){const _0x5b4d8a=_0x558e8f,_0xb5b0db=VomeConfig[_0x5b4d8a(0x30f)]??{};if(!_0xb5b0db[_0x5b4d8a(0x2fe)])return _0x3cdb7f;return _0x3cdb7f[_0x5b4d8a(0x243)](({request:_0x3a4810})=>{enterContextWith(initContextFromRequest(_0x3a4810));});}function applyErrorHandler(_0x5ee88c){const _0x50abc5=_0x558e8f;return _0x5ee88c[_0x50abc5(0x1d7)](({error:_0x3a1dfe,set:_0x521564,code:_0x444235})=>{const _0x13f1b9=_0x50abc5,_0x1a4bfb=getPinoLogger();if(isCommException(_0x3a1dfe))return _0x1a4bfb[_0x13f1b9(0x193)]({'code':_0x3a1dfe[_0x13f1b9(0x1e4)]},_0x3a1dfe[_0x13f1b9(0x250)]),_0x521564[_0x13f1b9(0x21d)]=_0x3a1dfe['statusCode'],{'code':_0x3a1dfe[_0x13f1b9(0x1e4)],'message':_0x3a1dfe['message']};if(_0x444235===_0x13f1b9(0x279)){const _0x5adf84=_0x3a1dfe instanceof Error?_0x3a1dfe[_0x13f1b9(0x250)]:_0x13f1b9(0x216);return _0x1a4bfb['error']({'code':_0x444235},_0x5adf84),_0x521564[_0x13f1b9(0x21d)]=0x1a6,{'code':RES_CODE[_0x13f1b9(0x2cf)],'message':_0x5adf84};}if(_0x444235===_0x13f1b9(0x221))return _0x521564[_0x13f1b9(0x21d)]=0x194,{'code':RES_CODE[_0x13f1b9(0x2cf)],'message':'not\x20found'};const _0x150490=_0x3a1dfe instanceof Error?_0x3a1dfe:new Error(String(_0x3a1dfe));return _0x1a4bfb[_0x13f1b9(0x193)](_0x150490),_0x521564[_0x13f1b9(0x21d)]=0x1f4,{'code':RES_CODE['ERROR'],'message':getEnv()==='dev'?_0x150490[_0x13f1b9(0x250)]:'internal\x20server\x20error'};});}function _0x16aa(_0x4abf78,_0x59747a){_0x4abf78=_0x4abf78-0x163;const _0x10f327=_0x10f3();let _0x16aa4=_0x10f327[_0x4abf78];if(_0x16aa['WJsusi']===undefined){var _0x2d92a5=function(_0x4f7139){const _0x46b53c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19be4e='',_0x4e7f47='';for(let _0x1f31d0=0x0,_0x1cd4c,_0xda578d,_0x44764e=0x0;_0xda578d=_0x4f7139['charAt'](_0x44764e++);~_0xda578d&&(_0x1cd4c=_0x1f31d0%0x4?_0x1cd4c*0x40+_0xda578d:_0xda578d,_0x1f31d0++%0x4)?_0x19be4e+=String['fromCharCode'](0xff&_0x1cd4c>>(-0x2*_0x1f31d0&0x6)):0x0){_0xda578d=_0x46b53c['indexOf'](_0xda578d);}for(let _0x6892bb=0x0,_0x3d534a=_0x19be4e['length'];_0x6892bb<_0x3d534a;_0x6892bb++){_0x4e7f47+='%'+('00'+_0x19be4e['charCodeAt'](_0x6892bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e7f47);};_0x16aa['xbQvlV']=_0x2d92a5,_0x16aa['mhUcNx']={},_0x16aa['WJsusi']=!![];}const _0x37df59=_0x10f327[0x0],_0x54460a=_0x4abf78+_0x37df59,_0x2751e0=_0x16aa['mhUcNx'][_0x54460a];return!_0x2751e0?(_0x16aa4=_0x16aa['xbQvlV'](_0x16aa4),_0x16aa['mhUcNx'][_0x54460a]=_0x16aa4):_0x16aa4=_0x2751e0,_0x16aa4;}function applyLogging(_0x42a87e){const _0x3a5698=_0x558e8f,_0x49a0bc=getPinoLogger();return _0x42a87e[_0x3a5698(0x19d)](_0x49a0bc[_0x3a5698(0x2b4)]({'autoLogging':{'ignore':_0x1ba052=>Boolean(_0x1ba052[_0x3a5698(0x313)])}}));}import{openapi}from'@elysiajs/openapi';function applyOpenapi(_0x56669a){const _0x2dbf3a=_0x558e8f,_0x22a464=VomeConfig[_0x2dbf3a(0x234)]??{'enable':![]};if(_0x22a464[_0x2dbf3a(0x2fe)]===![])return _0x56669a;const _0xe8c69f=_0x22a464[_0x2dbf3a(0x215)]??_0x2dbf3a(0x2ae),{tags:_0x49fdf7,tagGroups:_0x5a468e}=buildOpenApiTagDocs(),_0x23cfad=_0x22a464[_0x2dbf3a(0x318)]??{},_0x31127f=_0x22a464[_0x2dbf3a(0x19e)]??{};return _0x56669a['use'](openapi({'path':_0xe8c69f,'documentation':{..._0x23cfad,'tags':[..._0x23cfad[_0x2dbf3a(0x294)]??[],..._0x49fdf7],'x-tagGroups':_0x5a468e},'scalar':{..._0x31127f,'layout':_0x31127f[_0x2dbf3a(0x176)]??_0x2dbf3a(0x32a),'operationTitleSource':_0x31127f[_0x2dbf3a(0x29e)]??_0x2dbf3a(0x311)}}));}var app,started=![],signalsRegistered=![],hostScanned=![],bootstrapHooks=[],shutdownHooks=[],usePlugins=[];async function ensureHostScanned(){if(hostScanned)return;hostScanned=!![],await scanHost();}function createApp(){return applyAsyncContext(applyErrorHandler(applyLogging(new _0x19be4e())));}function bootstrap(_0x12860a){const _0x6a26c2=_0x558e8f;bootstrapHooks[_0x6a26c2(0x2d0)](_0x12860a);}function shutdown(_0x49e0fc){shutdownHooks['push'](_0x49e0fc);}function use(_0x23b0b5){usePlugins['push'](_0x23b0b5);}async function start(){const _0x3c4428=_0x558e8f;if(started)throw new Error(_0x3c4428(0x208));let _0x3bc5e9=createApp();_0x3bc5e9=await applyHostAuthMiddleware(_0x3bc5e9);for(const _0x145099 of usePlugins){_0x3bc5e9=_0x145099(_0x3bc5e9);}await ensureHostScanned(),_0x3bc5e9=applyOpenapi(_0x3bc5e9),await bootstrapHostInfra();for(const _0x40a133 of bootstrapHooks)await _0x40a133();bootstrapLogger(),bootstrapIoc(),await bootstrapHostPlugins(),await bootstrapHostModules(),await bootstrapHostTasks(),_0x3bc5e9=registerControllers(_0x3bc5e9,VomeConfig);const _0x8f3ec4=VomeConfig[_0x3c4428(0x1b8)]?.['port']??0xbb9;return _0x3bc5e9['listen'](_0x8f3ec4),app=_0x3bc5e9,started=!![],printStartupBanner(),registerShutdownSignals(),app;}async function stop(){const _0x583f49=_0x558e8f;if(!app)return;for(const _0x29fdda of shutdownHooks)await _0x29fdda();await shutdownHostTasks(),await shutdownHostInfra(),await app[_0x583f49(0x264)](),app=undefined,started=![],hostScanned=![],resetIoc(),resetPinoLogger(),setCrudRegistrar(undefined),signalsRegistered=![];}function registerShutdownSignals(){const _0x573e29=_0x558e8f;if(signalsRegistered)return;signalsRegistered=!![];for(const _0x43fba7 of[_0x573e29(0x27b),'SIGTERM']){process['once'](_0x43fba7,async()=>{await stop(),process['exit'](0x0);});}}var App={'bootstrap':bootstrap,'shutdown':shutdown,'use':use,'start':start,'stop':stop};async function vome(_0x76de19){const _0x10d1ac=_0x558e8f;if(_0x76de19)await _0x76de19({'App':App});return App[_0x10d1ac(0x30e)]();}import{getTableColumns as _0x13cef2,getTableName as _0x260df5}from'drizzle-orm';import{getTableColumns as _0x30e34a,getTableName}from'drizzle-orm';import{integer,serial,timestamp}from'drizzle-orm/pg-core';var baseColumns={'id':serial('id')[_0x558e8f(0x2b6)](),'createTime':timestamp(_0x558e8f(0x259),{'withTimezone':!![]})['notNull']()[_0x558e8f(0x251)](),'updateTime':timestamp(_0x558e8f(0x2ba),{'withTimezone':!![]})[_0x558e8f(0x2b3)]()['defaultNow']()['$onUpdate'](()=>new Date()),'deletedAt':timestamp('deletedAt',{'withTimezone':!![]}),'tenantId':integer(_0x558e8f(0x18a))},BASE_COLUMN_COMMENTS={'id':'ID','createTime':_0x558e8f(0x1d4),'updateTime':_0x558e8f(0x304),'deletedAt':_0x558e8f(0x2d6),'tenantId':'\u79DF\u6237'},registry=new WeakMap(),tables=new Set();function columnComments(_0x59e9f3,_0x3cf889={}){const _0x492426=_0x558e8f;return tables['add'](_0x59e9f3),registry[_0x492426(0x2f7)](_0x59e9f3,{...BASE_COLUMN_COMMENTS,...registry[_0x492426(0x248)](_0x59e9f3)||{},..._0x3cf889}),_0x59e9f3;}function getColumnComments(_0x56cedd){const _0x38df23=_0x558e8f;return registry[_0x38df23(0x248)](_0x56cedd)||{};}function listColumnCommentTables(){return[...tables];}function quoteIdent(_0x2f0261){const _0x45dfeb=_0x558e8f;if(!/^[A-Za-z_][A-Za-z0-9_]*$/[_0x45dfeb(0x274)](_0x2f0261))throw new Error(_0x45dfeb(0x240)+_0x2f0261);return'\x22'+_0x2f0261+'\x22';}function escapeLiteral(_0x54e214){const _0x546ad2=_0x558e8f;return _0x54e214[_0x546ad2(0x326)](/'/g,'\x27\x27');}async function syncColumnCommentsToPg(_0x2443bc){const _0x5ec8b2=_0x558e8f,_0x1c3104=listColumnCommentTables();if(!_0x1c3104[_0x5ec8b2(0x293)])return 0x0;const _0x503919=new Map(),_0x7810f8=[];for(const _0x5d2340 of _0x1c3104){let _0x380fe7;try{_0x380fe7=getTableName(_0x5d2340);}catch{continue;}const _0x36b86f=_0x30e34a(_0x5d2340),_0x407939=getColumnComments(_0x5d2340),_0x50bf50=new Map();for(const [_0x3c9cac,_0xca9ce0]of Object[_0x5ec8b2(0x2e7)](_0x407939)){if(!_0xca9ce0||!(_0x3c9cac in _0x36b86f))continue;_0x50bf50[_0x5ec8b2(0x2f7)](_0x3c9cac,_0xca9ce0);}if(!_0x50bf50[_0x5ec8b2(0x1d5)])continue;_0x503919['set'](_0x380fe7,_0x50bf50),_0x7810f8[_0x5ec8b2(0x2d0)](_0x380fe7);}if(!_0x7810f8[_0x5ec8b2(0x293)])return 0x0;const _0x1b5969=_0x7810f8[_0x5ec8b2(0x31e)](_0x510a58=>'\x27'+escapeLiteral(_0x510a58)+'\x27')[_0x5ec8b2(0x245)](','),_0x209056=await _0x2443bc['unsafe']('\x0a\x20\x20\x20\x20SELECT\x0a\x20\x20\x20\x20\x20\x20c.relname\x20AS\x20table_name,\x0a\x20\x20\x20\x20\x20\x20a.attname\x20AS\x20column_name,\x0a\x20\x20\x20\x20\x20\x20col_description(a.attrelid,\x20a.attnum)\x20AS\x20comment\x0a\x20\x20\x20\x20FROM\x20pg_catalog.pg_class\x20c\x0a\x20\x20\x20\x20JOIN\x20pg_catalog.pg_namespace\x20n\x20ON\x20n.oid\x20=\x20c.relnamespace\x0a\x20\x20\x20\x20JOIN\x20pg_catalog.pg_attribute\x20a\x20ON\x20a.attrelid\x20=\x20c.oid\x0a\x20\x20\x20\x20WHERE\x20c.relkind\x20=\x20\x27r\x27\x0a\x20\x20\x20\x20\x20\x20AND\x20n.nspname\x20=\x20current_schema()\x0a\x20\x20\x20\x20\x20\x20AND\x20a.attnum\x20>\x200\x0a\x20\x20\x20\x20\x20\x20AND\x20NOT\x20a.attisdropped\x0a\x20\x20\x20\x20\x20\x20AND\x20c.relname\x20IN\x20('+_0x1b5969+_0x5ec8b2(0x28f)),_0x523c5c=new Map();for(const _0x4307cd of _0x209056||[]){if(!_0x4307cd[_0x5ec8b2(0x17f)]||!_0x4307cd[_0x5ec8b2(0x1cf)])continue;_0x523c5c['set'](_0x4307cd['table_name']+'.'+_0x4307cd[_0x5ec8b2(0x1cf)],_0x4307cd[_0x5ec8b2(0x317)]??null);}let _0x84c25d=0x0;for(const [_0x3e65a9,_0x27948e]of _0x503919){for(const [_0x23c532,_0x44150f]of _0x27948e){const _0x54a4f9=_0x3e65a9+'.'+_0x23c532,_0x18887f=_0x523c5c[_0x5ec8b2(0x248)](_0x54a4f9);if(_0x18887f===_0x44150f)continue;await _0x2443bc[_0x5ec8b2(0x18c)](_0x5ec8b2(0x282)+quoteIdent(_0x3e65a9)+'.'+quoteIdent(_0x23c532)+'\x20IS\x20\x27'+escapeLiteral(_0x44150f)+'\x27'),_0x84c25d++;}}return _0x84c25d;}var SIDE_PREFIX2={'admin':'/admin','app':_0x558e8f(0x18e)};function getSidePrefix2(_0x107c7b){return normalizePrefix(SIDE_PREFIX2[_0x107c7b]);}function lastSegment(_0x419731){const _0x439914=_0x558e8f,_0x4f15c0=_0x419731[_0x439914(0x326)](/^\/+|\/+$/g,'')['split']('/');return _0x4f15c0[_0x4f15c0['length']-0x1]||_0x419731||_0x439914(0x2c6);}function toPascalEntityName(_0x34522c){const _0x3cf778=_0x558e8f;return _0x34522c['split']('_')[_0x3cf778(0x1a7)](Boolean)['map'](_0x34ffde=>_0x34ffde[_0x3cf778(0x18f)](0x0)[_0x3cf778(0x206)]()+_0x34ffde['slice'](0x1))['join']('')+_0x3cf778(0x30c);}function withAlias(_0x9069d4){const _0x489aef=_0x558e8f;if(!_0x9069d4?.[_0x489aef(0x293)])return[];return _0x9069d4[_0x489aef(0x31e)](_0x17f358=>{const _0x3de207=_0x489aef;if(typeof _0x17f358!==_0x3de207(0x222)){const _0x4a14de=_0x17f358[_0x3de207(0x1d1)];return{..._0x17f358,'column':_0x4a14de[_0x3de207(0x339)]('.')?_0x4a14de:'a.'+_0x4a14de};}return _0x17f358['includes']('.')?_0x17f358:'a.'+_0x17f358;});}function normalizePageQueryOp(_0x34d51f){const _0x3c2357=_0x558e8f;return{'keyWordLikeFields':withAlias(_0x34d51f?.['keyWordLikeFields']),'fieldEq':withAlias(_0x34d51f?.['fieldEq']),'fieldLike':withAlias(_0x34d51f?.[_0x3c2357(0x225)]),'fieldArray':withAlias(_0x34d51f?.['fieldArray']),'fieldRange':(_0x34d51f?.['fieldRange']??[])[_0x3c2357(0x31e)](_0x415f5a=>({..._0x415f5a,'column':_0x415f5a['column'][_0x3c2357(0x339)]('.')?_0x415f5a['column']:'a.'+_0x415f5a[_0x3c2357(0x1d1)]}))};}function applyFieldDictToColumns(_0xb21d62,_0x1e402b){const _0x1626c5=_0x558e8f;for(const _0x498ae3 of _0x1e402b){if(typeof _0x498ae3===_0x1626c5(0x222)||!_0x498ae3[_0x1626c5(0x1f6)])continue;const _0x251aa8=_0x498ae3[_0x1626c5(0x1d1)][_0x1626c5(0x339)]('.')?_0x498ae3['column'][_0x1626c5(0x2fa)]('.')[_0x1626c5(0x2d9)]():_0x498ae3[_0x1626c5(0x1d1)],_0x56e78f=_0xb21d62[_0x1626c5(0x1b3)](_0x80eb6d=>_0x80eb6d[_0x1626c5(0x25a)]===_0x251aa8);if(_0x56e78f)_0x56e78f[_0x1626c5(0x1f6)]=_0x498ae3['dict'];}}function columnsFromEntity(_0x14edc9){const _0x1b7dba=_0x558e8f;if(!_0x14edc9||typeof _0x14edc9!==_0x1b7dba(0x1b1))return[];try{const _0xb967e3=_0x13cef2(_0x14edc9),_0xcbe9ed=getColumnComments(_0x14edc9),_0x331bac=[];for(const [_0x796b13,_0x5d697e]of Object[_0x1b7dba(0x2e7)](_0xb967e3)){if(_0x796b13===_0x1b7dba(0x18a))continue;const _0x402103=_0x5d697e;_0x331bac['push']({'propertyName':_0x796b13,'type':String(_0x402103[_0x1b7dba(0x16a)]??_0x402103[_0x1b7dba(0x2de)]??_0x1b7dba(0x222)),'length':_0x402103['length']!=null?String(_0x402103[_0x1b7dba(0x293)]):undefined,'nullable':_0x402103[_0x1b7dba(0x2b3)]!==!![],'source':'a.'+_0x796b13,'comment':_0xcbe9ed[_0x796b13]});}const _0x27d828=new Set(['createTime',_0x1b7dba(0x2ba),_0x1b7dba(0x254)]),_0x5ce057=_0x331bac['filter'](_0x18c83e=>!_0x27d828[_0x1b7dba(0x2fc)](_0x18c83e['propertyName'])),_0x54d949=_0x331bac[_0x1b7dba(0x1a7)](_0x55dd9e=>_0x27d828[_0x1b7dba(0x2fc)](_0x55dd9e[_0x1b7dba(0x25a)]));return[..._0x5ce057,..._0x54d949];}catch{return[];}}function entityNameOf(_0x3b0486){const _0x50d957=_0x558e8f;if(!_0x3b0486||typeof _0x3b0486!==_0x50d957(0x1b1))return;try{return toPascalEntityName(_0x260df5(_0x3b0486));}catch{return;}}function buildApis(_0x49ad1a,_0x3befe5){const _0x1f4e2b=_0x558e8f,_0x561837=[],_0x3ef341=new Set(),_0x3a01f2=_0x448036=>{const _0x212289=_0x16aa,_0x519ce7=_0x448036['method']+':'+_0x448036[_0x212289(0x215)];if(_0x3ef341[_0x212289(0x2fc)](_0x519ce7))return;_0x3ef341[_0x212289(0x29f)](_0x519ce7),_0x561837[_0x212289(0x2d0)](_0x448036);};for(const _0x328312 of _0x49ad1a[_0x1f4e2b(0x169)]){const _0x27ef76=getRouteSubPath(_0x328312['path'],_0x49ad1a['prefix']),_0x28fe6c=_0x27ef76[_0x1f4e2b(0x2f2)]('/')?_0x27ef76:'/'+_0x27ef76,_0x3905fb=actionFromSubPath(_0x28fe6c);_0x3a01f2({'method':_0x328312[_0x1f4e2b(0x31b)][_0x1f4e2b(0x1c3)](),'path':_0x28fe6c,'summary':_0x328312[_0x1f4e2b(0x311)]??'','dts':{},'tag':'','prefix':_0x3befe5,'ignoreToken':Boolean(_0x328312[_0x1f4e2b(0x2bf)]),'ignorePerms':Boolean(_0x328312[_0x1f4e2b(0x22b)]),'perms':effectivePerms(_0x328312,_0x49ad1a,_0x3905fb)??[]});}for(const _0x3a6832 of _0x49ad1a[_0x1f4e2b(0x295)]?.[_0x1f4e2b(0x2c1)]??[]){const _0x3dc008='/'+_0x3a6832;_0x3a01f2({'method':_0x3a6832===_0x1f4e2b(0x239)?'get':_0x1f4e2b(0x1c8),'path':_0x3dc008,'summary':CRUD_SUMMARY[_0x3a6832]??_0x3a6832,'dts':{},'tag':'','prefix':_0x3befe5,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x49ad1a,_0x3a6832)??[]});}for(const _0x56230d of _0x49ad1a[_0x1f4e2b(0x295)]?.[_0x1f4e2b(0x209)]??[]){const _0x147df9='/'+_0x56230d;_0x3a01f2({'method':'post','path':_0x147df9,'summary':_0x56230d,'dts':{},'tag':'','prefix':_0x3befe5,'ignoreToken':![],'ignorePerms':![],'perms':effectivePerms({},_0x49ad1a,_0x56230d)??[]});}return _0x561837;}function buildEntity(_0x29889b){const _0x4bb532=_0x558e8f,_0x574531=joinPrefix(getSidePrefix2(_0x29889b[_0x4bb532(0x261)]),_0x29889b['prefix']),_0x5b7c50=lastSegment(_0x29889b[_0x4bb532(0x24d)]),_0x526447=_0x29889b[_0x4bb532(0x295)]?.['entity'],_0xdb30b3=columnsFromEntity(_0x526447),_0x5bab97=normalizePageQueryOp(_0x29889b[_0x4bb532(0x295)]?.[_0x4bb532(0x2a4)]);return applyFieldDictToColumns(_0xdb30b3,_0x5bab97[_0x4bb532(0x2dd)]),{'module':_0x29889b[_0x4bb532(0x29d)],'side':_0x29889b[_0x4bb532(0x261)],'prefix':_0x574531,'name':entityNameOf(_0x526447),'info':{'type':{'name':_0x5b7c50,'description':_0x29889b[_0x4bb532(0x32b)]??_0x5b7c50}},'api':buildApis(_0x29889b,_0x574531),'columns':_0xdb30b3,'pageQueryOp':_0x5bab97,'pageColumns':_0xdb30b3};}function groupByModule(_0x49c002){const _0x26fb19=_0x558e8f,_0x412773={};for(const _0x271fd5 of _0x49c002){const _0x104618=_0x412773[_0x271fd5[_0x26fb19(0x29d)]]??[];_0x104618[_0x26fb19(0x2d0)](_0x271fd5),_0x412773[_0x271fd5[_0x26fb19(0x29d)]]=_0x104618;}return _0x412773;}function isEpsEnabled(){const _0x838e12=_0x558e8f;return Boolean(VomeConfig[_0x838e12(0x189)]?.[_0x838e12(0x1f1)]);}function buildEps(_0x40c5ee){const _0x479717=_0x558e8f;if(!isEpsEnabled())return{};return groupByModule(listControllers(_0x40c5ee)[_0x479717(0x31e)](buildEntity));}var Eps={'controllers':listControllers,'admin':()=>buildEps(_0x558e8f(0x2a7)),'app':()=>buildEps(_0x558e8f(0x1da)),'enabled':isEpsEnabled};import'reflect-metadata';var ROUTES_PENDING_KEY=_0x558e8f(0x19f);function joinRoute(_0x180af3,_0x2d2aa8){return joinPrefix(_0x180af3,_0x2d2aa8==='/'?'':_0x2d2aa8);}function asMiddlewareList(_0x19b2f7){const _0x47c5e6=_0x558e8f;if(_0x19b2f7==null)return;return Array[_0x47c5e6(0x2dc)](_0x19b2f7)?_0x19b2f7:[_0x19b2f7];}function appendPendingRoute(_0xb0ecb1,_0x55f56e){const _0x3dc681=_0x558e8f,_0x541100=Reflect['getMetadata'](ROUTES_PENDING_KEY,_0xb0ecb1)??[];_0x541100[_0x3dc681(0x2d0)](_0x55f56e),Reflect[_0x3dc681(0x266)](ROUTES_PENDING_KEY,_0x541100,_0xb0ecb1);}function createParamDecorator(_0x30bc79){const _0x2aaf91=_0x558e8f,_0x4bcb38=_0x30bc79===_0x2aaf91(0x199)?_0x2aaf91(0x202):_0x30bc79===_0x2aaf91(0x30a)?'Body':_0x2aaf91(0x17d);return _0x2605c2=>(_0x1c036d,_0x290b0e,_0x4786aa)=>{const _0x229c75=_0x2aaf91;if(_0x290b0e===undefined)throw new Error(_0x229c75(0x24f)+_0x4bcb38+'\x20只能用于方法参数');const _0x59e674=_0x1c036d[_0x229c75(0x1f0)];appendRouteParam(_0x59e674,String(_0x290b0e),{'index':_0x4786aa,'source':_0x30bc79,'schema':_0x2605c2});};}function pickCrudOptions(_0x2813fc){const {api:_0x41c6a6,entity:_0x15d171,service:_0x30ade3,serviceApis:_0x5972b9,before:_0xcfb66a,pageQueryOp:_0x3d4479,listQueryOp:_0x440198,insertParam:_0x1ae59e,infoIgnoreProperty:_0x3efafc}=_0x2813fc;if(_0x41c6a6==null&&_0x15d171==null&&_0x30ade3==null&&_0x5972b9==null&&_0xcfb66a==null&&_0x3d4479==null&&_0x440198==null&&_0x1ae59e==null&&_0x3efafc==null)return;return{'api':_0x41c6a6,'entity':_0x15d171,'service':_0x30ade3,'serviceApis':_0x5972b9,'before':_0xcfb66a,'pageQueryOp':_0x3d4479,'listQueryOp':_0x440198,'insertParam':_0x1ae59e,'infoIgnoreProperty':_0x3efafc};}function Controller(_0x225d4f=''){const _0x402a3b=typeof _0x225d4f==='string',_0x13c463=_0x402a3b?{'prefix':_0x225d4f}:_0x225d4f;return _0x2e44fa=>{const _0x466188=_0x16aa;registerProvider({'token':_0x2e44fa,'useClass':_0x2e44fa,'scope':'singleton'});const _0x4657ff=getControllerScanContext(),_0x4c32a0=_0x402a3b&&_0x225d4f===''||!_0x402a3b&&(_0x13c463[_0x466188(0x24d)]==null||_0x13c463['prefix']===''),_0x30b834=normalizePrefix(_0x4c32a0&&_0x4657ff?.[_0x466188(0x16e)]?parseControllerAutoPrefix(_0x4657ff[_0x466188(0x16e)]):_0x13c463['prefix']??''),_0x57e0a0=Reflect[_0x466188(0x2db)](ROUTES_PENDING_KEY,_0x2e44fa)??[],_0x20afef=pickCrudOptions(_0x13c463);registerController({'token':_0x2e44fa,'prefix':_0x30b834,'module':_0x13c463[_0x466188(0x29d)]??_0x4657ff?.[_0x466188(0x29d)]??_0x466188(0x1e0),'side':_0x13c463[_0x466188(0x261)]??_0x4657ff?.[_0x466188(0x261)]??'admin','description':_0x13c463[_0x466188(0x32b)],'file':_0x4657ff?.[_0x466188(0x16e)],'middleware':asMiddlewareList(_0x13c463[_0x466188(0x2e0)]),'crud':_0x20afef,'routes':_0x57e0a0[_0x466188(0x31e)](_0x3afece=>{const _0x3d59d8=_0x466188,_0x45ac32=getRouteParams(_0x2e44fa,_0x3afece[_0x3d59d8(0x2aa)]),_0x26982d=schemaFromParams(_0x45ac32),_0x3cd11c=[..._0x3afece[_0x3d59d8(0x2e0)]??[],...getRouteMiddleware(_0x2e44fa,_0x3afece['handler'])];return{..._0x3afece,'path':joinRoute(_0x30b834,_0x3afece[_0x3d59d8(0x215)][_0x3d59d8(0x2f2)]('/')?_0x3afece[_0x3d59d8(0x215)][_0x3d59d8(0x331)](0x1):_0x3afece[_0x3d59d8(0x215)]),'params':_0x45ac32,'body':_0x26982d?.[_0x3d59d8(0x30a)],'query':_0x26982d?.[_0x3d59d8(0x192)],'routeParams':_0x26982d?.[_0x3d59d8(0x199)],'public':isRoutePublic(_0x2e44fa,_0x3afece[_0x3d59d8(0x2aa)]),'ignorePerms':isRouteIgnorePerms(_0x2e44fa,_0x3afece[_0x3d59d8(0x2aa)]),'perms':getRoutePerms(_0x2e44fa,_0x3afece['handler']),'middleware':_0x3cd11c['length']?_0x3cd11c:undefined};})}),Reflect[_0x466188(0x336)](ROUTES_PENDING_KEY,_0x2e44fa),clearRouteParams(_0x2e44fa),clearRoutePublic(_0x2e44fa),clearRouteMiddleware(_0x2e44fa),clearRoutePerms(_0x2e44fa),clearRouteIgnorePerms(_0x2e44fa);};}function Use(..._0x38f983){return(_0x75a06d,_0x357736)=>{const _0x9e538c=_0x16aa,_0x4c4563=_0x75a06d[_0x9e538c(0x1f0)];appendRouteMiddleware(_0x4c4563,String(_0x357736),_0x38f983);};}function createMethodDecorator(_0x59923d){return(_0x41ec65='',_0x2017d6)=>(_0x1f7e54,_0x4d1390)=>{const _0x46195c=_0x16aa,_0x57dfb1=_0x1f7e54[_0x46195c(0x1f0)];appendPendingRoute(_0x57dfb1,{'method':_0x59923d,'path':_0x41ec65,'handler':String(_0x4d1390),'summary':_0x2017d6?.[_0x46195c(0x311)]});};}function Public(){return(_0x43cd84,_0x551383)=>{const _0x19e6de=_0x43cd84['constructor'];markRoutePublic(_0x19e6de,String(_0x551383));};}function Perms(..._0x298b26){return(_0x44509d,_0x53e8ce)=>{const _0x5e75a0=_0x44509d['constructor'];setRoutePerms(_0x5e75a0,String(_0x53e8ce),_0x298b26);};}function IgnorePerms(){return(_0x4dfb89,_0x3f0ce3)=>{const _0xc05977=_0x4dfb89['constructor'];markRouteIgnorePerms(_0xc05977,String(_0x3f0ce3));};}var Body=createParamDecorator('body'),Query=createParamDecorator(_0x558e8f(0x192)),Param=createParamDecorator('params'),Get=createMethodDecorator(_0x558e8f(0x2c2)),Post=createMethodDecorator(_0x558e8f(0x23e)),Put=createMethodDecorator('PUT'),Delete=createMethodDecorator(_0x558e8f(0x195)),Patch=createMethodDecorator(_0x558e8f(0x187));class BasePlugin{[_0x558e8f(0x2a9)];[_0x558e8f(0x2d1)];[_0x558e8f(0x22c)];[_0x558e8f(0x203)];async[_0x558e8f(0x323)](_0x592a58,_0x30a6a2,_0x2d9824,_0x54b3df){const _0x5cc941=_0x558e8f;this[_0x5cc941(0x2a9)]=_0x592a58,this[_0x5cc941(0x2d1)]=_0x30a6a2,this[_0x5cc941(0x22c)]=_0x54b3df?.[_0x5cc941(0x22c)],this['pluginService']=_0x54b3df?.[_0x5cc941(0x203)],await this['ready']();}async[_0x558e8f(0x17b)](){}}import{existsSync,readFileSync}from'fs';import{createRequire}from'module';import{join as _0x1206b0}from'path';import{createHash}from'crypto';import{homedir}from'os';import{join as _0x280a7d}from'path';function pDataPath(){const _0x32989d=_0x558e8f,_0x489393=createHash(_0x32989d(0x1aa))[_0x32989d(0x175)](String(VomeConfig['keys']??'vome'))[_0x32989d(0x2ec)]('hex');return _0x280a7d(homedir(),'.vome',_0x489393);}function pPluginPath(){const _0x2c09b6=_0x558e8f;return _0x280a7d(pDataPath(),_0x2c09b6(0x1f9));}function pModulesPath(){const _0xc5e6c8=_0x558e8f;return _0x280a7d(pDataPath(),_0xc5e6c8(0x275));}function pModulePath(_0x22e812){return _0x280a7d(pModulesPath(),_0x22e812);}var hostRequire=createRequire(import.meta.url);function pluginRequire(_0x508544){if(_0x508544==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire(_0x508544);}function loadPluginClass(_0x1af934){const _0x2e25dc=_0x558e8f;try{const _0x4c4d18=_0x1af934[_0x2e25dc(0x326)](/export\s+const\s+Plugin\s*=/g,_0x2e25dc(0x229))['replace'](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x2e25dc(0x326)](/export\s+const\s+handlers\s*=/g,_0x2e25dc(0x2be))[_0x2e25dc(0x326)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+class\s+(\w+)/g,'class\x20$1')['replace'](/export\s+default\s+/g,'')[_0x2e25dc(0x326)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x2e25dc(0x326)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')[_0x2e25dc(0x326)](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x2e25dc(0x16b)),_0x22f192=new Function('BasePlugin',_0x2e25dc(0x236),_0x2e25dc(0x29d),'exports',_0x4c4d18+_0x2e25dc(0x17e)),_0x2c3257={'exports':{}};return _0x22f192(BasePlugin,pluginRequire,_0x2c3257,_0x2c3257['exports']);}catch(_0x249ccb){throw new Error('[Plugin]\x20加载失败:\x20'+(_0x249ccb instanceof Error?_0x249ccb['message']:String(_0x249ccb)));}}function readPluginScript(_0x5e58dc){const _0x5ef29f=_0x558e8f,_0x575236=_0x1206b0(pModulePath(_0x5e58dc),'server',_0x5ef29f(0x298));if(existsSync(_0x575236))return readFileSync(_0x575236,_0x5ef29f(0x1be));const _0x4239ae=_0x1206b0(pPluginPath(),_0x5e58dc);if(!existsSync(_0x4239ae))return;try{const _0x4d0a96=JSON[_0x5ef29f(0x25c)](readFileSync(_0x4239ae,_0x5ef29f(0x1be)));return _0x4d0a96[_0x5ef29f(0x1a3)]?.['data'];}catch{return;}}import{existsSync as _0x1276a6,readFileSync as _0x26c62a,readdirSync as _0x32576f,statSync}from'fs';import{createRequire as _0x5bb22d}from'module';import{join as _0x128071}from'path';var registry2=new Map(),hostRequire2=_0x5bb22d(import.meta.url);function pluginRequire2(_0x3255aa){if(_0x3255aa==='vome-plugin-runtime')return{'BasePlugin':BasePlugin};return hostRequire2(_0x3255aa);}function normalizePath(_0x3af389){const _0x1ad85b=_0x558e8f,_0x14fd24=_0x3af389[_0x1ad85b(0x2f2)]('/')?_0x3af389:'/'+_0x3af389;return _0x14fd24[_0x1ad85b(0x326)](/\/+$/,'')||'/';}function normalizeMethod(_0xadb670){return _0xadb670['toUpperCase']();}function normalizeModuleScript(_0x5e24f5){const _0x246054=_0x558e8f;return _0x5e24f5[_0x246054(0x326)](/export\s+const\s+handlers\s*=/g,_0x246054(0x2be))[_0x246054(0x326)](/export\s+\{[^}]*\bhandlers\b[^}]*\};?/g,'')['replace'](/export\s+default\s+\{/g,'var\x20handlers\x20=\x20{')[_0x246054(0x326)](/export\s+const\s+Plugin\s*=/g,_0x246054(0x229))[_0x246054(0x326)](/export\s+\{[^}]*\bPlugin\b[^}]*\};?/g,'')[_0x246054(0x326)](/export\s+class\s+(\w+)/g,'class\x20$1')[_0x246054(0x326)](/import\s+\{?\s*BasePlugin\s*\}?\s*from\s*['"][^'"]+['"];?/g,'')[_0x246054(0x326)](/import\s+BasePlugin\s+from\s*['"][^'"]+['"];?/g,'')['replace'](/require\(\s*['"]vome-plugin-runtime['"]\s*\)/g,_0x246054(0x16b));}function loadModuleHandlers(_0x2fce7f,_0x13f0dd=!![]){const _0x1b562e=_0x558e8f,_0x5326d9=normalizeModuleScript(_0x2fce7f),_0x2751aa=new Function(_0x1b562e(0x312),'require',_0x1b562e(0x29d),_0x1b562e(0x22d),_0x5326d9+_0x1b562e(0x1b0)),_0x459928={'exports':{}},_0x56e929=_0x2751aa(BasePlugin,pluginRequire2,_0x459928,_0x459928['exports']);if(!_0x56e929||typeof _0x56e929!==_0x1b562e(0x1b1)){if(_0x13f0dd)throw new Error('missing\x20export\x20handlers');return{};}return _0x56e929;}var ModuleRegistry={'get'(_0x4e070f){const _0xd6a33=_0x558e8f;return registry2[_0xd6a33(0x248)](_0x4e070f);},'list'(){const _0xfd8269=_0x558e8f;return[...registry2[_0xfd8269(0x2e7)]()]['map'](([_0x7eff7,_0x474e00])=>({'key':_0x7eff7,'manifest':_0x474e00[_0xfd8269(0x2ef)],'routes':_0x474e00[_0xfd8269(0x169)]}));},'load'(_0x59dd5b){const _0x3e9ddd=_0x558e8f;if(!_0x59dd5b||!/^[a-zA-Z0-9_-]+$/[_0x3e9ddd(0x274)](_0x59dd5b))throw new Error(_0x3e9ddd(0x283)+_0x59dd5b);const _0x59eea4=pModulePath(_0x59dd5b),_0x5b9369=_0x128071(_0x59eea4,_0x3e9ddd(0x1d2));if(!_0x1276a6(_0x5b9369))throw new Error(_0x3e9ddd(0x2e2)+_0x59dd5b);const _0x5cf07b=JSON[_0x3e9ddd(0x25c)](_0x26c62a(_0x5b9369,'utf8')),_0x547c5a=(_0x5cf07b[_0x3e9ddd(0x169)]??[])[_0x3e9ddd(0x31e)](_0x1c411f=>({..._0x1c411f,'method':normalizeMethod(_0x1c411f[_0x3e9ddd(0x31b)]),'path':normalizePath(_0x1c411f['path'])}));let _0x459456={};const _0x2938a8=_0x128071(_0x59eea4,'server','index.js');if(_0x1276a6(_0x2938a8)){const _0x1dcbd6=_0x26c62a(_0x2938a8,_0x3e9ddd(0x1be));_0x459456=loadModuleHandlers(_0x1dcbd6,_0x547c5a[_0x3e9ddd(0x293)]>0x0);for(const _0x3ba61f of _0x547c5a){if(typeof _0x459456[_0x3ba61f['handler']]!=='function')throw new Error(_0x3e9ddd(0x290)+_0x59dd5b+_0x3e9ddd(0x1c2)+_0x3ba61f[_0x3e9ddd(0x2aa)]);}}else{if(_0x547c5a[_0x3e9ddd(0x293)])throw new Error(_0x3e9ddd(0x290)+_0x59dd5b+_0x3e9ddd(0x2c0));}return registry2[_0x3e9ddd(0x2f7)](_0x59dd5b,{'manifest':_0x5cf07b,'handlers':_0x459456,'routes':_0x547c5a}),registry2['get'](_0x59dd5b);},'unload'(_0xd331c5){const _0x53982b=_0x558e8f;registry2[_0x53982b(0x296)](_0xd331c5);},async 'dispatch'(_0x2bd871,_0x2da34d,_0x471035,_0x2dbc98){const _0x229c3d=_0x558e8f,_0x4fe2d4=registry2['get'](_0x2bd871);if(!_0x4fe2d4)return{'ok':![],'status':0x194,'message':_0x229c3d(0x1d6)};const _0x1eb2b8=normalizeMethod(_0x2da34d),_0xbb5a75=normalizePath(_0x471035),_0x351762=_0x4fe2d4[_0x229c3d(0x169)]['find'](_0x27b5da=>_0x27b5da[_0x229c3d(0x31b)]===_0x1eb2b8&&_0x27b5da[_0x229c3d(0x215)]===_0xbb5a75);if(!_0x351762)return{'ok':![],'status':0x194,'message':_0x229c3d(0x325)};const _0x385223=_0x4fe2d4[_0x229c3d(0x1c5)][_0x351762['handler']];if(typeof _0x385223!==_0x229c3d(0x20b))return{'ok':![],'status':0x1f4,'message':_0x229c3d(0x309)+_0x351762[_0x229c3d(0x2aa)]};try{const _0x4484b8=await _0x385223(_0x2dbc98);return{'ok':!![],'data':_0x4484b8,'route':_0x351762};}catch(_0x213465){const _0x447401=_0x213465 instanceof Error?_0x213465[_0x229c3d(0x250)]:String(_0x213465);return{'ok':![],'status':0x1f4,'message':_0x447401,'route':_0x351762};}},'bootstrap'(){const _0x2ea691=_0x558e8f,_0x19038f=pModulesPath();if(!_0x1276a6(_0x19038f))return;for(const _0x354df7 of _0x32576f(_0x19038f)){const _0xa9603a=_0x128071(_0x19038f,_0x354df7);if(!statSync(_0xa9603a)[_0x2ea691(0x24a)]())continue;if(!_0x1276a6(_0x128071(_0xa9603a,_0x2ea691(0x1d2))))continue;try{this[_0x2ea691(0x2c9)](_0x354df7),console[_0x2ea691(0x21a)](_0x2ea691(0x287)+_0x354df7);}catch(_0x51b898){console['warn'](_0x2ea691(0x25e)+_0x354df7+':',_0x51b898 instanceof Error?_0x51b898[_0x2ea691(0x250)]:_0x51b898);}}}};import{existsSync as _0x3aaa6d,statSync as _0x49cdf9}from'fs';import{join as _0x18f349,normalize,sep}from'path';import{Elysia as _0x480f20}from'elysia';var PREFIX='/vome/apps';function contentType(_0x2dd9ef){const _0x13ba31=_0x558e8f,_0xe2ddc0=_0x2dd9ef[_0x13ba31(0x1c3)]();if(_0xe2ddc0['endsWith']('.html'))return _0x13ba31(0x27f);if(_0xe2ddc0['endsWith'](_0x13ba31(0x272))||_0xe2ddc0[_0x13ba31(0x308)](_0x13ba31(0x1e2)))return'application/javascript;\x20charset=utf-8';if(_0xe2ddc0[_0x13ba31(0x308)]('.css'))return _0x13ba31(0x30b);if(_0xe2ddc0['endsWith'](_0x13ba31(0x177)))return'application/json;\x20charset=utf-8';if(_0xe2ddc0[_0x13ba31(0x308)](_0x13ba31(0x2bb)))return'image/svg+xml';if(_0xe2ddc0[_0x13ba31(0x308)]('.png'))return _0x13ba31(0x1bc);if(_0xe2ddc0[_0x13ba31(0x308)]('.jpg')||_0xe2ddc0['endsWith'](_0x13ba31(0x180)))return'image/jpeg';if(_0xe2ddc0[_0x13ba31(0x308)]('.woff2'))return'font/woff2';if(_0xe2ddc0['endsWith'](_0x13ba31(0x2f9)))return _0x13ba31(0x1dc);if(_0xe2ddc0[_0x13ba31(0x308)]('.map'))return _0x13ba31(0x1f7);return _0x13ba31(0x20f);}var microApps=new _0x480f20({'name':_0x558e8f(0x2e6)})[_0x558e8f(0x248)](PREFIX+'/*',({params:_0x35c592,set:_0x5f6d6e})=>{const _0x30812f=_0x558e8f,_0x22bd2b=String(_0x35c592['*']||''),_0x312591=_0x22bd2b[_0x30812f(0x2fa)]('/')[_0x30812f(0x1a7)](Boolean);if(!_0x312591[_0x30812f(0x293)])return _0x5f6d6e['status']=0x194,_0x30812f(0x1ea);const _0x382506=_0x312591[0x0];if(!/^[a-zA-Z0-9_-]+$/['test'](_0x382506))return _0x5f6d6e[_0x30812f(0x21d)]=0x190,_0x30812f(0x330);const _0x25eeb6=_0x18f349(pModulePath(_0x382506),_0x30812f(0x21c));if(!_0x3aaa6d(_0x25eeb6)||!_0x49cdf9(_0x25eeb6)[_0x30812f(0x24a)]())return _0x5f6d6e[_0x30812f(0x21d)]=0x194,_0x30812f(0x2cb);let _0x370d83=_0x312591['slice'](0x1)[_0x30812f(0x245)]('/')||'index.html';if(_0x370d83[_0x30812f(0x308)]('/'))_0x370d83+=_0x30812f(0x252);const _0xb53655=normalize(_0x18f349(_0x25eeb6,_0x370d83));if(!_0xb53655[_0x30812f(0x2f2)](_0x25eeb6+sep)&&_0xb53655!==_0x25eeb6)return _0x5f6d6e[_0x30812f(0x21d)]=0x193,_0x30812f(0x32d);let _0x535202=_0xb53655;_0x3aaa6d(_0x535202)&&_0x49cdf9(_0x535202)[_0x30812f(0x24a)]()&&(_0x535202=_0x18f349(_0x535202,'index.html'));if(!_0x3aaa6d(_0x535202)||!_0x49cdf9(_0x535202)[_0x30812f(0x1a0)]())return _0x5f6d6e[_0x30812f(0x21d)]=0x194,'Not\x20Found';return _0x5f6d6e['headers'][_0x30812f(0x228)]=contentType(_0x535202),_0x5f6d6e['headers'][_0x30812f(0x212)]=_0x30812f(0x334),_0x5f6d6e[_0x30812f(0x292)][_0x30812f(0x337)]='*',Bun[_0x30812f(0x16e)](_0x535202);});import{Elysia as _0x60e384}from'elysia';function ok(_0x1bd16){const _0x90e1e9=_0x558e8f;return{'code':RES_CODE[_0x90e1e9(0x2eb)],'message':_0x90e1e9(0x1ca),'data':_0x1bd16??null};}function fail(_0x130e04,_0x4355bb=RES_CODE['ERROR']){return{'code':_0x4355bb,'message':_0x130e04};}async function handleExt(_0x17ece1){const _0x1025ae=_0x558e8f,_0x2a20e4=_0x17ece1[_0x1025ae(0x199)]['key'];if(!_0x2a20e4||!/^[a-zA-Z0-9_-]+$/[_0x1025ae(0x274)](_0x2a20e4))return _0x17ece1[_0x1025ae(0x2f7)][_0x1025ae(0x21d)]=0x190,fail('\u975E\u6CD5\u6A21\u5757\x20key');const _0x5e3aad=String(_0x17ece1[_0x1025ae(0x199)]['*']||''),_0x1a1e53=('/'+_0x5e3aad)[_0x1025ae(0x326)](/\/+/g,'/'),_0x130fd5=Context['get'](),_0x514e8c=ModuleRegistry[_0x1025ae(0x248)](_0x2a20e4);if(!_0x514e8c)return _0x17ece1[_0x1025ae(0x2f7)][_0x1025ae(0x21d)]=0x194,fail('\u6A21\u5757\u672A\u5B89\u88C5\u6216\u672A\u52A0\u8F7D');const _0x43625b=_0x17ece1[_0x1025ae(0x26b)][_0x1025ae(0x31b)][_0x1025ae(0x206)](),_0x3dec57=_0x1a1e53[_0x1025ae(0x326)](/\/+$/,'')||'/',_0x48651c=_0x514e8c[_0x1025ae(0x169)][_0x1025ae(0x1b3)](_0x3f1abc=>_0x3f1abc[_0x1025ae(0x31b)]===_0x43625b&&_0x3f1abc[_0x1025ae(0x215)]===_0x3dec57);if(!_0x48651c)return _0x17ece1[_0x1025ae(0x2f7)][_0x1025ae(0x21d)]=0x194,fail('\u8DEF\u7531\u4E0D\u5B58\u5728');if(_0x48651c[_0x1025ae(0x26c)]&&!_0x130fd5?.[_0x1025ae(0x23c)]){const _0x322a46=_0x130fd5?.[_0x1025ae(0x26c)]??[];if(!_0x322a46[_0x1025ae(0x339)](_0x48651c[_0x1025ae(0x26c)]))return _0x17ece1['status'](0x193);}const _0x4fad3c=await ModuleRegistry[_0x1025ae(0x306)](_0x2a20e4,_0x43625b,_0x1a1e53,{'body':_0x17ece1[_0x1025ae(0x30a)],'query':_0x17ece1[_0x1025ae(0x192)]??{},'params':_0x17ece1[_0x1025ae(0x199)],'headers':_0x17ece1[_0x1025ae(0x26b)]['headers'],'adminId':_0x130fd5?.[_0x1025ae(0x182)]});if(!_0x4fad3c['ok'])return _0x17ece1[_0x1025ae(0x2f7)]['status']=_0x4fad3c[_0x1025ae(0x21d)],fail(_0x4fad3c[_0x1025ae(0x250)]);return ok(_0x4fad3c[_0x1025ae(0x179)]);}function createModuleGateway(_0x5a475b){const _0x1c692d=_0x558e8f;return new _0x60e384({'name':_0x1c692d(0x284)})[_0x1c692d(0x19d)](_0x5a475b[_0x1c692d(0x24c)])[_0x1c692d(0x241)]('/admin/ext/:key/*',handleExt,{'adminAuth':!![]})[_0x1c692d(0x241)](_0x1c692d(0x2d3),handleExt,{'adminAuth':!![]});}import{Elysia as _0x2e5d1d}from'elysia';function defineAuthMacro(_0x2fe55d,_0x5eb6fe){const _0x1d0ef9=_0x558e8f;return new _0x2e5d1d({'name':_0x2fe55d+_0x1d0ef9(0x1fd)})['macro']({[_0x2fe55d]:{'resolve':_0x5eb6fe}})['as']('scoped');}var package_default={'name':_0x558e8f(0x185),'version':_0x558e8f(0x26e),'description':_0x558e8f(0x24e),'license':'MIT','type':_0x558e8f(0x29d),'files':[_0x558e8f(0x333),_0x558e8f(0x28c),_0x558e8f(0x20c)],'main':_0x558e8f(0x217),'types':_0x558e8f(0x2c3),'exports':{'.':{'types':_0x558e8f(0x2c3),'import':_0x558e8f(0x217),'default':'./dist/index.js'},'./server':{'types':_0x558e8f(0x1f3),'import':_0x558e8f(0x1a6),'default':_0x558e8f(0x1a6)},'./admin':{'types':_0x558e8f(0x26f),'import':_0x558e8f(0x226),'default':_0x558e8f(0x226)},'./admin/*':'./dist/admin/*','./admin/styles/base.css':_0x558e8f(0x24b),'./typings/*':_0x558e8f(0x201)},'scripts':{'build:server':_0x558e8f(0x2d8),'build:admin':'bun\x20scripts/build-admin.ts','build':_0x558e8f(0x184),'obfuscate':_0x558e8f(0x2bc),'build:obfuscate':'bun\x20run\x20build\x20&&\x20bun\x20run\x20obfuscate','prepublishOnly':_0x558e8f(0x170)},'peerDependencies':{'elysia':'>=1.0.0','reflect-metadata':_0x558e8f(0x2b9),'drizzle-orm':_0x558e8f(0x165),'drizzle-zod':'>=0.5.0','vue':_0x558e8f(0x28d),'vue-router':_0x558e8f(0x1a9),'pinia':_0x558e8f(0x305),'vue-sonner':_0x558e8f(0x305),'@vueuse/core':'>=10.0.0','clsx':_0x558e8f(0x305),'tailwind-merge':_0x558e8f(0x305),'dompurify':_0x558e8f(0x2b8),'marked':_0x558e8f(0x20d)},'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':_0x558e8f(0x19b),'drizzle-orm':_0x558e8f(0x19b),'drizzle-zod':_0x558e8f(0x2ed),'elysia':_0x558e8f(0x19b),'javascript-obfuscator':_0x558e8f(0x30d),'reflect-metadata':_0x558e8f(0x291),'typescript':_0x558e8f(0x19b)},'dependencies':{'@bogeychan/elysia-logger':_0x558e8f(0x2bd),'@elysiajs/openapi':'^1.4.15','pino':_0x558e8f(0x2f8),'pino-pretty':'^13.1.3'}},version=package_default[_0x558e8f(0x1f2)];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};