@restforgejs/platform 5.0.9 → 5.1.0

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 (170) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +963 -0
  5. package/generators/cli/payload/sync.js +18 -2
  6. package/generators/lib/migrate/field-type-resolver.js +18 -5
  7. package/generators/lib/payload/payload-runner.js +724 -39
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/trusted-keys.js +1 -1
  168. package/src/utils/upload-handler.js +1 -1
  169. package/src/utils/upsert-builder.js +1 -1
  170. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x1cb7d7=a0_0x730f;function a0_0x730f(_0x39eb5a,_0x42c14f){_0x39eb5a=_0x39eb5a-0x65;const _0xec10d1=a0_0xec10();let _0x730f69=_0xec10d1[_0x39eb5a];if(a0_0x730f['SXdKJe']===undefined){var _0x5dcbb1=function(_0x4e0fc4){const _0x53300='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c4252='',_0x4e8621='';for(let _0x17474b=0x0,_0x228fbd,_0x3405da,_0x384900=0x0;_0x3405da=_0x4e0fc4['charAt'](_0x384900++);~_0x3405da&&(_0x228fbd=_0x17474b%0x4?_0x228fbd*0x40+_0x3405da:_0x3405da,_0x17474b++%0x4)?_0x7c4252+=String['fromCharCode'](0xff&_0x228fbd>>(-0x2*_0x17474b&0x6)):0x0){_0x3405da=_0x53300['indexOf'](_0x3405da);}for(let _0x105116=0x0,_0x1fce67=_0x7c4252['length'];_0x105116<_0x1fce67;_0x105116++){_0x4e8621+='%'+('00'+_0x7c4252['charCodeAt'](_0x105116)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e8621);};a0_0x730f['qyaZAO']=_0x5dcbb1,a0_0x730f['jZDrWp']={},a0_0x730f['SXdKJe']=!![];}const _0x14c62d=_0xec10d1[0x0],_0x400bd8=_0x39eb5a+_0x14c62d,_0x3409c1=a0_0x730f['jZDrWp'][_0x400bd8];return!_0x3409c1?(_0x730f69=a0_0x730f['qyaZAO'](_0x730f69),a0_0x730f['jZDrWp'][_0x400bd8]=_0x730f69):_0x730f69=_0x3409c1,_0x730f69;}(function(_0x3616e9,_0x569212){const _0x4f4961=a0_0x730f,_0x3e7230=_0x3616e9();while(!![]){try{const _0x12fb7f=parseInt(_0x4f4961(0x83))/0x1*(-parseInt(_0x4f4961(0xc0))/0x2)+parseInt(_0x4f4961(0x66))/0x3+parseInt(_0x4f4961(0x79))/0x4+-parseInt(_0x4f4961(0x85))/0x5*(parseInt(_0x4f4961(0x6a))/0x6)+-parseInt(_0x4f4961(0x9b))/0x7+parseInt(_0x4f4961(0x78))/0x8+parseInt(_0x4f4961(0xc1))/0x9*(parseInt(_0x4f4961(0x9e))/0xa);if(_0x12fb7f===_0x569212)break;else _0x3e7230['push'](_0x3e7230['shift']());}catch(_0x4f0316){_0x3e7230['push'](_0x3e7230['shift']());}}}(a0_0xec10,0xd50f4));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x249d15=a0_0x730f,_0x4c7f7a=_0x249d15(0x8a)[_0x249d15(0xb3)]('|');let _0x552900=0x0;while(!![]){switch(_0x4c7f7a[_0x552900++]){case'0':this['_initialized']=![];continue;case'1':this['_retryCount']=null;continue;case'2':this['_prefix']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this['_strategy']=null;continue;case'5':this['_defaultTTL']=null;continue;case'6':this[_0x249d15(0x87)]=null;continue;case'7':this['_workerId']=null;continue;}break;}}['_initConfig'](){const _0x1cf662=a0_0x730f,_0x2f15e8={'wZlFj':_0x1cf662(0x90),'HpCjP':function(_0x21ab75,_0x3053ea){return _0x21ab75===_0x3053ea;},'gnpZQ':'rf:lock:','UJcRm':_0x1cf662(0xbc)},_0x2f037d=_0x2f15e8['wZlFj'][_0x1cf662(0xb3)]('|');let _0x9683a9=0x0;while(!![]){switch(_0x2f037d[_0x9683a9++]){case'0':this['_enabled']=_0x2f15e8['HpCjP'](process[_0x1cf662(0xa3)][_0x1cf662(0xb5)],_0x1cf662(0xab));continue;case'1':this[_0x1cf662(0xbd)]=!![];continue;case'2':this['_workerId']='worker-'+process[_0x1cf662(0xa8)];continue;case'3':this[_0x1cf662(0xa2)]=_0x2f15e8['gnpZQ'];continue;case'4':this['_retryCount']=parseInt(process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'5':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x1cf662(0x93)],'retryCount':this[_0x1cf662(0x84)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x1cf662(0x96)+this[_0x1cf662(0x87)]+_0x1cf662(0xaa)+this['_strategy']);continue;case'6':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'7':this['_strategy']=process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_STRATEGY']||_0x2f15e8['UJcRm'];continue;case'8':this['_defaultTTL']=parseInt(process['env'][_0x1cf662(0x75)],0xa)||0xa;continue;}break;}}['_ensureInitialized'](){const _0x59d4ef=a0_0x730f;!this[_0x59d4ef(0xbd)]&&this['_initConfig']();}get['prefix'](){const _0x312e2d=a0_0x730f;return this[_0x312e2d(0xaf)](),this[_0x312e2d(0xa2)];}get['enabled'](){const _0x3026b9=a0_0x730f;return this[_0x3026b9(0xaf)](),this[_0x3026b9(0x87)];}get[a0_0x1cb7d7(0xb6)](){const _0x28133c=a0_0x1cb7d7;return this[_0x28133c(0xaf)](),this['_defaultTTL'];}get['retryCount'](){const _0x56f6fd=a0_0x1cb7d7;return this['_ensureInitialized'](),this[_0x56f6fd(0x84)];}get[a0_0x1cb7d7(0x74)](){const _0x1965a4=a0_0x1cb7d7;return this[_0x1965a4(0xaf)](),this['_retryDelay'];}get['strategy'](){const _0x7a8271=a0_0x1cb7d7;return this[_0x7a8271(0xaf)](),this['_strategy'];}get[a0_0x1cb7d7(0xa1)](){const _0x403089=a0_0x1cb7d7;return this[_0x403089(0xaf)](),this[_0x403089(0x71)];}[a0_0x1cb7d7(0x9c)](_0x5b8376){const _0x101b7a=a0_0x1cb7d7,{module:_0xccc1de,endpoint:_0x508fdf,lockType:_0x530932,recordId:_0x3dcd93}=_0x5b8376;if(_0x3dcd93)return''+this[_0x101b7a(0x77)]+_0xccc1de+':'+_0x508fdf+':'+_0x3dcd93+':'+_0x530932;return''+this['prefix']+_0xccc1de+':'+_0x508fdf+':'+_0x530932;}['generateLockValue'](){const _0x4d63f3=a0_0x1cb7d7,_0x5563b8={'EpqdO':function(_0x5bbd4c){return _0x5bbd4c();}};return this['workerId']+':'+_0x5563b8[_0x4d63f3(0x69)](uuidv4)+':'+Date[_0x4d63f3(0x81)]();}async['acquireReadLock'](_0x308fcb){const _0x481cc6=a0_0x1cb7d7,_0x4bfece={'EwiOs':'READ\x20lock\x20acquired','zTWof':_0x481cc6(0x70),'KEcpB':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','yDznS':function(_0x231e7e,_0xee963f){return _0x231e7e*_0xee963f;},'waEmt':_0x481cc6(0x7c),'rVjvR':'READ\x20lock\x20acquire\x20timeout','ZAigZ':_0x481cc6(0xb7)};if(!this[_0x481cc6(0xb4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5a5ac0=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':_0x481cc6(0x6e)}),_0x31ee54=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':'read'}),_0x163bd4=this[_0x481cc6(0x6b)]();try{const _0x3c0c47=redisClient[_0x481cc6(0xac)]();for(let _0x18712a=0x0;_0x18712a<this[_0x481cc6(0x91)];_0x18712a++){const _0x582c2f=await _0x3c0c47[_0x481cc6(0x97)](_0x5a5ac0);if(!_0x582c2f){await _0x3c0c47['incr'](_0x31ee54),await _0x3c0c47['expire'](_0x31ee54,this[_0x481cc6(0xb6)]);const _0x12ed1f=_0x31ee54+':'+_0x163bd4;return await _0x3c0c47[_0x481cc6(0x89)](_0x12ed1f,this[_0x481cc6(0xb6)],_0x163bd4),logger['debug']({'event':'read_lock_acquired','key':_0x31ee54,'value':_0x163bd4},_0x4bfece[_0x481cc6(0x7f)]),{'success':!![],'lockValue':_0x163bd4,'lockKey':_0x12ed1f};}logger[_0x481cc6(0x8b)]({'event':_0x4bfece[_0x481cc6(0x92)],'writeKey':_0x5a5ac0,'attempt':_0x18712a},_0x4bfece['KEcpB']),await this[_0x481cc6(0x7d)](_0x4bfece[_0x481cc6(0xad)](this[_0x481cc6(0x74)],Math['pow'](0x2,_0x18712a)));}return logger['warn']({'event':_0x4bfece[_0x481cc6(0x98)],'key':_0x31ee54},_0x4bfece['rVjvR']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5bfad9){return logger[_0x481cc6(0x7e)]({'event':_0x4bfece[_0x481cc6(0xae)],'error':_0x5bfad9[_0x481cc6(0x8c)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x7033c0){const _0x7e6219=a0_0x1cb7d7,_0x41572f={'LBTGo':function(_0x309129,_0x2ad6b5){return _0x309129===_0x2ad6b5;},'tOUbo':_0x7e6219(0x76),'HhWEE':_0x7e6219(0x9a),'ZajMY':function(_0x1c9973,_0x18af34){return _0x1c9973<_0x18af34;},'SiKNX':function(_0x5566e4,_0x55e1bc){return _0x5566e4(_0x55e1bc);},'BHwxP':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','blTyI':_0x7e6219(0x8f),'TKemI':'write_lock_timeout','UIyFE':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x57d4d7=this['buildLockKey']({..._0x7033c0,'lockType':'write'}),_0x18d582=this[_0x7e6219(0x9c)]({..._0x7033c0,'lockType':_0x7e6219(0x82)}),_0x387aff=this['generateLockValue']();try{const _0x61a400=redisClient['getClient']();if(_0x41572f[_0x7e6219(0x6d)](this[_0x7e6219(0x86)],'reject')){const _0x443842=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x443842==='OK')return logger['debug']({'event':_0x41572f['tOUbo'],'key':_0x57d4d7,'value':_0x387aff,'strategy':'reject'},_0x41572f[_0x7e6219(0x94)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};return logger[_0x7e6219(0x8b)]({'event':_0x7e6219(0xa6),'key':_0x57d4d7},_0x7e6219(0xba)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x552798=0x0;_0x41572f['ZajMY'](_0x552798,this[_0x7e6219(0x91)]);_0x552798++){const [_0x2e7269,_0x310409]=await Promise['all']([_0x61a400[_0x7e6219(0x97)](_0x18d582),_0x61a400[_0x7e6219(0x97)](_0x57d4d7)]);if(!_0x310409&&(!_0x2e7269||_0x41572f['SiKNX'](parseInt,_0x2e7269)===0x0)){const _0x5dbaf8=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x41572f['LBTGo'](_0x5dbaf8,'OK'))return logger['debug']({'event':_0x41572f[_0x7e6219(0xbb)],'key':_0x57d4d7,'value':_0x387aff,'strategy':'retry'},_0x41572f[_0x7e6219(0xb8)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};}logger['debug']({'event':_0x41572f[_0x7e6219(0xa5)],'writeKey':_0x57d4d7,'readCount':_0x2e7269,'attempt':_0x552798},_0x7e6219(0xa7)),await this[_0x7e6219(0x7d)](this[_0x7e6219(0x74)]*Math['pow'](0x2,_0x552798));}return logger[_0x7e6219(0x6f)]({'event':_0x41572f['TKemI'],'key':_0x57d4d7},_0x7e6219(0xbf)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2746fa){return logger['error']({'event':_0x41572f[_0x7e6219(0x65)],'error':_0x2746fa[_0x7e6219(0x8c)]},_0x7e6219(0x88)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5b1337,_0x5ac27a){const _0xbab14=a0_0x1cb7d7,_0x196894={'TAyCR':function(_0x2ed9b8,_0x597696){return _0x2ed9b8>_0x597696;},'rrmmp':function(_0x5fe029,_0x2f86b2){return _0x5fe029===_0x2f86b2;},'kFhIf':_0xbab14(0xb9),'fKRLu':_0xbab14(0xa9),'dbFrw':'Lock\x20release\x20error'};if(!this[_0xbab14(0xb4)]||!_0x5b1337)return!![];try{const _0x4ec254=redisClient[_0xbab14(0xac)]();if(_0x5b1337[_0xbab14(0x9f)](':read:')){await _0x4ec254[_0xbab14(0x68)](_0x5b1337);const _0x3174f4=_0x5b1337['substring'](0x0,_0x5b1337['lastIndexOf'](':')),_0xe0cc6b=await _0x4ec254[_0xbab14(0x97)](_0x3174f4);return _0xe0cc6b&&_0x196894[_0xbab14(0xb2)](parseInt(_0xe0cc6b),0x0)&&await _0x4ec254['decr'](_0x3174f4),logger[_0xbab14(0x8b)]({'event':'read_lock_released','key':_0x5b1337},_0xbab14(0x95)),!![];}const _0x39928a=_0xbab14(0x73),_0x2ff2ba=await _0x4ec254['eval'](_0x39928a,0x1,_0x5b1337,_0x5ac27a);if(_0x196894['rrmmp'](_0x2ff2ba,0x1))return logger[_0xbab14(0x8b)]({'event':_0xbab14(0x9d),'key':_0x5b1337},_0x196894[_0xbab14(0xbe)]),!![];return logger[_0xbab14(0x6f)]({'event':'lock_release_not_owner','key':_0x5b1337},_0x196894[_0xbab14(0x7b)]),![];}catch(_0xeb41df){return logger['error']({'event':_0xbab14(0x67),'key':_0x5b1337,'error':_0xeb41df[_0xbab14(0x8c)]},_0x196894[_0xbab14(0x7a)]),![];}}async[a0_0x1cb7d7(0x99)](_0x6f48d7,_0x4dee75,_0x43e59a=null){const _0x50583f=a0_0x1cb7d7,_0x5ccf78={'XkHgA':_0x50583f(0x6c),'iRlAM':_0x50583f(0xb0),'xdTXi':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x6f48d7)return!![];try{const _0x485eea=redisClient['getClient'](),_0x2fee32='\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',_0x150cd4=await _0x485eea[_0x50583f(0xa0)](_0x2fee32,0x1,_0x6f48d7,_0x4dee75,_0x43e59a||this['defaultTTL']);if(_0x150cd4===0x1)return logger['debug']({'event':_0x5ccf78['XkHgA'],'key':_0x6f48d7,'ttl':_0x43e59a||this['defaultTTL']},_0x5ccf78[_0x50583f(0x8d)]),!![];return![];}catch(_0x4bc3a3){return logger[_0x50583f(0x7e)]({'event':'lock_extend_error','key':_0x6f48d7,'error':_0x4bc3a3['message']},_0x5ccf78[_0x50583f(0x72)]),![];}}['isEnabled'](){return this['enabled'];}['sleep'](_0x2cd321){return new Promise(_0x4a3943=>setTimeout(_0x4a3943,_0x2cd321));}async['getLockInfo'](_0x3f2937){const _0x271c04=a0_0x1cb7d7,_0x115dbd={'OrlvZ':'read'};if(!this[_0x271c04(0xb4)])return{'enabled':![]};try{const _0x76f946=redisClient[_0x271c04(0xac)](),_0xc3fd86=this['buildLockKey']({..._0x3f2937,'lockType':'write'}),_0x294d12=this[_0x271c04(0x9c)]({..._0x3f2937,'lockType':_0x115dbd[_0x271c04(0x8e)]}),[_0x8dc43a,_0x2a4dbc]=await Promise[_0x271c04(0xb1)]([_0x76f946['get'](_0xc3fd86),_0x76f946['get'](_0x294d12)]);return{'enabled':!![],'writeLock':_0x8dc43a||null,'readCount':parseInt(_0x2a4dbc)||0x0,'writeKey':_0xc3fd86,'readKey':_0x294d12};}catch(_0x2eeec2){return{'enabled':!![],'error':_0x2eeec2['message']};}}}module[a0_0x1cb7d7(0xa4)]=new LockManager();function a0_0xec10(){const _0xa50f88=['mZCWn1rouuLdva','x3jLDhj5q291BNq','mtG0nJq5me5WBvLRyW','C3rYyxrLz3K','x2vUywjSzwq','v1jjveuGBg9JAYbLCNjVCG','C2v0zxG','mNW2Fdv8mxWZFdr8n3WW','zgvIDwC','BwvZC2fNzq','AvjSqu0','t3jSDLO','D3jPDgvFBg9JA193ywL0Aw5N','m3WWFdH8nhW2FdD8mNWXFdu','CMv0CNLdB3vUDa','ELrxB2y','x2rLzMf1BhruveW','sgHxruu','uKvbrcbSB2nRihjLBgvHC2vK','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','z2v0','D2ffBxq','zxH0zw5Ktg9JAW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','mta4mJy4ntHwuxjUt08','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','mZe5nZCYmhvJCNLzqG','Aw5JBhvKzxm','zxzHBa','D29YA2vYswq','x3bYzwzPEa','zw52','zxHWB3j0CW','yMXuEuK','D3jPDgvFBg9JA19YzwPLy3rLza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CgLK','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','lcbZDhjHDgvNEtOG','Dhj1zq','z2v0q2XPzw50','Eur6BLm','wKfPz1O','x2vUC3vYzuLUAxrPywXPEMvK','tg9JAYbuveWGzxH0zw5Kzwq','ywXS','vef5q1i','C3bSAxq','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','CMvHzf9SB2nRx2vYCM9Y','qKH3Efa','v1jjveuGBg9JAYbYzwXLyxnLza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','De9vyM8','CMv0CNK','x2LUAxrPywXPEMvK','A0zOswy','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','mtaYrwT2uxzL','ndvRyKvNzfC','vuL5rKu','odKXndHbAhD4t2m','Bg9JA19YzwXLyxnLx2vYCM9Y','zgvS','rxbXze8','mtHju2Xpvxe','z2vUzxjHDgvmB2nRvMfSDwu','Bg9JA19LEhrLBMrLza','tejur28','D3jPDgu','D2fYBG','CMvHzf9SB2nRx3DHAxrPBMC','x3DVCMTLCKLK','EgruwgK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMv0CNLezwXHEq','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA19Hy3f1AxjLza','ChjLzML4','oty4mZC0nfrdre5myq','mZuWote3mLvKwe55tW','zgjgCNC','zKTsthu','CMvHzf9SB2nRx3rPBwvVDxq','C2XLzxa','zxjYB3i','rxDPt3m','C2v0','BM93','CMvHza'];a0_0xec10=function(){return _0xa50f88;};return a0_0xec10();}
1
+ function a0_0x5541(){const _0x1d6fea=['D3jPDgvFBg9JA19YzwPLy3rLza','ywnXDwLYzvjLywrmB2nR','x2vUC3vYzuLUAxrPywXPEMvK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','shnjy08','vNLowvC','zw52','Aw5JCG','mZeZmtm0wuL0y3bg','z2v0tg9JA0LUzM8','x3bYzwzPEa','zxjYB3i','mJqXntzxuffNCNu','x3jLDhj5q291BNq','mtyWohnRDfncwq','C3bSAxq','ChjLzML4','x2vUywjSzwq','odyWmJiZzvD0B2Ps','D3jPDgvFBg9JA19Hy3f1AxjLza','rw9XwNG','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','x2LUAxrPywXPEMvK','x3DVCMTLCKLK','zgvMyxvSDfruta','Bg9JA19YzwXLyxnLx2vYCM9Y','tfziwfq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','zw5HyMXLza','z2vUzxjHDgvmB2nRvMfSDwu','x2rLzMf1BhruveW','zxzHBa','uKvbrcbSB2nRigfJCxvPCMvK','otbPBNHTsLu','D2fYBG','CMv0CNK','mJrPuwjyEhy','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','q1DdENq','C2v0','yNvPBgrmB2nRs2v5','quzYrNe','zxH0zw5Ktg9JAW','CMvHza','CMvHzf9SB2nRx3DHAxrPBMC','CMy6Bg9JAZO','D3jPDgu','mJK4mZi3meXbyuLAAW','C2v0zxG','zgvIDwC','nK1TvfzyAa','x3n0CMf0zwD5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','x3jLDhj5rgvSyxK','BKfftgi','u3PQDxG','mtKXndiXwwriEhPi','zerWBNG','uKvbrcbSB2nRihjLBgvHC2vK','z2v0','v1jjveuGBg9JAYbLCNjVCG','mxHzCuPlDG','C2XLzxa','te9ds19esvnuuKLcvvrfrf9srvrswq','D3jPDgvFBg9JA19YzwXLyxnLza','AhvjA3q','mJm3mMjtz2vvwa','x2LUAxrdB25MAwC','BwvZC2fNzq','EKHXDuq','whblvg0','y3HVtvG','ywXS','mtCXm3zQD2Xyvq','CMv0CNLezwXHEq','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','D29YA2vYlq','CgLK','mtGYnZq3nNP3D2z6BW','mZKYBNzKANLV','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','v1jjveuGBg9JAYbYzwXLyxnLza','BM93','DxvPza','CMvHzf9SB2nRx3rPBwvVDxq','A0DVvu4','Aw5MBW','lI9YzwrPCY1JBgLLBNq','D3jPDgvFBg9JA19LCNjVCG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','yuPKALy','zxHWB3j0CW','CMv0CNLdB3vUDa','t2LbwNq','AxnfBMfIBgvK','t09cAgi'];a0_0x5541=function(){return _0x1d6fea;};return a0_0x5541();}const a0_0x521273=a0_0xee61;(function(_0x190b45,_0x447fe7){const _0x56466b=a0_0xee61,_0x13f317=_0x190b45();while(!![]){try{const _0xdaba87=-parseInt(_0x56466b(0x101))/0x1*(-parseInt(_0x56466b(0x12c))/0x2)+-parseInt(_0x56466b(0x10d))/0x3*(parseInt(_0x56466b(0x106))/0x4)+-parseInt(_0x56466b(0xf3))/0x5*(parseInt(_0x56466b(0xf6))/0x6)+parseInt(_0x56466b(0x112))/0x7*(-parseInt(_0x56466b(0xe8))/0x8)+-parseInt(_0x56466b(0xfc))/0x9*(parseInt(_0x56466b(0xe5))/0xa)+parseInt(_0x56466b(0xd0))/0xb*(parseInt(_0x56466b(0xd2))/0xc)+parseInt(_0x56466b(0xd6))/0xd*(parseInt(_0x56466b(0x113))/0xe);if(_0xdaba87===_0x447fe7)break;else _0x13f317['push'](_0x13f317['shift']());}catch(_0x590e4d){_0x13f317['push'](_0x13f317['shift']());}}}(a0_0x5541,0x60209));const redisClient=require(a0_0x521273(0x11b)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x521273(0x117));class LockManager{constructor(){const _0x32123e=a0_0x521273;this[_0x32123e(0xce)]=null,this[_0x32123e(0xd5)]=null,this[_0x32123e(0xe2)]=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x32123e(0xf7)]=null,this[_0x32123e(0xdb)]=null,this[_0x32123e(0xda)]=![];}['_initConfig'](){const _0x20334e=a0_0x521273,_0x4bb528={'CLUdJ':'7|1|0|8|2|5|6|4|3','zHquD':function(_0x2d61e7,_0x2c165d,_0x1443aa){return _0x2d61e7(_0x2c165d,_0x1443aa);},'OiAZt':function(_0x492179,_0x1c895f){return _0x492179===_0x1c895f;},'AFrFq':'true','VyNYW':function(_0x362c8a,_0xa25bad,_0x4491d0){return _0x362c8a(_0xa25bad,_0x4491d0);},'XEEoI':'lock_config_init'},_0x4b5688=_0x4bb528['CLUdJ'][_0x20334e(0xd3)]('|');let _0x1f929d=0x0;while(!![]){switch(_0x4b5688[_0x1f929d++]){case'0':this['_defaultTTL']=_0x4bb528[_0x20334e(0x109)](parseInt,process[_0x20334e(0x12a)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'1':this['_enabled']=_0x4bb528[_0x20334e(0x121)](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x4bb528[_0x20334e(0xed)]);continue;case'2':this[_0x20334e(0xf9)]=_0x4bb528[_0x20334e(0x129)](parseInt,process['env'][_0x20334e(0x114)],0xa)||0x64;continue;case'3':logger[_0x20334e(0x11a)]({'event':_0x4bb528['XEEoI'],'enabled':this[_0x20334e(0xd5)],'strategy':this[_0x20334e(0xf7)],'ttl':this[_0x20334e(0xe2)],'retryCount':this[_0x20334e(0xd1)],'retryDelay':this[_0x20334e(0xf9)],'workerId':this['_workerId']},_0x20334e(0xd9)+this[_0x20334e(0xd5)]+',\x20strategy:\x20'+this['_strategy']);continue;case'4':this['_initialized']=!![];continue;case'5':this['_strategy']=process['env'][_0x20334e(0xdf)]||_0x20334e(0xe7);continue;case'6':this[_0x20334e(0xdb)]=_0x20334e(0x110)+process[_0x20334e(0x111)];continue;case'7':this[_0x20334e(0xce)]=_0x20334e(0xf1);continue;case'8':this['_retryCount']=parseInt(process[_0x20334e(0x12a)][_0x20334e(0x103)],0xa)||0x3;continue;}break;}}[a0_0x521273(0x126)](){const _0x5bc72e=a0_0x521273;!this['_initialized']&&this[_0x5bc72e(0x107)]();}get[a0_0x521273(0xd4)](){const _0x46de40=a0_0x521273;return this['_ensureInitialized'](),this[_0x46de40(0xce)];}get['enabled'](){const _0x4d529f=a0_0x521273;return this[_0x4d529f(0x126)](),this['_enabled'];}get['defaultTTL'](){const _0x5f3c2e=a0_0x521273;return this['_ensureInitialized'](),this[_0x5f3c2e(0xe2)];}get['retryCount'](){const _0x90a07c=a0_0x521273;return this[_0x90a07c(0x126)](),this[_0x90a07c(0xd1)];}get[a0_0x521273(0x10e)](){const _0x2a19b2=a0_0x521273;return this[_0x2a19b2(0x126)](),this[_0x2a19b2(0xf9)];}get['strategy'](){const _0x426107=a0_0x521273;return this[_0x426107(0x126)](),this[_0x426107(0xf7)];}get['workerId'](){const _0x1fe864=a0_0x521273;return this['_ensureInitialized'](),this[_0x1fe864(0xdb)];}[a0_0x521273(0xec)](_0xafbc33){const _0x32acbd=a0_0x521273,{module:_0x31b827,endpoint:_0xc8c314,lockType:_0x49b708,recordId:_0x12a0fd}=_0xafbc33;if(_0x12a0fd)return''+this['prefix']+_0x31b827+':'+_0xc8c314+':'+_0x12a0fd+':'+_0x49b708;return''+this[_0x32acbd(0xd4)]+_0x31b827+':'+_0xc8c314+':'+_0x49b708;}[a0_0x521273(0xe1)](){const _0x3ad632=a0_0x521273;return this['workerId']+':'+uuidv4()+':'+Date[_0x3ad632(0x116)]();}async[a0_0x521273(0x125)](_0x281f24){const _0x21283e=a0_0x521273,_0x24622e={'OOBhb':'write','dDpnx':function(_0x146449,_0x3d3339){return _0x146449<_0x3d3339;},'iXVOn':_0x21283e(0xe4),'cxoMX':_0x21283e(0xf0),'HMeuK':function(_0x3da3be,_0x4c1702){return _0x3da3be*_0x4c1702;}};if(!this[_0x21283e(0xe0)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x571aa0=this['buildLockKey']({..._0x281f24,'lockType':_0x24622e[_0x21283e(0x123)]}),_0x41181e=this['buildLockKey']({..._0x281f24,'lockType':'read'}),_0x144d2e=this[_0x21283e(0xe1)]();try{const _0x3ef78e=redisClient['getClient']();for(let _0xdedcf9=0x0;_0x24622e[_0x21283e(0xfd)](_0xdedcf9,this[_0x21283e(0x120)]);_0xdedcf9++){const _0x3b766b=await _0x3ef78e['get'](_0x571aa0);if(!_0x3b766b){await _0x3ef78e[_0x21283e(0x12b)](_0x41181e),await _0x3ef78e['expire'](_0x41181e,this['defaultTTL']);const _0x3f195e=_0x41181e+':'+_0x144d2e;return await _0x3ef78e[_0x21283e(0xf4)](_0x3f195e,this['defaultTTL'],_0x144d2e),logger['debug']({'event':'read_lock_acquired','key':_0x41181e,'value':_0x144d2e},_0x24622e['iXVOn']),{'success':!![],'lockValue':_0x144d2e,'lockKey':_0x3f195e};}logger[_0x21283e(0xf5)]({'event':_0x24622e[_0x21283e(0x10b)],'writeKey':_0x571aa0,'attempt':_0xdedcf9},_0x21283e(0x10f)),await this[_0x21283e(0x102)](_0x24622e['HMeuK'](this['retryDelay'],Math['pow'](0x2,_0xdedcf9)));}return logger[_0x21283e(0xe6)]({'event':_0x21283e(0x118),'key':_0x41181e},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x15558f){return logger['error']({'event':'read_lock_error','error':_0x15558f[_0x21283e(0x108)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x521beb){const _0x3f4fe4=a0_0x521273,_0x2eb811={'CWCzt':function(_0x4fe4fe,_0x1d663a){return _0x4fe4fe===_0x1d663a;},'XpKTm':'reject','aJdjV':'write_lock_acquired','dKavY':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','lbnEG':function(_0x5e74a8,_0x39b528){return _0x5e74a8<_0x39b528;},'NAGFA':function(_0x38c132,_0x58279c){return _0x38c132===_0x58279c;},'JUoGA':'write_lock_waiting','kGoUN':_0x3f4fe4(0xe9),'fLxmh':_0x3f4fe4(0x11c),'eeHmX':_0x3f4fe4(0x100)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x447fd0=this[_0x3f4fe4(0xec)]({..._0x521beb,'lockType':_0x3f4fe4(0xf2)}),_0x1433ac=this[_0x3f4fe4(0xec)]({..._0x521beb,'lockType':'read'}),_0x475b36=this[_0x3f4fe4(0xe1)]();try{const _0xde0054=redisClient['getClient']();if(_0x2eb811[_0x3f4fe4(0xea)](this['strategy'],_0x2eb811['XpKTm'])){const _0x1b884c=await _0xde0054[_0x3f4fe4(0xeb)](_0x447fd0,_0x475b36,'EX',this[_0x3f4fe4(0xdc)],'NX');if(_0x2eb811[_0x3f4fe4(0xea)](_0x1b884c,'OK'))return logger['debug']({'event':_0x2eb811[_0x3f4fe4(0x11e)],'key':_0x447fd0,'value':_0x475b36,'strategy':_0x2eb811[_0x3f4fe4(0x10a)]},_0x2eb811['dKavY']),{'success':!![],'lockValue':_0x475b36,'lockKey':_0x447fd0};return logger[_0x3f4fe4(0xf5)]({'event':_0x3f4fe4(0x124),'key':_0x447fd0},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x833c70=0x0;_0x2eb811['lbnEG'](_0x833c70,this['retryCount']);_0x833c70++){const [_0x9728e,_0x32e4e7]=await Promise['all']([_0xde0054[_0x3f4fe4(0xff)](_0x1433ac),_0xde0054['get'](_0x447fd0)]);if(!_0x32e4e7&&(!_0x9728e||_0x2eb811['NAGFA'](parseInt(_0x9728e),0x0))){const _0x198d18=await _0xde0054[_0x3f4fe4(0xeb)](_0x447fd0,_0x475b36,'EX',this[_0x3f4fe4(0xdc)],'NX');if(_0x198d18==='OK')return logger['debug']({'event':_0x3f4fe4(0xd7),'key':_0x447fd0,'value':_0x475b36,'strategy':_0x3f4fe4(0xe7)},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0x475b36,'lockKey':_0x447fd0};}logger['debug']({'event':_0x2eb811['JUoGA'],'writeKey':_0x447fd0,'readCount':_0x9728e,'attempt':_0x833c70},_0x3f4fe4(0x11d)),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x833c70));}return logger['warn']({'event':'write_lock_timeout','key':_0x447fd0},_0x2eb811[_0x3f4fe4(0x119)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2049ec){return logger['error']({'event':_0x2eb811['fLxmh'],'error':_0x2049ec[_0x3f4fe4(0x108)]},_0x2eb811['eeHmX']),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x1d7b35,_0x4b5c63){const _0x535817=a0_0x521273,_0x1c1efb={'EoqZx':function(_0x584fbf,_0x4ebbcb){return _0x584fbf>_0x4ebbcb;},'KLOFQ':'read_lock_released','nAELb':_0x535817(0xfe),'LVHXT':_0x535817(0x104),'HsIcO':_0x535817(0x115),'OgpQN':_0x535817(0xf8),'huIkt':_0x535817(0xdd)};if(!this[_0x535817(0xe0)]||!_0x1d7b35)return!![];try{const _0x500820=redisClient['getClient']();if(_0x1d7b35['includes'](':read:')){await _0x500820['del'](_0x1d7b35);const _0x310c46=_0x1d7b35['substring'](0x0,_0x1d7b35['lastIndexOf'](':')),_0x5f2601=await _0x500820[_0x535817(0xff)](_0x310c46);return _0x5f2601&&_0x1c1efb[_0x535817(0xd8)](parseInt(_0x5f2601),0x0)&&await _0x500820['decr'](_0x310c46),logger[_0x535817(0xf5)]({'event':_0x1c1efb['KLOFQ'],'key':_0x1d7b35},_0x1c1efb[_0x535817(0xfa)]),!![];}const _0x5e9954=_0x535817(0x127),_0x40e78c=await _0x500820[_0x535817(0xe3)](_0x5e9954,0x1,_0x1d7b35,_0x4b5c63);if(_0x40e78c===0x1)return logger['debug']({'event':_0x1c1efb[_0x535817(0xde)],'key':_0x1d7b35},_0x1c1efb[_0x535817(0x128)]),!![];return logger['warn']({'event':_0x1c1efb['OgpQN'],'key':_0x1d7b35},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xab586c){return logger[_0x535817(0xcf)]({'event':_0x1c1efb[_0x535817(0x105)],'key':_0x1d7b35,'error':_0xab586c[_0x535817(0x108)]},'Lock\x20release\x20error'),![];}}async[a0_0x521273(0xee)](_0xb3e73a,_0x34c58a,_0x3d122b=null){const _0x2a3a85=a0_0x521273,_0x24969f={'Bybnh':function(_0x21c0d0,_0x5785f4){return _0x21c0d0===_0x5785f4;},'Szjux':'lock_extended','yrIYI':'Lock\x20TTL\x20extended','QSGhQ':'Lock\x20extend\x20error'};if(!this[_0x2a3a85(0xe0)]||!_0xb3e73a)return!![];try{const _0x1876be=redisClient['getClient'](),_0x3a08e7='\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',_0x297bf5=await _0x1876be['eval'](_0x3a08e7,0x1,_0xb3e73a,_0x34c58a,_0x3d122b||this['defaultTTL']);if(_0x24969f['Bybnh'](_0x297bf5,0x1))return logger[_0x2a3a85(0xf5)]({'event':_0x24969f[_0x2a3a85(0xfb)],'key':_0xb3e73a,'ttl':_0x3d122b||this['defaultTTL']},_0x24969f['yrIYI']),!![];return![];}catch(_0xc43220){return logger[_0x2a3a85(0xcf)]({'event':'lock_extend_error','key':_0xb3e73a,'error':_0xc43220['message']},_0x24969f['QSGhQ']),![];}}[a0_0x521273(0x122)](){return this['enabled'];}['sleep'](_0x42294c){return new Promise(_0x10f369=>setTimeout(_0x10f369,_0x42294c));}async[a0_0x521273(0xcd)](_0x9a6c7f){const _0x37033b=a0_0x521273,_0x2fdf18={'ykkIm':function(_0x5856d3,_0x55589b){return _0x5856d3(_0x55589b);}};if(!this[_0x37033b(0xe0)])return{'enabled':![]};try{const _0x4ab77d=redisClient['getClient'](),_0x33449d=this['buildLockKey']({..._0x9a6c7f,'lockType':'write'}),_0x74b2e5=this[_0x37033b(0xec)]({..._0x9a6c7f,'lockType':_0x37033b(0xef)}),[_0x2eda06,_0x5d56d6]=await Promise[_0x37033b(0x10c)]([_0x4ab77d['get'](_0x33449d),_0x4ab77d[_0x37033b(0xff)](_0x74b2e5)]);return{'enabled':!![],'writeLock':_0x2eda06||null,'readCount':_0x2fdf18['ykkIm'](parseInt,_0x5d56d6)||0x0,'writeKey':_0x33449d,'readKey':_0x74b2e5};}catch(_0xffe2a4){return{'enabled':!![],'error':_0xffe2a4['message']};}}}function a0_0xee61(_0x4758ad,_0x3115c9){_0x4758ad=_0x4758ad-0xcd;const _0x55417e=a0_0x5541();let _0xee61a8=_0x55417e[_0x4758ad];if(a0_0xee61['zBORdX']===undefined){var _0x506bd3=function(_0x2d1aa7){const _0x531304='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c0cf2='',_0x3fae45='';for(let _0x1367be=0x0,_0x1567b6,_0x2c6324,_0x50321c=0x0;_0x2c6324=_0x2d1aa7['charAt'](_0x50321c++);~_0x2c6324&&(_0x1567b6=_0x1367be%0x4?_0x1567b6*0x40+_0x2c6324:_0x2c6324,_0x1367be++%0x4)?_0x3c0cf2+=String['fromCharCode'](0xff&_0x1567b6>>(-0x2*_0x1367be&0x6)):0x0){_0x2c6324=_0x531304['indexOf'](_0x2c6324);}for(let _0x1b8931=0x0,_0x4549fa=_0x3c0cf2['length'];_0x1b8931<_0x4549fa;_0x1b8931++){_0x3fae45+='%'+('00'+_0x3c0cf2['charCodeAt'](_0x1b8931)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fae45);};a0_0xee61['BdgwzD']=_0x506bd3,a0_0xee61['IqDADQ']={},a0_0xee61['zBORdX']=!![];}const _0x7be05b=_0x55417e[0x0],_0x5678db=_0x4758ad+_0x7be05b,_0x3055=a0_0xee61['IqDADQ'][_0x5678db];return!_0x3055?(_0xee61a8=a0_0xee61['BdgwzD'](_0xee61a8),a0_0xee61['IqDADQ'][_0x5678db]=_0xee61a8):_0xee61a8=_0x3055,_0xee61a8;}module[a0_0x521273(0x11f)]=new LockManager();
@@ -1 +1 @@
1
- const a0_0x3d5fbd=a0_0xfd83;(function(_0x18104b,_0xf0a785){const _0x1ef72f=a0_0xfd83,_0x1ba5dd=_0x18104b();while(!![]){try{const _0xb6d152=parseInt(_0x1ef72f(0x233))/0x1+-parseInt(_0x1ef72f(0x1cb))/0x2+parseInt(_0x1ef72f(0x1f2))/0x3+-parseInt(_0x1ef72f(0x267))/0x4+-parseInt(_0x1ef72f(0x1cf))/0x5+-parseInt(_0x1ef72f(0x238))/0x6*(-parseInt(_0x1ef72f(0x1f4))/0x7)+-parseInt(_0x1ef72f(0x25a))/0x8*(-parseInt(_0x1ef72f(0x251))/0x9);if(_0xb6d152===_0xf0a785)break;else _0x1ba5dd['push'](_0x1ba5dd['shift']());}catch(_0x472244){_0x1ba5dd['push'](_0x1ba5dd['shift']());}}}(a0_0x2507,0x6be33));const pino=require(a0_0x3d5fbd(0x231)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x3d5fbd(0x205),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x2507(){const _0x1f291b=['DxnLCI1Hz2vUDa','ChjVAMvJDa','Ec1Yzxf1zxn0lwLK','icbizwfSDgG6ia','zKv0DLa','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhrhDva','lI9SB2DZlW','Ahj0Aw1L','uhjVy2vZCYbxyxjUAw5NoIa','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','Dg9mB3DLCKnHC2u','C3rHy2S','rxjYB3i','D2fYBG','zgvIDwC','CgLU','B3jPz2LUywXvCMW','zgjFCxvLCNK','Bwf4','uwDjzMy','te9hx0rjuG','ChDK','C3rYAw5NAwz5','CgLUBW','vunzBgK','mte5mZC0wfvIC1n1','rff0tMG','BwfW','v0jODNy','CgfKrw5K','nZm4ndyYvxLeC2vh','Dg9Rzw4','teLSr0m','zxjYB3iUBg9N','Bg9N','vfjbtLnbq1rjt05Fq09ntuLu','icdIHPiG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2HPBgq','DMDJELO','sfjcCMy','C3rYAw5N','DuznDwO','zxHPDa','yKr2z08','AxntBg93','qvbqx1zfuLnjt04','iokvKqRILzeGifbYB2PLy3qGicaGidOG','A2v5CW','yxbPs2v5','iokvKqRILzeGifbVCNqGicaGicaGidOG','BwTKAxjtEw5J','y3jLyxrLv3jPDgvtDhjLyw0','rgvMyxvSDa','D3rtBhm','ouLny0TKvq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','u2vYDMvYihn0yxj0Aw5NoIa','CMvWzwf0','E21Zz30','AM9PBG','rKfyuNm','BwvTB3j5vxnHz2u','Aw5MBW','mJm2odq3mLfVqvnXyG','Bw9KDwXL','CxzMCe0','C2vJCMv0','CMvTB3rLqwrKCMvZCW','ChjPDMf0zwTLEq','CgfZC3DK','zw5KCg9PBNrFCMvNAxn0zxjLza','yMfZzvvYBa','zw52AxjVBM1LBNq','vhjHBNnHy3rPB24G','DhjPBq','Dxb0Aw1L','mtaXodmYne1Uue9Xta','ywnJzxnZx3rVA2vU','C29Tzq','C3rHDhvZq29Kzq','DxnLCG','C3rHCNrZv2L0Aa','AgvHBhrOq2HLy2S','zeLlueq','yxPsBMq','DxjS','u0vmrunu','u1rbuLqGvfjbtLnbq1rjt04','revmrvrf','qMPxEw4','w09lxsbqCM9Qzwn0igXVywrLzdOG','CgfZC3DVCMq','w1jfrefdveveoNrVA2vUxq','sLDux1nfq1jfva','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','y29Kzq','zxHWB3j0CW','CgLUBY1WCMv0DhK','tI9b','tufYyxG','iokvKqRILzeGiefqssblzxKGicaGidOG','qunusvzf','nZe3mZa2thv3qNrL','zMXVB3i','rKfuquW6ia','BwvZC2fNzq','mZe1mtG5me1TC2reDG','C2vYDMvYx3n0yxj0Aw5N','Bwv0Ag9K','BMfTzq','Cg9YDa','Cgf0Aa','y29UBMvJDgLVBG','zhvYyxrPB25nCW','zMf0ywXFzxjYB3i','zxjYB3i','Ag9ZDa','zgjFDhjHBNnHy3rPB24','BwXXD1G','zxjY','yxbPx2TLEq','y1L6tNu','AgvHzgvYCW','yxzequW','z1fQAxa','BgvUz3rO','yxbPx3nLy3jLDa','Dg9vChbLCKnHC2u','C3fSx3f1zxj5','y0XIAfq','wLz4yuW','CM93C0fMzMvJDgvK','vu5ltK9xtG','BxmP','ChjVy2vZC193yxjUAw5N','zunMr3G','Cg9ZDgDYzxnXBa','ugHlvNu','yxbPA2v5','vKfjBuW','zgf0ywjHC2u','mtiYnty0mvnXvNjrEG','z3LzsMK','ndLnAgfpvxq','t0PevLm','rwvpAMq','ANnVBG','tK9uiefdveLwrq','zxHPC3rZu3LUyW','CMvWBgfJzq','C2vYDMLJzuLUzM8','tM9Kzs5QCW','iokvKqRILzeGienVBMzPzYaGicaGidOG','reiGuxvLCNK','zMf0ywW','C0Dzs3G','Aw5JBhvKzxm','C3rKvgLTzuz1BMn0Aw9UCW','wxPTBxO','Dw5JyxvNAhrfEgnLChrPB24','CMvZDgzVCMDL','Bwf0y2G','sfruuca','EwTSywm','D3jPDgu','Dg9ju09tDhjPBMC','C3bSAxq','DhLWzq','uxfjExy','shbfuuC','CfvIrfK','DgvZDa','y3jLzgvUDgLHBa','ms4WlJu','Dg9gAxHLza','C3rHDhvZ','rhL5r2q','zw52','rejFueftu1DpuKq'];a0_0x2507=function(){return _0x1f291b;};return a0_0x2507();}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_0x3d5fbd(0x255),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x3d5fbd(0x216)]['LOG_LEVEL']||a0_0x3d5fbd(0x259);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3d5fbd(0x1c6),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3d5fbd(0x205),'version':process[a0_0x3d5fbd(0x216)][a0_0x3d5fbd(0x248)]||a0_0x3d5fbd(0x212),'env':process[a0_0x3d5fbd(0x216)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x3d5fbd(0x202)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3d5fbd(0x252),a0_0x3d5fbd(0x276),'token','apiKey',a0_0x3d5fbd(0x217),a0_0x3d5fbd(0x278)],'censor':'[REDACTED]'},'serializers':{'req':_0x414e6e=>({'id':_0x414e6e['id'],'method':_0x414e6e['method'],'url':_0x414e6e[a0_0x3d5fbd(0x270)],'path':_0x414e6e[a0_0x3d5fbd(0x1d4)],'remoteAddress':_0x414e6e['ip']||_0x414e6e['connection']?.['remoteAddress']}),'res':_0x228ae8=>({'statusCode':_0x228ae8['statusCode'],'headers':_0x228ae8['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x3d5fbd(0x1dc)]}});function initFileLogging(){const _0x476f60=a0_0x3d5fbd,_0x41dffb={'HRBrf':function(_0x205cb9,_0xba4cd9){return _0x205cb9===_0xba4cd9;},'SGctT':'default','eCfGx':function(_0x573dae,_0x5d21c5){return _0x573dae===_0x5d21c5;},'OSsxm':function(_0x515702,_0xc9a277){return _0x515702(_0xc9a277);},'aLkFS':'app.log','XCjRX':function(_0x52344c,_0x454aca,_0x2ef5ee){return _0x52344c(_0x454aca,_0x2ef5ee);}};if(fileLoggingInitialized)return;logToFile=_0x41dffb[_0x476f60(0x242)](process[_0x476f60(0x216)]['LOG_TO_FILE'],'true');const _0x35a3f3=process[_0x476f60(0x216)][_0x476f60(0x23f)]||_0x41dffb['SGctT'];logDir=process['env'][_0x476f60(0x22e)]||_0x476f60(0x21f)+_0x35a3f3,serviceName=process[_0x476f60(0x216)]['SERVICE_NAME']||_0x476f60(0x205),sqlLogEnabled=_0x41dffb[_0x476f60(0x1ec)](process[_0x476f60(0x216)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x41dffb['OSsxm'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x55260d=path['resolve'](process['cwd'](),logDir);try{!fs[_0x476f60(0x1f9)](_0x55260d)&&fs[_0x476f60(0x24d)](_0x55260d,{'recursive':!![]});}catch(_0x1b5346){console[_0x476f60(0x1d8)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x55260d+':',_0x1b5346[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];return;}const _0x21fedd=path[_0x476f60(0x256)](_0x55260d,_0x41dffb['aLkFS']),_0x26af89=path['join'](_0x55260d,_0x476f60(0x23b));try{appLogStream=fs[_0x476f60(0x24e)](_0x21fedd,{'flags':'a'}),errorLogStream=fs[_0x476f60(0x24e)](_0x26af89,{'flags':'a'}),fileLoggingInitialized=!![];const _0x39ba4d={'event':'file_logging_enabled','logDir':_0x55260d,'files':['app.log',_0x476f60(0x23b)]},_0x13ad06='File\x20logging\x20enabled:\x20'+_0x55260d;logger[_0x476f60(0x259)](_0x39ba4d,_0x13ad06),_0x41dffb['XCjRX'](writeToFileLog,{..._0x39ba4d,'level':_0x476f60(0x259),'msg':_0x13ad06,'time':new Date()['toISOString']()},_0x476f60(0x259));}catch(_0xbdc72a){console['error'](_0x476f60(0x21d),_0xbdc72a[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5ed4cf,_0x3e12d6){const _0x23ea92=a0_0x3d5fbd,_0x2d7e83={'Yzmmz':function(_0xe5f8d8,_0x3ce2ef){return _0xe5f8d8||_0x3ce2ef;}};if(_0x2d7e83[_0x23ea92(0x203)](!logToFile,!appLogStream))return;const _0xcd2e2d={'service':serviceName,..._0x5ed4cf},_0x260a41=JSON[_0x23ea92(0x230)](_0xcd2e2d)+'\x0a';appLogStream[_0x23ea92(0x209)](_0x260a41),(_0x3e12d6===_0x23ea92(0x1d8)||_0x3e12d6===_0x23ea92(0x1ff))&&(errorLogStream&&errorLogStream[_0x23ea92(0x209)](_0x260a41));}const createRequestLogger=(_0x7e0630={})=>{const _0x1e8b71=a0_0x3d5fbd;return logger[_0x1e8b71(0x240)](_0x7e0630);},logServerStart=_0x4a5a0b=>{const _0x5e7e75=a0_0x3d5fbd,_0x2b911f={'FAXRs':function(_0x2b9e21,_0x1d5b94){return _0x2b9e21-_0x1d5b94;},'bZqGe':function(_0x14efdb,_0x2ee4b5){return _0x14efdb/_0x2ee4b5;},'dIKPD':function(_0x375341,_0x3798c5){return _0x375341-_0x3798c5;},'RPPPV':_0x5e7e75(0x1c7),'fltYi':_0x5e7e75(0x24f),'MArax':_0x5e7e75(0x1ca),'BjWyn':_0x5e7e75(0x1f8),'kfYYm':_0x5e7e75(0x1d0),'ktaKH':'info'},_0x5c0c95='RESTFORGE\x20RUNTIME\x20SERVER',_0x59ba0d=Math[_0x5e7e75(0x22c)](0x0,_0x2b911f[_0x5e7e75(0x257)](0x37,_0x5c0c95['length'])),_0x276d22=Math[_0x5e7e75(0x1cc)](_0x2b911f['bZqGe'](_0x59ba0d,0x2)),_0x5143b1=_0x2b911f[_0x5e7e75(0x26e)](_0x59ba0d,_0x276d22),_0x1fb9be='║'+'\x20'[_0x5e7e75(0x254)](_0x276d22)+_0x5c0c95+'\x20'[_0x5e7e75(0x254)](_0x5143b1)+'║',_0x49224a='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x1fb9be+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x4a5a0b[_0x5e7e75(0x263)]||_0x5e7e75(0x1fc))[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x249)+(_0x4a5a0b['project']||_0x2b911f['RPPPV'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x24c)+String(_0x4a5a0b[_0x5e7e75(0x1d3)]||0xbb8)[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1fd)+(_0x4a5a0b['configFile']||_0x2b911f['fltYi'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1c9)+(_0x4a5a0b[_0x5e7e75(0x24b)]?_0x2b911f[_0x5e7e75(0x1c8)]:_0x2b911f[_0x5e7e75(0x274)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x5e7e75(0x23c)](_0x49224a);const _0x540439={'event':_0x2b911f['kfYYm'],'project':_0x4a5a0b[_0x5e7e75(0x219)],'port':_0x4a5a0b[_0x5e7e75(0x1d3)],'config':_0x4a5a0b['configFile'],'apiKeyEnabled':!!_0x4a5a0b[_0x5e7e75(0x24b)]};logger['info'](_0x540439),writeToFileLog({..._0x540439,'level':'info','msg':_0x5e7e75(0x253)+_0x4a5a0b[_0x5e7e75(0x219)]+'\x20on\x20port\x20'+_0x4a5a0b[_0x5e7e75(0x1d3)],'time':new Date()['toISOString']()},_0x2b911f['ktaKH']);},logServerReady=_0x25ba5e=>{const _0x4b9a89=a0_0x3d5fbd,_0x3f945e={'DyyGd':function(_0x2f51fb,_0x529d59,_0x36276e){return _0x2f51fb(_0x529d59,_0x36276e);},'nqKMg':'info'},_0x487102={'event':'server_ready','port':_0x25ba5e[_0x4b9a89(0x1d3)],'module':_0x25ba5e[_0x4b9a89(0x25b)],'healthCheck':_0x25ba5e[_0x4b9a89(0x26d)],'serviceInfo':_0x25ba5e[_0x4b9a89(0x1fb)],'baseUrl':_0x25ba5e[_0x4b9a89(0x262)]},_0x236801='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x25ba5e[_0x4b9a89(0x1d3)];logger[_0x4b9a89(0x259)](_0x487102,_0x236801),_0x3f945e[_0x4b9a89(0x215)](writeToFileLog,{..._0x487102,'level':_0x4b9a89(0x259),'msg':_0x236801,'time':new Date()[_0x4b9a89(0x20a)]()},_0x3f945e['nqKMg']),_0x25ba5e['healthCheck']&&logger['info'](_0x4b9a89(0x21b)+_0x25ba5e[_0x4b9a89(0x26d)]),_0x25ba5e['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x25ba5e['serviceInfo']),_0x25ba5e[_0x4b9a89(0x262)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x25ba5e['baseUrl']);},logProjectLoaded=(_0x1edea5,_0x187e98)=>{const _0x5caf44=a0_0x3d5fbd,_0x1a62c5={'event':_0x5caf44(0x223),'project':_0x1edea5,'path':_0x187e98},_0x488df5=_0x5caf44(0x275)+_0x1edea5;logger['info'](_0x1a62c5,_0x488df5),writeToFileLog({..._0x1a62c5,'level':'info','msg':_0x488df5,'time':new Date()[_0x5caf44(0x20a)]()},'info');},logEndpointRegistered=(_0x53f547,_0x196737)=>{const _0x4c258d=a0_0x3d5fbd,_0x597b38={'QgIff':function(_0x133226,_0x3584e2,_0x118987){return _0x133226(_0x3584e2,_0x118987);},'blDnQ':'debug'},_0x301149={'event':_0x4c258d(0x261),'endpoint':_0x53f547,'route':_0x196737},_0x138242=_0x4c258d(0x23e)+_0x53f547+':\x20'+_0x196737;logger[_0x4c258d(0x228)](_0x301149,_0x138242),_0x597b38[_0x4c258d(0x22d)](writeToFileLog,{..._0x301149,'level':_0x597b38['blDnQ'],'msg':_0x138242,'time':new Date()[_0x4c258d(0x20a)]()},_0x4c258d(0x228));},logDatabaseConfig=_0x5c657a=>{const _0x3a1446=a0_0x3d5fbd,_0x3e4443={'myFJf':'database_config','HpEQG':'debug'},_0xd36590={'event':_0x3e4443['myFJf'],'host':_0x5c657a['host'],'port':_0x5c657a['port'],'database':_0x5c657a['database'],'type':_0x5c657a[_0x3a1446(0x20c)],'user':_0x5c657a[_0x3a1446(0x26b)]},_0x6af57d='Database:\x20'+_0x5c657a['type']+'://'+_0x5c657a[_0x3a1446(0x1d9)]+':'+_0x5c657a['port']+'/'+_0x5c657a[_0x3a1446(0x1f1)];logger['debug'](_0xd36590,_0x6af57d),writeToFileLog({..._0xd36590,'level':'debug','msg':_0x6af57d,'time':new Date()[_0x3a1446(0x20a)]()},_0x3e4443[_0x3a1446(0x20e)]);},logRequest=(_0x127455,_0x5eb303,_0x146dea)=>{const _0x4b1606=a0_0x3d5fbd,_0x597c5={'VAImL':function(_0x175709,_0x2d3198){return _0x175709>=_0x2d3198;}},_0x3984cd={'event':'http_request','method':_0x127455[_0x4b1606(0x1d1)],'path':_0x127455[_0x4b1606(0x1d4)],'statusCode':_0x5eb303[_0x4b1606(0x26a)],'durationMs':_0x146dea,'ip':_0x127455['ip']},_0x55d316=_0x127455['method']+'\x20'+_0x127455['path']+'\x20-\x20'+_0x5eb303[_0x4b1606(0x26a)]+'\x20('+_0x146dea+_0x4b1606(0x1ea);let _0x5ac40c='info';if(_0x5eb303['statusCode']>=0x1f4)_0x5ac40c='error',logger[_0x4b1606(0x1d8)](_0x3984cd,_0x55d316);else _0x597c5[_0x4b1606(0x1f0)](_0x5eb303[_0x4b1606(0x26a)],0x190)?(_0x5ac40c='warn',logger['warn'](_0x3984cd,_0x55d316)):logger['info'](_0x3984cd,_0x55d316);writeToFileLog({..._0x3984cd,'level':_0x5ac40c,'msg':_0x55d316,'time':new Date()['toISOString']()},_0x5ac40c);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x3d5fbd(0x260),a0_0x3d5fbd(0x22f),'token',a0_0x3d5fbd(0x268),'refresh_token','secret',a0_0x3d5fbd(0x1e3),a0_0x3d5fbd(0x1ef),a0_0x3d5fbd(0x1dd),a0_0x3d5fbd(0x211),a0_0x3d5fbd(0x27a),a0_0x3d5fbd(0x229),'otp',a0_0x3d5fbd(0x27b),a0_0x3d5fbd(0x25f)],redactSensitiveParams=(_0x17a950,_0x31b8ce)=>{const _0x111d62=a0_0x3d5fbd,_0x33e827={'ZVxaL':function(_0x2e5fa1,_0x249676){return _0x2e5fa1>_0x249676;}};if(!_0x17a950||_0x17a950[_0x111d62(0x1e2)]===0x0)return _0x17a950;const _0x1f393b=_0x31b8ce[_0x111d62(0x224)](),_0x1292cb=_0x1f393b['match'](/\(([^)]+)\)\s*values/i);let _0x50a850=[];_0x1292cb&&(_0x50a850=_0x1292cb[0x1][_0x111d62(0x20b)](',')[_0x111d62(0x235)](_0x29e9c1=>_0x29e9c1[_0x111d62(0x265)]()['toLowerCase']()));const _0x125411=_0x1f393b[_0x111d62(0x206)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x125411){const _0x1c1277=_0x125411[0x1],_0x3a64d1=_0x1c1277['match'](/(\w+)\s*=/g);_0x3a64d1&&(_0x50a850=_0x3a64d1[_0x111d62(0x235)](_0x344ab6=>_0x344ab6[_0x111d62(0x1fa)](/\s*=/,'')['trim']()[_0x111d62(0x224)]()));}return _0x17a950['map']((_0xc8e685,_0x242ace)=>{const _0x1d5e75=_0x111d62;if(_0x50a850[_0x242ace]){const _0x4862a1=_0x50a850[_0x242ace],_0x3fe324=SENSITIVE_PARAM_PATTERNS['some'](_0xe43267=>_0x4862a1[_0x1d5e75(0x201)](_0xe43267));if(_0x3fe324)return'[REDACTED]';}if(typeof _0xc8e685===_0x1d5e75(0x243)&&_0x33e827[_0x1d5e75(0x1e7)](_0xc8e685['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xc8e685)&&_0xc8e685[_0x1d5e75(0x201)]('.'))return _0x1d5e75(0x277);if(/^[a-fA-F0-9]{32,}$/[_0x1d5e75(0x210)](_0xc8e685))return'[REDACTED:hash]';}return _0xc8e685;});},parseQueryMetadata=_0x1731bf=>{const _0x43d65e=a0_0x3d5fbd,_0x16c4ff={'fEtvP':'INSERT','EeOjd':'UPDATE','OJDVS':_0x43d65e(0x273),'wrTMK':'BEGIN','QqIyv':_0x43d65e(0x272),'svtPZ':'TRANSACTION_BEGIN','WrmoY':'COMMIT','NapIX':'ROLLBACK','HfOVy':'TRANSACTION_ROLLBACK','PhKVu':'CREATE','yklac':'ALTER','FphLy':'DDL_ALTER','eIPAH':'DDL_DROP'},_0x46eb78=_0x1731bf['trim'](),_0x3e1e2c=_0x46eb78['toUpperCase']();let _0x255038=_0x43d65e(0x1e9),_0x50b69f=null;if(_0x3e1e2c[_0x43d65e(0x26c)](_0x43d65e(0x271))){_0x255038=_0x43d65e(0x271);const _0x34e244=_0x46eb78['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x34e244?_0x34e244[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)]('INSERT')){_0x255038=_0x16c4ff[_0x43d65e(0x21c)];const _0x976bcd=_0x46eb78['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x976bcd?_0x976bcd[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1f6)])){_0x255038=_0x16c4ff['EeOjd'];const _0x45c264=_0x46eb78[_0x43d65e(0x206)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x45c264?_0x45c264[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x1f5)])){_0x255038=_0x43d65e(0x273);const _0x141e1e=_0x46eb78[_0x43d65e(0x206)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x141e1e?_0x141e1e[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff['wrTMK'])||_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x20d)]))_0x255038=_0x16c4ff['svtPZ'];else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff['WrmoY']))_0x255038=_0x43d65e(0x23d);else{if(_0x3e1e2c['startsWith'](_0x16c4ff['NapIX']))_0x255038=_0x16c4ff['HfOVy'];else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1ee)]))_0x255038='DDL_CREATE';else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x208)]))_0x255038=_0x16c4ff['FphLy'];else _0x3e1e2c['startsWith']('DROP')&&(_0x255038=_0x16c4ff['eIPAH']);}}}}}}}}return{'type':_0x255038,'table':_0x50b69f};},startQueryTimer=()=>{const _0x5c5980=a0_0x3d5fbd,_0x596bff={'ciHpt':function(_0x3f6433,_0x51b111){return _0x3f6433*_0x51b111;},'JKnNt':function(_0x3cb352,_0x52396f){return _0x3cb352/_0x52396f;}},_0x1079fa=process[_0x5c5980(0x220)]();return()=>{const _0xa87c9b=_0x5c5980,[_0x20d390,_0x483881]=process['hrtime'](_0x1079fa);return parseFloat((_0x596bff['ciHpt'](_0x20d390,0x3e8)+_0x596bff['JKnNt'](_0x483881,0xf4240))[_0xa87c9b(0x213)](0x2));};},logQuery=(_0x2bda20,_0x29c5e9=[],_0x11dc12={})=>{const _0x5a4554=a0_0x3d5fbd,_0x375659={'BzlJm':_0x5a4554(0x22b),'sGYKx':_0x5a4554(0x1fe),'vgczZ':function(_0x507d35,_0x364b68){return _0x507d35(_0x364b68);},'TtGuP':_0x5a4554(0x1e5),'WBhvv':function(_0x157a38,_0x1751f6){return _0x157a38>_0x1751f6;},'dXROk':function(_0x4bc5ff,_0x22252e){return _0x4bc5ff!==_0x22252e;},'wlkgJ':function(_0x5a7fe6,_0x4df087){return _0x5a7fe6>_0x4df087;},'LIlGC':function(_0xe8973a,_0x1e681d){return _0xe8973a>_0x1e681d;},'qvfpM':_0x5a4554(0x227),'uFEiK':'info','SFHxp':function(_0x5b7120,_0x487e4a,_0x1ecddc){return _0x5b7120(_0x487e4a,_0x1ecddc);}};if(!sqlLogEnabled){logger['debug']({'event':_0x375659['BzlJm'],'query':_0x2bda20['substring'](0x0,0xc8),'paramCount':_0x29c5e9['length']},_0x375659[_0x5a4554(0x200)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a4554(0x1ed)}=_0x11dc12,{type:_0x3f7af5,table:_0x139b33}=_0x375659[_0x5a4554(0x241)](parseQueryMetadata,_0x2bda20),_0x52834b={'event':_0x375659[_0x5a4554(0x21e)],'queryType':_0x3f7af5,'table':_0x139b33,'query':_0x2bda20,'paramCount':_0x29c5e9['length'],'dbType':dbType};sqlLogParams&&_0x375659[_0x5a4554(0x236)](_0x29c5e9['length'],0x0)&&(_0x52834b['params']=redactSensitiveParams(_0x29c5e9,_0x2bda20));_0x375659['dXROk'](duration,null)&&(_0x52834b[_0x5a4554(0x1d6)]=duration,_0x52834b[_0x5a4554(0x247)]=_0x375659['wlkgJ'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x52834b[_0x5a4554(0x1e8)]=rowsAffected);const _0x3c6271=_0x139b33||'unknown';let _0x3826fe='['+_0x3f7af5+']\x20'+_0x3c6271;duration!==null&&(_0x3826fe+='\x20('+duration+'ms)');const _0xf334e1=duration!==null&&_0x375659[_0x5a4554(0x23a)](duration,sqlLogSlowThreshold);let _0x55e000='debug';if(_0xf334e1)_0x3826fe+='\x20[SLOW]',_0x55e000=_0x375659[_0x5a4554(0x25c)],logger[_0x5a4554(0x227)](_0x52834b,_0x3826fe);else sqlLogLevel===_0x375659['uFEiK']?(_0x55e000=_0x5a4554(0x259),logger['info'](_0x52834b,_0x3826fe)):logger[_0x5a4554(0x228)](_0x52834b,_0x3826fe);_0x375659['SFHxp'](writeToFileLog,{..._0x52834b,'level':_0x55e000,'msg':_0x3826fe,'time':new Date()[_0x5a4554(0x20a)]()},_0x55e000);},logTransaction=(_0x1ba8c1,_0x4f85a1)=>{const _0x4fc209=a0_0x3d5fbd,_0x1e5acd={'event':_0x4fc209(0x1da),'status':_0x1ba8c1,'queryCount':_0x4f85a1},_0x441243=_0x4fc209(0x264)+_0x1ba8c1;logger[_0x4fc209(0x228)](_0x1e5acd,_0x441243),writeToFileLog({..._0x1e5acd,'level':_0x4fc209(0x228),'msg':_0x441243,'time':new Date()[_0x4fc209(0x20a)]()},_0x4fc209(0x228));},redactObject=_0x191bd7=>{const _0x4a9632=a0_0x3d5fbd,_0x388f5d={'azRnd':function(_0x16329d,_0x11a796){return _0x16329d!==_0x11a796;},'UvumQ':_0x4a9632(0x260),'kqXQh':_0x4a9632(0x239),'YqopO':_0x4a9632(0x25d),'psksD':'authorization','cLbhT':'creditcard','uFMuj':'credit_card','mSEzP':'ssn','DQtNh':_0x4a9632(0x229),'pUbDY':_0x4a9632(0x25f),'NeFBG':'[REDACTED]','zGlsf':function(_0x5bfcc1,_0x4f276a){return _0x5bfcc1===_0x4f276a;},'oPZOk':function(_0x1fe2f7,_0x4922e5){return _0x1fe2f7!==_0x4922e5;}};if(!_0x191bd7||_0x388f5d[_0x4a9632(0x26f)](typeof _0x191bd7,'object'))return _0x191bd7;const _0x1d2fe7=[_0x4a9632(0x276),_0x388f5d['UvumQ'],_0x4a9632(0x22f),_0x388f5d['kqXQh'],_0x388f5d['YqopO'],'apikey',_0x4a9632(0x1dd),_0x388f5d['psksD'],_0x388f5d[_0x4a9632(0x1e6)],_0x388f5d[_0x4a9632(0x244)],'cvv',_0x388f5d['mSEzP'],_0x388f5d[_0x4a9632(0x234)],'private_key',_0x388f5d[_0x4a9632(0x20f)],_0x4a9632(0x222),'access_token'],_0x2f99f1=Array['isArray'](_0x191bd7)?[..._0x191bd7]:{..._0x191bd7};for(const _0x7dd48 of Object[_0x4a9632(0x24a)](_0x2f99f1)){const _0x211abb=_0x7dd48[_0x4a9632(0x224)]();if(_0x1d2fe7[_0x4a9632(0x269)](_0x547258=>_0x211abb['includes'](_0x547258)))_0x2f99f1[_0x7dd48]=_0x388f5d['NeFBG'];else _0x388f5d['zGlsf'](typeof _0x2f99f1[_0x7dd48],'object')&&_0x388f5d['oPZOk'](_0x2f99f1[_0x7dd48],null)&&(_0x2f99f1[_0x7dd48]=redactObject(_0x2f99f1[_0x7dd48]));}return _0x2f99f1;},logError=(_0x3ed443,_0x1a0391={},_0x5df7c0=null)=>{const _0x46b5b0=a0_0x3d5fbd,_0x1e0d47={'QiMjh':function(_0x725904,_0x48dcbf,_0xeb71e4){return _0x725904(_0x48dcbf,_0xeb71e4);},'MBYdG':'error'},_0x57c3c3={'event':'error','errorName':_0x3ed443[_0x46b5b0(0x1d2)]||_0x46b5b0(0x226),'errorMessage':_0x3ed443[_0x46b5b0(0x1ce)],'errorCode':_0x3ed443[_0x46b5b0(0x27c)]||null,'stack':_0x3ed443[_0x46b5b0(0x225)],..._0x1a0391},_0x114085=_0x5df7c0||'Error:\x20'+_0x3ed443['message'];logger['error'](_0x57c3c3,_0x114085),_0x1e0d47['QiMjh'](writeToFileLog,{..._0x57c3c3,'level':_0x1e0d47['MBYdG'],'msg':_0x114085,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x26f51d,_0x100371={},_0x51bf7e=null)=>{const _0x4497d6=a0_0x3d5fbd,_0x5e57da={'YVmyM':_0x4497d6(0x1d7),'avDAL':'CRITICAL','BXkPR':_0x4497d6(0x1d8)},_0x4fd1b5={'event':_0x5e57da['YVmyM'],'errorName':_0x26f51d[_0x4497d6(0x1d2)]||_0x4497d6(0x226),'errorMessage':_0x26f51d['message'],'errorCode':_0x26f51d['code']||null,'stack':_0x26f51d['stack'],'severity':_0x5e57da[_0x4497d6(0x1e0)],..._0x100371},_0x437677=_0x51bf7e||_0x4497d6(0x1cd)+_0x26f51d[_0x4497d6(0x1ce)];logger['fatal'](_0x4fd1b5,_0x437677),writeToFileLog({..._0x4fd1b5,'level':'fatal','msg':_0x437677,'time':new Date()[_0x4497d6(0x20a)]()},_0x5e57da['BXkPR']);},logHttpError=(_0x553f30,_0x4c690c,_0x1e413d={})=>{const _0x59c40d=a0_0x3d5fbd,_0x3f97db={'UCYli':_0x59c40d(0x218),'OZPXE':'x-request-id','iruxK':function(_0x6f28b8,_0xe53b9){return _0x6f28b8>=_0xe53b9;},'izepv':'error'},_0x341556={'event':'http_error','errorName':_0x553f30['name']||'Error','errorMessage':_0x553f30['message'],'errorCode':_0x553f30[_0x59c40d(0x27c)]||_0x553f30['statusCode']||0x1f4,'stack':_0x553f30['stack'],'method':_0x4c690c?.[_0x59c40d(0x1d1)],'url':_0x4c690c?.[_0x59c40d(0x270)]||_0x4c690c?.[_0x59c40d(0x22a)],'path':_0x4c690c?.['path'],'ip':_0x4c690c?.['ip']||_0x4c690c?.[_0x59c40d(0x1d5)]?.[_0x59c40d(0x25e)],'userAgent':_0x4c690c?.['get']?.(_0x3f97db[_0x59c40d(0x232)]),'requestId':_0x4c690c?.['id']||_0x4c690c?.[_0x59c40d(0x1df)]?.[_0x3f97db['OZPXE']],'body':_0x4c690c?.['body']?redactObject(_0x4c690c['body']):undefined,'query':_0x4c690c?.['query'],..._0x1e413d},_0x44a4fa=_0x553f30[_0x59c40d(0x26a)]||_0x553f30[_0x59c40d(0x214)]||0x1f4,_0x36e2bd=_0x59c40d(0x207)+_0x44a4fa+':\x20'+_0x553f30['message'];_0x44a4fa>=0x1f4?logger[_0x59c40d(0x1d8)](_0x341556,_0x36e2bd):logger[_0x59c40d(0x227)](_0x341556,_0x36e2bd),writeToFileLog({..._0x341556,'level':_0x3f97db['iruxK'](_0x44a4fa,0x1f4)?_0x3f97db['izepv']:'warn','msg':_0x36e2bd,'time':new Date()['toISOString']()},_0x44a4fa>=0x1f4?_0x3f97db['izepv']:'warn');},logUncaughtError=(_0xa38b23,_0x2c820c)=>{const _0x2ca8e5=a0_0x3d5fbd,_0x3daf47={'iVATj':function(_0x326de4,_0x378951){return _0x326de4(_0x378951);},'TILLu':'CRITICAL','gTiCQ':'fatal'},_0x4fd997={'event':_0xa38b23,'errorName':_0x2c820c?.['name']||_0x2ca8e5(0x226),'errorMessage':_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x3daf47['iVATj'](String,_0x2c820c),'errorCode':_0x2c820c?.[_0x2ca8e5(0x27c)]||null,'stack':_0x2c820c?.['stack'],'severity':_0x3daf47['TILLu'],'processId':process['pid'],'memoryUsage':process[_0x2ca8e5(0x258)](),'uptime':process[_0x2ca8e5(0x266)]()},_0x2159a0='['+_0xa38b23[_0x2ca8e5(0x1e4)]()+']\x20'+(_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x2c820c);logger[_0x2ca8e5(0x1ff)](_0x4fd997,_0x2159a0),writeToFileLog({..._0x4fd997,'level':_0x3daf47['gTiCQ'],'msg':_0x2159a0,'time':new Date()[_0x2ca8e5(0x20a)]()},_0x2ca8e5(0x1d8));},setupGlobalErrorHandlers=()=>{const _0x314001=a0_0x3d5fbd,_0x4012ef={'YAbDu':function(_0x26f192,_0x449093){return _0x26f192 instanceof _0x449093;},'gQjip':_0x314001(0x279),'hlqjf':_0x314001(0x204),'iWdlh':'warning','cYzNu':'global_error_handlers_setup','mlqwX':function(_0x550330,_0x349e78,_0x520559){return _0x550330(_0x349e78,_0x520559);}};process['on'](_0x4012ef['hlqjf'],_0x3c791c=>{const _0x22a9d0=_0x314001;logUncaughtError(_0x22a9d0(0x204),_0x3c791c),setTimeout(()=>{const _0x551d85=_0x22a9d0;process[_0x551d85(0x245)](0x1);},0x3e8);}),process['on'](_0x4012ef[_0x314001(0x1e1)],(_0x597066,_0x1ed9cc)=>{const _0x390c40=_0x314001,_0x2889fa=_0x4012ef['YAbDu'](_0x597066,Error)?_0x597066:new Error(String(_0x597066));logUncaughtError(_0x4012ef[_0x390c40(0x1e1)],_0x2889fa);}),process['on'](_0x4012ef['iWdlh'],_0x2c6c2d=>{const _0x3c7e9b=_0x314001;logger[_0x3c7e9b(0x227)]({'event':_0x3c7e9b(0x1eb),'name':_0x2c6c2d[_0x3c7e9b(0x1d2)],'message':_0x2c6c2d[_0x3c7e9b(0x1ce)],'stack':_0x2c6c2d[_0x3c7e9b(0x225)]},_0x3c7e9b(0x221)+_0x2c6c2d['message']);});const _0x55ef46={'event':_0x4012ef[_0x314001(0x1de)]},_0xbb8ad2='Global\x20error\x20handlers\x20initialized';logger['info'](_0x55ef46,_0xbb8ad2),_0x4012ef[_0x314001(0x1db)](writeToFileLog,{..._0x55ef46,'level':_0x314001(0x259),'msg':_0xbb8ad2,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x3bab9b=a0_0x3d5fbd,_0x2e2f4d={'bDvgO':function(_0x9f788e,_0x35a3e3,_0x4bce6e){return _0x9f788e(_0x35a3e3,_0x4bce6e);},'gyYJi':function(_0x5ee7c1,_0x5042ca){return _0x5ee7c1>=_0x5042ca;},'wtSls':'Internal\x20server\x20error','vlwNs':_0x3bab9b(0x21a)};return(_0x6c0f4f,_0x381479,_0x24f7f9,_0x7dec5d)=>{const _0x3bc63c=_0x3bab9b;_0x2e2f4d[_0x3bc63c(0x246)](logHttpError,_0x6c0f4f,_0x381479);const _0x1075ca=_0x6c0f4f[_0x3bc63c(0x26a)]||_0x6c0f4f[_0x3bc63c(0x214)]||0x1f4;_0x24f7f9['status'](_0x1075ca)[_0x3bc63c(0x1f7)]({'success':![],'error':_0x2e2f4d[_0x3bc63c(0x1f3)](_0x1075ca,0x1f4)?_0x2e2f4d[_0x3bc63c(0x250)]:_0x6c0f4f['message'],'requestId':_0x381479['id']||_0x381479[_0x3bc63c(0x1df)]?.[_0x2e2f4d['vlwNs']]||null});};};function a0_0xfd83(_0x155321,_0x1fa88b){_0x155321=_0x155321-0x1c5;const _0x250774=a0_0x2507();let _0xfd8329=_0x250774[_0x155321];if(a0_0xfd83['kGvXNq']===undefined){var _0x43bea8=function(_0x43bd3){const _0x2c70c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ca100='',_0x52288b='';for(let _0x114bd2=0x0,_0x22ae94,_0x4813b1,_0x319d7d=0x0;_0x4813b1=_0x43bd3['charAt'](_0x319d7d++);~_0x4813b1&&(_0x22ae94=_0x114bd2%0x4?_0x22ae94*0x40+_0x4813b1:_0x4813b1,_0x114bd2++%0x4)?_0x5ca100+=String['fromCharCode'](0xff&_0x22ae94>>(-0x2*_0x114bd2&0x6)):0x0){_0x4813b1=_0x2c70c9['indexOf'](_0x4813b1);}for(let _0x868210=0x0,_0x301ff7=_0x5ca100['length'];_0x868210<_0x301ff7;_0x868210++){_0x52288b+='%'+('00'+_0x5ca100['charCodeAt'](_0x868210)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52288b);};a0_0xfd83['JaXmrX']=_0x43bea8,a0_0xfd83['YaOwPg']={},a0_0xfd83['kGvXNq']=!![];}const _0x1b3729=_0x250774[0x0],_0x1ce2bd=_0x155321+_0x1b3729,_0x879258=a0_0xfd83['YaOwPg'][_0x1ce2bd];return!_0x879258?(_0xfd8329=a0_0xfd83['JaXmrX'](_0xfd8329),a0_0xfd83['YaOwPg'][_0x1ce2bd]=_0xfd8329):_0xfd8329=_0x879258,_0xfd8329;}module[a0_0x3d5fbd(0x1c5)]={'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_0x9354c3=a0_0x2be2;function a0_0x152c(){const _0xc252a9=['q09ntuLu','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C3rHCNrZv2L0Aa','zMLSzv9SB2DNAw5Nx2vUywjSzwq','rgvMyxvSDa','ChjVAMvJDa','EM1RwMq','Dw5JyxvNAhrfEgnLChrPB24','vvz4shu','w1jfrefdveveoNrVA2vUxq','C3rHDhvZ','BgvUz3rO','BwfW','BxmP','s3Deru4','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','y29UBMvJDgLVBG','AxntBg93','mJG1mdmYngDPDe1HDG','vfjbtLnbq1rjt05FqKvhsu4','r256uMK','AM9PBG','oI8V','DxnLCI1Hz2vUDa','tK9uiefdveLwrq','CgfKrw5K','tNz3DM0','y29Kzq','C3vIC3rYAw5N','ChDK','yMfZzvvYBa','y3jLzgL0x2nHCMq','BwvZC2fNzq','vNbPrKe','iokvKqRILzeGienVBMzPzYaGicaGidOG','D3jPDgu','ig9UihbVCNqG','C3rHy2S','yxbPx2TLEq','t3juA2W','uK9mtejbq0S','rxH2AfK','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Dg9ju09tDhjPBMC','u1rbuLqGvfjbtLnbq1rjt04','ywnJzxnZx3rVA2vU','reiGuxvLCNK','z21NyLG','DhjPBq','Aw5MBW','nZu5ndK0nfDSs2rqyW','zxHPDa','te9hx0XfvKvm','Dg9vChbLCKnHC2u','te9hx1rpx0zjteu','AfnOCNK','sw50zxjUywWGC2vYDMvYigvYCM9Y','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','qKLRzNy','AxbPvwe','y3DK','tK9erv9ftLy','te9hx0rjuG','vxLNrfy','Ahj0Aw1L','Bwv0Ag9K','B3jPz2LUywXvCMW','zMXVB3i','DhLWzq','mtfqrhrfsgK','rermx0fmvevs','vfjbtLnbq1rjt05Fq09ntuLu','C29Tzq','zw5KCg9PBNrFCMvNAxn0zxjLza','txzZzg0','CMvZDgzVCMDL','ChjPDMf0zwTLEq','D2fYBG','zgvIDwC','C2vYDMLJzuLUzM8','u1LtoKHioK1noNnZ','CMHZtwK','icbvuKW6icaGia','rNz2CKi','CM93C0fMzMvJDgvK','EujIANG','w1jfrefdvevexq','nJe2odu1mgznvvjHyq','v05OuKO','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Cg9ZDgDYzxnXBa','u1fmx0Xpr19qqvjbtvm','Ec1Yzxf1zxn0lwLK','Cgf0Aa','C3rKvgLTzuz1BMn0Aw9UCW','y1n2tKm','u1fmx0Xpr19ftKfcteve','r25YEum','swDXsxq','CgfZC3DK','yxbPs2v5','tKDHAvu','revmrvrf','Cg9YDa','quXurvi','y3jLzgvUDgLHBa','Eg5RELa','zgnmvNG','y3z2','CMvMCMvZAf90B2TLBG','zw52AxjVBM1LBNq','rfjpua','u1fmx0Xpr19tte9xx1riuKvtse9mra','zNjQuha','CMvTB3rLqwrKCMvZCW','zxjYB3iUBg9N','u2vYDMvYihn0yxj0Aw5NoIa','Bwf4','DxjS','B2jQzwn0','zgf0ywjHC2u','DxnLCG','y2HPBgq','su5trvju','vfzuseK','Dev3ru0','Ag9ZDa','CgLU','AxnbCNjHEq','vvbeqvrf','qNjWs1q','vfjbtLnbq1rjt05FuK9mtejbq0S','CMvWBgfJzq','rermx0nsrufurq','CgfZC3DVCMq','AgvHBhrOq2HLy2S','rxjYB3i','CMvWzwf0','wNP1y3m','DgvZDa','rKfuquW6ia','yxbWlMXVzW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','icbjBMzVoIaGia','DM1IseG','y3jLyxrLv3jPDgvtDhjLyw0','zgf0ywjHC2vFy29UzMLN','w09lxsbqCM9Qzwn0igXVywrLzdOG','vMHJD2W','mti3odi4AuzPr1z2','qvbqx1zfuLnjt04','y2Lntuq','CMvZB2X2zq','D09RAvK','C2Poqxm','rermx0rst1a','zefQC3u','C3rHDhvZq29Kzq','Dw5RBM93BG','y29UzMLNrMLSzq','A2vJyLO','zxHPC3rZu3LUyW','tKjHrey','CgLK','ChjPDMf0zv9RzxK','zw52','A2v5CW','Ahr0Cf9LCNjVCG','u0vmrunu','tM9Kzs5QCW','zMf0ywW','BMfTzq','zgjFDhjHBNnHy3rPB24','ve9dCwi','iokvKqRILzeGifbYB2PLy3qGicaGidOG','wufhsMG','zxjYB3i','Aw5JBhvKzxm','v1r1rhi','Bwf0y2G','mZuWnZmYndbzzeHAqxK','yM9KEq','Dhj1zq','mJK3otuWoezbyKLWra','mJGWodG2nhjjELbkBa','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','lI9SB2DZlW','Exjlq3e','rMf1CfK','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','zMf0ywXFzxjYB3i','Dg9mB3DLCKnHC2u','B3rW','sKrwELa','sgHZDMO','D2fYBMLUzW','yxbPA2v5','A2TIBeC'];a0_0x152c=function(){return _0xc252a9;};return a0_0x152c();}(function(_0x35cae3,_0x4fc0b3){const _0x8b4a25=a0_0x2be2,_0x373e69=_0x35cae3();while(!![]){try{const _0x8ada53=parseInt(_0x8b4a25(0x1a2))/0x1*(parseInt(_0x8b4a25(0x1f2))/0x2)+parseInt(_0x8b4a25(0x14f))/0x3+parseInt(_0x8b4a25(0x16f))/0x4+parseInt(_0x8b4a25(0x1b4))/0x5+parseInt(_0x8b4a25(0x18f))/0x6+parseInt(_0x8b4a25(0x14e))/0x7+-parseInt(_0x8b4a25(0x14b))/0x8;if(_0x8ada53===_0x4fc0b3)break;else _0x373e69['push'](_0x373e69['shift']());}catch(_0x5853f7){_0x373e69['push'](_0x373e69['shift']());}}}(a0_0x152c,0xda012));const pino=require('pino'),fs=require('fs'),path=require(a0_0x9354c3(0x1ba));let logToFile=![],logDir='./logs',serviceName=a0_0x9354c3(0x1a8),sqlLogEnabled=![],sqlLogLevel=a0_0x9354c3(0x1ab),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x2be2(_0x1b496e,_0x42a6f6){_0x1b496e=_0x1b496e-0x140;const _0x152c81=a0_0x152c();let _0x2be290=_0x152c81[_0x1b496e];if(a0_0x2be2['nUYdlr']===undefined){var _0x3f762a=function(_0xbb89a9){const _0x1e4087='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1dc44d='',_0x1973d6='';for(let _0x2a9185=0x0,_0x29dacc,_0x229f80,_0x90a2b7=0x0;_0x229f80=_0xbb89a9['charAt'](_0x90a2b7++);~_0x229f80&&(_0x29dacc=_0x2a9185%0x4?_0x29dacc*0x40+_0x229f80:_0x229f80,_0x2a9185++%0x4)?_0x1dc44d+=String['fromCharCode'](0xff&_0x29dacc>>(-0x2*_0x2a9185&0x6)):0x0){_0x229f80=_0x1e4087['indexOf'](_0x229f80);}for(let _0x3f151d=0x0,_0x3122d3=_0x1dc44d['length'];_0x3f151d<_0x3122d3;_0x3f151d++){_0x1973d6+='%'+('00'+_0x1dc44d['charCodeAt'](_0x3f151d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1973d6);};a0_0x2be2['qCUZjt']=_0x3f762a,a0_0x2be2['UDkdMb']={},a0_0x2be2['nUYdlr']=!![];}const _0x2905a9=_0x152c81[0x0],_0x53275f=_0x1b496e+_0x2905a9,_0x3ee529=a0_0x2be2['UDkdMb'][_0x53275f];return!_0x3ee529?(_0x2be290=a0_0x2be2['qCUZjt'](_0x2be290),a0_0x2be2['UDkdMb'][_0x53275f]=_0x2be290):_0x2be290=_0x3ee529,_0x2be290;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x9354c3(0x1ad),'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_0x9354c3(0x187),'hideObject':!![]},isDevelopment=process['env'][a0_0x9354c3(0x19a)]!=='production',logLevel=process['env'][a0_0x9354c3(0x191)]||a0_0x9354c3(0x18e);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x9354c3(0x1a8),'version':process[a0_0x9354c3(0x202)][a0_0x9354c3(0x1f3)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x9354c3(0x1bb)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x9354c3(0x196),'password','token','apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x4a516e=>({'id':_0x4a516e['id'],'method':_0x4a516e[a0_0x9354c3(0x19e)],'url':_0x4a516e[a0_0x9354c3(0x1d3)],'path':_0x4a516e['path'],'remoteAddress':_0x4a516e['ip']||_0x4a516e['connection']?.['remoteAddress']}),'res':_0x47d105=>({'statusCode':_0x47d105[a0_0x9354c3(0x1fa)],'headers':_0x47d105['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x51ccc4=a0_0x9354c3,_0x58e228={'WTuDr':_0x51ccc4(0x14d),'xyOqb':'false','Mvsdm':function(_0x250423,_0x3dc646){return _0x250423(_0x3dc646);},'yERqa':'app.log','ciMMD':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x51ccc4(0x202)][_0x51ccc4(0x193)]===_0x58e228[_0x51ccc4(0x149)];const _0x54ce37=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x51ccc4(0x202)][_0x51ccc4(0x19b)]||_0x51ccc4(0x151)+_0x54ce37,serviceName=process[_0x51ccc4(0x202)]['SERVICE_NAME']||'restforge',sqlLogEnabled=process['env'][_0x51ccc4(0x1bd)]===_0x51ccc4(0x14d),sqlLogLevel=process[_0x51ccc4(0x202)]['SQL_LOG_LEVEL']||_0x51ccc4(0x1ab),sqlLogParams=process[_0x51ccc4(0x202)][_0x51ccc4(0x1b8)]!==_0x58e228['xyOqb'],sqlLogSlowThreshold=_0x58e228[_0x51ccc4(0x1a7)](parseInt,process[_0x51ccc4(0x202)][_0x51ccc4(0x1cd)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x4ffe7d=path[_0x51ccc4(0x1f5)](process[_0x51ccc4(0x199)](),logDir);try{!fs[_0x51ccc4(0x1fe)](_0x4ffe7d)&&fs['mkdirSync'](_0x4ffe7d,{'recursive':!![]});}catch(_0x352f8b){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x4ffe7d+':',_0x352f8b[_0x51ccc4(0x17d)]),fileLoggingInitialized=!![];return;}const _0x5b132d=path['join'](_0x4ffe7d,_0x51ccc4(0x1ea)),_0x19da3c=path[_0x51ccc4(0x172)](_0x4ffe7d,_0x51ccc4(0x1d0));try{appLogStream=fs['createWriteStream'](_0x5b132d,{'flags':'a'}),errorLogStream=fs[_0x51ccc4(0x1ee)](_0x19da3c,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2ef217={'event':_0x51ccc4(0x160),'logDir':_0x4ffe7d,'files':[_0x58e228['yERqa'],_0x51ccc4(0x1d0)]},_0x56b1e9='File\x20logging\x20enabled:\x20'+_0x4ffe7d;logger['info'](_0x2ef217,_0x56b1e9),writeToFileLog({..._0x2ef217,'level':_0x58e228[_0x51ccc4(0x1f4)],'msg':_0x56b1e9,'time':new Date()['toISOString']()},_0x58e228[_0x51ccc4(0x1f4)]);}catch(_0x475e0e){console['error'](_0x51ccc4(0x1b6),_0x475e0e[_0x51ccc4(0x17d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1cc832,_0x233750){const _0x49c273=a0_0x9354c3,_0x45e70f={'WNhRJ':function(_0x422306,_0x270f90){return _0x422306||_0x270f90;},'kkblG':function(_0x50bd3e,_0x560133){return _0x50bd3e===_0x560133;},'uAdfk':'error','ExvhY':function(_0x4f57e4,_0xced6a7){return _0x4f57e4===_0xced6a7;}};if(_0x45e70f[_0x49c273(0x1b5)](!logToFile,!appLogStream))return;const _0x4ee4be={'service':serviceName,..._0x1cc832},_0x260cc5=JSON['stringify'](_0x4ee4be)+'\x0a';appLogStream['write'](_0x260cc5),(_0x45e70f[_0x49c273(0x15c)](_0x233750,_0x45e70f['uAdfk'])||_0x45e70f[_0x49c273(0x186)](_0x233750,'fatal'))&&(errorLogStream&&errorLogStream[_0x49c273(0x180)](_0x260cc5));}const createRequestLogger=(_0x104e24={})=>{const _0x4a6382=a0_0x9354c3;return logger[_0x4a6382(0x1d7)](_0x104e24);},logServerStart=_0x12e93f=>{const _0x355ff0=a0_0x9354c3,_0x49dd85={'Nvwvm':_0x355ff0(0x140),'qvrdD':'N/A','hShry':function(_0x2f074d,_0x3b8c6e){return _0x2f074d(_0x3b8c6e);},'tuoNl':_0x355ff0(0x161),'IgqIt':'server_starting','rhsMi':_0x355ff0(0x18e)},_0x12cca0='RESTFORGE\x20RUNTIME\x20SERVER',_0x4dfd1c=Math[_0x355ff0(0x1d2)](0x0,0x37-_0x12cca0[_0x355ff0(0x168)]),_0x51525b=Math[_0x355ff0(0x1a0)](_0x4dfd1c/0x2),_0x322492=_0x4dfd1c-_0x51525b,_0x421b2f='║'+'\x20'[_0x355ff0(0x1e6)](_0x51525b)+_0x12cca0+'\x20'['repeat'](_0x322492)+'║',_0xf44279=_0x355ff0(0x16c)+_0x421b2f+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x12e93f[_0x355ff0(0x1cb)]||_0x49dd85[_0x355ff0(0x177)])[_0x355ff0(0x176)](0x26)+_0x355ff0(0x145)+(_0x12e93f['project']||_0x49dd85['qvrdD'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x49dd85[_0x355ff0(0x194)](String,_0x12e93f[_0x355ff0(0x1c4)]||0xbb8)[_0x355ff0(0x176)](0x26)+_0x355ff0(0x17f)+(_0x12e93f[_0x355ff0(0x1fc)]||_0x49dd85['tuoNl'])[_0x355ff0(0x176)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x12e93f[_0x355ff0(0x1c1)]?'ACTIVE':_0x355ff0(0x175))['padEnd'](0x26)+_0x355ff0(0x150);console['log'](_0xf44279);const _0x47566b={'event':_0x49dd85[_0x355ff0(0x1bf)],'project':_0x12e93f['project'],'port':_0x12e93f[_0x355ff0(0x1c4)],'config':_0x12e93f[_0x355ff0(0x1fc)],'apiKeyEnabled':!!_0x12e93f[_0x355ff0(0x1c1)]};logger[_0x355ff0(0x18e)](_0x47566b),writeToFileLog({..._0x47566b,'level':_0x49dd85[_0x355ff0(0x1ae)],'msg':_0x355ff0(0x1d1)+_0x12e93f[_0x355ff0(0x162)]+_0x355ff0(0x181)+_0x12e93f['port'],'time':new Date()[_0x355ff0(0x188)]()},_0x355ff0(0x18e));},logServerReady=_0x5b7da9=>{const _0xec7f94=a0_0x9354c3,_0x3a70c1={'PpWQQ':'server_ready','Zzucs':_0xec7f94(0x18e)},_0x1518cf={'event':_0x3a70c1['PpWQQ'],'port':_0x5b7da9['port'],'module':_0x5b7da9['module'],'healthCheck':_0x5b7da9['healthCheck'],'serviceInfo':_0x5b7da9[_0xec7f94(0x1ac)],'baseUrl':_0x5b7da9[_0xec7f94(0x17b)]},_0x232eeb='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x5b7da9['port'];logger['info'](_0x1518cf,_0x232eeb),writeToFileLog({..._0x1518cf,'level':_0x3a70c1[_0xec7f94(0x1e7)],'msg':_0x232eeb,'time':new Date()[_0xec7f94(0x188)]()},_0x3a70c1['Zzucs']),_0x5b7da9[_0xec7f94(0x1e4)]&&logger['info']('\x20\x20Health:\x20'+_0x5b7da9['healthCheck']),_0x5b7da9[_0xec7f94(0x1ac)]&&logger['info'](_0xec7f94(0x1ec)+_0x5b7da9['serviceInfo']),_0x5b7da9[_0xec7f94(0x17b)]&&logger[_0xec7f94(0x18e)](_0xec7f94(0x1af)+_0x5b7da9[_0xec7f94(0x17b)]);},logProjectLoaded=(_0xca9aa6,_0x2295b5)=>{const _0xbaceb7=a0_0x9354c3,_0x3ceb5a={'EirSE':function(_0xf6650f,_0x2b111d,_0x2fd1b8){return _0xf6650f(_0x2b111d,_0x2fd1b8);},'JDVzP':_0xbaceb7(0x18e)},_0x553215={'event':'project_loaded','project':_0xca9aa6,'path':_0x2295b5},_0x825c2f=_0xbaceb7(0x1f0)+_0xca9aa6;logger['info'](_0x553215,_0x825c2f),_0x3ceb5a['EirSE'](writeToFileLog,{..._0x553215,'level':_0x3ceb5a[_0xbaceb7(0x158)],'msg':_0x825c2f,'time':new Date()[_0xbaceb7(0x188)]()},_0xbaceb7(0x18e));},logEndpointRegistered=(_0x17af01,_0x207afe)=>{const _0x24c226=a0_0x9354c3,_0x53850d={'gmgbX':_0x24c226(0x1ab)},_0x2735c8={'event':_0x24c226(0x1a6),'endpoint':_0x17af01,'route':_0x207afe},_0x56f705='\x20\x20→\x20'+_0x17af01+':\x20'+_0x207afe;logger['debug'](_0x2735c8,_0x56f705),writeToFileLog({..._0x2735c8,'level':_0x53850d[_0x24c226(0x18c)],'msg':_0x56f705,'time':new Date()[_0x24c226(0x188)]()},'debug');},logDatabaseConfig=_0x345f35=>{const _0x26a37d=a0_0x9354c3,_0x5162eb={'XipTd':_0x26a37d(0x1ef),'dAjsu':function(_0x6c95b9,_0x49e6c2,_0x45219c){return _0x6c95b9(_0x49e6c2,_0x45219c);},'TodAc':_0x26a37d(0x1ab)},_0x390935={'event':_0x5162eb['XipTd'],'host':_0x345f35[_0x26a37d(0x1db)],'port':_0x345f35['port'],'database':_0x345f35[_0x26a37d(0x1d5)],'type':_0x345f35[_0x26a37d(0x1a1)],'user':_0x345f35[_0x26a37d(0x1d6)]},_0x23b380='Database:\x20'+_0x345f35['type']+_0x26a37d(0x173)+_0x345f35[_0x26a37d(0x1db)]+':'+_0x345f35[_0x26a37d(0x1c4)]+'/'+_0x345f35['database'];logger[_0x26a37d(0x1ab)](_0x390935,_0x23b380),_0x5162eb[_0x26a37d(0x1f9)](writeToFileLog,{..._0x390935,'level':_0x5162eb['TodAc'],'msg':_0x23b380,'time':new Date()['toISOString']()},_0x5162eb['TodAc']);},logRequest=(_0x3c6286,_0x1ac407,_0x4ad5ab)=>{const _0x32d6d4=a0_0x9354c3,_0x2b708b={'BrpKT':'http_request','YBCGf':_0x32d6d4(0x18e),'lgQyi':function(_0x4475a4,_0x328f36){return _0x4475a4>=_0x328f36;},'ipiUa':_0x32d6d4(0x1aa),'OrTkl':function(_0x1c02e9,_0x1bcf42,_0x296bdb){return _0x1c02e9(_0x1bcf42,_0x296bdb);}},_0x52e2d8={'event':_0x2b708b[_0x32d6d4(0x1df)],'method':_0x3c6286['method'],'path':_0x3c6286[_0x32d6d4(0x1ba)],'statusCode':_0x1ac407[_0x32d6d4(0x1fa)],'durationMs':_0x4ad5ab,'ip':_0x3c6286['ip']},_0x1e8f44=_0x3c6286[_0x32d6d4(0x19e)]+'\x20'+_0x3c6286['path']+'\x20-\x20'+_0x1ac407[_0x32d6d4(0x1fa)]+'\x20('+_0x4ad5ab+'ms)';let _0x5b74c7=_0x2b708b['YBCGf'];if(_0x2b708b['lgQyi'](_0x1ac407['statusCode'],0x1f4))_0x5b74c7=_0x32d6d4(0x147),logger[_0x32d6d4(0x147)](_0x52e2d8,_0x1e8f44);else _0x1ac407['statusCode']>=0x190?(_0x5b74c7=_0x2b708b[_0x32d6d4(0x198)],logger['warn'](_0x52e2d8,_0x1e8f44)):logger['info'](_0x52e2d8,_0x1e8f44);_0x2b708b[_0x32d6d4(0x184)](writeToFileLog,{..._0x52e2d8,'level':_0x5b74c7,'msg':_0x1e8f44,'time':new Date()[_0x32d6d4(0x188)]()},_0x5b74c7);},SENSITIVE_PARAM_PATTERNS=[a0_0x9354c3(0x1e3),'passwd',a0_0x9354c3(0x17a),'token',a0_0x9354c3(0x18a),'refresh_token','secret','api_secret','apikey',a0_0x9354c3(0x183),a0_0x9354c3(0x1c6),'credentials',a0_0x9354c3(0x1dc),a0_0x9354c3(0x157),'private_key',a0_0x9354c3(0x1a9)],redactSensitiveParams=(_0x426a82,_0x48a89f)=>{const _0x428554=a0_0x9354c3,_0x36e3b9={'Vhcwl':_0x428554(0x1b3),'wOkiY':function(_0x1ea7e3,_0x3a27e2){return _0x1ea7e3===_0x3a27e2;},'jLnYM':'string'};if(!_0x426a82||_0x426a82['length']===0x0)return _0x426a82;const _0x5b7377=_0x48a89f['toLowerCase'](),_0x1e2c38=_0x5b7377['match'](/\(([^)]+)\)\s*values/i);let _0x293733=[];_0x1e2c38&&(_0x293733=_0x1e2c38[0x1]['split'](',')['map'](_0x54fd7d=>_0x54fd7d[_0x428554(0x18d)]()[_0x428554(0x156)]()));const _0x31a71=_0x5b7377['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x31a71){const _0x1b896d=_0x31a71[0x1],_0x5d959e=_0x1b896d['match'](/(\w+)\s*=/g);_0x5d959e&&(_0x293733=_0x5d959e[_0x428554(0x169)](_0x58a38b=>_0x58a38b[_0x428554(0x1e1)](/\s*=/,'')['trim']()[_0x428554(0x156)]()));}return _0x426a82[_0x428554(0x169)]((_0x1ec515,_0x1f8eee)=>{const _0x4d2840=_0x428554;if(_0x293733[_0x1f8eee]){const _0x533a7b=_0x293733[_0x1f8eee],_0x332d62=SENSITIVE_PARAM_PATTERNS['some'](_0x2568ce=>_0x533a7b[_0x4d2840(0x148)](_0x2568ce));if(_0x332d62)return _0x36e3b9[_0x4d2840(0x1f1)];}if(_0x36e3b9[_0x4d2840(0x1f6)](typeof _0x1ec515,_0x36e3b9['jLnYM'])&&_0x1ec515['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x1ec515)&&_0x1ec515['includes']('.'))return _0x4d2840(0x166);if(/^[a-fA-F0-9]{32,}$/[_0x4d2840(0x1e8)](_0x1ec515))return'[REDACTED:hash]';}return _0x1ec515;});},parseQueryMetadata=_0x1af3e8=>{const _0x5cf77c=a0_0x9354c3,_0x184af6={'KwDEN':_0x5cf77c(0x205),'fCVlT':_0x5cf77c(0x1c3),'GnzRi':_0x5cf77c(0x15d),'bAFsK':_0x5cf77c(0x185),'CRrIB':_0x5cf77c(0x1a3),'tEwEM':_0x5cf77c(0x1f8)},_0x440b20=_0x1af3e8['trim'](),_0x360a03=_0x440b20['toUpperCase']();let _0x4c8490='UNKNOWN',_0x4c3fb6=null;if(_0x360a03[_0x5cf77c(0x15f)](_0x184af6['KwDEN'])){_0x4c8490=_0x184af6[_0x5cf77c(0x16b)];const _0x5dda75=_0x440b20[_0x5cf77c(0x14a)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x5dda75?_0x5dda75[0x1]:null;}else{if(_0x360a03[_0x5cf77c(0x15f)](_0x5cf77c(0x1d8))){_0x4c8490='INSERT';const _0x23695f=_0x440b20[_0x5cf77c(0x14a)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x23695f?_0x23695f[0x1]:null;}else{if(_0x360a03[_0x5cf77c(0x15f)]('UPDATE')){_0x4c8490=_0x5cf77c(0x1de);const _0x18545e=_0x440b20['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x18545e?_0x18545e[0x1]:null;}else{if(_0x360a03['startsWith'](_0x5cf77c(0x1c3))){_0x4c8490=_0x184af6['fCVlT'];const _0x537d8f=_0x440b20['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c3fb6=_0x537d8f?_0x537d8f[0x1]:null;}else{if(_0x360a03['startsWith']('BEGIN')||_0x360a03[_0x5cf77c(0x15f)](_0x5cf77c(0x189)))_0x4c8490=_0x5cf77c(0x170);else{if(_0x360a03[_0x5cf77c(0x15f)](_0x184af6[_0x5cf77c(0x171)]))_0x4c8490=_0x5cf77c(0x1a4);else{if(_0x360a03['startsWith'](_0x184af6['bAFsK']))_0x4c8490=_0x5cf77c(0x1e0);else{if(_0x360a03['startsWith']('CREATE'))_0x4c8490=_0x5cf77c(0x1e2);else{if(_0x360a03[_0x5cf77c(0x15f)](_0x5cf77c(0x1c5)))_0x4c8490=_0x184af6['CRrIB'];else _0x360a03['startsWith'](_0x5cf77c(0x1cc))&&(_0x4c8490=_0x184af6[_0x5cf77c(0x1da)]);}}}}}}}}return{'type':_0x4c8490,'table':_0x4c3fb6};},startQueryTimer=()=>{const _0x4fbfe0={'UXStF':function(_0x15028c,_0x3200b3){return _0x15028c(_0x3200b3);},'mxwNK':function(_0x162d5f,_0x4f09a7){return _0x162d5f+_0x4f09a7;},'TbUxU':function(_0x4aceb5,_0x1eac92){return _0x4aceb5*_0x1eac92;}},_0xb2ba63=process['hrtime']();return()=>{const _0x475f7d=a0_0x2be2,[_0x34d696,_0x213cb5]=process[_0x475f7d(0x19d)](_0xb2ba63);return _0x4fbfe0['UXStF'](parseFloat,_0x4fbfe0['mxwNK'](_0x4fbfe0['TbUxU'](_0x34d696,0x3e8),_0x213cb5/0xf4240)['toFixed'](0x2));};},logQuery=(_0x25efea,_0x2e772e=[],_0x4f296f={})=>{const _0x5d2f77=a0_0x9354c3,_0x226ac8={'FvvrB':'db_query','kecbZ':_0x5d2f77(0x18b),'DWGrN':function(_0x31c110,_0x393b4a){return _0x31c110>_0x393b4a;},'zmkZd':function(_0xb115e1,_0xed9e4d){return _0xb115e1!==_0xed9e4d;},'dkMkd':function(_0x2cc57e,_0x10193b){return _0x2cc57e||_0x10193b;},'nAiNC':_0x5d2f77(0x1fb),'iXGkz':function(_0xc4cf90,_0x1f1597){return _0xc4cf90!==_0x1f1597;},'UVxHu':'\x20[SLOW]','fmCuM':'warn','VpiFA':_0x5d2f77(0x18e)};if(!sqlLogEnabled){logger[_0x5d2f77(0x1ab)]({'event':_0x226ac8[_0x5d2f77(0x1b0)],'query':_0x25efea[_0x5d2f77(0x179)](0x0,0xc8),'paramCount':_0x2e772e[_0x5d2f77(0x168)]},_0x226ac8[_0x5d2f77(0x1fd)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5d2f77(0x1b7)}=_0x4f296f,{type:_0x57e84b,table:_0x32f8fb}=parseQueryMetadata(_0x25efea),_0x2650ea={'event':'sql_query','queryType':_0x57e84b,'table':_0x32f8fb,'query':_0x25efea,'paramCount':_0x2e772e['length'],'dbType':dbType};sqlLogParams&&_0x226ac8['DWGrN'](_0x2e772e[_0x5d2f77(0x168)],0x0)&&(_0x2650ea['params']=redactSensitiveParams(_0x2e772e,_0x25efea));_0x226ac8[_0x5d2f77(0x163)](duration,null)&&(_0x2650ea['durationMs']=duration,_0x2650ea[_0x5d2f77(0x16e)]=_0x226ac8['DWGrN'](duration,sqlLogSlowThreshold));_0x226ac8[_0x5d2f77(0x163)](rowsAffected,null)&&(_0x2650ea[_0x5d2f77(0x1b1)]=rowsAffected);const _0x8dee8c=_0x226ac8['dkMkd'](_0x32f8fb,_0x226ac8['nAiNC']);let _0x383880='['+_0x57e84b+']\x20'+_0x8dee8c;duration!==null&&(_0x383880+='\x20('+duration+_0x5d2f77(0x16a));const _0x3420dc=_0x226ac8['iXGkz'](duration,null)&&duration>sqlLogSlowThreshold;let _0x287b0f='debug';if(_0x3420dc)_0x383880+=_0x226ac8[_0x5d2f77(0x165)],_0x287b0f=_0x226ac8['fmCuM'],logger['warn'](_0x2650ea,_0x383880);else sqlLogLevel===_0x226ac8['VpiFA']?(_0x287b0f=_0x226ac8[_0x5d2f77(0x17e)],logger[_0x5d2f77(0x18e)](_0x2650ea,_0x383880)):logger[_0x5d2f77(0x1ab)](_0x2650ea,_0x383880);writeToFileLog({..._0x2650ea,'level':_0x287b0f,'msg':_0x383880,'time':new Date()['toISOString']()},_0x287b0f);},logTransaction=(_0x4f326f,_0x89d63d)=>{const _0xaf6270=a0_0x9354c3,_0x161694={'TVTHI':function(_0x7e42f1,_0x450e3b,_0x509d99){return _0x7e42f1(_0x450e3b,_0x509d99);},'LAXaq':_0xaf6270(0x1ab)},_0x970380={'event':_0xaf6270(0x143),'status':_0x4f326f,'queryCount':_0x89d63d},_0x2a96a7='Transaction\x20'+_0x4f326f;logger['debug'](_0x970380,_0x2a96a7),_0x161694[_0xaf6270(0x1d9)](writeToFileLog,{..._0x970380,'level':'debug','msg':_0x2a96a7,'time':new Date()[_0xaf6270(0x188)]()},_0x161694['LAXaq']);},redactObject=_0x1d0180=>{const _0x1bb9f5=a0_0x9354c3,_0x9e9fdb={'GnryC':function(_0x3864ca,_0x15f5d2){return _0x3864ca!==_0x15f5d2;},'yBbjx':_0x1bb9f5(0x1d4),'TOCqb':_0x1bb9f5(0x1e3),'JGLqP':_0x1bb9f5(0x1c0),'Tmvqn':'secret','SPFaK':_0x1bb9f5(0x183),'iwChp':'authorization','ZqWPb':'creditcard','sCSHa':_0x1bb9f5(0x17c),'Hhsvj':'pin','HnzgG':'privatekey','BIkfv':'access_token','Rljcl':function(_0x585f38,_0x1fef35){return _0x585f38===_0x1fef35;}};if(!_0x1d0180||_0x9e9fdb['GnryC'](typeof _0x1d0180,_0x9e9fdb[_0x1bb9f5(0x1b2)]))return _0x1d0180;const _0x4b101a=[_0x9e9fdb[_0x1bb9f5(0x144)],_0x9e9fdb['JGLqP'],'pwd','token',_0x9e9fdb['Tmvqn'],_0x1bb9f5(0x15b),_0x9e9fdb['SPFaK'],_0x9e9fdb['iwChp'],_0x9e9fdb['ZqWPb'],_0x9e9fdb['sCSHa'],_0x1bb9f5(0x1c9),'ssn',_0x9e9fdb[_0x1bb9f5(0x159)],_0x1bb9f5(0x201),_0x9e9fdb['HnzgG'],_0x1bb9f5(0x1ca),_0x9e9fdb[_0x1bb9f5(0x197)]],_0x315b5c=Array[_0x1bb9f5(0x1dd)](_0x1d0180)?[..._0x1d0180]:{..._0x1d0180};for(const _0x17e347 of Object[_0x1bb9f5(0x203)](_0x315b5c)){const _0x5d6deb=_0x17e347['toLowerCase']();if(_0x4b101a[_0x1bb9f5(0x1a5)](_0x3ef360=>_0x5d6deb['includes'](_0x3ef360)))_0x315b5c[_0x17e347]='[REDACTED]';else _0x9e9fdb['Rljcl'](typeof _0x315b5c[_0x17e347],'object')&&_0x9e9fdb[_0x1bb9f5(0x1be)](_0x315b5c[_0x17e347],null)&&(_0x315b5c[_0x17e347]=redactObject(_0x315b5c[_0x17e347]));}return _0x315b5c;},logError=(_0x1ae71e,_0x4c0c1b={},_0x580c10=null)=>{const _0x1959d2=a0_0x9354c3,_0x3486a6={'UygDV':'Error','RhaVG':_0x1959d2(0x147)},_0x37e04e={'event':_0x1959d2(0x147),'errorName':_0x1ae71e[_0x1959d2(0x142)]||_0x3486a6[_0x1959d2(0x19c)],'errorMessage':_0x1ae71e['message'],'errorCode':_0x1ae71e['code']||null,'stack':_0x1ae71e[_0x1959d2(0x182)],..._0x4c0c1b},_0xc4142e=_0x580c10||'Error:\x20'+_0x1ae71e['message'];logger[_0x1959d2(0x147)](_0x37e04e,_0xc4142e),writeToFileLog({..._0x37e04e,'level':_0x3486a6['RhaVG'],'msg':_0xc4142e,'time':new Date()['toISOString']()},_0x1959d2(0x147));},logFatalError=(_0x333be7,_0x448ab8={},_0xcb6169=null)=>{const _0x5363c4=a0_0x9354c3,_0x184d02={'tzfNi':'Error','Vmuzs':'CRITICAL','RPFFB':_0x5363c4(0x141)},_0x561b8a={'event':_0x5363c4(0x155),'errorName':_0x333be7['name']||_0x184d02['tzfNi'],'errorMessage':_0x333be7[_0x5363c4(0x17d)],'errorCode':_0x333be7[_0x5363c4(0x178)]||null,'stack':_0x333be7[_0x5363c4(0x182)],'severity':_0x184d02['Vmuzs'],..._0x448ab8},_0x14570a=_0xcb6169||_0x5363c4(0x1e9)+_0x333be7['message'];logger[_0x5363c4(0x141)](_0x561b8a,_0x14570a),writeToFileLog({..._0x561b8a,'level':_0x184d02['RPFFB'],'msg':_0x14570a,'time':new Date()['toISOString']()},_0x5363c4(0x147));},logHttpError=(_0x55cb0e,_0x3b4167,_0x27fd72={})=>{const _0x359fb6=a0_0x9354c3,_0x3d0ecd={'FaupY':_0x359fb6(0x204),'zAnOn':_0x359fb6(0x1e5),'ytPUk':_0x359fb6(0x174),'beLNq':function(_0x4c820e,_0x54d452){return _0x4c820e(_0x54d452);},'pVkCS':function(_0x58b051,_0x510b03,_0x3e5fb3){return _0x58b051(_0x510b03,_0x3e5fb3);},'cSvNC':_0x359fb6(0x147),'xnkzP':_0x359fb6(0x1aa),'sjNAs':function(_0x1944df,_0x47097c){return _0x1944df>=_0x47097c;}},_0x3ebef3={'event':_0x3d0ecd[_0x359fb6(0x153)],'errorName':_0x55cb0e['name']||_0x3d0ecd['zAnOn'],'errorMessage':_0x55cb0e['message'],'errorCode':_0x55cb0e[_0x359fb6(0x178)]||_0x55cb0e[_0x359fb6(0x1fa)]||0x1f4,'stack':_0x55cb0e['stack'],'method':_0x3b4167?.[_0x359fb6(0x19e)],'url':_0x3b4167?.['url']||_0x3b4167?.[_0x359fb6(0x19f)],'path':_0x3b4167?.[_0x359fb6(0x1ba)],'ip':_0x3b4167?.['ip']||_0x3b4167?.[_0x359fb6(0x16d)]?.[_0x359fb6(0x1cf)],'userAgent':_0x3b4167?.['get']?.(_0x3d0ecd['ytPUk']),'requestId':_0x3b4167?.['id']||_0x3b4167?.['headers']?.[_0x359fb6(0x1b9)],'body':_0x3b4167?.[_0x359fb6(0x14c)]?_0x3d0ecd['beLNq'](redactObject,_0x3b4167['body']):undefined,'query':_0x3b4167?.['query'],..._0x27fd72},_0x11707f=_0x55cb0e['statusCode']||_0x55cb0e['status']||0x1f4,_0x22e3ab='HTTP\x20'+_0x11707f+':\x20'+_0x55cb0e[_0x359fb6(0x17d)];_0x11707f>=0x1f4?logger[_0x359fb6(0x147)](_0x3ebef3,_0x22e3ab):logger['warn'](_0x3ebef3,_0x22e3ab),_0x3d0ecd['pVkCS'](writeToFileLog,{..._0x3ebef3,'level':_0x11707f>=0x1f4?_0x3d0ecd[_0x359fb6(0x1bc)]:_0x3d0ecd[_0x359fb6(0x1c7)],'msg':_0x22e3ab,'time':new Date()[_0x359fb6(0x188)]()},_0x3d0ecd[_0x359fb6(0x1f7)](_0x11707f,0x1f4)?_0x359fb6(0x147):'warn');},logUncaughtError=(_0x2d8a6d,_0x77306f)=>{const _0xed55c2=a0_0x9354c3,_0x192240={'dcLVx':function(_0x55cdbd,_0x31f89e){return _0x55cdbd(_0x31f89e);},'vmbHH':_0xed55c2(0x141)},_0x42e7ab={'event':_0x2d8a6d,'errorName':_0x77306f?.[_0xed55c2(0x142)]||_0xed55c2(0x1e5),'errorMessage':_0x77306f?.['message']||_0x192240[_0xed55c2(0x1c8)](String,_0x77306f),'errorCode':_0x77306f?.[_0xed55c2(0x178)]||null,'stack':_0x77306f?.['stack'],'severity':'CRITICAL','processId':process[_0xed55c2(0x200)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x5a52c4='['+_0x2d8a6d[_0xed55c2(0x192)]()+']\x20'+(_0x77306f?.[_0xed55c2(0x17d)]||_0x77306f);logger['fatal'](_0x42e7ab,_0x5a52c4),writeToFileLog({..._0x42e7ab,'level':_0x192240[_0xed55c2(0x1ed)],'msg':_0x5a52c4,'time':new Date()[_0xed55c2(0x188)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x7743c8=a0_0x9354c3,_0x5631eb={'NBaDF':function(_0xc600b9,_0xad1611,_0x13bfdd){return _0xc600b9(_0xad1611,_0x13bfdd);},'YAGJh':_0x7743c8(0x164),'CGYSs':function(_0x5c0abb,_0x4be17c){return _0x5c0abb instanceof _0x4be17c;},'ULvsQ':function(_0x53d33d,_0x775a26){return _0x53d33d(_0x775a26);},'frjPp':'process_warning','jawgl':_0x7743c8(0x15a),'yrKCq':_0x7743c8(0x1eb),'NGaiU':_0x7743c8(0x18e)};process['on'](_0x5631eb['YAGJh'],_0x29afdc=>{const _0x2fd698=_0x7743c8;_0x5631eb[_0x2fd698(0x1ff)](logUncaughtError,_0x5631eb[_0x2fd698(0x146)],_0x29afdc),setTimeout(()=>{const _0x3c83f8=_0x2fd698;process[_0x3c83f8(0x190)](0x1);},0x3e8);}),process['on'](_0x7743c8(0x15e),(_0x1e3480,_0x36de42)=>{const _0x2aad92=_0x7743c8,_0x47e703=_0x5631eb['CGYSs'](_0x1e3480,Error)?_0x1e3480:new Error(_0x5631eb['ULvsQ'](String,_0x1e3480));logUncaughtError(_0x2aad92(0x15e),_0x47e703);}),process['on'](_0x5631eb['jawgl'],_0x40f523=>{const _0xb76396=_0x7743c8;logger['warn']({'event':_0x5631eb[_0xb76396(0x1ce)],'name':_0x40f523['name'],'message':_0x40f523[_0xb76396(0x17d)],'stack':_0x40f523[_0xb76396(0x182)]},'Process\x20Warning:\x20'+_0x40f523['message']);});const _0x419767={'event':_0x7743c8(0x154)},_0x5aab8d=_0x5631eb[_0x7743c8(0x152)];logger['info'](_0x419767,_0x5aab8d),_0x5631eb[_0x7743c8(0x1ff)](writeToFileLog,{..._0x419767,'level':_0x5631eb[_0x7743c8(0x1c2)],'msg':_0x5aab8d,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x8e0c97=a0_0x9354c3,_0x390434={'KcfDh':_0x8e0c97(0x195),'JukHl':'x-request-id'};return(_0x2cfdd1,_0x2eb923,_0x3115de,_0x497ef0)=>{const _0x39e16e=_0x8e0c97;logHttpError(_0x2cfdd1,_0x2eb923);const _0x34df42=_0x2cfdd1['statusCode']||_0x2cfdd1['status']||0x1f4;_0x3115de[_0x39e16e(0x167)](_0x34df42)['json']({'success':![],'error':_0x34df42>=0x1f4?_0x390434['KcfDh']:_0x2cfdd1[_0x39e16e(0x17d)],'requestId':_0x2eb923['id']||_0x2eb923['headers']?.[_0x390434['JukHl']]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x393e84=a0_0x18df;function a0_0x18df(_0x23b4f8,_0x3b8452){_0x23b4f8=_0x23b4f8-0xfb;const _0x7616f=a0_0x7616();let _0x18df47=_0x7616f[_0x23b4f8];if(a0_0x18df['WcwdEx']===undefined){var _0x14d7e8=function(_0x251d05){const _0x146efa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x909283='',_0x45369f='';for(let _0xf4e506=0x0,_0x53c0cd,_0x4ba89b,_0x2c8801=0x0;_0x4ba89b=_0x251d05['charAt'](_0x2c8801++);~_0x4ba89b&&(_0x53c0cd=_0xf4e506%0x4?_0x53c0cd*0x40+_0x4ba89b:_0x4ba89b,_0xf4e506++%0x4)?_0x909283+=String['fromCharCode'](0xff&_0x53c0cd>>(-0x2*_0xf4e506&0x6)):0x0){_0x4ba89b=_0x146efa['indexOf'](_0x4ba89b);}for(let _0x2876e3=0x0,_0x286569=_0x909283['length'];_0x2876e3<_0x286569;_0x2876e3++){_0x45369f+='%'+('00'+_0x909283['charCodeAt'](_0x2876e3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45369f);};a0_0x18df['QjOttL']=_0x14d7e8,a0_0x18df['XocNCb']={},a0_0x18df['WcwdEx']=!![];}const _0x49d8a4=_0x7616f[0x0],_0x597bec=_0x23b4f8+_0x49d8a4,_0x589256=a0_0x18df['XocNCb'][_0x597bec];return!_0x589256?(_0x18df47=a0_0x18df['QjOttL'](_0x18df47),a0_0x18df['XocNCb'][_0x597bec]=_0x18df47):_0x18df47=_0x589256,_0x18df47;}function a0_0x7616(){const _0x1dbd73=['wKXUvxe','ywrK','BgvUz3rO','zg9LqKi','BxLZCwW','y2XLyxi','lI9KyI1VCMfJBgu','DhjPBq','zgvIDwC','AgfZ','A2v5CW','mJf5CLjnBNG','Cg9ZDgDYzxnXBa','otLhtvjAuxq','mtyXnta4Bxnyz0Tc','mtmYnZi1vK1wzMfY','Bg9VA3vWq2fJAgu','ChvZAa','AM1Ht0i','rffYEvC','mZy5nda4nNPqEe5zAa','mJH3twziswO','u0vmrunuia','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','Bg9HzeXVB2T1CfrHyMXL','DMfSAwrHDgvmB29RDxbwywX1zxm','iezst00G','Dg9mB3DLCKnHC2u','v0DHwe4','Dg9vChbLCKnHC2u','zw52','CMvZB2X2zuXVB2T1CfzHBhvL','B3jHy2XL','C2v0','tg9VA3vWignHy2HLignSzwfYzwq','z2v0','zxHWB3j0CW','nteXnJuZy0nNwu9z','nK9VD0fUvG','C2XPy2u','zw50CMLLCW','mJiWnZq0ofPVAMD2CG','zxHLy3v0zvf1zxj5','z2v0rgLZDgLUy3rwywX1zxm','mteYmZyWzffqDNbl','mZK1mdz4y3HZrgi'];a0_0x7616=function(){return _0x1dbd73;};return a0_0x7616();}(function(_0x4499fe,_0xdb9bf1){const _0x179806=a0_0x18df,_0x229410=_0x4499fe();while(!![]){try{const _0x4345ae=-parseInt(_0x179806(0x110))/0x1*(-parseInt(_0x179806(0x109))/0x2)+parseInt(_0x179806(0x108))/0x3+parseInt(_0x179806(0x126))/0x4*(-parseInt(_0x179806(0x120))/0x5)+parseInt(_0x179806(0x11f))/0x6*(-parseInt(_0x179806(0x11c))/0x7)+-parseInt(_0x179806(0x10c))/0x8+parseInt(_0x179806(0x125))/0x9+parseInt(_0x179806(0x10f))/0xa*(parseInt(_0x179806(0x11e))/0xb);if(_0x4345ae===_0xdb9bf1)break;else _0x229410['push'](_0x229410['shift']());}catch(_0x14ee3f){_0x229410['push'](_0x229410['shift']());}}}(a0_0x7616,0x3f063));const dbType=(process[a0_0x393e84(0x101)]['DB_TYPE']||a0_0x393e84(0x11d))['toLowerCase']();let executeQuery;if(dbType===a0_0x393e84(0x103)){const oracleDb=require(a0_0x393e84(0x117));executeQuery=(_0x3159b9,_0x243d12)=>oracleDb['executeQuery'](_0x3159b9,_0x243d12);}else{if(dbType===a0_0x393e84(0x115)){const mysqlDb=require('./db-mysql');executeQuery=(_0x3bd9f2,_0x59885b)=>mysqlDb[a0_0x393e84(0x10d)](_0x3bd9f2,_0x59885b);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x5834d8=a0_0x393e84;this[_0x5834d8(0x121)][_0x5834d8(0x116)](),logger[_0x5834d8(0x119)]({'event':_0x5834d8(0x128)},_0x5834d8(0x105));}async[a0_0x393e84(0xfb)](_0x5c8a46,_0x297f01,_0x3e2169){const _0x574077=a0_0x393e84,_0x320101={'ZZHET':function(_0x41cca4,_0x3ce08b){return _0x41cca4!==_0x3ce08b;},'DQryW':function(_0x1c8ca4,_0x49d2d7){return _0x1c8ca4(_0x49d2d7);}},_0x421e0f=_0x5c8a46+':'+_0x297f01+':'+_0x3e2169;if(this[_0x574077(0x121)]['has'](_0x421e0f))return this[_0x574077(0x121)][_0x574077(0x106)](_0x421e0f);try{const _0xb49a29=_0x574077(0x127)+_0x3e2169+',\x20'+_0x297f01+_0x574077(0xfd)+_0x5c8a46,_0x430cf2=await _0x320101[_0x574077(0x124)](executeQuery,_0xb49a29),_0x255dfb=new Map();return _0x430cf2['forEach'](_0x5d4bc5=>{const _0x253089=_0x574077,_0x3d3315=_0x5d4bc5[_0x297f01]!==undefined?_0x5d4bc5[_0x297f01]:_0x5d4bc5[_0x297f01[_0x253089(0x100)]()],_0x4b182f=_0x5d4bc5[_0x3e2169]!==undefined?_0x5d4bc5[_0x3e2169]:_0x5d4bc5[_0x3e2169['toUpperCase']()];_0x320101['ZZHET'](_0x3d3315,null)&&_0x3d3315!==undefined&&(_0x255dfb[_0x253089(0x104)](_0x320101['DQryW'](String,_0x3d3315)[_0x253089(0xfe)]()['trim'](),_0x4b182f),_0x255dfb[_0x253089(0x104)](String(_0x3d3315)[_0x253089(0x118)](),_0x4b182f));}),this['lookupCache'][_0x574077(0x104)](_0x421e0f,_0x255dfb),logger['info']({'event':'lookup_table_loaded','table':_0x5c8a46,'column':_0x297f01,'count':_0x430cf2[_0x574077(0x113)]},'Lookup\x20table\x20loaded:\x20'+_0x5c8a46),_0x255dfb;}catch(_0x312db5){logger['error']({'event':'lookup_table_load_error','table':_0x5c8a46,'error':_0x312db5['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x5c8a46);throw _0x312db5;}}[a0_0x393e84(0x102)](_0x441a01,_0x2b7923){const _0x1861c4=a0_0x393e84,_0x2089ae={'Qtgve':function(_0x13c39c,_0x5b85df){return _0x13c39c===_0x5b85df;}};if(_0x441a01===null||_0x441a01===undefined||_0x2089ae['Qtgve'](_0x441a01,''))return null;const _0xb02d6=String(_0x441a01)['trim']();if(_0x2b7923[_0x1861c4(0x11a)](_0xb02d6))return _0x2b7923['get'](_0xb02d6);const _0x366917=_0xb02d6['toLowerCase']();if(_0x2b7923['has'](_0x366917))return _0x2b7923[_0x1861c4(0x106)](_0x366917);return null;}async['processLookupFields'](_0x39bb1b,_0x58868a){const _0x3a657a=a0_0x393e84,_0xba181b={'ZLnUq':function(_0xd5a828,_0x1fdb26){return _0xd5a828===_0x1fdb26;},'jmaOB':function(_0x1c6889,_0x5ab34a){return _0x1c6889!==_0x5ab34a;},'zHAjI':'Lookup\x20fields\x20processed'};if(!_0x58868a||Object['keys'](_0x58868a)['length']===0x0)return{'processedRows':_0x39bb1b,'errors':[]};const _0xfa604c=[],_0x5427df=new Map();for(const [_0x30d7b4,_0xbe24e7]of Object['entries'](_0x58868a)){const {lookupTable:_0x1d50ae,lookupColumn:_0x3a3ad2,lookupIdColumn:_0x38bab8}=_0xbe24e7,_0xa27bbd=_0x1d50ae+':'+_0x3a3ad2+':'+_0x38bab8;if(!_0x5427df[_0x3a657a(0x11a)](_0xa27bbd)){const _0x598bb4=await this['loadLookupTable'](_0x1d50ae,_0x3a3ad2,_0x38bab8);_0x5427df[_0x3a657a(0x104)](_0xa27bbd,_0x598bb4);}}const _0x5e6f76=_0x39bb1b['map']((_0x5b3ca6,_0x3241d9)=>{const _0x3a3825=_0x3a657a,_0x266826={..._0x5b3ca6};for(const [_0x22d6d6,_0x17656c]of Object[_0x3a3825(0x10b)](_0x58868a)){const {lookupTable:_0x198bb7,lookupColumn:_0x14db4b,lookupIdColumn:_0x4ea3d8,targetField:_0x1df2f8,required:_0xf0e7f8}=_0x17656c,_0x581da9=_0x198bb7+':'+_0x14db4b+':'+_0x4ea3d8,_0x2f8ce4=_0x5427df[_0x3a3825(0x106)](_0x581da9),_0x5f11da=_0x5b3ca6[_0x22d6d6];if((_0x5f11da===null||_0x5f11da===undefined||_0xba181b[_0x3a3825(0x111)](_0x5f11da,''))&&!_0xf0e7f8){_0x266826[_0x1df2f8]=null;continue;}const _0x2b5ded=this['resolveLookupValue'](_0x5f11da,_0x2f8ce4);_0xba181b[_0x3a3825(0x123)](_0x2b5ded,null)?_0x266826[_0x1df2f8]=_0x2b5ded:(_0xf0e7f8&&_0xfa604c[_0x3a3825(0x122)]({'rowIndex':_0x3241d9,'field':_0x22d6d6,'value':_0x5f11da,'targetField':_0x1df2f8,'lookupTable':_0x198bb7,'message':'Value\x20\x22'+_0x5f11da+'\x22\x20not\x20found\x20in\x20'+_0x198bb7}),_0x266826[_0x1df2f8]=null);}return _0x266826;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x39bb1b[_0x3a657a(0x113)],'errorCount':_0xfa604c[_0x3a657a(0x113)],'lookupFieldCount':Object['keys'](_0x58868a)['length']},_0xba181b['zHAjI']),{'processedRows':_0x5e6f76,'errors':_0xfa604c};}[a0_0x393e84(0x10e)](_0x2fbc2c,_0x34ae8a){const _0xd0df20={'WGaXN':function(_0x1097cd,_0x2c657a){return _0x1097cd!==_0x2c657a;}},_0x46a7d0=new Set();return _0x2fbc2c['forEach'](_0x22964d=>{const _0x21e3f8=a0_0x18df,_0x44cdf4=_0x22964d[_0x34ae8a];_0xd0df20['WGaXN'](_0x44cdf4,null)&&_0xd0df20['WGaXN'](_0x44cdf4,undefined)&&_0xd0df20[_0x21e3f8(0xff)](_0x44cdf4,'')&&_0x46a7d0[_0x21e3f8(0x112)](String(_0x44cdf4)[_0x21e3f8(0x118)]());}),Array['from'](_0x46a7d0);}async[a0_0x393e84(0xfc)](_0x12e508,_0x1b47f9){const _0x13e5a8=a0_0x393e84,_0x3a4f13={'doeBB':function(_0x51eec7,_0x106751){return _0x51eec7===_0x106751;}};if(!_0x1b47f9||Object[_0x13e5a8(0x11b)](_0x1b47f9)[_0x13e5a8(0x113)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x54093b=[],_0x4f4b85={};for(const [_0x54a2fd,_0x1c9a94]of Object['entries'](_0x1b47f9)){const {lookupTable:_0x4d28db,lookupColumn:_0x51e00f,lookupIdColumn:_0x40507a,required:_0x2e3fa1}=_0x1c9a94,_0x50793c=this['getDistinctValues'](_0x12e508,_0x54a2fd),_0x41157d=await this['loadLookupTable'](_0x4d28db,_0x51e00f,_0x40507a),_0x3d2a5c=[],_0x116be3=[];_0x50793c['forEach'](_0x34e7b3=>{const _0x314957=_0x13e5a8,_0x1acbdb=this[_0x314957(0x102)](_0x34e7b3,_0x41157d);_0x1acbdb!==null?_0x116be3[_0x314957(0x122)](_0x34e7b3):_0x3d2a5c[_0x314957(0x122)](_0x34e7b3);});if(_0x3d2a5c['length']>0x0&&_0x2e3fa1){_0x54093b[_0x13e5a8(0x122)]({'field':_0x54a2fd,'lookupTable':_0x4d28db,'invalidValues':_0x3d2a5c,'message':_0x3d2a5c[_0x13e5a8(0x113)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x4d28db});const _0x19b82a=[];_0x41157d['forEach']((_0x281f3e,_0xd8d901)=>{const _0x2f4618=_0x13e5a8;if(_0x3a4f13[_0x2f4618(0x114)](_0xd8d901,_0xd8d901['toLowerCase']()))return;_0x19b82a[_0x2f4618(0x122)](_0xd8d901);}),_0x4f4b85[_0x54a2fd]={'invalidValues':_0x3d2a5c,'availableValues':_0x19b82a[_0x13e5a8(0x10a)](0x0,0x32)};}}return{'valid':_0x54093b['length']===0x0,'errors':_0x54093b,'suggestions':_0x4f4b85};}}module[a0_0x393e84(0x107)]=new LookupResolver();
1
+ const a0_0x1f8e5b=a0_0x48cc;function a0_0x3b5b(){const _0x55f0dc=['Dg9mB3DLCKnHC2u','mKPqwNvLzW','u0vmrunuia','Cg9ZDgDYzxnXBa','ChvZAa','mti1ndqXnLHbD1vTuW','zM9YrwfJAa','runvEvu','lI9KyG','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','mtfKug5PyKK','z2v0rgLZDgLUy3rwywX1zxm','nJnQs1nhEe4','C2v0','CMvZB2X2zuXVB2T1CfzHBhvL','Bg9VA3vWx3rHyMXLx2XVywrLza','Dg9vChbLCKnHC2u','odiYotq2mgHbqvD2vG','BxLZCwW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','uNnithO','zgvIDwC','BwfW','BgvUz3rO','y2XLyxi','nda5otq2nfjstfj3CW','nND1yNjtBa','sM5SuwW','zM1JD2W','yMXqAMi','EwXIA20','rMfJB3q','lI9KyI1VCMfJBgu','A2v5CW','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','zw50CMLLCW','zxHLy3v0zvf1zxj5','q25hwhG','BwvZC2fNzq','Bg9HzeXVB2T1CfrHyMXL','nJC2mte2tKfhsKjW','mZqZmZeXmJb5DvbrsgC','ndu4nty5DfbUtu1n','Bg9VA3vWq2fJAgu','vMfSDwuGiG','Aw5MBW','tg9VA3vWignHy2HLignSzwfYzwq','wwnWAKK','mZGZmZG1muHvquDdEG','ywrK','DhjPBq'];a0_0x3b5b=function(){return _0x55f0dc;};return a0_0x3b5b();}(function(_0x36ef64,_0x1f46c1){const _0x45f2fb=a0_0x48cc,_0x10be95=_0x36ef64();while(!![]){try{const _0x4e2e1f=parseInt(_0x45f2fb(0x194))/0x1*(parseInt(_0x45f2fb(0x16b))/0x2)+parseInt(_0x45f2fb(0x192))/0x3+-parseInt(_0x45f2fb(0x183))/0x4+-parseInt(_0x45f2fb(0x17b))/0x5+-parseInt(_0x45f2fb(0x184))/0x6*(-parseInt(_0x45f2fb(0x167))/0x7)+-parseInt(_0x45f2fb(0x16f))/0x8*(parseInt(_0x45f2fb(0x176))/0x9)+parseInt(_0x45f2fb(0x193))/0xa*(parseInt(_0x45f2fb(0x174))/0xb);if(_0x4e2e1f===_0x1f46c1)break;else _0x10be95['push'](_0x10be95['shift']());}catch(_0x4fbe13){_0x10be95['push'](_0x10be95['shift']());}}}(a0_0x3b5b,0xdad76));function a0_0x48cc(_0x2b17b7,_0x3385be){_0x2b17b7=_0x2b17b7-0x165;const _0x3b5bf0=a0_0x3b5b();let _0x48ccf1=_0x3b5bf0[_0x2b17b7];if(a0_0x48cc['jkurQB']===undefined){var _0x3156b4=function(_0x4815b8){const _0x45dc87='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d8d27='',_0x45d8a9='';for(let _0x312d9=0x0,_0x519ebe,_0x18e9ca,_0x389016=0x0;_0x18e9ca=_0x4815b8['charAt'](_0x389016++);~_0x18e9ca&&(_0x519ebe=_0x312d9%0x4?_0x519ebe*0x40+_0x18e9ca:_0x18e9ca,_0x312d9++%0x4)?_0x1d8d27+=String['fromCharCode'](0xff&_0x519ebe>>(-0x2*_0x312d9&0x6)):0x0){_0x18e9ca=_0x45dc87['indexOf'](_0x18e9ca);}for(let _0x326c7a=0x0,_0x93b1b4=_0x1d8d27['length'];_0x326c7a<_0x93b1b4;_0x326c7a++){_0x45d8a9+='%'+('00'+_0x1d8d27['charCodeAt'](_0x326c7a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45d8a9);};a0_0x48cc['HrrSKS']=_0x3156b4,a0_0x48cc['EIKlfZ']={},a0_0x48cc['jkurQB']=!![];}const _0x512b48=_0x3b5bf0[0x0],_0x1fc8a9=_0x2b17b7+_0x512b48,_0x2dae38=a0_0x48cc['EIKlfZ'][_0x1fc8a9];return!_0x2dae38?(_0x48ccf1=a0_0x48cc['HrrSKS'](_0x48ccf1),a0_0x48cc['EIKlfZ'][_0x1fc8a9]=_0x48ccf1):_0x48ccf1=_0x2dae38,_0x48ccf1;}const dbType=(process['env']['DB_TYPE']||a0_0x1f8e5b(0x16d))[a0_0x1f8e5b(0x16a)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x1f8e5b(0x18a));executeQuery=(_0x3407b6,_0x5ccfd7)=>oracleDb[a0_0x1f8e5b(0x18e)](_0x3407b6,_0x5ccfd7);}else{if(dbType===a0_0x1f8e5b(0x17c)){const mysqlDb=require('./db-mysql');executeQuery=(_0x32b45f,_0x5b293e)=>mysqlDb[a0_0x1f8e5b(0x18e)](_0x32b45f,_0x5b293e);}else executeQuery=require(a0_0x1f8e5b(0x172))['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x7985d6=a0_0x1f8e5b;this['lookupCache'][_0x7985d6(0x182)](),logger[_0x7985d6(0x17f)]({'event':_0x7985d6(0x18c)},_0x7985d6(0x165));}async['loadLookupTable'](_0x545ed9,_0x4e41aa,_0x2f839f){const _0x578d4b=a0_0x1f8e5b,_0x3684e0={'RsHLz':function(_0x3b8043,_0x176947){return _0x3b8043!==_0x176947;},'ECUyU':function(_0x2d655c,_0xa0a496){return _0x2d655c!==_0xa0a496;},'CnGXx':function(_0x58183d,_0x246d2d){return _0x58183d!==_0x246d2d;},'zAhae':_0x578d4b(0x179),'YETJE':'lookup_table_load_error'},_0x4d8b13=_0x545ed9+':'+_0x4e41aa+':'+_0x2f839f;if(this[_0x578d4b(0x195)]['has'](_0x4d8b13))return this['lookupCache']['get'](_0x4d8b13);try{const _0x18862d=_0x578d4b(0x16c)+_0x2f839f+',\x20'+_0x4e41aa+'\x20FROM\x20'+_0x545ed9,_0x51a00e=await executeQuery(_0x18862d),_0x325cf7=new Map();return _0x51a00e[_0x578d4b(0x170)](_0x112ef6=>{const _0x2dc723=_0x578d4b,_0x281d3d=_0x3684e0['RsHLz'](_0x112ef6[_0x4e41aa],undefined)?_0x112ef6[_0x4e41aa]:_0x112ef6[_0x4e41aa[_0x2dc723(0x17a)]()],_0xc7c846=_0x3684e0[_0x2dc723(0x171)](_0x112ef6[_0x2f839f],undefined)?_0x112ef6[_0x2f839f]:_0x112ef6[_0x2f839f[_0x2dc723(0x17a)]()];_0x3684e0[_0x2dc723(0x18f)](_0x281d3d,null)&&_0x3684e0[_0x2dc723(0x17e)](_0x281d3d,undefined)&&(_0x325cf7[_0x2dc723(0x177)](String(_0x281d3d)[_0x2dc723(0x16a)]()[_0x2dc723(0x169)](),_0xc7c846),_0x325cf7[_0x2dc723(0x177)](String(_0x281d3d)['trim'](),_0xc7c846));}),this[_0x578d4b(0x195)][_0x578d4b(0x177)](_0x4d8b13,_0x325cf7),logger['info']({'event':_0x3684e0['zAhae'],'table':_0x545ed9,'column':_0x4e41aa,'count':_0x51a00e[_0x578d4b(0x181)]},'Lookup\x20table\x20loaded:\x20'+_0x545ed9),_0x325cf7;}catch(_0x5a5f34){logger['error']({'event':_0x3684e0['YETJE'],'table':_0x545ed9,'error':_0x5a5f34[_0x578d4b(0x190)]},_0x578d4b(0x173)+_0x545ed9);throw _0x5a5f34;}}[a0_0x1f8e5b(0x178)](_0x5ec409,_0x4990a2){const _0x3ec9dc=a0_0x1f8e5b,_0x5c2eb8={'Facot':function(_0x2816d3,_0x444ef1){return _0x2816d3===_0x444ef1;},'RbFKe':function(_0x45f31b,_0x14e755){return _0x45f31b===_0x14e755;},'OfXfU':function(_0x17de01,_0x30c129){return _0x17de01===_0x30c129;},'YcpjI':function(_0x22fd79,_0xdd04a8){return _0x22fd79(_0xdd04a8);}};if(_0x5c2eb8[_0x3ec9dc(0x189)](_0x5ec409,null)||_0x5c2eb8['RbFKe'](_0x5ec409,undefined)||_0x5c2eb8['OfXfU'](_0x5ec409,''))return null;const _0x4b3f89=_0x5c2eb8[_0x3ec9dc(0x166)](String,_0x5ec409)[_0x3ec9dc(0x169)]();if(_0x4990a2['has'](_0x4b3f89))return _0x4990a2['get'](_0x4b3f89);const _0x2f7ed0=_0x4b3f89['toLowerCase']();if(_0x4990a2['has'](_0x2f7ed0))return _0x4990a2['get'](_0x2f7ed0);return null;}async['processLookupFields'](_0x4b279a,_0x195e9f){const _0x3a7ba9=a0_0x1f8e5b,_0x48c1dc={'blPjb':function(_0x17cd73,_0x8b9155){return _0x17cd73===_0x8b9155;},'HpoRi':'lookup_fields_processed'};if(!_0x195e9f||Object['keys'](_0x195e9f)['length']===0x0)return{'processedRows':_0x4b279a,'errors':[]};const _0x47157a=[],_0x403432=new Map();for(const [_0x37e9cc,_0x535b54]of Object['entries'](_0x195e9f)){const {lookupTable:_0x546536,lookupColumn:_0x2abcf9,lookupIdColumn:_0x304150}=_0x535b54,_0x240982=_0x546536+':'+_0x2abcf9+':'+_0x304150;if(!_0x403432['has'](_0x240982)){const _0x3518f5=await this[_0x3a7ba9(0x191)](_0x546536,_0x2abcf9,_0x304150);_0x403432[_0x3a7ba9(0x177)](_0x240982,_0x3518f5);}}const _0x54139b=_0x4b279a[_0x3a7ba9(0x180)]((_0x51f621,_0x58bb6a)=>{const _0x5d9320=_0x3a7ba9,_0x7a70f8={..._0x51f621};for(const [_0x36365c,_0x4feab0]of Object['entries'](_0x195e9f)){const {lookupTable:_0x343a66,lookupColumn:_0x49c659,lookupIdColumn:_0x3c3cc0,targetField:_0xecd121,required:_0x267687}=_0x4feab0,_0x10824a=_0x343a66+':'+_0x49c659+':'+_0x3c3cc0,_0x4d029e=_0x403432['get'](_0x10824a),_0x2568fe=_0x51f621[_0x36365c];if((_0x48c1dc['blPjb'](_0x2568fe,null)||_0x2568fe===undefined||_0x48c1dc[_0x5d9320(0x187)](_0x2568fe,''))&&!_0x267687){_0x7a70f8[_0xecd121]=null;continue;}const _0x3b218a=this[_0x5d9320(0x178)](_0x2568fe,_0x4d029e);_0x3b218a!==null?_0x7a70f8[_0xecd121]=_0x3b218a:(_0x267687&&_0x47157a[_0x5d9320(0x16e)]({'rowIndex':_0x58bb6a,'field':_0x36365c,'value':_0x2568fe,'targetField':_0xecd121,'lookupTable':_0x343a66,'message':_0x5d9320(0x196)+_0x2568fe+'\x22\x20not\x20found\x20in\x20'+_0x343a66}),_0x7a70f8[_0xecd121]=null);}return _0x7a70f8;});return logger[_0x3a7ba9(0x197)]({'event':_0x48c1dc['HpoRi'],'totalRows':_0x4b279a['length'],'errorCount':_0x47157a['length'],'lookupFieldCount':Object[_0x3a7ba9(0x18b)](_0x195e9f)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x54139b,'errors':_0x47157a};}[a0_0x1f8e5b(0x175)](_0x30c33a,_0x1e68d3){const _0x3b30b8={'GOjjy':function(_0x4bd2fd,_0x43d3cd){return _0x4bd2fd!==_0x43d3cd;},'ylbkm':function(_0x57eded,_0xdeef95){return _0x57eded!==_0xdeef95;},'rrFsS':function(_0x223e2c,_0x315f69){return _0x223e2c(_0x315f69);}},_0x49ff4d=new Set();return _0x30c33a['forEach'](_0x554a8c=>{const _0x3cf40a=a0_0x48cc,_0x4d4805=_0x554a8c[_0x1e68d3];_0x4d4805!==null&&_0x3b30b8['GOjjy'](_0x4d4805,undefined)&&_0x3b30b8[_0x3cf40a(0x188)](_0x4d4805,'')&&_0x49ff4d[_0x3cf40a(0x168)](_0x3b30b8['rrFsS'](String,_0x4d4805)[_0x3cf40a(0x169)]());}),Array['from'](_0x49ff4d);}async['validateLookupValues'](_0xf71a13,_0x1a330e){const _0x56a7f0=a0_0x1f8e5b,_0x4c0d02={'NBmve':function(_0x132b40,_0x41eb28){return _0x132b40!==_0x41eb28;},'JnlQl':function(_0x56c5d7,_0x2fc0cc){return _0x56c5d7===_0x2fc0cc;},'fmcwl':function(_0x2ef399,_0x3180ca){return _0x2ef399===_0x3180ca;}};if(!_0x1a330e||Object['keys'](_0x1a330e)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x1643e8=[],_0x3be6c1={};for(const [_0x4ad1f1,_0x241ae2]of Object[_0x56a7f0(0x18d)](_0x1a330e)){const {lookupTable:_0x68a381,lookupColumn:_0xfad1ad,lookupIdColumn:_0x38758a,required:_0x4eeecb}=_0x241ae2,_0x4ee490=this[_0x56a7f0(0x175)](_0xf71a13,_0x4ad1f1),_0x28feff=await this[_0x56a7f0(0x191)](_0x68a381,_0xfad1ad,_0x38758a),_0x40ce07=[],_0x45dd6e=[];_0x4ee490[_0x56a7f0(0x170)](_0x368f4a=>{const _0x4c76f1=_0x56a7f0,_0x56e187=this['resolveLookupValue'](_0x368f4a,_0x28feff);_0x4c0d02['NBmve'](_0x56e187,null)?_0x45dd6e[_0x4c76f1(0x16e)](_0x368f4a):_0x40ce07[_0x4c76f1(0x16e)](_0x368f4a);});if(_0x40ce07[_0x56a7f0(0x181)]>0x0&&_0x4eeecb){_0x1643e8['push']({'field':_0x4ad1f1,'lookupTable':_0x68a381,'invalidValues':_0x40ce07,'message':_0x40ce07[_0x56a7f0(0x181)]+_0x56a7f0(0x17d)+_0x68a381});const _0x3acc3c=[];_0x28feff[_0x56a7f0(0x170)]((_0x391ff5,_0x2ea16a)=>{const _0x37c486=_0x56a7f0;if(_0x4c0d02[_0x37c486(0x185)](_0x2ea16a,_0x2ea16a[_0x37c486(0x16a)]()))return;_0x3acc3c['push'](_0x2ea16a);}),_0x3be6c1[_0x4ad1f1]={'invalidValues':_0x40ce07,'availableValues':_0x3acc3c['slice'](0x0,0x32)};}}return{'valid':_0x4c0d02[_0x56a7f0(0x186)](_0x1643e8['length'],0x0),'errors':_0x1643e8,'suggestions':_0x3be6c1};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x5d7744=a0_0x24a9;(function(_0x337153,_0xa9e645){const _0x451b78=a0_0x24a9,_0x3c0c51=_0x337153();while(!![]){try{const _0x5eacd6=-parseInt(_0x451b78(0x17f))/0x1+-parseInt(_0x451b78(0x18a))/0x2+-parseInt(_0x451b78(0x16b))/0x3+-parseInt(_0x451b78(0x174))/0x4+-parseInt(_0x451b78(0x167))/0x5*(parseInt(_0x451b78(0x178))/0x6)+-parseInt(_0x451b78(0x18e))/0x7+-parseInt(_0x451b78(0x172))/0x8*(-parseInt(_0x451b78(0x175))/0x9);if(_0x5eacd6===_0xa9e645)break;else _0x3c0c51['push'](_0x3c0c51['shift']());}catch(_0x7d1ef2){_0x3c0c51['push'](_0x3c0c51['shift']());}}}(a0_0x7775,0x3f8ce));const fs=require('fs')['promises'],path=require(a0_0x5d7744(0x185)),{logger}=require(a0_0x5d7744(0x189));class PayloadLoader{constructor(){const _0x3b2c43=a0_0x5d7744;this[_0x3b2c43(0x181)]=path[_0x3b2c43(0x184)](__dirname,'../../payload'),this[_0x3b2c43(0x16d)]=new Map();}async[a0_0x5d7744(0x183)](_0x490033,_0x64a773){const _0x27e7a6=a0_0x5d7744,_0x341697={'YSItL':'utf8','QrBfH':_0x27e7a6(0x169)},_0x19365d=_0x490033+':'+_0x64a773;if(this['cache'][_0x27e7a6(0x173)](_0x19365d))return this['cache']['get'](_0x19365d);const _0x5c10f6=path['join'](this[_0x27e7a6(0x181)],_0x490033+'_'+_0x64a773+'.json');try{const _0xc92eae=await fs['readFile'](_0x5c10f6,_0x341697['YSItL']),_0x7e30d7=JSON['parse'](_0xc92eae);return this[_0x27e7a6(0x16d)]['set'](_0x19365d,_0x7e30d7),logger['debug']({'event':_0x27e7a6(0x18d),'project':_0x490033,'resource':_0x64a773},'Payload\x20loaded\x20successfully'),_0x7e30d7;}catch(_0x25ed95){logger[_0x27e7a6(0x17e)]({'event':_0x341697[_0x27e7a6(0x18b)],'project':_0x490033,'resource':_0x64a773,'error':_0x25ed95['message']},_0x27e7a6(0x179));throw new Error(_0x27e7a6(0x17c)+_0x490033+'_'+_0x64a773);}}async[a0_0x5d7744(0x18c)](_0x2fbfa8){const _0x40c719=a0_0x5d7744,_0x343415={'khVWo':_0x40c719(0x17d)},_0x395c84=_0x40c719(0x180)+_0x2fbfa8;if(this['cache'][_0x40c719(0x173)](_0x395c84))return this[_0x40c719(0x16d)]['get'](_0x395c84);const _0x5ce545=path[_0x40c719(0x184)](this[_0x40c719(0x181)],_0x2fbfa8+_0x40c719(0x170));try{const _0x373cea=await fs['readFile'](_0x5ce545,'utf8'),_0x52d981=JSON[_0x40c719(0x171)](_0x373cea);return this['cache'][_0x40c719(0x168)](_0x395c84,_0x52d981),logger['debug']({'event':_0x40c719(0x18d),'payloadName':_0x2fbfa8},_0x343415[_0x40c719(0x16f)]),_0x52d981;}catch(_0x679a65){logger[_0x40c719(0x17e)]({'event':_0x40c719(0x169),'payloadName':_0x2fbfa8,'error':_0x679a65['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x40c719(0x17c)+_0x2fbfa8);}}['isActionEnabled'](_0x414d35,_0x4e90a3){const _0x221fe5=a0_0x5d7744,_0x38d529={'MAUhm':function(_0x5b10bd,_0x3adfab){return _0x5b10bd===_0x3adfab;}};return _0x414d35['action']&&_0x38d529[_0x221fe5(0x188)](_0x414d35['action'][_0x4e90a3],!![]);}[a0_0x5d7744(0x186)](_0x2ed5e0){const _0xe7c6ab=a0_0x5d7744;return{'columns':_0x2ed5e0[_0xe7c6ab(0x16e)]||[],'filename':_0x2ed5e0['tableName'][_0xe7c6ab(0x176)]('.','-')+'-export','datatablesQuery':_0x2ed5e0[_0xe7c6ab(0x16c)]||null,'columnFormats':_0x2ed5e0[_0xe7c6ab(0x187)]||null,'fieldLabels':_0x2ed5e0['fieldLabels']||null};}[a0_0x5d7744(0x17b)](){const _0x6a2f11=a0_0x5d7744,_0x5afa8b={'exDHN':_0x6a2f11(0x17a)};this['cache']['clear'](),logger['info']({'event':_0x5afa8b[_0x6a2f11(0x16a)]},_0x6a2f11(0x177));}}function a0_0x24a9(_0x1a9c23,_0xb53871){_0x1a9c23=_0x1a9c23-0x167;const _0x7775fb=a0_0x7775();let _0x24a957=_0x7775fb[_0x1a9c23];if(a0_0x24a9['yZACgY']===undefined){var _0x4aa39f=function(_0x2e2559){const _0x26e461='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3219a9='',_0x43ceb6='';for(let _0x14d2fd=0x0,_0x1ebfaf,_0x5d8efe,_0x19f763=0x0;_0x5d8efe=_0x2e2559['charAt'](_0x19f763++);~_0x5d8efe&&(_0x1ebfaf=_0x14d2fd%0x4?_0x1ebfaf*0x40+_0x5d8efe:_0x5d8efe,_0x14d2fd++%0x4)?_0x3219a9+=String['fromCharCode'](0xff&_0x1ebfaf>>(-0x2*_0x14d2fd&0x6)):0x0){_0x5d8efe=_0x26e461['indexOf'](_0x5d8efe);}for(let _0x2af2f7=0x0,_0x4f2035=_0x3219a9['length'];_0x2af2f7<_0x4f2035;_0x2af2f7++){_0x43ceb6+='%'+('00'+_0x3219a9['charCodeAt'](_0x2af2f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43ceb6);};a0_0x24a9['IIAoGN']=_0x4aa39f,a0_0x24a9['QgECbh']={},a0_0x24a9['yZACgY']=!![];}const _0x1139e4=_0x7775fb[0x0],_0xa6cfff=_0x1a9c23+_0x1139e4,_0x109137=a0_0x24a9['QgECbh'][_0xa6cfff];return!_0x109137?(_0x24a957=a0_0x24a9['IIAoGN'](_0x24a957),a0_0x24a9['QgECbh'][_0xa6cfff]=_0x24a957):_0x24a957=_0x109137,_0x24a957;}module[a0_0x5d7744(0x182)]=new PayloadLoader();function a0_0x7775(){const _0x3016da=['tufvAg0','lI9SB2DNzxi','mtK1nJGWBKjft3Hw','uxjczKG','Bg9HzfbHEwXVywrcEu5HBwu','Cgf5Bg9Hzf9SB2fKzwq','mtqYmJC2nhfSwhjmsG','nwTgs1LMzG','C2v0','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zxHese4','mti5mZeYnM9LBwrkva','zgf0yxrHyMXLC1f1zxj5','y2fJAgu','zMLLBgroyw1L','A2Hwv28','lMPZB24','CgfYC2u','mJK2EgnLuMHR','AgfZ','mtaZmdyYnhznzhHVuq','ndq5odaYBLPZz0zS','CMvWBgfJzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtu1otyYmMPKCenzBG','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','y2XLyxjdywnOzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','mZm5mtu3u2vvAxne','Cgf5Bg9HzdO','Cgf5Bg9HzerPCG','zxHWB3j0CW','Bg9HzfbHEwXVywq','AM9PBG','Cgf0Aa','z2v0rxHWB3j0q29UzMLN','y29SDw1UrM9YBwf0CW'];a0_0x7775=function(){return _0x3016da;};return a0_0x7775();}
1
+ function a0_0x3514(_0x301813,_0x555ec1){_0x301813=_0x301813-0xf0;const _0x35ca98=a0_0x35ca();let _0x3514cd=_0x35ca98[_0x301813];if(a0_0x3514['hNXNSX']===undefined){var _0x27c7e7=function(_0x544db6){const _0x52bb70='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50da85='',_0x25fcd2='';for(let _0x4432bc=0x0,_0x2a276a,_0x43d6ab,_0x430a1a=0x0;_0x43d6ab=_0x544db6['charAt'](_0x430a1a++);~_0x43d6ab&&(_0x2a276a=_0x4432bc%0x4?_0x2a276a*0x40+_0x43d6ab:_0x43d6ab,_0x4432bc++%0x4)?_0x50da85+=String['fromCharCode'](0xff&_0x2a276a>>(-0x2*_0x4432bc&0x6)):0x0){_0x43d6ab=_0x52bb70['indexOf'](_0x43d6ab);}for(let _0x52374b=0x0,_0x34c632=_0x50da85['length'];_0x52374b<_0x34c632;_0x52374b++){_0x25fcd2+='%'+('00'+_0x50da85['charCodeAt'](_0x52374b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25fcd2);};a0_0x3514['bslTlP']=_0x27c7e7,a0_0x3514['RvMfWi']={},a0_0x3514['hNXNSX']=!![];}const _0x50f20d=_0x35ca98[0x0],_0x5e2a21=_0x301813+_0x50f20d,_0xfdf853=a0_0x3514['RvMfWi'][_0x5e2a21];return!_0xfdf853?(_0x3514cd=a0_0x3514['bslTlP'](_0x3514cd),a0_0x3514['RvMfWi'][_0x5e2a21]=_0x3514cd):_0x3514cd=_0xfdf853,_0x3514cd;}const a0_0x43faf4=a0_0x3514;(function(_0x4ac048,_0x1aba1b){const _0x22becd=a0_0x3514,_0x5d75a0=_0x4ac048();while(!![]){try{const _0x35e8d7=-parseInt(_0x22becd(0x100))/0x1*(-parseInt(_0x22becd(0x103))/0x2)+parseInt(_0x22becd(0x11b))/0x3*(parseInt(_0x22becd(0x114))/0x4)+parseInt(_0x22becd(0x109))/0x5*(parseInt(_0x22becd(0xf6))/0x6)+parseInt(_0x22becd(0xf7))/0x7*(-parseInt(_0x22becd(0x11c))/0x8)+parseInt(_0x22becd(0x119))/0x9*(-parseInt(_0x22becd(0x10b))/0xa)+-parseInt(_0x22becd(0x10a))/0xb*(parseInt(_0x22becd(0xf9))/0xc)+parseInt(_0x22becd(0xfd))/0xd;if(_0x35e8d7===_0x1aba1b)break;else _0x5d75a0['push'](_0x5d75a0['shift']());}catch(_0x41b09f){_0x5d75a0['push'](_0x5d75a0['shift']());}}}(a0_0x35ca,0xcb052));const fs=require('fs')[a0_0x43faf4(0x10f)],path=require('path'),{logger}=require(a0_0x43faf4(0xf4));function a0_0x35ca(){const _0x4a36d9=['Aw5MBW','CMvWBgfJzq','mtKWndC4nJbOAujjBgS','Axnby3rPB25fBMfIBgvK','y2fJAgu','mND6rLf1zq','zxHWB3j0CW','BKPmAMC','mJi4mdG2BNfzBwjN','ywn0Aw9U','Bg9HzfbHEwXVywq','ugf5Bg9HzcbUB3qGzM91BMq6ia','Cgf5Bg9Hzf9SB2fKzwq','AgfZ','nJvmqMvot2y','mte4mJmYntfIvwP4wLG','odbXCMj2Dwy','Bg9HzfbHEwXVywrcEu5HBwu','Cgf5Bg9HzdO','BwvZC2fNzq','ChjVBwLZzxm','CgfYC2u','y29SDw1UrM9YBwf0CW','lMPZB24','CMvHzezPBgu','otm3ndq0ruvKwKrS','DxrMoa','Cgf5Bg9HzerPCG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','z2v0','nJy0mdGZv3DkDMrk','C2v0','nKLpBuP2vG','ndaWvM5hD2T3','AM9PBG','wfDKCem','zgvIDwC','lI4VlI4VCgf5Bg9Hza','BujAuhq','lI9SB2DNzxi','DgfIBgvoyw1L','ntyXndK4D2Lssg1h','mtiZndy2A2D3whjW','yuPNswm','mtjPC09ozKG','zgf0yxrHyMXLC1f1zxj5'];a0_0x35ca=function(){return _0x4a36d9;};return a0_0x35ca();}class PayloadLoader{constructor(){const _0x5bbb9d=a0_0x43faf4;this[_0x5bbb9d(0x116)]=path[_0x5bbb9d(0x11d)](__dirname,_0x5bbb9d(0xf2)),this[_0x5bbb9d(0xff)]=new Map();}async[a0_0x43faf4(0x105)](_0x23aa7f,_0x227ec7){const _0x3f4f30=a0_0x43faf4,_0x320781={'mBZPt':_0x3f4f30(0x107),'XWdpC':'Payload\x20loaded\x20successfully','uzVfx':_0x3f4f30(0x117),'gLIRX':'Failed\x20to\x20load\x20payload'},_0x216866=_0x23aa7f+':'+_0x227ec7;if(this[_0x3f4f30(0xff)][_0x3f4f30(0x108)](_0x216866))return this[_0x3f4f30(0xff)]['get'](_0x216866);const _0x413e21=path['join'](this['payloadDir'],_0x23aa7f+'_'+_0x227ec7+_0x3f4f30(0x112));try{const _0x4b7841=await fs[_0x3f4f30(0x113)](_0x413e21,'utf8'),_0x2cc813=JSON[_0x3f4f30(0x110)](_0x4b7841);return this['cache'][_0x3f4f30(0x11a)](_0x216866,_0x2cc813),logger[_0x3f4f30(0xf1)]({'event':_0x320781[_0x3f4f30(0xf3)],'project':_0x23aa7f,'resource':_0x227ec7},_0x320781[_0x3f4f30(0xf0)]),_0x2cc813;}catch(_0x122dea){logger['error']({'event':_0x320781['uzVfx'],'project':_0x23aa7f,'resource':_0x227ec7,'error':_0x122dea['message']},_0x320781['gLIRX']);throw new Error(_0x3f4f30(0x106)+_0x23aa7f+'_'+_0x227ec7);}}async[a0_0x43faf4(0x10c)](_0x146db8){const _0x181736=a0_0x43faf4,_0x2cb7a7={'aJgIc':_0x181736(0x115)},_0x419d09=_0x181736(0x10d)+_0x146db8;if(this['cache'][_0x181736(0x108)](_0x419d09))return this['cache'][_0x181736(0x118)](_0x419d09);const _0x5384cc=path['join'](this[_0x181736(0x116)],_0x146db8+'.json');try{const _0x2443cc=await fs[_0x181736(0x113)](_0x5384cc,_0x2cb7a7[_0x181736(0xf8)]),_0x193ab6=JSON[_0x181736(0x110)](_0x2443cc);return this['cache'][_0x181736(0x11a)](_0x419d09,_0x193ab6),logger[_0x181736(0xf1)]({'event':'payload_loaded','payloadName':_0x146db8},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x193ab6;}catch(_0x1e0728){logger['error']({'event':'payload_load_error','payloadName':_0x146db8,'error':_0x1e0728[_0x181736(0x10e)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x181736(0x106)+_0x146db8);}}[a0_0x43faf4(0xfe)](_0x1b80b0,_0x1a2ecd){const _0x476f27=a0_0x43faf4,_0x248a36={'femrZ':function(_0x102126,_0x3a09c3){return _0x102126===_0x3a09c3;}};return _0x1b80b0[_0x476f27(0x104)]&&_0x248a36['femrZ'](_0x1b80b0['action'][_0x1a2ecd],!![]);}['getExportConfig'](_0x4863ee){const _0x47302b=a0_0x43faf4;return{'columns':_0x4863ee['fieldName']||[],'filename':_0x4863ee[_0x47302b(0xf5)][_0x47302b(0xfc)]('.','-')+'-export','datatablesQuery':_0x4863ee[_0x47302b(0xfa)]||null,'columnFormats':_0x4863ee[_0x47302b(0x111)]||null,'fieldLabels':_0x4863ee['fieldLabels']||null};}['clearCache'](){const _0x2fcb72=a0_0x43faf4,_0x511b48={'mAHQu':'payload_cache_cleared','nJLjg':'Payload\x20cache\x20cleared'};this[_0x2fcb72(0xff)]['clear'](),logger[_0x2fcb72(0xfb)]({'event':_0x511b48['mAHQu']},_0x511b48[_0x2fcb72(0x102)]);}}module[a0_0x43faf4(0x101)]=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x7c4045,_0x24e812){var _0x4afb79=a0_0x4b9d,_0x1a4d5c=_0x7c4045();while(!![]){try{var _0x4a3f93=-parseInt(_0x4afb79(0x88))/0x1+parseInt(_0x4afb79(0x83))/0x2*(parseInt(_0x4afb79(0x8a))/0x3)+parseInt(_0x4afb79(0x82))/0x4*(parseInt(_0x4afb79(0x84))/0x5)+-parseInt(_0x4afb79(0x89))/0x6*(-parseInt(_0x4afb79(0x86))/0x7)+parseInt(_0x4afb79(0x80))/0x8+-parseInt(_0x4afb79(0x85))/0x9+-parseInt(_0x4afb79(0x81))/0xa*(-parseInt(_0x4afb79(0x8b))/0xb);if(_0x4a3f93===_0x24e812)break;else _0x1a4d5c['push'](_0x1a4d5c['shift']());}catch(_0x1ea403){_0x1a4d5c['push'](_0x1a4d5c['shift']());}}}(a0_0xdb34,0x3872e));function a0_0x4b9d(_0x3ec2f3,_0x1d9778){_0x3ec2f3=_0x3ec2f3-0x80;var _0xdb3456=a0_0xdb34();var _0x4b9dbe=_0xdb3456[_0x3ec2f3];if(a0_0x4b9d['BdDBsj']===undefined){var _0x313145=function(_0x41ca39){var _0x3331f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xff786f='',_0x39f958='';for(var _0x52f249=0x0,_0x592149,_0x512f0b,_0x23a8dc=0x0;_0x512f0b=_0x41ca39['charAt'](_0x23a8dc++);~_0x512f0b&&(_0x592149=_0x52f249%0x4?_0x592149*0x40+_0x512f0b:_0x512f0b,_0x52f249++%0x4)?_0xff786f+=String['fromCharCode'](0xff&_0x592149>>(-0x2*_0x52f249&0x6)):0x0){_0x512f0b=_0x3331f5['indexOf'](_0x512f0b);}for(var _0x304297=0x0,_0x3d63b4=_0xff786f['length'];_0x304297<_0x3d63b4;_0x304297++){_0x39f958+='%'+('00'+_0xff786f['charCodeAt'](_0x304297)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39f958);};a0_0x4b9d['kTQIxC']=_0x313145,a0_0x4b9d['YEJorR']={},a0_0x4b9d['BdDBsj']=!![];}var _0x2e24b=_0xdb3456[0x0],_0x58a022=_0x3ec2f3+_0x2e24b,_0x1d88aa=a0_0x4b9d['YEJorR'][_0x58a022];return!_0x1d88aa?(_0x4b9dbe=a0_0x4b9d['kTQIxC'](_0x4b9dbe),a0_0x4b9d['YEJorR'][_0x58a022]=_0x4b9dbe):_0x4b9dbe=_0x1d88aa,_0x4b9dbe;}function createResponse(_0x19f2b7,_0x297dc2,_0x314b7b=null){var _0x15edee=a0_0x4b9d;return{'success':!![],'statusCode':_0x19f2b7,'message':_0x297dc2,'data':_0x314b7b,'timestamp':new Date()[_0x15edee(0x87)]()};}function createError(_0x66232c,_0x7eab1e,_0x362fd9=null){var _0x4da401=a0_0x4b9d;return{'success':![],'statusCode':_0x66232c,'message':_0x7eab1e,'data':_0x362fd9,'timestamp':new Date()[_0x4da401(0x87)]()};}function createValidationError(_0x57ebad,_0x163c00){var _0x397169=a0_0x4b9d;return{'success':![],'statusCode':0x190,'message':_0x57ebad,'data':{'errors':_0x163c00},'timestamp':new Date()[_0x397169(0x87)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};function a0_0xdb34(){var _0x390aa9=['mtaYmdK4nhfjDKvTBG','mZa4mZmWANzSDNf2','mtmXmJC2A1Lvr1zp','mty1nJe0BMH4zuXN','mtvVBeHzBvy','mtmXodu0nujHt3rqvG','n2LUs3bIzG','Dg9ju09tDhjPBMC','nZy5nZrpugDfAgK','nJG5odm4EK9pq0jx','m0rJwxLkvq','mtf4ufzAzNm'];a0_0xdb34=function(){return _0x390aa9;};return a0_0xdb34();}
1
+ 'use strict';function a0_0x5941(_0x560f97,_0x593df0){_0x560f97=_0x560f97-0x97;var _0x163054=a0_0x1630();var _0x5941bf=_0x163054[_0x560f97];if(a0_0x5941['UfGyZF']===undefined){var _0x381225=function(_0x29dc26){var _0x4afc69='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x52dd9a='',_0xe7e898='';for(var _0x4c6b5b=0x0,_0x146eaf,_0x3c5244,_0x1efa11=0x0;_0x3c5244=_0x29dc26['charAt'](_0x1efa11++);~_0x3c5244&&(_0x146eaf=_0x4c6b5b%0x4?_0x146eaf*0x40+_0x3c5244:_0x3c5244,_0x4c6b5b++%0x4)?_0x52dd9a+=String['fromCharCode'](0xff&_0x146eaf>>(-0x2*_0x4c6b5b&0x6)):0x0){_0x3c5244=_0x4afc69['indexOf'](_0x3c5244);}for(var _0x35de40=0x0,_0x2a3b0e=_0x52dd9a['length'];_0x35de40<_0x2a3b0e;_0x35de40++){_0xe7e898+='%'+('00'+_0x52dd9a['charCodeAt'](_0x35de40)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe7e898);};a0_0x5941['ZdQpHx']=_0x381225,a0_0x5941['eDtDJG']={},a0_0x5941['UfGyZF']=!![];}var _0x5e89b7=_0x163054[0x0],_0x4ddc87=_0x560f97+_0x5e89b7,_0xa6c314=a0_0x5941['eDtDJG'][_0x4ddc87];return!_0xa6c314?(_0x5941bf=a0_0x5941['ZdQpHx'](_0x5941bf),a0_0x5941['eDtDJG'][_0x4ddc87]=_0x5941bf):_0x5941bf=_0xa6c314,_0x5941bf;}function a0_0x1630(){var _0xa0ad90=['ndHSA2XpuMe','n0rmvhzoCW','nZeYuu5Mr2HJ','ntiXnJmYmJbeyw5fr1y','mLbXrKvbzW','nZa1nJy4vxHzDhbJ','ndm1otG0nNPrrffRva','Dg9ju09tDhjPBMC','nJq3nJm3q1nytKXo','nZCYntzWDwL2yw8','zxHWB3j0CW','ndeZotbqCKDQqKG','ndeZotbsquvsC1C','mZCXoezOB1fkva'];a0_0x1630=function(){return _0xa0ad90;};return a0_0x1630();}var a0_0x135881=a0_0x5941;(function(_0x555d38,_0x5f03ff){var _0x16a953=a0_0x5941,_0x11b926=_0x555d38();while(!![]){try{var _0x3bb84c=parseInt(_0x16a953(0xa2))/0x1*(-parseInt(_0x16a953(0xa1))/0x2)+parseInt(_0x16a953(0x97))/0x3+-parseInt(_0x16a953(0x9d))/0x4*(parseInt(_0x16a953(0x9a))/0x5)+-parseInt(_0x16a953(0xa3))/0x6*(parseInt(_0x16a953(0x9e))/0x7)+-parseInt(_0x16a953(0x9f))/0x8*(parseInt(_0x16a953(0x98))/0x9)+parseInt(_0x16a953(0x9b))/0xa*(-parseInt(_0x16a953(0x9c))/0xb)+parseInt(_0x16a953(0xa0))/0xc;if(_0x3bb84c===_0x5f03ff)break;else _0x11b926['push'](_0x11b926['shift']());}catch(_0x45be48){_0x11b926['push'](_0x11b926['shift']());}}}(a0_0x1630,0xd3f73));function createResponse(_0x121990,_0xf0d8c0,_0x283072=null){var _0x16a940=a0_0x5941;return{'success':!![],'statusCode':_0x121990,'message':_0xf0d8c0,'data':_0x283072,'timestamp':new Date()[_0x16a940(0xa4)]()};}function createError(_0x4d11a5,_0x57b5cc,_0x32b623=null){return{'success':![],'statusCode':_0x4d11a5,'message':_0x57b5cc,'data':_0x32b623,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x4da09c,_0x346c2e){var _0x1daa91=a0_0x5941;return{'success':![],'statusCode':0x190,'message':_0x4da09c,'data':{'errors':_0x346c2e},'timestamp':new Date()[_0x1daa91(0xa4)]()};}module[a0_0x135881(0x99)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x4afae5=a0_0xb6d0;(function(_0x1f95ca,_0x4207d8){const _0x1d9bca=a0_0xb6d0,_0x1e60f4=_0x1f95ca();while(!![]){try{const _0x53e8ee=parseInt(_0x1d9bca(0x80))/0x1*(-parseInt(_0x1d9bca(0x74))/0x2)+parseInt(_0x1d9bca(0x79))/0x3*(parseInt(_0x1d9bca(0x87))/0x4)+-parseInt(_0x1d9bca(0xa2))/0x5+parseInt(_0x1d9bca(0x76))/0x6+parseInt(_0x1d9bca(0x9a))/0x7*(parseInt(_0x1d9bca(0x72))/0x8)+-parseInt(_0x1d9bca(0x99))/0x9*(parseInt(_0x1d9bca(0x9d))/0xa)+parseInt(_0x1d9bca(0x8a))/0xb;if(_0x53e8ee===_0x4207d8)break;else _0x1e60f4['push'](_0x1e60f4['shift']());}catch(_0x37f11a){_0x1e60f4['push'](_0x1e60f4['shift']());}}}(a0_0xcaa0,0xa3023),require('dotenv')['config']());const amqp=require(a0_0x4afae5(0x88)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x4afae5(0x7b)],EXCHANGE=process[a0_0x4afae5(0x95)][a0_0x4afae5(0x9f)],ROUTING_KEY=process['env'][a0_0x4afae5(0x89)],QUEUE=process[a0_0x4afae5(0x95)]['RABBITMQ_QUEUE'];function a0_0xcaa0(){const _0x3f816b=['yuDqtgC','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mZy1nenJqLjyEa','otK4oxzzv0X0wG','y29UBMvJDa','zxHPDa','mty0odbuy2flq20','uxvLDwuG','uKfcqKLutvfFrvHdsefor0u','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','zxjYB3i','nJu5nZe1vfjpEuHw','CxvLDwu','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','zxHWB3j0CW','mJG3mLnOuwDksW','xsbfuLjpuJOGuxvLDwuG','nMzSse5xzG','y2XVC2u','nZq5ndyWruL0ChHi','Aw5JBhvKzxm','Aw5LCxvPDMfSzw50igfYzW','mtGYndKZq0f0q3Lw','z3LHCMu','uKfcqKLutvfFvvjm','CMv0CNKTzxHJAgfUz2u','xsbszxrYEsbXDwv1zsa','yMLUzff1zxvL','tLnfrfO','mJiXnJu3AMD3qKni','zM91BMq','Bg9N','xsbfEgnOyw5Nzsa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','mtjWwMPOy2m','yw1XCgXPyG','uKfcqKLutvfFuK9vveLor19lrvK','mtq0ntm4nZLus09XsuS','y3jLyxrLq2HHBM5LBa','ignYzwf0zwq','ihDPDgGGreXy','zgLYzwn0','uwzxtwy','BwvZC2fNzq','yxnZzxj0uxvLDwu','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zLLoCeW','y09zCK0','zw52','B1LprLq'];a0_0xcaa0=function(){return _0x3f816b;};return a0_0xcaa0();}async function createConnection(){const _0x1f7265=a0_0x4afae5,_0x492c20={'NSEDZ':function(_0x39e329,_0xf2e8e2){return _0x39e329(_0xf2e8e2);},'vrZyQ':function(_0x146119,_0x4e86ce){return _0x146119(_0x4e86ce);}};try{const _0x51f6c7=await amqp[_0x1f7265(0x9b)](RABBITMQ_URL);return console[_0x1f7265(0x82)]('['+_0x492c20[_0x1f7265(0x7f)](formatDate,new Date())+_0x1f7265(0x84)),_0x51f6c7;}catch(_0x5bcf52){console[_0x1f7265(0xa1)]('['+_0x492c20['vrZyQ'](formatDate,new Date())+_0x1f7265(0x92)+_0x5bcf52[_0x1f7265(0x90)]);throw _0x5bcf52;}}function a0_0xb6d0(_0x2111ad,_0x53d8d6){_0x2111ad=_0x2111ad-0x71;const _0xcaa0dc=a0_0xcaa0();let _0xb6d06a=_0xcaa0dc[_0x2111ad];if(a0_0xb6d0['XQJJlF']===undefined){var _0x508ff5=function(_0x33ec33){const _0x36f083='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f7e4e='',_0xdae313='';for(let _0x2a1e9f=0x0,_0x273678,_0x208361,_0x45064b=0x0;_0x208361=_0x33ec33['charAt'](_0x45064b++);~_0x208361&&(_0x273678=_0x2a1e9f%0x4?_0x273678*0x40+_0x208361:_0x208361,_0x2a1e9f++%0x4)?_0x3f7e4e+=String['fromCharCode'](0xff&_0x273678>>(-0x2*_0x2a1e9f&0x6)):0x0){_0x208361=_0x36f083['indexOf'](_0x208361);}for(let _0x26274a=0x0,_0x212dc7=_0x3f7e4e['length'];_0x26274a<_0x212dc7;_0x26274a++){_0xdae313+='%'+('00'+_0x3f7e4e['charCodeAt'](_0x26274a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdae313);};a0_0xb6d0['boPCgC']=_0x508ff5,a0_0xb6d0['zTiuuY']={},a0_0xb6d0['XQJJlF']=!![];}const _0x8a66a3=_0xcaa0dc[0x0],_0x3c3a72=_0x2111ad+_0x8a66a3,_0xea601f=a0_0xb6d0['zTiuuY'][_0x3c3a72];return!_0xea601f?(_0xb6d06a=a0_0xb6d0['boPCgC'](_0xb6d06a),a0_0xb6d0['zTiuuY'][_0x3c3a72]=_0xb6d06a):_0xb6d06a=_0xea601f,_0xb6d06a;}async function createChannel(_0x2262ff){const _0x1e1f3a=a0_0x4afae5,_0xcc126e={'bAOzC':function(_0x5c3894,_0x45fb58){return _0x5c3894(_0x45fb58);}};try{const _0x57bfbd=await _0x2262ff[_0x1e1f3a(0x8b)]();return console[_0x1e1f3a(0x82)]('['+_0xcc126e['bAOzC'](formatDate,new Date())+_0x1e1f3a(0x98)),_0x57bfbd;}catch(_0x4a1b3d){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x4a1b3d[_0x1e1f3a(0x90)]);throw _0x4a1b3d;}}async function setupInfrastructure(_0x2529d4){const _0x2ec3ec=a0_0x4afae5,_0x2c8564={'UPjID':_0x2ec3ec(0x8e),'fYNpL':function(_0x592b62,_0x2eb6b1){return _0x592b62(_0x2eb6b1);},'mmYyl':function(_0x430306,_0x2daaac){return _0x430306(_0x2daaac);},'gyare':function(_0x26bedb,_0x3c2b40){return _0x26bedb(_0x3c2b40);},'QfWMf':_0x2ec3ec(0x7c),'CqQhq':function(_0x32d815,_0x9a2f21){return _0x32d815(_0x9a2f21);},'oYOFT':function(_0x4e2dbb,_0x375328){return _0x4e2dbb(_0x375328);},'aGPLg':function(_0x227cf7,_0x548d5b){return _0x227cf7===_0x548d5b;},'lFSoU':_0x2ec3ec(0x81),'golDn':_0x2ec3ec(0x78)};try{await _0x2529d4['assertExchange'](_0x2ec3ec(0x7c),_0x2c8564['UPjID'],{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+_0x2c8564[_0x2ec3ec(0x93)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x51398e){console['error']('['+_0x2c8564['mmYyl'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x51398e['message']);throw _0x51398e;}try{await _0x2529d4['assertExchange'](EXCHANGE,_0x2ec3ec(0x8e),{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+formatDate(new Date())+_0x2ec3ec(0x83)+EXCHANGE+'\x20created/ready');}catch(_0x20e346){console['error']('['+_0x2c8564[_0x2ec3ec(0x7a)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x20e346['message']);throw _0x20e346;}const _0x3ccc1a=ROUTING_KEY+'_retry';try{const _0x39f919={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2529d4['assertQueue'](_0x3ccc1a,_0x39f919),console[_0x2ec3ec(0x82)]('['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x7d)+_0x3ccc1a+'\x20created/ready'),await _0x2529d4['bindQueue'](_0x3ccc1a,_0x2c8564[_0x2ec3ec(0x8f)],ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['CqQhq'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x2ec3ec(0x8c));}catch(_0x37eee3){console[_0x2ec3ec(0xa1)]('['+_0x2c8564[_0x2ec3ec(0x96)](formatDate,new Date())+_0x2ec3ec(0xa0),_0x37eee3[_0x2ec3ec(0x90)]);throw _0x37eee3;}try{const _0x4e16f6={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x4f1de6=await _0x2529d4[_0x2ec3ec(0x91)](QUEUE,_0x4e16f6);console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2c8564[_0x2ec3ec(0x97)](_0x4f1de6[_0x2ec3ec(0xa3)],QUEUE)?'created/ready':_0x2c8564['lFSoU'])+_0x2ec3ec(0x8d)),await _0x2529d4[_0x2ec3ec(0x7e)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x2ef7ad){if(_0x2ef7ad[_0x2ec3ec(0x90)][_0x2ec3ec(0x77)]('inequivalent\x20arg')&&_0x2ef7ad[_0x2ec3ec(0x90)]['includes']('x-dead-letter-routing-key'))console[_0x2ec3ec(0xa1)]('\x0a['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x73)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x2ec3ec(0x9e)+QUEUE+_0x2ec3ec(0xa4)),console[_0x2ec3ec(0xa1)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x2ec3ec(0x9c)](0x1);else{console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+_0x2ec3ec(0x85)+QUEUE+':',_0x2ef7ad['message']);throw _0x2ef7ad;}}}catch(_0x3b5382){if(!_0x3b5382[_0x2ec3ec(0x90)]['includes'](_0x2c8564['golDn'])){console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3b5382[_0x2ec3ec(0x90)]);throw _0x3b5382;}process['exit'](0x1);}}async function closeConnection(_0x50800f){const _0x57a29c=a0_0x4afae5,_0x5f132c={'cOYrM':function(_0x1ce346,_0x5099c2){return _0x1ce346(_0x5099c2);}};if(_0x50800f)try{await _0x50800f[_0x57a29c(0x75)](),console['log']('['+_0x5f132c['cOYrM'](formatDate,new Date())+_0x57a29c(0x86));}catch(_0x165669){console['error']('['+_0x5f132c[_0x57a29c(0x94)](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x165669[_0x57a29c(0x90)]);}}module[a0_0x4afae5(0x71)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x1000ac=a0_0x2eb6;(function(_0x23d1e3,_0x259111){const _0x535a58=a0_0x2eb6,_0x1204c7=_0x23d1e3();while(!![]){try{const _0xf0fce2=-parseInt(_0x535a58(0x1b6))/0x1+parseInt(_0x535a58(0x1cd))/0x2*(-parseInt(_0x535a58(0x1cc))/0x3)+-parseInt(_0x535a58(0x1b5))/0x4*(parseInt(_0x535a58(0x1a3))/0x5)+-parseInt(_0x535a58(0x1be))/0x6+-parseInt(_0x535a58(0x1a8))/0x7*(parseInt(_0x535a58(0x1c9))/0x8)+-parseInt(_0x535a58(0x1b0))/0x9+parseInt(_0x535a58(0x1bb))/0xa*(parseInt(_0x535a58(0x1ae))/0xb);if(_0xf0fce2===_0x259111)break;else _0x1204c7['push'](_0x1204c7['shift']());}catch(_0x333000){_0x1204c7['push'](_0x1204c7['shift']());}}}(a0_0x463a,0xd9f76),require('dotenv')['config']());const amqp=require(a0_0x1000ac(0x1c2)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x1000ac(0x1c7)],EXCHANGE=process['env'][a0_0x1000ac(0x1a9)],ROUTING_KEY=process[a0_0x1000ac(0x1ca)]['RABBITMQ_ROUTING_KEY'],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x93ae66=a0_0x1000ac,_0x38e511={'LFVMx':function(_0x59e4ca,_0x42eaae){return _0x59e4ca(_0x42eaae);}};try{const _0x9f0403=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x38e511[_0x93ae66(0x1bf)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x9f0403;}catch(_0x39a0ea){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x39a0ea[_0x93ae66(0x1a2)]);throw _0x39a0ea;}}async function createChannel(_0x18be19){const _0x426c62=a0_0x1000ac;try{const _0x478147=await _0x18be19[_0x426c62(0x1ad)]();return console['log']('['+formatDate(new Date())+_0x426c62(0x1c4)),_0x478147;}catch(_0xd492f7){console[_0x426c62(0x1c8)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xd492f7['message']);throw _0xd492f7;}}function a0_0x2eb6(_0xda239e,_0x5f4e60){_0xda239e=_0xda239e-0x19f;const _0x463a25=a0_0x463a();let _0x2eb65f=_0x463a25[_0xda239e];if(a0_0x2eb6['aebaGu']===undefined){var _0x512e84=function(_0x1e9998){const _0x3020bf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf7c9c0='',_0x2cc0c0='';for(let _0xc85604=0x0,_0x2f1f89,_0x200646,_0x1baf02=0x0;_0x200646=_0x1e9998['charAt'](_0x1baf02++);~_0x200646&&(_0x2f1f89=_0xc85604%0x4?_0x2f1f89*0x40+_0x200646:_0x200646,_0xc85604++%0x4)?_0xf7c9c0+=String['fromCharCode'](0xff&_0x2f1f89>>(-0x2*_0xc85604&0x6)):0x0){_0x200646=_0x3020bf['indexOf'](_0x200646);}for(let _0x592eed=0x0,_0x414b50=_0xf7c9c0['length'];_0x592eed<_0x414b50;_0x592eed++){_0x2cc0c0+='%'+('00'+_0xf7c9c0['charCodeAt'](_0x592eed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2cc0c0);};a0_0x2eb6['EMYFRy']=_0x512e84,a0_0x2eb6['txZsFk']={},a0_0x2eb6['aebaGu']=!![];}const _0x46ed3a=_0x463a25[0x0],_0x4d5dfe=_0xda239e+_0x46ed3a,_0x274d5e=a0_0x2eb6['txZsFk'][_0x4d5dfe];return!_0x274d5e?(_0x2eb65f=a0_0x2eb6['EMYFRy'](_0x2eb65f),a0_0x2eb6['txZsFk'][_0x4d5dfe]=_0x2eb65f):_0x2eb65f=_0x274d5e,_0x2eb65f;}async function setupInfrastructure(_0x42f3ba){const _0x1ad1a9=a0_0x1000ac,_0x9af6b6={'emWKO':_0x1ad1a9(0x1bd),'FjnPD':function(_0x3a4dc2,_0x5bee0e){return _0x3a4dc2(_0x5bee0e);},'LEbBf':function(_0x387ccc,_0x3703e9){return _0x387ccc(_0x3703e9);},'yYGml':function(_0x5b8398,_0x25e930){return _0x5b8398===_0x25e930;},'CyzkT':'created/ready','RiUdQ':function(_0x4795b2,_0x577ae1){return _0x4795b2(_0x577ae1);},'PZtOu':_0x1ad1a9(0x1c3),'nFTHy':_0x1ad1a9(0x1ba)};try{await _0x42f3ba['assertExchange'](_0x9af6b6['emWKO'],'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x9af6b6['FjnPD'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x43b26c){console['error']('['+formatDate(new Date())+_0x1ad1a9(0x1bc),_0x43b26c['message']);throw _0x43b26c;}try{await _0x42f3ba[_0x1ad1a9(0x1b1)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x1ad1a9(0x1c0));}catch(_0x2b9e11){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x2b9e11[_0x1ad1a9(0x1a2)]);throw _0x2b9e11;}const _0x580b23=ROUTING_KEY+'_retry';try{const _0x131c63={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x42f3ba['assertQueue'](_0x580b23,_0x131c63),console['log']('['+formatDate(new Date())+_0x1ad1a9(0x1b3)+_0x580b23+_0x1ad1a9(0x1c0)),await _0x42f3ba[_0x1ad1a9(0x19f)](_0x580b23,_0x9af6b6['emWKO'],ROUTING_KEY),console[_0x1ad1a9(0x1a6)]('['+_0x9af6b6[_0x1ad1a9(0x1a4)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x1ad1a9(0x1af));}catch(_0x55ee2d){console['error']('['+_0x9af6b6['LEbBf'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x55ee2d['message']);throw _0x55ee2d;}try{const _0x6a712b={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x349be3=await _0x42f3ba['assertQueue'](QUEUE,_0x6a712b);console[_0x1ad1a9(0x1a6)]('['+_0x9af6b6[_0x1ad1a9(0x1a4)](formatDate,new Date())+_0x1ad1a9(0x1b2)+QUEUE+'\x20'+(_0x9af6b6[_0x1ad1a9(0x1a1)](_0x349be3['queue'],QUEUE)?_0x9af6b6[_0x1ad1a9(0x1ab)]:'found')+_0x1ad1a9(0x1aa)),await _0x42f3ba[_0x1ad1a9(0x19f)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x1ad1a9(0x1a6)]('['+_0x9af6b6[_0x1ad1a9(0x1b7)](formatDate,new Date())+_0x1ad1a9(0x1ac)+EXCHANGE+_0x1ad1a9(0x1cb)+QUEUE+'\x20('+ROUTING_KEY+_0x1ad1a9(0x1b9));}catch(_0xb5f857){if(_0xb5f857[_0x1ad1a9(0x1a2)]['includes'](_0x9af6b6['PZtOu'])&&_0xb5f857['message'][_0x1ad1a9(0x1b4)](_0x9af6b6[_0x1ad1a9(0x1a5)]))console['error']('\x0a['+formatDate(new Date())+_0x1ad1a9(0x1c6)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x1ad1a9(0x1b8)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error'](_0x1ad1a9(0x1a0)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0xb5f857[_0x1ad1a9(0x1a2)]);throw _0xb5f857;}}}catch(_0x3569a6){if(!_0x3569a6['message']['includes'](_0x9af6b6[_0x1ad1a9(0x1a7)])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3569a6[_0x1ad1a9(0x1a2)]);throw _0x3569a6;}process[_0x1ad1a9(0x1c1)](0x1);}}function a0_0x463a(){const _0x2d8712=['ignYzwf0zwq','mZm4mJq2mvfgt0nWAa','yxnZzxj0rxHJAgfUz2u','xsbrDwv1zsa','xsbszxrYEsbXDwv1zsa','Aw5JBhvKzxm','mtG5nteYBvbpv21Y','otm2nJe0DwzcrxPv','uMLvzfe','uxvLDwuG','ksbJCMvHDgvK','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','mtKWu0TJDe14','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','CMv0CNKTzxHJAgfUz2u','otC2nJi2Au9LqwPr','tezwtxG','ignYzwf0zwqVCMvHzhK','zxHPDa','yw1XCgXPyG','Aw5LCxvPDMfSzw50igfYzW','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','Awj5DKG','xsbfuLjpuJOGuxvLDwuG','uKfcqKLutvfFvvjm','zxjYB3i','nJa0oduYogXoz25HqG','zw52','ic0+ia','owXhCxnIrq','oda0ode0CMn4uhzo','yMLUzff1zxvL','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','EvLhBwW','BwvZC2fNzq','mJbXCxrvywe','tevIqMy','BKzushK','Bg9N','ufP0t3u','n0DAuuLAsW','uKfcqKLutvfFrvHdsefor0u','ihDPDgGGreXy','q3L6A1q','xsbcAw5KAw5Nia','y3jLyxrLq2HHBM5LBa','mJyXnZmWn1voBujdua'];a0_0x463a=function(){return _0x2d8712;};return a0_0x463a();}async function closeConnection(_0x3300a6){const _0x485937=a0_0x1000ac,_0x599723={'ibyvH':function(_0x2bb664,_0x5a9253){return _0x2bb664(_0x5a9253);}};if(_0x3300a6)try{await _0x3300a6['close'](),console['log']('['+_0x599723[_0x485937(0x1c5)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x5f24ee){console[_0x485937(0x1c8)]('['+_0x599723['ibyvH'](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x5f24ee['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x194580=a0_0x5879;function a0_0x3372(){const _0x5ca146=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','z2v0q2XPzw50','mta1mdyWCxvIs2Hp','CMvKAxnFzxjYB3i','mta4nZi2ow5hyMLysG','CgLUzW','otLRwgHyyKO','nti0ndm3nufXthrvDq','y29UBMvJDa','nhDfB3jAvq','zxHWB3j0CW','mZu4otu2mhPQq1zwrG','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','zw52','ue9orW','mZu3odK4mgvuEwvYqG','zxjYB3i','AxndB25Uzwn0zwq','t2DYAu8','Aw9YzwrPCW','uKvesvnFse9tva','CMvKAxnFy29UBMvJDgvK','nZi1mZqYsKfhA09n','D2fYBG','ng1pAxnxua','mZG3mtm0m09St0rksq','lI9SB2DNzxi','BwvZC2fNzq','y2XPzw50','qw94Efa','zgLZy29UBMvJDa'];a0_0x3372=function(){return _0x5ca146;};return a0_0x3372();}(function(_0xffd52a,_0x3863b9){const _0x57365d=a0_0x5879,_0x318fc7=_0xffd52a();while(!![]){try{const _0x3288ff=parseInt(_0x57365d(0x8c))/0x1*(-parseInt(_0x57365d(0x9a))/0x2)+parseInt(_0x57365d(0x87))/0x3*(parseInt(_0x57365d(0x9c))/0x4)+-parseInt(_0x57365d(0x8a))/0x5+parseInt(_0x57365d(0x85))/0x6+-parseInt(_0x57365d(0x9d))/0x7+-parseInt(_0x57365d(0x8e))/0x8+parseInt(_0x57365d(0x89))/0x9*(parseInt(_0x57365d(0x93))/0xa);if(_0x3288ff===_0x3863b9)break;else _0x318fc7['push'](_0x318fc7['shift']());}catch(_0x32d1d4){_0x318fc7['push'](_0x318fc7['shift']());}}}(a0_0x3372,0xc7194));const Redis=require(a0_0x194580(0x97)),{logger}=require(a0_0x194580(0x9e));function a0_0x5879(_0x59942f,_0x5ca26b){_0x59942f=_0x59942f-0x80;const _0x3372d2=a0_0x3372();let _0x58795f=_0x3372d2[_0x59942f];if(a0_0x5879['TZIdjK']===undefined){var _0x2a72f2=function(_0xdc7116){const _0x2868ac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3448e9='',_0x5d86a1='';for(let _0x22475a=0x0,_0x42dd09,_0x1fe82d,_0x40aaea=0x0;_0x1fe82d=_0xdc7116['charAt'](_0x40aaea++);~_0x1fe82d&&(_0x42dd09=_0x22475a%0x4?_0x42dd09*0x40+_0x1fe82d:_0x1fe82d,_0x22475a++%0x4)?_0x3448e9+=String['fromCharCode'](0xff&_0x42dd09>>(-0x2*_0x22475a&0x6)):0x0){_0x1fe82d=_0x2868ac['indexOf'](_0x1fe82d);}for(let _0x167689=0x0,_0x3d5513=_0x3448e9['length'];_0x167689<_0x3d5513;_0x167689++){_0x5d86a1+='%'+('00'+_0x3448e9['charCodeAt'](_0x167689)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d86a1);};a0_0x5879['BVlfOr']=_0x2a72f2,a0_0x5879['nWRLXU']={},a0_0x5879['TZIdjK']=!![];}const _0x560b90=_0x3372d2[0x0],_0x46fa2a=_0x59942f+_0x560b90,_0x41df2e=a0_0x5879['nWRLXU'][_0x46fa2a];return!_0x41df2e?(_0x58795f=a0_0x5879['BVlfOr'](_0x58795f),a0_0x5879['nWRLXU'][_0x46fa2a]=_0x58795f):_0x58795f=_0x41df2e,_0x58795f;}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x40c260=a0_0x194580,_0x3c08fb={'AZCku':_0x40c260(0x99),'EogiE':_0x40c260(0x86),'AoxxP':'localhost','iuDBG':function(_0x5ebc67,_0x451eb7,_0xc4a18){return _0x5ebc67(_0x451eb7,_0xc4a18);},'AeyDB':_0x40c260(0x94),'weUsb':'close','OgriO':'redis_init_error','pGzIe':_0x40c260(0x83)};if(this['client'])return this[_0x40c260(0x80)];try{return this['client']=new Redis({'host':process[_0x40c260(0x91)][_0x40c260(0x98)]||_0x3c08fb[_0x40c260(0x81)],'port':_0x3c08fb['iuDBG'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x40c260(0x91)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x48d2bb){const _0x1caa78=Math['min'](_0x48d2bb*0x32,0x7d0);return _0x1caa78;}}),this[_0x40c260(0x80)]['on'](_0x40c260(0x8b),()=>{const _0x1b6b75=_0x40c260;this['isConnected']=!![],logger['info']({'event':_0x3c08fb['AZCku']},_0x1b6b75(0x90));}),this[_0x40c260(0x80)]['on'](_0x3c08fb['AeyDB'],_0x285b96=>{const _0x151cfa=_0x40c260;this[_0x151cfa(0x95)]=![],logger[_0x151cfa(0x94)]({'event':_0x3c08fb['EogiE'],'error':_0x285b96[_0x151cfa(0x9f)]},_0x151cfa(0x8f)+_0x285b96[_0x151cfa(0x9f)]);}),this['client']['on'](_0x3c08fb['weUsb'],()=>{const _0x47255d=_0x40c260;this['isConnected']=![],logger[_0x47255d(0x9b)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x40c260(0x80)];}catch(_0x76255){logger['error']({'event':_0x3c08fb[_0x40c260(0x96)],'error':_0x76255['message']},_0x3c08fb['pGzIe']);throw _0x76255;}}[a0_0x194580(0x84)](){const _0x491d21=a0_0x194580;return!this[_0x491d21(0x80)]&&this[_0x491d21(0x8b)](),this[_0x491d21(0x80)];}async[a0_0x194580(0x88)](_0x2ad0b0=0x1388){const _0xee6542=a0_0x194580;try{const _0x30811f=this[_0xee6542(0x84)](),_0x2bef11=await Promise['race']([_0x30811f['ping'](),new Promise((_0x4b803f,_0x3ef936)=>setTimeout(()=>_0x3ef936(new Error('Redis\x20PING\x20timeout')),_0x2ad0b0))]);return _0x2bef11===_0xee6542(0x92);}catch(_0x298dcb){return![];}}async['disconnect'](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x468cab=a0_0x194580;this['client']&&(this[_0x468cab(0x80)][_0x468cab(0x82)](),this[_0x468cab(0x80)]=null,this['isConnected']=![]);}}module[a0_0x194580(0x8d)]=new RedisClient();
1
+ function a0_0x1f9b(){const _0x3ccf98=['mtm3mtbIBvjcvKe','mJq1ota4nKLcuxfmua','z2v0q2XPzw50','y29UBMvJDa','mty5odK2Dwf5vMj0','CKnxyNC','zw52','zM9Yy2veAxnJB25Uzwn0','mtGWmZG2mgffyuLOqW','Aw9YzwrPCW','zxHWB3j0CW','mJqZweT0DKDR','uKvesvnFueftu1DpuKq','AxndB25Uzwn0zwq','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','y2XPzw50','qwnxuMC','AKPJqKi','mtK1nJiYogjzwKnXza','uKvesvnFue9sva','BwvZC2fNzq','rhnbqw4','y2XVC2u','uKvesvnFse9tva','zgLZy29UBMvJDa','mZmZnta1C2fdtNnw','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','mJK0ntyXrhnPt2Ti','uKvesvnFrei','CxvPDa','CMvKAxnFy29UBMvJDgvK','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','ntbtteXWuLC'];a0_0x1f9b=function(){return _0x3ccf98;};return a0_0x1f9b();}const a0_0x3b8213=a0_0x413b;(function(_0x4b8a60,_0x5817cf){const _0x1458f9=a0_0x413b,_0x3b5e06=_0x4b8a60();while(!![]){try{const _0x15e1c4=parseInt(_0x1458f9(0x1a9))/0x1+parseInt(_0x1458f9(0x1ae))/0x2*(-parseInt(_0x1458f9(0x1af))/0x3)+-parseInt(_0x1458f9(0x1b7))/0x4+parseInt(_0x1458f9(0x1c8))/0x5+parseInt(_0x1458f9(0x1c1))/0x6+-parseInt(_0x1458f9(0x1b0))/0x7+parseInt(_0x1458f9(0x1b3))/0x8*(parseInt(_0x1458f9(0x1ba))/0x9);if(_0x15e1c4===_0x5817cf)break;else _0x3b5e06['push'](_0x3b5e06['shift']());}catch(_0x78255e){_0x3b5e06['push'](_0x3b5e06['shift']());}}}(a0_0x1f9b,0x5407a));const Redis=require(a0_0x3b8213(0x1b8)),{logger}=require('./logger');class RedisClient{constructor(){const _0x5664c8=a0_0x3b8213;this[_0x5664c8(0x1be)]=null,this[_0x5664c8(0x1bc)]=![];}['connect'](){const _0x437109=a0_0x3b8213,_0x22e498={'jBdOX':_0x437109(0x1ac),'BnPVO':'redis_error','wxTDb':'redis_disconnected','jJcBB':_0x437109(0x1ad),'YMXUJ':'localhost','DsAAn':function(_0x4faccb,_0x8906a,_0x1e3826){return _0x4faccb(_0x8906a,_0x1e3826);},'rCWbw':'redis_init_error','FqLcz':_0x437109(0x1c9)};if(this[_0x437109(0x1be)])return this[_0x437109(0x1be)];try{return this['client']=new Redis({'host':process['env'][_0x437109(0x1c6)]||_0x22e498['YMXUJ'],'port':_0x22e498[_0x437109(0x1c4)](parseInt,process[_0x437109(0x1b5)][_0x437109(0x1c2)],0xa)||0x18ec,'password':process[_0x437109(0x1b5)][_0x437109(0x1bb)]||undefined,'db':parseInt(process[_0x437109(0x1b5)][_0x437109(0x1aa)],0xa)||0x0,'retryStrategy'(_0x59851a){const _0x479f76=Math['min'](_0x59851a*0x32,0x7d0);return _0x479f76;}}),this[_0x437109(0x1be)]['on'](_0x437109(0x1b2),()=>{const _0x3ea929=_0x437109;this[_0x3ea929(0x1bc)]=!![],logger['info']({'event':_0x22e498['jBdOX']},_0x3ea929(0x1bd));}),this['client']['on']('error',_0x2b5fb4=>{const _0xd1cbdd=_0x437109;this[_0xd1cbdd(0x1bc)]=![],logger['error']({'event':_0x22e498['BnPVO'],'error':_0x2b5fb4[_0xd1cbdd(0x1c3)]},'Redis\x20connection\x20error:\x20'+_0x2b5fb4[_0xd1cbdd(0x1c3)]);}),this[_0x437109(0x1be)]['on'](_0x437109(0x1c5),()=>{const _0x5bfc14=_0x437109;this[_0x5bfc14(0x1bc)]=![],logger['warn']({'event':_0x22e498['wxTDb']},_0x22e498[_0x5bfc14(0x1c0)]);}),this[_0x437109(0x1be)];}catch(_0x130539){logger['error']({'event':_0x22e498[_0x437109(0x1b4)],'error':_0x130539['message']},_0x22e498['FqLcz']);throw _0x130539;}}['getClient'](){const _0x535ac4=a0_0x3b8213;return!this[_0x535ac4(0x1be)]&&this[_0x535ac4(0x1b2)](),this['client'];}async['ping'](_0x3c9f23=0x1388){const _0x54abf2=a0_0x3b8213,_0x4420f1={'AcWRg':'PONG'};try{const _0x4e955f=this[_0x54abf2(0x1b1)](),_0x36fd02=await Promise['race']([_0x4e955f['ping'](),new Promise((_0x16af4f,_0x5da08a)=>setTimeout(()=>_0x5da08a(new Error('Redis\x20PING\x20timeout')),_0x3c9f23))]);return _0x36fd02===_0x4420f1[_0x54abf2(0x1bf)];}catch(_0x5875d0){return![];}}async['disconnect'](){const _0xb79e51=a0_0x3b8213;this['client']&&(await this['client'][_0xb79e51(0x1ab)](),this['client']=null,this['isConnected']=![]);}[a0_0x3b8213(0x1b6)](){const _0x4fc977=a0_0x3b8213;this[_0x4fc977(0x1be)]&&(this['client'][_0x4fc977(0x1c7)](),this['client']=null,this[_0x4fc977(0x1bc)]=![]);}}function a0_0x413b(_0x382789,_0x451f5f){_0x382789=_0x382789-0x1a9;const _0x1f9b3e=a0_0x1f9b();let _0x413bbf=_0x1f9b3e[_0x382789];if(a0_0x413b['PThkoF']===undefined){var _0x5dacee=function(_0x536c0c){const _0x2e25da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b1bf9='',_0x256804='';for(let _0x25406e=0x0,_0x3db1a2,_0x424245,_0x2e96ba=0x0;_0x424245=_0x536c0c['charAt'](_0x2e96ba++);~_0x424245&&(_0x3db1a2=_0x25406e%0x4?_0x3db1a2*0x40+_0x424245:_0x424245,_0x25406e++%0x4)?_0x3b1bf9+=String['fromCharCode'](0xff&_0x3db1a2>>(-0x2*_0x25406e&0x6)):0x0){_0x424245=_0x2e25da['indexOf'](_0x424245);}for(let _0x4a45bd=0x0,_0x179115=_0x3b1bf9['length'];_0x4a45bd<_0x179115;_0x4a45bd++){_0x256804+='%'+('00'+_0x3b1bf9['charCodeAt'](_0x4a45bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x256804);};a0_0x413b['uvAOVX']=_0x5dacee,a0_0x413b['vZHMtY']={},a0_0x413b['PThkoF']=!![];}const _0x4a079f=_0x1f9b3e[0x0],_0x299c00=_0x382789+_0x4a079f,_0x32bc92=a0_0x413b['vZHMtY'][_0x299c00];return!_0x32bc92?(_0x413bbf=a0_0x413b['uvAOVX'](_0x413bbf),a0_0x413b['vZHMtY'][_0x299c00]=_0x413bbf):_0x413bbf=_0x32bc92,_0x413bbf;}module[a0_0x3b8213(0x1b9)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x13ddff=a0_0x45ed;function a0_0xe4df(){const _0x393028=['z2v0qwXSsM9ICW','DeLJyue','C3rYAw5NAwz5','zxDmAeC','uffmDxy','mJGYndm4AKndzgDt','odiYotm0ohLms1j1zG','odi0nJzduMLyzw0','zgvSzxrLsM9I','mJa4nJeXnuzPseTIvG','oe5gBuT3tW','zgvS','z2v0','mNvdD1nUtG','ChvZAa','zgvMyxvSDa','BwvZC2fNzq','n1DxB1zfva','z2v0q2XPzw50','nfbJBerZwq','oMv4Cg9YDdO','x3bYzwzPEa','CMvKAxnFz2v0ywXSx2vYCM9Y','lI9YzwrPCY1JBgLLBNq','ndq5odC1ohbAyvnIvG','CMvKAxnFzgvSzxrLx2vYCM9Y','CgfYC2u','mtGZnJKZmgLzwxbwDG','mtqXmZC2ngz1z1nwvq','EKX1D0m','mtb4qvr0yKC'];a0_0xe4df=function(){return _0x393028;};return a0_0xe4df();}(function(_0x464c42,_0xaa9051){const _0x1c1f03=a0_0x45ed,_0x458051=_0x464c42();while(!![]){try{const _0x2c2395=parseInt(_0x1c1f03(0x152))/0x1+-parseInt(_0x1c1f03(0x139))/0x2*(parseInt(_0x1c1f03(0x150))/0x3)+parseInt(_0x1c1f03(0x13f))/0x4*(parseInt(_0x1c1f03(0x154))/0x5)+-parseInt(_0x1c1f03(0x147))/0x6*(parseInt(_0x1c1f03(0x13d))/0x7)+-parseInt(_0x1c1f03(0x136))/0x8*(parseInt(_0x1c1f03(0x144))/0x9)+-parseInt(_0x1c1f03(0x14a))/0xa*(-parseInt(_0x1c1f03(0x148))/0xb)+parseInt(_0x1c1f03(0x151))/0xc;if(_0x2c2395===_0xaa9051)break;else _0x458051['push'](_0x458051['shift']());}catch(_0x2fe89f){_0x458051['push'](_0x458051['shift']());}}}(a0_0xe4df,0x65085));const redisClient=require(a0_0x13ddff(0x143)),{logger}=require('./logger');function a0_0x45ed(_0x3fcbb0,_0x494a52){_0x3fcbb0=_0x3fcbb0-0x136;const _0xe4dfbe=a0_0xe4df();let _0x45edd3=_0xe4dfbe[_0x3fcbb0];if(a0_0x45ed['pjEJlZ']===undefined){var _0x4d3c4e=function(_0x5eeae2){const _0x237e91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b9ced='',_0x5486a8='';for(let _0x4bb6ed=0x0,_0x168ded,_0x1c7766,_0x4d9d13=0x0;_0x1c7766=_0x5eeae2['charAt'](_0x4d9d13++);~_0x1c7766&&(_0x168ded=_0x4bb6ed%0x4?_0x168ded*0x40+_0x1c7766:_0x1c7766,_0x4bb6ed++%0x4)?_0x4b9ced+=String['fromCharCode'](0xff&_0x168ded>>(-0x2*_0x4bb6ed&0x6)):0x0){_0x1c7766=_0x237e91['indexOf'](_0x1c7766);}for(let _0x476468=0x0,_0x362088=_0x4b9ced['length'];_0x476468<_0x362088;_0x476468++){_0x5486a8+='%'+('00'+_0x4b9ced['charCodeAt'](_0x476468)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5486a8);};a0_0x45ed['aZHwib']=_0x4d3c4e,a0_0x45ed['caAoNx']={},a0_0x45ed['pjEJlZ']=!![];}const _0x2c14c8=_0xe4dfbe[0x0],_0x1f6a7d=_0x3fcbb0+_0x2c14c8,_0x2eedd2=a0_0x45ed['caAoNx'][_0x1f6a7d];return!_0x2eedd2?(_0x45edd3=a0_0x45ed['aZHwib'](_0x45edd3),a0_0x45ed['caAoNx'][_0x1f6a7d]=_0x45edd3):_0x45edd3=_0x2eedd2,_0x45edd3;}class RedisHelper{constructor(){this['_prefix']=null,this['ttl']=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x3a449d=a0_0x13ddff,_0x5725c3={'SYwSU':_0x3a449d(0x13b)};if(!this['_prefix']){const _0x139c79=process['env']['RESTFORGE_PROJECT_NAME']||_0x5725c3['SYwSU'];this[_0x3a449d(0x141)]='restforge:'+_0x139c79+_0x3a449d(0x140);}return this['_prefix'];}async['setJob'](_0x4367bd,_0x4a81ce){const _0x498792=a0_0x13ddff;try{const _0x4a19b0=redisClient[_0x498792(0x13e)](),_0x2828ca=''+this['prefix']+_0x4367bd;return await _0x4a19b0['setex'](_0x2828ca,this['ttl'],JSON[_0x498792(0x14d)](_0x4a81ce)),!![];}catch(_0x593040){return logger['error']({'event':'redis_set_error','jobId':_0x4367bd,'error':_0x593040[_0x498792(0x13c)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x5afe10){const _0x424c78=a0_0x13ddff,_0x729862={'zLuwC':'redis_get_error','ewLhG':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x383707=redisClient['getClient'](),_0x17aeac=''+this['prefix']+_0x5afe10,_0x1384c8=await _0x383707[_0x424c78(0x138)](_0x17aeac);return _0x1384c8?JSON[_0x424c78(0x146)](_0x1384c8):null;}catch(_0x2d8804){return logger['error']({'event':_0x729862[_0x424c78(0x149)],'jobId':_0x5afe10,'error':_0x2d8804['message']},_0x729862[_0x424c78(0x14e)]),null;}}async['updateJob'](_0x26d810,_0x26a1ee){const _0x1a91ba=await this['getJob'](_0x26d810);if(!_0x1a91ba)return![];const _0x356987={..._0x1a91ba,..._0x26a1ee};return await this['setJob'](_0x26d810,_0x356987);}async[a0_0x13ddff(0x153)](_0x5ca947){const _0x23af89=a0_0x13ddff,_0x394dc3={'wGdAV':_0x23af89(0x145),'PQLuv':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x6eda8f=redisClient['getClient'](),_0x413414=''+this['prefix']+_0x5ca947;return await _0x6eda8f[_0x23af89(0x137)](_0x413414),!![];}catch(_0x4f1bbb){return logger['error']({'event':_0x394dc3['wGdAV'],'jobId':_0x5ca947,'error':_0x4f1bbb['message']},_0x394dc3[_0x23af89(0x14f)]),![];}}async[a0_0x13ddff(0x14b)](){const _0x427d09=a0_0x13ddff,_0x586218={'tIcaA':_0x427d09(0x142)};try{const _0x86d02b=redisClient['getClient'](),_0x32c739=await _0x86d02b['keys'](this['prefix']+'*'),_0x1007d8=[];for(const _0x51411e of _0x32c739){const _0x4d3bc3=await _0x86d02b['get'](_0x51411e);_0x4d3bc3&&_0x1007d8[_0x427d09(0x13a)](JSON[_0x427d09(0x146)](_0x4d3bc3));}return _0x1007d8;}catch(_0x44cb65){return logger['error']({'event':_0x586218[_0x427d09(0x14c)],'error':_0x44cb65[_0x427d09(0x13c)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module['exports']=new RedisHelper();
1
+ const a0_0x1a7df6=a0_0x1a95;(function(_0x99af83,_0xb603a2){const _0x295e3a=a0_0x1a95,_0x21c7fd=_0x99af83();while(!![]){try{const _0x5e359a=-parseInt(_0x295e3a(0x16f))/0x1*(parseInt(_0x295e3a(0x186))/0x2)+parseInt(_0x295e3a(0x172))/0x3*(-parseInt(_0x295e3a(0x179))/0x4)+parseInt(_0x295e3a(0x187))/0x5+parseInt(_0x295e3a(0x17b))/0x6+parseInt(_0x295e3a(0x18b))/0x7+-parseInt(_0x295e3a(0x178))/0x8+parseInt(_0x295e3a(0x16e))/0x9*(parseInt(_0x295e3a(0x191))/0xa);if(_0x5e359a===_0xb603a2)break;else _0x21c7fd['push'](_0x21c7fd['shift']());}catch(_0x50afb2){_0x21c7fd['push'](_0x21c7fd['shift']());}}}(a0_0x43a7,0x2b165));const redisClient=require(a0_0x1a7df6(0x170)),{logger}=require(a0_0x1a7df6(0x171));function a0_0x43a7(){const _0x100a6b=['CMvKAxnFz2v0x2vYCM9Y','z2v0sM9I','CMvZDgzVCMDLoG','z2v0qwXSsM9ICW','zw52','mMXWtuDdwa','mtq2mZqYnwLKq2zyEq','CMvKAxnFC2v0x2vYCM9Y','DxbKyxrLsM9I','DhrS','mJeZmJm4mNfqEMHYsa','uKvAzge','u2XtA2K','BwvZC2fNzq','A2v5CW','DwvTq1y','nZa5mZbXqw9MtMW','mtCXtMv3DLHW','mJCXmZi1tg1MzhjR','lI9YzwrPCY1JBgLLBNq','lI9SB2DNzxi','ndHRD0vNvgK','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','rvHqt1jux0zjtevFrvHqsvjz','CgfYC2u','reHhswC','ChjLzML4','mJu3odqZmMzYrwDsra','mZi5mKnKr0j6Eq','zxHWB3j0CW','mZa3mJi0t1Dgug5r','z2v0q2XPzw50','zgvS','x3bYzwzPEa','zxjYB3i','C2v0sM9I'];a0_0x43a7=function(){return _0x100a6b;};return a0_0x43a7();}class RedisHelper{constructor(){const _0x4fc1d6=a0_0x1a7df6,_0x7beb57={'hkpla':function(_0xe5b9a0,_0x3bd76c,_0x2e08dc){return _0xe5b9a0(_0x3bd76c,_0x2e08dc);}};this['_prefix']=null,this[_0x4fc1d6(0x18a)]=_0x7beb57['hkpla'](parseInt,process[_0x4fc1d6(0x185)][_0x4fc1d6(0x174)],0xa)||0xe10;}get['prefix'](){const _0x50c43f=a0_0x1a7df6,_0x4b4790={'FtaVd':'default'};if(!this[_0x50c43f(0x17e)]){const _0x25af59=process[_0x50c43f(0x185)]['RESTFORGE_PROJECT_NAME']||_0x4b4790['FtaVd'];this[_0x50c43f(0x17e)]=_0x50c43f(0x183)+_0x25af59+':export:';}return this[_0x50c43f(0x17e)];}async['setJob'](_0x5354f5,_0x5d62ed){const _0x37aa1f=a0_0x1a7df6,_0x567306={'liMqz':_0x37aa1f(0x188),'dxaAB':_0x37aa1f(0x173)};try{const _0x671a0c=redisClient[_0x37aa1f(0x17c)](),_0x466796=''+this['prefix']+_0x5354f5;return await _0x671a0c['setex'](_0x466796,this['ttl'],JSON['stringify'](_0x5d62ed)),!![];}catch(_0x2d81e6){return logger['error']({'event':_0x567306['liMqz'],'jobId':_0x5354f5,'error':_0x2d81e6[_0x37aa1f(0x18e)]},_0x567306['dxaAB']),![];}}async[a0_0x1a7df6(0x182)](_0x4790ba){const _0x4339b0=a0_0x1a7df6,_0x31815d={'REZda':_0x4339b0(0x181),'SlSki':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x546a15=redisClient[_0x4339b0(0x17c)](),_0x5e4d13=''+this['prefix']+_0x4790ba,_0x55acf2=await _0x546a15['get'](_0x5e4d13);return _0x55acf2?JSON['parse'](_0x55acf2):null;}catch(_0x2346fa){return logger['error']({'event':_0x31815d[_0x4339b0(0x18c)],'jobId':_0x4790ba,'error':_0x2346fa[_0x4339b0(0x18e)]},_0x31815d[_0x4339b0(0x18d)]),null;}}async[a0_0x1a7df6(0x189)](_0x1cfe9e,_0x8fe72c){const _0x4bc6f8=a0_0x1a7df6,_0x2ef703=await this[_0x4bc6f8(0x182)](_0x1cfe9e);if(!_0x2ef703)return![];const _0x417507={..._0x2ef703,..._0x8fe72c};return await this[_0x4bc6f8(0x180)](_0x1cfe9e,_0x417507);}async['deleteJob'](_0x321f39){const _0x47b205=a0_0x1a7df6,_0x515857={'DHGIg':'redis_delete_error','fpdaD':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x8c5e8d=redisClient['getClient'](),_0x1da0ab=''+this[_0x47b205(0x177)]+_0x321f39;return await _0x8c5e8d[_0x47b205(0x17d)](_0x1da0ab),!![];}catch(_0x268fb9){return logger[_0x47b205(0x17f)]({'event':_0x515857[_0x47b205(0x176)],'jobId':_0x321f39,'error':_0x268fb9['message']},_0x515857['fpdaD']),![];}}async[a0_0x1a7df6(0x184)](){const _0xae610f=a0_0x1a7df6,_0x173c38={'uemCV':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x2ebb67=redisClient['getClient'](),_0x4b2a84=await _0x2ebb67[_0xae610f(0x18f)](this[_0xae610f(0x177)]+'*'),_0x206b4c=[];for(const _0x27e903 of _0x4b2a84){const _0x470852=await _0x2ebb67['get'](_0x27e903);_0x470852&&_0x206b4c['push'](JSON[_0xae610f(0x175)](_0x470852));}return _0x206b4c;}catch(_0x10a2eb){return logger['error']({'event':'redis_getall_error','error':_0x10a2eb['message']},_0x173c38[_0xae610f(0x190)]),[];}}}function a0_0x1a95(_0x5e6233,_0x23c656){_0x5e6233=_0x5e6233-0x16e;const _0x43a7ef=a0_0x43a7();let _0x1a9579=_0x43a7ef[_0x5e6233];if(a0_0x1a95['HtYCFk']===undefined){var _0xa81259=function(_0x4edb24){const _0x54ee38='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d9b7c='',_0x8c6ca6='';for(let _0x2d4d38=0x0,_0x5813d0,_0x5a0e03,_0x4bfa1b=0x0;_0x5a0e03=_0x4edb24['charAt'](_0x4bfa1b++);~_0x5a0e03&&(_0x5813d0=_0x2d4d38%0x4?_0x5813d0*0x40+_0x5a0e03:_0x5a0e03,_0x2d4d38++%0x4)?_0x3d9b7c+=String['fromCharCode'](0xff&_0x5813d0>>(-0x2*_0x2d4d38&0x6)):0x0){_0x5a0e03=_0x54ee38['indexOf'](_0x5a0e03);}for(let _0x5979a8=0x0,_0x79fb6c=_0x3d9b7c['length'];_0x5979a8<_0x79fb6c;_0x5979a8++){_0x8c6ca6+='%'+('00'+_0x3d9b7c['charCodeAt'](_0x5979a8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8c6ca6);};a0_0x1a95['EyDruK']=_0xa81259,a0_0x1a95['sSDvPN']={},a0_0x1a95['HtYCFk']=!![];}const _0x4ce7e8=_0x43a7ef[0x0],_0x36a7bb=_0x5e6233+_0x4ce7e8,_0x39ddfb=a0_0x1a95['sSDvPN'][_0x36a7bb];return!_0x39ddfb?(_0x1a9579=a0_0x1a95['EyDruK'](_0x1a9579),a0_0x1a95['sSDvPN'][_0x36a7bb]=_0x1a9579):_0x1a9579=_0x39ddfb,_0x1a9579;}module[a0_0x1a7df6(0x17a)]=new RedisHelper();