@restforgejs/platform 5.2.13 → 5.3.5

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 (212) hide show
  1. package/bin/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/bin/sdf-tools.exe +0 -0
  4. package/build-info.json +2 -2
  5. package/cli/consumer-deploy.js +1 -1
  6. package/cli/consumer.js +1 -1
  7. package/generators/cli/endpoint/create.js +69 -6
  8. package/generators/cli/fast-track.js +4 -2
  9. package/generators/cli/payload/sync.js +16 -6
  10. package/generators/cli/project/auth.js +209 -0
  11. package/generators/cli/project/sdk.js +112 -0
  12. package/generators/lib/arg-parser.js +6 -0
  13. package/generators/lib/auth/component-generator.js +58 -0
  14. package/generators/lib/auth/dependency-checker.js +102 -0
  15. package/generators/lib/auth/env-injector.js +81 -0
  16. package/generators/lib/auth/migrate-runner.js +111 -0
  17. package/generators/lib/auth/prefix.js +22 -0
  18. package/generators/lib/auth/processor-generator.js +57 -0
  19. package/generators/lib/auth/sdf-generator.js +102 -0
  20. package/generators/lib/auth/template-renderer.js +29 -0
  21. package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
  22. package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
  23. package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
  24. package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
  25. package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
  26. package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
  27. package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
  28. package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
  29. package/generators/lib/auth/templates/rfx_auth.js.tmpl +107 -0
  30. package/generators/lib/dbschema-kit/schema-printer.js +10 -1
  31. package/generators/lib/generators/model-generator.js +46 -59
  32. package/generators/lib/help-generator.js +41 -3
  33. package/generators/lib/payload/endpoint-schema-validator.js +8 -3
  34. package/generators/lib/payload/field-projections.js +116 -0
  35. package/generators/lib/payload/payload-runner.js +164 -48
  36. package/generators/lib/payload/schema-diff.js +108 -0
  37. package/generators/lib/sdk/generator.js +719 -0
  38. package/generators/lib/sdk/naming.js +48 -0
  39. package/generators/lib/sdk/runtime/README.md.tmpl +207 -0
  40. package/generators/lib/sdk/runtime/auth-client.js +186 -0
  41. package/generators/lib/sdk/runtime/deploy.mjs.tmpl +85 -0
  42. package/generators/lib/sdk/runtime/http-client.js +81 -0
  43. package/generators/lib/sdk/runtime/resource-client.js +59 -0
  44. package/generators/lib/sdk/runtime/storage.js +31 -0
  45. package/generators/lib/templates/dashboard-catalog.js +1 -1
  46. package/generators/lib/templates/db-connection-env.js +1 -1
  47. package/generators/lib/templates/dbschema-catalog.js +1 -1
  48. package/generators/lib/templates/field-validation-catalog.js +1 -1
  49. package/generators/lib/templates/mysql-template.js +1 -1
  50. package/generators/lib/templates/oracle-template.js +1 -1
  51. package/generators/lib/templates/postgres-template.js +1 -1
  52. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  53. package/generators/lib/templates/sqlite-template.js +1 -1
  54. package/generators/lib/utils/cli-output.js +40 -0
  55. package/generators/lib/utils/config-resolver.js +61 -0
  56. package/generators/lib/utils/database-introspector.js +28 -5
  57. package/integrity-manifest.json +18 -18
  58. package/package.json +1 -1
  59. package/scripts/verify-integrity.js +1 -1
  60. package/server.js +1 -1
  61. package/src/components/handlers/adjust_handler.js +1 -1
  62. package/src/components/handlers/audit_handler.js +1 -1
  63. package/src/components/handlers/delete_handler.js +1 -1
  64. package/src/components/handlers/export_handler.js +1 -1
  65. package/src/components/handlers/import_handler.js +1 -1
  66. package/src/components/handlers/insert_handler.js +1 -1
  67. package/src/components/handlers/update_handler.js +1 -1
  68. package/src/components/handlers/upload_handler.js +1 -1
  69. package/src/components/handlers/workflow_handler.js +1 -1
  70. package/src/components/integrations/webhook.js +1 -1
  71. package/src/consumers/baseConsumer.js +1 -1
  72. package/src/consumers/declarativeMapper.js +1 -1
  73. package/src/consumers/handlers/apiHandler.js +1 -1
  74. package/src/consumers/handlers/consoleHandler.js +1 -1
  75. package/src/consumers/handlers/databaseHandler.js +1 -1
  76. package/src/consumers/handlers/index.js +1 -1
  77. package/src/consumers/handlers/kafkaHandler.js +1 -1
  78. package/src/consumers/index.js +1 -1
  79. package/src/consumers/messageTransformer.js +1 -1
  80. package/src/consumers/validator.js +1 -1
  81. package/src/core/db/dialect/base-dialect.js +1 -1
  82. package/src/core/db/dialect/index.js +1 -1
  83. package/src/core/db/dialect/mysql-dialect.js +1 -1
  84. package/src/core/db/dialect/oracle-dialect.js +1 -1
  85. package/src/core/db/dialect/postgres-dialect.js +1 -1
  86. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  87. package/src/core/db/flatten-helper.js +1 -1
  88. package/src/core/db/query-builder-error.js +1 -1
  89. package/src/core/db/query-builder.js +1 -1
  90. package/src/core/db/relation-helper.js +1 -1
  91. package/src/core/handlers/delete_handler.js +1 -1
  92. package/src/core/handlers/insert_handler.js +1 -1
  93. package/src/core/handlers/update_handler.js +1 -1
  94. package/src/core/models/base-model.js +1 -1
  95. package/src/core/utils/cache-manager.js +1 -1
  96. package/src/core/utils/component-engine.js +1 -1
  97. package/src/core/utils/context-builder.js +1 -1
  98. package/src/core/utils/datetime-formatter.js +1 -1
  99. package/src/core/utils/datetime-parser.js +1 -1
  100. package/src/core/utils/db.js +1 -1
  101. package/src/core/utils/logger.js +1 -1
  102. package/src/core/utils/payload-loader.js +1 -1
  103. package/src/core/utils/security-checks.js +1 -1
  104. package/src/middleware/body-options.js +1 -1
  105. package/src/middleware/cors.js +1 -1
  106. package/src/middleware/idempotency.js +1 -1
  107. package/src/middleware/rate-limiter.js +1 -1
  108. package/src/middleware/request-logger.js +1 -1
  109. package/src/middleware/security-headers.js +1 -1
  110. package/src/models/base-model-mysql.js +1 -1
  111. package/src/models/base-model-oracle.js +1 -1
  112. package/src/models/base-model-sqlite.js +1 -1
  113. package/src/models/base-model.js +1 -1
  114. package/src/pro/caching/redis-client.js +1 -1
  115. package/src/pro/caching/redis-helper.js +1 -1
  116. package/src/pro/consumers/baseConsumer.js +1 -1
  117. package/src/pro/consumers/declarativeMapper.js +1 -1
  118. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  119. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  120. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  121. package/src/pro/consumers/handlers/index.js +1 -1
  122. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  123. package/src/pro/consumers/index.js +1 -1
  124. package/src/pro/consumers/messageTransformer.js +1 -1
  125. package/src/pro/consumers/validator.js +1 -1
  126. package/src/pro/database/base-model-mysql.js +1 -1
  127. package/src/pro/database/base-model-oracle.js +1 -1
  128. package/src/pro/database/base-model-sqlite.js +1 -1
  129. package/src/pro/database/db-mysql.js +1 -1
  130. package/src/pro/database/db-oracle.js +1 -1
  131. package/src/pro/database/db-sqlite.js +1 -1
  132. package/src/pro/excel/excel-generator.js +1 -1
  133. package/src/pro/excel/excel-parser.js +1 -1
  134. package/src/pro/excel/export-service.js +1 -1
  135. package/src/pro/excel/export_handler.js +1 -1
  136. package/src/pro/excel/import-service.js +1 -1
  137. package/src/pro/excel/import-validator.js +1 -1
  138. package/src/pro/excel/import_handler.js +1 -1
  139. package/src/pro/excel/upsert-builder.js +1 -1
  140. package/src/pro/idgen/idgen-routes.js +1 -1
  141. package/src/pro/integrations/lookup-resolver.js +1 -1
  142. package/src/pro/integrations/upload-handler-v2.js +1 -1
  143. package/src/pro/integrations/upload-handler.js +1 -1
  144. package/src/pro/integrations/webhook.js +1 -1
  145. package/src/pro/locking/lock-routes.js +1 -1
  146. package/src/pro/locking/resource-lock-manager.js +1 -1
  147. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  148. package/src/pro/messaging/kafkaService.js +1 -1
  149. package/src/pro/messaging/messagehubService.js +1 -1
  150. package/src/pro/messaging/rabbitmqService.js +1 -1
  151. package/src/pro/scheduler/job-manager.js +1 -1
  152. package/src/pro/scheduler/job-routes.js +1 -1
  153. package/src/pro/scheduler/job-validator.js +1 -1
  154. package/src/pro/storage/base-storage-provider.js +1 -1
  155. package/src/pro/storage/file-metadata-helper.js +1 -1
  156. package/src/pro/storage/index.js +1 -1
  157. package/src/pro/storage/local-storage-provider.js +1 -1
  158. package/src/pro/storage/s3-storage-provider.js +1 -1
  159. package/src/pro/storage/upload-cleanup-job.js +1 -1
  160. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  161. package/src/pro/storage/upload-pending-tracker.js +1 -1
  162. package/src/pro/websocket/broadcast-helper.js +1 -1
  163. package/src/pro/websocket/index.js +1 -1
  164. package/src/pro/websocket/livesync-server.js +1 -1
  165. package/src/pro/websocket/ws-broadcaster.js +1 -1
  166. package/src/services/export-service.js +1 -1
  167. package/src/services/import-service.js +1 -1
  168. package/src/services/kafkaConsumerService.js +1 -1
  169. package/src/services/kafkaService.js +1 -1
  170. package/src/services/messagehubService.js +1 -1
  171. package/src/services/rabbitmqService.js +1 -1
  172. package/src/utils/cache-invalidation-registry.js +1 -1
  173. package/src/utils/cache-manager.js +1 -1
  174. package/src/utils/component-engine.js +1 -1
  175. package/src/utils/config-extractor.js +1 -1
  176. package/src/utils/consumerLogger.js +1 -1
  177. package/src/utils/context-builder.js +1 -1
  178. package/src/utils/dashboard-helpers.js +1 -1
  179. package/src/utils/dateHelper.js +1 -1
  180. package/src/utils/datetime-formatter.js +1 -1
  181. package/src/utils/datetime-parser.js +1 -1
  182. package/src/utils/db-bootstrap.js +1 -1
  183. package/src/utils/db-mysql.js +1 -1
  184. package/src/utils/db-oracle.js +1 -1
  185. package/src/utils/db-sqlite.js +1 -1
  186. package/src/utils/db.js +1 -1
  187. package/src/utils/demo-generator.js +1 -1
  188. package/src/utils/excel-generator.js +1 -1
  189. package/src/utils/excel-parser.js +1 -1
  190. package/src/utils/file-watcher.js +1 -1
  191. package/src/utils/id-generator.js +1 -1
  192. package/src/utils/idempotency-manager.js +1 -1
  193. package/src/utils/import-validator.js +1 -1
  194. package/src/utils/license-client.js +1 -1
  195. package/src/utils/lock-manager.js +1 -1
  196. package/src/utils/logger.js +1 -1
  197. package/src/utils/lookup-resolver.js +1 -1
  198. package/src/utils/payload-loader.js +1 -1
  199. package/src/utils/processor-response.js +1 -1
  200. package/src/utils/rabbitmq.js +1 -1
  201. package/src/utils/redis-client.js +1 -1
  202. package/src/utils/redis-helper.js +1 -1
  203. package/src/utils/request-scope.js +1 -1
  204. package/src/utils/security-checks.js +1 -1
  205. package/src/utils/service-resolver.js +1 -1
  206. package/src/utils/shutdown-coordinator.js +1 -1
  207. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  208. package/src/utils/sql-table-extractor.js +1 -1
  209. package/src/utils/trusted-keys.js +1 -1
  210. package/src/utils/upload-handler.js +1 -1
  211. package/src/utils/upsert-builder.js +1 -1
  212. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x8a01d0=a0_0x2038;(function(_0x30f12d,_0x1f5ae0){const _0x1e3be1=a0_0x2038,_0x440bd9=_0x30f12d();while(!![]){try{const _0x3ceda9=-parseInt(_0x1e3be1(0xf4))/0x1*(parseInt(_0x1e3be1(0x11f))/0x2)+-parseInt(_0x1e3be1(0xd6))/0x3*(parseInt(_0x1e3be1(0x114))/0x4)+parseInt(_0x1e3be1(0xe9))/0x5+parseInt(_0x1e3be1(0xcd))/0x6+-parseInt(_0x1e3be1(0xcc))/0x7*(parseInt(_0x1e3be1(0x119))/0x8)+parseInt(_0x1e3be1(0x100))/0x9+parseInt(_0x1e3be1(0xd0))/0xa;if(_0x3ceda9===_0x1f5ae0)break;else _0x440bd9['push'](_0x440bd9['shift']());}catch(_0x5b6a49){_0x440bd9['push'](_0x440bd9['shift']());}}}(a0_0x3df4,0x570a0));function a0_0x2038(_0x3941c3,_0x389ef3){_0x3941c3=_0x3941c3-0xcb;const _0x3df422=a0_0x3df4();let _0x20387e=_0x3df422[_0x3941c3];if(a0_0x2038['UJYPqT']===undefined){var _0x3dc1f4=function(_0x489c3f){const _0x2ed4a0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e0c75='',_0x26ab88='';for(let _0x362dfa=0x0,_0x17b988,_0x49b0e5,_0x101b0d=0x0;_0x49b0e5=_0x489c3f['charAt'](_0x101b0d++);~_0x49b0e5&&(_0x17b988=_0x362dfa%0x4?_0x17b988*0x40+_0x49b0e5:_0x49b0e5,_0x362dfa++%0x4)?_0x1e0c75+=String['fromCharCode'](0xff&_0x17b988>>(-0x2*_0x362dfa&0x6)):0x0){_0x49b0e5=_0x2ed4a0['indexOf'](_0x49b0e5);}for(let _0x1cdc49=0x0,_0x21fa17=_0x1e0c75['length'];_0x1cdc49<_0x21fa17;_0x1cdc49++){_0x26ab88+='%'+('00'+_0x1e0c75['charCodeAt'](_0x1cdc49)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26ab88);};a0_0x2038['gLVJtk']=_0x3dc1f4,a0_0x2038['BXWxIw']={},a0_0x2038['UJYPqT']=!![];}const _0x21e208=_0x3df422[0x0],_0x54e74d=_0x3941c3+_0x21e208,_0x5c8f79=a0_0x2038['BXWxIw'][_0x54e74d];return!_0x5c8f79?(_0x20387e=a0_0x2038['gLVJtk'](_0x20387e),a0_0x2038['BXWxIw'][_0x54e74d]=_0x20387e):_0x20387e=_0x5c8f79,_0x20387e;}function a0_0x3df4(){const _0x2d087e=['x3bYzwzPEa','x3jLDhj5rgvSyxK','D3jPDgu','mJHesgjpy2i','te11ue8','ChjLzML4','zw5HyMXLza','vMf3q3C','odi0uwT4sM1i','C2v0','D3jPDgvFBg9JA19Hy3f1AxjLza','m3W1Fdf8n3WYFdb8nhW2','uKvbrcbSB2nRigvYCM9Y','svz6zxa','mJbjB2fQvLC','BgfZDeLUzgv4t2y','CuH0vw8','mZqWmJDUAxL1Dge','mJm2mtaWmffKA2XAra','zgvIDwC','A0HSs2u','nJK0otGXme1xENzyCG','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','CMvHzf9SB2nRx3DHAxrPBMC','te9Vthe','tg9JAYbYzwXLyxnLigvYCM9Y','DNnJrLq','mJmWnJy3D1f1se9I','x2vUC3vYzuLUAxrPywXPEMvK','CgLK','CMvHzf9SB2nRx3jLBgvHC2vK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','AxnfBMfIBgvK','CMvHza','sgHoANm','z2v0','D3jPDgvFBg9JA193ywL0Aw5N','zgvMyxvSDfruta','C2XLzxa','DuLJsgq','z2v0q2XPzw50','CMvHzf9SB2nRx2fJCxvPCMvK','D3jPDgvFBg9JA19YzwXLyxnLza','zw52','u01MDeS','CMv0CNLezwXHEq','mtq1mJmWmg5UAxDyEa','te9ds19esvnuuKLcvvrfrf9uveW','Bg9JA19LEhrLBMrLza','lI9YzwrPCY1JBgLLBNq','tKvvt0O','wgn1C0O','x3DVCMTLCKLK','zxH0zw5Ktg9JAW','Aw5JBhvKzxm','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','x2LUAxrdB25MAwC','mtqZm3DVsffivq','x3n0CMf0zwD5','ywnXDwLYzvDYAxrLtg9JAW','D3jPDgvFBg9JA19LCNjVCG','D2fYBG','zgvJCG','x3jLDhj5q291BNq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','C2v0zxG','x2rLzMf1BhruveW','CMy6Bg9JAZO','Dhj1zq','mJC3mJyZA0jjt1jb','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Bg9JA19JB25MAwDFAw5PDa','zgvS','z2vUzxjHDgvmB2nRvMfSDwu','vwTPt0m','lcbZDhjHDgvNEtOG','ywnXDwLYzvjLywrmB2nR','D3jPDgvFBg9JA190Aw1LB3v0','zxjYB3i','x2LUAxrPywXPEMvK','uKvbrcbSB2nRihjLBgvHC2vK','yNvPBgrmB2nRs2v5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','D29YA2vYlq','rw5jwKG','x2vUywjSzwq'];a0_0x3df4=function(){return _0x2d087e;};return a0_0x3df4();}const redisClient=require(a0_0x8a01d0(0xec)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x304e4b=a0_0x8a01d0,_0x4a594d=_0x304e4b(0x11c)['split']('|');let _0x38d605=0x0;while(!![]){switch(_0x4a594d[_0x38d605++]){case'0':this['_strategy']=null;continue;case'1':this[_0x304e4b(0xfd)]=null;continue;case'2':this[_0x304e4b(0x112)]=null;continue;case'3':this[_0x304e4b(0x111)]=null;continue;case'4':this[_0x304e4b(0xef)]=null;continue;case'5':this['_enabled']=null;continue;case'6':this['_initialized']=![];continue;case'7':this['_retryCount']=null;continue;}break;}}[a0_0x8a01d0(0xf3)](){const _0x142ca3=a0_0x8a01d0,_0x49c3de={'SMftK':_0x142ca3(0xfe),'mXCfU':function(_0x42f49f,_0x349dc9,_0x1e68db){return _0x42f49f(_0x349dc9,_0x1e68db);},'kHlKe':_0x142ca3(0x102)};this[_0x142ca3(0x111)]=_0x49c3de[_0x142ca3(0xe7)],this['_enabled']=process[_0x142ca3(0xe6)]['LOCK_DISTRIBUTED_ENABLED']===_0x142ca3(0xff),this['_defaultTTL']=parseInt(process[_0x142ca3(0xe6)][_0x142ca3(0xea)],0xa)||0xa,this['_retryCount']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x142ca3(0x112)]=_0x49c3de['mXCfU'](parseInt,process['env'][_0x142ca3(0xf2)],0xa)||0x64,this['_strategy']=process[_0x142ca3(0xe6)]['LOCK_DISTRIBUTED_STRATEGY']||'retry',this['_workerId']=_0x142ca3(0x10e)+process[_0x142ca3(0xd8)],this['_initialized']=!![],logger['info']({'event':_0x49c3de[_0x142ca3(0xcf)],'enabled':this[_0x142ca3(0x110)],'strategy':this[_0x142ca3(0xf5)],'ttl':this['_defaultTTL'],'retryCount':this[_0x142ca3(0xfa)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x142ca3(0xd1)+this[_0x142ca3(0x110)]+_0x142ca3(0x106)+this['_strategy']);}[a0_0x8a01d0(0xd7)](){const _0x58eb5f=a0_0x8a01d0;!this[_0x58eb5f(0x10a)]&&this[_0x58eb5f(0xf3)]();}get['prefix'](){const _0x3c75eb=a0_0x8a01d0;return this[_0x3c75eb(0xd7)](),this[_0x3c75eb(0x111)];}get[a0_0x8a01d0(0x117)](){const _0x363196=a0_0x8a01d0;return this[_0x363196(0xd7)](),this[_0x363196(0x110)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x5572df=a0_0x8a01d0;return this[_0x5572df(0xd7)](),this['_retryCount'];}get[a0_0x8a01d0(0xe8)](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){const _0x272b7f=a0_0x8a01d0;return this['_ensureInitialized'](),this[_0x272b7f(0xf5)];}get['workerId'](){const _0x4b7086=a0_0x8a01d0;return this[_0x4b7086(0xd7)](),this[_0x4b7086(0xef)];}['buildLockKey'](_0x2e2ae5){const _0x55f168=a0_0x8a01d0,{module:_0x13f601,endpoint:_0x594b4d,lockType:_0x1ce4cd,recordId:_0x47d017}=_0x2e2ae5;if(_0x47d017)return''+this['prefix']+_0x13f601+':'+_0x594b4d+':'+_0x47d017+':'+_0x1ce4cd;return''+this[_0x55f168(0x116)]+_0x13f601+':'+_0x594b4d+':'+_0x1ce4cd;}[a0_0x8a01d0(0x104)](){const _0x5e6580={'uTlsK':function(_0x2c53e4){return _0x2c53e4();}};return this['workerId']+':'+_0x5e6580['uTlsK'](uuidv4)+':'+Date['now']();}async[a0_0x8a01d0(0x107)](_0x2dfd6c){const _0x4f5829=a0_0x8a01d0,_0x567b1f={'pRkZT':_0x4f5829(0x113),'UkiOC':_0x4f5829(0xdc),'zbTxh':function(_0x51a134,_0x58d687){return _0x51a134<_0x58d687;},'NEUOJ':'READ\x20lock\x20acquired','VawCw':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','qHtUo':function(_0x40ac89,_0x339e44){return _0x40ac89*_0x339e44;},'EnIZH':'read_lock_error'};if(!this[_0x4f5829(0x117)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x47ab0f=this[_0x4f5829(0x10c)]({..._0x2dfd6c,'lockType':_0x567b1f['pRkZT']}),_0x41149f=this['buildLockKey']({..._0x2dfd6c,'lockType':_0x567b1f[_0x4f5829(0x105)]}),_0x548b2b=this['generateLockValue']();try{const _0x20f2a3=redisClient['getClient']();for(let _0x241412=0x0;_0x567b1f['zbTxh'](_0x241412,this['retryCount']);_0x241412++){const _0x4601db=await _0x20f2a3['get'](_0x47ab0f);if(!_0x4601db){await _0x20f2a3['incr'](_0x41149f),await _0x20f2a3['expire'](_0x41149f,this[_0x4f5829(0xe0)]);const _0x1c6047=_0x41149f+':'+_0x548b2b;return await _0x20f2a3[_0x4f5829(0xfc)](_0x1c6047,this[_0x4f5829(0xe0)],_0x548b2b),logger[_0x4f5829(0xce)]({'event':_0x4f5829(0xe4),'key':_0x41149f,'value':_0x548b2b},_0x567b1f[_0x4f5829(0xed)]),{'success':!![],'lockValue':_0x548b2b,'lockKey':_0x1c6047};}logger[_0x4f5829(0xce)]({'event':_0x4f5829(0xd2),'writeKey':_0x47ab0f,'attempt':_0x241412},_0x567b1f[_0x4f5829(0x118)]),await this[_0x4f5829(0xe1)](_0x567b1f[_0x4f5829(0xcb)](this['retryDelay'],Math['pow'](0x2,_0x241412)));}return logger[_0x4f5829(0xf8)]({'event':'read_lock_timeout','key':_0x41149f},_0x4f5829(0xda)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x155d9f){return logger[_0x4f5829(0x109)]({'event':_0x567b1f[_0x4f5829(0x10f)],'error':_0x155d9f['message']},_0x4f5829(0x11d)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x8a01d0(0xf6)](_0x1ff95f){const _0x21b8d9=a0_0x8a01d0,_0x3e109f={'OepyW':'write','vscFT':'reject','XcusJ':function(_0x1ea844,_0x1b8016){return _0x1ea844===_0x1b8016;},'mDaQl':_0x21b8d9(0x11b),'gtTZP':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','HhNjs':'write_lock_rejected','yMRAG':'retry','LOoLq':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','cmCSL':_0x21b8d9(0xdf),'mNGvF':'Waiting\x20for\x20locks\x20to\x20release','bfxjG':function(_0x1274e4,_0x25ef07){return _0x1274e4*_0x25ef07;}};if(!this[_0x21b8d9(0x117)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x496f0d=this['buildLockKey']({..._0x1ff95f,'lockType':_0x3e109f['OepyW']}),_0x475970=this[_0x21b8d9(0x10c)]({..._0x1ff95f,'lockType':'read'}),_0x5c2724=this[_0x21b8d9(0x104)]();try{const _0x246602=redisClient[_0x21b8d9(0xe3)]();if(this['strategy']===_0x3e109f[_0x21b8d9(0xd5)]){const _0x2535c9=await _0x246602[_0x21b8d9(0x11a)](_0x496f0d,_0x5c2724,'EX',this[_0x21b8d9(0xe0)],'NX');if(_0x3e109f[_0x21b8d9(0xee)](_0x2535c9,'OK'))return logger[_0x21b8d9(0xce)]({'event':_0x3e109f['mDaQl'],'key':_0x496f0d,'value':_0x5c2724,'strategy':_0x3e109f[_0x21b8d9(0xd5)]},_0x3e109f['gtTZP']),{'success':!![],'lockValue':_0x5c2724,'lockKey':_0x496f0d};return logger[_0x21b8d9(0xce)]({'event':_0x3e109f[_0x21b8d9(0xdd)],'key':_0x496f0d},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x15f9dc=0x0;_0x15f9dc<this['retryCount'];_0x15f9dc++){const [_0x135b64,_0x25706b]=await Promise['all']([_0x246602[_0x21b8d9(0xde)](_0x475970),_0x246602[_0x21b8d9(0xde)](_0x496f0d)]);if(!_0x25706b&&(!_0x135b64||parseInt(_0x135b64)===0x0)){const _0x277add=await _0x246602[_0x21b8d9(0x11a)](_0x496f0d,_0x5c2724,'EX',this['defaultTTL'],'NX');if(_0x277add==='OK')return logger[_0x21b8d9(0xce)]({'event':'write_lock_acquired','key':_0x496f0d,'value':_0x5c2724,'strategy':_0x3e109f['yMRAG']},_0x3e109f[_0x21b8d9(0xd3)]),{'success':!![],'lockValue':_0x5c2724,'lockKey':_0x496f0d};}logger['debug']({'event':_0x3e109f['cmCSL'],'writeKey':_0x496f0d,'readCount':_0x135b64,'attempt':_0x15f9dc},_0x3e109f['mNGvF']),await this[_0x21b8d9(0xe1)](_0x3e109f['bfxjG'](this['retryDelay'],Math['pow'](0x2,_0x15f9dc)));}return logger[_0x21b8d9(0xf8)]({'event':_0x21b8d9(0x108),'key':_0x496f0d},_0x21b8d9(0xfb)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x29275e){return logger[_0x21b8d9(0x109)]({'event':_0x21b8d9(0xf7),'error':_0x29275e['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x4544af,_0x2de8ef){const _0x1ea3e3=a0_0x8a01d0,_0x43e59a={'wGhEA':':read:','hnIEA':'Cannot\x20release\x20lock\x20-\x20not\x20owner','ocIcW':'lock_release_error'};if(!this['enabled']||!_0x4544af)return!![];try{const _0x2e5023=redisClient['getClient']();if(_0x4544af[_0x1ea3e3(0xf1)](_0x43e59a['wGhEA'])){await _0x2e5023[_0x1ea3e3(0x103)](_0x4544af);const _0x20f8bc=_0x4544af['substring'](0x0,_0x4544af[_0x1ea3e3(0x120)](':')),_0x1c8475=await _0x2e5023[_0x1ea3e3(0xde)](_0x20f8bc);return _0x1c8475&&parseInt(_0x1c8475)>0x0&&await _0x2e5023[_0x1ea3e3(0xf9)](_0x20f8bc),logger['debug']({'event':_0x1ea3e3(0xd9),'key':_0x4544af},_0x1ea3e3(0x10b)),!![];}const _0x51bf6b=_0x1ea3e3(0x101),_0x184660=await _0x2e5023['eval'](_0x51bf6b,0x1,_0x4544af,_0x2de8ef);if(_0x184660===0x1)return logger[_0x1ea3e3(0xce)]({'event':_0x1ea3e3(0xe5),'key':_0x4544af},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x1ea3e3(0x10d),'key':_0x4544af},_0x43e59a['hnIEA']),![];}catch(_0x140271){return logger[_0x1ea3e3(0x109)]({'event':_0x43e59a['ocIcW'],'key':_0x4544af,'error':_0x140271['message']},_0x1ea3e3(0xd4)),![];}}async[a0_0x8a01d0(0xf0)](_0xa359ca,_0x27285a,_0x3303ff=null){const _0x2b4810=a0_0x8a01d0,_0x166d8c={'LMuPO':function(_0xe72d9a,_0x2bc4df){return _0xe72d9a===_0x2bc4df;},'uIcHd':_0x2b4810(0xeb),'WoRSC':'Lock\x20extend\x20error'};if(!this[_0x2b4810(0x117)]||!_0xa359ca)return!![];try{const _0x4d33ce=redisClient['getClient'](),_0xe65295='\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',_0x14fd12=await _0x4d33ce['eval'](_0xe65295,0x1,_0xa359ca,_0x27285a,_0x3303ff||this['defaultTTL']);if(_0x166d8c[_0x2b4810(0x115)](_0x14fd12,0x1))return logger[_0x2b4810(0xce)]({'event':_0x166d8c[_0x2b4810(0xe2)],'key':_0xa359ca,'ttl':_0x3303ff||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x43197f){return logger['error']({'event':'lock_extend_error','key':_0xa359ca,'error':_0x43197f['message']},_0x166d8c['WoRSC']),![];}}[a0_0x8a01d0(0xdb)](){return this['enabled'];}['sleep'](_0x3e63c6){return new Promise(_0x2e7f32=>setTimeout(_0x2e7f32,_0x3e63c6));}async['getLockInfo'](_0x4c5413){const _0x51b73b=a0_0x8a01d0,_0x4d7dae={'IVzep':function(_0xc3a984,_0x4b3f41){return _0xc3a984||_0x4b3f41;}};if(!this['enabled'])return{'enabled':![]};try{const _0x593788=redisClient['getClient'](),_0x1c4b23=this[_0x51b73b(0x10c)]({..._0x4c5413,'lockType':_0x51b73b(0x113)}),_0x5bfcc3=this[_0x51b73b(0x10c)]({..._0x4c5413,'lockType':'read'}),[_0x25920a,_0x4d97ee]=await Promise['all']([_0x593788['get'](_0x1c4b23),_0x593788[_0x51b73b(0xde)](_0x5bfcc3)]);return{'enabled':!![],'writeLock':_0x4d7dae[_0x51b73b(0x11e)](_0x25920a,null),'readCount':parseInt(_0x4d97ee)||0x0,'writeKey':_0x1c4b23,'readKey':_0x5bfcc3};}catch(_0x1f903b){return{'enabled':!![],'error':_0x1f903b['message']};}}}module['exports']=new LockManager();
1
+ const a0_0x4a5439=a0_0x4df1;(function(_0x37ee56,_0x2d4eb8){const _0x5ed142=a0_0x4df1,_0x43908e=_0x37ee56();while(!![]){try{const _0x470b56=-parseInt(_0x5ed142(0xcd))/0x1+parseInt(_0x5ed142(0xe3))/0x2*(parseInt(_0x5ed142(0xb7))/0x3)+-parseInt(_0x5ed142(0xac))/0x4*(-parseInt(_0x5ed142(0xaa))/0x5)+parseInt(_0x5ed142(0xe8))/0x6*(parseInt(_0x5ed142(0xc7))/0x7)+parseInt(_0x5ed142(0xe0))/0x8+parseInt(_0x5ed142(0xab))/0x9*(parseInt(_0x5ed142(0xb9))/0xa)+-parseInt(_0x5ed142(0xd2))/0xb*(parseInt(_0x5ed142(0x98))/0xc);if(_0x470b56===_0x2d4eb8)break;else _0x43908e['push'](_0x43908e['shift']());}catch(_0x7b11e1){_0x43908e['push'](_0x43908e['shift']());}}}(a0_0x17b1,0x534ad));function a0_0x17b1(){const _0x5cf029=['zurmu2m','mtK1nZeYmM14thvvwa','zgvIDwC','yNvPBgrmB2nRs2v5','tg9JAYbuveWGzxH0zw5Kzwq','v1jjveuGBg9JAYbYzwXLyxnLza','BgfZDeLUzgv4t2y','D29YA2vYswq','ChjLzML4','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','CgLK','uKvbrcbSB2nRigvYCM9Y','C2XLzxa','mJyXnLP3B1rdEq','v1jjveuGBg9JAYbLCNjVCG','zNrVAuO','z2v0','zxHWAxjL','zgvMyxvSDfruta','A01hEgy','tNPTDwi','ALzHyuG','x2rLzMf1BhruveW','Aw5JBhvKzxm','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','De1pv3y','s0TAAw4','Bg9JA19JB25MAwDFAw5PDa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','zw52','ywnXDwLYzvDYAxrLtg9JAW','mJi0nZGZnunZBhLQEq','mtuYotCWm0fzzgjdzW','nfHQt0LLqG','D3jPDgu','x3n0CMf0zwD5','Bg9JA19LEhrLBMrLza','AxnfBMfIBgvK','te9ds19esvnuuKLcvvrfrf9srvrswq','zgvJCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','D3jPDgvFBg9JA190Aw1LB3v0','CMy6Bg9JAZO','A0ncq3G','mtGYmuDQvKzVDq','D2fYBG','mtbjwLrKDvi','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMvHzf9SB2nRx2vYCM9Y','z2v0q2XPzw50','sKXpBLC','u1zNC2q','uKvbrcbSB2nRigfJCxvPCMvK','D3jPDgvFBg9JA193ywL0Aw5N','x3bYzwzPEa','zxH0zw5Ktg9JAW','CMvHzf9SB2nRx3jLBgvHC2vK','Aw5MBW','x3jLDhj5q291BNq','CMvQzwn0','n1jADKHlAq','BwvZC2fNzq','DMnerxy','te9ds19esvnuuKLcvvrfrf9uveW','x2LUAxrdB25MAwC','x3jLDhj5rgvSyxK','mJy0odCYBfbLsM9L','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','qw1SzxK','Cg93','zw5HyMXLza','nty0nZrYwMzcDgi','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','CMvHzf9SB2nRx2fJCxvPCMvK','C3vIC3rYAw5N','D3jPDgvFBg9JA19YzwXLyxnLza','x2vUywjSzwq','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','z2v0tg9JA0LUzM8','CMv0CNLezwXHEq','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','x3DVCMTLCKLK','zxzHBa','CMvHza','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','mJC0ndC2mgXwwgHMBG','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','x2vUC3vYzuLUAxrPywXPEMvK','mtqZohnrB1vfAq','zxjYB3i','BM93','t2nYzxO'];a0_0x17b1=function(){return _0x5cf029;};return a0_0x17b1();}function a0_0x4df1(_0x3d384c,_0x1ab866){_0x3d384c=_0x3d384c-0x8e;const _0x17b17e=a0_0x17b1();let _0x4df1ce=_0x17b17e[_0x3d384c];if(a0_0x4df1['UUaDSo']===undefined){var _0x269948=function(_0x1e64d6){const _0x376ea7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3295b7='',_0x2ac974='';for(let _0x2d7818=0x0,_0x3e8b42,_0x514c72,_0x2c92a7=0x0;_0x514c72=_0x1e64d6['charAt'](_0x2c92a7++);~_0x514c72&&(_0x3e8b42=_0x2d7818%0x4?_0x3e8b42*0x40+_0x514c72:_0x514c72,_0x2d7818++%0x4)?_0x3295b7+=String['fromCharCode'](0xff&_0x3e8b42>>(-0x2*_0x2d7818&0x6)):0x0){_0x514c72=_0x376ea7['indexOf'](_0x514c72);}for(let _0x1e2f81=0x0,_0x470118=_0x3295b7['length'];_0x1e2f81<_0x470118;_0x1e2f81++){_0x2ac974+='%'+('00'+_0x3295b7['charCodeAt'](_0x1e2f81)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ac974);};a0_0x4df1['hiTLDU']=_0x269948,a0_0x4df1['kLUhYA']={},a0_0x4df1['UUaDSo']=!![];}const _0x2a08ea=_0x17b17e[0x0],_0x4036c4=_0x3d384c+_0x2a08ea,_0x30e259=a0_0x4df1['kLUhYA'][_0x4036c4];return!_0x30e259?(_0x4df1ce=a0_0x4df1['hiTLDU'](_0x4df1ce),a0_0x4df1['kLUhYA'][_0x4036c4]=_0x4df1ce):_0x4df1ce=_0x30e259,_0x4df1ce;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x28fd18=a0_0x4df1;this['_prefix']=null,this[_0x28fd18(0xd7)]=null,this[_0x28fd18(0xa1)]=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x28fd18(0xae)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x37237d=a0_0x4df1,_0x490ab6={'Nzmub':'true'};this['_prefix']=_0x37237d(0xb5),this[_0x37237d(0xd7)]=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x490ab6[_0x37237d(0x9f)],this['_defaultTTL']=parseInt(process['env'][_0x37237d(0xca)],0xa)||0xa,this[_0x37237d(0xc5)]=parseInt(process[_0x37237d(0xa8)][_0x37237d(0xb1)],0xa)||0x3,this[_0x37237d(0xcc)]=parseInt(process[_0x37237d(0xa8)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process[_0x37237d(0xa8)]['LOCK_DISTRIBUTED_STRATEGY']||'retry',this['_workerId']='worker-'+process[_0x37237d(0x95)],this['_initialized']=!![],logger[_0x37237d(0xc4)]({'event':_0x37237d(0xa6),'enabled':this[_0x37237d(0xd7)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x37237d(0xc5)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x37237d(0xdf)+this['_enabled']+',\x20strategy:\x20'+this[_0x37237d(0xae)]);}['_ensureInitialized'](){const _0x3c8c86=a0_0x4df1;!this['_initialized']&&this[_0x3c8c86(0xcb)]();}get['prefix'](){const _0x3d34fb=a0_0x4df1;return this[_0x3d34fb(0xe2)](),this[_0x3d34fb(0xc1)];}get['enabled'](){const _0x59413b=a0_0x4df1;return this['_ensureInitialized'](),this[_0x59413b(0xd7)];}get['defaultTTL'](){const _0x261c88=a0_0x4df1;return this[_0x261c88(0xe2)](),this['_defaultTTL'];}get['retryCount'](){const _0x48d63f=a0_0x4df1;return this[_0x48d63f(0xe2)](),this[_0x48d63f(0xc5)];}get[a0_0x4a5439(0xda)](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){const _0xdaf72d=a0_0x4a5439;return this[_0xdaf72d(0xe2)](),this['_strategy'];}get[a0_0x4a5439(0x92)](){const _0x171c38=a0_0x4a5439;return this['_ensureInitialized'](),this[_0x171c38(0xdc)];}[a0_0x4a5439(0x8e)](_0x142cf2){const _0x2cb1d7=a0_0x4a5439,{module:_0x4e59e9,endpoint:_0x1aeaf2,lockType:_0x2463da,recordId:_0x2a5489}=_0x142cf2;if(_0x2a5489)return''+this[_0x2cb1d7(0x93)]+_0x4e59e9+':'+_0x1aeaf2+':'+_0x2a5489+':'+_0x2463da;return''+this['prefix']+_0x4e59e9+':'+_0x1aeaf2+':'+_0x2463da;}['generateLockValue'](){const _0x5edc69=a0_0x4a5439;return this['workerId']+':'+uuidv4()+':'+Date[_0x5edc69(0xe5)]();}async['acquireReadLock'](_0x411f25){const _0x579f7a=a0_0x4a5439,_0x380b9e={'SVgsd':_0x579f7a(0xbf),'ftoiJ':_0x579f7a(0xdb),'KKZin':function(_0x4c0170,_0x5d240c){return _0x4c0170*_0x5d240c;},'jVaaH':'READ\x20lock\x20acquire\x20timeout'};if(!this[_0x579f7a(0xd1)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2ca665=this[_0x579f7a(0x8e)]({..._0x411f25,'lockType':_0x579f7a(0xad)}),_0x2f017e=this[_0x579f7a(0x8e)]({..._0x411f25,'lockType':_0x579f7a(0xde)}),_0x19751e=this['generateLockValue']();try{const _0x12e6ca=redisClient[_0x579f7a(0xbc)]();for(let _0x121981=0x0;_0x121981<this['retryCount'];_0x121981++){const _0xdd7bf6=await _0x12e6ca['get'](_0x2ca665);if(!_0xdd7bf6){await _0x12e6ca['incr'](_0x2f017e),await _0x12e6ca[_0x579f7a(0x9c)](_0x2f017e,this['defaultTTL']);const _0x46134c=_0x2f017e+':'+_0x19751e;return await _0x12e6ca['setex'](_0x46134c,this[_0x579f7a(0x9d)],_0x19751e),logger['debug']({'event':_0x579f7a(0xd4),'key':_0x2f017e,'value':_0x19751e},_0x380b9e[_0x579f7a(0xbe)]),{'success':!![],'lockValue':_0x19751e,'lockKey':_0x46134c};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x2ca665,'attempt':_0x121981},_0x380b9e[_0x579f7a(0x9a)]),await this[_0x579f7a(0x97)](_0x380b9e[_0x579f7a(0xa5)](this[_0x579f7a(0xda)],Math[_0x579f7a(0xd0)](0x2,_0x121981)));}return logger['warn']({'event':'read_lock_timeout','key':_0x2f017e},_0x380b9e[_0x579f7a(0xa0)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xd7c14f){return logger['error']({'event':_0x579f7a(0xbb),'error':_0xd7c14f['message']},_0x579f7a(0x96)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4a5439(0xa9)](_0x7c8fea){const _0x3e798a=a0_0x4a5439,_0x4cf4ed={'bjwEf':'write','ZLCEI':_0x3e798a(0xc6),'phPsx':_0x3e798a(0xa3),'NeRDI':_0x3e798a(0x94),'Amley':function(_0x3abfa6,_0x286aa4){return _0x3abfa6(_0x286aa4);},'kCBCx':function(_0x5bb272,_0x3d9c24){return _0x5bb272===_0x3d9c24;},'kMGxf':'write_lock_acquired','vcDEv':'retry','jcmwT':_0x3e798a(0xd8),'pDGGK':function(_0x44285e,_0x5c0093){return _0x44285e*_0x5c0093;},'Ocrez':_0x3e798a(0x99)};if(!this[_0x3e798a(0xd1)])return{'success':!![],'lockValue':null,'lockKey':null};const _0xf09275=this['buildLockKey']({..._0x7c8fea,'lockType':_0x4cf4ed['bjwEf']}),_0x159049=this[_0x3e798a(0x8e)]({..._0x7c8fea,'lockType':_0x3e798a(0xde)}),_0x1cee7a=this['generateLockValue']();try{const _0x18a1ee=redisClient[_0x3e798a(0xbc)]();if(this['strategy']===_0x3e798a(0xc6)){const _0xee3bec=await _0x18a1ee['set'](_0xf09275,_0x1cee7a,'EX',this[_0x3e798a(0x9d)],'NX');if(_0xee3bec==='OK')return logger[_0x3e798a(0xe9)]({'event':'write_lock_acquired','key':_0xf09275,'value':_0x1cee7a,'strategy':_0x4cf4ed['ZLCEI']},_0x4cf4ed['phPsx']),{'success':!![],'lockValue':_0x1cee7a,'lockKey':_0xf09275};return logger[_0x3e798a(0xe9)]({'event':'write_lock_rejected','key':_0xf09275},_0x4cf4ed['NeRDI']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x519582=0x0;_0x519582<this['retryCount'];_0x519582++){const [_0x558911,_0x224386]=await Promise['all']([_0x18a1ee[_0x3e798a(0x9b)](_0x159049),_0x18a1ee[_0x3e798a(0x9b)](_0xf09275)]);if(!_0x224386&&(!_0x558911||_0x4cf4ed[_0x3e798a(0xcf)](parseInt,_0x558911)===0x0)){const _0x5ca96f=await _0x18a1ee['set'](_0xf09275,_0x1cee7a,'EX',this[_0x3e798a(0x9d)],'NX');if(_0x4cf4ed[_0x3e798a(0xb6)](_0x5ca96f,'OK'))return logger['debug']({'event':_0x4cf4ed[_0x3e798a(0x9e)],'key':_0xf09275,'value':_0x1cee7a,'strategy':_0x4cf4ed[_0x3e798a(0xc9)]},_0x3e798a(0xa7)),{'success':!![],'lockValue':_0x1cee7a,'lockKey':_0xf09275};}logger[_0x3e798a(0xe9)]({'event':_0x3e798a(0xc0),'writeKey':_0xf09275,'readCount':_0x558911,'attempt':_0x519582},_0x4cf4ed['jcmwT']),await this[_0x3e798a(0x97)](_0x4cf4ed['pDGGK'](this['retryDelay'],Math['pow'](0x2,_0x519582)));}return logger[_0x3e798a(0xb8)]({'event':_0x3e798a(0xb4),'key':_0xf09275},_0x3e798a(0xe1)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5df93d){return logger['error']({'event':'write_lock_error','error':_0x5df93d[_0x3e798a(0xc8)]},_0x4cf4ed[_0x3e798a(0xe6)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x16b111,_0x263918){const _0x853a39=a0_0x4a5439,_0x4dc32b={'QmEsp':function(_0x411905,_0x57a0a5){return _0x411905>_0x57a0a5;},'tMOWv':'READ\x20lock\x20released','DhCjf':function(_0x37fca4,_0x13596d){return _0x37fca4===_0x13596d;},'FCLIt':_0x853a39(0x90),'JLOnW':'lock_release_error'};if(!this[_0x853a39(0xd1)]||!_0x16b111)return!![];try{const _0x5d19a0=redisClient[_0x853a39(0xbc)]();if(_0x16b111[_0x853a39(0xa2)](':read:')){await _0x5d19a0['del'](_0x16b111);const _0x107c32=_0x16b111[_0x853a39(0xd5)](0x0,_0x16b111[_0x853a39(0x91)](':')),_0xb1e9e=await _0x5d19a0[_0x853a39(0x9b)](_0x107c32);return _0xb1e9e&&_0x4dc32b['QmEsp'](parseInt(_0xb1e9e),0x0)&&await _0x5d19a0[_0x853a39(0xb2)](_0x107c32),logger[_0x853a39(0xe9)]({'event':_0x853a39(0xc3),'key':_0x16b111},_0x4dc32b[_0x853a39(0xa4)]),!![];}const _0x2a03fc=_0x853a39(0xba),_0x4220b1=await _0x5d19a0[_0x853a39(0xdd)](_0x2a03fc,0x1,_0x16b111,_0x263918);if(_0x4dc32b['DhCjf'](_0x4220b1,0x1))return logger['debug']({'event':_0x853a39(0xd6),'key':_0x16b111},_0x4dc32b['FCLIt']),!![];return logger['warn']({'event':_0x853a39(0xce),'key':_0x16b111},_0x853a39(0xd3)),![];}catch(_0x3a5e4d){return logger[_0x853a39(0xe4)]({'event':_0x4dc32b[_0x853a39(0xbd)],'key':_0x16b111,'error':_0x3a5e4d['message']},'Lock\x20release\x20error'),![];}}async[a0_0x4a5439(0xc2)](_0x7e0b91,_0xd3148d,_0x3745a2=null){const _0x528a4e=a0_0x4a5439,_0x1044c9={'RHJnF':function(_0x2a9bdc,_0x47994e){return _0x2a9bdc===_0x47994e;},'BDAGS':_0x528a4e(0xaf),'eDLSc':_0x528a4e(0x8f),'UddCx':'lock_extend_error','YSNSH':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x7e0b91)return!![];try{const _0x1060a7=redisClient['getClient'](),_0x3a997e=_0x528a4e(0xb3),_0x5a9286=await _0x1060a7[_0x528a4e(0xdd)](_0x3a997e,0x1,_0x7e0b91,_0xd3148d,_0x3745a2||this[_0x528a4e(0x9d)]);if(_0x1044c9['RHJnF'](_0x5a9286,0x1))return logger['debug']({'event':_0x1044c9['BDAGS'],'key':_0x7e0b91,'ttl':_0x3745a2||this[_0x528a4e(0x9d)]},_0x1044c9[_0x528a4e(0xe7)]),!![];return![];}catch(_0xb663d1){return logger[_0x528a4e(0xe4)]({'event':_0x1044c9['UddCx'],'key':_0x7e0b91,'error':_0xb663d1['message']},_0x1044c9['YSNSH']),![];}}[a0_0x4a5439(0xb0)](){const _0x33f265=a0_0x4a5439;return this[_0x33f265(0xd1)];}[a0_0x4a5439(0x97)](_0x559660){return new Promise(_0x359fab=>setTimeout(_0x359fab,_0x559660));}async[a0_0x4a5439(0xd9)](_0x5a6616){const _0x53117b=a0_0x4a5439,_0x4ecd5b={'RNeAP':'write','JlOaf':function(_0x7149b2,_0x2f8eda){return _0x7149b2||_0x2f8eda;},'BQSEm':function(_0x4fe5e0,_0x29eab4){return _0x4fe5e0(_0x29eab4);}};if(!this[_0x53117b(0xd1)])return{'enabled':![]};try{const _0x5a9c5d=redisClient[_0x53117b(0xbc)](),_0x2fbfb3=this[_0x53117b(0x8e)]({..._0x5a6616,'lockType':_0x4ecd5b['RNeAP']}),_0x2bb243=this['buildLockKey']({..._0x5a6616,'lockType':'read'}),[_0x4fa790,_0x2adcf0]=await Promise['all']([_0x5a9c5d[_0x53117b(0x9b)](_0x2fbfb3),_0x5a9c5d[_0x53117b(0x9b)](_0x2bb243)]);return{'enabled':!![],'writeLock':_0x4ecd5b['JlOaf'](_0x4fa790,null),'readCount':_0x4ecd5b['BQSEm'](parseInt,_0x2adcf0)||0x0,'writeKey':_0x2fbfb3,'readKey':_0x2bb243};}catch(_0x20261a){return{'enabled':!![],'error':_0x20261a['message']};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- function a0_0x261a(_0xc60f06,_0x29e58e){_0xc60f06=_0xc60f06-0x106;const _0x47ba85=a0_0x47ba();let _0x261ac5=_0x47ba85[_0xc60f06];if(a0_0x261a['zDUWSS']===undefined){var _0x315e4f=function(_0x4121e0){const _0xd9e40d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e7ac1='',_0x43e40d='';for(let _0x520304=0x0,_0x4db0e1,_0x5b6431,_0x977010=0x0;_0x5b6431=_0x4121e0['charAt'](_0x977010++);~_0x5b6431&&(_0x4db0e1=_0x520304%0x4?_0x4db0e1*0x40+_0x5b6431:_0x5b6431,_0x520304++%0x4)?_0x1e7ac1+=String['fromCharCode'](0xff&_0x4db0e1>>(-0x2*_0x520304&0x6)):0x0){_0x5b6431=_0xd9e40d['indexOf'](_0x5b6431);}for(let _0x58a6ec=0x0,_0x1a2bf2=_0x1e7ac1['length'];_0x58a6ec<_0x1a2bf2;_0x58a6ec++){_0x43e40d+='%'+('00'+_0x1e7ac1['charCodeAt'](_0x58a6ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43e40d);};a0_0x261a['mGxLag']=_0x315e4f,a0_0x261a['HAFHqK']={},a0_0x261a['zDUWSS']=!![];}const _0x179cd5=_0x47ba85[0x0],_0x40804a=_0xc60f06+_0x179cd5,_0x2c5fa9=a0_0x261a['HAFHqK'][_0x40804a];return!_0x2c5fa9?(_0x261ac5=a0_0x261a['mGxLag'](_0x261ac5),a0_0x261a['HAFHqK'][_0x40804a]=_0x261ac5):_0x261ac5=_0x2c5fa9,_0x261ac5;}const a0_0x3096f5=a0_0x261a;(function(_0x12a533,_0x59421d){const _0x4cd962=a0_0x261a,_0x2f5c13=_0x12a533();while(!![]){try{const _0x2ec9e6=-parseInt(_0x4cd962(0x177))/0x1+parseInt(_0x4cd962(0x140))/0x2+parseInt(_0x4cd962(0x189))/0x3+-parseInt(_0x4cd962(0x1b1))/0x4+-parseInt(_0x4cd962(0x1b6))/0x5+parseInt(_0x4cd962(0x142))/0x6+parseInt(_0x4cd962(0x172))/0x7;if(_0x2ec9e6===_0x59421d)break;else _0x2f5c13['push'](_0x2f5c13['shift']());}catch(_0x3310a4){_0x2f5c13['push'](_0x2f5c13['shift']());}}}(a0_0x47ba,0x8b0fc));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3096f5(0x17d));let logToFile=![],logDir=a0_0x3096f5(0x187),serviceName=a0_0x3096f5(0x136),sqlLogEnabled=![],sqlLogLevel=a0_0x3096f5(0x12d),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x3096f5(0x12e),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x3096f5(0x18e),'hideObject':!![]},isDevelopment=process[a0_0x3096f5(0x110)][a0_0x3096f5(0x1ca)]!==a0_0x3096f5(0x128),logLevel=process[a0_0x3096f5(0x110)]['LOG_LEVEL']||a0_0x3096f5(0x1b9);function a0_0x47ba(){const _0x49e4af=['CgLK','otu0odK2sKfuA2LY','AgvHBhrOq2HLy2S','mtK1mZCYmezSqwfQuq','rxjYB3i','Eu9KwMW','rxfNqxe','qKvhsu4','rermx0nsrufurq','C2vYDMvYx3jLywr5','DhLWzq','DenOzKm','C3rHy2S','u0vsvKLdrv9oqu1f','C3bSAxq','u1fmx0Xpr19qqvjbtvm','Bwv0Ag9K','zw5KCg9PBNrFCMvNAxn0zxjLza','D2fYBMLUzW','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ce9rDLa','rLLqrwG','uKHsC3K','Dg9mB3DLCKnHC2u','C3rKu2vYAwfSAxPLCNm','zxHPDa','uhjVy2vZCYbxyxjUAw5NoIa','BMfbz2W','te9hx0rjuG','ig9UihbVCNqG','C2rkAMW','zxjYB3i','u0vmrunu','ChjVAMvJDa','rermx0fmvevs','Bwf0y2G','y3jLzgvUDgLHBa','icbvuKW6icaGia','CgTgtNG','BwTKAxjtEw5J','q09ntuLu','zxHWB3j0CW','CwLYq3a','EwrJCgO','q2vIu3G','ANnVBG','Ag9ZDa','C3vIC3rYAw5N','zxjY','qunusvzf','Dg9ju09tDhjPBMC','nZCXnZu2m3z5sKLuwa','CxvrtMm','D2fYBG','C3rYAw5N','qMrcDva','odK1nJa5t09oCvPl','Cg9YDa','zgjFDhjHBNnHy3rPB24','CgfKrw5K','w1jfrefdvevexq','AxntBg93','Cgf0Aa','vMHswKq','AuTWufe','BejiBvG','u3HWBge','CujjtwS','C3rKvgLTzuz1BMn0Aw9UCW','zgv2zwXVCg1LBNq','qvbqx1zfuLnjt04','u2vYDMvYihn0yxj0Aw5NoIa','lI9SB2DZ','AKTPDeG','mJe0mZuWovfRwu9Yrq','BgvUz3rO','txPzCgm','vxfWB1G','tu9xyM0','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','yxbWlMXVzW','AuXZBNi','t3nkDg4','Dw5Oyw5KBgvKuMvQzwn0Aw9U','zLvOBfy','DhjPBq','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','DxnLCG','Dhj1zq','iokvKqRILzeGienVBMzPzYaGicaGidOG','CgLU','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','sMjxs1i','Dw5JyxvNAhrfEgnLChrPB24','oI8V','zMfSC2u','z2v0sgvHzgvYCW','rLbzDum','C2vYDMLJzuLUzM8','rejFueftu1DpuKq','C2vYDMvYx3n0yxj0Aw5N','Aw5JBhvKzxm','wKDxyMi','zxjYB3iUBg9N','C3rHDhvZ','yM9KEq','yLP5vfG','yxbPA2v5','revmrvrf','Bg9N','BuDhqKC','C3nU','BMfTzq','C3rHDhvZq29Kzq','mJe3odq5mMjTvxfxDG','AMrJwK0','CgfZC3DK','Dxb0Aw1L','yxbPx3nLy3jLDa','mZa1mti2merowxjUsW','y29Kzq','ChDK','Aw5MBW','Awj0BKO','ChjPDMf0zwTLEq','ic0G','u0vXrey','zMf0ywW','AxPUzve','zKjYr3u','DKnsz3i','q1jfqvrf','uLvmvLu','BwvZC2fNzq','zgf0ywjHC2vFy29UzMLN','C3rHCNrZv2L0Aa','q1jjveLdquW','w1jfrefdveveoMHHC2HD','D3bSBNe','tK9erv9ftLy','Bgvpzuq','Ahj0Aw1L','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zvLyBuG','y3DK','rgT5DeK','vNjQCNy','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','C29Tzq','iokvKqRILzeGifbYB2PLy3qGicaGidOG','wLDxD3C','zw52','B2jQzwn0','uNLJrva','su5trvju','rfjpua','CMvTB3rLqwrKCMvZCW','ms4WlJu','B0jKvue','vfjbtLnbq1rjt05Fq09ntuLu','CKf3C3K','Dg9vChbLCKnHC2u','qKXOCMq','vfjbtLnbq1rjt05FuK9mtejbq0S','C3fSx3f1zxj5','rNHIu20','y3z2','DgvZDa','zgf0ywjHC2u','y29UzMLNrMLSzq','q1votKC','wfH5yue','tI9b','ifTtte9xxq','iokvKqRILzeGifbVCNqGicaGicaGidOG','ChjVzhvJDgLVBG','zMf0ywXFzxjYB3i','AM9PBG','q29HBg4','yvPKz0e','zgvIDwC','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','yMfZzvvYBa','AxnbCNjHEq','vKzczLe','u1fmx0Xpr19ftKfcteve','w1jfrefdveveoNrVA2vUxq','C0jJvKO','y3jLyxrLv3jPDgvtDhjLyw0','CMvZDgzVCMDL','Ahr0Cf9Yzxf1zxn0','y0rJzMO','DxjS','te9hx1rpx0zjteu','vvbeqvrf','ExnqDuq','u1fmx0Xpr19mrvzfta','ChjPDMf0zv9RzxK'];a0_0x47ba=function(){return _0x49e4af;};return a0_0x47ba();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x3096f5(0x185)]||a0_0x3096f5(0x116),'env':process['env'][a0_0x3096f5(0x1ca)]||a0_0x3096f5(0x184)},'timestamp':pino[a0_0x3096f5(0x183)]['isoTime'],'redact':{'paths':[a0_0x3096f5(0x19a),'req.headers[\x22x-api-key\x22]','password','token','apiKey',a0_0x3096f5(0x1a2),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0xec587c=>({'id':_0xec587c['id'],'method':_0xec587c[a0_0x3096f5(0x14f)],'url':_0xec587c[a0_0x3096f5(0x139)],'path':_0xec587c[a0_0x3096f5(0x17d)],'remoteAddress':_0xec587c['ip']||_0xec587c['connection']?.['remoteAddress']}),'res':_0xe9d4c5=>({'statusCode':_0xe9d4c5['statusCode'],'headers':_0xe9d4c5[a0_0x3096f5(0x19f)]?.()}),'err':pino[a0_0x3096f5(0x157)][a0_0x3096f5(0x16f)]}});function initFileLogging(){const _0x44ebe4=a0_0x3096f5,_0x25fb1b={'sBcVJ':function(_0x435f73,_0x2806fb){return _0x435f73===_0x2806fb;},'DCBaW':'default','gHFJV':function(_0x412b89,_0x390a14){return _0x412b89===_0x390a14;},'RpIHP':_0x44ebe4(0x197),'VFBfQ':function(_0x555a66,_0x24fb17){return _0x555a66!==_0x24fb17;},'quQNc':function(_0x8f466,_0x41bcda){return _0x8f466(_0x41bcda);},'rAwsy':'error.log','xeQMc':function(_0xededeb,_0x5876b5,_0x5a9ad4){return _0xededeb(_0x5876b5,_0x5a9ad4);},'qirCp':_0x44ebe4(0x1b9)};if(fileLoggingInitialized)return;logToFile=_0x25fb1b[_0x44ebe4(0x134)](process['env'][_0x44ebe4(0x13a)],_0x44ebe4(0x197));const _0x32e056=process['env']['RESTFORGE_PROJECT_NAME']||_0x25fb1b['DCBaW'];logDir=process['env'][_0x44ebe4(0x15b)]||'./logs/'+_0x32e056,serviceName=process[_0x44ebe4(0x110)][_0x44ebe4(0x14c)]||'restforge',sqlLogEnabled=_0x25fb1b['gHFJV'](process['env'][_0x44ebe4(0x132)],_0x25fb1b['RpIHP']),sqlLogLevel=process['env'][_0x44ebe4(0x13d)]||_0x44ebe4(0x12d),sqlLogParams=_0x25fb1b[_0x44ebe4(0x131)](process['env'][_0x44ebe4(0x14e)],_0x44ebe4(0x19e)),sqlLogSlowThreshold=_0x25fb1b[_0x44ebe4(0x173)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x523b7b=path['resolve'](process[_0x44ebe4(0x109)](),logDir);try{!fs['existsSync'](_0x523b7b)&&fs[_0x44ebe4(0x166)](_0x523b7b,{'recursive':!![]});}catch(_0x10db7b){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x523b7b+':',_0x10db7b[_0x44ebe4(0x1c4)]),fileLoggingInitialized=!![];return;}const _0xcab749=path[_0x44ebe4(0x12a)](_0x523b7b,_0x44ebe4(0x18f)),_0x5d6ceb=path['join'](_0x523b7b,_0x25fb1b[_0x44ebe4(0x119)]);try{appLogStream=fs[_0x44ebe4(0x135)](_0xcab749,{'flags':'a'}),errorLogStream=fs[_0x44ebe4(0x135)](_0x5d6ceb,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2bd96d={'event':'file_logging_enabled','logDir':_0x523b7b,'files':[_0x44ebe4(0x18f),_0x44ebe4(0x1a6)]},_0x3c4b72='File\x20logging\x20enabled:\x20'+_0x523b7b;logger[_0x44ebe4(0x1b9)](_0x2bd96d,_0x3c4b72),_0x25fb1b['xeQMc'](writeToFileLog,{..._0x2bd96d,'level':'info','msg':_0x3c4b72,'time':new Date()['toISOString']()},_0x25fb1b[_0x44ebe4(0x169)]);}catch(_0x6b632a){console['error'](_0x44ebe4(0x195),_0x6b632a[_0x44ebe4(0x1c4)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x20d8e4,_0x359d62){const _0x1dced1=a0_0x3096f5,_0xd4452a={'oBdUA':function(_0x19ab8f,_0x3da419){return _0x19ab8f===_0x3da419;},'mGGBG':_0x1dced1(0x1be)};if(!logToFile||!appLogStream)return;const _0x8d866f={'service':serviceName,..._0x20d8e4},_0x12a280=JSON['stringify'](_0x8d866f)+'\x0a';appLogStream['write'](_0x12a280),(_0xd4452a[_0x1dced1(0x117)](_0x359d62,_0x1dced1(0x15e))||_0xd4452a['oBdUA'](_0x359d62,_0xd4452a[_0x1dced1(0x1ad)]))&&(errorLogStream&&errorLogStream['write'](_0x12a280));}const createRequestLogger=(_0x21217b={})=>{return logger['child'](_0x21217b);},logServerStart=_0x586edc=>{const _0x76b0c8=a0_0x3096f5,_0x1aa491={'JYiOI':'RESTFORGE\x20RUNTIME\x20SERVER','jdcZM':function(_0x1fa2e7,_0x4fa0aa){return _0x1fa2e7-_0x4fa0aa;},'wllER':'Node.js','cSRcY':'NOT\x20ACTIVE','aZdgA':function(_0x3c77d1,_0x356d2a,_0x2cf1c8){return _0x3c77d1(_0x356d2a,_0x2cf1c8);},'BdBuP':_0x76b0c8(0x1b9)},_0x170d0d=_0x1aa491['JYiOI'],_0x133b23=Math['max'](0x0,_0x1aa491[_0x76b0c8(0x1b2)](0x37,_0x170d0d['length'])),_0x162dc5=Math['floor'](_0x133b23/0x2),_0x58291b=_0x133b23-_0x162dc5,_0x3554d0='║'+'\x20'['repeat'](_0x162dc5)+_0x170d0d+'\x20'['repeat'](_0x58291b)+'║',_0x37f747='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3554d0+_0x76b0c8(0x152)+(_0x586edc['environment']||_0x1aa491['wllER'])['padEnd'](0x26)+_0x76b0c8(0x10e)+(_0x586edc[_0x76b0c8(0x160)]||_0x76b0c8(0x125))[_0x76b0c8(0x17a)](0x26)+_0x76b0c8(0x127)+String(_0x586edc[_0x76b0c8(0x178)]||0xbb8)['padEnd'](0x26)+_0x76b0c8(0x198)+(_0x586edc[_0x76b0c8(0x122)]||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x586edc['apiKey']?_0x76b0c8(0x170):_0x1aa491['cSRcY'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x76b0c8(0x1ac)](_0x37f747);const _0x37015a={'event':_0x76b0c8(0x1a3),'project':_0x586edc['project'],'port':_0x586edc['port'],'config':_0x586edc[_0x76b0c8(0x122)],'apiKeyEnabled':!!_0x586edc['apiKey']};logger[_0x76b0c8(0x1b9)](_0x37015a),_0x1aa491[_0x76b0c8(0x12c)](writeToFileLog,{..._0x37015a,'level':_0x1aa491[_0x76b0c8(0x176)],'msg':_0x76b0c8(0x186)+_0x586edc['project']+_0x76b0c8(0x15c)+_0x586edc['port'],'time':new Date()[_0x76b0c8(0x171)]()},'info');},logServerReady=_0x517c69=>{const _0xce8764=a0_0x3096f5,_0x5d502c={'IaKpV':_0xce8764(0x1b9)},_0x441a8d={'event':_0xce8764(0x148),'port':_0x517c69['port'],'module':_0x517c69['module'],'healthCheck':_0x517c69['healthCheck'],'serviceInfo':_0x517c69['serviceInfo'],'baseUrl':_0x517c69[_0xce8764(0x12f)]},_0x63930b=_0xce8764(0x107)+_0x517c69['port'];logger['info'](_0x441a8d,_0x63930b),writeToFileLog({..._0x441a8d,'level':_0x5d502c['IaKpV'],'msg':_0x63930b,'time':new Date()['toISOString']()},_0x5d502c['IaKpV']),_0x517c69[_0xce8764(0x141)]&&logger['info']('\x20\x20Health:\x20'+_0x517c69['healthCheck']),_0x517c69['serviceInfo']&&logger[_0xce8764(0x1b9)]('\x20\x20Info:\x20\x20\x20'+_0x517c69[_0xce8764(0x1a1)]),_0x517c69['baseUrl']&&logger['info'](_0xce8764(0x164)+_0x517c69['baseUrl']);},logProjectLoaded=(_0x2b6fe8,_0x3c54be)=>{const _0x116be3=a0_0x3096f5,_0x4f9fef={'event':'project_loaded','project':_0x2b6fe8,'path':_0x3c54be},_0x38b196='[OK]\x20Project\x20loaded:\x20'+_0x2b6fe8;logger[_0x116be3(0x1b9)](_0x4f9fef,_0x38b196),writeToFileLog({..._0x4f9fef,'level':'info','msg':_0x38b196,'time':new Date()[_0x116be3(0x171)]()},'info');},logEndpointRegistered=(_0x31a4e1,_0x38be89)=>{const _0x5b1201=a0_0x3096f5,_0x5cd434={'eYXmH':_0x5b1201(0x150),'fBrGu':_0x5b1201(0x12d)},_0x3dd3cc={'event':_0x5cd434[_0x5b1201(0x108)],'endpoint':_0x31a4e1,'route':_0x38be89},_0x6c9787='\x20\x20→\x20'+_0x31a4e1+':\x20'+_0x38be89;logger[_0x5b1201(0x12d)](_0x3dd3cc,_0x6c9787),writeToFileLog({..._0x3dd3cc,'level':'debug','msg':_0x6c9787,'time':new Date()['toISOString']()},_0x5cd434[_0x5b1201(0x1c0)]);},logDatabaseConfig=_0x151a19=>{const _0x5d479d=a0_0x3096f5,_0x3f0ef0={'qBIMk':function(_0x50e5e3,_0x2d0381,_0xa69bf8){return _0x50e5e3(_0x2d0381,_0xa69bf8);},'FduMh':'debug'},_0x348019={'event':_0x5d479d(0x1c5),'host':_0x151a19['host'],'port':_0x151a19[_0x5d479d(0x178)],'database':_0x151a19[_0x5d479d(0x121)],'type':_0x151a19['type'],'user':_0x151a19[_0x5d479d(0x196)]},_0x565833='Database:\x20'+_0x151a19[_0x5d479d(0x149)]+_0x5d479d(0x19d)+_0x151a19[_0x5d479d(0x16d)]+':'+_0x151a19[_0x5d479d(0x178)]+'/'+_0x151a19['database'];logger['debug'](_0x348019,_0x565833),_0x3f0ef0[_0x5d479d(0x182)](writeToFileLog,{..._0x348019,'level':_0x5d479d(0x12d),'msg':_0x565833,'time':new Date()[_0x5d479d(0x171)]()},_0x3f0ef0['FduMh']);},logRequest=(_0x30e74c,_0x41f10b,_0x230b39)=>{const _0x37d731=a0_0x3096f5,_0x2c98aa={'leOeD':_0x37d731(0x137),'KcJcl':'info','MFnVw':function(_0x5dec24,_0x154daa){return _0x5dec24>=_0x154daa;},'RHRsy':'error','jTZjW':function(_0xb748a6,_0x2dabf0){return _0xb748a6>=_0x2dabf0;},'Sxpla':'warn'},_0x48d63b={'event':_0x2c98aa[_0x37d731(0x1cb)],'method':_0x30e74c[_0x37d731(0x14f)],'path':_0x30e74c['path'],'statusCode':_0x41f10b['statusCode'],'durationMs':_0x230b39,'ip':_0x30e74c['ip']},_0x10442b=_0x30e74c[_0x37d731(0x14f)]+'\x20'+_0x30e74c['path']+_0x37d731(0x1bc)+_0x41f10b['statusCode']+'\x20('+_0x230b39+'ms)';let _0x63ad16=_0x2c98aa['KcJcl'];if(_0x2c98aa['MFnVw'](_0x41f10b[_0x37d731(0x1b0)],0x1f4))_0x63ad16=_0x2c98aa[_0x37d731(0x155)],logger['error'](_0x48d63b,_0x10442b);else _0x2c98aa['jTZjW'](_0x41f10b[_0x37d731(0x1b0)],0x190)?(_0x63ad16=_0x2c98aa[_0x37d731(0x181)],logger['warn'](_0x48d63b,_0x10442b)):logger['info'](_0x48d63b,_0x10442b);writeToFileLog({..._0x48d63b,'level':_0x63ad16,'msg':_0x10442b,'time':new Date()['toISOString']()},_0x63ad16);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x3096f5(0x1b3),a0_0x3096f5(0x1b8),'token','access_token','refresh_token','secret',a0_0x3096f5(0x1b5),'apikey','api_key',a0_0x3096f5(0x163),'credentials',a0_0x3096f5(0x199),'otp',a0_0x3096f5(0x13e),a0_0x3096f5(0x1bb)],redactSensitiveParams=(_0x58d113,_0x4d55fe)=>{const _0x70dc8=a0_0x3096f5,_0x2774b1={'qFvGx':_0x70dc8(0x17b),'cOyjc':_0x70dc8(0x175),'DmqGV':function(_0x38ad15,_0x296068){return _0x38ad15>_0x296068;},'qmIiA':function(_0x1cd5af,_0xe188d3){return _0x1cd5af===_0xe188d3;}};if(!_0x58d113||_0x2774b1['qmIiA'](_0x58d113['length'],0x0))return _0x58d113;const _0xb5e12e=_0x4d55fe['toLowerCase'](),_0x226061=_0xb5e12e['match'](/\(([^)]+)\)\s*values/i);let _0x4eeae6=[];_0x226061&&(_0x4eeae6=_0x226061[0x1][_0x70dc8(0x14d)](',')['map'](_0x574ef9=>_0x574ef9[_0x70dc8(0x194)]()[_0x70dc8(0x156)]()));const _0x4dc73f=_0xb5e12e['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4dc73f){const _0xcbc4cd=_0x4dc73f[0x1],_0x1e4f08=_0xcbc4cd[_0x70dc8(0x162)](/(\w+)\s*=/g);_0x1e4f08&&(_0x4eeae6=_0x1e4f08['map'](_0x34741a=>_0x34741a['replace'](/\s*=/,'')['trim']()[_0x70dc8(0x156)]()));}return _0x58d113['map']((_0x2b9938,_0x37a737)=>{const _0x17ecb1=_0x70dc8;if(_0x4eeae6[_0x37a737]){const _0x40b3d1=_0x4eeae6[_0x37a737],_0x1793a4=SENSITIVE_PARAM_PATTERNS[_0x17ecb1(0x10d)](_0x1094bc=>_0x40b3d1['includes'](_0x1094bc));if(_0x1793a4)return _0x2774b1['qFvGx'];}if(typeof _0x2b9938===_0x2774b1['cOyjc']&&_0x2774b1['DmqGV'](_0x2b9938[_0x17ecb1(0x18a)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x2b9938)&&_0x2b9938['includes']('.'))return _0x17ecb1(0x133);if(/^[a-fA-F0-9]{32,}$/[_0x17ecb1(0x120)](_0x2b9938))return _0x17ecb1(0x1c8);}return _0x2b9938;});},parseQueryMetadata=_0x3f0756=>{const _0x43a7de=a0_0x3096f5,_0x147e49={'xVsyS':'UNKNOWN','JbWKR':_0x43a7de(0x15f),'RycEP':_0x43a7de(0x113),'QgmwO':_0x43a7de(0x13b),'sdJjl':_0x43a7de(0x1ab),'WcNMO':_0x43a7de(0x167),'jSaWv':'ROLLBACK','MOWbm':_0x43a7de(0x11c),'LreWo':_0x43a7de(0x1c2),'CebSx':_0x43a7de(0x147),'jKitH':'ALTER','tChfC':'DDL_DROP'},_0xbbacf4=_0x3f0756[_0x43a7de(0x194)](),_0x5d136e=_0xbbacf4[_0x43a7de(0x11a)]();let _0x83ee93=_0x147e49['xVsyS'],_0x25d5fa=null;if(_0x5d136e['startsWith']('SELECT')){_0x83ee93=_0x147e49[_0x43a7de(0x19b)];const _0x335dba=_0xbbacf4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x335dba?_0x335dba[0x1]:null;}else{if(_0x5d136e['startsWith'](_0x147e49['RycEP'])){_0x83ee93=_0x147e49[_0x43a7de(0x112)];const _0x545a8d=_0xbbacf4[_0x43a7de(0x162)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x545a8d?_0x545a8d[0x1]:null;}else{if(_0x5d136e[_0x43a7de(0x1c6)](_0x43a7de(0x13b))){_0x83ee93=_0x147e49['QgmwO'];const _0x2f74a1=_0xbbacf4['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x2f74a1?_0x2f74a1[0x1]:null;}else{if(_0x5d136e['startsWith'](_0x147e49[_0x43a7de(0x15d)])){_0x83ee93=_0x147e49[_0x43a7de(0x15d)];const _0x1af80c=_0xbbacf4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x1af80c?_0x1af80c[0x1]:null;}else{if(_0x5d136e['startsWith'](_0x43a7de(0x146))||_0x5d136e[_0x43a7de(0x1c6)]('START\x20TRANSACTION'))_0x83ee93='TRANSACTION_BEGIN';else{if(_0x5d136e[_0x43a7de(0x1c6)](_0x147e49['WcNMO']))_0x83ee93=_0x43a7de(0x118);else{if(_0x5d136e['startsWith'](_0x147e49['jSaWv']))_0x83ee93=_0x147e49[_0x43a7de(0x18d)];else{if(_0x5d136e['startsWith'](_0x147e49['LreWo']))_0x83ee93=_0x147e49[_0x43a7de(0x16b)];else{if(_0x5d136e[_0x43a7de(0x1c6)](_0x147e49[_0x43a7de(0x188)]))_0x83ee93=_0x43a7de(0x161);else _0x5d136e['startsWith'](_0x43a7de(0x114))&&(_0x83ee93=_0x147e49[_0x43a7de(0x14a)]);}}}}}}}}return{'type':_0x83ee93,'table':_0x25d5fa};},startQueryTimer=()=>{const _0x27f74b=a0_0x3096f5,_0x4bd05a={'iLsnr':function(_0x50a37a,_0x176e95){return _0x50a37a(_0x176e95);},'naAgl':function(_0x45f96b,_0x22bba9){return _0x45f96b+_0x22bba9;},'DkytI':function(_0x2e0c67,_0x39d891){return _0x2e0c67/_0x39d891;}},_0x6c673a=process[_0x27f74b(0x106)]();return()=>{const _0x4ce5a5=_0x27f74b,[_0x33e83c,_0x1cd647]=process[_0x4ce5a5(0x106)](_0x6c673a);return _0x4bd05a[_0x4ce5a5(0x190)](parseFloat,_0x4bd05a[_0x4ce5a5(0x15a)](_0x33e83c*0x3e8,_0x4bd05a[_0x4ce5a5(0x10a)](_0x1cd647,0xf4240))['toFixed'](0x2));};},logQuery=(_0x483ea2,_0x46d34c=[],_0x126c65={})=>{const _0x36a089=a0_0x3096f5,_0x4e1b03={'iKpPQ':function(_0x48c77a,_0x4b6975){return _0x48c77a>_0x4b6975;},'UqpoX':function(_0x5589d9,_0x4522e4){return _0x5589d9!==_0x4522e4;},'biPix':function(_0x39c4ff,_0x1468c6){return _0x39c4ff>_0x1468c6;},'wplnq':'unknown','caLIL':_0x36a089(0x12d),'dTWrk':_0x36a089(0x126),'OiBnQ':_0x36a089(0x174),'ysPuD':function(_0x1223e8,_0x43faa9){return _0x1223e8===_0x43faa9;},'ibtnJ':_0x36a089(0x1b9)};if(!sqlLogEnabled){logger[_0x36a089(0x12d)]({'event':'db_query','query':_0x483ea2[_0x36a089(0x16e)](0x0,0xc8),'paramCount':_0x46d34c['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x126c65,{type:_0x122878,table:_0x5c61bd}=parseQueryMetadata(_0x483ea2),_0x4eb92f={'event':_0x36a089(0x11d),'queryType':_0x122878,'table':_0x5c61bd,'query':_0x483ea2,'paramCount':_0x46d34c[_0x36a089(0x18a)],'dbType':dbType};sqlLogParams&&_0x4e1b03[_0x36a089(0x17f)](_0x46d34c['length'],0x0)&&(_0x4eb92f['params']=redactSensitiveParams(_0x46d34c,_0x483ea2));_0x4e1b03[_0x36a089(0x18c)](duration,null)&&(_0x4eb92f['durationMs']=duration,_0x4eb92f[_0x36a089(0x17c)]=_0x4e1b03['biPix'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x4eb92f['rowsAffected']=rowsAffected);const _0x8a32a5=_0x5c61bd||_0x4e1b03[_0x36a089(0x1c9)];let _0x238950='['+_0x122878+']\x20'+_0x8a32a5;_0x4e1b03[_0x36a089(0x18c)](duration,null)&&(_0x238950+='\x20('+duration+'ms)');const _0xb19098=duration!==null&&_0x4e1b03['biPix'](duration,sqlLogSlowThreshold);let _0x1817be=_0x4e1b03['caLIL'];if(_0xb19098)_0x238950+=_0x4e1b03['dTWrk'],_0x1817be=_0x4e1b03['OiBnQ'],logger['warn'](_0x4eb92f,_0x238950);else _0x4e1b03[_0x36a089(0x13c)](sqlLogLevel,_0x4e1b03[_0x36a089(0x1ba)])?(_0x1817be='info',logger[_0x36a089(0x1b9)](_0x4eb92f,_0x238950)):logger['debug'](_0x4eb92f,_0x238950);writeToFileLog({..._0x4eb92f,'level':_0x1817be,'msg':_0x238950,'time':new Date()['toISOString']()},_0x1817be);},logTransaction=(_0x11c026,_0x5adf5c)=>{const _0xbb7ecc=a0_0x3096f5,_0x50f679={'ydcpj':_0xbb7ecc(0x179),'lnYcv':'debug'},_0x31ee5d={'event':_0x50f679[_0xbb7ecc(0x16a)],'status':_0x11c026,'queryCount':_0x5adf5c},_0x3a0486='Transaction\x20'+_0x11c026;logger[_0xbb7ecc(0x12d)](_0x31ee5d,_0x3a0486),writeToFileLog({..._0x31ee5d,'level':_0x50f679['lnYcv'],'msg':_0x3a0486,'time':new Date()['toISOString']()},_0x50f679['lnYcv']);},redactObject=_0xded90d=>{const _0x34bb0d=a0_0x3096f5,_0x1818e0={'AUFgn':'password','hCdaz':'passwd','ZGWbb':'token','yOdZl':'secret','BLhrd':_0x34bb0d(0x1aa),'FYPEh':'authorization','VQJNe':_0x34bb0d(0x199),'cDcfj':'private_key','fUhlV':'refresh_token','twbUp':'[REDACTED]','SEqDF':'object'};if(!_0xded90d||typeof _0xded90d!==_0x34bb0d(0x111))return _0xded90d;const _0x4517c2=[_0x1818e0['AUFgn'],_0x1818e0['hCdaz'],'pwd',_0x1818e0[_0x34bb0d(0x1a5)],_0x1818e0[_0x34bb0d(0x144)],_0x1818e0[_0x34bb0d(0x11b)],'api_key',_0x1818e0[_0x34bb0d(0x154)],'creditcard','credit_card',_0x34bb0d(0x11f),_0x34bb0d(0x1ae),_0x1818e0['VQJNe'],_0x1818e0[_0x34bb0d(0x138)],'privatekey',_0x1818e0[_0x34bb0d(0x193)],'access_token'],_0x5e5fe3=Array[_0x34bb0d(0x130)](_0xded90d)?[..._0xded90d]:{..._0xded90d};for(const _0x297264 of Object['keys'](_0x5e5fe3)){const _0x38305f=_0x297264[_0x34bb0d(0x156)]();if(_0x4517c2['some'](_0x268c1b=>_0x38305f[_0x34bb0d(0x1a4)](_0x268c1b)))_0x5e5fe3[_0x297264]=_0x1818e0['twbUp'];else typeof _0x5e5fe3[_0x297264]===_0x1818e0[_0x34bb0d(0x1bd)]&&_0x5e5fe3[_0x297264]!==null&&(_0x5e5fe3[_0x297264]=redactObject(_0x5e5fe3[_0x297264]));}return _0x5e5fe3;},logError=(_0xc92ee0,_0x5595dd={},_0x26833e=null)=>{const _0x329959=a0_0x3096f5,_0x4c109a={'bZyTX':_0x329959(0x15e),'vCRgr':'Error'},_0x236eab={'event':_0x4c109a[_0x329959(0x1a9)],'errorName':_0xc92ee0[_0x329959(0x1af)]||_0x4c109a[_0x329959(0x1c1)],'errorMessage':_0xc92ee0['message'],'errorCode':_0xc92ee0['code']||null,'stack':_0xc92ee0['stack'],..._0x5595dd},_0x20fb9=_0x26833e||'Error:\x20'+_0xc92ee0['message'];logger['error'](_0x236eab,_0x20fb9),writeToFileLog({..._0x236eab,'level':'error','msg':_0x20fb9,'time':new Date()[_0x329959(0x171)]()},_0x4c109a[_0x329959(0x1a9)]);},logFatalError=(_0x27bcf0,_0x35628f={},_0x419a85=null)=>{const _0x55aaa6=a0_0x3096f5,_0x5ea884={'olAOl':_0x55aaa6(0x1c7),'zfCZs':function(_0x44b327,_0x26c31a,_0xe60448){return _0x44b327(_0x26c31a,_0xe60448);},'EqgAq':'error'},_0x4134c5={'event':_0x55aaa6(0x129),'errorName':_0x27bcf0['name']||'Error','errorMessage':_0x27bcf0['message'],'errorCode':_0x27bcf0[_0x55aaa6(0x1b7)]||null,'stack':_0x27bcf0[_0x55aaa6(0x14b)],'severity':_0x5ea884['olAOl'],..._0x35628f},_0x4b9d42=_0x419a85||'FATAL:\x20'+_0x27bcf0['message'];logger[_0x55aaa6(0x1be)](_0x4134c5,_0x4b9d42),_0x5ea884['zfCZs'](writeToFileLog,{..._0x4134c5,'level':'fatal','msg':_0x4b9d42,'time':new Date()[_0x55aaa6(0x171)]()},_0x5ea884[_0x55aaa6(0x145)]);},logHttpError=(_0x2fe8e4,_0x4a7814,_0x63d2e8={})=>{const _0x37a8a2=a0_0x3096f5,_0x4a7f2e={'MzYpc':'http_error','CUNNG':_0x37a8a2(0x143),'rYWSA':'user-agent','lBHmX':'x-request-id','RULVU':function(_0x24c6dc,_0x625cb0){return _0x24c6dc(_0x625cb0);},'Vrjrv':function(_0x3ef969,_0x340e93,_0x5b689b){return _0x3ef969(_0x340e93,_0x5b689b);},'XXyaA':'error','FPYuC':'warn'},_0x1f3793={'event':_0x4a7f2e[_0x37a8a2(0x18b)],'errorName':_0x2fe8e4['name']||_0x4a7f2e[_0x37a8a2(0x123)],'errorMessage':_0x2fe8e4[_0x37a8a2(0x1c4)],'errorCode':_0x2fe8e4[_0x37a8a2(0x1b7)]||_0x2fe8e4['statusCode']||0x1f4,'stack':_0x2fe8e4[_0x37a8a2(0x14b)],'method':_0x4a7814?.[_0x37a8a2(0x14f)],'url':_0x4a7814?.[_0x37a8a2(0x139)]||_0x4a7814?.['originalUrl'],'path':_0x4a7814?.[_0x37a8a2(0x17d)],'ip':_0x4a7814?.['ip']||_0x4a7814?.['connection']?.[_0x37a8a2(0x115)],'userAgent':_0x4a7814?.['get']?.(_0x4a7f2e['rYWSA']),'requestId':_0x4a7814?.['id']||_0x4a7814?.['headers']?.[_0x4a7f2e[_0x37a8a2(0x180)]],'body':_0x4a7814?.[_0x37a8a2(0x1a8)]?_0x4a7f2e[_0x37a8a2(0x1c3)](redactObject,_0x4a7814[_0x37a8a2(0x1a8)]):undefined,'query':_0x4a7814?.['query'],..._0x63d2e8},_0x15d856=_0x2fe8e4[_0x37a8a2(0x1b0)]||_0x2fe8e4[_0x37a8a2(0x1a7)]||0x1f4,_0x21246a='HTTP\x20'+_0x15d856+':\x20'+_0x2fe8e4['message'];_0x15d856>=0x1f4?logger['error'](_0x1f3793,_0x21246a):logger[_0x37a8a2(0x174)](_0x1f3793,_0x21246a),_0x4a7f2e[_0x37a8a2(0x10b)](writeToFileLog,{..._0x1f3793,'level':_0x15d856>=0x1f4?_0x4a7f2e['XXyaA']:_0x4a7f2e[_0x37a8a2(0x1a0)],'msg':_0x21246a,'time':new Date()['toISOString']()},_0x15d856>=0x1f4?_0x4a7f2e[_0x37a8a2(0x124)]:'warn');},logUncaughtError=(_0x2c0918,_0x53d56e)=>{const _0x456df9=a0_0x3096f5,_0x5767a8={'yEnrQ':function(_0x10d449,_0x2d4292){return _0x10d449(_0x2d4292);},'AIguf':_0x456df9(0x1c7),'cdwaI':function(_0x458117,_0xc75cdb,_0x4a1b96){return _0x458117(_0xc75cdb,_0x4a1b96);},'FxbSm':_0x456df9(0x15e)},_0xcab78f={'event':_0x2c0918,'errorName':_0x53d56e?.['name']||'Error','errorMessage':_0x53d56e?.['message']||_0x5767a8['yEnrQ'](String,_0x53d56e),'errorCode':_0x53d56e?.['code']||null,'stack':_0x53d56e?.[_0x456df9(0x14b)],'severity':_0x5767a8['AIguf'],'processId':process[_0x456df9(0x13f)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x456df9(0x1b4)]()},_0x3c67f8='['+_0x2c0918['toUpperCase']()+']\x20'+(_0x53d56e?.['message']||_0x53d56e);logger[_0x456df9(0x1be)](_0xcab78f,_0x3c67f8),_0x5767a8['cdwaI'](writeToFileLog,{..._0xcab78f,'level':_0x456df9(0x1be),'msg':_0x3c67f8,'time':new Date()['toISOString']()},_0x5767a8[_0x456df9(0x11e)]);},setupGlobalErrorHandlers=()=>{const _0x59bf8c=a0_0x3096f5,_0x2d1b80={'OsJtn':function(_0x4c0f0e,_0x42ea58,_0x35143e){return _0x4c0f0e(_0x42ea58,_0x35143e);},'eMEHm':function(_0x1c3a95,_0x1ca2a3){return _0x1c3a95 instanceof _0x1ca2a3;},'NYTIm':function(_0x198059,_0x1a5f1f){return _0x198059(_0x1a5f1f);},'izneQ':_0x59bf8c(0x192),'dhYYb':'process_warning','uJrwL':'uncaughtException','pkFNx':_0x59bf8c(0x151),'ZWWww':'global_error_handlers_setup','UugAr':function(_0x546e34,_0x49fe3a,_0x18c3e0){return _0x546e34(_0x49fe3a,_0x18c3e0);},'VhRZD':'info'};process['on'](_0x2d1b80['uJrwL'],_0x3aca06=>{const _0x2058ac=_0x59bf8c;logUncaughtError(_0x2058ac(0x19c),_0x3aca06),_0x2d1b80['OsJtn'](setTimeout,()=>{const _0x4b9578=_0x2058ac;process[_0x4b9578(0x158)](0x1);},0x3e8);}),process['on'](_0x2d1b80[_0x59bf8c(0x1bf)],(_0x5df95f,_0xaa07ea)=>{const _0x1112d0=_0x59bf8c,_0x4b71b5=_0x2d1b80['eMEHm'](_0x5df95f,Error)?_0x5df95f:new Error(_0x2d1b80['NYTIm'](String,_0x5df95f));_0x2d1b80[_0x1112d0(0x191)](logUncaughtError,_0x2d1b80['izneQ'],_0x4b71b5);}),process['on'](_0x2d1b80[_0x59bf8c(0x165)],_0x4b8389=>{const _0x2626f1=_0x59bf8c;logger['warn']({'event':_0x2d1b80['dhYYb'],'name':_0x4b8389['name'],'message':_0x4b8389['message'],'stack':_0x4b8389['stack']},_0x2626f1(0x159)+_0x4b8389['message']);});const _0x46834c={'event':_0x2d1b80[_0x59bf8c(0x10f)]},_0x1a3a77=_0x59bf8c(0x10c);logger[_0x59bf8c(0x1b9)](_0x46834c,_0x1a3a77),_0x2d1b80['UugAr'](writeToFileLog,{..._0x46834c,'level':_0x59bf8c(0x1b9),'msg':_0x1a3a77,'time':new Date()[_0x59bf8c(0x171)]()},_0x2d1b80[_0x59bf8c(0x17e)]);},createErrorHandlerMiddleware=()=>{const _0x205a40={'Coaln':function(_0x26d837,_0x3d2f6c,_0x45e3af){return _0x26d837(_0x3d2f6c,_0x45e3af);},'pOQvP':function(_0x707909,_0x23d4fe){return _0x707909>=_0x23d4fe;}};return(_0x5d8be8,_0x19305f,_0x177a0b,_0x3bab63)=>{const _0x478e69=a0_0x261a;_0x205a40[_0x478e69(0x12b)](logHttpError,_0x5d8be8,_0x19305f);const _0x53f6da=_0x5d8be8['statusCode']||_0x5d8be8['status']||0x1f4;_0x177a0b['status'](_0x53f6da)[_0x478e69(0x16c)]({'success':![],'error':_0x205a40[_0x478e69(0x153)](_0x53f6da,0x1f4)?'Internal\x20server\x20error':_0x5d8be8['message'],'requestId':_0x19305f['id']||_0x19305f['headers']?.['x-request-id']||null});};};module[a0_0x3096f5(0x168)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x43a32d=a0_0x3384;(function(_0x1aa0c0,_0x4c52c2){const _0x45e9fa=a0_0x3384,_0x402a12=_0x1aa0c0();while(!![]){try{const _0x3dfd90=parseInt(_0x45e9fa(0x1da))/0x1+parseInt(_0x45e9fa(0x1e2))/0x2*(parseInt(_0x45e9fa(0x207))/0x3)+parseInt(_0x45e9fa(0x194))/0x4*(-parseInt(_0x45e9fa(0x172))/0x5)+-parseInt(_0x45e9fa(0x184))/0x6+-parseInt(_0x45e9fa(0x1d9))/0x7*(-parseInt(_0x45e9fa(0x1aa))/0x8)+parseInt(_0x45e9fa(0x1ba))/0x9+parseInt(_0x45e9fa(0x1a5))/0xa*(-parseInt(_0x45e9fa(0x1e0))/0xb);if(_0x3dfd90===_0x4c52c2)break;else _0x402a12['push'](_0x402a12['shift']());}catch(_0x2f415d){_0x402a12['push'](_0x402a12['shift']());}}}(a0_0x4d1d,0x39db0));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x43a32d(0x162),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x43a32d(0x1d4)]!=='production',logLevel=process['env'][a0_0x43a32d(0x205)]||a0_0x43a32d(0x1bd);function a0_0x4d1d(){const _0x5b2984=['CMjmDgq','zgjFCxvLCNK','sfvSDei','vfjbtLnbq1rjt05FuK9mtejbq0S','tM9Kzs5QCW','D3jPDgu','ChjVAMvJDa','Auj0B04','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CgLUBY1WCMv0DhK','suLlC0e','BwfW','te9hx0XfvKvm','w1jfrefdveveoNrVA2vUxq','odi0nti5sgz0BvPe','zgvIDwC','Aw5JBhvKzxm','te9hx1rpx0zjteu','Cg9YDa','reiGuxvLCNK','ms4WlJu','C3rKvgLTzuz1BMn0Aw9UCW','AxnbCNjHEq','uK9mtejbq0S','t1jRDeC','D2fYBG','BMfTzq','zw52AxjVBM1LBNq','qunusvzf','C3rHy2S','yxbPA2v5','EMzvvLG','BwvTB3j5vxnHz2u','vgLOEhe','DgvZDa','CgfZC3DK','u2vYDMvYihn0yxj0Aw5NoIa','Dg9mB3DLCKnHC2u','yMfZzvvYBa','C3fSx3f1zxj5','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','CMvWzwf0','CNrTvfy','zefqzuS','DhjPBq','t0HIBLO','C3rYAw5NAwz5','AvHkC2y','Bg9N','vMLkDeG','CgLK','oI8V','BwTKAxjtEw5J','zMf0ywW','zxjYB3iUBg9N','w1jfrefdvevexq','mJmWwK55q2He','vvbeqvrf','Dhj1zq','yM9KEq','y3jLyxrLv3jPDgvtDhjLyw0','w1jfrefdveveoMHHC2HD','vhjHBNnHy3rPB24G','CNfqufu','v0rxAKC','rgvMyxvSDa','seXWrLG','BgvUz3rO','y29UBMvJDgLVBG','rgzqq0K','DxnLCG','rermx0rst1a','y3jLzgL0y2fYza','A2v5CW','mtGXmZyZmKzcCgLLCW','y3z2','zNnNwui','C3vIC3rYAw5N','CM93C0fMzMvJDgvK','CMvTB3rLqwrKCMvZCW','AgvHBhrOq2HLy2S','CNLJCK4','tK9jz1K','uhjVy2vZCYbxyxjUAw5NoIa','sxPtANu','vfjbtLnbq1rjt05FqKvhsu4','ChjVAMvJDf9SB2fKzwq','yLHJwNi','BNvKqKq','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','nZiYmhbUAgTpsa','B3PTDuW','wwLJAha','sw50zxjUywWGC2vYDMvYigvYCM9Y','Ahr0Cf9LCNjVCG','rfjpua','Bwf0y2G','yMfWqva','sxflDg8','zgv2zwXVCg1LBNq','Bwv0Ag9K','zgf0ywjHC2u','C3rHCNrZv2L0Aa','CMvWBgfJzq','C2vYDMLJzuLUzM8','CgLU','uMLTrMe','mtqXmZaWBfjqvurd','DxjS','Ahr0Cf9Yzxf1zxn0','Bw9KDwXL','Dw5JyxvNAhrfEgnLChrPB24','mZjXz2TTzLy','C3rHDhvZq29Kzq','BwvZC2fNzq','CMvMCMvZAf90B2TLBG','zw5KCg9PBNrFCMvNAxn0zxjLza','AgvHzgvYCW','u1fmx0Xpr19mrvzfta','vu5ltK9xtG','zw52','quL4u2C','zwfLweW','sfruuca','u0vmrunu','AxrQu3u','AxnVvgLTzq','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ndy1mZaWv3L1DKj2','zxHWB3j0CW','zxjY','Aw5MBW','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zxHPC3rZu3LUyW','Cg9ZDgDYzxnXBa','tK9uiefdveLwrq','icbjBMzVoIaGia','qwXMzKu','vvHuv0G','yK9bDMy','BgXNDvu','z2v0sgvHzgvYCW','te9hx0rjuG','iokvKqRILzeGifbVCNqGicaGicaGidOG','y29UzMLNrMLSzq','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','ig9UihbVCNqG','icdIHPiG','CgfKrw5K','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','DhrIyum','Ahj0Aw1L','y3jLzgvUDgLHBa','C3rHDhvZ','tK9erv9ftLy','AM9PBG','iokvKqRILzeGiefqssblzxKGicaGidOG','DhLWzq','rKfuquW6ia','nJy2nJu5Axbjv1Hn','otG0nZDUs1HpBwq','zxHPDa','z1DoC1u','Dw5Oyw5KBgvKuMvQzwn0Aw9U','yxbPx2TLEq','zxjYB3i','mtqZtNPSChn1','rufQA3i','mM9VzMD4wa','icbizwfSDgG6ia','sunSuKy','Dg9ju09tDhjPBMC','vLj4D3e','ChjPDMf0zv9RzxK','BxPbrvC','EfbWtKm','y29Kzq','C2vYDMvYx3jLywr5','DxnLCI1Hz2vUDa','w09lxsbqCM9Qzwn0igXVywrLzdOG','Dg9Rzw4','CgfZC3DVCMq','C3rKu2vYAwfSAxPLCNm','ChDK','u1fmx0Xpr19ftKfcteve','B2jQzwn0','Dg9vChbLCKnHC2u','uuHnrLy','zgvMyxvSDa','Cgf0Aa','CMvZB2X2zq'];a0_0x4d1d=function(){return _0x5b2984;};return a0_0x4d1d();}function a0_0x3384(_0x562bdb,_0x3edb50){_0x562bdb=_0x562bdb-0x14c;const _0x4d1d76=a0_0x4d1d();let _0x338453=_0x4d1d76[_0x562bdb];if(a0_0x3384['nAILxD']===undefined){var _0x3dc5f8=function(_0x41203b){const _0xec8262='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f424a='',_0x3bb360='';for(let _0x55c407=0x0,_0x450395,_0x1b88bc,_0x233f02=0x0;_0x1b88bc=_0x41203b['charAt'](_0x233f02++);~_0x1b88bc&&(_0x450395=_0x55c407%0x4?_0x450395*0x40+_0x1b88bc:_0x1b88bc,_0x55c407++%0x4)?_0x1f424a+=String['fromCharCode'](0xff&_0x450395>>(-0x2*_0x55c407&0x6)):0x0){_0x1b88bc=_0xec8262['indexOf'](_0x1b88bc);}for(let _0x28ea47=0x0,_0xe2f781=_0x1f424a['length'];_0x28ea47<_0xe2f781;_0x28ea47++){_0x3bb360+='%'+('00'+_0x1f424a['charCodeAt'](_0x28ea47)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bb360);};a0_0x3384['MJaiVG']=_0x3dc5f8,a0_0x3384['ADdyjS']={},a0_0x3384['nAILxD']=!![];}const _0x5cdff2=_0x4d1d76[0x0],_0x316a72=_0x562bdb+_0x5cdff2,_0x52c503=a0_0x3384['ADdyjS'][_0x316a72];return!_0x52c503?(_0x338453=a0_0x3384['MJaiVG'](_0x338453),a0_0x3384['ADdyjS'][_0x316a72]=_0x338453):_0x338453=_0x52c503,_0x338453;}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x43a32d(0x202),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x43a32d(0x14d),'env':process[a0_0x43a32d(0x1b2)][a0_0x43a32d(0x1d4)]||a0_0x43a32d(0x19d)},'timestamp':pino[a0_0x43a32d(0x14e)][a0_0x43a32d(0x1b8)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x43a32d(0x1ee),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':a0_0x43a32d(0x171)},'serializers':{'req':_0x30b1d4=>({'id':_0x30b1d4['id'],'method':_0x30b1d4['method'],'url':_0x30b1d4['url'],'path':_0x30b1d4['path'],'remoteAddress':_0x30b1d4['ip']||_0x30b1d4[a0_0x43a32d(0x17e)]?.['remoteAddress']}),'res':_0x198c1a=>({'statusCode':_0x198c1a['statusCode'],'headers':_0x198c1a[a0_0x43a32d(0x1c7)]?.()}),'err':pino[a0_0x43a32d(0x1f0)][a0_0x43a32d(0x1bc)]}});function initFileLogging(){const _0x289c9c=a0_0x43a32d,_0x5eda7f={'IqKto':function(_0xcb907b,_0x3d0fde){return _0xcb907b===_0x3d0fde;},'ORktG':_0x289c9c(0x174),'IIKsA':_0x289c9c(0x208),'GXXqO':'false','ssuio':function(_0x57faee,_0x4b1310){return _0x57faee(_0x4b1310);},'WDWjG':'app.log','SwBgx':_0x289c9c(0x170)};if(fileLoggingInitialized)return;logToFile=process['env'][_0x289c9c(0x20a)]===_0x289c9c(0x174);const _0x44fbf0=process['env'][_0x289c9c(0x201)]||_0x289c9c(0x1f6);logDir=process['env'][_0x289c9c(0x1c8)]||'./logs/'+_0x44fbf0,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x5eda7f[_0x289c9c(0x19c)](process['env'][_0x289c9c(0x1f2)],_0x5eda7f[_0x289c9c(0x151)]),sqlLogLevel=process['env'][_0x289c9c(0x1b0)]||_0x5eda7f[_0x289c9c(0x203)],sqlLogParams=process[_0x289c9c(0x1b2)]['SQL_LOG_PARAMS']!==_0x5eda7f['GXXqO'],sqlLogSlowThreshold=_0x5eda7f['ssuio'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x47970a=path[_0x289c9c(0x1f8)](process['cwd'](),logDir);try{!fs[_0x289c9c(0x1bf)](_0x47970a)&&fs[_0x289c9c(0x16e)](_0x47970a,{'recursive':!![]});}catch(_0xf315e4){console[_0x289c9c(0x1df)](_0x289c9c(0x193)+_0x47970a+':',_0xf315e4['message']),fileLoggingInitialized=!![];return;}const _0x1b082f=path[_0x289c9c(0x1d5)](_0x47970a,_0x5eda7f[_0x289c9c(0x17a)]),_0x5caf12=path[_0x289c9c(0x1d5)](_0x47970a,_0x289c9c(0x170));try{appLogStream=fs['createWriteStream'](_0x1b082f,{'flags':'a'}),errorLogStream=fs[_0x289c9c(0x176)](_0x5caf12,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2570d1={'event':'file_logging_enabled','logDir':_0x47970a,'files':['app.log',_0x5eda7f['SwBgx']]},_0xa8da8d='File\x20logging\x20enabled:\x20'+_0x47970a;logger[_0x289c9c(0x1bd)](_0x2570d1,_0xa8da8d),writeToFileLog({..._0x2570d1,'level':_0x289c9c(0x1bd),'msg':_0xa8da8d,'time':new Date()[_0x289c9c(0x1e5)]()},_0x289c9c(0x1bd));}catch(_0x30031e){console[_0x289c9c(0x1df)](_0x289c9c(0x1cb),_0x30031e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x412894,_0x414b8a){const _0x569e9b=a0_0x43a32d,_0x279b53={'FFmDf':function(_0x4ee97a,_0x103bfb){return _0x4ee97a===_0x103bfb;},'NOIgY':'error','gPIym':_0x569e9b(0x16f)};if(!logToFile||!appLogStream)return;const _0x56fb13={'service':serviceName,..._0x412894},_0x3190e7=JSON[_0x569e9b(0x168)](_0x56fb13)+'\x0a';appLogStream[_0x569e9b(0x1fe)](_0x3190e7),(_0x279b53['FFmDf'](_0x414b8a,_0x279b53[_0x569e9b(0x18c)])||_0x279b53['FFmDf'](_0x414b8a,_0x279b53['gPIym']))&&(errorLogStream&&errorLogStream[_0x569e9b(0x1fe)](_0x3190e7));}const createRequestLogger=(_0x2a2950={})=>{return logger['child'](_0x2a2950);},logServerStart=_0x1af6b2=>{const _0xd8a83b=a0_0x43a32d,_0x2a783b={'zZEyg':function(_0x1204db,_0x4798a2){return _0x1204db-_0x4798a2;},'IClRF':function(_0x3734a8,_0xb4a105){return _0x3734a8/_0xb4a105;},'UXTWH':_0xd8a83b(0x1fd),'LQyiK':'N/A','ILsSd':function(_0x31fc89,_0x611c24){return _0x31fc89(_0x611c24);},'rbLtd':_0xd8a83b(0x155),'EAjkr':_0xd8a83b(0x1c1),'tJTfc':'server_starting','zfUVX':function(_0xd6c2d4,_0x294bd5,_0x1ce92c){return _0xd6c2d4(_0x294bd5,_0x1ce92c);},'IiGLC':'info'},_0x5e450f='RESTFORGE\x20RUNTIME\x20SERVER',_0x737598=Math['max'](0x0,_0x2a783b['zZEyg'](0x37,_0x5e450f['length'])),_0x5ceaba=Math['floor'](_0x2a783b[_0xd8a83b(0x1e4)](_0x737598,0x2)),_0xd650c6=_0x737598-_0x5ceaba,_0xadac5='║'+'\x20'[_0xd8a83b(0x163)](_0x5ceaba)+_0x5e450f+'\x20'[_0xd8a83b(0x163)](_0xd650c6)+'║',_0x20db8b=_0xd8a83b(0x161)+_0xadac5+_0xd8a83b(0x1b9)+(_0x1af6b2[_0xd8a83b(0x154)]||_0x2a783b[_0xd8a83b(0x1c4)])['padEnd'](0x26)+_0xd8a83b(0x1be)+(_0x1af6b2[_0xd8a83b(0x1ff)]||_0x2a783b['LQyiK'])['padEnd'](0x26)+_0xd8a83b(0x1c9)+_0x2a783b['ILsSd'](String,_0x1af6b2[_0xd8a83b(0x20b)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x1af6b2[_0xd8a83b(0x1ca)]||_0xd8a83b(0x17b))['padEnd'](0x26)+_0xd8a83b(0x1d6)+(_0x1af6b2['apiKey']?_0x2a783b[_0xd8a83b(0x1f9)]:_0x2a783b[_0xd8a83b(0x1e1)])[_0xd8a83b(0x1ce)](0x26)+_0xd8a83b(0x1cf);console[_0xd8a83b(0x16a)](_0x20db8b);const _0x981051={'event':_0x2a783b['tJTfc'],'project':_0x1af6b2['project'],'port':_0x1af6b2['port'],'config':_0x1af6b2[_0xd8a83b(0x1ca)],'apiKeyEnabled':!!_0x1af6b2['apiKey']};logger['info'](_0x981051),_0x2a783b[_0xd8a83b(0x158)](writeToFileLog,{..._0x981051,'level':_0x2a783b['IiGLC'],'msg':_0xd8a83b(0x15d)+_0x1af6b2[_0xd8a83b(0x1ff)]+_0xd8a83b(0x1cc)+_0x1af6b2['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x4a8eeb=>{const _0x9c094b=a0_0x43a32d,_0xbb3f18={'Zfwvk':_0x9c094b(0x1eb),'KZRtw':function(_0x571333,_0x438e6c,_0x38abd1){return _0x571333(_0x438e6c,_0x38abd1);},'fsgYB':'info'},_0x22e48d={'event':_0xbb3f18['Zfwvk'],'port':_0x4a8eeb[_0x9c094b(0x20b)],'module':_0x4a8eeb[_0x9c094b(0x1a8)],'healthCheck':_0x4a8eeb['healthCheck'],'serviceInfo':_0x4a8eeb['serviceInfo'],'baseUrl':_0x4a8eeb[_0x9c094b(0x15f)]},_0x42db0a='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x4a8eeb[_0x9c094b(0x20b)];logger['info'](_0x22e48d,_0x42db0a),_0xbb3f18['KZRtw'](writeToFileLog,{..._0x22e48d,'level':_0xbb3f18['fsgYB'],'msg':_0x42db0a,'time':new Date()[_0x9c094b(0x1e5)]()},_0xbb3f18[_0x9c094b(0x186)]),_0x4a8eeb[_0x9c094b(0x18a)]&&logger[_0x9c094b(0x1bd)](_0x9c094b(0x1e3)+_0x4a8eeb[_0x9c094b(0x18a)]),_0x4a8eeb[_0x9c094b(0x1a2)]&&logger['info'](_0x9c094b(0x1c2)+_0x4a8eeb['serviceInfo']),_0x4a8eeb['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x4a8eeb[_0x9c094b(0x15f)]);},logProjectLoaded=(_0x1605ed,_0x42494e)=>{const _0x788a1c=a0_0x43a32d,_0x25e3ec={'PYSnK':_0x788a1c(0x190)},_0x2f2762={'event':_0x25e3ec['PYSnK'],'project':_0x1605ed,'path':_0x42494e},_0x33c9bb=_0x788a1c(0x1ed)+_0x1605ed;logger['info'](_0x2f2762,_0x33c9bb),writeToFileLog({..._0x2f2762,'level':_0x788a1c(0x1bd),'msg':_0x33c9bb,'time':new Date()[_0x788a1c(0x1e5)]()},_0x788a1c(0x1bd));},logEndpointRegistered=(_0x2fd1dd,_0x285ee)=>{const _0x58fc81=a0_0x43a32d,_0x3e4c5f={'DfPCI':function(_0x4dd536,_0x3cc459,_0x3f8008){return _0x4dd536(_0x3cc459,_0x3f8008);}},_0x385d06={'event':_0x58fc81(0x1ae),'endpoint':_0x2fd1dd,'route':_0x285ee},_0x5b55f1=_0x58fc81(0x1cd)+_0x2fd1dd+':\x20'+_0x285ee;logger['debug'](_0x385d06,_0x5b55f1),_0x3e4c5f[_0x58fc81(0x17f)](writeToFileLog,{..._0x385d06,'level':'debug','msg':_0x5b55f1,'time':new Date()[_0x58fc81(0x1e5)]()},'debug');},logDatabaseConfig=_0x2f94cc=>{const _0x5ca455=a0_0x43a32d,_0x35e238={'WBhrc':function(_0x93db57,_0x1c73d9,_0x10f23c){return _0x93db57(_0x1c73d9,_0x10f23c);},'bXcZr':'debug'},_0xefffc1={'event':'database_config','host':_0x2f94cc['host'],'port':_0x2f94cc['port'],'database':_0x2f94cc[_0x5ca455(0x19f)],'type':_0x2f94cc[_0x5ca455(0x1d7)],'user':_0x2f94cc[_0x5ca455(0x180)]},_0x51a74d='Database:\x20'+_0x2f94cc['type']+_0x5ca455(0x16d)+_0x2f94cc['host']+':'+_0x2f94cc[_0x5ca455(0x20b)]+'/'+_0x2f94cc['database'];logger['debug'](_0xefffc1,_0x51a74d),_0x35e238['WBhrc'](writeToFileLog,{..._0xefffc1,'level':_0x35e238[_0x5ca455(0x191)],'msg':_0x51a74d,'time':new Date()[_0x5ca455(0x1e5)]()},_0x5ca455(0x208));},logRequest=(_0x4f29ed,_0x32f952,_0x374915)=>{const _0x5f4343=a0_0x43a32d,_0x16806d={'amUQJ':'error','aVmJe':function(_0xbe91ec,_0x52602f,_0x53f5ed){return _0xbe91ec(_0x52602f,_0x53f5ed);}},_0x7d4425={'event':_0x5f4343(0x1a7),'method':_0x4f29ed['method'],'path':_0x4f29ed[_0x5f4343(0x1f7)],'statusCode':_0x32f952[_0x5f4343(0x1ab)],'durationMs':_0x374915,'ip':_0x4f29ed['ip']},_0x17e36a=_0x4f29ed[_0x5f4343(0x19e)]+'\x20'+_0x4f29ed['path']+'\x20-\x20'+_0x32f952['statusCode']+'\x20('+_0x374915+'ms)';let _0x45da37='info';if(_0x32f952[_0x5f4343(0x1ab)]>=0x1f4)_0x45da37=_0x16806d['amUQJ'],logger['error'](_0x7d4425,_0x17e36a);else _0x32f952[_0x5f4343(0x1ab)]>=0x190?(_0x45da37=_0x5f4343(0x152),logger[_0x5f4343(0x152)](_0x7d4425,_0x17e36a)):logger['info'](_0x7d4425,_0x17e36a);_0x16806d['aVmJe'](writeToFileLog,{..._0x7d4425,'level':_0x45da37,'msg':_0x17e36a,'time':new Date()['toISOString']()},_0x45da37);},SENSITIVE_PARAM_PATTERNS=[a0_0x43a32d(0x1ef),a0_0x43a32d(0x15c),'pwd',a0_0x43a32d(0x1ee),'access_token',a0_0x43a32d(0x1ad),'secret','api_secret','apikey',a0_0x43a32d(0x1de),a0_0x43a32d(0x1d2),'credentials','pin','otp',a0_0x43a32d(0x1e7),'privatekey'],redactSensitiveParams=(_0x9f24c1,_0x2b2d14)=>{const _0x4a1024=a0_0x43a32d,_0x51996a={'TUgJu':_0x4a1024(0x171),'IzSju':function(_0x56dc3b,_0x2d3a85){return _0x56dc3b===_0x2d3a85;},'Tihxq':function(_0x115b4d,_0x1fd35d){return _0x115b4d>_0x1fd35d;}};if(!_0x9f24c1||_0x9f24c1['length']===0x0)return _0x9f24c1;const _0x203584=_0x2b2d14[_0x4a1024(0x15e)](),_0x36fda1=_0x203584['match'](/\(([^)]+)\)\s*values/i);let _0x18a52d=[];_0x36fda1&&(_0x18a52d=_0x36fda1[0x1]['split'](',')['map'](_0x722b8c=>_0x722b8c[_0x4a1024(0x166)]()['toLowerCase']()));const _0x437ba5=_0x203584[_0x4a1024(0x19a)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x437ba5){const _0x5efd7d=_0x437ba5[0x1],_0x35705d=_0x5efd7d['match'](/(\w+)\s*=/g);_0x35705d&&(_0x18a52d=_0x35705d[_0x4a1024(0x204)](_0x16b353=>_0x16b353[_0x4a1024(0x1a1)](/\s*=/,'')[_0x4a1024(0x166)]()['toLowerCase']()));}return _0x9f24c1[_0x4a1024(0x204)]((_0x49d742,_0x215019)=>{const _0x237795=_0x4a1024;if(_0x18a52d[_0x215019]){const _0x34f37e=_0x18a52d[_0x215019],_0x592bce=SENSITIVE_PARAM_PATTERNS['some'](_0x4441a5=>_0x34f37e[_0x237795(0x209)](_0x4441a5));if(_0x592bce)return _0x51996a['TUgJu'];}if(_0x51996a[_0x237795(0x18e)](typeof _0x49d742,'string')&&_0x51996a[_0x237795(0x15a)](_0x49d742[_0x237795(0x17d)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x49d742)&&_0x49d742[_0x237795(0x209)]('.'))return _0x237795(0x206);if(/^[a-fA-F0-9]{32,}$/[_0x237795(0x15b)](_0x49d742))return _0x237795(0x177);}return _0x49d742;});},parseQueryMetadata=_0x30636b=>{const _0x75f1ff=a0_0x43a32d,_0x2f21f={'RimFa':_0x75f1ff(0x1b1),'fwHJG':_0x75f1ff(0x1b6),'ZCSAj':'INSERT','bOAvf':'UPDATE','ttbaC':'DELETE','eaeXL':'BEGIN','CRnSB':_0x75f1ff(0x18f),'OHbnZ':'TRANSACTION_COMMIT','TGhar':_0x75f1ff(0x1fc),'lhjaA':'DDL_ALTER','Yichp':_0x75f1ff(0x181)},_0x556c41=_0x30636b[_0x75f1ff(0x166)](),_0x549344=_0x556c41[_0x75f1ff(0x1f4)]();let _0x200200=_0x2f21f[_0x75f1ff(0x1a4)],_0x5bf87b=null;if(_0x549344['startsWith']('SELECT')){_0x200200=_0x2f21f['fwHJG'];const _0x3c3c2c=_0x556c41['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5bf87b=_0x3c3c2c?_0x3c3c2c[0x1]:null;}else{if(_0x549344[_0x75f1ff(0x1a0)](_0x2f21f['ZCSAj'])){_0x200200='INSERT';const _0x504e41=_0x556c41['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5bf87b=_0x504e41?_0x504e41[0x1]:null;}else{if(_0x549344['startsWith'](_0x75f1ff(0x173))){_0x200200=_0x2f21f[_0x75f1ff(0x1c5)];const _0x45193e=_0x556c41['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5bf87b=_0x45193e?_0x45193e[0x1]:null;}else{if(_0x549344['startsWith'](_0x2f21f[_0x75f1ff(0x1d0)])){_0x200200='DELETE';const _0x549f32=_0x556c41['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5bf87b=_0x549f32?_0x549f32[0x1]:null;}else{if(_0x549344['startsWith'](_0x2f21f[_0x75f1ff(0x1b4)])||_0x549344[_0x75f1ff(0x1a0)]('START\x20TRANSACTION'))_0x200200=_0x2f21f['CRnSB'];else{if(_0x549344['startsWith']('COMMIT'))_0x200200=_0x2f21f[_0x75f1ff(0x167)];else{if(_0x549344[_0x75f1ff(0x1a0)](_0x75f1ff(0x150)))_0x200200=_0x2f21f['TGhar'];else{if(_0x549344[_0x75f1ff(0x1a0)]('CREATE'))_0x200200='DDL_CREATE';else{if(_0x549344['startsWith']('ALTER'))_0x200200=_0x2f21f['lhjaA'];else _0x549344['startsWith'](_0x75f1ff(0x199))&&(_0x200200=_0x2f21f[_0x75f1ff(0x196)]);}}}}}}}}return{'type':_0x200200,'table':_0x5bf87b};},startQueryTimer=()=>{const _0x4a18c7={'ViJtH':function(_0x58e0c2,_0x1ee256){return _0x58e0c2*_0x1ee256;},'TTaEh':function(_0x118156,_0xbd433){return _0x118156/_0xbd433;}},_0x5a3009=process['hrtime']();return()=>{const _0x1a346d=a0_0x3384,[_0x2cfaf1,_0x4e1c11]=process[_0x1a346d(0x1d1)](_0x5a3009);return parseFloat((_0x4a18c7[_0x1a346d(0x16b)](_0x2cfaf1,0x3e8)+_0x4a18c7['TTaEh'](_0x4e1c11,0xf4240))['toFixed'](0x2));};},logQuery=(_0x409561,_0x52c180=[],_0x44e32b={})=>{const _0x3774a7=a0_0x43a32d,_0x4d19c2={'FVtBg':_0x3774a7(0x14c),'SQaJU':function(_0x4e629f,_0x48a3b8){return _0x4e629f(_0x48a3b8);},'mzAEW':function(_0x1346c8,_0x2595a2){return _0x1346c8>_0x2595a2;},'wRlLm':function(_0x4401dd,_0x5c55bd,_0x333a42){return _0x4401dd(_0x5c55bd,_0x333a42);},'iXJsf':function(_0x1eb4e9,_0x5d9433){return _0x1eb4e9||_0x5d9433;},'VRxwq':function(_0x35e43a,_0x3a8ae0){return _0x35e43a!==_0x3a8ae0;},'rqPPU':'debug','glJNc':'\x20[SLOW]','hbJha':'warn'};if(!sqlLogEnabled){logger['debug']({'event':_0x3774a7(0x1fa),'query':_0x409561[_0x3774a7(0x187)](0x0,0xc8),'paramCount':_0x52c180[_0x3774a7(0x17d)]},_0x4d19c2['FVtBg']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3774a7(0x1c0)}=_0x44e32b,{type:_0x105c64,table:_0x2e3733}=_0x4d19c2['SQaJU'](parseQueryMetadata,_0x409561),_0x3c832c={'event':_0x3774a7(0x160),'queryType':_0x105c64,'table':_0x2e3733,'query':_0x409561,'paramCount':_0x52c180['length'],'dbType':dbType};sqlLogParams&&_0x4d19c2[_0x3774a7(0x1e8)](_0x52c180['length'],0x0)&&(_0x3c832c['params']=_0x4d19c2['wRlLm'](redactSensitiveParams,_0x52c180,_0x409561));duration!==null&&(_0x3c832c['durationMs']=duration,_0x3c832c['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x3c832c[_0x3774a7(0x188)]=rowsAffected);const _0x172fda=_0x4d19c2[_0x3774a7(0x169)](_0x2e3733,'unknown');let _0x35ff81='['+_0x105c64+']\x20'+_0x172fda;_0x4d19c2[_0x3774a7(0x1e6)](duration,null)&&(_0x35ff81+='\x20('+duration+'ms)');const _0x266ef7=duration!==null&&_0x4d19c2['mzAEW'](duration,sqlLogSlowThreshold);let _0x10b003=_0x4d19c2[_0x3774a7(0x179)];if(_0x266ef7)_0x35ff81+=_0x4d19c2['glJNc'],_0x10b003=_0x4d19c2['hbJha'],logger['warn'](_0x3c832c,_0x35ff81);else sqlLogLevel==='info'?(_0x10b003='info',logger[_0x3774a7(0x1bd)](_0x3c832c,_0x35ff81)):logger['debug'](_0x3c832c,_0x35ff81);_0x4d19c2['wRlLm'](writeToFileLog,{..._0x3c832c,'level':_0x10b003,'msg':_0x35ff81,'time':new Date()['toISOString']()},_0x10b003);},logTransaction=(_0x2404fd,_0x41d18b)=>{const _0x46eafc=a0_0x43a32d,_0x3960cc={'qXwOz':'db_transaction','dVeOf':function(_0x4f2c3c,_0x15c078,_0x59eb53){return _0x4f2c3c(_0x15c078,_0x59eb53);},'iBtoN':'debug'},_0x4d2660={'event':_0x3960cc['qXwOz'],'status':_0x2404fd,'queryCount':_0x41d18b},_0x38e245=_0x46eafc(0x178)+_0x2404fd;logger[_0x46eafc(0x208)](_0x4d2660,_0x38e245),_0x3960cc['dVeOf'](writeToFileLog,{..._0x4d2660,'level':_0x3960cc[_0x46eafc(0x200)],'msg':_0x38e245,'time':new Date()[_0x46eafc(0x1e5)]()},_0x3960cc[_0x46eafc(0x200)]);},redactObject=_0x3fb9a1=>{const _0x58e666=a0_0x43a32d,_0x54d8eb={'HLpFX':function(_0x38e14a,_0x3d30e4){return _0x38e14a!==_0x3d30e4;},'xPpNC':_0x58e666(0x1ef),'asNZZ':'secret','gWNsU':_0x58e666(0x157),'wnHTR':_0x58e666(0x182),'itjSu':'ssn','XQXjE':_0x58e666(0x1a3),'XChwF':'private_key','rycrN':'privatekey','jeCFg':'access_token','KoeAX':'[REDACTED]','QHMFV':function(_0x5ae7fa,_0x1cbfb7){return _0x5ae7fa===_0x1cbfb7;},'sItkx':_0x58e666(0x1f3),'AIxSg':function(_0x13a3d6,_0x3a0cc9){return _0x13a3d6(_0x3a0cc9);}};if(!_0x3fb9a1||_0x54d8eb[_0x58e666(0x17c)](typeof _0x3fb9a1,'object'))return _0x3fb9a1;const _0x5c5b3a=[_0x54d8eb[_0x58e666(0x1e9)],'passwd',_0x58e666(0x1f1),_0x58e666(0x1ee),_0x54d8eb['asNZZ'],_0x54d8eb[_0x58e666(0x1dc)],_0x58e666(0x1de),'authorization',_0x54d8eb['wnHTR'],'credit_card',_0x58e666(0x185),_0x54d8eb[_0x58e666(0x1b7)],_0x54d8eb['XQXjE'],_0x54d8eb['XChwF'],_0x54d8eb[_0x58e666(0x18b)],_0x58e666(0x1ad),_0x54d8eb['jeCFg']],_0x6a5feb=Array[_0x58e666(0x14f)](_0x3fb9a1)?[..._0x3fb9a1]:{..._0x3fb9a1};for(const _0x53f9f5 of Object[_0x58e666(0x183)](_0x6a5feb)){const _0x15c6b4=_0x53f9f5['toLowerCase']();if(_0x5c5b3a['some'](_0x395ecf=>_0x15c6b4['includes'](_0x395ecf)))_0x6a5feb[_0x53f9f5]=_0x54d8eb['KoeAX'];else _0x54d8eb[_0x58e666(0x1f5)](typeof _0x6a5feb[_0x53f9f5],_0x54d8eb['sItkx'])&&_0x54d8eb[_0x58e666(0x17c)](_0x6a5feb[_0x53f9f5],null)&&(_0x6a5feb[_0x53f9f5]=_0x54d8eb[_0x58e666(0x1b3)](redactObject,_0x6a5feb[_0x53f9f5]));}return _0x6a5feb;},logError=(_0x1dd343,_0x1b3b20={},_0x985e14=null)=>{const _0x3d1546=a0_0x43a32d,_0x57cb96={'JFAsd':_0x3d1546(0x1df),'KLLxX':function(_0x384875,_0x2d9651,_0x9b8cf5){return _0x384875(_0x2d9651,_0x9b8cf5);}},_0x48da70={'event':_0x57cb96['JFAsd'],'errorName':_0x1dd343['name']||'Error','errorMessage':_0x1dd343['message'],'errorCode':_0x1dd343[_0x3d1546(0x1ea)]||null,'stack':_0x1dd343[_0x3d1546(0x156)],..._0x1b3b20},_0x33137f=_0x985e14||'Error:\x20'+_0x1dd343[_0x3d1546(0x1ac)];logger[_0x3d1546(0x1df)](_0x48da70,_0x33137f),_0x57cb96['KLLxX'](writeToFileLog,{..._0x48da70,'level':_0x57cb96['JFAsd'],'msg':_0x33137f,'time':new Date()[_0x3d1546(0x1e5)]()},_0x57cb96['JFAsd']);},logFatalError=(_0x591371,_0x3c3242={},_0x28de2e=null)=>{const _0x2f209e=a0_0x43a32d,_0x2b02b1={'RgvBE':'fatal_error','CaYks':'Error','PHrsA':function(_0x5daeb,_0x108c0f,_0x2016c4){return _0x5daeb(_0x108c0f,_0x2016c4);}},_0x160a34={'event':_0x2b02b1['RgvBE'],'errorName':_0x591371[_0x2f209e(0x153)]||_0x2b02b1['CaYks'],'errorMessage':_0x591371[_0x2f209e(0x1ac)],'errorCode':_0x591371['code']||null,'stack':_0x591371[_0x2f209e(0x156)],'severity':'CRITICAL',..._0x3c3242},_0x3f0b85=_0x28de2e||_0x2f209e(0x1d8)+_0x591371[_0x2f209e(0x1ac)];logger['fatal'](_0x160a34,_0x3f0b85),_0x2b02b1['PHrsA'](writeToFileLog,{..._0x160a34,'level':_0x2f209e(0x16f),'msg':_0x3f0b85,'time':new Date()['toISOString']()},_0x2f209e(0x1df));},logHttpError=(_0x503d62,_0x1c6de9,_0x12d52d={})=>{const _0x32c7e7=a0_0x43a32d,_0x165b9f={'ozmuL':_0x32c7e7(0x198),'xwehq':_0x32c7e7(0x1ec),'BIWIF':'x-request-id','nudBD':function(_0x2df437,_0xa6bc37){return _0x2df437>=_0xa6bc37;},'jrlGS':_0x32c7e7(0x152),'HOnjN':_0x32c7e7(0x1df)},_0x2a847c={'event':_0x165b9f[_0x32c7e7(0x195)],'errorName':_0x503d62['name']||'Error','errorMessage':_0x503d62['message'],'errorCode':_0x503d62[_0x32c7e7(0x1ea)]||_0x503d62[_0x32c7e7(0x1ab)]||0x1f4,'stack':_0x503d62['stack'],'method':_0x1c6de9?.['method'],'url':_0x1c6de9?.[_0x32c7e7(0x1a6)]||_0x1c6de9?.['originalUrl'],'path':_0x1c6de9?.[_0x32c7e7(0x1f7)],'ip':_0x1c6de9?.['ip']||_0x1c6de9?.[_0x32c7e7(0x17e)]?.[_0x32c7e7(0x189)],'userAgent':_0x1c6de9?.['get']?.(_0x165b9f['xwehq']),'requestId':_0x1c6de9?.['id']||_0x1c6de9?.[_0x32c7e7(0x1af)]?.[_0x165b9f['BIWIF']],'body':_0x1c6de9?.[_0x32c7e7(0x175)]?redactObject(_0x1c6de9[_0x32c7e7(0x175)]):undefined,'query':_0x1c6de9?.['query'],..._0x12d52d},_0x30272e=_0x503d62[_0x32c7e7(0x1ab)]||_0x503d62['status']||0x1f4,_0x50de6a=_0x32c7e7(0x1b5)+_0x30272e+':\x20'+_0x503d62['message'];_0x165b9f[_0x32c7e7(0x192)](_0x30272e,0x1f4)?logger['error'](_0x2a847c,_0x50de6a):logger[_0x32c7e7(0x152)](_0x2a847c,_0x50de6a),writeToFileLog({..._0x2a847c,'level':_0x30272e>=0x1f4?_0x32c7e7(0x1df):_0x165b9f['jrlGS'],'msg':_0x50de6a,'time':new Date()['toISOString']()},_0x30272e>=0x1f4?_0x165b9f['HOnjN']:_0x32c7e7(0x152));},logUncaughtError=(_0x3c7cbb,_0x1f5315)=>{const _0x4f477b=a0_0x43a32d,_0x40558a={'fKttp':'Error','rtmTV':function(_0x393234,_0x2502d5){return _0x393234(_0x2502d5);}},_0x3293cb={'event':_0x3c7cbb,'errorName':_0x1f5315?.[_0x4f477b(0x153)]||_0x40558a['fKttp'],'errorMessage':_0x1f5315?.['message']||_0x40558a[_0x4f477b(0x164)](String,_0x1f5315),'errorCode':_0x1f5315?.['code']||null,'stack':_0x1f5315?.['stack'],'severity':'CRITICAL','processId':process[_0x4f477b(0x16c)],'memoryUsage':process[_0x4f477b(0x159)](),'uptime':process['uptime']()},_0x41694d='['+_0x3c7cbb['toUpperCase']()+']\x20'+(_0x1f5315?.['message']||_0x1f5315);logger[_0x4f477b(0x16f)](_0x3293cb,_0x41694d),writeToFileLog({..._0x3293cb,'level':'fatal','msg':_0x41694d,'time':new Date()[_0x4f477b(0x1e5)]()},_0x4f477b(0x1df));},setupGlobalErrorHandlers=()=>{const _0x12d715=a0_0x43a32d,_0x3f5bef={'YWHnr':function(_0x3de7a7,_0x4a7fbb,_0x21befb){return _0x3de7a7(_0x4a7fbb,_0x21befb);},'dAPeK':function(_0xbcc6d3,_0x19d912){return _0xbcc6d3(_0x19d912);},'HUltB':function(_0x496f29,_0xda9b30,_0x5a8068){return _0x496f29(_0xda9b30,_0x5a8068);},'bapAP':_0x12d715(0x1dd),'JDxww':'global_error_handlers_setup','llguU':'Global\x20error\x20handlers\x20initialized','AlffE':_0x12d715(0x1bd)};process['on'](_0x12d715(0x1a9),_0x1c4f10=>{logUncaughtError('uncaughtException',_0x1c4f10),_0x3f5bef['YWHnr'](setTimeout,()=>{const _0x52e5a3=a0_0x3384;process[_0x52e5a3(0x1db)](0x1);},0x3e8);}),process['on'](_0x12d715(0x1dd),(_0x28a4f3,_0x813316)=>{const _0x4b313f=_0x12d715,_0x247adc=_0x28a4f3 instanceof Error?_0x28a4f3:new Error(_0x3f5bef[_0x4b313f(0x165)](String,_0x28a4f3));_0x3f5bef['HUltB'](logUncaughtError,_0x3f5bef[_0x4b313f(0x19b)],_0x247adc);}),process['on']('warning',_0x2db958=>{const _0x505576=_0x12d715;logger['warn']({'event':'process_warning','name':_0x2db958['name'],'message':_0x2db958[_0x505576(0x1ac)],'stack':_0x2db958[_0x505576(0x156)]},_0x505576(0x18d)+_0x2db958['message']);});const _0x26df4d={'event':_0x3f5bef['JDxww']},_0x5a96d9=_0x3f5bef[_0x12d715(0x1c6)];logger[_0x12d715(0x1bd)](_0x26df4d,_0x5a96d9),_0x3f5bef[_0x12d715(0x1fb)](writeToFileLog,{..._0x26df4d,'level':_0x3f5bef[_0x12d715(0x1c3)],'msg':_0x5a96d9,'time':new Date()['toISOString']()},_0x3f5bef[_0x12d715(0x1c3)]);},createErrorHandlerMiddleware=()=>{const _0x41bf8b={'PhawI':function(_0x123aab,_0x248d93,_0x2f68f0){return _0x123aab(_0x248d93,_0x2f68f0);}};return(_0x488e8b,_0xe3318c,_0x2b4b07,_0x4448ee)=>{const _0x263383=a0_0x3384;_0x41bf8b['PhawI'](logHttpError,_0x488e8b,_0xe3318c);const _0x122fd5=_0x488e8b[_0x263383(0x1ab)]||_0x488e8b[_0x263383(0x1d3)]||0x1f4;_0x2b4b07['status'](_0x122fd5)['json']({'success':![],'error':_0x122fd5>=0x1f4?_0x263383(0x197):_0x488e8b['message'],'requestId':_0xe3318c['id']||_0xe3318c[_0x263383(0x1af)]?.['x-request-id']||null});};};module[a0_0x43a32d(0x1bb)]={'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_0x398dd7=a0_0x2d54;(function(_0x47650f,_0x592fa1){const _0x10f363=a0_0x2d54,_0x442617=_0x47650f();while(!![]){try{const _0xba9a99=parseInt(_0x10f363(0x123))/0x1*(-parseInt(_0x10f363(0x12e))/0x2)+-parseInt(_0x10f363(0x122))/0x3+-parseInt(_0x10f363(0x134))/0x4+-parseInt(_0x10f363(0x13a))/0x5*(-parseInt(_0x10f363(0x11e))/0x6)+parseInt(_0x10f363(0x120))/0x7*(parseInt(_0x10f363(0x137))/0x8)+parseInt(_0x10f363(0x145))/0x9*(-parseInt(_0x10f363(0x135))/0xa)+parseInt(_0x10f363(0x12f))/0xb;if(_0xba9a99===_0x592fa1)break;else _0x442617['push'](_0x442617['shift']());}catch(_0x524fcf){_0x442617['push'](_0x442617['shift']());}}}(a0_0x480c,0x6042c));function a0_0x480c(){const _0x152628=['BwfW','ywrK','Aw5MBW','zfzOrKi','mZa5mte0q0nRsMzZ','ChvZAa','ndu2nZK5EuHxEwrs','A2v5CW','mtyXmtmYn3b2zwvzrW','mK1nAgfQtG','zgvIDwC','iezst00G','BgvUz3rO','y2XLyxjdywnOzq','zM9YrwfJAa','v1DZCKq','DMfSAwrHDgvmB29RDxbwywX1zxm','BxLZCwW','zeP6B3G','C2v0','ntK3ndC0rfzrAhbN','mtKZnZC2mJjeBMHgtKW','yM1ir3O','Dg9vChbLCKnHC2u','lI9KyG','iIbUB3qGzM91BMqGAw4G','mJqXnZeZmNrzvxfHqq','mta5mJK0mhzQshPdBa','z2v0','ndbXDhbADgW','Bg9VA3vWx3rHyMXLx2XVywrLza','C2XPy2u','mtvwvwrZseK','Dg9mB3DLCKnHC2u','zw50CMLLCW','Bg9VA3vWq2fJAgu','AgfZ','CMvZB2X2zuXVB2T1CfzHBhvL','zxHLy3v0zvf1zxj5','qvHyv0C','DhjPBq','z2v0rgLZDgLUy3rwywX1zxm','ChjVy2vZC0XVB2T1CezPzwXKCW','ovLWy2DXsW','B3jHy2XL','DwXLsM0'];a0_0x480c=function(){return _0x152628;};return a0_0x480c();}const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType===a0_0x398dd7(0x146)){const oracleDb=require('./db-oracle');executeQuery=(_0x1c3cd6,_0x480d51)=>oracleDb[a0_0x398dd7(0x140)](_0x1c3cd6,_0x480d51);}else{if(dbType===a0_0x398dd7(0x12b)){const mysqlDb=require('./db-mysql');executeQuery=(_0x427561,_0x9b8072)=>mysqlDb['executeQuery'](_0x427561,_0x9b8072);}else executeQuery=require(a0_0x398dd7(0x132))['executeQuery'];}function a0_0x2d54(_0x5af3d4,_0x4b0ba6){_0x5af3d4=_0x5af3d4-0x119;const _0x480cc2=a0_0x480c();let _0x2d54c4=_0x480cc2[_0x5af3d4];if(a0_0x2d54['ObBAzt']===undefined){var _0x5cea07=function(_0x12f1ab){const _0x4df29e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x408423='',_0x1e6ed8='';for(let _0x168650=0x0,_0x59bca6,_0x32534a,_0x9bceae=0x0;_0x32534a=_0x12f1ab['charAt'](_0x9bceae++);~_0x32534a&&(_0x59bca6=_0x168650%0x4?_0x59bca6*0x40+_0x32534a:_0x32534a,_0x168650++%0x4)?_0x408423+=String['fromCharCode'](0xff&_0x59bca6>>(-0x2*_0x168650&0x6)):0x0){_0x32534a=_0x4df29e['indexOf'](_0x32534a);}for(let _0x26897a=0x0,_0x1ddfe3=_0x408423['length'];_0x26897a<_0x1ddfe3;_0x26897a++){_0x1e6ed8+='%'+('00'+_0x408423['charCodeAt'](_0x26897a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e6ed8);};a0_0x2d54['SYOrlR']=_0x5cea07,a0_0x2d54['lLEiVF']={},a0_0x2d54['ObBAzt']=!![];}const _0x565d42=_0x480cc2[0x0],_0x34b20a=_0x5af3d4+_0x565d42,_0x5777c2=a0_0x2d54['lLEiVF'][_0x34b20a];return!_0x5777c2?(_0x2d54c4=a0_0x2d54['SYOrlR'](_0x2d54c4),a0_0x2d54['lLEiVF'][_0x34b20a]=_0x2d54c4):_0x2d54c4=_0x5777c2,_0x2d54c4;}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x398dd7(0x127)](){const _0x11a0fd=a0_0x398dd7,_0x1ad264={'Xpusp':'lookup_cache_cleared','bmHGz':'Lookup\x20cache\x20cleared'};this[_0x11a0fd(0x13d)]['clear'](),logger[_0x11a0fd(0x124)]({'event':_0x1ad264['Xpusp']},_0x1ad264[_0x11a0fd(0x130)]);}async['loadLookupTable'](_0x2d9812,_0x2093d2,_0x57f452){const _0xcc4937=a0_0x398dd7,_0x5f5aed={'NdUrE':function(_0x30c646,_0x125de6){return _0x30c646(_0x125de6);}},_0x58d328=_0x2d9812+':'+_0x2093d2+':'+_0x57f452;if(this[_0xcc4937(0x13d)]['has'](_0x58d328))return this[_0xcc4937(0x13d)][_0xcc4937(0x136)](_0x58d328);try{const _0x196bce='SELECT\x20'+_0x57f452+',\x20'+_0x2093d2+_0xcc4937(0x125)+_0x2d9812,_0x23d9a4=await executeQuery(_0x196bce),_0x642b61=new Map();return _0x23d9a4[_0xcc4937(0x128)](_0x5c5c41=>{const _0xccbfe5=_0xcc4937,_0x3b8596=_0x5c5c41[_0x2093d2]!==undefined?_0x5c5c41[_0x2093d2]:_0x5c5c41[_0x2093d2[_0xccbfe5(0x131)]()],_0x4c508f=_0x5c5c41[_0x57f452]!==undefined?_0x5c5c41[_0x57f452]:_0x5c5c41[_0x57f452[_0xccbfe5(0x131)]()];_0x3b8596!==null&&_0x3b8596!==undefined&&(_0x642b61[_0xccbfe5(0x12d)](_0x5f5aed['NdUrE'](String,_0x3b8596)[_0xccbfe5(0x13b)]()[_0xccbfe5(0x142)](),_0x4c508f),_0x642b61[_0xccbfe5(0x12d)](String(_0x3b8596)[_0xccbfe5(0x142)](),_0x4c508f));}),this['lookupCache'][_0xcc4937(0x12d)](_0x58d328,_0x642b61),logger[_0xcc4937(0x11c)]({'event':_0xcc4937(0x138),'table':_0x2d9812,'column':_0x2093d2,'count':_0x23d9a4['length']},'Lookup\x20table\x20loaded:\x20'+_0x2d9812),_0x642b61;}catch(_0x651684){logger['error']({'event':'lookup_table_load_error','table':_0x2d9812,'error':_0x651684['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x2d9812);throw _0x651684;}}['resolveLookupValue'](_0x19d5b5,_0x150b5b){const _0x1f5c85=a0_0x398dd7,_0x4de534={'BPJZj':function(_0x275fe9,_0x13a2d4){return _0x275fe9===_0x13a2d4;}};if(_0x4de534['BPJZj'](_0x19d5b5,null)||_0x19d5b5===undefined||_0x4de534['BPJZj'](_0x19d5b5,''))return null;const _0x47f159=String(_0x19d5b5)[_0x1f5c85(0x142)]();if(_0x150b5b[_0x1f5c85(0x13e)](_0x47f159))return _0x150b5b['get'](_0x47f159);const _0x389b5d=_0x47f159['toLowerCase']();if(_0x150b5b['has'](_0x389b5d))return _0x150b5b[_0x1f5c85(0x136)](_0x389b5d);return null;}async[a0_0x398dd7(0x144)](_0x4aa06e,_0x3090e7){const _0x2481af=a0_0x398dd7,_0x13e4f1={'dJzox':function(_0x5c6c22,_0x5e0ae8){return _0x5c6c22===_0x5e0ae8;},'ZBLfr':'lookup_fields_processed','dVhFB':'Lookup\x20fields\x20processed'};if(!_0x3090e7||Object['keys'](_0x3090e7)[_0x2481af(0x126)]===0x0)return{'processedRows':_0x4aa06e,'errors':[]};const _0x37856d=[],_0x5ee0de=new Map();for(const [_0x389d35,_0x5c773d]of Object['entries'](_0x3090e7)){const {lookupTable:_0x361bbd,lookupColumn:_0x5b7ac2,lookupIdColumn:_0x2337bd}=_0x5c773d,_0x2e2be9=_0x361bbd+':'+_0x5b7ac2+':'+_0x2337bd;if(!_0x5ee0de['has'](_0x2e2be9)){const _0x2392b8=await this['loadLookupTable'](_0x361bbd,_0x5b7ac2,_0x2337bd);_0x5ee0de[_0x2481af(0x12d)](_0x2e2be9,_0x2392b8);}}const _0x38f8b1=_0x4aa06e[_0x2481af(0x11a)]((_0x1d6284,_0x2dd6e7)=>{const _0x3e523e=_0x2481af,_0x1b46ae={..._0x1d6284};for(const [_0x3061bc,_0x30362c]of Object[_0x3e523e(0x13c)](_0x3090e7)){const {lookupTable:_0x28527e,lookupColumn:_0x194699,lookupIdColumn:_0x51b6c8,targetField:_0x4300e0,required:_0x216d4c}=_0x30362c,_0x233499=_0x28527e+':'+_0x194699+':'+_0x51b6c8,_0x4276bd=_0x5ee0de['get'](_0x233499),_0x251813=_0x1d6284[_0x3061bc];if((_0x251813===null||_0x13e4f1[_0x3e523e(0x12c)](_0x251813,undefined)||_0x13e4f1['dJzox'](_0x251813,''))&&!_0x216d4c){_0x1b46ae[_0x4300e0]=null;continue;}const _0x25d047=this[_0x3e523e(0x13f)](_0x251813,_0x4276bd);_0x25d047!==null?_0x1b46ae[_0x4300e0]=_0x25d047:(_0x216d4c&&_0x37856d[_0x3e523e(0x11f)]({'rowIndex':_0x2dd6e7,'field':_0x3061bc,'value':_0x251813,'targetField':_0x4300e0,'lookupTable':_0x28527e,'message':'Value\x20\x22'+_0x251813+_0x3e523e(0x133)+_0x28527e}),_0x1b46ae[_0x4300e0]=null);}return _0x1b46ae;});return logger[_0x2481af(0x11c)]({'event':_0x13e4f1['ZBLfr'],'totalRows':_0x4aa06e['length'],'errorCount':_0x37856d['length'],'lookupFieldCount':Object[_0x2481af(0x121)](_0x3090e7)[_0x2481af(0x126)]},_0x13e4f1[_0x2481af(0x11d)]),{'processedRows':_0x38f8b1,'errors':_0x37856d};}[a0_0x398dd7(0x143)](_0x24d369,_0x5136f7){const _0x43b63f={'AXXWG':function(_0x4dcf0e,_0x4bf16b){return _0x4dcf0e!==_0x4bf16b;},'WWsrD':function(_0x2ecf73,_0x397e81){return _0x2ecf73(_0x397e81);}},_0x373f45=new Set();return _0x24d369['forEach'](_0x1cc420=>{const _0x147cc1=a0_0x2d54,_0x570d35=_0x1cc420[_0x5136f7];_0x570d35!==null&&_0x43b63f[_0x147cc1(0x141)](_0x570d35,undefined)&&_0x570d35!==''&&_0x373f45[_0x147cc1(0x11b)](_0x43b63f[_0x147cc1(0x129)](String,_0x570d35)[_0x147cc1(0x142)]());}),Array['from'](_0x373f45);}async[a0_0x398dd7(0x12a)](_0x11750a,_0x4fbba0){const _0x511227=a0_0x398dd7,_0x2a299d={'fBhRo':function(_0xe42210,_0x8e8853){return _0xe42210===_0x8e8853;},'uleJm':function(_0x543773,_0x437297){return _0x543773>_0x437297;}};if(!_0x4fbba0||_0x2a299d['fBhRo'](Object[_0x511227(0x121)](_0x4fbba0)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x322dfc=[],_0x5a7f45={};for(const [_0x2de6dd,_0x413951]of Object['entries'](_0x4fbba0)){const {lookupTable:_0x34d671,lookupColumn:_0x555bc6,lookupIdColumn:_0x1d3adf,required:_0x1c0156}=_0x413951,_0x2ed9c4=this[_0x511227(0x143)](_0x11750a,_0x2de6dd),_0x1813ab=await this['loadLookupTable'](_0x34d671,_0x555bc6,_0x1d3adf),_0xe066d7=[],_0x249775=[];_0x2ed9c4['forEach'](_0x12c3a4=>{const _0x53874f=_0x511227,_0x5437cf=this['resolveLookupValue'](_0x12c3a4,_0x1813ab);_0x5437cf!==null?_0x249775[_0x53874f(0x11f)](_0x12c3a4):_0xe066d7[_0x53874f(0x11f)](_0x12c3a4);});if(_0x2a299d[_0x511227(0x119)](_0xe066d7[_0x511227(0x126)],0x0)&&_0x1c0156){_0x322dfc[_0x511227(0x11f)]({'field':_0x2de6dd,'lookupTable':_0x34d671,'invalidValues':_0xe066d7,'message':_0xe066d7['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x34d671});const _0xb69cc9=[];_0x1813ab['forEach']((_0x1e3db2,_0x13bd7e)=>{const _0x1a57a2=_0x511227;if(_0x13bd7e===_0x13bd7e[_0x1a57a2(0x13b)]())return;_0xb69cc9['push'](_0x13bd7e);}),_0x5a7f45[_0x2de6dd]={'invalidValues':_0xe066d7,'availableValues':_0xb69cc9[_0x511227(0x139)](0x0,0x32)};}}return{'valid':_0x322dfc['length']===0x0,'errors':_0x322dfc,'suggestions':_0x5a7f45};}}module['exports']=new LookupResolver();
1
+ const a0_0xaa84b4=a0_0xe0f8;(function(_0x1910f1,_0x448626){const _0x5cf60c=a0_0xe0f8,_0x44efe8=_0x1910f1();while(!![]){try{const _0xfb506c=parseInt(_0x5cf60c(0x1ad))/0x1*(parseInt(_0x5cf60c(0x1b6))/0x2)+-parseInt(_0x5cf60c(0x1c3))/0x3+-parseInt(_0x5cf60c(0x1bb))/0x4*(parseInt(_0x5cf60c(0x1c2))/0x5)+-parseInt(_0x5cf60c(0x1b9))/0x6*(parseInt(_0x5cf60c(0x1b4))/0x7)+parseInt(_0x5cf60c(0x19c))/0x8*(-parseInt(_0x5cf60c(0x1ac))/0x9)+-parseInt(_0x5cf60c(0x1ae))/0xa+parseInt(_0x5cf60c(0x1b2))/0xb;if(_0xfb506c===_0x448626)break;else _0x44efe8['push'](_0x44efe8['shift']());}catch(_0x4cf397){_0x44efe8['push'](_0x44efe8['shift']());}}}(a0_0x1734,0x4bfe7));const dbType=(process[a0_0xaa84b4(0x1be)]['DB_TYPE']||a0_0xaa84b4(0x1bf))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x12b6fe,_0x1ecccc)=>oracleDb['executeQuery'](_0x12b6fe,_0x1ecccc);}else{if(dbType===a0_0xaa84b4(0x198)){const mysqlDb=require(a0_0xaa84b4(0x19d));executeQuery=(_0x4dd735,_0x380545)=>mysqlDb[a0_0xaa84b4(0x1ab)](_0x4dd735,_0x380545);}else executeQuery=require(a0_0xaa84b4(0x19b))['executeQuery'];}const {logger}=require(a0_0xaa84b4(0x1c5));function a0_0x1734(){const _0xff47df=['BwfW','otiXmtHODfHLAeC','Aw5MBW','BgvUz3rO','nJa5nMHvv2fzDG','zxjYB3i','mJyYmhnoBwnTDq','ChjVy2vZC0XVB2T1CezPzwXKCW','u0vmrunuia','zw52','Cg9ZDgDYzxnXBa','Dg9mB3DLCKnHC2u','BfnjzKW','ndyXme1wr2D2Cq','nJm1mtKWv0PIqMny','z2v0','lI9SB2DNzxi','zgvIDwC','iIbUB3qGzM91BMqGAw4G','zM9YrwfJAa','qKDlshe','rfzgsLO','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','BxLZCwW','BNHoreu','u2fyB2i','lI9KyG','mJmYodiWmgD3CLnIrq','lI9KyI1TExnXBa','zw50CMLLCW','DMfSAwrHDgvmB29RDxbwywX1zxm','tg9VA3vWignHy2HLignSzwfYzwq','AgfZ','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Bg9VA3vWq2fJAgu','Bg9HzeXVB2T1CfrHyMXL','z2v0rgLZDgLUy3rwywX1zxm','C2v0','Dg9vChbLCKnHC2u','iezst00G','DhjPBq','ChvZAa','zxHLy3v0zvf1zxj5','mtHyve5ZDgG','n3LPqxHrwq','mJy3nZu4mfDRB3zxBq','vMfSDwuGiG','A2v5CW','BwvZC2fNzq','mJm2otu5ntHOtxbKtKy','Bg9VA3vWx3rHyMXLx2XVywrLza','mZq0nev4wuHjAW'];a0_0x1734=function(){return _0xff47df;};return a0_0x1734();}function a0_0xe0f8(_0x454a94,_0x17409b){_0x454a94=_0x454a94-0x195;const _0x173408=a0_0x1734();let _0xe0f8bf=_0x173408[_0x454a94];if(a0_0xe0f8['jymzvP']===undefined){var _0x687ca8=function(_0x5c75ae){const _0x133364='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16ac42='',_0x9ddb86='';for(let _0x3844d6=0x0,_0x5008bf,_0x2bcce2,_0x1a25d6=0x0;_0x2bcce2=_0x5c75ae['charAt'](_0x1a25d6++);~_0x2bcce2&&(_0x5008bf=_0x3844d6%0x4?_0x5008bf*0x40+_0x2bcce2:_0x2bcce2,_0x3844d6++%0x4)?_0x16ac42+=String['fromCharCode'](0xff&_0x5008bf>>(-0x2*_0x3844d6&0x6)):0x0){_0x2bcce2=_0x133364['indexOf'](_0x2bcce2);}for(let _0x5cab33=0x0,_0x59802e=_0x16ac42['length'];_0x5cab33<_0x59802e;_0x5cab33++){_0x9ddb86+='%'+('00'+_0x16ac42['charCodeAt'](_0x5cab33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9ddb86);};a0_0xe0f8['IhmjVU']=_0x687ca8,a0_0xe0f8['giGKJU']={},a0_0xe0f8['jymzvP']=!![];}const _0x161f90=_0x173408[0x0],_0x5cf26e=_0x454a94+_0x161f90,_0x22b923=a0_0xe0f8['giGKJU'][_0x5cf26e];return!_0x22b923?(_0xe0f8bf=a0_0xe0f8['IhmjVU'](_0xe0f8bf),a0_0xe0f8['giGKJU'][_0x5cf26e]=_0xe0f8bf):_0xe0f8bf=_0x22b923,_0xe0f8bf;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x113619=a0_0xaa84b4,_0x553b3e={'FQPku':'lookup_cache_cleared','EcBiQ':_0x113619(0x1a0)};this[_0x113619(0x1a3)]['clear'](),logger[_0x113619(0x1c6)]({'event':_0x553b3e['FQPku']},_0x553b3e['EcBiQ']);}async[a0_0xaa84b4(0x1a4)](_0x392e4a,_0x277d65,_0x54493f){const _0x46a169=a0_0xaa84b4,_0x172e64={'sIRGa':function(_0x178df9,_0x313528){return _0x178df9!==_0x313528;},'clfoR':function(_0xf76e0d,_0x5231a8){return _0xf76e0d!==_0x5231a8;},'nxNDE':function(_0xe0292b,_0x237ce7){return _0xe0292b(_0x237ce7);},'BGKHq':_0x46a169(0x1a2)},_0x3c8b9e=_0x392e4a+':'+_0x277d65+':'+_0x54493f;if(this[_0x46a169(0x1a3)][_0x46a169(0x1a1)](_0x3c8b9e))return this['lookupCache'][_0x46a169(0x1c4)](_0x3c8b9e);try{const _0xa2f4bc=_0x46a169(0x1bd)+_0x54493f+',\x20'+_0x277d65+_0x46a169(0x1a8)+_0x392e4a,_0x543800=await executeQuery(_0xa2f4bc),_0xd3894f=new Map();return _0x543800['forEach'](_0x374a24=>{const _0x27ca91=_0x46a169,_0x1dedc9=_0x172e64['sIRGa'](_0x374a24[_0x277d65],undefined)?_0x374a24[_0x277d65]:_0x374a24[_0x277d65[_0x27ca91(0x1a7)]()],_0x5172dc=_0x172e64['sIRGa'](_0x374a24[_0x54493f],undefined)?_0x374a24[_0x54493f]:_0x374a24[_0x54493f[_0x27ca91(0x1a7)]()];_0x1dedc9!==null&&_0x172e64['clfoR'](_0x1dedc9,undefined)&&(_0xd3894f['set'](String(_0x1dedc9)[_0x27ca91(0x1c0)]()['trim'](),_0x5172dc),_0xd3894f[_0x27ca91(0x1a6)](_0x172e64[_0x27ca91(0x199)](String,_0x1dedc9)['trim'](),_0x5172dc));}),this['lookupCache']['set'](_0x3c8b9e,_0xd3894f),logger[_0x46a169(0x1b7)]({'event':_0x46a169(0x1b3),'table':_0x392e4a,'column':_0x277d65,'count':_0x543800['length']},'Lookup\x20table\x20loaded:\x20'+_0x392e4a),_0xd3894f;}catch(_0xc14af2){logger[_0x46a169(0x1ba)]({'event':_0x172e64[_0x46a169(0x195)],'table':_0x392e4a,'error':_0xc14af2[_0x46a169(0x1b1)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x392e4a);throw _0xc14af2;}}['resolveLookupValue'](_0x496777,_0x2ae832){const _0x1d261d=a0_0xaa84b4,_0x469b97={'IBhEM':function(_0xb3ed6f,_0x419fd3){return _0xb3ed6f===_0x419fd3;},'rOaJR':function(_0x474d22,_0x592c15){return _0x474d22(_0x592c15);}};if(_0x469b97['IBhEM'](_0x496777,null)||_0x496777===undefined||_0x496777==='')return null;const _0x504910=_0x469b97['rOaJR'](String,_0x496777)[_0x1d261d(0x1a9)]();if(_0x2ae832[_0x1d261d(0x1a1)](_0x504910))return _0x2ae832[_0x1d261d(0x1c4)](_0x504910);const _0x392e15=_0x504910[_0x1d261d(0x1c0)]();if(_0x2ae832[_0x1d261d(0x1a1)](_0x392e15))return _0x2ae832[_0x1d261d(0x1c4)](_0x392e15);return null;}async[a0_0xaa84b4(0x1bc)](_0x2fd9db,_0x9e8f47){const _0xeccac9=a0_0xaa84b4,_0x5806d3={'SaXob':function(_0x28206f,_0x3f0d93){return _0x28206f===_0x3f0d93;},'lSIfL':function(_0x332494,_0xf07f0c){return _0x332494!==_0xf07f0c;}};if(!_0x9e8f47||Object[_0xeccac9(0x1b0)](_0x9e8f47)['length']===0x0)return{'processedRows':_0x2fd9db,'errors':[]};const _0x5f2eba=[],_0x212b59=new Map();for(const [_0x1ffb22,_0x8a50d4]of Object['entries'](_0x9e8f47)){const {lookupTable:_0x7b5361,lookupColumn:_0x2051ee,lookupIdColumn:_0x428f96}=_0x8a50d4,_0xb1d76a=_0x7b5361+':'+_0x2051ee+':'+_0x428f96;if(!_0x212b59['has'](_0xb1d76a)){const _0x19da62=await this['loadLookupTable'](_0x7b5361,_0x2051ee,_0x428f96);_0x212b59[_0xeccac9(0x1a6)](_0xb1d76a,_0x19da62);}}const _0x5d6f4b=_0x2fd9db[_0xeccac9(0x1b5)]((_0xc8a45e,_0x4cc76c)=>{const _0x1355fe=_0xeccac9,_0x1a11c4={..._0xc8a45e};for(const [_0x3dcff1,_0x4a3541]of Object[_0x1355fe(0x19e)](_0x9e8f47)){const {lookupTable:_0x5eb668,lookupColumn:_0x1f5f5c,lookupIdColumn:_0x1d4af3,targetField:_0x2a01c9,required:_0x14cb6b}=_0x4a3541,_0x2d802e=_0x5eb668+':'+_0x1f5f5c+':'+_0x1d4af3,_0x55657c=_0x212b59[_0x1355fe(0x1c4)](_0x2d802e),_0x2fa97a=_0xc8a45e[_0x3dcff1];if((_0x5806d3[_0x1355fe(0x19a)](_0x2fa97a,null)||_0x2fa97a===undefined||_0x5806d3[_0x1355fe(0x19a)](_0x2fa97a,''))&&!_0x14cb6b){_0x1a11c4[_0x2a01c9]=null;continue;}const _0x2854b8=this['resolveLookupValue'](_0x2fa97a,_0x55657c);_0x5806d3[_0x1355fe(0x1c1)](_0x2854b8,null)?_0x1a11c4[_0x2a01c9]=_0x2854b8:(_0x14cb6b&&_0x5f2eba['push']({'rowIndex':_0x4cc76c,'field':_0x3dcff1,'value':_0x2fa97a,'targetField':_0x2a01c9,'lookupTable':_0x5eb668,'message':_0x1355fe(0x1af)+_0x2fa97a+_0x1355fe(0x1c7)+_0x5eb668}),_0x1a11c4[_0x2a01c9]=null);}return _0x1a11c4;});return logger[_0xeccac9(0x1b7)]({'event':'lookup_fields_processed','totalRows':_0x2fd9db[_0xeccac9(0x1b8)],'errorCount':_0x5f2eba[_0xeccac9(0x1b8)],'lookupFieldCount':Object['keys'](_0x9e8f47)[_0xeccac9(0x1b8)]},_0xeccac9(0x197)),{'processedRows':_0x5d6f4b,'errors':_0x5f2eba};}[a0_0xaa84b4(0x1a5)](_0x11c255,_0x528b9a){const _0x4604fc={'XIkzD':function(_0x5222b6,_0x3c2755){return _0x5222b6(_0x3c2755);}},_0x288ff6=new Set();return _0x11c255['forEach'](_0x457ed8=>{const _0x4c2d7b=_0x457ed8[_0x528b9a];_0x4c2d7b!==null&&_0x4c2d7b!==undefined&&_0x4c2d7b!==''&&_0x288ff6['add'](_0x4604fc['XIkzD'](String,_0x4c2d7b)['trim']());}),Array['from'](_0x288ff6);}async[a0_0xaa84b4(0x19f)](_0x4c22e3,_0x1f3687){const _0x1eb36f=a0_0xaa84b4,_0x471bc4={'DVFJZ':function(_0x45e72a,_0x1d3bdf){return _0x45e72a!==_0x1d3bdf;},'xwzTJ':function(_0x236d02,_0x1a4308){return _0x236d02===_0x1a4308;}};if(!_0x1f3687||Object['keys'](_0x1f3687)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x430130=[],_0x4b5659={};for(const [_0x42d02f,_0x177ed7]of Object['entries'](_0x1f3687)){const {lookupTable:_0x40662d,lookupColumn:_0x49cf40,lookupIdColumn:_0x113da,required:_0x531f11}=_0x177ed7,_0x15947a=this[_0x1eb36f(0x1a5)](_0x4c22e3,_0x42d02f),_0x1e30d9=await this[_0x1eb36f(0x1a4)](_0x40662d,_0x49cf40,_0x113da),_0x1fe03e=[],_0x5a4fc=[];_0x15947a[_0x1eb36f(0x1c8)](_0x54652e=>{const _0xbe5db9=_0x1eb36f,_0x19f5b1=this['resolveLookupValue'](_0x54652e,_0x1e30d9);_0x471bc4[_0xbe5db9(0x196)](_0x19f5b1,null)?_0x5a4fc['push'](_0x54652e):_0x1fe03e[_0xbe5db9(0x1aa)](_0x54652e);});if(_0x1fe03e[_0x1eb36f(0x1b8)]>0x0&&_0x531f11){_0x430130['push']({'field':_0x42d02f,'lookupTable':_0x40662d,'invalidValues':_0x1fe03e,'message':_0x1fe03e[_0x1eb36f(0x1b8)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x40662d});const _0x5ad67a=[];_0x1e30d9[_0x1eb36f(0x1c8)]((_0x1aa604,_0x75b926)=>{const _0x569993=_0x1eb36f;if(_0x75b926===_0x75b926[_0x569993(0x1c0)]())return;_0x5ad67a['push'](_0x75b926);}),_0x4b5659[_0x42d02f]={'invalidValues':_0x1fe03e,'availableValues':_0x5ad67a['slice'](0x0,0x32)};}}return{'valid':_0x471bc4['xwzTJ'](_0x430130['length'],0x0),'errors':_0x430130,'suggestions':_0x4b5659};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x4c3a(_0x480426,_0x36cdc9){_0x480426=_0x480426-0x1e6;const _0xd5a7f8=a0_0xd5a7();let _0x4c3abf=_0xd5a7f8[_0x480426];if(a0_0x4c3a['wQKcRj']===undefined){var _0xe39724=function(_0x309813){const _0x38257a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x79854='',_0x17107e='';for(let _0x2f36e9=0x0,_0x4ba9c1,_0x397cf4,_0x51d99e=0x0;_0x397cf4=_0x309813['charAt'](_0x51d99e++);~_0x397cf4&&(_0x4ba9c1=_0x2f36e9%0x4?_0x4ba9c1*0x40+_0x397cf4:_0x397cf4,_0x2f36e9++%0x4)?_0x79854+=String['fromCharCode'](0xff&_0x4ba9c1>>(-0x2*_0x2f36e9&0x6)):0x0){_0x397cf4=_0x38257a['indexOf'](_0x397cf4);}for(let _0x332d84=0x0,_0x3e6fc0=_0x79854['length'];_0x332d84<_0x3e6fc0;_0x332d84++){_0x17107e+='%'+('00'+_0x79854['charCodeAt'](_0x332d84)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17107e);};a0_0x4c3a['CtnmEo']=_0xe39724,a0_0x4c3a['IhrhOA']={},a0_0x4c3a['wQKcRj']=!![];}const _0x559c3b=_0xd5a7f8[0x0],_0x305a4d=_0x480426+_0x559c3b,_0x490282=a0_0x4c3a['IhrhOA'][_0x305a4d];return!_0x490282?(_0x4c3abf=a0_0x4c3a['CtnmEo'](_0x4c3abf),a0_0x4c3a['IhrhOA'][_0x305a4d]=_0x4c3abf):_0x4c3abf=_0x490282,_0x4c3abf;}const a0_0x59e42e=a0_0x4c3a;(function(_0x1ce0a2,_0x52f7d1){const _0x2fff43=a0_0x4c3a,_0x515792=_0x1ce0a2();while(!![]){try{const _0x452cc2=parseInt(_0x2fff43(0x208))/0x1+-parseInt(_0x2fff43(0x20a))/0x2+-parseInt(_0x2fff43(0x210))/0x3*(-parseInt(_0x2fff43(0x1fc))/0x4)+parseInt(_0x2fff43(0x1f5))/0x5+parseInt(_0x2fff43(0x1f8))/0x6*(parseInt(_0x2fff43(0x20b))/0x7)+-parseInt(_0x2fff43(0x206))/0x8+-parseInt(_0x2fff43(0x1ff))/0x9;if(_0x452cc2===_0x52f7d1)break;else _0x515792['push'](_0x515792['shift']());}catch(_0x55fda5){_0x515792['push'](_0x515792['shift']());}}}(a0_0xd5a7,0x95a91));const fs=require('fs')[a0_0x59e42e(0x1f3)],path=require(a0_0x59e42e(0x1ed)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x1e8f21=a0_0x59e42e;this['payloadDir']=path[_0x1e8f21(0x1f6)](__dirname,'../../payload'),this['cache']=new Map();}async[a0_0x59e42e(0x209)](_0x18b746,_0x29cc39){const _0x512bd3=a0_0x59e42e,_0x3c192f={'lOxQR':_0x512bd3(0x1ef),'eiRxK':_0x512bd3(0x1e6),'FIMDY':'payload_load_error','wWwMI':'Failed\x20to\x20load\x20payload'},_0x2f968a=_0x18b746+':'+_0x29cc39;if(this[_0x512bd3(0x207)]['has'](_0x2f968a))return this['cache']['get'](_0x2f968a);const _0x5bf3e9=path['join'](this['payloadDir'],_0x18b746+'_'+_0x29cc39+_0x512bd3(0x205));try{const _0x31d5f8=await fs[_0x512bd3(0x1fa)](_0x5bf3e9,_0x3c192f[_0x512bd3(0x211)]),_0x5a9319=JSON[_0x512bd3(0x1f1)](_0x31d5f8);return this['cache']['set'](_0x2f968a,_0x5a9319),logger['debug']({'event':_0x3c192f['eiRxK'],'project':_0x18b746,'resource':_0x29cc39},_0x512bd3(0x1fe)),_0x5a9319;}catch(_0x49a4c3){logger['error']({'event':_0x3c192f['FIMDY'],'project':_0x18b746,'resource':_0x29cc39,'error':_0x49a4c3[_0x512bd3(0x20e)]},_0x3c192f[_0x512bd3(0x1ee)]);throw new Error('Payload\x20not\x20found:\x20'+_0x18b746+'_'+_0x29cc39);}}async[a0_0x59e42e(0x201)](_0x592c48){const _0x17741c=a0_0x59e42e,_0x35344c={'Knjgv':'Payload\x20loaded\x20successfully\x20by\x20name','NzQIB':_0x17741c(0x1e9)},_0x568bf8=_0x17741c(0x1e8)+_0x592c48;if(this[_0x17741c(0x207)][_0x17741c(0x202)](_0x568bf8))return this[_0x17741c(0x207)][_0x17741c(0x1ec)](_0x568bf8);const _0x216478=path['join'](this['payloadDir'],_0x592c48+'.json');try{const _0x246dfb=await fs['readFile'](_0x216478,_0x17741c(0x1ef)),_0x53cd57=JSON['parse'](_0x246dfb);return this['cache'][_0x17741c(0x1f4)](_0x568bf8,_0x53cd57),logger[_0x17741c(0x1f2)]({'event':'payload_loaded','payloadName':_0x592c48},_0x35344c['Knjgv']),_0x53cd57;}catch(_0x22cd3a){logger['error']({'event':_0x17741c(0x20f),'payloadName':_0x592c48,'error':_0x22cd3a['message']},_0x35344c['NzQIB']);throw new Error(_0x17741c(0x1eb)+_0x592c48);}}[a0_0x59e42e(0x1fb)](_0x3b278c,_0x37f981){const _0x1df400=a0_0x59e42e;return _0x3b278c[_0x1df400(0x1ea)]&&_0x3b278c['action'][_0x37f981]===!![];}[a0_0x59e42e(0x1f7)](_0x36b3e6){const _0x32ab86=a0_0x59e42e;return{'columns':_0x36b3e6[_0x32ab86(0x1f9)]||[],'filename':_0x36b3e6['tableName'][_0x32ab86(0x20d)]('.','-')+_0x32ab86(0x200),'datatablesQuery':_0x36b3e6['datatablesQuery']||null,'columnFormats':_0x36b3e6['columnFormats']||null,'fieldLabels':_0x36b3e6['fieldLabels']||null};}[a0_0x59e42e(0x1fd)](){const _0xcc2f56=a0_0x59e42e,_0x1c5035={'xhIZL':_0xcc2f56(0x20c)};this['cache'][_0xcc2f56(0x1f0)](),logger['info']({'event':_0xcc2f56(0x1e7)},_0x1c5035[_0xcc2f56(0x204)]);}}function a0_0xd5a7(){const _0x3aa4d2=['nde2nZbMtLPhz3e','zMLLBgroyw1L','CMvHzezPBgu','Axnby3rPB25fBMfIBgvK','ntm2BgniCunj','y2XLyxjdywnOzq','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mtu1ota0m2Xtyxr4Dq','lwv4Cg9YDa','Bg9HzfbHEwXVywrcEu5HBwu','AgfZ','zxHWB3j0CW','EgHjwKW','lMPZB24','ndyZndK0ng5iyw9MwG','y2fJAgu','nZKZmde2v1bpuMnq','Bg9HzfbHEwXVywq','mtK5mJe4ohbWuNDItW','nJaYvw9ts25R','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','CMvWBgfJzq','BwvZC2fNzq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mtCWntHdEgTyEMG','Be94uvi','Cgf5Bg9Hzf9SB2fKzwq','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9HzdO','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ywn0Aw9U','ugf5Bg9HzcbUB3qGzM91BMq6ia','z2v0','Cgf0Aa','D1D3tuK','DxrMoa','y2XLyxi','CgfYC2u','zgvIDwC','ChjVBwLZzxm','C2v0','mta0nZq0mhPpAhnksq','AM9PBG','z2v0rxHWB3j0q29UzMLN'];a0_0xd5a7=function(){return _0x3aa4d2;};return a0_0xd5a7();}module[a0_0x59e42e(0x203)]=new PayloadLoader();
1
+ const a0_0x44767e=a0_0x156b;(function(_0x3694fd,_0x202d56){const _0xff12ba=a0_0x156b,_0x2921ba=_0x3694fd();while(!![]){try{const _0x195d3b=-parseInt(_0xff12ba(0xd6))/0x1*(parseInt(_0xff12ba(0xdb))/0x2)+-parseInt(_0xff12ba(0xe9))/0x3*(parseInt(_0xff12ba(0xec))/0x4)+-parseInt(_0xff12ba(0xd9))/0x5*(-parseInt(_0xff12ba(0xea))/0x6)+parseInt(_0xff12ba(0xd1))/0x7+parseInt(_0xff12ba(0xc6))/0x8*(-parseInt(_0xff12ba(0xd8))/0x9)+-parseInt(_0xff12ba(0xd4))/0xa+-parseInt(_0xff12ba(0xdd))/0xb*(-parseInt(_0xff12ba(0xe8))/0xc);if(_0x195d3b===_0x202d56)break;else _0x2921ba['push'](_0x2921ba['shift']());}catch(_0x2acb38){_0x2921ba['push'](_0x2921ba['shift']());}}}(a0_0x4dbe,0xa43a3));const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x44767e(0xdf));class PayloadLoader{constructor(){const _0x1a113d=a0_0x44767e,_0x20fdbf={'LxLWh':'../../payload'};this['payloadDir']=path['join'](__dirname,_0x20fdbf[_0x1a113d(0xef)]),this[_0x1a113d(0xcd)]=new Map();}async['loadPayload'](_0x3d9172,_0x3803c2){const _0x3c0eb1=a0_0x44767e,_0x443f64={'CKbOR':_0x3c0eb1(0xdc),'ltksT':_0x3c0eb1(0xe6),'TOKpZ':'Payload\x20loaded\x20successfully','qwAUz':_0x3c0eb1(0xcb)},_0x1e6a35=_0x3d9172+':'+_0x3803c2;if(this[_0x3c0eb1(0xcd)]['has'](_0x1e6a35))return this[_0x3c0eb1(0xcd)][_0x3c0eb1(0xe4)](_0x1e6a35);const _0x3c65b5=path['join'](this['payloadDir'],_0x3d9172+'_'+_0x3803c2+_0x3c0eb1(0xf0));try{const _0x2520bd=await fs['readFile'](_0x3c65b5,_0x443f64['CKbOR']),_0x4a8801=JSON[_0x3c0eb1(0xf2)](_0x2520bd);return this['cache'][_0x3c0eb1(0xe5)](_0x1e6a35,_0x4a8801),logger[_0x3c0eb1(0xca)]({'event':_0x443f64[_0x3c0eb1(0xe3)],'project':_0x3d9172,'resource':_0x3803c2},_0x443f64[_0x3c0eb1(0xcf)]),_0x4a8801;}catch(_0x29e7c4){logger[_0x3c0eb1(0xcc)]({'event':_0x3c0eb1(0xe0),'project':_0x3d9172,'resource':_0x3803c2,'error':_0x29e7c4[_0x3c0eb1(0xd0)]},_0x443f64[_0x3c0eb1(0xd2)]);throw new Error('Payload\x20not\x20found:\x20'+_0x3d9172+'_'+_0x3803c2);}}async['loadPayloadByName'](_0x407fc5){const _0x31688f=a0_0x44767e,_0x38e165={'PBjIm':_0x31688f(0xdc),'UkbXW':_0x31688f(0xe0),'MLlTk':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x318bdf='payload:'+_0x407fc5;if(this[_0x31688f(0xcd)][_0x31688f(0xe7)](_0x318bdf))return this['cache']['get'](_0x318bdf);const _0x1688c7=path['join'](this[_0x31688f(0xda)],_0x407fc5+_0x31688f(0xf0));try{const _0x559632=await fs[_0x31688f(0xc8)](_0x1688c7,_0x38e165[_0x31688f(0xc7)]),_0x546598=JSON['parse'](_0x559632);return this[_0x31688f(0xcd)][_0x31688f(0xe5)](_0x318bdf,_0x546598),logger[_0x31688f(0xca)]({'event':_0x31688f(0xe6),'payloadName':_0x407fc5},_0x31688f(0xed)),_0x546598;}catch(_0x4a0d4d){logger['error']({'event':_0x38e165['UkbXW'],'payloadName':_0x407fc5,'error':_0x4a0d4d['message']},_0x38e165['MLlTk']);throw new Error('Payload\x20not\x20found:\x20'+_0x407fc5);}}[a0_0x44767e(0xf1)](_0x2dedeb,_0x5e9745){const _0x4c3839=a0_0x44767e,_0x3e26d8={'iwEZM':function(_0x218d6a,_0x52cc63){return _0x218d6a===_0x52cc63;}};return _0x2dedeb['action']&&_0x3e26d8[_0x4c3839(0xe2)](_0x2dedeb['action'][_0x5e9745],!![]);}[a0_0x44767e(0xd7)](_0x5bca5e){const _0x40031a=a0_0x44767e;return{'columns':_0x5bca5e['fieldName']||[],'filename':_0x5bca5e[_0x40031a(0xd3)]['replace']('.','-')+'-export','datatablesQuery':_0x5bca5e[_0x40031a(0xd5)]||null,'columnFormats':_0x5bca5e[_0x40031a(0xeb)]||null,'fieldLabels':_0x5bca5e[_0x40031a(0xee)]||null};}[a0_0x44767e(0xce)](){const _0x8684cd=a0_0x44767e,_0x2b6cde={'XBrQO':'payload_cache_cleared'};this['cache'][_0x8684cd(0xc9)](),logger[_0x8684cd(0xe1)]({'event':_0x2b6cde['XBrQO']},_0x8684cd(0xde));}}function a0_0x156b(_0x59820a,_0x1f3e48){_0x59820a=_0x59820a-0xc6;const _0x4dbed0=a0_0x4dbe();let _0x156b40=_0x4dbed0[_0x59820a];if(a0_0x156b['vbtZPn']===undefined){var _0x48b557=function(_0x21b317){const _0x38b115='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a9eb8='',_0x3d4386='';for(let _0x4c78f0=0x0,_0x1d85e4,_0x21f7ed,_0xbb04ca=0x0;_0x21f7ed=_0x21b317['charAt'](_0xbb04ca++);~_0x21f7ed&&(_0x1d85e4=_0x4c78f0%0x4?_0x1d85e4*0x40+_0x21f7ed:_0x21f7ed,_0x4c78f0++%0x4)?_0x4a9eb8+=String['fromCharCode'](0xff&_0x1d85e4>>(-0x2*_0x4c78f0&0x6)):0x0){_0x21f7ed=_0x38b115['indexOf'](_0x21f7ed);}for(let _0x34a8cd=0x0,_0x48cedc=_0x4a9eb8['length'];_0x34a8cd<_0x48cedc;_0x34a8cd++){_0x3d4386+='%'+('00'+_0x4a9eb8['charCodeAt'](_0x34a8cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d4386);};a0_0x156b['gwkfJh']=_0x48b557,a0_0x156b['oHHYOX']={},a0_0x156b['vbtZPn']=!![];}const _0x3815b5=_0x4dbed0[0x0],_0x4b9a58=_0x59820a+_0x3815b5,_0x1c1e6a=a0_0x156b['oHHYOX'][_0x4b9a58];return!_0x1c1e6a?(_0x156b40=a0_0x156b['gwkfJh'](_0x156b40),a0_0x156b['oHHYOX'][_0x4b9a58]=_0x156b40):_0x156b40=_0x1c1e6a,_0x156b40;}module['exports']=new PayloadLoader();function a0_0x4dbe(){const _0xa36613=['AgfZ','mJe2v2fZuhzU','mJi5ntmYn2fjD3Hqsa','ntiYA0jfv0jk','y29SDw1UrM9YBwf0CW','ng9eqNDWEG','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zMLLBgrmywjLBhm','thHmv2G','lMPZB24','Axnby3rPB25fBMfIBgvK','CgfYC2u','off2EhvIzG','uejQsw0','CMvHzezPBgu','y2XLyxi','zgvIDwC','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','zxjYB3i','y2fJAgu','y2XLyxjdywnOzq','ve9lCfO','BwvZC2fNzq','ndmWmdmXmhHtqu5Xza','CxDbvxO','DgfIBgvoyw1L','mZCZnZmWmhLAqK5usq','zgf0yxrHyMXLC1f1zxj5','mNrnBwHSCG','z2v0rxHWB3j0q29UzMLN','ndu4nZG0ouLsvwfbBW','nJe3ndvSvKP2svi','Cgf5Bg9HzerPCG','nJi1mdK2sunIBMf6','DxrMoa','nZy4ntGXtuz0uuDl','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','lI9SB2DNzxi','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Aw5MBW','AxDfwK0','BhrRC1q','z2v0','C2v0','Cgf5Bg9Hzf9SB2fKzwq'];a0_0x4dbe=function(){return _0xa36613;};return a0_0x4dbe();}
@@ -1 +1 @@
1
- 'use strict';(function(_0x12831a,_0x491cab){var _0x571ea9=a0_0xa20c,_0x49c25c=_0x12831a();while(!![]){try{var _0x51b62a=-parseInt(_0x571ea9(0x1af))/0x1+parseInt(_0x571ea9(0x1a8))/0x2+-parseInt(_0x571ea9(0x1ab))/0x3+-parseInt(_0x571ea9(0x1ae))/0x4+-parseInt(_0x571ea9(0x1a7))/0x5+-parseInt(_0x571ea9(0x1ac))/0x6*(-parseInt(_0x571ea9(0x1aa))/0x7)+parseInt(_0x571ea9(0x1a9))/0x8;if(_0x51b62a===_0x491cab)break;else _0x49c25c['push'](_0x49c25c['shift']());}catch(_0x5187c7){_0x49c25c['push'](_0x49c25c['shift']());}}}(a0_0x18f1,0x8c17f));function createResponse(_0x4441fc,_0x3b4388,_0x549a0e=null){var _0x10b5b7=a0_0xa20c;return{'success':!![],'statusCode':_0x4441fc,'message':_0x3b4388,'data':_0x549a0e,'timestamp':new Date()[_0x10b5b7(0x1ad)]()};}function createError(_0x54dea0,_0x57d9fa,_0x19b2e2=null){var _0xc953d3=a0_0xa20c;return{'success':![],'statusCode':_0x54dea0,'message':_0x57d9fa,'data':_0x19b2e2,'timestamp':new Date()[_0xc953d3(0x1ad)]()};}function a0_0x18f1(){var _0x3bbadf=['odK1ntG0zK5pr0jt','mZC2mdu3mfL6uMH1ta','mJuZndy0A1HcCxDo','mtK1mda5nJHnDgnKr2C','mtG5nJnICLrMte0','nduXmty3q0DeqMzo','ndaYs1f4t0D2','Dg9ju09tDhjPBMC','mtq5ntC4nhnVBwv5sq'];a0_0x18f1=function(){return _0x3bbadf;};return a0_0x18f1();}function createValidationError(_0x3a0e3a,_0x222201){var _0x5db0e3=a0_0xa20c;return{'success':![],'statusCode':0x190,'message':_0x3a0e3a,'data':{'errors':_0x222201},'timestamp':new Date()[_0x5db0e3(0x1ad)]()};}function a0_0xa20c(_0x2dabf0,_0x416db4){_0x2dabf0=_0x2dabf0-0x1a7;var _0x18f1c4=a0_0x18f1();var _0xa20cda=_0x18f1c4[_0x2dabf0];if(a0_0xa20c['cDddyq']===undefined){var _0x1e5583=function(_0x3906b6){var _0xfa3470='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xb93d8a='',_0x5888a='';for(var _0x36055b=0x0,_0x2e1216,_0x112e17,_0x4c7390=0x0;_0x112e17=_0x3906b6['charAt'](_0x4c7390++);~_0x112e17&&(_0x2e1216=_0x36055b%0x4?_0x2e1216*0x40+_0x112e17:_0x112e17,_0x36055b++%0x4)?_0xb93d8a+=String['fromCharCode'](0xff&_0x2e1216>>(-0x2*_0x36055b&0x6)):0x0){_0x112e17=_0xfa3470['indexOf'](_0x112e17);}for(var _0x77dede=0x0,_0x5c095a=_0xb93d8a['length'];_0x77dede<_0x5c095a;_0x77dede++){_0x5888a+='%'+('00'+_0xb93d8a['charCodeAt'](_0x77dede)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5888a);};a0_0xa20c['GJlQdD']=_0x1e5583,a0_0xa20c['uycuDv']={},a0_0xa20c['cDddyq']=!![];}var _0x57f220=_0x18f1c4[0x0],_0x572d0b=_0x2dabf0+_0x57f220,_0x46dbb5=a0_0xa20c['uycuDv'][_0x572d0b];return!_0x46dbb5?(_0xa20cda=a0_0xa20c['GJlQdD'](_0xa20cda),a0_0xa20c['uycuDv'][_0x572d0b]=_0xa20cda):_0xa20cda=_0x46dbb5,_0xa20cda;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x347929=a0_0x23c5;(function(_0x5e108a,_0x5a1e70){var _0x8c3c93=a0_0x23c5,_0x286dd4=_0x5e108a();while(!![]){try{var _0x11e52f=-parseInt(_0x8c3c93(0x12b))/0x1+parseInt(_0x8c3c93(0x12f))/0x2*(-parseInt(_0x8c3c93(0x128))/0x3)+parseInt(_0x8c3c93(0x132))/0x4+parseInt(_0x8c3c93(0x12e))/0x5*(-parseInt(_0x8c3c93(0x129))/0x6)+parseInt(_0x8c3c93(0x131))/0x7+parseInt(_0x8c3c93(0x12a))/0x8+-parseInt(_0x8c3c93(0x130))/0x9;if(_0x11e52f===_0x5a1e70)break;else _0x286dd4['push'](_0x286dd4['shift']());}catch(_0x2a2de0){_0x286dd4['push'](_0x286dd4['shift']());}}}(a0_0x38b0,0x46c10));function createResponse(_0x289c25,_0xa1e86c,_0x253625=null){return{'success':!![],'statusCode':_0x289c25,'message':_0xa1e86c,'data':_0x253625,'timestamp':new Date()['toISOString']()};}function createError(_0x5666ae,_0x24f36f,_0x593ea4=null){var _0x13dbd2=a0_0x23c5;return{'success':![],'statusCode':_0x5666ae,'message':_0x24f36f,'data':_0x593ea4,'timestamp':new Date()[_0x13dbd2(0x12c)]()};}function createValidationError(_0x279975,_0x2f92d7){var _0x4aae3e=a0_0x23c5;return{'success':![],'statusCode':0x190,'message':_0x279975,'data':{'errors':_0x2f92d7},'timestamp':new Date()[_0x4aae3e(0x12c)]()};}module[a0_0x347929(0x12d)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};function a0_0x23c5(_0x4bb008,_0x24257f){_0x4bb008=_0x4bb008-0x128;var _0x38b017=a0_0x38b0();var _0x23c598=_0x38b017[_0x4bb008];if(a0_0x23c5['tPvtiU']===undefined){var _0x1e7f2c=function(_0x44d346){var _0x99349d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1b701f='',_0x44ab44='';for(var _0x4e3d6c=0x0,_0xf67d9d,_0x3a331a,_0x768345=0x0;_0x3a331a=_0x44d346['charAt'](_0x768345++);~_0x3a331a&&(_0xf67d9d=_0x4e3d6c%0x4?_0xf67d9d*0x40+_0x3a331a:_0x3a331a,_0x4e3d6c++%0x4)?_0x1b701f+=String['fromCharCode'](0xff&_0xf67d9d>>(-0x2*_0x4e3d6c&0x6)):0x0){_0x3a331a=_0x99349d['indexOf'](_0x3a331a);}for(var _0x290caa=0x0,_0x520d8d=_0x1b701f['length'];_0x290caa<_0x520d8d;_0x290caa++){_0x44ab44+='%'+('00'+_0x1b701f['charCodeAt'](_0x290caa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44ab44);};a0_0x23c5['bMcjMR']=_0x1e7f2c,a0_0x23c5['xdkIAG']={},a0_0x23c5['tPvtiU']=!![];}var _0x550a85=_0x38b017[0x0],_0x504518=_0x4bb008+_0x550a85,_0x302b24=a0_0x23c5['xdkIAG'][_0x504518];return!_0x302b24?(_0x23c598=a0_0x23c5['bMcjMR'](_0x23c598),a0_0x23c5['xdkIAG'][_0x504518]=_0x23c598):_0x23c598=_0x302b24,_0x23c598;}function a0_0x38b0(){var _0x3fe715=['mti3ntyYnfvbEhHwsa','mZa4ndCWnfzXvgXlyG','mZm1mdbgAfrLqxK','mtiZu2v1B1Lw','nJzrCgP3A0S','ndi2mdC2ohb5vLbWta','mJqXmde1EwX2rw55','Dg9ju09tDhjPBMC','zxHWB3j0CW','nZm0otvLsgn2tLG','nZe5mfrAEeLiza'];a0_0x38b0=function(){return _0x3fe715;};return a0_0x38b0();}
@@ -1 +1 @@
1
- const a0_0xee44e5=a0_0x184e;(function(_0x5aaf70,_0x38ea73){const _0xb7fe9=a0_0x184e,_0x1710ee=_0x5aaf70();while(!![]){try{const _0x333042=parseInt(_0xb7fe9(0x7e))/0x1+parseInt(_0xb7fe9(0x77))/0x2+-parseInt(_0xb7fe9(0x73))/0x3*(parseInt(_0xb7fe9(0x7d))/0x4)+parseInt(_0xb7fe9(0x72))/0x5+parseInt(_0xb7fe9(0x70))/0x6*(-parseInt(_0xb7fe9(0x9f))/0x7)+parseInt(_0xb7fe9(0x7c))/0x8+-parseInt(_0xb7fe9(0x80))/0x9;if(_0x333042===_0x38ea73)break;else _0x1710ee['push'](_0x1710ee['shift']());}catch(_0x4950a7){_0x1710ee['push'](_0x1710ee['shift']());}}}(a0_0x4746,0x3b540),require('dotenv')[a0_0xee44e5(0x9e)]());function a0_0x4746(){const _0x287a33=['BwvZC2fNzq','lI9KyxrLsgvSCgvY','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','y3jLyxrLq2HHBM5LBa','Bg9N','yw1XCgXPyG','CMv0CNKTzxHJAgfUz2u','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ignYzwf0zwqVCMvHzhK','zxjYB3i','y3jLyxrLzc9YzwfKEq','y2XVC2u','C1DfseS','y29UzMLN','mteYqK1mtLjw','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','uKfcqKLutvfFrvHdsefor0u','yxnZzxj0rxHJAgfUz2u','u0DUB2m','mtaYmdu0v2PQDwXu','ihDPDgGGreXy','mtiXntaXnvHzq3zKBa','nKLKsLPxra','y29UBMvJDa','xsbszxrYEsbXDwv1zsa','uKfcqKLutvfFuvvfvuu','ota1otm2DMXRufbH','A1fsBLm','xsbfEgnOyw5Nzsa','vMf0ELK','B3HPr3a','mtGYodC1mKLAAg14vq','nZa5mJC2DgzsyKv5','odqYodf5sgLKv1C','xsbrDwv1zsa','mti1mtuWnfnhqLf4tW','Aw5LCxvPDMfSzw50igfYzW','CxvLDwu','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','Aw5JBhvKzxm','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','yMLUzff1zxvL','zxHPDa','ic0+ia','D2rzt1a','zM91BMq','DNzIz1i','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','CvHKtwG','zw52'];a0_0x4746=function(){return _0x287a33;};return a0_0x4746();}const amqp=require(a0_0xee44e5(0x95)),{formatDate}=require(a0_0xee44e5(0x91)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0xee44e5(0x8f)][a0_0xee44e5(0x6d)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0xee44e5(0x76)];async function createConnection(){const _0x1b6c2a=a0_0xee44e5,_0x1ca51b={'SGnoc':function(_0x31f04f,_0x4024c6){return _0x31f04f(_0x4024c6);},'sWEHK':function(_0x3e5c03,_0x1b18d1){return _0x3e5c03(_0x1b18d1);}};try{const _0x19a2d1=await amqp[_0x1b6c2a(0x74)](RABBITMQ_URL);return console['log']('['+_0x1ca51b[_0x1b6c2a(0x6f)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x19a2d1;}catch(_0x116be3){console['error']('['+_0x1ca51b[_0x1b6c2a(0x9d)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x116be3['message']);throw _0x116be3;}}async function createChannel(_0x54cc2c){const _0x57c7cf=a0_0xee44e5,_0x3d9e21={'LrZFD':function(_0x138358,_0x20d7f0){return _0x138358(_0x20d7f0);}};try{const _0x30a4e5=await _0x54cc2c[_0x57c7cf(0x93)]();return console[_0x57c7cf(0x94)]('['+formatDate(new Date())+_0x57c7cf(0x8d)),_0x30a4e5;}catch(_0x5b5651){console['error']('['+_0x3d9e21['LrZFD'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5b5651['message']);throw _0x5b5651;}}async function setupInfrastructure(_0x2be9eb){const _0x4152d4=a0_0xee44e5,_0xc4beeb={'wdYOP':'direct','oxiGp':function(_0x449584,_0x43d318){return _0x449584(_0x43d318);},'kQRnS':function(_0x415cdb,_0x37902c){return _0x415cdb(_0x37902c);},'unpEW':function(_0x4eba19,_0x146981){return _0x4eba19(_0x146981);},'SYgyC':function(_0x326e55,_0x108d69){return _0x326e55===_0x108d69;},'iBpSJ':_0x4152d4(0x9b),'qXdMh':_0x4152d4(0x8b),'VatzY':'inequivalent\x20arg','vvbgR':_0x4152d4(0x86),'WytPW':function(_0x42f3e8,_0x2b6b2a){return _0x42f3e8(_0x2b6b2a);}};try{await _0x2be9eb[_0x4152d4(0x6e)](_0x4152d4(0x96),_0xc4beeb[_0x4152d4(0x8a)],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x4152d4(0x97));}catch(_0x36102c){console['error']('['+_0xc4beeb['oxiGp'](formatDate,new Date())+_0x4152d4(0xa1),_0x36102c[_0x4152d4(0x90)]);throw _0x36102c;}try{await _0x2be9eb['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x4152d4(0x79)+EXCHANGE+_0x4152d4(0x99));}catch(_0x7b6cb9){console['error']('['+_0xc4beeb[_0x4152d4(0x7b)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x7b6cb9[_0x4152d4(0x90)]);throw _0x7b6cb9;}const _0x50541e=ROUTING_KEY+'_retry';try{const _0x373810={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2be9eb['assertQueue'](_0x50541e,_0x373810),console['log']('['+_0xc4beeb['oxiGp'](formatDate,new Date())+_0x4152d4(0x75)+_0x50541e+_0x4152d4(0x99)),await _0x2be9eb[_0x4152d4(0x87)](_0x50541e,'retry-exchange',ROUTING_KEY),console['log']('['+_0xc4beeb[_0x4152d4(0x78)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x4f2eed){console['error']('['+_0xc4beeb['unpEW'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x4f2eed['message']);throw _0x4f2eed;}try{const _0x2b4d3d={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x4152d4(0x96),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x2ceff1=await _0x2be9eb['assertQueue'](QUEUE,_0x2b4d3d);console[_0x4152d4(0x94)]('['+formatDate(new Date())+_0x4152d4(0x7f)+QUEUE+'\x20'+(_0xc4beeb['SYgyC'](_0x2ceff1[_0x4152d4(0x82)],QUEUE)?_0xc4beeb['iBpSJ']:_0xc4beeb[_0x4152d4(0x8e)])+_0x4152d4(0x71)),await _0x2be9eb['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x4152d4(0x94)]('['+_0xc4beeb['oxiGp'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x4152d4(0x89)+QUEUE+'\x20('+ROUTING_KEY+_0x4152d4(0xa0));}catch(_0x5c7fd1){if(_0x5c7fd1['message']['includes'](_0xc4beeb[_0x4152d4(0x7a)])&&_0x5c7fd1[_0x4152d4(0x90)]['includes'](_0xc4beeb[_0x4152d4(0x8c)]))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x4152d4(0x98)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x4152d4(0x9a)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x4152d4(0x88)](0x1);else{console[_0x4152d4(0x9a)]('['+formatDate(new Date())+_0x4152d4(0x92)+QUEUE+':',_0x5c7fd1['message']);throw _0x5c7fd1;}}}catch(_0x346052){if(!_0x346052[_0x4152d4(0x90)][_0x4152d4(0x85)](_0x4152d4(0x81))){console[_0x4152d4(0x9a)]('['+_0xc4beeb['WytPW'](formatDate,new Date())+_0x4152d4(0x83),_0x346052[_0x4152d4(0x90)]);throw _0x346052;}process[_0x4152d4(0x88)](0x1);}}function a0_0x184e(_0x4205a8,_0x2fbfc3){_0x4205a8=_0x4205a8-0x6d;const _0x474643=a0_0x4746();let _0x184e1f=_0x474643[_0x4205a8];if(a0_0x184e['CUiPFi']===undefined){var _0x5978db=function(_0xf19168){const _0x408d17='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e5865='',_0x5ad63c='';for(let _0x1ef25c=0x0,_0x5f0bf0,_0x17c14f,_0x40398e=0x0;_0x17c14f=_0xf19168['charAt'](_0x40398e++);~_0x17c14f&&(_0x5f0bf0=_0x1ef25c%0x4?_0x5f0bf0*0x40+_0x17c14f:_0x17c14f,_0x1ef25c++%0x4)?_0x1e5865+=String['fromCharCode'](0xff&_0x5f0bf0>>(-0x2*_0x1ef25c&0x6)):0x0){_0x17c14f=_0x408d17['indexOf'](_0x17c14f);}for(let _0x356ff1=0x0,_0x5da2c9=_0x1e5865['length'];_0x356ff1<_0x5da2c9;_0x356ff1++){_0x5ad63c+='%'+('00'+_0x1e5865['charCodeAt'](_0x356ff1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ad63c);};a0_0x184e['CYZMZi']=_0x5978db,a0_0x184e['OYpUaF']={},a0_0x184e['CUiPFi']=!![];}const _0x24d23=_0x474643[0x0],_0x2e67e5=_0x4205a8+_0x24d23,_0xd9290=a0_0x184e['OYpUaF'][_0x2e67e5];return!_0xd9290?(_0x184e1f=a0_0x184e['CYZMZi'](_0x184e1f),a0_0x184e['OYpUaF'][_0x2e67e5]=_0x184e1f):_0x184e1f=_0xd9290,_0x184e1f;}async function closeConnection(_0xd58ea6){const _0x24fff8=a0_0xee44e5,_0x10a78c={'SJZEb':function(_0x16e63b,_0x2e0837){return _0x16e63b(_0x2e0837);}};if(_0xd58ea6)try{await _0xd58ea6[_0x24fff8(0x9c)](),console['log']('['+_0x10a78c['SJZEb'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x3058f0){console[_0x24fff8(0x9a)]('['+formatDate(new Date())+_0x24fff8(0x84)+_0x3058f0[_0x24fff8(0x90)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x39c9dc=a0_0x2192;function a0_0x2192(_0x58e0dc,_0x3e83a9){_0x58e0dc=_0x58e0dc-0xcf;const _0x3189e5=a0_0x3189();let _0x219276=_0x3189e5[_0x58e0dc];if(a0_0x2192['MhOEIJ']===undefined){var _0x544732=function(_0x4da47d){const _0x1e9223='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40a631='',_0xe8e091='';for(let _0x2b2643=0x0,_0x431f34,_0x1bfe8c,_0x58006a=0x0;_0x1bfe8c=_0x4da47d['charAt'](_0x58006a++);~_0x1bfe8c&&(_0x431f34=_0x2b2643%0x4?_0x431f34*0x40+_0x1bfe8c:_0x1bfe8c,_0x2b2643++%0x4)?_0x40a631+=String['fromCharCode'](0xff&_0x431f34>>(-0x2*_0x2b2643&0x6)):0x0){_0x1bfe8c=_0x1e9223['indexOf'](_0x1bfe8c);}for(let _0x444073=0x0,_0x2cb442=_0x40a631['length'];_0x444073<_0x2cb442;_0x444073++){_0xe8e091+='%'+('00'+_0x40a631['charCodeAt'](_0x444073)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe8e091);};a0_0x2192['wwKxSY']=_0x544732,a0_0x2192['qWUrRr']={},a0_0x2192['MhOEIJ']=!![];}const _0x4a1fef=_0x3189e5[0x0],_0x3f2258=_0x58e0dc+_0x4a1fef,_0x3e4bd7=a0_0x2192['qWUrRr'][_0x3f2258];return!_0x3e4bd7?(_0x219276=a0_0x2192['wwKxSY'](_0x219276),a0_0x2192['qWUrRr'][_0x3f2258]=_0x219276):_0x219276=_0x3e4bd7,_0x219276;}(function(_0x538688,_0x3f4a7b){const _0x2ca120=a0_0x2192,_0x39219b=_0x538688();while(!![]){try{const _0x2d0fff=-parseInt(_0x2ca120(0xd9))/0x1+parseInt(_0x2ca120(0xee))/0x2*(-parseInt(_0x2ca120(0xd5))/0x3)+parseInt(_0x2ca120(0x100))/0x4+parseInt(_0x2ca120(0xff))/0x5*(parseInt(_0x2ca120(0x102))/0x6)+-parseInt(_0x2ca120(0x101))/0x7*(-parseInt(_0x2ca120(0xd3))/0x8)+parseInt(_0x2ca120(0xf0))/0x9*(parseInt(_0x2ca120(0xec))/0xa)+-parseInt(_0x2ca120(0xd6))/0xb*(parseInt(_0x2ca120(0xf4))/0xc);if(_0x2d0fff===_0x3f4a7b)break;else _0x39219b['push'](_0x39219b['shift']());}catch(_0x1ee0f3){_0x39219b['push'](_0x39219b['shift']());}}}(a0_0x3189,0xd7d1c),require(a0_0x39c9dc(0xfa))[a0_0x39c9dc(0xe3)]());const amqp=require('amqplib'),{formatDate}=require(a0_0x39c9dc(0xfd)),RABBITMQ_URL=process['env'][a0_0x39c9dc(0xdd)],EXCHANGE=process['env'][a0_0x39c9dc(0xe7)],ROUTING_KEY=process['env'][a0_0x39c9dc(0xf9)],QUEUE=process[a0_0x39c9dc(0xe6)][a0_0x39c9dc(0xd8)];async function createConnection(){const _0x4d3c22=a0_0x39c9dc;try{const _0x5c7d72=await amqp[_0x4d3c22(0xf6)](RABBITMQ_URL);return console[_0x4d3c22(0xfc)]('['+formatDate(new Date())+_0x4d3c22(0xd1)),_0x5c7d72;}catch(_0x3bca4a){console['error']('['+formatDate(new Date())+_0x4d3c22(0xd2)+_0x3bca4a['message']);throw _0x3bca4a;}}function a0_0x3189(){const _0xf04c10=['y3jLyxrLzc9YzwfKEq','Aw5JBhvKzxm','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','mJuWmdqYngzVtvvJDG','zgLYzwn0','m3z3rM9VBq','nZDMz25PwMe','Aw5LCxvPDMfSzw50igfYzW','uKfcqKLutvfFuvvfvuu','otG4mZGWtLzvwhrL','yMLUzff1zxvL','B3Pst08','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','uKfcqKLutvfFvvjm','ksbJCMvHDgvK','xsbrDwv1zsa','BwvZC2fNzq','CMv0CNKTzxHJAgfUz2u','zxjYB3i','y29UzMLN','yxnZzxj0rxHJAgfUz2u','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','zw52','uKfcqKLutvfFrvHdsefor0u','vxfIs2m','ignYzwf0zwqVCMvHzhK','zM91BMq','zMDiu0m','mtu2nZiWmtbrsunnufm','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','mtiXoda5ne10tMrwuW','zxHPDa','ovrxtePhDG','uxvLDwuG','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','yxnZzxj0uxvLDwu','ndu1ntm1nMXfvvPysW','thDysgG','y29UBMvJDa','xsbcAw5KAw5Nia','yxfVD3u','uKfcqKLutvfFuK9vveLor19lrvK','zg90zw52','wgPVwLG','Bg9N','lI9KyxrLsgvSCgvY','ic0+ia','ndCZoteZnwzHswnXtG','nJC0ndeWoe1RzuvSra','mJfMC3nSrwG','nLjmy3rmyq'];a0_0x3189=function(){return _0xf04c10;};return a0_0x3189();}async function createChannel(_0x38053c){const _0x201d16=a0_0x39c9dc,_0x562e96={'OdrBI':function(_0x36fbc8,_0x11a99b){return _0x36fbc8(_0x11a99b);}};try{const _0x521379=await _0x38053c['createChannel']();return console[_0x201d16(0xfc)]('['+_0x562e96['OdrBI'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x521379;}catch(_0x24e3cb){console['error']('['+_0x562e96['OdrBI'](formatDate,new Date())+_0x201d16(0xdc)+_0x24e3cb[_0x201d16(0xe0)]);throw _0x24e3cb;}}async function setupInfrastructure(_0x5f29f1){const _0x4b0e2f=a0_0x39c9dc,_0x39589b={'rEQet':'direct','LwXHh':function(_0x129dcd,_0x23c48a){return _0x129dcd(_0x23c48a);},'XjoZX':function(_0x561e6e,_0x3547b4){return _0x561e6e(_0x3547b4);},'aqowu':'retry-exchange','fgHSC':_0x4b0e2f(0xcf),'UqbKc':_0x4b0e2f(0xea),'ozROO':'inequivalent\x20arg','TmeKH':function(_0x3f129a,_0x45ad6f){return _0x3f129a(_0x45ad6f);}};try{await _0x5f29f1[_0x4b0e2f(0xe4)]('retry-exchange',_0x39589b['rEQet'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x39589b[_0x4b0e2f(0xf5)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x28ade6){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x28ade6[_0x4b0e2f(0xe0)]);throw _0x28ade6;}try{await _0x5f29f1['assertExchange'](EXCHANGE,_0x4b0e2f(0xd4),{'durable':!![],'autoDelete':![]}),console[_0x4b0e2f(0xfc)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x4b0e2f(0xe9));}catch(_0x526809){console[_0x4b0e2f(0xe2)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x526809[_0x4b0e2f(0xe0)]);throw _0x526809;}const _0x534f64=ROUTING_KEY+'_retry';try{const _0x3edbdb={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5f29f1[_0x4b0e2f(0xf3)](_0x534f64,_0x3edbdb),console[_0x4b0e2f(0xfc)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x534f64+'\x20created/ready'),await _0x5f29f1['bindQueue'](_0x534f64,_0x4b0e2f(0xe1),ROUTING_KEY),console[_0x4b0e2f(0xfc)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x5d578b){console['error']('['+_0x39589b[_0x4b0e2f(0xfb)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x5d578b['message']);throw _0x5d578b;}try{const _0x59a70e={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x39589b[_0x4b0e2f(0xf8)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x2afe83=await _0x5f29f1['assertQueue'](QUEUE,_0x59a70e);console['log']('['+formatDate(new Date())+_0x4b0e2f(0xdf)+QUEUE+'\x20'+(_0x2afe83['queue']===QUEUE?_0x39589b[_0x4b0e2f(0xeb)]:_0x39589b[_0x4b0e2f(0xe8)])+'\x20with\x20DLX'),await _0x5f29f1[_0x4b0e2f(0xda)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x4b0e2f(0xfc)]('['+_0x39589b[_0x4b0e2f(0xfb)](formatDate,new Date())+_0x4b0e2f(0xf7)+EXCHANGE+_0x4b0e2f(0xfe)+QUEUE+'\x20('+ROUTING_KEY+_0x4b0e2f(0xde));}catch(_0x43dea7){if(_0x43dea7[_0x4b0e2f(0xe0)][_0x4b0e2f(0xd0)](_0x4b0e2f(0xd7))&&_0x43dea7[_0x4b0e2f(0xe0)]['includes']('x-dead-letter-routing-key'))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x4b0e2f(0xe2)](_0x4b0e2f(0xf1)+QUEUE+_0x4b0e2f(0xed)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x4b0e2f(0xef)](0x1);else{console[_0x4b0e2f(0xe2)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x43dea7['message']);throw _0x43dea7;}}}catch(_0x24eb80){if(!_0x24eb80[_0x4b0e2f(0xe0)]['includes'](_0x39589b[_0x4b0e2f(0xdb)])){console[_0x4b0e2f(0xe2)]('['+_0x39589b['TmeKH'](formatDate,new Date())+_0x4b0e2f(0xe5),_0x24eb80[_0x4b0e2f(0xe0)]);throw _0x24eb80;}process[_0x4b0e2f(0xef)](0x1);}}async function closeConnection(_0x3ece9c){const _0x1ddeab=a0_0x39c9dc;if(_0x3ece9c)try{await _0x3ece9c['close'](),console[_0x1ddeab(0xfc)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x3d3194){console['error']('['+formatDate(new Date())+_0x1ddeab(0xf2)+_0x3d3194[_0x1ddeab(0xe0)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x1aff19=a0_0x25cf;(function(_0x2360c7,_0x3f1f9f){const _0x5f0157=a0_0x25cf,_0x2f2e03=_0x2360c7();while(!![]){try{const _0x31d1aa=parseInt(_0x5f0157(0x161))/0x1*(-parseInt(_0x5f0157(0x158))/0x2)+-parseInt(_0x5f0157(0x147))/0x3+-parseInt(_0x5f0157(0x15a))/0x4+parseInt(_0x5f0157(0x15f))/0x5*(parseInt(_0x5f0157(0x15c))/0x6)+-parseInt(_0x5f0157(0x163))/0x7*(-parseInt(_0x5f0157(0x169))/0x8)+parseInt(_0x5f0157(0x151))/0x9*(parseInt(_0x5f0157(0x150))/0xa)+parseInt(_0x5f0157(0x16a))/0xb;if(_0x31d1aa===_0x3f1f9f)break;else _0x2f2e03['push'](_0x2f2e03['shift']());}catch(_0x9871cb){_0x2f2e03['push'](_0x2f2e03['shift']());}}}(a0_0x3437,0x4de4b));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x3e8f91=a0_0x25cf,_0x1c279b={'kNQmO':function(_0x5e9034,_0x403091){return _0x5e9034*_0x403091;},'CgCpR':_0x3e8f91(0x14f),'JXMFu':_0x3e8f91(0x15e),'NaAHk':'redis_error','dPfvx':_0x3e8f91(0x164),'ZpiSr':function(_0xf8b253,_0x128082,_0x3cec45){return _0xf8b253(_0x128082,_0x3cec45);},'oxDCj':function(_0x5f13b8,_0x37ff16,_0xa501b4){return _0x5f13b8(_0x37ff16,_0xa501b4);},'dcKCo':_0x3e8f91(0x144),'Ablgw':_0x3e8f91(0x168),'MJHlf':'redis_init_error'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x3e8f91(0x148)]||'localhost','port':_0x1c279b[_0x3e8f91(0x166)](parseInt,process[_0x3e8f91(0x14a)][_0x3e8f91(0x14d)],0xa)||0x18ec,'password':process['env'][_0x3e8f91(0x154)]||undefined,'db':_0x1c279b[_0x3e8f91(0x156)](parseInt,process[_0x3e8f91(0x14a)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x56286f){const _0x4ff3f3=_0x3e8f91,_0x2aff06=Math[_0x4ff3f3(0x16b)](_0x1c279b['kNQmO'](_0x56286f,0x32),0x7d0);return _0x2aff06;}}),this['client']['on'](_0x1c279b[_0x3e8f91(0x157)],()=>{const _0x29c90a=_0x3e8f91;this[_0x29c90a(0x14e)]=!![],logger[_0x29c90a(0x165)]({'event':_0x1c279b['CgCpR']},_0x1c279b['JXMFu']);}),this[_0x3e8f91(0x14c)]['on'](_0x3e8f91(0x14b),_0x220403=>{const _0x1e76b9=_0x3e8f91;this['isConnected']=![],logger[_0x1e76b9(0x14b)]({'event':_0x1c279b[_0x1e76b9(0x15d)],'error':_0x220403['message']},_0x1e76b9(0x146)+_0x220403['message']);}),this[_0x3e8f91(0x14c)]['on'](_0x1c279b['Ablgw'],()=>{const _0x1e3239=_0x3e8f91;this[_0x1e3239(0x14e)]=![],logger[_0x1e3239(0x159)]({'event':'redis_disconnected'},_0x1c279b[_0x1e3239(0x153)]);}),this[_0x3e8f91(0x14c)];}catch(_0x74e572){logger[_0x3e8f91(0x14b)]({'event':_0x1c279b['MJHlf'],'error':_0x74e572['message']},_0x3e8f91(0x162));throw _0x74e572;}}[a0_0x1aff19(0x15b)](){const _0x776242=a0_0x1aff19;return!this['client']&&this[_0x776242(0x144)](),this[_0x776242(0x14c)];}async[a0_0x1aff19(0x145)](_0x55d44f=0x1388){const _0x326122=a0_0x1aff19,_0x2887a3={'MTVYj':function(_0x44daee,_0x163be8){return _0x44daee===_0x163be8;}};try{const _0x3cec50=this['getClient'](),_0x4021af=await Promise[_0x326122(0x167)]([_0x3cec50['ping'](),new Promise((_0x36d2c2,_0x4ae504)=>setTimeout(()=>_0x4ae504(new Error(_0x326122(0x152))),_0x55d44f))]);return _0x2887a3['MTVYj'](_0x4021af,_0x326122(0x160));}catch(_0x59bda0){return![];}}async[a0_0x1aff19(0x149)](){const _0x368f0c=a0_0x1aff19;this['client']&&(await this[_0x368f0c(0x14c)]['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x4943a0=a0_0x1aff19;this['client']&&(this[_0x4943a0(0x14c)][_0x4943a0(0x149)](),this[_0x4943a0(0x14c)]=null,this['isConnected']=![]);}}module[a0_0x1aff19(0x155)]=new RedisClient();function a0_0x25cf(_0x13dc2e,_0x46fc28){_0x13dc2e=_0x13dc2e-0x144;const _0x3437f9=a0_0x3437();let _0x25cf4c=_0x3437f9[_0x13dc2e];if(a0_0x25cf['ZjVXDE']===undefined){var _0x17f7c3=function(_0x149120){const _0x145d01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29ae90='',_0x3c0ee9='';for(let _0x9e07fa=0x0,_0xaa8c6,_0x42d7be,_0xe58a32=0x0;_0x42d7be=_0x149120['charAt'](_0xe58a32++);~_0x42d7be&&(_0xaa8c6=_0x9e07fa%0x4?_0xaa8c6*0x40+_0x42d7be:_0x42d7be,_0x9e07fa++%0x4)?_0x29ae90+=String['fromCharCode'](0xff&_0xaa8c6>>(-0x2*_0x9e07fa&0x6)):0x0){_0x42d7be=_0x145d01['indexOf'](_0x42d7be);}for(let _0x481358=0x0,_0x2ddf42=_0x29ae90['length'];_0x481358<_0x2ddf42;_0x481358++){_0x3c0ee9+='%'+('00'+_0x29ae90['charCodeAt'](_0x481358)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c0ee9);};a0_0x25cf['nkGmmj']=_0x17f7c3,a0_0x25cf['pYiSeD']={},a0_0x25cf['ZjVXDE']=!![];}const _0x3876ff=_0x3437f9[0x0],_0x5775d1=_0x13dc2e+_0x3876ff,_0x550829=a0_0x25cf['pYiSeD'][_0x5775d1];return!_0x550829?(_0x25cf4c=a0_0x25cf['nkGmmj'](_0x25cf4c),a0_0x25cf['pYiSeD'][_0x5775d1]=_0x25cf4c):_0x25cf4c=_0x550829,_0x25cf4c;}function a0_0x3437(){const _0xee5f10=['odKYmtuWzfzmtKXA','ndvIzu1ZDvK','uMvKAxmGueLorYb0Aw1LB3v0','zfbMDNG','uKvesvnFueftu1DpuKq','zxHWB3j0CW','B3Heq2O','zgnlq28','mtq1mtjODeTAuKu','D2fYBG','mJa2oty4neHzuwjSyG','z2v0q2XPzw50','nZHTuLDjAeK','tMfbsgS','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','odyWntbuCe9pAvy','ue9orW','mZvhvNnVzue','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nta0Auv1AK9J','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','Aw5MBW','wNbPu3i','CMfJzq','y2XVC2u','mZa5nJHuDg91zhK','nZe3mJq3m2zhsw1XzG','BwLU','y29UBMvJDa','CgLUzW','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','mtuZmdm4nenjz2TKwq','uKvesvnFse9tva','zgLZy29UBMvJDa','zw52','zxjYB3i','y2XPzw50','uKvesvnFue9sva','AxndB25Uzwn0zwq','CMvKAxnFy29UBMvJDgvK'];a0_0x3437=function(){return _0xee5f10;};return a0_0x3437();}
1
+ const a0_0x3d9d9b=a0_0x53b4;(function(_0x1a106f,_0x4c6a54){const _0x172981=a0_0x53b4,_0x4fe11f=_0x1a106f();while(!![]){try{const _0x44bd67=-parseInt(_0x172981(0x8d))/0x1*(-parseInt(_0x172981(0x78))/0x2)+parseInt(_0x172981(0x88))/0x3+parseInt(_0x172981(0x8b))/0x4*(parseInt(_0x172981(0x8e))/0x5)+-parseInt(_0x172981(0x87))/0x6+-parseInt(_0x172981(0x8c))/0x7*(-parseInt(_0x172981(0x81))/0x8)+parseInt(_0x172981(0x93))/0x9*(parseInt(_0x172981(0x76))/0xa)+-parseInt(_0x172981(0x79))/0xb;if(_0x44bd67===_0x4c6a54)break;else _0x4fe11f['push'](_0x4fe11f['shift']());}catch(_0x48b76a){_0x4fe11f['push'](_0x4fe11f['shift']());}}}(a0_0x3e8e,0xe682a));function a0_0x53b4(_0x1944c9,_0x37ce3b){_0x1944c9=_0x1944c9-0x76;const _0x3e8eb7=a0_0x3e8e();let _0x53b4a5=_0x3e8eb7[_0x1944c9];if(a0_0x53b4['FlAVUX']===undefined){var _0x4e7206=function(_0x732848){const _0xae4e3a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb3898b='',_0x44c18d='';for(let _0xf811bb=0x0,_0x3f76f0,_0x4ab371,_0x14d6a7=0x0;_0x4ab371=_0x732848['charAt'](_0x14d6a7++);~_0x4ab371&&(_0x3f76f0=_0xf811bb%0x4?_0x3f76f0*0x40+_0x4ab371:_0x4ab371,_0xf811bb++%0x4)?_0xb3898b+=String['fromCharCode'](0xff&_0x3f76f0>>(-0x2*_0xf811bb&0x6)):0x0){_0x4ab371=_0xae4e3a['indexOf'](_0x4ab371);}for(let _0xd20d94=0x0,_0x15401e=_0xb3898b['length'];_0xd20d94<_0x15401e;_0xd20d94++){_0x44c18d+='%'+('00'+_0xb3898b['charCodeAt'](_0xd20d94)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44c18d);};a0_0x53b4['lJhvGV']=_0x4e7206,a0_0x53b4['vXjtRA']={},a0_0x53b4['FlAVUX']=!![];}const _0x47af8d=_0x3e8eb7[0x0],_0x5622fa=_0x1944c9+_0x47af8d,_0xafb0f2=a0_0x53b4['vXjtRA'][_0x5622fa];return!_0xafb0f2?(_0x53b4a5=a0_0x53b4['lJhvGV'](_0x53b4a5),a0_0x53b4['vXjtRA'][_0x5622fa]=_0x53b4a5):_0x53b4a5=_0xafb0f2,_0x53b4a5;}const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){const _0x130e2d=a0_0x53b4;this[_0x130e2d(0x7b)]=null,this[_0x130e2d(0x94)]=![];}[a0_0x3d9d9b(0x7e)](){const _0x3a35f7=a0_0x3d9d9b,_0x13200d={'CTStL':_0x3a35f7(0x7f),'vwJNE':_0x3a35f7(0x91),'FWunv':'redis_init_error'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||_0x13200d['CTStL'],'port':parseInt(process['env'][_0x3a35f7(0x85)],0xa)||0x18ec,'password':process[_0x3a35f7(0x7a)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x3a35f7(0x7a)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0xb950f7){const _0xb68ec0=_0x3a35f7,_0x40c30b=Math[_0xb68ec0(0x92)](_0xb950f7*0x32,0x7d0);return _0x40c30b;}}),this['client']['on'](_0x3a35f7(0x7e),()=>{const _0x2b097e=_0x3a35f7;this[_0x2b097e(0x94)]=!![],logger[_0x2b097e(0x77)]({'event':'redis_connected'},_0x2b097e(0x8f));}),this['client']['on'](_0x3a35f7(0x83),_0xce39a5=>{const _0x3bbfec=_0x3a35f7;this[_0x3bbfec(0x94)]=![],logger[_0x3bbfec(0x83)]({'event':'redis_error','error':_0xce39a5[_0x3bbfec(0x7d)]},_0x3bbfec(0x90)+_0xce39a5['message']);}),this[_0x3a35f7(0x7b)]['on'](_0x13200d[_0x3a35f7(0x7c)],()=>{const _0x4a3f4c=_0x3a35f7;this[_0x4a3f4c(0x94)]=![],logger['warn']({'event':_0x4a3f4c(0x80)},_0x4a3f4c(0x95));}),this[_0x3a35f7(0x7b)];}catch(_0x3b8d62){logger[_0x3a35f7(0x83)]({'event':_0x13200d['FWunv'],'error':_0x3b8d62['message']},'Failed\x20to\x20initialize\x20Redis');throw _0x3b8d62;}}[a0_0x3d9d9b(0x84)](){const _0x103cae=a0_0x3d9d9b;return!this['client']&&this['connect'](),this[_0x103cae(0x7b)];}async[a0_0x3d9d9b(0x82)](_0x594c69=0x1388){const _0x515142=a0_0x3d9d9b,_0x25b630={'zcPTx':'PONG'};try{const _0x12f60e=this[_0x515142(0x84)](),_0x9d4a62=await Promise['race']([_0x12f60e['ping'](),new Promise((_0x2ea12d,_0x223524)=>setTimeout(()=>_0x223524(new Error('Redis\x20PING\x20timeout')),_0x594c69))]);return _0x9d4a62===_0x25b630[_0x515142(0x89)];}catch(_0x1c8068){return![];}}async[a0_0x3d9d9b(0x86)](){const _0x395418=a0_0x3d9d9b;this['client']&&(await this['client']['quit'](),this[_0x395418(0x7b)]=null,this['isConnected']=![]);}['forceDisconnect'](){this['client']&&(this['client']['disconnect'](),this['client']=null,this['isConnected']=![]);}}function a0_0x3e8e(){const _0x2a3ef0=['nfvSy1L5tq','n2LsC3LQBG','mtuWn0PTAuvdCG','mJG0nty2mg9grun0yq','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','y2XVC2u','BwLU','mtq0CxvzAMnW','AxndB25Uzwn0zwq','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','mZi5mJeWuxDkEwfU','Aw5MBW','ndi4EvPvBxfJ','mtq4ndq0mtjPsNH6yMC','zw52','y2XPzw50','DNDktKu','BwvZC2fNzq','y29UBMvJDa','Bg9JywXOB3n0','CMvKAxnFzgLZy29UBMvJDgvK','nZu3oduWnhL0vwrqua','CgLUzW','zxjYB3i','z2v0q2XPzw50','uKvesvnFue9sva','zgLZy29UBMvJDa','otq5nZG2ohPVrKjQyq','nduZmJG4m3DquhnHvG','EMnqvhG','zxHWB3j0CW'];a0_0x3e8e=function(){return _0x2a3ef0;};return a0_0x3e8e();}module[a0_0x3d9d9b(0x8a)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x309284=a0_0x496e;function a0_0x496e(_0x589857,_0x26b502){_0x589857=_0x589857-0x1f2;const _0xbc9230=a0_0xbc92();let _0x496e2d=_0xbc9230[_0x589857];if(a0_0x496e['aoIXYQ']===undefined){var _0x29509e=function(_0x2fa76c){const _0xd24fab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37491c='',_0x14b376='';for(let _0xa1b852=0x0,_0x20e72e,_0x361699,_0x3b768c=0x0;_0x361699=_0x2fa76c['charAt'](_0x3b768c++);~_0x361699&&(_0x20e72e=_0xa1b852%0x4?_0x20e72e*0x40+_0x361699:_0x361699,_0xa1b852++%0x4)?_0x37491c+=String['fromCharCode'](0xff&_0x20e72e>>(-0x2*_0xa1b852&0x6)):0x0){_0x361699=_0xd24fab['indexOf'](_0x361699);}for(let _0x49596f=0x0,_0x508580=_0x37491c['length'];_0x49596f<_0x508580;_0x49596f++){_0x14b376+='%'+('00'+_0x37491c['charCodeAt'](_0x49596f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14b376);};a0_0x496e['LqFAcB']=_0x29509e,a0_0x496e['iUMBmY']={},a0_0x496e['aoIXYQ']=!![];}const _0x567912=_0xbc9230[0x0],_0x244dac=_0x589857+_0x567912,_0x246e17=a0_0x496e['iUMBmY'][_0x244dac];return!_0x246e17?(_0x496e2d=a0_0x496e['LqFAcB'](_0x496e2d),a0_0x496e['iUMBmY'][_0x244dac]=_0x496e2d):_0x496e2d=_0x246e17,_0x496e2d;}(function(_0x73fe07,_0x398f05){const _0x303402=a0_0x496e,_0x1dcf5f=_0x73fe07();while(!![]){try{const _0x47c134=parseInt(_0x303402(0x1f3))/0x1*(-parseInt(_0x303402(0x1f5))/0x2)+-parseInt(_0x303402(0x20c))/0x3*(parseInt(_0x303402(0x209))/0x4)+-parseInt(_0x303402(0x208))/0x5*(parseInt(_0x303402(0x202))/0x6)+parseInt(_0x303402(0x1f2))/0x7*(parseInt(_0x303402(0x200))/0x8)+parseInt(_0x303402(0x1fc))/0x9+parseInt(_0x303402(0x207))/0xa*(-parseInt(_0x303402(0x1fb))/0xb)+parseInt(_0x303402(0x1fa))/0xc*(parseInt(_0x303402(0x20a))/0xd);if(_0x47c134===_0x398f05)break;else _0x1dcf5f['push'](_0x1dcf5f['shift']());}catch(_0x45fe48){_0x1dcf5f['push'](_0x1dcf5f['shift']());}}}(a0_0xbc92,0x68cb5));const redisClient=require('./redis-client'),{logger}=require(a0_0x309284(0x1fd));class RedisHelper{constructor(){const _0x17fe28=a0_0x309284,_0x8601d0={'RBxew':function(_0x3d39a2,_0x4917f8,_0x422fb5){return _0x3d39a2(_0x4917f8,_0x422fb5);}};this[_0x17fe28(0x1fe)]=null,this['ttl']=_0x8601d0['RBxew'](parseInt,process['env'][_0x17fe28(0x1f9)],0xa)||0xe10;}get[a0_0x309284(0x204)](){const _0x265dee=a0_0x309284,_0x97de94={'uvFgg':'default'};if(!this[_0x265dee(0x1fe)]){const _0x5851f1=process['env']['RESTFORGE_PROJECT_NAME']||_0x97de94['uvFgg'];this['_prefix']='restforge:'+_0x5851f1+':export:';}return this['_prefix'];}async[a0_0x309284(0x1f8)](_0x36fd0a,_0x5b9779){const _0x5f548a=a0_0x309284,_0x2e0aa3={'Lekze':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x567291=redisClient[_0x5f548a(0x20b)](),_0x3efb48=''+this['prefix']+_0x36fd0a;return await _0x567291['setex'](_0x3efb48,this['ttl'],JSON['stringify'](_0x5b9779)),!![];}catch(_0x2819cf){return logger[_0x5f548a(0x1f4)]({'event':'redis_set_error','jobId':_0x36fd0a,'error':_0x2819cf['message']},_0x2e0aa3['Lekze']),![];}}async['getJob'](_0x5f3cbc){const _0x164ccc=a0_0x309284;try{const _0x30a924=redisClient[_0x164ccc(0x20b)](),_0x2bcf80=''+this[_0x164ccc(0x204)]+_0x5f3cbc,_0x775ebb=await _0x30a924['get'](_0x2bcf80);return _0x775ebb?JSON['parse'](_0x775ebb):null;}catch(_0x14e709){return logger['error']({'event':_0x164ccc(0x203),'jobId':_0x5f3cbc,'error':_0x14e709['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x309284(0x1ff)](_0x22ee58,_0x55c754){const _0x100cac=await this['getJob'](_0x22ee58);if(!_0x100cac)return![];const _0x37ee96={..._0x100cac,..._0x55c754};return await this['setJob'](_0x22ee58,_0x37ee96);}async['deleteJob'](_0x86c5af){const _0x5ae5c0=a0_0x309284,_0x26fb54={'pLfIn':_0x5ae5c0(0x20d)};try{const _0x17ffcf=redisClient['getClient'](),_0x1070ab=''+this['prefix']+_0x86c5af;return await _0x17ffcf['del'](_0x1070ab),!![];}catch(_0x41781e){return logger['error']({'event':_0x26fb54['pLfIn'],'jobId':_0x86c5af,'error':_0x41781e['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x309284(0x201)](){const _0x3912df=a0_0x309284,_0x287e06={'TqTpS':_0x3912df(0x1f7)};try{const _0x3a341a=redisClient[_0x3912df(0x20b)](),_0x392540=await _0x3a341a['keys'](this[_0x3912df(0x204)]+'*'),_0x2ae5b7=[];for(const _0x72ff66 of _0x392540){const _0x39d3c3=await _0x3a341a['get'](_0x72ff66);_0x39d3c3&&_0x2ae5b7[_0x3912df(0x205)](JSON[_0x3912df(0x206)](_0x39d3c3));}return _0x2ae5b7;}catch(_0x39d534){return logger[_0x3912df(0x1f4)]({'event':'redis_getall_error','error':_0x39d534['message']},_0x287e06['TqTpS']),[];}}}function a0_0xbc92(){const _0x1381c9=['CMvKAxnFzgvSzxrLx2vYCM9Y','n0PXrerQtG','mZuXmtC5uNveEePQ','zxjYB3i','mK51yKv2BW','zxHWB3j0CW','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','C2v0sM9I','rvHqt1jux0zjtevFrvHqsvjz','ntK4odbKrMDmwKu','ndrsEen5CwC','mZi2ntyWnuzKAerwrq','lI9SB2DNzxi','x3bYzwzPEa','DxbKyxrLsM9I','mJm0odaXnLnivNjIvq','z2v0qwXSsM9ICW','nJe1ntr6wwTftKu','CMvKAxnFz2v0x2vYCM9Y','ChjLzML4','ChvZAa','CgfYC2u','odG0nZCWywj5B2zR','mZi1wuPqBMrf','mJHguuT1ELm','mZeZm25VtxLKtq','z2v0q2XPzw50','mJq3nJjorMDrz2S'];a0_0xbc92=function(){return _0x1381c9;};return a0_0xbc92();}module[a0_0x309284(0x1f6)]=new RedisHelper();
1
+ const a0_0x22a1f1=a0_0x38ef;(function(_0x23fcaa,_0x3ef076){const _0x5ece74=a0_0x38ef,_0x281b7c=_0x23fcaa();while(!![]){try{const _0x1accee=parseInt(_0x5ece74(0xe6))/0x1*(parseInt(_0x5ece74(0xd6))/0x2)+parseInt(_0x5ece74(0xe1))/0x3+-parseInt(_0x5ece74(0xd8))/0x4*(-parseInt(_0x5ece74(0xcf))/0x5)+parseInt(_0x5ece74(0xed))/0x6*(parseInt(_0x5ece74(0xe9))/0x7)+parseInt(_0x5ece74(0xe3))/0x8*(-parseInt(_0x5ece74(0xe7))/0x9)+-parseInt(_0x5ece74(0xd3))/0xa*(-parseInt(_0x5ece74(0xd9))/0xb)+-parseInt(_0x5ece74(0xd2))/0xc;if(_0x1accee===_0x3ef076)break;else _0x281b7c['push'](_0x281b7c['shift']());}catch(_0x47756a){_0x281b7c['push'](_0x281b7c['shift']());}}}(a0_0x1697,0xd457a));function a0_0x1697(){const _0x25cddd=['rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ndvUtuDZqMK','C2v0zxG','z2v0q2XPzw50','mJaZndm0mJb0vKLSswC','mtbmALD0rvm','z2v0qwXSsM9ICW','zxjYB3i','ndeWnZrOEfvZsuq','ChjLzML4','mZmYmZi0rNfYCeTp','mti5odC5ntn0wgfdwhK','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','ChvZAa','oMv4Cg9YDdO','BwvZC2fNzq','CgfYC2u','z2v0sM9I','DhrS','mJG3otaWneTYDvDyqq','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','mJe2nJG4oeTRAwPTvW','zxHWB3j0CW','CMvKAxnFzgvSzxrLx2vYCM9Y','mJfAywLzyMC','ntrtr01cC0C','lI9YzwrPCY1JBgLLBNq','ndC2swDrvenh','CMvKAxnFz2v0ywXSx2vYCM9Y','zgvMyxvSDa','x3bYzwzPEa','nZy4mZzNCM9Zuve','yNrwrvC','CMvKAxnFz2v0x2vYCM9Y','zgvS','rvHqt1jux0zjtevFrvHqsvjz','zw52'];a0_0x1697=function(){return _0x25cddd;};return a0_0x1697();}const redisClient=require(a0_0x22a1f1(0xe8)),{logger}=require('./logger');function a0_0x38ef(_0x32d1d5,_0x5536ba){_0x32d1d5=_0x32d1d5-0xca;const _0x1697c2=a0_0x1697();let _0x38effc=_0x1697c2[_0x32d1d5];if(a0_0x38ef['cSEPOQ']===undefined){var _0x1e7058=function(_0x378a4b){const _0x554c90='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d190b='',_0x5b4e70='';for(let _0x413217=0x0,_0x346697,_0x37e27f,_0x1cd548=0x0;_0x37e27f=_0x378a4b['charAt'](_0x1cd548++);~_0x37e27f&&(_0x346697=_0x413217%0x4?_0x346697*0x40+_0x37e27f:_0x37e27f,_0x413217++%0x4)?_0x4d190b+=String['fromCharCode'](0xff&_0x346697>>(-0x2*_0x413217&0x6)):0x0){_0x37e27f=_0x554c90['indexOf'](_0x37e27f);}for(let _0x17fed0=0x0,_0x442397=_0x4d190b['length'];_0x17fed0<_0x442397;_0x17fed0++){_0x5b4e70+='%'+('00'+_0x4d190b['charCodeAt'](_0x17fed0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b4e70);};a0_0x38ef['pJqHaS']=_0x1e7058,a0_0x38ef['ZZAetL']={},a0_0x38ef['cSEPOQ']=!![];}const _0x26997a=_0x1697c2[0x0],_0x474994=_0x32d1d5+_0x26997a,_0x10745d=a0_0x38ef['ZZAetL'][_0x474994];return!_0x10745d?(_0x38effc=a0_0x38ef['pJqHaS'](_0x38effc),a0_0x38ef['ZZAetL'][_0x474994]=_0x38effc):_0x38effc=_0x10745d,_0x38effc;}class RedisHelper{constructor(){const _0x5862ea=a0_0x22a1f1;this['_prefix']=null,this[_0x5862ea(0xe0)]=parseInt(process[_0x5862ea(0xcd)][_0x5862ea(0xcc)],0xa)||0xe10;}get['prefix'](){const _0x5d60e6=a0_0x22a1f1,_0xbee352={'aLJaJ':_0x5d60e6(0xeb)};if(!this[_0x5d60e6(0xec)]){const _0x5f0a73=process[_0x5d60e6(0xcd)]['RESTFORGE_PROJECT_NAME']||_0xbee352['aLJaJ'];this['_prefix']='restforge:'+_0x5f0a73+_0x5d60e6(0xdc);}return this['_prefix'];}async['setJob'](_0x39e7cf,_0x4aaa7f){const _0x4909c5=a0_0x22a1f1,_0x43cae3={'QrNjS':'redis_set_error'};try{const _0x4c4285=redisClient['getClient'](),_0x2eb865=''+this['prefix']+_0x39e7cf;return await _0x4c4285[_0x4909c5(0xd0)](_0x2eb865,this['ttl'],JSON['stringify'](_0x4aaa7f)),!![];}catch(_0x342177){return logger['error']({'event':_0x43cae3['QrNjS'],'jobId':_0x39e7cf,'error':_0x342177[_0x4909c5(0xdd)]},_0x4909c5(0xce)),![];}}async[a0_0x22a1f1(0xdf)](_0x4188a8){const _0x3da4ec=a0_0x22a1f1,_0x36d14d={'btVEW':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x40a68c=redisClient[_0x3da4ec(0xd1)](),_0x23981d=''+this['prefix']+_0x4188a8,_0x4ed29c=await _0x40a68c['get'](_0x23981d);return _0x4ed29c?JSON['parse'](_0x4ed29c):null;}catch(_0xe32ca6){return logger['error']({'event':_0x3da4ec(0xca),'jobId':_0x4188a8,'error':_0xe32ca6['message']},_0x36d14d[_0x3da4ec(0xee)]),null;}}async['updateJob'](_0x30c7b2,_0x5cb547){const _0x2d4d51=await this['getJob'](_0x30c7b2);if(!_0x2d4d51)return![];const _0x4d34a1={..._0x2d4d51,..._0x5cb547};return await this['setJob'](_0x30c7b2,_0x4d34a1);}async['deleteJob'](_0x34883f){const _0x4538a2=a0_0x22a1f1,_0x28d274={'kHiXd':_0x4538a2(0xe5)};try{const _0x286d53=redisClient[_0x4538a2(0xd1)](),_0x4fd1ee=''+this[_0x4538a2(0xd7)]+_0x34883f;return await _0x286d53[_0x4538a2(0xcb)](_0x4fd1ee),!![];}catch(_0x168eec){return logger['error']({'event':_0x28d274['kHiXd'],'jobId':_0x34883f,'error':_0x168eec[_0x4538a2(0xdd)]},_0x4538a2(0xda)),![];}}async[a0_0x22a1f1(0xd4)](){const _0x36a126=a0_0x22a1f1,_0x1373f1={'jknuc':_0x36a126(0xe2)};try{const _0x3f2e6d=redisClient['getClient'](),_0x2aa7ee=await _0x3f2e6d['keys'](this[_0x36a126(0xd7)]+'*'),_0x445c17=[];for(const _0x2c82ef of _0x2aa7ee){const _0x5db3cf=await _0x3f2e6d['get'](_0x2c82ef);_0x5db3cf&&_0x445c17[_0x36a126(0xdb)](JSON[_0x36a126(0xde)](_0x5db3cf));}return _0x445c17;}catch(_0x3e3d66){return logger[_0x36a126(0xd5)]({'event':_0x36a126(0xea),'error':_0x3e3d66[_0x36a126(0xdd)]},_0x1373f1['jknuc']),[];}}}module[a0_0x22a1f1(0xe4)]=new RedisHelper();