@restforgejs/platform 5.1.6 → 5.1.7

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 (167) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +63 -43
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/integrity-manifest.json +18 -18
  15. package/package.json +1 -1
  16. package/scripts/verify-integrity.js +1 -1
  17. package/server.js +1 -1
  18. package/src/components/handlers/adjust_handler.js +1 -1
  19. package/src/components/handlers/audit_handler.js +1 -1
  20. package/src/components/handlers/delete_handler.js +1 -1
  21. package/src/components/handlers/export_handler.js +1 -1
  22. package/src/components/handlers/import_handler.js +1 -1
  23. package/src/components/handlers/insert_handler.js +1 -1
  24. package/src/components/handlers/update_handler.js +1 -1
  25. package/src/components/handlers/upload_handler.js +1 -1
  26. package/src/components/handlers/workflow_handler.js +1 -1
  27. package/src/components/integrations/webhook.js +1 -1
  28. package/src/consumers/baseConsumer.js +1 -1
  29. package/src/consumers/declarativeMapper.js +1 -1
  30. package/src/consumers/handlers/apiHandler.js +1 -1
  31. package/src/consumers/handlers/consoleHandler.js +1 -1
  32. package/src/consumers/handlers/databaseHandler.js +1 -1
  33. package/src/consumers/handlers/index.js +1 -1
  34. package/src/consumers/handlers/kafkaHandler.js +1 -1
  35. package/src/consumers/index.js +1 -1
  36. package/src/consumers/messageTransformer.js +1 -1
  37. package/src/consumers/validator.js +1 -1
  38. package/src/core/db/dialect/base-dialect.js +1 -1
  39. package/src/core/db/dialect/index.js +1 -1
  40. package/src/core/db/dialect/mysql-dialect.js +1 -1
  41. package/src/core/db/dialect/oracle-dialect.js +1 -1
  42. package/src/core/db/dialect/postgres-dialect.js +1 -1
  43. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  44. package/src/core/db/flatten-helper.js +1 -1
  45. package/src/core/db/query-builder-error.js +1 -1
  46. package/src/core/db/query-builder.js +1 -1
  47. package/src/core/db/relation-helper.js +1 -1
  48. package/src/core/handlers/delete_handler.js +1 -1
  49. package/src/core/handlers/insert_handler.js +1 -1
  50. package/src/core/handlers/update_handler.js +1 -1
  51. package/src/core/models/base-model.js +1 -1
  52. package/src/core/utils/cache-manager.js +1 -1
  53. package/src/core/utils/component-engine.js +1 -1
  54. package/src/core/utils/context-builder.js +1 -1
  55. package/src/core/utils/datetime-formatter.js +1 -1
  56. package/src/core/utils/datetime-parser.js +1 -1
  57. package/src/core/utils/db.js +1 -1
  58. package/src/core/utils/logger.js +1 -1
  59. package/src/core/utils/payload-loader.js +1 -1
  60. package/src/core/utils/security-checks.js +1 -1
  61. package/src/middleware/body-options.js +1 -1
  62. package/src/middleware/cors.js +1 -1
  63. package/src/middleware/idempotency.js +1 -1
  64. package/src/middleware/rate-limiter.js +1 -1
  65. package/src/middleware/request-logger.js +1 -1
  66. package/src/middleware/security-headers.js +1 -1
  67. package/src/models/base-model-mysql.js +1 -1
  68. package/src/models/base-model-oracle.js +1 -1
  69. package/src/models/base-model-sqlite.js +1 -1
  70. package/src/models/base-model.js +1 -1
  71. package/src/pro/caching/redis-client.js +1 -1
  72. package/src/pro/caching/redis-helper.js +1 -1
  73. package/src/pro/consumers/baseConsumer.js +1 -1
  74. package/src/pro/consumers/declarativeMapper.js +1 -1
  75. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  76. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  77. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  78. package/src/pro/consumers/handlers/index.js +1 -1
  79. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  80. package/src/pro/consumers/index.js +1 -1
  81. package/src/pro/consumers/messageTransformer.js +1 -1
  82. package/src/pro/consumers/validator.js +1 -1
  83. package/src/pro/database/base-model-mysql.js +1 -1
  84. package/src/pro/database/base-model-oracle.js +1 -1
  85. package/src/pro/database/base-model-sqlite.js +1 -1
  86. package/src/pro/database/db-mysql.js +1 -1
  87. package/src/pro/database/db-oracle.js +1 -1
  88. package/src/pro/database/db-sqlite.js +1 -1
  89. package/src/pro/excel/excel-generator.js +1 -1
  90. package/src/pro/excel/excel-parser.js +1 -1
  91. package/src/pro/excel/export-service.js +1 -1
  92. package/src/pro/excel/export_handler.js +1 -1
  93. package/src/pro/excel/import-service.js +1 -1
  94. package/src/pro/excel/import-validator.js +1 -1
  95. package/src/pro/excel/import_handler.js +1 -1
  96. package/src/pro/excel/upsert-builder.js +1 -1
  97. package/src/pro/idgen/idgen-routes.js +1 -1
  98. package/src/pro/integrations/lookup-resolver.js +1 -1
  99. package/src/pro/integrations/upload-handler-v2.js +1 -1
  100. package/src/pro/integrations/upload-handler.js +1 -1
  101. package/src/pro/integrations/webhook.js +1 -1
  102. package/src/pro/locking/lock-routes.js +1 -1
  103. package/src/pro/locking/resource-lock-manager.js +1 -1
  104. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  105. package/src/pro/messaging/kafkaService.js +1 -1
  106. package/src/pro/messaging/messagehubService.js +1 -1
  107. package/src/pro/messaging/rabbitmqService.js +1 -1
  108. package/src/pro/scheduler/job-manager.js +1 -1
  109. package/src/pro/scheduler/job-routes.js +1 -1
  110. package/src/pro/scheduler/job-validator.js +1 -1
  111. package/src/pro/storage/base-storage-provider.js +1 -1
  112. package/src/pro/storage/file-metadata-helper.js +1 -1
  113. package/src/pro/storage/index.js +1 -1
  114. package/src/pro/storage/local-storage-provider.js +1 -1
  115. package/src/pro/storage/s3-storage-provider.js +1 -1
  116. package/src/pro/storage/upload-cleanup-job.js +1 -1
  117. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  118. package/src/pro/storage/upload-pending-tracker.js +1 -1
  119. package/src/pro/websocket/broadcast-helper.js +1 -1
  120. package/src/pro/websocket/index.js +1 -1
  121. package/src/pro/websocket/livesync-server.js +1 -1
  122. package/src/pro/websocket/ws-broadcaster.js +1 -1
  123. package/src/services/export-service.js +1 -1
  124. package/src/services/import-service.js +1 -1
  125. package/src/services/kafkaConsumerService.js +1 -1
  126. package/src/services/kafkaService.js +1 -1
  127. package/src/services/messagehubService.js +1 -1
  128. package/src/services/rabbitmqService.js +1 -1
  129. package/src/utils/cache-invalidation-registry.js +1 -1
  130. package/src/utils/cache-manager.js +1 -1
  131. package/src/utils/component-engine.js +1 -1
  132. package/src/utils/config-extractor.js +1 -1
  133. package/src/utils/consumerLogger.js +1 -1
  134. package/src/utils/context-builder.js +1 -1
  135. package/src/utils/dashboard-helpers.js +1 -1
  136. package/src/utils/dateHelper.js +1 -1
  137. package/src/utils/datetime-formatter.js +1 -1
  138. package/src/utils/datetime-parser.js +1 -1
  139. package/src/utils/db-bootstrap.js +1 -1
  140. package/src/utils/db-mysql.js +1 -1
  141. package/src/utils/db-oracle.js +1 -1
  142. package/src/utils/db-sqlite.js +1 -1
  143. package/src/utils/db.js +1 -1
  144. package/src/utils/demo-generator.js +1 -1
  145. package/src/utils/excel-generator.js +1 -1
  146. package/src/utils/excel-parser.js +1 -1
  147. package/src/utils/file-watcher.js +1 -1
  148. package/src/utils/id-generator.js +1 -1
  149. package/src/utils/idempotency-manager.js +1 -1
  150. package/src/utils/import-validator.js +1 -1
  151. package/src/utils/license-client.js +1 -1
  152. package/src/utils/lock-manager.js +1 -1
  153. package/src/utils/logger.js +1 -1
  154. package/src/utils/lookup-resolver.js +1 -1
  155. package/src/utils/payload-loader.js +1 -1
  156. package/src/utils/processor-response.js +1 -1
  157. package/src/utils/rabbitmq.js +1 -1
  158. package/src/utils/redis-client.js +1 -1
  159. package/src/utils/redis-helper.js +1 -1
  160. package/src/utils/request-scope.js +1 -1
  161. package/src/utils/security-checks.js +1 -1
  162. package/src/utils/service-resolver.js +1 -1
  163. package/src/utils/shutdown-coordinator.js +1 -1
  164. package/src/utils/trusted-keys.js +1 -1
  165. package/src/utils/upload-handler.js +1 -1
  166. package/src/utils/upsert-builder.js +1 -1
  167. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x292047=a0_0x2b57;(function(_0xdde8ff,_0x570895){const _0x1270d7=a0_0x2b57,_0xbe487b=_0xdde8ff();while(!![]){try{const _0x28c24c=-parseInt(_0x1270d7(0x21e))/0x1*(parseInt(_0x1270d7(0x202))/0x2)+parseInt(_0x1270d7(0x1f9))/0x3+-parseInt(_0x1270d7(0x23b))/0x4*(-parseInt(_0x1270d7(0x204))/0x5)+parseInt(_0x1270d7(0x208))/0x6+-parseInt(_0x1270d7(0x235))/0x7+parseInt(_0x1270d7(0x225))/0x8*(parseInt(_0x1270d7(0x1f0))/0x9)+parseInt(_0x1270d7(0x1f3))/0xa*(parseInt(_0x1270d7(0x21a))/0xb);if(_0x28c24c===_0x570895)break;else _0xbe487b['push'](_0xbe487b['shift']());}catch(_0x47675e){_0xbe487b['push'](_0xbe487b['shift']());}}}(a0_0x328b,0xaa8a3));function a0_0x2b57(_0x40fb07,_0x425755){_0x40fb07=_0x40fb07-0x1ea;const _0x328b29=a0_0x328b();let _0x2b578b=_0x328b29[_0x40fb07];if(a0_0x2b57['yKMoXr']===undefined){var _0x3789ed=function(_0x6972c2){const _0x46af56='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x425dc8='',_0x12ac16='';for(let _0x2770e3=0x0,_0x1abe29,_0x577264,_0x2566b8=0x0;_0x577264=_0x6972c2['charAt'](_0x2566b8++);~_0x577264&&(_0x1abe29=_0x2770e3%0x4?_0x1abe29*0x40+_0x577264:_0x577264,_0x2770e3++%0x4)?_0x425dc8+=String['fromCharCode'](0xff&_0x1abe29>>(-0x2*_0x2770e3&0x6)):0x0){_0x577264=_0x46af56['indexOf'](_0x577264);}for(let _0x9b5b59=0x0,_0x7468b6=_0x425dc8['length'];_0x9b5b59<_0x7468b6;_0x9b5b59++){_0x12ac16+='%'+('00'+_0x425dc8['charCodeAt'](_0x9b5b59)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12ac16);};a0_0x2b57['qczgkf']=_0x3789ed,a0_0x2b57['XPFKke']={},a0_0x2b57['yKMoXr']=!![];}const _0x5016ed=_0x328b29[0x0],_0x4aa2a8=_0x40fb07+_0x5016ed,_0x41e12f=a0_0x2b57['XPFKke'][_0x4aa2a8];return!_0x41e12f?(_0x2b578b=a0_0x2b57['qczgkf'](_0x2b578b),a0_0x2b57['XPFKke'][_0x4aa2a8]=_0x2b578b):_0x2b578b=_0x41e12f,_0x2b578b;}function a0_0x328b(){const _0x350426=['BgfZDeLUzgv4t2y','t1DVsNi','zxHWB3j0CW','lI9SB2DNzxi','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA19Hy3f1AxjLza','tw1jDvq','C2v0','zxHWAxjL','ode5owrpyMHbzW','D3jPDgvFBg9JA193ywL0Aw5N','ywnXDwLYzvjLywrmB2nR','mJaYmtbduKDhEM8','x2LUAxrdB25MAwC','Cg93','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','x3n0CMf0zwD5','x2rLzMf1BhruveW','mtyYndy4B1jZuePz','x3jLDhj5rgvSyxK','BM93','D3jPDgvFBg9JA19LCNjVCG','zxjYB3i','x3jLDhj5q291BNq','A054EKi','zw5HyMXLza','z2v0','mJu5mde5nKHoz3fXDG','x3DVCMTLCKLK','mZGXmZa3nwTIDxDiCG','ywLhDKW','CMvQzwn0','EuPsquK','nJaWmty4nKLOy3zNDa','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','AMzPzgi','venqA1m','Aw5MBW','oNjLywq6','x3bYzwzPEa','zM9Zrgq','ywXS','zgvIDwC','rwHcs1O','x2LUAxrPywXPEMvK','D3zfvLq','z2DiC24','CMvHzf9SB2nRx2vYCM9Y','D3jPDgu','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9ftKfcteve','mZa5mujgrejnBW','zw52','ChjLzML4','D29YA2vYswq','mvr6Bhf3qW','Bg9JA19JB25MAwDFAw5PDa','D2fYBG','C3vIC3rYAw5N','z2v0q2XPzw50','CMv0CNLezwXHEq','x2vUC3vYzuLUAxrPywXPEMvK','mJe0nfrAt1fuAG','rKzgEwG','CMvHza','BM1srwG','DxvPza','CMv0CNLdB3vUDa','CMvSzwfZzuXVy2S','CMvHzf9SB2nRx3rPBwvVDxq','z2vUzxjHDgvmB2nRvMfSDwu','C2XLzxa','uuvWBfC','qwPJz3y','x2vUywjSzwq','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','uufOCuG','lcbZDhjHDgvNEtOG','ndq0odmWngDwuefNBq','svrSvhe','Aw5JBhvKzxm','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','yNvPBgrmB2nRs2v5','BwvZC2fNzq','ne9Qwu5AwG'];a0_0x328b=function(){return _0x350426;};return a0_0x328b();}const redisClient=require('./redis-client'),{logger}=require(a0_0x292047(0x1ea)),{v4:uuidv4}=require(a0_0x292047(0x229));class LockManager{constructor(){const _0x4f3eb5=a0_0x292047;this[_0x4f3eb5(0x20e)]=null,this[_0x4f3eb5(0x231)]=null,this[_0x4f3eb5(0x1f8)]=null,this[_0x4f3eb5(0x1fe)]=null,this[_0x4f3eb5(0x1fa)]=null,this[_0x4f3eb5(0x1f7)]=null,this['_workerId']=null,this[_0x4f3eb5(0x213)]=![];}[a0_0x292047(0x1f4)](){const _0x5df6b8=a0_0x292047,_0x610eab={'fosDd':function(_0x2ae856,_0x3bcca0){return _0x2ae856===_0x3bcca0;},'EhBKZ':function(_0x231506,_0x519f8c,_0x51f533){return _0x231506(_0x519f8c,_0x51f533);},'gmAJC':function(_0x219348,_0x283c97,_0x51a7cd){return _0x219348(_0x283c97,_0x51a7cd);}};this[_0x5df6b8(0x20e)]='rf:lock:',this[_0x5df6b8(0x231)]=_0x610eab[_0x5df6b8(0x20f)](process['env'][_0x5df6b8(0x219)],'true'),this[_0x5df6b8(0x1f8)]=_0x610eab['EhBKZ'](parseInt,process[_0x5df6b8(0x21b)][_0x5df6b8(0x1eb)],0xa)||0xa,this['_retryCount']=_0x610eab[_0x5df6b8(0x212)](parseInt,process[_0x5df6b8(0x21b)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x5df6b8(0x1fa)]=_0x610eab['gmAJC'](parseInt,process['env'][_0x5df6b8(0x232)],0xa)||0x64,this[_0x5df6b8(0x1f7)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||'retry',this['_workerId']='worker-'+process['pid'],this['_initialized']=!![],logger[_0x5df6b8(0x20c)]({'event':_0x5df6b8(0x21f),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x5df6b8(0x1f8)],'retryCount':this['_retryCount'],'retryDelay':this[_0x5df6b8(0x1fa)],'workerId':this[_0x5df6b8(0x203)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x5df6b8(0x231)]+_0x5df6b8(0x234)+this[_0x5df6b8(0x1f7)]);}['_ensureInitialized'](){const _0x17eccb=a0_0x292047;!this['_initialized']&&this[_0x17eccb(0x1f4)]();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x5e45d3=a0_0x292047;return this[_0x5e45d3(0x224)](),this[_0x5e45d3(0x231)];}get['defaultTTL'](){const _0x3fc9dc=a0_0x292047;return this['_ensureInitialized'](),this[_0x3fc9dc(0x1f8)];}get[a0_0x292047(0x22a)](){const _0x20afb6=a0_0x292047;return this['_ensureInitialized'](),this[_0x20afb6(0x1fe)];}get['retryDelay'](){const _0x1adab2=a0_0x292047;return this['_ensureInitialized'](),this[_0x1adab2(0x1fa)];}get['strategy'](){const _0x2396e1=a0_0x292047;return this[_0x2396e1(0x224)](),this[_0x2396e1(0x1f7)];}get[a0_0x292047(0x21d)](){const _0x37fd0d=a0_0x292047;return this[_0x37fd0d(0x224)](),this['_workerId'];}['buildLockKey'](_0x31882d){const _0x8edd8a=a0_0x292047,{module:_0x3a87f7,endpoint:_0x2b92bc,lockType:_0x18e5ba,recordId:_0x55b691}=_0x31882d;if(_0x55b691)return''+this[_0x8edd8a(0x21c)]+_0x3a87f7+':'+_0x2b92bc+':'+_0x55b691+':'+_0x18e5ba;return''+this['prefix']+_0x3a87f7+':'+_0x2b92bc+':'+_0x18e5ba;}[a0_0x292047(0x22d)](){const _0x1af2d3=a0_0x292047,_0x15c61f={'yJRAI':function(_0x29d947){return _0x29d947();}};return this['workerId']+':'+_0x15c61f[_0x1af2d3(0x207)](uuidv4)+':'+Date[_0x1af2d3(0x1fb)]();}async[a0_0x292047(0x1f2)](_0x1fe932){const _0x2f90e8=a0_0x292047,_0x33211b={'rdivS':_0x2f90e8(0x217),'QAhqH':'read','tbeLj':function(_0x188bdc,_0x41985){return _0x188bdc<_0x41985;},'KSZzL':'READ\x20lock\x20acquired','ITlTq':'read_lock_waiting','QEplW':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0xf80326=this['buildLockKey']({..._0x1fe932,'lockType':_0x33211b['rdivS']}),_0x211938=this['buildLockKey']({..._0x1fe932,'lockType':_0x33211b[_0x2f90e8(0x233)]}),_0x3bca6b=this['generateLockValue']();try{const _0x5d6300=redisClient[_0x2f90e8(0x222)]();for(let _0x1f9780=0x0;_0x33211b['tbeLj'](_0x1f9780,this[_0x2f90e8(0x22a)]);_0x1f9780++){const _0x554c5e=await _0x5d6300[_0x2f90e8(0x201)](_0xf80326);if(!_0x554c5e){await _0x5d6300['incr'](_0x211938),await _0x5d6300[_0x2f90e8(0x1ef)](_0x211938,this['defaultTTL']);const _0x1791b4=_0x211938+':'+_0x3bca6b;return await _0x5d6300['setex'](_0x1791b4,this['defaultTTL'],_0x3bca6b),logger[_0x2f90e8(0x211)]({'event':'read_lock_acquired','key':_0x211938,'value':_0x3bca6b},_0x33211b['KSZzL']),{'success':!![],'lockValue':_0x3bca6b,'lockKey':_0x1791b4};}logger[_0x2f90e8(0x211)]({'event':_0x33211b[_0x2f90e8(0x236)],'writeKey':_0xf80326,'attempt':_0x1f9780},_0x33211b[_0x2f90e8(0x22f)]),await this[_0x2f90e8(0x22e)](this['retryDelay']*Math[_0x2f90e8(0x1f5)](0x2,_0x1f9780));}return logger[_0x2f90e8(0x220)]({'event':_0x2f90e8(0x22c),'key':_0x211938},_0x2f90e8(0x1f6)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x290620){return logger[_0x2f90e8(0x1fd)]({'event':_0x2f90e8(0x216),'error':_0x290620['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x1ae196){const _0x3152fb=a0_0x292047,_0x4a33a4={'KSofF':'read','AGWgS':function(_0x10dcbd,_0xb71a41){return _0x10dcbd===_0xb71a41;},'VWVbH':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','acqwp':function(_0x1e1d2f,_0x23a8ee){return _0x1e1d2f===_0x23a8ee;},'CpXwX':_0x3152fb(0x1ec),'TCPkS':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','Ajcgv':_0x3152fb(0x209),'DrEWl':function(_0x1a7ac3,_0x5796a1){return _0x1a7ac3*_0x5796a1;},'OWoJr':_0x3152fb(0x238),'wvEVT':_0x3152fb(0x1fc),'jfidb':'WRITE\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x147d9b=this[_0x3152fb(0x239)]({..._0x1ae196,'lockType':'write'}),_0x39b961=this[_0x3152fb(0x239)]({..._0x1ae196,'lockType':_0x4a33a4['KSofF']}),_0xa7e9f=this[_0x3152fb(0x22d)]();try{const _0x2e1e86=redisClient[_0x3152fb(0x222)]();if(_0x4a33a4['AGWgS'](this['strategy'],_0x3152fb(0x206))){const _0x1f9487=await _0x2e1e86['set'](_0x147d9b,_0xa7e9f,'EX',this[_0x3152fb(0x218)],'NX');if(_0x1f9487==='OK')return logger['debug']({'event':'write_lock_acquired','key':_0x147d9b,'value':_0xa7e9f,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0xa7e9f,'lockKey':_0x147d9b};return logger[_0x3152fb(0x211)]({'event':'write_lock_rejected','key':_0x147d9b},_0x4a33a4['VWVbH']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x10d44e=0x0;_0x10d44e<this['retryCount'];_0x10d44e++){const [_0x3f8276,_0x514a23]=await Promise[_0x3152fb(0x210)]([_0x2e1e86[_0x3152fb(0x201)](_0x39b961),_0x2e1e86[_0x3152fb(0x201)](_0x147d9b)]);if(!_0x514a23&&(!_0x3f8276||_0x4a33a4['acqwp'](parseInt(_0x3f8276),0x0))){const _0x279315=await _0x2e1e86[_0x3152fb(0x1ee)](_0x147d9b,_0xa7e9f,'EX',this[_0x3152fb(0x218)],'NX');if(_0x4a33a4['AGWgS'](_0x279315,'OK'))return logger['debug']({'event':_0x4a33a4['CpXwX'],'key':_0x147d9b,'value':_0xa7e9f,'strategy':'retry'},_0x4a33a4[_0x3152fb(0x20b)]),{'success':!![],'lockValue':_0xa7e9f,'lockKey':_0x147d9b};}logger['debug']({'event':_0x3152fb(0x1f1),'writeKey':_0x147d9b,'readCount':_0x3f8276,'attempt':_0x10d44e},_0x4a33a4[_0x3152fb(0x230)]),await this[_0x3152fb(0x22e)](_0x4a33a4['DrEWl'](this[_0x3152fb(0x223)],Math[_0x3152fb(0x1f5)](0x2,_0x10d44e)));}return logger['warn']({'event':'write_lock_timeout','key':_0x147d9b},_0x4a33a4[_0x3152fb(0x23d)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3810b2){return logger[_0x3152fb(0x1fd)]({'event':_0x4a33a4[_0x3152fb(0x214)],'error':_0x3810b2[_0x3152fb(0x23a)]},_0x4a33a4[_0x3152fb(0x20a)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x292047(0x22b)](_0x60d950,_0x123a0b){const _0x589161=a0_0x292047,_0xc62a37={'aiGvL':'read_lock_released','MmIuT':'READ\x20lock\x20released','ggHsn':'write_lock_released','HQabG':'WRITE\x20lock\x20released','FFFyh':'lock_release_not_owner'};if(!this['enabled']||!_0x60d950)return!![];try{const _0x296f0d=redisClient['getClient']();if(_0x60d950[_0x589161(0x237)](_0x589161(0x20d))){await _0x296f0d['del'](_0x60d950);const _0x351209=_0x60d950[_0x589161(0x221)](0x0,_0x60d950[_0x589161(0x23c)](':')),_0x24afe3=await _0x296f0d['get'](_0x351209);return _0x24afe3&&parseInt(_0x24afe3)>0x0&&await _0x296f0d['decr'](_0x351209),logger['debug']({'event':_0xc62a37[_0x589161(0x205)],'key':_0x60d950},_0xc62a37[_0x589161(0x1ed)]),!![];}const _0x12c1a6='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x4feb13=await _0x296f0d['eval'](_0x12c1a6,0x1,_0x60d950,_0x123a0b);if(_0x4feb13===0x1)return logger['debug']({'event':_0xc62a37[_0x589161(0x215)],'key':_0x60d950},_0xc62a37['HQabG']),!![];return logger['warn']({'event':_0xc62a37[_0x589161(0x226)],'key':_0x60d950},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x318f26){return logger['error']({'event':'lock_release_error','key':_0x60d950,'error':_0x318f26[_0x589161(0x23a)]},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x5e07c4,_0x475953,_0x469019=null){const _0x177abb=a0_0x292047,_0xf642c5={'gdevz':'lock_extended','rBvQV':'lock_extend_error','kNxzB':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x5e07c4)return!![];try{const _0x13136e=redisClient['getClient'](),_0x48846f='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x337ecf=await _0x13136e['eval'](_0x48846f,0x1,_0x5e07c4,_0x475953,_0x469019||this['defaultTTL']);if(_0x337ecf===0x1)return logger['debug']({'event':_0xf642c5['gdevz'],'key':_0x5e07c4,'ttl':_0x469019||this[_0x177abb(0x218)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x507635){return logger[_0x177abb(0x1fd)]({'event':_0xf642c5['rBvQV'],'key':_0x5e07c4,'error':_0x507635['message']},_0xf642c5[_0x177abb(0x1ff)]),![];}}['isEnabled'](){const _0x1f7400=a0_0x292047;return this[_0x1f7400(0x200)];}['sleep'](_0x26db53){return new Promise(_0xe15dc0=>setTimeout(_0xe15dc0,_0x26db53));}async['getLockInfo'](_0x2c26c5){const _0x5c1a61=a0_0x292047,_0x261407={'nmREh':_0x5c1a61(0x217),'qZKWn':_0x5c1a61(0x227),'axfrm':function(_0x24fdea,_0x22ec04){return _0x24fdea||_0x22ec04;}};if(!this['enabled'])return{'enabled':![]};try{const _0x29a453=redisClient['getClient'](),_0x419872=this[_0x5c1a61(0x239)]({..._0x2c26c5,'lockType':_0x261407[_0x5c1a61(0x228)]}),_0x41fa54=this['buildLockKey']({..._0x2c26c5,'lockType':_0x261407['qZKWn']}),[_0x18811e,_0x1a422c]=await Promise['all']([_0x29a453[_0x5c1a61(0x201)](_0x419872),_0x29a453['get'](_0x41fa54)]);return{'enabled':!![],'writeLock':_0x261407['axfrm'](_0x18811e,null),'readCount':parseInt(_0x1a422c)||0x0,'writeKey':_0x419872,'readKey':_0x41fa54};}catch(_0x4828ba){return{'enabled':!![],'error':_0x4828ba['message']};}}}module[a0_0x292047(0x23e)]=new LockManager();
1
+ function a0_0x4a29(_0x391968,_0x237662){_0x391968=_0x391968-0x1dc;const _0x4bcd12=a0_0x4bcd();let _0x4a2960=_0x4bcd12[_0x391968];if(a0_0x4a29['WtSscA']===undefined){var _0x15cc5b=function(_0x8b403d){const _0x482d6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a2bc0='',_0x2fca0f='';for(let _0x24ac9d=0x0,_0x44b523,_0x57459e,_0x5d92d3=0x0;_0x57459e=_0x8b403d['charAt'](_0x5d92d3++);~_0x57459e&&(_0x44b523=_0x24ac9d%0x4?_0x44b523*0x40+_0x57459e:_0x57459e,_0x24ac9d++%0x4)?_0x2a2bc0+=String['fromCharCode'](0xff&_0x44b523>>(-0x2*_0x24ac9d&0x6)):0x0){_0x57459e=_0x482d6d['indexOf'](_0x57459e);}for(let _0x59279e=0x0,_0x54d187=_0x2a2bc0['length'];_0x59279e<_0x54d187;_0x59279e++){_0x2fca0f+='%'+('00'+_0x2a2bc0['charCodeAt'](_0x59279e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fca0f);};a0_0x4a29['sGfrNc']=_0x15cc5b,a0_0x4a29['VuCvhj']={},a0_0x4a29['WtSscA']=!![];}const _0x21d601=_0x4bcd12[0x0],_0x283a65=_0x391968+_0x21d601,_0x39f7a4=a0_0x4a29['VuCvhj'][_0x283a65];return!_0x39f7a4?(_0x4a2960=a0_0x4a29['sGfrNc'](_0x4a2960),a0_0x4a29['VuCvhj'][_0x283a65]=_0x4a2960):_0x4a2960=_0x39f7a4,_0x4a2960;}const a0_0x8ea4dc=a0_0x4a29;(function(_0x1ed246,_0x45766e){const _0x3cb126=a0_0x4a29,_0x2acb3c=_0x1ed246();while(!![]){try{const _0x31fa83=parseInt(_0x3cb126(0x226))/0x1*(-parseInt(_0x3cb126(0x22c))/0x2)+-parseInt(_0x3cb126(0x1e2))/0x3*(parseInt(_0x3cb126(0x21a))/0x4)+parseInt(_0x3cb126(0x221))/0x5+-parseInt(_0x3cb126(0x216))/0x6+parseInt(_0x3cb126(0x22b))/0x7+-parseInt(_0x3cb126(0x215))/0x8*(parseInt(_0x3cb126(0x20f))/0x9)+parseInt(_0x3cb126(0x1f8))/0xa;if(_0x31fa83===_0x45766e)break;else _0x2acb3c['push'](_0x2acb3c['shift']());}catch(_0x548239){_0x2acb3c['push'](_0x2acb3c['shift']());}}}(a0_0x4bcd,0x721d9));const redisClient=require(a0_0x8ea4dc(0x1df)),{logger}=require(a0_0x8ea4dc(0x224)),{v4:uuidv4}=require(a0_0x8ea4dc(0x209));class LockManager{constructor(){const _0x2cf802=a0_0x8ea4dc,_0x24b445='0|1|6|3|7|4|2|5'['split']('|');let _0x345ee9=0x0;while(!![]){switch(_0x24b445[_0x345ee9++]){case'0':this[_0x2cf802(0x1dd)]=null;continue;case'1':this['_enabled']=null;continue;case'2':this['_workerId']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_strategy']=null;continue;case'5':this[_0x2cf802(0x1f0)]=![];continue;case'6':this['_defaultTTL']=null;continue;case'7':this['_retryDelay']=null;continue;}break;}}['_initConfig'](){const _0x4b0ba3=a0_0x8ea4dc,_0x50b91d={'vulmf':function(_0x1d428f,_0x2ecfaa){return _0x1d428f===_0x2ecfaa;},'VxbiA':'true','lMtdq':function(_0x5cfb43,_0x146f29,_0xcb08e7){return _0x5cfb43(_0x146f29,_0xcb08e7);},'vtahA':function(_0x37ab2b,_0x296912,_0x146298){return _0x37ab2b(_0x296912,_0x146298);},'ELVBe':_0x4b0ba3(0x208)};this[_0x4b0ba3(0x1dd)]=_0x4b0ba3(0x22a),this['_enabled']=_0x50b91d['vulmf'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x50b91d['VxbiA']),this[_0x4b0ba3(0x229)]=_0x50b91d[_0x4b0ba3(0x218)](parseInt,process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1e4)],0xa)||0xa,this[_0x4b0ba3(0x21e)]=_0x50b91d[_0x4b0ba3(0x20b)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x4b0ba3(0x1fe)]=parseInt(process['env'][_0x4b0ba3(0x1de)],0xa)||0x64,this['_strategy']=process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1ec)]||_0x50b91d[_0x4b0ba3(0x200)],this['_workerId']='worker-'+process[_0x4b0ba3(0x1ef)],this[_0x4b0ba3(0x1f0)]=!![],logger['info']({'event':_0x4b0ba3(0x20e),'enabled':this['_enabled'],'strategy':this[_0x4b0ba3(0x206)],'ttl':this['_defaultTTL'],'retryCount':this[_0x4b0ba3(0x21e)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4b0ba3(0x1fc)+this['_strategy']);}['_ensureInitialized'](){const _0x4413ab=a0_0x8ea4dc;!this[_0x4413ab(0x1f0)]&&this['_initConfig']();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x8ea4dc(0x1f6)](){const _0x1f4679=a0_0x8ea4dc;return this[_0x1f4679(0x1fa)](),this[_0x1f4679(0x20a)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x18ae49=a0_0x8ea4dc;return this[_0x18ae49(0x1fa)](),this['_retryCount'];}get[a0_0x8ea4dc(0x22e)](){const _0x4eedac=a0_0x8ea4dc;return this['_ensureInitialized'](),this[_0x4eedac(0x1fe)];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x8ea4dc(0x21b)](){const _0x3bf591=a0_0x8ea4dc;return this[_0x3bf591(0x1fa)](),this[_0x3bf591(0x205)];}['buildLockKey'](_0x5bbd4d){const _0xc3a222=a0_0x8ea4dc,{module:_0x3e0c3f,endpoint:_0x2cd0f6,lockType:_0x245cf7,recordId:_0x69003}=_0x5bbd4d;if(_0x69003)return''+this['prefix']+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x69003+':'+_0x245cf7;return''+this[_0xc3a222(0x20c)]+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x245cf7;}[a0_0x8ea4dc(0x1f1)](){const _0x22b99b=a0_0x8ea4dc;return this['workerId']+':'+uuidv4()+':'+Date[_0x22b99b(0x213)]();}async[a0_0x8ea4dc(0x227)](_0xb935e5){const _0x43616e=a0_0x8ea4dc,_0x19c9ae={'jSgCr':'read','CFQqm':function(_0xe65893,_0x16d83c){return _0xe65893<_0x16d83c;},'coMTa':'read_lock_acquired','cgjge':'READ\x20lock\x20acquired','nnNWV':_0x43616e(0x225),'cVJyt':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','NOrzi':_0x43616e(0x1e3),'UcuLk':'read_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x511a67=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':'write'}),_0x101d12=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':_0x19c9ae['jSgCr']}),_0x5bd094=this[_0x43616e(0x1f1)]();try{const _0x55aaa9=redisClient['getClient']();for(let _0x39f8fc=0x0;_0x19c9ae['CFQqm'](_0x39f8fc,this['retryCount']);_0x39f8fc++){const _0x3fa434=await _0x55aaa9[_0x43616e(0x1f4)](_0x511a67);if(!_0x3fa434){await _0x55aaa9['incr'](_0x101d12),await _0x55aaa9['expire'](_0x101d12,this[_0x43616e(0x1e9)]);const _0x35fbae=_0x101d12+':'+_0x5bd094;return await _0x55aaa9['setex'](_0x35fbae,this[_0x43616e(0x1e9)],_0x5bd094),logger[_0x43616e(0x223)]({'event':_0x19c9ae['coMTa'],'key':_0x101d12,'value':_0x5bd094},_0x19c9ae['cgjge']),{'success':!![],'lockValue':_0x5bd094,'lockKey':_0x35fbae};}logger['debug']({'event':_0x19c9ae['nnNWV'],'writeKey':_0x511a67,'attempt':_0x39f8fc},_0x19c9ae['cVJyt']),await this[_0x43616e(0x1f9)](this[_0x43616e(0x22e)]*Math['pow'](0x2,_0x39f8fc));}return logger['warn']({'event':_0x19c9ae['NOrzi'],'key':_0x101d12},_0x43616e(0x1e7)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40734d){return logger['error']({'event':_0x19c9ae['UcuLk'],'error':_0x40734d[_0x43616e(0x207)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x8ea4dc(0x1dc)](_0x23a143){const _0x22228b=a0_0x8ea4dc,_0x42a72d={'bqERP':'write','ySqgV':'read','bwuIo':function(_0x34d255,_0x5a2d35){return _0x34d255===_0x5a2d35;},'eZUET':'write_lock_acquired','aqada':'reject','ctiRc':_0x22228b(0x222),'dZruV':'write_lock_rejected','zMuSw':function(_0x4c09ef,_0x507cb6){return _0x4c09ef(_0x507cb6);},'ddsgK':_0x22228b(0x208),'nYPrv':_0x22228b(0x1fd),'KuHVv':'Waiting\x20for\x20locks\x20to\x20release','DuuqZ':function(_0xf0bea7,_0x43c2f1){return _0xf0bea7*_0x43c2f1;}};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x40b5ea=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d['bqERP']}),_0x2e9544=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d[_0x22228b(0x1f7)]}),_0x11a4b5=this[_0x22228b(0x1f1)]();try{const _0x1486af=redisClient[_0x22228b(0x1f2)]();if(this['strategy']===_0x22228b(0x219)){const _0x28f4fa=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x42a72d['bwuIo'](_0x28f4fa,'OK'))return logger['debug']({'event':_0x42a72d[_0x22228b(0x1ed)],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['aqada']},_0x42a72d[_0x22228b(0x1f3)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};return logger[_0x22228b(0x223)]({'event':_0x42a72d['dZruV'],'key':_0x40b5ea},_0x22228b(0x20d)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0xd5560a=0x0;_0xd5560a<this['retryCount'];_0xd5560a++){const [_0x413570,_0x3dab3d]=await Promise['all']([_0x1486af[_0x22228b(0x1f4)](_0x2e9544),_0x1486af['get'](_0x40b5ea)]);if(!_0x3dab3d&&(!_0x413570||_0x42a72d[_0x22228b(0x1eb)](parseInt,_0x413570)===0x0)){const _0x2f7785=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x2f7785==='OK')return logger['debug']({'event':_0x42a72d['eZUET'],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['ddsgK']},_0x42a72d[_0x22228b(0x1e5)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x40b5ea,'readCount':_0x413570,'attempt':_0xd5560a},_0x42a72d[_0x22228b(0x1e8)]),await this[_0x22228b(0x1f9)](_0x42a72d[_0x22228b(0x1e1)](this[_0x22228b(0x22e)],Math['pow'](0x2,_0xd5560a)));}return logger['warn']({'event':'write_lock_timeout','key':_0x40b5ea},_0x22228b(0x214)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x38e37e){return logger[_0x22228b(0x1e6)]({'event':_0x22228b(0x201),'error':_0x38e37e[_0x22228b(0x207)]},_0x22228b(0x22d)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x44a584,_0x5df27c){const _0x1f70bf=a0_0x8ea4dc,_0x5207ed={'rFgKh':':read:','LbcQH':function(_0x4c2ac7,_0x3abd0c){return _0x4c2ac7===_0x3abd0c;},'oOSJZ':'write_lock_released'};if(!this[_0x1f70bf(0x1f6)]||!_0x44a584)return!![];try{const _0x4c7c9e=redisClient[_0x1f70bf(0x1f2)]();if(_0x44a584[_0x1f70bf(0x210)](_0x5207ed['rFgKh'])){await _0x4c7c9e[_0x1f70bf(0x21c)](_0x44a584);const _0x3c4d94=_0x44a584[_0x1f70bf(0x211)](0x0,_0x44a584[_0x1f70bf(0x1f5)](':')),_0x36dcdc=await _0x4c7c9e['get'](_0x3c4d94);return _0x36dcdc&&parseInt(_0x36dcdc)>0x0&&await _0x4c7c9e['decr'](_0x3c4d94),logger[_0x1f70bf(0x223)]({'event':'read_lock_released','key':_0x44a584},_0x1f70bf(0x217)),!![];}const _0x4b4add=_0x1f70bf(0x202),_0x5aeea8=await _0x4c7c9e['eval'](_0x4b4add,0x1,_0x44a584,_0x5df27c);if(_0x5207ed['LbcQH'](_0x5aeea8,0x1))return logger[_0x1f70bf(0x223)]({'event':_0x5207ed['oOSJZ'],'key':_0x44a584},_0x1f70bf(0x1ee)),!![];return logger[_0x1f70bf(0x1fb)]({'event':_0x1f70bf(0x203),'key':_0x44a584},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x1f0b1c){return logger[_0x1f70bf(0x1e6)]({'event':_0x1f70bf(0x1ff),'key':_0x44a584,'error':_0x1f0b1c[_0x1f70bf(0x207)]},_0x1f70bf(0x220)),![];}}async['extendLock'](_0x12df37,_0x295364,_0x391d78=null){const _0x1a6dd8=a0_0x8ea4dc,_0x4887cf={'iHdyp':function(_0x52dab5,_0x18ec16){return _0x52dab5===_0x18ec16;}};if(!this[_0x1a6dd8(0x1f6)]||!_0x12df37)return!![];try{const _0x43e1ce=redisClient['getClient'](),_0x1dfcda='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x51a9a=await _0x43e1ce['eval'](_0x1dfcda,0x1,_0x12df37,_0x295364,_0x391d78||this['defaultTTL']);if(_0x4887cf['iHdyp'](_0x51a9a,0x1))return logger[_0x1a6dd8(0x223)]({'event':_0x1a6dd8(0x21d),'key':_0x12df37,'ttl':_0x391d78||this['defaultTTL']},_0x1a6dd8(0x21f)),!![];return![];}catch(_0xe8d169){return logger[_0x1a6dd8(0x1e6)]({'event':'lock_extend_error','key':_0x12df37,'error':_0xe8d169['message']},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x48b61f=a0_0x8ea4dc;return this[_0x48b61f(0x1f6)];}[a0_0x8ea4dc(0x1f9)](_0x1092f3){return new Promise(_0x576e5c=>setTimeout(_0x576e5c,_0x1092f3));}async['getLockInfo'](_0x38a4ee){const _0x7ced1e=a0_0x8ea4dc,_0xaa0fc2={'qMDEY':'write','zvzNj':'read','ziLtx':function(_0x3c02a9,_0x25030b){return _0x3c02a9||_0x25030b;},'ZEjUV':function(_0x5421f7,_0x1db388){return _0x5421f7(_0x1db388);}};if(!this['enabled'])return{'enabled':![]};try{const _0x1e53bd=redisClient[_0x7ced1e(0x1f2)](),_0x4d3ab0=this[_0x7ced1e(0x1e0)]({..._0x38a4ee,'lockType':_0xaa0fc2['qMDEY']}),_0x1fbc7b=this['buildLockKey']({..._0x38a4ee,'lockType':_0xaa0fc2[_0x7ced1e(0x204)]}),[_0x236c38,_0x44cd23]=await Promise['all']([_0x1e53bd['get'](_0x4d3ab0),_0x1e53bd[_0x7ced1e(0x1f4)](_0x1fbc7b)]);return{'enabled':!![],'writeLock':_0xaa0fc2[_0x7ced1e(0x228)](_0x236c38,null),'readCount':_0xaa0fc2[_0x7ced1e(0x212)](parseInt,_0x44cd23)||0x0,'writeKey':_0x4d3ab0,'readKey':_0x1fbc7b};}catch(_0x58333e){return{'enabled':!![],'error':_0x58333e['message']};}}}module['exports']=new LockManager();function a0_0x4bcd(){const _0x15eb2f=['x3jLDhj5q291BNq','tg9JAYbuveWGzxH0zw5Kzwq','tg9JAYbYzwXLyxnLigvYCM9Y','mtC4nZa5nwHpA21wsW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvIDwC','lI9SB2DNzxi','CMvHzf9SB2nRx3DHAxrPBMC','nZyYntq0B1PmCgjl','ywnXDwLYzvjLywrmB2nR','EMLmDhG','x2rLzMf1BhruveW','CMy6Bg9JAZO','mJeXnte5mhPoC011Aa','mLHqAfPtDW','v1jjveuGBg9JAYbLCNjVCG','CMv0CNLezwXHEq','ywnXDwLYzvDYAxrLtg9JAW','x3bYzwzPEa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','lI9YzwrPCY1JBgLLBNq','yNvPBgrmB2nRs2v5','rhv1CvO','mtm3mtqYm1PfyvDdqW','CMvHzf9SB2nRx3rPBwvVDxq','te9ds19esvnuuKLcvvrfrf9uveW','BLLqCNy','zxjYB3i','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','s3vivNy','zgvMyxvSDfruta','zw52','EK11u3C','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','zvPvrvq','v1jjveuGBg9JAYbYzwXLyxnLza','CgLK','x2LUAxrPywXPEMvK','z2vUzxjHDgvmB2nRvMfSDwu','z2v0q2XPzw50','y3rPuMm','z2v0','BgfZDeLUzgv4t2y','zw5HyMXLza','EvnXz1y','mJq5nZy2mtboruzluu0','C2XLzxa','x2vUC3vYzuLUAxrPywXPEMvK','D2fYBG','lcbZDhjHDgvNEtOG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x3jLDhj5rgvSyxK','Bg9JA19YzwXLyxnLx2vYCM9Y','ruXwqMu','D3jPDgvFBg9JA19LCNjVCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','ENz6tMO','x3DVCMTLCKLK','x3n0CMf0zwD5','BwvZC2fNzq','CMv0CNK','DxvPza','x2vUywjSzwq','DNrHAee','ChjLzML4','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','Bg9JA19JB25MAwDFAw5PDa','ndvJEKf0whq','Aw5JBhvKzxm','C3vIC3rYAw5N','wKvQvvy','BM93','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ndKXntuYtePgqLnw','ndiZndCYmMHxtvbKCW','uKvbrcbSB2nRihjLBgvHC2vK','Be10zhe','CMvQzwn0','oerkDhfrDa','D29YA2vYswq','zgvS','Bg9JA19LEhrLBMrLza'];a0_0x4bcd=function(){return _0x15eb2f;};return a0_0x4bcd();}
@@ -1 +1 @@
1
- const a0_0x3698b4=a0_0x15d9;(function(_0x5de069,_0x274842){const _0x393e7e=a0_0x15d9,_0x4d4965=_0x5de069();while(!![]){try{const _0x4f3a26=-parseInt(_0x393e7e(0x241))/0x1+parseInt(_0x393e7e(0x1a9))/0x2*(-parseInt(_0x393e7e(0x1ee))/0x3)+-parseInt(_0x393e7e(0x1b3))/0x4*(parseInt(_0x393e7e(0x24c))/0x5)+parseInt(_0x393e7e(0x1ce))/0x6+-parseInt(_0x393e7e(0x223))/0x7*(parseInt(_0x393e7e(0x1c1))/0x8)+parseInt(_0x393e7e(0x22b))/0x9*(parseInt(_0x393e7e(0x1b7))/0xa)+parseInt(_0x393e7e(0x1c3))/0xb*(parseInt(_0x393e7e(0x237))/0xc);if(_0x4f3a26===_0x274842)break;else _0x4d4965['push'](_0x4d4965['shift']());}catch(_0x2f4948){_0x4d4965['push'](_0x4d4965['shift']());}}}(a0_0x5372,0x5a9c3));const pino=require(a0_0x3698b4(0x190)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x3698b4(0x1af),serviceName=a0_0x3698b4(0x242),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x5372(){const _0x2e8e7a=['D3jPDgu','mtCXnNHOzvbAwq','A3LHu24','v05JwLe','zxjYB3i','uMPutKm','w1jfrefdveveoMHHC2HD','icbizwfSDgG6ia','u29VrLO','te9hx0rjuG','su5trvju','zMf0ywW','mZy1ode1ogjRsLDLDW','s3fcA3u','y2HPBgq','zw52','s092DMC','BhDnywO','ic0G','C3rKvgLTzuz1BMn0Aw9UCW','sLDux1nfq1jfva','C2vYDMLJzuLUzM8','C3rHDhvZ','BwvTB3j5vxnHz2u','BgrlyKq','EKPltu8','B1bpzue','zMLSzv9SB2DNAw5Nx2vUywjSzwq','rermx0rst1a','DejTD3C','DxjS','y3jLyxrLv3jPDgvtDhjLyw0','C3rHDhvZq29Kzq','AM9PBG','qwDPExe','A2vvyLK','C3rHCNrZv2L0Aa','q1jjveLdquW','u2vYDMvYihn0yxj0Aw5NoIa','yK5Msem','u1fmx0Xpr19mrvzfta','zgjFDhjHBNnHy3rPB24','lI9SB2DZlW','ChPmuhK','mtvRz0XfywS','ANnVBG','B3jPz2LUywXvCMW','te9hx0XfvKvm','icbvuKW6icaGia','CgfZC3DVCMq','CxvLCNK','u1fmx0Xpr19qqvjbtvm','yMfZzvvYBa','vfjbtLnbq1rjt05Fq09ntuLu','AgvHBhrOq2HLy2S','qKvhsu4','C0LAzhG','yxbPx2TLEq','DhLtAvu','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','Dw54rgi','ChjPDMf0zv9RzxK','zMf0ywXFzxjYB3i','z2v0sgvHzgvYCW','zgvIDwC','Cgf0Aa','EgDOvM8','CM93C0fMzMvJDgvK','ChjPDMf0zwTLEq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','ChjVAMvJDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','oI8V','Cg9YDa','D2fYBMLUzW','zgvMyxvSDa','ms4WlJu','Bwf0y2G','Dg9ju09tDhjPBMC','qunusvzf','qLHWvxi','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','u0vsvKLdrv9oqu1f','CgfKrw5K','Dg9gAxHLza','zgf0ywjHC2u','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Dg9vChbLCKnHC2u','revmrvrf','ChDK','Ahj0Aw1L','q1fNyxG','Ahr0Cf9Yzxf1zxn0','zxjY','BxmP','DhjPBq','rfD4CxG','mJfythbHDNq','uK9mtejbq0S','vfjbtLnbq1rjt05FuK9mtejbq0S','sfbdtuG','rgvMyxvSDa','v3f6Bu4','y1vTwMS','Dxb0Aw1L','oty2mde1se1lrhbA','Dg9Rzw4','BwvZC2fNzq','Dg9mB3DLCKnHC2u','B2jQzwn0','CwTXwM8','CgLU','Dhj1zq','tLnTyue','tI9b','y3jLzgvUDgLHBa','tK9erv9ftLy','ndm4mJrHA2fRsMq','rxjYB3i','rKDJCg4','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','qMnWruG','w1jfrefdveveoNrVA2vUxq','C2vYDMvYx3n0yxj0Aw5N','E21Zz30','DKr4D3e','BgvUz3rO','mtiWntDMz0TiB1C','CMvZDgzVCMDL','AxntBg93','BwfW','BwTKAxjtEw5J','w1jfrefdvevexq','Ag9ZDa','Ec1Yzxf1zxn0lwLK','ywnJzxnZx3rVA2vU','y3z2','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mtC1ndi1ExHpzefq','yxbWlMXVzW','C3bSAxq','C3rHy2S','CgLUBW','zLHWyMO','vKTKwfe','DhLWzq','y3jLzgL0y2fYza','zxjYB3iUBg9N','ig9UihbVCNqG','rePIBfa','Dw5Oyw5KBgvKuMvQzwn0Aw9U','q09ntuLu','u1fmx0Xpr19ftKfcteve','AMnwsuC','wKXRyNG','y3jLzgL0x2nHCMq','BwDozNC','Dw5JyxvNAhrfEgnLChrPB24','Aw5JBhvKzxm','yxbPs2v5','zgjFCxvLCNK','zMXVB3i','C3nU','sw50zxjUywWGC2vYDMvYigvYCM9Y','BMfTzq','tvvoCve','zKvuAfm','mtyZmZK4v29Zs09y','uhfttLa','vfjbtLnbq1rjt05FqKvhsu4','A2L0rxy','veXjAhC','y29UzMLNrMLSzq','lI9SB2DZ','tK9uiefdveLwrq','zg1tyM4','ChjVzhvJDgLVBG','ohzcsufwuW','D05jwM0','wMnTwKm','AwjZDMe','mZbct1jqDwC','B2rLBgq','CMvWzwf0','u0vmrunu','Aw5MBW','D2fYBG','r21dyLi','Bwv0Ag9K','CMvZB2X2zq','C2vJCMv0','mtCWntq2ng5NDLb2Ba'];a0_0x5372=function(){return _0x2e8e7a;};return a0_0x5372();}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x3698b4(0x23e),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x3698b4(0x1d1)]['NODE_ENV']!==a0_0x3698b4(0x1b2),logLevel=process[a0_0x3698b4(0x1d1)][a0_0x3698b4(0x1f1)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x3698b4(0x20e),'env':process[a0_0x3698b4(0x1d1)][a0_0x3698b4(0x236)]||'development'},'timestamp':pino[a0_0x3698b4(0x1d5)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x3698b4(0x1f3),'token',a0_0x3698b4(0x1a1),'DB_PASSWORD',a0_0x3698b4(0x1d6)],'censor':a0_0x3698b4(0x246)},'serializers':{'req':_0x2abb26=>({'id':_0x2abb26['id'],'method':_0x2abb26[a0_0x3698b4(0x1be)],'url':_0x2abb26[a0_0x3698b4(0x1e0)],'path':_0x2abb26['path'],'remoteAddress':_0x2abb26['ip']||_0x2abb26['connection']?.['remoteAddress']}),'res':_0x24b2d4=>({'statusCode':_0x24b2d4['statusCode'],'headers':_0x24b2d4[a0_0x3698b4(0x201)]?.()}),'err':pino['stdSerializers'][a0_0x3698b4(0x21f)]}});function initFileLogging(){const _0x5d32a8=a0_0x3698b4,_0x3e6f11={'kitEv':_0x5d32a8(0x232),'DJblP':function(_0x302e8e,_0x2712a1){return _0x302e8e===_0x2712a1;},'CQgax':function(_0x5848f2,_0x270723){return _0x5848f2!==_0x270723;},'jcVIG':'false','fEThS':_0x5d32a8(0x24d),'mgNfw':_0x5d32a8(0x195),'WqzmN':_0x5d32a8(0x1bb)};if(fileLoggingInitialized)return;logToFile=process[_0x5d32a8(0x1d1)]['LOG_TO_FILE']===_0x3e6f11[_0x5d32a8(0x1ac)];const _0x3ba965=process['env'][_0x5d32a8(0x24b)]||_0x5d32a8(0x20d);logDir=process[_0x5d32a8(0x1d1)][_0x5d32a8(0x1cb)]||_0x5d32a8(0x1ec)+_0x3ba965,serviceName=process['env'][_0x5d32a8(0x214)]||'restforge',sqlLogEnabled=_0x3e6f11[_0x5d32a8(0x197)](process['env'][_0x5d32a8(0x19a)],'true'),sqlLogLevel=process['env'][_0x5d32a8(0x1ea)]||'debug',sqlLogParams=_0x3e6f11[_0x5d32a8(0x21d)](process['env'][_0x5d32a8(0x1f5)],_0x3e6f11[_0x5d32a8(0x19b)]),sqlLogSlowThreshold=parseInt(process[_0x5d32a8(0x1d1)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1829bf=path[_0x5d32a8(0x1bf)](process['cwd'](),logDir);try{!fs['existsSync'](_0x1829bf)&&fs[_0x5d32a8(0x245)](_0x1829bf,{'recursive':!![]});}catch(_0x2df67c){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x1829bf+':',_0x2df67c['message']),fileLoggingInitialized=!![];return;}const _0x426b14=path['join'](_0x1829bf,_0x3e6f11[_0x5d32a8(0x1a8)]),_0xa516b5=path[_0x5d32a8(0x1e3)](_0x1829bf,_0x3e6f11['mgNfw']);try{appLogStream=fs['createWriteStream'](_0x426b14,{'flags':'a'}),errorLogStream=fs[_0x5d32a8(0x1e1)](_0xa516b5,{'flags':'a'}),fileLoggingInitialized=!![];const _0x351e3b={'event':_0x5d32a8(0x1dd),'logDir':_0x1829bf,'files':['app.log',_0x3e6f11[_0x5d32a8(0x19e)]]},_0x40b0af=_0x5d32a8(0x213)+_0x1829bf;logger[_0x5d32a8(0x1bb)](_0x351e3b,_0x40b0af),writeToFileLog({..._0x351e3b,'level':_0x5d32a8(0x1bb),'msg':_0x40b0af,'time':new Date()[_0x5d32a8(0x210)]()},_0x3e6f11[_0x5d32a8(0x228)]);}catch(_0x1f3ec1){console['error'](_0x5d32a8(0x23a),_0x1f3ec1[_0x5d32a8(0x22d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4e2b93,_0x5de229){const _0x239cfe=a0_0x3698b4,_0x465c4a={'prcUY':function(_0x2b4e1e,_0x156de5){return _0x2b4e1e||_0x156de5;},'BcpEH':function(_0x5813e2,_0x5e16a6){return _0x5813e2===_0x5e16a6;},'tBmww':_0x239cfe(0x1c6),'HPCMH':'fatal'};if(_0x465c4a['prcUY'](!logToFile,!appLogStream))return;const _0x3cb493={'service':serviceName,..._0x4e2b93},_0x36ac5f=JSON['stringify'](_0x3cb493)+'\x0a';appLogStream[_0x239cfe(0x1c2)](_0x36ac5f),(_0x465c4a['BcpEH'](_0x5de229,_0x465c4a[_0x239cfe(0x1df)])||_0x465c4a[_0x239cfe(0x23b)](_0x5de229,_0x465c4a[_0x239cfe(0x226)]))&&(errorLogStream&&errorLogStream['write'](_0x36ac5f));}function a0_0x15d9(_0x2b2d27,_0x278760){_0x2b2d27=_0x2b2d27-0x18f;const _0x53728a=a0_0x5372();let _0x15d9ee=_0x53728a[_0x2b2d27];if(a0_0x15d9['AgnHNI']===undefined){var _0x1e8dbb=function(_0x373c2b){const _0x2bbece='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x444e51='',_0x2008a6='';for(let _0x33adea=0x0,_0x512627,_0x5f3a39,_0x5a3c29=0x0;_0x5f3a39=_0x373c2b['charAt'](_0x5a3c29++);~_0x5f3a39&&(_0x512627=_0x33adea%0x4?_0x512627*0x40+_0x5f3a39:_0x5f3a39,_0x33adea++%0x4)?_0x444e51+=String['fromCharCode'](0xff&_0x512627>>(-0x2*_0x33adea&0x6)):0x0){_0x5f3a39=_0x2bbece['indexOf'](_0x5f3a39);}for(let _0x180afc=0x0,_0x4b57c1=_0x444e51['length'];_0x180afc<_0x4b57c1;_0x180afc++){_0x2008a6+='%'+('00'+_0x444e51['charCodeAt'](_0x180afc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2008a6);};a0_0x15d9['ItHxOo']=_0x1e8dbb,a0_0x15d9['JvWwNC']={},a0_0x15d9['AgnHNI']=!![];}const _0x15858d=_0x53728a[0x0],_0x4bc6a9=_0x2b2d27+_0x15858d,_0x47b607=a0_0x15d9['JvWwNC'][_0x4bc6a9];return!_0x47b607?(_0x15d9ee=a0_0x15d9['ItHxOo'](_0x15d9ee),a0_0x15d9['JvWwNC'][_0x4bc6a9]=_0x15d9ee):_0x15d9ee=_0x47b607,_0x15d9ee;}const createRequestLogger=(_0x5a9ae6={})=>{const _0x1d5f11=a0_0x3698b4;return logger[_0x1d5f11(0x1d0)](_0x5a9ae6);},logServerStart=_0x446f9d=>{const _0x4fa921=a0_0x3698b4,_0x1325b7={'cUmZk':'RESTFORGE\x20RUNTIME\x20SERVER','wNIZm':function(_0x6a95b0,_0x3cab2b){return _0x6a95b0-_0x3cab2b;},'KFzTM':'Node.js','CiQiK':_0x4fa921(0x234),'sIZdx':_0x4fa921(0x1b0),'ueMit':_0x4fa921(0x23d),'qbbzP':function(_0x2d68b5,_0x208f80,_0x3f7349){return _0x2d68b5(_0x208f80,_0x3f7349);},'ZcmZC':'info'},_0x4b4f1d=_0x1325b7[_0x4fa921(0x229)],_0x39265f=Math['max'](0x0,_0x1325b7[_0x4fa921(0x1b4)](0x37,_0x4b4f1d['length'])),_0x3cb438=Math[_0x4fa921(0x1a3)](_0x39265f/0x2),_0x341884=_0x39265f-_0x3cb438,_0x5e3cae='║'+'\x20'['repeat'](_0x3cb438)+_0x4b4f1d+'\x20'[_0x4fa921(0x1b9)](_0x341884)+'║',_0x43eebe=_0x4fa921(0x1fd)+_0x5e3cae+_0x4fa921(0x218)+(_0x446f9d['environment']||_0x1325b7['KFzTM'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x446f9d[_0x4fa921(0x208)]||_0x1325b7['CiQiK'])['padEnd'](0x26)+_0x4fa921(0x209)+String(_0x446f9d[_0x4fa921(0x20b)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x446f9d[_0x4fa921(0x1ae)]||_0x4fa921(0x227))[_0x4fa921(0x215)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x446f9d[_0x4fa921(0x1a1)]?_0x4fa921(0x211):_0x1325b7[_0x4fa921(0x1fa)])['padEnd'](0x26)+_0x4fa921(0x207);console['log'](_0x43eebe);const _0x4427a8={'event':_0x1325b7['ueMit'],'project':_0x446f9d[_0x4fa921(0x208)],'port':_0x446f9d[_0x4fa921(0x20b)],'config':_0x446f9d[_0x4fa921(0x1ae)],'apiKeyEnabled':!!_0x446f9d['apiKey']};logger['info'](_0x4427a8),_0x1325b7['qbbzP'](writeToFileLog,{..._0x4427a8,'level':'info','msg':_0x4fa921(0x1e8)+_0x446f9d[_0x4fa921(0x208)]+_0x4fa921(0x196)+_0x446f9d[_0x4fa921(0x20b)],'time':new Date()[_0x4fa921(0x210)]()},_0x1325b7[_0x4fa921(0x1b5)]);},logServerReady=_0xe526fb=>{const _0x30e30e=a0_0x3698b4,_0x425fe5={'kyaSn':'server_ready','PsUre':function(_0x10e3f9,_0x1b5de2,_0x372282){return _0x10e3f9(_0x1b5de2,_0x372282);},'WJwwb':'info'},_0x3ff1b1={'event':_0x425fe5[_0x30e30e(0x1c4)],'port':_0xe526fb['port'],'module':_0xe526fb['module'],'healthCheck':_0xe526fb[_0x30e30e(0x1f8)],'serviceInfo':_0xe526fb['serviceInfo'],'baseUrl':_0xe526fb['baseUrl']},_0x5d1b9e='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0xe526fb['port'];logger[_0x30e30e(0x1bb)](_0x3ff1b1,_0x5d1b9e),_0x425fe5['PsUre'](writeToFileLog,{..._0x3ff1b1,'level':_0x425fe5['WJwwb'],'msg':_0x5d1b9e,'time':new Date()['toISOString']()},_0x425fe5['WJwwb']),_0xe526fb['healthCheck']&&logger['info'](_0x30e30e(0x1c9)+_0xe526fb['healthCheck']),_0xe526fb[_0x30e30e(0x1d7)]&&logger[_0x30e30e(0x1bb)]('\x20\x20Info:\x20\x20\x20'+_0xe526fb[_0x30e30e(0x1d7)]),_0xe526fb[_0x30e30e(0x1f6)]&&logger['info'](_0x30e30e(0x1f2)+_0xe526fb['baseUrl']);},logProjectLoaded=(_0x4fadb3,_0x103bd8)=>{const _0x1d16c0=a0_0x3698b4,_0x164b4f={'TZpDt':'project_loaded','GmCbR':function(_0xa3b115,_0x2984cc,_0x14f6c2){return _0xa3b115(_0x2984cc,_0x14f6c2);},'fXpbj':_0x1d16c0(0x1bb)},_0x2c28dd={'event':_0x164b4f['TZpDt'],'project':_0x4fadb3,'path':_0x103bd8},_0x5c9086='[OK]\x20Project\x20loaded:\x20'+_0x4fadb3;logger[_0x1d16c0(0x1bb)](_0x2c28dd,_0x5c9086),_0x164b4f[_0x1d16c0(0x1bd)](writeToFileLog,{..._0x2c28dd,'level':_0x1d16c0(0x1bb),'msg':_0x5c9086,'time':new Date()[_0x1d16c0(0x210)]()},_0x164b4f[_0x1d16c0(0x191)]);},logEndpointRegistered=(_0x428a37,_0x5157c7)=>{const _0x4752b9=a0_0x3698b4,_0x121c01={'MsTrA':'endpoint_registered','qSJPT':function(_0xa941c6,_0x6adf0,_0x3d10d4){return _0xa941c6(_0x6adf0,_0x3d10d4);},'JoqFl':'debug'},_0x223ab4={'event':_0x121c01['MsTrA'],'endpoint':_0x428a37,'route':_0x5157c7},_0x2c08d4='\x20\x20→\x20'+_0x428a37+':\x20'+_0x5157c7;logger['debug'](_0x223ab4,_0x2c08d4),_0x121c01['qSJPT'](writeToFileLog,{..._0x223ab4,'level':_0x4752b9(0x202),'msg':_0x2c08d4,'time':new Date()['toISOString']()},_0x121c01['JoqFl']);},logDatabaseConfig=_0x47b0be=>{const _0x547feb=a0_0x3698b4,_0x5fe52b={'lwMaj':function(_0xef33ba,_0xb6dc69,_0x556bd5){return _0xef33ba(_0xb6dc69,_0x556bd5);},'pzLPy':_0x547feb(0x202)},_0x1f7033={'event':'database_config','host':_0x47b0be[_0x547feb(0x247)],'port':_0x47b0be[_0x547feb(0x20b)],'database':_0x47b0be[_0x547feb(0x217)],'type':_0x47b0be['type'],'user':_0x47b0be['user']},_0x3e123c='Database:\x20'+_0x47b0be[_0x547feb(0x193)]+_0x547feb(0x20a)+_0x47b0be[_0x547feb(0x247)]+':'+_0x47b0be[_0x547feb(0x20b)]+'/'+_0x47b0be['database'];logger['debug'](_0x1f7033,_0x3e123c),_0x5fe52b[_0x547feb(0x1d3)](writeToFileLog,{..._0x1f7033,'level':_0x5fe52b[_0x547feb(0x1ed)],'msg':_0x3e123c,'time':new Date()[_0x547feb(0x210)]()},'debug');},logRequest=(_0x57a21a,_0x12635e,_0x506805)=>{const _0x4b1f4d=a0_0x3698b4,_0x3904f8={'ldKbD':_0x4b1f4d(0x21e),'biEWG':_0x4b1f4d(0x1bb),'ZLkbx':'error','FGcpn':function(_0x39a23a,_0x471a77){return _0x39a23a>=_0x471a77;},'izyvZ':_0x4b1f4d(0x1bc)},_0x15c524={'event':_0x3904f8[_0x4b1f4d(0x1da)],'method':_0x57a21a['method'],'path':_0x57a21a['path'],'statusCode':_0x12635e[_0x4b1f4d(0x1e2)],'durationMs':_0x506805,'ip':_0x57a21a['ip']},_0x7eeca4=_0x57a21a[_0x4b1f4d(0x1be)]+'\x20'+_0x57a21a[_0x4b1f4d(0x203)]+_0x4b1f4d(0x1d4)+_0x12635e['statusCode']+'\x20('+_0x506805+_0x4b1f4d(0x220);let _0x3fb4d1=_0x3904f8['biEWG'];if(_0x12635e[_0x4b1f4d(0x1e2)]>=0x1f4)_0x3fb4d1=_0x3904f8[_0x4b1f4d(0x19c)],logger['error'](_0x15c524,_0x7eeca4);else _0x3904f8[_0x4b1f4d(0x239)](_0x12635e['statusCode'],0x190)?(_0x3fb4d1=_0x3904f8['izyvZ'],logger['warn'](_0x15c524,_0x7eeca4)):logger[_0x4b1f4d(0x1bb)](_0x15c524,_0x7eeca4);writeToFileLog({..._0x15c524,'level':_0x3fb4d1,'msg':_0x7eeca4,'time':new Date()['toISOString']()},_0x3fb4d1);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x3698b4(0x21b),'token',a0_0x3698b4(0x249),'refresh_token',a0_0x3698b4(0x1c0),'api_secret','apikey','api_key',a0_0x3698b4(0x235),'credentials',a0_0x3698b4(0x231),'otp',a0_0x3698b4(0x1ff),a0_0x3698b4(0x206)],redactSensitiveParams=(_0x5e5d04,_0x17e4ab)=>{const _0x8db986=a0_0x3698b4,_0x2d53b5={'GrQBT':_0x8db986(0x246),'yXWWm':function(_0x4c205e,_0x367c2a){return _0x4c205e===_0x367c2a;},'brgpU':'string','GexFz':function(_0x18b1a9,_0x2c1c15){return _0x18b1a9===_0x2c1c15;}};if(!_0x5e5d04||_0x2d53b5['GexFz'](_0x5e5d04[_0x8db986(0x240)],0x0))return _0x5e5d04;const _0x42f9ee=_0x17e4ab[_0x8db986(0x22e)](),_0x2495c3=_0x42f9ee[_0x8db986(0x20f)](/\(([^)]+)\)\s*values/i);let _0x51cc76=[];_0x2495c3&&(_0x51cc76=_0x2495c3[0x1][_0x8db986(0x24e)](',')['map'](_0x23e144=>_0x23e144[_0x8db986(0x221)]()['toLowerCase']()));const _0x2f21c1=_0x42f9ee[_0x8db986(0x20f)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2f21c1){const _0x3f5653=_0x2f21c1[0x1],_0x17c88d=_0x3f5653['match'](/(\w+)\s*=/g);_0x17c88d&&(_0x51cc76=_0x17c88d[_0x8db986(0x244)](_0x5557a3=>_0x5557a3['replace'](/\s*=/,'')[_0x8db986(0x221)]()['toLowerCase']()));}return _0x5e5d04['map']((_0x100c14,_0x3927c9)=>{const _0x153413=_0x8db986;if(_0x51cc76[_0x3927c9]){const _0xeab313=_0x51cc76[_0x3927c9],_0x4ab943=SENSITIVE_PARAM_PATTERNS['some'](_0x451911=>_0xeab313[_0x153413(0x1a0)](_0x451911));if(_0x4ab943)return _0x2d53b5['GrQBT'];}if(_0x2d53b5['yXWWm'](typeof _0x100c14,_0x2d53b5['brgpU'])&&_0x100c14[_0x153413(0x240)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x100c14)&&_0x100c14[_0x153413(0x1a0)]('.'))return _0x153413(0x23c);if(/^[a-fA-F0-9]{32,}$/['test'](_0x100c14))return _0x153413(0x1c8);}return _0x100c14;});},parseQueryMetadata=_0x2ec1a3=>{const _0x84cb5b=a0_0x3698b4,_0x36289e={'QeWcq':_0x84cb5b(0x1cc),'zJKMO':_0x84cb5b(0x21a),'zjaPI':_0x84cb5b(0x1f9),'bNfHC':'START\x20TRANSACTION','NSmaA':_0x84cb5b(0x199),'sqMXA':_0x84cb5b(0x1f7),'WGtIS':_0x84cb5b(0x225),'eRKbP':'CREATE','PqSNP':'DROP','iSQus':_0x84cb5b(0x1de)},_0x5a5808=_0x2ec1a3['trim'](),_0x2b959=_0x5a5808[_0x84cb5b(0x219)]();let _0x31ac65='UNKNOWN',_0x5a2f9d=null;if(_0x2b959[_0x84cb5b(0x1e6)](_0x84cb5b(0x1ba))){_0x31ac65=_0x84cb5b(0x1ba);const _0x5e9292=_0x5a5808[_0x84cb5b(0x20f)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x5e9292?_0x5e9292[0x1]:null;}else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e['QeWcq'])){_0x31ac65=_0x84cb5b(0x1cc);const _0x32ac89=_0x5a5808['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x32ac89?_0x32ac89[0x1]:null;}else{if(_0x2b959['startsWith']('UPDATE')){_0x31ac65='UPDATE';const _0x210ec3=_0x5a5808['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x210ec3?_0x210ec3[0x1]:null;}else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e[_0x84cb5b(0x1db)])){_0x31ac65='DELETE';const _0x7cb9f5=_0x5a5808['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x7cb9f5?_0x7cb9f5[0x1]:null;}else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e['zjaPI'])||_0x2b959['startsWith'](_0x36289e[_0x84cb5b(0x1e9)]))_0x31ac65=_0x84cb5b(0x1ab);else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e[_0x84cb5b(0x233)]))_0x31ac65=_0x36289e['sqMXA'];else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x84cb5b(0x224)))_0x31ac65=_0x36289e['WGtIS'];else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e['eRKbP']))_0x31ac65='DDL_CREATE';else{if(_0x2b959['startsWith']('ALTER'))_0x31ac65='DDL_ALTER';else _0x2b959[_0x84cb5b(0x1e6)](_0x36289e[_0x84cb5b(0x1aa)])&&(_0x31ac65=_0x36289e['iSQus']);}}}}}}}}return{'type':_0x31ac65,'table':_0x5a2f9d};},startQueryTimer=()=>{const _0x18eaf5=a0_0x3698b4,_0x5bf11e=process[_0x18eaf5(0x21c)]();return()=>{const _0x2cf24b=_0x18eaf5,[_0x137c0f,_0x5ad187]=process[_0x2cf24b(0x21c)](_0x5bf11e);return parseFloat((_0x137c0f*0x3e8+_0x5ad187/0xf4240)[_0x2cf24b(0x216)](0x2));};},logQuery=(_0x38487d,_0x4ccc34=[],_0x5a49f6={})=>{const _0x419923=a0_0x3698b4,_0x14e9a3={'uudjp':_0x419923(0x1a2),'DWxqx':function(_0x422808,_0x5a5387){return _0x422808(_0x5a5387);},'gDqMC':'sql_query','unxDb':function(_0xb09380,_0x250a4f){return _0xb09380>_0x250a4f;},'WNcZQ':function(_0x44bdad,_0x2ad27a){return _0x44bdad!==_0x2ad27a;},'FRMsB':function(_0x1e2e3d,_0x2747f1){return _0x1e2e3d!==_0x2747f1;},'SooFZ':'unknown','RjTNC':function(_0x1686c7,_0xa369f8){return _0x1686c7>_0xa369f8;},'KqBku':'debug','zJXIp':'\x20[SLOW]','KGEyY':function(_0x4fae46,_0x52431b){return _0x4fae46===_0x52431b;},'wJBbx':'info'};if(!sqlLogEnabled){logger[_0x419923(0x202)]({'event':_0x14e9a3['uudjp'],'query':_0x38487d['substring'](0x0,0xc8),'paramCount':_0x4ccc34[_0x419923(0x240)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x5a49f6,{type:_0x1bd013,table:_0x404427}=_0x14e9a3[_0x419923(0x222)](parseQueryMetadata,_0x38487d),_0x12c378={'event':_0x14e9a3['gDqMC'],'queryType':_0x1bd013,'table':_0x404427,'query':_0x38487d,'paramCount':_0x4ccc34[_0x419923(0x240)],'dbType':dbType};sqlLogParams&&_0x14e9a3[_0x419923(0x1fe)](_0x4ccc34[_0x419923(0x240)],0x0)&&(_0x12c378['params']=redactSensitiveParams(_0x4ccc34,_0x38487d));_0x14e9a3[_0x419923(0x1c5)](duration,null)&&(_0x12c378['durationMs']=duration,_0x12c378[_0x419923(0x243)]=duration>sqlLogSlowThreshold);_0x14e9a3['FRMsB'](rowsAffected,null)&&(_0x12c378[_0x419923(0x205)]=rowsAffected);const _0x5b79e9=_0x404427||_0x14e9a3[_0x419923(0x1ca)];let _0x52210d='['+_0x1bd013+']\x20'+_0x5b79e9;_0x14e9a3[_0x419923(0x1c5)](duration,null)&&(_0x52210d+='\x20('+duration+_0x419923(0x220));const _0x17498b=duration!==null&&_0x14e9a3[_0x419923(0x1c7)](duration,sqlLogSlowThreshold);let _0x2e2db2=_0x14e9a3[_0x419923(0x1cf)];if(_0x17498b)_0x52210d+=_0x14e9a3['zJXIp'],_0x2e2db2=_0x419923(0x1bc),logger[_0x419923(0x1bc)](_0x12c378,_0x52210d);else _0x14e9a3['KGEyY'](sqlLogLevel,_0x14e9a3['wJBbx'])?(_0x2e2db2=_0x14e9a3['wJBbx'],logger['info'](_0x12c378,_0x52210d)):logger['debug'](_0x12c378,_0x52210d);writeToFileLog({..._0x12c378,'level':_0x2e2db2,'msg':_0x52210d,'time':new Date()[_0x419923(0x210)]()},_0x2e2db2);},logTransaction=(_0xa33796,_0xeae2b5)=>{const _0x243f4f=a0_0x3698b4,_0x15abda={'Agiyq':_0x243f4f(0x1eb)},_0x511896={'event':_0x15abda[_0x243f4f(0x1e4)],'status':_0xa33796,'queryCount':_0xeae2b5},_0x15342b='Transaction\x20'+_0xa33796;logger['debug'](_0x511896,_0x15342b),writeToFileLog({..._0x511896,'level':_0x243f4f(0x202),'msg':_0x15342b,'time':new Date()['toISOString']()},'debug');},redactObject=_0x20b437=>{const _0x1b522b=a0_0x3698b4,_0x32bf27={'qkqZo':'object','odeld':'secret','gfrbu':'apikey','JUfdn':_0x1b522b(0x24a),'pCVtl':_0x1b522b(0x1a4),'yCrQL':'pin','Jtton':_0x1b522b(0x1ff),'JBSBp':_0x1b522b(0x249),'TLIhw':'[REDACTED]'};if(!_0x20b437||typeof _0x20b437!==_0x32bf27[_0x1b522b(0x230)])return _0x20b437;const _0x1151bc=['password','passwd',_0x1b522b(0x21b),_0x1b522b(0x22c),_0x32bf27[_0x1b522b(0x1b8)],_0x32bf27['gfrbu'],_0x1b522b(0x1fb),'authorization',_0x1b522b(0x194),_0x1b522b(0x19d),_0x32bf27['JUfdn'],_0x32bf27['pCVtl'],_0x32bf27['yCrQL'],_0x32bf27['Jtton'],_0x1b522b(0x206),'refresh_token',_0x32bf27['JBSBp']],_0x1d6834=Array['isArray'](_0x20b437)?[..._0x20b437]:{..._0x20b437};for(const _0x5897f7 of Object['keys'](_0x1d6834)){const _0x71fa07=_0x5897f7[_0x1b522b(0x22e)]();if(_0x1151bc['some'](_0x802ace=>_0x71fa07[_0x1b522b(0x1a0)](_0x802ace)))_0x1d6834[_0x5897f7]=_0x32bf27[_0x1b522b(0x1ad)];else typeof _0x1d6834[_0x5897f7]===_0x1b522b(0x22f)&&_0x1d6834[_0x5897f7]!==null&&(_0x1d6834[_0x5897f7]=redactObject(_0x1d6834[_0x5897f7]));}return _0x1d6834;},logError=(_0x29a9cd,_0x3358aa={},_0x14b637=null)=>{const _0x3a53bb=a0_0x3698b4,_0x21af41={'MUNqQ':'error','uALMn':'Error'},_0x35a0be={'event':_0x21af41[_0x3a53bb(0x1a7)],'errorName':_0x29a9cd['name']||_0x21af41['uALMn'],'errorMessage':_0x29a9cd['message'],'errorCode':_0x29a9cd['code']||null,'stack':_0x29a9cd['stack'],..._0x3358aa},_0xc4dece=_0x14b637||'Error:\x20'+_0x29a9cd[_0x3a53bb(0x22d)];logger[_0x3a53bb(0x1c6)](_0x35a0be,_0xc4dece),writeToFileLog({..._0x35a0be,'level':'error','msg':_0xc4dece,'time':new Date()['toISOString']()},_0x21af41['MUNqQ']);},logFatalError=(_0x39f434,_0x146540={},_0x176d4e=null)=>{const _0x57c9a9=a0_0x3698b4,_0x472c5f={'FQGla':_0x57c9a9(0x200),'VKdXQ':_0x57c9a9(0x238),'xghVo':function(_0xeacc73,_0x51ff6e,_0x517645){return _0xeacc73(_0x51ff6e,_0x517645);},'UAUDF':'fatal'},_0x5f471c={'event':_0x472c5f['FQGla'],'errorName':_0x39f434[_0x57c9a9(0x1a6)]||_0x472c5f[_0x57c9a9(0x192)],'errorMessage':_0x39f434['message'],'errorCode':_0x39f434['code']||null,'stack':_0x39f434[_0x57c9a9(0x18f)],'severity':_0x57c9a9(0x1e7),..._0x146540},_0x34fbe1=_0x176d4e||'FATAL:\x20'+_0x39f434[_0x57c9a9(0x22d)];logger[_0x57c9a9(0x1cd)](_0x5f471c,_0x34fbe1),_0x472c5f[_0x57c9a9(0x204)](writeToFileLog,{..._0x5f471c,'level':_0x472c5f['UAUDF'],'msg':_0x34fbe1,'time':new Date()[_0x57c9a9(0x210)]()},'error');},logHttpError=(_0x2506ee,_0x534f07,_0x5894f1={})=>{const _0x1ac68f=a0_0x3698b4,_0xd0f894={'oPOeA':'http_error','ibsva':_0x1ac68f(0x238),'BMkHp':function(_0x537c29,_0x4978df){return _0x537c29(_0x4978df);},'keUbY':function(_0x2d3e45,_0x5282e5,_0x150e3a){return _0x2d3e45(_0x5282e5,_0x150e3a);},'gKORs':function(_0x3437a5,_0x1c8bcc){return _0x3437a5>=_0x1c8bcc;},'BXpUr':_0x1ac68f(0x1c6),'OzqFs':_0x1ac68f(0x1bc)},_0x544569={'event':_0xd0f894[_0x1ac68f(0x1dc)],'errorName':_0x2506ee['name']||_0xd0f894[_0x1ac68f(0x1b6)],'errorMessage':_0x2506ee['message'],'errorCode':_0x2506ee['code']||_0x2506ee[_0x1ac68f(0x1e2)]||0x1f4,'stack':_0x2506ee[_0x1ac68f(0x18f)],'method':_0x534f07?.['method'],'url':_0x534f07?.['url']||_0x534f07?.[_0x1ac68f(0x1f0)],'path':_0x534f07?.[_0x1ac68f(0x203)],'ip':_0x534f07?.['ip']||_0x534f07?.['connection']?.['remoteAddress'],'userAgent':_0x534f07?.['get']?.('user-agent'),'requestId':_0x534f07?.['id']||_0x534f07?.['headers']?.['x-request-id'],'body':_0x534f07?.['body']?_0xd0f894['BMkHp'](redactObject,_0x534f07['body']):undefined,'query':_0x534f07?.[_0x1ac68f(0x1f4)],..._0x5894f1},_0x2ea300=_0x2506ee[_0x1ac68f(0x1e2)]||_0x2506ee['status']||0x1f4,_0x2a867b='HTTP\x20'+_0x2ea300+':\x20'+_0x2506ee['message'];_0x2ea300>=0x1f4?logger['error'](_0x544569,_0x2a867b):logger['warn'](_0x544569,_0x2a867b),_0xd0f894[_0x1ac68f(0x1e5)](writeToFileLog,{..._0x544569,'level':_0xd0f894['gKORs'](_0x2ea300,0x1f4)?_0xd0f894[_0x1ac68f(0x212)]:'warn','msg':_0x2a867b,'time':new Date()['toISOString']()},_0x2ea300>=0x1f4?_0xd0f894['BXpUr']:_0xd0f894['OzqFs']);},logUncaughtError=(_0x4d3858,_0x48c6f3)=>{const _0x281982=a0_0x3698b4,_0x2a1d06={'tySiU':function(_0x329114,_0x485e19){return _0x329114(_0x485e19);}},_0x16dc6d={'event':_0x4d3858,'errorName':_0x48c6f3?.[_0x281982(0x1a6)]||'Error','errorMessage':_0x48c6f3?.[_0x281982(0x22d)]||_0x2a1d06[_0x281982(0x1fc)](String,_0x48c6f3),'errorCode':_0x48c6f3?.['code']||null,'stack':_0x48c6f3?.[_0x281982(0x18f)],'severity':_0x281982(0x1e7),'processId':process['pid'],'memoryUsage':process[_0x281982(0x1d9)](),'uptime':process[_0x281982(0x22a)]()},_0x9d5217='['+_0x4d3858['toUpperCase']()+']\x20'+(_0x48c6f3?.['message']||_0x48c6f3);logger[_0x281982(0x1cd)](_0x16dc6d,_0x9d5217),writeToFileLog({..._0x16dc6d,'level':_0x281982(0x1cd),'msg':_0x9d5217,'time':new Date()[_0x281982(0x210)]()},_0x281982(0x1c6));},setupGlobalErrorHandlers=()=>{const _0x14cc21=a0_0x3698b4,_0xb4b417={'dmSbn':function(_0x55b46a,_0x18b514,_0x49beb7){return _0x55b46a(_0x18b514,_0x49beb7);},'KOvvg':function(_0x1fe76d,_0x728d7d,_0x5a556b){return _0x1fe76d(_0x728d7d,_0x5a556b);},'RPMvv':function(_0x111cd7,_0x821dd2){return _0x111cd7 instanceof _0x821dd2;},'vDxwq':function(_0x5b2bab,_0x48803e){return _0x5b2bab(_0x48803e);},'XiKSt':_0x14cc21(0x198),'QlEPw':'process_warning','yFoCo':'global_error_handlers_setup','ZcAuo':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x14cc21(0x19f),_0x18ff38=>{const _0x357b51=_0x14cc21;_0xb4b417[_0x357b51(0x1b1)](logUncaughtError,_0x357b51(0x19f),_0x18ff38),_0xb4b417[_0x357b51(0x1d2)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x111576,_0x254b57)=>{const _0x3e00e7=_0x14cc21,_0x649b01=_0xb4b417['RPMvv'](_0x111576,Error)?_0x111576:new Error(_0xb4b417[_0x3e00e7(0x23f)](String,_0x111576));logUncaughtError(_0xb4b417['XiKSt'],_0x649b01);}),process['on'](_0x14cc21(0x20c),_0x4cc6ee=>{const _0x3a1beb=_0x14cc21;logger['warn']({'event':_0xb4b417['QlEPw'],'name':_0x4cc6ee[_0x3a1beb(0x1a6)],'message':_0x4cc6ee[_0x3a1beb(0x22d)],'stack':_0x4cc6ee[_0x3a1beb(0x18f)]},'Process\x20Warning:\x20'+_0x4cc6ee[_0x3a1beb(0x22d)]);});const _0xa01e3c={'event':_0xb4b417['yFoCo']},_0x4b0cbc=_0xb4b417['ZcAuo'];logger['info'](_0xa01e3c,_0x4b0cbc),writeToFileLog({..._0xa01e3c,'level':'info','msg':_0x4b0cbc,'time':new Date()[_0x14cc21(0x210)]()},'info');},createErrorHandlerMiddleware=()=>{const _0x2ee778={'hDNbh':function(_0x3a6090,_0x293ccd){return _0x3a6090>=_0x293ccd;}};return(_0x1c19da,_0x49d82f,_0x2ce2c9,_0x403cef)=>{const _0xcb8491=a0_0x15d9;logHttpError(_0x1c19da,_0x49d82f);const _0xfff743=_0x1c19da[_0xcb8491(0x1e2)]||_0x1c19da[_0xcb8491(0x1d8)]||0x1f4;_0x2ce2c9[_0xcb8491(0x1d8)](_0xfff743)[_0xcb8491(0x1ef)]({'success':![],'error':_0x2ee778['hDNbh'](_0xfff743,0x1f4)?_0xcb8491(0x1a5):_0x1c19da['message'],'requestId':_0x49d82f['id']||_0x49d82f['headers']?.[_0xcb8491(0x248)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x3a0fef=a0_0x10b9;(function(_0x172ac4,_0x27ef14){const _0x118e94=a0_0x10b9,_0x31d9a5=_0x172ac4();while(!![]){try{const _0x1bf160=parseInt(_0x118e94(0x1ee))/0x1*(-parseInt(_0x118e94(0x1ad))/0x2)+-parseInt(_0x118e94(0x161))/0x3+parseInt(_0x118e94(0x1b6))/0x4+parseInt(_0x118e94(0x1c6))/0x5+parseInt(_0x118e94(0x20e))/0x6+parseInt(_0x118e94(0x1ae))/0x7*(-parseInt(_0x118e94(0x158))/0x8)+parseInt(_0x118e94(0x1bc))/0x9;if(_0x1bf160===_0x27ef14)break;else _0x31d9a5['push'](_0x31d9a5['shift']());}catch(_0x508c53){_0x31d9a5['push'](_0x31d9a5['shift']());}}}(a0_0x2356,0xb2a04));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a0fef(0x1d5));function a0_0x10b9(_0x25111b,_0x1d0469){_0x25111b=_0x25111b-0x150;const _0x235617=a0_0x2356();let _0x10b9eb=_0x235617[_0x25111b];if(a0_0x10b9['YpSAUC']===undefined){var _0x5f3a08=function(_0x34480b){const _0x75552f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x89c117='',_0x20b3af='';for(let _0x4ae069=0x0,_0x1cf575,_0x58ea75,_0x3133b1=0x0;_0x58ea75=_0x34480b['charAt'](_0x3133b1++);~_0x58ea75&&(_0x1cf575=_0x4ae069%0x4?_0x1cf575*0x40+_0x58ea75:_0x58ea75,_0x4ae069++%0x4)?_0x89c117+=String['fromCharCode'](0xff&_0x1cf575>>(-0x2*_0x4ae069&0x6)):0x0){_0x58ea75=_0x75552f['indexOf'](_0x58ea75);}for(let _0x8d3836=0x0,_0x28a0dc=_0x89c117['length'];_0x8d3836<_0x28a0dc;_0x8d3836++){_0x20b3af+='%'+('00'+_0x89c117['charCodeAt'](_0x8d3836)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20b3af);};a0_0x10b9['sZgghd']=_0x5f3a08,a0_0x10b9['AwocPX']={},a0_0x10b9['YpSAUC']=!![];}const _0x8d7fee=_0x235617[0x0],_0x5e4d14=_0x25111b+_0x8d7fee,_0x323b85=a0_0x10b9['AwocPX'][_0x5e4d14];return!_0x323b85?(_0x10b9eb=a0_0x10b9['sZgghd'](_0x10b9eb),a0_0x10b9['AwocPX'][_0x5e4d14]=_0x10b9eb):_0x10b9eb=_0x323b85,_0x10b9eb;}function a0_0x2356(){const _0x11594b=['qLDVs1u','AvbLAei','BMfTzq','ms4WlJu','CMvZDgzVCMDL','Dg9mB3DLCKnHC2u','qwTdwxO','te9hx0rjuG','vvbeqvrf','uhjeBKi','C3rHDhvZq29Kzq','CMvWzwf0','zMfSC2u','BxmP','DxnLCG','yxbPs2v5','y29UBMvJDgLVBG','C3rYAw5N','CgfZC3DK','z25ku3G','Bwv0Ag9K','zMXVB3i','Dg9Rzw4','y2HPBgq','zgv2zwXVCg1LBNq','s1Lfr2C','C29Tzq','CgfYyw1Z','DxjS','Dg9vChbLCKnHC2u','DhHYrfu','u1fmx0Xpr19mrvzfta','zhvYyxrPB25nCW','reiGuxvLCNK','sLz6uum','zxHWB3j0CW','CgfKrw5K','zw52','rMrNDeq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','su5trvju','AxnVvgLTzq','AvHHtuy','AgvHBhrOq2HLy2S','Bg5JDK8','zKn0vw0','uMj2uNy','C3fSx3f1zxj5','zgvIDwC','B3rW','Dfzpz3y','zxjYB3iUBg9N','yM9KEq','y3jLyxrLv3jPDgvtDhjLyw0','zgjFCxvLCNK','C3bSAxq','BgvUz3rO','w1jfrefdveveoNrVA2vUxq','tMDgtxy','rejFueftu1DpuKq','u1fmx0Xpr19qqvjbtvm','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','C3rHDhvZ','CgLUBY1WCMv0DhK','zMXbz0O','zgf0ywjHC2u','BwfW','mJG0mta3ofn1EgvMyG','mtaYnZK5owruz2foBW','CxvLCNK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChjVy2vZC193yxjUAw5N','Ec1Yzxf1zxn0lwLK','CMvTB3rLqwrKCMvZCW','zMf0ywW','vhjHBNnHy3rPB24G','mJeWmtaWogn2r0ritG','zgvMyxvSDa','w1jfrefdvevexq','w09lxsbqCM9Qzwn0igXVywrLzdOG','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','vfjbtLnbq1rjt05FqKvhsu4','mJCZmZC4mdzrrNDjC3q','AgvHzgvYCW','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','CMvZB2X2zq','DLnVEwC','BMvlvxy','Ahr0Cf9Yzxf1zxn0','Aw5MBW','u1fmx0Xpr19ftKfcteve','y29Kzq','mteYnZaWmgn4zxfjBW','AvzhAvO','yxbPx2TLEq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ANnVBG','y29UzMLNrMLSzq','wfPtzKy','qKvhsu4','z2v0sgvHzgvYCW','ChjVAMvJDa','tgzHsNC','q29VquC','revmrvrf','rermx0nsrufurq','y3jLzgL0x2nHCMq','Cgf0Aa','z2v0','rermx0rst1a','AM9PBG','B2jQzwn0','rermx0fmvevs','yxv0Ag9YAxPHDgLVBG','DhjPBq','C3nU','DgvZDa','ChDK','y3jLzgL0y2fYza','reLHAxC','rKfuquW6ia','zw5KCg9PBNrFCMvNAxn0zxjLza','zgf0ywjHC2vFy29UzMLN','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','yxbPx3nLy3jLDa','ENPXs2K','yxbWlMXVzW','shr3v2G','zxjYB3i','zM5gEKG','Dw5JyxvNAhrfEgnLChrPB24','mwDwzMzHEG','ChjVzhvJDgLVBG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','vfjbtLnbq1rjt05Fq09ntuLu','yMfZzvvYBa','uvziBMS','icbjBMzVoIaGia','CMvWBgfJzq','uhjVy2vZCYbxyxjUAw5NoIa','CgfZC3DVCMq','rhbmBKO','Dg9gAxHLza','B211wwu','te9hx0XfvKvm','txngr2K','C2vYDMLJzuLUzM8','DxnLCI1Hz2vUDa','C3rHCNrZv2L0Aa','Dw5RBM93BG','C2vJCMv0','rgvMyxvSDa','tuzpyKO','uwLht3C','D2fYBG','vufpwuK','q1jfqvrf','Bwf0y2G','rwvJuxm','vfjbtLnbq1rjt05FuK9mtejbq0S','ywnJzxnZx3rVA2vU','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwvZC2fNzq','mtq5oti4mezTwMLyvq','u0vsvKLdrv9oqu1f','Dhj1zq','C3rHy2S','rgf0ywjHC2u6ia','rfjpua','icbizwfSDgG6ia','Ahj0Aw1L','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','ntzRzNzkAxq','BwTKAxjtEw5J','D1PyDue','C3rKu2vYAwfSAxPLCNm','sMnyCNm','s1vdtee','Dg9ju09tDhjPBMC','quXurvi','uvvyB1y','mJu3mZyYoeD1we5ktW','zNzwyue','Cg9YDa','CgLU','iokvKqRILzeGienVBMzPzYaGicaGidOG','Aw5JBhvKzxm','vwLPy04','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK'];a0_0x2356=function(){return _0x11594b;};return a0_0x2356();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x3a0fef(0x1ef),logLevel=process[a0_0x3a0fef(0x18e)][a0_0x3a0fef(0x1fb)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3a0fef(0x1a9),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a0fef(0x16d),'version':process['env']['APP_VERSION']||a0_0x3a0fef(0x16c),'env':process[a0_0x3a0fef(0x18e)]['NODE_ENV']||a0_0x3a0fef(0x181)},'timestamp':pino['stdTimeFunctions'][a0_0x3a0fef(0x192)],'redact':{'paths':['req.headers.authorization',a0_0x3a0fef(0x190),a0_0x3a0fef(0x1f7),a0_0x3a0fef(0x17f),a0_0x3a0fef(0x178),a0_0x3a0fef(0x1a4),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x50d7b6=>({'id':_0x50d7b6['id'],'method':_0x50d7b6['method'],'url':_0x50d7b6[a0_0x3a0fef(0x185)],'path':_0x50d7b6['path'],'remoteAddress':_0x50d7b6['ip']||_0x50d7b6[a0_0x3a0fef(0x179)]?.['remoteAddress']}),'res':_0x17d9f3=>({'statusCode':_0x17d9f3['statusCode'],'headers':_0x17d9f3[a0_0x3a0fef(0x1ce)]?.()}),'err':pino[a0_0x3a0fef(0x15b)]['err']}});function initFileLogging(){const _0x97beb2=a0_0x3a0fef,_0x3deae2={'RsaqA':_0x97beb2(0x151),'HSrAB':function(_0xc663f6,_0x5c15b3){return _0xc663f6===_0x5c15b3;},'rQJkQ':function(_0x125b47,_0x39f64b){return _0x125b47!==_0x39f64b;},'QeDGZ':_0x97beb2(0x175),'OhpPD':_0x97beb2(0x1e9),'rJDBd':_0x97beb2(0x19c),'PuuEF':function(_0x2b90af,_0x849e3d,_0x1249a1){return _0x2b90af(_0x849e3d,_0x1249a1);},'JVzQC':'info'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x3deae2['RsaqA'];const _0x2c66cc=process[_0x97beb2(0x18e)][_0x97beb2(0x1b0)]||_0x97beb2(0x1b7);logDir=process['env'][_0x97beb2(0x170)]||'./logs/'+_0x2c66cc,serviceName=process[_0x97beb2(0x18e)][_0x97beb2(0x150)]||'restforge',sqlLogEnabled=_0x3deae2['HSrAB'](process['env'][_0x97beb2(0x1c4)],_0x3deae2['RsaqA']),sqlLogLevel=process[_0x97beb2(0x18e)][_0x97beb2(0x188)]||_0x97beb2(0x199),sqlLogParams=_0x3deae2['rQJkQ'](process[_0x97beb2(0x18e)][_0x97beb2(0x1a5)],_0x3deae2['QeDGZ']),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x262ed7=path[_0x97beb2(0x1bf)](process['cwd'](),logDir);try{!fs['existsSync'](_0x262ed7)&&fs[_0x97beb2(0x159)](_0x262ed7,{'recursive':!![]});}catch(_0x32c6a0){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x262ed7+':',_0x32c6a0['message']),fileLoggingInitialized=!![];return;}const _0x3ebaa5=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['OhpPD']),_0x3b81da=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['rJDBd']);try{appLogStream=fs[_0x97beb2(0x19e)](_0x3ebaa5,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x3b81da,{'flags':'a'}),fileLoggingInitialized=!![];const _0x23c66f={'event':'file_logging_enabled','logDir':_0x262ed7,'files':['app.log','error.log']},_0x40222e='File\x20logging\x20enabled:\x20'+_0x262ed7;logger[_0x97beb2(0x1c3)](_0x23c66f,_0x40222e),_0x3deae2['PuuEF'](writeToFileLog,{..._0x23c66f,'level':_0x3deae2[_0x97beb2(0x18b)],'msg':_0x40222e,'time':new Date()[_0x97beb2(0x15e)]()},'info');}catch(_0x1aebb1){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x1aebb1[_0x97beb2(0x20d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x331285,_0x80db45){const _0x334b68=a0_0x3a0fef,_0x4f208e={'XZSfF':function(_0x23aae2,_0x41a27e){return _0x23aae2||_0x41a27e;}};if(_0x4f208e[_0x334b68(0x1cc)](!logToFile,!appLogStream))return;const _0x9f8a14={'service':serviceName,..._0x331285},_0x116360=JSON['stringify'](_0x9f8a14)+'\x0a';appLogStream['write'](_0x116360),(_0x80db45===_0x334b68(0x1eb)||_0x80db45===_0x334b68(0x1b4))&&(errorLogStream&&errorLogStream['write'](_0x116360));}const createRequestLogger=(_0x32b3a5={})=>{const _0x3e9be6=a0_0x3a0fef;return logger[_0x3e9be6(0x180)](_0x32b3a5);},logServerStart=_0xf79349=>{const _0x2a901d=a0_0x3a0fef,_0x4e79f8={'Mqval':function(_0x58df61,_0x46ef72){return _0x58df61-_0x46ef72;},'cUDHS':function(_0x39c42a,_0x1ac39f){return _0x39c42a/_0x1ac39f;},'oXELS':'Node.js','wZXuA':_0x2a901d(0x202),'lVxhh':'ACTIVE','sPeGr':'NOT\x20ACTIVE','LjMHj':'server_starting','lWnwM':function(_0x445a8f,_0x332239,_0x277b04){return _0x445a8f(_0x332239,_0x277b04);},'FcQFP':'info'},_0x46129d=_0x2a901d(0x1be),_0x1add54=Math['max'](0x0,_0x4e79f8['Mqval'](0x37,_0x46129d[_0x2a901d(0x1a1)])),_0xc6cf6a=Math[_0x2a901d(0x17e)](_0x4e79f8['cUDHS'](_0x1add54,0x2)),_0x3ea1d9=_0x1add54-_0xc6cf6a,_0x5b5f7f='║'+'\x20'['repeat'](_0xc6cf6a)+_0x46129d+'\x20'[_0x2a901d(0x174)](_0x3ea1d9)+'║',_0x231dc6=_0x2a901d(0x1c9)+_0x5b5f7f+_0x2a901d(0x1a6)+(_0xf79349['environment']||_0x4e79f8['oXELS'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1f0)+(_0xf79349['project']||'N/A')[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0xf79349[_0x2a901d(0x163)]||0xbb8)[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x165)+(_0xf79349[_0x2a901d(0x1cb)]||_0x4e79f8[_0x2a901d(0x15a)])[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0xf79349[_0x2a901d(0x178)]?_0x4e79f8['lVxhh']:_0x4e79f8['sPeGr'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1ba);console['log'](_0x231dc6);const _0xc73145={'event':_0x4e79f8['LjMHj'],'project':_0xf79349[_0x2a901d(0x1cf)],'port':_0xf79349['port'],'config':_0xf79349['configFile'],'apiKeyEnabled':!!_0xf79349['apiKey']};logger['info'](_0xc73145),_0x4e79f8['lWnwM'](writeToFileLog,{..._0xc73145,'level':_0x4e79f8['FcQFP'],'msg':'Server\x20starting:\x20'+_0xf79349['project']+'\x20on\x20port\x20'+_0xf79349[_0x2a901d(0x163)],'time':new Date()[_0x2a901d(0x15e)]()},_0x2a901d(0x1c3));},logServerReady=_0x3546e0=>{const _0x13f976=a0_0x3a0fef,_0x23ccbe={'GPkbL':'server_ready','vSoyg':'info'},_0x558477={'event':_0x23ccbe['GPkbL'],'port':_0x3546e0[_0x13f976(0x163)],'module':_0x3546e0['module'],'healthCheck':_0x3546e0['healthCheck'],'serviceInfo':_0x3546e0[_0x13f976(0x1fd)],'baseUrl':_0x3546e0[_0x13f976(0x1f2)]},_0xfbc438='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x3546e0[_0x13f976(0x163)];logger[_0x13f976(0x1c3)](_0x558477,_0xfbc438),writeToFileLog({..._0x558477,'level':_0x23ccbe[_0x13f976(0x1c0)],'msg':_0xfbc438,'time':new Date()[_0x13f976(0x15e)]()},_0x23ccbe['vSoyg']),_0x3546e0[_0x13f976(0x194)]&&logger['info'](_0x13f976(0x155)+_0x3546e0[_0x13f976(0x194)]),_0x3546e0[_0x13f976(0x1fd)]&&logger['info'](_0x13f976(0x1f4)+_0x3546e0[_0x13f976(0x1fd)]),_0x3546e0[_0x13f976(0x1f2)]&&logger[_0x13f976(0x1c3)]('\x20\x20URL:\x20\x20\x20\x20'+_0x3546e0['baseUrl']);},logProjectLoaded=(_0x216b6a,_0x547d6a)=>{const _0x220f7a=a0_0x3a0fef,_0xd4caaa={'event':_0x220f7a(0x1e6),'project':_0x216b6a,'path':_0x547d6a},_0x562415=_0x220f7a(0x1b9)+_0x216b6a;logger[_0x220f7a(0x1c3)](_0xd4caaa,_0x562415),writeToFileLog({..._0xd4caaa,'level':_0x220f7a(0x1c3),'msg':_0x562415,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x5ef44b,_0x4514d5)=>{const _0x10a007=a0_0x3a0fef,_0x3ce4ae={'UiicN':function(_0x31bac5,_0x58ad9b,_0x1e522b){return _0x31bac5(_0x58ad9b,_0x1e522b);},'tVOgv':_0x10a007(0x199)},_0x553326={'event':_0x10a007(0x1e3),'endpoint':_0x5ef44b,'route':_0x4514d5},_0x5d4b9a='\x20\x20→\x20'+_0x5ef44b+':\x20'+_0x4514d5;logger[_0x10a007(0x199)](_0x553326,_0x5d4b9a),_0x3ce4ae[_0x10a007(0x167)](writeToFileLog,{..._0x553326,'level':_0x10a007(0x199),'msg':_0x5d4b9a,'time':new Date()[_0x10a007(0x15e)]()},_0x3ce4ae[_0x10a007(0x19b)]);},logDatabaseConfig=_0x370299=>{const _0x4c609c=a0_0x3a0fef,_0x201d80={'CooAG':_0x4c609c(0x199)},_0x307aa5={'event':_0x4c609c(0x1e4),'host':_0x370299[_0x4c609c(0x1e5)],'port':_0x370299['port'],'database':_0x370299['database'],'type':_0x370299['type'],'user':_0x370299[_0x4c609c(0x177)]},_0x46a235=_0x4c609c(0x153)+_0x370299['type']+'://'+_0x370299[_0x4c609c(0x1e5)]+':'+_0x370299[_0x4c609c(0x163)]+'/'+_0x370299[_0x4c609c(0x1ab)];logger['debug'](_0x307aa5,_0x46a235),writeToFileLog({..._0x307aa5,'level':_0x201d80['CooAG'],'msg':_0x46a235,'time':new Date()['toISOString']()},_0x201d80[_0x4c609c(0x1d1)]);},logRequest=(_0x4ca6fd,_0x475933,_0x1da2f1)=>{const _0xd68eef=a0_0x3a0fef,_0x1fae99={'QVHnk':_0xd68eef(0x1c2),'lncvO':_0xd68eef(0x1c3),'MsFGi':function(_0xaa0613,_0x2bceb7){return _0xaa0613>=_0x2bceb7;},'EecQs':'error','DpLnJ':function(_0x173457,_0x18c3f6){return _0x173457>=_0x18c3f6;},'QybbD':'warn'},_0x5a13d0={'event':_0x1fae99[_0xd68eef(0x1f3)],'method':_0x4ca6fd[_0xd68eef(0x17d)],'path':_0x4ca6fd['path'],'statusCode':_0x475933['statusCode'],'durationMs':_0x1da2f1,'ip':_0x4ca6fd['ip']},_0x29c3d0=_0x4ca6fd['method']+'\x20'+_0x4ca6fd[_0xd68eef(0x1d5)]+'\x20-\x20'+_0x475933[_0xd68eef(0x173)]+'\x20('+_0x1da2f1+'ms)';let _0x1a1e1a=_0x1fae99[_0xd68eef(0x195)];if(_0x1fae99[_0xd68eef(0x1fc)](_0x475933[_0xd68eef(0x173)],0x1f4))_0x1a1e1a=_0x1fae99[_0xd68eef(0x209)],logger['error'](_0x5a13d0,_0x29c3d0);else _0x1fae99[_0xd68eef(0x1f8)](_0x475933['statusCode'],0x190)?(_0x1a1e1a=_0x1fae99['QybbD'],logger[_0xd68eef(0x205)](_0x5a13d0,_0x29c3d0)):logger['info'](_0x5a13d0,_0x29c3d0);writeToFileLog({..._0x5a13d0,'level':_0x1a1e1a,'msg':_0x29c3d0,'time':new Date()['toISOString']()},_0x1a1e1a);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x3a0fef(0x1df),'token',a0_0x3a0fef(0x20b),'refresh_token',a0_0x3a0fef(0x201),a0_0x3a0fef(0x1e7),a0_0x3a0fef(0x1a7),a0_0x3a0fef(0x1c8),'credential','credentials','pin',a0_0x3a0fef(0x19a),'private_key','privatekey'],redactSensitiveParams=(_0x996b3a,_0x13ffee)=>{const _0x5779b4=a0_0x3a0fef,_0x5f1046={'YQONS':'[REDACTED]','iPehB':_0x5779b4(0x17a),'fmoXN':_0x5779b4(0x1a2),'afuXA':'[REDACTED:hash]','VoitX':function(_0x2143b5,_0x935a18){return _0x2143b5===_0x935a18;}};if(!_0x996b3a||_0x5f1046['VoitX'](_0x996b3a['length'],0x0))return _0x996b3a;const _0xe138db=_0x13ffee[_0x5779b4(0x16e)](),_0xce3bd6=_0xe138db[_0x5779b4(0x208)](/\(([^)]+)\)\s*values/i);let _0xbbd62c=[];_0xce3bd6&&(_0xbbd62c=_0xce3bd6[0x1][_0x5779b4(0x1a0)](',')[_0x5779b4(0x1ac)](_0x176440=>_0x176440[_0x5779b4(0x1dc)]()['toLowerCase']()));const _0x50ac23=_0xe138db[_0x5779b4(0x208)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x50ac23){const _0x530587=_0x50ac23[0x1],_0x612543=_0x530587[_0x5779b4(0x208)](/(\w+)\s*=/g);_0x612543&&(_0xbbd62c=_0x612543['map'](_0xfceae4=>_0xfceae4[_0x5779b4(0x1f5)](/\s*=/,'')['trim']()[_0x5779b4(0x16e)]()));}return _0x996b3a[_0x5779b4(0x1ac)]((_0x169045,_0xfe4d7a)=>{const _0x2df46a=_0x5779b4;if(_0xbbd62c[_0xfe4d7a]){const _0xe26b34=_0xbbd62c[_0xfe4d7a],_0x409d02=SENSITIVE_PARAM_PATTERNS[_0x2df46a(0x183)](_0x54452e=>_0xe26b34['includes'](_0x54452e));if(_0x409d02)return _0x5f1046['YQONS'];}if(typeof _0x169045===_0x5f1046[_0x2df46a(0x16a)]&&_0x169045[_0x2df46a(0x1a1)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2df46a(0x1de)](_0x169045)&&_0x169045[_0x2df46a(0x166)]('.'))return _0x5f1046['fmoXN'];if(/^[a-fA-F0-9]{32,}$/[_0x2df46a(0x1de)](_0x169045))return _0x5f1046['afuXA'];}return _0x169045;});},parseQueryMetadata=_0x267f97=>{const _0xa36976=a0_0x3a0fef,_0x5b4ba5={'QUXoV':'SELECT','gQDTT':'INSERT','MFObJ':_0xa36976(0x171),'jjFFH':'DELETE','KYEGg':_0xa36976(0x1cd),'SSrBe':'START\x20TRANSACTION','KUCLA':_0xa36976(0x1bb),'ADqTZ':_0xa36976(0x1f1),'sgSOb':_0xa36976(0x207),'flAgJ':_0xa36976(0x15f),'gjRTY':_0xa36976(0x1da),'dfFFH':_0xa36976(0x154)},_0x3303a2=_0x267f97['trim'](),_0xcdc83c=_0x3303a2[_0xa36976(0x186)]();let _0x4008f9='UNKNOWN',_0x1f41ee=null;if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x160)])){_0x4008f9=_0x5b4ba5[_0xa36976(0x160)];const _0x5b1028=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x5b1028?_0x5b1028[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5['gQDTT'])){_0x4008f9=_0xa36976(0x191);const _0x1b2866=_0x3303a2['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x1b2866?_0x1b2866[0x1]:null;}else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['MFObJ'])){_0x4008f9=_0x5b4ba5[_0xa36976(0x203)];const _0x54aacd=_0x3303a2['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x54aacd?_0x54aacd[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0xa36976(0x1d2))){_0x4008f9=_0x5b4ba5['jjFFH'];const _0x59496=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x59496?_0x59496[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5[_0xa36976(0x182)])||_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['SSrBe']))_0x4008f9=_0x5b4ba5[_0xa36976(0x15d)];else{if(_0xcdc83c[_0xa36976(0x1ff)]('COMMIT'))_0x4008f9=_0x5b4ba5['ADqTZ'];else{if(_0xcdc83c[_0xa36976(0x1ff)]('ROLLBACK'))_0x4008f9=_0xa36976(0x20a);else{if(_0xcdc83c['startsWith'](_0x5b4ba5['sgSOb']))_0x4008f9=_0xa36976(0x1d3);else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x1aa)]))_0x4008f9=_0x5b4ba5['gjRTY'];else _0xcdc83c['startsWith'](_0x5b4ba5['dfFFH'])&&(_0x4008f9=_0xa36976(0x1d7));}}}}}}}}return{'type':_0x4008f9,'table':_0x1f41ee};},startQueryTimer=()=>{const _0x5b0c23={'URMCb':function(_0x1ae3fb,_0x168813){return _0x1ae3fb(_0x168813);},'txrDU':function(_0x483f27,_0x94f7bd){return _0x483f27+_0x94f7bd;},'uMfWQ':function(_0x171be3,_0x2d9127){return _0x171be3*_0x2d9127;}},_0x202550=process['hrtime']();return()=>{const _0x5ce7cc=a0_0x10b9,[_0x3fa842,_0x5966f5]=process[_0x5ce7cc(0x156)](_0x202550);return _0x5b0c23['URMCb'](parseFloat,_0x5b0c23[_0x5ce7cc(0x187)](_0x5b0c23['uMfWQ'](_0x3fa842,0x3e8),_0x5966f5/0xf4240)[_0x5ce7cc(0x1f9)](0x2));};},logQuery=(_0x38e722,_0x28f708=[],_0x16874d={})=>{const _0x4cc86d=a0_0x3a0fef,_0x4625d0={'SxuVu':function(_0xb56930,_0x9394a6){return _0xb56930>_0x9394a6;},'UAOYI':function(_0x35a6d2,_0x3471db,_0x58e4d2){return _0x35a6d2(_0x3471db,_0x58e4d2);},'HwXVB':function(_0x400976,_0x45b629){return _0x400976>_0x45b629;},'Mzhwr':_0x4cc86d(0x200),'NgFMv':function(_0xf440ff,_0x22b2be){return _0xf440ff!==_0x22b2be;},'xiUlP':_0x4cc86d(0x199),'BWoKU':'\x20[SLOW]','DjizH':'warn','neKUv':'info','FdgtD':function(_0x153d6a,_0x54df6c,_0x2175f1){return _0x153d6a(_0x54df6c,_0x2175f1);}};if(!sqlLogEnabled){logger['debug']({'event':_0x4cc86d(0x19f),'query':_0x38e722['substring'](0x0,0xc8),'paramCount':_0x28f708['length']},_0x4cc86d(0x18a));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x16874d,{type:_0xc60707,table:_0x947d5}=parseQueryMetadata(_0x38e722),_0xd55b17={'event':_0x4cc86d(0x198),'queryType':_0xc60707,'table':_0x947d5,'query':_0x38e722,'paramCount':_0x28f708[_0x4cc86d(0x1a1)],'dbType':dbType};sqlLogParams&&_0x4625d0['SxuVu'](_0x28f708[_0x4cc86d(0x1a1)],0x0)&&(_0xd55b17[_0x4cc86d(0x184)]=_0x4625d0[_0x4cc86d(0x206)](redactSensitiveParams,_0x28f708,_0x38e722));duration!==null&&(_0xd55b17[_0x4cc86d(0x189)]=duration,_0xd55b17['isSlow']=_0x4625d0['HwXVB'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0xd55b17['rowsAffected']=rowsAffected);const _0x52e328=_0x947d5||_0x4625d0['Mzhwr'];let _0x1de643='['+_0xc60707+']\x20'+_0x52e328;_0x4625d0[_0x4cc86d(0x1a3)](duration,null)&&(_0x1de643+='\x20('+duration+_0x4cc86d(0x176));const _0x5782da=duration!==null&&duration>sqlLogSlowThreshold;let _0x19af1a=_0x4625d0['xiUlP'];if(_0x5782da)_0x1de643+=_0x4625d0[_0x4cc86d(0x169)],_0x19af1a=_0x4625d0['DjizH'],logger['warn'](_0xd55b17,_0x1de643);else sqlLogLevel==='info'?(_0x19af1a=_0x4625d0[_0x4cc86d(0x1c1)],logger['info'](_0xd55b17,_0x1de643)):logger['debug'](_0xd55b17,_0x1de643);_0x4625d0[_0x4cc86d(0x18f)](writeToFileLog,{..._0xd55b17,'level':_0x19af1a,'msg':_0x1de643,'time':new Date()['toISOString']()},_0x19af1a);},logTransaction=(_0x205b58,_0x2a4d26)=>{const _0xb449c6=a0_0x3a0fef,_0x232cb0={'LuCIk':_0xb449c6(0x199)},_0x4adbc9={'event':'db_transaction','status':_0x205b58,'queryCount':_0x2a4d26},_0x4e3c32=_0xb449c6(0x1b5)+_0x205b58;logger['debug'](_0x4adbc9,_0x4e3c32),writeToFileLog({..._0x4adbc9,'level':'debug','msg':_0x4e3c32,'time':new Date()[_0xb449c6(0x15e)]()},_0x232cb0['LuCIk']);},redactObject=_0x388801=>{const _0x177007=a0_0x3a0fef,_0x21d38f={'LfaJw':_0x177007(0x1d9),'fnFzH':'pwd','HtwWh':_0x177007(0x201),'RbvRv':_0x177007(0x1c8),'gmWZl':_0x177007(0x1db),'uDyfW':_0x177007(0x1d4),'hApvL':_0x177007(0x1dd),'PrDnB':'privatekey','AkCYz':_0x177007(0x20b),'XKIZL':_0x177007(0x1b8),'iXaMF':function(_0xb137c1,_0x577ff6){return _0xb137c1===_0x577ff6;},'TLzVI':function(_0x350083,_0x3d197a){return _0x350083(_0x3d197a);}};if(!_0x388801||typeof _0x388801!==_0x21d38f[_0x177007(0x1d0)])return _0x388801;const _0x30653a=['password',_0x177007(0x17b),_0x21d38f[_0x177007(0x1ec)],'token',_0x21d38f[_0x177007(0x1ea)],'apikey',_0x21d38f[_0x177007(0x197)],_0x21d38f['gmWZl'],_0x177007(0x1e0),_0x21d38f['uDyfW'],'cvv',_0x21d38f['hApvL'],_0x177007(0x164),'private_key',_0x21d38f[_0x177007(0x172)],'refresh_token',_0x21d38f[_0x177007(0x16f)]],_0x4951f2=Array['isArray'](_0x388801)?[..._0x388801]:{..._0x388801};for(const _0x33c8e4 of Object['keys'](_0x4951f2)){const _0x93dce3=_0x33c8e4[_0x177007(0x16e)]();if(_0x30653a[_0x177007(0x183)](_0x256462=>_0x93dce3[_0x177007(0x166)](_0x256462)))_0x4951f2[_0x33c8e4]=_0x21d38f['XKIZL'];else _0x21d38f[_0x177007(0x193)](typeof _0x4951f2[_0x33c8e4],_0x21d38f['LfaJw'])&&_0x4951f2[_0x33c8e4]!==null&&(_0x4951f2[_0x33c8e4]=_0x21d38f['TLzVI'](redactObject,_0x4951f2[_0x33c8e4]));}return _0x4951f2;},logError=(_0x4675d3,_0x3f7858={},_0xab639=null)=>{const _0x3ae75e=a0_0x3a0fef,_0x5199c5={'fCtUm':_0x3ae75e(0x1eb),'fvVaA':function(_0x1df53c,_0x2448ec,_0x115545){return _0x1df53c(_0x2448ec,_0x115545);}},_0x366a00={'event':_0x5199c5[_0x3ae75e(0x196)],'errorName':_0x4675d3[_0x3ae75e(0x16b)]||'Error','errorMessage':_0x4675d3['message'],'errorCode':_0x4675d3['code']||null,'stack':_0x4675d3['stack'],..._0x3f7858},_0x22e266=_0xab639||'Error:\x20'+_0x4675d3['message'];logger[_0x3ae75e(0x1eb)](_0x366a00,_0x22e266),_0x5199c5[_0x3ae75e(0x162)](writeToFileLog,{..._0x366a00,'level':_0x5199c5[_0x3ae75e(0x196)],'msg':_0x22e266,'time':new Date()[_0x3ae75e(0x15e)]()},_0x5199c5[_0x3ae75e(0x196)]);},logFatalError=(_0x433cfb,_0x408443={},_0x28b8a3=null)=>{const _0x3850a2=a0_0x3a0fef,_0x438fea={'xcukj':'fatal_error','FCeIf':'Error','gnJSx':'CRITICAL','QiGOw':function(_0x4f6f4d,_0x6f72fb,_0x3ee5f7){return _0x4f6f4d(_0x6f72fb,_0x3ee5f7);},'nWkIw':'error'},_0x1651c1={'event':_0x438fea['xcukj'],'errorName':_0x433cfb['name']||_0x438fea['FCeIf'],'errorMessage':_0x433cfb['message'],'errorCode':_0x433cfb[_0x3850a2(0x1c5)]||null,'stack':_0x433cfb['stack'],'severity':_0x438fea[_0x3850a2(0x17c)],..._0x408443},_0x1adc42=_0x28b8a3||_0x3850a2(0x1e2)+_0x433cfb['message'];logger[_0x3850a2(0x1b4)](_0x1651c1,_0x1adc42),_0x438fea[_0x3850a2(0x204)](writeToFileLog,{..._0x1651c1,'level':_0x3850a2(0x1b4),'msg':_0x1adc42,'time':new Date()[_0x3850a2(0x15e)]()},_0x438fea['nWkIw']);},logHttpError=(_0x1a208c,_0x12f956,_0x117aff={})=>{const _0xa6cde7=a0_0x3a0fef,_0x42b1f9={'zzqKi':'Error','sAHVg':_0xa6cde7(0x1b2),'QXYMw':function(_0x2dfbed,_0x17896c){return _0x2dfbed>=_0x17896c;},'PFlaQ':function(_0x158a43,_0x5a291a,_0xedad06){return _0x158a43(_0x5a291a,_0xedad06);}},_0x1d5d8a={'event':'http_error','errorName':_0x1a208c['name']||_0x42b1f9[_0xa6cde7(0x1e8)],'errorMessage':_0x1a208c[_0xa6cde7(0x20d)],'errorCode':_0x1a208c[_0xa6cde7(0x1c5)]||_0x1a208c[_0xa6cde7(0x173)]||0x1f4,'stack':_0x1a208c[_0xa6cde7(0x152)],'method':_0x12f956?.['method'],'url':_0x12f956?.[_0xa6cde7(0x185)]||_0x12f956?.['originalUrl'],'path':_0x12f956?.[_0xa6cde7(0x1d5)],'ip':_0x12f956?.['ip']||_0x12f956?.[_0xa6cde7(0x179)]?.[_0xa6cde7(0x1b3)],'userAgent':_0x12f956?.[_0xa6cde7(0x1d6)]?.(_0xa6cde7(0x1fe)),'requestId':_0x12f956?.['id']||_0x12f956?.[_0xa6cde7(0x1bd)]?.[_0x42b1f9['sAHVg']],'body':_0x12f956?.[_0xa6cde7(0x19d)]?redactObject(_0x12f956[_0xa6cde7(0x19d)]):undefined,'query':_0x12f956?.[_0xa6cde7(0x1af)],..._0x117aff},_0x23cdfc=_0x1a208c[_0xa6cde7(0x173)]||_0x1a208c[_0xa6cde7(0x1a8)]||0x1f4,_0x11db43='HTTP\x20'+_0x23cdfc+':\x20'+_0x1a208c['message'];_0x42b1f9['QXYMw'](_0x23cdfc,0x1f4)?logger[_0xa6cde7(0x1eb)](_0x1d5d8a,_0x11db43):logger['warn'](_0x1d5d8a,_0x11db43),_0x42b1f9['PFlaQ'](writeToFileLog,{..._0x1d5d8a,'level':_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205),'msg':_0x11db43,'time':new Date()['toISOString']()},_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205));},logUncaughtError=(_0x430c04,_0x13afd3)=>{const _0x4da763=a0_0x3a0fef,_0x3bae60={'KxnfS':'Error','cqhxE':function(_0x147115,_0x1d06d9,_0x444320){return _0x147115(_0x1d06d9,_0x444320);},'THjpv':_0x4da763(0x1b4),'NxTRt':_0x4da763(0x1eb)},_0x115e3c={'event':_0x430c04,'errorName':_0x13afd3?.[_0x4da763(0x16b)]||_0x3bae60['KxnfS'],'errorMessage':_0x13afd3?.['message']||String(_0x13afd3),'errorCode':_0x13afd3?.[_0x4da763(0x1c5)]||null,'stack':_0x13afd3?.['stack'],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x40d3cd='['+_0x430c04['toUpperCase']()+']\x20'+(_0x13afd3?.[_0x4da763(0x20d)]||_0x13afd3);logger[_0x4da763(0x1b4)](_0x115e3c,_0x40d3cd),_0x3bae60['cqhxE'](writeToFileLog,{..._0x115e3c,'level':_0x3bae60['THjpv'],'msg':_0x40d3cd,'time':new Date()[_0x4da763(0x15e)]()},_0x3bae60['NxTRt']);},setupGlobalErrorHandlers=()=>{const _0x21d9f6=a0_0x3a0fef,_0x4385e6={'iVGiZ':function(_0x596187,_0x490594,_0x25bc8c){return _0x596187(_0x490594,_0x25bc8c);},'JcXrs':function(_0x2b4e98,_0x176f78){return _0x2b4e98 instanceof _0x176f78;},'fzUjA':_0x21d9f6(0x1ed),'PECrR':'warning','FxnMq':_0x21d9f6(0x168),'omuYe':function(_0x22fd39,_0x484dc1,_0x41efcd){return _0x22fd39(_0x484dc1,_0x41efcd);},'DIaiw':_0x21d9f6(0x1c3)};process['on'](_0x4385e6['fzUjA'],_0x2dac1a=>{const _0x1a6992=_0x21d9f6;_0x4385e6[_0x1a6992(0x1c7)](logUncaughtError,'uncaughtException',_0x2dac1a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x21d9f6(0x20c),(_0x45ee09,_0x55010a)=>{const _0x3e37c4=_0x21d9f6,_0x5ea07e=_0x4385e6[_0x3e37c4(0x15c)](_0x45ee09,Error)?_0x45ee09:new Error(String(_0x45ee09));logUncaughtError('unhandledRejection',_0x5ea07e);}),process['on'](_0x4385e6['PECrR'],_0x3ceb63=>{const _0x21a271=_0x21d9f6;logger[_0x21a271(0x205)]({'event':_0x21a271(0x1b1),'name':_0x3ceb63['name'],'message':_0x3ceb63['message'],'stack':_0x3ceb63[_0x21a271(0x152)]},_0x21a271(0x1f6)+_0x3ceb63['message']);});const _0x1b4592={'event':_0x21d9f6(0x157)},_0x3bb842=_0x4385e6['FxnMq'];logger[_0x21d9f6(0x1c3)](_0x1b4592,_0x3bb842),_0x4385e6[_0x21d9f6(0x1fa)](writeToFileLog,{..._0x1b4592,'level':_0x4385e6[_0x21d9f6(0x1e1)],'msg':_0x3bb842,'time':new Date()['toISOString']()},_0x21d9f6(0x1c3));},createErrorHandlerMiddleware=()=>{return(_0x5f052a,_0x4529cb,_0x35b227,_0x15d653)=>{const _0x7c4d08=a0_0x10b9;logHttpError(_0x5f052a,_0x4529cb);const _0x9a88ef=_0x5f052a[_0x7c4d08(0x173)]||_0x5f052a[_0x7c4d08(0x1a8)]||0x1f4;_0x35b227['status'](_0x9a88ef)[_0x7c4d08(0x1ca)]({'success':![],'error':_0x9a88ef>=0x1f4?'Internal\x20server\x20error':_0x5f052a[_0x7c4d08(0x20d)],'requestId':_0x4529cb['id']||_0x4529cb['headers']?.[_0x7c4d08(0x1b2)]||null});};};module[a0_0x3a0fef(0x18c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- function a0_0x4de8(){const _0x2e1253=['s1vcwge','A2v5CW','uM50B2q','BgvUz3rO','nM5QB1beAq','y2XLyxi','zw50CMLLCW','y2XLyxjdywnOzq','AgfZ','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mte0oty0Bfnsrxfq','tg9VA3vWignHy2HLignSzwfYzwq','zw52','BxLZCwW','mteWuNjKzvrt','lI9KyI1TExnXBa','nJu1ndC3mevUuMDfCG','zNjVBq','rMjvque','lI9KyG','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','Bg9VA3vWq2fJAgu','ofnrBvzTza','CMvZB2X2zuXVB2T1CfzHBhvL','tMTbvLm','zxHLy3v0zvf1zxj5','Dg9mB3DLCKnHC2u','rejFvfLqrq','DMfSAwrHDgvmB29RDxbwywX1zxm','DhjPBq','Bg9VA3vWx3rHyMXLx2XVywrLza','ndmWodGXzKPpu1LS','mZa5mtK4vevStNPK','u0vmrunuia','iezst00G','m0zyqMviAG','lI9KyI1VCMfJBgu','Bg9HzeXVB2T1CfrHyMXL','mta5odG1ntH5AfLxAgK','BwfW','Dg9vChbLCKnHC2u','vvPJvwO','uLD6uha','vfz1Dfe','mty4ntK0muHHsxfurq','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','iIbUB3qGzM91BMqGAw4G','lI9SB2DNzxi','BwvZC2fNzq','zM9YrwfJAa','z2v0rgLZDgLUy3rwywX1zxm','C2XPy2u','mtqWndC5nZrSwM9PtNO','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Aw5MBW','C2v0','ChvZAa','z2v0','B3jHy2XL'];a0_0x4de8=function(){return _0x2e1253;};return a0_0x4de8();}const a0_0x103eee=a0_0x24c8;(function(_0x1019c0,_0x287f9d){const _0x3adc9f=a0_0x24c8,_0x528cd2=_0x1019c0();while(!![]){try{const _0x338bb8=parseInt(_0x3adc9f(0x1c8))/0x1+parseInt(_0x3adc9f(0x1f7))/0x2*(parseInt(_0x3adc9f(0x1fa))/0x3)+parseInt(_0x3adc9f(0x1e1))/0x4+-parseInt(_0x3adc9f(0x1e7))/0x5+parseInt(_0x3adc9f(0x1db))/0x6*(parseInt(_0x3adc9f(0x1fd))/0x7)+-parseInt(_0x3adc9f(0x1ed))/0x8*(parseInt(_0x3adc9f(0x1d0))/0x9)+parseInt(_0x3adc9f(0x1e5))/0xa*(parseInt(_0x3adc9f(0x1f6))/0xb);if(_0x338bb8===_0x287f9d)break;else _0x528cd2['push'](_0x528cd2['shift']());}catch(_0x17c977){_0x528cd2['push'](_0x528cd2['shift']());}}}(a0_0x4de8,0xf3ae4));const dbType=(process[a0_0x103eee(0x1e3)][a0_0x103eee(0x1f2)]||'postgresql')['toLowerCase']();function a0_0x24c8(_0x43aa23,_0x3eaba1){_0x43aa23=_0x43aa23-0x1c4;const _0x4de82f=a0_0x4de8();let _0x24c885=_0x4de82f[_0x43aa23];if(a0_0x24c8['SGIXQK']===undefined){var _0x30ba1b=function(_0x592313){const _0x5f3b0f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37c907='',_0x291b33='';for(let _0x426795=0x0,_0x4135f4,_0x1d55e7,_0x3ffcb2=0x0;_0x1d55e7=_0x592313['charAt'](_0x3ffcb2++);~_0x1d55e7&&(_0x4135f4=_0x426795%0x4?_0x4135f4*0x40+_0x1d55e7:_0x1d55e7,_0x426795++%0x4)?_0x37c907+=String['fromCharCode'](0xff&_0x4135f4>>(-0x2*_0x426795&0x6)):0x0){_0x1d55e7=_0x5f3b0f['indexOf'](_0x1d55e7);}for(let _0x5afd45=0x0,_0x22b764=_0x37c907['length'];_0x5afd45<_0x22b764;_0x5afd45++){_0x291b33+='%'+('00'+_0x37c907['charCodeAt'](_0x5afd45)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x291b33);};a0_0x24c8['AYiPnQ']=_0x30ba1b,a0_0x24c8['ZDtCJz']={},a0_0x24c8['SGIXQK']=!![];}const _0x31f5a0=_0x4de82f[0x0],_0x3e6fa1=_0x43aa23+_0x31f5a0,_0x1cb269=a0_0x24c8['ZDtCJz'][_0x3e6fa1];return!_0x1cb269?(_0x24c885=a0_0x24c8['AYiPnQ'](_0x24c885),a0_0x24c8['ZDtCJz'][_0x3e6fa1]=_0x24c885):_0x24c885=_0x1cb269,_0x24c885;}let executeQuery;if(dbType===a0_0x103eee(0x1d6)){const oracleDb=require(a0_0x103eee(0x1fb));executeQuery=(_0x4a215e,_0x93f6ec)=>oracleDb[a0_0x103eee(0x1f0)](_0x4a215e,_0x93f6ec);}else{if(dbType===a0_0x103eee(0x1e4)){const mysqlDb=require(a0_0x103eee(0x1e6));executeQuery=(_0xc4b3c3,_0x404af5)=>mysqlDb['executeQuery'](_0xc4b3c3,_0x404af5);}else executeQuery=require(a0_0x103eee(0x1ea))[a0_0x103eee(0x1f0)];}const {logger}=require(a0_0x103eee(0x1cb));class LookupResolver{constructor(){const _0x1d73f5=a0_0x103eee;this[_0x1d73f5(0x1ec)]=new Map();}[a0_0x103eee(0x1de)](){const _0x515531=a0_0x103eee,_0xddd193={'eUnAr':_0x515531(0x1c9),'udqNQ':_0x515531(0x1e2)};this['lookupCache'][_0x515531(0x1dc)](),logger['debug']({'event':_0xddd193['eUnAr']},_0xddd193['udqNQ']);}async['loadLookupTable'](_0x4fd51b,_0x41195d,_0x1ed39f){const _0x738927=a0_0x103eee,_0x102755={'ZVzmd':function(_0x293610,_0x44514b){return _0x293610!==_0x44514b;},'FbUAA':function(_0x3c17d0,_0x2cc716){return _0x3c17d0!==_0x2cc716;},'RWzPp':function(_0x44b851,_0x5330b2){return _0x44b851(_0x5330b2);},'euCfR':function(_0x250475,_0x2f1c32){return _0x250475(_0x2f1c32);}},_0xb6d678=_0x4fd51b+':'+_0x41195d+':'+_0x1ed39f;if(this[_0x738927(0x1ec)][_0x738927(0x1df)](_0xb6d678))return this['lookupCache']['get'](_0xb6d678);try{const _0x17c383=_0x738927(0x1f8)+_0x1ed39f+',\x20'+_0x41195d+_0x738927(0x1f9)+_0x4fd51b,_0x12f8eb=await executeQuery(_0x17c383),_0x1371f0=new Map();return _0x12f8eb['forEach'](_0x2cab45=>{const _0x12aac8=_0x738927,_0x461cc2=_0x102755['ZVzmd'](_0x2cab45[_0x41195d],undefined)?_0x2cab45[_0x41195d]:_0x2cab45[_0x41195d[_0x12aac8(0x1c4)]()],_0x56e17f=_0x102755['ZVzmd'](_0x2cab45[_0x1ed39f],undefined)?_0x2cab45[_0x1ed39f]:_0x2cab45[_0x1ed39f['toUpperCase']()];_0x102755[_0x12aac8(0x1e9)](_0x461cc2,null)&&_0x461cc2!==undefined&&(_0x1371f0['set'](_0x102755[_0x12aac8(0x1c6)](String,_0x461cc2)['toLowerCase']()['trim'](),_0x56e17f),_0x1371f0['set'](_0x102755['euCfR'](String,_0x461cc2)['trim'](),_0x56e17f));}),this['lookupCache'][_0x738927(0x1d3)](_0xb6d678,_0x1371f0),logger[_0x738927(0x1d2)]({'event':_0x738927(0x1f5),'table':_0x4fd51b,'column':_0x41195d,'count':_0x12f8eb['length']},'Lookup\x20table\x20loaded:\x20'+_0x4fd51b),_0x1371f0;}catch(_0x531e4b){logger['error']({'event':'lookup_table_load_error','table':_0x4fd51b,'error':_0x531e4b[_0x738927(0x1cc)]},_0x738927(0x1d1)+_0x4fd51b);throw _0x531e4b;}}['resolveLookupValue'](_0x2b7da4,_0x15e8fe){const _0x3ecef8=a0_0x103eee,_0xc46273={'KUBXa':function(_0x1c462c,_0x53e8b2){return _0x1c462c===_0x53e8b2;},'xHKet':function(_0x46a615,_0x31caa0){return _0x46a615===_0x31caa0;},'ZqOgb':function(_0x2627df,_0x409b67){return _0x2627df(_0x409b67);}};if(_0xc46273[_0x3ecef8(0x1d7)](_0x2b7da4,null)||_0x2b7da4===undefined||_0xc46273['xHKet'](_0x2b7da4,''))return null;const _0x21cd4e=_0xc46273['ZqOgb'](String,_0x2b7da4)['trim']();if(_0x15e8fe['has'](_0x21cd4e))return _0x15e8fe[_0x3ecef8(0x1d5)](_0x21cd4e);const _0x241dc5=_0x21cd4e[_0x3ecef8(0x1f1)]();if(_0x15e8fe['has'](_0x241dc5))return _0x15e8fe['get'](_0x241dc5);return null;}async['processLookupFields'](_0x1e9b6f,_0x342ba7){const _0x545a4a=a0_0x103eee,_0x39dc83={'TVutQ':function(_0x55bc38,_0x43ced7){return _0x55bc38===_0x43ced7;},'FChgG':_0x545a4a(0x1eb),'UZcUj':'Lookup\x20fields\x20processed'};if(!_0x342ba7||Object[_0x545a4a(0x1d8)](_0x342ba7)[_0x545a4a(0x1da)]===0x0)return{'processedRows':_0x1e9b6f,'errors':[]};const _0x4c9855=[],_0xa821fe=new Map();for(const [_0x34564d,_0x4cf319]of Object[_0x545a4a(0x1dd)](_0x342ba7)){const {lookupTable:_0xa1a993,lookupColumn:_0x4aadfd,lookupIdColumn:_0xd1b9ad}=_0x4cf319,_0x2a619b=_0xa1a993+':'+_0x4aadfd+':'+_0xd1b9ad;if(!_0xa821fe[_0x545a4a(0x1df)](_0x2a619b)){const _0x3b2d97=await this[_0x545a4a(0x1fc)](_0xa1a993,_0x4aadfd,_0xd1b9ad);_0xa821fe['set'](_0x2a619b,_0x3b2d97);}}const _0x4d28d2=_0x1e9b6f[_0x545a4a(0x1fe)]((_0xd8d05e,_0x5a9b41)=>{const _0x385d66=_0x545a4a,_0x598188={..._0xd8d05e};for(const [_0x846fea,_0x528556]of Object[_0x385d66(0x1dd)](_0x342ba7)){const {lookupTable:_0x426d03,lookupColumn:_0x1df208,lookupIdColumn:_0x3617fd,targetField:_0x4e1892,required:_0x1df85f}=_0x528556,_0x5d5134=_0x426d03+':'+_0x1df208+':'+_0x3617fd,_0x151fda=_0xa821fe['get'](_0x5d5134),_0x2956c7=_0xd8d05e[_0x846fea];if((_0x2956c7===null||_0x39dc83[_0x385d66(0x1c7)](_0x2956c7,undefined)||_0x2956c7==='')&&!_0x1df85f){_0x598188[_0x4e1892]=null;continue;}const _0x575c75=this[_0x385d66(0x1ee)](_0x2956c7,_0x151fda);_0x575c75!==null?_0x598188[_0x4e1892]=_0x575c75:(_0x1df85f&&_0x4c9855[_0x385d66(0x1d4)]({'rowIndex':_0x5a9b41,'field':_0x846fea,'value':_0x2956c7,'targetField':_0x4e1892,'lookupTable':_0x426d03,'message':'Value\x20\x22'+_0x2956c7+_0x385d66(0x1ca)+_0x426d03}),_0x598188[_0x4e1892]=null);}return _0x598188;});return logger['info']({'event':_0x39dc83['FChgG'],'totalRows':_0x1e9b6f['length'],'errorCount':_0x4c9855['length'],'lookupFieldCount':Object[_0x545a4a(0x1d8)](_0x342ba7)[_0x545a4a(0x1da)]},_0x39dc83[_0x545a4a(0x1c5)]),{'processedRows':_0x4d28d2,'errors':_0x4c9855};}[a0_0x103eee(0x1ce)](_0x16abf2,_0x1214c8){const _0x3fb365=a0_0x103eee,_0x3a2697={'Rntod':function(_0x39e695,_0xb0540e){return _0x39e695!==_0xb0540e;}},_0xd037e6=new Set();return _0x16abf2['forEach'](_0x5136e3=>{const _0x5e0faf=a0_0x24c8,_0x4c3069=_0x5136e3[_0x1214c8];_0x4c3069!==null&&_0x4c3069!==undefined&&_0x3a2697[_0x5e0faf(0x1d9)](_0x4c3069,'')&&_0xd037e6['add'](String(_0x4c3069)[_0x5e0faf(0x1f4)]());}),Array[_0x3fb365(0x1e8)](_0xd037e6);}async[a0_0x103eee(0x1f3)](_0x218ca7,_0x2548c4){const _0x12d673=a0_0x103eee,_0x417978={'yZbOY':function(_0x3db3ca,_0x296ae5){return _0x3db3ca!==_0x296ae5;},'NkAVS':function(_0x37253d,_0x4d2d83){return _0x37253d===_0x4d2d83;}};if(!_0x2548c4||Object[_0x12d673(0x1d8)](_0x2548c4)[_0x12d673(0x1da)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x495bb5=[],_0x24ddb1={};for(const [_0x332336,_0x11083f]of Object[_0x12d673(0x1dd)](_0x2548c4)){const {lookupTable:_0x559672,lookupColumn:_0xc480a1,lookupIdColumn:_0x15e5f5,required:_0x36aca7}=_0x11083f,_0x1ded6b=this['getDistinctValues'](_0x218ca7,_0x332336),_0x153ffd=await this[_0x12d673(0x1fc)](_0x559672,_0xc480a1,_0x15e5f5),_0x368917=[],_0x43b521=[];_0x1ded6b['forEach'](_0x18f357=>{const _0xe57175=_0x12d673,_0x551bf7=this[_0xe57175(0x1ee)](_0x18f357,_0x153ffd);_0x417978['yZbOY'](_0x551bf7,null)?_0x43b521[_0xe57175(0x1d4)](_0x18f357):_0x368917[_0xe57175(0x1d4)](_0x18f357);});if(_0x368917['length']>0x0&&_0x36aca7){_0x495bb5[_0x12d673(0x1d4)]({'field':_0x332336,'lookupTable':_0x559672,'invalidValues':_0x368917,'message':_0x368917[_0x12d673(0x1da)]+_0x12d673(0x1e0)+_0x559672});const _0xfb3ee1=[];_0x153ffd[_0x12d673(0x1cd)]((_0x56f3b7,_0x23cf06)=>{const _0x496432=_0x12d673;if(_0x23cf06===_0x23cf06[_0x496432(0x1f1)]())return;_0xfb3ee1[_0x496432(0x1d4)](_0x23cf06);}),_0x24ddb1[_0x332336]={'invalidValues':_0x368917,'availableValues':_0xfb3ee1[_0x12d673(0x1cf)](0x0,0x32)};}}return{'valid':_0x417978[_0x12d673(0x1ef)](_0x495bb5[_0x12d673(0x1da)],0x0),'errors':_0x495bb5,'suggestions':_0x24ddb1};}}module['exports']=new LookupResolver();
1
+ const a0_0x18d008=a0_0x515a;(function(_0x2ae52d,_0x1207ca){const _0x4b8381=a0_0x515a,_0x3a411a=_0x2ae52d();while(!![]){try{const _0x28173d=parseInt(_0x4b8381(0x101))/0x1*(-parseInt(_0x4b8381(0x117))/0x2)+parseInt(_0x4b8381(0x112))/0x3+-parseInt(_0x4b8381(0x102))/0x4*(-parseInt(_0x4b8381(0x111))/0x5)+parseInt(_0x4b8381(0x104))/0x6*(parseInt(_0x4b8381(0x120))/0x7)+-parseInt(_0x4b8381(0x11a))/0x8+-parseInt(_0x4b8381(0x10f))/0x9*(-parseInt(_0x4b8381(0x108))/0xa)+-parseInt(_0x4b8381(0x10d))/0xb;if(_0x28173d===_0x1207ca)break;else _0x3a411a['push'](_0x3a411a['shift']());}catch(_0x5c5f6e){_0x3a411a['push'](_0x3a411a['shift']());}}}(a0_0x3404,0x64eee));const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();function a0_0x515a(_0x34364b,_0x686443){_0x34364b=_0x34364b-0xfc;const _0x340432=a0_0x3404();let _0x515a72=_0x340432[_0x34364b];if(a0_0x515a['ouCZnv']===undefined){var _0x24c06e=function(_0x24341b){const _0x235650='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c3baf='',_0x5bcaae='';for(let _0x384057=0x0,_0x470878,_0x22464d,_0x1fdb0f=0x0;_0x22464d=_0x24341b['charAt'](_0x1fdb0f++);~_0x22464d&&(_0x470878=_0x384057%0x4?_0x470878*0x40+_0x22464d:_0x22464d,_0x384057++%0x4)?_0x4c3baf+=String['fromCharCode'](0xff&_0x470878>>(-0x2*_0x384057&0x6)):0x0){_0x22464d=_0x235650['indexOf'](_0x22464d);}for(let _0x15d039=0x0,_0x488fdf=_0x4c3baf['length'];_0x15d039<_0x488fdf;_0x15d039++){_0x5bcaae+='%'+('00'+_0x4c3baf['charCodeAt'](_0x15d039)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bcaae);};a0_0x515a['Fstlqp']=_0x24c06e,a0_0x515a['qbQgBq']={},a0_0x515a['ouCZnv']=!![];}const _0x330b57=_0x340432[0x0],_0x1d278d=_0x34364b+_0x330b57,_0x151d65=a0_0x515a['qbQgBq'][_0x1d278d];return!_0x151d65?(_0x515a72=a0_0x515a['Fstlqp'](_0x515a72),a0_0x515a['qbQgBq'][_0x1d278d]=_0x515a72):_0x515a72=_0x151d65,_0x515a72;}let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x32b820,_0x3f2bb4)=>oracleDb[a0_0x18d008(0xfd)](_0x32b820,_0x3f2bb4);}else{if(dbType==='mysql'){const mysqlDb=require('./db-mysql');executeQuery=(_0x45f25a,_0x218a62)=>mysqlDb[a0_0x18d008(0xfd)](_0x45f25a,_0x218a62);}else executeQuery=require('./db')[a0_0x18d008(0xfd)];}function a0_0x3404(){const _0x5bba96=['mZuZmdqZmNHdBhnLyq','Aw5MBW','iIbUB3qGzM91BMqGAw4G','rwX2tMO','iezst00G','y2XLyxjdywnOzq','nte2ndK0m0v6sxLwBa','Bg9VA3vWx3rHyMXLx2XVywrLza','ChvZAa','z2v0','rvzoD2S','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9mB3DLCKnHC2u','BgvUz3rO','zxHLy3v0zvf1zxj5','u0vmrunuia','BwvZC2fNzq','BwfW','ndi0mgzurwjzta','mJeWodqZnNzouejkCW','DhjPBq','nLbRz2zpAG','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','q1DwBxe','C2v0','mtbfu3vvteO','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','z2v0rgLZDgLUy3rwywX1zxm','Bg9HzeXVB2T1CfrHyMXL','zxHWB3j0CW','mZa4mJa3ovLmzenjtq','AgfZ','mtGZndm2mKXdyLfuwa','Dg9vChbLCKnHC2u','nwDtvMn2Aa','mtGXmZC3wLnksxv5','Bg9VA3vWq2fJAgu','A2v5CW','vMfSDwuGiG','zxjYB3i','mtG2AxrvAKjx','zM9YrwfJAa','y2XLyxi'];a0_0x3404=function(){return _0x5bba96;};return a0_0x3404();}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x4dc978=a0_0x18d008;this[_0x4dc978(0x113)]=new Map();}[a0_0x18d008(0x11f)](){const _0x181dc3=a0_0x18d008,_0x3d15f3={'vPBUq':'lookup_cache_cleared'};this[_0x181dc3(0x113)][_0x181dc3(0x119)](),logger['debug']({'event':_0x3d15f3['vPBUq']},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x22c25f,_0x4f4909,_0x28ab63){const _0x26b0bf=a0_0x18d008,_0x11b455={'CWVmq':function(_0x46c8aa,_0x18e5ba){return _0x46c8aa!==_0x18e5ba;},'EVNwk':function(_0x4ac4f9,_0x579879){return _0x4ac4f9(_0x579879);}},_0x148c07=_0x22c25f+':'+_0x4f4909+':'+_0x28ab63;if(this[_0x26b0bf(0x113)]['has'](_0x148c07))return this[_0x26b0bf(0x113)]['get'](_0x148c07);try{const _0xb98eb6=_0x26b0bf(0xfe)+_0x28ab63+',\x20'+_0x4f4909+_0x26b0bf(0x11e)+_0x22c25f,_0x1c5975=await executeQuery(_0xb98eb6),_0x31b01b=new Map();return _0x1c5975[_0x26b0bf(0x118)](_0x8f5f74=>{const _0x6303d3=_0x26b0bf,_0x30de80=_0x8f5f74[_0x4f4909]!==undefined?_0x8f5f74[_0x4f4909]:_0x8f5f74[_0x4f4909['toUpperCase']()],_0x12a00e=_0x11b455[_0x6303d3(0x106)](_0x8f5f74[_0x28ab63],undefined)?_0x8f5f74[_0x28ab63]:_0x8f5f74[_0x28ab63[_0x6303d3(0x110)]()];_0x30de80!==null&&_0x11b455[_0x6303d3(0x106)](_0x30de80,undefined)&&(_0x31b01b[_0x6303d3(0x107)](_0x11b455[_0x6303d3(0x124)](String,_0x30de80)[_0x6303d3(0x126)]()['trim'](),_0x12a00e),_0x31b01b[_0x6303d3(0x107)](String(_0x30de80)[_0x6303d3(0x103)](),_0x12a00e));}),this['lookupCache'][_0x26b0bf(0x107)](_0x148c07,_0x31b01b),logger[_0x26b0bf(0x11b)]({'event':_0x26b0bf(0x121),'table':_0x22c25f,'column':_0x4f4909,'count':_0x1c5975[_0x26b0bf(0xfc)]},'Lookup\x20table\x20loaded:\x20'+_0x22c25f),_0x31b01b;}catch(_0x11b37e){logger[_0x26b0bf(0x116)]({'event':'lookup_table_load_error','table':_0x22c25f,'error':_0x11b37e[_0x26b0bf(0xff)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x22c25f);throw _0x11b37e;}}['resolveLookupValue'](_0x3ac9a9,_0x565067){const _0xb05fd5=a0_0x18d008,_0x49369e={'sZSOY':function(_0x4fd7d6,_0x23337b){return _0x4fd7d6===_0x23337b;},'mmzix':function(_0x376809,_0x3e2767){return _0x376809===_0x3e2767;},'CTrqt':function(_0x2633a8,_0x34a103){return _0x2633a8(_0x34a103);}};if(_0x3ac9a9===null||_0x49369e['sZSOY'](_0x3ac9a9,undefined)||_0x49369e['mmzix'](_0x3ac9a9,''))return null;const _0x103cbd=_0x49369e['CTrqt'](String,_0x3ac9a9)[_0xb05fd5(0x103)]();if(_0x565067[_0xb05fd5(0x10e)](_0x103cbd))return _0x565067[_0xb05fd5(0x123)](_0x103cbd);const _0x39c446=_0x103cbd[_0xb05fd5(0x126)]();if(_0x565067['has'](_0x39c446))return _0x565067['get'](_0x39c446);return null;}async['processLookupFields'](_0x10615a,_0x48a901){const _0xe884e5=a0_0x18d008,_0x307d97={'UDFMn':function(_0x1dcb59,_0x12491c){return _0x1dcb59!==_0x12491c;},'FfDUK':function(_0x52340b,_0x4fc2f6){return _0x52340b===_0x4fc2f6;},'ElvNj':'Lookup\x20fields\x20processed'};if(!_0x48a901||_0x307d97['FfDUK'](Object['keys'](_0x48a901)[_0xe884e5(0xfc)],0x0))return{'processedRows':_0x10615a,'errors':[]};const _0x1438e6=[],_0x276865=new Map();for(const [_0x221b20,_0x305b36]of Object['entries'](_0x48a901)){const {lookupTable:_0x594570,lookupColumn:_0x123cf2,lookupIdColumn:_0x1a3eac}=_0x305b36,_0x42ed1a=_0x594570+':'+_0x123cf2+':'+_0x1a3eac;if(!_0x276865['has'](_0x42ed1a)){const _0x47e115=await this[_0xe884e5(0x10b)](_0x594570,_0x123cf2,_0x1a3eac);_0x276865[_0xe884e5(0x107)](_0x42ed1a,_0x47e115);}}const _0x94d3ea=_0x10615a[_0xe884e5(0x100)]((_0x591614,_0x4abe3a)=>{const _0x2c7bb4=_0xe884e5,_0x59c13d={..._0x591614};for(const [_0x459da1,_0x282822]of Object['entries'](_0x48a901)){const {lookupTable:_0x24438c,lookupColumn:_0x32f974,lookupIdColumn:_0x43f5f7,targetField:_0x4df695,required:_0xa951ca}=_0x282822,_0x5a46b7=_0x24438c+':'+_0x32f974+':'+_0x43f5f7,_0x44f2f3=_0x276865['get'](_0x5a46b7),_0x37007c=_0x591614[_0x459da1];if((_0x37007c===null||_0x37007c===undefined||_0x37007c==='')&&!_0xa951ca){_0x59c13d[_0x4df695]=null;continue;}const _0x181c94=this[_0x2c7bb4(0x125)](_0x37007c,_0x44f2f3);_0x307d97['UDFMn'](_0x181c94,null)?_0x59c13d[_0x4df695]=_0x181c94:(_0xa951ca&&_0x1438e6[_0x2c7bb4(0x122)]({'rowIndex':_0x4abe3a,'field':_0x459da1,'value':_0x37007c,'targetField':_0x4df695,'lookupTable':_0x24438c,'message':_0x2c7bb4(0x115)+_0x37007c+_0x2c7bb4(0x11c)+_0x24438c}),_0x59c13d[_0x4df695]=null);}return _0x59c13d;});return logger['info']({'event':_0xe884e5(0x105),'totalRows':_0x10615a['length'],'errorCount':_0x1438e6['length'],'lookupFieldCount':Object[_0xe884e5(0x114)](_0x48a901)[_0xe884e5(0xfc)]},_0x307d97[_0xe884e5(0x11d)]),{'processedRows':_0x94d3ea,'errors':_0x1438e6};}[a0_0x18d008(0x10a)](_0x4eb22d,_0x4176a0){const _0x1d1337=a0_0x18d008,_0x373445=new Set();return _0x4eb22d[_0x1d1337(0x118)](_0x596eea=>{const _0x37f9db=_0x1d1337,_0x3202f7=_0x596eea[_0x4176a0];_0x3202f7!==null&&_0x3202f7!==undefined&&_0x3202f7!==''&&_0x373445['add'](String(_0x3202f7)[_0x37f9db(0x103)]());}),Array['from'](_0x373445);}async['validateLookupValues'](_0x58f653,_0x4abc3c){const _0x32fff2=a0_0x18d008,_0x825dfe={'bAdxf':function(_0x3bf3f2,_0xaf6db0){return _0x3bf3f2===_0xaf6db0;}};if(!_0x4abc3c||Object['keys'](_0x4abc3c)[_0x32fff2(0xfc)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x13e8e0=[],_0x48403b={};for(const [_0x1a9a62,_0x24f2fa]of Object['entries'](_0x4abc3c)){const {lookupTable:_0x551366,lookupColumn:_0x26b509,lookupIdColumn:_0x34db1e,required:_0x414d67}=_0x24f2fa,_0x43ce31=this[_0x32fff2(0x10a)](_0x58f653,_0x1a9a62),_0x2f4b0a=await this[_0x32fff2(0x10b)](_0x551366,_0x26b509,_0x34db1e),_0x41db0b=[],_0x151f7e=[];_0x43ce31[_0x32fff2(0x118)](_0x3e1546=>{const _0x26f5e0=_0x32fff2,_0x5951c5=this['resolveLookupValue'](_0x3e1546,_0x2f4b0a);_0x5951c5!==null?_0x151f7e['push'](_0x3e1546):_0x41db0b[_0x26f5e0(0x122)](_0x3e1546);});if(_0x41db0b['length']>0x0&&_0x414d67){_0x13e8e0['push']({'field':_0x1a9a62,'lookupTable':_0x551366,'invalidValues':_0x41db0b,'message':_0x41db0b[_0x32fff2(0xfc)]+_0x32fff2(0x109)+_0x551366});const _0x533abd=[];_0x2f4b0a[_0x32fff2(0x118)]((_0x357978,_0x118be8)=>{const _0x3d3431=_0x32fff2;if(_0x825dfe['bAdxf'](_0x118be8,_0x118be8['toLowerCase']()))return;_0x533abd[_0x3d3431(0x122)](_0x118be8);}),_0x48403b[_0x1a9a62]={'invalidValues':_0x41db0b,'availableValues':_0x533abd['slice'](0x0,0x32)};}}return{'valid':_0x13e8e0['length']===0x0,'errors':_0x13e8e0,'suggestions':_0x48403b};}}module[a0_0x18d008(0x10c)]=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x1309(){const _0x39e0a6=['zMLLBgrmywjLBhm','uKDYC3u','CgfYC2u','mtK2mNfkshLlEa','zxjYB3i','y2fJAgu','C2v0','mtuZnMP6yMjdrq','AM9PBG','CMvWBgfJzq','vKrWrgC','AgfZ','otmWodjLtKfyyLy','nJeWnJjXAhDStvm','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mtyWExHsqK9j','mti5otaYndbNz2Lvufe','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ugf5Bg9HzcbUB3qGzM91BMq6ia','ndyZmJa2qxLOANbv','zgvIDwC','mNDTvu9hsG','uLvvEui','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','s2jos2e','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','Bg9HzfbHEwXVywq','DxrMoa','mJy4odHdwwHQExC','mtyXmZm1mvPKAxf2Aa','DgfIBgvoyw1L','lI4VlI4VCgf5Bg9Hza','z2v0','Cgf5Bg9HzdO','mta5ndq0nZjoCKPrzfC','Cgf0Aa','lwv4Cg9YDa','mtbuy1r4DLC','Axnby3rPB25fBMfIBgvK','zgf0yxrHyMXLC1f1zxj5','Cgf5Bg9HzerPCG','Cgf5Bg9Hzf9SB2fKzwq'];a0_0x1309=function(){return _0x39e0a6;};return a0_0x1309();}function a0_0x5f00(_0xa84d2c,_0x29a8d6){_0xa84d2c=_0xa84d2c-0x8f;const _0x130922=a0_0x1309();let _0x5f005f=_0x130922[_0xa84d2c];if(a0_0x5f00['rljkyO']===undefined){var _0x4c2888=function(_0x3892ff){const _0x38878b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55d6b3='',_0x3caccd='';for(let _0x3f4ac8=0x0,_0x47741d,_0xb85064,_0x523ed2=0x0;_0xb85064=_0x3892ff['charAt'](_0x523ed2++);~_0xb85064&&(_0x47741d=_0x3f4ac8%0x4?_0x47741d*0x40+_0xb85064:_0xb85064,_0x3f4ac8++%0x4)?_0x55d6b3+=String['fromCharCode'](0xff&_0x47741d>>(-0x2*_0x3f4ac8&0x6)):0x0){_0xb85064=_0x38878b['indexOf'](_0xb85064);}for(let _0x5e143b=0x0,_0x352d38=_0x55d6b3['length'];_0x5e143b<_0x352d38;_0x5e143b++){_0x3caccd+='%'+('00'+_0x55d6b3['charCodeAt'](_0x5e143b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3caccd);};a0_0x5f00['gLOQNr']=_0x4c2888,a0_0x5f00['yUmauc']={},a0_0x5f00['rljkyO']=!![];}const _0x4dd46f=_0x130922[0x0],_0x17ac65=_0xa84d2c+_0x4dd46f,_0x2defd3=a0_0x5f00['yUmauc'][_0x17ac65];return!_0x2defd3?(_0x5f005f=a0_0x5f00['gLOQNr'](_0x5f005f),a0_0x5f00['yUmauc'][_0x17ac65]=_0x5f005f):_0x5f005f=_0x2defd3,_0x5f005f;}const a0_0x53057d=a0_0x5f00;(function(_0xb10685,_0x20d35e){const _0x2ba5d8=a0_0x5f00,_0x23fada=_0xb10685();while(!![]){try{const _0x1552dc=parseInt(_0x2ba5d8(0xaf))/0x1*(parseInt(_0x2ba5d8(0xa7))/0x2)+-parseInt(_0x2ba5d8(0x9f))/0x3*(parseInt(_0x2ba5d8(0xa1))/0x4)+parseInt(_0x2ba5d8(0xb7))/0x5*(parseInt(_0x2ba5d8(0xa5))/0x6)+parseInt(_0x2ba5d8(0xb4))/0x7+-parseInt(_0x2ba5d8(0xae))/0x8*(-parseInt(_0x2ba5d8(0x95))/0x9)+-parseInt(_0x2ba5d8(0xa2))/0xa+parseInt(_0x2ba5d8(0x9e))/0xb*(-parseInt(_0x2ba5d8(0x99))/0xc);if(_0x1552dc===_0x20d35e)break;else _0x23fada['push'](_0x23fada['shift']());}catch(_0x1e24c1){_0x23fada['push'](_0x23fada['shift']());}}}(a0_0x1309,0xd3d2b));const fs=require('fs')['promises'],path=require(a0_0x53057d(0xb5)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x5ab8a4=a0_0x53057d;this[_0x5ab8a4(0x90)]=path[_0x5ab8a4(0x9a)](__dirname,_0x5ab8a4(0xb1)),this['cache']=new Map();}async[a0_0x53057d(0xac)](_0x5562a4,_0x4d31cf){const _0xfc0bab=a0_0x53057d,_0x3935c3={'VDpDg':_0xfc0bab(0xab),'RUUyB':'payload_load_error'},_0xcba087=_0x5562a4+':'+_0x4d31cf;if(this['cache'][_0xfc0bab(0x9d)](_0xcba087))return this[_0xfc0bab(0x97)]['get'](_0xcba087);const _0xce3baf=path['join'](this['payloadDir'],_0x5562a4+'_'+_0x4d31cf+'.json');try{const _0x22ed1c=await fs['readFile'](_0xce3baf,_0xfc0bab(0xad)),_0x3acfe3=JSON[_0xfc0bab(0x94)](_0x22ed1c);return this[_0xfc0bab(0x97)]['set'](_0xcba087,_0x3acfe3),logger[_0xfc0bab(0xa6)]({'event':'payload_loaded','project':_0x5562a4,'resource':_0x4d31cf},_0x3935c3[_0xfc0bab(0x9c)]),_0x3acfe3;}catch(_0x198105){logger[_0xfc0bab(0x96)]({'event':_0x3935c3[_0xfc0bab(0xa8)],'project':_0x5562a4,'resource':_0x4d31cf,'error':_0x198105['message']},'Failed\x20to\x20load\x20payload');throw new Error(_0xfc0bab(0xa4)+_0x5562a4+'_'+_0x4d31cf);}}async['loadPayloadByName'](_0x2ee0e4){const _0x3353ba=a0_0x53057d,_0x41bfd1={'kRQgU':_0x3353ba(0xad),'odQEs':_0x3353ba(0x91),'KbNKa':'Payload\x20loaded\x20successfully\x20by\x20name','RGrsu':_0x3353ba(0xa0),'JNlvn':_0x3353ba(0xa3)},_0x54e293=_0x3353ba(0xb3)+_0x2ee0e4;if(this['cache'][_0x3353ba(0x9d)](_0x54e293))return this[_0x3353ba(0x97)][_0x3353ba(0xb2)](_0x54e293);const _0x4b47a0=path['join'](this['payloadDir'],_0x2ee0e4+'.json');try{const _0x2a9eef=await fs['readFile'](_0x4b47a0,_0x41bfd1['kRQgU']),_0x37bb4b=JSON[_0x3353ba(0x94)](_0x2a9eef);return this[_0x3353ba(0x97)][_0x3353ba(0x98)](_0x54e293,_0x37bb4b),logger[_0x3353ba(0xa6)]({'event':_0x41bfd1['odQEs'],'payloadName':_0x2ee0e4},_0x41bfd1[_0x3353ba(0xaa)]),_0x37bb4b;}catch(_0x3a6737){logger[_0x3353ba(0x96)]({'event':_0x41bfd1[_0x3353ba(0x93)],'payloadName':_0x2ee0e4,'error':_0x3a6737['message']},_0x41bfd1['JNlvn']);throw new Error(_0x3353ba(0xa4)+_0x2ee0e4);}}[a0_0x53057d(0xb8)](_0x369997,_0x2ea063){const _0x160f7d={'qOShH':function(_0x4a370d,_0x4a63a7){return _0x4a370d===_0x4a63a7;}};return _0x369997['action']&&_0x160f7d['qOShH'](_0x369997['action'][_0x2ea063],!![]);}['getExportConfig'](_0x33341b){const _0x120643=a0_0x53057d;return{'columns':_0x33341b['fieldName']||[],'filename':_0x33341b[_0x120643(0xb0)][_0x120643(0x9b)]('.','-')+_0x120643(0xb6),'datatablesQuery':_0x33341b[_0x120643(0x8f)]||null,'columnFormats':_0x33341b['columnFormats']||null,'fieldLabels':_0x33341b[_0x120643(0x92)]||null};}['clearCache'](){const _0x23bac1=a0_0x53057d;this[_0x23bac1(0x97)]['clear'](),logger['info']({'event':'payload_cache_cleared'},_0x23bac1(0xa9));}}module['exports']=new PayloadLoader();
1
+ function a0_0x59a4(){const _0x5a9bc1=['zgf0yxrHyMXLC1f1zxj5','lwv4Cg9YDa','odbUwfb2te0','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','DxrMoa','rfPOy0u','CMvHzezPBgu','y2XLyxjdywnOzq','CgfYC2u','EufQzKW','DgfIBgvoyw1L','mtCWmJC1n2HswgfhtG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJi0odKYnLPouKPsBW','ndy4nJm4yK1NtuHw','mJC3mdmZnKnTCvLRDq','Aw5MBW','zgvIDwC','BwvZC2fNzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','s3fnrKC','oufpze95BG','AgfZ','Cgf5Bg9HzerPCG','Cgf0Aa','mZiXnZmWqu5luu12','oteWndCYnefbBMn1BW','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9Hzf9SB2fKzwq','AM9PBG','zMLLBgroyw1L','y2fJAgu','C2v0','CMvWBgfJzq','mti0nZiWCgnsCfDg'];a0_0x59a4=function(){return _0x5a9bc1;};return a0_0x59a4();}const a0_0xd86b06=a0_0x43b6;function a0_0x43b6(_0x2c93fc,_0x4129f4){_0x2c93fc=_0x2c93fc-0x183;const _0x59a481=a0_0x59a4();let _0x43b69d=_0x59a481[_0x2c93fc];if(a0_0x43b6['FQDJCa']===undefined){var _0x467aec=function(_0x45c981){const _0x3cce53='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe6b606='',_0x53e0a0='';for(let _0x51d08c=0x0,_0x546e7e,_0x5119dd,_0x1f0561=0x0;_0x5119dd=_0x45c981['charAt'](_0x1f0561++);~_0x5119dd&&(_0x546e7e=_0x51d08c%0x4?_0x546e7e*0x40+_0x5119dd:_0x5119dd,_0x51d08c++%0x4)?_0xe6b606+=String['fromCharCode'](0xff&_0x546e7e>>(-0x2*_0x51d08c&0x6)):0x0){_0x5119dd=_0x3cce53['indexOf'](_0x5119dd);}for(let _0xd2e6e7=0x0,_0x45b920=_0xe6b606['length'];_0xd2e6e7<_0x45b920;_0xd2e6e7++){_0x53e0a0+='%'+('00'+_0xe6b606['charCodeAt'](_0xd2e6e7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53e0a0);};a0_0x43b6['ayKkrF']=_0x467aec,a0_0x43b6['jQYqvB']={},a0_0x43b6['FQDJCa']=!![];}const _0x1ffd4e=_0x59a481[0x0],_0x5e2468=_0x2c93fc+_0x1ffd4e,_0x371f94=a0_0x43b6['jQYqvB'][_0x5e2468];return!_0x371f94?(_0x43b69d=a0_0x43b6['ayKkrF'](_0x43b69d),a0_0x43b6['jQYqvB'][_0x5e2468]=_0x43b69d):_0x43b69d=_0x371f94,_0x43b69d;}(function(_0x23e668,_0x1aad53){const _0x5f36f2=a0_0x43b6,_0x4f62f0=_0x23e668();while(!![]){try{const _0x2c931f=-parseInt(_0x5f36f2(0x190))/0x1+-parseInt(_0x5f36f2(0x19b))/0x2*(parseInt(_0x5f36f2(0x197))/0x3)+parseInt(_0x5f36f2(0x184))/0x4*(parseInt(_0x5f36f2(0x1a4))/0x5)+parseInt(_0x5f36f2(0x18f))/0x6+-parseInt(_0x5f36f2(0x18d))/0x7+-parseInt(_0x5f36f2(0x191))/0x8+parseInt(_0x5f36f2(0x19c))/0x9;if(_0x2c931f===_0x1aad53)break;else _0x4f62f0['push'](_0x4f62f0['shift']());}catch(_0x3bc36e){_0x4f62f0['push'](_0x4f62f0['shift']());}}}(a0_0x59a4,0x541f1));const fs=require('fs')['promises'],path=require(a0_0xd86b06(0x19a)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x649864=a0_0xd86b06,_0x51a4b6={'GvCgz':'../../payload'};this[_0x649864(0x199)]=path['join'](__dirname,_0x51a4b6['GvCgz']),this['cache']=new Map();}async['loadPayload'](_0x477378,_0x3dd1f9){const _0x153275=a0_0xd86b06,_0x37967e=_0x477378+':'+_0x3dd1f9;if(this[_0x153275(0x1a1)][_0x153275(0x198)](_0x37967e))return this[_0x153275(0x1a1)]['get'](_0x37967e);const _0x3ffb34=path[_0x153275(0x19f)](this['payloadDir'],_0x477378+'_'+_0x3dd1f9+'.json');try{const _0xc723b6=await fs['readFile'](_0x3ffb34,'utf8'),_0x10c84f=JSON[_0x153275(0x18a)](_0xc723b6);return this[_0x153275(0x1a1)][_0x153275(0x1a2)](_0x37967e,_0x10c84f),logger['debug']({'event':_0x153275(0x19e),'project':_0x477378,'resource':_0x3dd1f9},'Payload\x20loaded\x20successfully'),_0x10c84f;}catch(_0x3a1d16){logger['error']({'event':_0x153275(0x18e),'project':_0x477378,'resource':_0x3dd1f9,'error':_0x3a1d16[_0x153275(0x194)]},_0x153275(0x185));throw new Error(_0x153275(0x195)+_0x477378+'_'+_0x3dd1f9);}}async['loadPayloadByName'](_0x2b3475){const _0x3f5f6b=a0_0xd86b06,_0x276a4a={'DZhcE':_0x3f5f6b(0x19e),'yAjfL':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x4293b3='payload:'+_0x2b3475;if(this['cache'][_0x3f5f6b(0x198)](_0x4293b3))return this['cache']['get'](_0x4293b3);const _0x3db120=path['join'](this[_0x3f5f6b(0x199)],_0x2b3475+'.json');try{const _0x524d6b=await fs[_0x3f5f6b(0x188)](_0x3db120,_0x3f5f6b(0x186)),_0x2a4d5d=JSON[_0x3f5f6b(0x18a)](_0x524d6b);return this['cache']['set'](_0x4293b3,_0x2a4d5d),logger[_0x3f5f6b(0x193)]({'event':_0x276a4a[_0x3f5f6b(0x187)],'payloadName':_0x2b3475},_0x276a4a[_0x3f5f6b(0x18b)]),_0x2a4d5d;}catch(_0x22abbc){logger['error']({'event':'payload_load_error','payloadName':_0x2b3475,'error':_0x22abbc[_0x3f5f6b(0x194)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x3f5f6b(0x195)+_0x2b3475);}}['isActionEnabled'](_0x487842,_0x5c79a0){return _0x487842['action']&&_0x487842['action'][_0x5c79a0]===!![];}['getExportConfig'](_0xc120e4){const _0x2c9a57=a0_0xd86b06;return{'columns':_0xc120e4[_0x2c9a57(0x1a0)]||[],'filename':_0xc120e4[_0x2c9a57(0x18c)][_0x2c9a57(0x1a3)]('.','-')+_0x2c9a57(0x183),'datatablesQuery':_0xc120e4[_0x2c9a57(0x1a5)]||null,'columnFormats':_0xc120e4['columnFormats']||null,'fieldLabels':_0xc120e4['fieldLabels']||null};}[a0_0xd86b06(0x189)](){const _0x5c8b93=a0_0xd86b06,_0x56bfbb={'uXyxW':_0x5c8b93(0x19d),'KqMFG':'Payload\x20cache\x20cleared'};this[_0x5c8b93(0x1a1)]['clear'](),logger[_0x5c8b93(0x192)]({'event':_0x56bfbb['uXyxW']},_0x56bfbb[_0x5c8b93(0x196)]);}}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';var a0_0x51613e=a0_0x3a33;(function(_0x48bd66,_0x3999e7){var _0x41b414=a0_0x3a33,_0x5bfbdf=_0x48bd66();while(!![]){try{var _0xb819d3=-parseInt(_0x41b414(0xf8))/0x1*(parseInt(_0x41b414(0xf9))/0x2)+-parseInt(_0x41b414(0xf2))/0x3+-parseInt(_0x41b414(0xf7))/0x4+-parseInt(_0x41b414(0xfd))/0x5*(parseInt(_0x41b414(0xfc))/0x6)+parseInt(_0x41b414(0xfa))/0x7+parseInt(_0x41b414(0xf4))/0x8+parseInt(_0x41b414(0xf6))/0x9*(parseInt(_0x41b414(0xf5))/0xa);if(_0xb819d3===_0x3999e7)break;else _0x5bfbdf['push'](_0x5bfbdf['shift']());}catch(_0x2dca00){_0x5bfbdf['push'](_0x5bfbdf['shift']());}}}(a0_0x5e15,0x4ab8f));function createResponse(_0x425131,_0x9bdcf,_0x35b813=null){var _0x40cf2f=a0_0x3a33;return{'success':!![],'statusCode':_0x425131,'message':_0x9bdcf,'data':_0x35b813,'timestamp':new Date()[_0x40cf2f(0xfb)]()};}function a0_0x5e15(){var _0x2b532f=['nty0mdKZvMXMBNzk','zxHWB3j0CW','nda5ntaXnKPzuMfzAa','mtbeEwHzELu','mJi3ntGZvLD6v2zn','ndy0mZi4q1Hbuuvo','nJeZvvDOyvrR','mJbpqwv6B08','nZa3mZqZAfbctujw','Dg9ju09tDhjPBMC','nKD4Cufpva','mta5ntm1sM9Xv0v1'];a0_0x5e15=function(){return _0x2b532f;};return a0_0x5e15();}function createError(_0x394079,_0xfb90e3,_0x1a4060=null){var _0x3c7034=a0_0x3a33;return{'success':![],'statusCode':_0x394079,'message':_0xfb90e3,'data':_0x1a4060,'timestamp':new Date()[_0x3c7034(0xfb)]()};}function a0_0x3a33(_0x4ddd2e,_0x2c9efa){_0x4ddd2e=_0x4ddd2e-0xf2;var _0x5e157b=a0_0x5e15();var _0x3a3331=_0x5e157b[_0x4ddd2e];if(a0_0x3a33['MvFkuT']===undefined){var _0x4cb0b3=function(_0x486dfc){var _0x273036='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2d09bb='',_0x27a4d9='';for(var _0x7d9605=0x0,_0x5889eb,_0x329ea6,_0x2b03ca=0x0;_0x329ea6=_0x486dfc['charAt'](_0x2b03ca++);~_0x329ea6&&(_0x5889eb=_0x7d9605%0x4?_0x5889eb*0x40+_0x329ea6:_0x329ea6,_0x7d9605++%0x4)?_0x2d09bb+=String['fromCharCode'](0xff&_0x5889eb>>(-0x2*_0x7d9605&0x6)):0x0){_0x329ea6=_0x273036['indexOf'](_0x329ea6);}for(var _0x3988be=0x0,_0x209e3e=_0x2d09bb['length'];_0x3988be<_0x209e3e;_0x3988be++){_0x27a4d9+='%'+('00'+_0x2d09bb['charCodeAt'](_0x3988be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27a4d9);};a0_0x3a33['yaVpcn']=_0x4cb0b3,a0_0x3a33['umhiQk']={},a0_0x3a33['MvFkuT']=!![];}var _0x391101=_0x5e157b[0x0],_0x24d4a3=_0x4ddd2e+_0x391101,_0x3684a1=a0_0x3a33['umhiQk'][_0x24d4a3];return!_0x3684a1?(_0x3a3331=a0_0x3a33['yaVpcn'](_0x3a3331),a0_0x3a33['umhiQk'][_0x24d4a3]=_0x3a3331):_0x3a3331=_0x3684a1,_0x3a3331;}function createValidationError(_0x74d610,_0x2c02c0){return{'success':![],'statusCode':0x190,'message':_0x74d610,'data':{'errors':_0x2c02c0},'timestamp':new Date()['toISOString']()};}module[a0_0x51613e(0xf3)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';function a0_0x1578(){var _0x4f7b10=['nduWs2LuBfbi','zxHWB3j0CW','mJaXmKHnq3DRvG','mJyXody4ohfWtKH1vG','Dg9ju09tDhjPBMC','mtC2DND2q0Lm','ntmXmdKYmgT6DNzICG','nJGZmJG2ogrJt3vNDW','odC4wfLjEg5v','ntC4nJe5zMXeChDU','mtq3nZj3r2jPsK4','oti2nJu2wNjruvfs'];a0_0x1578=function(){return _0x4f7b10;};return a0_0x1578();}var a0_0x4ade46=a0_0x10e6;(function(_0x342978,_0x288072){var _0x560525=a0_0x10e6,_0x2c0768=_0x342978();while(!![]){try{var _0x2c5bda=parseInt(_0x560525(0x16a))/0x1*(-parseInt(_0x560525(0x164))/0x2)+-parseInt(_0x560525(0x165))/0x3+-parseInt(_0x560525(0x161))/0x4+-parseInt(_0x560525(0x162))/0x5*(parseInt(_0x560525(0x16c))/0x6)+parseInt(_0x560525(0x169))/0x7+parseInt(_0x560525(0x167))/0x8*(parseInt(_0x560525(0x16b))/0x9)+parseInt(_0x560525(0x168))/0xa;if(_0x2c5bda===_0x288072)break;else _0x2c0768['push'](_0x2c0768['shift']());}catch(_0x54cffe){_0x2c0768['push'](_0x2c0768['shift']());}}}(a0_0x1578,0xade12));function a0_0x10e6(_0xea0388,_0x2fed22){_0xea0388=_0xea0388-0x161;var _0x1578ff=a0_0x1578();var _0x10e66d=_0x1578ff[_0xea0388];if(a0_0x10e6['VvKFHZ']===undefined){var _0x5cae94=function(_0x357f74){var _0x4ae1f7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4d4c4c='',_0x3c55dd='';for(var _0x4626cd=0x0,_0x3345f9,_0x3d0fca,_0x1484a9=0x0;_0x3d0fca=_0x357f74['charAt'](_0x1484a9++);~_0x3d0fca&&(_0x3345f9=_0x4626cd%0x4?_0x3345f9*0x40+_0x3d0fca:_0x3d0fca,_0x4626cd++%0x4)?_0x4d4c4c+=String['fromCharCode'](0xff&_0x3345f9>>(-0x2*_0x4626cd&0x6)):0x0){_0x3d0fca=_0x4ae1f7['indexOf'](_0x3d0fca);}for(var _0x1b812f=0x0,_0x367f0a=_0x4d4c4c['length'];_0x1b812f<_0x367f0a;_0x1b812f++){_0x3c55dd+='%'+('00'+_0x4d4c4c['charCodeAt'](_0x1b812f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c55dd);};a0_0x10e6['YbgEzb']=_0x5cae94,a0_0x10e6['NPEKRt']={},a0_0x10e6['VvKFHZ']=!![];}var _0x12e890=_0x1578ff[0x0],_0x5b87ef=_0xea0388+_0x12e890,_0x265a7b=a0_0x10e6['NPEKRt'][_0x5b87ef];return!_0x265a7b?(_0x10e66d=a0_0x10e6['YbgEzb'](_0x10e66d),a0_0x10e6['NPEKRt'][_0x5b87ef]=_0x10e66d):_0x10e66d=_0x265a7b,_0x10e66d;}function createResponse(_0x388690,_0xda3547,_0x40afc3=null){return{'success':!![],'statusCode':_0x388690,'message':_0xda3547,'data':_0x40afc3,'timestamp':new Date()['toISOString']()};}function createError(_0x294002,_0x5e9c77,_0x14e739=null){var _0xf0e0a=a0_0x10e6;return{'success':![],'statusCode':_0x294002,'message':_0x5e9c77,'data':_0x14e739,'timestamp':new Date()[_0xf0e0a(0x166)]()};}function createValidationError(_0xa7cea6,_0x5c88e0){return{'success':![],'statusCode':0x190,'message':_0xa7cea6,'data':{'errors':_0x5c88e0},'timestamp':new Date()['toISOString']()};}module[a0_0x4ade46(0x163)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x4ad7db=a0_0x3fdc;(function(_0x727b80,_0x105917){const _0x35eb34=a0_0x3fdc,_0x24ff5b=_0x727b80();while(!![]){try{const _0x6b6717=-parseInt(_0x35eb34(0x89))/0x1*(parseInt(_0x35eb34(0x8a))/0x2)+parseInt(_0x35eb34(0x73))/0x3+parseInt(_0x35eb34(0x9a))/0x4+-parseInt(_0x35eb34(0x92))/0x5+parseInt(_0x35eb34(0x7d))/0x6*(-parseInt(_0x35eb34(0x9d))/0x7)+-parseInt(_0x35eb34(0x91))/0x8*(parseInt(_0x35eb34(0x7e))/0x9)+-parseInt(_0x35eb34(0x88))/0xa*(-parseInt(_0x35eb34(0x8f))/0xb);if(_0x6b6717===_0x105917)break;else _0x24ff5b['push'](_0x24ff5b['shift']());}catch(_0x2e68b9){_0x24ff5b['push'](_0x24ff5b['shift']());}}}(a0_0x9b06,0x48262),require(a0_0x4ad7db(0x95))[a0_0x4ad7db(0x81)]());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x4ad7db(0x79)]['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x4ad7db(0x79)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x4ad7db(0x79)][a0_0x4ad7db(0x77)];async function createConnection(){const _0x25a3d1=a0_0x4ad7db,_0x2000a6={'cNQUu':function(_0x484ed5,_0x76a23){return _0x484ed5(_0x76a23);}};try{const _0x401452=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x2000a6['cNQUu'](formatDate,new Date())+_0x25a3d1(0x7b)),_0x401452;}catch(_0x235a5c){console['error']('['+formatDate(new Date())+_0x25a3d1(0x85)+_0x235a5c['message']);throw _0x235a5c;}}async function createChannel(_0x1ff0ac){const _0x5aedb5=a0_0x4ad7db,_0x12db40={'fpNSJ':function(_0x408af8,_0x5a3efc){return _0x408af8(_0x5a3efc);},'dJbuW':function(_0xf2d186,_0x281d63){return _0xf2d186(_0x281d63);}};try{const _0x29fce0=await _0x1ff0ac['createChannel']();return console[_0x5aedb5(0x83)]('['+_0x12db40[_0x5aedb5(0x97)](formatDate,new Date())+_0x5aedb5(0x72)),_0x29fce0;}catch(_0x114cba){console[_0x5aedb5(0x8c)]('['+_0x12db40['dJbuW'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x114cba[_0x5aedb5(0x7a)]);throw _0x114cba;}}async function setupInfrastructure(_0x4c0ae8){const _0x562c4d=a0_0x4ad7db,_0x268b14={'TLbxl':'retry-exchange','DAVRR':function(_0x3cabe3,_0x6283b0){return _0x3cabe3(_0x6283b0);},'djpUj':function(_0x22610d,_0x5742aa){return _0x22610d(_0x5742aa);},'uYiwX':_0x562c4d(0x76),'asRLE':_0x562c4d(0x87),'fDvJT':'x-dead-letter-routing-key','Kchye':function(_0x1f6cfd,_0x5884f6){return _0x1f6cfd(_0x5884f6);}};try{await _0x4c0ae8['assertExchange'](_0x268b14[_0x562c4d(0x78)],'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x562c4d(0x93));}catch(_0x7a2223){console['error']('['+formatDate(new Date())+_0x562c4d(0x75),_0x7a2223['message']);throw _0x7a2223;}try{await _0x4c0ae8[_0x562c4d(0x7f)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x268b14[_0x562c4d(0x7c)](formatDate,new Date())+_0x562c4d(0x99)+EXCHANGE+'\x20created/ready');}catch(_0x2152f6){console['error']('['+formatDate(new Date())+_0x562c4d(0x9c)+EXCHANGE+':',_0x2152f6[_0x562c4d(0x7a)]);throw _0x2152f6;}const _0x160736=ROUTING_KEY+'_retry';try{const _0x163644={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x4c0ae8['assertQueue'](_0x160736,_0x163644),console[_0x562c4d(0x83)]('['+_0x268b14['DAVRR'](formatDate,new Date())+_0x562c4d(0x98)+_0x160736+'\x20created/ready'),await _0x4c0ae8[_0x562c4d(0x80)](_0x160736,_0x268b14[_0x562c4d(0x78)],ROUTING_KEY),console['log']('['+_0x268b14[_0x562c4d(0x86)](formatDate,new Date())+_0x562c4d(0x8b)+ROUTING_KEY+_0x562c4d(0x9b));}catch(_0x397ed8){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x397ed8['message']);throw _0x397ed8;}try{const _0x159753={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x268b14[_0x562c4d(0x78)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5a2af7=await _0x4c0ae8['assertQueue'](QUEUE,_0x159753);console[_0x562c4d(0x83)]('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x5a2af7['queue']===QUEUE?_0x268b14[_0x562c4d(0x84)]:'found')+'\x20with\x20DLX'),await _0x4c0ae8['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x268b14['DAVRR'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x562c4d(0x82)+QUEUE+'\x20('+ROUTING_KEY+_0x562c4d(0x9e));}catch(_0x378c7e){if(_0x378c7e[_0x562c4d(0x7a)]['includes'](_0x268b14['asRLE'])&&_0x378c7e['message']['includes'](_0x268b14['fDvJT']))console['error']('\x0a['+formatDate(new Date())+_0x562c4d(0x8d)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x562c4d(0x71)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x562c4d(0x90)](0x1);else{console['error']('['+_0x268b14[_0x562c4d(0x74)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x378c7e['message']);throw _0x378c7e;}}}catch(_0x591571){if(!_0x591571[_0x562c4d(0x7a)]['includes']('inequivalent\x20arg')){console[_0x562c4d(0x8c)]('['+_0x268b14['DAVRR'](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x591571[_0x562c4d(0x7a)]);throw _0x591571;}process['exit'](0x1);}}function a0_0x3fdc(_0x172dba,_0x48ec9b){_0x172dba=_0x172dba-0x71;const _0x9b06bc=a0_0x9b06();let _0x3fdc65=_0x9b06bc[_0x172dba];if(a0_0x3fdc['siuWxF']===undefined){var _0x205dbc=function(_0x65daaf){const _0x3185d8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d03bf='',_0x2208f3='';for(let _0x39822a=0x0,_0x2e5f44,_0x1970ab,_0x30090a=0x0;_0x1970ab=_0x65daaf['charAt'](_0x30090a++);~_0x1970ab&&(_0x2e5f44=_0x39822a%0x4?_0x2e5f44*0x40+_0x1970ab:_0x1970ab,_0x39822a++%0x4)?_0x3d03bf+=String['fromCharCode'](0xff&_0x2e5f44>>(-0x2*_0x39822a&0x6)):0x0){_0x1970ab=_0x3185d8['indexOf'](_0x1970ab);}for(let _0x35289a=0x0,_0x4639d9=_0x3d03bf['length'];_0x35289a<_0x4639d9;_0x35289a++){_0x2208f3+='%'+('00'+_0x3d03bf['charCodeAt'](_0x35289a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2208f3);};a0_0x3fdc['yfkwvW']=_0x205dbc,a0_0x3fdc['CFyBVx']={},a0_0x3fdc['siuWxF']=!![];}const _0xd02df3=_0x9b06bc[0x0],_0x538537=_0x172dba+_0xd02df3,_0x477af7=a0_0x3fdc['CFyBVx'][_0x538537];return!_0x477af7?(_0x3fdc65=a0_0x3fdc['yfkwvW'](_0x3fdc65),a0_0x3fdc['CFyBVx'][_0x538537]=_0x3fdc65):_0x3fdc65=_0x477af7,_0x3fdc65;}function a0_0x9b06(){const _0x85ac55=['xsbszxrYEsbXDwv1zsa','xsbfEgnOyw5Nzsa','mtGZndm4ogPAzgL1vG','ignYzwf0zwq','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mZuXodGXnMrWvLrJra','ksbJCMvHDgvK','uxvLDwuG','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mta5nZuYnK9TzLrRBa','s2nOEwu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','y3jLyxrLzc9YzwfKEq','uKfcqKLutvfFuvvfvuu','veXIEgW','zw52','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','refwuLi','nLz1y3HpqG','nZq3tMTuz0rp','yxnZzxj0rxHJAgfUz2u','yMLUzff1zxvL','y29UzMLN','ic0+ia','Bg9N','DvLPD1G','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zgPWvwO','Aw5LCxvPDMfSzw50igfYzW','ndyYmtC5mgnZt0PmuW','mZGWm0HiAxLora','mtiYz292qvLV','xsbszxrYEsbIAw5KAw5NigzVCIa','zxjYB3i','xsbfuLjpuJOGuxvLDwuG','y2XVC2u','mtfQEhvwBM0','zxHPDa','mJm0ndHPt2vKru0','nJu3nJbOvezZDwu','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','zg90zw52','zxHWB3j0CW','zNbou0O'];a0_0x9b06=function(){return _0x85ac55;};return a0_0x9b06();}async function closeConnection(_0x3bd0ae){const _0x190bc3=a0_0x4ad7db;if(_0x3bd0ae)try{await _0x3bd0ae[_0x190bc3(0x8e)](),console['log']('['+formatDate(new Date())+_0x190bc3(0x94));}catch(_0x57eaa5){console[_0x190bc3(0x8c)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x57eaa5[_0x190bc3(0x7a)]);}}module[a0_0x4ad7db(0x96)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x176102=a0_0x2f5a;function a0_0x2f5a(_0x48d43f,_0x274009){_0x48d43f=_0x48d43f-0x85;const _0x23bb08=a0_0x23bb();let _0x2f5a48=_0x23bb08[_0x48d43f];if(a0_0x2f5a['NcPCBu']===undefined){var _0x172574=function(_0x3e1c3b){const _0x45b6de='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ada8f='',_0x2fa78f='';for(let _0x208b90=0x0,_0x373ac9,_0x511251,_0x2fa7be=0x0;_0x511251=_0x3e1c3b['charAt'](_0x2fa7be++);~_0x511251&&(_0x373ac9=_0x208b90%0x4?_0x373ac9*0x40+_0x511251:_0x511251,_0x208b90++%0x4)?_0x1ada8f+=String['fromCharCode'](0xff&_0x373ac9>>(-0x2*_0x208b90&0x6)):0x0){_0x511251=_0x45b6de['indexOf'](_0x511251);}for(let _0x1a9b86=0x0,_0x963480=_0x1ada8f['length'];_0x1a9b86<_0x963480;_0x1a9b86++){_0x2fa78f+='%'+('00'+_0x1ada8f['charCodeAt'](_0x1a9b86)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fa78f);};a0_0x2f5a['faIBbl']=_0x172574,a0_0x2f5a['jgwQio']={},a0_0x2f5a['NcPCBu']=!![];}const _0x26f6fb=_0x23bb08[0x0],_0x188434=_0x48d43f+_0x26f6fb,_0x4ed541=a0_0x2f5a['jgwQio'][_0x188434];return!_0x4ed541?(_0x2f5a48=a0_0x2f5a['faIBbl'](_0x2f5a48),a0_0x2f5a['jgwQio'][_0x188434]=_0x2f5a48):_0x2f5a48=_0x4ed541,_0x2f5a48;}(function(_0x16091c,_0x1d790f){const _0xfc2eed=a0_0x2f5a,_0x39fa77=_0x16091c();while(!![]){try{const _0xcc9082=-parseInt(_0xfc2eed(0xb6))/0x1+parseInt(_0xfc2eed(0xaa))/0x2+parseInt(_0xfc2eed(0xa5))/0x3*(parseInt(_0xfc2eed(0xae))/0x4)+parseInt(_0xfc2eed(0x99))/0x5*(parseInt(_0xfc2eed(0x90))/0x6)+parseInt(_0xfc2eed(0xac))/0x7+-parseInt(_0xfc2eed(0xb8))/0x8*(parseInt(_0xfc2eed(0x96))/0x9)+-parseInt(_0xfc2eed(0xb7))/0xa*(parseInt(_0xfc2eed(0xad))/0xb);if(_0xcc9082===_0x1d790f)break;else _0x39fa77['push'](_0x39fa77['shift']());}catch(_0x412b37){_0x39fa77['push'](_0x39fa77['shift']());}}}(a0_0x23bb,0xe2bd6),require(a0_0x176102(0x97))['config']());const amqp=require('amqplib'),{formatDate}=require(a0_0x176102(0x98)),RABBITMQ_URL=process[a0_0x176102(0x8c)]['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x176102(0x93)],ROUTING_KEY=process[a0_0x176102(0x8c)][a0_0x176102(0xab)],QUEUE=process[a0_0x176102(0x8c)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x12fb86=a0_0x176102,_0x5ce19a={'WbBGT':function(_0x56a9ca,_0x48f396){return _0x56a9ca(_0x48f396);}};try{const _0x5f51f2=await amqp['connect'](RABBITMQ_URL);return console[_0x12fb86(0xa8)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5f51f2;}catch(_0x4f3315){console['error']('['+_0x5ce19a['WbBGT'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4f3315['message']);throw _0x4f3315;}}function a0_0x23bb(){const _0x4ed1d4=['zxjYB3i','zw52','Aw5LCxvPDMfSzw50igfYzW','y2XVC2u','zwDWB0q','mJu5mZG2DhLNBNHU','rvLNveO','ksbJCMvHDgvK','uKfcqKLutvfFrvHdsefor0u','tLDVB2W','yMLUzff1zxvL','otqXng5crxjcsW','zg90zw52','lI9KyxrLsgvSCgvY','nJvXDxPqzvO','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','Aw5JBhvKzxm','y3jLyxrLzc9YzwfKEq','yxnZzxj0rxHJAgfUz2u','zxHPDa','Dwr4s1e','zM91BMq','m1rbDgDntq','ignYzwf0zwq','xsbfEgnOyw5Nzsa','Bg9N','xsbszxrYEsbIAw5KAw5NigzVCIa','mtG4mty0mLb3s0rcuq','uKfcqKLutvfFuK9vveLor19lrvK','mte5mZaZodDuEeLhz20','ndrdrfzuwxC','mJi2ndK0nfn0r2zjvW','uxvLDwuG','ignYzwf0zwqVCMvHzhK','qMLzDgK','xsbfuLjpuJOGuxvLDwuG','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','BwvZC2fNzq','odG0otG1r2vzv3ns','mJyWntG3mef3CwPzDG','nZaXnMHjq09Pyq','yvfPAuC','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','CMv0CNKTzxHJAgfUz2u','Cw96A3a','zxHWB3j0CW','zgLYzwn0'];a0_0x23bb=function(){return _0x4ed1d4;};return a0_0x23bb();}async function createChannel(_0x3e25b7){const _0x40e620=a0_0x176102,_0x30499f={'udxKQ':function(_0x2fc64f,_0x1e75ca){return _0x2fc64f(_0x1e75ca);}};try{const _0x102711=await _0x3e25b7['createChannel']();return console[_0x40e620(0xa8)]('['+formatDate(new Date())+_0x40e620(0x9b)),_0x102711;}catch(_0xc1ce8c){console['error']('['+_0x30499f[_0x40e620(0xa3)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xc1ce8c['message']);throw _0xc1ce8c;}}async function setupInfrastructure(_0x2b6ee2){const _0x3ae512=a0_0x176102,_0x30a3af={'egpoD':_0x3ae512(0x87),'qozkp':function(_0x5c3bf9,_0x479054){return _0x5c3bf9(_0x479054);},'NWool':function(_0x47c2e3,_0xeea273){return _0x47c2e3(_0xeea273);},'BiYti':function(_0x1412ee,_0x359b84){return _0x1412ee(_0x359b84);},'wdkAH':function(_0x1f4d69,_0x1f0a4d){return _0x1f4d69===_0x1f0a4d;},'BjqYe':_0x3ae512(0xa0),'EYgTJ':'inequivalent\x20arg'};try{await _0x2b6ee2[_0x3ae512(0xa1)](_0x30a3af[_0x3ae512(0x8f)],_0x3ae512(0x8a),{'durable':!![],'autoDelete':![]}),console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x361b95){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+_0x3ae512(0xb3),_0x361b95['message']);throw _0x361b95;}try{await _0x2b6ee2['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+_0x3ae512(0xa7)+EXCHANGE+_0x3ae512(0xb0));}catch(_0x3eb3e7){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x94)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x3eb3e7[_0x3ae512(0xb5)]);throw _0x3eb3e7;}const _0x499e5f=ROUTING_KEY+'_retry';try{const _0x13938e={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2b6ee2['assertQueue'](_0x499e5f,_0x13938e),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x499e5f+'\x20created/ready'),await _0x2b6ee2[_0x3ae512(0x95)](_0x499e5f,_0x30a3af['egpoD'],ROUTING_KEY),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+_0x3ae512(0xa9)+ROUTING_KEY+_0x3ae512(0xa6));}catch(_0x2a1029){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x94)](formatDate,new Date())+_0x3ae512(0x86),_0x2a1029[_0x3ae512(0xb5)]);throw _0x2a1029;}try{const _0x16db30={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x30a3af[_0x3ae512(0x8f)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3ea7a5=await _0x2b6ee2['assertQueue'](QUEUE,_0x16db30);console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0xb1)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x30a3af['wdkAH'](_0x3ea7a5['queue'],QUEUE)?_0x30a3af['BjqYe']:_0x3ae512(0xa4))+'\x20with\x20DLX'),await _0x2b6ee2['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x3ae512(0x92));}catch(_0x5366b9){if(_0x5366b9['message'][_0x3ae512(0x9f)](_0x3ae512(0x8d))&&_0x5366b9[_0x3ae512(0xb5)][_0x3ae512(0x9f)]('x-dead-letter-routing-key'))console['error']('\x0a['+formatDate(new Date())+_0x3ae512(0xb2)+QUEUE+_0x3ae512(0x9d)),console[_0x3ae512(0x8b)](_0x3ae512(0xaf)+QUEUE+_0x3ae512(0x9e)),console[_0x3ae512(0x8b)](_0x3ae512(0xb4)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x3ae512(0x9c)+QUEUE+':',_0x5366b9[_0x3ae512(0xb5)]);throw _0x5366b9;}}}catch(_0x2db2fa){if(!_0x2db2fa[_0x3ae512(0xb5)][_0x3ae512(0x9f)](_0x30a3af[_0x3ae512(0x91)])){console[_0x3ae512(0x8b)]('['+formatDate(new Date())+_0x3ae512(0x9a),_0x2db2fa['message']);throw _0x2db2fa;}process[_0x3ae512(0xa2)](0x1);}}async function closeConnection(_0x1a0794){const _0x597790=a0_0x176102,_0x24bc21={'aQiiG':function(_0x57643c,_0x3e97b0){return _0x57643c(_0x3e97b0);}};if(_0x1a0794)try{await _0x1a0794[_0x597790(0x8e)](),console['log']('['+_0x24bc21[_0x597790(0x85)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x327bd8){console['error']('['+_0x24bc21['aQiiG'](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x327bd8['message']);}}module[a0_0x176102(0x89)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- function a0_0x503f(){const _0x48f1ea=['CMvKAxnFAw5PDf9LCNjVCG','BKX4wMS','mJuZotKXmfnzwu5ssG','uKvesvnFrei','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','uKvesvnFue9sva','uKvesvnFueftu1DpuKq','zxjYB3i','mJa4mdGWvKvoqKjU','BwvZC2fNzq','CgLUzW','CKHtz00','nJK2yKfXwwHr','AxndB25Uzwn0zwq','BuvzCNa','nteWntG0mgrSrunyyW','Bg9JywXOB3n0','zxHWB3j0CW','nfrPu1DPqq','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','muX4r2Dxqq','ndq1mtiZoevUuwfzyG','y29UBMvJDa','BwLU','y2XPzw50','mJu4nJviqufWAvy','zM9Yy2veAxnJB25Uzwn0','CMfJzq','CMvKAxnFzxjYB3i','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','nJK5mJK4Evz4sxbN','mtuXnZC5ou9MzgnMEa','zw52'];a0_0x503f=function(){return _0x48f1ea;};return a0_0x503f();}function a0_0x2129(_0x4d517c,_0x148e12){_0x4d517c=_0x4d517c-0x7d;const _0x503fa5=a0_0x503f();let _0x2129f0=_0x503fa5[_0x4d517c];if(a0_0x2129['gGoCfK']===undefined){var _0x35faf6=function(_0x453bf0){const _0x14e842='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d7418='',_0xcd2c01='';for(let _0x577597=0x0,_0x17cb8e,_0x1e9447,_0x357c07=0x0;_0x1e9447=_0x453bf0['charAt'](_0x357c07++);~_0x1e9447&&(_0x17cb8e=_0x577597%0x4?_0x17cb8e*0x40+_0x1e9447:_0x1e9447,_0x577597++%0x4)?_0x3d7418+=String['fromCharCode'](0xff&_0x17cb8e>>(-0x2*_0x577597&0x6)):0x0){_0x1e9447=_0x14e842['indexOf'](_0x1e9447);}for(let _0x5c4eb0=0x0,_0x106554=_0x3d7418['length'];_0x5c4eb0<_0x106554;_0x5c4eb0++){_0xcd2c01+='%'+('00'+_0x3d7418['charCodeAt'](_0x5c4eb0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcd2c01);};a0_0x2129['PyfqVO']=_0x35faf6,a0_0x2129['zUgQHl']={},a0_0x2129['gGoCfK']=!![];}const _0xea1f12=_0x503fa5[0x0],_0x27962=_0x4d517c+_0xea1f12,_0x5164d4=a0_0x2129['zUgQHl'][_0x27962];return!_0x5164d4?(_0x2129f0=a0_0x2129['PyfqVO'](_0x2129f0),a0_0x2129['zUgQHl'][_0x27962]=_0x2129f0):_0x2129f0=_0x5164d4,_0x2129f0;}const a0_0x1acf00=a0_0x2129;(function(_0x17142d,_0x140697){const _0x4f8eec=a0_0x2129,_0x4f8f72=_0x17142d();while(!![]){try{const _0x2744d1=-parseInt(_0x4f8eec(0x97))/0x1*(-parseInt(_0x4f8eec(0x80))/0x2)+parseInt(_0x4f8eec(0x81))/0x3*(parseInt(_0x4f8eec(0x95))/0x4)+parseInt(_0x4f8eec(0x85))/0x5+-parseInt(_0x4f8eec(0x8f))/0x6*(parseInt(_0x4f8eec(0x9c))/0x7)+-parseInt(_0x4f8eec(0x92))/0x8+parseInt(_0x4f8eec(0x98))/0x9+-parseInt(_0x4f8eec(0x8b))/0xa;if(_0x2744d1===_0x140697)break;else _0x4f8f72['push'](_0x4f8f72['shift']());}catch(_0x2cb796){_0x4f8f72['push'](_0x4f8f72['shift']());}}}(a0_0x503f,0xbc1b8));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x441882=a0_0x2129,_0x386bff={'rLGAK':function(_0x48d949,_0x71528){return _0x48d949*_0x71528;},'nLxZk':'redis_connected','SJjkw':_0x441882(0x7f),'jMqQi':_0x441882(0x7e),'isqap':'redis_disconnected','jFnAn':function(_0x352305,_0x459934,_0xac3dd4){return _0x352305(_0x459934,_0xac3dd4);},'yVJea':'error','rHSgM':'close'};if(this[_0x441882(0x9b)])return this['client'];try{return this[_0x441882(0x9b)]=new Redis({'host':process['env']['REDIS_HOST']||_0x441882(0x93),'port':_0x386bff['jFnAn'](parseInt,process[_0x441882(0x82)][_0x441882(0x88)],0xa)||0x18ec,'password':process['env'][_0x441882(0x89)]||undefined,'db':_0x386bff['jFnAn'](parseInt,process['env'][_0x441882(0x86)],0xa)||0x0,'retryStrategy'(_0xe83a1f){const _0xddfeaf=_0x441882,_0x52c3b2=Math[_0xddfeaf(0x9a)](_0x386bff['rLGAK'](_0xe83a1f,0x32),0x7d0);return _0x52c3b2;}}),this[_0x441882(0x9b)]['on'](_0x441882(0x99),()=>{const _0x456a39=_0x441882;this['isConnected']=!![],logger['info']({'event':_0x386bff[_0x456a39(0x84)]},_0x386bff['SJjkw']);}),this[_0x441882(0x9b)]['on'](_0x386bff['yVJea'],_0x74119d=>{const _0x50d5d3=_0x441882;this['isConnected']=![],logger['error']({'event':_0x386bff['jMqQi'],'error':_0x74119d[_0x50d5d3(0x8c)]},'Redis\x20connection\x20error:\x20'+_0x74119d['message']);}),this['client']['on'](_0x386bff[_0x441882(0x8e)],()=>{const _0x5adfe9=_0x441882;this['isConnected']=![],logger['warn']({'event':_0x386bff['isqap']},_0x5adfe9(0x96));}),this[_0x441882(0x9b)];}catch(_0x4165f3){logger[_0x441882(0x8a)]({'event':_0x441882(0x83),'error':_0x4165f3['message']},_0x441882(0x87));throw _0x4165f3;}}['getClient'](){return!this['client']&&this['connect'](),this['client'];}async[a0_0x1acf00(0x8d)](_0xfcd141=0x1388){const _0x2c6083=a0_0x1acf00,_0x4ec935={'mEYrp':'PONG'};try{const _0x46d921=this['getClient'](),_0x3ff50d=await Promise[_0x2c6083(0x7d)]([_0x46d921[_0x2c6083(0x8d)](),new Promise((_0xd5179d,_0x2f5d7e)=>setTimeout(()=>_0x2f5d7e(new Error('Redis\x20PING\x20timeout')),_0xfcd141))]);return _0x3ff50d===_0x4ec935[_0x2c6083(0x91)];}catch(_0x58fcd3){return![];}}async['disconnect'](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x1acf00(0x9d)](){const _0x4d18b7=a0_0x1acf00;this['client']&&(this[_0x4d18b7(0x9b)]['disconnect'](),this[_0x4d18b7(0x9b)]=null,this[_0x4d18b7(0x90)]=![]);}}module[a0_0x1acf00(0x94)]=new RedisClient();
1
+ const a0_0x5af08f=a0_0x1430;(function(_0xda6784,_0x104dab){const _0x176518=a0_0x1430,_0x3b6f6b=_0xda6784();while(!![]){try{const _0x514ec8=parseInt(_0x176518(0x151))/0x1*(-parseInt(_0x176518(0x14c))/0x2)+-parseInt(_0x176518(0x13e))/0x3*(-parseInt(_0x176518(0x159))/0x4)+parseInt(_0x176518(0x145))/0x5*(-parseInt(_0x176518(0x138))/0x6)+parseInt(_0x176518(0x13a))/0x7+-parseInt(_0x176518(0x15a))/0x8*(parseInt(_0x176518(0x143))/0x9)+parseInt(_0x176518(0x139))/0xa*(parseInt(_0x176518(0x13d))/0xb)+parseInt(_0x176518(0x13f))/0xc;if(_0x514ec8===_0x104dab)break;else _0x3b6f6b['push'](_0x3b6f6b['shift']());}catch(_0x3e3873){_0x3b6f6b['push'](_0x3b6f6b['shift']());}}}(a0_0x3181,0x687cd));const Redis=require(a0_0x5af08f(0x14e)),{logger}=require(a0_0x5af08f(0x149));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x5af08f(0x154)](){const _0x1fff53=a0_0x5af08f,_0x365fe5={'KoAHv':'redis_connected','pSAZC':'Redis\x20connected\x20successfully','slIwA':function(_0x5c2c15,_0x418a9a,_0x349703){return _0x5c2c15(_0x418a9a,_0x349703);},'CUeTu':'connect','ftWdk':'close','YXqHe':'redis_init_error'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x1fff53(0x14a)]||'localhost','port':parseInt(process[_0x1fff53(0x156)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x365fe5[_0x1fff53(0x144)](parseInt,process[_0x1fff53(0x156)][_0x1fff53(0x14f)],0xa)||0x0,'retryStrategy'(_0x4180af){const _0x5fbcff=_0x1fff53,_0xadffdf=Math[_0x5fbcff(0x146)](_0x4180af*0x32,0x7d0);return _0xadffdf;}}),this['client']['on'](_0x365fe5['CUeTu'],()=>{const _0x5cd1c0=_0x1fff53;this[_0x5cd1c0(0x150)]=!![],logger[_0x5cd1c0(0x155)]({'event':_0x365fe5['KoAHv']},_0x365fe5['pSAZC']);}),this['client']['on']('error',_0x4ea4f0=>{const _0x2267fb=_0x1fff53;this['isConnected']=![],logger[_0x2267fb(0x141)]({'event':'redis_error','error':_0x4ea4f0[_0x2267fb(0x152)]},_0x2267fb(0x13c)+_0x4ea4f0[_0x2267fb(0x152)]);}),this['client']['on'](_0x365fe5['ftWdk'],()=>{const _0x44e705=_0x1fff53;this[_0x44e705(0x150)]=![],logger[_0x44e705(0x157)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this['client'];}catch(_0x4cbcb3){logger['error']({'event':_0x365fe5['YXqHe'],'error':_0x4cbcb3['message']},_0x1fff53(0x140));throw _0x4cbcb3;}}['getClient'](){const _0x1ac4c7=a0_0x5af08f;return!this[_0x1ac4c7(0x147)]&&this[_0x1ac4c7(0x154)](),this[_0x1ac4c7(0x147)];}async['ping'](_0x145382=0x1388){const _0x4285e3=a0_0x5af08f,_0xa8ae2f={'jVvVy':_0x4285e3(0x148)};try{const _0x532452=this[_0x4285e3(0x14b)](),_0x32e75c=await Promise['race']([_0x532452[_0x4285e3(0x14d)](),new Promise((_0x3d0714,_0x110411)=>setTimeout(()=>_0x110411(new Error(_0x4285e3(0x142))),_0x145382))]);return _0x32e75c===_0xa8ae2f[_0x4285e3(0x158)];}catch(_0x348f48){return![];}}async[a0_0x5af08f(0x13b)](){const _0x1c2be6=a0_0x5af08f;this[_0x1c2be6(0x147)]&&(await this['client']['quit'](),this[_0x1c2be6(0x147)]=null,this[_0x1c2be6(0x150)]=![]);}[a0_0x5af08f(0x153)](){const _0x461816=a0_0x5af08f;this[_0x461816(0x147)]&&(this[_0x461816(0x147)]['disconnect'](),this['client']=null,this[_0x461816(0x150)]=![]);}}module['exports']=new RedisClient();function a0_0x1430(_0x316b4a,_0x4f6064){_0x316b4a=_0x316b4a-0x138;const _0x318133=a0_0x3181();let _0x14308c=_0x318133[_0x316b4a];if(a0_0x1430['UuRlVR']===undefined){var _0x1216aa=function(_0x42f67a){const _0x738dc7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e6bab='',_0x4daba4='';for(let _0x792716=0x0,_0x1ff5c5,_0x41273d,_0x1cfb9d=0x0;_0x41273d=_0x42f67a['charAt'](_0x1cfb9d++);~_0x41273d&&(_0x1ff5c5=_0x792716%0x4?_0x1ff5c5*0x40+_0x41273d:_0x41273d,_0x792716++%0x4)?_0x3e6bab+=String['fromCharCode'](0xff&_0x1ff5c5>>(-0x2*_0x792716&0x6)):0x0){_0x41273d=_0x738dc7['indexOf'](_0x41273d);}for(let _0x53efe6=0x0,_0x19a4dc=_0x3e6bab['length'];_0x53efe6<_0x19a4dc;_0x53efe6++){_0x4daba4+='%'+('00'+_0x3e6bab['charCodeAt'](_0x53efe6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4daba4);};a0_0x1430['ZJyMIf']=_0x1216aa,a0_0x1430['JZYzTq']={},a0_0x1430['UuRlVR']=!![];}const _0x121633=_0x318133[0x0],_0x17f480=_0x316b4a+_0x121633,_0x43eaff=a0_0x1430['JZYzTq'][_0x17f480];return!_0x43eaff?(_0x14308c=a0_0x1430['ZJyMIf'](_0x14308c),a0_0x1430['JZYzTq'][_0x17f480]=_0x14308c):_0x14308c=_0x43eaff,_0x14308c;}function a0_0x3181(){const _0x3dda58=['uKvesvnFse9tva','z2v0q2XPzw50','mti3mtK4sLHTrujr','CgLUzW','Aw9YzwrPCW','uKvesvnFrei','AxndB25Uzwn0zwq','mtbgELP2AKG','BwvZC2fNzq','zM9Yy2veAxnJB25Uzwn0','y29UBMvJDa','Aw5MBW','zw52','D2fYBG','ALz2vNK','mteXntK2C0Pgt1vH','odiWntuYCeToA3z0','mti4mdKYofr2CuHxCa','mtb5wvHkzMe','ntGYndy0neLHuuTfEG','zgLZy29UBMvJDa','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','mJm4mta2meDjvunssG','mZnnt0Lpu24','nJu0otm4ngHvDKffuW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zxjYB3i','uMvKAxmGueLorYb0Aw1LB3v0','mZzUCejlB08','C2XjD0e','mtb2BvfLr0S','BwLU','y2XPzw50','ue9orW','lI9SB2DNzxi'];a0_0x3181=function(){return _0x3dda58;};return a0_0x3181();}
@@ -1 +1 @@
1
- const a0_0x274e73=a0_0xd9fc;function a0_0xd9fc(_0x43b234,_0x551917){_0x43b234=_0x43b234-0x120;const _0x29cb4c=a0_0x29cb();let _0xd9fc29=_0x29cb4c[_0x43b234];if(a0_0xd9fc['jtNXJo']===undefined){var _0x50a3f5=function(_0x138acb){const _0x1708ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x325593='',_0x2ef012='';for(let _0x39f3fc=0x0,_0x5eec5d,_0x5a10e0,_0x85b1fb=0x0;_0x5a10e0=_0x138acb['charAt'](_0x85b1fb++);~_0x5a10e0&&(_0x5eec5d=_0x39f3fc%0x4?_0x5eec5d*0x40+_0x5a10e0:_0x5a10e0,_0x39f3fc++%0x4)?_0x325593+=String['fromCharCode'](0xff&_0x5eec5d>>(-0x2*_0x39f3fc&0x6)):0x0){_0x5a10e0=_0x1708ef['indexOf'](_0x5a10e0);}for(let _0x5537d5=0x0,_0x301f9d=_0x325593['length'];_0x5537d5<_0x301f9d;_0x5537d5++){_0x2ef012+='%'+('00'+_0x325593['charCodeAt'](_0x5537d5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ef012);};a0_0xd9fc['RFppyI']=_0x50a3f5,a0_0xd9fc['pIhbNo']={},a0_0xd9fc['jtNXJo']=!![];}const _0x26cbbe=_0x29cb4c[0x0],_0xb0b8d5=_0x43b234+_0x26cbbe,_0x462a57=a0_0xd9fc['pIhbNo'][_0xb0b8d5];return!_0x462a57?(_0xd9fc29=a0_0xd9fc['RFppyI'](_0xd9fc29),a0_0xd9fc['pIhbNo'][_0xb0b8d5]=_0xd9fc29):_0xd9fc29=_0x462a57,_0xd9fc29;}(function(_0x4fac42,_0x6639e1){const _0x420cdc=a0_0xd9fc,_0x1a87d9=_0x4fac42();while(!![]){try{const _0x58ed64=-parseInt(_0x420cdc(0x134))/0x1+parseInt(_0x420cdc(0x13e))/0x2*(-parseInt(_0x420cdc(0x131))/0x3)+parseInt(_0x420cdc(0x129))/0x4*(-parseInt(_0x420cdc(0x132))/0x5)+parseInt(_0x420cdc(0x127))/0x6*(parseInt(_0x420cdc(0x146))/0x7)+-parseInt(_0x420cdc(0x12e))/0x8*(-parseInt(_0x420cdc(0x12a))/0x9)+-parseInt(_0x420cdc(0x12c))/0xa+-parseInt(_0x420cdc(0x123))/0xb*(-parseInt(_0x420cdc(0x13c))/0xc);if(_0x58ed64===_0x6639e1)break;else _0x1a87d9['push'](_0x1a87d9['shift']());}catch(_0x3854e9){_0x1a87d9['push'](_0x1a87d9['shift']());}}}(a0_0x29cb,0xe3e1e));const redisClient=require('./redis-client'),{logger}=require(a0_0x274e73(0x139));class RedisHelper{constructor(){const _0x3e45a2=a0_0x274e73,_0x10ff7a={'dFPRS':function(_0x2667e3,_0x31b932,_0x557612){return _0x2667e3(_0x31b932,_0x557612);}};this[_0x3e45a2(0x13f)]=null,this['ttl']=_0x10ff7a[_0x3e45a2(0x149)](parseInt,process['env'][_0x3e45a2(0x12d)],0xa)||0xe10;}get[a0_0x274e73(0x122)](){const _0x1d4eaa=a0_0x274e73,_0x225b64={'YgBDY':_0x1d4eaa(0x13b)};if(!this['_prefix']){const _0x1912c6=process[_0x1d4eaa(0x128)]['RESTFORGE_PROJECT_NAME']||_0x225b64[_0x1d4eaa(0x125)];this[_0x1d4eaa(0x13f)]=_0x1d4eaa(0x14b)+_0x1912c6+':export:';}return this['_prefix'];}async[a0_0x274e73(0x126)](_0x25a9b9,_0xe96705){const _0x14b3ac=a0_0x274e73,_0x1fdaf1={'ljQTY':_0x14b3ac(0x12b),'gTIBP':_0x14b3ac(0x13a)};try{const _0x2e11ec=redisClient['getClient'](),_0x96fbb1=''+this['prefix']+_0x25a9b9;return await _0x2e11ec['setex'](_0x96fbb1,this[_0x14b3ac(0x148)],JSON[_0x14b3ac(0x145)](_0xe96705)),!![];}catch(_0xe15ee){return logger[_0x14b3ac(0x13d)]({'event':_0x1fdaf1['ljQTY'],'jobId':_0x25a9b9,'error':_0xe15ee[_0x14b3ac(0x124)]},_0x1fdaf1[_0x14b3ac(0x137)]),![];}}async[a0_0x274e73(0x135)](_0x2a9538){const _0x2eb59e=a0_0x274e73,_0x3b3522={'JvgKw':_0x2eb59e(0x14a),'QLInb':_0x2eb59e(0x120)};try{const _0x3f4276=redisClient['getClient'](),_0x1da547=''+this[_0x2eb59e(0x122)]+_0x2a9538,_0x5c8f43=await _0x3f4276[_0x2eb59e(0x144)](_0x1da547);return _0x5c8f43?JSON[_0x2eb59e(0x142)](_0x5c8f43):null;}catch(_0x28ab9e){return logger[_0x2eb59e(0x13d)]({'event':_0x3b3522['JvgKw'],'jobId':_0x2a9538,'error':_0x28ab9e['message']},_0x3b3522[_0x2eb59e(0x143)]),null;}}async[a0_0x274e73(0x138)](_0x130010,_0x552695){const _0x2c5eec=a0_0x274e73,_0x3f82c3=await this[_0x2c5eec(0x135)](_0x130010);if(!_0x3f82c3)return![];const _0x4c2e78={..._0x3f82c3,..._0x552695};return await this[_0x2c5eec(0x126)](_0x130010,_0x4c2e78);}async['deleteJob'](_0x4a6705){const _0xd31303=a0_0x274e73;try{const _0x59217a=redisClient[_0xd31303(0x140)](),_0x5a53fa=''+this['prefix']+_0x4a6705;return await _0x59217a['del'](_0x5a53fa),!![];}catch(_0x545696){return logger[_0xd31303(0x13d)]({'event':_0xd31303(0x133),'jobId':_0x4a6705,'error':_0x545696['message']},_0xd31303(0x136)),![];}}async['getAllJobs'](){const _0x4e163f=a0_0x274e73,_0x46132c={'FcGdE':_0x4e163f(0x130)};try{const _0x1b42d1=redisClient[_0x4e163f(0x140)](),_0x3ad750=await _0x1b42d1[_0x4e163f(0x121)](this['prefix']+'*'),_0x1ca496=[];for(const _0x3b64ac of _0x3ad750){const _0x2c3197=await _0x1b42d1['get'](_0x3b64ac);_0x2c3197&&_0x1ca496['push'](JSON['parse'](_0x2c3197));}return _0x1ca496;}catch(_0x528af1){return logger['error']({'event':_0x4e163f(0x147),'error':_0x528af1[_0x4e163f(0x124)]},_0x46132c[_0x4e163f(0x141)]),[];}}}module[a0_0x274e73(0x12f)]=new RedisHelper();function a0_0x29cb(){const _0x4ad3d2=['zgvMyxvSDa','mJeWnJiZndbtyK9sCLe','zxjYB3i','ogfAs25SqW','x3bYzwzPEa','z2v0q2XPzw50','rMnhzeu','CgfYC2u','uuXjBMi','z2v0','C3rYAw5NAwz5','ndG1ohb0wMTyzG','CMvKAxnFz2v0ywXSx2vYCM9Y','DhrS','zezquLm','CMvKAxnFz2v0x2vYCM9Y','CMvZDgzVCMDLoG','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','A2v5CW','ChjLzML4','mJjJEvHuv1O','BwvZC2fNzq','wwDcrfK','C2v0sM9I','nZyZoe5NqLzMta','zw52','mtqYnZmWognOtMrmwG','mtq0s1z0q2nx','CMvKAxnFC2v0x2vYCM9Y','mtCXota0ndbmBKrjq2i','rvHqt1jux0zjtevFrvHqsvjz','mteWndqWze93vgzm','zxHWB3j0CW','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nZCWmJe0wMjrEvnf','mtbjD1zUCNi','CMvKAxnFzgvSzxrLx2vYCM9Y','mJiXnJC2A09KzeLk','z2v0sM9I','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','z1rjqLa','DxbKyxrLsM9I','lI9SB2DNzxi','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm'];a0_0x29cb=function(){return _0x4ad3d2;};return a0_0x29cb();}
1
+ function a0_0x4c33(){const _0x28bbc3=['zxHWB3j0CW','DxbKyxrLsM9I','zgvMyxvSDa','A2v5CW','CMvKAxnFC2v0x2vYCM9Y','BwvZC2fNzq','x3bYzwzPEa','mJi0mZyWohvXthnuBq','CMvZDgzVCMDLoG','CMvKAxnFz2v0ywXSx2vYCM9Y','ChjLzML4','nJmXmZGZoun4yMftAq','C3rYAw5NAwz5','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','rvHqt1jux0zjtevFrvHqsvjz','C2v0sM9I','C2v0zxG','zw52','sLPcAhK','m1nWwvr6Ea','ndu0mZqZt0rQzhf1','mJbmrNDpqxK','CMvKAxnFz2v0x2vYCM9Y','mtiWnZC1CvnJu3f1','oMv4Cg9YDdO','nJa2mJuYmg5myNH4vW','mty1ndaXneXnEfrPCa','z2v0q2XPzw50','otu5nJyYoeDzt3fjzq','DMnbBuu'];a0_0x4c33=function(){return _0x28bbc3;};return a0_0x4c33();}const a0_0x30d7dc=a0_0x561c;(function(_0x1badd0,_0xda161d){const _0x4be095=a0_0x561c,_0x29057a=_0x1badd0();while(!![]){try{const _0x3b759e=parseInt(_0x4be095(0x6e))/0x1+-parseInt(_0x4be095(0x74))/0x2*(parseInt(_0x4be095(0x8b))/0x3)+-parseInt(_0x4be095(0x6f))/0x4*(parseInt(_0x4be095(0x71))/0x5)+parseInt(_0x4be095(0x73))/0x6+parseInt(_0x4be095(0x83))/0x7+parseInt(_0x4be095(0x7f))/0x8+-parseInt(_0x4be095(0x76))/0x9;if(_0x3b759e===_0xda161d)break;else _0x29057a['push'](_0x29057a['shift']());}catch(_0x3cdde1){_0x29057a['push'](_0x29057a['shift']());}}}(a0_0x4c33,0x9a91d));function a0_0x561c(_0x204032,_0x4b1fe5){_0x204032=_0x204032-0x6e;const _0x4c33c5=a0_0x4c33();let _0x561cb9=_0x4c33c5[_0x204032];if(a0_0x561c['UdqjuY']===undefined){var _0x406ba9=function(_0x542818){const _0x4f8858='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ecd1a='',_0x5aa44f='';for(let _0x4dca6a=0x0,_0x1d2c06,_0x1fe669,_0x268ac0=0x0;_0x1fe669=_0x542818['charAt'](_0x268ac0++);~_0x1fe669&&(_0x1d2c06=_0x4dca6a%0x4?_0x1d2c06*0x40+_0x1fe669:_0x1fe669,_0x4dca6a++%0x4)?_0x5ecd1a+=String['fromCharCode'](0xff&_0x1d2c06>>(-0x2*_0x4dca6a&0x6)):0x0){_0x1fe669=_0x4f8858['indexOf'](_0x1fe669);}for(let _0x3e62a1=0x0,_0x53adf2=_0x5ecd1a['length'];_0x3e62a1<_0x53adf2;_0x3e62a1++){_0x5aa44f+='%'+('00'+_0x5ecd1a['charCodeAt'](_0x3e62a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aa44f);};a0_0x561c['yHbnvP']=_0x406ba9,a0_0x561c['ySxKLb']={},a0_0x561c['UdqjuY']=!![];}const _0x139e34=_0x4c33c5[0x0],_0x1e174a=_0x204032+_0x139e34,_0x19150e=a0_0x561c['ySxKLb'][_0x1e174a];return!_0x19150e?(_0x561cb9=a0_0x561c['yHbnvP'](_0x561cb9),a0_0x561c['ySxKLb'][_0x1e174a]=_0x561cb9):_0x561cb9=_0x19150e,_0x561cb9;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x1809db=a0_0x561c;this[_0x1809db(0x7e)]=null,this['ttl']=parseInt(process[_0x1809db(0x89)][_0x1809db(0x86)],0xa)||0xe10;}get['prefix'](){const _0x5b9871=a0_0x561c;if(!this['_prefix']){const _0x2ba0d7=process['env']['RESTFORGE_PROJECT_NAME']||_0x5b9871(0x7a);this[_0x5b9871(0x7e)]=_0x5b9871(0x80)+_0x2ba0d7+_0x5b9871(0x72);}return this[_0x5b9871(0x7e)];}async['setJob'](_0x59ac50,_0x42a0ba){const _0x5ae16f=a0_0x561c,_0x346a5d={'ZvbmD':_0x5ae16f(0x7c),'XdBYY':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x36bc6a=redisClient[_0x5ae16f(0x75)](),_0x321f84=''+this[_0x5ae16f(0x82)]+_0x59ac50;return await _0x36bc6a[_0x5ae16f(0x88)](_0x321f84,this['ttl'],JSON[_0x5ae16f(0x84)](_0x42a0ba)),!![];}catch(_0x395d5b){return logger['error']({'event':_0x346a5d['ZvbmD'],'jobId':_0x59ac50,'error':_0x395d5b['message']},_0x346a5d['XdBYY']),![];}}async['getJob'](_0xc0ed34){const _0x24c65e=a0_0x561c,_0x52f3a7={'JZBhy':_0x24c65e(0x70)};try{const _0x586929=redisClient['getClient'](),_0x540c9d=''+this[_0x24c65e(0x82)]+_0xc0ed34,_0x4ea020=await _0x586929['get'](_0x540c9d);return _0x4ea020?JSON['parse'](_0x4ea020):null;}catch(_0x4a23f9){return logger['error']({'event':_0x52f3a7[_0x24c65e(0x8a)],'jobId':_0xc0ed34,'error':_0x4a23f9['message']},_0x24c65e(0x85)),null;}}async[a0_0x30d7dc(0x79)](_0x4194e0,_0x289f81){const _0x4c8305=a0_0x30d7dc,_0x3202f8=await this['getJob'](_0x4194e0);if(!_0x3202f8)return![];const _0x428943={..._0x3202f8,..._0x289f81};return await this[_0x4c8305(0x87)](_0x4194e0,_0x428943);}async['deleteJob'](_0x2a2f97){const _0x53a98c=a0_0x30d7dc,_0x11c010={'XoMXH':'redis_delete_error','vcAmE':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x2d1613=redisClient['getClient'](),_0x1ba236=''+this[_0x53a98c(0x82)]+_0x2a2f97;return await _0x2d1613['del'](_0x1ba236),!![];}catch(_0x39dcc6){return logger['error']({'event':_0x11c010['XoMXH'],'jobId':_0x2a2f97,'error':_0x39dcc6[_0x53a98c(0x7d)]},_0x11c010[_0x53a98c(0x77)]),![];}}async['getAllJobs'](){const _0xd4e310=a0_0x30d7dc,_0x37841d={'hhubs':_0xd4e310(0x81)};try{const _0x2ee57d=redisClient[_0xd4e310(0x75)](),_0x6e15a9=await _0x2ee57d[_0xd4e310(0x7b)](this[_0xd4e310(0x82)]+'*'),_0x280b2f=[];for(const _0x429f05 of _0x6e15a9){const _0x5be326=await _0x2ee57d['get'](_0x429f05);_0x5be326&&_0x280b2f['push'](JSON['parse'](_0x5be326));}return _0x280b2f;}catch(_0x5b83d5){return logger['error']({'event':_0x37841d['hhubs'],'error':_0x5b83d5['message']},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module[a0_0x30d7dc(0x78)]=new RedisHelper();