@restforgejs/platform 5.1.7 → 5.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/bin/restforge-hwinfo-linux +0 -0
  2. package/bin/restforge-hwinfo.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/payload/generate.js +10 -2
  7. package/generators/cli/schema/apply.js +6 -1
  8. package/generators/cli/schema/diff.js +6 -1
  9. package/generators/cli/schema/introspect.js +32 -11
  10. package/generators/lib/data/db-executor.js +8 -8
  11. package/generators/lib/data/envelope.js +3 -3
  12. package/generators/lib/dbschema-kit/apply-engine.js +20 -0
  13. package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
  14. package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
  15. package/generators/lib/dbschema-kit/dialect/postgres.js +4 -0
  16. package/generators/lib/dbschema-kit/dialect/sqlite.js +5 -0
  17. package/generators/lib/dbschema-kit/diff-engine.js +22 -1
  18. package/generators/lib/dbschema-kit/diff-reporter.js +293 -272
  19. package/generators/lib/dbschema-kit/emitters/create-index.js +23 -1
  20. package/generators/lib/dbschema-kit/emitters/create-table.js +48 -0
  21. package/generators/lib/dbschema-kit/introspect-mapper.js +154 -2
  22. package/generators/lib/dbschema-kit/ir-builder.js +84 -1
  23. package/generators/lib/dbschema-kit/schema-printer.js +20 -0
  24. package/generators/lib/dbschema-kit/soft-delete-constants.js +111 -0
  25. package/generators/lib/dbschema-kit/validator/schema-validator.js +231 -0
  26. package/generators/lib/generators/processor-validation-generator.js +16 -16
  27. package/generators/lib/payload/payload-runner.js +711 -1
  28. package/generators/lib/payload/schema-diff.js +7 -0
  29. package/generators/lib/templates/dashboard-catalog.js +1 -1
  30. package/generators/lib/templates/db-connection-env.js +1 -1
  31. package/generators/lib/templates/dbschema-catalog.js +1 -1
  32. package/generators/lib/templates/field-validation-catalog.js +1 -1
  33. package/generators/lib/templates/mysql-template.js +1 -1
  34. package/generators/lib/templates/oracle-template.js +1 -1
  35. package/generators/lib/templates/postgres-template.js +1 -1
  36. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  37. package/generators/lib/templates/sqlite-template.js +1 -1
  38. package/generators/lib/utils/database-introspector.js +48 -0
  39. package/generators/lib/utils/env-manager.js +4 -4
  40. package/generators/lib/utils/file-utils.js +6 -6
  41. package/generators/lib/utils/payload-processor.js +18 -2
  42. package/generators/lib/validators/argument-validator.js +2 -2
  43. package/generators/lib/validators/dashboard-validator.js +35 -1
  44. package/generators/lib/validators/payload-validator.js +460 -33
  45. package/integrity-manifest.json +20 -20
  46. package/package.json +2 -1
  47. package/scripts/verify-integrity.js +1 -1
  48. package/server.js +1 -1
  49. package/src/components/handlers/adjust_handler.js +1 -1
  50. package/src/components/handlers/audit_handler.js +1 -1
  51. package/src/components/handlers/delete_handler.js +1 -1
  52. package/src/components/handlers/export_handler.js +1 -1
  53. package/src/components/handlers/import_handler.js +1 -1
  54. package/src/components/handlers/insert_handler.js +1 -1
  55. package/src/components/handlers/update_handler.js +1 -1
  56. package/src/components/handlers/upload_handler.js +1 -1
  57. package/src/components/handlers/workflow_handler.js +1 -1
  58. package/src/components/integrations/webhook.js +1 -1
  59. package/src/consumers/baseConsumer.js +1 -1
  60. package/src/consumers/declarativeMapper.js +1 -1
  61. package/src/consumers/handlers/apiHandler.js +1 -1
  62. package/src/consumers/handlers/consoleHandler.js +1 -1
  63. package/src/consumers/handlers/databaseHandler.js +1 -1
  64. package/src/consumers/handlers/index.js +1 -1
  65. package/src/consumers/handlers/kafkaHandler.js +1 -1
  66. package/src/consumers/index.js +1 -1
  67. package/src/consumers/messageTransformer.js +1 -1
  68. package/src/consumers/validator.js +1 -1
  69. package/src/core/db/dialect/base-dialect.js +1 -1
  70. package/src/core/db/dialect/index.js +1 -1
  71. package/src/core/db/dialect/mysql-dialect.js +1 -1
  72. package/src/core/db/dialect/oracle-dialect.js +1 -1
  73. package/src/core/db/dialect/postgres-dialect.js +1 -1
  74. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  75. package/src/core/db/flatten-helper.js +1 -1
  76. package/src/core/db/query-builder-error.js +1 -1
  77. package/src/core/db/query-builder.js +1 -1
  78. package/src/core/db/relation-helper.js +1 -1
  79. package/src/core/handlers/delete_handler.js +1 -1
  80. package/src/core/handlers/insert_handler.js +1 -1
  81. package/src/core/handlers/update_handler.js +1 -1
  82. package/src/core/models/base-model.js +1 -1
  83. package/src/core/utils/cache-manager.js +1 -1
  84. package/src/core/utils/component-engine.js +1 -1
  85. package/src/core/utils/context-builder.js +1 -1
  86. package/src/core/utils/datetime-formatter.js +1 -1
  87. package/src/core/utils/datetime-parser.js +1 -1
  88. package/src/core/utils/db.js +1 -1
  89. package/src/core/utils/logger.js +1 -1
  90. package/src/core/utils/payload-loader.js +1 -1
  91. package/src/core/utils/security-checks.js +1 -1
  92. package/src/middleware/body-options.js +1 -1
  93. package/src/middleware/cors.js +1 -1
  94. package/src/middleware/idempotency.js +1 -1
  95. package/src/middleware/rate-limiter.js +1 -1
  96. package/src/middleware/request-logger.js +1 -1
  97. package/src/middleware/security-headers.js +1 -1
  98. package/src/models/base-model-mysql.js +1 -1
  99. package/src/models/base-model-oracle.js +1 -1
  100. package/src/models/base-model-sqlite.js +1 -1
  101. package/src/models/base-model.js +1 -1
  102. package/src/pro/caching/redis-client.js +1 -1
  103. package/src/pro/caching/redis-helper.js +1 -1
  104. package/src/pro/consumers/baseConsumer.js +1 -1
  105. package/src/pro/consumers/declarativeMapper.js +1 -1
  106. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  107. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  108. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  109. package/src/pro/consumers/handlers/index.js +1 -1
  110. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  111. package/src/pro/consumers/index.js +1 -1
  112. package/src/pro/consumers/messageTransformer.js +1 -1
  113. package/src/pro/consumers/validator.js +1 -1
  114. package/src/pro/database/base-model-mysql.js +1 -1
  115. package/src/pro/database/base-model-oracle.js +1 -1
  116. package/src/pro/database/base-model-sqlite.js +1 -1
  117. package/src/pro/database/db-mysql.js +1 -1
  118. package/src/pro/database/db-oracle.js +1 -1
  119. package/src/pro/database/db-sqlite.js +1 -1
  120. package/src/pro/excel/excel-generator.js +1 -1
  121. package/src/pro/excel/excel-parser.js +1 -1
  122. package/src/pro/excel/export-service.js +1 -1
  123. package/src/pro/excel/export_handler.js +1 -1
  124. package/src/pro/excel/import-service.js +1 -1
  125. package/src/pro/excel/import-validator.js +1 -1
  126. package/src/pro/excel/import_handler.js +1 -1
  127. package/src/pro/excel/upsert-builder.js +1 -1
  128. package/src/pro/idgen/idgen-routes.js +1 -1
  129. package/src/pro/integrations/lookup-resolver.js +1 -1
  130. package/src/pro/integrations/upload-handler-v2.js +1 -1
  131. package/src/pro/integrations/upload-handler.js +1 -1
  132. package/src/pro/integrations/webhook.js +1 -1
  133. package/src/pro/locking/lock-routes.js +1 -1
  134. package/src/pro/locking/resource-lock-manager.js +1 -1
  135. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  136. package/src/pro/messaging/kafkaService.js +1 -1
  137. package/src/pro/messaging/messagehubService.js +1 -1
  138. package/src/pro/messaging/rabbitmqService.js +1 -1
  139. package/src/pro/scheduler/job-manager.js +1 -1
  140. package/src/pro/scheduler/job-routes.js +1 -1
  141. package/src/pro/scheduler/job-validator.js +1 -1
  142. package/src/pro/storage/base-storage-provider.js +1 -1
  143. package/src/pro/storage/file-metadata-helper.js +1 -1
  144. package/src/pro/storage/index.js +1 -1
  145. package/src/pro/storage/local-storage-provider.js +1 -1
  146. package/src/pro/storage/s3-storage-provider.js +1 -1
  147. package/src/pro/storage/upload-cleanup-job.js +1 -1
  148. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  149. package/src/pro/storage/upload-pending-tracker.js +1 -1
  150. package/src/pro/websocket/broadcast-helper.js +1 -1
  151. package/src/pro/websocket/index.js +1 -1
  152. package/src/pro/websocket/livesync-server.js +1 -1
  153. package/src/pro/websocket/ws-broadcaster.js +1 -1
  154. package/src/services/export-service.js +1 -1
  155. package/src/services/import-service.js +1 -1
  156. package/src/services/kafkaConsumerService.js +1 -1
  157. package/src/services/kafkaService.js +1 -1
  158. package/src/services/messagehubService.js +1 -1
  159. package/src/services/rabbitmqService.js +1 -1
  160. package/src/utils/cache-invalidation-registry.js +1 -1
  161. package/src/utils/cache-manager.js +1 -1
  162. package/src/utils/component-engine.js +1 -1
  163. package/src/utils/config-extractor.js +1 -1
  164. package/src/utils/consumerLogger.js +1 -1
  165. package/src/utils/context-builder.js +1 -1
  166. package/src/utils/dashboard-helpers.js +1 -1
  167. package/src/utils/dateHelper.js +1 -1
  168. package/src/utils/datetime-formatter.js +1 -1
  169. package/src/utils/datetime-parser.js +1 -1
  170. package/src/utils/db-bootstrap.js +1 -1
  171. package/src/utils/db-mysql.js +1 -1
  172. package/src/utils/db-oracle.js +1 -1
  173. package/src/utils/db-sqlite.js +1 -1
  174. package/src/utils/db.js +1 -1
  175. package/src/utils/demo-generator.js +1 -1
  176. package/src/utils/excel-generator.js +1 -1
  177. package/src/utils/excel-parser.js +1 -1
  178. package/src/utils/file-watcher.js +1 -1
  179. package/src/utils/id-generator.js +1 -1
  180. package/src/utils/idempotency-manager.js +1 -1
  181. package/src/utils/import-validator.js +1 -1
  182. package/src/utils/license-client.js +1 -1
  183. package/src/utils/lock-manager.js +1 -1
  184. package/src/utils/logger.js +1 -1
  185. package/src/utils/lookup-resolver.js +1 -1
  186. package/src/utils/payload-loader.js +1 -1
  187. package/src/utils/processor-response.js +1 -1
  188. package/src/utils/rabbitmq.js +1 -1
  189. package/src/utils/redis-client.js +1 -1
  190. package/src/utils/redis-helper.js +1 -1
  191. package/src/utils/request-scope.js +1 -1
  192. package/src/utils/security-checks.js +1 -1
  193. package/src/utils/service-resolver.js +1 -1
  194. package/src/utils/shutdown-coordinator.js +1 -1
  195. package/src/utils/soft-delete-dashboard-guard.js +1 -0
  196. package/src/utils/sql-table-extractor.js +1 -0
  197. package/src/utils/trusted-keys.js +1 -1
  198. package/src/utils/upload-handler.js +1 -1
  199. package/src/utils/upsert-builder.js +1 -1
  200. package/src/utils/workflow-hook-executor.js +1 -1
  201. package/generators/lib/utils/sql-table-extractor.js +0 -83
@@ -1 +1 @@
1
- function a0_0x4a29(_0x391968,_0x237662){_0x391968=_0x391968-0x1dc;const _0x4bcd12=a0_0x4bcd();let _0x4a2960=_0x4bcd12[_0x391968];if(a0_0x4a29['WtSscA']===undefined){var _0x15cc5b=function(_0x8b403d){const _0x482d6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a2bc0='',_0x2fca0f='';for(let _0x24ac9d=0x0,_0x44b523,_0x57459e,_0x5d92d3=0x0;_0x57459e=_0x8b403d['charAt'](_0x5d92d3++);~_0x57459e&&(_0x44b523=_0x24ac9d%0x4?_0x44b523*0x40+_0x57459e:_0x57459e,_0x24ac9d++%0x4)?_0x2a2bc0+=String['fromCharCode'](0xff&_0x44b523>>(-0x2*_0x24ac9d&0x6)):0x0){_0x57459e=_0x482d6d['indexOf'](_0x57459e);}for(let _0x59279e=0x0,_0x54d187=_0x2a2bc0['length'];_0x59279e<_0x54d187;_0x59279e++){_0x2fca0f+='%'+('00'+_0x2a2bc0['charCodeAt'](_0x59279e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fca0f);};a0_0x4a29['sGfrNc']=_0x15cc5b,a0_0x4a29['VuCvhj']={},a0_0x4a29['WtSscA']=!![];}const _0x21d601=_0x4bcd12[0x0],_0x283a65=_0x391968+_0x21d601,_0x39f7a4=a0_0x4a29['VuCvhj'][_0x283a65];return!_0x39f7a4?(_0x4a2960=a0_0x4a29['sGfrNc'](_0x4a2960),a0_0x4a29['VuCvhj'][_0x283a65]=_0x4a2960):_0x4a2960=_0x39f7a4,_0x4a2960;}const a0_0x8ea4dc=a0_0x4a29;(function(_0x1ed246,_0x45766e){const _0x3cb126=a0_0x4a29,_0x2acb3c=_0x1ed246();while(!![]){try{const _0x31fa83=parseInt(_0x3cb126(0x226))/0x1*(-parseInt(_0x3cb126(0x22c))/0x2)+-parseInt(_0x3cb126(0x1e2))/0x3*(parseInt(_0x3cb126(0x21a))/0x4)+parseInt(_0x3cb126(0x221))/0x5+-parseInt(_0x3cb126(0x216))/0x6+parseInt(_0x3cb126(0x22b))/0x7+-parseInt(_0x3cb126(0x215))/0x8*(parseInt(_0x3cb126(0x20f))/0x9)+parseInt(_0x3cb126(0x1f8))/0xa;if(_0x31fa83===_0x45766e)break;else _0x2acb3c['push'](_0x2acb3c['shift']());}catch(_0x548239){_0x2acb3c['push'](_0x2acb3c['shift']());}}}(a0_0x4bcd,0x721d9));const redisClient=require(a0_0x8ea4dc(0x1df)),{logger}=require(a0_0x8ea4dc(0x224)),{v4:uuidv4}=require(a0_0x8ea4dc(0x209));class LockManager{constructor(){const _0x2cf802=a0_0x8ea4dc,_0x24b445='0|1|6|3|7|4|2|5'['split']('|');let _0x345ee9=0x0;while(!![]){switch(_0x24b445[_0x345ee9++]){case'0':this[_0x2cf802(0x1dd)]=null;continue;case'1':this['_enabled']=null;continue;case'2':this['_workerId']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_strategy']=null;continue;case'5':this[_0x2cf802(0x1f0)]=![];continue;case'6':this['_defaultTTL']=null;continue;case'7':this['_retryDelay']=null;continue;}break;}}['_initConfig'](){const _0x4b0ba3=a0_0x8ea4dc,_0x50b91d={'vulmf':function(_0x1d428f,_0x2ecfaa){return _0x1d428f===_0x2ecfaa;},'VxbiA':'true','lMtdq':function(_0x5cfb43,_0x146f29,_0xcb08e7){return _0x5cfb43(_0x146f29,_0xcb08e7);},'vtahA':function(_0x37ab2b,_0x296912,_0x146298){return _0x37ab2b(_0x296912,_0x146298);},'ELVBe':_0x4b0ba3(0x208)};this[_0x4b0ba3(0x1dd)]=_0x4b0ba3(0x22a),this['_enabled']=_0x50b91d['vulmf'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x50b91d['VxbiA']),this[_0x4b0ba3(0x229)]=_0x50b91d[_0x4b0ba3(0x218)](parseInt,process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1e4)],0xa)||0xa,this[_0x4b0ba3(0x21e)]=_0x50b91d[_0x4b0ba3(0x20b)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x4b0ba3(0x1fe)]=parseInt(process['env'][_0x4b0ba3(0x1de)],0xa)||0x64,this['_strategy']=process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1ec)]||_0x50b91d[_0x4b0ba3(0x200)],this['_workerId']='worker-'+process[_0x4b0ba3(0x1ef)],this[_0x4b0ba3(0x1f0)]=!![],logger['info']({'event':_0x4b0ba3(0x20e),'enabled':this['_enabled'],'strategy':this[_0x4b0ba3(0x206)],'ttl':this['_defaultTTL'],'retryCount':this[_0x4b0ba3(0x21e)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4b0ba3(0x1fc)+this['_strategy']);}['_ensureInitialized'](){const _0x4413ab=a0_0x8ea4dc;!this[_0x4413ab(0x1f0)]&&this['_initConfig']();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x8ea4dc(0x1f6)](){const _0x1f4679=a0_0x8ea4dc;return this[_0x1f4679(0x1fa)](),this[_0x1f4679(0x20a)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x18ae49=a0_0x8ea4dc;return this[_0x18ae49(0x1fa)](),this['_retryCount'];}get[a0_0x8ea4dc(0x22e)](){const _0x4eedac=a0_0x8ea4dc;return this['_ensureInitialized'](),this[_0x4eedac(0x1fe)];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x8ea4dc(0x21b)](){const _0x3bf591=a0_0x8ea4dc;return this[_0x3bf591(0x1fa)](),this[_0x3bf591(0x205)];}['buildLockKey'](_0x5bbd4d){const _0xc3a222=a0_0x8ea4dc,{module:_0x3e0c3f,endpoint:_0x2cd0f6,lockType:_0x245cf7,recordId:_0x69003}=_0x5bbd4d;if(_0x69003)return''+this['prefix']+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x69003+':'+_0x245cf7;return''+this[_0xc3a222(0x20c)]+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x245cf7;}[a0_0x8ea4dc(0x1f1)](){const _0x22b99b=a0_0x8ea4dc;return this['workerId']+':'+uuidv4()+':'+Date[_0x22b99b(0x213)]();}async[a0_0x8ea4dc(0x227)](_0xb935e5){const _0x43616e=a0_0x8ea4dc,_0x19c9ae={'jSgCr':'read','CFQqm':function(_0xe65893,_0x16d83c){return _0xe65893<_0x16d83c;},'coMTa':'read_lock_acquired','cgjge':'READ\x20lock\x20acquired','nnNWV':_0x43616e(0x225),'cVJyt':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','NOrzi':_0x43616e(0x1e3),'UcuLk':'read_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x511a67=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':'write'}),_0x101d12=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':_0x19c9ae['jSgCr']}),_0x5bd094=this[_0x43616e(0x1f1)]();try{const _0x55aaa9=redisClient['getClient']();for(let _0x39f8fc=0x0;_0x19c9ae['CFQqm'](_0x39f8fc,this['retryCount']);_0x39f8fc++){const _0x3fa434=await _0x55aaa9[_0x43616e(0x1f4)](_0x511a67);if(!_0x3fa434){await _0x55aaa9['incr'](_0x101d12),await _0x55aaa9['expire'](_0x101d12,this[_0x43616e(0x1e9)]);const _0x35fbae=_0x101d12+':'+_0x5bd094;return await _0x55aaa9['setex'](_0x35fbae,this[_0x43616e(0x1e9)],_0x5bd094),logger[_0x43616e(0x223)]({'event':_0x19c9ae['coMTa'],'key':_0x101d12,'value':_0x5bd094},_0x19c9ae['cgjge']),{'success':!![],'lockValue':_0x5bd094,'lockKey':_0x35fbae};}logger['debug']({'event':_0x19c9ae['nnNWV'],'writeKey':_0x511a67,'attempt':_0x39f8fc},_0x19c9ae['cVJyt']),await this[_0x43616e(0x1f9)](this[_0x43616e(0x22e)]*Math['pow'](0x2,_0x39f8fc));}return logger['warn']({'event':_0x19c9ae['NOrzi'],'key':_0x101d12},_0x43616e(0x1e7)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40734d){return logger['error']({'event':_0x19c9ae['UcuLk'],'error':_0x40734d[_0x43616e(0x207)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x8ea4dc(0x1dc)](_0x23a143){const _0x22228b=a0_0x8ea4dc,_0x42a72d={'bqERP':'write','ySqgV':'read','bwuIo':function(_0x34d255,_0x5a2d35){return _0x34d255===_0x5a2d35;},'eZUET':'write_lock_acquired','aqada':'reject','ctiRc':_0x22228b(0x222),'dZruV':'write_lock_rejected','zMuSw':function(_0x4c09ef,_0x507cb6){return _0x4c09ef(_0x507cb6);},'ddsgK':_0x22228b(0x208),'nYPrv':_0x22228b(0x1fd),'KuHVv':'Waiting\x20for\x20locks\x20to\x20release','DuuqZ':function(_0xf0bea7,_0x43c2f1){return _0xf0bea7*_0x43c2f1;}};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x40b5ea=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d['bqERP']}),_0x2e9544=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d[_0x22228b(0x1f7)]}),_0x11a4b5=this[_0x22228b(0x1f1)]();try{const _0x1486af=redisClient[_0x22228b(0x1f2)]();if(this['strategy']===_0x22228b(0x219)){const _0x28f4fa=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x42a72d['bwuIo'](_0x28f4fa,'OK'))return logger['debug']({'event':_0x42a72d[_0x22228b(0x1ed)],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['aqada']},_0x42a72d[_0x22228b(0x1f3)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};return logger[_0x22228b(0x223)]({'event':_0x42a72d['dZruV'],'key':_0x40b5ea},_0x22228b(0x20d)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0xd5560a=0x0;_0xd5560a<this['retryCount'];_0xd5560a++){const [_0x413570,_0x3dab3d]=await Promise['all']([_0x1486af[_0x22228b(0x1f4)](_0x2e9544),_0x1486af['get'](_0x40b5ea)]);if(!_0x3dab3d&&(!_0x413570||_0x42a72d[_0x22228b(0x1eb)](parseInt,_0x413570)===0x0)){const _0x2f7785=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x2f7785==='OK')return logger['debug']({'event':_0x42a72d['eZUET'],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['ddsgK']},_0x42a72d[_0x22228b(0x1e5)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x40b5ea,'readCount':_0x413570,'attempt':_0xd5560a},_0x42a72d[_0x22228b(0x1e8)]),await this[_0x22228b(0x1f9)](_0x42a72d[_0x22228b(0x1e1)](this[_0x22228b(0x22e)],Math['pow'](0x2,_0xd5560a)));}return logger['warn']({'event':'write_lock_timeout','key':_0x40b5ea},_0x22228b(0x214)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x38e37e){return logger[_0x22228b(0x1e6)]({'event':_0x22228b(0x201),'error':_0x38e37e[_0x22228b(0x207)]},_0x22228b(0x22d)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x44a584,_0x5df27c){const _0x1f70bf=a0_0x8ea4dc,_0x5207ed={'rFgKh':':read:','LbcQH':function(_0x4c2ac7,_0x3abd0c){return _0x4c2ac7===_0x3abd0c;},'oOSJZ':'write_lock_released'};if(!this[_0x1f70bf(0x1f6)]||!_0x44a584)return!![];try{const _0x4c7c9e=redisClient[_0x1f70bf(0x1f2)]();if(_0x44a584[_0x1f70bf(0x210)](_0x5207ed['rFgKh'])){await _0x4c7c9e[_0x1f70bf(0x21c)](_0x44a584);const _0x3c4d94=_0x44a584[_0x1f70bf(0x211)](0x0,_0x44a584[_0x1f70bf(0x1f5)](':')),_0x36dcdc=await _0x4c7c9e['get'](_0x3c4d94);return _0x36dcdc&&parseInt(_0x36dcdc)>0x0&&await _0x4c7c9e['decr'](_0x3c4d94),logger[_0x1f70bf(0x223)]({'event':'read_lock_released','key':_0x44a584},_0x1f70bf(0x217)),!![];}const _0x4b4add=_0x1f70bf(0x202),_0x5aeea8=await _0x4c7c9e['eval'](_0x4b4add,0x1,_0x44a584,_0x5df27c);if(_0x5207ed['LbcQH'](_0x5aeea8,0x1))return logger[_0x1f70bf(0x223)]({'event':_0x5207ed['oOSJZ'],'key':_0x44a584},_0x1f70bf(0x1ee)),!![];return logger[_0x1f70bf(0x1fb)]({'event':_0x1f70bf(0x203),'key':_0x44a584},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x1f0b1c){return logger[_0x1f70bf(0x1e6)]({'event':_0x1f70bf(0x1ff),'key':_0x44a584,'error':_0x1f0b1c[_0x1f70bf(0x207)]},_0x1f70bf(0x220)),![];}}async['extendLock'](_0x12df37,_0x295364,_0x391d78=null){const _0x1a6dd8=a0_0x8ea4dc,_0x4887cf={'iHdyp':function(_0x52dab5,_0x18ec16){return _0x52dab5===_0x18ec16;}};if(!this[_0x1a6dd8(0x1f6)]||!_0x12df37)return!![];try{const _0x43e1ce=redisClient['getClient'](),_0x1dfcda='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x51a9a=await _0x43e1ce['eval'](_0x1dfcda,0x1,_0x12df37,_0x295364,_0x391d78||this['defaultTTL']);if(_0x4887cf['iHdyp'](_0x51a9a,0x1))return logger[_0x1a6dd8(0x223)]({'event':_0x1a6dd8(0x21d),'key':_0x12df37,'ttl':_0x391d78||this['defaultTTL']},_0x1a6dd8(0x21f)),!![];return![];}catch(_0xe8d169){return logger[_0x1a6dd8(0x1e6)]({'event':'lock_extend_error','key':_0x12df37,'error':_0xe8d169['message']},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x48b61f=a0_0x8ea4dc;return this[_0x48b61f(0x1f6)];}[a0_0x8ea4dc(0x1f9)](_0x1092f3){return new Promise(_0x576e5c=>setTimeout(_0x576e5c,_0x1092f3));}async['getLockInfo'](_0x38a4ee){const _0x7ced1e=a0_0x8ea4dc,_0xaa0fc2={'qMDEY':'write','zvzNj':'read','ziLtx':function(_0x3c02a9,_0x25030b){return _0x3c02a9||_0x25030b;},'ZEjUV':function(_0x5421f7,_0x1db388){return _0x5421f7(_0x1db388);}};if(!this['enabled'])return{'enabled':![]};try{const _0x1e53bd=redisClient[_0x7ced1e(0x1f2)](),_0x4d3ab0=this[_0x7ced1e(0x1e0)]({..._0x38a4ee,'lockType':_0xaa0fc2['qMDEY']}),_0x1fbc7b=this['buildLockKey']({..._0x38a4ee,'lockType':_0xaa0fc2[_0x7ced1e(0x204)]}),[_0x236c38,_0x44cd23]=await Promise['all']([_0x1e53bd['get'](_0x4d3ab0),_0x1e53bd[_0x7ced1e(0x1f4)](_0x1fbc7b)]);return{'enabled':!![],'writeLock':_0xaa0fc2[_0x7ced1e(0x228)](_0x236c38,null),'readCount':_0xaa0fc2[_0x7ced1e(0x212)](parseInt,_0x44cd23)||0x0,'writeKey':_0x4d3ab0,'readKey':_0x1fbc7b};}catch(_0x58333e){return{'enabled':!![],'error':_0x58333e['message']};}}}module['exports']=new LockManager();function a0_0x4bcd(){const _0x15eb2f=['x3jLDhj5q291BNq','tg9JAYbuveWGzxH0zw5Kzwq','tg9JAYbYzwXLyxnLigvYCM9Y','mtC4nZa5nwHpA21wsW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvIDwC','lI9SB2DNzxi','CMvHzf9SB2nRx3DHAxrPBMC','nZyYntq0B1PmCgjl','ywnXDwLYzvjLywrmB2nR','EMLmDhG','x2rLzMf1BhruveW','CMy6Bg9JAZO','mJeXnte5mhPoC011Aa','mLHqAfPtDW','v1jjveuGBg9JAYbLCNjVCG','CMv0CNLezwXHEq','ywnXDwLYzvDYAxrLtg9JAW','x3bYzwzPEa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','lI9YzwrPCY1JBgLLBNq','yNvPBgrmB2nRs2v5','rhv1CvO','mtm3mtqYm1PfyvDdqW','CMvHzf9SB2nRx3rPBwvVDxq','te9ds19esvnuuKLcvvrfrf9uveW','BLLqCNy','zxjYB3i','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','s3vivNy','zgvMyxvSDfruta','zw52','EK11u3C','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','zvPvrvq','v1jjveuGBg9JAYbYzwXLyxnLza','CgLK','x2LUAxrPywXPEMvK','z2vUzxjHDgvmB2nRvMfSDwu','z2v0q2XPzw50','y3rPuMm','z2v0','BgfZDeLUzgv4t2y','zw5HyMXLza','EvnXz1y','mJq5nZy2mtboruzluu0','C2XLzxa','x2vUC3vYzuLUAxrPywXPEMvK','D2fYBG','lcbZDhjHDgvNEtOG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x3jLDhj5rgvSyxK','Bg9JA19YzwXLyxnLx2vYCM9Y','ruXwqMu','D3jPDgvFBg9JA19LCNjVCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','ENz6tMO','x3DVCMTLCKLK','x3n0CMf0zwD5','BwvZC2fNzq','CMv0CNK','DxvPza','x2vUywjSzwq','DNrHAee','ChjLzML4','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','Bg9JA19JB25MAwDFAw5PDa','ndvJEKf0whq','Aw5JBhvKzxm','C3vIC3rYAw5N','wKvQvvy','BM93','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ndKXntuYtePgqLnw','ndiZndCYmMHxtvbKCW','uKvbrcbSB2nRihjLBgvHC2vK','Be10zhe','CMvQzwn0','oerkDhfrDa','D29YA2vYswq','zgvS','Bg9JA19LEhrLBMrLza'];a0_0x4bcd=function(){return _0x15eb2f;};return a0_0x4bcd();}
1
+ const a0_0x4b7b72=a0_0x1dbc;(function(_0x22072d,_0x58ff32){const _0xc76b3e=a0_0x1dbc,_0x1ba020=_0x22072d();while(!![]){try{const _0x3d4739=parseInt(_0xc76b3e(0x19a))/0x1+parseInt(_0xc76b3e(0x169))/0x2*(-parseInt(_0xc76b3e(0x167))/0x3)+-parseInt(_0xc76b3e(0x170))/0x4+-parseInt(_0xc76b3e(0x163))/0x5+parseInt(_0xc76b3e(0x183))/0x6+-parseInt(_0xc76b3e(0x1af))/0x7+parseInt(_0xc76b3e(0x1a7))/0x8;if(_0x3d4739===_0x58ff32)break;else _0x1ba020['push'](_0x1ba020['shift']());}catch(_0x76fd5a){_0x1ba020['push'](_0x1ba020['shift']());}}}(a0_0x488d,0x1e297));const redisClient=require('./redis-client'),{logger}=require(a0_0x4b7b72(0x177)),{v4:uuidv4}=require(a0_0x4b7b72(0x1ae));function a0_0x1dbc(_0x1aba52,_0x5bcbdd){_0x1aba52=_0x1aba52-0x160;const _0x488d5f=a0_0x488d();let _0x1dbcc9=_0x488d5f[_0x1aba52];if(a0_0x1dbc['AAloGe']===undefined){var _0x34d0b0=function(_0x3e34db){const _0x29a188='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d11d5='',_0x5ce419='';for(let _0x5a064f=0x0,_0x3958c6,_0x3172f2,_0x5b82d4=0x0;_0x3172f2=_0x3e34db['charAt'](_0x5b82d4++);~_0x3172f2&&(_0x3958c6=_0x5a064f%0x4?_0x3958c6*0x40+_0x3172f2:_0x3172f2,_0x5a064f++%0x4)?_0x5d11d5+=String['fromCharCode'](0xff&_0x3958c6>>(-0x2*_0x5a064f&0x6)):0x0){_0x3172f2=_0x29a188['indexOf'](_0x3172f2);}for(let _0x1bc090=0x0,_0x4efcbb=_0x5d11d5['length'];_0x1bc090<_0x4efcbb;_0x1bc090++){_0x5ce419+='%'+('00'+_0x5d11d5['charCodeAt'](_0x1bc090)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ce419);};a0_0x1dbc['uKwoiL']=_0x34d0b0,a0_0x1dbc['IIQwfm']={},a0_0x1dbc['AAloGe']=!![];}const _0x5b2308=_0x488d5f[0x0],_0x376d39=_0x1aba52+_0x5b2308,_0x206378=a0_0x1dbc['IIQwfm'][_0x376d39];return!_0x206378?(_0x1dbcc9=a0_0x1dbc['uKwoiL'](_0x1dbcc9),a0_0x1dbc['IIQwfm'][_0x376d39]=_0x1dbcc9):_0x1dbcc9=_0x206378,_0x1dbcc9;}class LockManager{constructor(){const _0x3c92ef=a0_0x4b7b72;this[_0x3c92ef(0x173)]=null,this[_0x3c92ef(0x164)]=null,this[_0x3c92ef(0x1a3)]=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x3c92ef(0x1b4)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x3df9dd=a0_0x4b7b72,_0x95cbc3={'woOKj':'rf:lock:','SFBRL':function(_0x7420ca,_0x2e022b){return _0x7420ca===_0x2e022b;},'CEpIt':_0x3df9dd(0x1ab),'lSPXT':function(_0x1cfcd2,_0x139b06,_0x1cb3fc){return _0x1cfcd2(_0x139b06,_0x1cb3fc);},'hbWbT':function(_0x449046,_0x58c5ba,_0x4a8e33){return _0x449046(_0x58c5ba,_0x4a8e33);}};this['_prefix']=_0x95cbc3['woOKj'],this[_0x3df9dd(0x164)]=_0x95cbc3['SFBRL'](process['env'][_0x3df9dd(0x17f)],_0x95cbc3['CEpIt']),this[_0x3df9dd(0x1a3)]=_0x95cbc3[_0x3df9dd(0x1b7)](parseInt,process[_0x3df9dd(0x18c)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0x95cbc3[_0x3df9dd(0x1a6)](parseInt,process['env'][_0x3df9dd(0x17e)],0xa)||0x3,this['_retryDelay']=_0x95cbc3[_0x3df9dd(0x1b7)](parseInt,process['env'][_0x3df9dd(0x19e)],0xa)||0x64,this[_0x3df9dd(0x1b4)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x3df9dd(0x196),this[_0x3df9dd(0x188)]='worker-'+process[_0x3df9dd(0x18b)],this[_0x3df9dd(0x197)]=!![],logger['info']({'event':_0x3df9dd(0x168),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x3df9dd(0x1a3)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x3df9dd(0x19c)+this['_enabled']+_0x3df9dd(0x184)+this[_0x3df9dd(0x1b4)]);}[a0_0x4b7b72(0x1b3)](){!this['_initialized']&&this['_initConfig']();}get[a0_0x4b7b72(0x198)](){const _0x1d169d=a0_0x4b7b72;return this[_0x1d169d(0x1b3)](),this['_prefix'];}get['enabled'](){const _0x2ddce4=a0_0x4b7b72;return this['_ensureInitialized'](),this[_0x2ddce4(0x164)];}get[a0_0x4b7b72(0x161)](){const _0x11b426=a0_0x4b7b72;return this['_ensureInitialized'](),this[_0x11b426(0x1a3)];}get[a0_0x4b7b72(0x16f)](){const _0x45e626=a0_0x4b7b72;return this[_0x45e626(0x1b3)](),this['_retryCount'];}get[a0_0x4b7b72(0x179)](){const _0x33e165=a0_0x4b7b72;return this[_0x33e165(0x1b3)](),this['_retryDelay'];}get[a0_0x4b7b72(0x162)](){const _0x1cb3f3=a0_0x4b7b72;return this[_0x1cb3f3(0x1b3)](),this[_0x1cb3f3(0x1b4)];}get[a0_0x4b7b72(0x19f)](){const _0x44d77a=a0_0x4b7b72;return this[_0x44d77a(0x1b3)](),this['_workerId'];}[a0_0x4b7b72(0x17b)](_0x950b7e){const {module:_0x1c8be6,endpoint:_0x463bdc,lockType:_0x48106f,recordId:_0x1f646c}=_0x950b7e;if(_0x1f646c)return''+this['prefix']+_0x1c8be6+':'+_0x463bdc+':'+_0x1f646c+':'+_0x48106f;return''+this['prefix']+_0x1c8be6+':'+_0x463bdc+':'+_0x48106f;}['generateLockValue'](){const _0xd9cf80=a0_0x4b7b72,_0x6c86de={'yCqpK':function(_0x1d96b6){return _0x1d96b6();}};return this[_0xd9cf80(0x19f)]+':'+_0x6c86de[_0xd9cf80(0x17d)](uuidv4)+':'+Date[_0xd9cf80(0x187)]();}async[a0_0x4b7b72(0x189)](_0x51ef47){const _0x399717=a0_0x4b7b72,_0x338b1b={'GWJwg':'read','EbFSf':'READ\x20lock\x20acquired','IGLQC':_0x399717(0x19b),'kHrJF':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','QuaXi':'READ\x20lock\x20acquire\x20timeout','CkUXi':'READ\x20lock\x20error'};if(!this[_0x399717(0x1ac)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x253bbe=this['buildLockKey']({..._0x51ef47,'lockType':'write'}),_0x47b6d7=this[_0x399717(0x17b)]({..._0x51ef47,'lockType':_0x338b1b['GWJwg']}),_0x2d7cbb=this[_0x399717(0x191)]();try{const _0x45decb=redisClient['getClient']();for(let _0x4c1bb8=0x0;_0x4c1bb8<this['retryCount'];_0x4c1bb8++){const _0x219707=await _0x45decb[_0x399717(0x16d)](_0x253bbe);if(!_0x219707){await _0x45decb[_0x399717(0x16e)](_0x47b6d7),await _0x45decb['expire'](_0x47b6d7,this[_0x399717(0x161)]);const _0x5a8b45=_0x47b6d7+':'+_0x2d7cbb;return await _0x45decb['setex'](_0x5a8b45,this[_0x399717(0x161)],_0x2d7cbb),logger[_0x399717(0x165)]({'event':'read_lock_acquired','key':_0x47b6d7,'value':_0x2d7cbb},_0x338b1b['EbFSf']),{'success':!![],'lockValue':_0x2d7cbb,'lockKey':_0x5a8b45};}logger['debug']({'event':_0x338b1b[_0x399717(0x1a5)],'writeKey':_0x253bbe,'attempt':_0x4c1bb8},_0x338b1b['kHrJF']),await this[_0x399717(0x185)](this[_0x399717(0x179)]*Math['pow'](0x2,_0x4c1bb8));}return logger['warn']({'event':_0x399717(0x1a4),'key':_0x47b6d7},_0x338b1b[_0x399717(0x1b6)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4145ca){return logger['error']({'event':'read_lock_error','error':_0x4145ca[_0x399717(0x1b0)]},_0x338b1b[_0x399717(0x193)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4b7b72(0x181)](_0x3ba75b){const _0x35c0a8=a0_0x4b7b72,_0x29b24b={'YNTiy':'reject','olOEb':function(_0xa90e42,_0x4a3e15){return _0xa90e42===_0x4a3e15;},'vLSdJ':'write_lock_acquired','kskVU':_0x35c0a8(0x1a9),'PJFcH':_0x35c0a8(0x1a0),'zGEZE':_0x35c0a8(0x16c),'KUEXr':function(_0x1e558e,_0x55a16f){return _0x1e558e<_0x55a16f;},'TKUHd':function(_0x541900,_0x18dd72){return _0x541900(_0x18dd72);},'yPtAi':'write_lock_timeout','mhTzJ':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5ef02e=this['buildLockKey']({..._0x3ba75b,'lockType':_0x35c0a8(0x192)}),_0x1d2874=this[_0x35c0a8(0x17b)]({..._0x3ba75b,'lockType':_0x35c0a8(0x16b)}),_0x1764e0=this[_0x35c0a8(0x191)]();try{const _0x1e2d3e=redisClient['getClient']();if(this[_0x35c0a8(0x162)]===_0x29b24b[_0x35c0a8(0x190)]){const _0x2ddd4f=await _0x1e2d3e[_0x35c0a8(0x195)](_0x5ef02e,_0x1764e0,'EX',this['defaultTTL'],'NX');if(_0x29b24b[_0x35c0a8(0x166)](_0x2ddd4f,'OK'))return logger[_0x35c0a8(0x165)]({'event':_0x29b24b[_0x35c0a8(0x182)],'key':_0x5ef02e,'value':_0x1764e0,'strategy':'reject'},_0x29b24b['kskVU']),{'success':!![],'lockValue':_0x1764e0,'lockKey':_0x5ef02e};return logger['debug']({'event':_0x29b24b['PJFcH'],'key':_0x5ef02e},_0x29b24b[_0x35c0a8(0x1a8)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x3f310e=0x0;_0x29b24b[_0x35c0a8(0x18d)](_0x3f310e,this[_0x35c0a8(0x16f)]);_0x3f310e++){const [_0x24ae8b,_0x229fd7]=await Promise['all']([_0x1e2d3e['get'](_0x1d2874),_0x1e2d3e[_0x35c0a8(0x16d)](_0x5ef02e)]);if(!_0x229fd7&&(!_0x24ae8b||_0x29b24b['TKUHd'](parseInt,_0x24ae8b)===0x0)){const _0xfaadad=await _0x1e2d3e[_0x35c0a8(0x195)](_0x5ef02e,_0x1764e0,'EX',this['defaultTTL'],'NX');if(_0x29b24b[_0x35c0a8(0x166)](_0xfaadad,'OK'))return logger[_0x35c0a8(0x165)]({'event':_0x35c0a8(0x180),'key':_0x5ef02e,'value':_0x1764e0,'strategy':'retry'},_0x35c0a8(0x199)),{'success':!![],'lockValue':_0x1764e0,'lockKey':_0x5ef02e};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x5ef02e,'readCount':_0x24ae8b,'attempt':_0x3f310e},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x35c0a8(0x185)](this[_0x35c0a8(0x179)]*Math[_0x35c0a8(0x186)](0x2,_0x3f310e));}return logger['warn']({'event':_0x29b24b[_0x35c0a8(0x178)],'key':_0x5ef02e},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2a30b1){return logger[_0x35c0a8(0x176)]({'event':_0x29b24b['mhTzJ'],'error':_0x2a30b1[_0x35c0a8(0x1b0)]},_0x35c0a8(0x1a1)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0xd5a742,_0x4b71cf){const _0x36b91b=a0_0x4b7b72,_0x67884f={'LnjBm':function(_0x20c027,_0x2ca143){return _0x20c027(_0x2ca143);},'UeRvW':_0x36b91b(0x19d),'QfATp':function(_0x2283c9,_0x40009d){return _0x2283c9===_0x40009d;},'DLqkw':'lock_release_error','cqxmK':'Lock\x20release\x20error'};if(!this[_0x36b91b(0x1ac)]||!_0xd5a742)return!![];try{const _0x5224d6=redisClient['getClient']();if(_0xd5a742[_0x36b91b(0x194)](_0x36b91b(0x18e))){await _0x5224d6[_0x36b91b(0x174)](_0xd5a742);const _0x8e1ee2=_0xd5a742['substring'](0x0,_0xd5a742[_0x36b91b(0x1b2)](':')),_0x2778c9=await _0x5224d6[_0x36b91b(0x16d)](_0x8e1ee2);return _0x2778c9&&_0x67884f[_0x36b91b(0x16a)](parseInt,_0x2778c9)>0x0&&await _0x5224d6[_0x36b91b(0x171)](_0x8e1ee2),logger['debug']({'event':_0x67884f['UeRvW'],'key':_0xd5a742},_0x36b91b(0x18f)),!![];}const _0x41e7ae='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x5937e1=await _0x5224d6[_0x36b91b(0x1a2)](_0x41e7ae,0x1,_0xd5a742,_0x4b71cf);if(_0x67884f['QfATp'](_0x5937e1,0x1))return logger[_0x36b91b(0x165)]({'event':_0x36b91b(0x17c),'key':_0xd5a742},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x36b91b(0x1b5),'key':_0xd5a742},_0x36b91b(0x17a)),![];}catch(_0x1ac6e5){return logger['error']({'event':_0x67884f[_0x36b91b(0x1ad)],'key':_0xd5a742,'error':_0x1ac6e5['message']},_0x67884f['cqxmK']),![];}}async[a0_0x4b7b72(0x160)](_0x2f6710,_0x44b7a2,_0x2fbdc6=null){const _0x14b38a=a0_0x4b7b72,_0x274fd0={'ViPPM':function(_0x1bf887,_0x521696){return _0x1bf887===_0x521696;}};if(!this['enabled']||!_0x2f6710)return!![];try{const _0x27777b=redisClient[_0x14b38a(0x1aa)](),_0x567163=_0x14b38a(0x18a),_0xbdfc89=await _0x27777b['eval'](_0x567163,0x1,_0x2f6710,_0x44b7a2,_0x2fbdc6||this['defaultTTL']);if(_0x274fd0['ViPPM'](_0xbdfc89,0x1))return logger['debug']({'event':'lock_extended','key':_0x2f6710,'ttl':_0x2fbdc6||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x35d0e6){return logger['error']({'event':_0x14b38a(0x1b1),'key':_0x2f6710,'error':_0x35d0e6[_0x14b38a(0x1b0)]},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x1792f7=a0_0x4b7b72;return this[_0x1792f7(0x1ac)];}['sleep'](_0x1402fc){return new Promise(_0xc77edd=>setTimeout(_0xc77edd,_0x1402fc));}async['getLockInfo'](_0x29bb3d){const _0x50fe90=a0_0x4b7b72,_0x164e10={'VLnMB':'write','ZkSZV':_0x50fe90(0x16b),'fHXeE':function(_0x38b1b3,_0x1bc3dd){return _0x38b1b3(_0x1bc3dd);}};if(!this[_0x50fe90(0x1ac)])return{'enabled':![]};try{const _0x1a89d9=redisClient[_0x50fe90(0x1aa)](),_0x3ffb41=this['buildLockKey']({..._0x29bb3d,'lockType':_0x164e10[_0x50fe90(0x175)]}),_0xb50193=this['buildLockKey']({..._0x29bb3d,'lockType':_0x164e10['ZkSZV']}),[_0x1101d6,_0x4b0d3a]=await Promise[_0x50fe90(0x172)]([_0x1a89d9['get'](_0x3ffb41),_0x1a89d9['get'](_0xb50193)]);return{'enabled':!![],'writeLock':_0x1101d6||null,'readCount':_0x164e10['fHXeE'](parseInt,_0x4b0d3a)||0x0,'writeKey':_0x3ffb41,'readKey':_0xb50193};}catch(_0xb47cb3){return{'enabled':!![],'error':_0xb47cb3['message']};}}}function a0_0x488d(){const _0x1b309f=['vKXUtui','zxjYB3i','lI9SB2DNzxi','Evb0qwK','CMv0CNLezwXHEq','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','EunXCeS','te9ds19esvnuuKLcvvrfrf9srvrswq','te9ds19esvnuuKLcvvrfrf9ftKfcteve','D3jPDgvFBg9JA19Hy3f1AxjLza','ywnXDwLYzvDYAxrLtg9JAW','DKXtzeO','odmWnty4ALDcwMnf','lcbZDhjHDgvNEtOG','C2XLzxa','Cg93','BM93','x3DVCMTLCKLK','ywnXDwLYzvjLywrmB2nR','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CgLK','zw52','s1vfwhi','oNjLywq6','uKvbrcbSB2nRihjLBgvHC2vK','wu5uAxK','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgu','q2TvwgK','Aw5JBhvKzxm','C2v0','CMv0CNK','x2LUAxrPywXPEMvK','ChjLzML4','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJi0ndmWu2DbuNLM','CMvHzf9SB2nRx3DHAxrPBMC','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','CMvHzf9SB2nRx3jLBgvHC2vK','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','D29YA2vYswq','D3jPDgvFBg9JA19YzwPLy3rLza','v1jjveuGBg9JAYbLCNjVCG','zxzHBa','x2rLzMf1BhruveW','CMvHzf9SB2nRx3rPBwvVDxq','suDmuum','AgjxyLq','mJq4ody3mLDrs0HcAq','EKDfwKu','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','z2v0q2XPzw50','Dhj1zq','zw5HyMXLza','reXXA3C','DxvPza','mtiZodu4n25KvwvSsq','BwvZC2fNzq','Bg9JA19LEhrLBMrFzxjYB3i','BgfZDeLUzgv4t2y','x2vUC3vYzuLUAxrPywXPEMvK','x3n0CMf0zwD5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','uxvHwgK','Bfnqwfq','zxH0zw5Ktg9JAW','zgvMyxvSDfruta','C3rYyxrLz3K','mJyWntu1z0LOsurR','x2vUywjSzwq','zgvIDwC','B2Xprwi','ndi3mtK3AgLxwNLu','Bg9JA19JB25MAwDFAw5PDa','mKjwCuLXwq','tg5QqM0','CMvHza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','z2v0','Aw5JCG','CMv0CNLdB3vUDa','nZe1nZKYvMXJvgXj','zgvJCG','ywXS','x3bYzwzPEa','zgvS'];a0_0x488d=function(){return _0x1b309f;};return a0_0x488d();}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x3a0fef=a0_0x10b9;(function(_0x172ac4,_0x27ef14){const _0x118e94=a0_0x10b9,_0x31d9a5=_0x172ac4();while(!![]){try{const _0x1bf160=parseInt(_0x118e94(0x1ee))/0x1*(-parseInt(_0x118e94(0x1ad))/0x2)+-parseInt(_0x118e94(0x161))/0x3+parseInt(_0x118e94(0x1b6))/0x4+parseInt(_0x118e94(0x1c6))/0x5+parseInt(_0x118e94(0x20e))/0x6+parseInt(_0x118e94(0x1ae))/0x7*(-parseInt(_0x118e94(0x158))/0x8)+parseInt(_0x118e94(0x1bc))/0x9;if(_0x1bf160===_0x27ef14)break;else _0x31d9a5['push'](_0x31d9a5['shift']());}catch(_0x508c53){_0x31d9a5['push'](_0x31d9a5['shift']());}}}(a0_0x2356,0xb2a04));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a0fef(0x1d5));function a0_0x10b9(_0x25111b,_0x1d0469){_0x25111b=_0x25111b-0x150;const _0x235617=a0_0x2356();let _0x10b9eb=_0x235617[_0x25111b];if(a0_0x10b9['YpSAUC']===undefined){var _0x5f3a08=function(_0x34480b){const _0x75552f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x89c117='',_0x20b3af='';for(let _0x4ae069=0x0,_0x1cf575,_0x58ea75,_0x3133b1=0x0;_0x58ea75=_0x34480b['charAt'](_0x3133b1++);~_0x58ea75&&(_0x1cf575=_0x4ae069%0x4?_0x1cf575*0x40+_0x58ea75:_0x58ea75,_0x4ae069++%0x4)?_0x89c117+=String['fromCharCode'](0xff&_0x1cf575>>(-0x2*_0x4ae069&0x6)):0x0){_0x58ea75=_0x75552f['indexOf'](_0x58ea75);}for(let _0x8d3836=0x0,_0x28a0dc=_0x89c117['length'];_0x8d3836<_0x28a0dc;_0x8d3836++){_0x20b3af+='%'+('00'+_0x89c117['charCodeAt'](_0x8d3836)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20b3af);};a0_0x10b9['sZgghd']=_0x5f3a08,a0_0x10b9['AwocPX']={},a0_0x10b9['YpSAUC']=!![];}const _0x8d7fee=_0x235617[0x0],_0x5e4d14=_0x25111b+_0x8d7fee,_0x323b85=a0_0x10b9['AwocPX'][_0x5e4d14];return!_0x323b85?(_0x10b9eb=a0_0x10b9['sZgghd'](_0x10b9eb),a0_0x10b9['AwocPX'][_0x5e4d14]=_0x10b9eb):_0x10b9eb=_0x323b85,_0x10b9eb;}function a0_0x2356(){const _0x11594b=['qLDVs1u','AvbLAei','BMfTzq','ms4WlJu','CMvZDgzVCMDL','Dg9mB3DLCKnHC2u','qwTdwxO','te9hx0rjuG','vvbeqvrf','uhjeBKi','C3rHDhvZq29Kzq','CMvWzwf0','zMfSC2u','BxmP','DxnLCG','yxbPs2v5','y29UBMvJDgLVBG','C3rYAw5N','CgfZC3DK','z25ku3G','Bwv0Ag9K','zMXVB3i','Dg9Rzw4','y2HPBgq','zgv2zwXVCg1LBNq','s1Lfr2C','C29Tzq','CgfYyw1Z','DxjS','Dg9vChbLCKnHC2u','DhHYrfu','u1fmx0Xpr19mrvzfta','zhvYyxrPB25nCW','reiGuxvLCNK','sLz6uum','zxHWB3j0CW','CgfKrw5K','zw52','rMrNDeq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','su5trvju','AxnVvgLTzq','AvHHtuy','AgvHBhrOq2HLy2S','Bg5JDK8','zKn0vw0','uMj2uNy','C3fSx3f1zxj5','zgvIDwC','B3rW','Dfzpz3y','zxjYB3iUBg9N','yM9KEq','y3jLyxrLv3jPDgvtDhjLyw0','zgjFCxvLCNK','C3bSAxq','BgvUz3rO','w1jfrefdveveoNrVA2vUxq','tMDgtxy','rejFueftu1DpuKq','u1fmx0Xpr19qqvjbtvm','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','C3rHDhvZ','CgLUBY1WCMv0DhK','zMXbz0O','zgf0ywjHC2u','BwfW','mJG0mta3ofn1EgvMyG','mtaYnZK5owruz2foBW','CxvLCNK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChjVy2vZC193yxjUAw5N','Ec1Yzxf1zxn0lwLK','CMvTB3rLqwrKCMvZCW','zMf0ywW','vhjHBNnHy3rPB24G','mJeWmtaWogn2r0ritG','zgvMyxvSDa','w1jfrefdvevexq','w09lxsbqCM9Qzwn0igXVywrLzdOG','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','vfjbtLnbq1rjt05FqKvhsu4','mJCZmZC4mdzrrNDjC3q','AgvHzgvYCW','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','CMvZB2X2zq','DLnVEwC','BMvlvxy','Ahr0Cf9Yzxf1zxn0','Aw5MBW','u1fmx0Xpr19ftKfcteve','y29Kzq','mteYnZaWmgn4zxfjBW','AvzhAvO','yxbPx2TLEq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ANnVBG','y29UzMLNrMLSzq','wfPtzKy','qKvhsu4','z2v0sgvHzgvYCW','ChjVAMvJDa','tgzHsNC','q29VquC','revmrvrf','rermx0nsrufurq','y3jLzgL0x2nHCMq','Cgf0Aa','z2v0','rermx0rst1a','AM9PBG','B2jQzwn0','rermx0fmvevs','yxv0Ag9YAxPHDgLVBG','DhjPBq','C3nU','DgvZDa','ChDK','y3jLzgL0y2fYza','reLHAxC','rKfuquW6ia','zw5KCg9PBNrFCMvNAxn0zxjLza','zgf0ywjHC2vFy29UzMLN','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','yxbPx3nLy3jLDa','ENPXs2K','yxbWlMXVzW','shr3v2G','zxjYB3i','zM5gEKG','Dw5JyxvNAhrfEgnLChrPB24','mwDwzMzHEG','ChjVzhvJDgLVBG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','vfjbtLnbq1rjt05Fq09ntuLu','yMfZzvvYBa','uvziBMS','icbjBMzVoIaGia','CMvWBgfJzq','uhjVy2vZCYbxyxjUAw5NoIa','CgfZC3DVCMq','rhbmBKO','Dg9gAxHLza','B211wwu','te9hx0XfvKvm','txngr2K','C2vYDMLJzuLUzM8','DxnLCI1Hz2vUDa','C3rHCNrZv2L0Aa','Dw5RBM93BG','C2vJCMv0','rgvMyxvSDa','tuzpyKO','uwLht3C','D2fYBG','vufpwuK','q1jfqvrf','Bwf0y2G','rwvJuxm','vfjbtLnbq1rjt05FuK9mtejbq0S','ywnJzxnZx3rVA2vU','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwvZC2fNzq','mtq5oti4mezTwMLyvq','u0vsvKLdrv9oqu1f','Dhj1zq','C3rHy2S','rgf0ywjHC2u6ia','rfjpua','icbizwfSDgG6ia','Ahj0Aw1L','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','ntzRzNzkAxq','BwTKAxjtEw5J','D1PyDue','C3rKu2vYAwfSAxPLCNm','sMnyCNm','s1vdtee','Dg9ju09tDhjPBMC','quXurvi','uvvyB1y','mJu3mZyYoeD1we5ktW','zNzwyue','Cg9YDa','CgLU','iokvKqRILzeGienVBMzPzYaGicaGidOG','Aw5JBhvKzxm','vwLPy04','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK'];a0_0x2356=function(){return _0x11594b;};return a0_0x2356();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x3a0fef(0x1ef),logLevel=process[a0_0x3a0fef(0x18e)][a0_0x3a0fef(0x1fb)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3a0fef(0x1a9),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a0fef(0x16d),'version':process['env']['APP_VERSION']||a0_0x3a0fef(0x16c),'env':process[a0_0x3a0fef(0x18e)]['NODE_ENV']||a0_0x3a0fef(0x181)},'timestamp':pino['stdTimeFunctions'][a0_0x3a0fef(0x192)],'redact':{'paths':['req.headers.authorization',a0_0x3a0fef(0x190),a0_0x3a0fef(0x1f7),a0_0x3a0fef(0x17f),a0_0x3a0fef(0x178),a0_0x3a0fef(0x1a4),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x50d7b6=>({'id':_0x50d7b6['id'],'method':_0x50d7b6['method'],'url':_0x50d7b6[a0_0x3a0fef(0x185)],'path':_0x50d7b6['path'],'remoteAddress':_0x50d7b6['ip']||_0x50d7b6[a0_0x3a0fef(0x179)]?.['remoteAddress']}),'res':_0x17d9f3=>({'statusCode':_0x17d9f3['statusCode'],'headers':_0x17d9f3[a0_0x3a0fef(0x1ce)]?.()}),'err':pino[a0_0x3a0fef(0x15b)]['err']}});function initFileLogging(){const _0x97beb2=a0_0x3a0fef,_0x3deae2={'RsaqA':_0x97beb2(0x151),'HSrAB':function(_0xc663f6,_0x5c15b3){return _0xc663f6===_0x5c15b3;},'rQJkQ':function(_0x125b47,_0x39f64b){return _0x125b47!==_0x39f64b;},'QeDGZ':_0x97beb2(0x175),'OhpPD':_0x97beb2(0x1e9),'rJDBd':_0x97beb2(0x19c),'PuuEF':function(_0x2b90af,_0x849e3d,_0x1249a1){return _0x2b90af(_0x849e3d,_0x1249a1);},'JVzQC':'info'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x3deae2['RsaqA'];const _0x2c66cc=process[_0x97beb2(0x18e)][_0x97beb2(0x1b0)]||_0x97beb2(0x1b7);logDir=process['env'][_0x97beb2(0x170)]||'./logs/'+_0x2c66cc,serviceName=process[_0x97beb2(0x18e)][_0x97beb2(0x150)]||'restforge',sqlLogEnabled=_0x3deae2['HSrAB'](process['env'][_0x97beb2(0x1c4)],_0x3deae2['RsaqA']),sqlLogLevel=process[_0x97beb2(0x18e)][_0x97beb2(0x188)]||_0x97beb2(0x199),sqlLogParams=_0x3deae2['rQJkQ'](process[_0x97beb2(0x18e)][_0x97beb2(0x1a5)],_0x3deae2['QeDGZ']),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x262ed7=path[_0x97beb2(0x1bf)](process['cwd'](),logDir);try{!fs['existsSync'](_0x262ed7)&&fs[_0x97beb2(0x159)](_0x262ed7,{'recursive':!![]});}catch(_0x32c6a0){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x262ed7+':',_0x32c6a0['message']),fileLoggingInitialized=!![];return;}const _0x3ebaa5=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['OhpPD']),_0x3b81da=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['rJDBd']);try{appLogStream=fs[_0x97beb2(0x19e)](_0x3ebaa5,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x3b81da,{'flags':'a'}),fileLoggingInitialized=!![];const _0x23c66f={'event':'file_logging_enabled','logDir':_0x262ed7,'files':['app.log','error.log']},_0x40222e='File\x20logging\x20enabled:\x20'+_0x262ed7;logger[_0x97beb2(0x1c3)](_0x23c66f,_0x40222e),_0x3deae2['PuuEF'](writeToFileLog,{..._0x23c66f,'level':_0x3deae2[_0x97beb2(0x18b)],'msg':_0x40222e,'time':new Date()[_0x97beb2(0x15e)]()},'info');}catch(_0x1aebb1){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x1aebb1[_0x97beb2(0x20d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x331285,_0x80db45){const _0x334b68=a0_0x3a0fef,_0x4f208e={'XZSfF':function(_0x23aae2,_0x41a27e){return _0x23aae2||_0x41a27e;}};if(_0x4f208e[_0x334b68(0x1cc)](!logToFile,!appLogStream))return;const _0x9f8a14={'service':serviceName,..._0x331285},_0x116360=JSON['stringify'](_0x9f8a14)+'\x0a';appLogStream['write'](_0x116360),(_0x80db45===_0x334b68(0x1eb)||_0x80db45===_0x334b68(0x1b4))&&(errorLogStream&&errorLogStream['write'](_0x116360));}const createRequestLogger=(_0x32b3a5={})=>{const _0x3e9be6=a0_0x3a0fef;return logger[_0x3e9be6(0x180)](_0x32b3a5);},logServerStart=_0xf79349=>{const _0x2a901d=a0_0x3a0fef,_0x4e79f8={'Mqval':function(_0x58df61,_0x46ef72){return _0x58df61-_0x46ef72;},'cUDHS':function(_0x39c42a,_0x1ac39f){return _0x39c42a/_0x1ac39f;},'oXELS':'Node.js','wZXuA':_0x2a901d(0x202),'lVxhh':'ACTIVE','sPeGr':'NOT\x20ACTIVE','LjMHj':'server_starting','lWnwM':function(_0x445a8f,_0x332239,_0x277b04){return _0x445a8f(_0x332239,_0x277b04);},'FcQFP':'info'},_0x46129d=_0x2a901d(0x1be),_0x1add54=Math['max'](0x0,_0x4e79f8['Mqval'](0x37,_0x46129d[_0x2a901d(0x1a1)])),_0xc6cf6a=Math[_0x2a901d(0x17e)](_0x4e79f8['cUDHS'](_0x1add54,0x2)),_0x3ea1d9=_0x1add54-_0xc6cf6a,_0x5b5f7f='║'+'\x20'['repeat'](_0xc6cf6a)+_0x46129d+'\x20'[_0x2a901d(0x174)](_0x3ea1d9)+'║',_0x231dc6=_0x2a901d(0x1c9)+_0x5b5f7f+_0x2a901d(0x1a6)+(_0xf79349['environment']||_0x4e79f8['oXELS'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1f0)+(_0xf79349['project']||'N/A')[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0xf79349[_0x2a901d(0x163)]||0xbb8)[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x165)+(_0xf79349[_0x2a901d(0x1cb)]||_0x4e79f8[_0x2a901d(0x15a)])[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0xf79349[_0x2a901d(0x178)]?_0x4e79f8['lVxhh']:_0x4e79f8['sPeGr'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1ba);console['log'](_0x231dc6);const _0xc73145={'event':_0x4e79f8['LjMHj'],'project':_0xf79349[_0x2a901d(0x1cf)],'port':_0xf79349['port'],'config':_0xf79349['configFile'],'apiKeyEnabled':!!_0xf79349['apiKey']};logger['info'](_0xc73145),_0x4e79f8['lWnwM'](writeToFileLog,{..._0xc73145,'level':_0x4e79f8['FcQFP'],'msg':'Server\x20starting:\x20'+_0xf79349['project']+'\x20on\x20port\x20'+_0xf79349[_0x2a901d(0x163)],'time':new Date()[_0x2a901d(0x15e)]()},_0x2a901d(0x1c3));},logServerReady=_0x3546e0=>{const _0x13f976=a0_0x3a0fef,_0x23ccbe={'GPkbL':'server_ready','vSoyg':'info'},_0x558477={'event':_0x23ccbe['GPkbL'],'port':_0x3546e0[_0x13f976(0x163)],'module':_0x3546e0['module'],'healthCheck':_0x3546e0['healthCheck'],'serviceInfo':_0x3546e0[_0x13f976(0x1fd)],'baseUrl':_0x3546e0[_0x13f976(0x1f2)]},_0xfbc438='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x3546e0[_0x13f976(0x163)];logger[_0x13f976(0x1c3)](_0x558477,_0xfbc438),writeToFileLog({..._0x558477,'level':_0x23ccbe[_0x13f976(0x1c0)],'msg':_0xfbc438,'time':new Date()[_0x13f976(0x15e)]()},_0x23ccbe['vSoyg']),_0x3546e0[_0x13f976(0x194)]&&logger['info'](_0x13f976(0x155)+_0x3546e0[_0x13f976(0x194)]),_0x3546e0[_0x13f976(0x1fd)]&&logger['info'](_0x13f976(0x1f4)+_0x3546e0[_0x13f976(0x1fd)]),_0x3546e0[_0x13f976(0x1f2)]&&logger[_0x13f976(0x1c3)]('\x20\x20URL:\x20\x20\x20\x20'+_0x3546e0['baseUrl']);},logProjectLoaded=(_0x216b6a,_0x547d6a)=>{const _0x220f7a=a0_0x3a0fef,_0xd4caaa={'event':_0x220f7a(0x1e6),'project':_0x216b6a,'path':_0x547d6a},_0x562415=_0x220f7a(0x1b9)+_0x216b6a;logger[_0x220f7a(0x1c3)](_0xd4caaa,_0x562415),writeToFileLog({..._0xd4caaa,'level':_0x220f7a(0x1c3),'msg':_0x562415,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x5ef44b,_0x4514d5)=>{const _0x10a007=a0_0x3a0fef,_0x3ce4ae={'UiicN':function(_0x31bac5,_0x58ad9b,_0x1e522b){return _0x31bac5(_0x58ad9b,_0x1e522b);},'tVOgv':_0x10a007(0x199)},_0x553326={'event':_0x10a007(0x1e3),'endpoint':_0x5ef44b,'route':_0x4514d5},_0x5d4b9a='\x20\x20→\x20'+_0x5ef44b+':\x20'+_0x4514d5;logger[_0x10a007(0x199)](_0x553326,_0x5d4b9a),_0x3ce4ae[_0x10a007(0x167)](writeToFileLog,{..._0x553326,'level':_0x10a007(0x199),'msg':_0x5d4b9a,'time':new Date()[_0x10a007(0x15e)]()},_0x3ce4ae[_0x10a007(0x19b)]);},logDatabaseConfig=_0x370299=>{const _0x4c609c=a0_0x3a0fef,_0x201d80={'CooAG':_0x4c609c(0x199)},_0x307aa5={'event':_0x4c609c(0x1e4),'host':_0x370299[_0x4c609c(0x1e5)],'port':_0x370299['port'],'database':_0x370299['database'],'type':_0x370299['type'],'user':_0x370299[_0x4c609c(0x177)]},_0x46a235=_0x4c609c(0x153)+_0x370299['type']+'://'+_0x370299[_0x4c609c(0x1e5)]+':'+_0x370299[_0x4c609c(0x163)]+'/'+_0x370299[_0x4c609c(0x1ab)];logger['debug'](_0x307aa5,_0x46a235),writeToFileLog({..._0x307aa5,'level':_0x201d80['CooAG'],'msg':_0x46a235,'time':new Date()['toISOString']()},_0x201d80[_0x4c609c(0x1d1)]);},logRequest=(_0x4ca6fd,_0x475933,_0x1da2f1)=>{const _0xd68eef=a0_0x3a0fef,_0x1fae99={'QVHnk':_0xd68eef(0x1c2),'lncvO':_0xd68eef(0x1c3),'MsFGi':function(_0xaa0613,_0x2bceb7){return _0xaa0613>=_0x2bceb7;},'EecQs':'error','DpLnJ':function(_0x173457,_0x18c3f6){return _0x173457>=_0x18c3f6;},'QybbD':'warn'},_0x5a13d0={'event':_0x1fae99[_0xd68eef(0x1f3)],'method':_0x4ca6fd[_0xd68eef(0x17d)],'path':_0x4ca6fd['path'],'statusCode':_0x475933['statusCode'],'durationMs':_0x1da2f1,'ip':_0x4ca6fd['ip']},_0x29c3d0=_0x4ca6fd['method']+'\x20'+_0x4ca6fd[_0xd68eef(0x1d5)]+'\x20-\x20'+_0x475933[_0xd68eef(0x173)]+'\x20('+_0x1da2f1+'ms)';let _0x1a1e1a=_0x1fae99[_0xd68eef(0x195)];if(_0x1fae99[_0xd68eef(0x1fc)](_0x475933[_0xd68eef(0x173)],0x1f4))_0x1a1e1a=_0x1fae99[_0xd68eef(0x209)],logger['error'](_0x5a13d0,_0x29c3d0);else _0x1fae99[_0xd68eef(0x1f8)](_0x475933['statusCode'],0x190)?(_0x1a1e1a=_0x1fae99['QybbD'],logger[_0xd68eef(0x205)](_0x5a13d0,_0x29c3d0)):logger['info'](_0x5a13d0,_0x29c3d0);writeToFileLog({..._0x5a13d0,'level':_0x1a1e1a,'msg':_0x29c3d0,'time':new Date()['toISOString']()},_0x1a1e1a);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x3a0fef(0x1df),'token',a0_0x3a0fef(0x20b),'refresh_token',a0_0x3a0fef(0x201),a0_0x3a0fef(0x1e7),a0_0x3a0fef(0x1a7),a0_0x3a0fef(0x1c8),'credential','credentials','pin',a0_0x3a0fef(0x19a),'private_key','privatekey'],redactSensitiveParams=(_0x996b3a,_0x13ffee)=>{const _0x5779b4=a0_0x3a0fef,_0x5f1046={'YQONS':'[REDACTED]','iPehB':_0x5779b4(0x17a),'fmoXN':_0x5779b4(0x1a2),'afuXA':'[REDACTED:hash]','VoitX':function(_0x2143b5,_0x935a18){return _0x2143b5===_0x935a18;}};if(!_0x996b3a||_0x5f1046['VoitX'](_0x996b3a['length'],0x0))return _0x996b3a;const _0xe138db=_0x13ffee[_0x5779b4(0x16e)](),_0xce3bd6=_0xe138db[_0x5779b4(0x208)](/\(([^)]+)\)\s*values/i);let _0xbbd62c=[];_0xce3bd6&&(_0xbbd62c=_0xce3bd6[0x1][_0x5779b4(0x1a0)](',')[_0x5779b4(0x1ac)](_0x176440=>_0x176440[_0x5779b4(0x1dc)]()['toLowerCase']()));const _0x50ac23=_0xe138db[_0x5779b4(0x208)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x50ac23){const _0x530587=_0x50ac23[0x1],_0x612543=_0x530587[_0x5779b4(0x208)](/(\w+)\s*=/g);_0x612543&&(_0xbbd62c=_0x612543['map'](_0xfceae4=>_0xfceae4[_0x5779b4(0x1f5)](/\s*=/,'')['trim']()[_0x5779b4(0x16e)]()));}return _0x996b3a[_0x5779b4(0x1ac)]((_0x169045,_0xfe4d7a)=>{const _0x2df46a=_0x5779b4;if(_0xbbd62c[_0xfe4d7a]){const _0xe26b34=_0xbbd62c[_0xfe4d7a],_0x409d02=SENSITIVE_PARAM_PATTERNS[_0x2df46a(0x183)](_0x54452e=>_0xe26b34['includes'](_0x54452e));if(_0x409d02)return _0x5f1046['YQONS'];}if(typeof _0x169045===_0x5f1046[_0x2df46a(0x16a)]&&_0x169045[_0x2df46a(0x1a1)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2df46a(0x1de)](_0x169045)&&_0x169045[_0x2df46a(0x166)]('.'))return _0x5f1046['fmoXN'];if(/^[a-fA-F0-9]{32,}$/[_0x2df46a(0x1de)](_0x169045))return _0x5f1046['afuXA'];}return _0x169045;});},parseQueryMetadata=_0x267f97=>{const _0xa36976=a0_0x3a0fef,_0x5b4ba5={'QUXoV':'SELECT','gQDTT':'INSERT','MFObJ':_0xa36976(0x171),'jjFFH':'DELETE','KYEGg':_0xa36976(0x1cd),'SSrBe':'START\x20TRANSACTION','KUCLA':_0xa36976(0x1bb),'ADqTZ':_0xa36976(0x1f1),'sgSOb':_0xa36976(0x207),'flAgJ':_0xa36976(0x15f),'gjRTY':_0xa36976(0x1da),'dfFFH':_0xa36976(0x154)},_0x3303a2=_0x267f97['trim'](),_0xcdc83c=_0x3303a2[_0xa36976(0x186)]();let _0x4008f9='UNKNOWN',_0x1f41ee=null;if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x160)])){_0x4008f9=_0x5b4ba5[_0xa36976(0x160)];const _0x5b1028=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x5b1028?_0x5b1028[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5['gQDTT'])){_0x4008f9=_0xa36976(0x191);const _0x1b2866=_0x3303a2['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x1b2866?_0x1b2866[0x1]:null;}else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['MFObJ'])){_0x4008f9=_0x5b4ba5[_0xa36976(0x203)];const _0x54aacd=_0x3303a2['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x54aacd?_0x54aacd[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0xa36976(0x1d2))){_0x4008f9=_0x5b4ba5['jjFFH'];const _0x59496=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x59496?_0x59496[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5[_0xa36976(0x182)])||_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['SSrBe']))_0x4008f9=_0x5b4ba5[_0xa36976(0x15d)];else{if(_0xcdc83c[_0xa36976(0x1ff)]('COMMIT'))_0x4008f9=_0x5b4ba5['ADqTZ'];else{if(_0xcdc83c[_0xa36976(0x1ff)]('ROLLBACK'))_0x4008f9=_0xa36976(0x20a);else{if(_0xcdc83c['startsWith'](_0x5b4ba5['sgSOb']))_0x4008f9=_0xa36976(0x1d3);else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x1aa)]))_0x4008f9=_0x5b4ba5['gjRTY'];else _0xcdc83c['startsWith'](_0x5b4ba5['dfFFH'])&&(_0x4008f9=_0xa36976(0x1d7));}}}}}}}}return{'type':_0x4008f9,'table':_0x1f41ee};},startQueryTimer=()=>{const _0x5b0c23={'URMCb':function(_0x1ae3fb,_0x168813){return _0x1ae3fb(_0x168813);},'txrDU':function(_0x483f27,_0x94f7bd){return _0x483f27+_0x94f7bd;},'uMfWQ':function(_0x171be3,_0x2d9127){return _0x171be3*_0x2d9127;}},_0x202550=process['hrtime']();return()=>{const _0x5ce7cc=a0_0x10b9,[_0x3fa842,_0x5966f5]=process[_0x5ce7cc(0x156)](_0x202550);return _0x5b0c23['URMCb'](parseFloat,_0x5b0c23[_0x5ce7cc(0x187)](_0x5b0c23['uMfWQ'](_0x3fa842,0x3e8),_0x5966f5/0xf4240)[_0x5ce7cc(0x1f9)](0x2));};},logQuery=(_0x38e722,_0x28f708=[],_0x16874d={})=>{const _0x4cc86d=a0_0x3a0fef,_0x4625d0={'SxuVu':function(_0xb56930,_0x9394a6){return _0xb56930>_0x9394a6;},'UAOYI':function(_0x35a6d2,_0x3471db,_0x58e4d2){return _0x35a6d2(_0x3471db,_0x58e4d2);},'HwXVB':function(_0x400976,_0x45b629){return _0x400976>_0x45b629;},'Mzhwr':_0x4cc86d(0x200),'NgFMv':function(_0xf440ff,_0x22b2be){return _0xf440ff!==_0x22b2be;},'xiUlP':_0x4cc86d(0x199),'BWoKU':'\x20[SLOW]','DjizH':'warn','neKUv':'info','FdgtD':function(_0x153d6a,_0x54df6c,_0x2175f1){return _0x153d6a(_0x54df6c,_0x2175f1);}};if(!sqlLogEnabled){logger['debug']({'event':_0x4cc86d(0x19f),'query':_0x38e722['substring'](0x0,0xc8),'paramCount':_0x28f708['length']},_0x4cc86d(0x18a));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x16874d,{type:_0xc60707,table:_0x947d5}=parseQueryMetadata(_0x38e722),_0xd55b17={'event':_0x4cc86d(0x198),'queryType':_0xc60707,'table':_0x947d5,'query':_0x38e722,'paramCount':_0x28f708[_0x4cc86d(0x1a1)],'dbType':dbType};sqlLogParams&&_0x4625d0['SxuVu'](_0x28f708[_0x4cc86d(0x1a1)],0x0)&&(_0xd55b17[_0x4cc86d(0x184)]=_0x4625d0[_0x4cc86d(0x206)](redactSensitiveParams,_0x28f708,_0x38e722));duration!==null&&(_0xd55b17[_0x4cc86d(0x189)]=duration,_0xd55b17['isSlow']=_0x4625d0['HwXVB'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0xd55b17['rowsAffected']=rowsAffected);const _0x52e328=_0x947d5||_0x4625d0['Mzhwr'];let _0x1de643='['+_0xc60707+']\x20'+_0x52e328;_0x4625d0[_0x4cc86d(0x1a3)](duration,null)&&(_0x1de643+='\x20('+duration+_0x4cc86d(0x176));const _0x5782da=duration!==null&&duration>sqlLogSlowThreshold;let _0x19af1a=_0x4625d0['xiUlP'];if(_0x5782da)_0x1de643+=_0x4625d0[_0x4cc86d(0x169)],_0x19af1a=_0x4625d0['DjizH'],logger['warn'](_0xd55b17,_0x1de643);else sqlLogLevel==='info'?(_0x19af1a=_0x4625d0[_0x4cc86d(0x1c1)],logger['info'](_0xd55b17,_0x1de643)):logger['debug'](_0xd55b17,_0x1de643);_0x4625d0[_0x4cc86d(0x18f)](writeToFileLog,{..._0xd55b17,'level':_0x19af1a,'msg':_0x1de643,'time':new Date()['toISOString']()},_0x19af1a);},logTransaction=(_0x205b58,_0x2a4d26)=>{const _0xb449c6=a0_0x3a0fef,_0x232cb0={'LuCIk':_0xb449c6(0x199)},_0x4adbc9={'event':'db_transaction','status':_0x205b58,'queryCount':_0x2a4d26},_0x4e3c32=_0xb449c6(0x1b5)+_0x205b58;logger['debug'](_0x4adbc9,_0x4e3c32),writeToFileLog({..._0x4adbc9,'level':'debug','msg':_0x4e3c32,'time':new Date()[_0xb449c6(0x15e)]()},_0x232cb0['LuCIk']);},redactObject=_0x388801=>{const _0x177007=a0_0x3a0fef,_0x21d38f={'LfaJw':_0x177007(0x1d9),'fnFzH':'pwd','HtwWh':_0x177007(0x201),'RbvRv':_0x177007(0x1c8),'gmWZl':_0x177007(0x1db),'uDyfW':_0x177007(0x1d4),'hApvL':_0x177007(0x1dd),'PrDnB':'privatekey','AkCYz':_0x177007(0x20b),'XKIZL':_0x177007(0x1b8),'iXaMF':function(_0xb137c1,_0x577ff6){return _0xb137c1===_0x577ff6;},'TLzVI':function(_0x350083,_0x3d197a){return _0x350083(_0x3d197a);}};if(!_0x388801||typeof _0x388801!==_0x21d38f[_0x177007(0x1d0)])return _0x388801;const _0x30653a=['password',_0x177007(0x17b),_0x21d38f[_0x177007(0x1ec)],'token',_0x21d38f[_0x177007(0x1ea)],'apikey',_0x21d38f[_0x177007(0x197)],_0x21d38f['gmWZl'],_0x177007(0x1e0),_0x21d38f['uDyfW'],'cvv',_0x21d38f['hApvL'],_0x177007(0x164),'private_key',_0x21d38f[_0x177007(0x172)],'refresh_token',_0x21d38f[_0x177007(0x16f)]],_0x4951f2=Array['isArray'](_0x388801)?[..._0x388801]:{..._0x388801};for(const _0x33c8e4 of Object['keys'](_0x4951f2)){const _0x93dce3=_0x33c8e4[_0x177007(0x16e)]();if(_0x30653a[_0x177007(0x183)](_0x256462=>_0x93dce3[_0x177007(0x166)](_0x256462)))_0x4951f2[_0x33c8e4]=_0x21d38f['XKIZL'];else _0x21d38f[_0x177007(0x193)](typeof _0x4951f2[_0x33c8e4],_0x21d38f['LfaJw'])&&_0x4951f2[_0x33c8e4]!==null&&(_0x4951f2[_0x33c8e4]=_0x21d38f['TLzVI'](redactObject,_0x4951f2[_0x33c8e4]));}return _0x4951f2;},logError=(_0x4675d3,_0x3f7858={},_0xab639=null)=>{const _0x3ae75e=a0_0x3a0fef,_0x5199c5={'fCtUm':_0x3ae75e(0x1eb),'fvVaA':function(_0x1df53c,_0x2448ec,_0x115545){return _0x1df53c(_0x2448ec,_0x115545);}},_0x366a00={'event':_0x5199c5[_0x3ae75e(0x196)],'errorName':_0x4675d3[_0x3ae75e(0x16b)]||'Error','errorMessage':_0x4675d3['message'],'errorCode':_0x4675d3['code']||null,'stack':_0x4675d3['stack'],..._0x3f7858},_0x22e266=_0xab639||'Error:\x20'+_0x4675d3['message'];logger[_0x3ae75e(0x1eb)](_0x366a00,_0x22e266),_0x5199c5[_0x3ae75e(0x162)](writeToFileLog,{..._0x366a00,'level':_0x5199c5[_0x3ae75e(0x196)],'msg':_0x22e266,'time':new Date()[_0x3ae75e(0x15e)]()},_0x5199c5[_0x3ae75e(0x196)]);},logFatalError=(_0x433cfb,_0x408443={},_0x28b8a3=null)=>{const _0x3850a2=a0_0x3a0fef,_0x438fea={'xcukj':'fatal_error','FCeIf':'Error','gnJSx':'CRITICAL','QiGOw':function(_0x4f6f4d,_0x6f72fb,_0x3ee5f7){return _0x4f6f4d(_0x6f72fb,_0x3ee5f7);},'nWkIw':'error'},_0x1651c1={'event':_0x438fea['xcukj'],'errorName':_0x433cfb['name']||_0x438fea['FCeIf'],'errorMessage':_0x433cfb['message'],'errorCode':_0x433cfb[_0x3850a2(0x1c5)]||null,'stack':_0x433cfb['stack'],'severity':_0x438fea[_0x3850a2(0x17c)],..._0x408443},_0x1adc42=_0x28b8a3||_0x3850a2(0x1e2)+_0x433cfb['message'];logger[_0x3850a2(0x1b4)](_0x1651c1,_0x1adc42),_0x438fea[_0x3850a2(0x204)](writeToFileLog,{..._0x1651c1,'level':_0x3850a2(0x1b4),'msg':_0x1adc42,'time':new Date()[_0x3850a2(0x15e)]()},_0x438fea['nWkIw']);},logHttpError=(_0x1a208c,_0x12f956,_0x117aff={})=>{const _0xa6cde7=a0_0x3a0fef,_0x42b1f9={'zzqKi':'Error','sAHVg':_0xa6cde7(0x1b2),'QXYMw':function(_0x2dfbed,_0x17896c){return _0x2dfbed>=_0x17896c;},'PFlaQ':function(_0x158a43,_0x5a291a,_0xedad06){return _0x158a43(_0x5a291a,_0xedad06);}},_0x1d5d8a={'event':'http_error','errorName':_0x1a208c['name']||_0x42b1f9[_0xa6cde7(0x1e8)],'errorMessage':_0x1a208c[_0xa6cde7(0x20d)],'errorCode':_0x1a208c[_0xa6cde7(0x1c5)]||_0x1a208c[_0xa6cde7(0x173)]||0x1f4,'stack':_0x1a208c[_0xa6cde7(0x152)],'method':_0x12f956?.['method'],'url':_0x12f956?.[_0xa6cde7(0x185)]||_0x12f956?.['originalUrl'],'path':_0x12f956?.[_0xa6cde7(0x1d5)],'ip':_0x12f956?.['ip']||_0x12f956?.[_0xa6cde7(0x179)]?.[_0xa6cde7(0x1b3)],'userAgent':_0x12f956?.[_0xa6cde7(0x1d6)]?.(_0xa6cde7(0x1fe)),'requestId':_0x12f956?.['id']||_0x12f956?.[_0xa6cde7(0x1bd)]?.[_0x42b1f9['sAHVg']],'body':_0x12f956?.[_0xa6cde7(0x19d)]?redactObject(_0x12f956[_0xa6cde7(0x19d)]):undefined,'query':_0x12f956?.[_0xa6cde7(0x1af)],..._0x117aff},_0x23cdfc=_0x1a208c[_0xa6cde7(0x173)]||_0x1a208c[_0xa6cde7(0x1a8)]||0x1f4,_0x11db43='HTTP\x20'+_0x23cdfc+':\x20'+_0x1a208c['message'];_0x42b1f9['QXYMw'](_0x23cdfc,0x1f4)?logger[_0xa6cde7(0x1eb)](_0x1d5d8a,_0x11db43):logger['warn'](_0x1d5d8a,_0x11db43),_0x42b1f9['PFlaQ'](writeToFileLog,{..._0x1d5d8a,'level':_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205),'msg':_0x11db43,'time':new Date()['toISOString']()},_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205));},logUncaughtError=(_0x430c04,_0x13afd3)=>{const _0x4da763=a0_0x3a0fef,_0x3bae60={'KxnfS':'Error','cqhxE':function(_0x147115,_0x1d06d9,_0x444320){return _0x147115(_0x1d06d9,_0x444320);},'THjpv':_0x4da763(0x1b4),'NxTRt':_0x4da763(0x1eb)},_0x115e3c={'event':_0x430c04,'errorName':_0x13afd3?.[_0x4da763(0x16b)]||_0x3bae60['KxnfS'],'errorMessage':_0x13afd3?.['message']||String(_0x13afd3),'errorCode':_0x13afd3?.[_0x4da763(0x1c5)]||null,'stack':_0x13afd3?.['stack'],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x40d3cd='['+_0x430c04['toUpperCase']()+']\x20'+(_0x13afd3?.[_0x4da763(0x20d)]||_0x13afd3);logger[_0x4da763(0x1b4)](_0x115e3c,_0x40d3cd),_0x3bae60['cqhxE'](writeToFileLog,{..._0x115e3c,'level':_0x3bae60['THjpv'],'msg':_0x40d3cd,'time':new Date()[_0x4da763(0x15e)]()},_0x3bae60['NxTRt']);},setupGlobalErrorHandlers=()=>{const _0x21d9f6=a0_0x3a0fef,_0x4385e6={'iVGiZ':function(_0x596187,_0x490594,_0x25bc8c){return _0x596187(_0x490594,_0x25bc8c);},'JcXrs':function(_0x2b4e98,_0x176f78){return _0x2b4e98 instanceof _0x176f78;},'fzUjA':_0x21d9f6(0x1ed),'PECrR':'warning','FxnMq':_0x21d9f6(0x168),'omuYe':function(_0x22fd39,_0x484dc1,_0x41efcd){return _0x22fd39(_0x484dc1,_0x41efcd);},'DIaiw':_0x21d9f6(0x1c3)};process['on'](_0x4385e6['fzUjA'],_0x2dac1a=>{const _0x1a6992=_0x21d9f6;_0x4385e6[_0x1a6992(0x1c7)](logUncaughtError,'uncaughtException',_0x2dac1a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x21d9f6(0x20c),(_0x45ee09,_0x55010a)=>{const _0x3e37c4=_0x21d9f6,_0x5ea07e=_0x4385e6[_0x3e37c4(0x15c)](_0x45ee09,Error)?_0x45ee09:new Error(String(_0x45ee09));logUncaughtError('unhandledRejection',_0x5ea07e);}),process['on'](_0x4385e6['PECrR'],_0x3ceb63=>{const _0x21a271=_0x21d9f6;logger[_0x21a271(0x205)]({'event':_0x21a271(0x1b1),'name':_0x3ceb63['name'],'message':_0x3ceb63['message'],'stack':_0x3ceb63[_0x21a271(0x152)]},_0x21a271(0x1f6)+_0x3ceb63['message']);});const _0x1b4592={'event':_0x21d9f6(0x157)},_0x3bb842=_0x4385e6['FxnMq'];logger[_0x21d9f6(0x1c3)](_0x1b4592,_0x3bb842),_0x4385e6[_0x21d9f6(0x1fa)](writeToFileLog,{..._0x1b4592,'level':_0x4385e6[_0x21d9f6(0x1e1)],'msg':_0x3bb842,'time':new Date()['toISOString']()},_0x21d9f6(0x1c3));},createErrorHandlerMiddleware=()=>{return(_0x5f052a,_0x4529cb,_0x35b227,_0x15d653)=>{const _0x7c4d08=a0_0x10b9;logHttpError(_0x5f052a,_0x4529cb);const _0x9a88ef=_0x5f052a[_0x7c4d08(0x173)]||_0x5f052a[_0x7c4d08(0x1a8)]||0x1f4;_0x35b227['status'](_0x9a88ef)[_0x7c4d08(0x1ca)]({'success':![],'error':_0x9a88ef>=0x1f4?'Internal\x20server\x20error':_0x5f052a[_0x7c4d08(0x20d)],'requestId':_0x4529cb['id']||_0x4529cb['headers']?.[_0x7c4d08(0x1b2)]||null});};};module[a0_0x3a0fef(0x18c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ function a0_0x1d13(){const _0x7025de=['C3rHy2S','tK9erv9ftLy','Cgf0Aa','zgvIDwC','Bwv0Ag9K','zhvYyxrPB25nCW','reiGuxvLCNK','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','wgnhqwG','DNvHt0C','t1zIvgG','CgLK','ChjVAMvJDa','C29Tzq','AgjNsuC','Dg9Rzw4','D2fYBG','ChjPDMf0zwTLEq','Dhj1zq','wKrQrgi','mta2ntK2nLbzDfjqua','yNvWDwO','y29UzMLNrMLSzq','zgjFDhjHBNnHy3rPB24','wNzoA2O','mtqWnwDeC3fjDG','Dg9vChbLCKnHC2u','C3rHDhvZq29Kzq','yxbPs2v5','EfjNEhy','C3rYAw5N','zMf0ywW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','q2PzB2O','Dg9ju09tDhjPBMC','ndbfAxDquK8','A2Ptse4','Ec1Yzxf1zxn0lwLK','rxjYB3i6ia','ENHmrfO','yxv0Ag9YAxPHDgLVBG','zxjYB3i','ic0G','tM9Kzs5QCW','B2jQzwn0','sLDux1nfq1jfva','vfjbtLnbq1rjt05FuK9mtejbq0S','tgDuuui','zgjFCxvLCNK','txbYCgS','quXurvi','suTlzwO','C3rHDhvZ','tuPpEgS','r3nIELa','B3rW','A2v5CW','zw5KCg9PBNrFCMvNAxn0zxjLza','AxnVvgLTzq','C2vJCMv0','C3vIC3rYAw5N','Ahr0Cf9LCNjVCG','Ce1RAg0','CMvWzwf0','quztwMK','u2vYDMvYihn0yxj0Aw5NoIa','C2vYDMLJzuLUzM8','z2nXvKi','CgfKrw5K','w1jfrefdveveoMHHC2HD','Dg9gAxHLza','BwvTB3j5vxnHz2u','DxbOufK','AxntBg93','BwvZC2fNzq','mte5mda1nxfPtND3yW','nJC4ogrcwMTNza','C3rHCNrZv2L0Aa','Ahr0Cf9Yzxf1zxn0','y0TUsgK','w1jfrefdvevexq','AgvHzgvYCW','CgLU','DhLWzq','ig9UihbVCNqG','Bg9N','C2HZENm','DhjPBq','Cg9YDa','wK11D3O','s2vmExC','mti3mdG1otbPrw15Che','rermx0fmvevs','w1jfrefdveveoNrVA2vUxq','wejfA2W','C3rYAw5NAwz5','u1fmx0Xpr19qqvjbtvm','su5trvju','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','E21Zz30','C2vYDMvYx3n0yxj0Aw5N','y29Kzq','yxbPA2v5','mZq0mZqXBvDLwhf1','sfruuca','yxbPx2TLEq','zMfSC2u','CLLKExm','CMvZDgzVCMDL','Ahj0Aw1L','y3f1r3C','BxmP','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','yMfZzvvYBa','DxnLCG','BKLcqKC','AgvHBhrOq2HLy2S','DvrPB3O','uhjVy2vZCYbxyxjUAw5NoIa','CvnLCMy','Dg9mB3DLCKnHC2u','ChDK','tK5bELq','nJK2mtu5s3vMyKD5','rgf0ywjHC2u6ia','BwTKAxjtEw5J','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','iokvKqRILzeGienVBMzPzYaGicaGidOG','CgLUBY1WCMv0DhK','y2DoBvO','CgfYyw1Z','rxjYB3i','zgvMyxvSDa','AMj4vg4','y29UBMvJDgLVBG','zgf0ywjHC2u','y3jLyxrLv3jPDgvtDhjLyw0','uMn5rgi','C3rKvgLTzuz1BMn0Aw9UCW','zK56Cxe','wKTyAKW','Aw5MBW','icbizwfSDgG6ia','icbvuKW6icaGia','EuTIDhC','zw52','ChjPDMf0zv9RzxK','D3jPDgu','Aw5JBhvKzxm','re51qve','BgvUz3rO','rKDus2q','ywnJzxnZx3rVA2vU','u1fmx0Xpr19tte9xx1riuKvtse9mra','y3jLzgL0x2nHCMq','sw50zxjUywWGC2vYDMvYigvYCM9Y','sxbKq2G','zxHPC3rZu3LUyW','n0XfzxbfqG','BwfW','CgfZC3DVCMq','sxfzDNG','u3zVBK4','vvbeqvrf','rfjpua','oI8V','C3rKu2vYAwfSAxPLCNm','zgf0ywjHC2vFy29UzMLN','CgLUBW','vfjbtLnbq1rjt05Fq09ntuLu','q1jjveLdquW','u0vsvKLdrv9oqu1f','zxHPDa','Bwf0y2G','DxnLCI1Hz2vUDa','rwzPwg8','CMvWBgfJzq','rMDHDK8','q1jfqvrf','uhrKEem','Bw9KDwXL','BMfTzq','ueTyq3a','q09ntuLu','AM9PBG','nda3mda2vMrJzNjf','CKfotLm','DxjS'];a0_0x1d13=function(){return _0x7025de;};return a0_0x1d13();}const a0_0x1e29b7=a0_0x218a;(function(_0xe70e46,_0x16321d){const _0x1be491=a0_0x218a,_0x8f58c1=_0xe70e46();while(!![]){try{const _0x234ac1=parseInt(_0x1be491(0x181))/0x1+-parseInt(_0x1be491(0x1d4))/0x2+parseInt(_0x1be491(0x165))/0x3+parseInt(_0x1be491(0x166))/0x4*(parseInt(_0x1be491(0x1f1))/0x5)+-parseInt(_0x1be491(0x1ec))/0x6*(-parseInt(_0x1be491(0x1b9))/0x7)+-parseInt(_0x1be491(0x1fb))/0x8*(-parseInt(_0x1be491(0x196))/0x9)+-parseInt(_0x1be491(0x175))/0xa;if(_0x234ac1===_0x16321d)break;else _0x8f58c1['push'](_0x8f58c1['shift']());}catch(_0x5e811a){_0x8f58c1['push'](_0x8f58c1['shift']());}}}(a0_0x1d13,0x4b2e1));const pino=require(a0_0x1e29b7(0x1c3)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x1e29b7(0x186),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1e29b7(0x17d),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1e29b7(0x1d8)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1e29b7(0x19b),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1e29b7(0x1ac)]['APP_VERSION']||'1.0.5','env':process[a0_0x1e29b7(0x1ac)][a0_0x1e29b7(0x1d8)]||'development'},'timestamp':pino[a0_0x1e29b7(0x1a5)][a0_0x1e29b7(0x154)],'redact':{'paths':['req.headers.authorization',a0_0x1e29b7(0x1df),a0_0x1e29b7(0x1bb),a0_0x1e29b7(0x1e7),'apiKey','DB_PASSWORD',a0_0x1e29b7(0x205)],'censor':a0_0x1e29b7(0x16a)},'serializers':{'req':_0x356ec4=>({'id':_0x356ec4['id'],'method':_0x356ec4['method'],'url':_0x356ec4['url'],'path':_0x356ec4[a0_0x1e29b7(0x1d9)],'remoteAddress':_0x356ec4['ip']||_0x356ec4['connection']?.['remoteAddress']}),'res':_0x8cd47f=>({'statusCode':_0x8cd47f['statusCode'],'headers':_0x8cd47f['getHeaders']?.()}),'err':pino[a0_0x1e29b7(0x1c1)]['err']}});function initFileLogging(){const _0x70ee99=a0_0x1e29b7,_0x5c269b={'ORQMI':_0x70ee99(0x1ea),'pMkhm':_0x70ee99(0x19f),'xRgxv':'restforge','ACTAs':'debug','hbgIG':'app.log','kduLO':'file_logging_enabled','uTioz':'error.log'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x5c269b['ORQMI'];const _0x40dc93=process['env']['RESTFORGE_PROJECT_NAME']||_0x5c269b[_0x70ee99(0x158)];logDir=process['env']['LOG_DIR']||'./logs/'+_0x40dc93,serviceName=process['env'][_0x70ee99(0x1c6)]||_0x5c269b[_0x70ee99(0x1f5)],sqlLogEnabled=process[_0x70ee99(0x1ac)]['SQL_LOG_ENABLED']===_0x70ee99(0x1ea),sqlLogLevel=process[_0x70ee99(0x1ac)]['SQL_LOG_LEVEL']||_0x5c269b['ACTAs'],sqlLogParams=process[_0x70ee99(0x1ac)][_0x70ee99(0x17a)]!==_0x70ee99(0x184),sqlLogSlowThreshold=parseInt(process[_0x70ee99(0x1ac)][_0x70ee99(0x1b4)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x9555b4=path['resolve'](process['cwd'](),logDir);try{!fs[_0x70ee99(0x1b8)](_0x9555b4)&&fs[_0x70ee99(0x198)](_0x9555b4,{'recursive':!![]});}catch(_0x45362c){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x9555b4+':',_0x45362c[_0x70ee99(0x164)]),fileLoggingInitialized=!![];return;}const _0x18c652=path[_0x70ee99(0x1d3)](_0x9555b4,_0x5c269b[_0x70ee99(0x1e6)]),_0x3d206f=path[_0x70ee99(0x1d3)](_0x9555b4,'error.log');try{appLogStream=fs[_0x70ee99(0x1a3)](_0x18c652,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x3d206f,{'flags':'a'}),fileLoggingInitialized=!![];const _0x5831a4={'event':_0x5c269b['kduLO'],'logDir':_0x9555b4,'files':['app.log',_0x5c269b[_0x70ee99(0x190)]]},_0xc8abd9=_0x70ee99(0x1de)+_0x9555b4;logger['info'](_0x5831a4,_0xc8abd9),writeToFileLog({..._0x5831a4,'level':_0x70ee99(0x1a8),'msg':_0xc8abd9,'time':new Date()['toISOString']()},_0x70ee99(0x1a8));}catch(_0x336b34){console[_0x70ee99(0x201)]('Failed\x20to\x20create\x20log\x20streams:',_0x336b34['message']),fileLoggingInitialized=!![];}}function a0_0x218a(_0x3bc436,_0x8d70f6){_0x3bc436=_0x3bc436-0x14e;const _0x1d1320=a0_0x1d13();let _0x218a26=_0x1d1320[_0x3bc436];if(a0_0x218a['PifpFm']===undefined){var _0x535b25=function(_0x12e866){const _0x41e70a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x465295='',_0x5d06da='';for(let _0x20e1d0=0x0,_0x4cb4f1,_0x518965,_0x3f062a=0x0;_0x518965=_0x12e866['charAt'](_0x3f062a++);~_0x518965&&(_0x4cb4f1=_0x20e1d0%0x4?_0x4cb4f1*0x40+_0x518965:_0x518965,_0x20e1d0++%0x4)?_0x465295+=String['fromCharCode'](0xff&_0x4cb4f1>>(-0x2*_0x20e1d0&0x6)):0x0){_0x518965=_0x41e70a['indexOf'](_0x518965);}for(let _0x527233=0x0,_0x5c398b=_0x465295['length'];_0x527233<_0x5c398b;_0x527233++){_0x5d06da+='%'+('00'+_0x465295['charCodeAt'](_0x527233)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d06da);};a0_0x218a['QAmfXl']=_0x535b25,a0_0x218a['byfoyE']={},a0_0x218a['PifpFm']=!![];}const _0x4ae19e=_0x1d1320[0x0],_0x3ad07e=_0x3bc436+_0x4ae19e,_0x180fa2=a0_0x218a['byfoyE'][_0x3ad07e];return!_0x180fa2?(_0x218a26=a0_0x218a['QAmfXl'](_0x218a26),a0_0x218a['byfoyE'][_0x3ad07e]=_0x218a26):_0x218a26=_0x180fa2,_0x218a26;}function writeToFileLog(_0x401b8e,_0x21456d){const _0x1ac2bd=a0_0x1e29b7,_0x1293ce={'Vpzyx':function(_0x21de34,_0x373530){return _0x21de34||_0x373530;},'XBEkl':function(_0x18a06d,_0x2e32c){return _0x18a06d===_0x2e32c;},'MGZJk':_0x1ac2bd(0x201),'LgTQB':function(_0x430787,_0xd36b33){return _0x430787===_0xd36b33;}};if(_0x1293ce['Vpzyx'](!logToFile,!appLogStream))return;const _0x26671c={'service':serviceName,..._0x401b8e},_0xe3d9b9=JSON[_0x1ac2bd(0x179)](_0x26671c)+'\x0a';appLogStream[_0x1ac2bd(0x1ae)](_0xe3d9b9),(_0x1293ce[_0x1ac2bd(0x178)](_0x21456d,_0x1293ce['MGZJk'])||_0x1293ce[_0x1ac2bd(0x207)](_0x21456d,_0x1ac2bd(0x1f7)))&&(errorLogStream&&errorLogStream['write'](_0xe3d9b9));}const createRequestLogger=(_0x47f4bd={})=>{return logger['child'](_0x47f4bd);},logServerStart=_0x5bbda8=>{const _0x4f7ea0=a0_0x1e29b7,_0x1a1cc9={'OrNLS':function(_0x362948,_0x5b4c20){return _0x362948-_0x5b4c20;},'KeLyw':function(_0x877c21,_0x4bbc20){return _0x877c21(_0x4bbc20);},'gOarv':'ACTIVE','ZvNkj':_0x4f7ea0(0x17e)},_0x34755b='RESTFORGE\x20RUNTIME\x20SERVER',_0x2c71dc=Math['max'](0x0,0x37-_0x34755b['length']),_0x22aa25=Math['floor'](_0x2c71dc/0x2),_0x5e5e86=_0x1a1cc9['OrNLS'](_0x2c71dc,_0x22aa25),_0x589d3c='║'+'\x20'['repeat'](_0x22aa25)+_0x34755b+'\x20'[_0x4f7ea0(0x159)](_0x5e5e86)+'║',_0x5b0e93='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x589d3c+_0x4f7ea0(0x199)+(_0x5bbda8['environment']||_0x4f7ea0(0x203))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x5bbda8[_0x4f7ea0(0x1e4)]||'N/A')[_0x4f7ea0(0x15e)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x1a1cc9[_0x4f7ea0(0x174)](String,_0x5bbda8['port']||0xbb8)['padEnd'](0x26)+_0x4f7ea0(0x19a)+(_0x5bbda8['configFile']||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x5bbda8[_0x4f7ea0(0x1f4)]?_0x1a1cc9['gOarv']:'NOT\x20ACTIVE')['padEnd'](0x26)+_0x4f7ea0(0x17c);console[_0x4f7ea0(0x16f)](_0x5b0e93);const _0xb7b275={'event':_0x1a1cc9[_0x4f7ea0(0x1f0)],'project':_0x5bbda8['project'],'port':_0x5bbda8['port'],'config':_0x5bbda8[_0x4f7ea0(0x1ee)],'apiKeyEnabled':!!_0x5bbda8['apiKey']};logger[_0x4f7ea0(0x1a8)](_0xb7b275),writeToFileLog({..._0xb7b275,'level':_0x4f7ea0(0x1a8),'msg':_0x4f7ea0(0x15b)+_0x5bbda8[_0x4f7ea0(0x1e4)]+_0x4f7ea0(0x16e)+_0x5bbda8[_0x4f7ea0(0x172)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x21eb97=>{const _0x2ac8b1=a0_0x1e29b7,_0x433d7e={'ifKJz':'server_ready','hYXhc':_0x2ac8b1(0x1a8)},_0x1de4ac={'event':_0x433d7e['ifKJz'],'port':_0x21eb97['port'],'module':_0x21eb97[_0x2ac8b1(0x1cf)],'healthCheck':_0x21eb97['healthCheck'],'serviceInfo':_0x21eb97[_0x2ac8b1(0x15c)],'baseUrl':_0x21eb97[_0x2ac8b1(0x18c)]},_0x2263d2='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x21eb97[_0x2ac8b1(0x172)];logger[_0x2ac8b1(0x1a8)](_0x1de4ac,_0x2263d2),writeToFileLog({..._0x1de4ac,'level':_0x433d7e['hYXhc'],'msg':_0x2263d2,'time':new Date()['toISOString']()},_0x433d7e['hYXhc']),_0x21eb97['healthCheck']&&logger[_0x2ac8b1(0x1a8)](_0x2ac8b1(0x1a9)+_0x21eb97[_0x2ac8b1(0x18f)]),_0x21eb97['serviceInfo']&&logger[_0x2ac8b1(0x1a8)]('\x20\x20Info:\x20\x20\x20'+_0x21eb97[_0x2ac8b1(0x15c)]),_0x21eb97[_0x2ac8b1(0x18c)]&&logger['info'](_0x2ac8b1(0x1aa)+_0x21eb97[_0x2ac8b1(0x18c)]);},logProjectLoaded=(_0x35c751,_0x159b90)=>{const _0x5c193c=a0_0x1e29b7,_0x374ede={'DiuFz':_0x5c193c(0x18b),'ulDkm':function(_0x4afe33,_0x3455d4,_0x90e7f4){return _0x4afe33(_0x3455d4,_0x90e7f4);}},_0x41d1f5={'event':_0x374ede['DiuFz'],'project':_0x35c751,'path':_0x159b90},_0x1e3716='[OK]\x20Project\x20loaded:\x20'+_0x35c751;logger[_0x5c193c(0x1a8)](_0x41d1f5,_0x1e3716),_0x374ede['ulDkm'](writeToFileLog,{..._0x41d1f5,'level':'info','msg':_0x1e3716,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x3a2bba,_0x3074d0)=>{const _0x2b8e3b=a0_0x1e29b7,_0x2dbe88={'sqErK':_0x2b8e3b(0x153)},_0x55bfda={'event':_0x2dbe88['sqErK'],'endpoint':_0x3a2bba,'route':_0x3074d0},_0x5169ec='\x20\x20→\x20'+_0x3a2bba+':\x20'+_0x3074d0;logger['debug'](_0x55bfda,_0x5169ec),writeToFileLog({..._0x55bfda,'level':'debug','msg':_0x5169ec,'time':new Date()['toISOString']()},_0x2b8e3b(0x1da));},logDatabaseConfig=_0x57434a=>{const _0x5119fd=a0_0x1e29b7,_0x2e3fd4={'xsciL':_0x5119fd(0x1c2),'zaLlP':function(_0x3e07cf,_0x2a9d47,_0x1e3d80){return _0x3e07cf(_0x2a9d47,_0x1e3d80);}},_0x334841={'event':_0x2e3fd4['xsciL'],'host':_0x57434a[_0x5119fd(0x18a)],'port':_0x57434a['port'],'database':_0x57434a[_0x5119fd(0x1a2)],'type':_0x57434a[_0x5119fd(0x16d)],'user':_0x57434a[_0x5119fd(0x18d)]},_0x5d10e3=_0x5119fd(0x197)+_0x57434a['type']+_0x5119fd(0x1c0)+_0x57434a[_0x5119fd(0x18a)]+':'+_0x57434a[_0x5119fd(0x172)]+'/'+_0x57434a[_0x5119fd(0x1a2)];logger['debug'](_0x334841,_0x5d10e3),_0x2e3fd4['zaLlP'](writeToFileLog,{..._0x334841,'level':'debug','msg':_0x5d10e3,'time':new Date()['toISOString']()},_0x5119fd(0x1da));},logRequest=(_0x42ba30,_0x284304,_0x103ce2)=>{const _0x4272b8=a0_0x1e29b7,_0x43120d={'IKKej':_0x4272b8(0x168),'BtitT':_0x4272b8(0x201),'ZKXjL':'warn','cKnHi':function(_0x8edf8b,_0x3083d9,_0x317249){return _0x8edf8b(_0x3083d9,_0x317249);}},_0x2793bc={'event':_0x43120d[_0x4272b8(0x20b)],'method':_0x42ba30[_0x4272b8(0x1db)],'path':_0x42ba30[_0x4272b8(0x1d9)],'statusCode':_0x284304[_0x4272b8(0x1f3)],'durationMs':_0x103ce2,'ip':_0x42ba30['ip']},_0x3755b8=_0x42ba30['method']+'\x20'+_0x42ba30[_0x4272b8(0x1d9)]+_0x4272b8(0x202)+_0x284304[_0x4272b8(0x1f3)]+'\x20('+_0x103ce2+'ms)';let _0x374610='info';if(_0x284304[_0x4272b8(0x1f3)]>=0x1f4)_0x374610=_0x43120d['BtitT'],logger[_0x4272b8(0x201)](_0x2793bc,_0x3755b8);else _0x284304['statusCode']>=0x190?(_0x374610=_0x43120d[_0x4272b8(0x1a7)],logger['warn'](_0x2793bc,_0x3755b8)):logger[_0x4272b8(0x1a8)](_0x2793bc,_0x3755b8);_0x43120d[_0x4272b8(0x169)](writeToFileLog,{..._0x2793bc,'level':_0x374610,'msg':_0x3755b8,'time':new Date()[_0x4272b8(0x1fa)]()},_0x374610);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x1e29b7(0x194),'token',a0_0x1e29b7(0x1b3),'refresh_token','secret','api_secret',a0_0x1e29b7(0x180),a0_0x1e29b7(0x183),'credential','credentials',a0_0x1e29b7(0x16c),a0_0x1e29b7(0x151),a0_0x1e29b7(0x1ad),a0_0x1e29b7(0x1e9)],redactSensitiveParams=(_0x5aa80f,_0x5ab6e6)=>{const _0x3be1b3=a0_0x1e29b7,_0x34ecd9={'ZDjDb':_0x3be1b3(0x16a),'cFkgC':_0x3be1b3(0x1f6),'gcqVB':function(_0x2d627a,_0x13b5b6){return _0x2d627a>_0x13b5b6;},'FGTKd':function(_0x2b1cfd,_0x19af02){return _0x2b1cfd===_0x19af02;}};if(!_0x5aa80f||_0x34ecd9[_0x3be1b3(0x1b2)](_0x5aa80f[_0x3be1b3(0x1b1)],0x0))return _0x5aa80f;const _0x4ca9e0=_0x5ab6e6['toLowerCase'](),_0x565fde=_0x4ca9e0['match'](/\(([^)]+)\)\s*values/i);let _0x5c3c6a=[];_0x565fde&&(_0x5c3c6a=_0x565fde[0x1]['split'](',')[_0x3be1b3(0x1ba)](_0x6b5487=>_0x6b5487[_0x3be1b3(0x171)]()['toLowerCase']()));const _0x26c557=_0x4ca9e0['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x26c557){const _0x545f34=_0x26c557[0x1],_0x12e18a=_0x545f34[_0x3be1b3(0x1c8)](/(\w+)\s*=/g);_0x12e18a&&(_0x5c3c6a=_0x12e18a['map'](_0x450563=>_0x450563[_0x3be1b3(0x1cb)](/\s*=/,'')['trim']()[_0x3be1b3(0x193)]()));}return _0x5aa80f['map']((_0x3643f5,_0x35dbad)=>{const _0x59c791=_0x3be1b3;if(_0x5c3c6a[_0x35dbad]){const _0x4a1dac=_0x5c3c6a[_0x35dbad],_0x20c9ac=SENSITIVE_PARAM_PATTERNS[_0x59c791(0x1e5)](_0x4987c5=>_0x4a1dac[_0x59c791(0x1af)](_0x4987c5));if(_0x20c9ac)return _0x34ecd9[_0x59c791(0x1eb)];}if(typeof _0x3643f5===_0x34ecd9['cFkgC']&&_0x34ecd9[_0x59c791(0x15d)](_0x3643f5[_0x59c791(0x1b1)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x3643f5)&&_0x3643f5[_0x59c791(0x1af)]('.'))return _0x59c791(0x177);if(/^[a-fA-F0-9]{32,}$/['test'](_0x3643f5))return _0x59c791(0x15f);}return _0x3643f5;});},parseQueryMetadata=_0x538c46=>{const _0x24c48f=a0_0x1e29b7,_0x5e08b4={'CjYoj':'SELECT','kjSHN':_0x24c48f(0x1be),'zxLDZ':'DELETE','qxhch':_0x24c48f(0x1d2),'RcyDb':_0x24c48f(0x1c4),'Mqlrh':_0x24c48f(0x20a),'rANNS':_0x24c48f(0x176)},_0x521735=_0x538c46['trim'](),_0xea1642=_0x521735[_0x24c48f(0x1f2)]();let _0x2dc3aa='UNKNOWN',_0x2ffcbe=null;if(_0xea1642[_0x24c48f(0x167)](_0x5e08b4[_0x24c48f(0x1f9)])){_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1f9)];const _0x1543d8=_0x521735[_0x24c48f(0x1c8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x1543d8?_0x1543d8[0x1]:null;}else{if(_0xea1642['startsWith'](_0x24c48f(0x17b))){_0x2dc3aa=_0x24c48f(0x17b);const _0x285c0e=_0x521735[_0x24c48f(0x1c8)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x285c0e?_0x285c0e[0x1]:null;}else{if(_0xea1642['startsWith'](_0x24c48f(0x1be))){_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1fc)];const _0x4e56fb=_0x521735['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x4e56fb?_0x4e56fb[0x1]:null;}else{if(_0xea1642['startsWith'](_0x5e08b4[_0x24c48f(0x1ff)])){_0x2dc3aa=_0x5e08b4['zxLDZ'];const _0x22465c=_0x521735[_0x24c48f(0x1c8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x22465c?_0x22465c[0x1]:null;}else{if(_0xea1642['startsWith']('BEGIN')||_0xea1642['startsWith']('START\x20TRANSACTION'))_0x2dc3aa='TRANSACTION_BEGIN';else{if(_0xea1642['startsWith'](_0x5e08b4['qxhch']))_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1a4)];else{if(_0xea1642['startsWith']('ROLLBACK'))_0x2dc3aa=_0x24c48f(0x206);else{if(_0xea1642[_0x24c48f(0x167)](_0x24c48f(0x1cd)))_0x2dc3aa='DDL_CREATE';else{if(_0xea1642['startsWith'](_0x5e08b4['Mqlrh']))_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1d5)];else _0xea1642['startsWith'](_0x24c48f(0x1bf))&&(_0x2dc3aa='DDL_DROP');}}}}}}}}return{'type':_0x2dc3aa,'table':_0x2ffcbe};},startQueryTimer=()=>{const _0x3254a4={'FgavO':function(_0x21fb12,_0x3c3d0a){return _0x21fb12(_0x3c3d0a);},'sCjgr':function(_0xd8cd89,_0xd27ee7){return _0xd8cd89/_0xd27ee7;}},_0x3735bf=process['hrtime']();return()=>{const _0x5a6e7b=a0_0x218a,[_0x99064e,_0x5e20e8]=process[_0x5a6e7b(0x187)](_0x3735bf);return _0x3254a4[_0x5a6e7b(0x1cc)](parseFloat,(_0x99064e*0x3e8+_0x3254a4['sCjgr'](_0x5e20e8,0xf4240))[_0x5a6e7b(0x160)](0x2));};},logQuery=(_0x5a1419,_0x22e493=[],_0x5cdcd2={})=>{const _0x3ea4af=a0_0x1e29b7,_0x36064f={'SvonN':'postgresql','OVbTh':function(_0x424841,_0x111d4c){return _0x424841>_0x111d4c;},'tNJCY':function(_0x24f5ee,_0x5b7eaf){return _0x24f5ee!==_0x5b7eaf;},'wdKRB':function(_0x177009,_0x41fc05){return _0x177009>_0x41fc05;},'jbxTn':function(_0x3c171c,_0x4887f4){return _0x3c171c!==_0x4887f4;},'cFsEg':_0x3ea4af(0x1da),'VXmlx':'info'};if(!sqlLogEnabled){logger[_0x3ea4af(0x1da)]({'event':_0x3ea4af(0x208),'query':_0x5a1419[_0x3ea4af(0x156)](0x0,0xc8),'paramCount':_0x22e493[_0x3ea4af(0x1b1)]},_0x3ea4af(0x1dd));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x36064f[_0x3ea4af(0x1bd)]}=_0x5cdcd2,{type:_0x5d8412,table:_0x4a772e}=parseQueryMetadata(_0x5a1419),_0x153d89={'event':'sql_query','queryType':_0x5d8412,'table':_0x4a772e,'query':_0x5a1419,'paramCount':_0x22e493['length'],'dbType':dbType};sqlLogParams&&_0x36064f[_0x3ea4af(0x1e2)](_0x22e493[_0x3ea4af(0x1b1)],0x0)&&(_0x153d89[_0x3ea4af(0x19d)]=redactSensitiveParams(_0x22e493,_0x5a1419));_0x36064f['tNJCY'](duration,null)&&(_0x153d89[_0x3ea4af(0x1dc)]=duration,_0x153d89[_0x3ea4af(0x163)]=_0x36064f['wdKRB'](duration,sqlLogSlowThreshold));_0x36064f[_0x3ea4af(0x1a0)](rowsAffected,null)&&(_0x153d89['rowsAffected']=rowsAffected);const _0x20566a=_0x4a772e||'unknown';let _0x337b2f='['+_0x5d8412+']\x20'+_0x20566a;duration!==null&&(_0x337b2f+='\x20('+duration+_0x3ea4af(0x189));const _0x450190=duration!==null&&duration>sqlLogSlowThreshold;let _0x3d6608=_0x36064f['cFsEg'];if(_0x450190)_0x337b2f+='\x20[SLOW]',_0x3d6608='warn',logger['warn'](_0x153d89,_0x337b2f);else sqlLogLevel==='info'?(_0x3d6608=_0x36064f['VXmlx'],logger['info'](_0x153d89,_0x337b2f)):logger['debug'](_0x153d89,_0x337b2f);writeToFileLog({..._0x153d89,'level':_0x3d6608,'msg':_0x337b2f,'time':new Date()['toISOString']()},_0x3d6608);},logTransaction=(_0x368281,_0x308022)=>{const _0x46f765=a0_0x1e29b7,_0x5ecd7e={'MJOxk':_0x46f765(0x1da)},_0x272df2={'event':_0x46f765(0x1ef),'status':_0x368281,'queryCount':_0x308022},_0x18c255='Transaction\x20'+_0x368281;logger['debug'](_0x272df2,_0x18c255),writeToFileLog({..._0x272df2,'level':_0x5ecd7e[_0x46f765(0x14f)],'msg':_0x18c255,'time':new Date()[_0x46f765(0x1fa)]()},_0x46f765(0x1da));},redactObject=_0x19f693=>{const _0x565188=a0_0x1e29b7,_0x49d078={'shszs':function(_0x387e84,_0x167c7e){return _0x387e84!==_0x167c7e;},'PKXCp':_0x565188(0x204),'bupuj':_0x565188(0x1bb),'fNzqq':_0x565188(0x155),'PvcHO':_0x565188(0x200),'DNuAQ':'creditcard','nIBBG':_0x565188(0x1b5),'rKLQL':'cvv','cgNmZ':'refresh_token','rYdys':function(_0x52db60,_0x39c7b8){return _0x52db60(_0x39c7b8);}};if(!_0x19f693||_0x49d078[_0x565188(0x170)](typeof _0x19f693,_0x49d078['PKXCp']))return _0x19f693;const _0x14ad24=[_0x49d078[_0x565188(0x1ed)],'passwd',_0x565188(0x194),_0x565188(0x1e7),_0x49d078[_0x565188(0x1a6)],_0x565188(0x180),'api_key',_0x49d078['PvcHO'],_0x49d078[_0x565188(0x1b0)],_0x49d078[_0x565188(0x18e)],_0x49d078['rKLQL'],'ssn','pin',_0x565188(0x1ad),_0x565188(0x1e9),_0x49d078[_0x565188(0x19c)],_0x565188(0x1b3)],_0x1f9561=Array['isArray'](_0x19f693)?[..._0x19f693]:{..._0x19f693};for(const _0x38e3a5 of Object[_0x565188(0x152)](_0x1f9561)){const _0x2aaf37=_0x38e3a5['toLowerCase']();if(_0x14ad24['some'](_0x688e0e=>_0x2aaf37[_0x565188(0x1af)](_0x688e0e)))_0x1f9561[_0x38e3a5]='[REDACTED]';else typeof _0x1f9561[_0x38e3a5]===_0x49d078[_0x565188(0x1d1)]&&_0x1f9561[_0x38e3a5]!==null&&(_0x1f9561[_0x38e3a5]=_0x49d078[_0x565188(0x185)](redactObject,_0x1f9561[_0x38e3a5]));}return _0x1f9561;},logError=(_0x43f878,_0x4f8ef8={},_0x363c20=null)=>{const _0x528afe=a0_0x1e29b7,_0x57c245={'ebRRC':'Error','uphPY':function(_0x539590,_0x3b58ec,_0x14503d){return _0x539590(_0x3b58ec,_0x14503d);},'Mprpk':'error'},_0x388781={'event':_0x528afe(0x201),'errorName':_0x43f878[_0x528afe(0x1d0)]||_0x57c245['ebRRC'],'errorMessage':_0x43f878[_0x528afe(0x164)],'errorCode':_0x43f878[_0x528afe(0x17f)]||null,'stack':_0x43f878['stack'],..._0x4f8ef8},_0x15953c=_0x363c20||_0x528afe(0x1fe)+_0x43f878[_0x528afe(0x164)];logger['error'](_0x388781,_0x15953c),_0x57c245[_0x528afe(0x162)](writeToFileLog,{..._0x388781,'level':_0x528afe(0x201),'msg':_0x15953c,'time':new Date()['toISOString']()},_0x57c245[_0x528afe(0x209)]);},logFatalError=(_0x1b770f,_0x560701={},_0x5e1756=null)=>{const _0x3d5960=a0_0x1e29b7,_0x9c6dfe={'JgyQh':'fatal_error','nutiU':_0x3d5960(0x19e),'mtbyE':function(_0xc28a14,_0x48a1ad,_0x260481){return _0xc28a14(_0x48a1ad,_0x260481);},'LSjCj':_0x3d5960(0x1f7),'GsbzP':'error'},_0xebb52f={'event':_0x9c6dfe['JgyQh'],'errorName':_0x1b770f[_0x3d5960(0x1d0)]||_0x9c6dfe['nutiU'],'errorMessage':_0x1b770f[_0x3d5960(0x164)],'errorCode':_0x1b770f['code']||null,'stack':_0x1b770f[_0x3d5960(0x1d7)],'severity':_0x3d5960(0x1c5),..._0x560701},_0x2827f3=_0x5e1756||'FATAL:\x20'+_0x1b770f['message'];logger[_0x3d5960(0x1f7)](_0xebb52f,_0x2827f3),_0x9c6dfe['mtbyE'](writeToFileLog,{..._0xebb52f,'level':_0x9c6dfe['LSjCj'],'msg':_0x2827f3,'time':new Date()['toISOString']()},_0x9c6dfe[_0x3d5960(0x150)]);},logHttpError=(_0x261cee,_0x2a34cc,_0x1dbfa1={})=>{const _0x4d0332=a0_0x1e29b7,_0x19929c={'XcGAh':_0x4d0332(0x157),'IpdCh':_0x4d0332(0x19e),'AFSZi':_0x4d0332(0x1c9),'NNAzT':_0x4d0332(0x1fd),'sQbeQ':function(_0x5105eb,_0x5d8656,_0x21f132){return _0x5105eb(_0x5d8656,_0x21f132);},'qSerf':function(_0x4764e5,_0x43b4bb){return _0x4764e5>=_0x43b4bb;},'IqYvx':'warn','ALEUi':'error'},_0x4b26fa={'event':_0x19929c[_0x4d0332(0x1e0)],'errorName':_0x261cee[_0x4d0332(0x1d0)]||_0x19929c[_0x4d0332(0x1b7)],'errorMessage':_0x261cee[_0x4d0332(0x164)],'errorCode':_0x261cee[_0x4d0332(0x17f)]||_0x261cee['statusCode']||0x1f4,'stack':_0x261cee[_0x4d0332(0x1d7)],'method':_0x2a34cc?.[_0x4d0332(0x1db)],'url':_0x2a34cc?.[_0x4d0332(0x1d6)]||_0x2a34cc?.['originalUrl'],'path':_0x2a34cc?.['path'],'ip':_0x2a34cc?.['ip']||_0x2a34cc?.[_0x4d0332(0x1a1)]?.['remoteAddress'],'userAgent':_0x2a34cc?.['get']?.(_0x19929c[_0x4d0332(0x15a)]),'requestId':_0x2a34cc?.['id']||_0x2a34cc?.[_0x4d0332(0x16b)]?.[_0x19929c[_0x4d0332(0x195)]],'body':_0x2a34cc?.['body']?redactObject(_0x2a34cc['body']):undefined,'query':_0x2a34cc?.['query'],..._0x1dbfa1},_0x396c51=_0x261cee['statusCode']||_0x261cee[_0x4d0332(0x14e)]||0x1f4,_0x45af21=_0x4d0332(0x182)+_0x396c51+':\x20'+_0x261cee[_0x4d0332(0x164)];_0x396c51>=0x1f4?logger[_0x4d0332(0x201)](_0x4b26fa,_0x45af21):logger[_0x4d0332(0x1e8)](_0x4b26fa,_0x45af21),_0x19929c['sQbeQ'](writeToFileLog,{..._0x4b26fa,'level':_0x19929c[_0x4d0332(0x192)](_0x396c51,0x1f4)?'error':_0x19929c[_0x4d0332(0x1bc)],'msg':_0x45af21,'time':new Date()['toISOString']()},_0x396c51>=0x1f4?_0x19929c['ALEUi']:_0x19929c[_0x4d0332(0x1bc)]);},logUncaughtError=(_0x2acee9,_0x47b449)=>{const _0x517b11=a0_0x1e29b7,_0x1e53c9={'yKbtw':_0x517b11(0x19e),'LyNYE':_0x517b11(0x1f7)},_0x3352e1={'event':_0x2acee9,'errorName':_0x47b449?.['name']||_0x1e53c9[_0x517b11(0x1ab)],'errorMessage':_0x47b449?.['message']||String(_0x47b449),'errorCode':_0x47b449?.[_0x517b11(0x17f)]||null,'stack':_0x47b449?.[_0x517b11(0x1d7)],'severity':_0x517b11(0x1c5),'processId':process[_0x517b11(0x1e3)],'memoryUsage':process[_0x517b11(0x161)](),'uptime':process['uptime']()},_0x3cbaf6='['+_0x2acee9['toUpperCase']()+']\x20'+(_0x47b449?.[_0x517b11(0x164)]||_0x47b449);logger[_0x517b11(0x1f7)](_0x3352e1,_0x3cbaf6),writeToFileLog({..._0x3352e1,'level':_0x1e53c9['LyNYE'],'msg':_0x3cbaf6,'time':new Date()['toISOString']()},_0x517b11(0x201));},setupGlobalErrorHandlers=()=>{const _0x433c95=a0_0x1e29b7,_0x41c622={'PtdxC':'uncaughtException','cquGw':function(_0x1ad915,_0x520f0e,_0x80b0e5){return _0x1ad915(_0x520f0e,_0x80b0e5);},'vuaOG':'unhandledRejection','ZMuwz':_0x433c95(0x1f8),'UqAmt':_0x433c95(0x1a8)};process['on'](_0x41c622['PtdxC'],_0x549361=>{const _0x41853d=_0x433c95;logUncaughtError(_0x41c622[_0x41853d(0x1ce)],_0x549361),_0x41c622[_0x41853d(0x188)](setTimeout,()=>{const _0x2174b7=_0x41853d;process[_0x2174b7(0x1c7)](0x1);},0x3e8);}),process['on'](_0x41c622['vuaOG'],(_0x20d5eb,_0x308165)=>{const _0x34e91d=_0x433c95,_0xe3790b=_0x20d5eb instanceof Error?_0x20d5eb:new Error(String(_0x20d5eb));_0x41c622[_0x34e91d(0x188)](logUncaughtError,_0x41c622[_0x34e91d(0x1e1)],_0xe3790b);}),process['on']('warning',_0x843b4a=>{const _0x58a19c=_0x433c95;logger['warn']({'event':'process_warning','name':_0x843b4a[_0x58a19c(0x1d0)],'message':_0x843b4a[_0x58a19c(0x164)],'stack':_0x843b4a[_0x58a19c(0x1d7)]},_0x58a19c(0x191)+_0x843b4a[_0x58a19c(0x164)]);});const _0x392767={'event':'global_error_handlers_setup'},_0x5e5e35=_0x41c622[_0x433c95(0x173)];logger[_0x433c95(0x1a8)](_0x392767,_0x5e5e35),_0x41c622[_0x433c95(0x188)](writeToFileLog,{..._0x392767,'level':'info','msg':_0x5e5e35,'time':new Date()['toISOString']()},_0x41c622['UqAmt']);},createErrorHandlerMiddleware=()=>{const _0x535fdd=a0_0x1e29b7,_0x18f73b={'EfiXo':_0x535fdd(0x1b6)};return(_0x42911f,_0x4569b1,_0x18e38b,_0x583ea5)=>{const _0x4d3c47=_0x535fdd;logHttpError(_0x42911f,_0x4569b1);const _0x59d2a9=_0x42911f['statusCode']||_0x42911f[_0x4d3c47(0x14e)]||0x1f4;_0x18e38b['status'](_0x59d2a9)['json']({'success':![],'error':_0x59d2a9>=0x1f4?_0x18f73b[_0x4d3c47(0x1ca)]:_0x42911f[_0x4d3c47(0x164)],'requestId':_0x4569b1['id']||_0x4569b1['headers']?.[_0x4d3c47(0x1fd)]||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_0x18d008=a0_0x515a;(function(_0x2ae52d,_0x1207ca){const _0x4b8381=a0_0x515a,_0x3a411a=_0x2ae52d();while(!![]){try{const _0x28173d=parseInt(_0x4b8381(0x101))/0x1*(-parseInt(_0x4b8381(0x117))/0x2)+parseInt(_0x4b8381(0x112))/0x3+-parseInt(_0x4b8381(0x102))/0x4*(-parseInt(_0x4b8381(0x111))/0x5)+parseInt(_0x4b8381(0x104))/0x6*(parseInt(_0x4b8381(0x120))/0x7)+-parseInt(_0x4b8381(0x11a))/0x8+-parseInt(_0x4b8381(0x10f))/0x9*(-parseInt(_0x4b8381(0x108))/0xa)+-parseInt(_0x4b8381(0x10d))/0xb;if(_0x28173d===_0x1207ca)break;else _0x3a411a['push'](_0x3a411a['shift']());}catch(_0x5c5f6e){_0x3a411a['push'](_0x3a411a['shift']());}}}(a0_0x3404,0x64eee));const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();function a0_0x515a(_0x34364b,_0x686443){_0x34364b=_0x34364b-0xfc;const _0x340432=a0_0x3404();let _0x515a72=_0x340432[_0x34364b];if(a0_0x515a['ouCZnv']===undefined){var _0x24c06e=function(_0x24341b){const _0x235650='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c3baf='',_0x5bcaae='';for(let _0x384057=0x0,_0x470878,_0x22464d,_0x1fdb0f=0x0;_0x22464d=_0x24341b['charAt'](_0x1fdb0f++);~_0x22464d&&(_0x470878=_0x384057%0x4?_0x470878*0x40+_0x22464d:_0x22464d,_0x384057++%0x4)?_0x4c3baf+=String['fromCharCode'](0xff&_0x470878>>(-0x2*_0x384057&0x6)):0x0){_0x22464d=_0x235650['indexOf'](_0x22464d);}for(let _0x15d039=0x0,_0x488fdf=_0x4c3baf['length'];_0x15d039<_0x488fdf;_0x15d039++){_0x5bcaae+='%'+('00'+_0x4c3baf['charCodeAt'](_0x15d039)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bcaae);};a0_0x515a['Fstlqp']=_0x24c06e,a0_0x515a['qbQgBq']={},a0_0x515a['ouCZnv']=!![];}const _0x330b57=_0x340432[0x0],_0x1d278d=_0x34364b+_0x330b57,_0x151d65=a0_0x515a['qbQgBq'][_0x1d278d];return!_0x151d65?(_0x515a72=a0_0x515a['Fstlqp'](_0x515a72),a0_0x515a['qbQgBq'][_0x1d278d]=_0x515a72):_0x515a72=_0x151d65,_0x515a72;}let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x32b820,_0x3f2bb4)=>oracleDb[a0_0x18d008(0xfd)](_0x32b820,_0x3f2bb4);}else{if(dbType==='mysql'){const mysqlDb=require('./db-mysql');executeQuery=(_0x45f25a,_0x218a62)=>mysqlDb[a0_0x18d008(0xfd)](_0x45f25a,_0x218a62);}else executeQuery=require('./db')[a0_0x18d008(0xfd)];}function a0_0x3404(){const _0x5bba96=['mZuZmdqZmNHdBhnLyq','Aw5MBW','iIbUB3qGzM91BMqGAw4G','rwX2tMO','iezst00G','y2XLyxjdywnOzq','nte2ndK0m0v6sxLwBa','Bg9VA3vWx3rHyMXLx2XVywrLza','ChvZAa','z2v0','rvzoD2S','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9mB3DLCKnHC2u','BgvUz3rO','zxHLy3v0zvf1zxj5','u0vmrunuia','BwvZC2fNzq','BwfW','ndi0mgzurwjzta','mJeWodqZnNzouejkCW','DhjPBq','nLbRz2zpAG','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','q1DwBxe','C2v0','mtbfu3vvteO','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','z2v0rgLZDgLUy3rwywX1zxm','Bg9HzeXVB2T1CfrHyMXL','zxHWB3j0CW','mZa4mJa3ovLmzenjtq','AgfZ','mtGZndm2mKXdyLfuwa','Dg9vChbLCKnHC2u','nwDtvMn2Aa','mtGXmZC3wLnksxv5','Bg9VA3vWq2fJAgu','A2v5CW','vMfSDwuGiG','zxjYB3i','mtG2AxrvAKjx','zM9YrwfJAa','y2XLyxi'];a0_0x3404=function(){return _0x5bba96;};return a0_0x3404();}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x4dc978=a0_0x18d008;this[_0x4dc978(0x113)]=new Map();}[a0_0x18d008(0x11f)](){const _0x181dc3=a0_0x18d008,_0x3d15f3={'vPBUq':'lookup_cache_cleared'};this[_0x181dc3(0x113)][_0x181dc3(0x119)](),logger['debug']({'event':_0x3d15f3['vPBUq']},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x22c25f,_0x4f4909,_0x28ab63){const _0x26b0bf=a0_0x18d008,_0x11b455={'CWVmq':function(_0x46c8aa,_0x18e5ba){return _0x46c8aa!==_0x18e5ba;},'EVNwk':function(_0x4ac4f9,_0x579879){return _0x4ac4f9(_0x579879);}},_0x148c07=_0x22c25f+':'+_0x4f4909+':'+_0x28ab63;if(this[_0x26b0bf(0x113)]['has'](_0x148c07))return this[_0x26b0bf(0x113)]['get'](_0x148c07);try{const _0xb98eb6=_0x26b0bf(0xfe)+_0x28ab63+',\x20'+_0x4f4909+_0x26b0bf(0x11e)+_0x22c25f,_0x1c5975=await executeQuery(_0xb98eb6),_0x31b01b=new Map();return _0x1c5975[_0x26b0bf(0x118)](_0x8f5f74=>{const _0x6303d3=_0x26b0bf,_0x30de80=_0x8f5f74[_0x4f4909]!==undefined?_0x8f5f74[_0x4f4909]:_0x8f5f74[_0x4f4909['toUpperCase']()],_0x12a00e=_0x11b455[_0x6303d3(0x106)](_0x8f5f74[_0x28ab63],undefined)?_0x8f5f74[_0x28ab63]:_0x8f5f74[_0x28ab63[_0x6303d3(0x110)]()];_0x30de80!==null&&_0x11b455[_0x6303d3(0x106)](_0x30de80,undefined)&&(_0x31b01b[_0x6303d3(0x107)](_0x11b455[_0x6303d3(0x124)](String,_0x30de80)[_0x6303d3(0x126)]()['trim'](),_0x12a00e),_0x31b01b[_0x6303d3(0x107)](String(_0x30de80)[_0x6303d3(0x103)](),_0x12a00e));}),this['lookupCache'][_0x26b0bf(0x107)](_0x148c07,_0x31b01b),logger[_0x26b0bf(0x11b)]({'event':_0x26b0bf(0x121),'table':_0x22c25f,'column':_0x4f4909,'count':_0x1c5975[_0x26b0bf(0xfc)]},'Lookup\x20table\x20loaded:\x20'+_0x22c25f),_0x31b01b;}catch(_0x11b37e){logger[_0x26b0bf(0x116)]({'event':'lookup_table_load_error','table':_0x22c25f,'error':_0x11b37e[_0x26b0bf(0xff)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x22c25f);throw _0x11b37e;}}['resolveLookupValue'](_0x3ac9a9,_0x565067){const _0xb05fd5=a0_0x18d008,_0x49369e={'sZSOY':function(_0x4fd7d6,_0x23337b){return _0x4fd7d6===_0x23337b;},'mmzix':function(_0x376809,_0x3e2767){return _0x376809===_0x3e2767;},'CTrqt':function(_0x2633a8,_0x34a103){return _0x2633a8(_0x34a103);}};if(_0x3ac9a9===null||_0x49369e['sZSOY'](_0x3ac9a9,undefined)||_0x49369e['mmzix'](_0x3ac9a9,''))return null;const _0x103cbd=_0x49369e['CTrqt'](String,_0x3ac9a9)[_0xb05fd5(0x103)]();if(_0x565067[_0xb05fd5(0x10e)](_0x103cbd))return _0x565067[_0xb05fd5(0x123)](_0x103cbd);const _0x39c446=_0x103cbd[_0xb05fd5(0x126)]();if(_0x565067['has'](_0x39c446))return _0x565067['get'](_0x39c446);return null;}async['processLookupFields'](_0x10615a,_0x48a901){const _0xe884e5=a0_0x18d008,_0x307d97={'UDFMn':function(_0x1dcb59,_0x12491c){return _0x1dcb59!==_0x12491c;},'FfDUK':function(_0x52340b,_0x4fc2f6){return _0x52340b===_0x4fc2f6;},'ElvNj':'Lookup\x20fields\x20processed'};if(!_0x48a901||_0x307d97['FfDUK'](Object['keys'](_0x48a901)[_0xe884e5(0xfc)],0x0))return{'processedRows':_0x10615a,'errors':[]};const _0x1438e6=[],_0x276865=new Map();for(const [_0x221b20,_0x305b36]of Object['entries'](_0x48a901)){const {lookupTable:_0x594570,lookupColumn:_0x123cf2,lookupIdColumn:_0x1a3eac}=_0x305b36,_0x42ed1a=_0x594570+':'+_0x123cf2+':'+_0x1a3eac;if(!_0x276865['has'](_0x42ed1a)){const _0x47e115=await this[_0xe884e5(0x10b)](_0x594570,_0x123cf2,_0x1a3eac);_0x276865[_0xe884e5(0x107)](_0x42ed1a,_0x47e115);}}const _0x94d3ea=_0x10615a[_0xe884e5(0x100)]((_0x591614,_0x4abe3a)=>{const _0x2c7bb4=_0xe884e5,_0x59c13d={..._0x591614};for(const [_0x459da1,_0x282822]of Object['entries'](_0x48a901)){const {lookupTable:_0x24438c,lookupColumn:_0x32f974,lookupIdColumn:_0x43f5f7,targetField:_0x4df695,required:_0xa951ca}=_0x282822,_0x5a46b7=_0x24438c+':'+_0x32f974+':'+_0x43f5f7,_0x44f2f3=_0x276865['get'](_0x5a46b7),_0x37007c=_0x591614[_0x459da1];if((_0x37007c===null||_0x37007c===undefined||_0x37007c==='')&&!_0xa951ca){_0x59c13d[_0x4df695]=null;continue;}const _0x181c94=this[_0x2c7bb4(0x125)](_0x37007c,_0x44f2f3);_0x307d97['UDFMn'](_0x181c94,null)?_0x59c13d[_0x4df695]=_0x181c94:(_0xa951ca&&_0x1438e6[_0x2c7bb4(0x122)]({'rowIndex':_0x4abe3a,'field':_0x459da1,'value':_0x37007c,'targetField':_0x4df695,'lookupTable':_0x24438c,'message':_0x2c7bb4(0x115)+_0x37007c+_0x2c7bb4(0x11c)+_0x24438c}),_0x59c13d[_0x4df695]=null);}return _0x59c13d;});return logger['info']({'event':_0xe884e5(0x105),'totalRows':_0x10615a['length'],'errorCount':_0x1438e6['length'],'lookupFieldCount':Object[_0xe884e5(0x114)](_0x48a901)[_0xe884e5(0xfc)]},_0x307d97[_0xe884e5(0x11d)]),{'processedRows':_0x94d3ea,'errors':_0x1438e6};}[a0_0x18d008(0x10a)](_0x4eb22d,_0x4176a0){const _0x1d1337=a0_0x18d008,_0x373445=new Set();return _0x4eb22d[_0x1d1337(0x118)](_0x596eea=>{const _0x37f9db=_0x1d1337,_0x3202f7=_0x596eea[_0x4176a0];_0x3202f7!==null&&_0x3202f7!==undefined&&_0x3202f7!==''&&_0x373445['add'](String(_0x3202f7)[_0x37f9db(0x103)]());}),Array['from'](_0x373445);}async['validateLookupValues'](_0x58f653,_0x4abc3c){const _0x32fff2=a0_0x18d008,_0x825dfe={'bAdxf':function(_0x3bf3f2,_0xaf6db0){return _0x3bf3f2===_0xaf6db0;}};if(!_0x4abc3c||Object['keys'](_0x4abc3c)[_0x32fff2(0xfc)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x13e8e0=[],_0x48403b={};for(const [_0x1a9a62,_0x24f2fa]of Object['entries'](_0x4abc3c)){const {lookupTable:_0x551366,lookupColumn:_0x26b509,lookupIdColumn:_0x34db1e,required:_0x414d67}=_0x24f2fa,_0x43ce31=this[_0x32fff2(0x10a)](_0x58f653,_0x1a9a62),_0x2f4b0a=await this[_0x32fff2(0x10b)](_0x551366,_0x26b509,_0x34db1e),_0x41db0b=[],_0x151f7e=[];_0x43ce31[_0x32fff2(0x118)](_0x3e1546=>{const _0x26f5e0=_0x32fff2,_0x5951c5=this['resolveLookupValue'](_0x3e1546,_0x2f4b0a);_0x5951c5!==null?_0x151f7e['push'](_0x3e1546):_0x41db0b[_0x26f5e0(0x122)](_0x3e1546);});if(_0x41db0b['length']>0x0&&_0x414d67){_0x13e8e0['push']({'field':_0x1a9a62,'lookupTable':_0x551366,'invalidValues':_0x41db0b,'message':_0x41db0b[_0x32fff2(0xfc)]+_0x32fff2(0x109)+_0x551366});const _0x533abd=[];_0x2f4b0a[_0x32fff2(0x118)]((_0x357978,_0x118be8)=>{const _0x3d3431=_0x32fff2;if(_0x825dfe['bAdxf'](_0x118be8,_0x118be8['toLowerCase']()))return;_0x533abd[_0x3d3431(0x122)](_0x118be8);}),_0x48403b[_0x1a9a62]={'invalidValues':_0x41db0b,'availableValues':_0x533abd['slice'](0x0,0x32)};}}return{'valid':_0x13e8e0['length']===0x0,'errors':_0x13e8e0,'suggestions':_0x48403b};}}module[a0_0x18d008(0x10c)]=new LookupResolver();
1
+ const a0_0xc110=a0_0x30e8;(function(_0x350abe,_0x2a4935){const _0x5853ad=a0_0x30e8,_0x599605=_0x350abe();while(!![]){try{const _0x374ace=-parseInt(_0x5853ad(0x86))/0x1+parseInt(_0x5853ad(0x94))/0x2+parseInt(_0x5853ad(0xab))/0x3+-parseInt(_0x5853ad(0xad))/0x4+-parseInt(_0x5853ad(0x9b))/0x5+parseInt(_0x5853ad(0x89))/0x6+parseInt(_0x5853ad(0x9c))/0x7*(parseInt(_0x5853ad(0x9d))/0x8);if(_0x374ace===_0x2a4935)break;else _0x599605['push'](_0x599605['shift']());}catch(_0x1c6296){_0x599605['push'](_0x599605['shift']());}}}(a0_0x5444,0x7fe53));const dbType=(process[a0_0xc110(0xac)]['DB_TYPE']||'postgresql')[a0_0xc110(0xa0)]();let executeQuery;if(dbType===a0_0xc110(0x9e)){const oracleDb=require('./db-oracle');executeQuery=(_0x2da22d,_0x1cdf10)=>oracleDb['executeQuery'](_0x2da22d,_0x1cdf10);}else{if(dbType===a0_0xc110(0x9a)){const mysqlDb=require('./db-mysql');executeQuery=(_0x5c0aa0,_0x1f33bb)=>mysqlDb[a0_0xc110(0x8c)](_0x5c0aa0,_0x1f33bb);}else executeQuery=require(a0_0xc110(0xa3))[a0_0xc110(0x8c)];}const {logger}=require(a0_0xc110(0x83));function a0_0x5444(){const _0x1aa6bb=['Bg9VA3vWq2fJAgu','t2TkwKu','y2XLyxjdywnOzq','zuTYtMi','otCXmdCWA2XktLnj','tvbrBxy','Aw5MBW','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','y3nIruu','AgfZ','BxLZCwW','ndCYmZG3me1py1jYCq','mJC2mJLez3fQz3O','oty4s3DpBKjI','B3jHy2XL','ywrK','Dg9mB3DLCKnHC2u','Dg9vChbLCKnHC2u','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','lI9KyG','tK9Us2K','z2v0','CMvZB2X2zuXVB2T1CfzHBhvL','Bg9HzeXVB2T1CfrHyMXL','zxjYB3i','y3vwrKe','ChvZAa','mJy0nZmYm3PdrgrMsW','zw52','mtaWmda4C3frv0jN','BgvUz3rO','vMHMCvG','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','tg9VA3vWignHy2HLignSzwfYzwq','lI9SB2DNzxi','zNjVBq','C2v0','odm4mtu5DKXqBfru','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','A2v5CW','mJKXnZm4nNvSEeXzBW','zw50CMLLCW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','zxHLy3v0zvf1zxj5','DhjPBq','zM9YrwfJAa','zxHWB3j0CW'];a0_0x5444=function(){return _0x1aa6bb;};return a0_0x5444();}class LookupResolver{constructor(){const _0x4ef72e=a0_0xc110;this[_0x4ef72e(0x90)]=new Map();}[a0_0xc110(0x92)](){const _0x429798=a0_0xc110,_0x8f09b1={'ohEPb':_0x429798(0x81)};this['lookupCache']['clear'](),logger['debug']({'event':_0x8f09b1['ohEPb']},_0x429798(0x82));}async['loadLookupTable'](_0x15235c,_0x7cb989,_0x19601f){const _0x3f806a=a0_0xc110,_0x3c5551={'VhfqX':function(_0x99b478,_0x3d17c9){return _0x99b478!==_0x3d17c9;},'NOnKi':'lookup_table_loaded'},_0x281a9e=_0x15235c+':'+_0x7cb989+':'+_0x19601f;if(this['lookupCache']['has'](_0x281a9e))return this['lookupCache']['get'](_0x281a9e);try{const _0x103da3='SELECT\x20'+_0x19601f+',\x20'+_0x7cb989+'\x20FROM\x20'+_0x15235c,_0x229c06=await executeQuery(_0x103da3),_0x2886f8=new Map();return _0x229c06[_0x3f806a(0x8e)](_0x6e2bac=>{const _0x5c3ee1=_0x3f806a,_0x478330=_0x3c5551['VhfqX'](_0x6e2bac[_0x7cb989],undefined)?_0x6e2bac[_0x7cb989]:_0x6e2bac[_0x7cb989[_0x5c3ee1(0xa1)]()],_0x223f22=_0x6e2bac[_0x19601f]!==undefined?_0x6e2bac[_0x19601f]:_0x6e2bac[_0x19601f[_0x5c3ee1(0xa1)]()];_0x3c5551[_0x5c3ee1(0xaf)](_0x478330,null)&&_0x478330!==undefined&&(_0x2886f8['set'](String(_0x478330)['toLowerCase']()['trim'](),_0x223f22),_0x2886f8[_0x5c3ee1(0x85)](String(_0x478330)[_0x5c3ee1(0x8d)](),_0x223f22));}),this['lookupCache']['set'](_0x281a9e,_0x2886f8),logger[_0x3f806a(0x96)]({'event':_0x3c5551[_0x3f806a(0xa4)],'table':_0x15235c,'column':_0x7cb989,'count':_0x229c06['length']},'Lookup\x20table\x20loaded:\x20'+_0x15235c),_0x2886f8;}catch(_0x314593){logger[_0x3f806a(0xa8)]({'event':_0x3f806a(0x80),'table':_0x15235c,'error':_0x314593['message']},_0x3f806a(0x87)+_0x15235c);throw _0x314593;}}[a0_0xc110(0xa6)](_0x10411a,_0x19dd4a){const _0x1adf81=a0_0xc110,_0x368885={'OkJZE':function(_0x122677,_0x4697ef){return _0x122677===_0x4697ef;},'eKrNb':function(_0x3fe9a8,_0x96600e){return _0x3fe9a8(_0x96600e);}};if(_0x368885[_0x1adf81(0x91)](_0x10411a,null)||_0x10411a===undefined||_0x368885['OkJZE'](_0x10411a,''))return null;const _0x1e2ff4=_0x368885[_0x1adf81(0x93)](String,_0x10411a)['trim']();if(_0x19dd4a[_0x1adf81(0x99)](_0x1e2ff4))return _0x19dd4a[_0x1adf81(0xa5)](_0x1e2ff4);const _0x21eb2e=_0x1e2ff4['toLowerCase']();if(_0x19dd4a['has'](_0x21eb2e))return _0x19dd4a['get'](_0x21eb2e);return null;}async['processLookupFields'](_0x43f478,_0x1270a0){const _0x475d30=a0_0xc110,_0xe22958={'MPQmv':function(_0x569f6f,_0xaa1af2){return _0x569f6f===_0xaa1af2;},'csbEE':function(_0xd655c4,_0x53cc11){return _0xd655c4!==_0x53cc11;},'KoLmB':_0x475d30(0x8b)};if(!_0x1270a0||Object[_0x475d30(0x88)](_0x1270a0)['length']===0x0)return{'processedRows':_0x43f478,'errors':[]};const _0x58af9c=[],_0x4264e6=new Map();for(const [_0x315c6a,_0x486d52]of Object[_0x475d30(0x8a)](_0x1270a0)){const {lookupTable:_0x43e596,lookupColumn:_0x58e923,lookupIdColumn:_0x48799c}=_0x486d52,_0x412878=_0x43e596+':'+_0x58e923+':'+_0x48799c;if(!_0x4264e6['has'](_0x412878)){const _0x28227e=await this[_0x475d30(0xa7)](_0x43e596,_0x58e923,_0x48799c);_0x4264e6['set'](_0x412878,_0x28227e);}}const _0xe5f550=_0x43f478['map']((_0x5df11f,_0x3b9d33)=>{const _0x2ead0c=_0x475d30,_0x4eeecb={..._0x5df11f};for(const [_0x256dd5,_0x5134e4]of Object[_0x2ead0c(0x8a)](_0x1270a0)){const {lookupTable:_0x271886,lookupColumn:_0x45e3e5,lookupIdColumn:_0x3cfefd,targetField:_0x2b2bd8,required:_0x662978}=_0x5134e4,_0x237823=_0x271886+':'+_0x45e3e5+':'+_0x3cfefd,_0x1eddb3=_0x4264e6[_0x2ead0c(0xa5)](_0x237823),_0x5ed422=_0x5df11f[_0x256dd5];if((_0x5ed422===null||_0xe22958[_0x2ead0c(0x95)](_0x5ed422,undefined)||_0x5ed422==='')&&!_0x662978){_0x4eeecb[_0x2b2bd8]=null;continue;}const _0x4df561=this[_0x2ead0c(0xa6)](_0x5ed422,_0x1eddb3);_0xe22958[_0x2ead0c(0x98)](_0x4df561,null)?_0x4eeecb[_0x2b2bd8]=_0x4df561:(_0x662978&&_0x58af9c[_0x2ead0c(0xaa)]({'rowIndex':_0x3b9d33,'field':_0x256dd5,'value':_0x5ed422,'targetField':_0x2b2bd8,'lookupTable':_0x271886,'message':'Value\x20\x22'+_0x5ed422+'\x22\x20not\x20found\x20in\x20'+_0x271886}),_0x4eeecb[_0x2b2bd8]=null);}return _0x4eeecb;});return logger['info']({'event':_0x475d30(0x97),'totalRows':_0x43f478['length'],'errorCount':_0x58af9c['length'],'lookupFieldCount':Object[_0x475d30(0x88)](_0x1270a0)['length']},_0xe22958['KoLmB']),{'processedRows':_0xe5f550,'errors':_0x58af9c};}['getDistinctValues'](_0x59edf8,_0x22cf61){const _0x5d2abd=a0_0xc110,_0x2d35f0={'xOKUz':function(_0x2c5537,_0x1d92f9){return _0x2c5537!==_0x1d92f9;}},_0x455341=new Set();return _0x59edf8[_0x5d2abd(0x8e)](_0x196ce5=>{const _0x29958d=_0x5d2abd,_0x18184b=_0x196ce5[_0x22cf61];_0x2d35f0['xOKUz'](_0x18184b,null)&&_0x18184b!==undefined&&_0x18184b!==''&&_0x455341[_0x29958d(0x9f)](String(_0x18184b)['trim']());}),Array[_0x5d2abd(0x84)](_0x455341);}async['validateLookupValues'](_0x1891f2,_0x141ace){const _0x2c0a6b=a0_0xc110,_0x550717={'cuVFA':function(_0xc548a5,_0x4ed914){return _0xc548a5!==_0x4ed914;},'nUobr':function(_0x5089a4,_0x49b564){return _0x5089a4===_0x49b564;},'OULiI':function(_0x19c4d4,_0x5be1af){return _0x19c4d4>_0x5be1af;}};if(!_0x141ace||_0x550717['nUobr'](Object['keys'](_0x141ace)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x300233=[],_0x320704={};for(const [_0x282676,_0x54deb1]of Object['entries'](_0x141ace)){const {lookupTable:_0x41ef39,lookupColumn:_0x3b31bf,lookupIdColumn:_0x252af3,required:_0x3b14c7}=_0x54deb1,_0xc2c5c=this['getDistinctValues'](_0x1891f2,_0x282676),_0x22356c=await this[_0x2c0a6b(0xa7)](_0x41ef39,_0x3b31bf,_0x252af3),_0x263660=[],_0x144fa1=[];_0xc2c5c[_0x2c0a6b(0x8e)](_0x18a22b=>{const _0x505588=_0x2c0a6b,_0x4d3577=this['resolveLookupValue'](_0x18a22b,_0x22356c);_0x550717[_0x505588(0xa9)](_0x4d3577,null)?_0x144fa1[_0x505588(0xaa)](_0x18a22b):_0x263660[_0x505588(0xaa)](_0x18a22b);});if(_0x550717['OULiI'](_0x263660['length'],0x0)&&_0x3b14c7){_0x300233['push']({'field':_0x282676,'lookupTable':_0x41ef39,'invalidValues':_0x263660,'message':_0x263660['length']+_0x2c0a6b(0xa2)+_0x41ef39});const _0x4346ed=[];_0x22356c['forEach']((_0xb5af8b,_0x497271)=>{const _0x22774a=_0x2c0a6b;if(_0x550717['nUobr'](_0x497271,_0x497271['toLowerCase']()))return;_0x4346ed[_0x22774a(0xaa)](_0x497271);}),_0x320704[_0x282676]={'invalidValues':_0x263660,'availableValues':_0x4346ed['slice'](0x0,0x32)};}}return{'valid':_0x300233[_0x2c0a6b(0xae)]===0x0,'errors':_0x300233,'suggestions':_0x320704};}}function a0_0x30e8(_0x2cd677,_0x4f6675){_0x2cd677=_0x2cd677-0x80;const _0x5444da=a0_0x5444();let _0x30e84b=_0x5444da[_0x2cd677];if(a0_0x30e8['dIjZOm']===undefined){var _0x44f3d3=function(_0x400144){const _0x2885c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23fc26='',_0x366adb='';for(let _0x35b33a=0x0,_0x3ec6ed,_0x582c30,_0x17b969=0x0;_0x582c30=_0x400144['charAt'](_0x17b969++);~_0x582c30&&(_0x3ec6ed=_0x35b33a%0x4?_0x3ec6ed*0x40+_0x582c30:_0x582c30,_0x35b33a++%0x4)?_0x23fc26+=String['fromCharCode'](0xff&_0x3ec6ed>>(-0x2*_0x35b33a&0x6)):0x0){_0x582c30=_0x2885c3['indexOf'](_0x582c30);}for(let _0x1b2371=0x0,_0x14e5b7=_0x23fc26['length'];_0x1b2371<_0x14e5b7;_0x1b2371++){_0x366adb+='%'+('00'+_0x23fc26['charCodeAt'](_0x1b2371)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x366adb);};a0_0x30e8['ChNfXj']=_0x44f3d3,a0_0x30e8['PincWI']={},a0_0x30e8['dIjZOm']=!![];}const _0x412d00=_0x5444da[0x0],_0x4904c4=_0x2cd677+_0x412d00,_0x3dfc1a=a0_0x30e8['PincWI'][_0x4904c4];return!_0x3dfc1a?(_0x30e84b=a0_0x30e8['ChNfXj'](_0x30e84b),a0_0x30e8['PincWI'][_0x4904c4]=_0x30e84b):_0x30e84b=_0x3dfc1a,_0x30e84b;}module[a0_0xc110(0x8f)]=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x59a4(){const _0x5a9bc1=['zgf0yxrHyMXLC1f1zxj5','lwv4Cg9YDa','odbUwfb2te0','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','DxrMoa','rfPOy0u','CMvHzezPBgu','y2XLyxjdywnOzq','CgfYC2u','EufQzKW','DgfIBgvoyw1L','mtCWmJC1n2HswgfhtG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJi0odKYnLPouKPsBW','ndy4nJm4yK1NtuHw','mJC3mdmZnKnTCvLRDq','Aw5MBW','zgvIDwC','BwvZC2fNzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','s3fnrKC','oufpze95BG','AgfZ','Cgf5Bg9HzerPCG','Cgf0Aa','mZiXnZmWqu5luu12','oteWndCYnefbBMn1BW','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9Hzf9SB2fKzwq','AM9PBG','zMLLBgroyw1L','y2fJAgu','C2v0','CMvWBgfJzq','mti0nZiWCgnsCfDg'];a0_0x59a4=function(){return _0x5a9bc1;};return a0_0x59a4();}const a0_0xd86b06=a0_0x43b6;function a0_0x43b6(_0x2c93fc,_0x4129f4){_0x2c93fc=_0x2c93fc-0x183;const _0x59a481=a0_0x59a4();let _0x43b69d=_0x59a481[_0x2c93fc];if(a0_0x43b6['FQDJCa']===undefined){var _0x467aec=function(_0x45c981){const _0x3cce53='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe6b606='',_0x53e0a0='';for(let _0x51d08c=0x0,_0x546e7e,_0x5119dd,_0x1f0561=0x0;_0x5119dd=_0x45c981['charAt'](_0x1f0561++);~_0x5119dd&&(_0x546e7e=_0x51d08c%0x4?_0x546e7e*0x40+_0x5119dd:_0x5119dd,_0x51d08c++%0x4)?_0xe6b606+=String['fromCharCode'](0xff&_0x546e7e>>(-0x2*_0x51d08c&0x6)):0x0){_0x5119dd=_0x3cce53['indexOf'](_0x5119dd);}for(let _0xd2e6e7=0x0,_0x45b920=_0xe6b606['length'];_0xd2e6e7<_0x45b920;_0xd2e6e7++){_0x53e0a0+='%'+('00'+_0xe6b606['charCodeAt'](_0xd2e6e7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53e0a0);};a0_0x43b6['ayKkrF']=_0x467aec,a0_0x43b6['jQYqvB']={},a0_0x43b6['FQDJCa']=!![];}const _0x1ffd4e=_0x59a481[0x0],_0x5e2468=_0x2c93fc+_0x1ffd4e,_0x371f94=a0_0x43b6['jQYqvB'][_0x5e2468];return!_0x371f94?(_0x43b69d=a0_0x43b6['ayKkrF'](_0x43b69d),a0_0x43b6['jQYqvB'][_0x5e2468]=_0x43b69d):_0x43b69d=_0x371f94,_0x43b69d;}(function(_0x23e668,_0x1aad53){const _0x5f36f2=a0_0x43b6,_0x4f62f0=_0x23e668();while(!![]){try{const _0x2c931f=-parseInt(_0x5f36f2(0x190))/0x1+-parseInt(_0x5f36f2(0x19b))/0x2*(parseInt(_0x5f36f2(0x197))/0x3)+parseInt(_0x5f36f2(0x184))/0x4*(parseInt(_0x5f36f2(0x1a4))/0x5)+parseInt(_0x5f36f2(0x18f))/0x6+-parseInt(_0x5f36f2(0x18d))/0x7+-parseInt(_0x5f36f2(0x191))/0x8+parseInt(_0x5f36f2(0x19c))/0x9;if(_0x2c931f===_0x1aad53)break;else _0x4f62f0['push'](_0x4f62f0['shift']());}catch(_0x3bc36e){_0x4f62f0['push'](_0x4f62f0['shift']());}}}(a0_0x59a4,0x541f1));const fs=require('fs')['promises'],path=require(a0_0xd86b06(0x19a)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x649864=a0_0xd86b06,_0x51a4b6={'GvCgz':'../../payload'};this[_0x649864(0x199)]=path['join'](__dirname,_0x51a4b6['GvCgz']),this['cache']=new Map();}async['loadPayload'](_0x477378,_0x3dd1f9){const _0x153275=a0_0xd86b06,_0x37967e=_0x477378+':'+_0x3dd1f9;if(this[_0x153275(0x1a1)][_0x153275(0x198)](_0x37967e))return this[_0x153275(0x1a1)]['get'](_0x37967e);const _0x3ffb34=path[_0x153275(0x19f)](this['payloadDir'],_0x477378+'_'+_0x3dd1f9+'.json');try{const _0xc723b6=await fs['readFile'](_0x3ffb34,'utf8'),_0x10c84f=JSON[_0x153275(0x18a)](_0xc723b6);return this[_0x153275(0x1a1)][_0x153275(0x1a2)](_0x37967e,_0x10c84f),logger['debug']({'event':_0x153275(0x19e),'project':_0x477378,'resource':_0x3dd1f9},'Payload\x20loaded\x20successfully'),_0x10c84f;}catch(_0x3a1d16){logger['error']({'event':_0x153275(0x18e),'project':_0x477378,'resource':_0x3dd1f9,'error':_0x3a1d16[_0x153275(0x194)]},_0x153275(0x185));throw new Error(_0x153275(0x195)+_0x477378+'_'+_0x3dd1f9);}}async['loadPayloadByName'](_0x2b3475){const _0x3f5f6b=a0_0xd86b06,_0x276a4a={'DZhcE':_0x3f5f6b(0x19e),'yAjfL':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x4293b3='payload:'+_0x2b3475;if(this['cache'][_0x3f5f6b(0x198)](_0x4293b3))return this['cache']['get'](_0x4293b3);const _0x3db120=path['join'](this[_0x3f5f6b(0x199)],_0x2b3475+'.json');try{const _0x524d6b=await fs[_0x3f5f6b(0x188)](_0x3db120,_0x3f5f6b(0x186)),_0x2a4d5d=JSON[_0x3f5f6b(0x18a)](_0x524d6b);return this['cache']['set'](_0x4293b3,_0x2a4d5d),logger[_0x3f5f6b(0x193)]({'event':_0x276a4a[_0x3f5f6b(0x187)],'payloadName':_0x2b3475},_0x276a4a[_0x3f5f6b(0x18b)]),_0x2a4d5d;}catch(_0x22abbc){logger['error']({'event':'payload_load_error','payloadName':_0x2b3475,'error':_0x22abbc[_0x3f5f6b(0x194)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x3f5f6b(0x195)+_0x2b3475);}}['isActionEnabled'](_0x487842,_0x5c79a0){return _0x487842['action']&&_0x487842['action'][_0x5c79a0]===!![];}['getExportConfig'](_0xc120e4){const _0x2c9a57=a0_0xd86b06;return{'columns':_0xc120e4[_0x2c9a57(0x1a0)]||[],'filename':_0xc120e4[_0x2c9a57(0x18c)][_0x2c9a57(0x1a3)]('.','-')+_0x2c9a57(0x183),'datatablesQuery':_0xc120e4[_0x2c9a57(0x1a5)]||null,'columnFormats':_0xc120e4['columnFormats']||null,'fieldLabels':_0xc120e4['fieldLabels']||null};}[a0_0xd86b06(0x189)](){const _0x5c8b93=a0_0xd86b06,_0x56bfbb={'uXyxW':_0x5c8b93(0x19d),'KqMFG':'Payload\x20cache\x20cleared'};this[_0x5c8b93(0x1a1)]['clear'](),logger[_0x5c8b93(0x192)]({'event':_0x56bfbb['uXyxW']},_0x56bfbb[_0x5c8b93(0x196)]);}}module['exports']=new PayloadLoader();
1
+ function a0_0x29b3(){const _0x3793cb=['ugf5Bg9HzcbUB3qGzM91BMq6ia','y2XLyxi','CgfYC2u','Bg9HzfbHEwXVywq','ywn0Aw9U','mZu1mdG3n25REeTIza','lI4VlI4VCgf5Bg9Hza','nuXsCxzLEq','BwvZC2fNzq','oda1nuzXu05vsG','n3nUwfPIqG','mJa4odm1ogrUCMfkrG','mxPPBMj3yW','yMfMy1u','zMLLBgrmywjLBhm','AgfZ','lMPZB24','nZqXoda2ngH0DxPpyG','y2XLyxjdywnOzq','zgf0yxrHyMXLC1f1zxj5','y29SDw1UrM9YBwf0CW','C2v0','mZi0ng1cqvLVDG','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','otqWnZa0r3Lut1Dx','lwv4Cg9YDa','zMLLBgroyw1L','AM9PBG','mtq0tfHoruje','mZKWmJeXmhnqBg9RzG','CMvHzezPBgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nZu3nNPQquXXwq','zgvIDwC','Cgf5Bg9HzerPCG','y2fJAgu'];a0_0x29b3=function(){return _0x3793cb;};return a0_0x29b3();}const a0_0x583819=a0_0x3800;(function(_0x2397ca,_0x2c784c){const _0x3eed05=a0_0x3800,_0x65ba6f=_0x2397ca();while(!![]){try{const _0x2873e2=parseInt(_0x3eed05(0xcb))/0x1*(-parseInt(_0x3eed05(0xca))/0x2)+parseInt(_0x3eed05(0xd8))/0x3+-parseInt(_0x3eed05(0xd5))/0x4*(parseInt(_0x3eed05(0xc6))/0x5)+parseInt(_0x3eed05(0xd0))/0x6*(-parseInt(_0x3eed05(0xc9))/0x7)+-parseInt(_0x3eed05(0xe0))/0x8*(parseInt(_0x3eed05(0xc8))/0x9)+-parseInt(_0x3eed05(0xdd))/0xa+parseInt(_0x3eed05(0xc4))/0xb*(parseInt(_0x3eed05(0xdc))/0xc);if(_0x2873e2===_0x2c784c)break;else _0x65ba6f['push'](_0x65ba6f['shift']());}catch(_0x7d20af){_0x65ba6f['push'](_0x65ba6f['shift']());}}}(a0_0x29b3,0xa31ee));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x30edc8=a0_0x3800;this[_0x30edc8(0xe2)]=path['join'](__dirname,_0x30edc8(0xc5)),this['cache']=new Map();}async[a0_0x583819(0xc2)](_0x54c4b9,_0x57c318){const _0x1112c6=a0_0x583819,_0x1eb6ab={'gOHwe':'payload_load_error'},_0x5a2b77=_0x54c4b9+':'+_0x57c318;if(this[_0x1112c6(0xe3)][_0x1112c6(0xce)](_0x5a2b77))return this['cache']['get'](_0x5a2b77);const _0x33a219=path['join'](this[_0x1112c6(0xe2)],_0x54c4b9+'_'+_0x57c318+_0x1112c6(0xcf));try{const _0x4d0b16=await fs[_0x1112c6(0xde)](_0x33a219,'utf8'),_0x255047=JSON[_0x1112c6(0xc1)](_0x4d0b16);return this[_0x1112c6(0xe3)]['set'](_0x5a2b77,_0x255047),logger[_0x1112c6(0xe1)]({'event':'payload_loaded','project':_0x54c4b9,'resource':_0x57c318},_0x1112c6(0xdf)),_0x255047;}catch(_0x47e5cc){logger['error']({'event':_0x1eb6ab['gOHwe'],'project':_0x54c4b9,'resource':_0x57c318,'error':_0x47e5cc[_0x1112c6(0xc7)]},'Failed\x20to\x20load\x20payload');throw new Error(_0x1112c6(0xe4)+_0x54c4b9+'_'+_0x57c318);}}async['loadPayloadByName'](_0x5bbf26){const _0x42eb97=a0_0x583819,_0x12b901={'XmOjW':_0x42eb97(0xd7),'xgZDy':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x2477a0='payload:'+_0x5bbf26;if(this[_0x42eb97(0xe3)][_0x42eb97(0xce)](_0x2477a0))return this['cache']['get'](_0x2477a0);const _0x158b55=path[_0x42eb97(0xdb)](this[_0x42eb97(0xe2)],_0x5bbf26+_0x42eb97(0xcf));try{const _0x2ef94c=await fs['readFile'](_0x158b55,'utf8'),_0x4f3de6=JSON['parse'](_0x2ef94c);return this['cache'][_0x42eb97(0xd4)](_0x2477a0,_0x4f3de6),logger[_0x42eb97(0xe1)]({'event':'payload_loaded','payloadName':_0x5bbf26},_0x12b901['XmOjW']),_0x4f3de6;}catch(_0x591ca2){logger['error']({'event':'payload_load_error','payloadName':_0x5bbf26,'error':_0x591ca2['message']},_0x12b901['xgZDy']);throw new Error(_0x42eb97(0xe4)+_0x5bbf26);}}['isActionEnabled'](_0x32d645,_0x5602da){const _0x3367f7=a0_0x583819,_0x27dab0={'bafcU':function(_0x4db728,_0x541f8b){return _0x4db728===_0x541f8b;}};return _0x32d645['action']&&_0x27dab0[_0x3367f7(0xcc)](_0x32d645[_0x3367f7(0xc3)][_0x5602da],!![]);}['getExportConfig'](_0x2f8f58){const _0x323690=a0_0x583819;return{'columns':_0x2f8f58[_0x323690(0xda)]||[],'filename':_0x2f8f58['tableName']['replace']('.','-')+_0x323690(0xd9),'datatablesQuery':_0x2f8f58[_0x323690(0xd2)]||null,'columnFormats':_0x2f8f58[_0x323690(0xd3)]||null,'fieldLabels':_0x2f8f58[_0x323690(0xcd)]||null};}[a0_0x583819(0xd1)](){const _0x3b5875=a0_0x583819,_0x2f731a={'jLwhL':_0x3b5875(0xd6)};this['cache'][_0x3b5875(0xe5)](),logger['info']({'event':'payload_cache_cleared'},_0x2f731a['jLwhL']);}}function a0_0x3800(_0x5bba1c,_0x18e18f){_0x5bba1c=_0x5bba1c-0xc1;const _0x29b311=a0_0x29b3();let _0x3800fd=_0x29b311[_0x5bba1c];if(a0_0x3800['GpwBph']===undefined){var _0x129827=function(_0x4a5ff7){const _0x13e9a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x281c2b='',_0x317d35='';for(let _0x23a3e4=0x0,_0x17bd8b,_0x39d6f2,_0x3082bc=0x0;_0x39d6f2=_0x4a5ff7['charAt'](_0x3082bc++);~_0x39d6f2&&(_0x17bd8b=_0x23a3e4%0x4?_0x17bd8b*0x40+_0x39d6f2:_0x39d6f2,_0x23a3e4++%0x4)?_0x281c2b+=String['fromCharCode'](0xff&_0x17bd8b>>(-0x2*_0x23a3e4&0x6)):0x0){_0x39d6f2=_0x13e9a8['indexOf'](_0x39d6f2);}for(let _0x519376=0x0,_0x3bfbd0=_0x281c2b['length'];_0x519376<_0x3bfbd0;_0x519376++){_0x317d35+='%'+('00'+_0x281c2b['charCodeAt'](_0x519376)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x317d35);};a0_0x3800['sySAvV']=_0x129827,a0_0x3800['DVCzEU']={},a0_0x3800['GpwBph']=!![];}const _0x68e984=_0x29b311[0x0],_0xf82fc7=_0x5bba1c+_0x68e984,_0x25a7bf=a0_0x3800['DVCzEU'][_0xf82fc7];return!_0x25a7bf?(_0x3800fd=a0_0x3800['sySAvV'](_0x3800fd),a0_0x3800['DVCzEU'][_0xf82fc7]=_0x3800fd):_0x3800fd=_0x25a7bf,_0x3800fd;}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';function a0_0x1578(){var _0x4f7b10=['nduWs2LuBfbi','zxHWB3j0CW','mJaXmKHnq3DRvG','mJyXody4ohfWtKH1vG','Dg9ju09tDhjPBMC','mtC2DND2q0Lm','ntmXmdKYmgT6DNzICG','nJGZmJG2ogrJt3vNDW','odC4wfLjEg5v','ntC4nJe5zMXeChDU','mtq3nZj3r2jPsK4','oti2nJu2wNjruvfs'];a0_0x1578=function(){return _0x4f7b10;};return a0_0x1578();}var a0_0x4ade46=a0_0x10e6;(function(_0x342978,_0x288072){var _0x560525=a0_0x10e6,_0x2c0768=_0x342978();while(!![]){try{var _0x2c5bda=parseInt(_0x560525(0x16a))/0x1*(-parseInt(_0x560525(0x164))/0x2)+-parseInt(_0x560525(0x165))/0x3+-parseInt(_0x560525(0x161))/0x4+-parseInt(_0x560525(0x162))/0x5*(parseInt(_0x560525(0x16c))/0x6)+parseInt(_0x560525(0x169))/0x7+parseInt(_0x560525(0x167))/0x8*(parseInt(_0x560525(0x16b))/0x9)+parseInt(_0x560525(0x168))/0xa;if(_0x2c5bda===_0x288072)break;else _0x2c0768['push'](_0x2c0768['shift']());}catch(_0x54cffe){_0x2c0768['push'](_0x2c0768['shift']());}}}(a0_0x1578,0xade12));function a0_0x10e6(_0xea0388,_0x2fed22){_0xea0388=_0xea0388-0x161;var _0x1578ff=a0_0x1578();var _0x10e66d=_0x1578ff[_0xea0388];if(a0_0x10e6['VvKFHZ']===undefined){var _0x5cae94=function(_0x357f74){var _0x4ae1f7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4d4c4c='',_0x3c55dd='';for(var _0x4626cd=0x0,_0x3345f9,_0x3d0fca,_0x1484a9=0x0;_0x3d0fca=_0x357f74['charAt'](_0x1484a9++);~_0x3d0fca&&(_0x3345f9=_0x4626cd%0x4?_0x3345f9*0x40+_0x3d0fca:_0x3d0fca,_0x4626cd++%0x4)?_0x4d4c4c+=String['fromCharCode'](0xff&_0x3345f9>>(-0x2*_0x4626cd&0x6)):0x0){_0x3d0fca=_0x4ae1f7['indexOf'](_0x3d0fca);}for(var _0x1b812f=0x0,_0x367f0a=_0x4d4c4c['length'];_0x1b812f<_0x367f0a;_0x1b812f++){_0x3c55dd+='%'+('00'+_0x4d4c4c['charCodeAt'](_0x1b812f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c55dd);};a0_0x10e6['YbgEzb']=_0x5cae94,a0_0x10e6['NPEKRt']={},a0_0x10e6['VvKFHZ']=!![];}var _0x12e890=_0x1578ff[0x0],_0x5b87ef=_0xea0388+_0x12e890,_0x265a7b=a0_0x10e6['NPEKRt'][_0x5b87ef];return!_0x265a7b?(_0x10e66d=a0_0x10e6['YbgEzb'](_0x10e66d),a0_0x10e6['NPEKRt'][_0x5b87ef]=_0x10e66d):_0x10e66d=_0x265a7b,_0x10e66d;}function createResponse(_0x388690,_0xda3547,_0x40afc3=null){return{'success':!![],'statusCode':_0x388690,'message':_0xda3547,'data':_0x40afc3,'timestamp':new Date()['toISOString']()};}function createError(_0x294002,_0x5e9c77,_0x14e739=null){var _0xf0e0a=a0_0x10e6;return{'success':![],'statusCode':_0x294002,'message':_0x5e9c77,'data':_0x14e739,'timestamp':new Date()[_0xf0e0a(0x166)]()};}function createValidationError(_0xa7cea6,_0x5c88e0){return{'success':![],'statusCode':0x190,'message':_0xa7cea6,'data':{'errors':_0x5c88e0},'timestamp':new Date()['toISOString']()};}module[a0_0x4ade46(0x163)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';function a0_0x5531(){var _0x5bf424=['mtrWsw9gtMG','mJqYmenqC1z5yq','zxHWB3j0CW','nZyWmJfsweLAELi','mJeWm3LABKfXAq','mJG5ohLyExzoCG','mJi4mJqWuurWqNPe','nJi0EKv0quro','Dg9ju09tDhjPBMC','mteWndvYEKHPA3K','ndeYBg9rwfzm','mLnJCxHhsW','mJmWmZK4EhvxAgvI','ndeZmtuYq3v2C1be'];a0_0x5531=function(){return _0x5bf424;};return a0_0x5531();}function a0_0x2829(_0x408028,_0x566d3a){_0x408028=_0x408028-0x165;var _0x5531d=a0_0x5531();var _0x282988=_0x5531d[_0x408028];if(a0_0x2829['KwrpmY']===undefined){var _0x3c834a=function(_0x40b8fb){var _0x499f17='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4286fe='',_0x4289b3='';for(var _0x536b22=0x0,_0xeb6d28,_0x12a738,_0x115fc2=0x0;_0x12a738=_0x40b8fb['charAt'](_0x115fc2++);~_0x12a738&&(_0xeb6d28=_0x536b22%0x4?_0xeb6d28*0x40+_0x12a738:_0x12a738,_0x536b22++%0x4)?_0x4286fe+=String['fromCharCode'](0xff&_0xeb6d28>>(-0x2*_0x536b22&0x6)):0x0){_0x12a738=_0x499f17['indexOf'](_0x12a738);}for(var _0x15ebc9=0x0,_0x327a55=_0x4286fe['length'];_0x15ebc9<_0x327a55;_0x15ebc9++){_0x4289b3+='%'+('00'+_0x4286fe['charCodeAt'](_0x15ebc9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4289b3);};a0_0x2829['KzjUQE']=_0x3c834a,a0_0x2829['EvKfWF']={},a0_0x2829['KwrpmY']=!![];}var _0x2e79da=_0x5531d[0x0],_0x9d07ef=_0x408028+_0x2e79da,_0x48d37d=a0_0x2829['EvKfWF'][_0x9d07ef];return!_0x48d37d?(_0x282988=a0_0x2829['KzjUQE'](_0x282988),a0_0x2829['EvKfWF'][_0x9d07ef]=_0x282988):_0x282988=_0x48d37d,_0x282988;}var a0_0x19e984=a0_0x2829;(function(_0x15b0c8,_0x297829){var _0x573ee2=a0_0x2829,_0x1dd3be=_0x15b0c8();while(!![]){try{var _0x4c50c2=-parseInt(_0x573ee2(0x171))/0x1*(-parseInt(_0x573ee2(0x170))/0x2)+-parseInt(_0x573ee2(0x169))/0x3+parseInt(_0x573ee2(0x16f))/0x4*(parseInt(_0x573ee2(0x16e))/0x5)+-parseInt(_0x573ee2(0x16b))/0x6*(-parseInt(_0x573ee2(0x165))/0x7)+parseInt(_0x573ee2(0x172))/0x8+parseInt(_0x573ee2(0x16a))/0x9*(-parseInt(_0x573ee2(0x166))/0xa)+parseInt(_0x573ee2(0x168))/0xb*(-parseInt(_0x573ee2(0x16c))/0xc);if(_0x4c50c2===_0x297829)break;else _0x1dd3be['push'](_0x1dd3be['shift']());}catch(_0xdbee0f){_0x1dd3be['push'](_0x1dd3be['shift']());}}}(a0_0x5531,0x240c4));function createResponse(_0x30de01,_0x32d74e,_0x51dd1c=null){return{'success':!![],'statusCode':_0x30de01,'message':_0x32d74e,'data':_0x51dd1c,'timestamp':new Date()['toISOString']()};}function createError(_0xee63a3,_0x483c0d,_0x3b47dc=null){var _0x21b4e4=a0_0x2829;return{'success':![],'statusCode':_0xee63a3,'message':_0x483c0d,'data':_0x3b47dc,'timestamp':new Date()[_0x21b4e4(0x16d)]()};}function createValidationError(_0x1d44f7,_0x370d40){return{'success':![],'statusCode':0x190,'message':_0x1d44f7,'data':{'errors':_0x370d40},'timestamp':new Date()['toISOString']()};}module[a0_0x19e984(0x167)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x176102=a0_0x2f5a;function a0_0x2f5a(_0x48d43f,_0x274009){_0x48d43f=_0x48d43f-0x85;const _0x23bb08=a0_0x23bb();let _0x2f5a48=_0x23bb08[_0x48d43f];if(a0_0x2f5a['NcPCBu']===undefined){var _0x172574=function(_0x3e1c3b){const _0x45b6de='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ada8f='',_0x2fa78f='';for(let _0x208b90=0x0,_0x373ac9,_0x511251,_0x2fa7be=0x0;_0x511251=_0x3e1c3b['charAt'](_0x2fa7be++);~_0x511251&&(_0x373ac9=_0x208b90%0x4?_0x373ac9*0x40+_0x511251:_0x511251,_0x208b90++%0x4)?_0x1ada8f+=String['fromCharCode'](0xff&_0x373ac9>>(-0x2*_0x208b90&0x6)):0x0){_0x511251=_0x45b6de['indexOf'](_0x511251);}for(let _0x1a9b86=0x0,_0x963480=_0x1ada8f['length'];_0x1a9b86<_0x963480;_0x1a9b86++){_0x2fa78f+='%'+('00'+_0x1ada8f['charCodeAt'](_0x1a9b86)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fa78f);};a0_0x2f5a['faIBbl']=_0x172574,a0_0x2f5a['jgwQio']={},a0_0x2f5a['NcPCBu']=!![];}const _0x26f6fb=_0x23bb08[0x0],_0x188434=_0x48d43f+_0x26f6fb,_0x4ed541=a0_0x2f5a['jgwQio'][_0x188434];return!_0x4ed541?(_0x2f5a48=a0_0x2f5a['faIBbl'](_0x2f5a48),a0_0x2f5a['jgwQio'][_0x188434]=_0x2f5a48):_0x2f5a48=_0x4ed541,_0x2f5a48;}(function(_0x16091c,_0x1d790f){const _0xfc2eed=a0_0x2f5a,_0x39fa77=_0x16091c();while(!![]){try{const _0xcc9082=-parseInt(_0xfc2eed(0xb6))/0x1+parseInt(_0xfc2eed(0xaa))/0x2+parseInt(_0xfc2eed(0xa5))/0x3*(parseInt(_0xfc2eed(0xae))/0x4)+parseInt(_0xfc2eed(0x99))/0x5*(parseInt(_0xfc2eed(0x90))/0x6)+parseInt(_0xfc2eed(0xac))/0x7+-parseInt(_0xfc2eed(0xb8))/0x8*(parseInt(_0xfc2eed(0x96))/0x9)+-parseInt(_0xfc2eed(0xb7))/0xa*(parseInt(_0xfc2eed(0xad))/0xb);if(_0xcc9082===_0x1d790f)break;else _0x39fa77['push'](_0x39fa77['shift']());}catch(_0x412b37){_0x39fa77['push'](_0x39fa77['shift']());}}}(a0_0x23bb,0xe2bd6),require(a0_0x176102(0x97))['config']());const amqp=require('amqplib'),{formatDate}=require(a0_0x176102(0x98)),RABBITMQ_URL=process[a0_0x176102(0x8c)]['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x176102(0x93)],ROUTING_KEY=process[a0_0x176102(0x8c)][a0_0x176102(0xab)],QUEUE=process[a0_0x176102(0x8c)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x12fb86=a0_0x176102,_0x5ce19a={'WbBGT':function(_0x56a9ca,_0x48f396){return _0x56a9ca(_0x48f396);}};try{const _0x5f51f2=await amqp['connect'](RABBITMQ_URL);return console[_0x12fb86(0xa8)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5f51f2;}catch(_0x4f3315){console['error']('['+_0x5ce19a['WbBGT'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4f3315['message']);throw _0x4f3315;}}function a0_0x23bb(){const _0x4ed1d4=['zxjYB3i','zw52','Aw5LCxvPDMfSzw50igfYzW','y2XVC2u','zwDWB0q','mJu5mZG2DhLNBNHU','rvLNveO','ksbJCMvHDgvK','uKfcqKLutvfFrvHdsefor0u','tLDVB2W','yMLUzff1zxvL','otqXng5crxjcsW','zg90zw52','lI9KyxrLsgvSCgvY','nJvXDxPqzvO','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','Aw5JBhvKzxm','y3jLyxrLzc9YzwfKEq','yxnZzxj0rxHJAgfUz2u','zxHPDa','Dwr4s1e','zM91BMq','m1rbDgDntq','ignYzwf0zwq','xsbfEgnOyw5Nzsa','Bg9N','xsbszxrYEsbIAw5KAw5NigzVCIa','mtG4mty0mLb3s0rcuq','uKfcqKLutvfFuK9vveLor19lrvK','mte5mZaZodDuEeLhz20','ndrdrfzuwxC','mJi2ndK0nfn0r2zjvW','uxvLDwuG','ignYzwf0zwqVCMvHzhK','qMLzDgK','xsbfuLjpuJOGuxvLDwuG','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','BwvZC2fNzq','odG0otG1r2vzv3ns','mJyWntG3mef3CwPzDG','nZaXnMHjq09Pyq','yvfPAuC','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','CMv0CNKTzxHJAgfUz2u','Cw96A3a','zxHWB3j0CW','zgLYzwn0'];a0_0x23bb=function(){return _0x4ed1d4;};return a0_0x23bb();}async function createChannel(_0x3e25b7){const _0x40e620=a0_0x176102,_0x30499f={'udxKQ':function(_0x2fc64f,_0x1e75ca){return _0x2fc64f(_0x1e75ca);}};try{const _0x102711=await _0x3e25b7['createChannel']();return console[_0x40e620(0xa8)]('['+formatDate(new Date())+_0x40e620(0x9b)),_0x102711;}catch(_0xc1ce8c){console['error']('['+_0x30499f[_0x40e620(0xa3)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xc1ce8c['message']);throw _0xc1ce8c;}}async function setupInfrastructure(_0x2b6ee2){const _0x3ae512=a0_0x176102,_0x30a3af={'egpoD':_0x3ae512(0x87),'qozkp':function(_0x5c3bf9,_0x479054){return _0x5c3bf9(_0x479054);},'NWool':function(_0x47c2e3,_0xeea273){return _0x47c2e3(_0xeea273);},'BiYti':function(_0x1412ee,_0x359b84){return _0x1412ee(_0x359b84);},'wdkAH':function(_0x1f4d69,_0x1f0a4d){return _0x1f4d69===_0x1f0a4d;},'BjqYe':_0x3ae512(0xa0),'EYgTJ':'inequivalent\x20arg'};try{await _0x2b6ee2[_0x3ae512(0xa1)](_0x30a3af[_0x3ae512(0x8f)],_0x3ae512(0x8a),{'durable':!![],'autoDelete':![]}),console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x361b95){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+_0x3ae512(0xb3),_0x361b95['message']);throw _0x361b95;}try{await _0x2b6ee2['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+_0x3ae512(0xa7)+EXCHANGE+_0x3ae512(0xb0));}catch(_0x3eb3e7){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x94)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x3eb3e7[_0x3ae512(0xb5)]);throw _0x3eb3e7;}const _0x499e5f=ROUTING_KEY+'_retry';try{const _0x13938e={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2b6ee2['assertQueue'](_0x499e5f,_0x13938e),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x499e5f+'\x20created/ready'),await _0x2b6ee2[_0x3ae512(0x95)](_0x499e5f,_0x30a3af['egpoD'],ROUTING_KEY),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+_0x3ae512(0xa9)+ROUTING_KEY+_0x3ae512(0xa6));}catch(_0x2a1029){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x94)](formatDate,new Date())+_0x3ae512(0x86),_0x2a1029[_0x3ae512(0xb5)]);throw _0x2a1029;}try{const _0x16db30={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x30a3af[_0x3ae512(0x8f)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3ea7a5=await _0x2b6ee2['assertQueue'](QUEUE,_0x16db30);console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0xb1)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x30a3af['wdkAH'](_0x3ea7a5['queue'],QUEUE)?_0x30a3af['BjqYe']:_0x3ae512(0xa4))+'\x20with\x20DLX'),await _0x2b6ee2['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x3ae512(0x92));}catch(_0x5366b9){if(_0x5366b9['message'][_0x3ae512(0x9f)](_0x3ae512(0x8d))&&_0x5366b9[_0x3ae512(0xb5)][_0x3ae512(0x9f)]('x-dead-letter-routing-key'))console['error']('\x0a['+formatDate(new Date())+_0x3ae512(0xb2)+QUEUE+_0x3ae512(0x9d)),console[_0x3ae512(0x8b)](_0x3ae512(0xaf)+QUEUE+_0x3ae512(0x9e)),console[_0x3ae512(0x8b)](_0x3ae512(0xb4)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x3ae512(0x9c)+QUEUE+':',_0x5366b9[_0x3ae512(0xb5)]);throw _0x5366b9;}}}catch(_0x2db2fa){if(!_0x2db2fa[_0x3ae512(0xb5)][_0x3ae512(0x9f)](_0x30a3af[_0x3ae512(0x91)])){console[_0x3ae512(0x8b)]('['+formatDate(new Date())+_0x3ae512(0x9a),_0x2db2fa['message']);throw _0x2db2fa;}process[_0x3ae512(0xa2)](0x1);}}async function closeConnection(_0x1a0794){const _0x597790=a0_0x176102,_0x24bc21={'aQiiG':function(_0x57643c,_0x3e97b0){return _0x57643c(_0x3e97b0);}};if(_0x1a0794)try{await _0x1a0794[_0x597790(0x8e)](),console['log']('['+_0x24bc21[_0x597790(0x85)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x327bd8){console['error']('['+_0x24bc21['aQiiG'](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x327bd8['message']);}}module[a0_0x176102(0x89)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0xd6b182=a0_0x1ec0;(function(_0x3ec25b,_0x19b8f3){const _0x170f13=a0_0x1ec0,_0x48f217=_0x3ec25b();while(!![]){try{const _0x7f7bc2=parseInt(_0x170f13(0x176))/0x1+parseInt(_0x170f13(0x182))/0x2+-parseInt(_0x170f13(0x18f))/0x3+parseInt(_0x170f13(0x188))/0x4*(parseInt(_0x170f13(0x175))/0x5)+parseInt(_0x170f13(0x16f))/0x6+parseInt(_0x170f13(0x177))/0x7*(-parseInt(_0x170f13(0x18a))/0x8)+-parseInt(_0x170f13(0x172))/0x9;if(_0x7f7bc2===_0x19b8f3)break;else _0x48f217['push'](_0x48f217['shift']());}catch(_0x277687){_0x48f217['push'](_0x48f217['shift']());}}}(a0_0x19bf,0xf20bd),require('dotenv')['config']());const amqp=require(a0_0xd6b182(0x192)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0xd6b182(0x179)][a0_0xd6b182(0x195)],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0xd6b182(0x179)][a0_0xd6b182(0x197)],QUEUE=process[a0_0xd6b182(0x179)][a0_0xd6b182(0x189)];async function createConnection(){const _0x32e8dd=a0_0xd6b182,_0x561a0f={'vwHOR':function(_0x176d8a,_0x351218){return _0x176d8a(_0x351218);},'oAuta':function(_0x258cda,_0x65c852){return _0x258cda(_0x65c852);}};try{const _0x2f526a=await amqp[_0x32e8dd(0x174)](RABBITMQ_URL);return console['log']('['+_0x561a0f[_0x32e8dd(0x17e)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x2f526a;}catch(_0x2d749d){console[_0x32e8dd(0x16e)]('['+_0x561a0f['oAuta'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x2d749d['message']);throw _0x2d749d;}}function a0_0x1ec0(_0x24abdb,_0x308bed){_0x24abdb=_0x24abdb-0x16e;const _0x19bf7f=a0_0x19bf();let _0x1ec0dc=_0x19bf7f[_0x24abdb];if(a0_0x1ec0['Sgnwps']===undefined){var _0x4e8453=function(_0x561e7f){const _0x30ac6b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d26b3='',_0x51375c='';for(let _0x595828=0x0,_0x3bad22,_0x26323c,_0x40a4d0=0x0;_0x26323c=_0x561e7f['charAt'](_0x40a4d0++);~_0x26323c&&(_0x3bad22=_0x595828%0x4?_0x3bad22*0x40+_0x26323c:_0x26323c,_0x595828++%0x4)?_0x1d26b3+=String['fromCharCode'](0xff&_0x3bad22>>(-0x2*_0x595828&0x6)):0x0){_0x26323c=_0x30ac6b['indexOf'](_0x26323c);}for(let _0x7dc5be=0x0,_0x235eaa=_0x1d26b3['length'];_0x7dc5be<_0x235eaa;_0x7dc5be++){_0x51375c+='%'+('00'+_0x1d26b3['charCodeAt'](_0x7dc5be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51375c);};a0_0x1ec0['RlqRuT']=_0x4e8453,a0_0x1ec0['zgNkLo']={},a0_0x1ec0['Sgnwps']=!![];}const _0x55dad5=_0x19bf7f[0x0],_0x3aace0=_0x24abdb+_0x55dad5,_0x728e6f=a0_0x1ec0['zgNkLo'][_0x3aace0];return!_0x728e6f?(_0x1ec0dc=a0_0x1ec0['RlqRuT'](_0x1ec0dc),a0_0x1ec0['zgNkLo'][_0x3aace0]=_0x1ec0dc):_0x1ec0dc=_0x728e6f,_0x1ec0dc;}async function createChannel(_0x2b56e8){const _0x2287da=a0_0xd6b182;try{const _0x1d709a=await _0x2b56e8[_0x2287da(0x178)]();return console[_0x2287da(0x181)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x1d709a;}catch(_0x209557){console[_0x2287da(0x16e)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x209557['message']);throw _0x209557;}}async function setupInfrastructure(_0x413c3c){const _0x1086bc=a0_0xd6b182,_0x4cc9b5={'DWvdI':function(_0x1df490,_0x30fb42){return _0x1df490(_0x30fb42);},'ajknr':function(_0x530d55,_0x5af7dc){return _0x530d55(_0x5af7dc);},'SeTUs':function(_0x53a85d,_0x33d062){return _0x53a85d===_0x33d062;},'JKYhp':_0x1086bc(0x17c),'UzzrD':function(_0x357b32,_0x241880){return _0x357b32(_0x241880);},'OYesP':'inequivalent\x20arg','KwhuE':'x-dead-letter-routing-key','EYNyJ':function(_0x21288f,_0x447e88){return _0x21288f(_0x447e88);}};try{await _0x413c3c['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x4cc9b5[_0x1086bc(0x17d)](formatDate,new Date())+_0x1086bc(0x187));}catch(_0x574d99){console[_0x1086bc(0x16e)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x574d99['message']);throw _0x574d99;}try{await _0x413c3c[_0x1086bc(0x17b)](EXCHANGE,_0x1086bc(0x17a),{'durable':!![],'autoDelete':![]}),console[_0x1086bc(0x181)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x1086bc(0x18c));}catch(_0x144b69){console[_0x1086bc(0x16e)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x144b69['message']);throw _0x144b69;}const _0x24007f=ROUTING_KEY+'_retry';try{const _0x4275cc={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x413c3c['assertQueue'](_0x24007f,_0x4275cc),console[_0x1086bc(0x181)]('['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x24007f+_0x1086bc(0x18c)),await _0x413c3c[_0x1086bc(0x18d)](_0x24007f,'retry-exchange',ROUTING_KEY),console[_0x1086bc(0x181)]('['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x2dc683){console['error']('['+_0x4cc9b5['DWvdI'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x2dc683['message']);throw _0x2dc683;}try{const _0xadbb5={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x1086bc(0x191),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x110561=await _0x413c3c['assertQueue'](QUEUE,_0xadbb5);console[_0x1086bc(0x181)]('['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x4cc9b5[_0x1086bc(0x18b)](_0x110561['queue'],QUEUE)?_0x1086bc(0x193):_0x4cc9b5[_0x1086bc(0x185)])+_0x1086bc(0x171)),await _0x413c3c['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x1086bc(0x181)]('['+_0x4cc9b5['UzzrD'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x1086bc(0x186)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xd8ef9b){if(_0xd8ef9b['message'][_0x1086bc(0x196)](_0x4cc9b5['OYesP'])&&_0xd8ef9b[_0x1086bc(0x194)][_0x1086bc(0x196)](_0x4cc9b5[_0x1086bc(0x183)]))console[_0x1086bc(0x16e)]('\x0a['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x1086bc(0x170)),console['error'](_0x1086bc(0x18e)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x1086bc(0x184)](0x1);else{console[_0x1086bc(0x16e)]('['+_0x4cc9b5['EYNyJ'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0xd8ef9b[_0x1086bc(0x194)]);throw _0xd8ef9b;}}}catch(_0x5a91f8){if(!_0x5a91f8[_0x1086bc(0x194)][_0x1086bc(0x196)](_0x1086bc(0x17f))){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5a91f8[_0x1086bc(0x194)]);throw _0x5a91f8;}process[_0x1086bc(0x184)](0x1);}}async function closeConnection(_0xfd5b1f){const _0x11cd96=a0_0xd6b182,_0x599cf6={'lexCw':function(_0x145121,_0x145676){return _0x145121(_0x145676);}};if(_0xfd5b1f)try{await _0xfd5b1f['close'](),console[_0x11cd96(0x181)]('['+_0x599cf6['lexCw'](formatDate,new Date())+_0x11cd96(0x180));}catch(_0x51aed2){console[_0x11cd96(0x16e)]('['+_0x599cf6[_0x11cd96(0x190)](formatDate,new Date())+_0x11cd96(0x173)+_0x51aed2['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x19bf(){const _0x14b10c=['ignYzwf0zwqVCMvHzhK','yMLUzff1zxvL','uxvLDwuG','nda1mdyZm0DfywfLCq','Bgv4q3C','CMv0CNKTzxHJAgfUz2u','yw1XCgXPyG','y3jLyxrLzc9YzwfKEq','BwvZC2fNzq','uKfcqKLutvfFvvjm','Aw5JBhvKzxm','uKfcqKLutvfFuK9vveLor19lrvK','zxjYB3i','ndqXode5mev3tM5eyq','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ihDPDgGGreXy','mtCYmtiXnJDdz0LUAue','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','y29UBMvJDa','nda3mJyWzfHsBu5Y','mtyZnJa4n29cA29RBq','ndiZnZC1mxn0BfHABG','y3jLyxrLq2HHBM5LBa','zw52','zgLYzwn0','yxnZzxj0rxHJAgfUz2u','zM91BMq','rfD2zeK','DNDit1i','Aw5LCxvPDMfSzw50igfYzW','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','Bg9N','mJy5mZqXnMfUC3fRzW','s3DODuu','zxHPDa','sKTzAha','ic0+ia','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','ntzTBM5KrMq','uKfcqKLutvfFuvvfvuu','ohHbqwT6Dq','u2vuvxm'];a0_0x19bf=function(){return _0x14b10c;};return a0_0x19bf();}
@@ -1 +1 @@
1
- const a0_0x5af08f=a0_0x1430;(function(_0xda6784,_0x104dab){const _0x176518=a0_0x1430,_0x3b6f6b=_0xda6784();while(!![]){try{const _0x514ec8=parseInt(_0x176518(0x151))/0x1*(-parseInt(_0x176518(0x14c))/0x2)+-parseInt(_0x176518(0x13e))/0x3*(-parseInt(_0x176518(0x159))/0x4)+parseInt(_0x176518(0x145))/0x5*(-parseInt(_0x176518(0x138))/0x6)+parseInt(_0x176518(0x13a))/0x7+-parseInt(_0x176518(0x15a))/0x8*(parseInt(_0x176518(0x143))/0x9)+parseInt(_0x176518(0x139))/0xa*(parseInt(_0x176518(0x13d))/0xb)+parseInt(_0x176518(0x13f))/0xc;if(_0x514ec8===_0x104dab)break;else _0x3b6f6b['push'](_0x3b6f6b['shift']());}catch(_0x3e3873){_0x3b6f6b['push'](_0x3b6f6b['shift']());}}}(a0_0x3181,0x687cd));const Redis=require(a0_0x5af08f(0x14e)),{logger}=require(a0_0x5af08f(0x149));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x5af08f(0x154)](){const _0x1fff53=a0_0x5af08f,_0x365fe5={'KoAHv':'redis_connected','pSAZC':'Redis\x20connected\x20successfully','slIwA':function(_0x5c2c15,_0x418a9a,_0x349703){return _0x5c2c15(_0x418a9a,_0x349703);},'CUeTu':'connect','ftWdk':'close','YXqHe':'redis_init_error'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x1fff53(0x14a)]||'localhost','port':parseInt(process[_0x1fff53(0x156)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x365fe5[_0x1fff53(0x144)](parseInt,process[_0x1fff53(0x156)][_0x1fff53(0x14f)],0xa)||0x0,'retryStrategy'(_0x4180af){const _0x5fbcff=_0x1fff53,_0xadffdf=Math[_0x5fbcff(0x146)](_0x4180af*0x32,0x7d0);return _0xadffdf;}}),this['client']['on'](_0x365fe5['CUeTu'],()=>{const _0x5cd1c0=_0x1fff53;this[_0x5cd1c0(0x150)]=!![],logger[_0x5cd1c0(0x155)]({'event':_0x365fe5['KoAHv']},_0x365fe5['pSAZC']);}),this['client']['on']('error',_0x4ea4f0=>{const _0x2267fb=_0x1fff53;this['isConnected']=![],logger[_0x2267fb(0x141)]({'event':'redis_error','error':_0x4ea4f0[_0x2267fb(0x152)]},_0x2267fb(0x13c)+_0x4ea4f0[_0x2267fb(0x152)]);}),this['client']['on'](_0x365fe5['ftWdk'],()=>{const _0x44e705=_0x1fff53;this[_0x44e705(0x150)]=![],logger[_0x44e705(0x157)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this['client'];}catch(_0x4cbcb3){logger['error']({'event':_0x365fe5['YXqHe'],'error':_0x4cbcb3['message']},_0x1fff53(0x140));throw _0x4cbcb3;}}['getClient'](){const _0x1ac4c7=a0_0x5af08f;return!this[_0x1ac4c7(0x147)]&&this[_0x1ac4c7(0x154)](),this[_0x1ac4c7(0x147)];}async['ping'](_0x145382=0x1388){const _0x4285e3=a0_0x5af08f,_0xa8ae2f={'jVvVy':_0x4285e3(0x148)};try{const _0x532452=this[_0x4285e3(0x14b)](),_0x32e75c=await Promise['race']([_0x532452[_0x4285e3(0x14d)](),new Promise((_0x3d0714,_0x110411)=>setTimeout(()=>_0x110411(new Error(_0x4285e3(0x142))),_0x145382))]);return _0x32e75c===_0xa8ae2f[_0x4285e3(0x158)];}catch(_0x348f48){return![];}}async[a0_0x5af08f(0x13b)](){const _0x1c2be6=a0_0x5af08f;this[_0x1c2be6(0x147)]&&(await this['client']['quit'](),this[_0x1c2be6(0x147)]=null,this[_0x1c2be6(0x150)]=![]);}[a0_0x5af08f(0x153)](){const _0x461816=a0_0x5af08f;this[_0x461816(0x147)]&&(this[_0x461816(0x147)]['disconnect'](),this['client']=null,this[_0x461816(0x150)]=![]);}}module['exports']=new RedisClient();function a0_0x1430(_0x316b4a,_0x4f6064){_0x316b4a=_0x316b4a-0x138;const _0x318133=a0_0x3181();let _0x14308c=_0x318133[_0x316b4a];if(a0_0x1430['UuRlVR']===undefined){var _0x1216aa=function(_0x42f67a){const _0x738dc7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e6bab='',_0x4daba4='';for(let _0x792716=0x0,_0x1ff5c5,_0x41273d,_0x1cfb9d=0x0;_0x41273d=_0x42f67a['charAt'](_0x1cfb9d++);~_0x41273d&&(_0x1ff5c5=_0x792716%0x4?_0x1ff5c5*0x40+_0x41273d:_0x41273d,_0x792716++%0x4)?_0x3e6bab+=String['fromCharCode'](0xff&_0x1ff5c5>>(-0x2*_0x792716&0x6)):0x0){_0x41273d=_0x738dc7['indexOf'](_0x41273d);}for(let _0x53efe6=0x0,_0x19a4dc=_0x3e6bab['length'];_0x53efe6<_0x19a4dc;_0x53efe6++){_0x4daba4+='%'+('00'+_0x3e6bab['charCodeAt'](_0x53efe6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4daba4);};a0_0x1430['ZJyMIf']=_0x1216aa,a0_0x1430['JZYzTq']={},a0_0x1430['UuRlVR']=!![];}const _0x121633=_0x318133[0x0],_0x17f480=_0x316b4a+_0x121633,_0x43eaff=a0_0x1430['JZYzTq'][_0x17f480];return!_0x43eaff?(_0x14308c=a0_0x1430['ZJyMIf'](_0x14308c),a0_0x1430['JZYzTq'][_0x17f480]=_0x14308c):_0x14308c=_0x43eaff,_0x14308c;}function a0_0x3181(){const _0x3dda58=['uKvesvnFse9tva','z2v0q2XPzw50','mti3mtK4sLHTrujr','CgLUzW','Aw9YzwrPCW','uKvesvnFrei','AxndB25Uzwn0zwq','mtbgELP2AKG','BwvZC2fNzq','zM9Yy2veAxnJB25Uzwn0','y29UBMvJDa','Aw5MBW','zw52','D2fYBG','ALz2vNK','mteXntK2C0Pgt1vH','odiWntuYCeToA3z0','mti4mdKYofr2CuHxCa','mtb5wvHkzMe','ntGYndy0neLHuuTfEG','zgLZy29UBMvJDa','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','mJm4mta2meDjvunssG','mZnnt0Lpu24','nJu0otm4ngHvDKffuW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zxjYB3i','uMvKAxmGueLorYb0Aw1LB3v0','mZzUCejlB08','C2XjD0e','mtb2BvfLr0S','BwLU','y2XPzw50','ue9orW','lI9SB2DNzxi'];a0_0x3181=function(){return _0x3dda58;};return a0_0x3181();}
1
+ const a0_0x1e82e5=a0_0x5b36;(function(_0x47f641,_0x577503){const _0xd2c4d5=a0_0x5b36,_0x5f3044=_0x47f641();while(!![]){try{const _0x121955=parseInt(_0xd2c4d5(0x1ec))/0x1*(-parseInt(_0xd2c4d5(0x1e2))/0x2)+-parseInt(_0xd2c4d5(0x1e7))/0x3*(parseInt(_0xd2c4d5(0x1e8))/0x4)+parseInt(_0xd2c4d5(0x1d1))/0x5*(parseInt(_0xd2c4d5(0x1df))/0x6)+-parseInt(_0xd2c4d5(0x1dc))/0x7*(-parseInt(_0xd2c4d5(0x1cd))/0x8)+-parseInt(_0xd2c4d5(0x1ed))/0x9*(-parseInt(_0xd2c4d5(0x1cf))/0xa)+-parseInt(_0xd2c4d5(0x1d5))/0xb*(-parseInt(_0xd2c4d5(0x1d9))/0xc)+-parseInt(_0xd2c4d5(0x1d0))/0xd;if(_0x121955===_0x577503)break;else _0x5f3044['push'](_0x5f3044['shift']());}catch(_0x5daaa4){_0x5f3044['push'](_0x5f3044['shift']());}}}(a0_0x1ee4,0xd420a));function a0_0x1ee4(){const _0x48bd89=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','mtuWr3byzKPU','nde3oti5odviD0ncAMG','nwrntfb2Dq','Bg9JywXOB3n0','Aw5MBW','z2v0q2XPzw50','ntG2odyXC0Xhy2L2','zgLZy29UBMvJDa','zw52','uKvesvnFueftu1DpuKq','mtGWAeXzyKTL','CgLUzW','ue9orW','mte5mtGYndjws3nlBuK','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMvKAxnFy29UBMvJDgvK','mtaZodK3nZrUz1DYEg8','CMvKAxnFzxjYB3i','Aw9YzwrPCW','nKfyv09TtW','veXyqvm','CMvKAxnFzgLZy29UBMvJDgvK','CMfJzq','BwvZC2fNzq','mZmXmZK2nwHdufjhyW','ng5wAgneDq','zxjYB3i','CMvKAxnFAw5PDf9LCNjVCG','D2fYBG','mtG4nJG3r0rLBejr','oteXotyXvuHzr1Lh','y2XVC2u','y2XPzw50','uKvesvnFue9sva','BwLU','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','AxndB25Uzwn0zwq','ohjHDNzrsW'];a0_0x1ee4=function(){return _0x48bd89;};return a0_0x1ee4();}function a0_0x5b36(_0x13a351,_0x11ea25){_0x13a351=_0x13a351-0x1cd;const _0x1ee429=a0_0x1ee4();let _0x5b36de=_0x1ee429[_0x13a351];if(a0_0x5b36['asrdti']===undefined){var _0x278f07=function(_0x3eba58){const _0x533be2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcb95a2='',_0x15cde5='';for(let _0x4224ef=0x0,_0x2f5bf0,_0x424e05,_0x576ee5=0x0;_0x424e05=_0x3eba58['charAt'](_0x576ee5++);~_0x424e05&&(_0x2f5bf0=_0x4224ef%0x4?_0x2f5bf0*0x40+_0x424e05:_0x424e05,_0x4224ef++%0x4)?_0xcb95a2+=String['fromCharCode'](0xff&_0x2f5bf0>>(-0x2*_0x4224ef&0x6)):0x0){_0x424e05=_0x533be2['indexOf'](_0x424e05);}for(let _0x40842b=0x0,_0x352bd9=_0xcb95a2['length'];_0x40842b<_0x352bd9;_0x40842b++){_0x15cde5+='%'+('00'+_0xcb95a2['charCodeAt'](_0x40842b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15cde5);};a0_0x5b36['caVUSN']=_0x278f07,a0_0x5b36['ChqMBM']={},a0_0x5b36['asrdti']=!![];}const _0x44c1bd=_0x1ee429[0x0],_0x21e65b=_0x13a351+_0x44c1bd,_0x41eb7e=a0_0x5b36['ChqMBM'][_0x21e65b];return!_0x41eb7e?(_0x5b36de=a0_0x5b36['caVUSN'](_0x5b36de),a0_0x5b36['ChqMBM'][_0x21e65b]=_0x5b36de):_0x5b36de=_0x41eb7e,_0x5b36de;}const Redis=require(a0_0x1e82e5(0x1e1)),{logger}=require('./logger');class RedisClient{constructor(){const _0x5ac55a=a0_0x1e82e5;this['client']=null,this[_0x5ac55a(0x1f3)]=![];}['connect'](){const _0x8e2f39=a0_0x1e82e5,_0x11bcf1={'JVDMs':function(_0x5988eb,_0x20243c){return _0x5988eb*_0x20243c;},'TLXAS':_0x8e2f39(0x1de),'yOffj':_0x8e2f39(0x1dd),'qJyam':_0x8e2f39(0x1e4),'xbaHt':_0x8e2f39(0x1f2),'pfiMl':function(_0x5455b0,_0x2bb960,_0x15380d){return _0x5455b0(_0x2bb960,_0x15380d);},'TwqzQ':function(_0x365993,_0x4efbdb,_0x4c5cf1){return _0x365993(_0x4efbdb,_0x4c5cf1);},'ZSBGn':'connect','zRKyq':_0x8e2f39(0x1ea)};if(this[_0x8e2f39(0x1ef)])return this['client'];try{return this['client']=new Redis({'host':process[_0x8e2f39(0x1d7)]['REDIS_HOST']||_0x8e2f39(0x1d2),'port':_0x11bcf1['pfiMl'](parseInt,process['env'][_0x8e2f39(0x1f0)],0xa)||0x18ec,'password':process['env'][_0x8e2f39(0x1d8)]||undefined,'db':_0x11bcf1['TwqzQ'](parseInt,process[_0x8e2f39(0x1d7)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x413ddd){const _0x8cbe23=_0x8e2f39,_0x397040=Math[_0x8cbe23(0x1f1)](_0x11bcf1['JVDMs'](_0x413ddd,0x32),0x7d0);return _0x397040;}}),this[_0x8e2f39(0x1ef)]['on'](_0x11bcf1['ZSBGn'],()=>{const _0x4c8b27=_0x8e2f39;this['isConnected']=!![],logger[_0x4c8b27(0x1d3)]({'event':_0x11bcf1[_0x4c8b27(0x1e3)]},_0x11bcf1['yOffj']);}),this[_0x8e2f39(0x1ef)]['on'](_0x8e2f39(0x1e9),_0x25ecba=>{const _0x2ceb29=_0x8e2f39;this['isConnected']=![],logger['error']({'event':_0x2ceb29(0x1e0),'error':_0x25ecba[_0x2ceb29(0x1e6)]},'Redis\x20connection\x20error:\x20'+_0x25ecba['message']);}),this[_0x8e2f39(0x1ef)]['on'](_0x8e2f39(0x1ee),()=>{const _0x260970=_0x8e2f39;this[_0x260970(0x1f3)]=![],logger[_0x260970(0x1eb)]({'event':_0x11bcf1['qJyam']},_0x11bcf1['xbaHt']);}),this[_0x8e2f39(0x1ef)];}catch(_0x1e70e6){logger[_0x8e2f39(0x1e9)]({'event':_0x11bcf1['zRKyq'],'error':_0x1e70e6['message']},_0x8e2f39(0x1ce));throw _0x1e70e6;}}[a0_0x1e82e5(0x1d4)](){const _0x53e2c3=a0_0x1e82e5;return!this['client']&&this['connect'](),this[_0x53e2c3(0x1ef)];}async[a0_0x1e82e5(0x1da)](_0x28e9e6=0x1388){const _0x560c13=a0_0x1e82e5;try{const _0x57809e=this['getClient'](),_0x2f61cb=await Promise[_0x560c13(0x1e5)]([_0x57809e['ping'](),new Promise((_0x51e9ec,_0x51d686)=>setTimeout(()=>_0x51d686(new Error('Redis\x20PING\x20timeout')),_0x28e9e6))]);return _0x2f61cb===_0x560c13(0x1db);}catch(_0x56c7f0){return![];}}async[a0_0x1e82e5(0x1d6)](){const _0x37ff2b=a0_0x1e82e5;this['client']&&(await this[_0x37ff2b(0x1ef)]['quit'](),this[_0x37ff2b(0x1ef)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x52d982=a0_0x1e82e5;this['client']&&(this['client']['disconnect'](),this[_0x52d982(0x1ef)]=null,this[_0x52d982(0x1f3)]=![]);}}module['exports']=new RedisClient();
@@ -1 +1 @@
1
- function a0_0x4c33(){const _0x28bbc3=['zxHWB3j0CW','DxbKyxrLsM9I','zgvMyxvSDa','A2v5CW','CMvKAxnFC2v0x2vYCM9Y','BwvZC2fNzq','x3bYzwzPEa','mJi0mZyWohvXthnuBq','CMvZDgzVCMDLoG','CMvKAxnFz2v0ywXSx2vYCM9Y','ChjLzML4','nJmXmZGZoun4yMftAq','C3rYAw5NAwz5','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','rvHqt1jux0zjtevFrvHqsvjz','C2v0sM9I','C2v0zxG','zw52','sLPcAhK','m1nWwvr6Ea','ndu0mZqZt0rQzhf1','mJbmrNDpqxK','CMvKAxnFz2v0x2vYCM9Y','mtiWnZC1CvnJu3f1','oMv4Cg9YDdO','nJa2mJuYmg5myNH4vW','mty1ndaXneXnEfrPCa','z2v0q2XPzw50','otu5nJyYoeDzt3fjzq','DMnbBuu'];a0_0x4c33=function(){return _0x28bbc3;};return a0_0x4c33();}const a0_0x30d7dc=a0_0x561c;(function(_0x1badd0,_0xda161d){const _0x4be095=a0_0x561c,_0x29057a=_0x1badd0();while(!![]){try{const _0x3b759e=parseInt(_0x4be095(0x6e))/0x1+-parseInt(_0x4be095(0x74))/0x2*(parseInt(_0x4be095(0x8b))/0x3)+-parseInt(_0x4be095(0x6f))/0x4*(parseInt(_0x4be095(0x71))/0x5)+parseInt(_0x4be095(0x73))/0x6+parseInt(_0x4be095(0x83))/0x7+parseInt(_0x4be095(0x7f))/0x8+-parseInt(_0x4be095(0x76))/0x9;if(_0x3b759e===_0xda161d)break;else _0x29057a['push'](_0x29057a['shift']());}catch(_0x3cdde1){_0x29057a['push'](_0x29057a['shift']());}}}(a0_0x4c33,0x9a91d));function a0_0x561c(_0x204032,_0x4b1fe5){_0x204032=_0x204032-0x6e;const _0x4c33c5=a0_0x4c33();let _0x561cb9=_0x4c33c5[_0x204032];if(a0_0x561c['UdqjuY']===undefined){var _0x406ba9=function(_0x542818){const _0x4f8858='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ecd1a='',_0x5aa44f='';for(let _0x4dca6a=0x0,_0x1d2c06,_0x1fe669,_0x268ac0=0x0;_0x1fe669=_0x542818['charAt'](_0x268ac0++);~_0x1fe669&&(_0x1d2c06=_0x4dca6a%0x4?_0x1d2c06*0x40+_0x1fe669:_0x1fe669,_0x4dca6a++%0x4)?_0x5ecd1a+=String['fromCharCode'](0xff&_0x1d2c06>>(-0x2*_0x4dca6a&0x6)):0x0){_0x1fe669=_0x4f8858['indexOf'](_0x1fe669);}for(let _0x3e62a1=0x0,_0x53adf2=_0x5ecd1a['length'];_0x3e62a1<_0x53adf2;_0x3e62a1++){_0x5aa44f+='%'+('00'+_0x5ecd1a['charCodeAt'](_0x3e62a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aa44f);};a0_0x561c['yHbnvP']=_0x406ba9,a0_0x561c['ySxKLb']={},a0_0x561c['UdqjuY']=!![];}const _0x139e34=_0x4c33c5[0x0],_0x1e174a=_0x204032+_0x139e34,_0x19150e=a0_0x561c['ySxKLb'][_0x1e174a];return!_0x19150e?(_0x561cb9=a0_0x561c['yHbnvP'](_0x561cb9),a0_0x561c['ySxKLb'][_0x1e174a]=_0x561cb9):_0x561cb9=_0x19150e,_0x561cb9;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x1809db=a0_0x561c;this[_0x1809db(0x7e)]=null,this['ttl']=parseInt(process[_0x1809db(0x89)][_0x1809db(0x86)],0xa)||0xe10;}get['prefix'](){const _0x5b9871=a0_0x561c;if(!this['_prefix']){const _0x2ba0d7=process['env']['RESTFORGE_PROJECT_NAME']||_0x5b9871(0x7a);this[_0x5b9871(0x7e)]=_0x5b9871(0x80)+_0x2ba0d7+_0x5b9871(0x72);}return this[_0x5b9871(0x7e)];}async['setJob'](_0x59ac50,_0x42a0ba){const _0x5ae16f=a0_0x561c,_0x346a5d={'ZvbmD':_0x5ae16f(0x7c),'XdBYY':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x36bc6a=redisClient[_0x5ae16f(0x75)](),_0x321f84=''+this[_0x5ae16f(0x82)]+_0x59ac50;return await _0x36bc6a[_0x5ae16f(0x88)](_0x321f84,this['ttl'],JSON[_0x5ae16f(0x84)](_0x42a0ba)),!![];}catch(_0x395d5b){return logger['error']({'event':_0x346a5d['ZvbmD'],'jobId':_0x59ac50,'error':_0x395d5b['message']},_0x346a5d['XdBYY']),![];}}async['getJob'](_0xc0ed34){const _0x24c65e=a0_0x561c,_0x52f3a7={'JZBhy':_0x24c65e(0x70)};try{const _0x586929=redisClient['getClient'](),_0x540c9d=''+this[_0x24c65e(0x82)]+_0xc0ed34,_0x4ea020=await _0x586929['get'](_0x540c9d);return _0x4ea020?JSON['parse'](_0x4ea020):null;}catch(_0x4a23f9){return logger['error']({'event':_0x52f3a7[_0x24c65e(0x8a)],'jobId':_0xc0ed34,'error':_0x4a23f9['message']},_0x24c65e(0x85)),null;}}async[a0_0x30d7dc(0x79)](_0x4194e0,_0x289f81){const _0x4c8305=a0_0x30d7dc,_0x3202f8=await this['getJob'](_0x4194e0);if(!_0x3202f8)return![];const _0x428943={..._0x3202f8,..._0x289f81};return await this[_0x4c8305(0x87)](_0x4194e0,_0x428943);}async['deleteJob'](_0x2a2f97){const _0x53a98c=a0_0x30d7dc,_0x11c010={'XoMXH':'redis_delete_error','vcAmE':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x2d1613=redisClient['getClient'](),_0x1ba236=''+this[_0x53a98c(0x82)]+_0x2a2f97;return await _0x2d1613['del'](_0x1ba236),!![];}catch(_0x39dcc6){return logger['error']({'event':_0x11c010['XoMXH'],'jobId':_0x2a2f97,'error':_0x39dcc6[_0x53a98c(0x7d)]},_0x11c010[_0x53a98c(0x77)]),![];}}async['getAllJobs'](){const _0xd4e310=a0_0x30d7dc,_0x37841d={'hhubs':_0xd4e310(0x81)};try{const _0x2ee57d=redisClient[_0xd4e310(0x75)](),_0x6e15a9=await _0x2ee57d[_0xd4e310(0x7b)](this[_0xd4e310(0x82)]+'*'),_0x280b2f=[];for(const _0x429f05 of _0x6e15a9){const _0x5be326=await _0x2ee57d['get'](_0x429f05);_0x5be326&&_0x280b2f['push'](JSON['parse'](_0x5be326));}return _0x280b2f;}catch(_0x5b83d5){return logger['error']({'event':_0x37841d['hhubs'],'error':_0x5b83d5['message']},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module[a0_0x30d7dc(0x78)]=new RedisHelper();
1
+ const a0_0x489a8a=a0_0x424c;function a0_0x1af5(){const _0x2db2ca=['zgvMyxvSDa','q3HSB3q','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','ChjLzML4','ntuWsfvduKf0','mtm5odu5mMjAwwrHyW','mZu0nJGXt2nQvfP6','zw52','ChvZAa','ANnoC3u','A2v5CW','zxHWB3j0CW','mJyXmdm0mLrpyvvcEG','mJiXmtqXn1LnAwTmvq','DxbKyxrLsM9I','mJG5nZm1nLnuBhrzua','x3bYzwzPEa','zgvS','z2v0q2XPzw50','C2v0sM9I','ohnQD09Vsa','zgvSzxrLsM9I','lI9YzwrPCY1JBgLLBNq','ntu0mdvAtNfovwy','zxjYB3i','CMvZDgzVCMDLoG','DhrS','BwvZC2fNzq','rvHqt1jux0zjtevFrvHqsvjz','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','mJe4ntGXwufJBe1O','CMvKAxnFzgvSzxrLx2vYCM9Y','CMvKAxnFz2v0ywXSx2vYCM9Y','z2v0qwXSsM9ICW','ntjju3POzfq'];a0_0x1af5=function(){return _0x2db2ca;};return a0_0x1af5();}(function(_0x22797f,_0x513074){const _0x3bb537=a0_0x424c,_0x1a9630=_0x22797f();while(!![]){try{const _0x2b84f0=-parseInt(_0x3bb537(0x1a1))/0x1+-parseInt(_0x3bb537(0x1ab))/0x2+-parseInt(_0x3bb537(0x1b3))/0x3+-parseInt(_0x3bb537(0x1a5))/0x4*(parseInt(_0x3bb537(0x19a))/0x5)+parseInt(_0x3bb537(0x1b2))/0x6+parseInt(_0x3bb537(0x192))/0x7*(-parseInt(_0x3bb537(0x197))/0x8)+parseInt(_0x3bb537(0x1ac))/0x9*(parseInt(_0x3bb537(0x1aa))/0xa);if(_0x2b84f0===_0x513074)break;else _0x1a9630['push'](_0x1a9630['shift']());}catch(_0x384522){_0x1a9630['push'](_0x1a9630['shift']());}}}(a0_0x1af5,0x5f1c7));const redisClient=require(a0_0x489a8a(0x199)),{logger}=require('./logger');function a0_0x424c(_0x1ee3a4,_0x107844){_0x1ee3a4=_0x1ee3a4-0x192;const _0x1af570=a0_0x1af5();let _0x424c34=_0x1af570[_0x1ee3a4];if(a0_0x424c['lyuFVt']===undefined){var _0x4e0b1d=function(_0x11adf8){const _0x4ae30f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x394917='',_0x22b236='';for(let _0x316584=0x0,_0x156140,_0x2ab860,_0x3fba5a=0x0;_0x2ab860=_0x11adf8['charAt'](_0x3fba5a++);~_0x2ab860&&(_0x156140=_0x316584%0x4?_0x156140*0x40+_0x2ab860:_0x2ab860,_0x316584++%0x4)?_0x394917+=String['fromCharCode'](0xff&_0x156140>>(-0x2*_0x316584&0x6)):0x0){_0x2ab860=_0x4ae30f['indexOf'](_0x2ab860);}for(let _0x5a89ab=0x0,_0xb9553b=_0x394917['length'];_0x5a89ab<_0xb9553b;_0x5a89ab++){_0x22b236+='%'+('00'+_0x394917['charCodeAt'](_0x5a89ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22b236);};a0_0x424c['QcRgRQ']=_0x4e0b1d,a0_0x424c['aGHIMH']={},a0_0x424c['lyuFVt']=!![];}const _0x4607a2=_0x1af570[0x0],_0xa17f6d=_0x1ee3a4+_0x4607a2,_0x445202=a0_0x424c['aGHIMH'][_0xa17f6d];return!_0x445202?(_0x424c34=a0_0x424c['QcRgRQ'](_0x424c34),a0_0x424c['aGHIMH'][_0xa17f6d]=_0x424c34):_0x424c34=_0x445202,_0x424c34;}class RedisHelper{constructor(){const _0x97322d=a0_0x489a8a;this['_prefix']=null,this[_0x97322d(0x19d)]=parseInt(process['env'][_0x97322d(0x19f)],0xa)||0xe10;}get[a0_0x489a8a(0x1a9)](){const _0x224a39=a0_0x489a8a,_0x3a52a4={'NwCRo':_0x224a39(0x1a6)};if(!this['_prefix']){const _0x2ea9c4=process[_0x224a39(0x1ad)]['RESTFORGE_PROJECT_NAME']||_0x3a52a4['NwCRo'];this['_prefix']=_0x224a39(0x19c)+_0x2ea9c4+':export:';}return this[_0x224a39(0x193)];}async[a0_0x489a8a(0x196)](_0x1d19f5,_0x23d598){const _0x243ade=a0_0x489a8a,_0x2aecb9={'jsNsu':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x58774e=redisClient[_0x243ade(0x195)](),_0x20e5b6=''+this['prefix']+_0x1d19f5;return await _0x58774e['setex'](_0x20e5b6,this['ttl'],JSON['stringify'](_0x23d598)),!![];}catch(_0x4c0bc4){return logger['error']({'event':'redis_set_error','jobId':_0x1d19f5,'error':_0x4c0bc4[_0x243ade(0x19e)]},_0x2aecb9[_0x243ade(0x1af)]),![];}}async['getJob'](_0x143925){const _0x147647=a0_0x489a8a,_0x292b7f={'ANkAX':'redis_get_error','ReIki':_0x147647(0x1a8)};try{const _0x47f725=redisClient[_0x147647(0x195)](),_0x3a09e6=''+this[_0x147647(0x1a9)]+_0x143925,_0x3768a8=await _0x47f725['get'](_0x3a09e6);return _0x3768a8?JSON['parse'](_0x3768a8):null;}catch(_0x2a3877){return logger['error']({'event':_0x292b7f['ANkAX'],'jobId':_0x143925,'error':_0x2a3877['message']},_0x292b7f['ReIki']),null;}}async[a0_0x489a8a(0x1b4)](_0x4128b7,_0x403e02){const _0x4ae683=await this['getJob'](_0x4128b7);if(!_0x4ae683)return![];const _0x3831e2={..._0x4ae683,..._0x403e02};return await this['setJob'](_0x4128b7,_0x3831e2);}async[a0_0x489a8a(0x198)](_0x5c79a6){const _0x46bcdf=a0_0x489a8a,_0xe02bb3={'Cxlot':_0x46bcdf(0x1a2),'yeBgP':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x124778=redisClient[_0x46bcdf(0x195)](),_0x40720c=''+this['prefix']+_0x5c79a6;return await _0x124778[_0x46bcdf(0x194)](_0x40720c),!![];}catch(_0x343858){return logger['error']({'event':_0xe02bb3[_0x46bcdf(0x1a7)],'jobId':_0x5c79a6,'error':_0x343858[_0x46bcdf(0x19e)]},_0xe02bb3['yeBgP']),![];}}async[a0_0x489a8a(0x1a4)](){const _0xb3acb1=a0_0x489a8a;try{const _0x26b2d9=redisClient['getClient'](),_0x34297d=await _0x26b2d9[_0xb3acb1(0x1b0)](this[_0xb3acb1(0x1a9)]+'*'),_0xf3abd7=[];for(const _0x2ff3bb of _0x34297d){const _0xbcde2f=await _0x26b2d9['get'](_0x2ff3bb);_0xbcde2f&&_0xf3abd7[_0xb3acb1(0x1ae)](JSON['parse'](_0xbcde2f));}return _0xf3abd7;}catch(_0x414d6c){return logger[_0xb3acb1(0x19b)]({'event':_0xb3acb1(0x1a3),'error':_0x414d6c['message']},_0xb3acb1(0x1a0)),[];}}}module[a0_0x489a8a(0x1b1)]=new RedisHelper();