@restforgejs/platform 5.2.10 → 5.2.12

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 (173) hide show
  1. package/bin/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/fast-track.js +147 -27
  7. package/generators/cli/schema/init.js +20 -6
  8. package/generators/cli/schema/template.js +24 -9
  9. package/generators/lib/templates/dashboard-catalog.js +1 -1
  10. package/generators/lib/templates/db-connection-env.js +1 -1
  11. package/generators/lib/templates/dbschema-catalog.js +1 -1
  12. package/generators/lib/templates/field-validation-catalog.js +1 -1
  13. package/generators/lib/templates/mysql-template.js +1 -1
  14. package/generators/lib/templates/oracle-template.js +1 -1
  15. package/generators/lib/templates/postgres-template.js +1 -1
  16. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  17. package/generators/lib/templates/sqlite-template.js +1 -1
  18. package/integrity-manifest.json +18 -18
  19. package/package.json +1 -1
  20. package/scripts/verify-integrity.js +1 -1
  21. package/server.js +1 -1
  22. package/src/components/handlers/adjust_handler.js +1 -1
  23. package/src/components/handlers/audit_handler.js +1 -1
  24. package/src/components/handlers/delete_handler.js +1 -1
  25. package/src/components/handlers/export_handler.js +1 -1
  26. package/src/components/handlers/import_handler.js +1 -1
  27. package/src/components/handlers/insert_handler.js +1 -1
  28. package/src/components/handlers/update_handler.js +1 -1
  29. package/src/components/handlers/upload_handler.js +1 -1
  30. package/src/components/handlers/workflow_handler.js +1 -1
  31. package/src/components/integrations/webhook.js +1 -1
  32. package/src/consumers/baseConsumer.js +1 -1
  33. package/src/consumers/declarativeMapper.js +1 -1
  34. package/src/consumers/handlers/apiHandler.js +1 -1
  35. package/src/consumers/handlers/consoleHandler.js +1 -1
  36. package/src/consumers/handlers/databaseHandler.js +1 -1
  37. package/src/consumers/handlers/index.js +1 -1
  38. package/src/consumers/handlers/kafkaHandler.js +1 -1
  39. package/src/consumers/index.js +1 -1
  40. package/src/consumers/messageTransformer.js +1 -1
  41. package/src/consumers/validator.js +1 -1
  42. package/src/core/db/dialect/base-dialect.js +1 -1
  43. package/src/core/db/dialect/index.js +1 -1
  44. package/src/core/db/dialect/mysql-dialect.js +1 -1
  45. package/src/core/db/dialect/oracle-dialect.js +1 -1
  46. package/src/core/db/dialect/postgres-dialect.js +1 -1
  47. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  48. package/src/core/db/flatten-helper.js +1 -1
  49. package/src/core/db/query-builder-error.js +1 -1
  50. package/src/core/db/query-builder.js +1 -1
  51. package/src/core/db/relation-helper.js +1 -1
  52. package/src/core/handlers/delete_handler.js +1 -1
  53. package/src/core/handlers/insert_handler.js +1 -1
  54. package/src/core/handlers/update_handler.js +1 -1
  55. package/src/core/models/base-model.js +1 -1
  56. package/src/core/utils/cache-manager.js +1 -1
  57. package/src/core/utils/component-engine.js +1 -1
  58. package/src/core/utils/context-builder.js +1 -1
  59. package/src/core/utils/datetime-formatter.js +1 -1
  60. package/src/core/utils/datetime-parser.js +1 -1
  61. package/src/core/utils/db.js +1 -1
  62. package/src/core/utils/logger.js +1 -1
  63. package/src/core/utils/payload-loader.js +1 -1
  64. package/src/core/utils/security-checks.js +1 -1
  65. package/src/middleware/body-options.js +1 -1
  66. package/src/middleware/cors.js +1 -1
  67. package/src/middleware/idempotency.js +1 -1
  68. package/src/middleware/rate-limiter.js +1 -1
  69. package/src/middleware/request-logger.js +1 -1
  70. package/src/middleware/security-headers.js +1 -1
  71. package/src/models/base-model-mysql.js +1 -1
  72. package/src/models/base-model-oracle.js +1 -1
  73. package/src/models/base-model-sqlite.js +1 -1
  74. package/src/models/base-model.js +1 -1
  75. package/src/pro/caching/redis-client.js +1 -1
  76. package/src/pro/caching/redis-helper.js +1 -1
  77. package/src/pro/consumers/baseConsumer.js +1 -1
  78. package/src/pro/consumers/declarativeMapper.js +1 -1
  79. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  80. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  81. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  82. package/src/pro/consumers/handlers/index.js +1 -1
  83. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  84. package/src/pro/consumers/index.js +1 -1
  85. package/src/pro/consumers/messageTransformer.js +1 -1
  86. package/src/pro/consumers/validator.js +1 -1
  87. package/src/pro/database/base-model-mysql.js +1 -1
  88. package/src/pro/database/base-model-oracle.js +1 -1
  89. package/src/pro/database/base-model-sqlite.js +1 -1
  90. package/src/pro/database/db-mysql.js +1 -1
  91. package/src/pro/database/db-oracle.js +1 -1
  92. package/src/pro/database/db-sqlite.js +1 -1
  93. package/src/pro/excel/excel-generator.js +1 -1
  94. package/src/pro/excel/excel-parser.js +1 -1
  95. package/src/pro/excel/export-service.js +1 -1
  96. package/src/pro/excel/export_handler.js +1 -1
  97. package/src/pro/excel/import-service.js +1 -1
  98. package/src/pro/excel/import-validator.js +1 -1
  99. package/src/pro/excel/import_handler.js +1 -1
  100. package/src/pro/excel/upsert-builder.js +1 -1
  101. package/src/pro/idgen/idgen-routes.js +1 -1
  102. package/src/pro/integrations/lookup-resolver.js +1 -1
  103. package/src/pro/integrations/upload-handler-v2.js +1 -1
  104. package/src/pro/integrations/upload-handler.js +1 -1
  105. package/src/pro/integrations/webhook.js +1 -1
  106. package/src/pro/locking/lock-routes.js +1 -1
  107. package/src/pro/locking/resource-lock-manager.js +1 -1
  108. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  109. package/src/pro/messaging/kafkaService.js +1 -1
  110. package/src/pro/messaging/messagehubService.js +1 -1
  111. package/src/pro/messaging/rabbitmqService.js +1 -1
  112. package/src/pro/scheduler/job-manager.js +1 -1
  113. package/src/pro/scheduler/job-routes.js +1 -1
  114. package/src/pro/scheduler/job-validator.js +1 -1
  115. package/src/pro/storage/base-storage-provider.js +1 -1
  116. package/src/pro/storage/file-metadata-helper.js +1 -1
  117. package/src/pro/storage/index.js +1 -1
  118. package/src/pro/storage/local-storage-provider.js +1 -1
  119. package/src/pro/storage/s3-storage-provider.js +1 -1
  120. package/src/pro/storage/upload-cleanup-job.js +1 -1
  121. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  122. package/src/pro/storage/upload-pending-tracker.js +1 -1
  123. package/src/pro/websocket/broadcast-helper.js +1 -1
  124. package/src/pro/websocket/index.js +1 -1
  125. package/src/pro/websocket/livesync-server.js +1 -1
  126. package/src/pro/websocket/ws-broadcaster.js +1 -1
  127. package/src/services/export-service.js +1 -1
  128. package/src/services/import-service.js +1 -1
  129. package/src/services/kafkaConsumerService.js +1 -1
  130. package/src/services/kafkaService.js +1 -1
  131. package/src/services/messagehubService.js +1 -1
  132. package/src/services/rabbitmqService.js +1 -1
  133. package/src/utils/cache-invalidation-registry.js +1 -1
  134. package/src/utils/cache-manager.js +1 -1
  135. package/src/utils/component-engine.js +1 -1
  136. package/src/utils/config-extractor.js +1 -1
  137. package/src/utils/consumerLogger.js +1 -1
  138. package/src/utils/context-builder.js +1 -1
  139. package/src/utils/dashboard-helpers.js +1 -1
  140. package/src/utils/dateHelper.js +1 -1
  141. package/src/utils/datetime-formatter.js +1 -1
  142. package/src/utils/datetime-parser.js +1 -1
  143. package/src/utils/db-bootstrap.js +1 -1
  144. package/src/utils/db-mysql.js +1 -1
  145. package/src/utils/db-oracle.js +1 -1
  146. package/src/utils/db-sqlite.js +1 -1
  147. package/src/utils/db.js +1 -1
  148. package/src/utils/demo-generator.js +1 -1
  149. package/src/utils/excel-generator.js +1 -1
  150. package/src/utils/excel-parser.js +1 -1
  151. package/src/utils/file-watcher.js +1 -1
  152. package/src/utils/id-generator.js +1 -1
  153. package/src/utils/idempotency-manager.js +1 -1
  154. package/src/utils/import-validator.js +1 -1
  155. package/src/utils/license-client.js +1 -1
  156. package/src/utils/lock-manager.js +1 -1
  157. package/src/utils/logger.js +1 -1
  158. package/src/utils/lookup-resolver.js +1 -1
  159. package/src/utils/payload-loader.js +1 -1
  160. package/src/utils/processor-response.js +1 -1
  161. package/src/utils/rabbitmq.js +1 -1
  162. package/src/utils/redis-client.js +1 -1
  163. package/src/utils/redis-helper.js +1 -1
  164. package/src/utils/request-scope.js +1 -1
  165. package/src/utils/security-checks.js +1 -1
  166. package/src/utils/service-resolver.js +1 -1
  167. package/src/utils/shutdown-coordinator.js +1 -1
  168. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  169. package/src/utils/sql-table-extractor.js +1 -1
  170. package/src/utils/trusted-keys.js +1 -1
  171. package/src/utils/upload-handler.js +1 -1
  172. package/src/utils/upsert-builder.js +1 -1
  173. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x19df7a=a0_0x2083;(function(_0x59b835,_0x524093){const _0x4499af=a0_0x2083,_0x3a3371=_0x59b835();while(!![]){try{const _0x426920=parseInt(_0x4499af(0x119))/0x1+-parseInt(_0x4499af(0x117))/0x2*(parseInt(_0x4499af(0x118))/0x3)+parseInt(_0x4499af(0x10d))/0x4+-parseInt(_0x4499af(0x101))/0x5+parseInt(_0x4499af(0x107))/0x6+-parseInt(_0x4499af(0x110))/0x7*(parseInt(_0x4499af(0x108))/0x8)+-parseInt(_0x4499af(0x112))/0x9*(-parseInt(_0x4499af(0x121))/0xa);if(_0x426920===_0x524093)break;else _0x3a3371['push'](_0x3a3371['shift']());}catch(_0x7c94b1){_0x3a3371['push'](_0x3a3371['shift']());}}}(a0_0x3a90,0x8a7af));function a0_0x3a90(){const _0x3b953c=['ndGYodmZmgXAD3nKEa','txvsqxO','Awf5te8','EKvsugC','C3rYAw5N','sw52ywXPzcbKyxrLihzHBhvLoIa','mZu0ntC0ohrZD3HYEq','ndGZndrhwuvIAK8','zM9YBwf0vgLTzq','BwvZC2fNzq','CgfKu3rHCNq','C2Tpy2O','mZGXnJa4EvjYs0L0','DeTgwgO','sw52ywXPzcb0Aw1LihzHBhvLoIa','ntK1wu5dB05p','z2v0u2vJB25KCW','mtHmrgLgwvK','z21rtNe','zM9YBwf0vgLTzxn0yw1W','D2fYBG','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','mZa1nJH2tKnAqwS','nMvwtKLQqq','nZCZmdq4zgH5zMfn','zM9YBwf0rgf0zq','BwLrtLu','z2v0rNvSBfLLyxi','BgvUz3rO','DgLTzq','wvnMD2W','z2v0twLUDxrLCW','mZa4odq4mgLpA1HbAG','zxjYB3i','tNfJs3y'];a0_0x3a90=function(){return _0x3b953c;};return a0_0x3a90();}function a0_0x2083(_0x295397,_0x524dd7){_0x295397=_0x295397-0x101;const _0x3a903a=a0_0x3a90();let _0x20834e=_0x3a903a[_0x295397];if(a0_0x2083['EHwMVA']===undefined){var _0x42d1a0=function(_0x56f527){const _0x5ecd6e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fa63b='',_0x54fefd='';for(let _0x533b7e=0x0,_0x5cc220,_0x443100,_0x482bbb=0x0;_0x443100=_0x56f527['charAt'](_0x482bbb++);~_0x443100&&(_0x5cc220=_0x533b7e%0x4?_0x5cc220*0x40+_0x443100:_0x443100,_0x533b7e++%0x4)?_0x3fa63b+=String['fromCharCode'](0xff&_0x5cc220>>(-0x2*_0x533b7e&0x6)):0x0){_0x443100=_0x5ecd6e['indexOf'](_0x443100);}for(let _0x17dd1f=0x0,_0x120465=_0x3fa63b['length'];_0x17dd1f<_0x120465;_0x17dd1f++){_0x54fefd+='%'+('00'+_0x3fa63b['charCodeAt'](_0x17dd1f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54fefd);};a0_0x2083['jcsQdK']=_0x42d1a0,a0_0x2083['GzKTjM']={},a0_0x2083['EHwMVA']=!![];}const _0x153b64=_0x3a903a[0x0],_0x2b4780=_0x295397+_0x153b64,_0x2888d3=a0_0x2083['GzKTjM'][_0x2b4780];return!_0x2888d3?(_0x20834e=a0_0x2083['jcsQdK'](_0x20834e),a0_0x2083['GzKTjM'][_0x2b4780]=_0x20834e):_0x20834e=_0x2888d3,_0x20834e;}class DateTimeFormatter{static['format'](_0x2844cd,_0x264ccc,_0x52bde4){const _0x5e5a62=a0_0x2083,_0x30b039={'MuRAz':function(_0x8a1374,_0x55b121){return _0x8a1374===_0x55b121;},'iayLO':'timestamp','tKFXj':function(_0x49cfd5,_0x2f06ac){return _0x49cfd5===_0x2f06ac;},'gmQNq':_0x5e5a62(0x11e)};if(!_0x2844cd)return null;try{if(_0x30b039[_0x5e5a62(0x102)](_0x52bde4,'date'))return this[_0x5e5a62(0x11a)](_0x2844cd,_0x264ccc);else{if(_0x52bde4===_0x30b039[_0x5e5a62(0x103)])return this['formatTimestamp'](_0x2844cd,_0x264ccc);else{if(_0x30b039[_0x5e5a62(0x10e)](_0x52bde4,_0x30b039[_0x5e5a62(0x113)]))return this[_0x5e5a62(0x109)](_0x2844cd,_0x264ccc);}}return _0x2844cd;}catch(_0x57d8be){return console[_0x5e5a62(0x122)]('Error\x20formatting\x20datetime:\x20'+_0x57d8be[_0x5e5a62(0x10a)]),_0x2844cd;}}static['formatDate'](_0x20e9e4,_0x32ee8d){const _0xa0ccfb=a0_0x2083,_0xd981e6={'zERPg':function(_0x3e8612,_0x57c726){return _0x3e8612(_0x57c726);},'miQNU':function(_0x59028c,_0x225171){return _0x59028c(_0x225171);},'rKFWz':function(_0x584a4f,_0xc9e006){return _0x584a4f(_0xc9e006);}},_0x498a0f=new Date(_0x20e9e4);if(_0xd981e6[_0xa0ccfb(0x104)](isNaN,_0x498a0f['getTime']()))return console[_0xa0ccfb(0x115)](_0xa0ccfb(0x106)+_0x20e9e4),_0x20e9e4;const _0x461119=_0xd981e6[_0xa0ccfb(0x11b)](String,_0x498a0f['getDate']())['padStart'](0x2,'0'),_0x11b4cc=_0xd981e6['rKFWz'](String,_0x498a0f['getMonth']()+0x1)[_0xa0ccfb(0x10b)](0x2,'0'),_0x45fa4a=_0x498a0f[_0xa0ccfb(0x11c)](),_0x23547e={'dd/MM/yyyy':_0x461119+'/'+_0x11b4cc+'/'+_0x45fa4a,'dd-MM-yyyy':_0x461119+'-'+_0x11b4cc+'-'+_0x45fa4a,'MM/dd/yyyy':_0x11b4cc+'/'+_0x461119+'/'+_0x45fa4a,'yyyy/MM/dd':_0x45fa4a+'/'+_0x11b4cc+'/'+_0x461119,'yyyy-MM-dd':_0x45fa4a+'-'+_0x11b4cc+'-'+_0x461119};return _0x23547e[_0x32ee8d]||_0x45fa4a+'-'+_0x11b4cc+'-'+_0x461119;}static[a0_0x19df7a(0x114)](_0x435908,_0x2d7a50){const _0x3f35a9=a0_0x19df7a,_0x5d08dc={'skOcj':function(_0x4f44d5,_0x33b635){return _0x4f44d5(_0x33b635);},'nTqlM':function(_0x2fc8a1,_0x36eccd){return _0x2fc8a1(_0x36eccd);},'NqcKv':function(_0x91701d,_0x10c49e){return _0x91701d(_0x10c49e);},'WeqEc':function(_0x3af9e6,_0x3bb97b){return _0x3af9e6+_0x3bb97b;},'YSfwl':function(_0x3d21a1,_0x279943){return _0x3d21a1!==_0x279943;}},_0x3e1f28=new Date(_0x435908);if(_0x5d08dc[_0x3f35a9(0x10c)](isNaN,_0x3e1f28['getTime']()))return console[_0x3f35a9(0x115)](_0x3f35a9(0x116)+_0x435908),_0x435908;const _0x522f29=_0x5d08dc['nTqlM'](String,_0x3e1f28['getDate']())['padStart'](0x2,'0'),_0x48ee25=_0x5d08dc[_0x3f35a9(0x123)](String,_0x5d08dc['WeqEc'](_0x3e1f28['getMonth'](),0x1))[_0x3f35a9(0x10b)](0x2,'0'),_0x4e6a12=_0x3e1f28['getFullYear'](),_0x91bd59=String(_0x3e1f28['getHours']())['padStart'](0x2,'0'),_0x57bf38=_0x5d08dc['NqcKv'](String,_0x3e1f28[_0x3f35a9(0x120)]())['padStart'](0x2,'0'),_0x2d07f3=String(_0x3e1f28[_0x3f35a9(0x111)]())[_0x3f35a9(0x10b)](0x2,'0'),_0xad6b7f=_0x2d7a50['split']('\x20');if(_0x5d08dc[_0x3f35a9(0x11f)](_0xad6b7f[_0x3f35a9(0x11d)],0x2))return _0x4e6a12+'-'+_0x48ee25+'-'+_0x522f29+'\x20'+_0x91bd59+':'+_0x57bf38+':'+_0x2d07f3;const _0x48726c=_0xad6b7f[0x0],_0x2b961f=_0xad6b7f[0x1],_0x48edc1={'dd/MM/yyyy':_0x522f29+'/'+_0x48ee25+'/'+_0x4e6a12,'dd-MM-yyyy':_0x522f29+'-'+_0x48ee25+'-'+_0x4e6a12,'MM/dd/yyyy':_0x48ee25+'/'+_0x522f29+'/'+_0x4e6a12,'yyyy/MM/dd':_0x4e6a12+'/'+_0x48ee25+'/'+_0x522f29,'yyyy-MM-dd':_0x4e6a12+'-'+_0x48ee25+'-'+_0x522f29},_0x4cb3df={'HH:mm':_0x91bd59+':'+_0x57bf38,'HH:mm:ss':_0x91bd59+':'+_0x57bf38+':'+_0x2d07f3,'hh:mm':_0x91bd59+':'+_0x57bf38},_0x50dee3=_0x48edc1[_0x48726c]||_0x4e6a12+'-'+_0x48ee25+'-'+_0x522f29,_0x10c5e2=_0x4cb3df[_0x2b961f]||_0x91bd59+':'+_0x57bf38+':'+_0x2d07f3;return _0x50dee3+'\x20'+_0x10c5e2;}static[a0_0x19df7a(0x109)](_0x29d207,_0x197140){const _0x270e82=a0_0x19df7a,_0x24d9d4={'JpfsR':_0x270e82(0x105)};if(typeof _0x29d207!==_0x24d9d4['JpfsR'])return _0x29d207;const _0xf44a87=_0x29d207['split'](':');if(_0xf44a87[_0x270e82(0x11d)]<0x2)return console['warn'](_0x270e82(0x10f)+_0x29d207),_0x29d207;const _0x487341=_0xf44a87[0x0][_0x270e82(0x10b)](0x2,'0'),_0x33b1c2=_0xf44a87[0x1]['padStart'](0x2,'0'),_0x13ec7e=_0xf44a87[0x2]?_0xf44a87[0x2]['split']('.')[0x0]['padStart'](0x2,'0'):'00',_0x44fd59={'HH:mm':_0x487341+':'+_0x33b1c2,'HH:mm:ss':_0x487341+':'+_0x33b1c2+':'+_0x13ec7e,'hh:mm':_0x487341+':'+_0x33b1c2};return _0x44fd59[_0x197140]||_0x487341+':'+_0x33b1c2+':'+_0x13ec7e;}}module['exports']=DateTimeFormatter;
1
+ const a0_0x31e7e9=a0_0x4689;function a0_0x4689(_0x20c430,_0x212cde){_0x20c430=_0x20c430-0xbe;const _0x29d0f6=a0_0x29d0();let _0x4689e2=_0x29d0f6[_0x20c430];if(a0_0x4689['zrwdgE']===undefined){var _0x497688=function(_0x48da26){const _0x2656e4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc17624='',_0x537a8f='';for(let _0x1381c0=0x0,_0x57fb97,_0x4f0f93,_0x33855d=0x0;_0x4f0f93=_0x48da26['charAt'](_0x33855d++);~_0x4f0f93&&(_0x57fb97=_0x1381c0%0x4?_0x57fb97*0x40+_0x4f0f93:_0x4f0f93,_0x1381c0++%0x4)?_0xc17624+=String['fromCharCode'](0xff&_0x57fb97>>(-0x2*_0x1381c0&0x6)):0x0){_0x4f0f93=_0x2656e4['indexOf'](_0x4f0f93);}for(let _0x5049d3=0x0,_0x442052=_0xc17624['length'];_0x5049d3<_0x442052;_0x5049d3++){_0x537a8f+='%'+('00'+_0xc17624['charCodeAt'](_0x5049d3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x537a8f);};a0_0x4689['yeCIQO']=_0x497688,a0_0x4689['XYnIQn']={},a0_0x4689['zrwdgE']=!![];}const _0x4a695d=_0x29d0f6[0x0],_0x3b4acf=_0x20c430+_0x4a695d,_0x13c619=a0_0x4689['XYnIQn'][_0x3b4acf];return!_0x13c619?(_0x4689e2=a0_0x4689['yeCIQO'](_0x4689e2),a0_0x4689['XYnIQn'][_0x3b4acf]=_0x4689e2):_0x4689e2=_0x13c619,_0x4689e2;}function a0_0x29d0(){const _0x1500c5=['vg1Ny0q','z2v0tw9UDgG','z2v0rgf0zq','mty2mZbJyNz4Aeu','mJrJr09Lr3u','mtCWotq2zen2C0LX','mtnrrNDuv2W','D2fYBG','z2v0rNvSBfLLyxi','mZuWntG0tKfMtfnd','ntiZodu2CKjhDLLJ','z2v0vgLTzq','z2v0u2vJB25KCW','swr5zuS','ww5mDey','BgvUz3rO','mLLkyMjRrW','zxHWB3j0CW','rhbgze4','vuXVyK8','C3bSAxq','mtbKAMffswu','sw52ywXPzcbKyxrLihzHBhvLoIa','zMT6ufC','CgfKu3rHCNq','mte4mte4nZzkt3rvuvy','ntmXm2HJwfnnzq','n0nmsg1pqG','zM9YBwf0vgLTzxn0yw1W','mteZmtKWnJzUufz0DKu','DgLTzq','mZy2nZi0mNPiq1HYwa'];a0_0x29d0=function(){return _0x1500c5;};return a0_0x29d0();}(function(_0x114f31,_0xf2937d){const _0x32a55e=a0_0x4689,_0x479f7a=_0x114f31();while(!![]){try{const _0x96d445=-parseInt(_0x32a55e(0xc2))/0x1*(-parseInt(_0x32a55e(0xc8))/0x2)+parseInt(_0x32a55e(0xdd))/0x3*(parseInt(_0x32a55e(0xdc))/0x4)+-parseInt(_0x32a55e(0xcd))/0x5*(parseInt(_0x32a55e(0xd7))/0x6)+-parseInt(_0x32a55e(0xd3))/0x7*(parseInt(_0x32a55e(0xc1))/0x8)+parseInt(_0x32a55e(0xd5))/0x9+parseInt(_0x32a55e(0xdb))/0xa*(parseInt(_0x32a55e(0xd2))/0xb)+parseInt(_0x32a55e(0xd1))/0xc*(-parseInt(_0x32a55e(0xbe))/0xd);if(_0x96d445===_0xf2937d)break;else _0x479f7a['push'](_0x479f7a['shift']());}catch(_0x45362e){_0x479f7a['push'](_0x479f7a['shift']());}}}(a0_0x29d0,0xa50fb));class DateTimeFormatter{static['format'](_0x45c00c,_0x4b739e,_0xb75ca8){const _0x2195d7=a0_0x4689,_0x17207e={'YnLtF':function(_0x2cc4f3,_0x3a425f){return _0x2cc4f3===_0x3a425f;},'ULobO':'date','StKSC':_0x2195d7(0xd6)};if(!_0x45c00c)return null;try{if(_0x17207e[_0x2195d7(0xc6)](_0xb75ca8,_0x17207e[_0x2195d7(0xcb)]))return this['formatDate'](_0x45c00c,_0x4b739e);else{if(_0xb75ca8==='timestamp')return this[_0x2195d7(0xd4)](_0x45c00c,_0x4b739e);else{if(_0xb75ca8===_0x17207e['StKSC'])return this['formatTime'](_0x45c00c,_0x4b739e);}}return _0x45c00c;}catch(_0x4c2c9c){return console['error']('Error\x20formatting\x20datetime:\x20'+_0x4c2c9c['message']),_0x45c00c;}}static['formatDate'](_0x4ef4ea,_0x1bb4b1){const _0x18fa19=a0_0x4689,_0x247280={'OXSAI':function(_0x2ddef1,_0x5ce3c0){return _0x2ddef1(_0x5ce3c0);},'uBDxC':function(_0x1c1198,_0xbae8d0){return _0x1c1198+_0xbae8d0;}},_0x386984=new Date(_0x4ef4ea);if(isNaN(_0x386984[_0x18fa19(0xc3)]()))return console[_0x18fa19(0xbf)](_0x18fa19(0xce)+_0x4ef4ea),_0x4ef4ea;const _0xf82502=_0x247280['OXSAI'](String,_0x386984['getDate']())[_0x18fa19(0xd0)](0x2,'0'),_0x2a43f3=String(_0x247280['uBDxC'](_0x386984[_0x18fa19(0xd9)](),0x1))['padStart'](0x2,'0'),_0x3b1ca5=_0x386984[_0x18fa19(0xc0)](),_0x25db50={'dd/MM/yyyy':_0xf82502+'/'+_0x2a43f3+'/'+_0x3b1ca5,'dd-MM-yyyy':_0xf82502+'-'+_0x2a43f3+'-'+_0x3b1ca5,'MM/dd/yyyy':_0x2a43f3+'/'+_0xf82502+'/'+_0x3b1ca5,'yyyy/MM/dd':_0x3b1ca5+'/'+_0x2a43f3+'/'+_0xf82502,'yyyy-MM-dd':_0x3b1ca5+'-'+_0x2a43f3+'-'+_0xf82502};return _0x25db50[_0x1bb4b1]||_0x3b1ca5+'-'+_0x2a43f3+'-'+_0xf82502;}static['formatTimestamp'](_0x186bce,_0x5640f1){const _0x6c3127=a0_0x4689,_0x4b6d93={'DpFdN':function(_0x44ada3,_0x17fa76){return _0x44ada3(_0x17fa76);},'fkzPW':function(_0x2afa2c,_0x118a43){return _0x2afa2c+_0x118a43;},'IdyeK':function(_0x29b17c,_0x203b8b){return _0x29b17c(_0x203b8b);},'TmgcD':function(_0x5c1f2f,_0x4a1ec3){return _0x5c1f2f!==_0x4a1ec3;}},_0x2384f4=new Date(_0x186bce);if(_0x4b6d93['DpFdN'](isNaN,_0x2384f4['getTime']()))return console['warn']('Invalid\x20timestamp\x20value:\x20'+_0x186bce),_0x186bce;const _0x48cd63=String(_0x2384f4[_0x6c3127(0xda)]())[_0x6c3127(0xd0)](0x2,'0'),_0x37bd51=_0x4b6d93[_0x6c3127(0xca)](String,_0x4b6d93[_0x6c3127(0xcf)](_0x2384f4['getMonth'](),0x1))[_0x6c3127(0xd0)](0x2,'0'),_0x168f7=_0x2384f4[_0x6c3127(0xc0)](),_0x27f0b1=_0x4b6d93[_0x6c3127(0xc5)](String,_0x2384f4['getHours']())['padStart'](0x2,'0'),_0x2002dc=_0x4b6d93[_0x6c3127(0xc5)](String,_0x2384f4['getMinutes']())[_0x6c3127(0xd0)](0x2,'0'),_0x445e28=_0x4b6d93[_0x6c3127(0xc5)](String,_0x2384f4[_0x6c3127(0xc4)]())['padStart'](0x2,'0'),_0x66f57a=_0x5640f1['split']('\x20');if(_0x4b6d93[_0x6c3127(0xd8)](_0x66f57a[_0x6c3127(0xc7)],0x2))return _0x168f7+'-'+_0x37bd51+'-'+_0x48cd63+'\x20'+_0x27f0b1+':'+_0x2002dc+':'+_0x445e28;const _0x36aab5=_0x66f57a[0x0],_0x2af881=_0x66f57a[0x1],_0x384143={'dd/MM/yyyy':_0x48cd63+'/'+_0x37bd51+'/'+_0x168f7,'dd-MM-yyyy':_0x48cd63+'-'+_0x37bd51+'-'+_0x168f7,'MM/dd/yyyy':_0x37bd51+'/'+_0x48cd63+'/'+_0x168f7,'yyyy/MM/dd':_0x168f7+'/'+_0x37bd51+'/'+_0x48cd63,'yyyy-MM-dd':_0x168f7+'-'+_0x37bd51+'-'+_0x48cd63},_0xebe597={'HH:mm':_0x27f0b1+':'+_0x2002dc,'HH:mm:ss':_0x27f0b1+':'+_0x2002dc+':'+_0x445e28,'hh:mm':_0x27f0b1+':'+_0x2002dc},_0x31f5d5=_0x384143[_0x36aab5]||_0x168f7+'-'+_0x37bd51+'-'+_0x48cd63,_0x42a226=_0xebe597[_0x2af881]||_0x27f0b1+':'+_0x2002dc+':'+_0x445e28;return _0x31f5d5+'\x20'+_0x42a226;}static['formatTime'](_0x69621f,_0x2cf704){const _0x68169d=a0_0x4689,_0x50d33e={'MsxjA':function(_0x30e41d,_0x1f8a6f){return _0x30e41d<_0x1f8a6f;}};if(typeof _0x69621f!=='string')return _0x69621f;const _0x4f46d4=_0x69621f[_0x68169d(0xcc)](':');if(_0x50d33e['MsxjA'](_0x4f46d4[_0x68169d(0xc7)],0x2))return console['warn']('Invalid\x20time\x20value:\x20'+_0x69621f),_0x69621f;const _0x21d4f9=_0x4f46d4[0x0]['padStart'](0x2,'0'),_0x1a5a88=_0x4f46d4[0x1]['padStart'](0x2,'0'),_0x265fca=_0x4f46d4[0x2]?_0x4f46d4[0x2]['split']('.')[0x0][_0x68169d(0xd0)](0x2,'0'):'00',_0x393088={'HH:mm':_0x21d4f9+':'+_0x1a5a88,'HH:mm:ss':_0x21d4f9+':'+_0x1a5a88+':'+_0x265fca,'hh:mm':_0x21d4f9+':'+_0x1a5a88};return _0x393088[_0x2cf704]||_0x21d4f9+':'+_0x1a5a88+':'+_0x265fca;}}module[a0_0x31e7e9(0xc9)]=DateTimeFormatter;
@@ -1 +1 @@
1
- const a0_0x8c521=a0_0x50f6;(function(_0x50603f,_0x5f5cc1){const _0x5416a8=a0_0x50f6,_0x3c9a24=_0x50603f();while(!![]){try{const _0x3cca29=-parseInt(_0x5416a8(0xd6))/0x1*(parseInt(_0x5416a8(0xee))/0x2)+-parseInt(_0x5416a8(0xdf))/0x3*(-parseInt(_0x5416a8(0xe3))/0x4)+parseInt(_0x5416a8(0xed))/0x5+parseInt(_0x5416a8(0xf0))/0x6*(parseInt(_0x5416a8(0xfa))/0x7)+parseInt(_0x5416a8(0xef))/0x8*(parseInt(_0x5416a8(0xe6))/0x9)+-parseInt(_0x5416a8(0xd8))/0xa*(-parseInt(_0x5416a8(0xf8))/0xb)+parseInt(_0x5416a8(0xdb))/0xc*(-parseInt(_0x5416a8(0xe8))/0xd);if(_0x3cca29===_0x5f5cc1)break;else _0x3c9a24['push'](_0x3c9a24['shift']());}catch(_0x42399c){_0x3c9a24['push'](_0x3c9a24['shift']());}}}(a0_0x15ba,0x3b390));class DateTimeParser{static[a0_0x8c521(0xf3)](_0x40d5d2,_0x207666,_0x507bdf){const _0x3d209b=a0_0x8c521,_0x3f28c2={'vufmZ':function(_0x3f3d77,_0x280415){return _0x3f3d77===_0x280415;},'dorqC':'date','NCgiH':'timestamp','vIhAy':'time'};if(!_0x40d5d2||_0x40d5d2==='')return null;try{if(_0x3f28c2[_0x3d209b(0xd7)](_0x507bdf,_0x3f28c2[_0x3d209b(0xf9)]))return this[_0x3d209b(0xd9)](_0x40d5d2,_0x207666);else{if(_0x507bdf===_0x3f28c2[_0x3d209b(0xe0)])return this['parseTimestamp'](_0x40d5d2,_0x207666);else{if(_0x507bdf===_0x3f28c2[_0x3d209b(0xe4)])return this['parseTime'](_0x40d5d2,_0x207666);}}return _0x40d5d2;}catch(_0x3b00e2){return console[_0x3d209b(0xf6)]('Error\x20parsing\x20datetime:\x20'+_0x3b00e2['message']),null;}}static[a0_0x8c521(0xd9)](_0x449c31,_0x4035ea){const _0x502104=a0_0x8c521,_0x10e698={'clQJP':function(_0x1ed3a4,_0x182941){return _0x1ed3a4+_0x182941;},'PAimw':'yyyy-MM-dd','Dzcin':_0x502104(0xd4),'zczNS':'year','BsUEx':'day'};if(!_0x4035ea||_0x4035ea===_0x10e698[_0x502104(0xf4)])return _0x449c31;const _0x1e5385={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['day',_0x10e698['Dzcin'],_0x502104(0xf1)]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day',_0x10e698['Dzcin'],_0x10e698['zczNS']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x502104(0xd4),_0x502104(0xf7),_0x10e698['zczNS']]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':['year',_0x502104(0xd4),_0x10e698[_0x502104(0xe1)]]}},_0x455856=_0x1e5385[_0x4035ea];if(!_0x455856)return console[_0x502104(0xe5)]('Unknown\x20date\x20format:\x20'+_0x4035ea+_0x502104(0xe9)),null;const _0x4bb81f=_0x449c31['match'](_0x455856[_0x502104(0xde)]);if(!_0x4bb81f)return console['warn']('Date\x20value\x20\x22'+_0x449c31+_0x502104(0xdd)+_0x4035ea+'\x22'),null;const _0x4fbcdc={'day':null,'month':null,'year':null};return _0x455856['order']['forEach']((_0x5689d1,_0xb62fde)=>{const _0x195731=_0x502104;_0x4fbcdc[_0x5689d1]=_0x4bb81f[_0x10e698[_0x195731(0xdc)](_0xb62fde,0x1)];}),_0x4fbcdc['year']+'-'+_0x4fbcdc['month']+'-'+_0x4fbcdc['day'];}static[a0_0x8c521(0xf5)](_0x1926df,_0x5adaf0){const _0x11d6d1=a0_0x8c521,_0x26ce6a={'MPAxi':_0x11d6d1(0xda)};if(!_0x5adaf0||_0x5adaf0===_0x26ce6a['MPAxi'])return _0x1926df;const _0x2d66db=_0x1926df[_0x11d6d1(0xea)]('\x20');if(_0x2d66db[_0x11d6d1(0xe7)]!==0x2)return console['warn'](_0x11d6d1(0xec)+_0x1926df),null;const [_0x432b1a,_0x261316]=_0x2d66db,_0xa45ca6=_0x5adaf0[_0x11d6d1(0xea)]('\x20')[0x0],_0x34face=this[_0x11d6d1(0xd9)](_0x432b1a,_0xa45ca6);if(!_0x34face)return null;const _0x229640=_0x261316['split'](':')['length']===0x2?_0x261316+':00':_0x261316;return _0x34face+'\x20'+_0x229640;}static['parseTime'](_0x2f341d,_0x49de6f){const _0x1fe5bb=a0_0x8c521,_0x2da988={'AXCho':function(_0x4f1b81,_0x1d2f0e){return _0x4f1b81===_0x1d2f0e;},'MgWYv':'HH:mm'};if(!_0x49de6f||_0x2da988['AXCho'](_0x49de6f,_0x1fe5bb(0xd5)))return _0x2f341d;if(_0x2da988[_0x1fe5bb(0xf2)](_0x49de6f,_0x2da988[_0x1fe5bb(0xeb)])){if(_0x2f341d['match'](/^\d{2}:\d{2}$/))return _0x2f341d+':00';}return _0x2f341d;}}function a0_0x50f6(_0x21eec7,_0x451bc3){_0x21eec7=_0x21eec7-0xd4;const _0x15ba25=a0_0x15ba();let _0x50f657=_0x15ba25[_0x21eec7];if(a0_0x50f6['tUIMTL']===undefined){var _0xb6e0bd=function(_0x22205f){const _0x4d8ba6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f03ed='',_0x44d7a4='';for(let _0xd1b6a0=0x0,_0x2b01d4,_0x228206,_0x41b196=0x0;_0x228206=_0x22205f['charAt'](_0x41b196++);~_0x228206&&(_0x2b01d4=_0xd1b6a0%0x4?_0x2b01d4*0x40+_0x228206:_0x228206,_0xd1b6a0++%0x4)?_0x5f03ed+=String['fromCharCode'](0xff&_0x2b01d4>>(-0x2*_0xd1b6a0&0x6)):0x0){_0x228206=_0x4d8ba6['indexOf'](_0x228206);}for(let _0x3723d1=0x0,_0x5e88d1=_0x5f03ed['length'];_0x3723d1<_0x5e88d1;_0x3723d1++){_0x44d7a4+='%'+('00'+_0x5f03ed['charCodeAt'](_0x3723d1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44d7a4);};a0_0x50f6['XgFPDM']=_0xb6e0bd,a0_0x50f6['KijAog']={},a0_0x50f6['tUIMTL']=!![];}const _0x44ab1d=_0x15ba25[0x0],_0x295a96=_0x21eec7+_0x44ab1d,_0x550e3b=a0_0x50f6['KijAog'][_0x295a96];return!_0x550e3b?(_0x50f657=a0_0x50f6['XgFPDM'](_0x50f657),a0_0x50f6['KijAog'][_0x295a96]=_0x50f657):_0x50f657=_0x550e3b,_0x50f657;}module[a0_0x8c521(0xe2)]=DateTimeParser;function a0_0x15ba(){const _0x5e36a4=['qNnvrxG','zxHWB3j0CW','mJy4sgX2qxDI','DKLOqxK','D2fYBG','mJa3vffZrgLs','BgvUz3rO','mte2nZe2otLOrgvRu1O','lcbYzxr1CM5PBMCGBNvSBa','C3bSAxq','twDxwxy','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','mtu0ota3mgHwqvnWsW','mJzetNHpDgm','mJiYng1KC2DItq','mta4A1fNr3Hv','EwvHCG','qvHdAg8','CgfYC2u','uefPBxC','CgfYC2vuAw1LC3rHBxa','zxjYB3i','zgf5','nda0ntCWmwPhBururG','zg9YCum','nJa2odn3wKfpBvu','Bw9UDgG','seG6Bw06C3m','mtm2nMHnsLzryq','DNvMBvO','mtbyBvLgvg0','CgfYC2veyxrL','ExL5Es1nts1KzcbisdPTBtPZCW','mtjOA3DMzMq','y2XrsLa','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','Cgf0DgvYBG','mtqYndr3uxzerhm','tKnNAuG'];a0_0x15ba=function(){return _0x5e36a4;};return a0_0x15ba();}
1
+ const a0_0x569a9d=a0_0x2d2f;(function(_0x2ca948,_0x44b3a1){const _0x39ee64=a0_0x2d2f,_0x54413a=_0x2ca948();while(!![]){try{const _0x295355=parseInt(_0x39ee64(0x175))/0x1*(parseInt(_0x39ee64(0x180))/0x2)+-parseInt(_0x39ee64(0x189))/0x3+-parseInt(_0x39ee64(0x17a))/0x4*(parseInt(_0x39ee64(0x17d))/0x5)+parseInt(_0x39ee64(0x17b))/0x6*(parseInt(_0x39ee64(0x18b))/0x7)+parseInt(_0x39ee64(0x184))/0x8*(-parseInt(_0x39ee64(0x178))/0x9)+-parseInt(_0x39ee64(0x18d))/0xa+parseInt(_0x39ee64(0x17c))/0xb;if(_0x295355===_0x44b3a1)break;else _0x54413a['push'](_0x54413a['shift']());}catch(_0x2bb720){_0x54413a['push'](_0x54413a['shift']());}}}(a0_0xe0c1,0x258eb));class DateTimeParser{static['parse'](_0x76ce5b,_0x1da521,_0x52508b){const _0x5b8ba3=a0_0x2d2f,_0x100c98={'EmEOy':'time'};if(!_0x76ce5b||_0x76ce5b==='')return null;try{if(_0x52508b===_0x5b8ba3(0x18f))return this[_0x5b8ba3(0x172)](_0x76ce5b,_0x1da521);else{if(_0x52508b==='timestamp')return this[_0x5b8ba3(0x181)](_0x76ce5b,_0x1da521);else{if(_0x52508b===_0x100c98['EmEOy'])return this['parseTime'](_0x76ce5b,_0x1da521);}}return _0x76ce5b;}catch(_0x22afdb){return console[_0x5b8ba3(0x173)]('Error\x20parsing\x20datetime:\x20'+_0x22afdb['message']),null;}}static['parseDate'](_0x1a3107,_0x531417){const _0x309996=a0_0x2d2f,_0x21e6f8={'RkmAp':function(_0x44800e,_0x3bea37){return _0x44800e===_0x3bea37;},'WYmdj':'month','ETguD':_0x309996(0x190),'yVUxP':'day'};if(!_0x531417||_0x21e6f8[_0x309996(0x17e)](_0x531417,_0x309996(0x182)))return _0x1a3107;const _0x1c6ae0={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['day',_0x21e6f8['WYmdj'],_0x21e6f8[_0x309996(0x177)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day',_0x21e6f8['WYmdj'],'year']},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x21e6f8['yVUxP'],_0x309996(0x190)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x309996(0x190),_0x21e6f8['WYmdj'],'day']}},_0x1500e7=_0x1c6ae0[_0x531417];if(!_0x1500e7)return console[_0x309996(0x183)]('Unknown\x20date\x20format:\x20'+_0x531417+_0x309996(0x18e)),null;const _0x72bec0=_0x1a3107['match'](_0x1500e7['pattern']);if(!_0x72bec0)return console[_0x309996(0x183)]('Date\x20value\x20\x22'+_0x1a3107+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x531417+'\x22'),null;const _0x2266ec={'day':null,'month':null,'year':null};return _0x1500e7[_0x309996(0x17f)][_0x309996(0x174)]((_0x152039,_0x33df96)=>{_0x2266ec[_0x152039]=_0x72bec0[_0x33df96+0x1];}),_0x2266ec[_0x309996(0x190)]+'-'+_0x2266ec[_0x309996(0x188)]+'-'+_0x2266ec['day'];}static[a0_0x569a9d(0x181)](_0x12f849,_0xdcec59){const _0x2d2fbb=a0_0x569a9d,_0x307519={'DMQan':function(_0x45c13c,_0xe15f6e){return _0x45c13c!==_0xe15f6e;},'kxmSh':function(_0x1c7441,_0x596a5d){return _0x1c7441===_0x596a5d;}};if(!_0xdcec59||_0xdcec59===_0x2d2fbb(0x185))return _0x12f849;const _0x31bc8a=_0x12f849[_0x2d2fbb(0x18c)]('\x20');if(_0x307519['DMQan'](_0x31bc8a[_0x2d2fbb(0x187)],0x2))return console['warn']('Invalid\x20timestamp\x20format:\x20'+_0x12f849),null;const [_0x283790,_0x3e6f16]=_0x31bc8a,_0x16703e=_0xdcec59[_0x2d2fbb(0x18c)]('\x20')[0x0],_0xf1f555=this['parseDate'](_0x283790,_0x16703e);if(!_0xf1f555)return null;const _0x100593=_0x307519['kxmSh'](_0x3e6f16['split'](':')[_0x2d2fbb(0x187)],0x2)?_0x3e6f16+_0x2d2fbb(0x186):_0x3e6f16;return _0xf1f555+'\x20'+_0x100593;}static[a0_0x569a9d(0x179)](_0x454269,_0x4bb19b){const _0x35b328=a0_0x569a9d,_0x5b0feb={'MZdjx':function(_0x5ea809,_0x25e608){return _0x5ea809===_0x25e608;}};if(!_0x4bb19b||_0x5b0feb['MZdjx'](_0x4bb19b,_0x35b328(0x176)))return _0x454269;if(_0x4bb19b==='HH:mm'){if(_0x454269[_0x35b328(0x18a)](/^\d{2}:\d{2}$/))return _0x454269+':00';}return _0x454269;}}function a0_0x2d2f(_0x2fdb99,_0x562420){_0x2fdb99=_0x2fdb99-0x172;const _0xe0c12a=a0_0xe0c1();let _0x2d2f24=_0xe0c12a[_0x2fdb99];if(a0_0x2d2f['iYxWsb']===undefined){var _0x752637=function(_0x56b29d){const _0x103b95='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x318e7d='',_0x1ca334='';for(let _0x1f4b8b=0x0,_0x307d8b,_0x224881,_0x1eae52=0x0;_0x224881=_0x56b29d['charAt'](_0x1eae52++);~_0x224881&&(_0x307d8b=_0x1f4b8b%0x4?_0x307d8b*0x40+_0x224881:_0x224881,_0x1f4b8b++%0x4)?_0x318e7d+=String['fromCharCode'](0xff&_0x307d8b>>(-0x2*_0x1f4b8b&0x6)):0x0){_0x224881=_0x103b95['indexOf'](_0x224881);}for(let _0x3b4cce=0x0,_0x2ca1cc=_0x318e7d['length'];_0x3b4cce<_0x2ca1cc;_0x3b4cce++){_0x1ca334+='%'+('00'+_0x318e7d['charCodeAt'](_0x3b4cce)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ca334);};a0_0x2d2f['NDvIUE']=_0x752637,a0_0x2d2f['RZIFkW']={},a0_0x2d2f['iYxWsb']=!![];}const _0x151bd7=_0xe0c12a[0x0],_0x4f497c=_0x2fdb99+_0x151bd7,_0x8b571d=a0_0x2d2f['RZIFkW'][_0x4f497c];return!_0x8b571d?(_0x2d2f24=a0_0x2d2f['NDvIUE'](_0x2d2f24),a0_0x2d2f['RZIFkW'][_0x4f497c]=_0x2d2f24):_0x2d2f24=_0x8b571d,_0x2d2f24;}module['exports']=DateTimeParser;function a0_0xe0c1(){const _0x449c81=['Bwf0y2G','mJfpseDfDKO','C3bSAxq','mtC5nJy1mffkww92sG','lcbYzxr1CM5PBMCGBNvSBa','zgf0zq','EwvHCG','CgfYC2veyxrL','zxjYB3i','zM9YrwfJAa','mNvmvw5LtG','seG6Bw06C3m','rvrNDuq','ounzvhLgqG','CgfYC2vuAw1L','ndK2oefmwePhsq','mZGYndCWAgvXrxHq','nZy2ndy3oxPqvMfMBa','nte1qNj2teff','uMTTqxa','B3jKzxi','ndyYmJHjvgnws1a','CgfYC2vuAw1LC3rHBxa','ExL5Es1nts1Kza','D2fYBG','mtm3mJa5nMP6ruLjwq','ExL5Es1nts1KzcbisdPTBtPZCW','oJaW','BgvUz3rO','Bw9UDgG','otaZotqYyunOBgnN'];a0_0xe0c1=function(){return _0x449c81;};return a0_0xe0c1();}
@@ -1 +1 @@
1
- const a0_0x4409f6=a0_0x4d30;function a0_0x4d30(_0x29dd4d,_0x5b4c3a){_0x29dd4d=_0x29dd4d-0x11d;const _0x3a2296=a0_0x3a22();let _0x4d30a9=_0x3a2296[_0x29dd4d];if(a0_0x4d30['wQsOcF']===undefined){var _0x1ef681=function(_0x5598e6){const _0x35ca4f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c3066='',_0x4a8641='';for(let _0x1edfa5=0x0,_0x46c8b1,_0x3ffe89,_0x1c5db0=0x0;_0x3ffe89=_0x5598e6['charAt'](_0x1c5db0++);~_0x3ffe89&&(_0x46c8b1=_0x1edfa5%0x4?_0x46c8b1*0x40+_0x3ffe89:_0x3ffe89,_0x1edfa5++%0x4)?_0x3c3066+=String['fromCharCode'](0xff&_0x46c8b1>>(-0x2*_0x1edfa5&0x6)):0x0){_0x3ffe89=_0x35ca4f['indexOf'](_0x3ffe89);}for(let _0x3d0dcc=0x0,_0x42ae41=_0x3c3066['length'];_0x3d0dcc<_0x42ae41;_0x3d0dcc++){_0x4a8641+='%'+('00'+_0x3c3066['charCodeAt'](_0x3d0dcc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a8641);};a0_0x4d30['ADTdHB']=_0x1ef681,a0_0x4d30['mradnE']={},a0_0x4d30['wQsOcF']=!![];}const _0x3eafe3=_0x3a2296[0x0],_0x25d017=_0x29dd4d+_0x3eafe3,_0x1074ac=a0_0x4d30['mradnE'][_0x25d017];return!_0x1074ac?(_0x4d30a9=a0_0x4d30['ADTdHB'](_0x4d30a9),a0_0x4d30['mradnE'][_0x25d017]=_0x4d30a9):_0x4d30a9=_0x1074ac,_0x4d30a9;}(function(_0x44a7d5,_0x3befc8){const _0x4057ab=a0_0x4d30,_0x1b8114=_0x44a7d5();while(!![]){try{const _0x307114=parseInt(_0x4057ab(0x145))/0x1*(parseInt(_0x4057ab(0x160))/0x2)+-parseInt(_0x4057ab(0x132))/0x3+parseInt(_0x4057ab(0x15a))/0x4+-parseInt(_0x4057ab(0x159))/0x5*(-parseInt(_0x4057ab(0x141))/0x6)+-parseInt(_0x4057ab(0x12d))/0x7*(parseInt(_0x4057ab(0x155))/0x8)+-parseInt(_0x4057ab(0x146))/0x9*(-parseInt(_0x4057ab(0x140))/0xa)+-parseInt(_0x4057ab(0x15d))/0xb;if(_0x307114===_0x3befc8)break;else _0x1b8114['push'](_0x1b8114['shift']());}catch(_0x59ef88){_0x1b8114['push'](_0x1b8114['shift']());}}}(a0_0x3a22,0x7b5c3));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process['env']['DB_HOST']||a0_0x4409f6(0x135),'port':parseInt(process[a0_0x4409f6(0x152)][a0_0x4409f6(0x149)]||'5432'),'user':process[a0_0x4409f6(0x152)][a0_0x4409f6(0x12c)]||a0_0x4409f6(0x164),'password':process['env']['DB_PASSWORD']||a0_0x4409f6(0x138),'database':process[a0_0x4409f6(0x152)]['DB_NAME']||a0_0x4409f6(0x131)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig['database'],'type':'postgresql','user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0xd13ca3=a0_0x4409f6,_0x1bd1d4={'NaDNQ':_0xd13ca3(0x13f)};return isPoolClosed&&(logger['info']({'event':_0x1bd1d4[_0xd13ca3(0x14e)]},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x389805,_0x591081=[]){const _0x58f06e=a0_0x4409f6,_0x3b109d={'spAGK':function(_0x3e4096){return _0x3e4096();},'XQJDa':function(_0x481ae9,_0x989d20,_0x16a03a,_0x6e6aea){return _0x481ae9(_0x989d20,_0x16a03a,_0x6e6aea);},'yKTcD':function(_0x94a2c,_0x81a2b9,_0x45cc50,_0x5c330a){return _0x94a2c(_0x81a2b9,_0x45cc50,_0x5c330a);},'Zztol':_0x58f06e(0x133)},_0x113123=_0x3b109d['spAGK'](startQueryTimer);try{const _0x54493e=getPool(),_0x24487e=await _0x54493e[_0x58f06e(0x150)]();try{const _0x303b1c=await _0x24487e['query'](_0x389805,_0x591081),_0x5356c4=_0x3b109d['spAGK'](_0x113123);return _0x3b109d[_0x58f06e(0x11f)](logQuery,_0x389805,_0x591081,{'duration':_0x5356c4,'rowsAffected':_0x303b1c[_0x58f06e(0x122)],'dbType':_0x58f06e(0x13c)}),_0x303b1c[_0x58f06e(0x15f)];}finally{_0x24487e[_0x58f06e(0x129)]();}}catch(_0xf95844){const _0x8c67f1=_0x113123();_0x3b109d['yKTcD'](logError,_0xf95844,{'event':_0x3b109d[_0x58f06e(0x147)],'query':_0x389805['substring'](0x0,0x1f4),'paramCount':_0x591081[_0x58f06e(0x121)],'durationMs':_0x8c67f1,'code':_0xf95844[_0x58f06e(0x142)],'dbType':_0x58f06e(0x13c)},'SQL\x20Error:\x20'+_0xf95844[_0x58f06e(0x14d)]);throw _0xf95844;}}function formatResponse(_0x111331,_0x3d2a06=null){const _0x28e22e=a0_0x4409f6,_0x15cc69={'hjgCq':'syntax\x20error','lzPqY':'SYNTAX_ERROR','xCvgg':function(_0x43c46a,_0x37818a){return _0x43c46a===_0x37818a;},'cpRdL':'28P01','jFkMC':function(_0x32e415,_0x2f9a1c){return _0x32e415===_0x2f9a1c;},'oZeFY':_0x28e22e(0x157),'gSPnm':'08001','YteZR':function(_0x36123f,_0x46d405){return _0x36123f===_0x46d405;},'zdrxO':_0x28e22e(0x15b),'POLvc':function(_0x517671,_0x39383c){return _0x517671===_0x39383c;}};if(_0x3d2a06){let _0x190c75='UNKNOWN_ERROR';if(_0x3d2a06[_0x28e22e(0x14d)]['includes'](_0x15cc69['hjgCq']))_0x190c75=_0x15cc69[_0x28e22e(0x126)];else{if(_0x3d2a06[_0x28e22e(0x142)]===_0x28e22e(0x13e))_0x190c75=_0x28e22e(0x158);else{if(_0x15cc69[_0x28e22e(0x120)](_0x3d2a06['code'],_0x15cc69['cpRdL']))_0x190c75=_0x28e22e(0x12e);else(_0x15cc69['jFkMC'](_0x3d2a06[_0x28e22e(0x142)],_0x15cc69[_0x28e22e(0x153)])||_0x3d2a06[_0x28e22e(0x142)]===_0x15cc69['gSPnm'])&&(_0x190c75='CONNECTION_ERROR');}}return{'success':![],'message':_0x28e22e(0x151)+_0x3d2a06[_0x28e22e(0x14d)],'count':-0x1,'error_code':_0x190c75};}else{if(!_0x111331||_0x15cc69[_0x28e22e(0x13b)](_0x111331['length'],0x0))return{'success':!![],'message':_0x15cc69[_0x28e22e(0x130)],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x111331['length']+'\x20row'+(_0x15cc69[_0x28e22e(0x123)](_0x111331[_0x28e22e(0x121)],0x1)?'':'s')+'.','count':_0x111331[_0x28e22e(0x121)],'data':_0x111331};}}async function closePool(){const _0x4752ae=a0_0x4409f6,_0x5867c9={'LRZkp':function(_0xe9886b,_0x4da79b,_0x573ca3,_0x2ea8e0){return _0xe9886b(_0x4da79b,_0x573ca3,_0x2ea8e0);},'RIDJn':'db_pool_close_error'};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x4752ae(0x162)](),logger['info']({'event':_0x4752ae(0x12a)},_0x4752ae(0x15c));}catch(_0x4c1c26){_0x5867c9[_0x4752ae(0x13a)](logError,_0x4c1c26,{'event':_0x5867c9[_0x4752ae(0x127)]},'Error\x20closing\x20database\x20pool:\x20'+_0x4c1c26[_0x4752ae(0x14d)]);}else logger[_0x4752ae(0x144)]({'event':'db_pool_already_closed'},_0x4752ae(0x143));}async function checkConnection(){const _0x36c973=a0_0x4409f6,_0x4b15ce={'VVbgR':function(_0x1aabd5,_0x20e8ba,_0x297ca2,_0x4a4172){return _0x1aabd5(_0x20e8ba,_0x297ca2,_0x4a4172);},'BAYqd':_0x36c973(0x163)};try{const _0x1e0c9c=getPool(),_0x8cfeb2=await _0x1e0c9c['connect']();try{return await _0x8cfeb2[_0x36c973(0x14f)]('SELECT\x201'),!![];}finally{_0x8cfeb2['release']();}}catch(_0x31bf79){return _0x4b15ce['VVbgR'](logError,_0x31bf79,{'event':_0x4b15ce['BAYqd']},'Error\x20checking\x20database\x20connection:\x20'+_0x31bf79[_0x36c973(0x14d)]),![];}}async function executeTransaction(_0x279552){const _0x1a3c44=a0_0x4409f6,_0x347ec8={'VEwjA':_0x1a3c44(0x136),'xeICk':function(_0x586714){return _0x586714();},'iFFkW':function(_0x4af76f){return _0x4af76f();},'XqWRA':'postgresql','DnjZd':'COMMIT','JuPZH':_0x1a3c44(0x14c),'jrwIQ':function(_0x4034e5){return _0x4034e5();},'zZJUd':function(_0x2cbfa6,_0x1c4290,_0x4bf7c6,_0x4fbf5c){return _0x2cbfa6(_0x1c4290,_0x4bf7c6,_0x4fbf5c);},'NnAtK':_0x1a3c44(0x134),'iaMOt':_0x1a3c44(0x154),'KyQyR':_0x1a3c44(0x156),'alqRA':'client_release_error'};let _0x3a4185;const _0x4851fc=startQueryTimer();try{const _0x37fbfc=getPool();_0x3a4185=await _0x37fbfc['connect'](),logTransaction(_0x1a3c44(0x14a),_0x279552['length']),await _0x3a4185['query'](_0x347ec8['VEwjA']);const _0x1d7f96=[];for(const _0x3515b9 of _0x279552){const _0x442779=_0x347ec8['xeICk'](startQueryTimer),_0x31c26d=await _0x3a4185['query'](_0x3515b9['sql'],_0x3515b9['params']||[]),_0x257bae=_0x347ec8['iFFkW'](_0x442779);logQuery(_0x3515b9[_0x1a3c44(0x139)],_0x3515b9[_0x1a3c44(0x148)]||[],{'duration':_0x257bae,'rowsAffected':_0x31c26d['rowCount'],'dbType':_0x347ec8[_0x1a3c44(0x13d)]}),_0x1d7f96[_0x1a3c44(0x125)](_0x31c26d['rows']);}await _0x3a4185['query'](_0x347ec8['DnjZd']);const _0x53eb99=_0x4851fc();return logTransaction(_0x347ec8[_0x1a3c44(0x11e)],_0x279552['length']),logger['info']({'event':_0x1a3c44(0x15e),'queryCount':_0x279552['length'],'totalDurationMs':_0x53eb99,'dbType':_0x1a3c44(0x13c)},_0x1a3c44(0x14b)+_0x53eb99+'ms,\x20'+_0x279552[_0x1a3c44(0x121)]+_0x1a3c44(0x12b)),_0x1d7f96;}catch(_0xd4f2e1){const _0x47c3da=_0x347ec8[_0x1a3c44(0x11d)](_0x4851fc);_0x347ec8['zZJUd'](logError,_0xd4f2e1,{'event':_0x347ec8['NnAtK'],'queryCount':_0x279552['length'],'totalDurationMs':_0x47c3da,'code':_0xd4f2e1[_0x1a3c44(0x142)],'dbType':_0x347ec8[_0x1a3c44(0x13d)]},_0x1a3c44(0x128)+_0xd4f2e1['message']);if(_0x3a4185)try{await _0x3a4185['query']('ROLLBACK'),logTransaction(_0x347ec8[_0x1a3c44(0x137)],_0x279552['length']);}catch(_0x5247dd){logError(_0x5247dd,{'event':_0x347ec8['KyQyR'],'dbType':'postgresql'},_0x1a3c44(0x161)+_0x5247dd[_0x1a3c44(0x14d)]);}throw _0xd4f2e1;}finally{if(_0x3a4185)try{_0x3a4185[_0x1a3c44(0x129)]();}catch(_0x500347){logger[_0x1a3c44(0x12f)]({'event':_0x347ec8[_0x1a3c44(0x124)],'error':_0x500347[_0x1a3c44(0x14d)],'dbType':_0x1a3c44(0x13c)},'Error\x20releasing\x20transaction\x20client:\x20'+_0x500347[_0x1a3c44(0x14d)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};function a0_0x3a22(){const _0x236bc8=['sNvqwKG','wffkrge','Een2z2C','BgvUz3rO','CM93q291BNq','ue9mDMm','ywXXuKe','ChvZAa','BhPqCvK','uKLesM4','vhjHBNnHy3rPB24GzMfPBgvKoIa','CMvSzwfZzq','zgjFCg9VBf9JBg9Zzwq','ihf1zxjPzxmP','rejFvvnfuG','mtrLCg9LCgK','qvvusevoveLdqvrjt05Frvjst1i','zxjYB3i','EMrYEe8','zgj4ytaZ','mteYmtDsCMDcCNC','C3fSx2vYCM9Y','DhjHBNnHy3rPB25FzxjYB3i','mtKYlJe2oc4XmdaUmq','qKvhsu4','Awfnt3q','Cg9ZDgDYzxmXmJm0','C3fS','tfjAA3a','wxrLwLi','Cg9ZDgDYzxnXBa','whfxuKe','ndjqmde','zgjFCg9VBf9YzwnYzwf0zq','mZGWyMT1EuD6','mtHYrujeqwq','y29Kzq','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','zgvIDwC','mufHsejcrG','odGWndDRy0f3AKq','wNP0B2W','CgfYyw1Z','rejFue9sva','C3rHCNq','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','y29TBwL0','BwvZC2fNzq','tMfetLe','CxvLCNK','y29UBMvJDa','rgf0ywjHC2uGzxjYB3i6ia','zw52','B1PLrLK','CM9SBgjHy2S','ntiZntKYzKziwfbN','CM9SBgjHy2TFzxjYB3i','mdGWmdy','vefctevFtK9ux0zpvu5e','nte2nJm1re5bwfj5','mtC1oda4neTczLjkvW','tM8Gzgf0ysbMB3vUzc4','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','mtyZmdi0mJL2tMPMwhy','DhjHBNnHy3rPB25Fy29TCgXLDgu','CM93CW','mJaWmtqWnNH1yuXxzW','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','zw5K','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','Cg9ZDgDYzxm','ANj3sve'];a0_0x3a22=function(){return _0x236bc8;};return a0_0x3a22();}
1
+ const a0_0x1832d1=a0_0x4b83;(function(_0x121c4b,_0x34abcd){const _0x38d9fd=a0_0x4b83,_0x4e6ba7=_0x121c4b();while(!![]){try{const _0x176870=-parseInt(_0x38d9fd(0x1de))/0x1*(-parseInt(_0x38d9fd(0x1f4))/0x2)+-parseInt(_0x38d9fd(0x209))/0x3+-parseInt(_0x38d9fd(0x1d7))/0x4+-parseInt(_0x38d9fd(0x20b))/0x5+parseInt(_0x38d9fd(0x20e))/0x6*(-parseInt(_0x38d9fd(0x1dd))/0x7)+parseInt(_0x38d9fd(0x20a))/0x8*(-parseInt(_0x38d9fd(0x1e1))/0x9)+parseInt(_0x38d9fd(0x214))/0xa;if(_0x176870===_0x34abcd)break;else _0x4e6ba7['push'](_0x4e6ba7['shift']());}catch(_0x4a04ca){_0x4e6ba7['push'](_0x4e6ba7['shift']());}}}(a0_0x4e9c,0x2da10));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x1832d1(0x1e6)]['DB_HOST']||'192.168.100.1','port':parseInt(process['env']['DB_PORT']||a0_0x1832d1(0x208)),'user':process['env']['DB_USER']||'postgres','password':process[a0_0x1832d1(0x1e6)]['DB_PASSWORD']||'postgres1234','database':process[a0_0x1832d1(0x1e6)]['DB_NAME']||a0_0x1832d1(0x1eb)};logDatabaseConfig({'host':dbConfig[a0_0x1832d1(0x1d4)],'port':dbConfig['port'],'database':dbConfig[a0_0x1832d1(0x1f3)],'type':'postgresql','user':dbConfig[a0_0x1832d1(0x1fc)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){return isPoolClosed&&(logger['info']({'event':'db_pool_recreate'},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x153afd,_0x39cfc9=[]){const _0x123356=a0_0x1832d1,_0x3becdc={'Wjjiv':function(_0x1f0323){return _0x1f0323();},'CDqkh':function(_0x3243c3,_0x30afd9,_0x30c6db,_0x35830c){return _0x3243c3(_0x30afd9,_0x30c6db,_0x35830c);},'OJweB':_0x123356(0x1e3),'ktZMZ':function(_0xc57179){return _0xc57179();}},_0x16a91b=startQueryTimer();try{const _0x48d7cd=_0x3becdc['Wjjiv'](getPool),_0x5f1512=await _0x48d7cd['connect']();try{const _0x238f9b=await _0x5f1512[_0x123356(0x20c)](_0x153afd,_0x39cfc9),_0x79ef24=_0x16a91b();return _0x3becdc['CDqkh'](logQuery,_0x153afd,_0x39cfc9,{'duration':_0x79ef24,'rowsAffected':_0x238f9b[_0x123356(0x1ef)],'dbType':_0x3becdc['OJweB']}),_0x238f9b[_0x123356(0x1d5)];}finally{_0x5f1512[_0x123356(0x1e4)]();}}catch(_0x285e9c){const _0x4d9997=_0x3becdc[_0x123356(0x211)](_0x16a91b);logError(_0x285e9c,{'event':_0x123356(0x1d6),'query':_0x153afd[_0x123356(0x1e2)](0x0,0x1f4),'paramCount':_0x39cfc9['length'],'durationMs':_0x4d9997,'code':_0x285e9c[_0x123356(0x1f9)],'dbType':_0x123356(0x1e3)},'SQL\x20Error:\x20'+_0x285e9c['message']);throw _0x285e9c;}}function a0_0x4e9c(){const _0x1c4ff6=['rgf0ywjHC2uGzxjYB3i6ia','Cg1WANK','tM8Gzgf0ysbMB3vUzc4','DKfiEM4','zgj4ytaZ','Aw5MBW','wNHZsue','swzSwwK','CM93q291BNq','y3jPv2u','q09otKvdveLptL9fuLjpuG','twnnvhq','zgf0ywjHC2u','nZuZmhf3DxbrtW','ChvZAa','CgfYyw1Z','u1Lovefyx0vsuK9s','uK9mtejbq0S','y29Kzq','q2rtsLO','y29TBwL0','DxnLCG','vhjHBNnHy3rPB24GzMfPBgvKoIa','BgvUz3rO','Eu50DKm','C3rHCNq','Aw5JBhvKzxm','BwvZC2fNzq','veLzzuS','u0vmrunuide','reHVCxm','sxDdC1u','zgvIDwC','ntqZmG','mZiWmde2v1LcvgzH','mtz3t1zWEKW','nti1odCWAwDbyMvp','CxvLCNK','y29UBMvJDa','mtK4yM5WCvHm','ihjVDW','vefctevFtK9ux0zpvu5e','A3rAtvO','q09ntuLu','BxmSia','ody0ntCWmef5B21kra','DhjHBNnHy3rPB25Fy29TCgXLDgu','y2XPzw50x3jLBgvHC2vFzxjYB3i','CM9SBgjHy2S','u1jezhy','r0jPy0e','Ag9ZDa','CM93CW','C3fSx2vYCM9Y','nZm0mtmYCMvRBMf6','CM9SBgjHy2TFzxjYB3i','zgjFCg9VBf9JBg9Zzv9LCNjVCG','mdGWmdy','zw5K','mdGWmde','ntC5mtf4BuHZBLK','ndryExbjz0C','C3LUDgf4igvYCM9Y','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','nZG3mJu3s3Pwzw1M','C3vIC3rYAw5N','Cg9ZDgDYzxnXBa','CMvSzwfZzq','mJHqmde','zw52'];a0_0x4e9c=function(){return _0x1c4ff6;};return a0_0x4e9c();}function formatResponse(_0x3541d6,_0xc06f1a=null){const _0x3ae95=a0_0x1832d1,_0xf5b686={'McMTt':'UNKNOWN_ERROR','IwCsU':function(_0x460daa,_0x1a7008){return _0x460daa===_0x1a7008;},'saexa':_0x3ae95(0x1da)};if(_0xc06f1a){let _0x5e3401=_0xf5b686[_0x3ae95(0x1f2)];if(_0xc06f1a[_0x3ae95(0x202)][_0x3ae95(0x201)](_0x3ae95(0x1df)))_0x5e3401=_0x3ae95(0x1f7);else{if(_0xf5b686[_0x3ae95(0x206)](_0xc06f1a['code'],'42P01'))_0x5e3401=_0x3ae95(0x210);else{if(_0xf5b686['IwCsU'](_0xc06f1a[_0x3ae95(0x1f9)],_0x3ae95(0x1e5)))_0x5e3401='AUTHENTICATION_ERROR';else(_0xc06f1a[_0x3ae95(0x1f9)]===_0xf5b686['saexa']||_0xc06f1a[_0x3ae95(0x1f9)]===_0x3ae95(0x1dc))&&(_0x5e3401=_0x3ae95(0x1f1));}}return{'success':![],'message':_0x3ae95(0x1e7)+_0xc06f1a[_0x3ae95(0x202)],'count':-0x1,'error_code':_0x5e3401};}else{if(!_0x3541d6||_0x3541d6[_0x3ae95(0x1fe)]===0x0)return{'success':!![],'message':_0x3ae95(0x1e9),'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x3541d6[_0x3ae95(0x1fe)]+_0x3ae95(0x20f)+(_0xf5b686['IwCsU'](_0x3541d6['length'],0x1)?'':'s')+'.','count':_0x3541d6['length'],'data':_0x3541d6};}}function a0_0x4b83(_0x39adc4,_0x447d7f){_0x39adc4=_0x39adc4-0x1cf;const _0x4e9cfb=a0_0x4e9c();let _0x4b8366=_0x4e9cfb[_0x39adc4];if(a0_0x4b83['teWHnG']===undefined){var _0x5946a1=function(_0x5de133){const _0x5e3ea4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x586a76='',_0x1dcfaa='';for(let _0x4c141d=0x0,_0x2e33a0,_0xf48fdc,_0x151741=0x0;_0xf48fdc=_0x5de133['charAt'](_0x151741++);~_0xf48fdc&&(_0x2e33a0=_0x4c141d%0x4?_0x2e33a0*0x40+_0xf48fdc:_0xf48fdc,_0x4c141d++%0x4)?_0x586a76+=String['fromCharCode'](0xff&_0x2e33a0>>(-0x2*_0x4c141d&0x6)):0x0){_0xf48fdc=_0x5e3ea4['indexOf'](_0xf48fdc);}for(let _0x58b50d=0x0,_0x1eb58b=_0x586a76['length'];_0x58b50d<_0x1eb58b;_0x58b50d++){_0x1dcfaa+='%'+('00'+_0x586a76['charCodeAt'](_0x58b50d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1dcfaa);};a0_0x4b83['ASMmwx']=_0x5946a1,a0_0x4b83['JTvmTh']={},a0_0x4b83['teWHnG']=!![];}const _0x8e2d43=_0x4e9cfb[0x0],_0xea6146=_0x39adc4+_0x8e2d43,_0x5db861=a0_0x4b83['JTvmTh'][_0xea6146];return!_0x5db861?(_0x4b8366=a0_0x4b83['ASMmwx'](_0x4b8366),a0_0x4b83['JTvmTh'][_0xea6146]=_0x4b8366):_0x4b8366=_0x5db861,_0x4b8366;}async function closePool(){const _0x4ffe56=a0_0x1832d1,_0x5416c7={'SRZqf':'db_pool_closed','PioiO':'Database\x20pool\x20closed\x20successfully','CdSJZ':function(_0x446c6f,_0x4f3e33,_0x116a04,_0x63a35b){return _0x446c6f(_0x4f3e33,_0x116a04,_0x63a35b);}};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x4ffe56(0x1db)](),logger['info']({'event':_0x5416c7['SRZqf']},_0x5416c7['PioiO']);}catch(_0x194cc6){_0x5416c7[_0x4ffe56(0x1fa)](logError,_0x194cc6,{'event':_0x4ffe56(0x1d9)},'Error\x20closing\x20database\x20pool:\x20'+_0x194cc6['message']);}else logger[_0x4ffe56(0x207)]({'event':'db_pool_already_closed'},'Database\x20pool\x20was\x20already\x20closed');}async function checkConnection(){const _0x2aa2bd=a0_0x1832d1,_0x8c4178={'OlKev':function(_0x2334c5){return _0x2334c5();},'vAHzn':'db_connection_check_error'};try{const _0x1e7ef6=_0x8c4178['OlKev'](getPool),_0x25d606=await _0x1e7ef6[_0x2aa2bd(0x20d)]();try{return await _0x25d606['query'](_0x2aa2bd(0x204)),!![];}finally{_0x25d606[_0x2aa2bd(0x1e4)]();}}catch(_0x413fda){return logError(_0x413fda,{'event':_0x8c4178[_0x2aa2bd(0x1ea)]},'Error\x20checking\x20database\x20connection:\x20'+_0x413fda['message']),![];}}async function executeTransaction(_0x45cf3d){const _0x7440d2=a0_0x1832d1,_0x4ffe9c={'pmpjy':function(_0x5d7a2b,_0x358a2e,_0x5b8d79){return _0x5d7a2b(_0x358a2e,_0x5b8d79);},'TIYeK':'BEGIN','SRDdv':function(_0x24bbbb){return _0x24bbbb();},'IflYi':function(_0x367993,_0x5d2799,_0x231f81,_0x11d6f1){return _0x367993(_0x5d2799,_0x231f81,_0x11d6f1);},'ZxsIA':'postgresql','VvRZb':_0x7440d2(0x212),'GBicA':_0x7440d2(0x1fb),'DHoqs':_0x7440d2(0x1cf),'yNtvC':function(_0x143316){return _0x143316();},'TcKMQ':_0x7440d2(0x1d1),'criWe':_0x7440d2(0x1d0)};let _0x213689;const _0x556926=startQueryTimer();try{const _0x8ff0ac=getPool();_0x213689=await _0x8ff0ac['connect'](),_0x4ffe9c[_0x7440d2(0x1e8)](logTransaction,_0x7440d2(0x200),_0x45cf3d[_0x7440d2(0x1fe)]),await _0x213689[_0x7440d2(0x20c)](_0x4ffe9c[_0x7440d2(0x203)]);const _0x2fc112=[];for(const _0x487b3e of _0x45cf3d){const _0x2d4d57=_0x4ffe9c[_0x7440d2(0x1d2)](startQueryTimer),_0x526a20=await _0x213689[_0x7440d2(0x20c)](_0x487b3e['sql'],_0x487b3e[_0x7440d2(0x1f6)]||[]),_0x75ac2a=_0x2d4d57();_0x4ffe9c[_0x7440d2(0x1ee)](logQuery,_0x487b3e['sql'],_0x487b3e[_0x7440d2(0x1f6)]||[],{'duration':_0x75ac2a,'rowsAffected':_0x526a20[_0x7440d2(0x1ef)],'dbType':_0x4ffe9c[_0x7440d2(0x1ed)]}),_0x2fc112[_0x7440d2(0x1f5)](_0x526a20['rows']);}await _0x213689[_0x7440d2(0x20c)](_0x4ffe9c['VvRZb']);const _0x4897c1=_0x556926();return logTransaction(_0x4ffe9c[_0x7440d2(0x1d3)],_0x45cf3d['length']),logger[_0x7440d2(0x1ec)]({'event':_0x4ffe9c[_0x7440d2(0x205)],'queryCount':_0x45cf3d[_0x7440d2(0x1fe)],'totalDurationMs':_0x4897c1,'dbType':_0x4ffe9c[_0x7440d2(0x1ed)]},'Transaction\x20committed\x20('+_0x4897c1+_0x7440d2(0x213)+_0x45cf3d['length']+'\x20queries)'),_0x2fc112;}catch(_0x97d6b7){const _0x3962d0=_0x4ffe9c[_0x7440d2(0x1ff)](_0x556926);_0x4ffe9c[_0x7440d2(0x1ee)](logError,_0x97d6b7,{'event':'transaction_error','queryCount':_0x45cf3d[_0x7440d2(0x1fe)],'totalDurationMs':_0x3962d0,'code':_0x97d6b7['code'],'dbType':'postgresql'},_0x7440d2(0x1fd)+_0x97d6b7['message']);if(_0x213689)try{await _0x213689[_0x7440d2(0x20c)](_0x7440d2(0x1f8)),logTransaction(_0x4ffe9c['TcKMQ'],_0x45cf3d['length']);}catch(_0x225f93){logError(_0x225f93,{'event':_0x7440d2(0x1d8),'dbType':_0x4ffe9c['ZxsIA']},'Error\x20rolling\x20back\x20transaction:\x20'+_0x225f93[_0x7440d2(0x202)]);}throw _0x97d6b7;}finally{if(_0x213689)try{_0x213689[_0x7440d2(0x1e4)]();}catch(_0x4ce726){logger['error']({'event':_0x4ffe9c[_0x7440d2(0x1f0)],'error':_0x4ce726[_0x7440d2(0x202)],'dbType':_0x4ffe9c['ZxsIA']},_0x7440d2(0x1e0)+_0x4ce726[_0x7440d2(0x202)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
@@ -1 +1 @@
1
- function a0_0x5429(_0x3f0c30,_0x40b1f2){_0x3f0c30=_0x3f0c30-0x8a;const _0x1b5805=a0_0x1b58();let _0x542913=_0x1b5805[_0x3f0c30];if(a0_0x5429['ZJKXqe']===undefined){var _0x253df4=function(_0x246d31){const _0x4151a4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f4e91='',_0x2d8ac1='';for(let _0x5bb4e8=0x0,_0x7f2115,_0xfab97c,_0x51db62=0x0;_0xfab97c=_0x246d31['charAt'](_0x51db62++);~_0xfab97c&&(_0x7f2115=_0x5bb4e8%0x4?_0x7f2115*0x40+_0xfab97c:_0xfab97c,_0x5bb4e8++%0x4)?_0x5f4e91+=String['fromCharCode'](0xff&_0x7f2115>>(-0x2*_0x5bb4e8&0x6)):0x0){_0xfab97c=_0x4151a4['indexOf'](_0xfab97c);}for(let _0x32908b=0x0,_0x4c6d88=_0x5f4e91['length'];_0x32908b<_0x4c6d88;_0x32908b++){_0x2d8ac1+='%'+('00'+_0x5f4e91['charCodeAt'](_0x32908b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d8ac1);};a0_0x5429['iusuJr']=_0x253df4,a0_0x5429['NreajG']={},a0_0x5429['ZJKXqe']=!![];}const _0x5ab2e7=_0x1b5805[0x0],_0x2d269c=_0x3f0c30+_0x5ab2e7,_0x5c5f57=a0_0x5429['NreajG'][_0x2d269c];return!_0x5c5f57?(_0x542913=a0_0x5429['iusuJr'](_0x542913),a0_0x5429['NreajG'][_0x2d269c]=_0x542913):_0x542913=_0x5c5f57,_0x542913;}function a0_0x1b58(){const _0x3f5420=['DxnLCI1Hz2vUDa','C3rHDhvZq29Kzq','zxHPC3rZu3LUyW','BxnsCLC','rgvMyxvSDa','y29Kzq','qKzAuue','CgfYyw1Z','Dg9ju09tDhjPBMC','CMvZDgzVCMDL','zMf0ywW','u1LtoKHioK1noNnZ','AgvHBhrOq2HLy2S','icdIHPiG','vhfkrfO','q1jjveLdquW','EvrsCMK','yxbPx2TLEq','EfbMCfa','C2vYDMLJzuLUzM8','DhjPBq','C3rKu2vYAwfSAxPLCNm','vMvkzKq','sK1oyxq','D2fYBG','sePct2y','zxjY','Cgf0Aa','yxbPs2v5','q09Ns2C','C3bSAxq','EKzdv0q','qvbqx1zfuLnjt04','AM9PBG','C2vJCMv0','yxbPA2v5','rfjpua','ueH6tNu','AgvHzgvYCW','rufID2i','C3rHDhvZ','y3z2','B2jQzwn0','y3jLyxrLv3jPDgvtDhjLyw0','rejFueftu1DpuKq','Ag9ZDa','u0vsvKLdrv9oqu1f','ywnJzxnZx3rVA2vU','revmrvrf','y3DK','C3rHy2S','iokvKqRILzeGienVBMzPzYaGicaGidOG','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','mZq1ndi5mefQAe92wG','tM55vLq','reiGuxvLCNK','Ec1Yzxf1zxn0lwLK','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','Awf5Au8','zxHWB3j0CW','z2v0sgvHzgvYCW','uK9mtejbq0S','Dw5RBM93BG','ChjVy2vZC193yxjUAw5N','rgn4uvG','DKz4wfO','rermx0nsrufurq','Bwv0Ag9K','u0vmrunu','CgLK','s21QsNy','BgvUz3rO','y29UBMvJDgLVBG','BgDvv0K','vu5ltK9xtG','zxHPDa','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','D3jPDgu','D3D5DfG','Dw5Oyw5KBgvKuMvQzwn0Aw9U','AxrLCMG','uxbtvuO','vhjHBNnHy3rPB24G','Dw5JyxvNAhrfEgnLChrPB24','CxvLCNK','C29Tzq','BxmP','uvbptfa','ntK0mZCYme1nvNnoDa','y29UzMLNrMLSzq','zgvIDwC','Dg9mB3DLCKnHC2u','zgv2zwXVCg1LBNq','Dhj1zq','vw1QwM4','CMvMCMvZAf90B2TLBG','wKHTsMi','CgLU','yxbWlMXVzW','nunJvgLTCW','CgfZC3DVCMq','Bwf0y2G','BuPxvLm','sfbAt2m','CMvZB2X2zq','Aw5JBhvKzxm','C3rHCNrZv2L0Aa','qunusvzf','mtG2mti4rgTcwNzX','z0jHEw8','vxnUAe8','CgfKrw5K','n3vYDuPHvG','ChjPDMf0zv9RzxK','nZu4nZy0nKnNCKz1ua','u1rbuLqGvfjbtLnbq1rjt04','ze1ovLK','tK9erv9ftLy','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','AxntBg93','Ahr0Cf9Yzxf1zxn0','mti3otuWs2Lxsxbu','z1vksK0','DgvZDa','rNPirva','zvPfA20','icbvuKW6icaGia','otu0q3Detff2','DxjS','BwflvxK','ANrnCxG','Cg9YDa','odq3sfjNCMfr','zMLSzv9SB2DNAw5Nx2vUywjSzwq','zePdrg0','sfruuca','Dg9vChbLCKnHC2u','sKPmz2u','mta1nJHut2XpAe0','BwvTB3j5vxnHz2u','B3rW','zMf0ywXFzxjYB3i','icbjBMzVoIaGia','yxbPx3nLy3jLDa','BwfW','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','BwvZC2fNzq','zhvYyxrPB25nCW','CM93C0fMzMvJDgvK','Cg5jq3y','Ahj0Aw1L','u2vYDMvYihn0yxj0Aw5NoIa','EKPLtLe','Aw5MBW','zw52','D2fYBMLUzW','CezhCem','y2HPBgq','y3jLzgL0x2nHCMq','Ahr0Cf9LCNjVCG','A2v5CW','DxnLCG','rxjYB3i','vvbeqvrf','y3jLzgvUDgLHBa','CLb3v1e','CgfZC3DK','yM9KEq','zxjYB3i','mZC5mNL5Cezsua','te9hx0rjuG'];a0_0x1b58=function(){return _0x3f5420;};return a0_0x1b58();}const a0_0x2c212e=a0_0x5429;(function(_0x3e8f12,_0xb8ff91){const _0x2e84ee=a0_0x5429,_0x532ee5=_0x3e8f12();while(!![]){try{const _0x51eb8d=parseInt(_0x2e84ee(0xba))/0x1*(-parseInt(_0x2e84ee(0xb6))/0x2)+parseInt(_0x2e84ee(0xc9))/0x3*(parseInt(_0x2e84ee(0xf3))/0x4)+-parseInt(_0x2e84ee(0xad))/0x5*(parseInt(_0x2e84ee(0xc3))/0x6)+-parseInt(_0x2e84ee(0xce))/0x7*(parseInt(_0x2e84ee(0xd4))/0x8)+-parseInt(_0x2e84ee(0x12a))/0x9+parseInt(_0x2e84ee(0xa2))/0xa+parseInt(_0x2e84ee(0xbc))/0xb;if(_0x51eb8d===_0xb8ff91)break;else _0x532ee5['push'](_0x532ee5['shift']());}catch(_0x301632){_0x532ee5['push'](_0x532ee5['shift']());}}}(a0_0x1b58,0x5a22e));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x2c212e(0xfe),sqlLogEnabled=![],sqlLogLevel=a0_0x2c212e(0xa4),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2c212e(0x100),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x2c212e(0xc0),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x2c212e(0xe4)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x2c212e(0x115)]||'1.0.5','env':process[a0_0x2c212e(0xe4)][a0_0x2c212e(0xbf)]||a0_0x2c212e(0xa6)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x2c212e(0xdb),a0_0x2c212e(0xae),'token','apiKey',a0_0x2c212e(0x121),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x1a9caf=>({'id':_0x1a9caf['id'],'method':_0x1a9caf[a0_0x2c212e(0x8d)],'url':_0x1a9caf['url'],'path':_0x1a9caf['path'],'remoteAddress':_0x1a9caf['ip']||_0x1a9caf[a0_0x2c212e(0x92)]?.['remoteAddress']}),'res':_0xbe8afb=>({'statusCode':_0xbe8afb['statusCode'],'headers':_0xbe8afb[a0_0x2c212e(0x131)]?.()}),'err':pino[a0_0x2c212e(0x10a)][a0_0x2c212e(0x10f)]}});function initFileLogging(){const _0x5beace=a0_0x2c212e,_0x3fbcd5={'IbiQQ':function(_0x14c6af,_0x58c72e){return _0x14c6af===_0x58c72e;},'fvNMn':_0x5beace(0xfe),'KmjJv':_0x5beace(0xa7),'COgKg':'debug','mObMo':'error.log','wwytX':_0x5beace(0xe3)};if(fileLoggingInitialized)return;logToFile=_0x3fbcd5['IbiQQ'](process[_0x5beace(0xe4)]['LOG_TO_FILE'],_0x5beace(0xa7)),logDir=process['env'][_0x5beace(0xf4)]||'./logs',serviceName=process[_0x5beace(0xe4)][_0x5beace(0x123)]||_0x3fbcd5['fvNMn'],sqlLogEnabled=_0x3fbcd5['IbiQQ'](process[_0x5beace(0xe4)]['SQL_LOG_ENABLED'],_0x3fbcd5[_0x5beace(0x90)]),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x3fbcd5[_0x5beace(0x112)],sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=parseInt(process[_0x5beace(0xe4)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2c61cf=path[_0x5beace(0xb2)](process[_0x5beace(0x126)](),logDir);try{!fs[_0x5beace(0xf7)](_0x2c61cf)&&fs['mkdirSync'](_0x2c61cf,{'recursive':!![]});}catch(_0x5ee020){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x2c61cf+':',_0x5ee020[_0x5beace(0xdc)]),fileLoggingInitialized=!![];return;}const _0x20966c=path[_0x5beace(0x116)](_0x2c61cf,_0x5beace(0xac)),_0x23fa6a=path[_0x5beace(0x116)](_0x2c61cf,_0x3fbcd5['mObMo']);try{appLogStream=fs['createWriteStream'](_0x20966c,{'flags':'a'}),errorLogStream=fs[_0x5beace(0x120)](_0x23fa6a,{'flags':'a'}),fileLoggingInitialized=!![];const _0x5ab0e6={'event':_0x5beace(0xcf),'logDir':_0x2c61cf,'files':[_0x5beace(0xac),_0x3fbcd5['mObMo']]},_0x294a7e=_0x5beace(0x12e)+_0x2c61cf;logger['info'](_0x5ab0e6,_0x294a7e),writeToFileLog({..._0x5ab0e6,'level':_0x3fbcd5[_0x5beace(0x98)],'msg':_0x294a7e,'time':new Date()[_0x5beace(0xfd)]()},_0x3fbcd5[_0x5beace(0x98)]);}catch(_0x3c01c0){console[_0x5beace(0xf2)]('Failed\x20to\x20create\x20log\x20streams:',_0x3c01c0['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5c7b68,_0x3730fa){const _0x49ab43=a0_0x2c212e,_0x56a986={'smSWL':function(_0x2c0f2f,_0x578cdc){return _0x2c0f2f+_0x578cdc;},'YzlSN':function(_0x161ee0,_0x20d8e1){return _0x161ee0===_0x20d8e1;},'yTRri':_0x49ab43(0xff)};if(!logToFile||!appLogStream)return;const _0x125662={'service':serviceName,..._0x5c7b68},_0x57556f=_0x56a986['smSWL'](JSON['stringify'](_0x125662),'\x0a');appLogStream[_0x49ab43(0x97)](_0x57556f),(_0x56a986['YzlSN'](_0x3730fa,_0x49ab43(0xf2))||_0x3730fa===_0x56a986[_0x49ab43(0x105)])&&(errorLogStream&&errorLogStream['write'](_0x57556f));}const createRequestLogger=(_0x20bad3={})=>{const _0x53820a=a0_0x2c212e;return logger[_0x53820a(0xe7)](_0x20bad3);},logServerStart=_0x49eabe=>{const _0x3d4965=a0_0x2c212e,_0x5b4f30={'JQhWQ':'N/A','UsnhO':_0x3d4965(0xf9),'DXRxI':_0x3d4965(0xb5),'yZysN':'server_starting','LJTGB':function(_0x11f0f9,_0x52b9db,_0x589650){return _0x11f0f9(_0x52b9db,_0x589650);}},_0x253b03='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x49eabe['environment']||'Node.js')[_0x3d4965(0xb9)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x49eabe['project']||_0x5b4f30['JQhWQ'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x49eabe['port']||0xbb8)['padEnd'](0x26)+_0x3d4965(0x128)+(_0x49eabe[_0x3d4965(0xa3)]||_0x5b4f30[_0x3d4965(0xb8)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x49eabe[_0x3d4965(0x111)]?_0x5b4f30['DXRxI']:'NOT\x20ACTIVE')[_0x3d4965(0xb9)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x253b03);const _0x2a19ab={'event':_0x5b4f30['yZysN'],'project':_0x49eabe['project'],'port':_0x49eabe[_0x3d4965(0xcd)],'config':_0x49eabe[_0x3d4965(0xa3)],'apiKeyEnabled':!!_0x49eabe[_0x3d4965(0x111)]};logger[_0x3d4965(0xe3)](_0x2a19ab),_0x5b4f30['LJTGB'](writeToFileLog,{..._0x2a19ab,'level':'info','msg':_0x3d4965(0xe1)+_0x49eabe['project']+'\x20on\x20port\x20'+_0x49eabe['port'],'time':new Date()[_0x3d4965(0xfd)]()},_0x3d4965(0xe3));},logServerReady=_0x7291f2=>{const _0x40aae9=a0_0x2c212e,_0x170ae1={'event':'server_ready','port':_0x7291f2[_0x40aae9(0xcd)],'module':_0x7291f2['module'],'healthCheck':_0x7291f2[_0x40aae9(0x101)],'serviceInfo':_0x7291f2['serviceInfo'],'baseUrl':_0x7291f2['baseUrl']},_0x324d38=_0x40aae9(0x96)+_0x7291f2['port'];logger[_0x40aae9(0xe3)](_0x170ae1,_0x324d38),writeToFileLog({..._0x170ae1,'level':'info','msg':_0x324d38,'time':new Date()['toISOString']()},_0x40aae9(0xe3)),_0x7291f2['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x7291f2[_0x40aae9(0x101)]),_0x7291f2[_0x40aae9(0x108)]&&logger[_0x40aae9(0xe3)](_0x40aae9(0xd8)+_0x7291f2['serviceInfo']),_0x7291f2['baseUrl']&&logger[_0x40aae9(0xe3)](_0x40aae9(0xc8)+_0x7291f2['baseUrl']);},logProjectLoaded=(_0x37d6f7,_0x257d74)=>{const _0x57152d=a0_0x2c212e,_0xc73695={'zuNvP':_0x57152d(0xe3)},_0x4139bf={'event':'project_loaded','project':_0x37d6f7,'path':_0x257d74},_0x29d29='[OK]\x20Project\x20loaded:\x20'+_0x37d6f7;logger['info'](_0x4139bf,_0x29d29),writeToFileLog({..._0x4139bf,'level':_0xc73695['zuNvP'],'msg':_0x29d29,'time':new Date()['toISOString']()},_0x57152d(0xe3));},logEndpointRegistered=(_0x5acebd,_0x361e61)=>{const _0xcdc56b=a0_0x2c212e,_0x31dbe1={'maKUy':'endpoint_registered','iterh':_0xcdc56b(0xa4)},_0xbbe69={'event':_0x31dbe1[_0xcdc56b(0xcb)],'endpoint':_0x5acebd,'route':_0x361e61},_0x18d9e0=_0xcdc56b(0x102)+_0x5acebd+':\x20'+_0x361e61;logger['debug'](_0xbbe69,_0x18d9e0),writeToFileLog({..._0xbbe69,'level':_0x31dbe1[_0xcdc56b(0x9a)],'msg':_0x18d9e0,'time':new Date()['toISOString']()},_0x31dbe1[_0xcdc56b(0x9a)]);},logDatabaseConfig=_0x59b79a=>{const _0x3a4f44=a0_0x2c212e,_0x110eb8={'vnpSi':'database_config','FeqWL':function(_0x420f96,_0x4c0493,_0x671aa6){return _0x420f96(_0x4c0493,_0x671aa6);},'aQbZz':'debug'},_0x367085={'event':_0x110eb8['vnpSi'],'host':_0x59b79a['host'],'port':_0x59b79a['port'],'database':_0x59b79a['database'],'type':_0x59b79a['type'],'user':_0x59b79a[_0x3a4f44(0xeb)]},_0x45858b='Database:\x20'+_0x59b79a['type']+'://'+_0x59b79a[_0x3a4f44(0x122)]+':'+_0x59b79a[_0x3a4f44(0xcd)]+'/'+_0x59b79a['database'];logger['debug'](_0x367085,_0x45858b),_0x110eb8['FeqWL'](writeToFileLog,{..._0x367085,'level':_0x3a4f44(0xa4),'msg':_0x45858b,'time':new Date()[_0x3a4f44(0xfd)]()},_0x110eb8['aQbZz']);},logRequest=(_0x36bba8,_0x597373,_0x1318a6)=>{const _0x520298=a0_0x2c212e,_0x28671e={'iJkZy':'info','ZHmJb':function(_0x85009e,_0x442563){return _0x85009e>=_0x442563;},'vFxXZ':'error','tXxBm':function(_0xdd8736,_0x4c0d7c,_0x4235fa){return _0xdd8736(_0x4c0d7c,_0x4235fa);}},_0x4513cc={'event':_0x520298(0xc2),'method':_0x36bba8[_0x520298(0x8d)],'path':_0x36bba8[_0x520298(0x110)],'statusCode':_0x597373['statusCode'],'durationMs':_0x1318a6,'ip':_0x36bba8['ip']},_0x4dbc5a=_0x36bba8['method']+'\x20'+_0x36bba8['path']+'\x20-\x20'+_0x597373[_0x520298(0xf6)]+'\x20('+_0x1318a6+'ms)';let _0x2f6543=_0x28671e['iJkZy'];if(_0x28671e[_0x520298(0xaa)](_0x597373['statusCode'],0x1f4))_0x2f6543=_0x28671e[_0x520298(0x8b)],logger['error'](_0x4513cc,_0x4dbc5a);else _0x28671e[_0x520298(0xaa)](_0x597373['statusCode'],0x190)?(_0x2f6543=_0x520298(0x10d),logger['warn'](_0x4513cc,_0x4dbc5a)):logger[_0x520298(0xe3)](_0x4513cc,_0x4dbc5a);_0x28671e['tXxBm'](writeToFileLog,{..._0x4513cc,'level':_0x2f6543,'msg':_0x4dbc5a,'time':new Date()[_0x520298(0xfd)]()},_0x2f6543);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd','token',a0_0x2c212e(0x124),'refresh_token','secret',a0_0x2c212e(0xd9),a0_0x2c212e(0x118),a0_0x2c212e(0x106),a0_0x2c212e(0xee),'credentials',a0_0x2c212e(0xab),a0_0x2c212e(0xd6),a0_0x2c212e(0xbb),'privatekey'],redactSensitiveParams=(_0x6ab2bb,_0x3008fe)=>{const _0x1932e8=a0_0x2c212e,_0x15793d={'MkojO':'[REDACTED:token]','mJWVS':function(_0x4e9004,_0x15054f){return _0x4e9004===_0x15054f;}};if(!_0x6ab2bb||_0x15793d[_0x1932e8(0xb0)](_0x6ab2bb['length'],0x0))return _0x6ab2bb;const _0x1cc5fd=_0x3008fe['toLowerCase'](),_0x445f48=_0x1cc5fd['match'](/\(([^)]+)\)\s*values/i);let _0x38fa6c=[];_0x445f48&&(_0x38fa6c=_0x445f48[0x1][_0x1932e8(0x113)](',')['map'](_0x35a174=>_0x35a174['trim']()['toLowerCase']()));const _0x1faae6=_0x1cc5fd[_0x1932e8(0xaf)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x1faae6){const _0x456db3=_0x1faae6[0x1],_0x3b053f=_0x456db3['match'](/(\w+)\s*=/g);_0x3b053f&&(_0x38fa6c=_0x3b053f[_0x1932e8(0xda)](_0xed22fd=>_0xed22fd['replace'](/\s*=/,'')['trim']()[_0x1932e8(0xa5)]()));}return _0x6ab2bb[_0x1932e8(0xda)]((_0x4c7ac1,_0x4a85aa)=>{const _0x119b50=_0x1932e8;if(_0x38fa6c[_0x4a85aa]){const _0x56cd5a=_0x38fa6c[_0x4a85aa],_0x5ae6f7=SENSITIVE_PARAM_PATTERNS[_0x119b50(0x9f)](_0xaa9a29=>_0x56cd5a['includes'](_0xaa9a29));if(_0x5ae6f7)return'[REDACTED]';}if(typeof _0x4c7ac1==='string'&&_0x4c7ac1[_0x119b50(0x91)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x119b50(0xc5)](_0x4c7ac1)&&_0x4c7ac1[_0x119b50(0xb3)]('.'))return _0x15793d['MkojO'];if(/^[a-fA-F0-9]{32,}$/[_0x119b50(0xc5)](_0x4c7ac1))return'[REDACTED:hash]';}return _0x4c7ac1;});},parseQueryMetadata=_0x509e3f=>{const _0x2e6ea1=a0_0x2c212e,_0x1dd356={'PHzNu':_0x2e6ea1(0x94),'iayiO':'INSERT','MUfBK':_0x2e6ea1(0xed),'FzHEP':'DELETE','VeJfD':'BEGIN','ELppB':'TRANSACTION_COMMIT','EAbwb':_0x2e6ea1(0x132),'StEVM':'TRANSACTION_ROLLBACK','oZbgm':'CREATE','MIpnp':_0x2e6ea1(0x8c),'lgUWI':'DDL_ALTER','fUrUH':_0x2e6ea1(0x119)},_0x1c4742=_0x509e3f[_0x2e6ea1(0x109)](),_0xfbda5a=_0x1c4742[_0x2e6ea1(0xd2)]();let _0x156021=_0x1dd356[_0x2e6ea1(0x11a)],_0x544940=null;if(_0xfbda5a['startsWith'](_0x2e6ea1(0x8e))){_0x156021=_0x2e6ea1(0x8e);const _0x2800a6=_0x1c4742[_0x2e6ea1(0xaf)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x544940=_0x2800a6?_0x2800a6[0x1]:null;}else{if(_0xfbda5a['startsWith'](_0x1dd356[_0x2e6ea1(0x12f)])){_0x156021='INSERT';const _0x2199f7=_0x1c4742[_0x2e6ea1(0xaf)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x544940=_0x2199f7?_0x2199f7[0x1]:null;}else{if(_0xfbda5a[_0x2e6ea1(0xb4)](_0x1dd356['MUfBK'])){_0x156021=_0x1dd356['MUfBK'];const _0x53edb8=_0x1c4742[_0x2e6ea1(0xaf)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x544940=_0x53edb8?_0x53edb8[0x1]:null;}else{if(_0xfbda5a['startsWith'](_0x2e6ea1(0x125))){_0x156021=_0x1dd356[_0x2e6ea1(0xc6)];const _0x839300=_0x1c4742['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x544940=_0x839300?_0x839300[0x1]:null;}else{if(_0xfbda5a[_0x2e6ea1(0xb4)](_0x1dd356[_0x2e6ea1(0x10b)])||_0xfbda5a['startsWith'](_0x2e6ea1(0xbd)))_0x156021='TRANSACTION_BEGIN';else{if(_0xfbda5a['startsWith']('COMMIT'))_0x156021=_0x1dd356['ELppB'];else{if(_0xfbda5a[_0x2e6ea1(0xb4)](_0x1dd356[_0x2e6ea1(0x11c)]))_0x156021=_0x1dd356['StEVM'];else{if(_0xfbda5a[_0x2e6ea1(0xb4)](_0x1dd356['oZbgm']))_0x156021=_0x1dd356['MIpnp'];else{if(_0xfbda5a['startsWith']('ALTER'))_0x156021=_0x1dd356[_0x2e6ea1(0x93)];else _0xfbda5a[_0x2e6ea1(0xb4)](_0x1dd356['fUrUH'])&&(_0x156021='DDL_DROP');}}}}}}}}return{'type':_0x156021,'table':_0x544940};},startQueryTimer=()=>{const _0x21ebe7={'GZmXn':function(_0x30ff8c,_0x54f2b1){return _0x30ff8c*_0x54f2b1;},'rPwWQ':function(_0x360b3c,_0x32766f){return _0x360b3c/_0x32766f;}},_0xcdd76d=process['hrtime']();return()=>{const _0x5c41a7=a0_0x5429,[_0x5b90ea,_0x333cb9]=process[_0x5c41a7(0xe0)](_0xcdd76d);return parseFloat((_0x21ebe7['GZmXn'](_0x5b90ea,0x3e8)+_0x21ebe7[_0x5c41a7(0xef)](_0x333cb9,0xf4240))['toFixed'](0x2));};},logQuery=(_0x220806,_0x44cc82=[],_0xf7f4c4={})=>{const _0x278d50=a0_0x2c212e,_0x40ea37={'NnyVT':'db_query','dMNVY':function(_0xf698ef,_0x4b1f4c){return _0xf698ef(_0x4b1f4c);},'TqJDZ':function(_0x5e6f0d,_0xac5aae){return _0x5e6f0d>_0xac5aae;},'zJeNQ':function(_0xb9e379,_0x577dba){return _0xb9e379!==_0x577dba;},'SflUk':function(_0x4a1130,_0x4c16e7){return _0x4a1130!==_0x4c16e7;},'NYVci':function(_0x170103,_0x36e26f){return _0x170103!==_0x36e26f;},'gBayo':'warn','DcxQX':function(_0x2e46af,_0x1732c0){return _0x2e46af===_0x1732c0;},'JJLge':'info','JMNat':function(_0x3b1302,_0x4372ea,_0x167452){return _0x3b1302(_0x4372ea,_0x167452);}};if(!sqlLogEnabled){logger[_0x278d50(0xa4)]({'event':_0x40ea37[_0x278d50(0x12b)],'query':_0x220806['substring'](0x0,0xc8),'paramCount':_0x44cc82['length']},_0x278d50(0x12c));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0xf7f4c4,{type:_0x5eb491,table:_0x11278e}=_0x40ea37[_0x278d50(0xbe)](parseQueryMetadata,_0x220806),_0x528623={'event':'sql_query','queryType':_0x5eb491,'table':_0x11278e,'query':_0x220806,'paramCount':_0x44cc82['length'],'dbType':dbType};sqlLogParams&&_0x40ea37['TqJDZ'](_0x44cc82[_0x278d50(0x91)],0x0)&&(_0x528623[_0x278d50(0xfc)]=redactSensitiveParams(_0x44cc82,_0x220806));_0x40ea37[_0x278d50(0xe2)](duration,null)&&(_0x528623[_0x278d50(0xdd)]=duration,_0x528623[_0x278d50(0xc1)]=_0x40ea37[_0x278d50(0x103)](duration,sqlLogSlowThreshold));_0x40ea37[_0x278d50(0xe2)](rowsAffected,null)&&(_0x528623[_0x278d50(0xde)]=rowsAffected);const _0x3daf34=_0x11278e||_0x278d50(0x133);let _0xcab34a='['+_0x5eb491+']\x20'+_0x3daf34;_0x40ea37['SflUk'](duration,null)&&(_0xcab34a+='\x20('+duration+_0x278d50(0xa0));const _0x5ca276=_0x40ea37['NYVci'](duration,null)&&_0x40ea37[_0x278d50(0x103)](duration,sqlLogSlowThreshold);let _0x14bdf1=_0x278d50(0xa4);if(_0x5ca276)_0xcab34a+='\x20[SLOW]',_0x14bdf1=_0x40ea37[_0x278d50(0xb7)],logger[_0x278d50(0x10d)](_0x528623,_0xcab34a);else _0x40ea37[_0x278d50(0x8a)](sqlLogLevel,_0x40ea37[_0x278d50(0xd3)])?(_0x14bdf1=_0x40ea37['JJLge'],logger['info'](_0x528623,_0xcab34a)):logger[_0x278d50(0xa4)](_0x528623,_0xcab34a);_0x40ea37[_0x278d50(0x10c)](writeToFileLog,{..._0x528623,'level':_0x14bdf1,'msg':_0xcab34a,'time':new Date()[_0x278d50(0xfd)]()},_0x14bdf1);},logTransaction=(_0x56c060,_0x38cb4e)=>{const _0x484694=a0_0x2c212e,_0x59937b={'event':'db_transaction','status':_0x56c060,'queryCount':_0x38cb4e},_0x13e36b=_0x484694(0x9c)+_0x56c060;logger['debug'](_0x59937b,_0x13e36b),writeToFileLog({..._0x59937b,'level':'debug','msg':_0x13e36b,'time':new Date()[_0x484694(0xfd)]()},'debug');},redactObject=_0x1805ec=>{const _0x4a5309=a0_0x2c212e,_0x4fdb5f={'dLldV':function(_0x4b4757,_0xb033b6){return _0x4b4757!==_0xb033b6;},'HPZOc':_0x4a5309(0x11f),'WifwJ':_0x4a5309(0xf0),'QpSUJ':_0x4a5309(0x118),'QJMHu':_0x4a5309(0x106),'wKQcJ':'authorization','ehALz':'creditcard','msRrW':_0x4a5309(0xe8),'UmjZn':_0x4a5309(0x11e),'KgnFa':'pin','pFGpC':'private_key','MfSyi':'privatekey','jtMqx':'access_token','QSNqj':'[REDACTED]','qyqTX':function(_0x4058df,_0x15cd95){return _0x4058df===_0x15cd95;},'dJCDm':function(_0x31f273,_0x37c336){return _0x31f273(_0x37c336);}};if(!_0x1805ec||_0x4fdb5f['dLldV'](typeof _0x1805ec,_0x4fdb5f[_0x4a5309(0xb1)]))return _0x1805ec;const _0x1f7f0e=['password',_0x4fdb5f['WifwJ'],'pwd','token',_0x4a5309(0x117),_0x4fdb5f[_0x4a5309(0x9b)],_0x4fdb5f['QJMHu'],_0x4fdb5f['wKQcJ'],_0x4fdb5f['ehALz'],_0x4fdb5f[_0x4a5309(0xf8)],_0x4fdb5f[_0x4a5309(0xa8)],'ssn',_0x4fdb5f['KgnFa'],_0x4fdb5f[_0x4a5309(0xe6)],_0x4fdb5f['MfSyi'],_0x4a5309(0xa9),_0x4fdb5f[_0x4a5309(0xcc)]],_0x2711bc=Array['isArray'](_0x1805ec)?[..._0x1805ec]:{..._0x1805ec};for(const _0x59d0a1 of Object[_0x4a5309(0xea)](_0x2711bc)){const _0x5f3efb=_0x59d0a1['toLowerCase']();if(_0x1f7f0e['some'](_0x38e2a9=>_0x5f3efb[_0x4a5309(0xb3)](_0x38e2a9)))_0x2711bc[_0x59d0a1]=_0x4fdb5f['QSNqj'];else _0x4fdb5f['qyqTX'](typeof _0x2711bc[_0x59d0a1],_0x4a5309(0x11f))&&_0x4fdb5f['dLldV'](_0x2711bc[_0x59d0a1],null)&&(_0x2711bc[_0x59d0a1]=_0x4fdb5f[_0x4a5309(0xd0)](redactObject,_0x2711bc[_0x59d0a1]));}return _0x2711bc;},logError=(_0x3ef0bc,_0x56239c={},_0x20c7bc=null)=>{const _0x57f8e2=a0_0x2c212e,_0x5d64b8={'HJBOf':'error','gTKmD':_0x57f8e2(0xec),'cZYcA':function(_0x31fd09,_0x1c06b3,_0x4f7f9d){return _0x31fd09(_0x1c06b3,_0x4f7f9d);}},_0x5584bc={'event':_0x5d64b8[_0x57f8e2(0x10e)],'errorName':_0x3ef0bc['name']||_0x5d64b8['gTKmD'],'errorMessage':_0x3ef0bc[_0x57f8e2(0xdc)],'errorCode':_0x3ef0bc[_0x57f8e2(0xfa)]||null,'stack':_0x3ef0bc['stack'],..._0x56239c},_0xf5734=_0x20c7bc||'Error:\x20'+_0x3ef0bc[_0x57f8e2(0xdc)];logger['error'](_0x5584bc,_0xf5734),_0x5d64b8['cZYcA'](writeToFileLog,{..._0x5584bc,'level':_0x5d64b8['HJBOf'],'msg':_0xf5734,'time':new Date()['toISOString']()},_0x57f8e2(0xf2));},logFatalError=(_0x96e91a,_0x117ce9={},_0x2034fd=null)=>{const _0x436f07=a0_0x2c212e,_0x122da1={'QPOLP':'Error','ZPnOa':function(_0x5192d9,_0x1e4907,_0x11dfd8){return _0x5192d9(_0x1e4907,_0x11dfd8);},'lShuW':_0x436f07(0xff)},_0x442eba={'event':_0x436f07(0xd7),'errorName':_0x96e91a['name']||_0x122da1[_0x436f07(0xa1)],'errorMessage':_0x96e91a[_0x436f07(0xdc)],'errorCode':_0x96e91a[_0x436f07(0xfa)]||null,'stack':_0x96e91a['stack'],'severity':'CRITICAL',..._0x117ce9},_0x4a1e0e=_0x2034fd||'FATAL:\x20'+_0x96e91a['message'];logger['fatal'](_0x442eba,_0x4a1e0e),_0x122da1['ZPnOa'](writeToFileLog,{..._0x442eba,'level':_0x122da1['lShuW'],'msg':_0x4a1e0e,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x395389,_0x1b25bb,_0x2ed0dc={})=>{const _0x24758f=a0_0x2c212e,_0x4130be={'QHJLz':_0x24758f(0xe9),'omaDw':_0x24758f(0xec),'pnICv':function(_0x2f49d1,_0x2390b2){return _0x2f49d1>=_0x2390b2;},'ZuJbz':'error','xPfpP':'warn'},_0x3bc150={'event':_0x4130be['QHJLz'],'errorName':_0x395389['name']||_0x4130be['omaDw'],'errorMessage':_0x395389['message'],'errorCode':_0x395389['code']||_0x395389['statusCode']||0x1f4,'stack':_0x395389[_0x24758f(0x127)],'method':_0x1b25bb?.['method'],'url':_0x1b25bb?.[_0x24758f(0xca)]||_0x1b25bb?.['originalUrl'],'path':_0x1b25bb?.[_0x24758f(0x110)],'ip':_0x1b25bb?.['ip']||_0x1b25bb?.[_0x24758f(0x92)]?.['remoteAddress'],'userAgent':_0x1b25bb?.['get']?.(_0x24758f(0xf5)),'requestId':_0x1b25bb?.['id']||_0x1b25bb?.['headers']?.[_0x24758f(0x12d)],'body':_0x1b25bb?.[_0x24758f(0xf1)]?redactObject(_0x1b25bb[_0x24758f(0xf1)]):undefined,'query':_0x1b25bb?.[_0x24758f(0x9e)],..._0x2ed0dc},_0x138d34=_0x395389['statusCode']||_0x395389['status']||0x1f4,_0x57d78a=_0x24758f(0xd1)+_0x138d34+':\x20'+_0x395389['message'];_0x138d34>=0x1f4?logger[_0x24758f(0xf2)](_0x3bc150,_0x57d78a):logger['warn'](_0x3bc150,_0x57d78a),writeToFileLog({..._0x3bc150,'level':_0x4130be[_0x24758f(0xdf)](_0x138d34,0x1f4)?_0x4130be['ZuJbz']:_0x4130be[_0x24758f(0x107)],'msg':_0x57d78a,'time':new Date()[_0x24758f(0xfd)]()},_0x4130be[_0x24758f(0xdf)](_0x138d34,0x1f4)?_0x4130be['ZuJbz']:'warn');},logUncaughtError=(_0x13d03d,_0x4e41b7)=>{const _0x317e73=a0_0x2c212e,_0x2ff0d6={'IMufJ':_0x317e73(0xec),'gUJJM':function(_0x8ce400,_0x23bea7,_0x1cd775){return _0x8ce400(_0x23bea7,_0x1cd775);},'zFCWD':_0x317e73(0xff),'BFZQA':_0x317e73(0xf2)},_0x16f557={'event':_0x13d03d,'errorName':_0x4e41b7?.['name']||_0x2ff0d6['IMufJ'],'errorMessage':_0x4e41b7?.[_0x317e73(0xdc)]||String(_0x4e41b7),'errorCode':_0x4e41b7?.['code']||null,'stack':_0x4e41b7?.[_0x317e73(0x127)],'severity':_0x317e73(0x104),'processId':process[_0x317e73(0x8f)],'memoryUsage':process[_0x317e73(0xd5)](),'uptime':process['uptime']()},_0x1e2971='['+_0x13d03d[_0x317e73(0xd2)]()+']\x20'+(_0x4e41b7?.['message']||_0x4e41b7);logger['fatal'](_0x16f557,_0x1e2971),_0x2ff0d6[_0x317e73(0xc4)](writeToFileLog,{..._0x16f557,'level':_0x2ff0d6[_0x317e73(0x114)],'msg':_0x1e2971,'time':new Date()['toISOString']()},_0x2ff0d6[_0x317e73(0xfb)]);},setupGlobalErrorHandlers=()=>{const _0x36d28f=a0_0x2c212e,_0x375f61={'eZEkm':function(_0x396fc0,_0x3d8148,_0x227462){return _0x396fc0(_0x3d8148,_0x227462);},'lotLT':function(_0x5f44c7,_0xc4ec8e){return _0x5f44c7 instanceof _0xc4ec8e;},'WDZKI':function(_0x3e96b8,_0x46f543){return _0x3e96b8(_0x46f543);},'gYciH':'Global\x20error\x20handlers\x20initialized','xGZbi':function(_0x244c97,_0x23f42d,_0x5ec75e){return _0x244c97(_0x23f42d,_0x5ec75e);},'KspOo':_0x36d28f(0xe3)};process['on'](_0x36d28f(0x9d),_0x1f49be=>{const _0x109e2a=_0x36d28f;logUncaughtError(_0x109e2a(0x9d),_0x1f49be),_0x375f61[_0x109e2a(0xc7)](setTimeout,()=>{const _0x4c1212=_0x109e2a;process[_0x4c1212(0x95)](0x1);},0x3e8);}),process['on'](_0x36d28f(0x99),(_0x3b18b7,_0x2b59d9)=>{const _0x2111de=_0x375f61['lotLT'](_0x3b18b7,Error)?_0x3b18b7:new Error(_0x375f61['WDZKI'](String,_0x3b18b7));logUncaughtError('unhandledRejection',_0x2111de);}),process['on'](_0x36d28f(0xe5),_0x19bb44=>{const _0x1cb682=_0x36d28f;logger[_0x1cb682(0x10d)]({'event':_0x1cb682(0x134),'name':_0x19bb44['name'],'message':_0x19bb44['message'],'stack':_0x19bb44['stack']},'Process\x20Warning:\x20'+_0x19bb44[_0x1cb682(0xdc)]);});const _0x27ad5b={'event':_0x36d28f(0x129)},_0x480d53=_0x375f61['gYciH'];logger['info'](_0x27ad5b,_0x480d53),_0x375f61['xGZbi'](writeToFileLog,{..._0x27ad5b,'level':_0x375f61['KspOo'],'msg':_0x480d53,'time':new Date()['toISOString']()},_0x375f61['KspOo']);},createErrorHandlerMiddleware=()=>{const _0x9656fb={'TfxUg':function(_0x3d3e07,_0x1815a1){return _0x3d3e07>=_0x1815a1;},'uwHjB':'Internal\x20server\x20error'};return(_0x5b7c48,_0x223a55,_0x445362,_0x2240fb)=>{const _0x317461=a0_0x5429;logHttpError(_0x5b7c48,_0x223a55);const _0x823bd=_0x5b7c48[_0x317461(0xf6)]||_0x5b7c48[_0x317461(0x11d)]||0x1f4;_0x445362['status'](_0x823bd)['json']({'success':![],'error':_0x9656fb['TfxUg'](_0x823bd,0x1f4)?_0x9656fb['uwHjB']:_0x5b7c48['message'],'requestId':_0x223a55['id']||_0x223a55[_0x317461(0x11b)]?.[_0x317461(0x12d)]||null});};};module[a0_0x2c212e(0x130)]={'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_0x33da07=a0_0x5e1c;(function(_0x3c5aed,_0xb47eec){const _0x5d0136=a0_0x5e1c,_0x466b00=_0x3c5aed();while(!![]){try{const _0x30e4e1=parseInt(_0x5d0136(0x83))/0x1*(-parseInt(_0x5d0136(0xa9))/0x2)+parseInt(_0x5d0136(0x84))/0x3*(parseInt(_0x5d0136(0xbf))/0x4)+parseInt(_0x5d0136(0x12e))/0x5+-parseInt(_0x5d0136(0xa8))/0x6*(parseInt(_0x5d0136(0xdd))/0x7)+-parseInt(_0x5d0136(0xc7))/0x8*(parseInt(_0x5d0136(0x85))/0x9)+-parseInt(_0x5d0136(0x8b))/0xa*(parseInt(_0x5d0136(0x127))/0xb)+-parseInt(_0x5d0136(0xeb))/0xc*(-parseInt(_0x5d0136(0xd0))/0xd);if(_0x30e4e1===_0xb47eec)break;else _0x466b00['push'](_0x466b00['shift']());}catch(_0x67d368){_0x466b00['push'](_0x466b00['shift']());}}}(a0_0x134d,0xed11f));const pino=require(a0_0x33da07(0xf7)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x33da07(0x12c),serviceName=a0_0x33da07(0xab),sqlLogEnabled=![],sqlLogLevel=a0_0x33da07(0xfe),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x33da07(0xf9),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process['env'][a0_0x33da07(0xb9)]||a0_0x33da07(0xaf);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x33da07(0xab),'version':process['env'][a0_0x33da07(0x111)]||'1.0.5','env':process[a0_0x33da07(0x101)][a0_0x33da07(0x10a)]||a0_0x33da07(0xe9)},'timestamp':pino[a0_0x33da07(0xad)][a0_0x33da07(0x105)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password','token','apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0xf59f7f=>({'id':_0xf59f7f['id'],'method':_0xf59f7f['method'],'url':_0xf59f7f['url'],'path':_0xf59f7f[a0_0x33da07(0x86)],'remoteAddress':_0xf59f7f['ip']||_0xf59f7f['connection']?.['remoteAddress']}),'res':_0x199221=>({'statusCode':_0x199221['statusCode'],'headers':_0x199221[a0_0x33da07(0xea)]?.()}),'err':pino[a0_0x33da07(0xe7)]['err']}});function a0_0x5e1c(_0x31349f,_0x55061d){_0x31349f=_0x31349f-0x70;const _0x134db0=a0_0x134d();let _0x5e1c49=_0x134db0[_0x31349f];if(a0_0x5e1c['xDbbTj']===undefined){var _0xfdc54d=function(_0x1221aa){const _0x179729='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12111c='',_0x4979c5='';for(let _0x2b6dfb=0x0,_0x513c65,_0x288d16,_0x46aa44=0x0;_0x288d16=_0x1221aa['charAt'](_0x46aa44++);~_0x288d16&&(_0x513c65=_0x2b6dfb%0x4?_0x513c65*0x40+_0x288d16:_0x288d16,_0x2b6dfb++%0x4)?_0x12111c+=String['fromCharCode'](0xff&_0x513c65>>(-0x2*_0x2b6dfb&0x6)):0x0){_0x288d16=_0x179729['indexOf'](_0x288d16);}for(let _0x1d4dbf=0x0,_0x1ca821=_0x12111c['length'];_0x1d4dbf<_0x1ca821;_0x1d4dbf++){_0x4979c5+='%'+('00'+_0x12111c['charCodeAt'](_0x1d4dbf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4979c5);};a0_0x5e1c['ppsAUI']=_0xfdc54d,a0_0x5e1c['bINCrr']={},a0_0x5e1c['xDbbTj']=!![];}const _0x445dee=_0x134db0[0x0],_0x275f23=_0x31349f+_0x445dee,_0x5aad01=a0_0x5e1c['bINCrr'][_0x275f23];return!_0x5aad01?(_0x5e1c49=a0_0x5e1c['ppsAUI'](_0x5e1c49),a0_0x5e1c['bINCrr'][_0x275f23]=_0x5e1c49):_0x5e1c49=_0x5aad01,_0x5e1c49;}function initFileLogging(){const _0x58d735=a0_0x33da07,_0x22b8f1={'XVORZ':_0x58d735(0xba),'NTdHw':_0x58d735(0x12c),'RSRwK':function(_0x5363f6,_0xd3a323){return _0x5363f6===_0xd3a323;},'npLEB':_0x58d735(0xfe),'TdKCX':function(_0x11d515,_0x2414d0){return _0x11d515!==_0x2414d0;},'ENjmv':_0x58d735(0x10b),'WLjMJ':function(_0x27556c,_0x3b8580){return _0x27556c(_0x3b8580);},'rLuHv':'error.log','eYyJG':'file_logging_enabled','pYCVX':_0x58d735(0xaf)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x22b8f1['XVORZ'],logDir=process[_0x58d735(0x101)]['LOG_DIR']||_0x22b8f1[_0x58d735(0xf8)],serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x22b8f1['RSRwK'](process['env']['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process[_0x58d735(0x101)]['SQL_LOG_LEVEL']||_0x22b8f1[_0x58d735(0x128)],sqlLogParams=_0x22b8f1[_0x58d735(0x11f)](process[_0x58d735(0x101)]['SQL_LOG_PARAMS'],_0x22b8f1[_0x58d735(0xb0)]),sqlLogSlowThreshold=_0x22b8f1['WLjMJ'](parseInt,process[_0x58d735(0x101)][_0x58d735(0xf5)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x21a79e=path['resolve'](process['cwd'](),logDir);try{!fs['existsSync'](_0x21a79e)&&fs[_0x58d735(0x8a)](_0x21a79e,{'recursive':!![]});}catch(_0x1687c4){console['error'](_0x58d735(0x97)+_0x21a79e+':',_0x1687c4[_0x58d735(0xa1)]),fileLoggingInitialized=!![];return;}const _0x2738b9=path['join'](_0x21a79e,_0x58d735(0xe8)),_0x484e8b=path['join'](_0x21a79e,_0x22b8f1[_0x58d735(0x76)]);try{appLogStream=fs['createWriteStream'](_0x2738b9,{'flags':'a'}),errorLogStream=fs[_0x58d735(0xfd)](_0x484e8b,{'flags':'a'}),fileLoggingInitialized=!![];const _0x48e58e={'event':_0x22b8f1[_0x58d735(0xf1)],'logDir':_0x21a79e,'files':['app.log',_0x22b8f1[_0x58d735(0x76)]]},_0x470bec='File\x20logging\x20enabled:\x20'+_0x21a79e;logger[_0x58d735(0xaf)](_0x48e58e,_0x470bec),writeToFileLog({..._0x48e58e,'level':_0x22b8f1['pYCVX'],'msg':_0x470bec,'time':new Date()[_0x58d735(0x108)]()},_0x22b8f1[_0x58d735(0xdb)]);}catch(_0x4058f8){console[_0x58d735(0xe1)]('Failed\x20to\x20create\x20log\x20streams:',_0x4058f8['message']),fileLoggingInitialized=!![];}}function a0_0x134d(){const _0x80cb8c=['rxjYB3i','w1jfrefdveveoMHHC2HD','iokvKqRILzeGifbYB2PLy3qGicaGidOG','EKLSBK4','zLjfsxC','u3jzru4','CfLdvLG','rfjpua','mty4CKPbzvvg','zw9Nu0C','CxjLwgK','C3fSx3f1zxj5','zxjYB3i','DhjPBq','zgf0ywjHC2u','yMfZzvvYBa','Cg9ZDgDYzxnXBa','Ahj0Aw1L','C3rKu2vYAwfSAxPLCNm','yxbWlMXVzW','zgv2zwXVCg1LBNq','z2v0sgvHzgvYCW','mtjkufDIBLC','B3jPz2LUywXvCMW','weztyKO','A2v5CW','AMjqt04','sgrAC20','zvL5sKC','Dg9mB3DLCKnHC2u','z2HMruG','vfjbtLnbq1rjt05Fq09ntuLu','u1fmx0Xpr19tte9xx1riuKvtse9mra','rermx0fmvevs','CgLUBW','tLrKshC','u1LtoKHioK1noNnZ','DKP5BMi','tgz4CNC','tK9uiefdveLwrq','y3jLyxrLv3jPDgvtDhjLyw0','zgvIDwC','BwfW','q1bMz24','zw52','Ahr0Cf9Yzxf1zxn0','yxbPs2v5','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','AxnVvgLTzq','DMjQthK','BgvUz3rO','Dg9ju09tDhjPBMC','BePZt1m','tK9erv9ftLy','zMfSC2u','D2fYBG','ChDK','AxnbCNjHEq','rgvMyxvSDa','s3Hst3C','qvbqx1zfuLnjt04','Cuz0D0S','Ec1Yzxf1zxn0lwLK','C3rHDhvZ','ChjPDMf0zwTLEq','vvnhyLC','zMf0ywW','thD0CNu','q1jjveLdquW','z2v0','y29UzMLNrMLSzq','w09lxsbqCM9Qzwn0igXVywrLzdOG','ywnJzxnZx3rVA2vU','vhjHBNnHy3rPB24G','vgrlq1G','DeXTv3q','vfjbtLnbq1rjt05FqKvhsu4','zMf0ywXFzxjYB3i','C3rHy2S','yNvHEeG','wur4uuy','rfP5ww0','mtfOy1zZruq','BNbmrui','AfzRzu4','CgLU','sLDqveG','lI9SB2DZ','Ag9ZDa','ntKYotCWmejpvMH4BG','C2Llwui','Dxb0Aw1L','icdIHPiG','uLnqDwG','B2XlCem','icbjBMzVoIaGia','CxvLCNK','Dg9vChbLCKnHC2u','CKX1shy','C2vJCMv0','ANzMBfm','D3jPDgu','CgfKrw5K','zw5KCg9PBNrFCMvNAxn0zxjLza','CMvMCMvZAf90B2TLBG','BMfTzq','zgf0ywjHC2vFy29UzMLN','reiGuxvLCNK','yu5OqNC','vvbeqvrf','yM9KEq','nJa1mZCXugv1Chjf','mteXote3mvzisvLMvG','ndvur2LkExG','Cgf0Aa','CxHLwMe','q09ntuLu','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','BwTKAxjtEw5J','mZe0otGXmhfTs0rVuq','y3DivKe','zxHPDa','wNP1Ag8','rermx0nsrufurq','rgf0ywjHC2u6ia','CgLK','B2jQzwn0','tM9Kzs5QCW','u1rbuLqGvfjbtLnbq1rjt04','BxmP','icbizwfSDgG6ia','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','y3jLzgvUDgLHBa','Dg9Rzw4','DgvZDa','wfv5vgy','v0zQCKK','u2vYDMvYihn0yxj0Aw5NoIa','ifTtte9xxq','t1bcvNC','ChjVAMvJDf9SB2fKzwq','BwvZC2fNzq','C3nU','C2vYDMLJzuLUzM8','CurQB1y','DhLWzq','C3rYAw5NAwz5','s3rkEwK','mJuYntCWBvb1uhLt','mLjXBhngDG','C3rHCNrZv2L0Aa','CMvZDgzVCMDL','yxbPx3nLy3jLDa','C3rKvgLTzuz1BMn0Aw9UCW','ic0G','Aw5MBW','ru5QBxy','wLDur3G','weDPquS','y29Kzq','DxnLCI1Hz2vUDa','r2zWseG','ChjPDMf0zv9RzxK','zw52AxjVBM1LBNq','vu5ltK9xtG','te9hx0XfvKvm','Dhj1zq','CNL6EuW','DefQzKO','AgvHBhrOq2HLy2S','rvHNtNC','mtzTrNzqshm','Bw9KDwXL','Dwzsr3q','B3rW','Awz4BuG','su5trvju','oI8V','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','mJqXmJy1nNnPBgXhDq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','y2HPBgq','u0vmrunu','Cg9YDa','zxHWB3j0CW','C3rHDhvZq29Kzq','DNfivNu','wezyzLO','mJi1mdGZnJL2C09my3i','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Bwf0y2G','Aw5JBhvKzxm','C2vYDMvYx3n0yxj0Aw5N'];a0_0x134d=function(){return _0x80cb8c;};return a0_0x134d();}function writeToFileLog(_0xe2e07f,_0x193f2c){const _0x207050=a0_0x33da07,_0x496ae9={'qFtwK':function(_0x7bded0,_0x289c64){return _0x7bded0+_0x289c64;},'EXgNw':function(_0x52e9b5,_0x5cc86e){return _0x52e9b5===_0x5cc86e;},'ufRGt':_0x207050(0xe1)};if(!logToFile||!appLogStream)return;const _0x458bb2={'service':serviceName,..._0xe2e07f},_0x4c747c=_0x496ae9[_0x207050(0x112)](JSON[_0x207050(0xa6)](_0x458bb2),'\x0a');appLogStream[_0x207050(0x79)](_0x4c747c),(_0x496ae9[_0x207050(0xbe)](_0x193f2c,_0x496ae9[_0x207050(0xc1)])||_0x193f2c===_0x207050(0x117))&&(errorLogStream&&errorLogStream[_0x207050(0x79)](_0x4c747c));}const createRequestLogger=(_0x4f39cf={})=>{const _0x1b7388=a0_0x33da07;return logger[_0x1b7388(0xc9)](_0x4f39cf);},logServerStart=_0x192b54=>{const _0x4ed12c=a0_0x33da07,_0x134624={'LDdzj':_0x4ed12c(0x93),'dPDfl':'N/A','rKjQi':function(_0x389bd2,_0x1b2520){return _0x389bd2(_0x1b2520);},'ASMcQ':_0x4ed12c(0x10f),'lJsOS':_0x4ed12c(0xfc),'Pptgv':_0x4ed12c(0xaf)},_0xdaecef=_0x4ed12c(0xc6)+(_0x192b54[_0x4ed12c(0xb7)]||_0x134624['LDdzj'])['padEnd'](0x26)+_0x4ed12c(0xd7)+(_0x192b54['project']||_0x134624['dPDfl'])[_0x4ed12c(0x7a)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x134624['rKjQi'](String,_0x192b54[_0x4ed12c(0xcb)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x192b54[_0x4ed12c(0x11b)]||_0x134624['ASMcQ'])[_0x4ed12c(0x7a)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x192b54[_0x4ed12c(0x103)]?'ACTIVE':_0x134624[_0x4ed12c(0x109)])['padEnd'](0x26)+_0x4ed12c(0x104);console['log'](_0xdaecef);const _0x1ba8bd={'event':_0x4ed12c(0xd4),'project':_0x192b54['project'],'port':_0x192b54[_0x4ed12c(0xcb)],'config':_0x192b54[_0x4ed12c(0x11b)],'apiKeyEnabled':!!_0x192b54['apiKey']};logger['info'](_0x1ba8bd),writeToFileLog({..._0x1ba8bd,'level':'info','msg':_0x4ed12c(0x9d)+_0x192b54['project']+'\x20on\x20port\x20'+_0x192b54[_0x4ed12c(0xcb)],'time':new Date()['toISOString']()},_0x134624['Pptgv']);},logServerReady=_0x450e53=>{const _0x241c63=a0_0x33da07,_0x4f600f={'emzMG':'server_ready','zIlnN':'info'},_0x1e9839={'event':_0x4f600f['emzMG'],'port':_0x450e53['port'],'module':_0x450e53[_0x241c63(0xc0)],'healthCheck':_0x450e53[_0x241c63(0xbd)],'serviceInfo':_0x450e53['serviceInfo'],'baseUrl':_0x450e53[_0x241c63(0xe4)]},_0x5eee17=_0x241c63(0xc8)+_0x450e53[_0x241c63(0xcb)];logger[_0x241c63(0xaf)](_0x1e9839,_0x5eee17),writeToFileLog({..._0x1e9839,'level':_0x4f600f[_0x241c63(0xd8)],'msg':_0x5eee17,'time':new Date()[_0x241c63(0x108)]()},_0x4f600f[_0x241c63(0xd8)]),_0x450e53[_0x241c63(0xbd)]&&logger['info'](_0x241c63(0x96)+_0x450e53[_0x241c63(0xbd)]),_0x450e53[_0x241c63(0xa3)]&&logger[_0x241c63(0xaf)](_0x241c63(0x73)+_0x450e53['serviceInfo']),_0x450e53[_0x241c63(0xe4)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x450e53['baseUrl']);},logProjectLoaded=(_0x23b165,_0x207c5e)=>{const _0x5eb955=a0_0x33da07,_0x1f3b3e={'XUyTf':function(_0x426314,_0x7cd0b2,_0x4c5c5c){return _0x426314(_0x7cd0b2,_0x4c5c5c);}},_0x4fe24f={'event':_0x5eb955(0xa0),'project':_0x23b165,'path':_0x207c5e},_0x10d107=_0x5eb955(0x11c)+_0x23b165;logger[_0x5eb955(0xaf)](_0x4fe24f,_0x10d107),_0x1f3b3e[_0x5eb955(0x9b)](writeToFileLog,{..._0x4fe24f,'level':'info','msg':_0x10d107,'time':new Date()['toISOString']()},_0x5eb955(0xaf));},logEndpointRegistered=(_0x3b9b38,_0x535170)=>{const _0x308930=a0_0x33da07,_0x63aac7={'KJbtk':_0x308930(0x7b),'vbjLy':function(_0x3fc09e,_0x5f1e93,_0x1be193){return _0x3fc09e(_0x5f1e93,_0x1be193);},'OPBVw':'debug'},_0xfb8d4f={'event':_0x63aac7['KJbtk'],'endpoint':_0x3b9b38,'route':_0x535170},_0x3f5601=_0x308930(0x70)+_0x3b9b38+':\x20'+_0x535170;logger['debug'](_0xfb8d4f,_0x3f5601),_0x63aac7[_0x308930(0x106)](writeToFileLog,{..._0xfb8d4f,'level':_0x63aac7['OPBVw'],'msg':_0x3f5601,'time':new Date()[_0x308930(0x108)]()},_0x63aac7[_0x308930(0x9f)]);},logDatabaseConfig=_0x456f92=>{const _0x9c2ef5=a0_0x33da07,_0x34fe59={'hVkeN':_0x9c2ef5(0x7e),'USGbW':function(_0x42516b,_0x3fd599,_0x1412cf){return _0x42516b(_0x3fd599,_0x1412cf);},'GfpHH':'debug'},_0x31d0f5={'event':_0x34fe59[_0x9c2ef5(0x129)],'host':_0x456f92[_0x9c2ef5(0x12d)],'port':_0x456f92[_0x9c2ef5(0xcb)],'database':_0x456f92['database'],'type':_0x456f92['type'],'user':_0x456f92['user']},_0x5b4b86=_0x9c2ef5(0x90)+_0x456f92[_0x9c2ef5(0xa5)]+_0x9c2ef5(0xc5)+_0x456f92['host']+':'+_0x456f92[_0x9c2ef5(0xcb)]+'/'+_0x456f92[_0x9c2ef5(0xe3)];logger['debug'](_0x31d0f5,_0x5b4b86),_0x34fe59[_0x9c2ef5(0x116)](writeToFileLog,{..._0x31d0f5,'level':_0x34fe59[_0x9c2ef5(0xb5)],'msg':_0x5b4b86,'time':new Date()[_0x9c2ef5(0x108)]()},_0x34fe59[_0x9c2ef5(0xb5)]);},logRequest=(_0x4dff08,_0x57459f,_0x3aa644)=>{const _0x3941f7=a0_0x33da07,_0x55efe8={'JWPTH':function(_0x586971,_0x252f1f){return _0x586971>=_0x252f1f;},'iFSCX':_0x3941f7(0xe1),'WFjrI':function(_0x296615,_0x4effe3,_0x48ced8){return _0x296615(_0x4effe3,_0x48ced8);}},_0x32b121={'event':_0x3941f7(0x102),'method':_0x4dff08['method'],'path':_0x4dff08[_0x3941f7(0x86)],'statusCode':_0x57459f[_0x3941f7(0xcd)],'durationMs':_0x3aa644,'ip':_0x4dff08['ip']},_0xda015d=_0x4dff08['method']+'\x20'+_0x4dff08[_0x3941f7(0x86)]+_0x3941f7(0xae)+_0x57459f[_0x3941f7(0xcd)]+'\x20('+_0x3aa644+'ms)';let _0x4448d8=_0x3941f7(0xaf);if(_0x55efe8[_0x3941f7(0x12b)](_0x57459f['statusCode'],0x1f4))_0x4448d8=_0x55efe8['iFSCX'],logger['error'](_0x32b121,_0xda015d);else _0x57459f['statusCode']>=0x190?(_0x4448d8=_0x3941f7(0x10c),logger[_0x3941f7(0x10c)](_0x32b121,_0xda015d)):logger['info'](_0x32b121,_0xda015d);_0x55efe8[_0x3941f7(0x9c)](writeToFileLog,{..._0x32b121,'level':_0x4448d8,'msg':_0xda015d,'time':new Date()['toISOString']()},_0x4448d8);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd','token','access_token','refresh_token',a0_0x33da07(0x77),a0_0x33da07(0xac),'apikey','api_key',a0_0x33da07(0x98),'credentials','pin',a0_0x33da07(0xc2),a0_0x33da07(0xb6),'privatekey'],redactSensitiveParams=(_0x5d29d7,_0x211a9a)=>{const _0x53d7d8=a0_0x33da07,_0x4799d4={'tLmWt':function(_0x1fb169,_0x794205){return _0x1fb169===_0x794205;},'RSPuh':'string','LbWGr':function(_0x279e2a,_0x3497d8){return _0x279e2a>_0x3497d8;},'ifxmH':'[REDACTED:token]'};if(!_0x5d29d7||_0x5d29d7['length']===0x0)return _0x5d29d7;const _0x342f3c=_0x211a9a['toLowerCase'](),_0x44af7d=_0x342f3c['match'](/\(([^)]+)\)\s*values/i);let _0x4cf730=[];_0x44af7d&&(_0x4cf730=_0x44af7d[0x1]['split'](',')[_0x53d7d8(0xff)](_0x456bdb=>_0x456bdb[_0x53d7d8(0xe2)]()['toLowerCase']()));const _0x3880b6=_0x342f3c[_0x53d7d8(0xd2)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3880b6){const _0x589bf2=_0x3880b6[0x1],_0x31a532=_0x589bf2[_0x53d7d8(0xd2)](/(\w+)\s*=/g);_0x31a532&&(_0x4cf730=_0x31a532[_0x53d7d8(0xff)](_0x14c41f=>_0x14c41f['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x5d29d7[_0x53d7d8(0xff)]((_0x384c54,_0x4dbd5b)=>{const _0x417640=_0x53d7d8;if(_0x4cf730[_0x4dbd5b]){const _0x2eb21d=_0x4cf730[_0x4dbd5b],_0x4ce0f6=SENSITIVE_PARAM_PATTERNS['some'](_0x22f6b0=>_0x2eb21d[_0x417640(0xd3)](_0x22f6b0));if(_0x4ce0f6)return'[REDACTED]';}if(_0x4799d4[_0x417640(0x120)](typeof _0x384c54,_0x4799d4[_0x417640(0x71)])&&_0x4799d4['LbWGr'](_0x384c54['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x417640(0x9a)](_0x384c54)&&_0x384c54['includes']('.'))return _0x4799d4[_0x417640(0xc3)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x384c54))return _0x417640(0xd6);}return _0x384c54;});},parseQueryMetadata=_0x663bcf=>{const _0x2836f0=a0_0x33da07,_0x3248ed={'Lfxrw':_0x2836f0(0xb8),'cwHVA':_0x2836f0(0xca),'ffJVv':'INSERT','DZyYm':_0x2836f0(0x81),'CPfgn':'DELETE','LjmLx':'BEGIN','qxOgT':_0x2836f0(0x88),'buaxH':_0x2836f0(0xf4),'iecKf':'TRANSACTION_ROLLBACK','iegRg':'CREATE','Zzuho':'ALTER','siKYB':_0x2836f0(0xf6),'BWNLE':_0x2836f0(0xdc)},_0x54862a=_0x663bcf[_0x2836f0(0xe2)](),_0x56814d=_0x54862a['toUpperCase']();let _0x3f5c12=_0x3248ed[_0x2836f0(0xfb)],_0x1fa827=null;if(_0x56814d['startsWith'](_0x3248ed['cwHVA'])){_0x3f5c12=_0x3248ed[_0x2836f0(0x8c)];const _0x53910e=_0x54862a[_0x2836f0(0xd2)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fa827=_0x53910e?_0x53910e[0x1]:null;}else{if(_0x56814d[_0x2836f0(0xaa)](_0x3248ed['ffJVv'])){_0x3f5c12=_0x2836f0(0xc4);const _0x528a2e=_0x54862a[_0x2836f0(0xd2)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fa827=_0x528a2e?_0x528a2e[0x1]:null;}else{if(_0x56814d['startsWith'](_0x3248ed[_0x2836f0(0x126)])){_0x3f5c12=_0x3248ed[_0x2836f0(0x126)];const _0x3db772=_0x54862a[_0x2836f0(0xd2)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fa827=_0x3db772?_0x3db772[0x1]:null;}else{if(_0x56814d['startsWith'](_0x3248ed[_0x2836f0(0x100)])){_0x3f5c12=_0x3248ed['CPfgn'];const _0x33822e=_0x54862a['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fa827=_0x33822e?_0x33822e[0x1]:null;}else{if(_0x56814d['startsWith'](_0x3248ed['LjmLx'])||_0x56814d[_0x2836f0(0xaa)](_0x2836f0(0x94)))_0x3f5c12=_0x2836f0(0x121);else{if(_0x56814d[_0x2836f0(0xaa)](_0x3248ed['qxOgT']))_0x3f5c12=_0x3248ed[_0x2836f0(0x124)];else{if(_0x56814d[_0x2836f0(0xaa)]('ROLLBACK'))_0x3f5c12=_0x3248ed['iecKf'];else{if(_0x56814d['startsWith'](_0x3248ed['iegRg']))_0x3f5c12=_0x2836f0(0x8f);else{if(_0x56814d['startsWith'](_0x3248ed[_0x2836f0(0x8e)]))_0x3f5c12=_0x3248ed[_0x2836f0(0x12f)];else _0x56814d[_0x2836f0(0xaa)](_0x3248ed['BWNLE'])&&(_0x3f5c12='DDL_DROP');}}}}}}}}return{'type':_0x3f5c12,'table':_0x1fa827};},startQueryTimer=()=>{const _0x33987f={'QWuok':function(_0x4e0075,_0x3795ed){return _0x4e0075/_0x3795ed;}},_0x20ab11=process['hrtime']();return()=>{const _0x4f9679=a0_0x5e1c,[_0x2d992f,_0x1438db]=process[_0x4f9679(0xe6)](_0x20ab11);return parseFloat((_0x2d992f*0x3e8+_0x33987f['QWuok'](_0x1438db,0xf4240))['toFixed'](0x2));};},logQuery=(_0x2d92c6,_0x270739=[],_0x211f2a={})=>{const _0xc5c1ec=a0_0x33da07,_0x2536c9={'nQixV':'db_query','NNoCe':_0xc5c1ec(0x7f),'lNRkR':_0xc5c1ec(0xe5),'aStuO':function(_0x3ac55b,_0x539944){return _0x3ac55b(_0x539944);},'KxROw':function(_0x292b25,_0x19f023){return _0x292b25!==_0x19f023;},'LmhME':'unknown','KfNBJ':'debug','ghfEH':_0xc5c1ec(0x10c),'HdZsm':'info','qreXi':function(_0x5ebba4,_0x1e887e,_0x472641){return _0x5ebba4(_0x1e887e,_0x472641);}};if(!sqlLogEnabled){logger['debug']({'event':_0x2536c9['nQixV'],'query':_0x2d92c6['substring'](0x0,0xc8),'paramCount':_0x270739['length']},_0x2536c9['NNoCe']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2536c9['lNRkR']}=_0x211f2a,{type:_0x3df711,table:_0x3a35c8}=_0x2536c9['aStuO'](parseQueryMetadata,_0x2d92c6),_0x21fe34={'event':_0xc5c1ec(0xe0),'queryType':_0x3df711,'table':_0x3a35c8,'query':_0x2d92c6,'paramCount':_0x270739['length'],'dbType':dbType};sqlLogParams&&_0x270739[_0xc5c1ec(0x107)]>0x0&&(_0x21fe34['params']=redactSensitiveParams(_0x270739,_0x2d92c6));duration!==null&&(_0x21fe34['durationMs']=duration,_0x21fe34['isSlow']=duration>sqlLogSlowThreshold);_0x2536c9[_0xc5c1ec(0x110)](rowsAffected,null)&&(_0x21fe34['rowsAffected']=rowsAffected);const _0x1a00a2=_0x3a35c8||_0x2536c9['LmhME'];let _0x2bad33='['+_0x3df711+']\x20'+_0x1a00a2;_0x2536c9[_0xc5c1ec(0x110)](duration,null)&&(_0x2bad33+='\x20('+duration+_0xc5c1ec(0x95));const _0x4a095c=duration!==null&&duration>sqlLogSlowThreshold;let _0x37310e=_0x2536c9['KfNBJ'];if(_0x4a095c)_0x2bad33+=_0xc5c1ec(0x9e),_0x37310e=_0x2536c9[_0xc5c1ec(0xf3)],logger[_0xc5c1ec(0x10c)](_0x21fe34,_0x2bad33);else sqlLogLevel===_0x2536c9[_0xc5c1ec(0xf0)]?(_0x37310e=_0xc5c1ec(0xaf),logger['info'](_0x21fe34,_0x2bad33)):logger['debug'](_0x21fe34,_0x2bad33);_0x2536c9[_0xc5c1ec(0xdf)](writeToFileLog,{..._0x21fe34,'level':_0x37310e,'msg':_0x2bad33,'time':new Date()[_0xc5c1ec(0x108)]()},_0x37310e);},logTransaction=(_0x276c7b,_0x37eca6)=>{const _0x24204a=a0_0x33da07,_0x505039={'ryzyL':'db_transaction','dLMxT':_0x24204a(0xfe)},_0x1a9bf2={'event':_0x505039[_0x24204a(0xbb)],'status':_0x276c7b,'queryCount':_0x37eca6},_0x479d85=_0x24204a(0x11e)+_0x276c7b;logger[_0x24204a(0xfe)](_0x1a9bf2,_0x479d85),writeToFileLog({..._0x1a9bf2,'level':_0x505039['dLMxT'],'msg':_0x479d85,'time':new Date()[_0x24204a(0x108)]()},'debug');},redactObject=_0xcac19d=>{const _0x34b604=a0_0x33da07,_0x5a33c0={'xYfaS':function(_0x33be53,_0x2c86a8){return _0x33be53!==_0x2c86a8;},'fOGld':'password','suUYw':_0x34b604(0x10d),'LeCiX':_0x34b604(0x99),'VhKtl':_0x34b604(0x77),'aNhBw':'apikey','fREIw':'api_key','XFSbJ':'credit_card','nYmgL':_0x34b604(0xb6),'ZWTGx':_0x34b604(0x115),'uRsSV':_0x34b604(0x7c),'IolmF':'object','vqHVu':function(_0x2c431e,_0x4b4771){return _0x2c431e(_0x4b4771);}};if(!_0xcac19d||_0x5a33c0['xYfaS'](typeof _0xcac19d,_0x34b604(0x92)))return _0xcac19d;const _0x5e62c9=[_0x5a33c0['fOGld'],'passwd',_0x5a33c0['suUYw'],_0x5a33c0['LeCiX'],_0x5a33c0['VhKtl'],_0x5a33c0[_0x34b604(0x80)],_0x5a33c0[_0x34b604(0xd9)],'authorization','creditcard',_0x5a33c0[_0x34b604(0xed)],'cvv',_0x34b604(0xa2),_0x34b604(0x12a),_0x5a33c0['nYmgL'],_0x5a33c0[_0x34b604(0xb1)],_0x5a33c0['uRsSV'],_0x34b604(0x11d)],_0x560402=Array[_0x34b604(0x10e)](_0xcac19d)?[..._0xcac19d]:{..._0xcac19d};for(const _0x286090 of Object[_0x34b604(0xee)](_0x560402)){const _0x5cc9ab=_0x286090[_0x34b604(0xf2)]();if(_0x5e62c9['some'](_0x260c2a=>_0x5cc9ab['includes'](_0x260c2a)))_0x560402[_0x286090]='[REDACTED]';else typeof _0x560402[_0x286090]===_0x5a33c0['IolmF']&&_0x560402[_0x286090]!==null&&(_0x560402[_0x286090]=_0x5a33c0[_0x34b604(0xce)](redactObject,_0x560402[_0x286090]));}return _0x560402;},logError=(_0x15406e,_0xc571bc={},_0x2083b6=null)=>{const _0x58aec4=a0_0x33da07,_0x5dbaa2={'jfHPd':'error','KtJyi':function(_0xcd5ca7,_0x259a90,_0x3e8fc4){return _0xcd5ca7(_0x259a90,_0x3e8fc4);}},_0x24344a={'event':_0x5dbaa2['jfHPd'],'errorName':_0x15406e['name']||_0x58aec4(0xd5),'errorMessage':_0x15406e['message'],'errorCode':_0x15406e['code']||null,'stack':_0x15406e[_0x58aec4(0x123)],..._0xc571bc},_0x1cb9dd=_0x2083b6||'Error:\x20'+_0x15406e[_0x58aec4(0xa1)];logger['error'](_0x24344a,_0x1cb9dd),_0x5dbaa2[_0x58aec4(0xa7)](writeToFileLog,{..._0x24344a,'level':_0x58aec4(0xe1),'msg':_0x1cb9dd,'time':new Date()['toISOString']()},_0x58aec4(0xe1));},logFatalError=(_0x1b461a,_0x45e396={},_0xf993b2=null)=>{const _0x33e040=a0_0x33da07,_0x2a1cba={'CRPBX':_0x33e040(0x122),'OXCSj':'Error','qDjoV':'CRITICAL','eogSG':function(_0x4f8039,_0x2e09f9,_0xc069e1){return _0x4f8039(_0x2e09f9,_0xc069e1);},'vJynb':'fatal'},_0xf44f3f={'event':_0x2a1cba['CRPBX'],'errorName':_0x1b461a['name']||_0x2a1cba['OXCSj'],'errorMessage':_0x1b461a['message'],'errorCode':_0x1b461a['code']||null,'stack':_0x1b461a['stack'],'severity':_0x2a1cba[_0x33e040(0xa4)],..._0x45e396},_0x168eb1=_0xf993b2||'FATAL:\x20'+_0x1b461a[_0x33e040(0xa1)];logger['fatal'](_0xf44f3f,_0x168eb1),_0x2a1cba[_0x33e040(0xde)](writeToFileLog,{..._0xf44f3f,'level':_0x2a1cba[_0x33e040(0xfa)],'msg':_0x168eb1,'time':new Date()['toISOString']()},_0x33e040(0xe1));},logHttpError=(_0x136f0e,_0xcde9f8,_0x1d1a0a={})=>{const _0x5542c6=a0_0x33da07,_0x53eaab={'LUUcs':'Error','SrYEN':_0x5542c6(0x113),'qxeZa':function(_0x34922a,_0x1c4a29){return _0x34922a(_0x1c4a29);},'XFXfZ':function(_0x1aa55d,_0x474a5e){return _0x1aa55d>=_0x474a5e;},'WWJut':_0x5542c6(0xe1),'jvflS':_0x5542c6(0x10c)},_0x1df219={'event':'http_error','errorName':_0x136f0e[_0x5542c6(0x7d)]||_0x53eaab['LUUcs'],'errorMessage':_0x136f0e['message'],'errorCode':_0x136f0e['code']||_0x136f0e['statusCode']||0x1f4,'stack':_0x136f0e['stack'],'method':_0xcde9f8?.['method'],'url':_0xcde9f8?.['url']||_0xcde9f8?.[_0x5542c6(0xec)],'path':_0xcde9f8?.['path'],'ip':_0xcde9f8?.['ip']||_0xcde9f8?.['connection']?.['remoteAddress'],'userAgent':_0xcde9f8?.[_0x5542c6(0x11a)]?.(_0x5542c6(0xb4)),'requestId':_0xcde9f8?.['id']||_0xcde9f8?.['headers']?.[_0x53eaab[_0x5542c6(0xda)]],'body':_0xcde9f8?.[_0x5542c6(0x82)]?_0x53eaab[_0x5542c6(0x87)](redactObject,_0xcde9f8[_0x5542c6(0x82)]):undefined,'query':_0xcde9f8?.[_0x5542c6(0x74)],..._0x1d1a0a},_0x56e68a=_0x136f0e[_0x5542c6(0xcd)]||_0x136f0e['status']||0x1f4,_0x57ed9d='HTTP\x20'+_0x56e68a+':\x20'+_0x136f0e[_0x5542c6(0xa1)];_0x56e68a>=0x1f4?logger[_0x5542c6(0xe1)](_0x1df219,_0x57ed9d):logger[_0x5542c6(0x10c)](_0x1df219,_0x57ed9d),writeToFileLog({..._0x1df219,'level':_0x53eaab['XFXfZ'](_0x56e68a,0x1f4)?'error':_0x5542c6(0x10c),'msg':_0x57ed9d,'time':new Date()[_0x5542c6(0x108)]()},_0x53eaab[_0x5542c6(0xcf)](_0x56e68a,0x1f4)?_0x53eaab['WWJut']:_0x53eaab[_0x5542c6(0x78)]);},logUncaughtError=(_0x4435b9,_0x4bc493)=>{const _0x31ec51=a0_0x33da07,_0x14a970={'joJRg':function(_0x3fe2ef,_0x33639e,_0x3f7b98){return _0x3fe2ef(_0x33639e,_0x3f7b98);},'Bqdgl':_0x31ec51(0x117)},_0x96f28f={'event':_0x4435b9,'errorName':_0x4bc493?.[_0x31ec51(0x7d)]||_0x31ec51(0xd5),'errorMessage':_0x4bc493?.[_0x31ec51(0xa1)]||String(_0x4bc493),'errorCode':_0x4bc493?.[_0x31ec51(0xb3)]||null,'stack':_0x4bc493?.[_0x31ec51(0x123)],'severity':_0x31ec51(0x119),'processId':process[_0x31ec51(0x91)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x31ec51(0x130)]()},_0x526b48='['+_0x4435b9[_0x31ec51(0x75)]()+']\x20'+(_0x4bc493?.[_0x31ec51(0xa1)]||_0x4bc493);logger[_0x31ec51(0x117)](_0x96f28f,_0x526b48),_0x14a970['joJRg'](writeToFileLog,{..._0x96f28f,'level':_0x14a970['Bqdgl'],'msg':_0x526b48,'time':new Date()[_0x31ec51(0x108)]()},'error');},setupGlobalErrorHandlers=()=>{const _0xb35cd6=a0_0x33da07,_0x40bc44={'DKLTQ':function(_0x242b05,_0x318f14,_0x1d4b18){return _0x242b05(_0x318f14,_0x1d4b18);},'jbPON':function(_0x118752,_0x18a1c9,_0xd473db){return _0x118752(_0x18a1c9,_0xd473db);},'Lwtru':'process_warning','XGiAK':'uncaughtException','MTZAk':_0xb35cd6(0xd1),'AHvHn':'warning','olKpC':_0xb35cd6(0x89),'YDxQF':'info'};process['on'](_0x40bc44[_0xb35cd6(0xb2)],_0x261679=>{_0x40bc44['DKLTQ'](logUncaughtError,'uncaughtException',_0x261679),setTimeout(()=>{const _0x19f357=a0_0x5e1c;process[_0x19f357(0x8d)](0x1);},0x3e8);}),process['on'](_0x40bc44['MTZAk'],(_0x309ce4,_0x11b19a)=>{const _0x502bd9=_0xb35cd6,_0x5387c8=_0x309ce4 instanceof Error?_0x309ce4:new Error(String(_0x309ce4));_0x40bc44[_0x502bd9(0xef)](logUncaughtError,_0x502bd9(0xd1),_0x5387c8);}),process['on'](_0x40bc44['AHvHn'],_0x53850d=>{const _0x4d0128=_0xb35cd6;logger['warn']({'event':_0x40bc44[_0x4d0128(0x118)],'name':_0x53850d[_0x4d0128(0x7d)],'message':_0x53850d['message'],'stack':_0x53850d[_0x4d0128(0x123)]},'Process\x20Warning:\x20'+_0x53850d['message']);});const _0x119a99={'event':_0x40bc44[_0xb35cd6(0x72)]},_0x42d178='Global\x20error\x20handlers\x20initialized';logger[_0xb35cd6(0xaf)](_0x119a99,_0x42d178),writeToFileLog({..._0x119a99,'level':'info','msg':_0x42d178,'time':new Date()[_0xb35cd6(0x108)]()},_0x40bc44[_0xb35cd6(0x125)]);},createErrorHandlerMiddleware=()=>{const _0x337071={'tAjfJ':function(_0x49b948,_0x3f6194,_0x1eeefb){return _0x49b948(_0x3f6194,_0x1eeefb);}};return(_0x47d501,_0xf71dc,_0x3255e3,_0x26a9d3)=>{const _0x46a912=a0_0x5e1c;_0x337071[_0x46a912(0xbc)](logHttpError,_0x47d501,_0xf71dc);const _0x42dd19=_0x47d501[_0x46a912(0xcd)]||_0x47d501[_0x46a912(0x114)]||0x1f4;_0x3255e3['status'](_0x42dd19)['json']({'success':![],'error':_0x42dd19>=0x1f4?'Internal\x20server\x20error':_0x47d501[_0x46a912(0xa1)],'requestId':_0xf71dc['id']||_0xf71dc['headers']?.[_0x46a912(0x113)]||null});};};module[a0_0x33da07(0xcc)]={'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
- function a0_0x11ba(){const _0x321a93=['Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','mteWnZLSAu1JsM0','mteZnNvJwM1Nua','Cgf5Bg9HzerPCG','lwv4Cg9YDa','BwvZC2fNzq','ntmWnZeWsvfuyK1f','nJzevNnQDNC','nduYmdK1n3vQzNbesa','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zxHWB3j0CW','DxrMoa','ywn0Aw9U','Axnby3rPB25fBMfIBgvK','mJHbz1LMC24','CuDYDfi','Aw5MBW','nJuXmZb4yxvWvKG','z2v0','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','te1kB1K','y2XLyxi','AgfZ','zxjYB3i','zMLLBgrmywjLBhm','y2fJAgu','lMPZB24','mZa0nJaYsvnPu1LY','CMvHzezPBgu','C2v0','zgvIDwC','mty2mta5mffkB1bQBq','mJaWnfPXEezJBG','mJrQq2ztqNG','DgfIBgvoyw1L','Cgf5Bg9HzdO','nJiZmtHWAxDiCgS','AM9PBG','Cgf5Bg9Hzf9SB2fKzwq','nMvfyMnxyG','EffQq0G'];a0_0x11ba=function(){return _0x321a93;};return a0_0x11ba();}const a0_0x4ec39b=a0_0x28e1;(function(_0x27f9b5,_0x5d9d1d){const _0x45fef8=a0_0x28e1,_0x595d4a=_0x27f9b5();while(!![]){try{const _0x5f12ce=-parseInt(_0x45fef8(0xb4))/0x1*(-parseInt(_0x45fef8(0xb7))/0x2)+parseInt(_0x45fef8(0xae))/0x3*(parseInt(_0x45fef8(0xcb))/0x4)+parseInt(_0x45fef8(0xb2))/0x5+-parseInt(_0x45fef8(0xba))/0x6*(parseInt(_0x45fef8(0xc5))/0x7)+parseInt(_0x45fef8(0xbf))/0x8*(-parseInt(_0x45fef8(0xbe))/0x9)+parseInt(_0x45fef8(0xc3))/0xa*(parseInt(_0x45fef8(0xc4))/0xb)+parseInt(_0x45fef8(0xb3))/0xc*(-parseInt(_0x45fef8(0xce))/0xd);if(_0x5f12ce===_0x5d9d1d)break;else _0x595d4a['push'](_0x595d4a['shift']());}catch(_0x2584f8){_0x595d4a['push'](_0x595d4a['shift']());}}}(a0_0x11ba,0x6e523));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x28a081=a0_0x28e1,_0x38a815={'qGrtR':'../../payload'};this['payloadDir']=path[_0x28a081(0xb8)](__dirname,_0x38a815[_0x28a081(0xcc)]),this['cache']=new Map();}async['loadPayload'](_0x1289d7,_0x1ff4d2){const _0x1aa7bc=a0_0x28e1,_0x135202=_0x1289d7+':'+_0x1ff4d2;if(this['cache'][_0x1aa7bc(0xa9)](_0x135202))return this[_0x1aa7bc(0xac)]['get'](_0x135202);const _0x4bf68e=path[_0x1aa7bc(0xb8)](this['payloadDir'],_0x1289d7+'_'+_0x1ff4d2+_0x1aa7bc(0xad));try{const _0x5a6d83=await fs[_0x1aa7bc(0xaf)](_0x4bf68e,_0x1aa7bc(0xc8)),_0x4b9af4=JSON['parse'](_0x5a6d83);return this['cache']['set'](_0x135202,_0x4b9af4),logger['debug']({'event':'payload_loaded','project':_0x1289d7,'resource':_0x1ff4d2},_0x1aa7bc(0xd1)),_0x4b9af4;}catch(_0x40d187){logger[_0x1aa7bc(0xaa)]({'event':'payload_load_error','project':_0x1289d7,'resource':_0x1ff4d2,'error':_0x40d187[_0x1aa7bc(0xc2)]},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x1289d7+'_'+_0x1ff4d2);}}async['loadPayloadByName'](_0x33e983){const _0x121941=a0_0x28e1,_0x251434={'whGHI':'utf8','xQjCH':_0x121941(0xb9),'LMJoY':_0x121941(0xc6),'AIKRt':_0x121941(0xbd)},_0x1272d8=_0x121941(0xb6)+_0x33e983;if(this['cache']['has'](_0x1272d8))return this['cache'][_0x121941(0xcf)](_0x1272d8);const _0x4bb8f8=path[_0x121941(0xb8)](this[_0x121941(0xc0)],_0x33e983+_0x121941(0xad));try{const _0x2f48c4=await fs[_0x121941(0xaf)](_0x4bb8f8,_0x251434['whGHI']),_0x57a29c=JSON['parse'](_0x2f48c4);return this[_0x121941(0xac)][_0x121941(0xb0)](_0x1272d8,_0x57a29c),logger[_0x121941(0xb1)]({'event':_0x251434[_0x121941(0xbb)],'payloadName':_0x33e983},_0x121941(0xd0)),_0x57a29c;}catch(_0x3c6a64){logger['error']({'event':_0x251434[_0x121941(0xd2)],'payloadName':_0x33e983,'error':_0x3c6a64['message']},_0x251434['AIKRt']);throw new Error('Payload\x20not\x20found:\x20'+_0x33e983);}}[a0_0x4ec39b(0xca)](_0x52f92f,_0x5cfaa9){const _0x4ec44c=a0_0x4ec39b,_0x49eadf={'TpYwx':function(_0x2269b4,_0x1d9df6){return _0x2269b4===_0x1d9df6;}};return _0x52f92f['action']&&_0x49eadf['TpYwx'](_0x52f92f[_0x4ec44c(0xc9)][_0x5cfaa9],!![]);}['getExportConfig'](_0xe276e2){const _0x3af0f3=a0_0x4ec39b;return{'columns':_0xe276e2['fieldName']||[],'filename':_0xe276e2[_0x3af0f3(0xb5)]['replace']('.','-')+_0x3af0f3(0xc1),'datatablesQuery':_0xe276e2['datatablesQuery']||null,'columnFormats':_0xe276e2['columnFormats']||null,'fieldLabels':_0xe276e2[_0x3af0f3(0xab)]||null};}['clearCache'](){const _0xa87b1d=a0_0x4ec39b,_0x277488={'yrlCn':_0xa87b1d(0xbc)};this['cache'][_0xa87b1d(0xd3)](),logger[_0xa87b1d(0xcd)]({'event':_0x277488['yrlCn']},'Payload\x20cache\x20cleared');}}function a0_0x28e1(_0x3a084b,_0x232f5a){_0x3a084b=_0x3a084b-0xa9;const _0x11ba33=a0_0x11ba();let _0x28e1b2=_0x11ba33[_0x3a084b];if(a0_0x28e1['ddetZD']===undefined){var _0x3da89f=function(_0x47f960){const _0x5241f1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ba3a0='',_0x1b72f1='';for(let _0x5c76e0=0x0,_0x165706,_0x420d00,_0x43eee1=0x0;_0x420d00=_0x47f960['charAt'](_0x43eee1++);~_0x420d00&&(_0x165706=_0x5c76e0%0x4?_0x165706*0x40+_0x420d00:_0x420d00,_0x5c76e0++%0x4)?_0x2ba3a0+=String['fromCharCode'](0xff&_0x165706>>(-0x2*_0x5c76e0&0x6)):0x0){_0x420d00=_0x5241f1['indexOf'](_0x420d00);}for(let _0x104798=0x0,_0x1ce9ec=_0x2ba3a0['length'];_0x104798<_0x1ce9ec;_0x104798++){_0x1b72f1+='%'+('00'+_0x2ba3a0['charCodeAt'](_0x104798)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b72f1);};a0_0x28e1['VchOOz']=_0x3da89f,a0_0x28e1['ZyZPzm']={},a0_0x28e1['ddetZD']=!![];}const _0x5e1b98=_0x11ba33[0x0],_0x55db8e=_0x3a084b+_0x5e1b98,_0x4811d2=a0_0x28e1['ZyZPzm'][_0x55db8e];return!_0x4811d2?(_0x28e1b2=a0_0x28e1['VchOOz'](_0x28e1b2),a0_0x28e1['ZyZPzm'][_0x55db8e]=_0x28e1b2):_0x28e1b2=_0x4811d2,_0x28e1b2;}module[a0_0x4ec39b(0xc7)]=new PayloadLoader();
1
+ function a0_0x293d(){const _0x45e2bd=['AgfZ','CMvHzezPBgu','nJy1ntCYsxbWs1Pu','Cgf5Bg9HzerPCG','CwTkBeW','AM9PBG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mZKYnJv2s2DgBeu','odeWnxrtBMHeDa','ntCZmZuYANzJzMDH','BwvZC2fNzq','zgvIDwC','DgfIBgvoyw1L','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','y2fJAgu','CMvWBgfJzq','Bg9HzfbHEwXVywrcEu5HBwu','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','mJGWmdu0ndrPzuzhBwm','mZCZmLL2DfvgDG','Aw5MBW','m3nOA0jJua','mtfAuxjSqxm','lI4VlI4VCgf5Bg9Hza','zxjYB3i','z2v0rxHWB3j0q29UzMLN','lI9SB2DNzxi','z2v0','y29SDw1UrM9YBwf0CW','CgfYC2u','zMLLBgrmywjLBhm','mtHZyKHjqLm','mZe3nJKZn0rQtg5zra','otfnDenZseK','zgf0yxrHyMXLC1f1zxj5','mJCXmdeWCfjsEuzj'];a0_0x293d=function(){return _0x45e2bd;};return a0_0x293d();}const a0_0x42eece=a0_0x4eaa;(function(_0x21c210,_0x3ffd14){const _0x15fae4=a0_0x4eaa,_0x112431=_0x21c210();while(!![]){try{const _0x17c64e=-parseInt(_0x15fae4(0x17b))/0x1*(-parseInt(_0x15fae4(0x16f))/0x2)+-parseInt(_0x15fae4(0x189))/0x3*(-parseInt(_0x15fae4(0x176))/0x4)+-parseInt(_0x15fae4(0x17c))/0x5*(-parseInt(_0x15fae4(0x187))/0x6)+parseInt(_0x15fae4(0x171))/0x7*(parseInt(_0x15fae4(0x17d))/0x8)+parseInt(_0x15fae4(0x170))/0x9+parseInt(_0x15fae4(0x173))/0xa*(parseInt(_0x15fae4(0x18a))/0xb)+-parseInt(_0x15fae4(0x186))/0xc;if(_0x17c64e===_0x3ffd14)break;else _0x112431['push'](_0x112431['shift']());}catch(_0x3ea825){_0x112431['push'](_0x112431['shift']());}}}(a0_0x293d,0x7b8bc));function a0_0x4eaa(_0x1804ca,_0x516891){_0x1804ca=_0x1804ca-0x16a;const _0x293d57=a0_0x293d();let _0x4eaab1=_0x293d57[_0x1804ca];if(a0_0x4eaa['suWkhn']===undefined){var _0x5cf99a=function(_0x33da80){const _0x2b6df5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1134ee='',_0x485926='';for(let _0x1309e5=0x0,_0x9a68ec,_0x38fbec,_0x3913dc=0x0;_0x38fbec=_0x33da80['charAt'](_0x3913dc++);~_0x38fbec&&(_0x9a68ec=_0x1309e5%0x4?_0x9a68ec*0x40+_0x38fbec:_0x38fbec,_0x1309e5++%0x4)?_0x1134ee+=String['fromCharCode'](0xff&_0x9a68ec>>(-0x2*_0x1309e5&0x6)):0x0){_0x38fbec=_0x2b6df5['indexOf'](_0x38fbec);}for(let _0x2d7f46=0x0,_0x4a1b09=_0x1134ee['length'];_0x2d7f46<_0x4a1b09;_0x2d7f46++){_0x485926+='%'+('00'+_0x1134ee['charCodeAt'](_0x2d7f46)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x485926);};a0_0x4eaa['jSWoGX']=_0x5cf99a,a0_0x4eaa['XDRQCA']={},a0_0x4eaa['suWkhn']=!![];}const _0x45d19f=_0x293d57[0x0],_0x38c683=_0x1804ca+_0x45d19f,_0x1088e7=a0_0x4eaa['XDRQCA'][_0x38c683];return!_0x1088e7?(_0x4eaab1=a0_0x4eaa['jSWoGX'](_0x4eaab1),a0_0x4eaa['XDRQCA'][_0x38c683]=_0x4eaab1):_0x4eaab1=_0x1088e7,_0x4eaab1;}const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x42eece(0x16a));class PayloadLoader{constructor(){const _0x56ba9a=a0_0x42eece;this['payloadDir']=path['join'](__dirname,_0x56ba9a(0x18b)),this['cache']=new Map();}async['loadPayload'](_0x4e6b7e,_0xb5cd96){const _0x5523ac=a0_0x42eece,_0x478a62={'rUzvu':'Payload\x20loaded\x20successfully'},_0x1c92ad=_0x4e6b7e+':'+_0xb5cd96;if(this[_0x5523ac(0x182)][_0x5523ac(0x174)](_0x1c92ad))return this[_0x5523ac(0x182)][_0x5523ac(0x16b)](_0x1c92ad);const _0x4e8866=path[_0x5523ac(0x179)](this[_0x5523ac(0x177)],_0x4e6b7e+'_'+_0xb5cd96+'.json');try{const _0x27033e=await fs[_0x5523ac(0x175)](_0x4e8866,'utf8'),_0x52ed9e=JSON['parse'](_0x27033e);return this[_0x5523ac(0x182)]['set'](_0x1c92ad,_0x52ed9e),logger[_0x5523ac(0x17f)]({'event':'payload_loaded','project':_0x4e6b7e,'resource':_0xb5cd96},_0x478a62['rUzvu']),_0x52ed9e;}catch(_0x4d29da){logger[_0x5523ac(0x18c)]({'event':_0x5523ac(0x17a),'project':_0x4e6b7e,'resource':_0xb5cd96,'error':_0x4d29da['message']},_0x5523ac(0x181));throw new Error('Payload\x20not\x20found:\x20'+_0x4e6b7e+'_'+_0xb5cd96);}}async[a0_0x42eece(0x184)](_0x3ee697){const _0x4a8fc7=a0_0x42eece,_0x4a497c={'qkJlL':'payload_loaded','ZOIDR':_0x4a8fc7(0x17a)},_0x484844='payload:'+_0x3ee697;if(this['cache']['has'](_0x484844))return this[_0x4a8fc7(0x182)][_0x4a8fc7(0x16b)](_0x484844);const _0x314919=path['join'](this[_0x4a8fc7(0x177)],_0x3ee697+'.json');try{const _0x3cceed=await fs['readFile'](_0x314919,'utf8'),_0x5c28d0=JSON[_0x4a8fc7(0x16d)](_0x3cceed);return this['cache']['set'](_0x484844,_0x5c28d0),logger[_0x4a8fc7(0x17f)]({'event':_0x4a497c[_0x4a8fc7(0x178)],'payloadName':_0x3ee697},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x5c28d0;}catch(_0x325f3a){logger[_0x4a8fc7(0x18c)]({'event':_0x4a497c['ZOIDR'],'payloadName':_0x3ee697,'error':_0x325f3a[_0x4a8fc7(0x17e)]},_0x4a8fc7(0x185));throw new Error('Payload\x20not\x20found:\x20'+_0x3ee697);}}['isActionEnabled'](_0x2bd938,_0x3e74da){return _0x2bd938['action']&&_0x2bd938['action'][_0x3e74da]===!![];}[a0_0x42eece(0x18d)](_0x3e0181){const _0x273f36=a0_0x42eece;return{'columns':_0x3e0181['fieldName']||[],'filename':_0x3e0181[_0x273f36(0x180)][_0x273f36(0x183)]('.','-')+'-export','datatablesQuery':_0x3e0181[_0x273f36(0x172)]||null,'columnFormats':_0x3e0181[_0x273f36(0x16c)]||null,'fieldLabels':_0x3e0181[_0x273f36(0x16e)]||null};}['clearCache'](){const _0x5799c4=a0_0x42eece;this['cache']['clear'](),logger[_0x5799c4(0x188)]({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}module['exports']=new PayloadLoader();