@restforgejs/platform 4.3.8 → 5.0.1

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 (193) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/init.js +4 -104
  6. package/generators/cli/payload/migrate.js +96 -96
  7. package/generators/cli/schema/list.js +82 -18
  8. package/generators/cli/schema/migrate.js +23 -3
  9. package/generators/lib/dbschema-kit/apply-engine.js +211 -46
  10. package/generators/lib/dbschema-kit/diff-engine.js +715 -703
  11. package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
  12. package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
  13. package/generators/lib/migrate/backend-payload-migrator.js +221 -221
  14. package/generators/lib/migrate/field-type-resolver.js +325 -319
  15. package/generators/lib/migrate/label-generator.js +38 -38
  16. package/generators/lib/migrate/migrate-runner.js +244 -38
  17. package/generators/lib/migrate/naming.js +52 -43
  18. package/generators/lib/migrate/sql-parser.js +124 -124
  19. package/generators/lib/templates/dashboard-catalog.js +1 -1
  20. package/generators/lib/templates/db-connection-env.js +1 -1
  21. package/generators/lib/templates/dbschema-catalog.js +1 -1
  22. package/generators/lib/templates/field-validation-catalog.js +1 -1
  23. package/generators/lib/templates/mysql-template.js +1 -1
  24. package/generators/lib/templates/oracle-template.js +1 -1
  25. package/generators/lib/templates/postgres-template.js +1 -1
  26. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  27. package/generators/lib/templates/sqlite-template.js +1 -1
  28. package/integrity-manifest.json +18 -18
  29. package/node_modules/brace-expansion/index.js +1 -1
  30. package/node_modules/brace-expansion/package.json +1 -1
  31. package/node_modules/dayjs/CHANGELOG.md +7 -0
  32. package/node_modules/dayjs/README.md +12 -10
  33. package/node_modules/dayjs/dayjs.min.js +1 -1
  34. package/node_modules/dayjs/esm/constant.js +1 -1
  35. package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
  36. package/node_modules/dayjs/locale.json +1 -1
  37. package/node_modules/dayjs/package.json +2 -2
  38. package/node_modules/dayjs/plugin/duration.js +1 -1
  39. package/node_modules/tmp/lib/tmp.js +37 -7
  40. package/node_modules/tmp/package.json +4 -16
  41. package/package.json +1 -1
  42. package/scripts/verify-integrity.js +1 -1
  43. package/server.js +1 -1
  44. package/src/components/handlers/adjust_handler.js +1 -1
  45. package/src/components/handlers/audit_handler.js +1 -1
  46. package/src/components/handlers/delete_handler.js +1 -1
  47. package/src/components/handlers/export_handler.js +1 -1
  48. package/src/components/handlers/import_handler.js +1 -1
  49. package/src/components/handlers/insert_handler.js +1 -1
  50. package/src/components/handlers/update_handler.js +1 -1
  51. package/src/components/handlers/upload_handler.js +1 -1
  52. package/src/components/handlers/workflow_handler.js +1 -1
  53. package/src/components/integrations/webhook.js +1 -1
  54. package/src/consumers/baseConsumer.js +1 -1
  55. package/src/consumers/declarativeMapper.js +1 -1
  56. package/src/consumers/handlers/apiHandler.js +1 -1
  57. package/src/consumers/handlers/consoleHandler.js +1 -1
  58. package/src/consumers/handlers/databaseHandler.js +1 -1
  59. package/src/consumers/handlers/index.js +1 -1
  60. package/src/consumers/handlers/kafkaHandler.js +1 -1
  61. package/src/consumers/index.js +1 -1
  62. package/src/consumers/messageTransformer.js +1 -1
  63. package/src/consumers/validator.js +1 -1
  64. package/src/core/db/dialect/base-dialect.js +1 -1
  65. package/src/core/db/dialect/index.js +1 -1
  66. package/src/core/db/dialect/mysql-dialect.js +1 -1
  67. package/src/core/db/dialect/oracle-dialect.js +1 -1
  68. package/src/core/db/dialect/postgres-dialect.js +1 -1
  69. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  70. package/src/core/db/flatten-helper.js +1 -1
  71. package/src/core/db/query-builder-error.js +1 -1
  72. package/src/core/db/query-builder.js +1 -1
  73. package/src/core/db/relation-helper.js +1 -1
  74. package/src/core/handlers/delete_handler.js +1 -1
  75. package/src/core/handlers/insert_handler.js +1 -1
  76. package/src/core/handlers/update_handler.js +1 -1
  77. package/src/core/models/base-model.js +1 -1
  78. package/src/core/utils/cache-manager.js +1 -1
  79. package/src/core/utils/component-engine.js +1 -1
  80. package/src/core/utils/context-builder.js +1 -1
  81. package/src/core/utils/datetime-formatter.js +1 -1
  82. package/src/core/utils/datetime-parser.js +1 -1
  83. package/src/core/utils/db.js +1 -1
  84. package/src/core/utils/logger.js +1 -1
  85. package/src/core/utils/payload-loader.js +1 -1
  86. package/src/core/utils/security-checks.js +1 -1
  87. package/src/middleware/body-options.js +1 -1
  88. package/src/middleware/cors.js +1 -1
  89. package/src/middleware/idempotency.js +1 -1
  90. package/src/middleware/rate-limiter.js +1 -1
  91. package/src/middleware/request-logger.js +1 -1
  92. package/src/middleware/security-headers.js +1 -1
  93. package/src/models/base-model-mysql.js +1 -1
  94. package/src/models/base-model-oracle.js +1 -1
  95. package/src/models/base-model-sqlite.js +1 -1
  96. package/src/models/base-model.js +1 -1
  97. package/src/pro/caching/redis-client.js +1 -1
  98. package/src/pro/caching/redis-helper.js +1 -1
  99. package/src/pro/consumers/baseConsumer.js +1 -1
  100. package/src/pro/consumers/declarativeMapper.js +1 -1
  101. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  102. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  103. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  104. package/src/pro/consumers/handlers/index.js +1 -1
  105. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  106. package/src/pro/consumers/index.js +1 -1
  107. package/src/pro/consumers/messageTransformer.js +1 -1
  108. package/src/pro/consumers/validator.js +1 -1
  109. package/src/pro/database/base-model-mysql.js +1 -1
  110. package/src/pro/database/base-model-oracle.js +1 -1
  111. package/src/pro/database/base-model-sqlite.js +1 -1
  112. package/src/pro/database/db-mysql.js +1 -1
  113. package/src/pro/database/db-oracle.js +1 -1
  114. package/src/pro/database/db-sqlite.js +1 -1
  115. package/src/pro/excel/excel-generator.js +1 -1
  116. package/src/pro/excel/excel-parser.js +1 -1
  117. package/src/pro/excel/export-service.js +1 -1
  118. package/src/pro/excel/export_handler.js +1 -1
  119. package/src/pro/excel/import-service.js +1 -1
  120. package/src/pro/excel/import-validator.js +1 -1
  121. package/src/pro/excel/import_handler.js +1 -1
  122. package/src/pro/excel/upsert-builder.js +1 -1
  123. package/src/pro/idgen/idgen-routes.js +1 -1
  124. package/src/pro/integrations/lookup-resolver.js +1 -1
  125. package/src/pro/integrations/upload-handler-v2.js +1 -1
  126. package/src/pro/integrations/upload-handler.js +1 -1
  127. package/src/pro/integrations/webhook.js +1 -1
  128. package/src/pro/locking/lock-routes.js +1 -1
  129. package/src/pro/locking/resource-lock-manager.js +1 -1
  130. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  131. package/src/pro/messaging/kafkaService.js +1 -1
  132. package/src/pro/messaging/messagehubService.js +1 -1
  133. package/src/pro/messaging/rabbitmqService.js +1 -1
  134. package/src/pro/scheduler/job-manager.js +1 -1
  135. package/src/pro/scheduler/job-routes.js +1 -1
  136. package/src/pro/scheduler/job-validator.js +1 -1
  137. package/src/pro/storage/base-storage-provider.js +1 -1
  138. package/src/pro/storage/file-metadata-helper.js +1 -1
  139. package/src/pro/storage/index.js +1 -1
  140. package/src/pro/storage/local-storage-provider.js +1 -1
  141. package/src/pro/storage/s3-storage-provider.js +1 -1
  142. package/src/pro/storage/upload-cleanup-job.js +1 -1
  143. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  144. package/src/pro/storage/upload-pending-tracker.js +1 -1
  145. package/src/pro/websocket/broadcast-helper.js +1 -1
  146. package/src/pro/websocket/index.js +1 -1
  147. package/src/pro/websocket/livesync-server.js +1 -1
  148. package/src/pro/websocket/ws-broadcaster.js +1 -1
  149. package/src/services/export-service.js +1 -1
  150. package/src/services/import-service.js +1 -1
  151. package/src/services/kafkaConsumerService.js +1 -1
  152. package/src/services/kafkaService.js +1 -1
  153. package/src/services/messagehubService.js +1 -1
  154. package/src/services/rabbitmqService.js +1 -1
  155. package/src/utils/cache-invalidation-registry.js +1 -1
  156. package/src/utils/cache-manager.js +1 -1
  157. package/src/utils/component-engine.js +1 -1
  158. package/src/utils/config-extractor.js +1 -1
  159. package/src/utils/consumerLogger.js +1 -1
  160. package/src/utils/context-builder.js +1 -1
  161. package/src/utils/dashboard-helpers.js +1 -1
  162. package/src/utils/dateHelper.js +1 -1
  163. package/src/utils/datetime-formatter.js +1 -1
  164. package/src/utils/datetime-parser.js +1 -1
  165. package/src/utils/db-bootstrap.js +1 -1
  166. package/src/utils/db-mysql.js +1 -1
  167. package/src/utils/db-oracle.js +1 -1
  168. package/src/utils/db-sqlite.js +1 -1
  169. package/src/utils/db.js +1 -1
  170. package/src/utils/demo-generator.js +1 -1
  171. package/src/utils/excel-generator.js +1 -1
  172. package/src/utils/excel-parser.js +1 -1
  173. package/src/utils/file-watcher.js +1 -1
  174. package/src/utils/id-generator.js +1 -1
  175. package/src/utils/idempotency-manager.js +1 -1
  176. package/src/utils/import-validator.js +1 -1
  177. package/src/utils/license-client.js +1 -1
  178. package/src/utils/lock-manager.js +1 -1
  179. package/src/utils/logger.js +1 -1
  180. package/src/utils/lookup-resolver.js +1 -1
  181. package/src/utils/payload-loader.js +1 -1
  182. package/src/utils/processor-response.js +1 -1
  183. package/src/utils/rabbitmq.js +1 -1
  184. package/src/utils/redis-client.js +1 -1
  185. package/src/utils/redis-helper.js +1 -1
  186. package/src/utils/request-scope.js +1 -1
  187. package/src/utils/security-checks.js +1 -1
  188. package/src/utils/service-resolver.js +1 -1
  189. package/src/utils/shutdown-coordinator.js +1 -1
  190. package/src/utils/trusted-keys.js +1 -1
  191. package/src/utils/upload-handler.js +1 -1
  192. package/src/utils/upsert-builder.js +1 -1
  193. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x4fdb(){const _0x2fafc5=['vhnrz1a','Dhj1zq','x2vUC3vYzuLUAxrPywXPEMvK','nhW2Fdn8ohW3Fdf8mNW1Fda','zw52','Aw5JCG','BwvZC2fNzq','D2fYBG','x2rLzMf1BhruveW','AhvhAuu','D29YA2vYswq','lI9YzwrPCY1JBgLLBNq','CMv0CNK','offAvMPAAq','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','Aw5JBhvKzxm','z2v0tg9JA0LUzM8','z2vUzxjHDgvmB2nRvMfSDwu','zgvMyxvSDfruta','zKPiu2O','DM5Xrgq','ywnXDwLYzvDYAxrLtg9JAW','mZzIChr6swW','CMvHzf9SB2nRx3DHAxrPBMC','x2LUAxrdB25MAwC','CMLvv2C','x3jLDhj5q291BNq','x3jLDhj5rgvSyxK','whrmvfm','ntG0mxvAyvrVAq','CMvHza','rfv1DNa','zgvJCG','CMv0CNLezwXHEq','ywXS','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','Bg9JA19JB25MAwDFAw5PDa','mZuYmty3ovzVyvbYEa','D3jPDgvFBg9JA19YzwXLyxnLza','z2v0','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','mtmZmZaWrw9zvfjo','CMv0CNLdB3vUDa','oti0ndvLyKXjseq','yNvPBgrmB2nRs2v5','nKfeCNjXAW','CMvHzf9SB2nRx2fJCxvPCMvK','x3bYzwzPEa','C3bSAxq','BhPIC00','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','z2v0q2XPzw50','m2P1ANDnBa','zw5HyMXLza','BM93','x3DVCMTLCKLK','CMvQzwn0','zxjYB3i','x2vUywjSzwq','tg9JAYbLEhrLBMqGzxjYB3i','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','x3n0CMf0zwD5','CMvHzf9SB2nRx2vYCM9Y','x2LUAxrPywXPEMvK','teXwDMO','mJDMy3b4Dwm','nJaXmtbWDxfQv1u','CMy6Bg9JAZO','Aw5MBW','tg9JAYbuveWGzxH0zw5Kzwq','CMvHzf9SB2nRx3jLBgvHC2vK','zgvS','C2XLzxa','Bg9JA19LEhrLBMrFzxjYB3i','D3jPDgu','rxjoEhC','wLHev1K','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','wgPlteS','Cg93','mtq4nZaYnZfoALHfCgG','C2v0zxG','C2v0','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','mZaXoduYngToAKPbBG','mZyWCKrstxrn','C3rYyxrLz3K','EhjgtK0','AeXyuvO','D2vywvO','zgvIDwC','oNjLywq6'];a0_0x4fdb=function(){return _0x2fafc5;};return a0_0x4fdb();}const a0_0x4fab55=a0_0x1af2;(function(_0xc59847,_0x330bf8){const _0x13dc3a=a0_0x1af2,_0xdd4028=_0xc59847();while(!![]){try{const _0x1d28c9=parseInt(_0x13dc3a(0x125))/0x1*(parseInt(_0x13dc3a(0x129))/0x2)+-parseInt(_0x13dc3a(0x130))/0x3*(parseInt(_0x13dc3a(0x150))/0x4)+parseInt(_0x13dc3a(0x127))/0x5*(parseInt(_0x13dc3a(0x111))/0x6)+parseInt(_0x13dc3a(0x120))/0x7*(-parseInt(_0x13dc3a(0x108))/0x8)+-parseInt(_0x13dc3a(0x13d))/0x9*(-parseInt(_0x13dc3a(0x13e))/0xa)+parseInt(_0x13dc3a(0x118))/0xb*(parseInt(_0x13dc3a(0x151))/0xc)+parseInt(_0x13dc3a(0x14c))/0xd;if(_0x1d28c9===_0x330bf8)break;else _0xdd4028['push'](_0xdd4028['shift']());}catch(_0x34f282){_0xdd4028['push'](_0xdd4028['shift']());}}}(a0_0x4fdb,0x69358));function a0_0x1af2(_0x5f505a,_0x2c73c9){_0x5f505a=_0x5f505a-0x103;const _0x4fdbeb=a0_0x4fdb();let _0x1af237=_0x4fdbeb[_0x5f505a];if(a0_0x1af2['NmnRhI']===undefined){var _0xde31e4=function(_0xfdc659){const _0x4a8376='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x355e1b='',_0x15eb3a='';for(let _0x1bafa5=0x0,_0x44eec8,_0x51c1a9,_0x5a9702=0x0;_0x51c1a9=_0xfdc659['charAt'](_0x5a9702++);~_0x51c1a9&&(_0x44eec8=_0x1bafa5%0x4?_0x44eec8*0x40+_0x51c1a9:_0x51c1a9,_0x1bafa5++%0x4)?_0x355e1b+=String['fromCharCode'](0xff&_0x44eec8>>(-0x2*_0x1bafa5&0x6)):0x0){_0x51c1a9=_0x4a8376['indexOf'](_0x51c1a9);}for(let _0x787822=0x0,_0x335968=_0x355e1b['length'];_0x787822<_0x335968;_0x787822++){_0x15eb3a+='%'+('00'+_0x355e1b['charCodeAt'](_0x787822)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15eb3a);};a0_0x1af2['rLuNNM']=_0xde31e4,a0_0x1af2['rzxWmK']={},a0_0x1af2['NmnRhI']=!![];}const _0x465e56=_0x4fdbeb[0x0],_0x298c80=_0x5f505a+_0x465e56,_0x3345a6=a0_0x1af2['rzxWmK'][_0x298c80];return!_0x3345a6?(_0x1af237=a0_0x1af2['rLuNNM'](_0x1af237),a0_0x1af2['rzxWmK'][_0x298c80]=_0x1af237):_0x1af237=_0x3345a6,_0x1af237;}const redisClient=require(a0_0x4fab55(0x106)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x515d1f=a0_0x4fab55;this['_prefix']=null,this[_0x515d1f(0x136)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x515d1f(0x116)]=null,this[_0x515d1f(0x139)]=null,this['_workerId']=null,this['_initialized']=![];}[a0_0x4fab55(0x113)](){const _0x145212=a0_0x4fab55,_0xe083e1={'huGiE':function(_0xd19ef6,_0x1771d3){return _0xd19ef6===_0x1771d3;},'OYLpr':_0x145212(0x159),'hLXQZ':function(_0x5d032c,_0x39dff4,_0xfb6d50){return _0x5d032c(_0x39dff4,_0xfb6d50);}},_0x44865c=_0x145212(0x15b)[_0x145212(0x12c)]('|');let _0x18f55e=0x0;while(!![]){switch(_0x44865c[_0x18f55e++]){case'0':logger[_0x145212(0x140)]({'event':_0x145212(0x11f),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x145212(0x103)],'retryCount':this[_0x145212(0x115)],'retryDelay':this[_0x145212(0x116)],'workerId':this[_0x145212(0x133)]},_0x145212(0x149)+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'1':this['_strategy']=process['env'][_0x145212(0x12e)]||_0x145212(0x107);continue;case'2':this[_0x145212(0x133)]='worker-'+process['pid'];continue;case'3':this[_0x145212(0x103)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this[_0x145212(0x12b)]=_0x145212(0x13f);continue;case'5':this[_0x145212(0x13b)]=!![];continue;case'6':this[_0x145212(0x136)]=_0xe083e1[_0x145212(0x104)](process[_0x145212(0x15c)]['LOCK_DISTRIBUTED_ENABLED'],_0xe083e1['OYLpr']);continue;case'7':this[_0x145212(0x116)]=parseInt(process['env'][_0x145212(0x109)],0xa)||0x64;continue;case'8':this[_0x145212(0x115)]=_0xe083e1[_0x145212(0x154)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;}break;}}[a0_0x4fab55(0x15a)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x122beb=a0_0x4fab55;return this[_0x122beb(0x15a)](),this['_enabled'];}get[a0_0x4fab55(0x10d)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0x2f3ef0=a0_0x4fab55;return this[_0x2f3ef0(0x15a)](),this['_retryDelay'];}get[a0_0x4fab55(0x152)](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x4fab55(0x105)](){const _0x5e4f5a=a0_0x4fab55;return this['_ensureInitialized'](),this[_0x5e4f5a(0x133)];}[a0_0x4fab55(0x128)](_0x4a7711){const {module:_0x4ae385,endpoint:_0x5b42cd,lockType:_0x3c5059,recordId:_0x27a75f}=_0x4a7711;if(_0x27a75f)return''+this['prefix']+_0x4ae385+':'+_0x5b42cd+':'+_0x27a75f+':'+_0x3c5059;return''+this['prefix']+_0x4ae385+':'+_0x5b42cd+':'+_0x3c5059;}[a0_0x4fab55(0x10c)](){const _0x1e84c9=a0_0x4fab55;return this[_0x1e84c9(0x105)]+':'+uuidv4()+':'+Date[_0x1e84c9(0x132)]();}async['acquireReadLock'](_0x1cf182){const _0x586277=a0_0x4fab55,_0x14706f={'BukLu':_0x586277(0x146),'XjKLK':'read','xrFNM':_0x586277(0x112),'CyzII':function(_0x2301d6,_0xad55de){return _0x2301d6*_0xad55de;},'vnqDd':_0x586277(0x13a)};if(!this[_0x586277(0x131)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4ad285=this['buildLockKey']({..._0x1cf182,'lockType':_0x14706f['BukLu']}),_0x31492b=this['buildLockKey']({..._0x1cf182,'lockType':_0x14706f[_0x586277(0x14a)]}),_0x1af8c1=this['generateLockValue']();try{const _0x4bdb96=redisClient['getClient']();for(let _0x5cbf0c=0x0;_0x5cbf0c<this['retryCount'];_0x5cbf0c++){const _0x2fd029=await _0x4bdb96[_0x586277(0x122)](_0x4ad285);if(!_0x2fd029){await _0x4bdb96[_0x586277(0x15d)](_0x31492b),await _0x4bdb96['expire'](_0x31492b,this[_0x586277(0x10d)]);const _0x34cf2c=_0x31492b+':'+_0x1af8c1;return await _0x4bdb96[_0x586277(0x14d)](_0x34cf2c,this['defaultTTL'],_0x1af8c1),logger[_0x586277(0x156)]({'event':_0x586277(0x12a),'key':_0x31492b,'value':_0x1af8c1},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x1af8c1,'lockKey':_0x34cf2c};}logger[_0x586277(0x156)]({'event':_0x14706f[_0x586277(0x153)],'writeKey':_0x4ad285,'attempt':_0x5cbf0c},_0x586277(0x124)),await this[_0x586277(0x144)](_0x14706f['CyzII'](this[_0x586277(0x11c)],Math[_0x586277(0x14b)](0x2,_0x5cbf0c)));}return logger[_0x586277(0x15f)]({'event':'read_lock_timeout','key':_0x31492b},_0x586277(0x14f)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x15c6c4){return logger['error']({'event':_0x14706f[_0x586277(0x10f)],'error':_0x15c6c4['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4fab55(0x110)](_0x5cbd40){const _0x36d467=a0_0x4fab55,_0x2962e3={'riUWg':'read','weXYZ':function(_0x35b56d,_0x7329d3){return _0x35b56d===_0x7329d3;},'tNglP':_0x36d467(0x134),'TsQgP':'write_lock_acquired','mnTYp':_0x36d467(0x123),'ErNxw':'write_lock_rejected','Tddlr':function(_0x22843d,_0x33d2fd){return _0x22843d<_0x33d2fd;},'lzbsM':function(_0x2c8695,_0x4fd4a3){return _0x2c8695(_0x4fd4a3);},'DUuvp':_0x36d467(0x107),'FsFeA':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','gpSbV':'Waiting\x20for\x20locks\x20to\x20release','fJHSj':'write_lock_timeout','ccEIs':'WRITE\x20lock\x20acquire\x20timeout','EnNwI':'write_lock_error'};if(!this[_0x36d467(0x131)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x444698=this['buildLockKey']({..._0x5cbd40,'lockType':'write'}),_0x26bfa4=this[_0x36d467(0x128)]({..._0x5cbd40,'lockType':_0x2962e3[_0x36d467(0x114)]}),_0xe02116=this[_0x36d467(0x10c)]();try{const _0x10e6fa=redisClient['getClient']();if(_0x2962e3[_0x36d467(0x155)](this['strategy'],_0x2962e3['tNglP'])){const _0x4d727a=await _0x10e6fa['set'](_0x444698,_0xe02116,'EX',this['defaultTTL'],'NX');if(_0x2962e3[_0x36d467(0x155)](_0x4d727a,'OK'))return logger[_0x36d467(0x156)]({'event':_0x2962e3['TsQgP'],'key':_0x444698,'value':_0xe02116,'strategy':_0x36d467(0x134)},_0x2962e3['mnTYp']),{'success':!![],'lockValue':_0xe02116,'lockKey':_0x444698};return logger[_0x36d467(0x156)]({'event':_0x2962e3[_0x36d467(0x147)],'key':_0x444698},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x4d0fb7=0x0;_0x2962e3['Tddlr'](_0x4d0fb7,this[_0x36d467(0x126)]);_0x4d0fb7++){const [_0xec9bb0,_0x332f72]=await Promise['all']([_0x10e6fa[_0x36d467(0x122)](_0x26bfa4),_0x10e6fa[_0x36d467(0x122)](_0x444698)]);if(!_0x332f72&&(!_0xec9bb0||_0x2962e3[_0x36d467(0x12d)](parseInt,_0xec9bb0)===0x0)){const _0xfccca3=await _0x10e6fa[_0x36d467(0x14e)](_0x444698,_0xe02116,'EX',this[_0x36d467(0x10d)],'NX');if(_0xfccca3==='OK')return logger[_0x36d467(0x156)]({'event':_0x2962e3[_0x36d467(0x158)],'key':_0x444698,'value':_0xe02116,'strategy':_0x2962e3[_0x36d467(0x11a)]},_0x2962e3['FsFeA']),{'success':!![],'lockValue':_0xe02116,'lockKey':_0x444698};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x444698,'readCount':_0xec9bb0,'attempt':_0x4d0fb7},_0x2962e3['gpSbV']),await this[_0x36d467(0x144)](this[_0x36d467(0x11c)]*Math['pow'](0x2,_0x4d0fb7));}return logger['warn']({'event':_0x2962e3[_0x36d467(0x10e)],'key':_0x444698},_0x2962e3['ccEIs']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4f3b6d){return logger['error']({'event':_0x2962e3['EnNwI'],'error':_0x4f3b6d[_0x36d467(0x15e)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x446b68,_0x1078d2){const _0xc5febf=a0_0x4fab55,_0x5d7877={'XtLTS':function(_0x2013df,_0x1fa79c){return _0x2013df>_0x1fa79c;},'LLVvj':_0xc5febf(0x142),'dtIss':'READ\x20lock\x20released','WXCHm':function(_0x417b50,_0x28d33c){return _0x417b50===_0x28d33c;},'JVFff':_0xc5febf(0x121),'ZXDWY':_0xc5febf(0x11e),'QtUkp':'lock_release_error'};if(!this[_0xc5febf(0x131)]||!_0x446b68)return!![];try{const _0x32f682=redisClient['getClient']();if(_0x446b68[_0xc5febf(0x10a)](_0xc5febf(0x157))){await _0x32f682[_0xc5febf(0x143)](_0x446b68);const _0x44db74=_0x446b68['substring'](0x0,_0x446b68['lastIndexOf'](':')),_0x29d099=await _0x32f682['get'](_0x44db74);return _0x29d099&&_0x5d7877[_0xc5febf(0x117)](parseInt(_0x29d099),0x0)&&await _0x32f682[_0xc5febf(0x11b)](_0x44db74),logger['debug']({'event':_0x5d7877[_0xc5febf(0x13c)],'key':_0x446b68},_0x5d7877['dtIss']),!![];}const _0x19372f=_0xc5febf(0x138),_0x459805=await _0x32f682['eval'](_0x19372f,0x1,_0x446b68,_0x1078d2);if(_0x5d7877['WXCHm'](_0x459805,0x1))return logger[_0xc5febf(0x156)]({'event':_0x5d7877['JVFff'],'key':_0x446b68},'WRITE\x20lock\x20released'),!![];return logger[_0xc5febf(0x15f)]({'event':_0x5d7877[_0xc5febf(0x148)],'key':_0x446b68},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x22eeae){return logger[_0xc5febf(0x135)]({'event':_0x5d7877['QtUkp'],'key':_0x446b68,'error':_0x22eeae['message']},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x3d1686,_0x56c02a,_0xeedaa1=null){const _0x200d9b=a0_0x4fab55,_0x34aaae={'Foqcc':function(_0x536f5d,_0x813dd5){return _0x536f5d===_0x813dd5;},'vktuI':_0x200d9b(0x145)};if(!this[_0x200d9b(0x131)]||!_0x3d1686)return!![];try{const _0x3c3498=redisClient[_0x200d9b(0x12f)](),_0x481dca='\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',_0x4a9181=await _0x3c3498['eval'](_0x481dca,0x1,_0x3d1686,_0x56c02a,_0xeedaa1||this['defaultTTL']);if(_0x34aaae['Foqcc'](_0x4a9181,0x1))return logger['debug']({'event':'lock_extended','key':_0x3d1686,'ttl':_0xeedaa1||this[_0x200d9b(0x10d)]},_0x200d9b(0x141)),!![];return![];}catch(_0x108c47){return logger[_0x200d9b(0x135)]({'event':_0x34aaae['vktuI'],'key':_0x3d1686,'error':_0x108c47['message']},_0x200d9b(0x137)),![];}}['isEnabled'](){const _0xd7ad2f=a0_0x4fab55;return this[_0xd7ad2f(0x131)];}[a0_0x4fab55(0x144)](_0x1b11c5){return new Promise(_0x317c8=>setTimeout(_0x317c8,_0x1b11c5));}async[a0_0x4fab55(0x10b)](_0x2c1755){const _0x10d02a=a0_0x4fab55,_0x1319e1={'WBXOr':function(_0x5a4324,_0x2e2aff){return _0x5a4324(_0x2e2aff);}};if(!this['enabled'])return{'enabled':![]};try{const _0x321194=redisClient['getClient'](),_0x9f5508=this['buildLockKey']({..._0x2c1755,'lockType':_0x10d02a(0x146)}),_0x435bf4=this[_0x10d02a(0x128)]({..._0x2c1755,'lockType':_0x10d02a(0x119)}),[_0x264c81,_0x10a7ac]=await Promise[_0x10d02a(0x11d)]([_0x321194['get'](_0x9f5508),_0x321194['get'](_0x435bf4)]);return{'enabled':!![],'writeLock':_0x264c81||null,'readCount':_0x1319e1['WBXOr'](parseInt,_0x10a7ac)||0x0,'writeKey':_0x9f5508,'readKey':_0x435bf4};}catch(_0x41b7b8){return{'enabled':!![],'error':_0x41b7b8[_0x10d02a(0x15e)]};}}}module['exports']=new LockManager();
1
+ const a0_0x2e97b9=a0_0x2d6f;(function(_0x5590c2,_0x42393e){const _0x345e47=a0_0x2d6f,_0x4f7421=_0x5590c2();while(!![]){try{const _0x578f0f=-parseInt(_0x345e47(0x112))/0x1*(-parseInt(_0x345e47(0xf0))/0x2)+-parseInt(_0x345e47(0x108))/0x3*(parseInt(_0x345e47(0x10d))/0x4)+parseInt(_0x345e47(0x10a))/0x5+-parseInt(_0x345e47(0x120))/0x6+-parseInt(_0x345e47(0xd2))/0x7*(parseInt(_0x345e47(0x10f))/0x8)+-parseInt(_0x345e47(0xf4))/0x9+-parseInt(_0x345e47(0xd3))/0xa*(-parseInt(_0x345e47(0xcc))/0xb);if(_0x578f0f===_0x42393e)break;else _0x4f7421['push'](_0x4f7421['shift']());}catch(_0x355e02){_0x4f7421['push'](_0x4f7421['shift']());}}}(a0_0x1a3e,0xe720e));const redisClient=require(a0_0x2e97b9(0xe4)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2e97b9(0xd6));function a0_0x2d6f(_0x2a2b81,_0x4f45a7){_0x2a2b81=_0x2a2b81-0xc6;const _0x1a3e7e=a0_0x1a3e();let _0x2d6f41=_0x1a3e7e[_0x2a2b81];if(a0_0x2d6f['AnMLko']===undefined){var _0x5cbe95=function(_0x21de66){const _0x4d7c46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35bf88='',_0x259338='';for(let _0x5d7480=0x0,_0x4b065f,_0x1a7256,_0x9a3db9=0x0;_0x1a7256=_0x21de66['charAt'](_0x9a3db9++);~_0x1a7256&&(_0x4b065f=_0x5d7480%0x4?_0x4b065f*0x40+_0x1a7256:_0x1a7256,_0x5d7480++%0x4)?_0x35bf88+=String['fromCharCode'](0xff&_0x4b065f>>(-0x2*_0x5d7480&0x6)):0x0){_0x1a7256=_0x4d7c46['indexOf'](_0x1a7256);}for(let _0x2023bb=0x0,_0x7dbc5e=_0x35bf88['length'];_0x2023bb<_0x7dbc5e;_0x2023bb++){_0x259338+='%'+('00'+_0x35bf88['charCodeAt'](_0x2023bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x259338);};a0_0x2d6f['CAjPsK']=_0x5cbe95,a0_0x2d6f['mbzAHX']={},a0_0x2d6f['AnMLko']=!![];}const _0x3a9876=_0x1a3e7e[0x0],_0x24b97e=_0x2a2b81+_0x3a9876,_0xa19ad9=a0_0x2d6f['mbzAHX'][_0x24b97e];return!_0xa19ad9?(_0x2d6f41=a0_0x2d6f['CAjPsK'](_0x2d6f41),a0_0x2d6f['mbzAHX'][_0x24b97e]=_0x2d6f41):_0x2d6f41=_0xa19ad9,_0x2d6f41;}class LockManager{constructor(){const _0x512c70=a0_0x2e97b9;this['_prefix']=null,this[_0x512c70(0x113)]=null,this['_defaultTTL']=null,this[_0x512c70(0xeb)]=null,this['_retryDelay']=null,this[_0x512c70(0xcf)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x1f8c87=a0_0x2e97b9,_0x4df070={'MVQCD':function(_0x784dfa,_0x155df1){return _0x784dfa===_0x155df1;},'AZQBl':_0x1f8c87(0xe7),'rFQvZ':_0x1f8c87(0xed)};this[_0x1f8c87(0x117)]='rf:lock:',this[_0x1f8c87(0x113)]=_0x4df070['MVQCD'](process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_ENABLED'],_0x4df070[_0x1f8c87(0xde)]),this[_0x1f8c87(0xe1)]=parseInt(process[_0x1f8c87(0x111)][_0x1f8c87(0xc6)],0xa)||0xa,this[_0x1f8c87(0xeb)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x1f8c87(0xcf)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x1f8c87(0xcd),this[_0x1f8c87(0x114)]='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':_0x4df070['rFQvZ'],'enabled':this['_enabled'],'strategy':this[_0x1f8c87(0xcf)],'ttl':this['_defaultTTL'],'retryCount':this[_0x1f8c87(0xeb)],'retryDelay':this[_0x1f8c87(0xf3)],'workerId':this[_0x1f8c87(0x114)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this[_0x1f8c87(0xcf)]);}['_ensureInitialized'](){const _0xe28e89=a0_0x2e97b9;!this[_0xe28e89(0x100)]&&this[_0xe28e89(0xfc)]();}get[a0_0x2e97b9(0xef)](){const _0x41ec8d=a0_0x2e97b9;return this[_0x41ec8d(0xce)](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x2e97b9(0x11d)](){const _0x14064e=a0_0x2e97b9;return this['_ensureInitialized'](),this[_0x14064e(0xe1)];}get[a0_0x2e97b9(0xc9)](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0xa422d9=a0_0x2e97b9;return this[_0xa422d9(0xce)](),this[_0xa422d9(0xf3)];}get['strategy'](){const _0x4f16e5=a0_0x2e97b9;return this[_0x4f16e5(0xce)](),this[_0x4f16e5(0xcf)];}get[a0_0x2e97b9(0xd9)](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x140a4d){const {module:_0x85f02a,endpoint:_0x392514,lockType:_0x5262b8,recordId:_0x460922}=_0x140a4d;if(_0x460922)return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x460922+':'+_0x5262b8;return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x5262b8;}[a0_0x2e97b9(0xd0)](){const _0x2804ce=a0_0x2e97b9,_0x2877f1={'pjsdS':function(_0x419111){return _0x419111();}};return this['workerId']+':'+_0x2877f1[_0x2804ce(0xdd)](uuidv4)+':'+Date[_0x2804ce(0xc8)]();}async[a0_0x2e97b9(0xfb)](_0x31f90a){const _0x42f097=a0_0x2e97b9,_0x4133f4={'jNCjO':'write','vKtFX':function(_0x144c0f,_0x589d8e){return _0x144c0f<_0x589d8e;},'bcKlj':'read_lock_acquired','tBOba':_0x42f097(0x104),'UZyhG':function(_0x19c16f,_0x12b964){return _0x19c16f*_0x12b964;},'hZRWV':'READ\x20lock\x20acquire\x20timeout','DqKgL':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d9371=this['buildLockKey']({..._0x31f90a,'lockType':_0x4133f4[_0x42f097(0xf9)]}),_0x411404=this['buildLockKey']({..._0x31f90a,'lockType':_0x42f097(0x101)}),_0x5ed73f=this['generateLockValue']();try{const _0x35db32=redisClient[_0x42f097(0xe5)]();for(let _0x4d4e03=0x0;_0x4133f4[_0x42f097(0xd5)](_0x4d4e03,this[_0x42f097(0xc9)]);_0x4d4e03++){const _0xac27b2=await _0x35db32[_0x42f097(0x115)](_0x2d9371);if(!_0xac27b2){await _0x35db32['incr'](_0x411404),await _0x35db32[_0x42f097(0xfe)](_0x411404,this['defaultTTL']);const _0x18f579=_0x411404+':'+_0x5ed73f;return await _0x35db32['setex'](_0x18f579,this['defaultTTL'],_0x5ed73f),logger['debug']({'event':_0x4133f4[_0x42f097(0x116)],'key':_0x411404,'value':_0x5ed73f},_0x4133f4['tBOba']),{'success':!![],'lockValue':_0x5ed73f,'lockKey':_0x18f579};}logger['debug']({'event':_0x42f097(0x121),'writeKey':_0x2d9371,'attempt':_0x4d4e03},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](_0x4133f4[_0x42f097(0xf6)](this[_0x42f097(0x11f)],Math['pow'](0x2,_0x4d4e03)));}return logger[_0x42f097(0xf2)]({'event':_0x42f097(0xca),'key':_0x411404},_0x4133f4[_0x42f097(0x105)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x46e5ef){return logger[_0x42f097(0xf5)]({'event':_0x42f097(0x11c),'error':_0x46e5ef[_0x42f097(0xf8)]},_0x4133f4['DqKgL']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x538bbd){const _0x146b00=a0_0x2e97b9,_0x218a18={'RyvSO':'write','LSpci':'write_lock_acquired','tlOHm':_0x146b00(0xd1),'yBuXI':function(_0x57c3b9,_0x5e03b5){return _0x57c3b9===_0x5e03b5;},'ywdmc':function(_0x37f458,_0x29f8d5){return _0x37f458(_0x29f8d5);},'elSZz':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','fGIpO':'write_lock_waiting','meXwd':'Waiting\x20for\x20locks\x20to\x20release','XgJfC':function(_0x2094b7,_0x3af4cc){return _0x2094b7*_0x3af4cc;},'NwtVc':'WRITE\x20lock\x20acquire\x20timeout','ekgrv':_0x146b00(0x119)};if(!this[_0x146b00(0xd4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x565653=this['buildLockKey']({..._0x538bbd,'lockType':_0x218a18['RyvSO']}),_0x403287=this[_0x146b00(0xf7)]({..._0x538bbd,'lockType':'read'}),_0x1d0c0b=this['generateLockValue']();try{const _0x48392e=redisClient['getClient']();if(this[_0x146b00(0xee)]==='reject'){const _0x4f61cd=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this['defaultTTL'],'NX');if(_0x4f61cd==='OK')return logger['debug']({'event':_0x218a18[_0x146b00(0xe6)],'key':_0x565653,'value':_0x1d0c0b,'strategy':'reject'},_0x146b00(0xe8)),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};return logger['debug']({'event':_0x218a18['tlOHm'],'key':_0x565653},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x553324=0x0;_0x553324<this['retryCount'];_0x553324++){const [_0x8273ca,_0xce2edd]=await Promise['all']([_0x48392e['get'](_0x403287),_0x48392e[_0x146b00(0x115)](_0x565653)]);if(!_0xce2edd&&(!_0x8273ca||_0x218a18['yBuXI'](_0x218a18[_0x146b00(0x110)](parseInt,_0x8273ca),0x0))){const _0x4f84f9=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this[_0x146b00(0x11d)],'NX');if(_0x4f84f9==='OK')return logger['debug']({'event':_0x146b00(0xe2),'key':_0x565653,'value':_0x1d0c0b,'strategy':'retry'},_0x218a18['elSZz']),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};}logger[_0x146b00(0x102)]({'event':_0x218a18['fGIpO'],'writeKey':_0x565653,'readCount':_0x8273ca,'attempt':_0x553324},_0x218a18['meXwd']),await this[_0x146b00(0xe0)](_0x218a18[_0x146b00(0xf1)](this[_0x146b00(0x11f)],Math['pow'](0x2,_0x553324)));}return logger['warn']({'event':_0x146b00(0xd8),'key':_0x565653},_0x218a18[_0x146b00(0xcb)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x7ce516){return logger[_0x146b00(0xf5)]({'event':_0x218a18['ekgrv'],'error':_0x7ce516['message']},_0x146b00(0x10b)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x15c7f3,_0x524424){const _0x290458=a0_0x2e97b9,_0x41f945={'WfPno':_0x290458(0xda),'kwkai':function(_0x45c4dc,_0x4d3899){return _0x45c4dc>_0x4d3899;},'DOCvk':_0x290458(0xd7),'GBmHt':_0x290458(0xec),'SCOpz':function(_0x2cdb9c,_0x2e09c8){return _0x2cdb9c===_0x2e09c8;},'dPBLs':_0x290458(0x10e),'Jwbne':'lock_release_not_owner','HmcMG':'Cannot\x20release\x20lock\x20-\x20not\x20owner','yNWbx':'lock_release_error','gNqEZ':'Lock\x20release\x20error'};if(!this['enabled']||!_0x15c7f3)return!![];try{const _0xcfce98=redisClient['getClient']();if(_0x15c7f3[_0x290458(0xdf)](_0x41f945[_0x290458(0x107)])){await _0xcfce98['del'](_0x15c7f3);const _0x4822f0=_0x15c7f3['substring'](0x0,_0x15c7f3['lastIndexOf'](':')),_0x2fac10=await _0xcfce98[_0x290458(0x115)](_0x4822f0);return _0x2fac10&&_0x41f945['kwkai'](parseInt(_0x2fac10),0x0)&&await _0xcfce98[_0x290458(0x118)](_0x4822f0),logger[_0x290458(0x102)]({'event':_0x41f945[_0x290458(0x103)],'key':_0x15c7f3},_0x41f945[_0x290458(0xdb)]),!![];}const _0x1189cf='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x48d1a2=await _0xcfce98[_0x290458(0xe3)](_0x1189cf,0x1,_0x15c7f3,_0x524424);if(_0x41f945['SCOpz'](_0x48d1a2,0x1))return logger['debug']({'event':_0x290458(0xfd),'key':_0x15c7f3},_0x41f945[_0x290458(0xfa)]),!![];return logger[_0x290458(0xf2)]({'event':_0x41f945['Jwbne'],'key':_0x15c7f3},_0x41f945['HmcMG']),![];}catch(_0x20ecdc){return logger['error']({'event':_0x41f945[_0x290458(0x106)],'key':_0x15c7f3,'error':_0x20ecdc[_0x290458(0xf8)]},_0x41f945['gNqEZ']),![];}}async[a0_0x2e97b9(0xdc)](_0x36b0aa,_0x3fc354,_0x62ca34=null){const _0x94e83d=a0_0x2e97b9,_0x4849bb={'gvasv':_0x94e83d(0x11e),'lensH':_0x94e83d(0x109)};if(!this[_0x94e83d(0xd4)]||!_0x36b0aa)return!![];try{const _0x3ca7b3=redisClient[_0x94e83d(0xe5)](),_0x23078c='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x4772b0=await _0x3ca7b3['eval'](_0x23078c,0x1,_0x36b0aa,_0x3fc354,_0x62ca34||this['defaultTTL']);if(_0x4772b0===0x1)return logger[_0x94e83d(0x102)]({'event':'lock_extended','key':_0x36b0aa,'ttl':_0x62ca34||this['defaultTTL']},_0x4849bb[_0x94e83d(0x11b)]),!![];return![];}catch(_0x56babc){return logger[_0x94e83d(0xf5)]({'event':'lock_extend_error','key':_0x36b0aa,'error':_0x56babc['message']},_0x4849bb[_0x94e83d(0xea)]),![];}}[a0_0x2e97b9(0x10c)](){const _0x1680cc=a0_0x2e97b9;return this[_0x1680cc(0xd4)];}[a0_0x2e97b9(0xe0)](_0x4d76bb){return new Promise(_0x4661aa=>setTimeout(_0x4661aa,_0x4d76bb));}async[a0_0x2e97b9(0xc7)](_0x4ac1fc){const _0x1d949b=a0_0x2e97b9,_0x32b71f={'jYFmD':_0x1d949b(0x11a),'orkkU':function(_0xe21d6b,_0xa11692){return _0xe21d6b||_0xa11692;}};if(!this[_0x1d949b(0xd4)])return{'enabled':![]};try{const _0x895a04=redisClient['getClient'](),_0x4d3bc6=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':_0x32b71f['jYFmD']}),_0x4df25c=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':'read'}),[_0x3470d1,_0x56f2f6]=await Promise['all']([_0x895a04['get'](_0x4d3bc6),_0x895a04['get'](_0x4df25c)]);return{'enabled':!![],'writeLock':_0x32b71f[_0x1d949b(0xff)](_0x3470d1,null),'readCount':parseInt(_0x56f2f6)||0x0,'writeKey':_0x4d3bc6,'readKey':_0x4df25c};}catch(_0x31e0bc){return{'enabled':!![],'error':_0x31e0bc[_0x1d949b(0xf8)]};}}}function a0_0x1a3e(){const _0x3880c5=['x3DVCMTLCKLK','z2v0','yMnlBgO','x3bYzwzPEa','zgvJCG','D3jPDgvFBg9JA19LCNjVCG','D3jPDgu','z3zHC3y','CMvHzf9SB2nRx2vYCM9Y','zgvMyxvSDfruta','tg9JAYbuveWGzxH0zw5Kzwq','CMv0CNLezwXHEq','ndmWmJCZohvuA25gtq','CMvHzf9SB2nRx3DHAxrPBMC','te9ds19esvnuuKLcvvrfrf9uveW','z2v0tg9JA0LUzM8','BM93','CMv0CNLdB3vUDa','CMvHzf9SB2nRx3rPBwvVDxq','tND0vMm','mta1mde3tuLXC2Lv','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','x3n0CMf0zwD5','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgvFBg9JA19YzwPLy3rLza','n0DZC01Suq','mJKZmhfHy0n3Da','zw5HyMXLza','DKT0rLG','DxvPza','CMvHzf9SB2nRx3jLBgvHC2vK','D3jPDgvFBg9JA190Aw1LB3v0','D29YA2vYswq','oNjLywq6','r0jTshq','zxH0zw5Ktg9JAW','CgPZzfm','qvPrqMW','Aw5JBhvKzxm','C2XLzxa','x2rLzMf1BhruveW','D3jPDgvFBg9JA19Hy3f1AxjLza','zxzHBa','lI9YzwrPCY1JBgLLBNq','z2v0q2XPzw50','tfnWy2K','Dhj1zq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zxHWB3j0CW','BgvUC0G','x3jLDhj5q291BNq','uKvbrcbSB2nRihjLBgvHC2vK','Bg9JA19JB25MAwDFAw5PDa','C3rYyxrLz3K','ChjLzML4','mKfkChztCq','wgDkzKm','D2fYBG','x3jLDhj5rgvSyxK','mtu0ndG4mtvQAKnUrg4','zxjYB3i','vvP5AeC','yNvPBgrmB2nRs2v5','BwvZC2fNzq','AK5dAK8','zfbcthm','ywnXDwLYzvjLywrmB2nR','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19YzwXLyxnLza','zxHWAxjL','B3jRA1u','x2LUAxrPywXPEMvK','CMvHza','zgvIDwC','re9dDMS','uKvbrcbSB2nRigfJCxvPCMvK','AfPsv1y','Eu5xyNG','v2zqBM8','mtvSDe5euLK','tg9JAYbLEhrLBMqGzxjYB3i','mJe0mZa5mejhEvPAAa','v1jjveuGBg9JAYbLCNjVCG','AxnfBMfIBgvK','otq3ndm2yuj0C3jT','v1jjveuGBg9JAYbYzwXLyxnLza','mta1mJq3mNDPCKfrDW','ExDKBwm','zw52','mtq3mdmYnxzSwxbRzq','x2vUywjSzwq'];a0_0x1a3e=function(){return _0x3880c5;};return a0_0x1a3e();}module[a0_0x2e97b9(0xe9)]=new LockManager();
@@ -1 +1 @@
1
- const a0_0xee9e28=a0_0xc676;function a0_0xc676(_0x4fbb2d,_0x27b4cf){_0x4fbb2d=_0x4fbb2d-0xaa;const _0x3bb212=a0_0x3bb2();let _0xc6764c=_0x3bb212[_0x4fbb2d];if(a0_0xc676['TeYJJj']===undefined){var _0x5ec991=function(_0x2966f3){const _0x317659='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56c472='',_0x4a450c='';for(let _0x5d6284=0x0,_0x31bb29,_0x127436,_0x48fa9d=0x0;_0x127436=_0x2966f3['charAt'](_0x48fa9d++);~_0x127436&&(_0x31bb29=_0x5d6284%0x4?_0x31bb29*0x40+_0x127436:_0x127436,_0x5d6284++%0x4)?_0x56c472+=String['fromCharCode'](0xff&_0x31bb29>>(-0x2*_0x5d6284&0x6)):0x0){_0x127436=_0x317659['indexOf'](_0x127436);}for(let _0x11b318=0x0,_0x27853f=_0x56c472['length'];_0x11b318<_0x27853f;_0x11b318++){_0x4a450c+='%'+('00'+_0x56c472['charCodeAt'](_0x11b318)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a450c);};a0_0xc676['tuRuSD']=_0x5ec991,a0_0xc676['mBhhIT']={},a0_0xc676['TeYJJj']=!![];}const _0x2c2c47=_0x3bb212[0x0],_0x5d0818=_0x4fbb2d+_0x2c2c47,_0x35662f=a0_0xc676['mBhhIT'][_0x5d0818];return!_0x35662f?(_0xc6764c=a0_0xc676['tuRuSD'](_0xc6764c),a0_0xc676['mBhhIT'][_0x5d0818]=_0xc6764c):_0xc6764c=_0x35662f,_0xc6764c;}(function(_0x13dfde,_0x4e923b){const _0x90d0b2=a0_0xc676,_0xb1c7e2=_0x13dfde();while(!![]){try{const _0x158171=-parseInt(_0x90d0b2(0x125))/0x1+-parseInt(_0x90d0b2(0x104))/0x2*(-parseInt(_0x90d0b2(0xbb))/0x3)+-parseInt(_0x90d0b2(0xe6))/0x4+-parseInt(_0x90d0b2(0x110))/0x5*(-parseInt(_0x90d0b2(0x16c))/0x6)+-parseInt(_0x90d0b2(0xd4))/0x7*(-parseInt(_0x90d0b2(0xc2))/0x8)+-parseInt(_0x90d0b2(0x159))/0x9*(parseInt(_0x90d0b2(0x164))/0xa)+parseInt(_0x90d0b2(0x131))/0xb;if(_0x158171===_0x4e923b)break;else _0xb1c7e2['push'](_0xb1c7e2['shift']());}catch(_0x462832){_0xb1c7e2['push'](_0xb1c7e2['shift']());}}}(a0_0x3bb2,0xdad5c));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0xee9e28(0x13d),serviceName=a0_0xee9e28(0xc7),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':a0_0xee9e28(0x152),'hideObject':!![]},isDevelopment=process[a0_0xee9e28(0x10a)][a0_0xee9e28(0xb5)]!=='production',logLevel=process['env'][a0_0xee9e28(0xc9)]||a0_0xee9e28(0xf4);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0xee9e28(0x15d),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0xee9e28(0xf0)]||'1.0.5','env':process[a0_0xee9e28(0x10a)]['NODE_ENV']||a0_0xee9e28(0xe7)},'timestamp':pino[a0_0xee9e28(0xb7)]['isoTime'],'redact':{'paths':[a0_0xee9e28(0x101),'req.headers[\x22x-api-key\x22]','password',a0_0xee9e28(0x154),a0_0xee9e28(0x166),a0_0xee9e28(0x16d),'JWT_SECRET'],'censor':a0_0xee9e28(0xb2)},'serializers':{'req':_0x4713d4=>({'id':_0x4713d4['id'],'method':_0x4713d4['method'],'url':_0x4713d4['url'],'path':_0x4713d4[a0_0xee9e28(0x126)],'remoteAddress':_0x4713d4['ip']||_0x4713d4[a0_0xee9e28(0x15f)]?.['remoteAddress']}),'res':_0x1a90c0=>({'statusCode':_0x1a90c0['statusCode'],'headers':_0x1a90c0['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0xee9e28(0xec)]}});function initFileLogging(){const _0xcd8de0=a0_0xee9e28,_0x353e33={'jmXAB':function(_0x34cfab,_0xe5f4bc){return _0x34cfab===_0xe5f4bc;},'YsARy':_0xcd8de0(0xd6),'AcyjU':_0xcd8de0(0xc6),'YWiPM':'debug','XYmnd':function(_0x244a33,_0x17d182){return _0x244a33!==_0x17d182;},'sHwSJ':function(_0x4c6557,_0x47d992){return _0x4c6557(_0x47d992);},'droQK':'app.log','zaoEe':_0xcd8de0(0x118),'lBjhx':'info'};if(fileLoggingInitialized)return;logToFile=_0x353e33[_0xcd8de0(0x146)](process['env']['LOG_TO_FILE'],_0x353e33['YsARy']);const _0x291bc9=process['env'][_0xcd8de0(0x14e)]||_0x353e33['AcyjU'];logDir=process['env'][_0xcd8de0(0xdd)]||'./logs/'+_0x291bc9,serviceName=process['env'][_0xcd8de0(0x163)]||_0xcd8de0(0xc7),sqlLogEnabled=process['env'][_0xcd8de0(0xce)]===_0x353e33[_0xcd8de0(0xd0)],sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x353e33['YWiPM'],sqlLogParams=_0x353e33['XYmnd'](process['env']['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0x353e33[_0xcd8de0(0x15a)](parseInt,process[_0xcd8de0(0x10a)][_0xcd8de0(0x105)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x500a60=path[_0xcd8de0(0xb9)](process[_0xcd8de0(0x16b)](),logDir);try{!fs[_0xcd8de0(0x168)](_0x500a60)&&fs['mkdirSync'](_0x500a60,{'recursive':!![]});}catch(_0x261dfa){console[_0xcd8de0(0xbd)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x500a60+':',_0x261dfa[_0xcd8de0(0xfd)]),fileLoggingInitialized=!![];return;}const _0x253812=path['join'](_0x500a60,_0x353e33[_0xcd8de0(0x11b)]),_0x17f4d2=path[_0xcd8de0(0xc8)](_0x500a60,_0x353e33['zaoEe']);try{appLogStream=fs['createWriteStream'](_0x253812,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x17f4d2,{'flags':'a'}),fileLoggingInitialized=!![];const _0x42042f={'event':'file_logging_enabled','logDir':_0x500a60,'files':[_0x353e33['droQK'],_0xcd8de0(0x118)]},_0x1a651b=_0xcd8de0(0x12f)+_0x500a60;logger['info'](_0x42042f,_0x1a651b),writeToFileLog({..._0x42042f,'level':'info','msg':_0x1a651b,'time':new Date()[_0xcd8de0(0x150)]()},_0x353e33[_0xcd8de0(0xd3)]);}catch(_0x351f68){console['error'](_0xcd8de0(0x13a),_0x351f68[_0xcd8de0(0xfd)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0xe05713,_0x2d5278){const _0x2d124f=a0_0xee9e28,_0x3ee6a7={'fvwLU':function(_0x26e440,_0x453052){return _0x26e440||_0x453052;},'mrvPb':function(_0x330598,_0x40b1b4){return _0x330598===_0x40b1b4;},'eUnrT':_0x2d124f(0xc4)};if(_0x3ee6a7['fvwLU'](!logToFile,!appLogStream))return;const _0x202ecd={'service':serviceName,..._0xe05713},_0xeb872d=JSON['stringify'](_0x202ecd)+'\x0a';appLogStream['write'](_0xeb872d),(_0x2d5278===_0x2d124f(0xbd)||_0x3ee6a7[_0x2d124f(0x100)](_0x2d5278,_0x3ee6a7[_0x2d124f(0x114)]))&&(errorLogStream&&errorLogStream['write'](_0xeb872d));}const createRequestLogger=(_0x7c1781={})=>{const _0x2fa519=a0_0xee9e28;return logger[_0x2fa519(0x15e)](_0x7c1781);},logServerStart=_0x216984=>{const _0x3d4a9b=a0_0xee9e28,_0x16909f={'KeroF':'RESTFORGE\x20RUNTIME\x20SERVER','VOtTw':function(_0x2391fa,_0x4f2c88){return _0x2391fa/_0x4f2c88;},'ubTai':function(_0x352abe,_0x28f273){return _0x352abe-_0x28f273;},'HtqKP':_0x3d4a9b(0xc0),'WJVtz':'info'},_0x508620=_0x16909f[_0x3d4a9b(0x165)],_0x31e5fc=Math[_0x3d4a9b(0x11d)](0x0,0x37-_0x508620[_0x3d4a9b(0x10c)]),_0x27b950=Math['floor'](_0x16909f[_0x3d4a9b(0x134)](_0x31e5fc,0x2)),_0x4704e1=_0x16909f[_0x3d4a9b(0x12c)](_0x31e5fc,_0x27b950),_0xab9b5f='║'+'\x20'['repeat'](_0x27b950)+_0x508620+'\x20'['repeat'](_0x4704e1)+'║',_0x371950='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0xab9b5f+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x216984[_0x3d4a9b(0xaf)]||_0x3d4a9b(0x133))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x216984[_0x3d4a9b(0xab)]||_0x3d4a9b(0x156))[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0xf3)+String(_0x216984['port']||0xbb8)[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0x10e)+(_0x216984['configFile']||_0x3d4a9b(0x106))[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0x11e)+(_0x216984['apiKey']?'ACTIVE':_0x16909f['HtqKP'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x371950);const _0xcd3b18={'event':_0x3d4a9b(0x162),'project':_0x216984['project'],'port':_0x216984['port'],'config':_0x216984[_0x3d4a9b(0x13e)],'apiKeyEnabled':!!_0x216984[_0x3d4a9b(0x166)]};logger['info'](_0xcd3b18),writeToFileLog({..._0xcd3b18,'level':_0x16909f['WJVtz'],'msg':_0x3d4a9b(0xb3)+_0x216984[_0x3d4a9b(0xab)]+'\x20on\x20port\x20'+_0x216984['port'],'time':new Date()[_0x3d4a9b(0x150)]()},'info');},logServerReady=_0x34cd6a=>{const _0x13801d=a0_0xee9e28,_0x44c440={'hRrYi':function(_0x2798f4,_0x39005f,_0x4a46c0){return _0x2798f4(_0x39005f,_0x4a46c0);},'mQjhF':'info'},_0x5e2866={'event':'server_ready','port':_0x34cd6a[_0x13801d(0x15c)],'module':_0x34cd6a['module'],'healthCheck':_0x34cd6a['healthCheck'],'serviceInfo':_0x34cd6a[_0x13801d(0x11a)],'baseUrl':_0x34cd6a['baseUrl']},_0xa88555=_0x13801d(0xda)+_0x34cd6a['port'];logger[_0x13801d(0xf4)](_0x5e2866,_0xa88555),_0x44c440['hRrYi'](writeToFileLog,{..._0x5e2866,'level':_0x44c440[_0x13801d(0x160)],'msg':_0xa88555,'time':new Date()[_0x13801d(0x150)]()},_0x44c440['mQjhF']),_0x34cd6a[_0x13801d(0x14d)]&&logger[_0x13801d(0xf4)]('\x20\x20Health:\x20'+_0x34cd6a[_0x13801d(0x14d)]),_0x34cd6a['serviceInfo']&&logger['info'](_0x13801d(0x12b)+_0x34cd6a['serviceInfo']),_0x34cd6a[_0x13801d(0xbe)]&&logger[_0x13801d(0xf4)]('\x20\x20URL:\x20\x20\x20\x20'+_0x34cd6a['baseUrl']);},logProjectLoaded=(_0x1cc306,_0x58bfdf)=>{const _0x4ac55c=a0_0xee9e28,_0x36cda0={'gmCDT':_0x4ac55c(0xb1),'CRcBY':function(_0x497c54,_0x2c0ea8,_0x3e6c9b){return _0x497c54(_0x2c0ea8,_0x3e6c9b);}},_0x44b889={'event':_0x36cda0['gmCDT'],'project':_0x1cc306,'path':_0x58bfdf},_0x11864b=_0x4ac55c(0xee)+_0x1cc306;logger[_0x4ac55c(0xf4)](_0x44b889,_0x11864b),_0x36cda0[_0x4ac55c(0x10f)](writeToFileLog,{..._0x44b889,'level':'info','msg':_0x11864b,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x3024fd,_0x53ad2b)=>{const _0x567d35=a0_0xee9e28,_0x3a3e10={'sWjBO':_0x567d35(0xe3),'pIrNn':function(_0x46eba0,_0x17a8ec,_0x472067){return _0x46eba0(_0x17a8ec,_0x472067);},'EEjdU':'debug'},_0x4c2734={'event':_0x3a3e10[_0x567d35(0x149)],'endpoint':_0x3024fd,'route':_0x53ad2b},_0x12a65b='\x20\x20→\x20'+_0x3024fd+':\x20'+_0x53ad2b;logger['debug'](_0x4c2734,_0x12a65b),_0x3a3e10['pIrNn'](writeToFileLog,{..._0x4c2734,'level':'debug','msg':_0x12a65b,'time':new Date()[_0x567d35(0x150)]()},_0x3a3e10[_0x567d35(0x107)]);},logDatabaseConfig=_0x3af62a=>{const _0x2bac1e=a0_0xee9e28,_0x4c2a24={'sBEYu':_0x2bac1e(0xb8),'KWUqm':function(_0x55f966,_0x372004,_0xa55249){return _0x55f966(_0x372004,_0xa55249);}},_0x1096a7={'event':_0x4c2a24['sBEYu'],'host':_0x3af62a[_0x2bac1e(0x14c)],'port':_0x3af62a['port'],'database':_0x3af62a[_0x2bac1e(0x129)],'type':_0x3af62a['type'],'user':_0x3af62a[_0x2bac1e(0x14b)]},_0xe2cf56='Database:\x20'+_0x3af62a['type']+'://'+_0x3af62a[_0x2bac1e(0x14c)]+':'+_0x3af62a[_0x2bac1e(0x15c)]+'/'+_0x3af62a[_0x2bac1e(0x129)];logger[_0x2bac1e(0xfb)](_0x1096a7,_0xe2cf56),_0x4c2a24[_0x2bac1e(0xf6)](writeToFileLog,{..._0x1096a7,'level':'debug','msg':_0xe2cf56,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x41083c,_0x384f06,_0x5e439c)=>{const _0x570775=a0_0xee9e28,_0x2428ec={'PPvqo':_0x570775(0x12a),'nnHrr':_0x570775(0xf4),'YZdtj':function(_0x13e4a1,_0x47359f,_0x3849a7){return _0x13e4a1(_0x47359f,_0x3849a7);}},_0x4f1a55={'event':_0x2428ec[_0x570775(0x121)],'method':_0x41083c[_0x570775(0x13b)],'path':_0x41083c['path'],'statusCode':_0x384f06['statusCode'],'durationMs':_0x5e439c,'ip':_0x41083c['ip']},_0x4c2ce1=_0x41083c['method']+'\x20'+_0x41083c['path']+_0x570775(0x142)+_0x384f06['statusCode']+'\x20('+_0x5e439c+'ms)';let _0x5acedf=_0x2428ec[_0x570775(0xcd)];if(_0x384f06['statusCode']>=0x1f4)_0x5acedf=_0x570775(0xbd),logger[_0x570775(0xbd)](_0x4f1a55,_0x4c2ce1);else _0x384f06[_0x570775(0x109)]>=0x190?(_0x5acedf='warn',logger[_0x570775(0xdf)](_0x4f1a55,_0x4c2ce1)):logger[_0x570775(0xf4)](_0x4f1a55,_0x4c2ce1);_0x2428ec[_0x570775(0xe1)](writeToFileLog,{..._0x4f1a55,'level':_0x5acedf,'msg':_0x4c2ce1,'time':new Date()['toISOString']()},_0x5acedf);},SENSITIVE_PARAM_PATTERNS=[a0_0xee9e28(0x141),a0_0xee9e28(0x14f),'pwd','token',a0_0xee9e28(0xf8),'refresh_token','secret','api_secret','apikey',a0_0xee9e28(0xb6),'credential',a0_0xee9e28(0xc5),'pin',a0_0xee9e28(0x137),'private_key','privatekey'],redactSensitiveParams=(_0x217b93,_0x47eecf)=>{const _0x197502=a0_0xee9e28,_0x486e45={'SPXSC':function(_0xcab8b,_0x907594){return _0xcab8b>_0x907594;},'qMWny':function(_0x5bb69b,_0x2bd338){return _0x5bb69b===_0x2bd338;}};if(!_0x217b93||_0x486e45[_0x197502(0xe4)](_0x217b93['length'],0x0))return _0x217b93;const _0x1a97ee=_0x47eecf['toLowerCase'](),_0x5d5484=_0x1a97ee[_0x197502(0x144)](/\(([^)]+)\)\s*values/i);let _0x43b07a=[];_0x5d5484&&(_0x43b07a=_0x5d5484[0x1]['split'](',')['map'](_0x23b762=>_0x23b762['trim']()[_0x197502(0x127)]()));const _0x42d8fe=_0x1a97ee['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x42d8fe){const _0xaf20b9=_0x42d8fe[0x1],_0x3f14c1=_0xaf20b9[_0x197502(0x144)](/(\w+)\s*=/g);_0x3f14c1&&(_0x43b07a=_0x3f14c1['map'](_0x553931=>_0x553931['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x217b93[_0x197502(0x136)]((_0x383d47,_0xf7726d)=>{const _0xb2baee=_0x197502;if(_0x43b07a[_0xf7726d]){const _0x4a49a7=_0x43b07a[_0xf7726d],_0x1a2c5f=SENSITIVE_PARAM_PATTERNS['some'](_0x1fba6c=>_0x4a49a7['includes'](_0x1fba6c));if(_0x1a2c5f)return'[REDACTED]';}if(typeof _0x383d47===_0xb2baee(0x10d)&&_0x486e45['SPXSC'](_0x383d47[_0xb2baee(0x10c)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xb2baee(0x119)](_0x383d47)&&_0x383d47[_0xb2baee(0xcc)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0xb2baee(0x119)](_0x383d47))return _0xb2baee(0x15b);}return _0x383d47;});},parseQueryMetadata=_0x1e7ce3=>{const _0x45bfc3=a0_0xee9e28,_0x57e7b5={'hwkih':_0x45bfc3(0xdc),'GMeBL':'INSERT','QFeKm':_0x45bfc3(0xd5),'PLKLo':_0x45bfc3(0x14a),'OlEXc':'BEGIN','LVnFq':_0x45bfc3(0xea),'mMbwi':'TRANSACTION_ROLLBACK','vnhQs':'CREATE','DekQn':_0x45bfc3(0x139),'XYnzx':_0x45bfc3(0x155)},_0xa44e9=_0x1e7ce3['trim'](),_0x3ade5a=_0xa44e9[_0x45bfc3(0xc1)]();let _0x451f31='UNKNOWN',_0x6008d6=null;if(_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0xdc))){_0x451f31=_0x57e7b5[_0x45bfc3(0x117)];const _0x827579=_0xa44e9['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x827579?_0x827579[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x57e7b5[_0x45bfc3(0x161)])){_0x451f31=_0x57e7b5[_0x45bfc3(0x161)];const _0x4c8789=_0xa44e9[_0x45bfc3(0x144)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x4c8789?_0x4c8789[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)]('UPDATE')){_0x451f31=_0x57e7b5[_0x45bfc3(0xf7)];const _0x4ed98b=_0xa44e9[_0x45bfc3(0x144)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x4ed98b?_0x4ed98b[0x1]:null;}else{if(_0x3ade5a['startsWith'](_0x57e7b5['PLKLo'])){_0x451f31=_0x57e7b5[_0x45bfc3(0xd2)];const _0x42044d=_0xa44e9['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x42044d?_0x42044d[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x57e7b5['OlEXc'])||_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0xed)))_0x451f31=_0x57e7b5[_0x45bfc3(0x122)];else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0x148)))_0x451f31='TRANSACTION_COMMIT';else{if(_0x3ade5a['startsWith']('ROLLBACK'))_0x451f31=_0x57e7b5['mMbwi'];else{if(_0x3ade5a['startsWith'](_0x57e7b5['vnhQs']))_0x451f31=_0x45bfc3(0x13f);else{if(_0x3ade5a['startsWith'](_0x57e7b5['DekQn']))_0x451f31=_0x57e7b5[_0x45bfc3(0xcb)];else _0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0x116))&&(_0x451f31=_0x45bfc3(0xf1));}}}}}}}}return{'type':_0x451f31,'table':_0x6008d6};},startQueryTimer=()=>{const _0x103eb9=a0_0xee9e28,_0x53d7df={'VnIiP':function(_0x530a4c,_0x181697){return _0x530a4c(_0x181697);},'Uiqcj':function(_0x54365d,_0xd5d359){return _0x54365d+_0xd5d359;},'ZiRMS':function(_0x35046e,_0x5c6749){return _0x35046e*_0x5c6749;}},_0x41e90b=process[_0x103eb9(0xdb)]();return()=>{const _0x8b9052=_0x103eb9,[_0x2ce544,_0x3c8684]=process['hrtime'](_0x41e90b);return _0x53d7df['VnIiP'](parseFloat,_0x53d7df[_0x8b9052(0x103)](_0x53d7df['ZiRMS'](_0x2ce544,0x3e8),_0x3c8684/0xf4240)['toFixed'](0x2));};},logQuery=(_0x5ec2e0,_0x897564=[],_0x40d76b={})=>{const _0x11d5b2=a0_0xee9e28,_0x558f26={'ngouQ':'db_query','uepmG':_0x11d5b2(0x140),'kdLof':'postgresql','bqqiP':function(_0x172f90,_0x41aae0){return _0x172f90(_0x41aae0);},'qpHSN':_0x11d5b2(0xfa),'TpZxE':function(_0x39a5f8,_0x16fec3,_0x3a83bf){return _0x39a5f8(_0x16fec3,_0x3a83bf);},'UlsdP':function(_0x4d72e7,_0x161e19){return _0x4d72e7!==_0x161e19;},'MoKXB':function(_0x1f16d3,_0xa3d382){return _0x1f16d3||_0xa3d382;},'GTOEn':_0x11d5b2(0x167),'pNvcp':function(_0x3abdc0,_0x95d67){return _0x3abdc0!==_0x95d67;},'jvNKI':function(_0x2a497e,_0x51fe57){return _0x2a497e>_0x51fe57;},'CFaFC':_0x11d5b2(0xfb),'KbZne':'warn','ywnaz':function(_0x392668,_0x522286){return _0x392668===_0x522286;},'SnFam':'info'};if(!sqlLogEnabled){logger[_0x11d5b2(0xfb)]({'event':_0x558f26[_0x11d5b2(0x102)],'query':_0x5ec2e0['substring'](0x0,0xc8),'paramCount':_0x897564[_0x11d5b2(0x10c)]},_0x558f26['uepmG']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x558f26['kdLof']}=_0x40d76b,{type:_0xedd734,table:_0xa5246a}=_0x558f26['bqqiP'](parseQueryMetadata,_0x5ec2e0),_0x123fe5={'event':_0x558f26[_0x11d5b2(0xba)],'queryType':_0xedd734,'table':_0xa5246a,'query':_0x5ec2e0,'paramCount':_0x897564[_0x11d5b2(0x10c)],'dbType':dbType};sqlLogParams&&_0x897564['length']>0x0&&(_0x123fe5['params']=_0x558f26[_0x11d5b2(0xf5)](redactSensitiveParams,_0x897564,_0x5ec2e0));duration!==null&&(_0x123fe5[_0x11d5b2(0x143)]=duration,_0x123fe5[_0x11d5b2(0xff)]=duration>sqlLogSlowThreshold);_0x558f26[_0x11d5b2(0x130)](rowsAffected,null)&&(_0x123fe5['rowsAffected']=rowsAffected);const _0x5b8cc6=_0x558f26['MoKXB'](_0xa5246a,_0x558f26['GTOEn']);let _0x23f679='['+_0xedd734+']\x20'+_0x5b8cc6;duration!==null&&(_0x23f679+='\x20('+duration+'ms)');const _0x136774=_0x558f26[_0x11d5b2(0xaa)](duration,null)&&_0x558f26[_0x11d5b2(0x135)](duration,sqlLogSlowThreshold);let _0x2fcc87=_0x558f26['CFaFC'];if(_0x136774)_0x23f679+='\x20[SLOW]',_0x2fcc87=_0x558f26[_0x11d5b2(0xf9)],logger['warn'](_0x123fe5,_0x23f679);else _0x558f26[_0x11d5b2(0xe0)](sqlLogLevel,_0x558f26[_0x11d5b2(0xf2)])?(_0x2fcc87=_0x558f26['SnFam'],logger[_0x11d5b2(0xf4)](_0x123fe5,_0x23f679)):logger[_0x11d5b2(0xfb)](_0x123fe5,_0x23f679);writeToFileLog({..._0x123fe5,'level':_0x2fcc87,'msg':_0x23f679,'time':new Date()[_0x11d5b2(0x150)]()},_0x2fcc87);},logTransaction=(_0x227a40,_0x3f2836)=>{const _0x29978b=a0_0xee9e28,_0x5d4516={'cpxia':_0x29978b(0xcf),'WZZsJ':_0x29978b(0xfb)},_0x337be2={'event':_0x5d4516[_0x29978b(0x11c)],'status':_0x227a40,'queryCount':_0x3f2836},_0x3a9167='Transaction\x20'+_0x227a40;logger['debug'](_0x337be2,_0x3a9167),writeToFileLog({..._0x337be2,'level':_0x5d4516['WZZsJ'],'msg':_0x3a9167,'time':new Date()[_0x29978b(0x150)]()},_0x5d4516[_0x29978b(0x128)]);},redactObject=_0x10ae53=>{const _0x372aaf=a0_0xee9e28,_0x5af9c5={'Uonfv':'password','ndAit':'passwd','tXwrn':_0x372aaf(0xca),'IzjAO':_0x372aaf(0x120),'Xqdyq':'ssn','kmCiF':'privatekey','oKTHc':_0x372aaf(0xf8),'UGInH':'[REDACTED]','YkucK':function(_0x27000a,_0x4f914b){return _0x27000a===_0x4f914b;}};if(!_0x10ae53||typeof _0x10ae53!==_0x372aaf(0x112))return _0x10ae53;const _0x137f38=[_0x5af9c5['Uonfv'],_0x5af9c5[_0x372aaf(0xb4)],_0x5af9c5['tXwrn'],_0x372aaf(0x154),'secret','apikey','api_key','authorization','creditcard','credit_card',_0x5af9c5['IzjAO'],_0x5af9c5['Xqdyq'],'pin',_0x372aaf(0x16a),_0x5af9c5[_0x372aaf(0xbf)],_0x372aaf(0xb0),_0x5af9c5['oKTHc']],_0x823228=Array[_0x372aaf(0xfe)](_0x10ae53)?[..._0x10ae53]:{..._0x10ae53};for(const _0x42e929 of Object[_0x372aaf(0xd8)](_0x823228)){const _0x5abdf7=_0x42e929['toLowerCase']();if(_0x137f38[_0x372aaf(0x123)](_0x487f76=>_0x5abdf7[_0x372aaf(0xcc)](_0x487f76)))_0x823228[_0x42e929]=_0x5af9c5[_0x372aaf(0x13c)];else _0x5af9c5[_0x372aaf(0xae)](typeof _0x823228[_0x42e929],_0x372aaf(0x112))&&_0x823228[_0x42e929]!==null&&(_0x823228[_0x42e929]=redactObject(_0x823228[_0x42e929]));}return _0x823228;},logError=(_0x4aee27,_0x47a486={},_0x265c2b=null)=>{const _0x504c55=a0_0xee9e28,_0x24f088={'JeqVJ':_0x504c55(0xbd),'PYZiC':_0x504c55(0x12d),'MFaiu':function(_0x140d60,_0x223fd9,_0x1c6a6b){return _0x140d60(_0x223fd9,_0x1c6a6b);}},_0xc916ae={'event':_0x24f088[_0x504c55(0xd1)],'errorName':_0x4aee27[_0x504c55(0x12e)]||_0x24f088[_0x504c55(0xde)],'errorMessage':_0x4aee27['message'],'errorCode':_0x4aee27[_0x504c55(0x124)]||null,'stack':_0x4aee27['stack'],..._0x47a486},_0x9119ad=_0x265c2b||'Error:\x20'+_0x4aee27[_0x504c55(0xfd)];logger['error'](_0xc916ae,_0x9119ad),_0x24f088[_0x504c55(0xe2)](writeToFileLog,{..._0xc916ae,'level':_0x24f088['JeqVJ'],'msg':_0x9119ad,'time':new Date()['toISOString']()},_0x504c55(0xbd));},logFatalError=(_0x294c31,_0x7321a={},_0x4543f0=null)=>{const _0x43c4bb=a0_0xee9e28,_0x205e86={'mmGKv':_0x43c4bb(0x12d),'eTbhC':'error'},_0x5b112f={'event':_0x43c4bb(0x111),'errorName':_0x294c31['name']||_0x205e86[_0x43c4bb(0xac)],'errorMessage':_0x294c31['message'],'errorCode':_0x294c31['code']||null,'stack':_0x294c31[_0x43c4bb(0xbc)],'severity':'CRITICAL',..._0x7321a},_0x3ec8ef=_0x4543f0||'FATAL:\x20'+_0x294c31['message'];logger['fatal'](_0x5b112f,_0x3ec8ef),writeToFileLog({..._0x5b112f,'level':_0x43c4bb(0xc4),'msg':_0x3ec8ef,'time':new Date()['toISOString']()},_0x205e86['eTbhC']);},logHttpError=(_0x52b723,_0x4059b9,_0x179efe={})=>{const _0x17f1df=a0_0xee9e28,_0x1a0c39={'UNITY':'user-agent','lprdP':'x-request-id','Gwdwm':function(_0x838bc0,_0x3a0d97){return _0x838bc0>=_0x3a0d97;},'pIhvr':function(_0x3f97de,_0x103eeb,_0x2f0f9c){return _0x3f97de(_0x103eeb,_0x2f0f9c);},'lfvOT':'error','nTrcw':'warn'},_0xb2f8b0={'event':'http_error','errorName':_0x52b723['name']||'Error','errorMessage':_0x52b723[_0x17f1df(0xfd)],'errorCode':_0x52b723['code']||_0x52b723[_0x17f1df(0x109)]||0x1f4,'stack':_0x52b723['stack'],'method':_0x4059b9?.['method'],'url':_0x4059b9?.['url']||_0x4059b9?.['originalUrl'],'path':_0x4059b9?.['path'],'ip':_0x4059b9?.['ip']||_0x4059b9?.['connection']?.['remoteAddress'],'userAgent':_0x4059b9?.['get']?.(_0x1a0c39['UNITY']),'requestId':_0x4059b9?.['id']||_0x4059b9?.[_0x17f1df(0xfc)]?.[_0x1a0c39['lprdP']],'body':_0x4059b9?.[_0x17f1df(0x132)]?redactObject(_0x4059b9['body']):undefined,'query':_0x4059b9?.[_0x17f1df(0x151)],..._0x179efe},_0x65e08b=_0x52b723['statusCode']||_0x52b723['status']||0x1f4,_0x2a00b7=_0x17f1df(0x158)+_0x65e08b+':\x20'+_0x52b723['message'];_0x1a0c39['Gwdwm'](_0x65e08b,0x1f4)?logger['error'](_0xb2f8b0,_0x2a00b7):logger[_0x17f1df(0xdf)](_0xb2f8b0,_0x2a00b7),_0x1a0c39[_0x17f1df(0x113)](writeToFileLog,{..._0xb2f8b0,'level':_0x65e08b>=0x1f4?_0x1a0c39['lfvOT']:'warn','msg':_0x2a00b7,'time':new Date()[_0x17f1df(0x150)]()},_0x65e08b>=0x1f4?_0x1a0c39['lfvOT']:_0x1a0c39[_0x17f1df(0x115)]);},logUncaughtError=(_0x26c74d,_0x43685e)=>{const _0x6b0d7b=a0_0xee9e28,_0x41a5fb={'GxWtB':function(_0x58f99e,_0x1a7370){return _0x58f99e(_0x1a7370);},'JAGgn':function(_0x1ccb44,_0x34f09a,_0x2465b){return _0x1ccb44(_0x34f09a,_0x2465b);}},_0x131a69={'event':_0x26c74d,'errorName':_0x43685e?.[_0x6b0d7b(0x12e)]||'Error','errorMessage':_0x43685e?.[_0x6b0d7b(0xfd)]||_0x41a5fb['GxWtB'](String,_0x43685e),'errorCode':_0x43685e?.['code']||null,'stack':_0x43685e?.[_0x6b0d7b(0xbc)],'severity':'CRITICAL','processId':process[_0x6b0d7b(0x145)],'memoryUsage':process[_0x6b0d7b(0x10b)](),'uptime':process[_0x6b0d7b(0x169)]()},_0x38d842='['+_0x26c74d['toUpperCase']()+']\x20'+(_0x43685e?.['message']||_0x43685e);logger['fatal'](_0x131a69,_0x38d842),_0x41a5fb['JAGgn'](writeToFileLog,{..._0x131a69,'level':_0x6b0d7b(0xc4),'msg':_0x38d842,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x55c32e=a0_0xee9e28,_0x458512={'TZLPL':_0x55c32e(0xd7),'JfSGX':function(_0x350b83,_0x28b0ed){return _0x350b83 instanceof _0x28b0ed;},'ylXTZ':function(_0x5f463a,_0x268dde){return _0x5f463a(_0x268dde);},'ernmq':function(_0x549c95,_0x59d188,_0x18ae1d){return _0x549c95(_0x59d188,_0x18ae1d);},'DmOqn':'unhandledRejection','YzNlK':'process_warning','nOhcB':_0x55c32e(0xe8),'SJXda':_0x55c32e(0xf4)};process['on'](_0x458512['TZLPL'],_0x17e8ce=>{logUncaughtError(_0x458512['TZLPL'],_0x17e8ce),setTimeout(()=>{const _0xce13cd=a0_0xc676;process[_0xce13cd(0xad)](0x1);},0x3e8);}),process['on'](_0x458512['DmOqn'],(_0x257c31,_0x462196)=>{const _0x43fb5c=_0x55c32e,_0xfdd391=_0x458512[_0x43fb5c(0x153)](_0x257c31,Error)?_0x257c31:new Error(_0x458512[_0x43fb5c(0x11f)](String,_0x257c31));_0x458512[_0x43fb5c(0xe9)](logUncaughtError,_0x458512['DmOqn'],_0xfdd391);}),process['on'](_0x55c32e(0x138),_0x2217f5=>{const _0x3f0ecd=_0x55c32e;logger[_0x3f0ecd(0xdf)]({'event':_0x458512['YzNlK'],'name':_0x2217f5['name'],'message':_0x2217f5[_0x3f0ecd(0xfd)],'stack':_0x2217f5['stack']},_0x3f0ecd(0x108)+_0x2217f5['message']);});const _0x18c7cc={'event':_0x55c32e(0xd9)},_0x523d59=_0x458512[_0x55c32e(0xef)];logger[_0x55c32e(0xf4)](_0x18c7cc,_0x523d59),_0x458512['ernmq'](writeToFileLog,{..._0x18c7cc,'level':_0x55c32e(0xf4),'msg':_0x523d59,'time':new Date()['toISOString']()},_0x458512['SJXda']);},createErrorHandlerMiddleware=()=>{const _0x90f9ac={'IkfUh':function(_0x3e77a1,_0xcb3fd4,_0x2a2308){return _0x3e77a1(_0xcb3fd4,_0x2a2308);},'ZcvoE':'Internal\x20server\x20error'};return(_0x4f416e,_0x958d1a,_0x5ba259,_0x140ce2)=>{const _0x41bdb6=a0_0xc676;_0x90f9ac[_0x41bdb6(0xe5)](logHttpError,_0x4f416e,_0x958d1a);const _0x5d66c9=_0x4f416e[_0x41bdb6(0x109)]||_0x4f416e[_0x41bdb6(0xeb)]||0x1f4;_0x5ba259[_0x41bdb6(0xeb)](_0x5d66c9)['json']({'success':![],'error':_0x5d66c9>=0x1f4?_0x90f9ac['ZcvoE']:_0x4f416e['message'],'requestId':_0x958d1a['id']||_0x958d1a[_0x41bdb6(0xfc)]?.[_0x41bdb6(0xc3)]||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}};function a0_0x3bb2(){const _0x33f36b=['zxjY','u1rbuLqGvfjbtLnbq1rjt04','w09lxsbqCM9Qzwn0igXVywrLzdOG','BK9Oy0i','qvbqx1zfuLnjt04','rermx0rst1a','u25gyw0','iokvKqRILzeGifbVCNqGicaGicaGidOG','Aw5MBW','vhbAEeu','s1DvCw0','uuzLs20','ywnJzxnZx3rVA2vU','s2jABMu','C3fSx3f1zxj5','zgvIDwC','AgvHzgvYCW','BwvZC2fNzq','AxnbCNjHEq','AxntBg93','Bxj2ugi','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','BMDVDve','vwLXy2O','mLnYD1vxqW','u1fmx0Xpr19tte9xx1riuKvtse9mra','rgvMyxvSDa','ruvQzfu','uhjVy2vZCYbxyxjUAw5NoIa','C3rHDhvZq29Kzq','zw52','BwvTB3j5vxnHz2u','BgvUz3rO','C3rYAw5N','iokvKqRILzeGienVBMzPzYaGicaGidOG','q1jJqLK','mJGYmdv5qw5ftwC','zMf0ywXFzxjYB3i','B2jQzwn0','CeLODNi','zvvUCLq','BLrYy3C','rfjpua','AhDRAwG','zxjYB3iUBg9N','DgvZDa','C2vYDMLJzuLUzM8','zhjVuuS','y3b4Awe','Bwf4','iokvKqRILzeGiefqssblzxKGicaGidOG','EwXyvfO','y3z2','ufb2Cw8','tfzUrNe','C29Tzq','y29Kzq','nZiWntq1tw55AMzf','Cgf0Aa','Dg9mB3DLCKnHC2u','v1PAC0O','zgf0ywjHC2u','Ahr0Cf9Yzxf1zxn0','icbjBMzVoIaGia','DwjuywK','rxjYB3i','BMfTzq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','vwXZzfa','mte0mtK3nZfhDMPZDui','yM9KEq','tM9Kzs5QCW','vK90vhC','ANzos0K','BwfW','B3rW','D2fYBMLUzW','quXurvi','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Bwv0Ag9K','vuDjBKG','lI9SB2DZ','y29UzMLNrMLSzq','rermx0nsrufurq','reiGuxvLCNK','CgfZC3DVCMq','ic0G','zhvYyxrPB25nCW','Bwf0y2G','CgLK','AM1yqui','CgfKrw5K','q09ntuLu','C1DQqK8','revmrvrf','DxnLCG','Ag9ZDa','AgvHBhrOq2HLy2S','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CgfZC3DK','Dg9ju09tDhjPBMC','CxvLCNK','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','sMztr1G','Dg9Rzw4','rermx0fmvevs','tI9b','C3rHCNrZv2L0Aa','sfruuca','mta2mM5AvMjQqq','C0H3u0O','w1jfrefdveveoMHHC2HD','Cg9YDa','CgLUBY1WCMv0DhK','y2HPBgq','y29UBMvJDgLVBG','BvfQAey','r01LqKW','C2vYDMvYx3n0yxj0Aw5N','u0vsvKLdrv9oqu1f','mJy5meXvqvD1ta','s2vYB0y','yxbPs2v5','Dw5RBM93BG','zxHPC3rZu3LUyW','Dxb0Aw1L','ChjPDMf0zv9RzxK','y3DK','mJGYrhzutM9P','rejFueftu1DpuKq','Ce52y3a','ChjVAMvJDa','Bw1hs3y','zxHPDa','wwT1y0S','zw52AxjVBM1LBNq','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','w1jfrefdvevexq','u2vYDMvYihn0yxj0Aw5NoIa','BMrbAxq','tK9erv9ftLy','yxbPx2TLEq','C3rKvgLTzuz1BMn0Aw9UCW','zgf0ywjHC2vFy29UzMLN','CMvZB2X2zq','Cxbiu04','mJuXmdC5nLnJwgr6wq','C3rHy2S','zxjYB3i','yMfZzvvYBa','A21dAuy','tK9uiefdveLwrq','Dg9vChbLCKnHC2u','mtzkvvjQDfK','Ec1Yzxf1zxn0lwLK','zMf0ywW','y3jLzgvUDgLHBhm','zgvMyxvSDa','CMvZDgzVCMDL','AM9PBG','te9hx0XfvKvm','ChDK','wfLUENG','Aw5JBhvKzxm','BM5iCNi','u1fmx0Xpr19ftKfcteve','zgjFDhjHBNnHy3rPB24','wxnbuNK','sMvXvKO','ueXltg8','BejQAhG','odm5mti1vvL0r1D1','vvbeqvrf','Dhj1zq','Dw5JyxvNAhrfEgnLChrPB24','A2v5CW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','Ahj0Aw1L','u0vmrunu','te9hx0rjuG','ufLAAum','D2fYBG','ExDUyxO','wvPKDgO','tuzHAxu','zw5KCg9PBNrFCMvNAxn0zxjLza','Cu1xBNK','swTMvwG','mJKYntm0mgD2quLeyW','zgv2zwXVCg1LBNq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','zxjUBxe','vfjbtLnbq1rjt05FqKvhsu4','C3rHDhvZ'];a0_0x3bb2=function(){return _0x33f36b;};return a0_0x3bb2();}
1
+ const a0_0x3cd68b=a0_0x451c;(function(_0x18d3b2,_0x1766fd){const _0x4bf625=a0_0x451c,_0x3d70e3=_0x18d3b2();while(!![]){try{const _0x3b3bd3=-parseInt(_0x4bf625(0x230))/0x1*(parseInt(_0x4bf625(0x1bb))/0x2)+parseInt(_0x4bf625(0x1c4))/0x3*(-parseInt(_0x4bf625(0x1d3))/0x4)+parseInt(_0x4bf625(0x1f5))/0x5+parseInt(_0x4bf625(0x1a7))/0x6*(-parseInt(_0x4bf625(0x248))/0x7)+-parseInt(_0x4bf625(0x20b))/0x8*(-parseInt(_0x4bf625(0x1e0))/0x9)+-parseInt(_0x4bf625(0x247))/0xa*(-parseInt(_0x4bf625(0x1d7))/0xb)+parseInt(_0x4bf625(0x20a))/0xc*(-parseInt(_0x4bf625(0x259))/0xd);if(_0x3b3bd3===_0x1766fd)break;else _0x3d70e3['push'](_0x3d70e3['shift']());}catch(_0xaec2b4){_0x3d70e3['push'](_0x3d70e3['shift']());}}}(a0_0x3324,0xad568));function a0_0x451c(_0x448a18,_0xeebc9){_0x448a18=_0x448a18-0x1a7;const _0x33242f=a0_0x3324();let _0x451ccb=_0x33242f[_0x448a18];if(a0_0x451c['FDWnmj']===undefined){var _0xddbfa2=function(_0x34bfbc){const _0xf6cb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2064c8='',_0x27b5aa='';for(let _0x5d186e=0x0,_0x33c4e6,_0x1cecbe,_0x20a7be=0x0;_0x1cecbe=_0x34bfbc['charAt'](_0x20a7be++);~_0x1cecbe&&(_0x33c4e6=_0x5d186e%0x4?_0x33c4e6*0x40+_0x1cecbe:_0x1cecbe,_0x5d186e++%0x4)?_0x2064c8+=String['fromCharCode'](0xff&_0x33c4e6>>(-0x2*_0x5d186e&0x6)):0x0){_0x1cecbe=_0xf6cb8['indexOf'](_0x1cecbe);}for(let _0x730def=0x0,_0x3b3f3c=_0x2064c8['length'];_0x730def<_0x3b3f3c;_0x730def++){_0x27b5aa+='%'+('00'+_0x2064c8['charCodeAt'](_0x730def)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27b5aa);};a0_0x451c['mDrWwi']=_0xddbfa2,a0_0x451c['qgnaXf']={},a0_0x451c['FDWnmj']=!![];}const _0x1f7b19=_0x33242f[0x0],_0x16e690=_0x448a18+_0x1f7b19,_0x46017a=a0_0x451c['qgnaXf'][_0x16e690];return!_0x46017a?(_0x451ccb=a0_0x451c['mDrWwi'](_0x451ccb),a0_0x451c['qgnaXf'][_0x16e690]=_0x451ccb):_0x451ccb=_0x46017a,_0x451ccb;}const pino=require(a0_0x3cd68b(0x1f2)),fs=require('fs'),path=require(a0_0x3cd68b(0x1e9));function a0_0x3324(){const _0xe045dd=['Cgf0Aa','Aw5JBhvKzxm','CgfYyw1Z','ifTtte9xxq','CgLK','rgvMyxvSDa','D2fYBG','icbjBMzVoIaGia','y3jLzgvUDgLHBa','CgLUBW','s3vYq24','vfjbtLnbq1rjt05FqKvhsu4','ntK5mZG2nu5wAvb1AG','zxHWB3j0CW','uvrcBwq','ChjVzhvJDgLVBG','rejFueftu1DpuKq','Dg9Rzw4','zgvMyxvSDa','zgf0ywjHC2u','zgjFDhjHBNnHy3rPB24','ms4WlJu','z0HOyuO','CMvWBgfJzq','CMvMCMvZAf90B2TLBG','DgvZDa','C2vJCMv0','Bwf0y2G','Dg9vChbLCKnHC2u','Ec1Yzxf1zxn0lwLK','rKrhufq','C3vIC3rYAw5N','sfruuca','mZm2yM1Mtu5P','ntG4odi0vvzgBMrr','BgvUz3rO','AhnUExu','Ahj0Aw1L','ChjVy2vZC193yxjUAw5N','B2jQzwn0','tKPQC0i','CgLU','AgvHzgvYCW','Dg9ju09tDhjPBMC','vhrRD1m','C3rKvgLTzuz1BMn0Aw9UCW','CgfZC3DVCMq','rermx0rst1a','CgfKrw5K','zxHPC3rZu3LUyW','qunusvzf','q0Xvshy','zw52','zgf0ywjHC2vFy29UzMLN','yLfYzu4','ic0G','EuzlBKm','quXurvi','y29Kzq','Bwv0Ag9K','q1jjveLdquW','A0zzzxC','BwvZC2fNzq','zgv2zwXVCg1LBNq','te9hx0rjuG','ChjVAMvJDa','BNrUz0m','revmrvrf','AxntBg93','ChDK','zNHUyuS','nteZntvJtfLOC0m','ChjPDMf0zv9RzxK','Aw5MBW','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vvbeqvrf','BMfTzq','DxnLCG','te9hx0XfvKvm','C3rYAw5N','E21Zz30','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CxPqAhC','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C2vYDMvYx3n0yxj0Aw5N','ANnVBG','tK9erv9ftLy','weDevKC','qvPSBw4','yxbPA2v5','C3rYAw5NAwz5','A2v5CW','EezWA1O','C3rHCNrZv2L0Aa','mtaWmJCWruPNDhDx','mta2mJm5ter1wKnq','w09lxsbqCM9Qzwn0igXVywrLzdOG','vLLVr1i','C29Tzq','iokvKqRILzeGienVBMzPzYaGicaGidOG','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ufbNrMK','Dhj1zq','CgLUBY1WCMv0DhK','Cg9ZDgDYzxnXBa','C3rKu2vYAwfSAxPLCNm','Cg9YDa','tI9b','icbizwfSDgG6ia','ig9UihbVCNqG','yxv0Ag9YAxPHDgLVBG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','mZm0mdiYz1fSEwHi','DLvqv1u','AwDYtfu','yMfZzvvYBa','C2vYDMLJzuLUzM8','v3PfBe0','y29UzMLNrMLSzq','s0XxD2u','ndm4shz1uNbK','q3Ljqva','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3z2','vu5ltK9xtG','CxvLCNK','y3jLyxrLv3jPDgvtDhjLyw0','AM9PBG','zMf0ywW','w1jfrefdvevexq','DKLvue4','CMvWzwf0','u1fmx0Xpr19mrvzfta','veH0qxu','su5trvju','te9hx1rpx0zjteu','rgf0ywjHC2u6ia','u1fmx0Xpr19qqvjbtvm','A0DQuKy','w1jfrefdveveoNrVA2vUxq','mKP2qKXwqq','v0jluMG','C3rHDhvZq29Kzq','w1jfrefdveveoMHHC2HD','CMvZDgzVCMDL','whPUrLy','zgvIDwC','zKHmENC','tLvNA00','mZiXotiXBhLQs1z6','BxmP','EKLXzhC','sLDux1nfq1jfva','zxjYB3i','C3bSAxq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ChjPDMf0zwTLEq','EezOzue','CgfZC3DK','yxbWlMXVzW','y0DeDw4','AKHirNG','Dg9mB3DLCKnHC2u','CMvTB3rLqwrKCMvZCW','mtj3CgXotuK','r0rkEgG','yxbPs2v5','zw5KCg9PBNrFCMvNAxn0zxjLza','mtiZmKT5wKjQsW','zvPmB3u','zxjYB3iUBg9N','yMPSrxG','C3rHDhvZ','tK9uiefdveLwrq','yM9KEq','rvPzBNi','C3rHy2S','nZjYB0zZq24','rKfuquW6ia','D3jPDgu','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rwfcCxq','y3jLzgL0y2fYza','vuzkq1C','DhjPBq','rxjYB3i'];a0_0x3324=function(){return _0xe045dd;};return a0_0x3324();}let logToFile=![],logDir='./logs',serviceName=a0_0x3cd68b(0x1bf),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x3cd68b(0x239),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x3cd68b(0x23f)]!==a0_0x3cd68b(0x1f8),logLevel=process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x237)]||a0_0x3cd68b(0x232);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3cd68b(0x250),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3cd68b(0x1bf),'version':process['env']['APP_VERSION']||a0_0x3cd68b(0x1fe),'env':process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x23f)]||a0_0x3cd68b(0x228)},'timestamp':pino[a0_0x3cd68b(0x216)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x3cd68b(0x1fa),a0_0x3cd68b(0x1d5),a0_0x3cd68b(0x1f9),a0_0x3cd68b(0x1c7)],'censor':'[REDACTED]'},'serializers':{'req':_0x2873df=>({'id':_0x2873df['id'],'method':_0x2873df[a0_0x3cd68b(0x224)],'url':_0x2873df['url'],'path':_0x2873df[a0_0x3cd68b(0x1e9)],'remoteAddress':_0x2873df['ip']||_0x2873df['connection']?.['remoteAddress']}),'res':_0x4a1f11=>({'statusCode':_0x4a1f11[a0_0x3cd68b(0x1bd)],'headers':_0x4a1f11['getHeaders']?.()}),'err':pino[a0_0x3cd68b(0x252)]['err']}});function initFileLogging(){const _0x50c008=a0_0x3cd68b,_0x12875b={'EZYnr':function(_0x2852e2,_0x12c9da){return _0x2852e2===_0x12c9da;},'hfsRX':_0x50c008(0x1fb),'GDJxh':function(_0x3d2eb2,_0x18cad8){return _0x3d2eb2===_0x18cad8;},'TtkwS':'true','CyIAP':_0x50c008(0x1c1),'cGDun':function(_0x4bce41,_0x58ddc1){return _0x4bce41!==_0x58ddc1;},'fxnaK':'false','nPumj':function(_0x9e379c,_0x503576){return _0x9e379c(_0x503576);},'DrWUT':'error.log','zIqdw':'file_logging_enabled','bjlEx':_0x50c008(0x232)};if(fileLoggingInitialized)return;logToFile=_0x12875b[_0x50c008(0x1de)](process['env'][_0x50c008(0x1b6)],_0x50c008(0x24f));const _0x3890b8=process[_0x50c008(0x21d)][_0x50c008(0x23a)]||_0x12875b['hfsRX'];logDir=process['env'][_0x50c008(0x229)]||'./logs/'+_0x3890b8,serviceName=process[_0x50c008(0x21d)]['SERVICE_NAME']||_0x50c008(0x1bf),sqlLogEnabled=_0x12875b[_0x50c008(0x1d4)](process['env']['SQL_LOG_ENABLED'],_0x12875b[_0x50c008(0x215)]),sqlLogLevel=process['env'][_0x50c008(0x1b3)]||_0x12875b[_0x50c008(0x1a8)],sqlLogParams=_0x12875b[_0x50c008(0x1cf)](process[_0x50c008(0x21d)][_0x50c008(0x1b8)],_0x12875b[_0x50c008(0x22f)]),sqlLogSlowThreshold=_0x12875b['nPumj'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x525653=path['resolve'](process['cwd'](),logDir);try{!fs[_0x50c008(0x21a)](_0x525653)&&fs['mkdirSync'](_0x525653,{'recursive':!![]});}catch(_0xe10083){console['error'](_0x50c008(0x258)+_0x525653+':',_0xe10083['message']),fileLoggingInitialized=!![];return;}const _0x2b90b8=path[_0x50c008(0x1ae)](_0x525653,'app.log'),_0x2edca9=path[_0x50c008(0x1ae)](_0x525653,_0x12875b['DrWUT']);try{appLogStream=fs['createWriteStream'](_0x2b90b8,{'flags':'a'}),errorLogStream=fs[_0x50c008(0x1ad)](_0x2edca9,{'flags':'a'}),fileLoggingInitialized=!![];const _0x22dbaa={'event':_0x12875b[_0x50c008(0x1c6)],'logDir':_0x525653,'files':[_0x50c008(0x1ce),_0x50c008(0x1d9)]},_0x17b75c='File\x20logging\x20enabled:\x20'+_0x525653;logger['info'](_0x22dbaa,_0x17b75c),writeToFileLog({..._0x22dbaa,'level':_0x12875b[_0x50c008(0x1da)],'msg':_0x17b75c,'time':new Date()[_0x50c008(0x214)]()},_0x12875b['bjlEx']);}catch(_0x8c1ad2){console[_0x50c008(0x1c8)](_0x50c008(0x233),_0x8c1ad2['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x597cfa,_0x845e0b){const _0x2e64de=a0_0x3cd68b,_0x2712ae={'gHhaJ':function(_0x5a9af2,_0x4099a9){return _0x5a9af2===_0x4099a9;},'cHqls':'error'};if(!logToFile||!appLogStream)return;const _0x470f0e={'service':serviceName,..._0x597cfa},_0x381711=JSON[_0x2e64de(0x243)](_0x470f0e)+'\x0a';appLogStream[_0x2e64de(0x1e2)](_0x381711),(_0x2712ae['gHhaJ'](_0x845e0b,_0x2712ae['cHqls'])||_0x2712ae[_0x2e64de(0x1ff)](_0x845e0b,_0x2e64de(0x1af)))&&(errorLogStream&&errorLogStream['write'](_0x381711));}const createRequestLogger=(_0x15aada={})=>{return logger['child'](_0x15aada);},logServerStart=_0x2248f9=>{const _0x52e000=a0_0x3cd68b,_0x965759={'VbRMD':function(_0x2c5185,_0x471e92){return _0x2c5185-_0x471e92;},'xFpkZ':function(_0xc6010b,_0x4339ff){return _0xc6010b/_0x4339ff;},'fHLzw':'Node.js','zXBsw':_0x52e000(0x254),'QTBmd':function(_0x16e293,_0x4b16e6,_0x237115){return _0x16e293(_0x4b16e6,_0x237115);},'jHHFx':_0x52e000(0x232)},_0x55010f='RESTFORGE\x20RUNTIME\x20SERVER',_0x330c1c=Math['max'](0x0,_0x965759['VbRMD'](0x37,_0x55010f[_0x52e000(0x20c)])),_0x424e18=Math['floor'](_0x965759[_0x52e000(0x245)](_0x330c1c,0x2)),_0x1f689f=_0x330c1c-_0x424e18,_0x40366a='║'+'\x20'[_0x52e000(0x1b2)](_0x424e18)+_0x55010f+'\x20'['repeat'](_0x1f689f)+'║',_0x48638b=_0x52e000(0x1ca)+_0x40366a+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x2248f9['environment']||_0x965759[_0x52e000(0x1c2)])['padEnd'](0x26)+_0x52e000(0x1e3)+(_0x2248f9['project']||_0x965759['zXBsw'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x2248f9['port']||0xbb8)['padEnd'](0x26)+_0x52e000(0x24c)+(_0x2248f9['configFile']||_0x52e000(0x1ee))[_0x52e000(0x219)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x2248f9[_0x52e000(0x1d5)]?_0x52e000(0x21b):_0x52e000(0x1dc))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x48638b);const _0x530f8a={'event':_0x52e000(0x23d),'project':_0x2248f9[_0x52e000(0x22a)],'port':_0x2248f9[_0x52e000(0x253)],'config':_0x2248f9[_0x52e000(0x25f)],'apiKeyEnabled':!!_0x2248f9[_0x52e000(0x1d5)]};logger['info'](_0x530f8a),_0x965759[_0x52e000(0x1f7)](writeToFileLog,{..._0x530f8a,'level':_0x52e000(0x232),'msg':'Server\x20starting:\x20'+_0x2248f9['project']+_0x52e000(0x256)+_0x2248f9['port'],'time':new Date()['toISOString']()},_0x965759[_0x52e000(0x1d0)]);},logServerReady=_0x1b5032=>{const _0x1fe81c=a0_0x3cd68b,_0x5871f6={'xEgcY':_0x1fe81c(0x232)},_0x20a1b8={'event':'server_ready','port':_0x1b5032[_0x1fe81c(0x253)],'module':_0x1b5032['module'],'healthCheck':_0x1b5032['healthCheck'],'serviceInfo':_0x1b5032[_0x1fe81c(0x25d)],'baseUrl':_0x1b5032[_0x1fe81c(0x25c)]},_0x39ed37=_0x1fe81c(0x24d)+_0x1b5032[_0x1fe81c(0x253)];logger[_0x1fe81c(0x232)](_0x20a1b8,_0x39ed37),writeToFileLog({..._0x20a1b8,'level':'info','msg':_0x39ed37,'time':new Date()[_0x1fe81c(0x214)]()},_0x5871f6['xEgcY']),_0x1b5032['healthCheck']&&logger['info'](_0x1fe81c(0x255)+_0x1b5032['healthCheck']),_0x1b5032['serviceInfo']&&logger[_0x1fe81c(0x232)](_0x1fe81c(0x1f0)+_0x1b5032['serviceInfo']),_0x1b5032['baseUrl']&&logger[_0x1fe81c(0x232)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1b5032['baseUrl']);},logProjectLoaded=(_0x14f2dd,_0x41a6cb)=>{const _0x3adfb4=a0_0x3cd68b,_0x581709={'kBSeN':'project_loaded','bBOMN':'info'},_0x59e255={'event':_0x581709['kBSeN'],'project':_0x14f2dd,'path':_0x41a6cb},_0x397043=_0x3adfb4(0x249)+_0x14f2dd;logger[_0x3adfb4(0x232)](_0x59e255,_0x397043),writeToFileLog({..._0x59e255,'level':_0x581709['bBOMN'],'msg':_0x397043,'time':new Date()[_0x3adfb4(0x214)]()},'info');},logEndpointRegistered=(_0x8f36d3,_0x110011)=>{const _0x528dd8=a0_0x3cd68b,_0x5da945={'eZLou':_0x528dd8(0x1c1)},_0x3866d1={'event':_0x528dd8(0x1d6),'endpoint':_0x8f36d3,'route':_0x110011},_0x4c5b82='\x20\x20→\x20'+_0x8f36d3+':\x20'+_0x110011;logger['debug'](_0x3866d1,_0x4c5b82),writeToFileLog({..._0x3866d1,'level':_0x5da945['eZLou'],'msg':_0x4c5b82,'time':new Date()[_0x528dd8(0x214)]()},_0x5da945[_0x528dd8(0x1d8)]);},logDatabaseConfig=_0x2c3522=>{const _0x3390a3=a0_0x3cd68b,_0x811332={'event':_0x3390a3(0x21e),'host':_0x2c3522['host'],'port':_0x2c3522['port'],'database':_0x2c3522[_0x3390a3(0x1fc)],'type':_0x2c3522['type'],'user':_0x2c3522[_0x3390a3(0x236)]},_0x7a4640=_0x3390a3(0x1b7)+_0x2c3522['type']+'://'+_0x2c3522['host']+':'+_0x2c3522[_0x3390a3(0x253)]+'/'+_0x2c3522[_0x3390a3(0x1fc)];logger[_0x3390a3(0x1c1)](_0x811332,_0x7a4640),writeToFileLog({..._0x811332,'level':'debug','msg':_0x7a4640,'time':new Date()[_0x3390a3(0x214)]()},'debug');},logRequest=(_0x26c4f8,_0x27d40d,_0x429d21)=>{const _0x45ef90=a0_0x3cd68b,_0x43678f={'VNmAe':'http_request','THtAu':function(_0x32bb11,_0x342df2){return _0x32bb11>=_0x342df2;}},_0x3c2ecd={'event':_0x43678f['VNmAe'],'method':_0x26c4f8['method'],'path':_0x26c4f8['path'],'statusCode':_0x27d40d['statusCode'],'durationMs':_0x429d21,'ip':_0x26c4f8['ip']},_0x1adf67=_0x26c4f8['method']+'\x20'+_0x26c4f8['path']+_0x45ef90(0x220)+_0x27d40d['statusCode']+'\x20('+_0x429d21+_0x45ef90(0x1c5);let _0x43e339=_0x45ef90(0x232);if(_0x27d40d[_0x45ef90(0x1bd)]>=0x1f4)_0x43e339='error',logger['error'](_0x3c2ecd,_0x1adf67);else _0x43678f[_0x45ef90(0x1b4)](_0x27d40d['statusCode'],0x190)?(_0x43e339=_0x45ef90(0x1ef),logger['warn'](_0x3c2ecd,_0x1adf67)):logger['info'](_0x3c2ecd,_0x1adf67);writeToFileLog({..._0x3c2ecd,'level':_0x43e339,'msg':_0x1adf67,'time':new Date()[_0x45ef90(0x214)]()},_0x43e339);},SENSITIVE_PARAM_PATTERNS=[a0_0x3cd68b(0x217),'passwd',a0_0x3cd68b(0x22e),a0_0x3cd68b(0x1fa),'access_token','refresh_token',a0_0x3cd68b(0x203),'api_secret',a0_0x3cd68b(0x242),'api_key',a0_0x3cd68b(0x1f1),'credentials',a0_0x3cd68b(0x212),'otp','private_key',a0_0x3cd68b(0x1cb)],redactSensitiveParams=(_0x4700c9,_0x408f86)=>{const _0x18c8ee=a0_0x3cd68b,_0x3e3518={'CLUHv':_0x18c8ee(0x1ba)};if(!_0x4700c9||_0x4700c9['length']===0x0)return _0x4700c9;const _0x428b41=_0x408f86['toLowerCase'](),_0x594ba8=_0x428b41['match'](/\(([^)]+)\)\s*values/i);let _0x28dfb5=[];_0x594ba8&&(_0x28dfb5=_0x594ba8[0x1][_0x18c8ee(0x1c9)](',')['map'](_0x54219c=>_0x54219c['trim']()['toLowerCase']()));const _0x13f2a7=_0x428b41[_0x18c8ee(0x204)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x13f2a7){const _0x5e8b8d=_0x13f2a7[0x1],_0x56b9ee=_0x5e8b8d[_0x18c8ee(0x204)](/(\w+)\s*=/g);_0x56b9ee&&(_0x28dfb5=_0x56b9ee['map'](_0x227022=>_0x227022[_0x18c8ee(0x200)](/\s*=/,'')['trim']()[_0x18c8ee(0x1d1)]()));}return _0x4700c9['map']((_0x11a899,_0x4c5731)=>{const _0x8a5970=_0x18c8ee;if(_0x28dfb5[_0x4c5731]){const _0x3eeaab=_0x28dfb5[_0x4c5731],_0x5e19fb=SENSITIVE_PARAM_PATTERNS['some'](_0x1ea907=>_0x3eeaab[_0x8a5970(0x1ea)](_0x1ea907));if(_0x5e19fb)return _0x8a5970(0x1b0);}if(typeof _0x11a899===_0x8a5970(0x238)&&_0x11a899['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x8a5970(0x202)](_0x11a899)&&_0x11a899['includes']('.'))return _0x3e3518[_0x8a5970(0x21c)];if(/^[a-fA-F0-9]{32,}$/[_0x8a5970(0x202)](_0x11a899))return _0x8a5970(0x1be);}return _0x11a899;});},parseQueryMetadata=_0x148ed8=>{const _0x40e6c7=a0_0x3cd68b,_0x2a1669={'wTHJc':_0x40e6c7(0x1ab),'EaBqt':'SELECT','WzElM':_0x40e6c7(0x1b5),'UFJCW':'BEGIN','FDGPT':_0x40e6c7(0x1f4),'vIUPN':'TRANSACTION_ROLLBACK','qzPhw':_0x40e6c7(0x222),'TlnmA':'DROP','bKcqo':_0x40e6c7(0x218)},_0x1362e4=_0x148ed8[_0x40e6c7(0x1e7)](),_0x2e730b=_0x1362e4['toUpperCase']();let _0x4a74e2=_0x2a1669['wTHJc'],_0x1cfadc=null;if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e4)])){_0x4a74e2=_0x2a1669['EaBqt'];const _0xe33955=_0x1362e4[_0x40e6c7(0x204)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0xe33955?_0xe33955[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x25e)])){_0x4a74e2=_0x2a1669['WzElM'];const _0x575322=_0x1362e4['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x575322?_0x575322[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)](_0x40e6c7(0x234))){_0x4a74e2='UPDATE';const _0x2c7b93=_0x1362e4['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x2c7b93?_0x2c7b93[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)]('DELETE')){_0x4a74e2=_0x40e6c7(0x22c);const _0x5383be=_0x1362e4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x5383be?_0x5383be[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e6)])||_0x2e730b[_0x40e6c7(0x246)]('START\x20TRANSACTION'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x207)];else{if(_0x2e730b['startsWith']('COMMIT'))_0x4a74e2='TRANSACTION_COMMIT';else{if(_0x2e730b['startsWith']('ROLLBACK'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x1b1)];else{if(_0x2e730b['startsWith']('CREATE'))_0x4a74e2='DDL_CREATE';else{if(_0x2e730b[_0x40e6c7(0x246)](_0x2a1669[_0x40e6c7(0x23b)]))_0x4a74e2='DDL_ALTER';else _0x2e730b['startsWith'](_0x2a1669['TlnmA'])&&(_0x4a74e2=_0x2a1669['bKcqo']);}}}}}}}}return{'type':_0x4a74e2,'table':_0x1cfadc};},startQueryTimer=()=>{const _0x2b9151=a0_0x3cd68b,_0x29035e={'igrLU':function(_0x317d9b,_0x1b3416){return _0x317d9b(_0x1b3416);},'XznFV':function(_0x34da8a,_0x2ba491){return _0x34da8a/_0x2ba491;}},_0x4ec1dd=process[_0x2b9151(0x20e)]();return()=>{const _0x3ed030=_0x2b9151,[_0x12bf7d,_0x57bae3]=process[_0x3ed030(0x20e)](_0x4ec1dd);return _0x29035e[_0x3ed030(0x25b)](parseFloat,(_0x12bf7d*0x3e8+_0x29035e[_0x3ed030(0x1c0)](_0x57bae3,0xf4240))['toFixed'](0x2));};},logQuery=(_0x2c26b5,_0x476e48=[],_0x1432db={})=>{const _0x3ea501=a0_0x3cd68b,_0x5cf3eb={'bQreN':'db_query','PPgFi':function(_0x4516e7,_0x2de93a){return _0x4516e7>_0x2de93a;},'kPosV':function(_0x4b3291,_0x2bc557,_0x415487){return _0x4b3291(_0x2bc557,_0x415487);},'WBKRh':function(_0x389fef,_0x52c9ac){return _0x389fef!==_0x52c9ac;},'XGDVG':_0x3ea501(0x1ec),'kFYew':'warn','Fwujd':function(_0xbd5957,_0x59b332){return _0xbd5957===_0x59b332;}};if(!sqlLogEnabled){logger['debug']({'event':_0x5cf3eb[_0x3ea501(0x21f)],'query':_0x2c26b5[_0x3ea501(0x208)](0x0,0xc8),'paramCount':_0x476e48[_0x3ea501(0x20c)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3ea501(0x251)}=_0x1432db,{type:_0x146edf,table:_0x1833be}=parseQueryMetadata(_0x2c26b5),_0x10658f={'event':'sql_query','queryType':_0x146edf,'table':_0x1833be,'query':_0x2c26b5,'paramCount':_0x476e48[_0x3ea501(0x20c)],'dbType':dbType};sqlLogParams&&_0x5cf3eb[_0x3ea501(0x24e)](_0x476e48['length'],0x0)&&(_0x10658f[_0x3ea501(0x1eb)]=_0x5cf3eb['kPosV'](redactSensitiveParams,_0x476e48,_0x2c26b5));duration!==null&&(_0x10658f['durationMs']=duration,_0x10658f[_0x3ea501(0x22d)]=_0x5cf3eb[_0x3ea501(0x24e)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x10658f['rowsAffected']=rowsAffected);const _0x17ef74=_0x1833be||'unknown';let _0x489858='['+_0x146edf+']\x20'+_0x17ef74;_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&(_0x489858+='\x20('+duration+_0x3ea501(0x1c5));const _0x598e38=_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&duration>sqlLogSlowThreshold;let _0x45137e='debug';if(_0x598e38)_0x489858+=_0x5cf3eb[_0x3ea501(0x240)],_0x45137e=_0x5cf3eb[_0x3ea501(0x226)],logger[_0x3ea501(0x1ef)](_0x10658f,_0x489858);else _0x5cf3eb['Fwujd'](sqlLogLevel,_0x3ea501(0x232))?(_0x45137e='info',logger['info'](_0x10658f,_0x489858)):logger[_0x3ea501(0x1c1)](_0x10658f,_0x489858);_0x5cf3eb['kPosV'](writeToFileLog,{..._0x10658f,'level':_0x45137e,'msg':_0x489858,'time':new Date()['toISOString']()},_0x45137e);},logTransaction=(_0x2e69da,_0x128d8d)=>{const _0x482c25=a0_0x3cd68b,_0xaff238={'yFKnC':function(_0xb38885,_0x31c35e,_0x550204){return _0xb38885(_0x31c35e,_0x550204);},'cmfUw':_0x482c25(0x1c1)},_0xdc6e6b={'event':_0x482c25(0x1fd),'status':_0x2e69da,'queryCount':_0x128d8d},_0x19ca80='Transaction\x20'+_0x2e69da;logger[_0x482c25(0x1c1)](_0xdc6e6b,_0x19ca80),_0xaff238[_0x482c25(0x221)](writeToFileLog,{..._0xdc6e6b,'level':_0xaff238['cmfUw'],'msg':_0x19ca80,'time':new Date()[_0x482c25(0x214)]()},_0x482c25(0x1c1));},redactObject=_0x297575=>{const _0x2e4e5c=a0_0x3cd68b,_0x4b9c20={'KurCn':_0x2e4e5c(0x210),'gWVrd':'password','ipepy':_0x2e4e5c(0x1fa),'fSptg':_0x2e4e5c(0x203),'NUgkM':'apikey','ntngC':_0x2e4e5c(0x1e5),'NJjsB':'credit_card','kGjRF':_0x2e4e5c(0x1aa),'moGey':'ssn','yVgjw':'access_token','NvrTM':function(_0x277d1d,_0x741f65){return _0x277d1d===_0x741f65;},'xFheA':function(_0x55741b,_0x31a675){return _0x55741b(_0x31a675);}};if(!_0x297575||typeof _0x297575!==_0x4b9c20['KurCn'])return _0x297575;const _0x102d0b=[_0x4b9c20['gWVrd'],_0x2e4e5c(0x1cd),'pwd',_0x4b9c20['ipepy'],_0x4b9c20['fSptg'],_0x4b9c20[_0x2e4e5c(0x1c3)],'api_key',_0x2e4e5c(0x257),_0x4b9c20[_0x2e4e5c(0x22b)],_0x4b9c20[_0x2e4e5c(0x211)],_0x4b9c20[_0x2e4e5c(0x1b9)],_0x4b9c20['moGey'],'pin',_0x2e4e5c(0x231),'privatekey',_0x2e4e5c(0x201),_0x4b9c20['yVgjw']],_0x581397=Array['isArray'](_0x297575)?[..._0x297575]:{..._0x297575};for(const _0x33ea9 of Object[_0x2e4e5c(0x244)](_0x581397)){const _0x1dad2f=_0x33ea9['toLowerCase']();if(_0x102d0b[_0x2e4e5c(0x24b)](_0x3755c3=>_0x1dad2f[_0x2e4e5c(0x1ea)](_0x3755c3)))_0x581397[_0x33ea9]=_0x2e4e5c(0x1b0);else _0x4b9c20['NvrTM'](typeof _0x581397[_0x33ea9],_0x4b9c20[_0x2e4e5c(0x1f3)])&&_0x581397[_0x33ea9]!==null&&(_0x581397[_0x33ea9]=_0x4b9c20[_0x2e4e5c(0x1cc)](redactObject,_0x581397[_0x33ea9]));}return _0x581397;},logError=(_0x5e5900,_0xd4c74f={},_0x46ec67=null)=>{const _0x1f398b=a0_0x3cd68b,_0x347259={'jBcEY':'Error','hsnyu':'error'},_0x15a068={'event':'error','errorName':_0x5e5900[_0x1f398b(0x235)]||_0x347259['jBcEY'],'errorMessage':_0x5e5900['message'],'errorCode':_0x5e5900[_0x1f398b(0x223)]||null,'stack':_0x5e5900['stack'],..._0xd4c74f},_0x7d9bbe=_0x46ec67||'Error:\x20'+_0x5e5900[_0x1f398b(0x227)];logger[_0x1f398b(0x1c8)](_0x15a068,_0x7d9bbe),writeToFileLog({..._0x15a068,'level':_0x347259[_0x1f398b(0x20d)],'msg':_0x7d9bbe,'time':new Date()[_0x1f398b(0x214)]()},'error');},logFatalError=(_0x58f17e,_0x1c85f1={},_0x1d0e6e=null)=>{const _0x436615=a0_0x3cd68b,_0x34a261={'VYoGR':'fatal_error','KLWwe':'Error','OFsoD':'CRITICAL','RzuNk':function(_0x1728d6,_0x28a38a,_0x3ceeeb){return _0x1728d6(_0x28a38a,_0x3ceeeb);},'mmGQQ':_0x436615(0x1af)},_0x143da2={'event':_0x34a261[_0x436615(0x24a)],'errorName':_0x58f17e['name']||_0x34a261[_0x436615(0x260)],'errorMessage':_0x58f17e['message'],'errorCode':_0x58f17e['code']||null,'stack':_0x58f17e['stack'],'severity':_0x34a261['OFsoD'],..._0x1c85f1},_0x28d3de=_0x1d0e6e||_0x436615(0x1e1)+_0x58f17e[_0x436615(0x227)];logger['fatal'](_0x143da2,_0x28d3de),_0x34a261['RzuNk'](writeToFileLog,{..._0x143da2,'level':_0x34a261['mmGQQ'],'msg':_0x28d3de,'time':new Date()['toISOString']()},_0x436615(0x1c8));},logHttpError=(_0xc44db4,_0xbb0b,_0x717f6d={})=>{const _0x3c3d9a=a0_0x3cd68b,_0x7e3096={'HxSXD':_0x3c3d9a(0x1e8),'dnqcB':function(_0x5a1b37,_0x3d390f){return _0x5a1b37(_0x3d390f);},'uXZcy':function(_0x2d2e1d,_0xdab222,_0x228f7a){return _0x2d2e1d(_0xdab222,_0x228f7a);},'smxsL':function(_0x56f30b,_0x41a8a4){return _0x56f30b>=_0x41a8a4;},'vNOst':'error','fpMhk':'warn'},_0x20ea2e={'event':'http_error','errorName':_0xc44db4['name']||_0x7e3096['HxSXD'],'errorMessage':_0xc44db4[_0x3c3d9a(0x227)],'errorCode':_0xc44db4['code']||_0xc44db4[_0x3c3d9a(0x1bd)]||0x1f4,'stack':_0xc44db4[_0x3c3d9a(0x1df)],'method':_0xbb0b?.['method'],'url':_0xbb0b?.['url']||_0xbb0b?.['originalUrl'],'path':_0xbb0b?.[_0x3c3d9a(0x1e9)],'ip':_0xbb0b?.['ip']||_0xbb0b?.['connection']?.[_0x3c3d9a(0x1d2)],'userAgent':_0xbb0b?.['get']?.('user-agent'),'requestId':_0xbb0b?.['id']||_0xbb0b?.['headers']?.[_0x3c3d9a(0x206)],'body':_0xbb0b?.[_0x3c3d9a(0x1dd)]?_0x7e3096['dnqcB'](redactObject,_0xbb0b['body']):undefined,'query':_0xbb0b?.[_0x3c3d9a(0x1ac)],..._0x717f6d},_0x2423f4=_0xc44db4[_0x3c3d9a(0x1bd)]||_0xc44db4[_0x3c3d9a(0x1db)]||0x1f4,_0x22f8f7=_0x3c3d9a(0x209)+_0x2423f4+':\x20'+_0xc44db4['message'];_0x2423f4>=0x1f4?logger['error'](_0x20ea2e,_0x22f8f7):logger['warn'](_0x20ea2e,_0x22f8f7),_0x7e3096['uXZcy'](writeToFileLog,{..._0x20ea2e,'level':_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x3c3d9a(0x1ef),'msg':_0x22f8f7,'time':new Date()[_0x3c3d9a(0x214)]()},_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x7e3096['fpMhk']);},logUncaughtError=(_0x476892,_0x320b5b)=>{const _0x3242f3=a0_0x3cd68b,_0x13348d={'FjISY':function(_0x567067,_0x36df84){return _0x567067(_0x36df84);},'UZWWD':_0x3242f3(0x225),'kiSnF':function(_0x44af78,_0x2210da,_0x44e83b){return _0x44af78(_0x2210da,_0x44e83b);},'jrHMm':'fatal','dCItm':_0x3242f3(0x1c8)},_0x13389a={'event':_0x476892,'errorName':_0x320b5b?.[_0x3242f3(0x235)]||'Error','errorMessage':_0x320b5b?.[_0x3242f3(0x227)]||_0x13348d['FjISY'](String,_0x320b5b),'errorCode':_0x320b5b?.[_0x3242f3(0x223)]||null,'stack':_0x320b5b?.['stack'],'severity':_0x13348d['UZWWD'],'processId':process[_0x3242f3(0x1ed)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x1279dd='['+_0x476892[_0x3242f3(0x205)]()+']\x20'+(_0x320b5b?.[_0x3242f3(0x227)]||_0x320b5b);logger[_0x3242f3(0x1af)](_0x13389a,_0x1279dd),_0x13348d['kiSnF'](writeToFileLog,{..._0x13389a,'level':_0x13348d['jrHMm'],'msg':_0x1279dd,'time':new Date()['toISOString']()},_0x13348d['dCItm']);},setupGlobalErrorHandlers=()=>{const _0x4d0f56=a0_0x3cd68b,_0x94afc0={'AZlmn':'uncaughtException','vUPWU':function(_0x4fcc2b,_0x16e8ac,_0x5d52ee){return _0x4fcc2b(_0x16e8ac,_0x5d52ee);},'okqkP':function(_0x5cde78,_0x1760ef){return _0x5cde78 instanceof _0x1760ef;},'eGTSJ':function(_0x1e6164,_0x2afa26){return _0x1e6164(_0x2afa26);},'ZDgFI':'unhandledRejection','dTcdS':'warning','otvxr':'global_error_handlers_setup'};process['on']('uncaughtException',_0x437803=>{const _0x3135ac=a0_0x451c;logUncaughtError(_0x94afc0[_0x3135ac(0x241)],_0x437803),_0x94afc0[_0x3135ac(0x25a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x94afc0['ZDgFI'],(_0x397889,_0x2a60cc)=>{const _0x5d19ec=a0_0x451c,_0x2528c6=_0x94afc0['okqkP'](_0x397889,Error)?_0x397889:new Error(_0x94afc0['eGTSJ'](String,_0x397889));logUncaughtError(_0x5d19ec(0x23c),_0x2528c6);}),process['on'](_0x94afc0['dTcdS'],_0x45c477=>{const _0x4e4ec7=a0_0x451c;logger['warn']({'event':_0x4e4ec7(0x20f),'name':_0x45c477[_0x4e4ec7(0x235)],'message':_0x45c477[_0x4e4ec7(0x227)],'stack':_0x45c477['stack']},'Process\x20Warning:\x20'+_0x45c477[_0x4e4ec7(0x227)]);});const _0x59c348={'event':_0x94afc0['otvxr']},_0x350634='Global\x20error\x20handlers\x20initialized';logger[_0x4d0f56(0x232)](_0x59c348,_0x350634),writeToFileLog({..._0x59c348,'level':'info','msg':_0x350634,'time':new Date()['toISOString']()},_0x4d0f56(0x232));},createErrorHandlerMiddleware=()=>{const _0x11bccb={'evlhT':'x-request-id'};return(_0x14b17f,_0x121691,_0x24745c,_0x332587)=>{const _0x1138d8=a0_0x451c;logHttpError(_0x14b17f,_0x121691);const _0x4afd10=_0x14b17f[_0x1138d8(0x1bd)]||_0x14b17f['status']||0x1f4;_0x24745c[_0x1138d8(0x1db)](_0x4afd10)[_0x1138d8(0x23e)]({'success':![],'error':_0x4afd10>=0x1f4?_0x1138d8(0x1a9):_0x14b17f['message'],'requestId':_0x121691['id']||_0x121691[_0x1138d8(0x213)]?.[_0x11bccb['evlhT']]||null});};};module[a0_0x3cd68b(0x1f6)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x3ae4e0=a0_0x9b8c;(function(_0x55f1f4,_0x1d8c52){const _0x11b93c=a0_0x9b8c,_0x2a1715=_0x55f1f4();while(!![]){try{const _0x1dba7a=-parseInt(_0x11b93c(0x1d9))/0x1+parseInt(_0x11b93c(0x1fd))/0x2*(parseInt(_0x11b93c(0x1dc))/0x3)+-parseInt(_0x11b93c(0x1e3))/0x4+-parseInt(_0x11b93c(0x1f3))/0x5+parseInt(_0x11b93c(0x200))/0x6+-parseInt(_0x11b93c(0x1df))/0x7*(-parseInt(_0x11b93c(0x1fc))/0x8)+-parseInt(_0x11b93c(0x1f1))/0x9*(-parseInt(_0x11b93c(0x203))/0xa);if(_0x1dba7a===_0x1d8c52)break;else _0x2a1715['push'](_0x2a1715['shift']());}catch(_0x411c96){_0x2a1715['push'](_0x2a1715['shift']());}}}(a0_0x4bed,0xa49ca));function a0_0x4bed(){const _0x3a8d0c=['zw50CMLLCW','B3jHy2XL','lI9KyI1TExnXBa','C2v0','ntCXnJa4twruB1LO','Dg9vChbLCKnHC2u','ndi5mtaXnuHTug5QyW','Bg9VA3vWq2fJAgu','BgvUz3rO','zxHLy3v0zvf1zxj5','AvrszMy','Bg9HzeXVB2T1CfrHyMXL','sNPuyM0','lI9KyG','AgfZ','ndmYoteYwxHyv2Tu','otGZmfzfte95Ca','DhjPBq','iIbUB3qGzM91BMqGAw4G','nty4ntm0mKfzAuDOsa','zxHWB3j0CW','BxLZCwW','mtuWENHdChzL','y2XLyxjdywnOzq','tg9VA3vWignHy2HLignSzwfYzwq','qujmy2G','zxjYB3i','zNjVBq','DMfSAwrHDgvmB29RDxbwywX1zxm','ChjVy2vZC0XVB2T1CezPzwXKCW','ENrhzvO','u2jby1u','nZC5mJK0AuvHDwj1','sezwvMm','BwfW','ntCWtNjyv2fk','A2v5CW','CMvZB2X2zuXVB2T1CfzHBhvL','otflzhL0wNO','Dg9mB3DLCKnHC2u','AMfLyKK','BwvZC2fNzq','ndKWmZi4ofLHvgXsyW','u0vmrunuia','Cg9ZDgDYzxnXBa','rfDjv0i','ywrK','DNzXywi','ChvZAa','Bg9VA3vWx3rHyMXLx2XVywrLza','z2v0rgLZDgLUy3rwywX1zxm','rejFvfLqrq'];a0_0x4bed=function(){return _0x3a8d0c;};return a0_0x4bed();}const dbType=(process['env'][a0_0x3ae4e0(0x1ec)]||a0_0x3ae4e0(0x1e5))['toLowerCase']();let executeQuery;if(dbType===a0_0x3ae4e0(0x1ee)){const oracleDb=require('./db-oracle');executeQuery=(_0x358e25,_0x14a776)=>oracleDb[a0_0x3ae4e0(0x1f6)](_0x358e25,_0x14a776);}else{if(dbType===a0_0x3ae4e0(0x202)){const mysqlDb=require(a0_0x3ae4e0(0x1ef));executeQuery=(_0x3a9c8b,_0xd56b0f)=>mysqlDb[a0_0x3ae4e0(0x1f6)](_0x3a9c8b,_0xd56b0f);}else executeQuery=require(a0_0x3ae4e0(0x1fa))[a0_0x3ae4e0(0x1f6)];}const {logger}=require('./logger');function a0_0x9b8c(_0xa935ee,_0x2945aa){_0xa935ee=_0xa935ee-0x1d1;const _0x4bed89=a0_0x4bed();let _0x9b8ce8=_0x4bed89[_0xa935ee];if(a0_0x9b8c['PvgOrd']===undefined){var _0x3a9537=function(_0x369174){const _0x5ec1e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a09e1='',_0x1e25cc='';for(let _0xf79587=0x0,_0x1de6b9,_0x2afd4d,_0x1bfc71=0x0;_0x2afd4d=_0x369174['charAt'](_0x1bfc71++);~_0x2afd4d&&(_0x1de6b9=_0xf79587%0x4?_0x1de6b9*0x40+_0x2afd4d:_0x2afd4d,_0xf79587++%0x4)?_0x2a09e1+=String['fromCharCode'](0xff&_0x1de6b9>>(-0x2*_0xf79587&0x6)):0x0){_0x2afd4d=_0x5ec1e8['indexOf'](_0x2afd4d);}for(let _0x3a9d9a=0x0,_0x13dd1b=_0x2a09e1['length'];_0x3a9d9a<_0x13dd1b;_0x3a9d9a++){_0x1e25cc+='%'+('00'+_0x2a09e1['charCodeAt'](_0x3a9d9a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e25cc);};a0_0x9b8c['raxcaB']=_0x3a9537,a0_0x9b8c['yffMer']={},a0_0x9b8c['PvgOrd']=!![];}const _0x2fc656=_0x4bed89[0x0],_0x434985=_0xa935ee+_0x2fc656,_0x40e18e=a0_0x9b8c['yffMer'][_0x434985];return!_0x40e18e?(_0x9b8ce8=a0_0x9b8c['raxcaB'](_0x9b8ce8),a0_0x9b8c['yffMer'][_0x434985]=_0x9b8ce8):_0x9b8ce8=_0x40e18e,_0x9b8ce8;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x3ae4e0(0x204)](){const _0x1d6e2c=a0_0x3ae4e0,_0x30245e={'YmioX':'lookup_cache_cleared','WFWww':_0x1d6e2c(0x1d1)};this['lookupCache']['clear'](),logger['debug']({'event':_0x30245e['YmioX']},_0x30245e['WFWww']);}async[a0_0x3ae4e0(0x1f8)](_0xd39d10,_0x39aca8,_0x3afe61){const _0x277879=a0_0x3ae4e0,_0x5cd41f={'HFVVc':function(_0x9de0e2,_0x460345){return _0x9de0e2!==_0x460345;},'SbAcU':function(_0x36917a,_0x63bbb8){return _0x36917a(_0x63bbb8);},'pJozZ':function(_0x428d8c,_0x1f4e54){return _0x428d8c(_0x1f4e54);}},_0x3e7b5a=_0xd39d10+':'+_0x39aca8+':'+_0x3afe61;if(this['lookupCache'][_0x277879(0x1fb)](_0x3e7b5a))return this[_0x277879(0x1f4)]['get'](_0x3e7b5a);try{const _0x3187af=_0x277879(0x1e4)+_0x3afe61+',\x20'+_0x39aca8+'\x20FROM\x20'+_0xd39d10,_0x146248=await _0x5cd41f['SbAcU'](executeQuery,_0x3187af),_0x469636=new Map();return _0x146248['forEach'](_0xb406ad=>{const _0x107dba=_0x277879,_0x3bb53c=_0xb406ad[_0x39aca8]!==undefined?_0xb406ad[_0x39aca8]:_0xb406ad[_0x39aca8[_0x107dba(0x1f2)]()],_0x569ed4=_0xb406ad[_0x3afe61]!==undefined?_0xb406ad[_0x3afe61]:_0xb406ad[_0x3afe61[_0x107dba(0x1f2)]()];_0x5cd41f[_0x107dba(0x1da)](_0x3bb53c,null)&&_0x5cd41f[_0x107dba(0x1da)](_0x3bb53c,undefined)&&(_0x469636['set'](_0x5cd41f[_0x107dba(0x1d8)](String,_0x3bb53c)[_0x107dba(0x1e0)]()['trim'](),_0x569ed4),_0x469636[_0x107dba(0x1f0)](_0x5cd41f['pJozZ'](String,_0x3bb53c)['trim'](),_0x569ed4));}),this['lookupCache'][_0x277879(0x1f0)](_0x3e7b5a,_0x469636),logger['info']({'event':_0x277879(0x1ea),'table':_0xd39d10,'column':_0x39aca8,'count':_0x146248['length']},'Lookup\x20table\x20loaded:\x20'+_0xd39d10),_0x469636;}catch(_0x4c111d){logger[_0x277879(0x1d3)]({'event':'lookup_table_load_error','table':_0xd39d10,'error':_0x4c111d[_0x277879(0x1e2)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0xd39d10);throw _0x4c111d;}}[a0_0x3ae4e0(0x1de)](_0x3afe2c,_0x5839ee){const _0x241766=a0_0x3ae4e0,_0x187919={'OVtYK':function(_0x94f3b4,_0x5b685b){return _0x94f3b4===_0x5b685b;},'vvqab':function(_0x1356fe,_0x4ffa7f){return _0x1356fe===_0x4ffa7f;}};if(_0x187919['OVtYK'](_0x3afe2c,null)||_0x187919['OVtYK'](_0x3afe2c,undefined)||_0x187919[_0x241766(0x1e8)](_0x3afe2c,''))return null;const _0x2e1a43=String(_0x3afe2c)['trim']();if(_0x5839ee[_0x241766(0x1fb)](_0x2e1a43))return _0x5839ee['get'](_0x2e1a43);const _0x19b2d4=_0x2e1a43['toLowerCase']();if(_0x5839ee['has'](_0x19b2d4))return _0x5839ee['get'](_0x19b2d4);return null;}async[a0_0x3ae4e0(0x1d6)](_0x6ae098,_0x298921){const _0x4b3eb5=a0_0x3ae4e0,_0x51ce28={'DWIWB':function(_0x328862,_0x54d688){return _0x328862===_0x54d688;},'jaebI':function(_0x35c0c3,_0x449036){return _0x35c0c3===_0x449036;},'XQJzr':'lookup_fields_processed','iTRff':'Lookup\x20fields\x20processed'};if(!_0x298921||_0x51ce28[_0x4b3eb5(0x1e1)](Object[_0x4b3eb5(0x1dd)](_0x298921)['length'],0x0))return{'processedRows':_0x6ae098,'errors':[]};const _0x4a3841=[],_0x4f9638=new Map();for(const [_0x127aab,_0x48fe27]of Object['entries'](_0x298921)){const {lookupTable:_0x45878e,lookupColumn:_0x33c137,lookupIdColumn:_0x13b861}=_0x48fe27,_0x56ec40=_0x45878e+':'+_0x33c137+':'+_0x13b861;if(!_0x4f9638[_0x4b3eb5(0x1fb)](_0x56ec40)){const _0x525b47=await this[_0x4b3eb5(0x1f8)](_0x45878e,_0x33c137,_0x13b861);_0x4f9638[_0x4b3eb5(0x1f0)](_0x56ec40,_0x525b47);}}const _0x177685=_0x6ae098[_0x4b3eb5(0x1db)]((_0x5b180d,_0x426d34)=>{const _0xa74a26=_0x4b3eb5,_0x4dfdd2={..._0x5b180d};for(const [_0x3ba8d5,_0x2b9b8a]of Object[_0xa74a26(0x1ed)](_0x298921)){const {lookupTable:_0x4fa260,lookupColumn:_0x3fe48a,lookupIdColumn:_0x5328d1,targetField:_0x29f5fd,required:_0x31eea8}=_0x2b9b8a,_0x3ed652=_0x4fa260+':'+_0x3fe48a+':'+_0x5328d1,_0x36af25=_0x4f9638['get'](_0x3ed652),_0x59e128=_0x5b180d[_0x3ba8d5];if((_0x59e128===null||_0x59e128===undefined||_0x51ce28[_0xa74a26(0x1e6)](_0x59e128,''))&&!_0x31eea8){_0x4dfdd2[_0x29f5fd]=null;continue;}const _0x25ada3=this[_0xa74a26(0x1de)](_0x59e128,_0x36af25);_0x25ada3!==null?_0x4dfdd2[_0x29f5fd]=_0x25ada3:(_0x31eea8&&_0x4a3841['push']({'rowIndex':_0x426d34,'field':_0x3ba8d5,'value':_0x59e128,'targetField':_0x29f5fd,'lookupTable':_0x4fa260,'message':'Value\x20\x22'+_0x59e128+_0xa74a26(0x1ff)+_0x4fa260}),_0x4dfdd2[_0x29f5fd]=null);}return _0x4dfdd2;});return logger['info']({'event':_0x51ce28['XQJzr'],'totalRows':_0x6ae098['length'],'errorCount':_0x4a3841['length'],'lookupFieldCount':Object[_0x4b3eb5(0x1dd)](_0x298921)['length']},_0x51ce28[_0x4b3eb5(0x1f7)]),{'processedRows':_0x177685,'errors':_0x4a3841};}[a0_0x3ae4e0(0x1eb)](_0x5af54b,_0x598ab4){const _0x2e30de=a0_0x3ae4e0,_0x356409={'jMhQH':function(_0x55d04a,_0xad1597){return _0x55d04a!==_0xad1597;},'ABLch':function(_0x258af3,_0x489576){return _0x258af3(_0x489576);}},_0x19d55c=new Set();return _0x5af54b['forEach'](_0x8863bb=>{const _0x3573a3=a0_0x9b8c,_0x20e9b9=_0x8863bb[_0x598ab4];_0x356409['jMhQH'](_0x20e9b9,null)&&_0x356409['jMhQH'](_0x20e9b9,undefined)&&_0x20e9b9!==''&&_0x19d55c[_0x3573a3(0x1e7)](_0x356409[_0x3573a3(0x1d2)](String,_0x20e9b9)[_0x3573a3(0x1fe)]());}),Array[_0x2e30de(0x1d4)](_0x19d55c);}async[a0_0x3ae4e0(0x1d5)](_0x552ce3,_0x12e369){const _0x4b664d=a0_0x3ae4e0,_0x207d14={'dJxaq':function(_0x2858dc,_0x25d340){return _0x2858dc===_0x25d340;},'JzTbm':function(_0x57cbcd,_0xbe89b){return _0x57cbcd===_0xbe89b;},'qjVFj':function(_0x5b8517,_0x4fb57){return _0x5b8517>_0x4fb57;},'ztGeZ':function(_0x271ba5,_0x4e174c){return _0x271ba5===_0x4e174c;}};if(!_0x12e369||_0x207d14[_0x4b664d(0x1f9)](Object[_0x4b664d(0x1dd)](_0x12e369)[_0x4b664d(0x1f5)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x2cfd11=[],_0x13cabe={};for(const [_0x1e5624,_0x3cf4e9]of Object['entries'](_0x12e369)){const {lookupTable:_0x4600dd,lookupColumn:_0x29c888,lookupIdColumn:_0x20f57b,required:_0x5d11c5}=_0x3cf4e9,_0x21ce8a=this[_0x4b664d(0x1eb)](_0x552ce3,_0x1e5624),_0x19f666=await this['loadLookupTable'](_0x4600dd,_0x29c888,_0x20f57b),_0x1f30bf=[],_0x585619=[];_0x21ce8a['forEach'](_0x754086=>{const _0x76426b=_0x4b664d,_0x21e0fe=this[_0x76426b(0x1de)](_0x754086,_0x19f666);_0x21e0fe!==null?_0x585619[_0x76426b(0x1e9)](_0x754086):_0x1f30bf['push'](_0x754086);});if(_0x207d14['qjVFj'](_0x1f30bf['length'],0x0)&&_0x5d11c5){_0x2cfd11[_0x4b664d(0x1e9)]({'field':_0x1e5624,'lookupTable':_0x4600dd,'invalidValues':_0x1f30bf,'message':_0x1f30bf['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x4600dd});const _0x35ce98=[];_0x19f666['forEach']((_0x1c8889,_0x247624)=>{const _0x3d0ea3=_0x4b664d;if(_0x207d14['dJxaq'](_0x247624,_0x247624[_0x3d0ea3(0x1e0)]()))return;_0x35ce98['push'](_0x247624);}),_0x13cabe[_0x1e5624]={'invalidValues':_0x1f30bf,'availableValues':_0x35ce98['slice'](0x0,0x32)};}}return{'valid':_0x207d14[_0x4b664d(0x1d7)](_0x2cfd11[_0x4b664d(0x1f5)],0x0),'errors':_0x2cfd11,'suggestions':_0x13cabe};}}module[a0_0x3ae4e0(0x201)]=new LookupResolver();
1
+ const a0_0x10cc59=a0_0x3cb0;function a0_0x53e1(){const _0x104d73=['zM9YrwfJAa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','Aw5MBW','zw50CMLLCW','mtC0m1rXrNzfyW','zxHWB3j0CW','vMfSDwuGiG','lI9SB2DNzxi','BgvUz3rO','y2XLyxi','ywrK','AgfZ','Dg9mB3DLCKnHC2u','C2v0','ntuYnNP1DNnbAa','Bg9VA3vWq2fJAgu','lI9KyI1TExnXBa','CxjpwMG','z2v0rgLZDgLUy3rwywX1zxm','CKrLrxa','BxLZCwW','zKvty0y','otC1mteYmfzzsuDUEq','m2DOAurnrq','A2v5CW','y2XLyxjdywnOzq','iIbUB3qGzM91BMqGAw4G','BwfW','tg9VA3vWignHy2HLignSzwfYzwq','zNjVBq','z2v0','zgvIDwC','DMXMzhO','oty4mdeXCvjcB0rJ','mJC4ntmXmgjWtMPXtq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','EgH2z00','ovLzrM1KCG','mtmXndCWzNHfthjr','ChvZAa','mti1nZmXodDwyxruwMO','iezst00G','zxHLy3v0zvf1zxj5','mta0DeTlsfHA','DMfSAwrHDgvmB29RDxbwywX1zxm','rejFvfLqrq','whbWB28','CMvZB2X2zuXVB2T1CfzHBhvL','mtjiz29ls2u','mZm4nZq3me5qzNPTrW','Bg9HzeXVB2T1CfrHyMXL'];a0_0x53e1=function(){return _0x104d73;};return a0_0x53e1();}(function(_0x5583a2,_0x2ca415){const _0x143ad7=a0_0x3cb0,_0x392182=_0x5583a2();while(!![]){try{const _0x49402b=parseInt(_0x143ad7(0x160))/0x1+-parseInt(_0x143ad7(0x161))/0x2*(parseInt(_0x143ad7(0x156))/0x3)+-parseInt(_0x143ad7(0x16a))/0x4*(-parseInt(_0x143ad7(0x165))/0x5)+parseInt(_0x143ad7(0x181))/0x6*(parseInt(_0x143ad7(0x177))/0x7)+-parseInt(_0x143ad7(0x189))/0x8+parseInt(_0x143ad7(0x164))/0x9*(parseInt(_0x143ad7(0x170))/0xa)+-parseInt(_0x143ad7(0x167))/0xb*(-parseInt(_0x143ad7(0x16f))/0xc);if(_0x49402b===_0x2ca415)break;else _0x392182['push'](_0x392182['shift']());}catch(_0x3e6265){_0x392182['push'](_0x392182['shift']());}}}(a0_0x53e1,0xb7663));const dbType=(process['env'][a0_0x10cc59(0x16c)]||'postgresql')[a0_0x10cc59(0x17f)]();let executeQuery;function a0_0x3cb0(_0x36843a,_0x3d2782){_0x36843a=_0x36843a-0x156;const _0x53e125=a0_0x53e1();let _0x3cb0af=_0x53e125[_0x36843a];if(a0_0x3cb0['XyuucJ']===undefined){var _0x6ed56f=function(_0x13d770){const _0x4bdaad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23c364='',_0x3172d6='';for(let _0x47b8bd=0x0,_0x53f2b7,_0x2fa6bd,_0x52602e=0x0;_0x2fa6bd=_0x13d770['charAt'](_0x52602e++);~_0x2fa6bd&&(_0x53f2b7=_0x47b8bd%0x4?_0x53f2b7*0x40+_0x2fa6bd:_0x2fa6bd,_0x47b8bd++%0x4)?_0x23c364+=String['fromCharCode'](0xff&_0x53f2b7>>(-0x2*_0x47b8bd&0x6)):0x0){_0x2fa6bd=_0x4bdaad['indexOf'](_0x2fa6bd);}for(let _0xae9c4b=0x0,_0x13eeb6=_0x23c364['length'];_0xae9c4b<_0x13eeb6;_0xae9c4b++){_0x3172d6+='%'+('00'+_0x23c364['charCodeAt'](_0xae9c4b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3172d6);};a0_0x3cb0['riPJmg']=_0x6ed56f,a0_0x3cb0['VisbtQ']={},a0_0x3cb0['XyuucJ']=!![];}const _0x5890bf=_0x53e125[0x0],_0x3c0785=_0x36843a+_0x5890bf,_0x488a92=a0_0x3cb0['VisbtQ'][_0x3c0785];return!_0x488a92?(_0x3cb0af=a0_0x3cb0['riPJmg'](_0x3cb0af),a0_0x3cb0['VisbtQ'][_0x3c0785]=_0x3cb0af):_0x3cb0af=_0x488a92,_0x3cb0af;}if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x4596aa,_0x2cafa8)=>oracleDb[a0_0x10cc59(0x169)](_0x4596aa,_0x2cafa8);}else{if(dbType===a0_0x10cc59(0x187)){const mysqlDb=require(a0_0x10cc59(0x183));executeQuery=(_0x1ef7d2,_0x5e181d)=>mysqlDb[a0_0x10cc59(0x169)](_0x1ef7d2,_0x5e181d);}else executeQuery=require('./db')[a0_0x10cc59(0x169)];}const {logger}=require(a0_0x10cc59(0x17a));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x10cc59(0x158)](){const _0x1dffab=a0_0x10cc59,_0x3d09a6={'fEScF':_0x1dffab(0x174)};this[_0x1dffab(0x182)][_0x1dffab(0x17c)](),logger[_0x1dffab(0x15e)]({'event':_0x3d09a6[_0x1dffab(0x188)]},_0x1dffab(0x15b));}async[a0_0x10cc59(0x171)](_0x13882a,_0x5192f6,_0x44d928){const _0x3461d2=a0_0x10cc59,_0x21152d={'lkwkl':function(_0x1a5c7c,_0x58e4cc){return _0x1a5c7c!==_0x58e4cc;},'PdrmR':function(_0x2ada48,_0x1a9d92){return _0x2ada48!==_0x1a9d92;},'vlfdz':function(_0x40d2ee,_0x3ce9b2){return _0x40d2ee(_0x3ce9b2);},'sVTYz':'lookup_table_load_error'},_0x8f5278=_0x13882a+':'+_0x5192f6+':'+_0x44d928;if(this[_0x3461d2(0x182)][_0x3461d2(0x17e)](_0x8f5278))return this['lookupCache']['get'](_0x8f5278);try{const _0x5b5bd3='SELECT\x20'+_0x44d928+',\x20'+_0x5192f6+_0x3461d2(0x168)+_0x13882a,_0x197f82=await executeQuery(_0x5b5bd3),_0x3d308d=new Map();return _0x197f82['forEach'](_0x9d5111=>{const _0x31812d=_0x3461d2,_0x34c5d2=_0x21152d['lkwkl'](_0x9d5111[_0x5192f6],undefined)?_0x9d5111[_0x5192f6]:_0x9d5111[_0x5192f6['toUpperCase']()],_0x11a253=_0x21152d['PdrmR'](_0x9d5111[_0x44d928],undefined)?_0x9d5111[_0x44d928]:_0x9d5111[_0x44d928['toUpperCase']()];_0x34c5d2!==null&&_0x34c5d2!==undefined&&(_0x3d308d['set'](_0x21152d[_0x31812d(0x15f)](String,_0x34c5d2)['toLowerCase']()['trim'](),_0x11a253),_0x3d308d['set'](String(_0x34c5d2)['trim'](),_0x11a253));}),this['lookupCache']['set'](_0x8f5278,_0x3d308d),logger[_0x3461d2(0x175)]({'event':'lookup_table_loaded','table':_0x13882a,'column':_0x5192f6,'count':_0x197f82[_0x3461d2(0x17b)]},'Lookup\x20table\x20loaded:\x20'+_0x13882a),_0x3d308d;}catch(_0x103be8){logger['error']({'event':_0x21152d['sVTYz'],'table':_0x13882a,'error':_0x103be8['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x13882a);throw _0x103be8;}}[a0_0x10cc59(0x16e)](_0x157cf0,_0x3049d4){const _0x1bbb5d=a0_0x10cc59,_0x2046a6={'fuXff':function(_0x4edebe,_0x26bbac){return _0x4edebe===_0x26bbac;},'xhvgM':function(_0x4c9cf1,_0x199e6e){return _0x4c9cf1===_0x199e6e;},'GdTZK':function(_0x7f1566,_0x76d09f){return _0x7f1566(_0x76d09f);}};if(_0x2046a6['fuXff'](_0x157cf0,null)||_0x157cf0===undefined||_0x2046a6[_0x1bbb5d(0x163)](_0x157cf0,''))return null;const _0x297cb0=_0x2046a6['GdTZK'](String,_0x157cf0)['trim']();if(_0x3049d4[_0x1bbb5d(0x17e)](_0x297cb0))return _0x3049d4[_0x1bbb5d(0x15d)](_0x297cb0);const _0x27d64b=_0x297cb0['toLowerCase']();if(_0x3049d4['has'](_0x27d64b))return _0x3049d4[_0x1bbb5d(0x15d)](_0x27d64b);return null;}async['processLookupFields'](_0xf7839b,_0x4fb135){const _0x23377d=a0_0x10cc59,_0x536c01={'BVXVR':function(_0x21befa,_0x4d8dd9){return _0x21befa===_0x4d8dd9;},'qrOZh':function(_0x4e7f71,_0x433e05){return _0x4e7f71===_0x433e05;},'ekhEE':_0x23377d(0x162),'rDeEp':'Lookup\x20fields\x20processed'};if(!_0x4fb135||_0x536c01[_0x23377d(0x184)](Object[_0x23377d(0x157)](_0x4fb135)['length'],0x0))return{'processedRows':_0xf7839b,'errors':[]};const _0x34a048=[],_0x312ca5=new Map();for(const [_0x39c3f7,_0x305828]of Object[_0x23377d(0x176)](_0x4fb135)){const {lookupTable:_0x30da0c,lookupColumn:_0x487a80,lookupIdColumn:_0x3d9aaa}=_0x305828,_0xbd21bd=_0x30da0c+':'+_0x487a80+':'+_0x3d9aaa;if(!_0x312ca5['has'](_0xbd21bd)){const _0x21c2db=await this[_0x23377d(0x171)](_0x30da0c,_0x487a80,_0x3d9aaa);_0x312ca5[_0x23377d(0x180)](_0xbd21bd,_0x21c2db);}}const _0xaa6b56=_0xf7839b[_0x23377d(0x15a)]((_0x310f0d,_0x397450)=>{const _0x49c109=_0x23377d,_0x4c0ce8={..._0x310f0d};for(const [_0x1e66a6,_0xad1a14]of Object['entries'](_0x4fb135)){const {lookupTable:_0xf48a9b,lookupColumn:_0x310a3c,lookupIdColumn:_0x584118,targetField:_0x5c75c7,required:_0x36fa74}=_0xad1a14,_0xeae9dd=_0xf48a9b+':'+_0x310a3c+':'+_0x584118,_0x2180d0=_0x312ca5[_0x49c109(0x15d)](_0xeae9dd),_0x502504=_0x310f0d[_0x1e66a6];if((_0x536c01['BVXVR'](_0x502504,null)||_0x502504===undefined||_0x502504==='')&&!_0x36fa74){_0x4c0ce8[_0x5c75c7]=null;continue;}const _0x573e28=this['resolveLookupValue'](_0x502504,_0x2180d0);_0x573e28!==null?_0x4c0ce8[_0x5c75c7]=_0x573e28:(_0x36fa74&&_0x34a048[_0x49c109(0x166)]({'rowIndex':_0x397450,'field':_0x1e66a6,'value':_0x502504,'targetField':_0x5c75c7,'lookupTable':_0xf48a9b,'message':_0x49c109(0x179)+_0x502504+_0x49c109(0x159)+_0xf48a9b}),_0x4c0ce8[_0x5c75c7]=null);}return _0x4c0ce8;});return logger[_0x23377d(0x175)]({'event':_0x536c01['ekhEE'],'totalRows':_0xf7839b['length'],'errorCount':_0x34a048[_0x23377d(0x17b)],'lookupFieldCount':Object[_0x23377d(0x157)](_0x4fb135)['length']},_0x536c01[_0x23377d(0x186)]),{'processedRows':_0xaa6b56,'errors':_0x34a048};}['getDistinctValues'](_0x44477d,_0x4b74f3){const _0x57e168=a0_0x10cc59,_0x58d188={'HgHbw':function(_0x2c792e,_0xc34665){return _0x2c792e!==_0xc34665;}},_0x38a724=new Set();return _0x44477d['forEach'](_0x5d78b3=>{const _0x415450=a0_0x3cb0,_0x35f205=_0x5d78b3[_0x4b74f3];_0x58d188['HgHbw'](_0x35f205,null)&&_0x35f205!==undefined&&_0x35f205!==''&&_0x38a724[_0x415450(0x17d)](String(_0x35f205)['trim']());}),Array[_0x57e168(0x15c)](_0x38a724);}async[a0_0x10cc59(0x16b)](_0x1c3262,_0x24250c){const _0x36dcb3=a0_0x10cc59,_0x5f3076={'Xppoo':function(_0x225273,_0x103367){return _0x225273===_0x103367;}};if(!_0x24250c||_0x5f3076[_0x36dcb3(0x16d)](Object['keys'](_0x24250c)[_0x36dcb3(0x17b)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x4412c2=[],_0x2025ab={};for(const [_0x1a64d2,_0x28e9d7]of Object['entries'](_0x24250c)){const {lookupTable:_0x3afc74,lookupColumn:_0x46bc50,lookupIdColumn:_0x39b23e,required:_0x3bf5dd}=_0x28e9d7,_0x12767a=this[_0x36dcb3(0x185)](_0x1c3262,_0x1a64d2),_0x21246e=await this[_0x36dcb3(0x171)](_0x3afc74,_0x46bc50,_0x39b23e),_0x57606a=[],_0x2ca982=[];_0x12767a[_0x36dcb3(0x172)](_0x557b97=>{const _0xa143d6=_0x36dcb3,_0x4bbfbf=this['resolveLookupValue'](_0x557b97,_0x21246e);_0x4bbfbf!==null?_0x2ca982['push'](_0x557b97):_0x57606a[_0xa143d6(0x166)](_0x557b97);});if(_0x57606a[_0x36dcb3(0x17b)]>0x0&&_0x3bf5dd){_0x4412c2['push']({'field':_0x1a64d2,'lookupTable':_0x3afc74,'invalidValues':_0x57606a,'message':_0x57606a['length']+_0x36dcb3(0x173)+_0x3afc74});const _0x519d0b=[];_0x21246e['forEach']((_0x362cac,_0x211b6)=>{const _0x206641=_0x36dcb3;if(_0x211b6===_0x211b6['toLowerCase']())return;_0x519d0b[_0x206641(0x166)](_0x211b6);}),_0x2025ab[_0x1a64d2]={'invalidValues':_0x57606a,'availableValues':_0x519d0b['slice'](0x0,0x32)};}}return{'valid':_0x4412c2[_0x36dcb3(0x17b)]===0x0,'errors':_0x4412c2,'suggestions':_0x2025ab};}}module[a0_0x10cc59(0x178)]=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x308e(_0xaa78f7,_0x9dad4){_0xaa78f7=_0xaa78f7-0x1a9;const _0x5125bd=a0_0x5125();let _0x308e1b=_0x5125bd[_0xaa78f7];if(a0_0x308e['GMSIba']===undefined){var _0x55da7b=function(_0x53b244){const _0x6258b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a23f8='',_0x5d14dc='';for(let _0x3e1443=0x0,_0x55abeb,_0x3eed70,_0x487314=0x0;_0x3eed70=_0x53b244['charAt'](_0x487314++);~_0x3eed70&&(_0x55abeb=_0x3e1443%0x4?_0x55abeb*0x40+_0x3eed70:_0x3eed70,_0x3e1443++%0x4)?_0x5a23f8+=String['fromCharCode'](0xff&_0x55abeb>>(-0x2*_0x3e1443&0x6)):0x0){_0x3eed70=_0x6258b['indexOf'](_0x3eed70);}for(let _0x2b4cd5=0x0,_0x2962a0=_0x5a23f8['length'];_0x2b4cd5<_0x2962a0;_0x2b4cd5++){_0x5d14dc+='%'+('00'+_0x5a23f8['charCodeAt'](_0x2b4cd5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d14dc);};a0_0x308e['MHKjmC']=_0x55da7b,a0_0x308e['YPeXel']={},a0_0x308e['GMSIba']=!![];}const _0x538770=_0x5125bd[0x0],_0x13f70b=_0xaa78f7+_0x538770,_0x26b349=a0_0x308e['YPeXel'][_0x13f70b];return!_0x26b349?(_0x308e1b=a0_0x308e['MHKjmC'](_0x308e1b),a0_0x308e['YPeXel'][_0x13f70b]=_0x308e1b):_0x308e1b=_0x26b349,_0x308e1b;}const a0_0x2b3fae=a0_0x308e;(function(_0x19769a,_0x417530){const _0x2bf419=a0_0x308e,_0x5377e5=_0x19769a();while(!![]){try{const _0x2350f0=-parseInt(_0x2bf419(0x1b3))/0x1+parseInt(_0x2bf419(0x1b1))/0x2+parseInt(_0x2bf419(0x1ad))/0x3*(parseInt(_0x2bf419(0x1a9))/0x4)+-parseInt(_0x2bf419(0x1cd))/0x5+parseInt(_0x2bf419(0x1c2))/0x6+parseInt(_0x2bf419(0x1bf))/0x7*(-parseInt(_0x2bf419(0x1b2))/0x8)+parseInt(_0x2bf419(0x1aa))/0x9;if(_0x2350f0===_0x417530)break;else _0x5377e5['push'](_0x5377e5['shift']());}catch(_0x39c012){_0x5377e5['push'](_0x5377e5['shift']());}}}(a0_0x5125,0x4e583));function a0_0x5125(){const _0x5653fb=['y2XLyxjdywnOzq','Axnby3rPB25fBMfIBgvK','mJe2oezAyK9Lrq','mta5mduXmtf2v3borhG','ywn0Aw9U','Cgf5Bg9HzerPCG','mtmYnLjMtw1uCa','vfLnDxC','CgfYC2u','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJC0nZrHywDVr1u','mJy5nLLTyxbIvG','ntGXmdqXBwrYD2P2','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','lMPZB24','BKnptLK','CwDiBgW','Aw5MBW','Cgf5Bg9Hzf9SB2fKzwq','z2v0rxHWB3j0q29UzMLN','CMvHzezPBgu','zxHWB3j0CW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mti1mJnLCxHzuge','y2fJAgu','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtKYmdGXmefJBuP4sG','CMvWBgfJzq','zxjYB3i','vLnADMq','C2v0','lI4VlI4VCgf5Bg9Hza','DxrMoa','r3LOtfO','DgfIBgvoyw1L','ugf5Bg9HzcbUB3qGzM91BMq6ia','BwvZC2fNzq','mtqWmtqXmfDpwhLiyW','zgvIDwC','AM9PBG'];a0_0x5125=function(){return _0x5653fb;};return a0_0x5125();}const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x24c9a3=a0_0x308e;this[_0x24c9a3(0x1ac)]=path[_0x24c9a3(0x1cf)](__dirname,_0x24c9a3(0x1c7)),this[_0x24c9a3(0x1c0)]=new Map();}async['loadPayload'](_0x483cca,_0x4498d9){const _0x9c0ba6=a0_0x308e,_0x1bc018={'VSZvd':'payload_loaded','wOEiO':'payload_load_error','TYMuw':_0x9c0ba6(0x1b5)},_0x29d0f4=_0x483cca+':'+_0x4498d9;if(this[_0x9c0ba6(0x1c0)]['has'](_0x29d0f4))return this['cache']['get'](_0x29d0f4);const _0x877fe3=path['join'](this[_0x9c0ba6(0x1ac)],_0x483cca+'_'+_0x4498d9+'.json');try{const _0x3d014c=await fs['readFile'](_0x877fe3,_0x9c0ba6(0x1c8)),_0x1b054e=JSON[_0x9c0ba6(0x1af)](_0x3d014c);return this['cache'][_0x9c0ba6(0x1c6)](_0x29d0f4,_0x1b054e),logger['debug']({'event':_0x1bc018[_0x9c0ba6(0x1c5)],'project':_0x483cca,'resource':_0x4498d9},_0x9c0ba6(0x1be)),_0x1b054e;}catch(_0x1d46f5){logger[_0x9c0ba6(0x1c4)]({'event':_0x1bc018['wOEiO'],'project':_0x483cca,'resource':_0x4498d9,'error':_0x1d46f5[_0x9c0ba6(0x1cc)]},_0x1bc018[_0x9c0ba6(0x1ae)]);throw new Error('Payload\x20not\x20found:\x20'+_0x483cca+'_'+_0x4498d9);}}async['loadPayloadByName'](_0x25090e){const _0xa725e8=a0_0x308e,_0x3ad77b={'nCONY':'utf8','RNxZH':_0xa725e8(0x1ba)},_0x11b1d1='payload:'+_0x25090e;if(this['cache']['has'](_0x11b1d1))return this[_0xa725e8(0x1c0)]['get'](_0x11b1d1);const _0x1bc1f3=path[_0xa725e8(0x1cf)](this[_0xa725e8(0x1ac)],_0x25090e+_0xa725e8(0x1b6));try{const _0x3cab4b=await fs[_0xa725e8(0x1bc)](_0x1bc1f3,_0x3ad77b[_0xa725e8(0x1b7)]),_0x1d4b2c=JSON['parse'](_0x3cab4b);return this['cache'][_0xa725e8(0x1c6)](_0x11b1d1,_0x1d4b2c),logger[_0xa725e8(0x1ce)]({'event':_0x3ad77b['RNxZH'],'payloadName':_0x25090e},_0xa725e8(0x1b4)),_0x1d4b2c;}catch(_0x5d5cd2){logger[_0xa725e8(0x1c4)]({'event':_0xa725e8(0x1b0),'payloadName':_0x25090e,'error':_0x5d5cd2['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0xa725e8(0x1cb)+_0x25090e);}}[a0_0x2b3fae(0x1d1)](_0x467c20,_0x487b8d){const _0x2cc35e=a0_0x2b3fae,_0x437706={'qgHll':function(_0x1fc5e9,_0x5ea13b){return _0x1fc5e9===_0x5ea13b;}};return _0x467c20['action']&&_0x437706[_0x2cc35e(0x1b8)](_0x467c20[_0x2cc35e(0x1ab)][_0x487b8d],!![]);}[a0_0x2b3fae(0x1bb)](_0x16da0c){const _0x399cfe=a0_0x2b3fae;return{'columns':_0x16da0c['fieldName']||[],'filename':_0x16da0c[_0x399cfe(0x1ca)][_0x399cfe(0x1c3)]('.','-')+'-export','datatablesQuery':_0x16da0c['datatablesQuery']||null,'columnFormats':_0x16da0c['columnFormats']||null,'fieldLabels':_0x16da0c['fieldLabels']||null};}[a0_0x2b3fae(0x1d0)](){const _0x57919a=a0_0x2b3fae,_0x8e512c={'GyhLZ':'payload_cache_cleared','BcgrG':_0x57919a(0x1c1)};this[_0x57919a(0x1c0)]['clear'](),logger[_0x57919a(0x1b9)]({'event':_0x8e512c[_0x57919a(0x1c9)]},_0x8e512c['BcgrG']);}}module[a0_0x2b3fae(0x1bd)]=new PayloadLoader();
1
+ const a0_0x16efba=a0_0xda68;(function(_0x380f2a,_0x389d6f){const _0x162e49=a0_0xda68,_0x2f73aa=_0x380f2a();while(!![]){try{const _0x1ff630=parseInt(_0x162e49(0x16c))/0x1+parseInt(_0x162e49(0x172))/0x2*(parseInt(_0x162e49(0x187))/0x3)+-parseInt(_0x162e49(0x166))/0x4+parseInt(_0x162e49(0x185))/0x5*(parseInt(_0x162e49(0x179))/0x6)+parseInt(_0x162e49(0x17c))/0x7*(parseInt(_0x162e49(0x162))/0x8)+-parseInt(_0x162e49(0x171))/0x9*(parseInt(_0x162e49(0x17f))/0xa)+-parseInt(_0x162e49(0x182))/0xb*(parseInt(_0x162e49(0x189))/0xc);if(_0x1ff630===_0x389d6f)break;else _0x2f73aa['push'](_0x2f73aa['shift']());}catch(_0x582c77){_0x2f73aa['push'](_0x2f73aa['shift']());}}}(a0_0x4160,0x623c5));const fs=require('fs')[a0_0x16efba(0x173)],path=require(a0_0x16efba(0x183)),{logger}=require('./logger');function a0_0xda68(_0x1aa8b6,_0x9432fc){_0x1aa8b6=_0x1aa8b6-0x161;const _0x416052=a0_0x4160();let _0xda683b=_0x416052[_0x1aa8b6];if(a0_0xda68['ojwGYo']===undefined){var _0x5e6593=function(_0x3bb0f7){const _0x20727c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1855e5='',_0x5966ae='';for(let _0x248af1=0x0,_0x49b71,_0x4f17a6,_0x39a789=0x0;_0x4f17a6=_0x3bb0f7['charAt'](_0x39a789++);~_0x4f17a6&&(_0x49b71=_0x248af1%0x4?_0x49b71*0x40+_0x4f17a6:_0x4f17a6,_0x248af1++%0x4)?_0x1855e5+=String['fromCharCode'](0xff&_0x49b71>>(-0x2*_0x248af1&0x6)):0x0){_0x4f17a6=_0x20727c['indexOf'](_0x4f17a6);}for(let _0x432284=0x0,_0x8b7346=_0x1855e5['length'];_0x432284<_0x8b7346;_0x432284++){_0x5966ae+='%'+('00'+_0x1855e5['charCodeAt'](_0x432284)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5966ae);};a0_0xda68['dLFzws']=_0x5e6593,a0_0xda68['QuPIqG']={},a0_0xda68['ojwGYo']=!![];}const _0x53ed0f=_0x416052[0x0],_0x3d2cd5=_0x1aa8b6+_0x53ed0f,_0x136ee0=a0_0xda68['QuPIqG'][_0x3d2cd5];return!_0x136ee0?(_0xda683b=a0_0xda68['dLFzws'](_0xda683b),a0_0xda68['QuPIqG'][_0x3d2cd5]=_0xda683b):_0xda683b=_0x136ee0,_0xda683b;}class PayloadLoader{constructor(){const _0xe88d7=a0_0x16efba,_0x5d0e2b={'LAibN':'../../payload'};this[_0xe88d7(0x188)]=path[_0xe88d7(0x168)](__dirname,_0x5d0e2b[_0xe88d7(0x16a)]),this[_0xe88d7(0x174)]=new Map();}async['loadPayload'](_0x112db0,_0x487f35){const _0x1b7ccf=a0_0x16efba,_0x3aa9e2={'mzdXI':'utf8','jfyEA':_0x1b7ccf(0x16d),'qiFRB':'Payload\x20loaded\x20successfully','VgsPV':'payload_load_error'},_0x27c5b2=_0x112db0+':'+_0x487f35;if(this[_0x1b7ccf(0x174)]['has'](_0x27c5b2))return this['cache'][_0x1b7ccf(0x17e)](_0x27c5b2);const _0x52883e=path['join'](this[_0x1b7ccf(0x188)],_0x112db0+'_'+_0x487f35+_0x1b7ccf(0x181));try{const _0x19ba0c=await fs[_0x1b7ccf(0x161)](_0x52883e,_0x3aa9e2[_0x1b7ccf(0x165)]),_0x46f4b4=JSON['parse'](_0x19ba0c);return this['cache'][_0x1b7ccf(0x177)](_0x27c5b2,_0x46f4b4),logger['debug']({'event':_0x3aa9e2[_0x1b7ccf(0x167)],'project':_0x112db0,'resource':_0x487f35},_0x3aa9e2[_0x1b7ccf(0x16b)]),_0x46f4b4;}catch(_0x19940e){logger['error']({'event':_0x3aa9e2['VgsPV'],'project':_0x112db0,'resource':_0x487f35,'error':_0x19940e[_0x1b7ccf(0x176)]},'Failed\x20to\x20load\x20payload');throw new Error(_0x1b7ccf(0x16f)+_0x112db0+'_'+_0x487f35);}}async[a0_0x16efba(0x186)](_0x9f2a5a){const _0x34a0b6=a0_0x16efba,_0x3dbb47={'HGgnM':_0x34a0b6(0x16d)},_0xd6c2e3=_0x34a0b6(0x17b)+_0x9f2a5a;if(this['cache']['has'](_0xd6c2e3))return this['cache'][_0x34a0b6(0x17e)](_0xd6c2e3);const _0x161e33=path[_0x34a0b6(0x168)](this['payloadDir'],_0x9f2a5a+_0x34a0b6(0x181));try{const _0x2f5196=await fs['readFile'](_0x161e33,'utf8'),_0x581365=JSON['parse'](_0x2f5196);return this['cache']['set'](_0xd6c2e3,_0x581365),logger['debug']({'event':_0x3dbb47[_0x34a0b6(0x164)],'payloadName':_0x9f2a5a},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x581365;}catch(_0x6929bb){logger[_0x34a0b6(0x163)]({'event':_0x34a0b6(0x175),'payloadName':_0x9f2a5a,'error':_0x6929bb['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x9f2a5a);}}['isActionEnabled'](_0x199a53,_0x1e7dca){return _0x199a53['action']&&_0x199a53['action'][_0x1e7dca]===!![];}[a0_0x16efba(0x17a)](_0x4325ad){const _0x1f0125=a0_0x16efba;return{'columns':_0x4325ad[_0x1f0125(0x170)]||[],'filename':_0x4325ad['tableName'][_0x1f0125(0x184)]('.','-')+_0x1f0125(0x16e),'datatablesQuery':_0x4325ad[_0x1f0125(0x17d)]||null,'columnFormats':_0x4325ad['columnFormats']||null,'fieldLabels':_0x4325ad[_0x1f0125(0x180)]||null};}[a0_0x16efba(0x178)](){const _0xc3491c=a0_0x16efba,_0x4e0328={'RmJzx':'Payload\x20cache\x20cleared'};this[_0xc3491c(0x174)][_0xc3491c(0x169)](),logger['info']({'event':'payload_cache_cleared'},_0x4e0328['RmJzx']);}}module['exports']=new PayloadLoader();function a0_0x4160(){const _0x360778=['mtCXsvzszvPz','mtuXodeWnLrHwhP5zW','ChjVBwLZzxm','y2fJAgu','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','BwvZC2fNzq','C2v0','y2XLyxjdywnOzq','otC1oda0s0vqq1De','z2v0rxHWB3j0q29UzMLN','Cgf5Bg9HzdO','mJfmzNDcEhq','zgf0yxrHyMXLC1f1zxj5','z2v0','mJKWnJuWBwHNy0Tk','zMLLBgrmywjLBhm','lMPZB24','mJjnBhr0AuC','Cgf0Aa','CMvWBgfJzq','nxHkwu5oAq','Bg9HzfbHEwXVywrcEu5HBwu','m0LeDNryBG','Cgf5Bg9HzerPCG','mty4ndi0ogzKzxDztq','CMvHzezPBgu','mtK4mdm3nLDSEhz1yq','zxjYB3i','seDNBK0','BxPKweK','mtK5mti0ogHkufvyyq','AMz5rue','AM9PBG','y2XLyxi','tefPyK4','CwLguKi','nJG4mdbwsKTswfi','Cgf5Bg9Hzf9SB2fKzwq','lwv4Cg9YDa','ugf5Bg9HzcbUB3qGzM91BMq6ia','zMLLBgroyw1L'];a0_0x4160=function(){return _0x360778;};return a0_0x4160();}
@@ -1 +1 @@
1
- 'use strict';var a0_0x1210d3=a0_0x4e95;(function(_0x4af298,_0x1d317b){var _0x31adc7=a0_0x4e95,_0x5282ec=_0x4af298();while(!![]){try{var _0x4f3566=-parseInt(_0x31adc7(0x19a))/0x1*(-parseInt(_0x31adc7(0x191))/0x2)+parseInt(_0x31adc7(0x193))/0x3+-parseInt(_0x31adc7(0x194))/0x4*(parseInt(_0x31adc7(0x197))/0x5)+-parseInt(_0x31adc7(0x192))/0x6*(-parseInt(_0x31adc7(0x190))/0x7)+parseInt(_0x31adc7(0x196))/0x8*(parseInt(_0x31adc7(0x19b))/0x9)+-parseInt(_0x31adc7(0x199))/0xa*(-parseInt(_0x31adc7(0x18f))/0xb)+-parseInt(_0x31adc7(0x19c))/0xc;if(_0x4f3566===_0x1d317b)break;else _0x5282ec['push'](_0x5282ec['shift']());}catch(_0x4e8017){_0x5282ec['push'](_0x5282ec['shift']());}}}(a0_0xdf1c,0xefb6f));function a0_0x4e95(_0x1cdf2c,_0x329877){_0x1cdf2c=_0x1cdf2c-0x18f;var _0xdf1c00=a0_0xdf1c();var _0x4e958e=_0xdf1c00[_0x1cdf2c];if(a0_0x4e95['hbxmNe']===undefined){var _0x177ad9=function(_0x25b060){var _0x1dfc92='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x51b8be='',_0x532895='';for(var _0x3f401e=0x0,_0x5c7db7,_0x15620b,_0x13b976=0x0;_0x15620b=_0x25b060['charAt'](_0x13b976++);~_0x15620b&&(_0x5c7db7=_0x3f401e%0x4?_0x5c7db7*0x40+_0x15620b:_0x15620b,_0x3f401e++%0x4)?_0x51b8be+=String['fromCharCode'](0xff&_0x5c7db7>>(-0x2*_0x3f401e&0x6)):0x0){_0x15620b=_0x1dfc92['indexOf'](_0x15620b);}for(var _0x96d0b8=0x0,_0x5c57cc=_0x51b8be['length'];_0x96d0b8<_0x5c57cc;_0x96d0b8++){_0x532895+='%'+('00'+_0x51b8be['charCodeAt'](_0x96d0b8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x532895);};a0_0x4e95['KorgOs']=_0x177ad9,a0_0x4e95['GsijMO']={},a0_0x4e95['hbxmNe']=!![];}var _0x108aef=_0xdf1c00[0x0],_0x25618f=_0x1cdf2c+_0x108aef,_0x31bb44=a0_0x4e95['GsijMO'][_0x25618f];return!_0x31bb44?(_0x4e958e=a0_0x4e95['KorgOs'](_0x4e958e),a0_0x4e95['GsijMO'][_0x25618f]=_0x4e958e):_0x4e958e=_0x31bb44,_0x4e958e;}function createResponse(_0x415292,_0x6b98da,_0x1a9326=null){var _0x3b3f02=a0_0x4e95;return{'success':!![],'statusCode':_0x415292,'message':_0x6b98da,'data':_0x1a9326,'timestamp':new Date()[_0x3b3f02(0x198)]()};}function createError(_0x34d577,_0x5b0353,_0x4769cc=null){var _0x5d0b04=a0_0x4e95;return{'success':![],'statusCode':_0x34d577,'message':_0x5b0353,'data':_0x4769cc,'timestamp':new Date()[_0x5d0b04(0x198)]()};}function createValidationError(_0x1b5843,_0x142b89){return{'success':![],'statusCode':0x190,'message':_0x1b5843,'data':{'errors':_0x142b89},'timestamp':new Date()['toISOString']()};}function a0_0xdf1c(){var _0x2ada99=['ntaXm3zTqLbQEG','nde0otuWnZzgrevAteS','mZqXota3nuTVDgHYra','nJCWotq0neXoruzmwq','nda0ELDJEfjX','nLvXA1nXDa','ndu0nZuWnwrtzwDdCW','ngrKyKTXra','zxHWB3j0CW','mtG3ntjjrwHLywu','mZKXndyWnxbmvhvquG','Dg9ju09tDhjPBMC','mJbswKL3C3e','nda2nuDby1rJua'];a0_0xdf1c=function(){return _0x2ada99;};return a0_0xdf1c();}module[a0_0x1210d3(0x195)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';function a0_0x57ee(){var _0x466060=['mtjMwe9Jt0y','ote2mJy0n21SA3vKzq','mZm2nJi4y3LcreT5','mZaYodq5mvLfEMjRwq','ndu4we5xv2zK','zxHWB3j0CW','ntG3uuzoBfPo','nw1UrgTAza','mZzzzK1AEfK','nJK3ndG4oevhzMr5sa','mtbVuhbezNG','nZCWmZu5n1zlDMjiza','n0f3AKTcEG','mZe0mdC5mefvC0jOAq'];a0_0x57ee=function(){return _0x466060;};return a0_0x57ee();}var a0_0x54701b=a0_0xaaff;(function(_0x177524,_0x4d1176){var _0x41d934=a0_0xaaff,_0x1f4e01=_0x177524();while(!![]){try{var _0x47359d=-parseInt(_0x41d934(0x162))/0x1*(parseInt(_0x41d934(0x16e))/0x2)+parseInt(_0x41d934(0x164))/0x3*(parseInt(_0x41d934(0x16c))/0x4)+parseInt(_0x41d934(0x163))/0x5*(parseInt(_0x41d934(0x169))/0x6)+parseInt(_0x41d934(0x168))/0x7*(parseInt(_0x41d934(0x165))/0x8)+parseInt(_0x41d934(0x16d))/0x9*(-parseInt(_0x41d934(0x166))/0xa)+-parseInt(_0x41d934(0x167))/0xb+parseInt(_0x41d934(0x16a))/0xc*(-parseInt(_0x41d934(0x16b))/0xd);if(_0x47359d===_0x4d1176)break;else _0x1f4e01['push'](_0x1f4e01['shift']());}catch(_0x18c5d6){_0x1f4e01['push'](_0x1f4e01['shift']());}}}(a0_0x57ee,0x812f6));function createResponse(_0x1f719d,_0x27f8ce,_0x311579=null){return{'success':!![],'statusCode':_0x1f719d,'message':_0x27f8ce,'data':_0x311579,'timestamp':new Date()['toISOString']()};}function a0_0xaaff(_0x5bb7e7,_0x23951e){_0x5bb7e7=_0x5bb7e7-0x162;var _0x57eeb5=a0_0x57ee();var _0xaaff42=_0x57eeb5[_0x5bb7e7];if(a0_0xaaff['bdanwS']===undefined){var _0x5bac83=function(_0x379c6e){var _0x3d7cfb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2a225a='',_0x1e3e94='';for(var _0x4e23f0=0x0,_0x1c2cfb,_0x1fa707,_0x33afce=0x0;_0x1fa707=_0x379c6e['charAt'](_0x33afce++);~_0x1fa707&&(_0x1c2cfb=_0x4e23f0%0x4?_0x1c2cfb*0x40+_0x1fa707:_0x1fa707,_0x4e23f0++%0x4)?_0x2a225a+=String['fromCharCode'](0xff&_0x1c2cfb>>(-0x2*_0x4e23f0&0x6)):0x0){_0x1fa707=_0x3d7cfb['indexOf'](_0x1fa707);}for(var _0x4229ba=0x0,_0x211217=_0x2a225a['length'];_0x4229ba<_0x211217;_0x4229ba++){_0x1e3e94+='%'+('00'+_0x2a225a['charCodeAt'](_0x4229ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e3e94);};a0_0xaaff['oTSNOe']=_0x5bac83,a0_0xaaff['hKTREI']={},a0_0xaaff['bdanwS']=!![];}var _0x2356f6=_0x57eeb5[0x0],_0xcd942f=_0x5bb7e7+_0x2356f6,_0x217402=a0_0xaaff['hKTREI'][_0xcd942f];return!_0x217402?(_0xaaff42=a0_0xaaff['oTSNOe'](_0xaaff42),a0_0xaaff['hKTREI'][_0xcd942f]=_0xaaff42):_0xaaff42=_0x217402,_0xaaff42;}function createError(_0x2703b7,_0x4f804b,_0x7188bd=null){return{'success':![],'statusCode':_0x2703b7,'message':_0x4f804b,'data':_0x7188bd,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x109685,_0x2ef325){return{'success':![],'statusCode':0x190,'message':_0x109685,'data':{'errors':_0x2ef325},'timestamp':new Date()['toISOString']()};}module[a0_0x54701b(0x16f)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x2bebf1=a0_0x560d;(function(_0x183efd,_0x3a062a){const _0x4e1748=a0_0x560d,_0x54a394=_0x183efd();while(!![]){try{const _0x28309f=parseInt(_0x4e1748(0x8e))/0x1*(-parseInt(_0x4e1748(0x80))/0x2)+parseInt(_0x4e1748(0x74))/0x3*(-parseInt(_0x4e1748(0x9d))/0x4)+-parseInt(_0x4e1748(0x77))/0x5*(parseInt(_0x4e1748(0x94))/0x6)+-parseInt(_0x4e1748(0x75))/0x7+-parseInt(_0x4e1748(0x8c))/0x8*(parseInt(_0x4e1748(0x8f))/0x9)+parseInt(_0x4e1748(0x99))/0xa+-parseInt(_0x4e1748(0x9b))/0xb*(-parseInt(_0x4e1748(0x87))/0xc);if(_0x28309f===_0x3a062a)break;else _0x54a394['push'](_0x54a394['shift']());}catch(_0x483744){_0x54a394['push'](_0x54a394['shift']());}}}(a0_0x4c4e,0x65bdd),require('dotenv')['config']());function a0_0x560d(_0x31c24e,_0xc53de4){_0x31c24e=_0x31c24e-0x70;const _0x4c4e00=a0_0x4c4e();let _0x560dbc=_0x4c4e00[_0x31c24e];if(a0_0x560d['WEhdUr']===undefined){var _0x4b24f1=function(_0x32ea1b){const _0x31c6c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc3c16c='',_0x49a7b0='';for(let _0x216755=0x0,_0x49f339,_0x1f3e81,_0x15f891=0x0;_0x1f3e81=_0x32ea1b['charAt'](_0x15f891++);~_0x1f3e81&&(_0x49f339=_0x216755%0x4?_0x49f339*0x40+_0x1f3e81:_0x1f3e81,_0x216755++%0x4)?_0xc3c16c+=String['fromCharCode'](0xff&_0x49f339>>(-0x2*_0x216755&0x6)):0x0){_0x1f3e81=_0x31c6c3['indexOf'](_0x1f3e81);}for(let _0x507b5b=0x0,_0x3d07bf=_0xc3c16c['length'];_0x507b5b<_0x3d07bf;_0x507b5b++){_0x49a7b0+='%'+('00'+_0xc3c16c['charCodeAt'](_0x507b5b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a7b0);};a0_0x560d['DwUAcd']=_0x4b24f1,a0_0x560d['oOOhVG']={},a0_0x560d['WEhdUr']=!![];}const _0x53de94=_0x4c4e00[0x0],_0x404bc8=_0x31c24e+_0x53de94,_0x1d402e=a0_0x560d['oOOhVG'][_0x404bc8];return!_0x1d402e?(_0x560dbc=a0_0x560d['DwUAcd'](_0x560dbc),a0_0x560d['oOOhVG'][_0x404bc8]=_0x560dbc):_0x560dbc=_0x1d402e,_0x560dbc;}const amqp=require(a0_0x2bebf1(0x9a)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x2bebf1(0x90)],ROUTING_KEY=process['env'][a0_0x2bebf1(0x89)],QUEUE=process[a0_0x2bebf1(0x92)][a0_0x2bebf1(0x86)];async function createConnection(){const _0x4668b7=a0_0x2bebf1,_0x15ba87={'qZCYV':function(_0x119c22,_0x20903f){return _0x119c22(_0x20903f);}};try{const _0x155363=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x155363;}catch(_0x478ea1){console[_0x4668b7(0x98)]('['+_0x15ba87['qZCYV'](formatDate,new Date())+_0x4668b7(0x91)+_0x478ea1[_0x4668b7(0x83)]);throw _0x478ea1;}}async function createChannel(_0x1904e1){const _0x5873ea=a0_0x2bebf1,_0x1de60d={'ORWtA':function(_0x287776,_0x1f1859){return _0x287776(_0x1f1859);}};try{const _0x95d8a9=await _0x1904e1[_0x5873ea(0x81)]();return console[_0x5873ea(0x9f)]('['+formatDate(new Date())+_0x5873ea(0x82)),_0x95d8a9;}catch(_0x433966){console[_0x5873ea(0x98)]('['+_0x1de60d[_0x5873ea(0x7b)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x433966['message']);throw _0x433966;}}function a0_0x4c4e(){const _0x387f8e=['nZa0mhvgshrJBq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','mJi4EuDjrKPN','zgLYzwn0','Bg9N','D3bgswy','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','wg1sCxO','x3jLDhj5','mtuXnZfdsvfLAgu','mZu2otiZn3nLte9uyW','Aw5JBhvKzxm','nufsEKHvEa','CMv0CNKTzxHJAgfUz2u','zxHWB3j0CW','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','t1jxDee','yxnZzxj0rxHJAgfUz2u','yMLUzff1zxvL','ywPVyuK','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','mLPRvLjzva','y3jLyxrLq2HHBM5LBa','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','BwvZC2fNzq','yxnZzxj0uxvLDwu','zfrlAgy','uKfcqKLutvfFuvvfvuu','ndu4mtzJzfryt1G','ic0+ia','uKfcqKLutvfFuK9vveLor19lrvK','xsbszxrYEsbXDwv1zsa','Aw5LCxvPDMfSzw50igfYzW','ofPkuwzQAq','wgLKtLu','nta4ntyXqKfLsujc','nte4ntKZnxD6y3zJAq','uKfcqKLutvfFrvHdsefor0u','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zw52','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','mti1odu5mfzUwwzpBW','zxHPDa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','ihDPDgGGreXy','zxjYB3i','nJu4otqWu0zTsNn2','yw1XCgXPyG'];a0_0x4c4e=function(){return _0x387f8e;};return a0_0x4c4e();}async function setupInfrastructure(_0x401d06){const _0x3ad27f=a0_0x2bebf1,_0xddbc9c={'XidNU':'retry-exchange','wpFIf':'direct','XmRqz':function(_0x53ef32,_0x2525dd){return _0x53ef32(_0x2525dd);},'ajoaI':function(_0x44c078,_0x572c0f){return _0x44c078(_0x572c0f);},'qdcqr':'created/ready','dTKhf':'found','ZpASO':function(_0x24d42c,_0x35060b){return _0x24d42c(_0x35060b);},'TdzMM':'inequivalent\x20arg','vyDje':_0x3ad27f(0x96),'UdsDN':function(_0xe59d10,_0x58a0c6){return _0xe59d10(_0x58a0c6);}};try{await _0x401d06[_0x3ad27f(0x7c)](_0xddbc9c[_0x3ad27f(0x8d)],_0x3ad27f(0x9e),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x313aac){console[_0x3ad27f(0x98)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x313aac['message']);throw _0x313aac;}try{await _0x401d06['assertExchange'](EXCHANGE,_0xddbc9c[_0x3ad27f(0x70)],{'durable':!![],'autoDelete':![]}),console[_0x3ad27f(0x9f)]('['+_0xddbc9c[_0x3ad27f(0x72)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+'\x20created/ready');}catch(_0x4bdf35){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x4bdf35[_0x3ad27f(0x83)]);throw _0x4bdf35;}const _0x4f2c37=ROUTING_KEY+_0x3ad27f(0x73);try{const _0x2ab07a={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x401d06['assertQueue'](_0x4f2c37,_0x2ab07a),console['log']('['+formatDate(new Date())+_0x3ad27f(0x8a)+_0x4f2c37+'\x20created/ready'),await _0x401d06[_0x3ad27f(0x7d)](_0x4f2c37,_0x3ad27f(0x78),ROUTING_KEY),console[_0x3ad27f(0x9f)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x1f5f5e){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x1f5f5e['message']);throw _0x1f5f5e;}try{const _0x1a31b1={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x533a69=await _0x401d06[_0x3ad27f(0x84)](QUEUE,_0x1a31b1);console['log']('['+_0xddbc9c['ajoaI'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x533a69['queue']===QUEUE?_0xddbc9c['qdcqr']:_0xddbc9c[_0x3ad27f(0x85)])+_0x3ad27f(0x97)),await _0x401d06['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3ad27f(0x9f)]('['+_0xddbc9c['ZpASO'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x3ad27f(0x88)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x966046){if(_0x966046['message']['includes'](_0xddbc9c['TdzMM'])&&_0x966046['message'][_0x3ad27f(0x76)](_0xddbc9c['vyDje']))console[_0x3ad27f(0x98)]('\x0a['+_0xddbc9c[_0x3ad27f(0x7e)](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x3ad27f(0x93)),console['error']('Queue\x20'+QUEUE+_0x3ad27f(0x71)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x3ad27f(0x95)](0x1);else{console[_0x3ad27f(0x98)]('['+formatDate(new Date())+_0x3ad27f(0x7a)+QUEUE+':',_0x966046['message']);throw _0x966046;}}}catch(_0x596dd6){if(!_0x596dd6[_0x3ad27f(0x83)]['includes'](_0x3ad27f(0x8b))){console[_0x3ad27f(0x98)]('['+_0xddbc9c['UdsDN'](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x596dd6['message']);throw _0x596dd6;}process['exit'](0x1);}}async function closeConnection(_0x3742f1){const _0x5e3c3f=a0_0x2bebf1;if(_0x3742f1)try{await _0x3742f1['close'](),console[_0x5e3c3f(0x9f)]('['+formatDate(new Date())+_0x5e3c3f(0x7f));}catch(_0x17aeb8){console[_0x5e3c3f(0x98)]('['+formatDate(new Date())+_0x5e3c3f(0x9c)+_0x17aeb8['message']);}}module[a0_0x2bebf1(0x79)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x42a9b1=a0_0x185a;(function(_0x43ce7c,_0x48db66){const _0x2b21c7=a0_0x185a,_0x3eb802=_0x43ce7c();while(!![]){try{const _0x8b03b5=parseInt(_0x2b21c7(0xcc))/0x1+-parseInt(_0x2b21c7(0xa4))/0x2*(parseInt(_0x2b21c7(0xc2))/0x3)+parseInt(_0x2b21c7(0xb8))/0x4+parseInt(_0x2b21c7(0xa6))/0x5*(-parseInt(_0x2b21c7(0xac))/0x6)+-parseInt(_0x2b21c7(0xae))/0x7*(parseInt(_0x2b21c7(0xa8))/0x8)+parseInt(_0x2b21c7(0xa0))/0x9*(parseInt(_0x2b21c7(0xa1))/0xa)+-parseInt(_0x2b21c7(0xaa))/0xb;if(_0x8b03b5===_0x48db66)break;else _0x3eb802['push'](_0x3eb802['shift']());}catch(_0x340bb2){_0x3eb802['push'](_0x3eb802['shift']());}}}(a0_0x4454,0xef88e),require(a0_0x42a9b1(0xcb))[a0_0x42a9b1(0xc1)]());const amqp=require(a0_0x42a9b1(0xb6)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x42a9b1(0xc3)][a0_0x42a9b1(0xab)],ROUTING_KEY=process[a0_0x42a9b1(0xc3)][a0_0x42a9b1(0xba)],QUEUE=process[a0_0x42a9b1(0xc3)]['RABBITMQ_QUEUE'];function a0_0x185a(_0x43f6f0,_0x5b8caa){_0x43f6f0=_0x43f6f0-0xa0;const _0x445499=a0_0x4454();let _0x185a0c=_0x445499[_0x43f6f0];if(a0_0x185a['aLiJqS']===undefined){var _0x178b92=function(_0xa571e4){const _0x3e15a4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ae2b3='',_0x521963='';for(let _0x5e161c=0x0,_0x3d1abf,_0x22ffcc,_0x166c4b=0x0;_0x22ffcc=_0xa571e4['charAt'](_0x166c4b++);~_0x22ffcc&&(_0x3d1abf=_0x5e161c%0x4?_0x3d1abf*0x40+_0x22ffcc:_0x22ffcc,_0x5e161c++%0x4)?_0x4ae2b3+=String['fromCharCode'](0xff&_0x3d1abf>>(-0x2*_0x5e161c&0x6)):0x0){_0x22ffcc=_0x3e15a4['indexOf'](_0x22ffcc);}for(let _0x48524a=0x0,_0xe69d8b=_0x4ae2b3['length'];_0x48524a<_0xe69d8b;_0x48524a++){_0x521963+='%'+('00'+_0x4ae2b3['charCodeAt'](_0x48524a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x521963);};a0_0x185a['MtZAab']=_0x178b92,a0_0x185a['tiKsPS']={},a0_0x185a['aLiJqS']=!![];}const _0xda21f1=_0x445499[0x0],_0x271a0b=_0x43f6f0+_0xda21f1,_0x1b108e=a0_0x185a['tiKsPS'][_0x271a0b];return!_0x1b108e?(_0x185a0c=a0_0x185a['MtZAab'](_0x185a0c),a0_0x185a['tiKsPS'][_0x271a0b]=_0x185a0c):_0x185a0c=_0x1b108e,_0x185a0c;}function a0_0x4454(){const _0x4a6945=['mZGZneDMtuLrAa','uxvLDwuG','mtaXnduXsvL0z09A','q1Luwhi','tg11zNe','ihDPDgGGreXy','CMv0CNKTzxHJAgfUz2u','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','qunAv0K','Ee1Iq3q','yw1XCgXPyG','ignYzwf0zwqVCMvHzhK','nJK3mdeYohjtwNzizW','zxHWB3j0CW','uKfcqKLutvfFuK9vveLor19lrvK','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','zxHPDa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbcAw5KAw5Nia','xsbszxrYEsbIAw5KAw5NigzVCIa','xsbfuLjpuJOGuxvLDwuG','y29UzMLN','mZy5ouznA3jQCW','zw52','BwvZC2fNzq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','xsbszxrYEsbXDwv1zsa','AunYB28','xsbfEgnOyw5Nzsa','zg90zw52','mta4mZC5nvrrrMLOsq','ntrVB1fzyK8','mZa4mZG5meXjzM5lAW','Bg9N','Aw5JBhvKzxm','nZy0BgHMAe5x','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','mZi0nuX4v1brqW','yxnZzxj0uxvLDwu','ntG0Dg5PtK5s','zxjYB3i','mtKYnZaWmZfNAeneve8','uKfcqKLutvfFrvHdsefor0u'];a0_0x4454=function(){return _0x4a6945;};return a0_0x4454();}async function createConnection(){const _0x4c53b9=a0_0x42a9b1,_0x57c208={'jLABs':function(_0x46fc21,_0x4a7ee8){return _0x46fc21(_0x4a7ee8);}};try{const _0x596c8d=await amqp['connect'](RABBITMQ_URL);return console[_0x4c53b9(0xa2)]('['+formatDate(new Date())+_0x4c53b9(0xbd)),_0x596c8d;}catch(_0x28f9dc){console[_0x4c53b9(0xa9)]('['+_0x57c208['jLABs'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x28f9dc[_0x4c53b9(0xc4)]);throw _0x28f9dc;}}async function createChannel(_0x67d485){const _0xdf75f9=a0_0x42a9b1,_0x1a0fb0={'ndrRc':function(_0x65e2ed,_0x23e04f){return _0x65e2ed(_0x23e04f);}};try{const _0x58d728=await _0x67d485['createChannel']();return console['log']('['+_0x1a0fb0['ndrRc'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x58d728;}catch(_0x47205c){console['error']('['+formatDate(new Date())+_0xdf75f9(0xbb)+_0x47205c['message']);throw _0x47205c;}}async function setupInfrastructure(_0x113074){const _0x5ce1b1=a0_0x42a9b1,_0x208d80={'ACZWI':function(_0x569feb,_0x135b75){return _0x569feb(_0x135b75);},'xMbCt':function(_0x1f5f38,_0x2ef8e3){return _0x1f5f38(_0x2ef8e3);},'iCroo':_0x5ce1b1(0xb2),'Lmufq':function(_0x142cf7,_0x1bc889){return _0x142cf7===_0x1bc889;},'CYTXr':'inequivalent\x20arg','Dtmsa':'x-dead-letter-routing-key'};try{await _0x113074['assertExchange'](_0x5ce1b1(0xb2),'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x54e09c){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x54e09c['message']);throw _0x54e09c;}try{await _0x113074['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x5ce1b1(0xa2)]('['+formatDate(new Date())+_0x5ce1b1(0xca)+EXCHANGE+'\x20created/ready');}catch(_0x5efc24){console['error']('['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+_0x5ce1b1(0xc7)+EXCHANGE+':',_0x5efc24['message']);throw _0x5efc24;}const _0x2eda16=ROUTING_KEY+'_retry';try{const _0x517695={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x113074['assertQueue'](_0x2eda16,_0x517695),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xc8)+_0x2eda16+_0x5ce1b1(0xb7)),await _0x113074['bindQueue'](_0x2eda16,_0x5ce1b1(0xb2),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xbf)+ROUTING_KEY+'\x20created');}catch(_0x1fef54){console[_0x5ce1b1(0xa9)]('['+_0x208d80[_0x5ce1b1(0xb5)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x1fef54['message']);throw _0x1fef54;}try{const _0x2b4255={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x208d80[_0x5ce1b1(0xc9)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x488977=await _0x113074[_0x5ce1b1(0xa7)](QUEUE,_0x2b4255);console[_0x5ce1b1(0xa2)]('['+_0x208d80[_0x5ce1b1(0xb5)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x208d80[_0x5ce1b1(0xb0)](_0x488977['queue'],QUEUE)?'created/ready':'found')+_0x5ce1b1(0xb1)),await _0x113074['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xbe)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x5ce1b1(0xc6));}catch(_0x8debbf){if(_0x8debbf[_0x5ce1b1(0xc4)][_0x5ce1b1(0xa3)](_0x208d80['CYTXr'])&&_0x8debbf['message'][_0x5ce1b1(0xa3)](_0x208d80['Dtmsa']))console['error']('\x0a['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+_0x5ce1b1(0xc0)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x5ce1b1(0xa9)](_0x5ce1b1(0xad)+QUEUE+_0x5ce1b1(0xb3)),console[_0x5ce1b1(0xa9)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x5ce1b1(0xa5)+QUEUE+':',_0x8debbf['message']);throw _0x8debbf;}}}catch(_0x284654){if(!_0x284654['message'][_0x5ce1b1(0xa3)](_0x208d80[_0x5ce1b1(0xaf)])){console[_0x5ce1b1(0xa9)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x284654['message']);throw _0x284654;}process[_0x5ce1b1(0xbc)](0x1);}}async function closeConnection(_0x5955df){const _0xe322a2=a0_0x42a9b1;if(_0x5955df)try{await _0x5955df['close'](),console[_0xe322a2(0xa2)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x17806f){console['error']('['+formatDate(new Date())+_0xe322a2(0xc5)+_0x17806f['message']);}}module[a0_0x42a9b1(0xb9)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x3c1b96=a0_0x1373;(function(_0x21a755,_0x30015d){const _0x18e6c7=a0_0x1373,_0x22422c=_0x21a755();while(!![]){try{const _0x1ce0ac=-parseInt(_0x18e6c7(0x15d))/0x1*(-parseInt(_0x18e6c7(0x155))/0x2)+-parseInt(_0x18e6c7(0x14e))/0x3*(parseInt(_0x18e6c7(0x158))/0x4)+parseInt(_0x18e6c7(0x150))/0x5+-parseInt(_0x18e6c7(0x156))/0x6+parseInt(_0x18e6c7(0x15c))/0x7+parseInt(_0x18e6c7(0x166))/0x8+-parseInt(_0x18e6c7(0x16d))/0x9*(parseInt(_0x18e6c7(0x167))/0xa);if(_0x1ce0ac===_0x30015d)break;else _0x22422c['push'](_0x22422c['shift']());}catch(_0x70fd1b){_0x22422c['push'](_0x22422c['shift']());}}}(a0_0x5e21,0x6456f));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0xc9bd82=a0_0x1373,_0x17a926={'DqgVP':function(_0xca3e41,_0x444e23){return _0xca3e41*_0x444e23;},'dJloT':_0xc9bd82(0x164),'CIzeN':_0xc9bd82(0x159),'rOffF':'localhost','YrtMG':_0xc9bd82(0x16c)};if(this[_0xc9bd82(0x16b)])return this['client'];try{return this[_0xc9bd82(0x16b)]=new Redis({'host':process[_0xc9bd82(0x169)]['REDIS_HOST']||_0x17a926['rOffF'],'port':parseInt(process[_0xc9bd82(0x169)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0xc9bd82(0x169)][_0xc9bd82(0x153)]||undefined,'db':parseInt(process[_0xc9bd82(0x169)][_0xc9bd82(0x15e)],0xa)||0x0,'retryStrategy'(_0x59c023){const _0x4027be=_0xc9bd82,_0x49c891=Math[_0x4027be(0x14f)](_0x17a926[_0x4027be(0x154)](_0x59c023,0x32),0x7d0);return _0x49c891;}}),this['client']['on']('connect',()=>{const _0x69fffa=_0xc9bd82;this['isConnected']=!![],logger[_0x69fffa(0x168)]({'event':_0x17a926['dJloT']},_0x69fffa(0x163));}),this['client']['on'](_0x17a926[_0xc9bd82(0x160)],_0x189a30=>{const _0x29ac82=_0xc9bd82;this[_0x29ac82(0x15f)]=![],logger[_0x29ac82(0x16c)]({'event':_0x29ac82(0x151),'error':_0x189a30[_0x29ac82(0x157)]},'Redis\x20connection\x20error:\x20'+_0x189a30[_0x29ac82(0x157)]);}),this[_0xc9bd82(0x16b)]['on']('close',()=>{const _0x144ddc=_0xc9bd82;this['isConnected']=![],logger[_0x144ddc(0x16a)]({'event':_0x144ddc(0x165)},_0x17a926[_0x144ddc(0x15b)]);}),this['client'];}catch(_0x3e8c59){logger['error']({'event':_0xc9bd82(0x15a),'error':_0x3e8c59[_0xc9bd82(0x157)]},'Failed\x20to\x20initialize\x20Redis');throw _0x3e8c59;}}['getClient'](){const _0x3aab37=a0_0x1373;return!this[_0x3aab37(0x16b)]&&this[_0x3aab37(0x170)](),this['client'];}async['ping'](_0x1ab6c8=0x1388){const _0x32408a=a0_0x1373,_0x4c8e2f={'FUQvj':function(_0x34a2a9,_0x31fe8f){return _0x34a2a9===_0x31fe8f;},'pGlSe':'PONG'};try{const _0x141606=this[_0x32408a(0x152)](),_0x5b0a3f=await Promise['race']([_0x141606['ping'](),new Promise((_0x2b5a67,_0x87f3ec)=>setTimeout(()=>_0x87f3ec(new Error(_0x32408a(0x16e))),_0x1ab6c8))]);return _0x4c8e2f['FUQvj'](_0x5b0a3f,_0x4c8e2f['pGlSe']);}catch(_0x15f1c1){return![];}}async[a0_0x3c1b96(0x14d)](){const _0x49bdff=a0_0x3c1b96;this['client']&&(await this[_0x49bdff(0x16b)][_0x49bdff(0x161)](),this[_0x49bdff(0x16b)]=null,this['isConnected']=![]);}[a0_0x3c1b96(0x162)](){const _0xbdf6bb=a0_0x3c1b96;this[_0xbdf6bb(0x16b)]&&(this['client']['disconnect'](),this['client']=null,this[_0xbdf6bb(0x15f)]=![]);}}function a0_0x5e21(){const _0x4c1f5a=['mJeXmtfut0PuC3K','BwLU','nteXndyWt3H4AM9r','CMvKAxnFzxjYB3i','z2v0q2XPzw50','uKvesvnFueftu1DpuKq','rhfNvLa','nZK3nZHAwvPwyNq','mZi0mdGZngPfz3f3wa','BwvZC2fNzq','mZG4BuzWshzu','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','CMvKAxnFAw5PDf9LCNjVCG','q0L6zu4','ntu5ode3m1nVufvYuW','mJb2tM1hs3G','uKvesvnFrei','AxndB25Uzwn0zwq','wxj0tuC','CxvPDa','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMvKAxnFy29UBMvJDgvK','CMvKAxnFzgLZy29UBMvJDgvK','mtG1nZy0mhPLDNjeCa','mZe3mgPiCLfqAq','Aw5MBW','zw52','D2fYBG','y2XPzw50','zxjYB3i','odq2oxPICuPWrW','uMvKAxmGueLorYb0Aw1LB3v0','zxHWB3j0CW','y29UBMvJDa','zgLZy29UBMvJDa'];a0_0x5e21=function(){return _0x4c1f5a;};return a0_0x5e21();}function a0_0x1373(_0x2c1cd1,_0x5b6d6a){_0x2c1cd1=_0x2c1cd1-0x14d;const _0x5e21e9=a0_0x5e21();let _0x137373=_0x5e21e9[_0x2c1cd1];if(a0_0x1373['ftzfyw']===undefined){var _0x4d89ff=function(_0x40e1bd){const _0x2696db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c3e93='',_0x1ece3f='';for(let _0x354d8b=0x0,_0x39468f,_0x360b2a,_0x20e519=0x0;_0x360b2a=_0x40e1bd['charAt'](_0x20e519++);~_0x360b2a&&(_0x39468f=_0x354d8b%0x4?_0x39468f*0x40+_0x360b2a:_0x360b2a,_0x354d8b++%0x4)?_0x3c3e93+=String['fromCharCode'](0xff&_0x39468f>>(-0x2*_0x354d8b&0x6)):0x0){_0x360b2a=_0x2696db['indexOf'](_0x360b2a);}for(let _0x12a4e6=0x0,_0x53869a=_0x3c3e93['length'];_0x12a4e6<_0x53869a;_0x12a4e6++){_0x1ece3f+='%'+('00'+_0x3c3e93['charCodeAt'](_0x12a4e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ece3f);};a0_0x1373['tucweg']=_0x4d89ff,a0_0x1373['vvMzUv']={},a0_0x1373['ftzfyw']=!![];}const _0x2671e9=_0x5e21e9[0x0],_0x3a298a=_0x2c1cd1+_0x2671e9,_0x1533ce=a0_0x1373['vvMzUv'][_0x3a298a];return!_0x1533ce?(_0x137373=a0_0x1373['tucweg'](_0x137373),a0_0x1373['vvMzUv'][_0x3a298a]=_0x137373):_0x137373=_0x1533ce,_0x137373;}module[a0_0x3c1b96(0x16f)]=new RedisClient();
1
+ const a0_0x26593c=a0_0x57a8;function a0_0x57a8(_0x368d8f,_0x428d23){_0x368d8f=_0x368d8f-0xba;const _0x4f1823=a0_0x4f18();let _0x57a8cb=_0x4f1823[_0x368d8f];if(a0_0x57a8['zixoGg']===undefined){var _0x2d7167=function(_0x3203b1){const _0x41d6c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18916c='',_0x575757='';for(let _0x336d60=0x0,_0x4ef11e,_0x2d14c3,_0xd7c375=0x0;_0x2d14c3=_0x3203b1['charAt'](_0xd7c375++);~_0x2d14c3&&(_0x4ef11e=_0x336d60%0x4?_0x4ef11e*0x40+_0x2d14c3:_0x2d14c3,_0x336d60++%0x4)?_0x18916c+=String['fromCharCode'](0xff&_0x4ef11e>>(-0x2*_0x336d60&0x6)):0x0){_0x2d14c3=_0x41d6c2['indexOf'](_0x2d14c3);}for(let _0x1070ef=0x0,_0x1e0cac=_0x18916c['length'];_0x1070ef<_0x1e0cac;_0x1070ef++){_0x575757+='%'+('00'+_0x18916c['charCodeAt'](_0x1070ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x575757);};a0_0x57a8['atSaJJ']=_0x2d7167,a0_0x57a8['uDqJVd']={},a0_0x57a8['zixoGg']=!![];}const _0x2d87b8=_0x4f1823[0x0],_0x3f7f06=_0x368d8f+_0x2d87b8,_0x559c9e=a0_0x57a8['uDqJVd'][_0x3f7f06];return!_0x559c9e?(_0x57a8cb=a0_0x57a8['atSaJJ'](_0x57a8cb),a0_0x57a8['uDqJVd'][_0x3f7f06]=_0x57a8cb):_0x57a8cb=_0x559c9e,_0x57a8cb;}(function(_0x1b4bc9,_0x4d1275){const _0x5f177c=a0_0x57a8,_0x414fe2=_0x1b4bc9();while(!![]){try{const _0x299230=-parseInt(_0x5f177c(0xcc))/0x1*(parseInt(_0x5f177c(0xd4))/0x2)+-parseInt(_0x5f177c(0xbc))/0x3+-parseInt(_0x5f177c(0xd8))/0x4*(parseInt(_0x5f177c(0xc6))/0x5)+-parseInt(_0x5f177c(0xc4))/0x6+parseInt(_0x5f177c(0xd9))/0x7*(-parseInt(_0x5f177c(0xd2))/0x8)+-parseInt(_0x5f177c(0xd0))/0x9+parseInt(_0x5f177c(0xd1))/0xa*(parseInt(_0x5f177c(0xca))/0xb);if(_0x299230===_0x4d1275)break;else _0x414fe2['push'](_0x414fe2['shift']());}catch(_0x5bee7d){_0x414fe2['push'](_0x414fe2['shift']());}}}(a0_0x4f18,0x7f572));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x4f18(){const _0x8a6364=['CgLUzW','AxndB25Uzwn0zwq','uKvesvnFueftu1DpuKq','mtG1nZa0yLnLwNPf','n1P3t1bfBW','CMfJzq','zw52','mte0nde3nKfcugL3ua','zxHWB3j0CW','CMvKAxnFzxjYB3i','y2XPzw50','zxjYB3i','Bg9JywXOB3n0','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','qNruz3e','mJqWmZy4nhjbuK5grq','uMvKAxmGueLorYb0Aw1LB3v0','mtvIrMTzy0S','B2Hhww0','Aw5MBW','zgLZy29UBMvJDa','mZa5mwz2vuXAAa','y29UBMvJDa','nvzlsgHmBq','y2XVC2u','EKzZuw4','CMvKAxnFzgLZy29UBMvJDgvK','mtu1mZy5n1nyvK9ItG','mta5mteWBLjWzvrp','ndCXntK0nfvfDgLfuq','uKvesvnFrei','mZq0mZK4A05by2vz'];a0_0x4f18=function(){return _0x8a6364;};return a0_0x4f18();}class RedisClient{constructor(){const _0x3c4d6b=a0_0x57a8;this[_0x3c4d6b(0xbf)]=null,this[_0x3c4d6b(0xd6)]=![];}['connect'](){const _0x5b596f=a0_0x57a8,_0x1f1b89={'AhuXi':function(_0x3601bb,_0x3ae5b6){return _0x3601bb*_0x3ae5b6;},'BtTgq':'redis_connected','UyAYZ':_0x5b596f(0xbe),'RecXP':_0x5b596f(0xc2),'OrCZO':function(_0x57dd74,_0x24ae5e,_0x28f7f3){return _0x57dd74(_0x24ae5e,_0x28f7f3);},'zFsQn':_0x5b596f(0xcb),'GFhtO':_0x5b596f(0xc0),'ZHQYM':_0x5b596f(0xcd),'ohGYm':'redis_init_error','PFXIQ':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this['client'];try{return this[_0x5b596f(0xbf)]=new Redis({'host':process[_0x5b596f(0xbb)]['REDIS_HOST']||_0x5b596f(0xc1),'port':_0x1f1b89['OrCZO'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x5b596f(0xbb)][_0x5b596f(0xd7)]||undefined,'db':parseInt(process[_0x5b596f(0xbb)][_0x5b596f(0xd3)],0xa)||0x0,'retryStrategy'(_0x4be07e){const _0x1915c1=Math['min'](_0x1f1b89['AhuXi'](_0x4be07e,0x32),0x7d0);return _0x1915c1;}}),this['client']['on'](_0x1f1b89[_0x5b596f(0xce)],()=>{const _0x348c53=_0x5b596f;this['isConnected']=!![],logger[_0x348c53(0xc8)]({'event':_0x1f1b89[_0x348c53(0xc3)]},'Redis\x20connected\x20successfully');}),this[_0x5b596f(0xbf)]['on'](_0x1f1b89['GFhtO'],_0x5f33ac=>{const _0x256974=_0x5b596f;this['isConnected']=![],logger[_0x256974(0xc0)]({'event':_0x1f1b89['UyAYZ'],'error':_0x5f33ac['message']},'Redis\x20connection\x20error:\x20'+_0x5f33ac['message']);}),this[_0x5b596f(0xbf)]['on'](_0x1f1b89['ZHQYM'],()=>{const _0x57e3d2=_0x5b596f;this[_0x57e3d2(0xd6)]=![],logger['warn']({'event':_0x57e3d2(0xcf)},_0x1f1b89['RecXP']);}),this['client'];}catch(_0x5c7c20){logger['error']({'event':_0x1f1b89[_0x5b596f(0xc7)],'error':_0x5c7c20['message']},_0x1f1b89['PFXIQ']);throw _0x5c7c20;}}['getClient'](){const _0x46718b=a0_0x57a8;return!this['client']&&this[_0x46718b(0xcb)](),this['client'];}async[a0_0x26593c(0xd5)](_0x5ec669=0x1388){const _0x9026f3=a0_0x26593c,_0x312cfa={'tHAYJ':function(_0x287028,_0x5d3ba3){return _0x287028===_0x5d3ba3;},'KoJaI':'PONG'};try{const _0x10deb3=this['getClient'](),_0x738b16=await Promise[_0x9026f3(0xba)]([_0x10deb3[_0x9026f3(0xd5)](),new Promise((_0x1ea48a,_0xc9b741)=>setTimeout(()=>_0xc9b741(new Error(_0x9026f3(0xc5))),_0x5ec669))]);return _0x312cfa['tHAYJ'](_0x738b16,_0x312cfa['KoJaI']);}catch(_0x31b1e0){return![];}}async['disconnect'](){const _0x2d4b27=a0_0x26593c;this['client']&&(await this[_0x2d4b27(0xbf)]['quit'](),this['client']=null,this[_0x2d4b27(0xd6)]=![]);}['forceDisconnect'](){const _0x1dc956=a0_0x26593c;this[_0x1dc956(0xbf)]&&(this['client'][_0x1dc956(0xc9)](),this['client']=null,this['isConnected']=![]);}}module[a0_0x26593c(0xbd)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0xeff9fe=a0_0x5323;(function(_0x5c50a5,_0x5c0ecc){const _0xe14ece=a0_0x5323,_0x8e2635=_0x5c50a5();while(!![]){try{const _0x5846c1=parseInt(_0xe14ece(0x11d))/0x1+parseInt(_0xe14ece(0x10c))/0x2*(parseInt(_0xe14ece(0x107))/0x3)+parseInt(_0xe14ece(0x101))/0x4+parseInt(_0xe14ece(0x10a))/0x5*(parseInt(_0xe14ece(0x10e))/0x6)+-parseInt(_0xe14ece(0x110))/0x7+parseInt(_0xe14ece(0x118))/0x8*(-parseInt(_0xe14ece(0x122))/0x9)+parseInt(_0xe14ece(0x121))/0xa*(-parseInt(_0xe14ece(0x104))/0xb);if(_0x5846c1===_0x5c0ecc)break;else _0x8e2635['push'](_0x8e2635['shift']());}catch(_0x310198){_0x8e2635['push'](_0x8e2635['shift']());}}}(a0_0x3a02,0xab398));const redisClient=require(a0_0xeff9fe(0x115)),{logger}=require(a0_0xeff9fe(0x119));function a0_0x5323(_0x33d669,_0x55f9d1){_0x33d669=_0x33d669-0x100;const _0x3a02f3=a0_0x3a02();let _0x532322=_0x3a02f3[_0x33d669];if(a0_0x5323['RfVZql']===undefined){var _0x3b411e=function(_0x3bab87){const _0x38ce06='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55ad4e='',_0x679e7b='';for(let _0x198882=0x0,_0x17220a,_0x3f7359,_0x2b261b=0x0;_0x3f7359=_0x3bab87['charAt'](_0x2b261b++);~_0x3f7359&&(_0x17220a=_0x198882%0x4?_0x17220a*0x40+_0x3f7359:_0x3f7359,_0x198882++%0x4)?_0x55ad4e+=String['fromCharCode'](0xff&_0x17220a>>(-0x2*_0x198882&0x6)):0x0){_0x3f7359=_0x38ce06['indexOf'](_0x3f7359);}for(let _0x44acd2=0x0,_0xbefb85=_0x55ad4e['length'];_0x44acd2<_0xbefb85;_0x44acd2++){_0x679e7b+='%'+('00'+_0x55ad4e['charCodeAt'](_0x44acd2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x679e7b);};a0_0x5323['fRYquF']=_0x3b411e,a0_0x5323['vUvlhn']={},a0_0x5323['RfVZql']=!![];}const _0x154321=_0x3a02f3[0x0],_0x521551=_0x33d669+_0x154321,_0x480daf=a0_0x5323['vUvlhn'][_0x521551];return!_0x480daf?(_0x532322=a0_0x5323['fRYquF'](_0x532322),a0_0x5323['vUvlhn'][_0x521551]=_0x532322):_0x532322=_0x480daf,_0x532322;}class RedisHelper{constructor(){const _0x29a3de=a0_0xeff9fe;this['_prefix']=null,this[_0x29a3de(0x102)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x58ade0=a0_0xeff9fe,_0x40b223={'rkViI':_0x58ade0(0x117)};if(!this['_prefix']){const _0x22cc17=process[_0x58ade0(0x120)]['RESTFORGE_PROJECT_NAME']||_0x40b223['rkViI'];this['_prefix']=_0x58ade0(0x11a)+_0x22cc17+':export:';}return this['_prefix'];}async[a0_0xeff9fe(0x111)](_0xd459a9,_0x5551a0){const _0x4a5013=a0_0xeff9fe,_0x567c1b={'ndIuR':_0x4a5013(0x10f),'EPZLS':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x5172b3=redisClient[_0x4a5013(0x106)](),_0x432c59=''+this[_0x4a5013(0x112)]+_0xd459a9;return await _0x5172b3['setex'](_0x432c59,this['ttl'],JSON['stringify'](_0x5551a0)),!![];}catch(_0x4f52b7){return logger['error']({'event':_0x567c1b['ndIuR'],'jobId':_0xd459a9,'error':_0x4f52b7[_0x4a5013(0x114)]},_0x567c1b[_0x4a5013(0x103)]),![];}}async['getJob'](_0x5e86fe){const _0x478630=a0_0xeff9fe,_0x317b39={'rEuZp':'redis_get_error','Wdqah':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x4e6d0a=redisClient['getClient'](),_0x1dfcde=''+this[_0x478630(0x112)]+_0x5e86fe,_0x539a8e=await _0x4e6d0a['get'](_0x1dfcde);return _0x539a8e?JSON[_0x478630(0x113)](_0x539a8e):null;}catch(_0x211b70){return logger[_0x478630(0x10d)]({'event':_0x317b39[_0x478630(0x11e)],'jobId':_0x5e86fe,'error':_0x211b70['message']},_0x317b39['Wdqah']),null;}}async[a0_0xeff9fe(0x116)](_0x49d331,_0x1bf3c1){const _0x23df0d=a0_0xeff9fe,_0x3e68e2=await this[_0x23df0d(0x100)](_0x49d331);if(!_0x3e68e2)return![];const _0x57a5a9={..._0x3e68e2,..._0x1bf3c1};return await this[_0x23df0d(0x111)](_0x49d331,_0x57a5a9);}async['deleteJob'](_0x551795){const _0x2cfa9e=a0_0xeff9fe,_0x271c15={'CXUaS':'redis_delete_error','ulLam':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0xd21f64=redisClient['getClient'](),_0x156493=''+this['prefix']+_0x551795;return await _0xd21f64[_0x2cfa9e(0x109)](_0x156493),!![];}catch(_0x57643a){return logger['error']({'event':_0x271c15[_0x2cfa9e(0x11f)],'jobId':_0x551795,'error':_0x57643a[_0x2cfa9e(0x114)]},_0x271c15['ulLam']),![];}}async[a0_0xeff9fe(0x108)](){const _0x6030ab=a0_0xeff9fe;try{const _0x291efd=redisClient[_0x6030ab(0x106)](),_0x387169=await _0x291efd['keys'](this['prefix']+'*'),_0x5da9a9=[];for(const _0x5331f0 of _0x387169){const _0x3d01bb=await _0x291efd[_0x6030ab(0x105)](_0x5331f0);_0x3d01bb&&_0x5da9a9[_0x6030ab(0x11c)](JSON['parse'](_0x3d01bb));}return _0x5da9a9;}catch(_0x3376b1){return logger['error']({'event':_0x6030ab(0x10b),'error':_0x3376b1['message']},_0x6030ab(0x11b)),[];}}}function a0_0x3a02(){const _0x2ce790=['mZG3mZa0BMfRAfDr','lI9SB2DNzxi','CMvZDgzVCMDLoG','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','ChvZAa','mte0mZmXnMTvrgTlzW','CKv1wNa','q1Hvyvm','zw52','otyYnZm1mg9dv2XSwG','mZzAzfD1r3i','z2v0sM9I','ntu1mtiYmgrUALLRza','DhrS','rvbAtfm','mZn4wLvuvee','z2v0','z2v0q2XPzw50','otCWmJC4wgrOsxfu','z2v0qwXSsM9ICW','zgvS','ntbPyLjtCfy','CMvKAxnFz2v0ywXSx2vYCM9Y','nKDHz0LVEG','zxjYB3i','ntq4mJiWBMrqrxzZ','CMvKAxnFC2v0x2vYCM9Y','ndqYmZm0mNrWu3rVqq','C2v0sM9I','ChjLzML4','CgfYC2u','BwvZC2fNzq','lI9YzwrPCY1JBgLLBNq','DxbKyxrLsM9I','zgvMyxvSDa'];a0_0x3a02=function(){return _0x2ce790;};return a0_0x3a02();}module['exports']=new RedisHelper();
1
+ const a0_0x5cd073=a0_0xd07f;(function(_0x2ecfac,_0x39144f){const _0x35c049=a0_0xd07f,_0x27dc57=_0x2ecfac();while(!![]){try{const _0x56cc3c=parseInt(_0x35c049(0x12d))/0x1+parseInt(_0x35c049(0x126))/0x2+parseInt(_0x35c049(0x13b))/0x3+-parseInt(_0x35c049(0x130))/0x4*(parseInt(_0x35c049(0x121))/0x5)+parseInt(_0x35c049(0x12e))/0x6+parseInt(_0x35c049(0x13a))/0x7*(parseInt(_0x35c049(0x135))/0x8)+-parseInt(_0x35c049(0x131))/0x9*(parseInt(_0x35c049(0x136))/0xa);if(_0x56cc3c===_0x39144f)break;else _0x27dc57['push'](_0x27dc57['shift']());}catch(_0x203ade){_0x27dc57['push'](_0x27dc57['shift']());}}}(a0_0xc773,0xe67f1));function a0_0xc773(){const _0x1dc7d5=['CMvKAxnFz2v0x2vYCM9Y','C2v0zxG','mtbguhHTwvK','z2v0q2XPzw50','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','lI9SB2DNzxi','yu5mtuO','mJaWnZe2nLHisLrhzW','oMv4Cg9YDdO','CgfYC2u','z2v0sM9I','CMvZDgzVCMDLoG','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','BwvZC2fNzq','mtKZmtGWqw5jExfr','nJC2nJGWnLfRDNDMwa','zw52','mtm2odK1nLneCefdBq','nda3ndneug5zseG','ChvZAa','x3bYzwzPEa','CMvKAxnFzgvSzxrLx2vYCM9Y','mtq1odC0mJrnAwLYse8','odq5mhDlwvDHuG','DhrS','z2v0','zxjYB3i','n2rwvwvsEG','mZK3mJa2nKX5CNrjzW','Ew1Twgi','ChjLzML4'];a0_0xc773=function(){return _0x1dc7d5;};return a0_0xc773();}function a0_0xd07f(_0x2f0231,_0x223c01){_0x2f0231=_0x2f0231-0x120;const _0xc77317=a0_0xc773();let _0xd07f1=_0xc77317[_0x2f0231];if(a0_0xd07f['hzpZvF']===undefined){var _0x55e1b1=function(_0x593516){const _0x598c67='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39ee60='',_0x44e779='';for(let _0x2c50d3=0x0,_0x2fd937,_0x299b2c,_0x483277=0x0;_0x299b2c=_0x593516['charAt'](_0x483277++);~_0x299b2c&&(_0x2fd937=_0x2c50d3%0x4?_0x2fd937*0x40+_0x299b2c:_0x299b2c,_0x2c50d3++%0x4)?_0x39ee60+=String['fromCharCode'](0xff&_0x2fd937>>(-0x2*_0x2c50d3&0x6)):0x0){_0x299b2c=_0x598c67['indexOf'](_0x299b2c);}for(let _0x19af56=0x0,_0x3286ed=_0x39ee60['length'];_0x19af56<_0x3286ed;_0x19af56++){_0x44e779+='%'+('00'+_0x39ee60['charCodeAt'](_0x19af56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44e779);};a0_0xd07f['HRlJCB']=_0x55e1b1,a0_0xd07f['FAKenY']={},a0_0xd07f['hzpZvF']=!![];}const _0x52cc8a=_0xc77317[0x0],_0x417e3e=_0x2f0231+_0x52cc8a,_0x4e5c5f=a0_0xd07f['FAKenY'][_0x417e3e];return!_0x4e5c5f?(_0xd07f1=a0_0xd07f['HRlJCB'](_0xd07f1),a0_0xd07f['FAKenY'][_0x417e3e]=_0xd07f1):_0xd07f1=_0x4e5c5f,_0xd07f1;}const redisClient=require('./redis-client'),{logger}=require(a0_0x5cd073(0x124));class RedisHelper{constructor(){const _0x11b3bc=a0_0x5cd073;this['_prefix']=null,this[_0x11b3bc(0x137)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x5cd073(0x13d)](){const _0x52c688=a0_0x5cd073;if(!this['_prefix']){const _0x23ce24=process[_0x52c688(0x12f)]['RESTFORGE_PROJECT_NAME']||'default';this[_0x52c688(0x133)]=_0x52c688(0x12a)+_0x23ce24+_0x52c688(0x127);}return this[_0x52c688(0x133)];}async['setJob'](_0x4412c5,_0xe123f1){const _0x474a5b=a0_0x5cd073;try{const _0x5f48c2=redisClient[_0x474a5b(0x122)](),_0x585690=''+this[_0x474a5b(0x13d)]+_0x4412c5;return await _0x5f48c2[_0x474a5b(0x120)](_0x585690,this[_0x474a5b(0x137)],JSON['stringify'](_0xe123f1)),!![];}catch(_0x178cf3){return logger['error']({'event':'redis_set_error','jobId':_0x4412c5,'error':_0x178cf3['message']},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x5cd073(0x129)](_0x4fb45f){const _0x8f38c9=a0_0x5cd073,_0x3b8741={'ymmXb':_0x8f38c9(0x13e),'znwyh':_0x8f38c9(0x123)};try{const _0x5051fe=redisClient['getClient'](),_0x48f0ed=''+this['prefix']+_0x4fb45f,_0x427b2b=await _0x5051fe[_0x8f38c9(0x138)](_0x48f0ed);return _0x427b2b?JSON[_0x8f38c9(0x128)](_0x427b2b):null;}catch(_0x288d9a){return logger[_0x8f38c9(0x139)]({'event':_0x3b8741[_0x8f38c9(0x13c)],'jobId':_0x4fb45f,'error':_0x288d9a[_0x8f38c9(0x12c)]},_0x3b8741['znwyh']),null;}}async['updateJob'](_0x3b627a,_0x291cf4){const _0xacf81b=a0_0x5cd073,_0x2b4615=await this[_0xacf81b(0x129)](_0x3b627a);if(!_0x2b4615)return![];const _0x4da016={..._0x2b4615,..._0x291cf4};return await this['setJob'](_0x3b627a,_0x4da016);}async['deleteJob'](_0x47063d){const _0x29877d=a0_0x5cd073,_0x12d303={'opZdv':_0x29877d(0x12b)};try{const _0x17f30c=redisClient[_0x29877d(0x122)](),_0x28365f=''+this['prefix']+_0x47063d;return await _0x17f30c['del'](_0x28365f),!![];}catch(_0x4d6ae0){return logger['error']({'event':_0x29877d(0x134),'jobId':_0x47063d,'error':_0x4d6ae0['message']},_0x12d303['opZdv']),![];}}async['getAllJobs'](){const _0x4f0a87=a0_0x5cd073,_0x2717d3={'aNLMJ':'redis_getall_error'};try{const _0x292f6=redisClient[_0x4f0a87(0x122)](),_0x406fb2=await _0x292f6['keys'](this[_0x4f0a87(0x13d)]+'*'),_0x5b8d75=[];for(const _0xfb6be3 of _0x406fb2){const _0x48aa49=await _0x292f6[_0x4f0a87(0x138)](_0xfb6be3);_0x48aa49&&_0x5b8d75[_0x4f0a87(0x132)](JSON['parse'](_0x48aa49));}return _0x5b8d75;}catch(_0x43ff0d){return logger[_0x4f0a87(0x139)]({'event':_0x2717d3[_0x4f0a87(0x125)],'error':_0x43ff0d[_0x4f0a87(0x12c)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module['exports']=new RedisHelper();