@restforgejs/platform 5.0.1 → 5.0.8

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 (182) 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/dashboard/create.js +1 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/cli/processor/create.js +1 -1
  7. package/generators/lib/dbschema-kit/apply-executor.js +15 -1
  8. package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
  9. package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
  10. package/generators/lib/dbschema-kit/dialect/postgres.js +3 -0
  11. package/generators/lib/dbschema-kit/dialect/sqlite.js +2 -0
  12. package/generators/lib/dbschema-kit/emitters/alter-table.js +7 -0
  13. package/generators/lib/dbschema-kit/emitters/create-table.js +31 -3
  14. package/generators/lib/dbschema-kit/statement-modifier.js +12 -2
  15. package/generators/lib/migrate/migrate-runner.js +393 -393
  16. package/generators/lib/payload/payload-runner.js +64 -2
  17. package/generators/lib/payload/schema-diff.js +31 -1
  18. package/generators/lib/templates/dashboard-catalog.js +1 -1
  19. package/generators/lib/templates/db-connection-env.js +1 -1
  20. package/generators/lib/templates/dbschema-catalog.js +1 -1
  21. package/generators/lib/templates/field-validation-catalog.js +1 -1
  22. package/generators/lib/templates/mysql-template.js +1 -1
  23. package/generators/lib/templates/oracle-template.js +1 -1
  24. package/generators/lib/templates/postgres-template.js +1 -1
  25. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  26. package/generators/lib/templates/sqlite-template.js +1 -1
  27. package/generators/lib/utils/database-introspector.js +417 -6
  28. package/generators/lib/validators/argument-validator.js +2 -2
  29. package/integrity-manifest.json +18 -18
  30. package/package.json +4 -2
  31. package/scripts/verify-integrity.js +1 -1
  32. package/server.js +1 -1
  33. package/src/components/handlers/adjust_handler.js +1 -1
  34. package/src/components/handlers/audit_handler.js +1 -1
  35. package/src/components/handlers/delete_handler.js +1 -1
  36. package/src/components/handlers/export_handler.js +1 -1
  37. package/src/components/handlers/import_handler.js +1 -1
  38. package/src/components/handlers/insert_handler.js +1 -1
  39. package/src/components/handlers/update_handler.js +1 -1
  40. package/src/components/handlers/upload_handler.js +1 -1
  41. package/src/components/handlers/workflow_handler.js +1 -1
  42. package/src/components/integrations/webhook.js +1 -1
  43. package/src/consumers/baseConsumer.js +1 -1
  44. package/src/consumers/declarativeMapper.js +1 -1
  45. package/src/consumers/handlers/apiHandler.js +1 -1
  46. package/src/consumers/handlers/consoleHandler.js +1 -1
  47. package/src/consumers/handlers/databaseHandler.js +1 -1
  48. package/src/consumers/handlers/index.js +1 -1
  49. package/src/consumers/handlers/kafkaHandler.js +1 -1
  50. package/src/consumers/index.js +1 -1
  51. package/src/consumers/messageTransformer.js +1 -1
  52. package/src/consumers/validator.js +1 -1
  53. package/src/core/db/dialect/base-dialect.js +1 -1
  54. package/src/core/db/dialect/index.js +1 -1
  55. package/src/core/db/dialect/mysql-dialect.js +1 -1
  56. package/src/core/db/dialect/oracle-dialect.js +1 -1
  57. package/src/core/db/dialect/postgres-dialect.js +1 -1
  58. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  59. package/src/core/db/flatten-helper.js +1 -1
  60. package/src/core/db/query-builder-error.js +1 -1
  61. package/src/core/db/query-builder.js +1 -1
  62. package/src/core/db/relation-helper.js +1 -1
  63. package/src/core/handlers/delete_handler.js +1 -1
  64. package/src/core/handlers/insert_handler.js +1 -1
  65. package/src/core/handlers/update_handler.js +1 -1
  66. package/src/core/models/base-model.js +1 -1
  67. package/src/core/utils/cache-manager.js +1 -1
  68. package/src/core/utils/component-engine.js +1 -1
  69. package/src/core/utils/context-builder.js +1 -1
  70. package/src/core/utils/datetime-formatter.js +1 -1
  71. package/src/core/utils/datetime-parser.js +1 -1
  72. package/src/core/utils/db.js +1 -1
  73. package/src/core/utils/logger.js +1 -1
  74. package/src/core/utils/payload-loader.js +1 -1
  75. package/src/core/utils/security-checks.js +1 -1
  76. package/src/middleware/body-options.js +1 -1
  77. package/src/middleware/cors.js +1 -1
  78. package/src/middleware/idempotency.js +1 -1
  79. package/src/middleware/rate-limiter.js +1 -1
  80. package/src/middleware/request-logger.js +1 -1
  81. package/src/middleware/security-headers.js +1 -1
  82. package/src/models/base-model-mysql.js +1 -1
  83. package/src/models/base-model-oracle.js +1 -1
  84. package/src/models/base-model-sqlite.js +1 -1
  85. package/src/models/base-model.js +1 -1
  86. package/src/pro/caching/redis-client.js +1 -1
  87. package/src/pro/caching/redis-helper.js +1 -1
  88. package/src/pro/consumers/baseConsumer.js +1 -1
  89. package/src/pro/consumers/declarativeMapper.js +1 -1
  90. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  91. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  92. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  93. package/src/pro/consumers/handlers/index.js +1 -1
  94. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  95. package/src/pro/consumers/index.js +1 -1
  96. package/src/pro/consumers/messageTransformer.js +1 -1
  97. package/src/pro/consumers/validator.js +1 -1
  98. package/src/pro/database/base-model-mysql.js +1 -1
  99. package/src/pro/database/base-model-oracle.js +1 -1
  100. package/src/pro/database/base-model-sqlite.js +1 -1
  101. package/src/pro/database/db-mysql.js +1 -1
  102. package/src/pro/database/db-oracle.js +1 -1
  103. package/src/pro/database/db-sqlite.js +1 -1
  104. package/src/pro/excel/excel-generator.js +1 -1
  105. package/src/pro/excel/excel-parser.js +1 -1
  106. package/src/pro/excel/export-service.js +1 -1
  107. package/src/pro/excel/export_handler.js +1 -1
  108. package/src/pro/excel/import-service.js +1 -1
  109. package/src/pro/excel/import-validator.js +1 -1
  110. package/src/pro/excel/import_handler.js +1 -1
  111. package/src/pro/excel/upsert-builder.js +1 -1
  112. package/src/pro/idgen/idgen-routes.js +1 -1
  113. package/src/pro/integrations/lookup-resolver.js +1 -1
  114. package/src/pro/integrations/upload-handler-v2.js +1 -1
  115. package/src/pro/integrations/upload-handler.js +1 -1
  116. package/src/pro/integrations/webhook.js +1 -1
  117. package/src/pro/locking/lock-routes.js +1 -1
  118. package/src/pro/locking/resource-lock-manager.js +1 -1
  119. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  120. package/src/pro/messaging/kafkaService.js +1 -1
  121. package/src/pro/messaging/messagehubService.js +1 -1
  122. package/src/pro/messaging/rabbitmqService.js +1 -1
  123. package/src/pro/scheduler/job-manager.js +1 -1
  124. package/src/pro/scheduler/job-routes.js +1 -1
  125. package/src/pro/scheduler/job-validator.js +1 -1
  126. package/src/pro/storage/base-storage-provider.js +1 -1
  127. package/src/pro/storage/file-metadata-helper.js +1 -1
  128. package/src/pro/storage/index.js +1 -1
  129. package/src/pro/storage/local-storage-provider.js +1 -1
  130. package/src/pro/storage/s3-storage-provider.js +1 -1
  131. package/src/pro/storage/upload-cleanup-job.js +1 -1
  132. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  133. package/src/pro/storage/upload-pending-tracker.js +1 -1
  134. package/src/pro/websocket/broadcast-helper.js +1 -1
  135. package/src/pro/websocket/index.js +1 -1
  136. package/src/pro/websocket/livesync-server.js +1 -1
  137. package/src/pro/websocket/ws-broadcaster.js +1 -1
  138. package/src/services/export-service.js +1 -1
  139. package/src/services/import-service.js +1 -1
  140. package/src/services/kafkaConsumerService.js +1 -1
  141. package/src/services/kafkaService.js +1 -1
  142. package/src/services/messagehubService.js +1 -1
  143. package/src/services/rabbitmqService.js +1 -1
  144. package/src/utils/cache-invalidation-registry.js +1 -1
  145. package/src/utils/cache-manager.js +1 -1
  146. package/src/utils/component-engine.js +1 -1
  147. package/src/utils/config-extractor.js +1 -1
  148. package/src/utils/consumerLogger.js +1 -1
  149. package/src/utils/context-builder.js +1 -1
  150. package/src/utils/dashboard-helpers.js +1 -1
  151. package/src/utils/dateHelper.js +1 -1
  152. package/src/utils/datetime-formatter.js +1 -1
  153. package/src/utils/datetime-parser.js +1 -1
  154. package/src/utils/db-bootstrap.js +1 -1
  155. package/src/utils/db-mysql.js +1 -1
  156. package/src/utils/db-oracle.js +1 -1
  157. package/src/utils/db-sqlite.js +1 -1
  158. package/src/utils/db.js +1 -1
  159. package/src/utils/demo-generator.js +1 -1
  160. package/src/utils/excel-generator.js +1 -1
  161. package/src/utils/excel-parser.js +1 -1
  162. package/src/utils/file-watcher.js +1 -1
  163. package/src/utils/id-generator.js +1 -1
  164. package/src/utils/idempotency-manager.js +1 -1
  165. package/src/utils/import-validator.js +1 -1
  166. package/src/utils/license-client.js +1 -1
  167. package/src/utils/lock-manager.js +1 -1
  168. package/src/utils/logger.js +1 -1
  169. package/src/utils/lookup-resolver.js +1 -1
  170. package/src/utils/payload-loader.js +1 -1
  171. package/src/utils/processor-response.js +1 -1
  172. package/src/utils/rabbitmq.js +1 -1
  173. package/src/utils/redis-client.js +1 -1
  174. package/src/utils/redis-helper.js +1 -1
  175. package/src/utils/request-scope.js +1 -1
  176. package/src/utils/security-checks.js +1 -1
  177. package/src/utils/service-resolver.js +1 -1
  178. package/src/utils/shutdown-coordinator.js +1 -1
  179. package/src/utils/trusted-keys.js +1 -1
  180. package/src/utils/upload-handler.js +1 -1
  181. package/src/utils/upsert-builder.js +1 -1
  182. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x2e97b9=a0_0x2d6f;(function(_0x5590c2,_0x42393e){const _0x345e47=a0_0x2d6f,_0x4f7421=_0x5590c2();while(!![]){try{const _0x578f0f=-parseInt(_0x345e47(0x112))/0x1*(-parseInt(_0x345e47(0xf0))/0x2)+-parseInt(_0x345e47(0x108))/0x3*(parseInt(_0x345e47(0x10d))/0x4)+parseInt(_0x345e47(0x10a))/0x5+-parseInt(_0x345e47(0x120))/0x6+-parseInt(_0x345e47(0xd2))/0x7*(parseInt(_0x345e47(0x10f))/0x8)+-parseInt(_0x345e47(0xf4))/0x9+-parseInt(_0x345e47(0xd3))/0xa*(-parseInt(_0x345e47(0xcc))/0xb);if(_0x578f0f===_0x42393e)break;else _0x4f7421['push'](_0x4f7421['shift']());}catch(_0x355e02){_0x4f7421['push'](_0x4f7421['shift']());}}}(a0_0x1a3e,0xe720e));const redisClient=require(a0_0x2e97b9(0xe4)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2e97b9(0xd6));function a0_0x2d6f(_0x2a2b81,_0x4f45a7){_0x2a2b81=_0x2a2b81-0xc6;const _0x1a3e7e=a0_0x1a3e();let _0x2d6f41=_0x1a3e7e[_0x2a2b81];if(a0_0x2d6f['AnMLko']===undefined){var _0x5cbe95=function(_0x21de66){const _0x4d7c46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35bf88='',_0x259338='';for(let _0x5d7480=0x0,_0x4b065f,_0x1a7256,_0x9a3db9=0x0;_0x1a7256=_0x21de66['charAt'](_0x9a3db9++);~_0x1a7256&&(_0x4b065f=_0x5d7480%0x4?_0x4b065f*0x40+_0x1a7256:_0x1a7256,_0x5d7480++%0x4)?_0x35bf88+=String['fromCharCode'](0xff&_0x4b065f>>(-0x2*_0x5d7480&0x6)):0x0){_0x1a7256=_0x4d7c46['indexOf'](_0x1a7256);}for(let _0x2023bb=0x0,_0x7dbc5e=_0x35bf88['length'];_0x2023bb<_0x7dbc5e;_0x2023bb++){_0x259338+='%'+('00'+_0x35bf88['charCodeAt'](_0x2023bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x259338);};a0_0x2d6f['CAjPsK']=_0x5cbe95,a0_0x2d6f['mbzAHX']={},a0_0x2d6f['AnMLko']=!![];}const _0x3a9876=_0x1a3e7e[0x0],_0x24b97e=_0x2a2b81+_0x3a9876,_0xa19ad9=a0_0x2d6f['mbzAHX'][_0x24b97e];return!_0xa19ad9?(_0x2d6f41=a0_0x2d6f['CAjPsK'](_0x2d6f41),a0_0x2d6f['mbzAHX'][_0x24b97e]=_0x2d6f41):_0x2d6f41=_0xa19ad9,_0x2d6f41;}class LockManager{constructor(){const _0x512c70=a0_0x2e97b9;this['_prefix']=null,this[_0x512c70(0x113)]=null,this['_defaultTTL']=null,this[_0x512c70(0xeb)]=null,this['_retryDelay']=null,this[_0x512c70(0xcf)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x1f8c87=a0_0x2e97b9,_0x4df070={'MVQCD':function(_0x784dfa,_0x155df1){return _0x784dfa===_0x155df1;},'AZQBl':_0x1f8c87(0xe7),'rFQvZ':_0x1f8c87(0xed)};this[_0x1f8c87(0x117)]='rf:lock:',this[_0x1f8c87(0x113)]=_0x4df070['MVQCD'](process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_ENABLED'],_0x4df070[_0x1f8c87(0xde)]),this[_0x1f8c87(0xe1)]=parseInt(process[_0x1f8c87(0x111)][_0x1f8c87(0xc6)],0xa)||0xa,this[_0x1f8c87(0xeb)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x1f8c87(0xcf)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x1f8c87(0xcd),this[_0x1f8c87(0x114)]='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':_0x4df070['rFQvZ'],'enabled':this['_enabled'],'strategy':this[_0x1f8c87(0xcf)],'ttl':this['_defaultTTL'],'retryCount':this[_0x1f8c87(0xeb)],'retryDelay':this[_0x1f8c87(0xf3)],'workerId':this[_0x1f8c87(0x114)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this[_0x1f8c87(0xcf)]);}['_ensureInitialized'](){const _0xe28e89=a0_0x2e97b9;!this[_0xe28e89(0x100)]&&this[_0xe28e89(0xfc)]();}get[a0_0x2e97b9(0xef)](){const _0x41ec8d=a0_0x2e97b9;return this[_0x41ec8d(0xce)](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x2e97b9(0x11d)](){const _0x14064e=a0_0x2e97b9;return this['_ensureInitialized'](),this[_0x14064e(0xe1)];}get[a0_0x2e97b9(0xc9)](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0xa422d9=a0_0x2e97b9;return this[_0xa422d9(0xce)](),this[_0xa422d9(0xf3)];}get['strategy'](){const _0x4f16e5=a0_0x2e97b9;return this[_0x4f16e5(0xce)](),this[_0x4f16e5(0xcf)];}get[a0_0x2e97b9(0xd9)](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x140a4d){const {module:_0x85f02a,endpoint:_0x392514,lockType:_0x5262b8,recordId:_0x460922}=_0x140a4d;if(_0x460922)return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x460922+':'+_0x5262b8;return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x5262b8;}[a0_0x2e97b9(0xd0)](){const _0x2804ce=a0_0x2e97b9,_0x2877f1={'pjsdS':function(_0x419111){return _0x419111();}};return this['workerId']+':'+_0x2877f1[_0x2804ce(0xdd)](uuidv4)+':'+Date[_0x2804ce(0xc8)]();}async[a0_0x2e97b9(0xfb)](_0x31f90a){const _0x42f097=a0_0x2e97b9,_0x4133f4={'jNCjO':'write','vKtFX':function(_0x144c0f,_0x589d8e){return _0x144c0f<_0x589d8e;},'bcKlj':'read_lock_acquired','tBOba':_0x42f097(0x104),'UZyhG':function(_0x19c16f,_0x12b964){return _0x19c16f*_0x12b964;},'hZRWV':'READ\x20lock\x20acquire\x20timeout','DqKgL':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d9371=this['buildLockKey']({..._0x31f90a,'lockType':_0x4133f4[_0x42f097(0xf9)]}),_0x411404=this['buildLockKey']({..._0x31f90a,'lockType':_0x42f097(0x101)}),_0x5ed73f=this['generateLockValue']();try{const _0x35db32=redisClient[_0x42f097(0xe5)]();for(let _0x4d4e03=0x0;_0x4133f4[_0x42f097(0xd5)](_0x4d4e03,this[_0x42f097(0xc9)]);_0x4d4e03++){const _0xac27b2=await _0x35db32[_0x42f097(0x115)](_0x2d9371);if(!_0xac27b2){await _0x35db32['incr'](_0x411404),await _0x35db32[_0x42f097(0xfe)](_0x411404,this['defaultTTL']);const _0x18f579=_0x411404+':'+_0x5ed73f;return await _0x35db32['setex'](_0x18f579,this['defaultTTL'],_0x5ed73f),logger['debug']({'event':_0x4133f4[_0x42f097(0x116)],'key':_0x411404,'value':_0x5ed73f},_0x4133f4['tBOba']),{'success':!![],'lockValue':_0x5ed73f,'lockKey':_0x18f579};}logger['debug']({'event':_0x42f097(0x121),'writeKey':_0x2d9371,'attempt':_0x4d4e03},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](_0x4133f4[_0x42f097(0xf6)](this[_0x42f097(0x11f)],Math['pow'](0x2,_0x4d4e03)));}return logger[_0x42f097(0xf2)]({'event':_0x42f097(0xca),'key':_0x411404},_0x4133f4[_0x42f097(0x105)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x46e5ef){return logger[_0x42f097(0xf5)]({'event':_0x42f097(0x11c),'error':_0x46e5ef[_0x42f097(0xf8)]},_0x4133f4['DqKgL']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x538bbd){const _0x146b00=a0_0x2e97b9,_0x218a18={'RyvSO':'write','LSpci':'write_lock_acquired','tlOHm':_0x146b00(0xd1),'yBuXI':function(_0x57c3b9,_0x5e03b5){return _0x57c3b9===_0x5e03b5;},'ywdmc':function(_0x37f458,_0x29f8d5){return _0x37f458(_0x29f8d5);},'elSZz':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','fGIpO':'write_lock_waiting','meXwd':'Waiting\x20for\x20locks\x20to\x20release','XgJfC':function(_0x2094b7,_0x3af4cc){return _0x2094b7*_0x3af4cc;},'NwtVc':'WRITE\x20lock\x20acquire\x20timeout','ekgrv':_0x146b00(0x119)};if(!this[_0x146b00(0xd4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x565653=this['buildLockKey']({..._0x538bbd,'lockType':_0x218a18['RyvSO']}),_0x403287=this[_0x146b00(0xf7)]({..._0x538bbd,'lockType':'read'}),_0x1d0c0b=this['generateLockValue']();try{const _0x48392e=redisClient['getClient']();if(this[_0x146b00(0xee)]==='reject'){const _0x4f61cd=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this['defaultTTL'],'NX');if(_0x4f61cd==='OK')return logger['debug']({'event':_0x218a18[_0x146b00(0xe6)],'key':_0x565653,'value':_0x1d0c0b,'strategy':'reject'},_0x146b00(0xe8)),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};return logger['debug']({'event':_0x218a18['tlOHm'],'key':_0x565653},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x553324=0x0;_0x553324<this['retryCount'];_0x553324++){const [_0x8273ca,_0xce2edd]=await Promise['all']([_0x48392e['get'](_0x403287),_0x48392e[_0x146b00(0x115)](_0x565653)]);if(!_0xce2edd&&(!_0x8273ca||_0x218a18['yBuXI'](_0x218a18[_0x146b00(0x110)](parseInt,_0x8273ca),0x0))){const _0x4f84f9=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this[_0x146b00(0x11d)],'NX');if(_0x4f84f9==='OK')return logger['debug']({'event':_0x146b00(0xe2),'key':_0x565653,'value':_0x1d0c0b,'strategy':'retry'},_0x218a18['elSZz']),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};}logger[_0x146b00(0x102)]({'event':_0x218a18['fGIpO'],'writeKey':_0x565653,'readCount':_0x8273ca,'attempt':_0x553324},_0x218a18['meXwd']),await this[_0x146b00(0xe0)](_0x218a18[_0x146b00(0xf1)](this[_0x146b00(0x11f)],Math['pow'](0x2,_0x553324)));}return logger['warn']({'event':_0x146b00(0xd8),'key':_0x565653},_0x218a18[_0x146b00(0xcb)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x7ce516){return logger[_0x146b00(0xf5)]({'event':_0x218a18['ekgrv'],'error':_0x7ce516['message']},_0x146b00(0x10b)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x15c7f3,_0x524424){const _0x290458=a0_0x2e97b9,_0x41f945={'WfPno':_0x290458(0xda),'kwkai':function(_0x45c4dc,_0x4d3899){return _0x45c4dc>_0x4d3899;},'DOCvk':_0x290458(0xd7),'GBmHt':_0x290458(0xec),'SCOpz':function(_0x2cdb9c,_0x2e09c8){return _0x2cdb9c===_0x2e09c8;},'dPBLs':_0x290458(0x10e),'Jwbne':'lock_release_not_owner','HmcMG':'Cannot\x20release\x20lock\x20-\x20not\x20owner','yNWbx':'lock_release_error','gNqEZ':'Lock\x20release\x20error'};if(!this['enabled']||!_0x15c7f3)return!![];try{const _0xcfce98=redisClient['getClient']();if(_0x15c7f3[_0x290458(0xdf)](_0x41f945[_0x290458(0x107)])){await _0xcfce98['del'](_0x15c7f3);const _0x4822f0=_0x15c7f3['substring'](0x0,_0x15c7f3['lastIndexOf'](':')),_0x2fac10=await _0xcfce98[_0x290458(0x115)](_0x4822f0);return _0x2fac10&&_0x41f945['kwkai'](parseInt(_0x2fac10),0x0)&&await _0xcfce98[_0x290458(0x118)](_0x4822f0),logger[_0x290458(0x102)]({'event':_0x41f945[_0x290458(0x103)],'key':_0x15c7f3},_0x41f945[_0x290458(0xdb)]),!![];}const _0x1189cf='\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',_0x48d1a2=await _0xcfce98[_0x290458(0xe3)](_0x1189cf,0x1,_0x15c7f3,_0x524424);if(_0x41f945['SCOpz'](_0x48d1a2,0x1))return logger['debug']({'event':_0x290458(0xfd),'key':_0x15c7f3},_0x41f945[_0x290458(0xfa)]),!![];return logger[_0x290458(0xf2)]({'event':_0x41f945['Jwbne'],'key':_0x15c7f3},_0x41f945['HmcMG']),![];}catch(_0x20ecdc){return logger['error']({'event':_0x41f945[_0x290458(0x106)],'key':_0x15c7f3,'error':_0x20ecdc[_0x290458(0xf8)]},_0x41f945['gNqEZ']),![];}}async[a0_0x2e97b9(0xdc)](_0x36b0aa,_0x3fc354,_0x62ca34=null){const _0x94e83d=a0_0x2e97b9,_0x4849bb={'gvasv':_0x94e83d(0x11e),'lensH':_0x94e83d(0x109)};if(!this[_0x94e83d(0xd4)]||!_0x36b0aa)return!![];try{const _0x3ca7b3=redisClient[_0x94e83d(0xe5)](),_0x23078c='\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',_0x4772b0=await _0x3ca7b3['eval'](_0x23078c,0x1,_0x36b0aa,_0x3fc354,_0x62ca34||this['defaultTTL']);if(_0x4772b0===0x1)return logger[_0x94e83d(0x102)]({'event':'lock_extended','key':_0x36b0aa,'ttl':_0x62ca34||this['defaultTTL']},_0x4849bb[_0x94e83d(0x11b)]),!![];return![];}catch(_0x56babc){return logger[_0x94e83d(0xf5)]({'event':'lock_extend_error','key':_0x36b0aa,'error':_0x56babc['message']},_0x4849bb[_0x94e83d(0xea)]),![];}}[a0_0x2e97b9(0x10c)](){const _0x1680cc=a0_0x2e97b9;return this[_0x1680cc(0xd4)];}[a0_0x2e97b9(0xe0)](_0x4d76bb){return new Promise(_0x4661aa=>setTimeout(_0x4661aa,_0x4d76bb));}async[a0_0x2e97b9(0xc7)](_0x4ac1fc){const _0x1d949b=a0_0x2e97b9,_0x32b71f={'jYFmD':_0x1d949b(0x11a),'orkkU':function(_0xe21d6b,_0xa11692){return _0xe21d6b||_0xa11692;}};if(!this[_0x1d949b(0xd4)])return{'enabled':![]};try{const _0x895a04=redisClient['getClient'](),_0x4d3bc6=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':_0x32b71f['jYFmD']}),_0x4df25c=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':'read'}),[_0x3470d1,_0x56f2f6]=await Promise['all']([_0x895a04['get'](_0x4d3bc6),_0x895a04['get'](_0x4df25c)]);return{'enabled':!![],'writeLock':_0x32b71f[_0x1d949b(0xff)](_0x3470d1,null),'readCount':parseInt(_0x56f2f6)||0x0,'writeKey':_0x4d3bc6,'readKey':_0x4df25c};}catch(_0x31e0bc){return{'enabled':!![],'error':_0x31e0bc[_0x1d949b(0xf8)]};}}}function a0_0x1a3e(){const _0x3880c5=['x3DVCMTLCKLK','z2v0','yMnlBgO','x3bYzwzPEa','zgvJCG','D3jPDgvFBg9JA19LCNjVCG','D3jPDgu','z3zHC3y','CMvHzf9SB2nRx2vYCM9Y','zgvMyxvSDfruta','tg9JAYbuveWGzxH0zw5Kzwq','CMv0CNLezwXHEq','ndmWmJCZohvuA25gtq','CMvHzf9SB2nRx3DHAxrPBMC','te9ds19esvnuuKLcvvrfrf9uveW','z2v0tg9JA0LUzM8','BM93','CMv0CNLdB3vUDa','CMvHzf9SB2nRx3rPBwvVDxq','tND0vMm','mta1mde3tuLXC2Lv','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','x3n0CMf0zwD5','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgvFBg9JA19YzwPLy3rLza','n0DZC01Suq','mJKZmhfHy0n3Da','zw5HyMXLza','DKT0rLG','DxvPza','CMvHzf9SB2nRx3jLBgvHC2vK','D3jPDgvFBg9JA190Aw1LB3v0','D29YA2vYswq','oNjLywq6','r0jTshq','zxH0zw5Ktg9JAW','CgPZzfm','qvPrqMW','Aw5JBhvKzxm','C2XLzxa','x2rLzMf1BhruveW','D3jPDgvFBg9JA19Hy3f1AxjLza','zxzHBa','lI9YzwrPCY1JBgLLBNq','z2v0q2XPzw50','tfnWy2K','Dhj1zq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zxHWB3j0CW','BgvUC0G','x3jLDhj5q291BNq','uKvbrcbSB2nRihjLBgvHC2vK','Bg9JA19JB25MAwDFAw5PDa','C3rYyxrLz3K','ChjLzML4','mKfkChztCq','wgDkzKm','D2fYBG','x3jLDhj5rgvSyxK','mtu0ndG4mtvQAKnUrg4','zxjYB3i','vvP5AeC','yNvPBgrmB2nRs2v5','BwvZC2fNzq','AK5dAK8','zfbcthm','ywnXDwLYzvjLywrmB2nR','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19YzwXLyxnLza','zxHWAxjL','B3jRA1u','x2LUAxrPywXPEMvK','CMvHza','zgvIDwC','re9dDMS','uKvbrcbSB2nRigfJCxvPCMvK','AfPsv1y','Eu5xyNG','v2zqBM8','mtvSDe5euLK','tg9JAYbLEhrLBMqGzxjYB3i','mJe0mZa5mejhEvPAAa','v1jjveuGBg9JAYbLCNjVCG','AxnfBMfIBgvK','otq3ndm2yuj0C3jT','v1jjveuGBg9JAYbYzwXLyxnLza','mta1mJq3mNDPCKfrDW','ExDKBwm','zw52','mtq3mdmYnxzSwxbRzq','x2vUywjSzwq'];a0_0x1a3e=function(){return _0x3880c5;};return a0_0x1a3e();}module[a0_0x2e97b9(0xe9)]=new LockManager();
1
+ function a0_0xe44b(){const _0x3056c0=['CMvQzwn0','te9ds19esvnuuKLcvvrfrf9srvrswq','mtu0mtyWwuviwxjd','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','zw52','tg9JAYbYzwXLyxnLigvYCM9Y','D3jPDgvFBg9JA193ywL0Aw5N','x3DVCMTLCKLK','v1jjveuGBg9JAYbYzwXLyxnLza','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','vgLnEw8','odu0nePjAfDszW','CMvSzwfZzuXVy2S','tg9JAYbLEhrLBMqGzxjYB3i','te9ds19esvnuuKLcvvrfrf9uveW','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','x3n0CMf0zwD5','x2rLzMf1BhruveW','Dhj1zq','ne5Rq2ztuW','AxnfBMfIBgvK','x3jLDhj5rgvSyxK','wgD4ywu','mZG5nJa1nw90z2THBa','zxzHBa','q25Rqvy','D3jPDgu','D2fYBG','z2v0','D3jPDgvFBg9JA19Hy3f1AxjLza','CMv0CNLezwXHEq','Bez0y2i','C2v0zxG','CMv0CNK','tg9JAYbuveWGzxH0zw5Kzwq','Bg9JA19YzwXLyxnLx2vYCM9Y','CMy6Bg9JAZO','C0DTwu4','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','uKvbrcbSB2nRigfJCxvPCMvK','DevqC3O','rxrwvwy','zgvIDwC','yNvPBgrmB2nRs2v5','zxHWAxjL','rNrwqM4','C2XLzxa','mZi2nJK1wuXiD1jy','C3rYyxrLz3K','z2v0q2XPzw50','mZaYmevpzwHlAW','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','ywXS','C3brzey','zNbNCMm','zgvMyxvSDfruta','D29YA2vYswq','ywnXDwLYzvjLywrmB2nR','mta4mdG3mdzoDK9guhq','ndGXmdnJy3L2tK0','x2vUC3vYzuLUAxrPywXPEMvK','D3jPDgvFBg9JA19LCNjVCG','werPzvO','mZu4nZaXovnxswHZqq','CMvHza','C2rcu2O','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','vwLtD2S','x3bYzwzPEa','zxjYB3i','BwvZC2fNzq','CMv0CNLdB3vUDa','z2vUzxjHDgvmB2nRvMfSDwu','nZzdu1zpDhK','x2LUAxrPywXPEMvK','uMLvBvm','zw5HyMXLza','s3Ltqvu','uKvbrcbSB2nRigvYCM9Y','tfnWrMq','x3jLDhj5q291BNq','x2vUywjSzwq','D3jPDgvFBg9JA19YzwXLyxnLza','lcbZDhjHDgvNEtOG','rgfTtLG','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','nJe4mwj6sKjOzq','ChjLzML4','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx3jLBgvHC2vK','uKvbrcbSB2nRihjLBgvHC2vK'];a0_0xe44b=function(){return _0x3056c0;};return a0_0xe44b();}const a0_0x5b31f6=a0_0x2341;(function(_0x1870ee,_0x328079){const _0x22ef86=a0_0x2341,_0x45ebb4=_0x1870ee();while(!![]){try{const _0x559088=parseInt(_0x22ef86(0xfc))/0x1*(-parseInt(_0x22ef86(0xe0))/0x2)+parseInt(_0x22ef86(0x10c))/0x3+parseInt(_0x22ef86(0x116))/0x4*(-parseInt(_0x22ef86(0x12a))/0x5)+parseInt(_0x22ef86(0x107))/0x6+-parseInt(_0x22ef86(0x123))/0x7*(-parseInt(_0x22ef86(0x133))/0x8)+-parseInt(_0x22ef86(0xe4))/0x9+parseInt(_0x22ef86(0xff))/0xa*(-parseInt(_0x22ef86(0x108))/0xb);if(_0x559088===_0x328079)break;else _0x45ebb4['push'](_0x45ebb4['shift']());}catch(_0x4ae348){_0x45ebb4['push'](_0x45ebb4['shift']());}}}(a0_0xe44b,0xe74e5));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x131d36=a0_0x2341;this[_0x131d36(0x111)]=null,this[_0x131d36(0x11e)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x131d36(0xe2)]=null,this['_strategy']=null,this[_0x131d36(0x12f)]=null,this['_initialized']=![];}['_initConfig'](){const _0x271504=a0_0x2341,_0x468762={'spQdF':_0x271504(0xf1),'IYMtH':function(_0x5d3ff7,_0x4e87ed){return _0x5d3ff7===_0x4e87ed;},'EtVUf':function(_0x190e15,_0x2cccb0,_0x19857b){return _0x190e15(_0x2cccb0,_0x19857b);}};this[_0x271504(0x111)]=_0x468762[_0x271504(0x102)],this['_enabled']=_0x468762['IYMtH'](process[_0x271504(0x12c)]['LOCK_DISTRIBUTED_ENABLED'],_0x271504(0xdf)),this[_0x271504(0xde)]=_0x468762['EtVUf'](parseInt,process[_0x271504(0x12c)][_0x271504(0xdb)],0xa)||0xa,this[_0x271504(0x11d)]=_0x468762['EtVUf'](parseInt,process['env'][_0x271504(0x129)],0xa)||0x3,this[_0x271504(0xe2)]=_0x468762[_0x271504(0xf6)](parseInt,process['env'][_0x271504(0x100)],0xa)||0x64,this['_strategy']=process['env'][_0x271504(0xf3)]||_0x271504(0xee),this[_0x271504(0x12f)]='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':'lock_config_init','enabled':this[_0x271504(0x11e)],'strategy':this[_0x271504(0xdd)],'ttl':this[_0x271504(0xde)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x271504(0x12f)]},_0x271504(0x131)+this['_enabled']+_0x271504(0x120)+this[_0x271504(0xdd)]);}['_ensureInitialized'](){const _0x41f137=a0_0x2341;!this[_0x41f137(0x117)]&&this['_initConfig']();}get[a0_0x5b31f6(0x124)](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x50b8cd=a0_0x5b31f6;return this[_0x50b8cd(0x109)](),this[_0x50b8cd(0x11e)];}get['defaultTTL'](){const _0x436c5b=a0_0x5b31f6;return this[_0x436c5b(0x109)](),this['_defaultTTL'];}get[a0_0x5b31f6(0x114)](){const _0x5793d1=a0_0x5b31f6;return this[_0x5793d1(0x109)](),this['_retryCount'];}get['retryDelay'](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x5b31f6(0x105)](){const _0x16ac4a=a0_0x5b31f6;return this[_0x16ac4a(0x109)](),this[_0x16ac4a(0x12f)];}['buildLockKey'](_0x221f36){const _0x13fcc0=a0_0x5b31f6,{module:_0x15d80f,endpoint:_0x412f27,lockType:_0x37e4db,recordId:_0x14b982}=_0x221f36;if(_0x14b982)return''+this[_0x13fcc0(0x124)]+_0x15d80f+':'+_0x412f27+':'+_0x14b982+':'+_0x37e4db;return''+this['prefix']+_0x15d80f+':'+_0x412f27+':'+_0x37e4db;}['generateLockValue'](){const _0x599e6c=a0_0x5b31f6,_0x8325a0={'TiMyo':function(_0x3aa16d){return _0x3aa16d();}};return this['workerId']+':'+_0x8325a0[_0x599e6c(0x132)](uuidv4)+':'+Date['now']();}async[a0_0x5b31f6(0x106)](_0x3232c1){const _0x204cbf=a0_0x5b31f6,_0x26f984={'qisOP':_0x204cbf(0xe7),'HKHyj':'read','sGmYN':function(_0x325b25,_0x3726b2){return _0x325b25<_0x3726b2;},'fpgrc':'read_lock_acquired','Uvscq':'read_lock_waiting','Xgxae':'read_lock_timeout','LSpFd':'read_lock_error','lFtcb':_0x204cbf(0x11b)};if(!this[_0x204cbf(0x119)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x20dcdc=this[_0x204cbf(0xf8)]({..._0x3232c1,'lockType':_0x26f984['qisOP']}),_0x1b5848=this[_0x204cbf(0xf8)]({..._0x3232c1,'lockType':_0x26f984['HKHyj']}),_0x1883a4=this[_0x204cbf(0x115)]();try{const _0x468f18=redisClient['getClient']();for(let _0x39f827=0x0;_0x26f984[_0x204cbf(0xf2)](_0x39f827,this['retryCount']);_0x39f827++){const _0x5a50d8=await _0x468f18[_0x204cbf(0xe9)](_0x20dcdc);if(!_0x5a50d8){await _0x468f18['incr'](_0x1b5848),await _0x468f18[_0x204cbf(0xf9)](_0x1b5848,this['defaultTTL']);const _0x46fa49=_0x1b5848+':'+_0x1883a4;return await _0x468f18[_0x204cbf(0xed)](_0x46fa49,this[_0x204cbf(0x104)],_0x1883a4),logger[_0x204cbf(0xf7)]({'event':_0x26f984[_0x204cbf(0x103)],'key':_0x1b5848,'value':_0x1883a4},_0x204cbf(0xf4)),{'success':!![],'lockValue':_0x1883a4,'lockKey':_0x46fa49};}logger[_0x204cbf(0xf7)]({'event':_0x26f984['Uvscq'],'writeKey':_0x20dcdc,'attempt':_0x39f827},_0x204cbf(0x12b)),await this[_0x204cbf(0xfb)](this['retryDelay']*Math['pow'](0x2,_0x39f827));}return logger['warn']({'event':_0x26f984[_0x204cbf(0xe3)],'key':_0x1b5848},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x386aea){return logger[_0x204cbf(0x112)]({'event':_0x26f984[_0x204cbf(0x11c)],'error':_0x386aea[_0x204cbf(0x113)]},_0x26f984[_0x204cbf(0xec)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x5b31f6(0x125)](_0x34760f){const _0x381d9c=a0_0x5b31f6,_0x33892d={'BymQw':'write_lock_acquired','FtVBn':_0x381d9c(0xdc),'DamNX':function(_0x22f4b9,_0x20c792){return _0x22f4b9<_0x20c792;},'DxJsD':function(_0x520f85,_0x20f6e2){return _0x520f85===_0x20f6e2;},'HDEDk':function(_0x56f535,_0x51a849){return _0x56f535(_0x51a849);},'NYNNu':function(_0x1203c7,_0xa4a7ab){return _0x1203c7===_0xa4a7ab;},'RiUmS':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','LtSfT':_0x381d9c(0x12e),'lqfVv':'WRITE\x20lock\x20acquire\x20timeout','XDieZ':'WRITE\x20lock\x20error'};if(!this[_0x381d9c(0x119)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5d5453=this[_0x381d9c(0xf8)]({..._0x34760f,'lockType':'write'}),_0x866fc9=this[_0x381d9c(0xf8)]({..._0x34760f,'lockType':_0x381d9c(0x10d)}),_0xf140cd=this[_0x381d9c(0x115)]();try{const _0x18a392=redisClient['getClient']();if(this[_0x381d9c(0xfd)]===_0x381d9c(0x128)){const _0x68dc34=await _0x18a392['set'](_0x5d5453,_0xf140cd,'EX',this[_0x381d9c(0x104)],'NX');if(_0x68dc34==='OK')return logger[_0x381d9c(0xf7)]({'event':_0x33892d['BymQw'],'key':_0x5d5453,'value':_0xf140cd,'strategy':_0x381d9c(0x128)},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0xf140cd,'lockKey':_0x5d5453};return logger['debug']({'event':'write_lock_rejected','key':_0x5d5453},_0x33892d[_0x381d9c(0xfa)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x31d167=0x0;_0x33892d[_0x381d9c(0x121)](_0x31d167,this['retryCount']);_0x31d167++){const [_0x3925ea,_0x20ac61]=await Promise[_0x381d9c(0x101)]([_0x18a392[_0x381d9c(0xe9)](_0x866fc9),_0x18a392[_0x381d9c(0xe9)](_0x5d5453)]);if(!_0x20ac61&&(!_0x3925ea||_0x33892d['DxJsD'](_0x33892d['HDEDk'](parseInt,_0x3925ea),0x0))){const _0x395f45=await _0x18a392['set'](_0x5d5453,_0xf140cd,'EX',this['defaultTTL'],'NX');if(_0x33892d['NYNNu'](_0x395f45,'OK'))return logger[_0x381d9c(0xf7)]({'event':_0x381d9c(0xea),'key':_0x5d5453,'value':_0xf140cd,'strategy':'retry'},_0x33892d[_0x381d9c(0x118)]),{'success':!![],'lockValue':_0xf140cd,'lockKey':_0x5d5453};}logger['debug']({'event':_0x33892d['LtSfT'],'writeKey':_0x5d5453,'readCount':_0x3925ea,'attempt':_0x31d167},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x381d9c(0xfb)](this[_0x381d9c(0xeb)]*Math['pow'](0x2,_0x31d167));}return logger[_0x381d9c(0xe8)]({'event':'write_lock_timeout','key':_0x5d5453},_0x33892d['lqfVv']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3767eb){return logger['error']({'event':_0x381d9c(0x10a),'error':_0x3767eb[_0x381d9c(0x113)]},_0x33892d[_0x381d9c(0x10b)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x5b31f6(0x134)](_0x18eee7,_0x212bbc){const _0x414f96=a0_0x5b31f6,_0x2802a8={'sdBSj':':read:','YWiGE':function(_0x45ce88,_0x3b23f7){return _0x45ce88>_0x3b23f7;},'pevWP':function(_0x29b019,_0x564d54){return _0x29b019(_0x564d54);},'CnkAV':_0x414f96(0x127),'gXccz':_0x414f96(0x11f),'KySAU':_0x414f96(0x130)};if(!this[_0x414f96(0x119)]||!_0x18eee7)return!![];try{const _0x53c5a4=redisClient['getClient']();if(_0x18eee7['includes'](_0x2802a8[_0x414f96(0x10e)])){await _0x53c5a4['del'](_0x18eee7);const _0x3ce40d=_0x18eee7['substring'](0x0,_0x18eee7['lastIndexOf'](':')),_0x4783fa=await _0x53c5a4[_0x414f96(0xe9)](_0x3ce40d);return _0x4783fa&&_0x2802a8['YWiGE'](_0x2802a8['pevWP'](parseInt,_0x4783fa),0x0)&&await _0x53c5a4['decr'](_0x3ce40d),logger[_0x414f96(0xf7)]({'event':_0x414f96(0x126),'key':_0x18eee7},_0x2802a8[_0x414f96(0xe6)]),!![];}const _0x3f124a=_0x414f96(0x10f),_0xe03713=await _0x53c5a4[_0x414f96(0xe5)](_0x3f124a,0x1,_0x18eee7,_0x212bbc);if(_0xe03713===0x1)return logger[_0x414f96(0xf7)]({'event':_0x2802a8['gXccz'],'key':_0x18eee7},_0x2802a8[_0x414f96(0x11a)]),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x18eee7},_0x414f96(0x122)),![];}catch(_0x46df32){return logger[_0x414f96(0x112)]({'event':_0x414f96(0xf0),'key':_0x18eee7,'error':_0x46df32['message']},_0x414f96(0x12d)),![];}}async['extendLock'](_0x2c8bef,_0x1ec7db,_0x54569e=null){const _0x5c2b5b=a0_0x5b31f6,_0x53bfb4={'tEPsz':function(_0x387c20,_0x3d8fc4){return _0x387c20===_0x3d8fc4;},'cTjgH':_0x5c2b5b(0xef),'seSuW':_0x5c2b5b(0xda)};if(!this[_0x5c2b5b(0x119)]||!_0x2c8bef)return!![];try{const _0x43e79b=redisClient[_0x5c2b5b(0xfe)](),_0x2119fa='\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',_0x8e04cb=await _0x43e79b['eval'](_0x2119fa,0x1,_0x2c8bef,_0x1ec7db,_0x54569e||this['defaultTTL']);if(_0x53bfb4[_0x5c2b5b(0xf5)](_0x8e04cb,0x1))return logger['debug']({'event':'lock_extended','key':_0x2c8bef,'ttl':_0x54569e||this['defaultTTL']},_0x53bfb4['cTjgH']),!![];return![];}catch(_0x3f798f){return logger['error']({'event':'lock_extend_error','key':_0x2c8bef,'error':_0x3f798f[_0x5c2b5b(0x113)]},_0x53bfb4['seSuW']),![];}}[a0_0x5b31f6(0xe1)](){return this['enabled'];}['sleep'](_0xe294db){return new Promise(_0x6f2180=>setTimeout(_0x6f2180,_0xe294db));}async['getLockInfo'](_0x309e4d){const _0x38cf04=a0_0x5b31f6,_0x2fb31f={'OIsZU':'read','yyYjT':function(_0x50e1a5,_0x1872ab){return _0x50e1a5||_0x1872ab;},'UiSwk':function(_0x4f6848,_0x53ce54){return _0x4f6848(_0x53ce54);}};if(!this[_0x38cf04(0x119)])return{'enabled':![]};try{const _0x3a8ba0=redisClient['getClient'](),_0x4d693f=this[_0x38cf04(0xf8)]({..._0x309e4d,'lockType':_0x38cf04(0xe7)}),_0x427508=this['buildLockKey']({..._0x309e4d,'lockType':_0x2fb31f['OIsZU']}),[_0x5847cc,_0x12cb49]=await Promise['all']([_0x3a8ba0['get'](_0x4d693f),_0x3a8ba0['get'](_0x427508)]);return{'enabled':!![],'writeLock':_0x2fb31f['yyYjT'](_0x5847cc,null),'readCount':_0x2fb31f[_0x38cf04(0x110)](parseInt,_0x12cb49)||0x0,'writeKey':_0x4d693f,'readKey':_0x427508};}catch(_0x4aaed6){return{'enabled':!![],'error':_0x4aaed6[_0x38cf04(0x113)]};}}}function a0_0x2341(_0x272823,_0x1d792c){_0x272823=_0x272823-0xda;const _0xe44b9f=a0_0xe44b();let _0x234165=_0xe44b9f[_0x272823];if(a0_0x2341['nXsOZP']===undefined){var _0x51a4c0=function(_0x1a6fce){const _0x2069af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x333176='',_0x5875e1='';for(let _0x246dbb=0x0,_0x177aff,_0xd7d1e9,_0x10e9b0=0x0;_0xd7d1e9=_0x1a6fce['charAt'](_0x10e9b0++);~_0xd7d1e9&&(_0x177aff=_0x246dbb%0x4?_0x177aff*0x40+_0xd7d1e9:_0xd7d1e9,_0x246dbb++%0x4)?_0x333176+=String['fromCharCode'](0xff&_0x177aff>>(-0x2*_0x246dbb&0x6)):0x0){_0xd7d1e9=_0x2069af['indexOf'](_0xd7d1e9);}for(let _0x28daab=0x0,_0x53707f=_0x333176['length'];_0x28daab<_0x53707f;_0x28daab++){_0x5875e1+='%'+('00'+_0x333176['charCodeAt'](_0x28daab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5875e1);};a0_0x2341['MboTHC']=_0x51a4c0,a0_0x2341['DfvnoW']={},a0_0x2341['nXsOZP']=!![];}const _0xe4b395=_0xe44b9f[0x0],_0xee45f7=_0x272823+_0xe4b395,_0x23e82e=a0_0x2341['DfvnoW'][_0xee45f7];return!_0x23e82e?(_0x234165=a0_0x2341['MboTHC'](_0x234165),a0_0x2341['DfvnoW'][_0xee45f7]=_0x234165):_0x234165=_0x23e82e,_0x234165;}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x3cd68b=a0_0x451c;(function(_0x18d3b2,_0x1766fd){const _0x4bf625=a0_0x451c,_0x3d70e3=_0x18d3b2();while(!![]){try{const _0x3b3bd3=-parseInt(_0x4bf625(0x230))/0x1*(parseInt(_0x4bf625(0x1bb))/0x2)+parseInt(_0x4bf625(0x1c4))/0x3*(-parseInt(_0x4bf625(0x1d3))/0x4)+parseInt(_0x4bf625(0x1f5))/0x5+parseInt(_0x4bf625(0x1a7))/0x6*(-parseInt(_0x4bf625(0x248))/0x7)+-parseInt(_0x4bf625(0x20b))/0x8*(-parseInt(_0x4bf625(0x1e0))/0x9)+-parseInt(_0x4bf625(0x247))/0xa*(-parseInt(_0x4bf625(0x1d7))/0xb)+parseInt(_0x4bf625(0x20a))/0xc*(-parseInt(_0x4bf625(0x259))/0xd);if(_0x3b3bd3===_0x1766fd)break;else _0x3d70e3['push'](_0x3d70e3['shift']());}catch(_0xaec2b4){_0x3d70e3['push'](_0x3d70e3['shift']());}}}(a0_0x3324,0xad568));function a0_0x451c(_0x448a18,_0xeebc9){_0x448a18=_0x448a18-0x1a7;const _0x33242f=a0_0x3324();let _0x451ccb=_0x33242f[_0x448a18];if(a0_0x451c['FDWnmj']===undefined){var _0xddbfa2=function(_0x34bfbc){const _0xf6cb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2064c8='',_0x27b5aa='';for(let _0x5d186e=0x0,_0x33c4e6,_0x1cecbe,_0x20a7be=0x0;_0x1cecbe=_0x34bfbc['charAt'](_0x20a7be++);~_0x1cecbe&&(_0x33c4e6=_0x5d186e%0x4?_0x33c4e6*0x40+_0x1cecbe:_0x1cecbe,_0x5d186e++%0x4)?_0x2064c8+=String['fromCharCode'](0xff&_0x33c4e6>>(-0x2*_0x5d186e&0x6)):0x0){_0x1cecbe=_0xf6cb8['indexOf'](_0x1cecbe);}for(let _0x730def=0x0,_0x3b3f3c=_0x2064c8['length'];_0x730def<_0x3b3f3c;_0x730def++){_0x27b5aa+='%'+('00'+_0x2064c8['charCodeAt'](_0x730def)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27b5aa);};a0_0x451c['mDrWwi']=_0xddbfa2,a0_0x451c['qgnaXf']={},a0_0x451c['FDWnmj']=!![];}const _0x1f7b19=_0x33242f[0x0],_0x16e690=_0x448a18+_0x1f7b19,_0x46017a=a0_0x451c['qgnaXf'][_0x16e690];return!_0x46017a?(_0x451ccb=a0_0x451c['mDrWwi'](_0x451ccb),a0_0x451c['qgnaXf'][_0x16e690]=_0x451ccb):_0x451ccb=_0x46017a,_0x451ccb;}const pino=require(a0_0x3cd68b(0x1f2)),fs=require('fs'),path=require(a0_0x3cd68b(0x1e9));function a0_0x3324(){const _0xe045dd=['Cgf0Aa','Aw5JBhvKzxm','CgfYyw1Z','ifTtte9xxq','CgLK','rgvMyxvSDa','D2fYBG','icbjBMzVoIaGia','y3jLzgvUDgLHBa','CgLUBW','s3vYq24','vfjbtLnbq1rjt05FqKvhsu4','ntK5mZG2nu5wAvb1AG','zxHWB3j0CW','uvrcBwq','ChjVzhvJDgLVBG','rejFueftu1DpuKq','Dg9Rzw4','zgvMyxvSDa','zgf0ywjHC2u','zgjFDhjHBNnHy3rPB24','ms4WlJu','z0HOyuO','CMvWBgfJzq','CMvMCMvZAf90B2TLBG','DgvZDa','C2vJCMv0','Bwf0y2G','Dg9vChbLCKnHC2u','Ec1Yzxf1zxn0lwLK','rKrhufq','C3vIC3rYAw5N','sfruuca','mZm2yM1Mtu5P','ntG4odi0vvzgBMrr','BgvUz3rO','AhnUExu','Ahj0Aw1L','ChjVy2vZC193yxjUAw5N','B2jQzwn0','tKPQC0i','CgLU','AgvHzgvYCW','Dg9ju09tDhjPBMC','vhrRD1m','C3rKvgLTzuz1BMn0Aw9UCW','CgfZC3DVCMq','rermx0rst1a','CgfKrw5K','zxHPC3rZu3LUyW','qunusvzf','q0Xvshy','zw52','zgf0ywjHC2vFy29UzMLN','yLfYzu4','ic0G','EuzlBKm','quXurvi','y29Kzq','Bwv0Ag9K','q1jjveLdquW','A0zzzxC','BwvZC2fNzq','zgv2zwXVCg1LBNq','te9hx0rjuG','ChjVAMvJDa','BNrUz0m','revmrvrf','AxntBg93','ChDK','zNHUyuS','nteZntvJtfLOC0m','ChjPDMf0zv9RzxK','Aw5MBW','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vvbeqvrf','BMfTzq','DxnLCG','te9hx0XfvKvm','C3rYAw5N','E21Zz30','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CxPqAhC','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C2vYDMvYx3n0yxj0Aw5N','ANnVBG','tK9erv9ftLy','weDevKC','qvPSBw4','yxbPA2v5','C3rYAw5NAwz5','A2v5CW','EezWA1O','C3rHCNrZv2L0Aa','mtaWmJCWruPNDhDx','mta2mJm5ter1wKnq','w09lxsbqCM9Qzwn0igXVywrLzdOG','vLLVr1i','C29Tzq','iokvKqRILzeGienVBMzPzYaGicaGidOG','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ufbNrMK','Dhj1zq','CgLUBY1WCMv0DhK','Cg9ZDgDYzxnXBa','C3rKu2vYAwfSAxPLCNm','Cg9YDa','tI9b','icbizwfSDgG6ia','ig9UihbVCNqG','yxv0Ag9YAxPHDgLVBG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','mZm0mdiYz1fSEwHi','DLvqv1u','AwDYtfu','yMfZzvvYBa','C2vYDMLJzuLUzM8','v3PfBe0','y29UzMLNrMLSzq','s0XxD2u','ndm4shz1uNbK','q3Ljqva','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3z2','vu5ltK9xtG','CxvLCNK','y3jLyxrLv3jPDgvtDhjLyw0','AM9PBG','zMf0ywW','w1jfrefdvevexq','DKLvue4','CMvWzwf0','u1fmx0Xpr19mrvzfta','veH0qxu','su5trvju','te9hx1rpx0zjteu','rgf0ywjHC2u6ia','u1fmx0Xpr19qqvjbtvm','A0DQuKy','w1jfrefdveveoNrVA2vUxq','mKP2qKXwqq','v0jluMG','C3rHDhvZq29Kzq','w1jfrefdveveoMHHC2HD','CMvZDgzVCMDL','whPUrLy','zgvIDwC','zKHmENC','tLvNA00','mZiXotiXBhLQs1z6','BxmP','EKLXzhC','sLDux1nfq1jfva','zxjYB3i','C3bSAxq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ChjPDMf0zwTLEq','EezOzue','CgfZC3DK','yxbWlMXVzW','y0DeDw4','AKHirNG','Dg9mB3DLCKnHC2u','CMvTB3rLqwrKCMvZCW','mtj3CgXotuK','r0rkEgG','yxbPs2v5','zw5KCg9PBNrFCMvNAxn0zxjLza','mtiZmKT5wKjQsW','zvPmB3u','zxjYB3iUBg9N','yMPSrxG','C3rHDhvZ','tK9uiefdveLwrq','yM9KEq','rvPzBNi','C3rHy2S','nZjYB0zZq24','rKfuquW6ia','D3jPDgu','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rwfcCxq','y3jLzgL0y2fYza','vuzkq1C','DhjPBq','rxjYB3i'];a0_0x3324=function(){return _0xe045dd;};return a0_0x3324();}let logToFile=![],logDir='./logs',serviceName=a0_0x3cd68b(0x1bf),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':a0_0x3cd68b(0x239),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x3cd68b(0x23f)]!==a0_0x3cd68b(0x1f8),logLevel=process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x237)]||a0_0x3cd68b(0x232);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3cd68b(0x250),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3cd68b(0x1bf),'version':process['env']['APP_VERSION']||a0_0x3cd68b(0x1fe),'env':process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x23f)]||a0_0x3cd68b(0x228)},'timestamp':pino[a0_0x3cd68b(0x216)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x3cd68b(0x1fa),a0_0x3cd68b(0x1d5),a0_0x3cd68b(0x1f9),a0_0x3cd68b(0x1c7)],'censor':'[REDACTED]'},'serializers':{'req':_0x2873df=>({'id':_0x2873df['id'],'method':_0x2873df[a0_0x3cd68b(0x224)],'url':_0x2873df['url'],'path':_0x2873df[a0_0x3cd68b(0x1e9)],'remoteAddress':_0x2873df['ip']||_0x2873df['connection']?.['remoteAddress']}),'res':_0x4a1f11=>({'statusCode':_0x4a1f11[a0_0x3cd68b(0x1bd)],'headers':_0x4a1f11['getHeaders']?.()}),'err':pino[a0_0x3cd68b(0x252)]['err']}});function initFileLogging(){const _0x50c008=a0_0x3cd68b,_0x12875b={'EZYnr':function(_0x2852e2,_0x12c9da){return _0x2852e2===_0x12c9da;},'hfsRX':_0x50c008(0x1fb),'GDJxh':function(_0x3d2eb2,_0x18cad8){return _0x3d2eb2===_0x18cad8;},'TtkwS':'true','CyIAP':_0x50c008(0x1c1),'cGDun':function(_0x4bce41,_0x58ddc1){return _0x4bce41!==_0x58ddc1;},'fxnaK':'false','nPumj':function(_0x9e379c,_0x503576){return _0x9e379c(_0x503576);},'DrWUT':'error.log','zIqdw':'file_logging_enabled','bjlEx':_0x50c008(0x232)};if(fileLoggingInitialized)return;logToFile=_0x12875b[_0x50c008(0x1de)](process['env'][_0x50c008(0x1b6)],_0x50c008(0x24f));const _0x3890b8=process[_0x50c008(0x21d)][_0x50c008(0x23a)]||_0x12875b['hfsRX'];logDir=process['env'][_0x50c008(0x229)]||'./logs/'+_0x3890b8,serviceName=process[_0x50c008(0x21d)]['SERVICE_NAME']||_0x50c008(0x1bf),sqlLogEnabled=_0x12875b[_0x50c008(0x1d4)](process['env']['SQL_LOG_ENABLED'],_0x12875b[_0x50c008(0x215)]),sqlLogLevel=process['env'][_0x50c008(0x1b3)]||_0x12875b[_0x50c008(0x1a8)],sqlLogParams=_0x12875b[_0x50c008(0x1cf)](process[_0x50c008(0x21d)][_0x50c008(0x1b8)],_0x12875b[_0x50c008(0x22f)]),sqlLogSlowThreshold=_0x12875b['nPumj'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x525653=path['resolve'](process['cwd'](),logDir);try{!fs[_0x50c008(0x21a)](_0x525653)&&fs['mkdirSync'](_0x525653,{'recursive':!![]});}catch(_0xe10083){console['error'](_0x50c008(0x258)+_0x525653+':',_0xe10083['message']),fileLoggingInitialized=!![];return;}const _0x2b90b8=path[_0x50c008(0x1ae)](_0x525653,'app.log'),_0x2edca9=path[_0x50c008(0x1ae)](_0x525653,_0x12875b['DrWUT']);try{appLogStream=fs['createWriteStream'](_0x2b90b8,{'flags':'a'}),errorLogStream=fs[_0x50c008(0x1ad)](_0x2edca9,{'flags':'a'}),fileLoggingInitialized=!![];const _0x22dbaa={'event':_0x12875b[_0x50c008(0x1c6)],'logDir':_0x525653,'files':[_0x50c008(0x1ce),_0x50c008(0x1d9)]},_0x17b75c='File\x20logging\x20enabled:\x20'+_0x525653;logger['info'](_0x22dbaa,_0x17b75c),writeToFileLog({..._0x22dbaa,'level':_0x12875b[_0x50c008(0x1da)],'msg':_0x17b75c,'time':new Date()[_0x50c008(0x214)]()},_0x12875b['bjlEx']);}catch(_0x8c1ad2){console[_0x50c008(0x1c8)](_0x50c008(0x233),_0x8c1ad2['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x597cfa,_0x845e0b){const _0x2e64de=a0_0x3cd68b,_0x2712ae={'gHhaJ':function(_0x5a9af2,_0x4099a9){return _0x5a9af2===_0x4099a9;},'cHqls':'error'};if(!logToFile||!appLogStream)return;const _0x470f0e={'service':serviceName,..._0x597cfa},_0x381711=JSON[_0x2e64de(0x243)](_0x470f0e)+'\x0a';appLogStream[_0x2e64de(0x1e2)](_0x381711),(_0x2712ae['gHhaJ'](_0x845e0b,_0x2712ae['cHqls'])||_0x2712ae[_0x2e64de(0x1ff)](_0x845e0b,_0x2e64de(0x1af)))&&(errorLogStream&&errorLogStream['write'](_0x381711));}const createRequestLogger=(_0x15aada={})=>{return logger['child'](_0x15aada);},logServerStart=_0x2248f9=>{const _0x52e000=a0_0x3cd68b,_0x965759={'VbRMD':function(_0x2c5185,_0x471e92){return _0x2c5185-_0x471e92;},'xFpkZ':function(_0xc6010b,_0x4339ff){return _0xc6010b/_0x4339ff;},'fHLzw':'Node.js','zXBsw':_0x52e000(0x254),'QTBmd':function(_0x16e293,_0x4b16e6,_0x237115){return _0x16e293(_0x4b16e6,_0x237115);},'jHHFx':_0x52e000(0x232)},_0x55010f='RESTFORGE\x20RUNTIME\x20SERVER',_0x330c1c=Math['max'](0x0,_0x965759['VbRMD'](0x37,_0x55010f[_0x52e000(0x20c)])),_0x424e18=Math['floor'](_0x965759[_0x52e000(0x245)](_0x330c1c,0x2)),_0x1f689f=_0x330c1c-_0x424e18,_0x40366a='║'+'\x20'[_0x52e000(0x1b2)](_0x424e18)+_0x55010f+'\x20'['repeat'](_0x1f689f)+'║',_0x48638b=_0x52e000(0x1ca)+_0x40366a+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x2248f9['environment']||_0x965759[_0x52e000(0x1c2)])['padEnd'](0x26)+_0x52e000(0x1e3)+(_0x2248f9['project']||_0x965759['zXBsw'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x2248f9['port']||0xbb8)['padEnd'](0x26)+_0x52e000(0x24c)+(_0x2248f9['configFile']||_0x52e000(0x1ee))[_0x52e000(0x219)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x2248f9[_0x52e000(0x1d5)]?_0x52e000(0x21b):_0x52e000(0x1dc))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x48638b);const _0x530f8a={'event':_0x52e000(0x23d),'project':_0x2248f9[_0x52e000(0x22a)],'port':_0x2248f9[_0x52e000(0x253)],'config':_0x2248f9[_0x52e000(0x25f)],'apiKeyEnabled':!!_0x2248f9[_0x52e000(0x1d5)]};logger['info'](_0x530f8a),_0x965759[_0x52e000(0x1f7)](writeToFileLog,{..._0x530f8a,'level':_0x52e000(0x232),'msg':'Server\x20starting:\x20'+_0x2248f9['project']+_0x52e000(0x256)+_0x2248f9['port'],'time':new Date()['toISOString']()},_0x965759[_0x52e000(0x1d0)]);},logServerReady=_0x1b5032=>{const _0x1fe81c=a0_0x3cd68b,_0x5871f6={'xEgcY':_0x1fe81c(0x232)},_0x20a1b8={'event':'server_ready','port':_0x1b5032[_0x1fe81c(0x253)],'module':_0x1b5032['module'],'healthCheck':_0x1b5032['healthCheck'],'serviceInfo':_0x1b5032[_0x1fe81c(0x25d)],'baseUrl':_0x1b5032[_0x1fe81c(0x25c)]},_0x39ed37=_0x1fe81c(0x24d)+_0x1b5032[_0x1fe81c(0x253)];logger[_0x1fe81c(0x232)](_0x20a1b8,_0x39ed37),writeToFileLog({..._0x20a1b8,'level':'info','msg':_0x39ed37,'time':new Date()[_0x1fe81c(0x214)]()},_0x5871f6['xEgcY']),_0x1b5032['healthCheck']&&logger['info'](_0x1fe81c(0x255)+_0x1b5032['healthCheck']),_0x1b5032['serviceInfo']&&logger[_0x1fe81c(0x232)](_0x1fe81c(0x1f0)+_0x1b5032['serviceInfo']),_0x1b5032['baseUrl']&&logger[_0x1fe81c(0x232)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1b5032['baseUrl']);},logProjectLoaded=(_0x14f2dd,_0x41a6cb)=>{const _0x3adfb4=a0_0x3cd68b,_0x581709={'kBSeN':'project_loaded','bBOMN':'info'},_0x59e255={'event':_0x581709['kBSeN'],'project':_0x14f2dd,'path':_0x41a6cb},_0x397043=_0x3adfb4(0x249)+_0x14f2dd;logger[_0x3adfb4(0x232)](_0x59e255,_0x397043),writeToFileLog({..._0x59e255,'level':_0x581709['bBOMN'],'msg':_0x397043,'time':new Date()[_0x3adfb4(0x214)]()},'info');},logEndpointRegistered=(_0x8f36d3,_0x110011)=>{const _0x528dd8=a0_0x3cd68b,_0x5da945={'eZLou':_0x528dd8(0x1c1)},_0x3866d1={'event':_0x528dd8(0x1d6),'endpoint':_0x8f36d3,'route':_0x110011},_0x4c5b82='\x20\x20→\x20'+_0x8f36d3+':\x20'+_0x110011;logger['debug'](_0x3866d1,_0x4c5b82),writeToFileLog({..._0x3866d1,'level':_0x5da945['eZLou'],'msg':_0x4c5b82,'time':new Date()[_0x528dd8(0x214)]()},_0x5da945[_0x528dd8(0x1d8)]);},logDatabaseConfig=_0x2c3522=>{const _0x3390a3=a0_0x3cd68b,_0x811332={'event':_0x3390a3(0x21e),'host':_0x2c3522['host'],'port':_0x2c3522['port'],'database':_0x2c3522[_0x3390a3(0x1fc)],'type':_0x2c3522['type'],'user':_0x2c3522[_0x3390a3(0x236)]},_0x7a4640=_0x3390a3(0x1b7)+_0x2c3522['type']+'://'+_0x2c3522['host']+':'+_0x2c3522[_0x3390a3(0x253)]+'/'+_0x2c3522[_0x3390a3(0x1fc)];logger[_0x3390a3(0x1c1)](_0x811332,_0x7a4640),writeToFileLog({..._0x811332,'level':'debug','msg':_0x7a4640,'time':new Date()[_0x3390a3(0x214)]()},'debug');},logRequest=(_0x26c4f8,_0x27d40d,_0x429d21)=>{const _0x45ef90=a0_0x3cd68b,_0x43678f={'VNmAe':'http_request','THtAu':function(_0x32bb11,_0x342df2){return _0x32bb11>=_0x342df2;}},_0x3c2ecd={'event':_0x43678f['VNmAe'],'method':_0x26c4f8['method'],'path':_0x26c4f8['path'],'statusCode':_0x27d40d['statusCode'],'durationMs':_0x429d21,'ip':_0x26c4f8['ip']},_0x1adf67=_0x26c4f8['method']+'\x20'+_0x26c4f8['path']+_0x45ef90(0x220)+_0x27d40d['statusCode']+'\x20('+_0x429d21+_0x45ef90(0x1c5);let _0x43e339=_0x45ef90(0x232);if(_0x27d40d[_0x45ef90(0x1bd)]>=0x1f4)_0x43e339='error',logger['error'](_0x3c2ecd,_0x1adf67);else _0x43678f[_0x45ef90(0x1b4)](_0x27d40d['statusCode'],0x190)?(_0x43e339=_0x45ef90(0x1ef),logger['warn'](_0x3c2ecd,_0x1adf67)):logger['info'](_0x3c2ecd,_0x1adf67);writeToFileLog({..._0x3c2ecd,'level':_0x43e339,'msg':_0x1adf67,'time':new Date()[_0x45ef90(0x214)]()},_0x43e339);},SENSITIVE_PARAM_PATTERNS=[a0_0x3cd68b(0x217),'passwd',a0_0x3cd68b(0x22e),a0_0x3cd68b(0x1fa),'access_token','refresh_token',a0_0x3cd68b(0x203),'api_secret',a0_0x3cd68b(0x242),'api_key',a0_0x3cd68b(0x1f1),'credentials',a0_0x3cd68b(0x212),'otp','private_key',a0_0x3cd68b(0x1cb)],redactSensitiveParams=(_0x4700c9,_0x408f86)=>{const _0x18c8ee=a0_0x3cd68b,_0x3e3518={'CLUHv':_0x18c8ee(0x1ba)};if(!_0x4700c9||_0x4700c9['length']===0x0)return _0x4700c9;const _0x428b41=_0x408f86['toLowerCase'](),_0x594ba8=_0x428b41['match'](/\(([^)]+)\)\s*values/i);let _0x28dfb5=[];_0x594ba8&&(_0x28dfb5=_0x594ba8[0x1][_0x18c8ee(0x1c9)](',')['map'](_0x54219c=>_0x54219c['trim']()['toLowerCase']()));const _0x13f2a7=_0x428b41[_0x18c8ee(0x204)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x13f2a7){const _0x5e8b8d=_0x13f2a7[0x1],_0x56b9ee=_0x5e8b8d[_0x18c8ee(0x204)](/(\w+)\s*=/g);_0x56b9ee&&(_0x28dfb5=_0x56b9ee['map'](_0x227022=>_0x227022[_0x18c8ee(0x200)](/\s*=/,'')['trim']()[_0x18c8ee(0x1d1)]()));}return _0x4700c9['map']((_0x11a899,_0x4c5731)=>{const _0x8a5970=_0x18c8ee;if(_0x28dfb5[_0x4c5731]){const _0x3eeaab=_0x28dfb5[_0x4c5731],_0x5e19fb=SENSITIVE_PARAM_PATTERNS['some'](_0x1ea907=>_0x3eeaab[_0x8a5970(0x1ea)](_0x1ea907));if(_0x5e19fb)return _0x8a5970(0x1b0);}if(typeof _0x11a899===_0x8a5970(0x238)&&_0x11a899['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x8a5970(0x202)](_0x11a899)&&_0x11a899['includes']('.'))return _0x3e3518[_0x8a5970(0x21c)];if(/^[a-fA-F0-9]{32,}$/[_0x8a5970(0x202)](_0x11a899))return _0x8a5970(0x1be);}return _0x11a899;});},parseQueryMetadata=_0x148ed8=>{const _0x40e6c7=a0_0x3cd68b,_0x2a1669={'wTHJc':_0x40e6c7(0x1ab),'EaBqt':'SELECT','WzElM':_0x40e6c7(0x1b5),'UFJCW':'BEGIN','FDGPT':_0x40e6c7(0x1f4),'vIUPN':'TRANSACTION_ROLLBACK','qzPhw':_0x40e6c7(0x222),'TlnmA':'DROP','bKcqo':_0x40e6c7(0x218)},_0x1362e4=_0x148ed8[_0x40e6c7(0x1e7)](),_0x2e730b=_0x1362e4['toUpperCase']();let _0x4a74e2=_0x2a1669['wTHJc'],_0x1cfadc=null;if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e4)])){_0x4a74e2=_0x2a1669['EaBqt'];const _0xe33955=_0x1362e4[_0x40e6c7(0x204)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0xe33955?_0xe33955[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x25e)])){_0x4a74e2=_0x2a1669['WzElM'];const _0x575322=_0x1362e4['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x575322?_0x575322[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)](_0x40e6c7(0x234))){_0x4a74e2='UPDATE';const _0x2c7b93=_0x1362e4['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x2c7b93?_0x2c7b93[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)]('DELETE')){_0x4a74e2=_0x40e6c7(0x22c);const _0x5383be=_0x1362e4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x5383be?_0x5383be[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e6)])||_0x2e730b[_0x40e6c7(0x246)]('START\x20TRANSACTION'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x207)];else{if(_0x2e730b['startsWith']('COMMIT'))_0x4a74e2='TRANSACTION_COMMIT';else{if(_0x2e730b['startsWith']('ROLLBACK'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x1b1)];else{if(_0x2e730b['startsWith']('CREATE'))_0x4a74e2='DDL_CREATE';else{if(_0x2e730b[_0x40e6c7(0x246)](_0x2a1669[_0x40e6c7(0x23b)]))_0x4a74e2='DDL_ALTER';else _0x2e730b['startsWith'](_0x2a1669['TlnmA'])&&(_0x4a74e2=_0x2a1669['bKcqo']);}}}}}}}}return{'type':_0x4a74e2,'table':_0x1cfadc};},startQueryTimer=()=>{const _0x2b9151=a0_0x3cd68b,_0x29035e={'igrLU':function(_0x317d9b,_0x1b3416){return _0x317d9b(_0x1b3416);},'XznFV':function(_0x34da8a,_0x2ba491){return _0x34da8a/_0x2ba491;}},_0x4ec1dd=process[_0x2b9151(0x20e)]();return()=>{const _0x3ed030=_0x2b9151,[_0x12bf7d,_0x57bae3]=process[_0x3ed030(0x20e)](_0x4ec1dd);return _0x29035e[_0x3ed030(0x25b)](parseFloat,(_0x12bf7d*0x3e8+_0x29035e[_0x3ed030(0x1c0)](_0x57bae3,0xf4240))['toFixed'](0x2));};},logQuery=(_0x2c26b5,_0x476e48=[],_0x1432db={})=>{const _0x3ea501=a0_0x3cd68b,_0x5cf3eb={'bQreN':'db_query','PPgFi':function(_0x4516e7,_0x2de93a){return _0x4516e7>_0x2de93a;},'kPosV':function(_0x4b3291,_0x2bc557,_0x415487){return _0x4b3291(_0x2bc557,_0x415487);},'WBKRh':function(_0x389fef,_0x52c9ac){return _0x389fef!==_0x52c9ac;},'XGDVG':_0x3ea501(0x1ec),'kFYew':'warn','Fwujd':function(_0xbd5957,_0x59b332){return _0xbd5957===_0x59b332;}};if(!sqlLogEnabled){logger['debug']({'event':_0x5cf3eb[_0x3ea501(0x21f)],'query':_0x2c26b5[_0x3ea501(0x208)](0x0,0xc8),'paramCount':_0x476e48[_0x3ea501(0x20c)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3ea501(0x251)}=_0x1432db,{type:_0x146edf,table:_0x1833be}=parseQueryMetadata(_0x2c26b5),_0x10658f={'event':'sql_query','queryType':_0x146edf,'table':_0x1833be,'query':_0x2c26b5,'paramCount':_0x476e48[_0x3ea501(0x20c)],'dbType':dbType};sqlLogParams&&_0x5cf3eb[_0x3ea501(0x24e)](_0x476e48['length'],0x0)&&(_0x10658f[_0x3ea501(0x1eb)]=_0x5cf3eb['kPosV'](redactSensitiveParams,_0x476e48,_0x2c26b5));duration!==null&&(_0x10658f['durationMs']=duration,_0x10658f[_0x3ea501(0x22d)]=_0x5cf3eb[_0x3ea501(0x24e)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x10658f['rowsAffected']=rowsAffected);const _0x17ef74=_0x1833be||'unknown';let _0x489858='['+_0x146edf+']\x20'+_0x17ef74;_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&(_0x489858+='\x20('+duration+_0x3ea501(0x1c5));const _0x598e38=_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&duration>sqlLogSlowThreshold;let _0x45137e='debug';if(_0x598e38)_0x489858+=_0x5cf3eb[_0x3ea501(0x240)],_0x45137e=_0x5cf3eb[_0x3ea501(0x226)],logger[_0x3ea501(0x1ef)](_0x10658f,_0x489858);else _0x5cf3eb['Fwujd'](sqlLogLevel,_0x3ea501(0x232))?(_0x45137e='info',logger['info'](_0x10658f,_0x489858)):logger[_0x3ea501(0x1c1)](_0x10658f,_0x489858);_0x5cf3eb['kPosV'](writeToFileLog,{..._0x10658f,'level':_0x45137e,'msg':_0x489858,'time':new Date()['toISOString']()},_0x45137e);},logTransaction=(_0x2e69da,_0x128d8d)=>{const _0x482c25=a0_0x3cd68b,_0xaff238={'yFKnC':function(_0xb38885,_0x31c35e,_0x550204){return _0xb38885(_0x31c35e,_0x550204);},'cmfUw':_0x482c25(0x1c1)},_0xdc6e6b={'event':_0x482c25(0x1fd),'status':_0x2e69da,'queryCount':_0x128d8d},_0x19ca80='Transaction\x20'+_0x2e69da;logger[_0x482c25(0x1c1)](_0xdc6e6b,_0x19ca80),_0xaff238[_0x482c25(0x221)](writeToFileLog,{..._0xdc6e6b,'level':_0xaff238['cmfUw'],'msg':_0x19ca80,'time':new Date()[_0x482c25(0x214)]()},_0x482c25(0x1c1));},redactObject=_0x297575=>{const _0x2e4e5c=a0_0x3cd68b,_0x4b9c20={'KurCn':_0x2e4e5c(0x210),'gWVrd':'password','ipepy':_0x2e4e5c(0x1fa),'fSptg':_0x2e4e5c(0x203),'NUgkM':'apikey','ntngC':_0x2e4e5c(0x1e5),'NJjsB':'credit_card','kGjRF':_0x2e4e5c(0x1aa),'moGey':'ssn','yVgjw':'access_token','NvrTM':function(_0x277d1d,_0x741f65){return _0x277d1d===_0x741f65;},'xFheA':function(_0x55741b,_0x31a675){return _0x55741b(_0x31a675);}};if(!_0x297575||typeof _0x297575!==_0x4b9c20['KurCn'])return _0x297575;const _0x102d0b=[_0x4b9c20['gWVrd'],_0x2e4e5c(0x1cd),'pwd',_0x4b9c20['ipepy'],_0x4b9c20['fSptg'],_0x4b9c20[_0x2e4e5c(0x1c3)],'api_key',_0x2e4e5c(0x257),_0x4b9c20[_0x2e4e5c(0x22b)],_0x4b9c20[_0x2e4e5c(0x211)],_0x4b9c20[_0x2e4e5c(0x1b9)],_0x4b9c20['moGey'],'pin',_0x2e4e5c(0x231),'privatekey',_0x2e4e5c(0x201),_0x4b9c20['yVgjw']],_0x581397=Array['isArray'](_0x297575)?[..._0x297575]:{..._0x297575};for(const _0x33ea9 of Object[_0x2e4e5c(0x244)](_0x581397)){const _0x1dad2f=_0x33ea9['toLowerCase']();if(_0x102d0b[_0x2e4e5c(0x24b)](_0x3755c3=>_0x1dad2f[_0x2e4e5c(0x1ea)](_0x3755c3)))_0x581397[_0x33ea9]=_0x2e4e5c(0x1b0);else _0x4b9c20['NvrTM'](typeof _0x581397[_0x33ea9],_0x4b9c20[_0x2e4e5c(0x1f3)])&&_0x581397[_0x33ea9]!==null&&(_0x581397[_0x33ea9]=_0x4b9c20[_0x2e4e5c(0x1cc)](redactObject,_0x581397[_0x33ea9]));}return _0x581397;},logError=(_0x5e5900,_0xd4c74f={},_0x46ec67=null)=>{const _0x1f398b=a0_0x3cd68b,_0x347259={'jBcEY':'Error','hsnyu':'error'},_0x15a068={'event':'error','errorName':_0x5e5900[_0x1f398b(0x235)]||_0x347259['jBcEY'],'errorMessage':_0x5e5900['message'],'errorCode':_0x5e5900[_0x1f398b(0x223)]||null,'stack':_0x5e5900['stack'],..._0xd4c74f},_0x7d9bbe=_0x46ec67||'Error:\x20'+_0x5e5900[_0x1f398b(0x227)];logger[_0x1f398b(0x1c8)](_0x15a068,_0x7d9bbe),writeToFileLog({..._0x15a068,'level':_0x347259[_0x1f398b(0x20d)],'msg':_0x7d9bbe,'time':new Date()[_0x1f398b(0x214)]()},'error');},logFatalError=(_0x58f17e,_0x1c85f1={},_0x1d0e6e=null)=>{const _0x436615=a0_0x3cd68b,_0x34a261={'VYoGR':'fatal_error','KLWwe':'Error','OFsoD':'CRITICAL','RzuNk':function(_0x1728d6,_0x28a38a,_0x3ceeeb){return _0x1728d6(_0x28a38a,_0x3ceeeb);},'mmGQQ':_0x436615(0x1af)},_0x143da2={'event':_0x34a261[_0x436615(0x24a)],'errorName':_0x58f17e['name']||_0x34a261[_0x436615(0x260)],'errorMessage':_0x58f17e['message'],'errorCode':_0x58f17e['code']||null,'stack':_0x58f17e['stack'],'severity':_0x34a261['OFsoD'],..._0x1c85f1},_0x28d3de=_0x1d0e6e||_0x436615(0x1e1)+_0x58f17e[_0x436615(0x227)];logger['fatal'](_0x143da2,_0x28d3de),_0x34a261['RzuNk'](writeToFileLog,{..._0x143da2,'level':_0x34a261['mmGQQ'],'msg':_0x28d3de,'time':new Date()['toISOString']()},_0x436615(0x1c8));},logHttpError=(_0xc44db4,_0xbb0b,_0x717f6d={})=>{const _0x3c3d9a=a0_0x3cd68b,_0x7e3096={'HxSXD':_0x3c3d9a(0x1e8),'dnqcB':function(_0x5a1b37,_0x3d390f){return _0x5a1b37(_0x3d390f);},'uXZcy':function(_0x2d2e1d,_0xdab222,_0x228f7a){return _0x2d2e1d(_0xdab222,_0x228f7a);},'smxsL':function(_0x56f30b,_0x41a8a4){return _0x56f30b>=_0x41a8a4;},'vNOst':'error','fpMhk':'warn'},_0x20ea2e={'event':'http_error','errorName':_0xc44db4['name']||_0x7e3096['HxSXD'],'errorMessage':_0xc44db4[_0x3c3d9a(0x227)],'errorCode':_0xc44db4['code']||_0xc44db4[_0x3c3d9a(0x1bd)]||0x1f4,'stack':_0xc44db4[_0x3c3d9a(0x1df)],'method':_0xbb0b?.['method'],'url':_0xbb0b?.['url']||_0xbb0b?.['originalUrl'],'path':_0xbb0b?.[_0x3c3d9a(0x1e9)],'ip':_0xbb0b?.['ip']||_0xbb0b?.['connection']?.[_0x3c3d9a(0x1d2)],'userAgent':_0xbb0b?.['get']?.('user-agent'),'requestId':_0xbb0b?.['id']||_0xbb0b?.['headers']?.[_0x3c3d9a(0x206)],'body':_0xbb0b?.[_0x3c3d9a(0x1dd)]?_0x7e3096['dnqcB'](redactObject,_0xbb0b['body']):undefined,'query':_0xbb0b?.[_0x3c3d9a(0x1ac)],..._0x717f6d},_0x2423f4=_0xc44db4[_0x3c3d9a(0x1bd)]||_0xc44db4[_0x3c3d9a(0x1db)]||0x1f4,_0x22f8f7=_0x3c3d9a(0x209)+_0x2423f4+':\x20'+_0xc44db4['message'];_0x2423f4>=0x1f4?logger['error'](_0x20ea2e,_0x22f8f7):logger['warn'](_0x20ea2e,_0x22f8f7),_0x7e3096['uXZcy'](writeToFileLog,{..._0x20ea2e,'level':_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x3c3d9a(0x1ef),'msg':_0x22f8f7,'time':new Date()[_0x3c3d9a(0x214)]()},_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x7e3096['fpMhk']);},logUncaughtError=(_0x476892,_0x320b5b)=>{const _0x3242f3=a0_0x3cd68b,_0x13348d={'FjISY':function(_0x567067,_0x36df84){return _0x567067(_0x36df84);},'UZWWD':_0x3242f3(0x225),'kiSnF':function(_0x44af78,_0x2210da,_0x44e83b){return _0x44af78(_0x2210da,_0x44e83b);},'jrHMm':'fatal','dCItm':_0x3242f3(0x1c8)},_0x13389a={'event':_0x476892,'errorName':_0x320b5b?.[_0x3242f3(0x235)]||'Error','errorMessage':_0x320b5b?.[_0x3242f3(0x227)]||_0x13348d['FjISY'](String,_0x320b5b),'errorCode':_0x320b5b?.[_0x3242f3(0x223)]||null,'stack':_0x320b5b?.['stack'],'severity':_0x13348d['UZWWD'],'processId':process[_0x3242f3(0x1ed)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x1279dd='['+_0x476892[_0x3242f3(0x205)]()+']\x20'+(_0x320b5b?.[_0x3242f3(0x227)]||_0x320b5b);logger[_0x3242f3(0x1af)](_0x13389a,_0x1279dd),_0x13348d['kiSnF'](writeToFileLog,{..._0x13389a,'level':_0x13348d['jrHMm'],'msg':_0x1279dd,'time':new Date()['toISOString']()},_0x13348d['dCItm']);},setupGlobalErrorHandlers=()=>{const _0x4d0f56=a0_0x3cd68b,_0x94afc0={'AZlmn':'uncaughtException','vUPWU':function(_0x4fcc2b,_0x16e8ac,_0x5d52ee){return _0x4fcc2b(_0x16e8ac,_0x5d52ee);},'okqkP':function(_0x5cde78,_0x1760ef){return _0x5cde78 instanceof _0x1760ef;},'eGTSJ':function(_0x1e6164,_0x2afa26){return _0x1e6164(_0x2afa26);},'ZDgFI':'unhandledRejection','dTcdS':'warning','otvxr':'global_error_handlers_setup'};process['on']('uncaughtException',_0x437803=>{const _0x3135ac=a0_0x451c;logUncaughtError(_0x94afc0[_0x3135ac(0x241)],_0x437803),_0x94afc0[_0x3135ac(0x25a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x94afc0['ZDgFI'],(_0x397889,_0x2a60cc)=>{const _0x5d19ec=a0_0x451c,_0x2528c6=_0x94afc0['okqkP'](_0x397889,Error)?_0x397889:new Error(_0x94afc0['eGTSJ'](String,_0x397889));logUncaughtError(_0x5d19ec(0x23c),_0x2528c6);}),process['on'](_0x94afc0['dTcdS'],_0x45c477=>{const _0x4e4ec7=a0_0x451c;logger['warn']({'event':_0x4e4ec7(0x20f),'name':_0x45c477[_0x4e4ec7(0x235)],'message':_0x45c477[_0x4e4ec7(0x227)],'stack':_0x45c477['stack']},'Process\x20Warning:\x20'+_0x45c477[_0x4e4ec7(0x227)]);});const _0x59c348={'event':_0x94afc0['otvxr']},_0x350634='Global\x20error\x20handlers\x20initialized';logger[_0x4d0f56(0x232)](_0x59c348,_0x350634),writeToFileLog({..._0x59c348,'level':'info','msg':_0x350634,'time':new Date()['toISOString']()},_0x4d0f56(0x232));},createErrorHandlerMiddleware=()=>{const _0x11bccb={'evlhT':'x-request-id'};return(_0x14b17f,_0x121691,_0x24745c,_0x332587)=>{const _0x1138d8=a0_0x451c;logHttpError(_0x14b17f,_0x121691);const _0x4afd10=_0x14b17f[_0x1138d8(0x1bd)]||_0x14b17f['status']||0x1f4;_0x24745c[_0x1138d8(0x1db)](_0x4afd10)[_0x1138d8(0x23e)]({'success':![],'error':_0x4afd10>=0x1f4?_0x1138d8(0x1a9):_0x14b17f['message'],'requestId':_0x121691['id']||_0x121691[_0x1138d8(0x213)]?.[_0x11bccb['evlhT']]||null});};};module[a0_0x3cd68b(0x1f6)]={'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_0x2fb9cc=a0_0x23ee;(function(_0x2f2f76,_0x413609){const _0x21d579=a0_0x23ee,_0x4ea338=_0x2f2f76();while(!![]){try{const _0x10378e=parseInt(_0x21d579(0x11d))/0x1*(-parseInt(_0x21d579(0xdd))/0x2)+parseInt(_0x21d579(0xc7))/0x3*(parseInt(_0x21d579(0xe7))/0x4)+parseInt(_0x21d579(0xf8))/0x5+-parseInt(_0x21d579(0x143))/0x6*(-parseInt(_0x21d579(0xf4))/0x7)+-parseInt(_0x21d579(0x175))/0x8+parseInt(_0x21d579(0x124))/0x9*(-parseInt(_0x21d579(0xdf))/0xa)+parseInt(_0x21d579(0x173))/0xb;if(_0x10378e===_0x413609)break;else _0x4ea338['push'](_0x4ea338['shift']());}catch(_0x197410){_0x4ea338['push'](_0x4ea338['shift']());}}}(a0_0x2e48,0x3c11c));const pino=require(a0_0x2fb9cc(0xfd)),fs=require('fs'),path=require(a0_0x2fb9cc(0xee));function a0_0x23ee(_0x2ed2f2,_0x2b1350){_0x2ed2f2=_0x2ed2f2-0xc4;const _0x2e4824=a0_0x2e48();let _0x23ee5e=_0x2e4824[_0x2ed2f2];if(a0_0x23ee['NhhkHA']===undefined){var _0x2c4b4a=function(_0x588202){const _0x529415='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fc7c7='',_0x5613fe='';for(let _0x1e16c3=0x0,_0x3b9b9d,_0x82dcd,_0x370947=0x0;_0x82dcd=_0x588202['charAt'](_0x370947++);~_0x82dcd&&(_0x3b9b9d=_0x1e16c3%0x4?_0x3b9b9d*0x40+_0x82dcd:_0x82dcd,_0x1e16c3++%0x4)?_0x3fc7c7+=String['fromCharCode'](0xff&_0x3b9b9d>>(-0x2*_0x1e16c3&0x6)):0x0){_0x82dcd=_0x529415['indexOf'](_0x82dcd);}for(let _0x164b8e=0x0,_0x163a59=_0x3fc7c7['length'];_0x164b8e<_0x163a59;_0x164b8e++){_0x5613fe+='%'+('00'+_0x3fc7c7['charCodeAt'](_0x164b8e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5613fe);};a0_0x23ee['NVsJsf']=_0x2c4b4a,a0_0x23ee['ZQqWZX']={},a0_0x23ee['NhhkHA']=!![];}const _0xa13bc3=_0x2e4824[0x0],_0x429708=_0x2ed2f2+_0xa13bc3,_0x90b8c4=a0_0x23ee['ZQqWZX'][_0x429708];return!_0x90b8c4?(_0x23ee5e=a0_0x23ee['NVsJsf'](_0x23ee5e),a0_0x23ee['ZQqWZX'][_0x429708]=_0x23ee5e):_0x23ee5e=_0x90b8c4,_0x23ee5e;}function a0_0x2e48(){const _0x398a00=['C3rHDhvZq29Kzq','iokvKqRILzeGiefqssblzxKGicaGidOG','vffOELi','zw52','y29Kzq','DxHVrwm','sLDux1nfq1jfva','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3jLzgvUDgLHBa','CMvZB2X2zq','y3z2','v251zhi','C3vIC3rYAw5N','te9hx1rpx0zjteu','yNDqBKq','u1fmx0Xpr19mrvzfta','reiGuxvLCNK','te9hx0XfvKvm','CgLU','ugDuv3q','qunusvzf','zLD3B0K','zgjFCxvLCNK','icbizwfSDgG6ia','y29UzMLNrMLSzq','EKrKD1G','u0vmrunu','B3jPz2LUywXvCMW','nLfXz2HYAG','AxnVvgLTzq','yxv0Ag9YAxPHDgLVBG','q1jjveLdquW','y0TKBNi','yMfZzvvYBa','yLjTuKW','AxnbCNjHEq','rwfxqLm','sg5VvLO','u0vsvKLdrv9oqu1f','wwz0CvC','CM93C0fMzMvJDgvK','vfjbtLnbq1rjt05Fq09ntuLu','iokvKqRILzeGienVBMzPzYaGicaGidOG','BwvZC2fNzq','y29UBMvJDgLVBG','BK5JBhy','wxf2wKG','Dg9mB3DLCKnHC2u','zw52AxjVBM1LBNq','C29Tzq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','wNHtq1e','u1rbuLqGvfjbtLnbq1rjt04','DvP0wfy','B3rW','yxbPx2TLEq','v2jjy1e','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zxjY','CxnsChO','zxjYB3i','CMvZDgzVCMDL','tuLny28','qKvhsu4','BwfW','zMfSC2u','zxjYB3iUBg9N','zgf0ywjHC2u','w1jfrefdvevexq','Dg9ju09tDhjPBMC','Ec1Yzxf1zxn0lwLK','BhrivMK','rermx0rst1a','ChjPDMf0zv9RzxK','CMvMCMvZAf90B2TLBG','DLniAxG','ntKYmZq2n05svgDfwq','u1LtoKHioK1noNnZ','mZa2mJu2AgjZyvf1','qvf4zgm','Aw5JBhvKzxm','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','wgrAD1u','DhLWzq','zMf0ywW','icdIHPiG','vNvZAwK','C3rHCNrZv2L0Aa','C3rHy2S','Cg9YDa','vKvsq0O','odfiB1v1svu','Bwf0y2G','uuPLDMG','C3fSx3f1zxj5','sMLJyKG','ms4WlJu','tKDitw4','Dffozem','z3v5D3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tK9uiefdveLwrq','DhjPBq','Bhbkv2y','zxHWB3j0CW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','y3DK','ig9UihbVCNqG','Aw5MBW','w1jfrefdveveoMHHC2HD','r2r3qLm','AxntBg93','ugzyz1K','mM9NwNHzAa','wKjfu3K','mZbkB1jkqvG','C2vYDMvYx3jLywr5','r2z6y2C','C2vJCMv0','yMnmsLa','DgvZDa','Ahj0Aw1L','te9hx0rjuG','ndKXodHgBuvJqLO','z2v0sgvHzgvYCW','BwTKAxjtEw5J','rgvMyxvSDa','C2vYDMLJzuLUzM8','Dxb0Aw1L','vunUqxO','Cgf0Aa','Dg9vChbLCKnHC2u','vfjbtLnbq1rjt05FuK9mtejbq0S','AM9PBG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','mta3nJm5t3rUuxrq','ChjPDMf0zwTLEq','rxjYB3i','uK9mtejbq0S','mJa3odu1txfSt2vu','Bwv0Ag9K','CgfZC3DVCMq','AhHTr0e','AgvHBhrOq2HLy2S','CgLUBW','CgfKrw5K','zhzoyKq','u1reruW','Ag9ZDa','v1DmCxK','uhjVy2vZCYbxyxjUAw5NoIa','yxbPs2v5','BfjUz0O','ywnJzxnZx3rVA2vU','quXurvi','DxnLCI1Hz2vUDa','ic0G','u1fJyM0','z21cu2y','zgvIDwC','revmrvrf','CMvWzwf0','ChjVy2vZC193yxjUAw5N','zgjFDhjHBNnHy3rPB24','BMfTzq','yxbWlMXVzW','C2vYDMvYx3n0yxj0Aw5N','yM9KEq','CMvWBgfJzq','tI9b','icbjBMzVoIaGia','u2vYDMvYihn0yxj0Aw5NoIa','D3jPDgu','B2jQzwn0','r3bAq20','swn6qu8','mZK1ndyXzM5vqurz','z3bAyw8','y3jLyxrLv3jPDgvtDhjLyw0','y2HPBgq','D2fYBG','zw5KCg9PBNrFCMvNAxn0zxjLza','zLbvse8','nZqZmdmXs2PQAujY','yxbPA2v5','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia'];a0_0x2e48=function(){return _0x398a00;};return a0_0x2e48();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2fb9cc(0x174),'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':a0_0x2fb9cc(0xd5),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process['env'][a0_0x2fb9cc(0x138)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x2fb9cc(0x164),'version':process['env']['APP_VERSION']||a0_0x2fb9cc(0xcc),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x2fb9cc(0x144)],'redact':{'paths':[a0_0x2fb9cc(0x159),a0_0x2fb9cc(0x178),a0_0x2fb9cc(0xfa),'token',a0_0x2fb9cc(0x104),'DB_PASSWORD',a0_0x2fb9cc(0x12d)],'censor':a0_0x2fb9cc(0x16b)},'serializers':{'req':_0x338611=>({'id':_0x338611['id'],'method':_0x338611['method'],'url':_0x338611['url'],'path':_0x338611[a0_0x2fb9cc(0xee)],'remoteAddress':_0x338611['ip']||_0x338611[a0_0x2fb9cc(0x153)]?.['remoteAddress']}),'res':_0x545b63=>({'statusCode':_0x545b63[a0_0x2fb9cc(0x127)],'headers':_0x545b63[a0_0x2fb9cc(0xe8)]?.()}),'err':pino['stdSerializers'][a0_0x2fb9cc(0x161)]}});function initFileLogging(){const _0x2a81fb=a0_0x2fb9cc,_0x513d42={'ixCNz':'true','zDdwX':'default','mhFDf':_0x2a81fb(0x10c),'PgTWt':_0x2a81fb(0x168),'fKrun':_0x2a81fb(0x112),'GpZCm':_0x2a81fb(0x169),'IczAO':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x2a81fb(0x12a)][_0x2a81fb(0x134)]===_0x513d42['ixCNz'];const _0x2ccd52=process['env'][_0x2a81fb(0xd0)]||_0x513d42[_0x2a81fb(0x140)];logDir=process[_0x2a81fb(0x12a)][_0x2a81fb(0xe6)]||'./logs/'+_0x2ccd52,serviceName=process[_0x2a81fb(0x12a)][_0x2a81fb(0x14d)]||'restforge',sqlLogEnabled=process[_0x2a81fb(0x12a)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process[_0x2a81fb(0x12a)][_0x2a81fb(0x136)]||_0x513d42['mhFDf'],sqlLogParams=process[_0x2a81fb(0x12a)]['SQL_LOG_PARAMS']!==_0x513d42[_0x2a81fb(0x13a)],sqlLogSlowThreshold=parseInt(process[_0x2a81fb(0x12a)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x17e3e0=path[_0x2a81fb(0x130)](process[_0x2a81fb(0xd6)](),logDir);try{!fs['existsSync'](_0x17e3e0)&&fs[_0x2a81fb(0xe9)](_0x17e3e0,{'recursive':!![]});}catch(_0x40ffd2){console[_0x2a81fb(0x163)](_0x2a81fb(0x126)+_0x17e3e0+':',_0x40ffd2[_0x2a81fb(0x152)]),fileLoggingInitialized=!![];return;}const _0x1a1735=path[_0x2a81fb(0xf1)](_0x17e3e0,_0x513d42['fKrun']),_0x2b2557=path['join'](_0x17e3e0,_0x513d42[_0x2a81fb(0x11b)]);try{appLogStream=fs[_0x2a81fb(0x11f)](_0x1a1735,{'flags':'a'}),errorLogStream=fs[_0x2a81fb(0x11f)](_0x2b2557,{'flags':'a'}),fileLoggingInitialized=!![];const _0x50a186={'event':'file_logging_enabled','logDir':_0x17e3e0,'files':['app.log','error.log']},_0x2b536d=_0x2a81fb(0xf3)+_0x17e3e0;logger['info'](_0x50a186,_0x2b536d),writeToFileLog({..._0x50a186,'level':_0x513d42[_0x2a81fb(0x11c)],'msg':_0x2b536d,'time':new Date()[_0x2a81fb(0x16c)]()},'info');}catch(_0x1f216a){console[_0x2a81fb(0x163)]('Failed\x20to\x20create\x20log\x20streams:',_0x1f216a[_0x2a81fb(0x152)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x36edf1,_0x405e37){const _0x2f9bbc=a0_0x2fb9cc,_0x354be6={'oVTAH':function(_0x3089fe,_0x4eb241){return _0x3089fe===_0x4eb241;}};if(!logToFile||!appLogStream)return;const _0x16005f={'service':serviceName,..._0x36edf1},_0x58c5ba=JSON['stringify'](_0x16005f)+'\x0a';appLogStream[_0x2f9bbc(0x119)](_0x58c5ba),(_0x354be6['oVTAH'](_0x405e37,_0x2f9bbc(0x163))||_0x354be6['oVTAH'](_0x405e37,'fatal'))&&(errorLogStream&&errorLogStream['write'](_0x58c5ba));}const createRequestLogger=(_0x1627d1={})=>{const _0x2c06f7=a0_0x2fb9cc;return logger[_0x2c06f7(0x120)](_0x1627d1);},logServerStart=_0x533613=>{const _0x4da7c0=a0_0x2fb9cc,_0x4c94c1={'SEMbx':_0x4da7c0(0x160),'ZBESy':function(_0x29290e,_0x11c226){return _0x29290e-_0x11c226;},'zPcZh':'Node.js','GBsju':_0x4da7c0(0x116),'NLZwU':function(_0x101d39,_0x11dbfc){return _0x101d39(_0x11dbfc);},'VERCJ':_0x4da7c0(0xea),'KTPZr':_0x4da7c0(0x113),'BXMNq':function(_0x3819e9,_0x490659,_0x4f47f5){return _0x3819e9(_0x490659,_0x4f47f5);},'hgEJz':'info'},_0x20fe3c=_0x4c94c1['SEMbx'],_0x57ad0a=Math['max'](0x0,0x37-_0x20fe3c['length']),_0x47fe69=Math['floor'](_0x57ad0a/0x2),_0x16dfcd=_0x4c94c1[_0x4da7c0(0xde)](_0x57ad0a,_0x47fe69),_0x221183='║'+'\x20'[_0x4da7c0(0x10e)](_0x47fe69)+_0x20fe3c+'\x20'[_0x4da7c0(0x10e)](_0x16dfcd)+'║',_0x579f86='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x221183+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x533613[_0x4da7c0(0x157)]||_0x4c94c1['zPcZh'])['padEnd'](0x26)+_0x4da7c0(0xf2)+(_0x533613['project']||_0x4c94c1['GBsju'])[_0x4da7c0(0xfe)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4c94c1['NLZwU'](String,_0x533613[_0x4da7c0(0xc5)]||0xbb8)['padEnd'](0x26)+_0x4da7c0(0x151)+(_0x533613['configFile']||_0x4c94c1[_0x4da7c0(0xc6)])['padEnd'](0x26)+_0x4da7c0(0x128)+(_0x533613[_0x4da7c0(0x104)]?_0x4da7c0(0x13b):_0x4da7c0(0xd1))[_0x4da7c0(0xfe)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x579f86);const _0x597c28={'event':_0x4c94c1['KTPZr'],'project':_0x533613['project'],'port':_0x533613['port'],'config':_0x533613[_0x4da7c0(0x13f)],'apiKeyEnabled':!!_0x533613[_0x4da7c0(0x104)]};logger['info'](_0x597c28),_0x4c94c1['BXMNq'](writeToFileLog,{..._0x597c28,'level':_0x4c94c1['hgEJz'],'msg':_0x4da7c0(0x118)+_0x533613['project']+_0x4da7c0(0xd7)+_0x533613[_0x4da7c0(0xc5)],'time':new Date()[_0x4da7c0(0x16c)]()},_0x4da7c0(0xd8));},logServerReady=_0x2a706c=>{const _0x53b7a1=a0_0x2fb9cc,_0x31426d={'hxmGA':_0x53b7a1(0xe0),'guywr':'info'},_0x44f1d2={'event':_0x31426d[_0x53b7a1(0xfb)],'port':_0x2a706c['port'],'module':_0x2a706c['module'],'healthCheck':_0x2a706c[_0x53b7a1(0xfc)],'serviceInfo':_0x2a706c[_0x53b7a1(0xeb)],'baseUrl':_0x2a706c[_0x53b7a1(0x148)]},_0x2cb9b8='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2a706c[_0x53b7a1(0xc5)];logger['info'](_0x44f1d2,_0x2cb9b8),writeToFileLog({..._0x44f1d2,'level':_0x31426d['guywr'],'msg':_0x2cb9b8,'time':new Date()['toISOString']()},_0x31426d[_0x53b7a1(0xcf)]),_0x2a706c['healthCheck']&&logger['info'](_0x53b7a1(0x13e)+_0x2a706c[_0x53b7a1(0xfc)]),_0x2a706c['serviceInfo']&&logger[_0x53b7a1(0xd8)](_0x53b7a1(0x117)+_0x2a706c[_0x53b7a1(0xeb)]),_0x2a706c[_0x53b7a1(0x148)]&&logger[_0x53b7a1(0xd8)]('\x20\x20URL:\x20\x20\x20\x20'+_0x2a706c[_0x53b7a1(0x148)]);},logProjectLoaded=(_0x53f753,_0x86c697)=>{const _0x1ec7cb=a0_0x2fb9cc,_0x584c2d={'YqvZH':'project_loaded'},_0x2f47eb={'event':_0x584c2d[_0x1ec7cb(0x155)],'project':_0x53f753,'path':_0x86c697},_0xfe7487='[OK]\x20Project\x20loaded:\x20'+_0x53f753;logger[_0x1ec7cb(0xd8)](_0x2f47eb,_0xfe7487),writeToFileLog({..._0x2f47eb,'level':_0x1ec7cb(0xd8),'msg':_0xfe7487,'time':new Date()[_0x1ec7cb(0x16c)]()},'info');},logEndpointRegistered=(_0x45bca7,_0x12358b)=>{const _0x59ab79=a0_0x2fb9cc,_0x281a26={'gpZao':'debug'},_0x14e484={'event':_0x59ab79(0x122),'endpoint':_0x45bca7,'route':_0x12358b},_0x446446=_0x59ab79(0x17c)+_0x45bca7+':\x20'+_0x12358b;logger[_0x59ab79(0x10c)](_0x14e484,_0x446446),writeToFileLog({..._0x14e484,'level':_0x281a26[_0x59ab79(0x11e)],'msg':_0x446446,'time':new Date()[_0x59ab79(0x16c)]()},_0x281a26[_0x59ab79(0x11e)]);},logDatabaseConfig=_0x1b59d0=>{const _0x328c84=a0_0x2fb9cc,_0x3f84fa={'AQxdc':'database_config','bKaCm':function(_0x17d614,_0x5c5ca0,_0x4fe229){return _0x17d614(_0x5c5ca0,_0x4fe229);},'bwPnD':_0x328c84(0x10c)},_0x1aaa67={'event':_0x3f84fa[_0x328c84(0x176)],'host':_0x1b59d0[_0x328c84(0x101)],'port':_0x1b59d0['port'],'database':_0x1b59d0[_0x328c84(0x16a)],'type':_0x1b59d0[_0x328c84(0x17a)],'user':_0x1b59d0['user']},_0x1c307e='Database:\x20'+_0x1b59d0['type']+'://'+_0x1b59d0[_0x328c84(0x101)]+':'+_0x1b59d0['port']+'/'+_0x1b59d0[_0x328c84(0x16a)];logger[_0x328c84(0x10c)](_0x1aaa67,_0x1c307e),_0x3f84fa['bKaCm'](writeToFileLog,{..._0x1aaa67,'level':_0x3f84fa[_0x328c84(0x135)],'msg':_0x1c307e,'time':new Date()['toISOString']()},_0x328c84(0x10c));},logRequest=(_0x103d9d,_0x292ec2,_0x526803)=>{const _0x105006=a0_0x2fb9cc,_0x3bb029={'uxoEc':_0x105006(0xd8),'HnoVZ':function(_0x538e1c,_0x5769d8){return _0x538e1c>=_0x5769d8;},'rLIBW':_0x105006(0x121)},_0xa8780f={'event':'http_request','method':_0x103d9d[_0x105006(0xf9)],'path':_0x103d9d[_0x105006(0xee)],'statusCode':_0x292ec2['statusCode'],'durationMs':_0x526803,'ip':_0x103d9d['ip']},_0x13c971=_0x103d9d['method']+'\x20'+_0x103d9d[_0x105006(0xee)]+_0x105006(0x109)+_0x292ec2['statusCode']+'\x20('+_0x526803+'ms)';let _0xe2022b=_0x3bb029[_0x105006(0x12c)];if(_0x3bb029[_0x105006(0x14c)](_0x292ec2['statusCode'],0x1f4))_0xe2022b='error',logger[_0x105006(0x163)](_0xa8780f,_0x13c971);else _0x3bb029[_0x105006(0x14c)](_0x292ec2[_0x105006(0x127)],0x190)?(_0xe2022b=_0x3bb029['rLIBW'],logger[_0x105006(0x121)](_0xa8780f,_0x13c971)):logger['info'](_0xa8780f,_0x13c971);writeToFileLog({..._0xa8780f,'level':_0xe2022b,'msg':_0x13c971,'time':new Date()['toISOString']()},_0xe2022b);},SENSITIVE_PARAM_PATTERNS=[a0_0x2fb9cc(0xfa),'passwd','pwd','token','access_token',a0_0x2fb9cc(0x171),'secret','api_secret','apikey','api_key',a0_0x2fb9cc(0x12f),'credentials',a0_0x2fb9cc(0x139),a0_0x2fb9cc(0x15d),a0_0x2fb9cc(0x170),a0_0x2fb9cc(0xf5)],redactSensitiveParams=(_0x903ae9,_0x46626b)=>{const _0x23a8d2=a0_0x2fb9cc,_0x580341={'AzgKR':function(_0x3bd9da,_0x48fe36){return _0x3bd9da===_0x48fe36;},'bcLJP':'string','vSHix':'[REDACTED:token]','JicbH':_0x23a8d2(0xd9)};if(!_0x903ae9||_0x903ae9['length']===0x0)return _0x903ae9;const _0xab6fe=_0x46626b['toLowerCase'](),_0x576048=_0xab6fe['match'](/\(([^)]+)\)\s*values/i);let _0x4f1f53=[];_0x576048&&(_0x4f1f53=_0x576048[0x1]['split'](',')[_0x23a8d2(0x167)](_0x44c89c=>_0x44c89c[_0x23a8d2(0xd2)]()['toLowerCase']()));const _0x59ef39=_0xab6fe[_0x23a8d2(0xc8)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x59ef39){const _0x50c826=_0x59ef39[0x1],_0x1cd422=_0x50c826['match'](/(\w+)\s*=/g);_0x1cd422&&(_0x4f1f53=_0x1cd422['map'](_0x280d5e=>_0x280d5e[_0x23a8d2(0x115)](/\s*=/,'')['trim']()[_0x23a8d2(0x156)]()));}return _0x903ae9[_0x23a8d2(0x167)]((_0x38e10e,_0x32188c)=>{const _0x392ca8=_0x23a8d2;if(_0x4f1f53[_0x32188c]){const _0x2bbdf0=_0x4f1f53[_0x32188c],_0x28edf8=SENSITIVE_PARAM_PATTERNS['some'](_0x1eb807=>_0x2bbdf0['includes'](_0x1eb807));if(_0x28edf8)return'[REDACTED]';}if(_0x580341['AzgKR'](typeof _0x38e10e,_0x580341[_0x392ca8(0xe3)])&&_0x38e10e['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x392ca8(0xe4)](_0x38e10e)&&_0x38e10e['includes']('.'))return _0x580341[_0x392ca8(0x172)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x38e10e))return _0x580341[_0x392ca8(0xcb)];}return _0x38e10e;});},parseQueryMetadata=_0x146d30=>{const _0x4c191b=a0_0x2fb9cc,_0x2bc510={'fPUHO':'INSERT','LgXEj':'UPDATE','GQKRu':_0x4c191b(0x10d),'tQNdC':_0x4c191b(0x166),'WbIcQ':_0x4c191b(0x15b),'cKdnr':'COMMIT','bRmRL':'CREATE','zRWzG':'DDL_CREATE','uZtXV':'DDL_ALTER'},_0x3a37a2=_0x146d30['trim'](),_0x466501=_0x3a37a2[_0x4c191b(0xef)]();let _0x57371c='UNKNOWN',_0x5186f6=null;if(_0x466501[_0x4c191b(0x17e)]('SELECT')){_0x57371c=_0x4c191b(0x141);const _0x1e72a2=_0x3a37a2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x1e72a2?_0x1e72a2[0x1]:null;}else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x123)])){_0x57371c=_0x2bc510[_0x4c191b(0x123)];const _0x43e398=_0x3a37a2['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x43e398?_0x43e398[0x1]:null;}else{if(_0x466501[_0x4c191b(0x17e)]('UPDATE')){_0x57371c=_0x2bc510['LgXEj'];const _0x3c9fbc=_0x3a37a2[_0x4c191b(0xc8)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x3c9fbc?_0x3c9fbc[0x1]:null;}else{if(_0x466501['startsWith']('DELETE')){_0x57371c=_0x2bc510['GQKRu'];const _0x8b04ad=_0x3a37a2[_0x4c191b(0xc8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x8b04ad?_0x8b04ad[0x1]:null;}else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0xce)])||_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x15f)]))_0x57371c='TRANSACTION_BEGIN';else{if(_0x466501[_0x4c191b(0x17e)](_0x2bc510[_0x4c191b(0x147)]))_0x57371c=_0x4c191b(0x150);else{if(_0x466501[_0x4c191b(0x17e)](_0x4c191b(0xf7)))_0x57371c=_0x4c191b(0xf0);else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x149)]))_0x57371c=_0x2bc510['zRWzG'];else{if(_0x466501[_0x4c191b(0x17e)](_0x4c191b(0x107)))_0x57371c=_0x2bc510[_0x4c191b(0x15c)];else _0x466501[_0x4c191b(0x17e)]('DROP')&&(_0x57371c=_0x4c191b(0x16f));}}}}}}}}return{'type':_0x57371c,'table':_0x5186f6};},startQueryTimer=()=>{const _0x19eb43={'SQcbm':function(_0x581865,_0x1033c3){return _0x581865/_0x1033c3;}},_0x2c4ba6=process['hrtime']();return()=>{const _0x56ebd3=a0_0x23ee,[_0xff9e43,_0x5f423f]=process[_0x56ebd3(0xe5)](_0x2c4ba6);return parseFloat((_0xff9e43*0x3e8+_0x19eb43[_0x56ebd3(0x10a)](_0x5f423f,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1793d5,_0x294c7d=[],_0x3f5b5d={})=>{const _0x5aa893=a0_0x2fb9cc,_0x200488={'Neewq':_0x5aa893(0x13d),'MIMco':_0x5aa893(0x137),'phcWg':function(_0x5a95b4,_0x1d7684){return _0x5a95b4!==_0x1d7684;},'TQhzR':function(_0x6229ed,_0x5a0fdb){return _0x6229ed>_0x5a0fdb;}};if(!sqlLogEnabled){logger[_0x5aa893(0x10c)]({'event':_0x200488['Neewq'],'query':_0x1793d5[_0x5aa893(0x133)](0x0,0xc8),'paramCount':_0x294c7d['length']},_0x200488[_0x5aa893(0x165)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x3f5b5d,{type:_0xeb796a,table:_0x312091}=parseQueryMetadata(_0x1793d5),_0x27fa12={'event':_0x5aa893(0xca),'queryType':_0xeb796a,'table':_0x312091,'query':_0x1793d5,'paramCount':_0x294c7d['length'],'dbType':dbType};sqlLogParams&&_0x294c7d['length']>0x0&&(_0x27fa12['params']=redactSensitiveParams(_0x294c7d,_0x1793d5));_0x200488['phcWg'](duration,null)&&(_0x27fa12['durationMs']=duration,_0x27fa12[_0x5aa893(0xdb)]=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x27fa12[_0x5aa893(0x14f)]=rowsAffected);const _0x9da3ce=_0x312091||'unknown';let _0x2e5769='['+_0xeb796a+']\x20'+_0x9da3ce;duration!==null&&(_0x2e5769+='\x20('+duration+'ms)');const _0x2ee78d=duration!==null&&_0x200488[_0x5aa893(0x129)](duration,sqlLogSlowThreshold);let _0x249222='debug';if(_0x2ee78d)_0x2e5769+='\x20[SLOW]',_0x249222=_0x5aa893(0x121),logger[_0x5aa893(0x121)](_0x27fa12,_0x2e5769);else sqlLogLevel==='info'?(_0x249222='info',logger[_0x5aa893(0xd8)](_0x27fa12,_0x2e5769)):logger[_0x5aa893(0x10c)](_0x27fa12,_0x2e5769);writeToFileLog({..._0x27fa12,'level':_0x249222,'msg':_0x2e5769,'time':new Date()['toISOString']()},_0x249222);},logTransaction=(_0x3fea3a,_0x5c8139)=>{const _0x168c83=a0_0x2fb9cc,_0x28a5f8={'GdwBS':function(_0x6111e5,_0x16e6c9,_0x3c1469){return _0x6111e5(_0x16e6c9,_0x3c1469);},'tuyfJ':'debug'},_0xce02e6={'event':_0x168c83(0x110),'status':_0x3fea3a,'queryCount':_0x5c8139},_0x2ba185='Transaction\x20'+_0x3fea3a;logger['debug'](_0xce02e6,_0x2ba185),_0x28a5f8[_0x168c83(0xda)](writeToFileLog,{..._0xce02e6,'level':_0x28a5f8['tuyfJ'],'msg':_0x2ba185,'time':new Date()['toISOString']()},_0x168c83(0x10c));},redactObject=_0x47dacd=>{const _0xbc9756=a0_0x2fb9cc,_0xc5d98d={'LJMZu':function(_0x43c677,_0x40a40c){return _0x43c677!==_0x40a40c;},'iROvy':_0xbc9756(0xfa),'obite':'token','ZwnOb':_0xbc9756(0xe2),'shRxv':_0xbc9756(0x125),'QJevh':_0xbc9756(0x15e),'CdjWk':'creditcard','WWLqy':'credit_card','CaDrY':'ssn','EaWBS':'pin','NGHMn':'privatekey','nNclv':'object'};if(!_0x47dacd||_0xc5d98d['LJMZu'](typeof _0x47dacd,_0xbc9756(0x11a)))return _0x47dacd;const _0x2b1787=[_0xc5d98d['iROvy'],'passwd','pwd',_0xc5d98d['obite'],_0xc5d98d['ZwnOb'],_0xc5d98d['shRxv'],_0xc5d98d[_0xbc9756(0xc9)],_0xbc9756(0x145),_0xc5d98d['CdjWk'],_0xc5d98d[_0xbc9756(0x102)],_0xbc9756(0x131),_0xc5d98d['CaDrY'],_0xc5d98d[_0xbc9756(0x14b)],'private_key',_0xc5d98d[_0xbc9756(0xcd)],'refresh_token',_0xbc9756(0x106)],_0x254090=Array[_0xbc9756(0x14a)](_0x47dacd)?[..._0x47dacd]:{..._0x47dacd};for(const _0x464818 of Object['keys'](_0x254090)){const _0x59daf8=_0x464818[_0xbc9756(0x156)]();if(_0x2b1787[_0xbc9756(0x158)](_0x4ad569=>_0x59daf8[_0xbc9756(0x177)](_0x4ad569)))_0x254090[_0x464818]='[REDACTED]';else typeof _0x254090[_0x464818]===_0xc5d98d[_0xbc9756(0x154)]&&_0x254090[_0x464818]!==null&&(_0x254090[_0x464818]=redactObject(_0x254090[_0x464818]));}return _0x254090;},logError=(_0x3050c7,_0x14308f={},_0x4de61b=null)=>{const _0x2178b3=a0_0x2fb9cc,_0x4fc3f0={'SjlzE':_0x2178b3(0x163),'LujVb':function(_0x5c96c0,_0x420901,_0x2f7153){return _0x5c96c0(_0x420901,_0x2f7153);}},_0x269404={'event':_0x4fc3f0['SjlzE'],'errorName':_0x3050c7[_0x2178b3(0x111)]||_0x2178b3(0xf6),'errorMessage':_0x3050c7[_0x2178b3(0x152)],'errorCode':_0x3050c7[_0x2178b3(0x12b)]||null,'stack':_0x3050c7[_0x2178b3(0xc4)],..._0x14308f},_0x1f79a7=_0x4de61b||'Error:\x20'+_0x3050c7[_0x2178b3(0x152)];logger['error'](_0x269404,_0x1f79a7),_0x4fc3f0['LujVb'](writeToFileLog,{..._0x269404,'level':_0x2178b3(0x163),'msg':_0x1f79a7,'time':new Date()['toISOString']()},_0x2178b3(0x163));},logFatalError=(_0x153a23,_0x2736ee={},_0x4bcba8=null)=>{const _0x146807=a0_0x2fb9cc,_0x1b137b={'dkvcz':'fatal_error','UCnAz':_0x146807(0x146),'bHrTi':'error'},_0x2e49da={'event':_0x1b137b['dkvcz'],'errorName':_0x153a23['name']||_0x146807(0xf6),'errorMessage':_0x153a23[_0x146807(0x152)],'errorCode':_0x153a23[_0x146807(0x12b)]||null,'stack':_0x153a23[_0x146807(0xc4)],'severity':_0x1b137b[_0x146807(0xed)],..._0x2736ee},_0x51f094=_0x4bcba8||'FATAL:\x20'+_0x153a23['message'];logger[_0x146807(0x17b)](_0x2e49da,_0x51f094),writeToFileLog({..._0x2e49da,'level':_0x146807(0x17b),'msg':_0x51f094,'time':new Date()[_0x146807(0x16c)]()},_0x1b137b['bHrTi']);},logHttpError=(_0x515365,_0x4de774,_0x4c8540={})=>{const _0x39be1a=a0_0x2fb9cc,_0x20cd22={'ZxSCQ':_0x39be1a(0xf6),'lRngJ':function(_0x25ba69,_0xdcce08){return _0x25ba69(_0xdcce08);},'Vusii':function(_0x31caf6,_0x4e13d3){return _0x31caf6>=_0x4e13d3;},'fWwoI':function(_0x2b82d9,_0x54b607){return _0x2b82d9>=_0x54b607;},'PfXgY':_0x39be1a(0x121),'ltHVi':'error'},_0xa292ae={'event':'http_error','errorName':_0x515365['name']||_0x20cd22[_0x39be1a(0x15a)],'errorMessage':_0x515365[_0x39be1a(0x152)],'errorCode':_0x515365[_0x39be1a(0x12b)]||_0x515365['statusCode']||0x1f4,'stack':_0x515365[_0x39be1a(0xc4)],'method':_0x4de774?.['method'],'url':_0x4de774?.['url']||_0x4de774?.[_0x39be1a(0x142)],'path':_0x4de774?.['path'],'ip':_0x4de774?.['ip']||_0x4de774?.[_0x39be1a(0x153)]?.['remoteAddress'],'userAgent':_0x4de774?.['get']?.(_0x39be1a(0x108)),'requestId':_0x4de774?.['id']||_0x4de774?.['headers']?.['x-request-id'],'body':_0x4de774?.['body']?_0x20cd22[_0x39be1a(0x105)](redactObject,_0x4de774[_0x39be1a(0x114)]):undefined,'query':_0x4de774?.['query'],..._0x4c8540},_0x1bddc2=_0x515365[_0x39be1a(0x127)]||_0x515365['status']||0x1f4,_0x1fea1='HTTP\x20'+_0x1bddc2+':\x20'+_0x515365[_0x39be1a(0x152)];_0x20cd22[_0x39be1a(0x17d)](_0x1bddc2,0x1f4)?logger['error'](_0xa292ae,_0x1fea1):logger['warn'](_0xa292ae,_0x1fea1),writeToFileLog({..._0xa292ae,'level':_0x20cd22['fWwoI'](_0x1bddc2,0x1f4)?'error':_0x20cd22['PfXgY'],'msg':_0x1fea1,'time':new Date()['toISOString']()},_0x20cd22[_0x39be1a(0x13c)](_0x1bddc2,0x1f4)?_0x20cd22[_0x39be1a(0x16e)]:_0x20cd22[_0x39be1a(0xdc)]);},logUncaughtError=(_0x128a57,_0x3d58d1)=>{const _0xb89ec=a0_0x2fb9cc,_0x37eb6e={'Wnudr':_0xb89ec(0xf6),'unFJO':_0xb89ec(0x146),'qsRpz':function(_0xf69f08,_0x12d0ce,_0x114da1){return _0xf69f08(_0x12d0ce,_0x114da1);}},_0x3005d0={'event':_0x128a57,'errorName':_0x3d58d1?.[_0xb89ec(0x111)]||_0x37eb6e[_0xb89ec(0x132)],'errorMessage':_0x3d58d1?.[_0xb89ec(0x152)]||String(_0x3d58d1),'errorCode':_0x3d58d1?.['code']||null,'stack':_0x3d58d1?.[_0xb89ec(0xc4)],'severity':_0x37eb6e['unFJO'],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xb89ec(0xec)]()},_0x4b250b='['+_0x128a57[_0xb89ec(0xef)]()+']\x20'+(_0x3d58d1?.['message']||_0x3d58d1);logger[_0xb89ec(0x17b)](_0x3005d0,_0x4b250b),_0x37eb6e[_0xb89ec(0x162)](writeToFileLog,{..._0x3005d0,'level':_0xb89ec(0x17b),'msg':_0x4b250b,'time':new Date()[_0xb89ec(0x16c)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x91def=a0_0x2fb9cc,_0x406e5d={'YftqW':'uncaughtException','sqMwT':function(_0xf9be72,_0x3d7166,_0x3f0fb5){return _0xf9be72(_0x3d7166,_0x3f0fb5);},'STDEL':function(_0x22b408,_0x5c621e,_0x3b1da7){return _0x22b408(_0x5c621e,_0x3b1da7);},'Gfzcg':'unhandledRejection','TruHz':_0x91def(0x10f),'gmBSf':'warning','uNrwx':'global_error_handlers_setup','lpJWf':'info'};process['on']('uncaughtException',_0x132dbc=>{const _0x528cbf=_0x91def;logUncaughtError(_0x406e5d[_0x528cbf(0x14e)],_0x132dbc),_0x406e5d['sqMwT'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x406e5d['Gfzcg'],(_0x502622,_0x393f37)=>{const _0x149b7c=_0x91def,_0x24cdc7=_0x502622 instanceof Error?_0x502622:new Error(String(_0x502622));_0x406e5d[_0x149b7c(0x100)](logUncaughtError,_0x406e5d[_0x149b7c(0xe1)],_0x24cdc7);}),process['on'](_0x406e5d[_0x91def(0x10b)],_0x57e2e7=>{const _0x281d0e=_0x91def;logger[_0x281d0e(0x121)]({'event':_0x406e5d['TruHz'],'name':_0x57e2e7[_0x281d0e(0x111)],'message':_0x57e2e7['message'],'stack':_0x57e2e7['stack']},_0x281d0e(0x103)+_0x57e2e7[_0x281d0e(0x152)]);});const _0x557e07={'event':_0x406e5d['uNrwx']},_0x3244a9='Global\x20error\x20handlers\x20initialized';logger[_0x91def(0xd8)](_0x557e07,_0x3244a9),writeToFileLog({..._0x557e07,'level':_0x406e5d['lpJWf'],'msg':_0x3244a9,'time':new Date()[_0x91def(0x16c)]()},_0x406e5d[_0x91def(0xd3)]);},createErrorHandlerMiddleware=()=>{const _0x22f59f=a0_0x2fb9cc,_0x9a071f={'dvNbD':function(_0x5556b3,_0x43ef36){return _0x5556b3>=_0x43ef36;},'XdZwU':_0x22f59f(0x12e)};return(_0x2a5b47,_0x49718c,_0x1ac253,_0x532485)=>{const _0x335f6e=_0x22f59f;logHttpError(_0x2a5b47,_0x49718c);const _0x426e67=_0x2a5b47['statusCode']||_0x2a5b47['status']||0x1f4;_0x1ac253['status'](_0x426e67)['json']({'success':![],'error':_0x9a071f[_0x335f6e(0xff)](_0x426e67,0x1f4)?_0x9a071f[_0x335f6e(0x179)]:_0x2a5b47[_0x335f6e(0x152)],'requestId':_0x49718c['id']||_0x49718c['headers']?.[_0x335f6e(0x16d)]||null});};};module[a0_0x2fb9cc(0xd4)]={'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
- const a0_0x10cc59=a0_0x3cb0;function a0_0x53e1(){const _0x104d73=['zM9YrwfJAa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','Aw5MBW','zw50CMLLCW','mtC0m1rXrNzfyW','zxHWB3j0CW','vMfSDwuGiG','lI9SB2DNzxi','BgvUz3rO','y2XLyxi','ywrK','AgfZ','Dg9mB3DLCKnHC2u','C2v0','ntuYnNP1DNnbAa','Bg9VA3vWq2fJAgu','lI9KyI1TExnXBa','CxjpwMG','z2v0rgLZDgLUy3rwywX1zxm','CKrLrxa','BxLZCwW','zKvty0y','otC1mteYmfzzsuDUEq','m2DOAurnrq','A2v5CW','y2XLyxjdywnOzq','iIbUB3qGzM91BMqGAw4G','BwfW','tg9VA3vWignHy2HLignSzwfYzwq','zNjVBq','z2v0','zgvIDwC','DMXMzhO','oty4mdeXCvjcB0rJ','mJC4ntmXmgjWtMPXtq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','EgH2z00','ovLzrM1KCG','mtmXndCWzNHfthjr','ChvZAa','mti1nZmXodDwyxruwMO','iezst00G','zxHLy3v0zvf1zxj5','mta0DeTlsfHA','DMfSAwrHDgvmB29RDxbwywX1zxm','rejFvfLqrq','whbWB28','CMvZB2X2zuXVB2T1CfzHBhvL','mtjiz29ls2u','mZm4nZq3me5qzNPTrW','Bg9HzeXVB2T1CfrHyMXL'];a0_0x53e1=function(){return _0x104d73;};return a0_0x53e1();}(function(_0x5583a2,_0x2ca415){const _0x143ad7=a0_0x3cb0,_0x392182=_0x5583a2();while(!![]){try{const _0x49402b=parseInt(_0x143ad7(0x160))/0x1+-parseInt(_0x143ad7(0x161))/0x2*(parseInt(_0x143ad7(0x156))/0x3)+-parseInt(_0x143ad7(0x16a))/0x4*(-parseInt(_0x143ad7(0x165))/0x5)+parseInt(_0x143ad7(0x181))/0x6*(parseInt(_0x143ad7(0x177))/0x7)+-parseInt(_0x143ad7(0x189))/0x8+parseInt(_0x143ad7(0x164))/0x9*(parseInt(_0x143ad7(0x170))/0xa)+-parseInt(_0x143ad7(0x167))/0xb*(-parseInt(_0x143ad7(0x16f))/0xc);if(_0x49402b===_0x2ca415)break;else _0x392182['push'](_0x392182['shift']());}catch(_0x3e6265){_0x392182['push'](_0x392182['shift']());}}}(a0_0x53e1,0xb7663));const dbType=(process['env'][a0_0x10cc59(0x16c)]||'postgresql')[a0_0x10cc59(0x17f)]();let executeQuery;function a0_0x3cb0(_0x36843a,_0x3d2782){_0x36843a=_0x36843a-0x156;const _0x53e125=a0_0x53e1();let _0x3cb0af=_0x53e125[_0x36843a];if(a0_0x3cb0['XyuucJ']===undefined){var _0x6ed56f=function(_0x13d770){const _0x4bdaad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23c364='',_0x3172d6='';for(let _0x47b8bd=0x0,_0x53f2b7,_0x2fa6bd,_0x52602e=0x0;_0x2fa6bd=_0x13d770['charAt'](_0x52602e++);~_0x2fa6bd&&(_0x53f2b7=_0x47b8bd%0x4?_0x53f2b7*0x40+_0x2fa6bd:_0x2fa6bd,_0x47b8bd++%0x4)?_0x23c364+=String['fromCharCode'](0xff&_0x53f2b7>>(-0x2*_0x47b8bd&0x6)):0x0){_0x2fa6bd=_0x4bdaad['indexOf'](_0x2fa6bd);}for(let _0xae9c4b=0x0,_0x13eeb6=_0x23c364['length'];_0xae9c4b<_0x13eeb6;_0xae9c4b++){_0x3172d6+='%'+('00'+_0x23c364['charCodeAt'](_0xae9c4b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3172d6);};a0_0x3cb0['riPJmg']=_0x6ed56f,a0_0x3cb0['VisbtQ']={},a0_0x3cb0['XyuucJ']=!![];}const _0x5890bf=_0x53e125[0x0],_0x3c0785=_0x36843a+_0x5890bf,_0x488a92=a0_0x3cb0['VisbtQ'][_0x3c0785];return!_0x488a92?(_0x3cb0af=a0_0x3cb0['riPJmg'](_0x3cb0af),a0_0x3cb0['VisbtQ'][_0x3c0785]=_0x3cb0af):_0x3cb0af=_0x488a92,_0x3cb0af;}if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x4596aa,_0x2cafa8)=>oracleDb[a0_0x10cc59(0x169)](_0x4596aa,_0x2cafa8);}else{if(dbType===a0_0x10cc59(0x187)){const mysqlDb=require(a0_0x10cc59(0x183));executeQuery=(_0x1ef7d2,_0x5e181d)=>mysqlDb[a0_0x10cc59(0x169)](_0x1ef7d2,_0x5e181d);}else executeQuery=require('./db')[a0_0x10cc59(0x169)];}const {logger}=require(a0_0x10cc59(0x17a));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x10cc59(0x158)](){const _0x1dffab=a0_0x10cc59,_0x3d09a6={'fEScF':_0x1dffab(0x174)};this[_0x1dffab(0x182)][_0x1dffab(0x17c)](),logger[_0x1dffab(0x15e)]({'event':_0x3d09a6[_0x1dffab(0x188)]},_0x1dffab(0x15b));}async[a0_0x10cc59(0x171)](_0x13882a,_0x5192f6,_0x44d928){const _0x3461d2=a0_0x10cc59,_0x21152d={'lkwkl':function(_0x1a5c7c,_0x58e4cc){return _0x1a5c7c!==_0x58e4cc;},'PdrmR':function(_0x2ada48,_0x1a9d92){return _0x2ada48!==_0x1a9d92;},'vlfdz':function(_0x40d2ee,_0x3ce9b2){return _0x40d2ee(_0x3ce9b2);},'sVTYz':'lookup_table_load_error'},_0x8f5278=_0x13882a+':'+_0x5192f6+':'+_0x44d928;if(this[_0x3461d2(0x182)][_0x3461d2(0x17e)](_0x8f5278))return this['lookupCache']['get'](_0x8f5278);try{const _0x5b5bd3='SELECT\x20'+_0x44d928+',\x20'+_0x5192f6+_0x3461d2(0x168)+_0x13882a,_0x197f82=await executeQuery(_0x5b5bd3),_0x3d308d=new Map();return _0x197f82['forEach'](_0x9d5111=>{const _0x31812d=_0x3461d2,_0x34c5d2=_0x21152d['lkwkl'](_0x9d5111[_0x5192f6],undefined)?_0x9d5111[_0x5192f6]:_0x9d5111[_0x5192f6['toUpperCase']()],_0x11a253=_0x21152d['PdrmR'](_0x9d5111[_0x44d928],undefined)?_0x9d5111[_0x44d928]:_0x9d5111[_0x44d928['toUpperCase']()];_0x34c5d2!==null&&_0x34c5d2!==undefined&&(_0x3d308d['set'](_0x21152d[_0x31812d(0x15f)](String,_0x34c5d2)['toLowerCase']()['trim'](),_0x11a253),_0x3d308d['set'](String(_0x34c5d2)['trim'](),_0x11a253));}),this['lookupCache']['set'](_0x8f5278,_0x3d308d),logger[_0x3461d2(0x175)]({'event':'lookup_table_loaded','table':_0x13882a,'column':_0x5192f6,'count':_0x197f82[_0x3461d2(0x17b)]},'Lookup\x20table\x20loaded:\x20'+_0x13882a),_0x3d308d;}catch(_0x103be8){logger['error']({'event':_0x21152d['sVTYz'],'table':_0x13882a,'error':_0x103be8['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x13882a);throw _0x103be8;}}[a0_0x10cc59(0x16e)](_0x157cf0,_0x3049d4){const _0x1bbb5d=a0_0x10cc59,_0x2046a6={'fuXff':function(_0x4edebe,_0x26bbac){return _0x4edebe===_0x26bbac;},'xhvgM':function(_0x4c9cf1,_0x199e6e){return _0x4c9cf1===_0x199e6e;},'GdTZK':function(_0x7f1566,_0x76d09f){return _0x7f1566(_0x76d09f);}};if(_0x2046a6['fuXff'](_0x157cf0,null)||_0x157cf0===undefined||_0x2046a6[_0x1bbb5d(0x163)](_0x157cf0,''))return null;const _0x297cb0=_0x2046a6['GdTZK'](String,_0x157cf0)['trim']();if(_0x3049d4[_0x1bbb5d(0x17e)](_0x297cb0))return _0x3049d4[_0x1bbb5d(0x15d)](_0x297cb0);const _0x27d64b=_0x297cb0['toLowerCase']();if(_0x3049d4['has'](_0x27d64b))return _0x3049d4[_0x1bbb5d(0x15d)](_0x27d64b);return null;}async['processLookupFields'](_0xf7839b,_0x4fb135){const _0x23377d=a0_0x10cc59,_0x536c01={'BVXVR':function(_0x21befa,_0x4d8dd9){return _0x21befa===_0x4d8dd9;},'qrOZh':function(_0x4e7f71,_0x433e05){return _0x4e7f71===_0x433e05;},'ekhEE':_0x23377d(0x162),'rDeEp':'Lookup\x20fields\x20processed'};if(!_0x4fb135||_0x536c01[_0x23377d(0x184)](Object[_0x23377d(0x157)](_0x4fb135)['length'],0x0))return{'processedRows':_0xf7839b,'errors':[]};const _0x34a048=[],_0x312ca5=new Map();for(const [_0x39c3f7,_0x305828]of Object[_0x23377d(0x176)](_0x4fb135)){const {lookupTable:_0x30da0c,lookupColumn:_0x487a80,lookupIdColumn:_0x3d9aaa}=_0x305828,_0xbd21bd=_0x30da0c+':'+_0x487a80+':'+_0x3d9aaa;if(!_0x312ca5['has'](_0xbd21bd)){const _0x21c2db=await this[_0x23377d(0x171)](_0x30da0c,_0x487a80,_0x3d9aaa);_0x312ca5[_0x23377d(0x180)](_0xbd21bd,_0x21c2db);}}const _0xaa6b56=_0xf7839b[_0x23377d(0x15a)]((_0x310f0d,_0x397450)=>{const _0x49c109=_0x23377d,_0x4c0ce8={..._0x310f0d};for(const [_0x1e66a6,_0xad1a14]of Object['entries'](_0x4fb135)){const {lookupTable:_0xf48a9b,lookupColumn:_0x310a3c,lookupIdColumn:_0x584118,targetField:_0x5c75c7,required:_0x36fa74}=_0xad1a14,_0xeae9dd=_0xf48a9b+':'+_0x310a3c+':'+_0x584118,_0x2180d0=_0x312ca5[_0x49c109(0x15d)](_0xeae9dd),_0x502504=_0x310f0d[_0x1e66a6];if((_0x536c01['BVXVR'](_0x502504,null)||_0x502504===undefined||_0x502504==='')&&!_0x36fa74){_0x4c0ce8[_0x5c75c7]=null;continue;}const _0x573e28=this['resolveLookupValue'](_0x502504,_0x2180d0);_0x573e28!==null?_0x4c0ce8[_0x5c75c7]=_0x573e28:(_0x36fa74&&_0x34a048[_0x49c109(0x166)]({'rowIndex':_0x397450,'field':_0x1e66a6,'value':_0x502504,'targetField':_0x5c75c7,'lookupTable':_0xf48a9b,'message':_0x49c109(0x179)+_0x502504+_0x49c109(0x159)+_0xf48a9b}),_0x4c0ce8[_0x5c75c7]=null);}return _0x4c0ce8;});return logger[_0x23377d(0x175)]({'event':_0x536c01['ekhEE'],'totalRows':_0xf7839b['length'],'errorCount':_0x34a048[_0x23377d(0x17b)],'lookupFieldCount':Object[_0x23377d(0x157)](_0x4fb135)['length']},_0x536c01[_0x23377d(0x186)]),{'processedRows':_0xaa6b56,'errors':_0x34a048};}['getDistinctValues'](_0x44477d,_0x4b74f3){const _0x57e168=a0_0x10cc59,_0x58d188={'HgHbw':function(_0x2c792e,_0xc34665){return _0x2c792e!==_0xc34665;}},_0x38a724=new Set();return _0x44477d['forEach'](_0x5d78b3=>{const _0x415450=a0_0x3cb0,_0x35f205=_0x5d78b3[_0x4b74f3];_0x58d188['HgHbw'](_0x35f205,null)&&_0x35f205!==undefined&&_0x35f205!==''&&_0x38a724[_0x415450(0x17d)](String(_0x35f205)['trim']());}),Array[_0x57e168(0x15c)](_0x38a724);}async[a0_0x10cc59(0x16b)](_0x1c3262,_0x24250c){const _0x36dcb3=a0_0x10cc59,_0x5f3076={'Xppoo':function(_0x225273,_0x103367){return _0x225273===_0x103367;}};if(!_0x24250c||_0x5f3076[_0x36dcb3(0x16d)](Object['keys'](_0x24250c)[_0x36dcb3(0x17b)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x4412c2=[],_0x2025ab={};for(const [_0x1a64d2,_0x28e9d7]of Object['entries'](_0x24250c)){const {lookupTable:_0x3afc74,lookupColumn:_0x46bc50,lookupIdColumn:_0x39b23e,required:_0x3bf5dd}=_0x28e9d7,_0x12767a=this[_0x36dcb3(0x185)](_0x1c3262,_0x1a64d2),_0x21246e=await this[_0x36dcb3(0x171)](_0x3afc74,_0x46bc50,_0x39b23e),_0x57606a=[],_0x2ca982=[];_0x12767a[_0x36dcb3(0x172)](_0x557b97=>{const _0xa143d6=_0x36dcb3,_0x4bbfbf=this['resolveLookupValue'](_0x557b97,_0x21246e);_0x4bbfbf!==null?_0x2ca982['push'](_0x557b97):_0x57606a[_0xa143d6(0x166)](_0x557b97);});if(_0x57606a[_0x36dcb3(0x17b)]>0x0&&_0x3bf5dd){_0x4412c2['push']({'field':_0x1a64d2,'lookupTable':_0x3afc74,'invalidValues':_0x57606a,'message':_0x57606a['length']+_0x36dcb3(0x173)+_0x3afc74});const _0x519d0b=[];_0x21246e['forEach']((_0x362cac,_0x211b6)=>{const _0x206641=_0x36dcb3;if(_0x211b6===_0x211b6['toLowerCase']())return;_0x519d0b[_0x206641(0x166)](_0x211b6);}),_0x2025ab[_0x1a64d2]={'invalidValues':_0x57606a,'availableValues':_0x519d0b['slice'](0x0,0x32)};}}return{'valid':_0x4412c2[_0x36dcb3(0x17b)]===0x0,'errors':_0x4412c2,'suggestions':_0x2025ab};}}module[a0_0x10cc59(0x178)]=new LookupResolver();
1
+ const a0_0x4feb94=a0_0x5102;function a0_0x5102(_0x14ec89,_0xa0b340){_0x14ec89=_0x14ec89-0x190;const _0x316f87=a0_0x316f();let _0x510267=_0x316f87[_0x14ec89];if(a0_0x5102['PnHgZY']===undefined){var _0x1dc066=function(_0x5a76cd){const _0x423b85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5283f2='',_0x5ce559='';for(let _0x2d566c=0x0,_0x457e12,_0x5aa734,_0x3d2833=0x0;_0x5aa734=_0x5a76cd['charAt'](_0x3d2833++);~_0x5aa734&&(_0x457e12=_0x2d566c%0x4?_0x457e12*0x40+_0x5aa734:_0x5aa734,_0x2d566c++%0x4)?_0x5283f2+=String['fromCharCode'](0xff&_0x457e12>>(-0x2*_0x2d566c&0x6)):0x0){_0x5aa734=_0x423b85['indexOf'](_0x5aa734);}for(let _0x594c3c=0x0,_0x1ddc61=_0x5283f2['length'];_0x594c3c<_0x1ddc61;_0x594c3c++){_0x5ce559+='%'+('00'+_0x5283f2['charCodeAt'](_0x594c3c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ce559);};a0_0x5102['bfktQx']=_0x1dc066,a0_0x5102['YdgoAJ']={},a0_0x5102['PnHgZY']=!![];}const _0x592ee3=_0x316f87[0x0],_0x1f6d64=_0x14ec89+_0x592ee3,_0x160ee5=a0_0x5102['YdgoAJ'][_0x1f6d64];return!_0x160ee5?(_0x510267=a0_0x5102['bfktQx'](_0x510267),a0_0x5102['YdgoAJ'][_0x1f6d64]=_0x510267):_0x510267=_0x160ee5,_0x510267;}(function(_0x47f9bb,_0x4bf619){const _0x50f4f6=a0_0x5102,_0x454f0b=_0x47f9bb();while(!![]){try{const _0x4409fd=parseInt(_0x50f4f6(0x1a2))/0x1+-parseInt(_0x50f4f6(0x1af))/0x2+parseInt(_0x50f4f6(0x1ba))/0x3*(-parseInt(_0x50f4f6(0x1b5))/0x4)+-parseInt(_0x50f4f6(0x1ac))/0x5*(parseInt(_0x50f4f6(0x192))/0x6)+-parseInt(_0x50f4f6(0x1b8))/0x7*(parseInt(_0x50f4f6(0x1bc))/0x8)+-parseInt(_0x50f4f6(0x1a6))/0x9+parseInt(_0x50f4f6(0x190))/0xa;if(_0x4409fd===_0x4bf619)break;else _0x454f0b['push'](_0x454f0b['shift']());}catch(_0x11ece3){_0x454f0b['push'](_0x454f0b['shift']());}}}(a0_0x316f,0xdf189));const dbType=(process['env'][a0_0x4feb94(0x199)]||a0_0x4feb94(0x1a0))['toLowerCase']();let executeQuery;function a0_0x316f(){const _0x54d871=['z1LiyMq','nZq3mdy0EffjAfbr','DhjPBq','BxLZCwW','Dg9mB3DLCKnHC2u','mta2nJm0nZbAuKP0z04','z2v0','Bg9VA3vWq2fJAgu','B3jHy2XL','ChvZAa','EvPwuxC','nJeYoduXnvDPy1nsEa','Evbzwxu','lI9SB2DNzxi','mJuYmZq3nfrpChDbsG','Avjdv1O','Ce1WzKO','C2XPy2u','zxHLy3v0zvf1zxj5','Bg9VA3vWx3rHyMXLx2XVywrLza','nty5mtiZnNPAC25QqG','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','tg9VA3vWignHy2HLignSzwfYzwq','ndy5nJnnugTUA3i','BwvZC2fNzq','m3vRBvPjCa','y2XLyxi','mZm2BK1hy05K','zM9YrwfJAa','ntu0mZu5ndbLzKDyALq','z2v0rgLZDgLUy3rwywX1zxm','nMnivwPvBq','BgvUz3rO','A2v5CW','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','u0vmrunuia','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','rejFvfLqrq','rxzkBNC','r25As1y','s3P2ueu','rvLmzgO','ywrK','lI9KyG','Cg9ZDgDYzxnXBa'];a0_0x316f=function(){return _0x54d871;};return a0_0x316f();}if(dbType===a0_0x4feb94(0x1a9)){const oracleDb=require('./db-oracle');executeQuery=(_0x4de536,_0x2f95ef)=>oracleDb[a0_0x4feb94(0x1b3)](_0x4de536,_0x2f95ef);}else{if(dbType===a0_0x4feb94(0x1a4)){const mysqlDb=require('./db-mysql');executeQuery=(_0x5d8fb1,_0x2ba8d3)=>mysqlDb['executeQuery'](_0x5d8fb1,_0x2ba8d3);}else executeQuery=require(a0_0x4feb94(0x19f))['executeQuery'];}const {logger}=require(a0_0x4feb94(0x1ae));class LookupResolver{constructor(){const _0x52ef54=a0_0x4feb94;this[_0x52ef54(0x1a8)]=new Map();}['clearCache'](){const _0x7cb553=a0_0x4feb94;this[_0x7cb553(0x1a8)][_0x7cb553(0x1bb)](),logger['debug']({'event':_0x7cb553(0x195)},_0x7cb553(0x1b7));}async['loadLookupTable'](_0x18ad7a,_0x51d270,_0x4c1535){const _0xd67b55=a0_0x4feb94,_0x3ea717={'gYHbd':function(_0x450e24,_0x12f4e6){return _0x450e24!==_0x12f4e6;},'lHqXw':function(_0x189309,_0x55d754){return _0x189309!==_0x55d754;},'GnZKV':function(_0x38bd56,_0x15511d){return _0x38bd56(_0x15511d);}},_0x11c92f=_0x18ad7a+':'+_0x51d270+':'+_0x4c1535;if(this['lookupCache'][_0xd67b55(0x198)](_0x11c92f))return this[_0xd67b55(0x1a8)]['get'](_0x11c92f);try{const _0x794950=_0xd67b55(0x196)+_0x4c1535+',\x20'+_0x51d270+'\x20FROM\x20'+_0x18ad7a,_0x448732=await executeQuery(_0x794950),_0x2c15ec=new Map();return _0x448732[_0xd67b55(0x1bd)](_0x598394=>{const _0x18c07f=_0xd67b55,_0x4fe363=_0x3ea717['gYHbd'](_0x598394[_0x51d270],undefined)?_0x598394[_0x51d270]:_0x598394[_0x51d270['toUpperCase']()],_0xd915e=_0x598394[_0x4c1535]!==undefined?_0x598394[_0x4c1535]:_0x598394[_0x4c1535['toUpperCase']()];_0x3ea717[_0x18c07f(0x1a1)](_0x4fe363,null)&&_0x3ea717['lHqXw'](_0x4fe363,undefined)&&(_0x2c15ec['set'](String(_0x4fe363)[_0x18c07f(0x1a5)]()[_0x18c07f(0x1a3)](),_0xd915e),_0x2c15ec['set'](_0x3ea717[_0x18c07f(0x19b)](String,_0x4fe363)['trim'](),_0xd915e));}),this[_0xd67b55(0x1a8)]['set'](_0x11c92f,_0x2c15ec),logger['info']({'event':_0xd67b55(0x1b4),'table':_0x18ad7a,'column':_0x51d270,'count':_0x448732['length']},'Lookup\x20table\x20loaded:\x20'+_0x18ad7a),_0x2c15ec;}catch(_0x768619){logger['error']({'event':'lookup_table_load_error','table':_0x18ad7a,'error':_0x768619[_0xd67b55(0x1b9)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x18ad7a);throw _0x768619;}}[a0_0x4feb94(0x197)](_0x172af8,_0x523199){const _0x1c8893=a0_0x4feb94,_0x5f5a77={'iRCWZ':function(_0x188234,_0x30a3df){return _0x188234===_0x30a3df;},'EYLdj':function(_0xedfda3,_0x5f167c){return _0xedfda3(_0x5f167c);}};if(_0x5f5a77['iRCWZ'](_0x172af8,null)||_0x5f5a77['iRCWZ'](_0x172af8,undefined)||_0x5f5a77[_0x1c8893(0x1b0)](_0x172af8,''))return null;const _0x59a931=_0x5f5a77[_0x1c8893(0x19d)](String,_0x172af8)[_0x1c8893(0x1a3)]();if(_0x523199[_0x1c8893(0x198)](_0x59a931))return _0x523199[_0x1c8893(0x1a7)](_0x59a931);const _0x46fa2d=_0x59a931['toLowerCase']();if(_0x523199['has'](_0x46fa2d))return _0x523199['get'](_0x46fa2d);return null;}async['processLookupFields'](_0x40f7c1,_0x73df33){const _0x374337=a0_0x4feb94,_0x4d01b1={'yZVQw':function(_0x48bd8c,_0x1ca2c){return _0x48bd8c===_0x1ca2c;},'kWqvQ':function(_0xb5b6f4,_0x247ff2){return _0xb5b6f4!==_0x247ff2;},'KzvPE':function(_0xcecf9b,_0x58f81f){return _0xcecf9b===_0x58f81f;},'EvJnw':'Lookup\x20fields\x20processed'};if(!_0x73df33||_0x4d01b1[_0x374337(0x19c)](Object[_0x374337(0x194)](_0x73df33)['length'],0x0))return{'processedRows':_0x40f7c1,'errors':[]};const _0x5636b7=[],_0xa7ef41=new Map();for(const [_0x3b326e,_0x31ef38]of Object['entries'](_0x73df33)){const {lookupTable:_0x531ad8,lookupColumn:_0x347867,lookupIdColumn:_0xfb767b}=_0x31ef38,_0x38df6d=_0x531ad8+':'+_0x347867+':'+_0xfb767b;if(!_0xa7ef41['has'](_0x38df6d)){const _0x1e9b5b=await this['loadLookupTable'](_0x531ad8,_0x347867,_0xfb767b);_0xa7ef41['set'](_0x38df6d,_0x1e9b5b);}}const _0x2bbd88=_0x40f7c1['map']((_0x240138,_0x2b1948)=>{const _0x2cfdc6=_0x374337,_0x6d2880={..._0x240138};for(const [_0xb66b47,_0x362948]of Object['entries'](_0x73df33)){const {lookupTable:_0x4508b7,lookupColumn:_0x4ccf9a,lookupIdColumn:_0x1afbcb,targetField:_0x594b20,required:_0x3ce1ec}=_0x362948,_0x526c3d=_0x4508b7+':'+_0x4ccf9a+':'+_0x1afbcb,_0x5ac014=_0xa7ef41[_0x2cfdc6(0x1a7)](_0x526c3d),_0x1b1db2=_0x240138[_0xb66b47];if((_0x1b1db2===null||_0x4d01b1['yZVQw'](_0x1b1db2,undefined)||_0x4d01b1[_0x2cfdc6(0x1ab)](_0x1b1db2,''))&&!_0x3ce1ec){_0x6d2880[_0x594b20]=null;continue;}const _0x18bedd=this[_0x2cfdc6(0x197)](_0x1b1db2,_0x5ac014);_0x4d01b1['kWqvQ'](_0x18bedd,null)?_0x6d2880[_0x594b20]=_0x18bedd:(_0x3ce1ec&&_0x5636b7[_0x2cfdc6(0x1aa)]({'rowIndex':_0x2b1948,'field':_0xb66b47,'value':_0x1b1db2,'targetField':_0x594b20,'lookupTable':_0x4508b7,'message':'Value\x20\x22'+_0x1b1db2+'\x22\x20not\x20found\x20in\x20'+_0x4508b7}),_0x6d2880[_0x594b20]=null);}return _0x6d2880;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x40f7c1['length'],'errorCount':_0x5636b7[_0x374337(0x193)],'lookupFieldCount':Object[_0x374337(0x194)](_0x73df33)[_0x374337(0x193)]},_0x4d01b1[_0x374337(0x19a)]),{'processedRows':_0x2bbd88,'errors':_0x5636b7};}['getDistinctValues'](_0x5b71f0,_0x41a133){const _0x2529ae=a0_0x4feb94,_0x532b81={'pMpfJ':function(_0x48483b,_0x27e794){return _0x48483b!==_0x27e794;},'HjzTS':function(_0x4476f2,_0x32e4fb){return _0x4476f2!==_0x32e4fb;}},_0x8961cf=new Set();return _0x5b71f0[_0x2529ae(0x1bd)](_0x5bb0fa=>{const _0x49aa4d=_0x2529ae,_0x931a2e=_0x5bb0fa[_0x41a133];_0x532b81[_0x49aa4d(0x1b1)](_0x931a2e,null)&&_0x532b81['HjzTS'](_0x931a2e,undefined)&&_0x931a2e!==''&&_0x8961cf[_0x49aa4d(0x19e)](String(_0x931a2e)['trim']());}),Array['from'](_0x8961cf);}async['validateLookupValues'](_0x182329,_0x495de7){const _0x2fa894=a0_0x4feb94,_0x49b54d={'AHaVR':function(_0x16f566,_0x2436bc){return _0x16f566!==_0x2436bc;},'ARuDG':function(_0x3af36a,_0x33ed88){return _0x3af36a===_0x33ed88;},'yPYYu':function(_0x1ccfd7,_0x2015bd){return _0x1ccfd7===_0x2015bd;}};if(!_0x495de7||_0x49b54d['ARuDG'](Object['keys'](_0x495de7)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x57562a=[],_0x2111cb={};for(const [_0x256153,_0x4c3150]of Object['entries'](_0x495de7)){const {lookupTable:_0x56a61c,lookupColumn:_0x433053,lookupIdColumn:_0x589b27,required:_0x5776d8}=_0x4c3150,_0x310f13=this[_0x2fa894(0x191)](_0x182329,_0x256153),_0x427129=await this['loadLookupTable'](_0x56a61c,_0x433053,_0x589b27),_0x3f0fa2=[],_0xe2d851=[];_0x310f13['forEach'](_0x580dcc=>{const _0x970c45=_0x2fa894,_0x189b49=this[_0x970c45(0x197)](_0x580dcc,_0x427129);_0x49b54d['AHaVR'](_0x189b49,null)?_0xe2d851[_0x970c45(0x1aa)](_0x580dcc):_0x3f0fa2[_0x970c45(0x1aa)](_0x580dcc);});if(_0x3f0fa2['length']>0x0&&_0x5776d8){_0x57562a[_0x2fa894(0x1aa)]({'field':_0x256153,'lookupTable':_0x56a61c,'invalidValues':_0x3f0fa2,'message':_0x3f0fa2['length']+_0x2fa894(0x1b6)+_0x56a61c});const _0x131f3a=[];_0x427129[_0x2fa894(0x1bd)]((_0x3e333d,_0x2e90ed)=>{if(_0x2e90ed===_0x2e90ed['toLowerCase']())return;_0x131f3a['push'](_0x2e90ed);}),_0x2111cb[_0x256153]={'invalidValues':_0x3f0fa2,'availableValues':_0x131f3a[_0x2fa894(0x1b2)](0x0,0x32)};}}return{'valid':_0x49b54d[_0x2fa894(0x1ad)](_0x57562a['length'],0x0),'errors':_0x57562a,'suggestions':_0x2111cb};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x16efba=a0_0xda68;(function(_0x380f2a,_0x389d6f){const _0x162e49=a0_0xda68,_0x2f73aa=_0x380f2a();while(!![]){try{const _0x1ff630=parseInt(_0x162e49(0x16c))/0x1+parseInt(_0x162e49(0x172))/0x2*(parseInt(_0x162e49(0x187))/0x3)+-parseInt(_0x162e49(0x166))/0x4+parseInt(_0x162e49(0x185))/0x5*(parseInt(_0x162e49(0x179))/0x6)+parseInt(_0x162e49(0x17c))/0x7*(parseInt(_0x162e49(0x162))/0x8)+-parseInt(_0x162e49(0x171))/0x9*(parseInt(_0x162e49(0x17f))/0xa)+-parseInt(_0x162e49(0x182))/0xb*(parseInt(_0x162e49(0x189))/0xc);if(_0x1ff630===_0x389d6f)break;else _0x2f73aa['push'](_0x2f73aa['shift']());}catch(_0x582c77){_0x2f73aa['push'](_0x2f73aa['shift']());}}}(a0_0x4160,0x623c5));const fs=require('fs')[a0_0x16efba(0x173)],path=require(a0_0x16efba(0x183)),{logger}=require('./logger');function a0_0xda68(_0x1aa8b6,_0x9432fc){_0x1aa8b6=_0x1aa8b6-0x161;const _0x416052=a0_0x4160();let _0xda683b=_0x416052[_0x1aa8b6];if(a0_0xda68['ojwGYo']===undefined){var _0x5e6593=function(_0x3bb0f7){const _0x20727c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1855e5='',_0x5966ae='';for(let _0x248af1=0x0,_0x49b71,_0x4f17a6,_0x39a789=0x0;_0x4f17a6=_0x3bb0f7['charAt'](_0x39a789++);~_0x4f17a6&&(_0x49b71=_0x248af1%0x4?_0x49b71*0x40+_0x4f17a6:_0x4f17a6,_0x248af1++%0x4)?_0x1855e5+=String['fromCharCode'](0xff&_0x49b71>>(-0x2*_0x248af1&0x6)):0x0){_0x4f17a6=_0x20727c['indexOf'](_0x4f17a6);}for(let _0x432284=0x0,_0x8b7346=_0x1855e5['length'];_0x432284<_0x8b7346;_0x432284++){_0x5966ae+='%'+('00'+_0x1855e5['charCodeAt'](_0x432284)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5966ae);};a0_0xda68['dLFzws']=_0x5e6593,a0_0xda68['QuPIqG']={},a0_0xda68['ojwGYo']=!![];}const _0x53ed0f=_0x416052[0x0],_0x3d2cd5=_0x1aa8b6+_0x53ed0f,_0x136ee0=a0_0xda68['QuPIqG'][_0x3d2cd5];return!_0x136ee0?(_0xda683b=a0_0xda68['dLFzws'](_0xda683b),a0_0xda68['QuPIqG'][_0x3d2cd5]=_0xda683b):_0xda683b=_0x136ee0,_0xda683b;}class PayloadLoader{constructor(){const _0xe88d7=a0_0x16efba,_0x5d0e2b={'LAibN':'../../payload'};this[_0xe88d7(0x188)]=path[_0xe88d7(0x168)](__dirname,_0x5d0e2b[_0xe88d7(0x16a)]),this[_0xe88d7(0x174)]=new Map();}async['loadPayload'](_0x112db0,_0x487f35){const _0x1b7ccf=a0_0x16efba,_0x3aa9e2={'mzdXI':'utf8','jfyEA':_0x1b7ccf(0x16d),'qiFRB':'Payload\x20loaded\x20successfully','VgsPV':'payload_load_error'},_0x27c5b2=_0x112db0+':'+_0x487f35;if(this[_0x1b7ccf(0x174)]['has'](_0x27c5b2))return this['cache'][_0x1b7ccf(0x17e)](_0x27c5b2);const _0x52883e=path['join'](this[_0x1b7ccf(0x188)],_0x112db0+'_'+_0x487f35+_0x1b7ccf(0x181));try{const _0x19ba0c=await fs[_0x1b7ccf(0x161)](_0x52883e,_0x3aa9e2[_0x1b7ccf(0x165)]),_0x46f4b4=JSON['parse'](_0x19ba0c);return this['cache'][_0x1b7ccf(0x177)](_0x27c5b2,_0x46f4b4),logger['debug']({'event':_0x3aa9e2[_0x1b7ccf(0x167)],'project':_0x112db0,'resource':_0x487f35},_0x3aa9e2[_0x1b7ccf(0x16b)]),_0x46f4b4;}catch(_0x19940e){logger['error']({'event':_0x3aa9e2['VgsPV'],'project':_0x112db0,'resource':_0x487f35,'error':_0x19940e[_0x1b7ccf(0x176)]},'Failed\x20to\x20load\x20payload');throw new Error(_0x1b7ccf(0x16f)+_0x112db0+'_'+_0x487f35);}}async[a0_0x16efba(0x186)](_0x9f2a5a){const _0x34a0b6=a0_0x16efba,_0x3dbb47={'HGgnM':_0x34a0b6(0x16d)},_0xd6c2e3=_0x34a0b6(0x17b)+_0x9f2a5a;if(this['cache']['has'](_0xd6c2e3))return this['cache'][_0x34a0b6(0x17e)](_0xd6c2e3);const _0x161e33=path[_0x34a0b6(0x168)](this['payloadDir'],_0x9f2a5a+_0x34a0b6(0x181));try{const _0x2f5196=await fs['readFile'](_0x161e33,'utf8'),_0x581365=JSON['parse'](_0x2f5196);return this['cache']['set'](_0xd6c2e3,_0x581365),logger['debug']({'event':_0x3dbb47[_0x34a0b6(0x164)],'payloadName':_0x9f2a5a},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x581365;}catch(_0x6929bb){logger[_0x34a0b6(0x163)]({'event':_0x34a0b6(0x175),'payloadName':_0x9f2a5a,'error':_0x6929bb['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x9f2a5a);}}['isActionEnabled'](_0x199a53,_0x1e7dca){return _0x199a53['action']&&_0x199a53['action'][_0x1e7dca]===!![];}[a0_0x16efba(0x17a)](_0x4325ad){const _0x1f0125=a0_0x16efba;return{'columns':_0x4325ad[_0x1f0125(0x170)]||[],'filename':_0x4325ad['tableName'][_0x1f0125(0x184)]('.','-')+_0x1f0125(0x16e),'datatablesQuery':_0x4325ad[_0x1f0125(0x17d)]||null,'columnFormats':_0x4325ad['columnFormats']||null,'fieldLabels':_0x4325ad[_0x1f0125(0x180)]||null};}[a0_0x16efba(0x178)](){const _0xc3491c=a0_0x16efba,_0x4e0328={'RmJzx':'Payload\x20cache\x20cleared'};this[_0xc3491c(0x174)][_0xc3491c(0x169)](),logger['info']({'event':'payload_cache_cleared'},_0x4e0328['RmJzx']);}}module['exports']=new PayloadLoader();function a0_0x4160(){const _0x360778=['mtCXsvzszvPz','mtuXodeWnLrHwhP5zW','ChjVBwLZzxm','y2fJAgu','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','BwvZC2fNzq','C2v0','y2XLyxjdywnOzq','otC1oda0s0vqq1De','z2v0rxHWB3j0q29UzMLN','Cgf5Bg9HzdO','mJfmzNDcEhq','zgf0yxrHyMXLC1f1zxj5','z2v0','mJKWnJuWBwHNy0Tk','zMLLBgrmywjLBhm','lMPZB24','mJjnBhr0AuC','Cgf0Aa','CMvWBgfJzq','nxHkwu5oAq','Bg9HzfbHEwXVywrcEu5HBwu','m0LeDNryBG','Cgf5Bg9HzerPCG','mty4ndi0ogzKzxDztq','CMvHzezPBgu','mtK4mdm3nLDSEhz1yq','zxjYB3i','seDNBK0','BxPKweK','mtK5mti0ogHkufvyyq','AMz5rue','AM9PBG','y2XLyxi','tefPyK4','CwLguKi','nJG4mdbwsKTswfi','Cgf5Bg9Hzf9SB2fKzwq','lwv4Cg9YDa','ugf5Bg9HzcbUB3qGzM91BMq6ia','zMLLBgroyw1L'];a0_0x4160=function(){return _0x360778;};return a0_0x4160();}
1
+ const a0_0x19f2de=a0_0x117e;(function(_0x49a70a,_0x16cbd0){const _0x721db4=a0_0x117e,_0x1a291f=_0x49a70a();while(!![]){try{const _0x411e17=parseInt(_0x721db4(0x17f))/0x1+-parseInt(_0x721db4(0x18a))/0x2*(-parseInt(_0x721db4(0x18e))/0x3)+-parseInt(_0x721db4(0x179))/0x4+-parseInt(_0x721db4(0x193))/0x5+-parseInt(_0x721db4(0x188))/0x6*(parseInt(_0x721db4(0x17e))/0x7)+parseInt(_0x721db4(0x191))/0x8+parseInt(_0x721db4(0x189))/0x9;if(_0x411e17===_0x16cbd0)break;else _0x1a291f['push'](_0x1a291f['shift']());}catch(_0x6fa82d){_0x1a291f['push'](_0x1a291f['shift']());}}}(a0_0xbbb5,0x31d28));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x22c38e=a0_0x117e,_0x4c81d6={'VQouj':_0x22c38e(0x196)};this['payloadDir']=path[_0x22c38e(0x18d)](__dirname,_0x4c81d6[_0x22c38e(0x198)]),this[_0x22c38e(0x17a)]=new Map();}async[a0_0x19f2de(0x197)](_0x5892eb,_0x4d7b3b){const _0x2af56a=a0_0x19f2de,_0x50c4c4={'myZGc':'payload_loaded','AJRbX':_0x2af56a(0x178)},_0x412789=_0x5892eb+':'+_0x4d7b3b;if(this[_0x2af56a(0x17a)][_0x2af56a(0x199)](_0x412789))return this[_0x2af56a(0x17a)][_0x2af56a(0x18c)](_0x412789);const _0x206750=path['join'](this['payloadDir'],_0x5892eb+'_'+_0x4d7b3b+_0x2af56a(0x177));try{const _0x542fac=await fs[_0x2af56a(0x187)](_0x206750,'utf8'),_0x51a255=JSON[_0x2af56a(0x17b)](_0x542fac);return this['cache']['set'](_0x412789,_0x51a255),logger[_0x2af56a(0x175)]({'event':_0x50c4c4['myZGc'],'project':_0x5892eb,'resource':_0x4d7b3b},'Payload\x20loaded\x20successfully'),_0x51a255;}catch(_0x2633f3){logger['error']({'event':'payload_load_error','project':_0x5892eb,'resource':_0x4d7b3b,'error':_0x2633f3['message']},_0x50c4c4['AJRbX']);throw new Error('Payload\x20not\x20found:\x20'+_0x5892eb+'_'+_0x4d7b3b);}}async[a0_0x19f2de(0x176)](_0x4cce27){const _0x5c0933=a0_0x19f2de,_0x343bbf={'hBxPg':_0x5c0933(0x18f),'PuWGO':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x1ca896=_0x5c0933(0x184)+_0x4cce27;if(this['cache']['has'](_0x1ca896))return this['cache'][_0x5c0933(0x18c)](_0x1ca896);const _0x37516=path[_0x5c0933(0x18d)](this['payloadDir'],_0x4cce27+_0x5c0933(0x177));try{const _0x1d0696=await fs[_0x5c0933(0x187)](_0x37516,_0x343bbf[_0x5c0933(0x17d)]),_0x1a7b56=JSON[_0x5c0933(0x17b)](_0x1d0696);return this[_0x5c0933(0x17a)]['set'](_0x1ca896,_0x1a7b56),logger[_0x5c0933(0x175)]({'event':_0x5c0933(0x192),'payloadName':_0x4cce27},_0x343bbf['PuWGO']),_0x1a7b56;}catch(_0x38c3ce){logger[_0x5c0933(0x17c)]({'event':_0x5c0933(0x182),'payloadName':_0x4cce27,'error':_0x38c3ce[_0x5c0933(0x18b)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x5c0933(0x185)+_0x4cce27);}}[a0_0x19f2de(0x195)](_0x2ab1c0,_0x425036){const _0xba3e8b=a0_0x19f2de,_0x4107b5={'OUeIB':function(_0x166a92,_0x959f71){return _0x166a92===_0x959f71;}};return _0x2ab1c0[_0xba3e8b(0x186)]&&_0x4107b5[_0xba3e8b(0x194)](_0x2ab1c0[_0xba3e8b(0x186)][_0x425036],!![]);}[a0_0x19f2de(0x174)](_0x3e5293){const _0x59f708=a0_0x19f2de;return{'columns':_0x3e5293['fieldName']||[],'filename':_0x3e5293[_0x59f708(0x180)]['replace']('.','-')+'-export','datatablesQuery':_0x3e5293[_0x59f708(0x190)]||null,'columnFormats':_0x3e5293['columnFormats']||null,'fieldLabels':_0x3e5293['fieldLabels']||null};}['clearCache'](){const _0x3c9483=a0_0x19f2de,_0x4e2ab9={'gZBlq':'payload_cache_cleared','Qyfsl':'Payload\x20cache\x20cleared'};this[_0x3c9483(0x17a)][_0x3c9483(0x19a)](),logger[_0x3c9483(0x183)]({'event':_0x4e2ab9[_0x3c9483(0x181)]},_0x4e2ab9['Qyfsl']);}}function a0_0xbbb5(){const _0x4c5fd7=['AM9PBG','m1zYrur3DW','DxrMoa','zgf0yxrHyMXLC1f1zxj5','mteWmZyYnhLwvezuAa','Cgf5Bg9Hzf9SB2fKzwq','mtC2nZuYmgnUAxbLEa','t1vLsui','Axnby3rPB25fBMfIBgvK','lI4VlI4VCgf5Bg9Hza','Bg9HzfbHEwXVywq','vLfVDwO','AgfZ','y2XLyxi','z2v0rxHWB3j0q29UzMLN','zgvIDwC','Bg9HzfbHEwXVywrcEu5HBwu','lMPZB24','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtmWmZi1mMfZrez5Dq','y2fJAgu','CgfYC2u','zxjYB3i','Aej4ugC','ndyXm3fWA3DIyq','mtu4oty1vfDzsM93','DgfIBgvoyw1L','z1PcBhe','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Aw5MBW','Cgf5Bg9HzdO','ugf5Bg9HzcbUB3qGzM91BMq6ia','ywn0Aw9U','CMvHzezPBgu','mJiZmND3tNzbsW','ndi2mdy1ngnov2Lssa','nZe2ndi2yLHMEwDI','BwvZC2fNzq','z2v0'];a0_0xbbb5=function(){return _0x4c5fd7;};return a0_0xbbb5();}function a0_0x117e(_0x99bfcc,_0x4b5ba6){_0x99bfcc=_0x99bfcc-0x174;const _0xbbb5be=a0_0xbbb5();let _0x117ecb=_0xbbb5be[_0x99bfcc];if(a0_0x117e['aeUKHT']===undefined){var _0x507e5b=function(_0x132971){const _0xa926ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2053bb='',_0x1fb7b0='';for(let _0x482c67=0x0,_0xc6d68,_0x5f3ded,_0x55c0c4=0x0;_0x5f3ded=_0x132971['charAt'](_0x55c0c4++);~_0x5f3ded&&(_0xc6d68=_0x482c67%0x4?_0xc6d68*0x40+_0x5f3ded:_0x5f3ded,_0x482c67++%0x4)?_0x2053bb+=String['fromCharCode'](0xff&_0xc6d68>>(-0x2*_0x482c67&0x6)):0x0){_0x5f3ded=_0xa926ba['indexOf'](_0x5f3ded);}for(let _0x45d763=0x0,_0x2676f4=_0x2053bb['length'];_0x45d763<_0x2676f4;_0x45d763++){_0x1fb7b0+='%'+('00'+_0x2053bb['charCodeAt'](_0x45d763)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fb7b0);};a0_0x117e['eyuOER']=_0x507e5b,a0_0x117e['fJFSqU']={},a0_0x117e['aeUKHT']=!![];}const _0x12d549=_0xbbb5be[0x0],_0x2dc39e=_0x99bfcc+_0x12d549,_0x128554=a0_0x117e['fJFSqU'][_0x2dc39e];return!_0x128554?(_0x117ecb=a0_0x117e['eyuOER'](_0x117ecb),a0_0x117e['fJFSqU'][_0x2dc39e]=_0x117ecb):_0x117ecb=_0x128554,_0x117ecb;}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';function a0_0x57ee(){var _0x466060=['mtjMwe9Jt0y','ote2mJy0n21SA3vKzq','mZm2nJi4y3LcreT5','mZaYodq5mvLfEMjRwq','ndu4we5xv2zK','zxHWB3j0CW','ntG3uuzoBfPo','nw1UrgTAza','mZzzzK1AEfK','nJK3ndG4oevhzMr5sa','mtbVuhbezNG','nZCWmZu5n1zlDMjiza','n0f3AKTcEG','mZe0mdC5mefvC0jOAq'];a0_0x57ee=function(){return _0x466060;};return a0_0x57ee();}var a0_0x54701b=a0_0xaaff;(function(_0x177524,_0x4d1176){var _0x41d934=a0_0xaaff,_0x1f4e01=_0x177524();while(!![]){try{var _0x47359d=-parseInt(_0x41d934(0x162))/0x1*(parseInt(_0x41d934(0x16e))/0x2)+parseInt(_0x41d934(0x164))/0x3*(parseInt(_0x41d934(0x16c))/0x4)+parseInt(_0x41d934(0x163))/0x5*(parseInt(_0x41d934(0x169))/0x6)+parseInt(_0x41d934(0x168))/0x7*(parseInt(_0x41d934(0x165))/0x8)+parseInt(_0x41d934(0x16d))/0x9*(-parseInt(_0x41d934(0x166))/0xa)+-parseInt(_0x41d934(0x167))/0xb+parseInt(_0x41d934(0x16a))/0xc*(-parseInt(_0x41d934(0x16b))/0xd);if(_0x47359d===_0x4d1176)break;else _0x1f4e01['push'](_0x1f4e01['shift']());}catch(_0x18c5d6){_0x1f4e01['push'](_0x1f4e01['shift']());}}}(a0_0x57ee,0x812f6));function createResponse(_0x1f719d,_0x27f8ce,_0x311579=null){return{'success':!![],'statusCode':_0x1f719d,'message':_0x27f8ce,'data':_0x311579,'timestamp':new Date()['toISOString']()};}function a0_0xaaff(_0x5bb7e7,_0x23951e){_0x5bb7e7=_0x5bb7e7-0x162;var _0x57eeb5=a0_0x57ee();var _0xaaff42=_0x57eeb5[_0x5bb7e7];if(a0_0xaaff['bdanwS']===undefined){var _0x5bac83=function(_0x379c6e){var _0x3d7cfb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2a225a='',_0x1e3e94='';for(var _0x4e23f0=0x0,_0x1c2cfb,_0x1fa707,_0x33afce=0x0;_0x1fa707=_0x379c6e['charAt'](_0x33afce++);~_0x1fa707&&(_0x1c2cfb=_0x4e23f0%0x4?_0x1c2cfb*0x40+_0x1fa707:_0x1fa707,_0x4e23f0++%0x4)?_0x2a225a+=String['fromCharCode'](0xff&_0x1c2cfb>>(-0x2*_0x4e23f0&0x6)):0x0){_0x1fa707=_0x3d7cfb['indexOf'](_0x1fa707);}for(var _0x4229ba=0x0,_0x211217=_0x2a225a['length'];_0x4229ba<_0x211217;_0x4229ba++){_0x1e3e94+='%'+('00'+_0x2a225a['charCodeAt'](_0x4229ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e3e94);};a0_0xaaff['oTSNOe']=_0x5bac83,a0_0xaaff['hKTREI']={},a0_0xaaff['bdanwS']=!![];}var _0x2356f6=_0x57eeb5[0x0],_0xcd942f=_0x5bb7e7+_0x2356f6,_0x217402=a0_0xaaff['hKTREI'][_0xcd942f];return!_0x217402?(_0xaaff42=a0_0xaaff['oTSNOe'](_0xaaff42),a0_0xaaff['hKTREI'][_0xcd942f]=_0xaaff42):_0xaaff42=_0x217402,_0xaaff42;}function createError(_0x2703b7,_0x4f804b,_0x7188bd=null){return{'success':![],'statusCode':_0x2703b7,'message':_0x4f804b,'data':_0x7188bd,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x109685,_0x2ef325){return{'success':![],'statusCode':0x190,'message':_0x109685,'data':{'errors':_0x2ef325},'timestamp':new Date()['toISOString']()};}module[a0_0x54701b(0x16f)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';(function(_0x249d25,_0x38be1b){var _0xd5b4fa=a0_0x550b,_0x1ac3c7=_0x249d25();while(!![]){try{var _0x1e7be7=-parseInt(_0xd5b4fa(0xfe))/0x1*(parseInt(_0xd5b4fa(0xf8))/0x2)+-parseInt(_0xd5b4fa(0xfc))/0x3*(-parseInt(_0xd5b4fa(0x100))/0x4)+parseInt(_0xd5b4fa(0xff))/0x5+parseInt(_0xd5b4fa(0xfb))/0x6+parseInt(_0xd5b4fa(0xf9))/0x7+parseInt(_0xd5b4fa(0xfd))/0x8+-parseInt(_0xd5b4fa(0xfa))/0x9;if(_0x1e7be7===_0x38be1b)break;else _0x1ac3c7['push'](_0x1ac3c7['shift']());}catch(_0x5f15ad){_0x1ac3c7['push'](_0x1ac3c7['shift']());}}}(a0_0x1b49,0x98723));function a0_0x1b49(){var _0x22802e=['mJa0mZmZmZLJDfvJzuO','nJu2mJCWnhjlwM9dDq','m05Nq3jLBG','nJiXodqXnKfjvKjuDW','mvrctvDdrG','mZm3mJK1zhfbBuf0','nda4mJC2ogHLu3zpEq','Dg9ju09tDhjPBMC','mtC5odq3me10DgDmza','ntG0mZuXnKzOvM1PzG'];a0_0x1b49=function(){return _0x22802e;};return a0_0x1b49();}function createResponse(_0x5c8f29,_0x368f95,_0x23eadd=null){return{'success':!![],'statusCode':_0x5c8f29,'message':_0x368f95,'data':_0x23eadd,'timestamp':new Date()['toISOString']()};}function createError(_0x54658f,_0x406472,_0x4317cb=null){var _0x517ff0=a0_0x550b;return{'success':![],'statusCode':_0x54658f,'message':_0x406472,'data':_0x4317cb,'timestamp':new Date()[_0x517ff0(0x101)]()};}function a0_0x550b(_0x1b8230,_0x410c71){_0x1b8230=_0x1b8230-0xf8;var _0x1b49ff=a0_0x1b49();var _0x550bd0=_0x1b49ff[_0x1b8230];if(a0_0x550b['kIVyzS']===undefined){var _0x101b36=function(_0x1f8f6b){var _0x4c8a55='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x270324='',_0x504e1e='';for(var _0x446c43=0x0,_0x460dd5,_0x3153b9,_0x26d85d=0x0;_0x3153b9=_0x1f8f6b['charAt'](_0x26d85d++);~_0x3153b9&&(_0x460dd5=_0x446c43%0x4?_0x460dd5*0x40+_0x3153b9:_0x3153b9,_0x446c43++%0x4)?_0x270324+=String['fromCharCode'](0xff&_0x460dd5>>(-0x2*_0x446c43&0x6)):0x0){_0x3153b9=_0x4c8a55['indexOf'](_0x3153b9);}for(var _0x24a8ee=0x0,_0x1491d7=_0x270324['length'];_0x24a8ee<_0x1491d7;_0x24a8ee++){_0x504e1e+='%'+('00'+_0x270324['charCodeAt'](_0x24a8ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x504e1e);};a0_0x550b['OWEyER']=_0x101b36,a0_0x550b['sqsLUV']={},a0_0x550b['kIVyzS']=!![];}var _0x56e61e=_0x1b49ff[0x0],_0x9e62af=_0x1b8230+_0x56e61e,_0x1ade31=a0_0x550b['sqsLUV'][_0x9e62af];return!_0x1ade31?(_0x550bd0=a0_0x550b['OWEyER'](_0x550bd0),a0_0x550b['sqsLUV'][_0x9e62af]=_0x550bd0):_0x550bd0=_0x1ade31,_0x550bd0;}function createValidationError(_0x10d053,_0x2913f3){return{'success':![],'statusCode':0x190,'message':_0x10d053,'data':{'errors':_0x2913f3},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x42a9b1=a0_0x185a;(function(_0x43ce7c,_0x48db66){const _0x2b21c7=a0_0x185a,_0x3eb802=_0x43ce7c();while(!![]){try{const _0x8b03b5=parseInt(_0x2b21c7(0xcc))/0x1+-parseInt(_0x2b21c7(0xa4))/0x2*(parseInt(_0x2b21c7(0xc2))/0x3)+parseInt(_0x2b21c7(0xb8))/0x4+parseInt(_0x2b21c7(0xa6))/0x5*(-parseInt(_0x2b21c7(0xac))/0x6)+-parseInt(_0x2b21c7(0xae))/0x7*(parseInt(_0x2b21c7(0xa8))/0x8)+parseInt(_0x2b21c7(0xa0))/0x9*(parseInt(_0x2b21c7(0xa1))/0xa)+-parseInt(_0x2b21c7(0xaa))/0xb;if(_0x8b03b5===_0x48db66)break;else _0x3eb802['push'](_0x3eb802['shift']());}catch(_0x340bb2){_0x3eb802['push'](_0x3eb802['shift']());}}}(a0_0x4454,0xef88e),require(a0_0x42a9b1(0xcb))[a0_0x42a9b1(0xc1)]());const amqp=require(a0_0x42a9b1(0xb6)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x42a9b1(0xc3)][a0_0x42a9b1(0xab)],ROUTING_KEY=process[a0_0x42a9b1(0xc3)][a0_0x42a9b1(0xba)],QUEUE=process[a0_0x42a9b1(0xc3)]['RABBITMQ_QUEUE'];function a0_0x185a(_0x43f6f0,_0x5b8caa){_0x43f6f0=_0x43f6f0-0xa0;const _0x445499=a0_0x4454();let _0x185a0c=_0x445499[_0x43f6f0];if(a0_0x185a['aLiJqS']===undefined){var _0x178b92=function(_0xa571e4){const _0x3e15a4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ae2b3='',_0x521963='';for(let _0x5e161c=0x0,_0x3d1abf,_0x22ffcc,_0x166c4b=0x0;_0x22ffcc=_0xa571e4['charAt'](_0x166c4b++);~_0x22ffcc&&(_0x3d1abf=_0x5e161c%0x4?_0x3d1abf*0x40+_0x22ffcc:_0x22ffcc,_0x5e161c++%0x4)?_0x4ae2b3+=String['fromCharCode'](0xff&_0x3d1abf>>(-0x2*_0x5e161c&0x6)):0x0){_0x22ffcc=_0x3e15a4['indexOf'](_0x22ffcc);}for(let _0x48524a=0x0,_0xe69d8b=_0x4ae2b3['length'];_0x48524a<_0xe69d8b;_0x48524a++){_0x521963+='%'+('00'+_0x4ae2b3['charCodeAt'](_0x48524a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x521963);};a0_0x185a['MtZAab']=_0x178b92,a0_0x185a['tiKsPS']={},a0_0x185a['aLiJqS']=!![];}const _0xda21f1=_0x445499[0x0],_0x271a0b=_0x43f6f0+_0xda21f1,_0x1b108e=a0_0x185a['tiKsPS'][_0x271a0b];return!_0x1b108e?(_0x185a0c=a0_0x185a['MtZAab'](_0x185a0c),a0_0x185a['tiKsPS'][_0x271a0b]=_0x185a0c):_0x185a0c=_0x1b108e,_0x185a0c;}function a0_0x4454(){const _0x4a6945=['mZGZneDMtuLrAa','uxvLDwuG','mtaXnduXsvL0z09A','q1Luwhi','tg11zNe','ihDPDgGGreXy','CMv0CNKTzxHJAgfUz2u','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','qunAv0K','Ee1Iq3q','yw1XCgXPyG','ignYzwf0zwqVCMvHzhK','nJK3mdeYohjtwNzizW','zxHWB3j0CW','uKfcqKLutvfFuK9vveLor19lrvK','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','zxHPDa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbcAw5KAw5Nia','xsbszxrYEsbIAw5KAw5NigzVCIa','xsbfuLjpuJOGuxvLDwuG','y29UzMLN','mZy5ouznA3jQCW','zw52','BwvZC2fNzq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','xsbszxrYEsbXDwv1zsa','AunYB28','xsbfEgnOyw5Nzsa','zg90zw52','mta4mZC5nvrrrMLOsq','ntrVB1fzyK8','mZa4mZG5meXjzM5lAW','Bg9N','Aw5JBhvKzxm','nZy0BgHMAe5x','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','mZi0nuX4v1brqW','yxnZzxj0uxvLDwu','ntG0Dg5PtK5s','zxjYB3i','mtKYnZaWmZfNAeneve8','uKfcqKLutvfFrvHdsefor0u'];a0_0x4454=function(){return _0x4a6945;};return a0_0x4454();}async function createConnection(){const _0x4c53b9=a0_0x42a9b1,_0x57c208={'jLABs':function(_0x46fc21,_0x4a7ee8){return _0x46fc21(_0x4a7ee8);}};try{const _0x596c8d=await amqp['connect'](RABBITMQ_URL);return console[_0x4c53b9(0xa2)]('['+formatDate(new Date())+_0x4c53b9(0xbd)),_0x596c8d;}catch(_0x28f9dc){console[_0x4c53b9(0xa9)]('['+_0x57c208['jLABs'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x28f9dc[_0x4c53b9(0xc4)]);throw _0x28f9dc;}}async function createChannel(_0x67d485){const _0xdf75f9=a0_0x42a9b1,_0x1a0fb0={'ndrRc':function(_0x65e2ed,_0x23e04f){return _0x65e2ed(_0x23e04f);}};try{const _0x58d728=await _0x67d485['createChannel']();return console['log']('['+_0x1a0fb0['ndrRc'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x58d728;}catch(_0x47205c){console['error']('['+formatDate(new Date())+_0xdf75f9(0xbb)+_0x47205c['message']);throw _0x47205c;}}async function setupInfrastructure(_0x113074){const _0x5ce1b1=a0_0x42a9b1,_0x208d80={'ACZWI':function(_0x569feb,_0x135b75){return _0x569feb(_0x135b75);},'xMbCt':function(_0x1f5f38,_0x2ef8e3){return _0x1f5f38(_0x2ef8e3);},'iCroo':_0x5ce1b1(0xb2),'Lmufq':function(_0x142cf7,_0x1bc889){return _0x142cf7===_0x1bc889;},'CYTXr':'inequivalent\x20arg','Dtmsa':'x-dead-letter-routing-key'};try{await _0x113074['assertExchange'](_0x5ce1b1(0xb2),'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x54e09c){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x54e09c['message']);throw _0x54e09c;}try{await _0x113074['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x5ce1b1(0xa2)]('['+formatDate(new Date())+_0x5ce1b1(0xca)+EXCHANGE+'\x20created/ready');}catch(_0x5efc24){console['error']('['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+_0x5ce1b1(0xc7)+EXCHANGE+':',_0x5efc24['message']);throw _0x5efc24;}const _0x2eda16=ROUTING_KEY+'_retry';try{const _0x517695={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x113074['assertQueue'](_0x2eda16,_0x517695),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xc8)+_0x2eda16+_0x5ce1b1(0xb7)),await _0x113074['bindQueue'](_0x2eda16,_0x5ce1b1(0xb2),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xbf)+ROUTING_KEY+'\x20created');}catch(_0x1fef54){console[_0x5ce1b1(0xa9)]('['+_0x208d80[_0x5ce1b1(0xb5)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x1fef54['message']);throw _0x1fef54;}try{const _0x2b4255={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x208d80[_0x5ce1b1(0xc9)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x488977=await _0x113074[_0x5ce1b1(0xa7)](QUEUE,_0x2b4255);console[_0x5ce1b1(0xa2)]('['+_0x208d80[_0x5ce1b1(0xb5)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x208d80[_0x5ce1b1(0xb0)](_0x488977['queue'],QUEUE)?'created/ready':'found')+_0x5ce1b1(0xb1)),await _0x113074['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xbe)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x5ce1b1(0xc6));}catch(_0x8debbf){if(_0x8debbf[_0x5ce1b1(0xc4)][_0x5ce1b1(0xa3)](_0x208d80['CYTXr'])&&_0x8debbf['message'][_0x5ce1b1(0xa3)](_0x208d80['Dtmsa']))console['error']('\x0a['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+_0x5ce1b1(0xc0)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x5ce1b1(0xa9)](_0x5ce1b1(0xad)+QUEUE+_0x5ce1b1(0xb3)),console[_0x5ce1b1(0xa9)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x5ce1b1(0xa5)+QUEUE+':',_0x8debbf['message']);throw _0x8debbf;}}}catch(_0x284654){if(!_0x284654['message'][_0x5ce1b1(0xa3)](_0x208d80[_0x5ce1b1(0xaf)])){console[_0x5ce1b1(0xa9)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x284654['message']);throw _0x284654;}process[_0x5ce1b1(0xbc)](0x1);}}async function closeConnection(_0x5955df){const _0xe322a2=a0_0x42a9b1;if(_0x5955df)try{await _0x5955df['close'](),console[_0xe322a2(0xa2)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x17806f){console['error']('['+formatDate(new Date())+_0xe322a2(0xc5)+_0x17806f['message']);}}module[a0_0x42a9b1(0xb9)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x30a316=a0_0x1935;function a0_0x1935(_0x1d6f9c,_0x3d613c){_0x1d6f9c=_0x1d6f9c-0x136;const _0xc10a3c=a0_0xc10a();let _0x1935b0=_0xc10a3c[_0x1d6f9c];if(a0_0x1935['ZvcjtB']===undefined){var _0x1882b4=function(_0x44b1a3){const _0x17b38e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x457280='',_0x1f9576='';for(let _0x53c939=0x0,_0x52b3ca,_0x166007,_0x457ca0=0x0;_0x166007=_0x44b1a3['charAt'](_0x457ca0++);~_0x166007&&(_0x52b3ca=_0x53c939%0x4?_0x52b3ca*0x40+_0x166007:_0x166007,_0x53c939++%0x4)?_0x457280+=String['fromCharCode'](0xff&_0x52b3ca>>(-0x2*_0x53c939&0x6)):0x0){_0x166007=_0x17b38e['indexOf'](_0x166007);}for(let _0x1f2bff=0x0,_0x18062b=_0x457280['length'];_0x1f2bff<_0x18062b;_0x1f2bff++){_0x1f9576+='%'+('00'+_0x457280['charCodeAt'](_0x1f2bff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f9576);};a0_0x1935['bnpwBS']=_0x1882b4,a0_0x1935['oMIqVR']={},a0_0x1935['ZvcjtB']=!![];}const _0x4d92c7=_0xc10a3c[0x0],_0x3f3780=_0x1d6f9c+_0x4d92c7,_0x4d04d8=a0_0x1935['oMIqVR'][_0x3f3780];return!_0x4d04d8?(_0x1935b0=a0_0x1935['bnpwBS'](_0x1935b0),a0_0x1935['oMIqVR'][_0x3f3780]=_0x1935b0):_0x1935b0=_0x4d04d8,_0x1935b0;}(function(_0x509e3d,_0x174d5e){const _0x5101d3=a0_0x1935,_0x56512=_0x509e3d();while(!![]){try{const _0x237270=parseInt(_0x5101d3(0x140))/0x1+-parseInt(_0x5101d3(0x13d))/0x2*(parseInt(_0x5101d3(0x138))/0x3)+parseInt(_0x5101d3(0x15d))/0x4*(-parseInt(_0x5101d3(0x159))/0x5)+parseInt(_0x5101d3(0x141))/0x6*(parseInt(_0x5101d3(0x15f))/0x7)+-parseInt(_0x5101d3(0x155))/0x8+-parseInt(_0x5101d3(0x148))/0x9*(-parseInt(_0x5101d3(0x150))/0xa)+-parseInt(_0x5101d3(0x14a))/0xb;if(_0x237270===_0x174d5e)break;else _0x56512['push'](_0x56512['shift']());}catch(_0x340a78){_0x56512['push'](_0x56512['shift']());}}}(a0_0xc10a,0x5e691),require('dotenv')[a0_0x30a316(0x136)]());function a0_0xc10a(){const _0x553fdb=['otLNtfjyr0i','tMzHEvy','mJm4odmYD3v3qwry','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','uKfcqKLutvfFuvvfvuu','CxvLDwu','yxnZzxj0uxvLDwu','BwvZC2fNzq','mJu0nJmWyxvkEent','Bg9N','xsbszxrYEsbXDwv1zsa','ignYzwf0zwqVCMvHzhK','xsbszxrYEsbIAw5KAw5NigzVCIa','ndK3ndaWyvvKuw5K','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','uKfcqKLutvfFrvHdsefor0u','B0fTB3y','ndu2ndG1zKLeAw5r','z3nvCNu','yNnlCKS','Aw5JBhvKzxm','nhvMDxr3wq','xsbfuLjpuJOGuxvLDwuG','mJG5nZnHyND0A1K','zM91BMq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','D2vHqvi','y29UzMLN','y29UBMvJDa','mtaXmdK5mw1OCMLoDa','yxnZzxj0rxHJAgfUz2u','AeH4y3O','zw52','yMLUzff1zxvL','mKvLteLwtq','CMv0CNKTzxHJAgfUz2u','zxHWB3j0CW','mJKXodeYAwXvq0Ti','ndC0DMDmuen6','zNnPC1i','DMfXsfK','xsbcAw5KAw5Nia','zxjYB3i','y2XVC2u','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa'];a0_0xc10a=function(){return _0x553fdb;};return a0_0xc10a();}const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x30a316(0x13b)]['RABBITMQ_URL'],EXCHANGE=process[a0_0x30a316(0x13b)][a0_0x30a316(0x157)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x30a316(0x13b)][a0_0x30a316(0x14c)];async function createConnection(){const _0x37c533=a0_0x30a316,_0xf2c620={'NKpVi':function(_0x855dd8,_0x4b4724){return _0x855dd8(_0x4b4724);}};try{const _0x58b399=await amqp[_0x37c533(0x137)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x58b399;}catch(_0x274203){console[_0x37c533(0x145)]('['+_0xf2c620['NKpVi'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x274203['message']);throw _0x274203;}}async function createChannel(_0x4e68ee){const _0x5955a7=a0_0x30a316,_0x492ce8={'fsisR':function(_0x4b7f8a,_0x5a2f20){return _0x4b7f8a(_0x5a2f20);}};try{const _0x25504f=await _0x4e68ee['createChannel']();return console['log']('['+_0x492ce8[_0x5955a7(0x142)](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x25504f;}catch(_0x50982c){console[_0x5955a7(0x145)]('['+formatDate(new Date())+_0x5955a7(0x162)+_0x50982c[_0x5955a7(0x14f)]);throw _0x50982c;}}async function setupInfrastructure(_0x56620e){const _0x3e1a31=a0_0x30a316,_0x2a883c={'gsUru':'direct','NfayV':function(_0xa8f629,_0x116da6){return _0xa8f629(_0x116da6);},'hHxcz':function(_0x21b2d5,_0x1aa69a){return _0x21b2d5===_0x1aa69a;},'bsKrK':_0x3e1a31(0x160),'vaqHY':function(_0x517edf,_0x1e8170){return _0x517edf(_0x1e8170);},'oAmov':'inequivalent\x20arg','bWNAX':'x-dead-letter-routing-key'};try{await _0x56620e[_0x3e1a31(0x139)](_0x3e1a31(0x13e),_0x2a883c[_0x3e1a31(0x15a)],{'durable':!![],'autoDelete':![]}),console[_0x3e1a31(0x151)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x12cba9){console[_0x3e1a31(0x145)]('['+_0x2a883c[_0x3e1a31(0x149)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x12cba9[_0x3e1a31(0x14f)]);throw _0x12cba9;}try{await _0x56620e['assertExchange'](EXCHANGE,_0x2a883c['gsUru'],{'durable':!![],'autoDelete':![]}),console[_0x3e1a31(0x151)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x3e1a31(0x153));}catch(_0x47e0a9){console['error']('['+formatDate(new Date())+_0x3e1a31(0x147)+EXCHANGE+':',_0x47e0a9[_0x3e1a31(0x14f)]);throw _0x47e0a9;}const _0x579e27=ROUTING_KEY+'_retry';try{const _0x308931={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x56620e[_0x3e1a31(0x14e)](_0x579e27,_0x308931),console[_0x3e1a31(0x151)]('['+_0x2a883c['NfayV'](formatDate,new Date())+_0x3e1a31(0x152)+_0x579e27+_0x3e1a31(0x153)),await _0x56620e['bindQueue'](_0x579e27,_0x3e1a31(0x13e),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x3e1a31(0x154)+ROUTING_KEY+'\x20created');}catch(_0x5910c0){console['error']('['+formatDate(new Date())+_0x3e1a31(0x161),_0x5910c0[_0x3e1a31(0x14f)]);throw _0x5910c0;}try{const _0x29394a={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x2f9363=await _0x56620e['assertQueue'](QUEUE,_0x29394a);console['log']('['+_0x2a883c['NfayV'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2a883c[_0x3e1a31(0x13a)](_0x2f9363[_0x3e1a31(0x14d)],QUEUE)?'created/ready':_0x2a883c[_0x3e1a31(0x15b)])+'\x20with\x20DLX'),await _0x56620e[_0x3e1a31(0x13c)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3e1a31(0x151)]('['+_0x2a883c[_0x3e1a31(0x143)](formatDate,new Date())+_0x3e1a31(0x144)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x5acc5b){if(_0x5acc5b['message'][_0x3e1a31(0x15c)](_0x2a883c[_0x3e1a31(0x158)])&&_0x5acc5b[_0x3e1a31(0x14f)]['includes'](_0x2a883c['bWNAX']))console[_0x3e1a31(0x145)]('\x0a['+formatDate(new Date())+_0x3e1a31(0x15e)+QUEUE+_0x3e1a31(0x156)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x5acc5b[_0x3e1a31(0x14f)]);throw _0x5acc5b;}}}catch(_0xf1a2ea){if(!_0xf1a2ea[_0x3e1a31(0x14f)]['includes'](_0x2a883c[_0x3e1a31(0x158)])){console['error']('['+_0x2a883c['vaqHY'](formatDate,new Date())+_0x3e1a31(0x14b),_0xf1a2ea['message']);throw _0xf1a2ea;}process['exit'](0x1);}}async function closeConnection(_0x317e7d){const _0x651405=a0_0x30a316,_0x188315={'weaAR':function(_0x47419a,_0x430e14){return _0x47419a(_0x430e14);}};if(_0x317e7d)try{await _0x317e7d[_0x651405(0x146)](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x159a46){console[_0x651405(0x145)]('['+_0x188315[_0x651405(0x163)](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x159a46['message']);}}module[a0_0x30a316(0x13f)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x26593c=a0_0x57a8;function a0_0x57a8(_0x368d8f,_0x428d23){_0x368d8f=_0x368d8f-0xba;const _0x4f1823=a0_0x4f18();let _0x57a8cb=_0x4f1823[_0x368d8f];if(a0_0x57a8['zixoGg']===undefined){var _0x2d7167=function(_0x3203b1){const _0x41d6c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18916c='',_0x575757='';for(let _0x336d60=0x0,_0x4ef11e,_0x2d14c3,_0xd7c375=0x0;_0x2d14c3=_0x3203b1['charAt'](_0xd7c375++);~_0x2d14c3&&(_0x4ef11e=_0x336d60%0x4?_0x4ef11e*0x40+_0x2d14c3:_0x2d14c3,_0x336d60++%0x4)?_0x18916c+=String['fromCharCode'](0xff&_0x4ef11e>>(-0x2*_0x336d60&0x6)):0x0){_0x2d14c3=_0x41d6c2['indexOf'](_0x2d14c3);}for(let _0x1070ef=0x0,_0x1e0cac=_0x18916c['length'];_0x1070ef<_0x1e0cac;_0x1070ef++){_0x575757+='%'+('00'+_0x18916c['charCodeAt'](_0x1070ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x575757);};a0_0x57a8['atSaJJ']=_0x2d7167,a0_0x57a8['uDqJVd']={},a0_0x57a8['zixoGg']=!![];}const _0x2d87b8=_0x4f1823[0x0],_0x3f7f06=_0x368d8f+_0x2d87b8,_0x559c9e=a0_0x57a8['uDqJVd'][_0x3f7f06];return!_0x559c9e?(_0x57a8cb=a0_0x57a8['atSaJJ'](_0x57a8cb),a0_0x57a8['uDqJVd'][_0x3f7f06]=_0x57a8cb):_0x57a8cb=_0x559c9e,_0x57a8cb;}(function(_0x1b4bc9,_0x4d1275){const _0x5f177c=a0_0x57a8,_0x414fe2=_0x1b4bc9();while(!![]){try{const _0x299230=-parseInt(_0x5f177c(0xcc))/0x1*(parseInt(_0x5f177c(0xd4))/0x2)+-parseInt(_0x5f177c(0xbc))/0x3+-parseInt(_0x5f177c(0xd8))/0x4*(parseInt(_0x5f177c(0xc6))/0x5)+-parseInt(_0x5f177c(0xc4))/0x6+parseInt(_0x5f177c(0xd9))/0x7*(-parseInt(_0x5f177c(0xd2))/0x8)+-parseInt(_0x5f177c(0xd0))/0x9+parseInt(_0x5f177c(0xd1))/0xa*(parseInt(_0x5f177c(0xca))/0xb);if(_0x299230===_0x4d1275)break;else _0x414fe2['push'](_0x414fe2['shift']());}catch(_0x5bee7d){_0x414fe2['push'](_0x414fe2['shift']());}}}(a0_0x4f18,0x7f572));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x4f18(){const _0x8a6364=['CgLUzW','AxndB25Uzwn0zwq','uKvesvnFueftu1DpuKq','mtG1nZa0yLnLwNPf','n1P3t1bfBW','CMfJzq','zw52','mte0nde3nKfcugL3ua','zxHWB3j0CW','CMvKAxnFzxjYB3i','y2XPzw50','zxjYB3i','Bg9JywXOB3n0','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','qNruz3e','mJqWmZy4nhjbuK5grq','uMvKAxmGueLorYb0Aw1LB3v0','mtvIrMTzy0S','B2Hhww0','Aw5MBW','zgLZy29UBMvJDa','mZa5mwz2vuXAAa','y29UBMvJDa','nvzlsgHmBq','y2XVC2u','EKzZuw4','CMvKAxnFzgLZy29UBMvJDgvK','mtu1mZy5n1nyvK9ItG','mta5mteWBLjWzvrp','ndCXntK0nfvfDgLfuq','uKvesvnFrei','mZq0mZK4A05by2vz'];a0_0x4f18=function(){return _0x8a6364;};return a0_0x4f18();}class RedisClient{constructor(){const _0x3c4d6b=a0_0x57a8;this[_0x3c4d6b(0xbf)]=null,this[_0x3c4d6b(0xd6)]=![];}['connect'](){const _0x5b596f=a0_0x57a8,_0x1f1b89={'AhuXi':function(_0x3601bb,_0x3ae5b6){return _0x3601bb*_0x3ae5b6;},'BtTgq':'redis_connected','UyAYZ':_0x5b596f(0xbe),'RecXP':_0x5b596f(0xc2),'OrCZO':function(_0x57dd74,_0x24ae5e,_0x28f7f3){return _0x57dd74(_0x24ae5e,_0x28f7f3);},'zFsQn':_0x5b596f(0xcb),'GFhtO':_0x5b596f(0xc0),'ZHQYM':_0x5b596f(0xcd),'ohGYm':'redis_init_error','PFXIQ':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this['client'];try{return this[_0x5b596f(0xbf)]=new Redis({'host':process[_0x5b596f(0xbb)]['REDIS_HOST']||_0x5b596f(0xc1),'port':_0x1f1b89['OrCZO'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x5b596f(0xbb)][_0x5b596f(0xd7)]||undefined,'db':parseInt(process[_0x5b596f(0xbb)][_0x5b596f(0xd3)],0xa)||0x0,'retryStrategy'(_0x4be07e){const _0x1915c1=Math['min'](_0x1f1b89['AhuXi'](_0x4be07e,0x32),0x7d0);return _0x1915c1;}}),this['client']['on'](_0x1f1b89[_0x5b596f(0xce)],()=>{const _0x348c53=_0x5b596f;this['isConnected']=!![],logger[_0x348c53(0xc8)]({'event':_0x1f1b89[_0x348c53(0xc3)]},'Redis\x20connected\x20successfully');}),this[_0x5b596f(0xbf)]['on'](_0x1f1b89['GFhtO'],_0x5f33ac=>{const _0x256974=_0x5b596f;this['isConnected']=![],logger[_0x256974(0xc0)]({'event':_0x1f1b89['UyAYZ'],'error':_0x5f33ac['message']},'Redis\x20connection\x20error:\x20'+_0x5f33ac['message']);}),this[_0x5b596f(0xbf)]['on'](_0x1f1b89['ZHQYM'],()=>{const _0x57e3d2=_0x5b596f;this[_0x57e3d2(0xd6)]=![],logger['warn']({'event':_0x57e3d2(0xcf)},_0x1f1b89['RecXP']);}),this['client'];}catch(_0x5c7c20){logger['error']({'event':_0x1f1b89[_0x5b596f(0xc7)],'error':_0x5c7c20['message']},_0x1f1b89['PFXIQ']);throw _0x5c7c20;}}['getClient'](){const _0x46718b=a0_0x57a8;return!this['client']&&this[_0x46718b(0xcb)](),this['client'];}async[a0_0x26593c(0xd5)](_0x5ec669=0x1388){const _0x9026f3=a0_0x26593c,_0x312cfa={'tHAYJ':function(_0x287028,_0x5d3ba3){return _0x287028===_0x5d3ba3;},'KoJaI':'PONG'};try{const _0x10deb3=this['getClient'](),_0x738b16=await Promise[_0x9026f3(0xba)]([_0x10deb3[_0x9026f3(0xd5)](),new Promise((_0x1ea48a,_0xc9b741)=>setTimeout(()=>_0xc9b741(new Error(_0x9026f3(0xc5))),_0x5ec669))]);return _0x312cfa['tHAYJ'](_0x738b16,_0x312cfa['KoJaI']);}catch(_0x31b1e0){return![];}}async['disconnect'](){const _0x2d4b27=a0_0x26593c;this['client']&&(await this[_0x2d4b27(0xbf)]['quit'](),this['client']=null,this[_0x2d4b27(0xd6)]=![]);}['forceDisconnect'](){const _0x1dc956=a0_0x26593c;this[_0x1dc956(0xbf)]&&(this['client'][_0x1dc956(0xc9)](),this['client']=null,this['isConnected']=![]);}}module[a0_0x26593c(0xbd)]=new RedisClient();
1
+ const a0_0x25bf1c=a0_0xf73b;function a0_0x91b1(){const _0x36ef26=['mJHzq3jprwq','z0r2BMS','zgLZy29UBMvJDa','DgrftwK','rwLWA2C','zxjYB3i','y29UBMvJDa','nJu1mJiWv3Pxyw1T','zxHWB3j0CW','otK1ntuZmerxqLP1sq','Aw9YzwrPCW','mJK3mdm2ohDlvgjuAG','mtmWotqYogD6qMXSEa','y2XPzw50','z2v0q2XPzw50','D2fYBG','mZbYD3fTsMW','y2XVC2u','ue9orW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','CMvKAxnFy29UBMvJDgvK','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uMvKAxmGueLorYb0Aw1LB3v0','BwLU','BwvZC2fNzq','mJKYmteWmereDvjUtW','zw52','uKvesvnFse9tva','mZeXotK0owzOBvrxsq','ndq1mJa3vhbcr0Lb','AxndB25Uzwn0zwq'];a0_0x91b1=function(){return _0x36ef26;};return a0_0x91b1();}(function(_0x3537ae,_0x49d799){const _0x107d9a=a0_0xf73b,_0x4f8023=_0x3537ae();while(!![]){try{const _0x2b5311=parseInt(_0x107d9a(0x1ed))/0x1+-parseInt(_0x107d9a(0x1fb))/0x2+-parseInt(_0x107d9a(0x1fe))/0x3+-parseInt(_0x107d9a(0x201))/0x4*(-parseInt(_0x107d9a(0x208))/0x5)+parseInt(_0x107d9a(0x1f1))/0x6*(parseInt(_0x107d9a(0x1ff))/0x7)+-parseInt(_0x107d9a(0x1ec))/0x8+parseInt(_0x107d9a(0x20a))/0x9;if(_0x2b5311===_0x49d799)break;else _0x4f8023['push'](_0x4f8023['shift']());}catch(_0x9a38ed){_0x4f8023['push'](_0x4f8023['shift']());}}}(a0_0x91b1,0xbe34a));function a0_0xf73b(_0x4c5a1d,_0x576890){_0x4c5a1d=_0x4c5a1d-0x1ec;const _0x91b119=a0_0x91b1();let _0xf73b78=_0x91b119[_0x4c5a1d];if(a0_0xf73b['EIkiOw']===undefined){var _0x3ecc95=function(_0x42372a){const _0x3b39aa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e491e='',_0x47b124='';for(let _0x23e575=0x0,_0x305b16,_0x52fee6,_0x4695d9=0x0;_0x52fee6=_0x42372a['charAt'](_0x4695d9++);~_0x52fee6&&(_0x305b16=_0x23e575%0x4?_0x305b16*0x40+_0x52fee6:_0x52fee6,_0x23e575++%0x4)?_0x3e491e+=String['fromCharCode'](0xff&_0x305b16>>(-0x2*_0x23e575&0x6)):0x0){_0x52fee6=_0x3b39aa['indexOf'](_0x52fee6);}for(let _0x1c636b=0x0,_0x440921=_0x3e491e['length'];_0x1c636b<_0x440921;_0x1c636b++){_0x47b124+='%'+('00'+_0x3e491e['charCodeAt'](_0x1c636b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47b124);};a0_0xf73b['HJAXbZ']=_0x3ecc95,a0_0xf73b['jvbhpe']={},a0_0xf73b['EIkiOw']=!![];}const _0x1a53c1=_0x91b119[0x0],_0x41d4ec=_0x4c5a1d+_0x1a53c1,_0x21603a=a0_0xf73b['jvbhpe'][_0x41d4ec];return!_0x21603a?(_0xf73b78=a0_0xf73b['HJAXbZ'](_0xf73b78),a0_0xf73b['jvbhpe'][_0x41d4ec]=_0xf73b78):_0xf73b78=_0x21603a,_0xf73b78;}const Redis=require(a0_0x25bf1c(0x20b)),{logger}=require('./logger');class RedisClient{constructor(){const _0x27eed6=a0_0x25bf1c;this['client']=null,this[_0x27eed6(0x200)]=![];}['connect'](){const _0x338721=a0_0x25bf1c,_0x269363={'tdEMi':function(_0x53aed3,_0x168274){return _0x53aed3*_0x168274;},'UlJke':_0x338721(0x1f5),'vqlni':'Redis\x20connected\x20successfully','gDvnk':'Redis\x20connection\x20closed','imOqZ':'localhost','Eipkg':function(_0x2e423d,_0x180c33,_0xc21792){return _0x2e423d(_0x180c33,_0xc21792);},'fJfOW':'connect','bnFqA':_0x338721(0x1f2)};if(this['client'])return this[_0x338721(0x1ee)];try{return this['client']=new Redis({'host':process[_0x338721(0x1fc)][_0x338721(0x1fd)]||_0x269363['imOqZ'],'port':_0x269363[_0x338721(0x205)](parseInt,process[_0x338721(0x1fc)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x338721(0x1fc)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x31d4ba){const _0x414c04=_0x338721,_0x121e75=Math[_0x414c04(0x1f9)](_0x269363[_0x414c04(0x204)](_0x31d4ba,0x32),0x7d0);return _0x121e75;}}),this[_0x338721(0x1ee)]['on'](_0x269363['fJfOW'],()=>{const _0x386b6e=_0x338721;this[_0x386b6e(0x200)]=!![],logger['info']({'event':_0x269363['UlJke']},_0x269363['vqlni']);}),this['client']['on'](_0x338721(0x206),_0x86db15=>{const _0x1719c4=_0x338721;this[_0x1719c4(0x200)]=![],logger[_0x1719c4(0x206)]({'event':'redis_error','error':_0x86db15[_0x1719c4(0x1fa)]},_0x1719c4(0x1f7)+_0x86db15['message']);}),this['client']['on'](_0x269363['bnFqA'],()=>{const _0x4e6118=_0x338721;this[_0x4e6118(0x200)]=![],logger[_0x4e6118(0x1f0)]({'event':'redis_disconnected'},_0x269363[_0x4e6118(0x202)]);}),this[_0x338721(0x1ee)];}catch(_0x34e33f){logger['error']({'event':'redis_init_error','error':_0x34e33f[_0x338721(0x1fa)]},_0x338721(0x1f4));throw _0x34e33f;}}[a0_0x25bf1c(0x1ef)](){const _0x297475=a0_0x25bf1c;return!this['client']&&this[_0x297475(0x207)](),this['client'];}async['ping'](_0x14a4cc=0x1388){const _0x33b865=a0_0x25bf1c;try{const _0x5f0357=this['getClient'](),_0x53d089=await Promise['race']([_0x5f0357['ping'](),new Promise((_0x2ce7c7,_0x17c127)=>setTimeout(()=>_0x17c127(new Error(_0x33b865(0x1f8))),_0x14a4cc))]);return _0x53d089===_0x33b865(0x1f3);}catch(_0x48456e){return![];}}async['disconnect'](){const _0x3e0584=a0_0x25bf1c;this['client']&&(await this['client']['quit'](),this[_0x3e0584(0x1ee)]=null,this[_0x3e0584(0x200)]=![]);}[a0_0x25bf1c(0x1f6)](){const _0x12aa70=a0_0x25bf1c;this[_0x12aa70(0x1ee)]&&(this[_0x12aa70(0x1ee)][_0x12aa70(0x203)](),this[_0x12aa70(0x1ee)]=null,this[_0x12aa70(0x200)]=![]);}}module[a0_0x25bf1c(0x209)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x5cd073=a0_0xd07f;(function(_0x2ecfac,_0x39144f){const _0x35c049=a0_0xd07f,_0x27dc57=_0x2ecfac();while(!![]){try{const _0x56cc3c=parseInt(_0x35c049(0x12d))/0x1+parseInt(_0x35c049(0x126))/0x2+parseInt(_0x35c049(0x13b))/0x3+-parseInt(_0x35c049(0x130))/0x4*(parseInt(_0x35c049(0x121))/0x5)+parseInt(_0x35c049(0x12e))/0x6+parseInt(_0x35c049(0x13a))/0x7*(parseInt(_0x35c049(0x135))/0x8)+-parseInt(_0x35c049(0x131))/0x9*(parseInt(_0x35c049(0x136))/0xa);if(_0x56cc3c===_0x39144f)break;else _0x27dc57['push'](_0x27dc57['shift']());}catch(_0x203ade){_0x27dc57['push'](_0x27dc57['shift']());}}}(a0_0xc773,0xe67f1));function a0_0xc773(){const _0x1dc7d5=['CMvKAxnFz2v0x2vYCM9Y','C2v0zxG','mtbguhHTwvK','z2v0q2XPzw50','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','lI9SB2DNzxi','yu5mtuO','mJaWnZe2nLHisLrhzW','oMv4Cg9YDdO','CgfYC2u','z2v0sM9I','CMvZDgzVCMDLoG','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','BwvZC2fNzq','mtKZmtGWqw5jExfr','nJC2nJGWnLfRDNDMwa','zw52','mtm2odK1nLneCefdBq','nda3ndneug5zseG','ChvZAa','x3bYzwzPEa','CMvKAxnFzgvSzxrLx2vYCM9Y','mtq1odC0mJrnAwLYse8','odq5mhDlwvDHuG','DhrS','z2v0','zxjYB3i','n2rwvwvsEG','mZK3mJa2nKX5CNrjzW','Ew1Twgi','ChjLzML4'];a0_0xc773=function(){return _0x1dc7d5;};return a0_0xc773();}function a0_0xd07f(_0x2f0231,_0x223c01){_0x2f0231=_0x2f0231-0x120;const _0xc77317=a0_0xc773();let _0xd07f1=_0xc77317[_0x2f0231];if(a0_0xd07f['hzpZvF']===undefined){var _0x55e1b1=function(_0x593516){const _0x598c67='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39ee60='',_0x44e779='';for(let _0x2c50d3=0x0,_0x2fd937,_0x299b2c,_0x483277=0x0;_0x299b2c=_0x593516['charAt'](_0x483277++);~_0x299b2c&&(_0x2fd937=_0x2c50d3%0x4?_0x2fd937*0x40+_0x299b2c:_0x299b2c,_0x2c50d3++%0x4)?_0x39ee60+=String['fromCharCode'](0xff&_0x2fd937>>(-0x2*_0x2c50d3&0x6)):0x0){_0x299b2c=_0x598c67['indexOf'](_0x299b2c);}for(let _0x19af56=0x0,_0x3286ed=_0x39ee60['length'];_0x19af56<_0x3286ed;_0x19af56++){_0x44e779+='%'+('00'+_0x39ee60['charCodeAt'](_0x19af56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44e779);};a0_0xd07f['HRlJCB']=_0x55e1b1,a0_0xd07f['FAKenY']={},a0_0xd07f['hzpZvF']=!![];}const _0x52cc8a=_0xc77317[0x0],_0x417e3e=_0x2f0231+_0x52cc8a,_0x4e5c5f=a0_0xd07f['FAKenY'][_0x417e3e];return!_0x4e5c5f?(_0xd07f1=a0_0xd07f['HRlJCB'](_0xd07f1),a0_0xd07f['FAKenY'][_0x417e3e]=_0xd07f1):_0xd07f1=_0x4e5c5f,_0xd07f1;}const redisClient=require('./redis-client'),{logger}=require(a0_0x5cd073(0x124));class RedisHelper{constructor(){const _0x11b3bc=a0_0x5cd073;this['_prefix']=null,this[_0x11b3bc(0x137)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x5cd073(0x13d)](){const _0x52c688=a0_0x5cd073;if(!this['_prefix']){const _0x23ce24=process[_0x52c688(0x12f)]['RESTFORGE_PROJECT_NAME']||'default';this[_0x52c688(0x133)]=_0x52c688(0x12a)+_0x23ce24+_0x52c688(0x127);}return this[_0x52c688(0x133)];}async['setJob'](_0x4412c5,_0xe123f1){const _0x474a5b=a0_0x5cd073;try{const _0x5f48c2=redisClient[_0x474a5b(0x122)](),_0x585690=''+this[_0x474a5b(0x13d)]+_0x4412c5;return await _0x5f48c2[_0x474a5b(0x120)](_0x585690,this[_0x474a5b(0x137)],JSON['stringify'](_0xe123f1)),!![];}catch(_0x178cf3){return logger['error']({'event':'redis_set_error','jobId':_0x4412c5,'error':_0x178cf3['message']},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x5cd073(0x129)](_0x4fb45f){const _0x8f38c9=a0_0x5cd073,_0x3b8741={'ymmXb':_0x8f38c9(0x13e),'znwyh':_0x8f38c9(0x123)};try{const _0x5051fe=redisClient['getClient'](),_0x48f0ed=''+this['prefix']+_0x4fb45f,_0x427b2b=await _0x5051fe[_0x8f38c9(0x138)](_0x48f0ed);return _0x427b2b?JSON[_0x8f38c9(0x128)](_0x427b2b):null;}catch(_0x288d9a){return logger[_0x8f38c9(0x139)]({'event':_0x3b8741[_0x8f38c9(0x13c)],'jobId':_0x4fb45f,'error':_0x288d9a[_0x8f38c9(0x12c)]},_0x3b8741['znwyh']),null;}}async['updateJob'](_0x3b627a,_0x291cf4){const _0xacf81b=a0_0x5cd073,_0x2b4615=await this[_0xacf81b(0x129)](_0x3b627a);if(!_0x2b4615)return![];const _0x4da016={..._0x2b4615,..._0x291cf4};return await this['setJob'](_0x3b627a,_0x4da016);}async['deleteJob'](_0x47063d){const _0x29877d=a0_0x5cd073,_0x12d303={'opZdv':_0x29877d(0x12b)};try{const _0x17f30c=redisClient[_0x29877d(0x122)](),_0x28365f=''+this['prefix']+_0x47063d;return await _0x17f30c['del'](_0x28365f),!![];}catch(_0x4d6ae0){return logger['error']({'event':_0x29877d(0x134),'jobId':_0x47063d,'error':_0x4d6ae0['message']},_0x12d303['opZdv']),![];}}async['getAllJobs'](){const _0x4f0a87=a0_0x5cd073,_0x2717d3={'aNLMJ':'redis_getall_error'};try{const _0x292f6=redisClient[_0x4f0a87(0x122)](),_0x406fb2=await _0x292f6['keys'](this[_0x4f0a87(0x13d)]+'*'),_0x5b8d75=[];for(const _0xfb6be3 of _0x406fb2){const _0x48aa49=await _0x292f6[_0x4f0a87(0x138)](_0xfb6be3);_0x48aa49&&_0x5b8d75[_0x4f0a87(0x132)](JSON['parse'](_0x48aa49));}return _0x5b8d75;}catch(_0x43ff0d){return logger[_0x4f0a87(0x139)]({'event':_0x2717d3[_0x4f0a87(0x125)],'error':_0x43ff0d[_0x4f0a87(0x12c)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module['exports']=new RedisHelper();
1
+ const a0_0x2eb562=a0_0x93f2;(function(_0x1f914a,_0x3d3de9){const _0x35c7f9=a0_0x93f2,_0x120c2e=_0x1f914a();while(!![]){try{const _0x26902b=-parseInt(_0x35c7f9(0x13d))/0x1*(parseInt(_0x35c7f9(0x143))/0x2)+parseInt(_0x35c7f9(0x13e))/0x3*(-parseInt(_0x35c7f9(0x151))/0x4)+parseInt(_0x35c7f9(0x138))/0x5+-parseInt(_0x35c7f9(0x13c))/0x6+-parseInt(_0x35c7f9(0x146))/0x7*(parseInt(_0x35c7f9(0x13b))/0x8)+-parseInt(_0x35c7f9(0x152))/0x9+parseInt(_0x35c7f9(0x153))/0xa;if(_0x26902b===_0x3d3de9)break;else _0x120c2e['push'](_0x120c2e['shift']());}catch(_0x416890){_0x120c2e['push'](_0x120c2e['shift']());}}}(a0_0x227b,0x4fd15));const redisClient=require(a0_0x2eb562(0x144)),{logger}=require(a0_0x2eb562(0x130));function a0_0x93f2(_0x549e08,_0x176dc2){_0x549e08=_0x549e08-0x12f;const _0x227b11=a0_0x227b();let _0x93f27a=_0x227b11[_0x549e08];if(a0_0x93f2['znnXCF']===undefined){var _0x2e4468=function(_0x36f079){const _0x20e19b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe3f5d7='',_0x2ee215='';for(let _0x525442=0x0,_0x3cef91,_0x35a479,_0x5c7eef=0x0;_0x35a479=_0x36f079['charAt'](_0x5c7eef++);~_0x35a479&&(_0x3cef91=_0x525442%0x4?_0x3cef91*0x40+_0x35a479:_0x35a479,_0x525442++%0x4)?_0xe3f5d7+=String['fromCharCode'](0xff&_0x3cef91>>(-0x2*_0x525442&0x6)):0x0){_0x35a479=_0x20e19b['indexOf'](_0x35a479);}for(let _0x328954=0x0,_0x57c5d7=_0xe3f5d7['length'];_0x328954<_0x57c5d7;_0x328954++){_0x2ee215+='%'+('00'+_0xe3f5d7['charCodeAt'](_0x328954)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ee215);};a0_0x93f2['shIzGE']=_0x2e4468,a0_0x93f2['oyQxsa']={},a0_0x93f2['znnXCF']=!![];}const _0x534259=_0x227b11[0x0],_0x45fda4=_0x549e08+_0x534259,_0x560075=a0_0x93f2['oyQxsa'][_0x45fda4];return!_0x560075?(_0x93f27a=a0_0x93f2['shIzGE'](_0x93f27a),a0_0x93f2['oyQxsa'][_0x45fda4]=_0x93f27a):_0x93f27a=_0x560075,_0x93f27a;}class RedisHelper{constructor(){const _0x413b70=a0_0x2eb562,_0x37fd20={'HQYpJ':function(_0x2cfa14,_0x256d40,_0x4735fa){return _0x2cfa14(_0x256d40,_0x4735fa);}};this[_0x413b70(0x14d)]=null,this[_0x413b70(0x135)]=_0x37fd20[_0x413b70(0x12f)](parseInt,process[_0x413b70(0x134)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x3fb7a4=a0_0x2eb562;if(!this[_0x3fb7a4(0x14d)]){const _0xad2b8f=process[_0x3fb7a4(0x134)]['RESTFORGE_PROJECT_NAME']||_0x3fb7a4(0x141);this['_prefix']=_0x3fb7a4(0x136)+_0xad2b8f+_0x3fb7a4(0x154);}return this['_prefix'];}async[a0_0x2eb562(0x150)](_0x408cb6,_0x424e94){const _0x336ed9=a0_0x2eb562,_0x41a6c6={'fDTVN':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x2d036c=redisClient['getClient'](),_0x38c28e=''+this[_0x336ed9(0x131)]+_0x408cb6;return await _0x2d036c[_0x336ed9(0x155)](_0x38c28e,this['ttl'],JSON['stringify'](_0x424e94)),!![];}catch(_0xd6ddd1){return logger[_0x336ed9(0x14a)]({'event':_0x336ed9(0x14e),'jobId':_0x408cb6,'error':_0xd6ddd1[_0x336ed9(0x14c)]},_0x41a6c6[_0x336ed9(0x148)]),![];}}async[a0_0x2eb562(0x139)](_0x165605){const _0x437e4c=a0_0x2eb562,_0x55d343={'nfIot':_0x437e4c(0x156),'eisKl':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x41811d=redisClient['getClient'](),_0xe5f05b=''+this[_0x437e4c(0x131)]+_0x165605,_0x5aeaae=await _0x41811d['get'](_0xe5f05b);return _0x5aeaae?JSON['parse'](_0x5aeaae):null;}catch(_0x4de38a){return logger['error']({'event':_0x55d343[_0x437e4c(0x142)],'jobId':_0x165605,'error':_0x4de38a[_0x437e4c(0x14c)]},_0x55d343[_0x437e4c(0x145)]),null;}}async[a0_0x2eb562(0x13f)](_0x226b6b,_0x21d0e5){const _0x3f3a89=await this['getJob'](_0x226b6b);if(!_0x3f3a89)return![];const _0x340ab4={..._0x3f3a89,..._0x21d0e5};return await this['setJob'](_0x226b6b,_0x340ab4);}async['deleteJob'](_0x14ee6d){const _0x3000e6=a0_0x2eb562;try{const _0x4bdee9=redisClient['getClient'](),_0x2f1b45=''+this[_0x3000e6(0x131)]+_0x14ee6d;return await _0x4bdee9[_0x3000e6(0x133)](_0x2f1b45),!![];}catch(_0xa9c71e){return logger[_0x3000e6(0x14a)]({'event':_0x3000e6(0x13a),'jobId':_0x14ee6d,'error':_0xa9c71e['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x2eb562(0x149)](){const _0x26738d=a0_0x2eb562,_0x91fd62={'MSDqa':_0x26738d(0x147)};try{const _0x45f1b9=redisClient['getClient'](),_0x2dc684=await _0x45f1b9['keys'](this[_0x26738d(0x131)]+'*'),_0x51cb5b=[];for(const _0x1f08e3 of _0x2dc684){const _0x234b0d=await _0x45f1b9[_0x26738d(0x14f)](_0x1f08e3);_0x234b0d&&_0x51cb5b[_0x26738d(0x14b)](JSON[_0x26738d(0x132)](_0x234b0d));}return _0x51cb5b;}catch(_0x470b5a){return logger['error']({'event':'redis_getall_error','error':_0x470b5a['message']},_0x91fd62[_0x26738d(0x137)]),[];}}}module[a0_0x2eb562(0x140)]=new RedisHelper();function a0_0x227b(){const _0x31bf25=['oMv4Cg9YDdO','C2v0zxG','CMvKAxnFz2v0x2vYCM9Y','sffzCeO','lI9SB2DNzxi','ChjLzML4','CgfYC2u','zgvS','zw52','DhrS','CMvZDgzVCMDLoG','tvneCwe','mtC5nZKWChDYqxzl','z2v0sM9I','CMvKAxnFzgvSzxrLx2vYCM9Y','offNwMvMDa','mJi1ndCXmfPZB1HcBa','mvvzDfn0Bq','mtC0nduZCuvHwLHe','DxbKyxrLsM9I','zxHWB3j0CW','zgvMyxvSDa','BMzjB3q','odeYmJm0ue5Zr1bk','lI9YzwrPCY1JBgLLBNq','zwLZs2W','mJqXmtq3oxLNCwn6Ea','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','zKruvK4','z2v0qwXSsM9ICW','zxjYB3i','ChvZAa','BwvZC2fNzq','x3bYzwzPEa','CMvKAxnFC2v0x2vYCM9Y','z2v0','C2v0sM9I','mJruA2r4tgW','mZmZodKZn3zVzfLPwG','mJeZnZi3mZb3BfHiDfu'];a0_0x227b=function(){return _0x31bf25;};return a0_0x227b();}