@restforgejs/platform 4.3.1 → 4.3.4

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 (176) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +0 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/lib/generators/model-generator.js +1 -1
  7. package/generators/lib/payload/endpoint-schema-validator.js +11 -1
  8. package/generators/lib/payload/payload-runner.js +4 -4
  9. package/generators/lib/payload/schema-diff.js +186 -3
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/generators/lib/utils/conflict-checker.js +9 -57
  20. package/generators/lib/utils/database-introspector.js +84 -0
  21. package/generators/lib/utils/file-utils.js +0 -159
  22. package/generators/lib/utils/payload-processor.js +21 -112
  23. package/integrity-manifest.json +18 -18
  24. package/package.json +1 -1
  25. package/scripts/verify-integrity.js +1 -1
  26. package/server.js +1 -1
  27. package/src/components/handlers/adjust_handler.js +1 -1
  28. package/src/components/handlers/audit_handler.js +1 -1
  29. package/src/components/handlers/delete_handler.js +1 -1
  30. package/src/components/handlers/export_handler.js +1 -1
  31. package/src/components/handlers/import_handler.js +1 -1
  32. package/src/components/handlers/insert_handler.js +1 -1
  33. package/src/components/handlers/update_handler.js +1 -1
  34. package/src/components/handlers/upload_handler.js +1 -1
  35. package/src/components/handlers/workflow_handler.js +1 -1
  36. package/src/components/integrations/webhook.js +1 -1
  37. package/src/consumers/baseConsumer.js +1 -1
  38. package/src/consumers/declarativeMapper.js +1 -1
  39. package/src/consumers/handlers/apiHandler.js +1 -1
  40. package/src/consumers/handlers/consoleHandler.js +1 -1
  41. package/src/consumers/handlers/databaseHandler.js +1 -1
  42. package/src/consumers/handlers/index.js +1 -1
  43. package/src/consumers/handlers/kafkaHandler.js +1 -1
  44. package/src/consumers/index.js +1 -1
  45. package/src/consumers/messageTransformer.js +1 -1
  46. package/src/consumers/validator.js +1 -1
  47. package/src/core/db/dialect/base-dialect.js +1 -1
  48. package/src/core/db/dialect/index.js +1 -1
  49. package/src/core/db/dialect/mysql-dialect.js +1 -1
  50. package/src/core/db/dialect/oracle-dialect.js +1 -1
  51. package/src/core/db/dialect/postgres-dialect.js +1 -1
  52. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  53. package/src/core/db/flatten-helper.js +1 -1
  54. package/src/core/db/query-builder-error.js +1 -1
  55. package/src/core/db/query-builder.js +1 -1
  56. package/src/core/db/relation-helper.js +1 -1
  57. package/src/core/handlers/delete_handler.js +1 -1
  58. package/src/core/handlers/insert_handler.js +1 -1
  59. package/src/core/handlers/update_handler.js +1 -1
  60. package/src/core/models/base-model.js +1 -1
  61. package/src/core/utils/cache-manager.js +1 -1
  62. package/src/core/utils/component-engine.js +1 -1
  63. package/src/core/utils/context-builder.js +1 -1
  64. package/src/core/utils/datetime-formatter.js +1 -1
  65. package/src/core/utils/datetime-parser.js +1 -1
  66. package/src/core/utils/db.js +1 -1
  67. package/src/core/utils/logger.js +1 -1
  68. package/src/core/utils/payload-loader.js +1 -1
  69. package/src/core/utils/security-checks.js +1 -1
  70. package/src/middleware/body-options.js +1 -1
  71. package/src/middleware/cors.js +1 -1
  72. package/src/middleware/idempotency.js +1 -1
  73. package/src/middleware/rate-limiter.js +1 -1
  74. package/src/middleware/request-logger.js +1 -1
  75. package/src/middleware/security-headers.js +1 -1
  76. package/src/models/base-model-mysql.js +1 -1
  77. package/src/models/base-model-oracle.js +1 -1
  78. package/src/models/base-model-sqlite.js +1 -1
  79. package/src/models/base-model.js +1 -1
  80. package/src/pro/caching/redis-client.js +1 -1
  81. package/src/pro/caching/redis-helper.js +1 -1
  82. package/src/pro/consumers/baseConsumer.js +1 -1
  83. package/src/pro/consumers/declarativeMapper.js +1 -1
  84. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  85. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  86. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  87. package/src/pro/consumers/handlers/index.js +1 -1
  88. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  89. package/src/pro/consumers/index.js +1 -1
  90. package/src/pro/consumers/messageTransformer.js +1 -1
  91. package/src/pro/consumers/validator.js +1 -1
  92. package/src/pro/database/base-model-mysql.js +1 -1
  93. package/src/pro/database/base-model-oracle.js +1 -1
  94. package/src/pro/database/base-model-sqlite.js +1 -1
  95. package/src/pro/database/db-mysql.js +1 -1
  96. package/src/pro/database/db-oracle.js +1 -1
  97. package/src/pro/database/db-sqlite.js +1 -1
  98. package/src/pro/excel/excel-generator.js +1 -1
  99. package/src/pro/excel/excel-parser.js +1 -1
  100. package/src/pro/excel/export-service.js +1 -1
  101. package/src/pro/excel/export_handler.js +1 -1
  102. package/src/pro/excel/import-service.js +1 -1
  103. package/src/pro/excel/import-validator.js +1 -1
  104. package/src/pro/excel/import_handler.js +1 -1
  105. package/src/pro/excel/upsert-builder.js +1 -1
  106. package/src/pro/idgen/idgen-routes.js +1 -1
  107. package/src/pro/integrations/lookup-resolver.js +1 -1
  108. package/src/pro/integrations/upload-handler-v2.js +1 -1
  109. package/src/pro/integrations/upload-handler.js +1 -1
  110. package/src/pro/integrations/webhook.js +1 -1
  111. package/src/pro/locking/lock-routes.js +1 -1
  112. package/src/pro/locking/resource-lock-manager.js +1 -1
  113. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  114. package/src/pro/messaging/kafkaService.js +1 -1
  115. package/src/pro/messaging/messagehubService.js +1 -1
  116. package/src/pro/messaging/rabbitmqService.js +1 -1
  117. package/src/pro/scheduler/job-manager.js +1 -1
  118. package/src/pro/scheduler/job-routes.js +1 -1
  119. package/src/pro/scheduler/job-validator.js +1 -1
  120. package/src/pro/storage/base-storage-provider.js +1 -1
  121. package/src/pro/storage/file-metadata-helper.js +1 -1
  122. package/src/pro/storage/index.js +1 -1
  123. package/src/pro/storage/local-storage-provider.js +1 -1
  124. package/src/pro/storage/s3-storage-provider.js +1 -1
  125. package/src/pro/storage/upload-cleanup-job.js +1 -1
  126. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  127. package/src/pro/storage/upload-pending-tracker.js +1 -1
  128. package/src/pro/websocket/broadcast-helper.js +1 -1
  129. package/src/pro/websocket/index.js +1 -1
  130. package/src/pro/websocket/livesync-server.js +1 -1
  131. package/src/pro/websocket/ws-broadcaster.js +1 -1
  132. package/src/services/export-service.js +1 -1
  133. package/src/services/import-service.js +1 -1
  134. package/src/services/kafkaConsumerService.js +1 -1
  135. package/src/services/kafkaService.js +1 -1
  136. package/src/services/messagehubService.js +1 -1
  137. package/src/services/rabbitmqService.js +1 -1
  138. package/src/utils/cache-invalidation-registry.js +1 -1
  139. package/src/utils/cache-manager.js +1 -1
  140. package/src/utils/component-engine.js +1 -1
  141. package/src/utils/config-extractor.js +1 -1
  142. package/src/utils/consumerLogger.js +1 -1
  143. package/src/utils/context-builder.js +1 -1
  144. package/src/utils/dashboard-helpers.js +1 -1
  145. package/src/utils/dateHelper.js +1 -1
  146. package/src/utils/datetime-formatter.js +1 -1
  147. package/src/utils/datetime-parser.js +1 -1
  148. package/src/utils/db-bootstrap.js +1 -1
  149. package/src/utils/db-mysql.js +1 -1
  150. package/src/utils/db-oracle.js +1 -1
  151. package/src/utils/db-sqlite.js +1 -1
  152. package/src/utils/db.js +1 -1
  153. package/src/utils/demo-generator.js +1 -1
  154. package/src/utils/excel-generator.js +1 -1
  155. package/src/utils/excel-parser.js +1 -1
  156. package/src/utils/file-watcher.js +1 -1
  157. package/src/utils/id-generator.js +1 -1
  158. package/src/utils/idempotency-manager.js +1 -1
  159. package/src/utils/import-validator.js +1 -1
  160. package/src/utils/license-client.js +1 -1
  161. package/src/utils/lock-manager.js +1 -1
  162. package/src/utils/logger.js +1 -1
  163. package/src/utils/lookup-resolver.js +1 -1
  164. package/src/utils/payload-loader.js +1 -1
  165. package/src/utils/processor-response.js +1 -1
  166. package/src/utils/rabbitmq.js +1 -1
  167. package/src/utils/redis-client.js +1 -1
  168. package/src/utils/redis-helper.js +1 -1
  169. package/src/utils/request-scope.js +1 -1
  170. package/src/utils/security-checks.js +1 -1
  171. package/src/utils/service-resolver.js +1 -1
  172. package/src/utils/shutdown-coordinator.js +1 -1
  173. package/src/utils/trusted-keys.js +1 -1
  174. package/src/utils/upload-handler.js +1 -1
  175. package/src/utils/upsert-builder.js +1 -1
  176. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';function a0_0x17b6(){const _0x220a56=['C3bSAxq','C2zTA3y','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','BwvZC2fNzq','y2fSBa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','z2v0q2XPzw50','DgHLBG','zKf4AhC','y2f0y2G','Ahr0CdOVlW','DMnWyuS','BvjWzLa','y29UBMvJDgLVBG','z2v0','mtm5mdG1ne5pv2vZEq','Dw5ZDwjZy3jPyMvK','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','yNjVywrJyxn0','B1nACuu','AxnjBML0AwfSAxPLza','rgfLAfq','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','x3nLDhvWuMvKAxm','CMvZDgzVCMDLoMXPDMvZEw5JoG','CMvHzhLtDgf0zq','mtm3mJK1wNv2uMjU','C29JA2v0','x2LUAxrPywXPEMvK','y2XLyxi','vuvNvNG','AgfZ','Ee1QqwC','BgL2zxn5BMnFAw5PDgLHBgL6zwq','BgL2zxn5BMnFC3vIC2nYAwjL','l3DZ','Dg9ju09tDhjPBMC','x2XVz2DLCG','C3rHCNrZv2L0Aa','mtaZntC2oufvvvjNsq','AgX5wMm','AxnbBgL2zq','mJi1mJu2rwH6BefI','x2HHBMrSzvvUC3vIC2nYAwjL','ntmWmtaZmMjZDNrtrG','x2HLyxj0yMvHDfrPBwvY','y29UBMvJDa','BgL2zxn5BMnFC2H1DgrVD24','tgL2zsbtEw5Jia','zw52','CMvTB3rLqwrKCMvZCW','BgvUz3rO','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','x2HHBMrSzvn1yNnJCMLIzq','zxjYB3i','x2jYB2fKy2fZDeXVy2fS','zgf0yv9JAgfUz2u','uKvesvnFue9sva','qLbwtw4','mNW1Fdn8mhW2Fdf8na','AgvHzgvYCW','uKvesvnFse9tva','C3vIC2nYAwjLza','x3DZCW','ihrVia','Aw5PDgLHBgL6zq','C2vHCMnOugfYyw1Z','Ec1HCgKTA2v5','u3fhwMG','ChvIBgLZAgvY','x3nLBMruB0nSAwvUDa','y2XPzw50CW','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','zNvSBa','x21Vzgu','D0jwzgC','C3vIC2nYAwjL','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','zgvSzxrL','C2L6zq','C2vUza','Bg9Nz2vY','DxbNCMfKzq','Dw5ZDwjZy3jPyMu','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','AffIq00','x293BLb1yMXPC2HLCG','x3jLzgLZuhvIBgLZAgvY','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFD3nZx2vYCM9Y','mti3lJaUmc4X','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','Bg9JywXOB3n0','x3n0yxj0sgvHCNrIzwf0','D2fYBG','x3jLzgLZu3vIC2nYAwjLCG','ntK0ugnksLnJ','CMvTB3zLqwXStgLZDgvUzxjZ','Aw5MBW','yxbPs2v5','y2zjsNG','x3nLDhvWuMvKAxnqDwjSAxnOzxi','zgf0yq','nJy4otKWmfzxEMrHrW','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','DxjS','C3vIC2nYAwjLzenOyw5UzwXZ','CgLUzW','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','C2XPy2u','ywn0Aw9U','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x29WDgLVBNm','Ag9ZDa','C3rYAw5NAwz5','D29YA2vYswq','BgLZDgvUzxjZ','rfj1Chu','x3nLDhvWvxbNCMfKzuf1DgG','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','uKvesvnFueftu1DpuKq','zgvIDwC','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','mMvSzKHRBq','Aw9YzwrPCW','zLPmBum','DhLWzq','quTPENm','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','ugr0se4','otiZmtaZm05tz1rhEG','C2v0','lI4VlI4VDxrPBhmVBg9Nz2vY'];a0_0x17b6=function(){return _0x220a56;};return a0_0x17b6();}const a0_0x30b72c=a0_0x3193;(function(_0x6d1000,_0x1d5493){const _0x1094ff=a0_0x3193,_0x361a36=_0x6d1000();while(!![]){try{const _0x4824e8=parseInt(_0x1094ff(0x171))/0x1*(parseInt(_0x1094ff(0x1c9))/0x2)+-parseInt(_0x1094ff(0x164))/0x3+parseInt(_0x1094ff(0x176))/0x4+parseInt(_0x1094ff(0x1b3))/0x5+parseInt(_0x1094ff(0x159))/0x6+-parseInt(_0x1094ff(0x1d0))/0x7+-parseInt(_0x1094ff(0x174))/0x8*(parseInt(_0x1094ff(0x1ac))/0x9);if(_0x4824e8===_0x1d5493)break;else _0x361a36['push'](_0x361a36['shift']());}catch(_0xbaaaa7){_0x361a36['push'](_0x361a36['shift']());}}}(a0_0x17b6,0xacd82));function a0_0x3193(_0x4351a5,_0x131d45){_0x4351a5=_0x4351a5-0x151;const _0x17b6c3=a0_0x17b6();let _0x319308=_0x17b6c3[_0x4351a5];if(a0_0x3193['vfZtev']===undefined){var _0xcd9476=function(_0x1796d0){const _0x3b2553='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27dc59='',_0x5d8cd0='';for(let _0x4b1ffb=0x0,_0x52fdb5,_0x376381,_0x52219b=0x0;_0x376381=_0x1796d0['charAt'](_0x52219b++);~_0x376381&&(_0x52fdb5=_0x4b1ffb%0x4?_0x52fdb5*0x40+_0x376381:_0x376381,_0x4b1ffb++%0x4)?_0x27dc59+=String['fromCharCode'](0xff&_0x52fdb5>>(-0x2*_0x4b1ffb&0x6)):0x0){_0x376381=_0x3b2553['indexOf'](_0x376381);}for(let _0x7efad=0x0,_0x282d5d=_0x27dc59['length'];_0x7efad<_0x282d5d;_0x7efad++){_0x5d8cd0+='%'+('00'+_0x27dc59['charCodeAt'](_0x7efad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d8cd0);};a0_0x3193['afgYjv']=_0xcd9476,a0_0x3193['jwKBRw']={},a0_0x3193['vfZtev']=!![];}const _0x399139=_0x17b6c3[0x0],_0x67ace1=_0x4351a5+_0x399139,_0x15db8c=a0_0x3193['jwKBRw'][_0x67ace1];return!_0x15db8c?(_0x319308=a0_0x3193['afgYjv'](_0x319308),a0_0x3193['jwKBRw'][_0x67ace1]=_0x319308):_0x319308=_0x15db8c,_0x319308;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX=a0_0x30b72c(0x162);class WebSocketBroadcaster{constructor(){const _0x32f7a1=a0_0x30b72c,_0x2febc8='8|3|1|2|6|5|7|0|4|9'['split']('|');let _0x1a0e2a=0x0;while(!![]){switch(_0x2febc8[_0x1a0e2a++]){case'0':this[_0x32f7a1(0x1a3)]=null;continue;case'1':this['_mode']=null;continue;case'2':this[_0x32f7a1(0x1bc)]={};continue;case'3':this['_initialized']=![];continue;case'4':this[_0x32f7a1(0x1ab)]=null;continue;case'5':this['_subscriptions']=new Map();continue;case'6':this[_0x32f7a1(0x16f)]=console;continue;case'7':this[_0x32f7a1(0x177)]=null;continue;case'8':this['_wss']=null;continue;case'9':this['_workerId']=process['pid'];continue;}break;}}[a0_0x30b72c(0x18c)](_0x4d2377,_0x5ecf7d={}){const _0x49f641=a0_0x30b72c,_0x1e51fd={'gLrFj':_0x49f641(0x194),'HiZvJ':_0x49f641(0x1d2),'Irxmj':function(_0x4b5652,_0x1ac8d9,_0x49a95b){return _0x4b5652(_0x1ac8d9,_0x49a95b);},'mJAtl':_0x49f641(0x181)};if(this['_initialized'])return;this[_0x49f641(0x1bc)]=_0x5ecf7d,this[_0x49f641(0x195)]=_0x1e51fd['gLrFj'];try{this[_0x49f641(0x16f)]=require(_0x1e51fd['HiZvJ'])['logger']||console;}catch(_0x2c21fe){this['_logger']=console;}const _0x37b1af=_0x1e51fd['Irxmj'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x4d2377,'path':_0x49f641(0x16d)}),this[_0x49f641(0x1c2)](_0x4d2377),this[_0x49f641(0x18a)]['on']('connection',(_0x4a427b,_0x590586)=>this['_handleConnection'](_0x4a427b,_0x590586)),this['_wss']['on'](_0x1e51fd['mJAtl'],_0x3583e6=>{const _0x188ff8=_0x49f641;this['_logger']['error']({'event':_0x188ff8(0x1a5),'error':_0x3583e6['message']},'WebSocket\x20server\x20error:\x20'+_0x3583e6[_0x188ff8(0x1d6)]);}),this['_startHeartbeat'](_0x37b1af),this['_setupRedis'](),this[_0x49f641(0x166)]=!![],this['_logger'][_0x49f641(0x1ae)]({'event':_0x49f641(0x16b),'mode':_0x49f641(0x194),'path':_0x49f641(0x16d),'heartbeat':_0x37b1af+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x37b1af+'s)');}[a0_0x30b72c(0x1a0)](_0x55cf1f={}){const _0x4420e2=a0_0x30b72c,_0x24ae65={'mPuzR':_0x4420e2(0x1d2),'QjNeY':'livesync_publisher_initialized','fAxhw':'publisher'},_0x3733d5=_0x4420e2(0x186)[_0x4420e2(0x1d3)]('|');let _0x148c85=0x0;while(!![]){switch(_0x3733d5[_0x148c85++]){case'0':try{this['_logger']=require(_0x24ae65['mPuzR'])[_0x4420e2(0x19c)]||console;}catch(_0x11d3ee){this[_0x4420e2(0x16f)]=console;}continue;case'1':this['_initialized']=!![];continue;case'2':if(this['_initialized'])return;continue;case'3':this[_0x4420e2(0x195)]=_0x4420e2(0x190);continue;case'4':this['_logger'][_0x4420e2(0x1ae)]({'event':_0x24ae65['QjNeY'],'mode':_0x24ae65[_0x4420e2(0x152)]},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'5':this['_options']=_0x55cf1f;continue;case'6':this[_0x4420e2(0x1b1)]();continue;}break;}}[a0_0x30b72c(0x15e)](){return this['_initialized'];}['broadcast'](_0x1332d6,_0x40d816){const _0x705d24=a0_0x30b72c,_0x3ebec7={'zjyCE':'publisher','hlyZc':'data_change','oSZqE':function(_0x4499e8,_0x26da33){return _0x4499e8===_0x26da33;},'hQbCM':function(_0x1ed33c,_0x2dc00a){return _0x1ed33c||_0x2dc00a;},'RcMDs':'livesync_broadcast'};if(!this['_initialized'])return;if(this[_0x705d24(0x195)]===_0x3ebec7['zjyCE']){this['_publishToRedis'](_0x1332d6,_0x40d816);return;}const _0x1ba113=JSON[_0x705d24(0x1be)]({'type':_0x3ebec7[_0x705d24(0x172)],'channel':_0x1332d6,'action':_0x40d816['action'],'data':_0x40d816['data'],'requestId':_0x40d816['requestId']||null,'timestamp':new Date()[_0x705d24(0x16e)]()}),[_0x48744a]=_0x1332d6[_0x705d24(0x1d3)](':');let _0x4be486=0x0;for(const [_0x51c6bc,_0x5693ee]of this['_subscriptions']){const _0x237fbd=_0x51c6bc===_0x1332d6,_0x806d4c=_0x3ebec7[_0x705d24(0x15d)](_0x51c6bc,_0x48744a+':*');if(_0x3ebec7[_0x705d24(0x1a1)](_0x237fbd,_0x806d4c))for(const _0x559f98 of _0x5693ee){if(_0x559f98[_0x705d24(0x163)]===0x1)try{_0x559f98[_0x705d24(0x19b)](_0x1ba113),_0x4be486++;}catch(_0xf5e6a8){}}}_0x4be486>0x0&&this[_0x705d24(0x16f)][_0x705d24(0x1c5)]({'event':_0x3ebec7['RcMDs'],'channel':_0x1332d6,'action':_0x40d816[_0x705d24(0x1ba)],'clients':_0x4be486},'Broadcast\x20'+_0x40d816[_0x705d24(0x1ba)]+'\x20on\x20'+_0x1332d6+_0x705d24(0x18b)+_0x4be486+'\x20client(s)');}['_publishToRedis'](_0x1e07d5,_0x1406da){const _0x2253f9=a0_0x30b72c;if(!this['_redisPublisher'])return;const _0xf79234=JSON['stringify']({'channel':_0x1e07d5,'message':_0x1406da,'workerId':this['_workerId']});this[_0x2253f9(0x1a3)]['publish'](REDIS_CHANNEL_PREFIX+_0x2253f9(0x15c),_0xf79234)['catch'](()=>{});}['shutdown'](){const _0x334239=a0_0x30b72c,_0x108bcd={'fZLmC':function(_0x3a3938,_0x507d84){return _0x3a3938(_0x507d84);}};if(!this['_initialized'])return;this[_0x334239(0x177)]&&(_0x108bcd[_0x334239(0x1cb)](clearInterval,this[_0x334239(0x177)]),this[_0x334239(0x177)]=null);if(this['_wss']){for(const _0x3a4604 of this['_wss'][_0x334239(0x192)]){try{_0x3a4604['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x5c4e5b){}}this['_wss']['close']();}if(this['_redisSubscriber'])try{this[_0x334239(0x1ab)][_0x334239(0x19e)](),this[_0x334239(0x1ab)]['quit']();}catch(_0x13d197){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x334239(0x1a3)]['quit']();}catch(_0xa99ea9){}this['_subscriptions'][_0x334239(0x167)](),this[_0x334239(0x166)]=![],this['_logger']['info']({'event':_0x334239(0x179),'mode':this['_mode']},_0x334239(0x17a)+this[_0x334239(0x195)]+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x52f588){const _0x1fe6b6=a0_0x30b72c,_0x4297bf={'SqGZh':_0x1fe6b6(0x157),'ObCRV':'/ws','mRpfP':_0x1fe6b6(0x18e)},_0x2e7bc7=_0x52f588[_0x1fe6b6(0x1c0)](_0x1fe6b6(0x19d))[_0x1fe6b6(0x1b9)]();_0x52f588[_0x1fe6b6(0x1ad)](_0x1fe6b6(0x19d)),_0x52f588['on'](_0x1fe6b6(0x19d),(_0x4eb919,_0x3b4fe0,_0x58ebe3)=>{const _0x1ddb7d=_0x1fe6b6,_0x3e1bad={'uPPaG':_0x4297bf[_0x1ddb7d(0x18f)]};if(!_0x4eb919[_0x1ddb7d(0x1b5)]||!_0x4eb919[_0x1ddb7d(0x1b5)][_0x1ddb7d(0x170)](_0x4297bf['ObCRV'])){for(const _0x4da010 of _0x2e7bc7){_0x4da010[_0x1ddb7d(0x1d7)](_0x52f588,_0x4eb919,_0x3b4fe0,_0x58ebe3);}return;}if(this[_0x1ddb7d(0x1bc)][_0x1ddb7d(0x1af)]){const _0x564d8f=new URL(_0x4eb919[_0x1ddb7d(0x1b5)],_0x1ddb7d(0x154)+(_0x4eb919['headers'][_0x1ddb7d(0x1bd)]||_0x1ddb7d(0x1a8))),_0x1aeed9=_0x564d8f[_0x1ddb7d(0x18d)][_0x1ddb7d(0x158)](_0x4297bf[_0x1ddb7d(0x156)])||_0x4eb919['headers']['x-api-key'];if(!_0x1aeed9||_0x1aeed9!==this[_0x1ddb7d(0x1bc)]['apiKey']){_0x3b4fe0['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x3b4fe0['destroy']();return;}}this[_0x1ddb7d(0x18a)]['handleUpgrade'](_0x4eb919,_0x3b4fe0,_0x58ebe3,_0x28ef84=>{this['_wss']['emit'](_0x3e1bad['uPPaG'],_0x28ef84,_0x4eb919);});});}['_handleConnection'](_0xd46eaa,_0x3f9d53){const _0x4df493=a0_0x30b72c,_0x2db860={'wBVdg':'livesync_client_error','BPVMn':_0x4df493(0x1bb),'VsfKC':'pong','aSIwe':'close','DaehT':_0x4df493(0x181)};_0xd46eaa[_0x4df493(0x173)]=!![],_0xd46eaa['subscribedChannels']=new Set();const _0x3029b3=_0x3f9d53[_0x4df493(0x187)]['x-forwarded-for']||_0x3f9d53[_0x4df493(0x165)][_0x4df493(0x17c)];this['_logger']['info']({'event':_0x2db860[_0x4df493(0x185)],'ip':_0x3029b3},_0x4df493(0x160)+_0x3029b3),_0xd46eaa['on'](_0x2db860['VsfKC'],()=>{_0xd46eaa['isAlive']=!![];}),_0xd46eaa['on']('message',_0x504c62=>{const _0x503dfa=_0x4df493;try{const _0xe1ace8=JSON['parse'](_0x504c62['toString']());this['_handleClientMessage'](_0xd46eaa,_0xe1ace8);}catch(_0x716bbd){this[_0x503dfa(0x191)](_0xd46eaa,{'type':_0x503dfa(0x181),'message':'Invalid\x20JSON\x20message'});}}),_0xd46eaa['on'](_0x2db860['aSIwe'],()=>{const _0x2ba78a=_0x4df493;this['_removeClientFromAllChannels'](_0xd46eaa),this[_0x2ba78a(0x16f)]['debug']({'event':_0x2ba78a(0x17f),'ip':_0x3029b3},_0x2ba78a(0x1b8)+_0x3029b3);}),_0xd46eaa['on'](_0x2db860[_0x4df493(0x15f)],_0x5c4d18=>{const _0x19cba0=_0x4df493;this['_logger'][_0x19cba0(0x1aa)]({'event':_0x2db860[_0x19cba0(0x196)],'error':_0x5c4d18['message']},_0x19cba0(0x1c6)+_0x5c4d18['message']),this['_removeClientFromAllChannels'](_0xd46eaa);});}['_handleClientMessage'](_0x5b620d,_0x48a11b){const _0xd91cad=a0_0x30b72c,_0x3cc831={'PdtHN':'subscribe','vcpaK':'unsubscribe'};switch(_0x48a11b[_0xd91cad(0x1cc)]){case _0x3cc831[_0xd91cad(0x1cf)]:this[_0xd91cad(0x180)](_0x5b620d,_0x48a11b['channels']);break;case _0x3cc831[_0xd91cad(0x155)]:this[_0xd91cad(0x175)](_0x5b620d,_0x48a11b['channels']);break;case'pong':_0x5b620d['isAlive']=!![];break;default:this['_sendToClient'](_0x5b620d,{'type':_0xd91cad(0x181),'message':_0xd91cad(0x1b4)+_0x48a11b[_0xd91cad(0x1cc)]});}}['_handleSubscribe'](_0x2c0519,_0x28e847){const _0x14042a=a0_0x30b72c,_0x512aa9={'xMjAg':'error','tIvog':function(_0x5b6f82,_0x3a2ed0){return _0x5b6f82!==_0x3a2ed0;},'qWIRS':'string','aFYJB':function(_0x2f7966,_0xbc7b36){return _0x2f7966>_0xbc7b36;},'SbJNH':_0x14042a(0x189)};if(!Array['isArray'](_0x28e847)||_0x28e847['length']===0x0){this[_0x14042a(0x191)](_0x2c0519,{'type':_0x512aa9[_0x14042a(0x16a)],'message':_0x14042a(0x1c8)});return;}const _0x484bd3=[];for(const _0x657a18 of _0x28e847){if(_0x512aa9['tIvog'](typeof _0x657a18,_0x512aa9['qWIRS'])||!_0x657a18['includes'](':'))continue;!this[_0x14042a(0x1a4)][_0x14042a(0x169)](_0x657a18)&&this[_0x14042a(0x1a4)][_0x14042a(0x1d1)](_0x657a18,new Set()),this['_subscriptions'][_0x14042a(0x158)](_0x657a18)['add'](_0x2c0519),_0x2c0519['subscribedChannels']['add'](_0x657a18),_0x484bd3['push'](_0x657a18);}_0x512aa9['aFYJB'](_0x484bd3[_0x14042a(0x17d)],0x0)&&(this[_0x14042a(0x191)](_0x2c0519,{'type':_0x512aa9['SbJNH'],'channels':_0x484bd3,'timestamp':new Date()['toISOString']()}),this[_0x14042a(0x16f)][_0x14042a(0x1c5)]({'event':_0x14042a(0x16c),'channels':_0x484bd3},_0x14042a(0x1d5)+_0x484bd3['join'](',\x20')));}[a0_0x30b72c(0x175)](_0x535fd7,_0x2f5a56){const _0x17f23d=a0_0x30b72c,_0x19b1a5={'DRupu':function(_0x1087f1,_0x15078b){return _0x1087f1>_0x15078b;}};if(!Array['isArray'](_0x2f5a56))return;const _0x228fba=[];for(const _0x3758c1 of _0x2f5a56){this['_subscriptions']['has'](_0x3758c1)&&(this[_0x17f23d(0x1a4)][_0x17f23d(0x158)](_0x3758c1)[_0x17f23d(0x199)](_0x535fd7),this['_subscriptions'][_0x17f23d(0x158)](_0x3758c1)['size']===0x0&&this[_0x17f23d(0x1a4)][_0x17f23d(0x199)](_0x3758c1)),_0x535fd7['subscribedChannels'][_0x17f23d(0x199)](_0x3758c1),_0x228fba['push'](_0x3758c1);}_0x19b1a5[_0x17f23d(0x1c1)](_0x228fba[_0x17f23d(0x17d)],0x0)&&this[_0x17f23d(0x191)](_0x535fd7,{'type':_0x17f23d(0x15a),'channels':_0x228fba,'timestamp':new Date()[_0x17f23d(0x16e)]()});}[a0_0x30b72c(0x19f)](_0x3e4c2b){const _0x463d91=a0_0x30b72c;if(!_0x3e4c2b['subscribedChannels'])return;for(const _0xcf0426 of _0x3e4c2b[_0x463d91(0x1b6)]){this[_0x463d91(0x1a4)]['has'](_0xcf0426)&&(this[_0x463d91(0x1a4)][_0x463d91(0x158)](_0xcf0426)['delete'](_0x3e4c2b),this[_0x463d91(0x1a4)]['get'](_0xcf0426)[_0x463d91(0x19a)]===0x0&&this['_subscriptions'][_0x463d91(0x199)](_0xcf0426));}_0x3e4c2b['subscribedChannels'][_0x463d91(0x167)]();}[a0_0x30b72c(0x191)](_0x65758d,_0x38f099){const _0x41e975=a0_0x30b72c;if(_0x65758d[_0x41e975(0x163)]===0x1)try{_0x65758d[_0x41e975(0x19b)](JSON['stringify'](_0x38f099));}catch(_0x261d30){}}[a0_0x30b72c(0x1a9)](_0x50e80e){const _0xec62ee=a0_0x30b72c,_0x5e8845={'WghOU':_0xec62ee(0x1b7),'WVXXF':function(_0x3a98e8,_0x2d880d,_0xa8ea65){return _0x3a98e8(_0x2d880d,_0xa8ea65);}};this[_0xec62ee(0x177)]=_0x5e8845['WVXXF'](setInterval,()=>{const _0x5b33bd=_0xec62ee;if(!this[_0x5b33bd(0x18a)])return;for(const _0xb97f2a of this[_0x5b33bd(0x18a)][_0x5b33bd(0x192)]){if(!_0xb97f2a['isAlive']){this[_0x5b33bd(0x19f)](_0xb97f2a),_0xb97f2a['terminate']();continue;}_0xb97f2a[_0x5b33bd(0x173)]=![],this['_sendToClient'](_0xb97f2a,{'type':_0x5e8845['WghOU'],'timestamp':new Date()['toISOString']()});try{_0xb97f2a[_0x5b33bd(0x1b7)]();}catch(_0x19ff73){}}},_0x50e80e*0x3e8);}['_setupRedisPublisher'](){const _0x51716c=a0_0x30b72c,_0x2c1577={'fVVlb':function(_0x1c1464,_0x2b530c){return _0x1c1464(_0x2b530c);},'AKizs':function(_0x301070,_0x196994){return _0x301070(_0x196994);},'ROXWJ':_0x51716c(0x1ca),'dlcYm':function(_0x172348,_0x3733ec,_0x23e312){return _0x172348(_0x3733ec,_0x23e312);}};this[_0x51716c(0x1a2)]=![];try{try{const _0x57a097=_0x2c1577['fVVlb'](require,_0x51716c(0x17e));this[_0x51716c(0x1a3)]=_0x57a097['getClient']?_0x57a097[_0x51716c(0x1d9)]():null;}catch(_0x27ada2){this[_0x51716c(0x1a3)]=null;}if(!this['_redisPublisher']){const _0x3a8526=_0x2c1577[_0x51716c(0x1cd)](require,_0x2c1577['ROXWJ']),_0x236564={'host':process['env'][_0x51716c(0x188)]||'127.0.0.1','port':_0x2c1577['dlcYm'](parseInt,process['env'][_0x51716c(0x184)],0xa)||0x18eb,'password':process['env'][_0x51716c(0x1c4)]||undefined,'db':parseInt(process[_0x51716c(0x17b)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x3a8526(_0x236564),this[_0x51716c(0x1a2)]=!![],this[_0x51716c(0x1a3)]['connect']()[_0x51716c(0x153)](()=>{const _0x37c9cf=_0x51716c;this[_0x37c9cf(0x16f)]['warn']({'event':'livesync_redis_publisher_failed'},_0x37c9cf(0x1c3)),this['_redisPublisher']=null;});}}catch(_0x2598eb){this['_logger']['warn']({'event':_0x51716c(0x193),'error':_0x2598eb['message']},_0x51716c(0x1ce)+_0x2598eb[_0x51716c(0x1d6)]);}}[a0_0x30b72c(0x161)](){const _0x27a5ae=a0_0x30b72c,_0x76c4bd={'dANQG':'livesync_redis_publisher_failed','KQTtk':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','cfIJx':_0x27a5ae(0x15b),'xyaRP':_0x27a5ae(0x1d6),'ZvXNJ':_0x27a5ae(0x1d8),'Mucvd':function(_0x3ab7d7,_0xfbff){return _0x3ab7d7(_0xfbff);},'UEgVx':function(_0x404798,_0x337212,_0x3a6648){return _0x404798(_0x337212,_0x3a6648);},'XVjkV':'../../utils/redis-client','rRdUg':'livesync_redis_unavailable'};this[_0x27a5ae(0x1a2)]=![];try{const _0x42878d=_0x76c4bd['Mucvd'](require,_0x27a5ae(0x1ca)),_0x4a1b9a={'host':process['env'][_0x27a5ae(0x188)]||_0x27a5ae(0x1a6),'port':_0x76c4bd[_0x27a5ae(0x168)](parseInt,process[_0x27a5ae(0x17b)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x27a5ae(0x17b)]['REDIS_PASSWORD']||undefined,'db':_0x76c4bd[_0x27a5ae(0x168)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x1864c6=require(_0x76c4bd['XVjkV']);this[_0x27a5ae(0x1a3)]=_0x1864c6['getClient']?_0x1864c6[_0x27a5ae(0x1d9)]():null;}catch(_0x5b6d00){this[_0x27a5ae(0x1a3)]=null;}!this[_0x27a5ae(0x1a3)]&&(this[_0x27a5ae(0x1a3)]=new _0x42878d(_0x4a1b9a),this[_0x27a5ae(0x1a2)]=!![],this[_0x27a5ae(0x1a3)]['connect']()['catch'](()=>{const _0xf0872e=_0x27a5ae;this['_logger'][_0xf0872e(0x1aa)]({'event':_0x76c4bd['dANQG']},_0x76c4bd['KQTtk']),this['_redisPublisher']=null;})),this[_0x27a5ae(0x1ab)]=new _0x42878d(_0x4a1b9a),this['_redisSubscriber'][_0x27a5ae(0x178)]()[_0x27a5ae(0x151)](()=>{const _0x26e9e3=_0x27a5ae;this[_0x26e9e3(0x1ab)][_0x26e9e3(0x197)](REDIS_CHANNEL_PREFIX+_0x26e9e3(0x15c),_0x4fb14a=>{const _0x2d0b11=_0x26e9e3;if(_0x4fb14a){this['_logger']['error']({'event':_0x2d0b11(0x1a7),'error':_0x4fb14a['message']},_0x2d0b11(0x198)+_0x4fb14a[_0x2d0b11(0x1d6)]);return;}this[_0x2d0b11(0x16f)][_0x2d0b11(0x1ae)]({'event':'livesync_redis_subscribed'},_0x76c4bd[_0x2d0b11(0x1b0)]);}),this[_0x26e9e3(0x1ab)]['on'](_0x76c4bd['xyaRP'],(_0x2c67cf,_0x2e3f0a)=>{const _0x18e74d=_0x26e9e3;try{const _0x1f1ea2=JSON['parse'](_0x2e3f0a);if(_0x1f1ea2[_0x18e74d(0x1bf)]===this['_workerId'])return;this['_broadcastLocal'](_0x1f1ea2['channel'],_0x1f1ea2[_0x18e74d(0x1d6)]);}catch(_0x1784e8){}});})['catch'](()=>{const _0x1b0027=_0x27a5ae;this[_0x1b0027(0x16f)][_0x1b0027(0x1aa)]({'event':'livesync_redis_subscriber_failed'},_0x76c4bd['ZvXNJ']),this['_redisSubscriber']=null;});}catch(_0x2b7b80){this[_0x27a5ae(0x16f)]['warn']({'event':_0x76c4bd['rRdUg'],'error':_0x2b7b80['message']},_0x27a5ae(0x1c7)+_0x2b7b80[_0x27a5ae(0x1d6)]);}}[a0_0x30b72c(0x182)](_0x50ed82,_0x68def9){const _0x112da9=a0_0x30b72c,_0x450921={'TIqEH':_0x112da9(0x183),'sfmkv':function(_0x139e25,_0x735eaf){return _0x139e25===_0x735eaf;}};if(!this[_0x112da9(0x18a)])return;const _0x1516e0=JSON['stringify']({'type':_0x450921['TIqEH'],'channel':_0x50ed82,'action':_0x68def9[_0x112da9(0x1ba)],'data':_0x68def9[_0x112da9(0x1b2)],'requestId':_0x68def9['requestId']||null,'timestamp':new Date()[_0x112da9(0x16e)]()}),[_0x3470a5]=_0x50ed82[_0x112da9(0x1d3)](':');for(const [_0x49e639,_0x3e6967]of this[_0x112da9(0x1a4)]){const _0x59df8c=_0x49e639===_0x50ed82,_0x581261=_0x49e639===_0x3470a5+':*';if(_0x59df8c||_0x581261)for(const _0x59b667 of _0x3e6967){if(_0x450921[_0x112da9(0x1d4)](_0x59b667[_0x112da9(0x163)],0x1))try{_0x59b667[_0x112da9(0x19b)](_0x1516e0);}catch(_0x3c4cb0){}}}}}module['exports']=WebSocketBroadcaster;
1
+ 'use strict';const a0_0x228f8c=a0_0xe452;(function(_0x1a592a,_0x42e120){const _0x288092=a0_0xe452,_0x163622=_0x1a592a();while(!![]){try{const _0x4fe2bd=-parseInt(_0x288092(0x154))/0x1+parseInt(_0x288092(0x16c))/0x2*(-parseInt(_0x288092(0x137))/0x3)+-parseInt(_0x288092(0x17d))/0x4+parseInt(_0x288092(0x170))/0x5*(-parseInt(_0x288092(0x17c))/0x6)+-parseInt(_0x288092(0x16a))/0x7*(-parseInt(_0x288092(0x155))/0x8)+-parseInt(_0x288092(0x184))/0x9+parseInt(_0x288092(0x131))/0xa;if(_0x4fe2bd===_0x42e120)break;else _0x163622['push'](_0x163622['shift']());}catch(_0x3faa4e){_0x163622['push'](_0x163622['shift']());}}}(a0_0x54c4,0x3d3ef));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x228f8c(0x165)),REDIS_CHANNEL_PREFIX=a0_0x228f8c(0x145);class WebSocketBroadcaster{constructor(){const _0x1d8ee0=a0_0x228f8c;this[_0x1d8ee0(0x18f)]=null,this[_0x1d8ee0(0x136)]=![],this['_mode']=null,this[_0x1d8ee0(0x11c)]={},this['_logger']=console,this['_subscriptions']=new Map(),this['_heartbeatTimer']=null,this[_0x1d8ee0(0x134)]=null,this['_redisSubscriber']=null,this[_0x1d8ee0(0x13e)]=process[_0x1d8ee0(0x188)];}[a0_0x228f8c(0x14f)](_0x138afb,_0x54c0ea={}){const _0x230779=a0_0x228f8c,_0x2fdbae={'XqGaZ':_0x230779(0x177),'xJHhS':'error','lLaOd':_0x230779(0x124),'zdnLe':_0x230779(0x15b)};if(this['_initialized'])return;this[_0x230779(0x11c)]=_0x54c0ea,this[_0x230779(0x110)]=_0x230779(0x168);try{this[_0x230779(0x13b)]=require('../../utils/logger')[_0x230779(0x16f)]||console;}catch(_0x2e0ed7){this[_0x230779(0x13b)]=console;}const _0x2fa3b6=parseInt(process[_0x230779(0x17f)][_0x230779(0x126)],0xa)||0x1e;this[_0x230779(0x18f)]=new WebSocketServer({'server':_0x138afb,'path':'/ws'}),this[_0x230779(0x13c)](_0x138afb),this[_0x230779(0x18f)]['on'](_0x230779(0x140),(_0x4a7bff,_0x36f101)=>this[_0x230779(0x117)](_0x4a7bff,_0x36f101)),this['_wss']['on'](_0x2fdbae['xJHhS'],_0x34b5d5=>{const _0x20e086=_0x230779;this['_logger'][_0x20e086(0x183)]({'event':_0x2fdbae['XqGaZ'],'error':_0x34b5d5[_0x20e086(0x127)]},_0x20e086(0x18a)+_0x34b5d5['message']);}),this['_startHeartbeat'](_0x2fa3b6),this[_0x230779(0x157)](),this[_0x230779(0x136)]=!![],this['_logger']['info']({'event':_0x2fdbae[_0x230779(0x11b)],'mode':'full','path':_0x2fdbae[_0x230779(0x12b)],'heartbeat':_0x2fa3b6+'s'},_0x230779(0x139)+_0x2fa3b6+'s)');}['initializeAsPublisher'](_0x57478d={}){const _0x3d284f=a0_0x228f8c,_0xc64d6c={'VbgXG':_0x3d284f(0x111),'PrlfL':_0x3d284f(0x176)},_0x4207f5=_0xc64d6c[_0x3d284f(0x192)]['split']('|');let _0x2cb9c3=0x0;while(!![]){switch(_0x4207f5[_0x2cb9c3++]){case'0':this[_0x3d284f(0x13b)]['info']({'event':'livesync_publisher_initialized','mode':'publisher'},_0x3d284f(0x10e));continue;case'1':this['_setupRedisPublisher']();continue;case'2':this['_initialized']=!![];continue;case'3':if(this[_0x3d284f(0x136)])return;continue;case'4':this[_0x3d284f(0x110)]=_0xc64d6c[_0x3d284f(0x15f)];continue;case'5':this['_options']=_0x57478d;continue;case'6':try{this[_0x3d284f(0x13b)]=require('../../utils/logger')[_0x3d284f(0x16f)]||console;}catch(_0x303d5d){this[_0x3d284f(0x13b)]=console;}continue;}break;}}['isInitialized'](){return this['_initialized'];}['broadcast'](_0x437781,_0x337979){const _0xf18789=a0_0x228f8c,_0x272778={'sIFFA':_0xf18789(0x176),'cBGXw':function(_0x325ab0,_0x178a99){return _0x325ab0===_0x178a99;},'hwkCP':function(_0x1a5d5c,_0x2b7827){return _0x1a5d5c===_0x2b7827;},'RrDQh':_0xf18789(0x118)};if(!this[_0xf18789(0x136)])return;if(this[_0xf18789(0x110)]===_0x272778[_0xf18789(0x135)]){this['_publishToRedis'](_0x437781,_0x337979);return;}const _0x55894d=JSON['stringify']({'type':'data_change','channel':_0x437781,'action':_0x337979[_0xf18789(0x14a)],'data':_0x337979['data'],'requestId':_0x337979[_0xf18789(0x18c)]||null,'timestamp':new Date()[_0xf18789(0x191)]()}),[_0x3d44b8]=_0x437781[_0xf18789(0x149)](':');let _0x44cc46=0x0;for(const [_0x544112,_0x2ad4f6]of this['_subscriptions']){const _0x548d15=_0x272778['cBGXw'](_0x544112,_0x437781),_0x569063=_0x272778['hwkCP'](_0x544112,_0x3d44b8+':*');if(_0x548d15||_0x569063)for(const _0x254942 of _0x2ad4f6){if(_0x254942['readyState']===0x1)try{_0x254942['send'](_0x55894d),_0x44cc46++;}catch(_0x3b6c5b){}}}_0x44cc46>0x0&&this[_0xf18789(0x13b)][_0xf18789(0x16e)]({'event':_0x272778['RrDQh'],'channel':_0x437781,'action':_0x337979['action'],'clients':_0x44cc46},'Broadcast\x20'+_0x337979[_0xf18789(0x14a)]+_0xf18789(0x116)+_0x437781+'\x20to\x20'+_0x44cc46+'\x20client(s)');}['_publishToRedis'](_0x138c99,_0x17db1f){const _0x1c5048=a0_0x228f8c;if(!this['_redisPublisher'])return;const _0x5cb77f=JSON['stringify']({'channel':_0x138c99,'message':_0x17db1f,'workerId':this['_workerId']});this[_0x1c5048(0x134)]['publish'](REDIS_CHANNEL_PREFIX+_0x1c5048(0x148),_0x5cb77f)['catch'](()=>{});}['shutdown'](){const _0xdb7a0b=a0_0x228f8c,_0x2f933a={'VrdXe':function(_0x3b9a89,_0x36719c){return _0x3b9a89(_0x36719c);},'ldAzj':'Server\x20shutting\x20down'};if(!this[_0xdb7a0b(0x136)])return;this['_heartbeatTimer']&&(_0x2f933a['VrdXe'](clearInterval,this['_heartbeatTimer']),this['_heartbeatTimer']=null);if(this[_0xdb7a0b(0x18f)]){for(const _0x34979b of this[_0xdb7a0b(0x18f)][_0xdb7a0b(0x146)]){try{_0x34979b['close'](0x3e9,_0x2f933a[_0xdb7a0b(0x180)]);}catch(_0x4dedec){}}this['_wss'][_0xdb7a0b(0x187)]();}if(this[_0xdb7a0b(0x16d)])try{this['_redisSubscriber'][_0xdb7a0b(0x119)](),this[_0xdb7a0b(0x16d)][_0xdb7a0b(0x161)]();}catch(_0x5d1095){}if(this['_ownPublisher']&&this[_0xdb7a0b(0x134)])try{this[_0xdb7a0b(0x134)]['quit']();}catch(_0x32cf52){}this[_0xdb7a0b(0x123)]['clear'](),this['_initialized']=![],this['_logger']['info']({'event':_0xdb7a0b(0x15a),'mode':this[_0xdb7a0b(0x110)]},_0xdb7a0b(0x162)+this[_0xdb7a0b(0x110)]+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x11fd0f){const _0x7d1b0c=a0_0x228f8c,_0x2e6e74={'PqhJW':_0x7d1b0c(0x140),'xeeuj':'/ws','aJBWK':'x-api-key','owrAB':function(_0x3fd738,_0x44f581){return _0x3fd738!==_0x44f581;},'CCgyS':_0x7d1b0c(0x173),'obXyd':_0x7d1b0c(0x120)},_0x43839d=_0x11fd0f['listeners'](_0x2e6e74['obXyd'])['slice']();_0x11fd0f[_0x7d1b0c(0x171)](_0x2e6e74['obXyd']),_0x11fd0f['on']('upgrade',(_0x160a7d,_0xa07a4c,_0x13a088)=>{const _0x41185c=_0x7d1b0c;if(!_0x160a7d[_0x41185c(0x165)]||!_0x160a7d[_0x41185c(0x165)][_0x41185c(0x129)](_0x2e6e74[_0x41185c(0x169)])){for(const _0x3d54e7 of _0x43839d){_0x3d54e7[_0x41185c(0x13d)](_0x11fd0f,_0x160a7d,_0xa07a4c,_0x13a088);}return;}if(this['_options']['apiKey']){const _0x54cb3d=new URL(_0x160a7d[_0x41185c(0x165)],_0x41185c(0x147)+(_0x160a7d[_0x41185c(0x141)][_0x41185c(0x181)]||_0x41185c(0x17a))),_0x586bd3=_0x54cb3d['searchParams'][_0x41185c(0x14d)](_0x2e6e74['aJBWK'])||_0x160a7d[_0x41185c(0x141)][_0x2e6e74['aJBWK']];if(!_0x586bd3||_0x2e6e74['owrAB'](_0x586bd3,this[_0x41185c(0x11c)]['apiKey'])){_0xa07a4c['write'](_0x2e6e74[_0x41185c(0x143)]),_0xa07a4c[_0x41185c(0x132)]();return;}}this[_0x41185c(0x18f)][_0x41185c(0x17e)](_0x160a7d,_0xa07a4c,_0x13a088,_0x373220=>{const _0x1f7f32=_0x41185c;this[_0x1f7f32(0x18f)]['emit'](_0x2e6e74['PqhJW'],_0x373220,_0x160a7d);});});}['_handleConnection'](_0x48cfa2,_0x19e8f8){const _0x376351=a0_0x228f8c,_0xaec679={'rFpxp':_0x376351(0x11a),'wTPKS':'livesync_client_connected','udezF':'error'};_0x48cfa2[_0x376351(0x174)]=!![],_0x48cfa2['subscribedChannels']=new Set();const _0x5dab3e=_0x19e8f8['headers'][_0x376351(0x18d)]||_0x19e8f8['socket']['remoteAddress'];this[_0x376351(0x13b)]['info']({'event':_0xaec679['wTPKS'],'ip':_0x5dab3e},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x5dab3e),_0x48cfa2['on']('pong',()=>{const _0x3d3656=_0x376351;_0x48cfa2[_0x3d3656(0x174)]=!![];}),_0x48cfa2['on']('message',_0x5dcf91=>{const _0x5cdce5=_0x376351;try{const _0x37c196=JSON['parse'](_0x5dcf91['toString']());this[_0x5cdce5(0x179)](_0x48cfa2,_0x37c196);}catch(_0x49291f){this['_sendToClient'](_0x48cfa2,{'type':'error','message':_0xaec679[_0x5cdce5(0x114)]});}}),_0x48cfa2['on']('close',()=>{const _0x257749=_0x376351;this['_removeClientFromAllChannels'](_0x48cfa2),this['_logger'][_0x257749(0x16e)]({'event':_0x257749(0x12d),'ip':_0x5dab3e},_0x257749(0x115)+_0x5dab3e);}),_0x48cfa2['on'](_0xaec679['udezF'],_0x3f17fd=>{const _0x300a49=_0x376351;this['_logger']['warn']({'event':'livesync_client_error','error':_0x3f17fd[_0x300a49(0x127)]},_0x300a49(0x14b)+_0x3f17fd[_0x300a49(0x127)]),this['_removeClientFromAllChannels'](_0x48cfa2);});}['_handleClientMessage'](_0xcbada,_0x4163d2){const _0x2b6d47=a0_0x228f8c,_0x689d32={'sbbPz':_0x2b6d47(0x119),'QdkPC':'error'};switch(_0x4163d2['type']){case'subscribe':this[_0x2b6d47(0x178)](_0xcbada,_0x4163d2[_0x2b6d47(0x189)]);break;case _0x689d32['sbbPz']:this[_0x2b6d47(0x186)](_0xcbada,_0x4163d2['channels']);break;case'pong':_0xcbada['isAlive']=!![];break;default:this[_0x2b6d47(0x15e)](_0xcbada,{'type':_0x689d32[_0x2b6d47(0x159)],'message':_0x2b6d47(0x167)+_0x4163d2[_0x2b6d47(0x133)]});}}['_handleSubscribe'](_0x79644b,_0x44d095){const _0x737064=a0_0x228f8c,_0x43997c={'OTeKv':function(_0x3431de,_0x5b707e){return _0x3431de===_0x5b707e;},'GwXMg':'error','lluXA':_0x737064(0x125),'rDfQF':function(_0x2f0d80,_0x59f350){return _0x2f0d80>_0x59f350;},'wztjM':_0x737064(0x15d)};if(!Array[_0x737064(0x142)](_0x44d095)||_0x43997c[_0x737064(0x15c)](_0x44d095['length'],0x0)){this['_sendToClient'](_0x79644b,{'type':_0x43997c[_0x737064(0x11e)],'message':_0x43997c['lluXA']});return;}const _0x566324=[];for(const _0x787274 of _0x44d095){if(typeof _0x787274!=='string'||!_0x787274['includes'](':'))continue;!this['_subscriptions'][_0x737064(0x163)](_0x787274)&&this['_subscriptions']['set'](_0x787274,new Set()),this['_subscriptions'][_0x737064(0x14d)](_0x787274)[_0x737064(0x138)](_0x79644b),_0x79644b['subscribedChannels'][_0x737064(0x138)](_0x787274),_0x566324[_0x737064(0x185)](_0x787274);}_0x43997c[_0x737064(0x13a)](_0x566324[_0x737064(0x152)],0x0)&&(this[_0x737064(0x15e)](_0x79644b,{'type':'subscribed','channels':_0x566324,'timestamp':new Date()['toISOString']()}),this[_0x737064(0x13b)][_0x737064(0x16e)]({'event':_0x43997c[_0x737064(0x14e)],'channels':_0x566324},'Client\x20subscribed\x20to:\x20'+_0x566324['join'](',\x20')));}[a0_0x228f8c(0x186)](_0x172db8,_0x118ff4){const _0x45aea7=a0_0x228f8c,_0x5abbe9={'gcJQt':function(_0x141d81,_0x2586b9){return _0x141d81===_0x2586b9;},'zbvMQ':function(_0x1ce54a,_0xe19890){return _0x1ce54a>_0xe19890;},'tuTeF':_0x45aea7(0x121)};if(!Array[_0x45aea7(0x142)](_0x118ff4))return;const _0x49babc=[];for(const _0x488e50 of _0x118ff4){this['_subscriptions']['has'](_0x488e50)&&(this[_0x45aea7(0x123)][_0x45aea7(0x14d)](_0x488e50)[_0x45aea7(0x190)](_0x172db8),_0x5abbe9['gcJQt'](this[_0x45aea7(0x123)]['get'](_0x488e50)[_0x45aea7(0x144)],0x0)&&this['_subscriptions']['delete'](_0x488e50)),_0x172db8['subscribedChannels'][_0x45aea7(0x190)](_0x488e50),_0x49babc[_0x45aea7(0x185)](_0x488e50);}_0x5abbe9['zbvMQ'](_0x49babc[_0x45aea7(0x152)],0x0)&&this['_sendToClient'](_0x172db8,{'type':_0x5abbe9[_0x45aea7(0x122)],'channels':_0x49babc,'timestamp':new Date()[_0x45aea7(0x191)]()});}['_removeClientFromAllChannels'](_0x4c0818){const _0x37a992=a0_0x228f8c,_0x36e07f={'EGTfH':function(_0x33aedf,_0x55d30a){return _0x33aedf===_0x55d30a;}};if(!_0x4c0818['subscribedChannels'])return;for(const _0xb8d298 of _0x4c0818['subscribedChannels']){this[_0x37a992(0x123)]['has'](_0xb8d298)&&(this['_subscriptions'][_0x37a992(0x14d)](_0xb8d298)['delete'](_0x4c0818),_0x36e07f[_0x37a992(0x11d)](this['_subscriptions']['get'](_0xb8d298)['size'],0x0)&&this['_subscriptions'][_0x37a992(0x190)](_0xb8d298));}_0x4c0818['subscribedChannels']['clear']();}['_sendToClient'](_0x14a9c0,_0xcee32d){const _0x266ddb=a0_0x228f8c,_0x1533f2={'qWgsP':function(_0x54f385,_0x1ffb18){return _0x54f385===_0x1ffb18;}};if(_0x1533f2['qWgsP'](_0x14a9c0[_0x266ddb(0x175)],0x1))try{_0x14a9c0['send'](JSON[_0x266ddb(0x193)](_0xcee32d));}catch(_0x3d82ab){}}['_startHeartbeat'](_0x1fc827){const _0x3d0971=a0_0x228f8c,_0x5ebe5d={'GSWot':function(_0x417106,_0x17799e,_0x50fafc){return _0x417106(_0x17799e,_0x50fafc);}};this[_0x3d0971(0x12a)]=_0x5ebe5d['GSWot'](setInterval,()=>{const _0x2bafc1=_0x3d0971;if(!this[_0x2bafc1(0x18f)])return;for(const _0x19f934 of this['_wss'][_0x2bafc1(0x146)]){if(!_0x19f934['isAlive']){this['_removeClientFromAllChannels'](_0x19f934),_0x19f934[_0x2bafc1(0x130)]();continue;}_0x19f934[_0x2bafc1(0x174)]=![],this[_0x2bafc1(0x15e)](_0x19f934,{'type':_0x2bafc1(0x112),'timestamp':new Date()[_0x2bafc1(0x191)]()});try{_0x19f934[_0x2bafc1(0x112)]();}catch(_0x1ce23a){}}},_0x1fc827*0x3e8);}[a0_0x228f8c(0x151)](){const _0x4e14b1=a0_0x228f8c,_0x98491e={'UTgls':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','uAsNE':function(_0x4440f4,_0x4de3f7){return _0x4440f4(_0x4de3f7);},'iaoIK':function(_0x457cb3,_0x3b570e){return _0x457cb3(_0x3b570e);},'bCQLE':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x4b0608=_0x98491e['uAsNE'](require,_0x4e14b1(0x182));this[_0x4e14b1(0x134)]=_0x4b0608[_0x4e14b1(0x17b)]?_0x4b0608['getClient']():null;}catch(_0x4db215){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x521f4d=_0x98491e[_0x4e14b1(0x10f)](require,'ioredis'),_0x33f313={'host':process[_0x4e14b1(0x17f)]['REDIS_HOST']||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x4e14b1(0x17f)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x4e14b1(0x134)]=new _0x521f4d(_0x33f313),this[_0x4e14b1(0x18e)]=!![],this[_0x4e14b1(0x134)]['connect']()[_0x4e14b1(0x160)](()=>{const _0x289e33=_0x4e14b1;this[_0x289e33(0x13b)]['warn']({'event':_0x289e33(0x166)},_0x98491e['UTgls']),this[_0x289e33(0x134)]=null;});}}catch(_0x7e2d79){this[_0x4e14b1(0x13b)]['warn']({'event':_0x98491e[_0x4e14b1(0x12c)],'error':_0x7e2d79[_0x4e14b1(0x127)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x7e2d79['message']);}}[a0_0x228f8c(0x157)](){const _0x54c5aa=a0_0x228f8c,_0x3decb9={'cLjtB':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','kQhUp':_0x54c5aa(0x127),'DwwbF':_0x54c5aa(0x16b),'EaBus':function(_0x216f9f,_0x52fe9d){return _0x216f9f(_0x52fe9d);},'daYve':function(_0x4b36a3,_0x25cbf8,_0x470c83){return _0x4b36a3(_0x25cbf8,_0x470c83);},'jaQOw':'../../utils/redis-client'};this['_ownPublisher']=![];try{const _0xf67409=_0x3decb9[_0x54c5aa(0x18b)](require,'ioredis'),_0x54feee={'host':process[_0x54c5aa(0x17f)][_0x54c5aa(0x172)]||_0x54c5aa(0x11f),'port':_0x3decb9['daYve'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x54c5aa(0x17f)][_0x54c5aa(0x128)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x36d790=_0x3decb9['EaBus'](require,_0x3decb9['jaQOw']);this['_redisPublisher']=_0x36d790[_0x54c5aa(0x17b)]?_0x36d790['getClient']():null;}catch(_0x2c1166){this[_0x54c5aa(0x134)]=null;}!this['_redisPublisher']&&(this[_0x54c5aa(0x134)]=new _0xf67409(_0x54feee),this['_ownPublisher']=!![],this['_redisPublisher'][_0x54c5aa(0x12f)]()['catch'](()=>{const _0x58ced6=_0x54c5aa;this['_logger']['warn']({'event':'livesync_redis_publisher_failed'},_0x3decb9['cLjtB']),this[_0x58ced6(0x134)]=null;})),this['_redisSubscriber']=new _0xf67409(_0x54feee),this[_0x54c5aa(0x16d)]['connect']()['then'](()=>{const _0x6c01c6=_0x54c5aa;this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x5513ae=>{const _0x30f1de=a0_0xe452;if(_0x5513ae){this['_logger']['error']({'event':'livesync_redis_subscribe_error','error':_0x5513ae['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x5513ae['message']);return;}this['_logger'][_0x30f1de(0x12e)]({'event':'livesync_redis_subscribed'},_0x30f1de(0x164));}),this[_0x6c01c6(0x16d)]['on'](_0x3decb9[_0x6c01c6(0x153)],(_0x5d2424,_0x2c9b1d)=>{const _0x20cd67=_0x6c01c6;try{const _0x4f56b8=JSON['parse'](_0x2c9b1d);if(_0x4f56b8['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x4f56b8[_0x20cd67(0x14c)],_0x4f56b8[_0x20cd67(0x127)]);}catch(_0x348472){}});})['catch'](()=>{const _0x56eaf8=_0x54c5aa;this['_logger']['warn']({'event':_0x3decb9['DwwbF']},'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode'),this[_0x56eaf8(0x16d)]=null;});}catch(_0x1a35b1){this[_0x54c5aa(0x13b)][_0x54c5aa(0x156)]({'event':'livesync_redis_unavailable','error':_0x1a35b1['message']},_0x54c5aa(0x158)+_0x1a35b1[_0x54c5aa(0x127)]);}}['_broadcastLocal'](_0x22b730,_0x2f99c0){const _0x45381e=a0_0x228f8c,_0x351bb3={'eCYLf':function(_0x527389,_0xa1fb87){return _0x527389===_0xa1fb87;},'Cpsun':function(_0x5830f5,_0xdc633c){return _0x5830f5||_0xdc633c;}};if(!this['_wss'])return;const _0x494a61=JSON[_0x45381e(0x193)]({'type':'data_change','channel':_0x22b730,'action':_0x2f99c0[_0x45381e(0x14a)],'data':_0x2f99c0['data'],'requestId':_0x2f99c0[_0x45381e(0x18c)]||null,'timestamp':new Date()[_0x45381e(0x191)]()}),[_0x18b902]=_0x22b730[_0x45381e(0x149)](':');for(const [_0xf533d9,_0x5ce90d]of this['_subscriptions']){const _0xaec905=_0x351bb3[_0x45381e(0x150)](_0xf533d9,_0x22b730),_0x459604=_0xf533d9===_0x18b902+':*';if(_0x351bb3[_0x45381e(0x113)](_0xaec905,_0x459604))for(const _0x27df16 of _0x5ce90d){if(_0x351bb3[_0x45381e(0x150)](_0x27df16[_0x45381e(0x175)],0x1))try{_0x27df16[_0x45381e(0x13f)](_0x494a61);}catch(_0x546bfe){}}}}}function a0_0xe452(_0x2b7052,_0x1ff89b){_0x2b7052=_0x2b7052-0x10e;const _0x54c474=a0_0x54c4();let _0xe45204=_0x54c474[_0x2b7052];if(a0_0xe452['PFbUWR']===undefined){var _0x35e8ed=function(_0x3fca5d){const _0x30c242='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x531132='',_0x25c592='';for(let _0x283e14=0x0,_0x455bdd,_0x27858e,_0x4b4218=0x0;_0x27858e=_0x3fca5d['charAt'](_0x4b4218++);~_0x27858e&&(_0x455bdd=_0x283e14%0x4?_0x455bdd*0x40+_0x27858e:_0x27858e,_0x283e14++%0x4)?_0x531132+=String['fromCharCode'](0xff&_0x455bdd>>(-0x2*_0x283e14&0x6)):0x0){_0x27858e=_0x30c242['indexOf'](_0x27858e);}for(let _0x17169f=0x0,_0x23c9b2=_0x531132['length'];_0x17169f<_0x23c9b2;_0x17169f++){_0x25c592+='%'+('00'+_0x531132['charCodeAt'](_0x17169f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25c592);};a0_0xe452['LdpqCA']=_0x35e8ed,a0_0xe452['MzlIgY']={},a0_0xe452['PFbUWR']=!![];}const _0x489f31=_0x54c474[0x0],_0x4b9479=_0x2b7052+_0x489f31,_0x36de5b=a0_0xe452['MzlIgY'][_0x4b9479];return!_0x36de5b?(_0xe45204=a0_0xe452['LdpqCA'](_0xe45204),a0_0xe452['MzlIgY'][_0x4b9479]=_0xe45204):_0xe45204=_0x36de5b,_0xe45204;}module['exports']=WebSocketBroadcaster;function a0_0x54c4(){const _0x44df58=['vMjNweC','C3rYAw5NAwz5','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','AwfVsuS','x21Vzgu','m3W1Fdr8nNWXFdj8ma','CgLUzW','q3bZDw4','CKzWEha','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','ig9Uia','x2HHBMrSzunVBM5Ly3rPB24','BgL2zxn5BMnFyNjVywrJyxn0','Dw5ZDwjZy3jPyMu','sw52ywXPzcbku09oig1LC3nHz2u','BeXHt2q','x29WDgLVBNm','ruDuzKG','r3DytwC','mti3lJaUmc4X','DxbNCMfKzq','Dw5ZDwjZy3jPyMvK','Dhvuzuy','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFAw5PDgLHBgL6zwq','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','BwvZC2fNzq','uKvesvnFueftu1DpuKq','C3rHCNrZv2L0Aa','x2HLyxj0yMvHDfrPBwvY','EMrUtgu','yKnrteu','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','Aw5MBW','y29UBMvJDa','DgvYBwLUyxrL','mJaZnJG1ndbbvLLkDfq','zgvZDhjVEq','DhLWzq','x3jLzgLZuhvIBgLZAgvY','C0LgrKe','x2LUAxrPywXPEMvK','otu3otbSqMjSzeK','ywrK','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','CKrMuuy','x2XVz2DLCG','x3nLDhvWvxbNCMfKzuf1DgG','y2fSBa','x3DVCMTLCKLK','C2vUza','y29UBMvJDgLVBG','AgvHzgvYCW','AxnbCNjHEq','q0nNEvm','C2L6zq','CMvZDgzVCMDLoMXPDMvZEw5JoG','y2XPzw50CW','Ahr0CdOVlW','yNjVywrJyxn0','C3bSAxq','ywn0Aw9U','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','y2HHBM5LBa','z2v0','D3P0AK0','Aw5PDgLHBgL6zq','zunztgy','x3nLDhvWuMvKAxnqDwjSAxnOzxi','BgvUz3rO','A1fOvxa','mJKYmZiWALzlyvjW','oda4sMrQq2Hl','D2fYBG','x3nLDhvWuMvKAxm','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','uwrRuem','BgL2zxn5BMnFC2H1DgrVD24','l3DZ','t1rLs3y','BgL2zxn5BMnFC3vIC2nYAwjL','x3nLBMruB0nSAwvUDa','uhjSzKW','y2f0y2G','CxvPDa','tgL2zsbtEw5Jia','AgfZ','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','DxjS','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','zNvSBa','EgvLDwO','mtK4mw5jB3z1tq','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','mJbcsvn4z2m','x3jLzgLZu3vIC2nYAwjLCG','zgvIDwC','Bg9Nz2vY','mtvgt010B2W','CMvTB3zLqwXStgLZDgvUzxjZ','uKvesvnFse9tva','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','AxnbBgL2zq','CMvHzhLtDgf0zq','ChvIBgLZAgvY','BgL2zxn5BMnFD3nZx2vYCM9Y','x2HHBMrSzvn1yNnJCMLIzq','x2HHBMrSzunSAwvUDe1LC3nHz2u','Bg9JywXOB3n0','z2v0q2XPzw50','nJGZody4C2XSCfzh','mty4nJK4ogfuBg9Rra','AgfUzgXLvxbNCMfKzq','zw52','BgrbEMO','Ag9ZDa','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zxjYB3i','mZK1mZq1n0vNsLzhAG','ChvZAa','x2HHBMrSzvvUC3vIC2nYAwjL','y2XVC2u','CgLK','y2HHBM5LBhm','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','rwfcDxm','CMvXDwvZDeLK','Ec1MB3j3yxjKzwqTzM9Y','x293BLb1yMXPC2HLCG','x3DZCW','zgvSzxrL','Dg9ju09tDhjPBMC'];a0_0x54c4=function(){return _0x44df58;};return a0_0x54c4();}
@@ -1 +1 @@
1
- const a0_0x317f0e=a0_0x13cd;(function(_0x294cf7,_0x54dde9){const _0x14a7f6=a0_0x13cd,_0x26ef99=_0x294cf7();while(!![]){try{const _0x271e96=-parseInt(_0x14a7f6(0x158))/0x1*(-parseInt(_0x14a7f6(0x19a))/0x2)+parseInt(_0x14a7f6(0x189))/0x3+parseInt(_0x14a7f6(0x157))/0x4+parseInt(_0x14a7f6(0x16e))/0x5+parseInt(_0x14a7f6(0x151))/0x6*(-parseInt(_0x14a7f6(0x113))/0x7)+-parseInt(_0x14a7f6(0x146))/0x8+parseInt(_0x14a7f6(0x10c))/0x9*(-parseInt(_0x14a7f6(0x138))/0xa);if(_0x271e96===_0x54dde9)break;else _0x26ef99['push'](_0x26ef99['shift']());}catch(_0x287e91){_0x26ef99['push'](_0x26ef99['shift']());}}}(a0_0x13ef,0x92a7d));const {v7:uuidv7}=require('uuid'),path=require(a0_0x317f0e(0x186)),fs=require('fs')[a0_0x317f0e(0x178)],fsSync=require('fs'),redisHelper=require(a0_0x317f0e(0x15c)),{logger,logError}=require(a0_0x317f0e(0x124)),dbType=(process[a0_0x317f0e(0x174)]['DB_TYPE']||a0_0x317f0e(0x179))[a0_0x317f0e(0x109)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x5d5f56,_0x31f0a6)=>oracleDb[a0_0x317f0e(0x17c)](_0x5d5f56,_0x31f0a6);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xdfb9b2,_0xe702c8)=>mysqlDb[a0_0x317f0e(0x17c)](_0xdfb9b2,_0xe702c8);}else executeQuery=require('../utils/db')[a0_0x317f0e(0x17c)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x317f0e(0x1a0)](){const _0x1f9f3c=a0_0x317f0e,_0x3529d7={'wLZVW':_0x1f9f3c(0x171),'TBKWu':'Export\x20service\x20initialized','afcUj':_0x1f9f3c(0x18e)};if(!this['_exportDir']){const _0x30cdfd=process[_0x1f9f3c(0x174)][_0x1f9f3c(0x143)]||_0x1f9f3c(0x147);this['_exportDir']=process['env'][_0x1f9f3c(0x154)]||path['join'](__dirname,'../../exports/'+_0x30cdfd);try{!fsSync[_0x1f9f3c(0x13f)](this[_0x1f9f3c(0x12a)])&&fsSync[_0x1f9f3c(0x165)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x3529d7['wLZVW'],'dir':this['_exportDir']},_0x3529d7[_0x1f9f3c(0x141)]);}catch(_0x2aa603){logError(_0x2aa603,{'event':_0x3529d7[_0x1f9f3c(0x182)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x1f9f3c(0x12a)];}[a0_0x317f0e(0x128)](_0x59dd97,_0x40c1cc=null){const _0x585e72=a0_0x317f0e,_0x10265d={'OxkOi':function(_0x1e2065,_0x3844bc){return _0x1e2065!==_0x3844bc;},'RaKPT':_0x585e72(0x164),'TuBFJ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','egNxA':'utf8','glosH':_0x585e72(0x114)};if(!_0x59dd97||_0x10265d[_0x585e72(0x18c)](typeof _0x59dd97,_0x10265d['RaKPT']))return _0x59dd97;const _0x3e2403=_0x59dd97['trim']();if(!_0x3e2403[_0x585e72(0x111)](_0x585e72(0x17a)))return _0x3e2403;const _0x99a3c7=_0x3e2403[_0x585e72(0x11e)](/^file:/,'')['trim']();if(!_0x99a3c7)throw new Error(_0x10265d[_0x585e72(0x13a)]);const _0x30b122=_0x40c1cc||path[_0x585e72(0x133)](process['cwd'](),'payload'),_0x4ee7f5=path[_0x585e72(0x18f)](_0x30b122,_0x99a3c7);logger[_0x585e72(0x10e)]({'event':_0x585e72(0x117),'relativePath':_0x99a3c7,'baseDir':_0x30b122,'absolutePath':_0x4ee7f5},_0x585e72(0x15b)+_0x99a3c7);if(!fsSync[_0x585e72(0x13f)](_0x4ee7f5))throw new Error(_0x585e72(0x118)+_0x4ee7f5);try{const _0x29abeb=fsSync['readFileSync'](_0x4ee7f5,_0x10265d['egNxA']);if(!_0x29abeb||!_0x29abeb[_0x585e72(0x183)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x4ee7f5);return logger[_0x585e72(0x10e)]({'event':_0x10265d[_0x585e72(0x142)],'file':_0x4ee7f5,'queryLength':_0x29abeb[_0x585e72(0x153)]},_0x585e72(0x127)+_0x29abeb[_0x585e72(0x153)]+'\x20chars)'),_0x29abeb['trim']();}catch(_0x417764){if(_0x417764['code']===_0x585e72(0x187))throw new Error(_0x585e72(0x118)+_0x4ee7f5);throw new Error(_0x585e72(0x16a)+_0x417764['message']);}}['generateJobId'](){const _0x24025a=a0_0x317f0e,_0x1d68fc={'JErev':function(_0x13eb9c,_0x4ba8b8){return _0x13eb9c-_0x4ba8b8;},'xIIFB':function(_0x4367b9,_0x59dc43){return _0x4367b9<_0x59dc43;}},_0x2d5e7d=_0x24025a(0x14a),_0x162e36=Date[_0x24025a(0x173)]()[_0x24025a(0x15d)](0x24),_0xaa2849=uuidv7()[_0x24025a(0x11e)](/-/g,'')[_0x24025a(0x19b)](0x0,_0x1d68fc['JErev'](0xc,_0x162e36['length'])),_0xae79c6=(_0x162e36+_0xaa2849)['substring'](0x0,0xc);let _0x3bde6f='';for(let _0x1b7d59=0x0;_0x1d68fc[_0x24025a(0x14d)](_0x1b7d59,0xc);_0x1b7d59++){_0xae79c6[_0x1b7d59]?_0x3bde6f+=_0xae79c6[_0x1b7d59]:_0x3bde6f+=_0x2d5e7d[_0x24025a(0x161)](Math[_0x24025a(0x1a6)](Math['random']()*_0x2d5e7d['length']));}return _0x3bde6f;}async[a0_0x317f0e(0x16d)](_0x2efe20){const _0x41b460=a0_0x317f0e,_0x3aef40={'YUMaC':_0x41b460(0x1a4),'SxXgr':'Export\x20processing\x20failed','ARXHD':'pending','ePIYm':'Export\x20job\x20created'},_0x48d4c1=this['generateJobId'](),_0x43a4f4={'job_id':_0x48d4c1,'status':_0x3aef40[_0x41b460(0x12b)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2efe20,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x48d4c1,_0x43a4f4),logger[_0x41b460(0x10e)]({'event':_0x41b460(0x191),'jobId':_0x48d4c1,'params':_0x2efe20},_0x3aef40[_0x41b460(0x1a5)]),this[_0x41b460(0x16c)](_0x48d4c1,_0x2efe20)[_0x41b460(0x12e)](_0x3bfd90=>{const _0x402d83=_0x41b460;logError(_0x3bfd90,{'event':_0x3aef40[_0x402d83(0x13b)],'jobId':_0x48d4c1},_0x3aef40['SxXgr']);}),{'job_id':_0x48d4c1,'status':_0x3aef40[_0x41b460(0x12b)]};}async[a0_0x317f0e(0x112)](_0x5e709a){const _0x16a089=a0_0x317f0e,_0xa1de96={'lrUjr':function(_0x401252,_0xaef3a9){return _0x401252===_0xaef3a9;}},_0x55c9c7=await redisHelper[_0x16a089(0x12c)](_0x5e709a);if(!_0x55c9c7)return{'success':![],'error':_0x16a089(0x13c)};return{'success':!![],'data':{'job_id':_0x55c9c7['job_id'],'status':_0x55c9c7['status'],'progress':_0x55c9c7[_0x16a089(0x196)],'total_rows':_0x55c9c7['total_rows'],'processed_rows':_0x55c9c7[_0x16a089(0x19e)],'file_url':_0xa1de96[_0x16a089(0x16b)](_0x55c9c7['status'],_0x16a089(0x10f))?_0x16a089(0x18a)+_0x55c9c7['params']['moduleName']+'/'+_0x55c9c7['params'][_0x16a089(0x123)]+_0x16a089(0x17f)+_0x5e709a:null,'error':_0x55c9c7['error']||null,'created_at':_0x55c9c7['created_at'],'completed_at':_0x55c9c7['completed_at']||null}};}async['processJob'](_0x4a2153,_0x52e873){const _0x548ef5=a0_0x317f0e,_0x51e88c={'beGsT':'Export\x20processing\x20started','ZiBsE':_0x548ef5(0x185),'RRoFp':function(_0x289162,_0x18d921,_0x5da6e6,_0x5b24fe){return _0x289162(_0x18d921,_0x5da6e6,_0x5b24fe);}};try{await redisHelper['updateJob'](_0x4a2153,{'status':_0x548ef5(0x184),'started_at':new Date()[_0x548ef5(0x168)]()}),logger[_0x548ef5(0x10e)]({'event':_0x548ef5(0x11a),'jobId':_0x4a2153},_0x51e88c[_0x548ef5(0x131)]);const _0x35d4bc=await this['fetchData'](_0x52e873);await redisHelper[_0x548ef5(0x167)](_0x4a2153,{'total_rows':_0x35d4bc[_0x548ef5(0x153)]});const _0x2e1211=await this[_0x548ef5(0x140)](_0x4a2153,_0x35d4bc,_0x52e873);await redisHelper[_0x548ef5(0x167)](_0x4a2153,{'status':'completed','progress':0x64,'file_path':_0x2e1211,'completed_at':new Date()[_0x548ef5(0x168)]()}),logger[_0x548ef5(0x10e)]({'event':_0x548ef5(0x188),'jobId':_0x4a2153,'rows':_0x35d4bc['length']},_0x51e88c['ZiBsE']);}catch(_0x36c8b1){_0x51e88c['RRoFp'](logError,_0x36c8b1,{'event':_0x548ef5(0x169),'jobId':_0x4a2153},_0x548ef5(0x18d)),await redisHelper[_0x548ef5(0x167)](_0x4a2153,{'status':'failed','error':_0x36c8b1['message'],'failed_at':new Date()[_0x548ef5(0x168)]()});}}async[a0_0x317f0e(0x197)](_0x55ca8d){const _0xcef3d1=a0_0x317f0e,_0x571c97={'SEoiY':function(_0x496187,_0x3e4ba6){return _0x496187||_0x3e4ba6;},'lgwTT':'tableName\x20and\x20columns\x20are\x20required','lsvlC':function(_0x26a218,_0x22cdcb){return _0x26a218+_0x22cdcb;},'cKvHH':_0xcef3d1(0x163),'KbuUL':'Using\x20custom\x20exportQuery','CdOVV':_0xcef3d1(0x126),'bMpRa':function(_0xffd3bd,_0x17fae8){return _0xffd3bd>_0x17fae8;},'OxoNp':'Fetching\x20data\x20from\x20database','ypdCg':function(_0x165bee,_0x388d4e){return _0x165bee===_0x388d4e;},'sPCXQ':'oracle','xVzCl':'export_fetch_complete','vkUrH':function(_0x31e567,_0x534c76,_0x26a0c0,_0x394816){return _0x31e567(_0x534c76,_0x26a0c0,_0x394816);},'XZckJ':_0xcef3d1(0x132)};try{const {tableName:_0x4ae2c3,columns:_0x4cb27d,exportQuery:_0xd9e928,where:_0x594d3a,sort_columns:_0x510a11}=_0x55ca8d;if(_0x571c97[_0xcef3d1(0x134)](!_0x4ae2c3,!_0x4cb27d)||_0x4cb27d['length']===0x0)throw new Error(_0x571c97['lgwTT']);const _0x3efe52=_0x571c97['lsvlC'](_0x4ae2c3[_0xcef3d1(0x11e)](/\./g,'_'),_0x571c97[_0xcef3d1(0x11f)]);let _0x4eeebc;if(_0xd9e928&&_0xd9e928['trim']()){let _0xcd5758=_0xd9e928;_0xd9e928['trim']()['startsWith'](_0xcef3d1(0x17a))&&(_0xcd5758=this['resolveExportQuery'](_0xd9e928)),_0x4eeebc='WITH\x20'+_0x3efe52+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0xcd5758+'\x0a)',_0x4eeebc+=_0xcef3d1(0x148)+_0x3efe52,logger['info']({'event':'export_using_custom_query','query':_0xcd5758[_0xcef3d1(0x19b)](0x0,0x64)},_0x571c97[_0xcef3d1(0x130)]);}else{const _0x49b7e9=_0x4cb27d['map'](_0x399911=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x399911)['join'](',');_0x4eeebc=_0xcef3d1(0x105)+_0x3efe52+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x49b7e9+'\x0a\x20\x20\x20\x20FROM\x20'+_0x4ae2c3+'\x0a)',_0x4eeebc+=_0xcef3d1(0x148)+_0x3efe52,logger[_0xcef3d1(0x10e)]({'event':_0x571c97['CdOVV'],'tableName':_0x4ae2c3,'columnCount':_0x4cb27d[_0xcef3d1(0x153)]},_0xcef3d1(0x162));}if(_0x594d3a){const _0x37d146=this[_0xcef3d1(0x175)](_0x594d3a);_0x37d146&&(_0x4eeebc+='\x0aWHERE\x20'+_0x37d146);}if(_0x510a11&&_0x571c97[_0xcef3d1(0x119)](_0x510a11[_0xcef3d1(0x153)],0x0)){const _0x45a826=this[_0xcef3d1(0x180)](_0x510a11);_0x45a826&&(_0x4eeebc+=_0xcef3d1(0x14f)+_0x45a826);}logger['info']({'event':'export_fetch_start','query':_0x4eeebc[_0xcef3d1(0x19b)](0x0,0xc8)},_0x571c97[_0xcef3d1(0x156)]);const _0x1e37ce=await executeQuery(_0x4eeebc);let _0x274eb3=_0x1e37ce;return _0x571c97[_0xcef3d1(0x176)](dbType,_0x571c97['sPCXQ'])&&_0x1e37ce&&_0x1e37ce[_0xcef3d1(0x153)]>0x0&&(_0x274eb3=_0x1e37ce['map'](_0x27a831=>{const _0x567ec7=_0xcef3d1,_0xad2c2b={};for(const [_0x3b8fcf,_0x341cb4]of Object[_0x567ec7(0x129)](_0x27a831)){_0xad2c2b[_0x3b8fcf[_0x567ec7(0x109)]()]=_0x341cb4;}return _0xad2c2b;})),logger['info']({'event':_0x571c97[_0xcef3d1(0x195)],'rows':_0x274eb3[_0xcef3d1(0x153)]},_0xcef3d1(0x11d)),_0x274eb3;}catch(_0x5e7ee4){_0x571c97['vkUrH'](logError,_0x5e7ee4,{'event':_0xcef3d1(0x193)},_0x571c97['XZckJ']);throw _0x5e7ee4;}}['sanitizeValue'](_0x157774){const _0x2cea3a=a0_0x317f0e,_0x1c1dfc={'YbFjn':'string'};if(typeof _0x157774===_0x1c1dfc[_0x2cea3a(0x18b)])return _0x157774['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x2cea3a(0x139)](_0x157774))return _0x157774['map'](_0x14b2bd=>this['sanitizeValue'](_0x14b2bd));}return _0x157774;}['buildWhereClause'](_0x351dc0){const _0x27ee1a=a0_0x317f0e,_0x37e831={'WmCZR':function(_0x2dff25,_0x317429){return _0x2dff25||_0x317429;},'ywOwm':'invalid_condition','cbJWM':_0x27ee1a(0x199),'cFRkq':'string','CapOf':'LIKE','HFXUA':_0x27ee1a(0x1a2),'tXetu':function(_0xfe3684,_0x1e7482){return _0xfe3684===_0x1e7482;}};if(!_0x351dc0||!_0x351dc0['conditions']||_0x351dc0[_0x27ee1a(0x12f)][_0x27ee1a(0x153)]===0x0)return'';const {logic:_0x4b9045,conditions:_0x382bfb}=_0x351dc0,_0x57df6e=_0x4b9045&&_0x4b9045[_0x27ee1a(0x150)]()==='OR'?'\x20OR\x20':_0x27ee1a(0x115),_0x1c7d44=_0x382bfb[_0x27ee1a(0x177)](_0x57874b=>{const _0xbc8ceb=_0x27ee1a,_0x146885={'FTnoY':function(_0x4810c4,_0x5b19af){return _0x4810c4===_0x5b19af;}},{key:_0x30960e,operator:_0x18f4af,value:_0x265bc0,sensitive:_0x774531}=_0x57874b;if(_0x37e831['WmCZR'](!_0x30960e,!_0x18f4af))return logger[_0xbc8ceb(0x190)]({'event':_0x37e831[_0xbc8ceb(0x172)],'condition':_0x57874b},_0x37e831['cbJWM']),null;const _0x14c834=this['sanitizeValue'](_0x265bc0),_0x1798a7=_0x774531!==undefined?_0x774531:!![];let _0x2346b4=_0x30960e,_0xa927f1=_0x14c834;!_0x1798a7&&(_0x2346b4='UPPER('+_0x30960e+')',typeof _0x265bc0===_0x37e831['cFRkq']&&(_0xa927f1=_0x265bc0[_0xbc8ceb(0x150)]()));const _0x192236=typeof _0xa927f1===_0x37e831[_0xbc8ceb(0x1a1)]?'\x27'+_0xa927f1[_0xbc8ceb(0x11e)](/'/g,'\x27\x27')+'\x27':_0xa927f1;switch(_0x18f4af['toUpperCase']()){case'=':case'!=':case'<>':return _0x2346b4+'\x20'+_0x18f4af+'\x20'+_0x192236;case'>':case'<':case'>=':case'<=':const _0x42599a=typeof _0x14c834==='string'?'\x27'+_0x14c834['replace'](/'/g,'\x27\x27')+'\x27':_0x14c834;return _0x30960e+'\x20'+_0x18f4af+'\x20'+_0x42599a;case _0x37e831['CapOf']:case'NOT\x20LIKE':return _0x2346b4+'\x20'+_0x18f4af+'\x20'+_0x192236;case'IN':if(Array['isArray'](_0x14c834)){let _0x3f0795;return!_0x1798a7?_0x3f0795=_0x14c834['map'](_0x323406=>{const _0xe46be8=_0xbc8ceb,_0x29319c=_0x146885[_0xe46be8(0x136)](typeof _0x323406,'string')?_0x323406[_0xe46be8(0x150)]():_0x323406;return typeof _0x29319c==='string'?'\x27'+_0x29319c[_0xe46be8(0x11e)](/'/g,'\x27\x27')+'\x27':_0x29319c;})['join'](',\x20'):_0x3f0795=_0x14c834['map'](_0xd04dcf=>typeof _0xd04dcf==='string'?'\x27'+_0xd04dcf['replace'](/'/g,'\x27\x27')+'\x27':_0xd04dcf)[_0xbc8ceb(0x133)](',\x20'),_0x2346b4+'\x20IN\x20('+_0x3f0795+')';}return _0x2346b4+_0xbc8ceb(0x192)+_0x192236+')';case'IS\x20NULL':return _0x30960e+'\x20IS\x20NULL';case _0xbc8ceb(0x10b):return _0x30960e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':'unknown_operator','operator':_0x18f4af},_0x37e831[_0xbc8ceb(0x145)]);return _0x2346b4+'\x20=\x20'+_0x192236;}})[_0x27ee1a(0x125)](_0x16241e=>_0x16241e!==null);if(_0x37e831['tXetu'](_0x1c7d44['length'],0x0))return'';return _0x1c7d44['join'](_0x57df6e);}['buildOrderByClause'](_0x5814e4){const _0x3d5008=a0_0x317f0e,_0x10a395={'AZbZY':_0x3d5008(0x13e),'TyRge':'Skipping\x20invalid\x20sort\x20column','lbNMj':function(_0x6b8257,_0x42c29e){return _0x6b8257===_0x42c29e;},'QoifR':'DESC','wgROi':_0x3d5008(0x152)};if(!_0x5814e4||_0x5814e4['length']===0x0)return'';const _0x25a012=_0x5814e4[_0x3d5008(0x177)](_0x5d8360=>{const _0x288c8a=_0x3d5008,{column:_0x13f092,direction:_0x45528b}=_0x5d8360;if(!_0x13f092)return logger['warn']({'event':_0x10a395['AZbZY'],'item':_0x5d8360},_0x10a395[_0x288c8a(0x12d)]),null;const _0x562331=_0x45528b&&_0x10a395['lbNMj'](_0x45528b['toUpperCase'](),_0x10a395['QoifR'])?_0x10a395[_0x288c8a(0x10d)]:_0x10a395[_0x288c8a(0x13d)];return _0x13f092+'\x20'+_0x562331;})[_0x3d5008(0x125)](_0x5b20a2=>_0x5b20a2!==null);if(_0x25a012[_0x3d5008(0x153)]===0x0)return'';return _0x25a012[_0x3d5008(0x133)](',\x20');}async[a0_0x317f0e(0x140)](_0xa32ee3,_0x2ea4d4,_0x4f7abf){const _0x382227=a0_0x317f0e,_0x5aa912={'MLqEz':function(_0x31a09b,_0xe54277){return _0x31a09b/_0xe54277;},'cbrdQ':function(_0x18804c,_0x3061bf){return _0x18804c(_0x3061bf);},'IdoYr':_0x382227(0x17d),'IuGpt':_0x382227(0x15f),'lLgkM':function(_0x27b904,_0x56dc0a){return _0x27b904>_0x56dc0a;},'yUZlw':'excel_columns_from_request','Dcpuw':'excel_columns_fallback','ROTWi':_0x382227(0x107),'LFhPK':_0x382227(0x122)},_0x3a800b=_0x5aa912[_0x382227(0x11b)](require,_0x5aa912[_0x382227(0x144)]),_0x5899d2=new _0x3a800b(),_0x7d8388=_0x4f7abf['filename']?_0x4f7abf['filename']+'-'+_0xa32ee3:_0x382227(0x149)+_0xa32ee3,_0x248746=path['join'](this['exportDir'],_0x7d8388+'.xlsx');let _0x1fdaec=_0x4f7abf['columns'];const _0x4c5ce3=_0x4f7abf['exportQuery']&&_0x4f7abf[_0x382227(0x106)]['trim'](),_0x4ddb39=_0x1fdaec&&_0x1fdaec['length']===0x1&&(_0x1fdaec[0x0]==='*'||_0x1fdaec[0x0][_0x382227(0x109)]()==='all');if(_0x2ea4d4[_0x382227(0x153)]>0x0){const _0x347f5b=Object[_0x382227(0x135)](_0x2ea4d4[0x0]);if(_0x4c5ce3)_0x1fdaec=_0x347f5b,logger['info']({'event':_0x5aa912[_0x382227(0x19d)],'columns':_0x1fdaec},_0x382227(0x198)+_0x1fdaec[_0x382227(0x153)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x4ddb39)_0x1fdaec=_0x347f5b,logger[_0x382227(0x10e)]({'event':'excel_columns_select_all','columns':_0x1fdaec},_0x382227(0x116)+_0x1fdaec['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x1fdaec&&_0x5aa912['lLgkM'](_0x1fdaec[_0x382227(0x153)],0x0)){const _0x4b32a2=_0x1fdaec['filter'](_0x115f20=>_0x347f5b[_0x382227(0x15a)](_0x115f20));_0x5aa912['lLgkM'](_0x4b32a2['length'],0x0)?(_0x1fdaec=_0x4b32a2,logger[_0x382227(0x10e)]({'event':_0x5aa912[_0x382227(0x137)],'requestedColumns':_0x4f7abf['columns'],'validColumns':_0x1fdaec},_0x382227(0x198)+_0x1fdaec[_0x382227(0x153)]+_0x382227(0x155))):(_0x1fdaec=_0x347f5b,logger['warn']({'event':_0x5aa912['Dcpuw'],'requestedColumns':_0x4f7abf['columns'],'availableColumns':_0x347f5b},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x347f5b['length']+_0x382227(0x15e)));}else _0x1fdaec=_0x347f5b,logger['info']({'event':_0x5aa912[_0x382227(0x166)],'columns':_0x1fdaec},'Using\x20'+_0x1fdaec['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0x382227(0x10e)]({'event':_0x5aa912[_0x382227(0x17b)],'columns':_0x1fdaec},_0x382227(0x198)+(_0x1fdaec?.['length']||0x0)+_0x382227(0x1a3));return await _0x5899d2[_0x382227(0x181)]({'data':_0x2ea4d4,'columns':_0x1fdaec,'columnFormats':_0x4f7abf[_0x382227(0x14b)]||null,'fieldLabels':_0x4f7abf['fieldLabels']||null,'filePath':_0x248746,'onProgress':async _0x34a4a5=>{const _0x47963e=_0x382227;await redisHelper[_0x47963e(0x167)](_0xa32ee3,{'progress':Math['round'](_0x34a4a5),'processed_rows':Math[_0x47963e(0x194)](_0x5aa912['MLqEz'](_0x34a4a5,0x64)*_0x2ea4d4['length'])});}}),_0x248746;}async['getFilePath'](_0x27065f){const _0x5a8729=a0_0x317f0e,_0x37c7b6={'Gpfxs':function(_0x19e8f5,_0x4e0096){return _0x19e8f5!==_0x4e0096;},'hyaMr':_0x5a8729(0x10f),'zrMAm':'export_file_not_found','BIpQE':'Export\x20file\x20not\x20found'},_0x350764=await redisHelper['getJob'](_0x27065f);if(!_0x350764||_0x37c7b6[_0x5a8729(0x121)](_0x350764[_0x5a8729(0x14c)],_0x37c7b6[_0x5a8729(0x120)]))return null;try{return await fs['access'](_0x350764['file_path']),_0x350764[_0x5a8729(0x11c)];}catch(_0x11fcae){return logError(_0x11fcae,{'event':_0x37c7b6['zrMAm'],'jobId':_0x27065f,'path':_0x350764['file_path']},_0x37c7b6['BIpQE']),null;}}async[a0_0x317f0e(0x1a7)](){const _0x4d7dfa=a0_0x317f0e,_0x5ee818={'wYVMU':function(_0x5c7c3a,_0x2f9a20){return _0x5c7c3a/_0x2f9a20;},'aEYuh':function(_0x463caf,_0x2d247b){return _0x463caf*_0x2d247b;},'WQNEf':function(_0x3faebd,_0x351a85){return _0x3faebd>_0x351a85;},'BCJWf':'Export\x20file\x20deleted','MPTtp':'export_file_delete_error','zLUtR':_0x4d7dfa(0x16f)};logger['info']({'event':_0x4d7dfa(0x10a)},'Starting\x20export\x20cleanup');const _0x3f35e9=await redisHelper['getAllJobs']();let _0x49a2c0=0x0;for(const _0x142a32 of _0x3f35e9){const _0x20321=new Date(_0x142a32['created_at']),_0x1b3ce4=new Date(),_0x14747c=_0x5ee818[_0x4d7dfa(0x14e)](_0x1b3ce4-_0x20321,_0x5ee818['aEYuh'](0x3e8*0x3c,0x3c));if(_0x5ee818[_0x4d7dfa(0x159)](_0x14747c,0x1)){if(_0x142a32[_0x4d7dfa(0x11c)])try{await fs[_0x4d7dfa(0x110)](_0x142a32['file_path']),logger['info']({'event':'export_file_deleted','path':_0x142a32[_0x4d7dfa(0x11c)]},_0x5ee818[_0x4d7dfa(0x19c)]);}catch(_0x1859ff){logger[_0x4d7dfa(0x190)]({'event':_0x5ee818[_0x4d7dfa(0x108)],'path':_0x142a32['file_path'],'error':_0x1859ff[_0x4d7dfa(0x17e)]},_0x5ee818['zLUtR']);}await redisHelper[_0x4d7dfa(0x170)](_0x142a32['job_id']),_0x49a2c0++;}}return logger['info']({'event':_0x4d7dfa(0x19f),'deleted':_0x49a2c0},'Export\x20cleanup\x20completed'),_0x49a2c0;}}function a0_0x13cd(_0x1879e1,_0x366913){_0x1879e1=_0x1879e1-0x105;const _0x13ef36=a0_0x13ef();let _0x13cd95=_0x13ef36[_0x1879e1];if(a0_0x13cd['KQvLMM']===undefined){var _0x2d46d7=function(_0x5da762){const _0x1a74f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x575753='',_0x59b90c='';for(let _0x5dac3d=0x0,_0x44fcae,_0xa84ae6,_0x5d007a=0x0;_0xa84ae6=_0x5da762['charAt'](_0x5d007a++);~_0xa84ae6&&(_0x44fcae=_0x5dac3d%0x4?_0x44fcae*0x40+_0xa84ae6:_0xa84ae6,_0x5dac3d++%0x4)?_0x575753+=String['fromCharCode'](0xff&_0x44fcae>>(-0x2*_0x5dac3d&0x6)):0x0){_0xa84ae6=_0x1a74f5['indexOf'](_0xa84ae6);}for(let _0x2ba4ed=0x0,_0x51c3e1=_0x575753['length'];_0x2ba4ed<_0x51c3e1;_0x2ba4ed++){_0x59b90c+='%'+('00'+_0x575753['charCodeAt'](_0x2ba4ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59b90c);};a0_0x13cd['vDiHzx']=_0x2d46d7,a0_0x13cd['IWUIuz']={},a0_0x13cd['KQvLMM']=!![];}const _0x3a2d1e=_0x13ef36[0x0],_0xb209c=_0x1879e1+_0x3a2d1e,_0x1523ba=a0_0x13cd['IWUIuz'][_0xb209c];return!_0x1523ba?(_0x13cd95=a0_0x13cd['vDiHzx'](_0x13cd95),a0_0x13cd['IWUIuz'][_0xb209c]=_0x13cd95):_0x13cd95=_0x1523ba,_0x13cd95;}function a0_0x13ef(){const _0x5a3dab=['rLrUB1K','EvvABhC','mteWsMfus1bQ','AxnbCNjHEq','vhvcrKO','wvvnyum','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','D2Dst2K','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zxHPC3rZu3LUyW','z2vUzxjHDgvfEgnLBa','vejlv3u','z2XVC0G','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','swrVwxi','sezyvue','mtG4nZy1nLPXAuHLAq','zgvMyxvSDa','cLnftevdvcaQiezst00G','zxHWB3j0lq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','y29SDw1UrM9YBwf0CW','C3rHDhvZ','EeLjrKi','D1Lwtvu','cK9srevsiejzia','Dg9vChbLCKnHC2u','mJC2ndiZnKvgA0PnCq','qvnd','BgvUz3rO','rvHqt1jux0rjuG','ignVBhvTBNmGzNjVBsbYzxf1zxn0','t3HVtNa','mZqXotqYnhPcveDODG','mtG4odmXCLj3B2PR','v1forwy','Aw5JBhvKzxm','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','Dg9tDhjPBMC','ignVBhvTBNm','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','zxHWB3j0CW','y2HHCKf0','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','x2rHDge','C3rYAw5N','BwTKAxjtEw5J','uK9uv2K','DxbKyxrLsM9I','Dg9ju09tDhjPBMC','zxHWB3j0x2zHAwXLza','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','BhjvANi','ChjVy2vZC0PVyG','y3jLyxrLsM9I','mtq3mtK5nxn0ANzuwG','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','zgvSzxrLsM9I','zxHWB3j0x3nLCNzPy2vFAw5PDa','ExDpD20','BM93','zw52','yNvPBgrxAgvYzunSyxvZzq','ExbKq2C','BwfW','ChjVBwLZzxm','Cg9ZDgDYzxnXBa','zMLSztO','tezOueS','zxHLy3v0zvf1zxj5','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','BwvZC2fNzq','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','yNvPBgrpCMrLCKj5q2XHDxnL','z2vUzxjHDgu','ywzJvwO','DhjPBq','ChjVy2vZC2LUzW','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','Cgf0Aa','ru5pru5u','zxHWB3j0x2nVBxbSzxrLza','mZm5ntG4nKrfvfn4EG','l2fWAs8','wwjgAM4','t3HRt2K','rxHWB3j0igzHAwXLza','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','CMvZB2X2zq','D2fYBG','zxHWB3j0x2PVyL9JCMvHDgvK','ieLoicG','zxHWB3j0x2zLDgnOx2vYCM9Y','CM91BMq','Efz6q2W','ChjVz3jLC3m','zMv0y2HeyxrH','vxnPBMCG','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','ogHmDK9LzG','C3vIC3rYAw5N','qKnkv2y','sxvhChq','ChjVy2vZC2vKx3jVD3m','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','zxHWB3j0rgLY','y0zsA3e','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zvbjww0','zMXVB3i','y2XLyw51Ca','v0Lusca','zxHWB3j0uxvLCNK','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','tvbuDha','Dg9mB3DLCKnHC2u','zxHWB3j0x2nSzwfUDxbFC3rHCNq','svmGtK9uie5vteW','mtqYmJK2m05Xv2fWza','uw9PzLi','Aw5MBW','y29TCgXLDgvK','Dw5SAw5R','C3rHCNrZv2L0Aa','z2v0sM9Iu3rHDhvZ','n0XhC0jcCq','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','ieforca','vxnPBMCGywXSia','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','yK1WuMe','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','y2jYzfe','zMLSzv9WyxrO','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','CMvWBgfJzq','y0T2seG','AhLHtxi','r3bMEhm','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zw5KCg9PBNroyw1L','lI4VDxrPBhmVBg9Nz2vY','zMLSDgvY','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','CMvZB2X2zuv4Cg9YDff1zxj5','zw50CMLLCW','x2v4Cg9YDerPCG','qvjyseq','z2v0sM9I','vhLsz2u','y2f0y2G','y29UzgL0Aw9UCW','s2j1vuW','yMvhC1q','rMfPBgvKihrVigzLDgnOigrHDge','AM9PBG','u0vVAvK','A2v5CW'];a0_0x13ef=function(){return _0x5a3dab;};return a0_0x13ef();}module[a0_0x317f0e(0x160)]=new ExportService();
1
+ const a0_0x473530=a0_0x3cde;(function(_0xcad90f,_0x158e55){const _0x1fc680=a0_0x3cde,_0x859084=_0xcad90f();while(!![]){try{const _0x207c23=-parseInt(_0x1fc680(0xd1))/0x1*(parseInt(_0x1fc680(0xf3))/0x2)+parseInt(_0x1fc680(0x14a))/0x3*(-parseInt(_0x1fc680(0x107))/0x4)+parseInt(_0x1fc680(0x125))/0x5+-parseInt(_0x1fc680(0xee))/0x6*(parseInt(_0x1fc680(0x146))/0x7)+-parseInt(_0x1fc680(0xdf))/0x8+parseInt(_0x1fc680(0x11c))/0x9*(-parseInt(_0x1fc680(0xea))/0xa)+parseInt(_0x1fc680(0xda))/0xb;if(_0x207c23===_0x158e55)break;else _0x859084['push'](_0x859084['shift']());}catch(_0x305e88){_0x859084['push'](_0x859084['shift']());}}}(a0_0xc147,0x2f5de));function a0_0x3cde(_0x5da42f,_0x101ca6){_0x5da42f=_0x5da42f-0xc7;const _0xc1476d=a0_0xc147();let _0x3cde11=_0xc1476d[_0x5da42f];if(a0_0x3cde['PsXDCw']===undefined){var _0x444837=function(_0x3d09e1){const _0x54dd45='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f99ff='',_0x2b8f74='';for(let _0x56bb57=0x0,_0x172042,_0x4f24cb,_0x3155a7=0x0;_0x4f24cb=_0x3d09e1['charAt'](_0x3155a7++);~_0x4f24cb&&(_0x172042=_0x56bb57%0x4?_0x172042*0x40+_0x4f24cb:_0x4f24cb,_0x56bb57++%0x4)?_0x2f99ff+=String['fromCharCode'](0xff&_0x172042>>(-0x2*_0x56bb57&0x6)):0x0){_0x4f24cb=_0x54dd45['indexOf'](_0x4f24cb);}for(let _0x5b64e6=0x0,_0x3bc779=_0x2f99ff['length'];_0x5b64e6<_0x3bc779;_0x5b64e6++){_0x2b8f74+='%'+('00'+_0x2f99ff['charCodeAt'](_0x5b64e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b8f74);};a0_0x3cde['bptoEX']=_0x444837,a0_0x3cde['pwPVqn']={},a0_0x3cde['PsXDCw']=!![];}const _0x3f5836=_0xc1476d[0x0],_0x372108=_0x5da42f+_0x3f5836,_0x418c68=a0_0x3cde['pwPVqn'][_0x372108];return!_0x418c68?(_0x3cde11=a0_0x3cde['bptoEX'](_0x3cde11),a0_0x3cde['pwPVqn'][_0x372108]=_0x3cde11):_0x3cde11=_0x418c68,_0x3cde11;}const {v7:uuidv7}=require(a0_0x473530(0x15e)),path=require(a0_0x473530(0xe5)),fs=require('fs')[a0_0x473530(0x150)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x473530(0x13d)]['DB_TYPE']||a0_0x473530(0xfb))[a0_0x473530(0x110)]();let executeQuery;function a0_0xc147(){const _0x433176=['ru5qB3K','yNvPBgrxAgvYzunSyxvZzq','ieforca','zhPbCgm','Cgf5Bg9Hza','y2f0y2G','wxDkExi','z2v0sM9I','vxnPBMCGywXSia','sgj0uvq','C3vIC3rYAw5N','zxHWB3j0x2zHAwXLza','lI4VDxrPBhmVzgiTBxLZCwW','CM91BMq','vxnPBMCG','qwX5DvO','cLnftevdvcaQiezst00G','D2fYBG','ignOyxjZkq','zw52','y29UzgL0Aw9UCW','CgvUzgLUzW','DerYy3i','zKXsEvq','sKzLsKy','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','y2XLyw51Ca','rxHWB3j0igzPBguGBM90igzVDw5K','mtuXmZa5ouTIsePlua','Dw5RBM93BL9VCgvYyxrVCG','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','x2v4Cg9YDerPCG','nZjLwu1Zs0y','cIaGicaGicaG','AwfHBfy','zMXVB3i','AKLdyK4','ieLoicG','ChjVBwLZzxm','Dw5SAw5R','s2TpEMu','y29TCgXLDgvKx2f0','qMvhrxy','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zMLLBgrmywjLBhm','v0Lusca','tg9PEvO','zxHWB3j0x3nLCNzPy2vFAw5PDa','z2v0qwXSsM9ICW','tML3Bvu','Aw5MBW','uwjVv3a','DxvPza','CuvNq0S','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','y3HYy3C','r1Dwzgm','z2vUzxjHDgvfEgnLBa','rxHWB3j0igzHAwXLza','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','svmGtLvmta','zLDuAK0','id0G','AMvrBM8','Dg9ju09tDhjPBMC','mta1mJaYtNzUEKDW','C3rHDhvZ','B3jHy2XL','A25Mwfy','zxHWB3j0uxvLCNK','zxHWB3j0x2zPBgvFzgvSzxrLza','zMLSDgvY','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','CMvZB2X2zuv4Cg9YDff1zxj5','mti2mte3mZfIyuzhq0m','svmGtK9uie5vteW','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','DxrMoa','mJG2otaYnfPzEKPIBG','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','zxjYB3i','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','AgX1D1a','iefticGkicaGifnftevdvca','Cgf0Aa','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','zgvMyxvSDa','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','mtbVDgr4t0O','Dw15B1K','y29SDw1UrM9YBwf0CW','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','nLfJvxrPta','Dg9vChbLCKnHC2u','qK14Buy','y29TCgXLDgvK','tfjVvKq','nKf0EKrMBG','CvHOv1e','DhjPBq','CMvZB2X2zq','C3rYAw5N','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','tefLAgC','zxHWB3j0CW','Cg9ZDgDYzxnXBa','ChjVy2vZC0PVyG','CMvWBgfJzq','DxbKyxrLsM9I','zxHWB3j0x2zLDgnOx3n0yxj0','revtqW','zMLSzw5HBwu','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','y2HHCKf0','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','swHTrMG','l2fWAs8','mZu2nZzJwwrxBwq','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','C3rHCNrZv2L0Aa','ieLtie5pvcbovuXm','Bu1dueK','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','rMfPBgvKihrVigzLDgnOigrHDge','zMLSzv9WyxrO','CgfYyw1Z','Dg9mB3DLCKnHC2u','cLDirvjfia','BwfW','z2vUzxjHDgvkB2jjza','BgvUz3rO','DeXcAuy','C2fUAxrPEMvwywX1zq','BwvZC2fNzq','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','AM9PBG','ChjVy2vZC2LUzW','ru5pru5u','mtGYnJfLuuXwBeW','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zxHWB3j0x2nVBxbSzxrLza','tK9uieXjs0u','Dg90ywXFCM93CW','ie9sia','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','zMLSztO','lNHSC3G','nZy5odq1vxPwwMXc','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','z2v0rMLSzvbHDgG'];a0_0xc147=function(){return _0x433176;};return a0_0xc147();}if(dbType===a0_0x473530(0xd3)){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x4a69e1,_0x13ceca)=>oracleDb['executeQuery'](_0x4a69e1,_0x13ceca);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x473530(0x136));executeQuery=(_0x238173,_0xd1ce85)=>mysqlDb['executeQuery'](_0x238173,_0xd1ce85);}else executeQuery=require('../utils/db')['executeQuery'];}class ExportService{constructor(){const _0x362da1=a0_0x473530;this[_0x362da1(0x149)]=null;}get['exportDir'](){const _0x4594b0=a0_0x473530,_0x2f0c4a={'AKDLE':_0x4594b0(0xe7),'PlZrC':'Export\x20service\x20initialized','GWZwk':'Failed\x20to\x20initialize\x20export\x20service'};if(!this[_0x4594b0(0x149)]){const _0x3ae330=process['env'][_0x4594b0(0x155)]||_0x2f0c4a['AKDLE'];this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,'../../exports/'+_0x3ae330);try{!fsSync['existsSync'](this[_0x4594b0(0x149)])&&fsSync['mkdirSync'](this[_0x4594b0(0x149)],{'recursive':!![]}),logger['info']({'event':_0x4594b0(0x159),'dir':this[_0x4594b0(0x149)]},_0x2f0c4a['PlZrC']);}catch(_0x1241db){logError(_0x1241db,{'event':'export_service_init_error'},_0x2f0c4a['GWZwk']);}}return this['_exportDir'];}[a0_0x473530(0xd9)](_0x59b553,_0xd485c9=null){const _0x1757cf=a0_0x473530,_0x319326={'pGaAk':function(_0xce822c,_0x522307){return _0xce822c!==_0x522307;},'BMxmF':_0x1757cf(0xf7),'EOabA':_0x1757cf(0x118),'ENPoy':_0x1757cf(0x12e),'PwKXU':_0x1757cf(0xcb),'LAehg':_0x1757cf(0xde),'BeGEv':_0x1757cf(0xe8),'Slouc':function(_0x3db3cc,_0x2c838b){return _0x3db3cc===_0x2c838b;}};if(!_0x59b553||_0x319326['pGaAk'](typeof _0x59b553,_0x319326[_0x1757cf(0xf0)]))return _0x59b553;const _0x39ad95=_0x59b553['trim']();if(!_0x39ad95[_0x1757cf(0x109)](_0x1757cf(0x123)))return _0x39ad95;const _0x3b43f9=_0x39ad95['replace'](/^file:/,'')['trim']();if(!_0x3b43f9)throw new Error(_0x319326['EOabA']);const _0x36af1f=_0xd485c9||path[_0x1757cf(0x119)](process['cwd'](),_0x319326[_0x1757cf(0x12a)]),_0x592e55=path[_0x1757cf(0xf6)](_0x36af1f,_0x3b43f9);logger['info']({'event':_0x319326['PwKXU'],'relativePath':_0x3b43f9,'baseDir':_0x36af1f,'absolutePath':_0x592e55},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x3b43f9);if(!fsSync['existsSync'](_0x592e55))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x592e55);try{const _0x5cec18=fsSync['readFileSync'](_0x592e55,_0x319326[_0x1757cf(0xf9)]);if(!_0x5cec18||!_0x5cec18[_0x1757cf(0xf5)]())throw new Error(_0x1757cf(0xe2)+_0x592e55);return logger[_0x1757cf(0x15c)]({'event':_0x319326[_0x1757cf(0x154)],'file':_0x592e55,'queryLength':_0x5cec18[_0x1757cf(0x114)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x5cec18[_0x1757cf(0x114)]+_0x1757cf(0x13c)),_0x5cec18[_0x1757cf(0xf5)]();}catch(_0x1208fd){if(_0x319326['Slouc'](_0x1208fd['code'],_0x1757cf(0x11b)))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x592e55);throw new Error(_0x1757cf(0xf8)+_0x1208fd['message']);}}[a0_0x473530(0x113)](){const _0x4b337d=a0_0x473530,_0x3fe160={'iaalV':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','umyoY':function(_0x25676a){return _0x25676a();},'ynavJ':function(_0x185e20,_0x4bd735){return _0x185e20-_0x4bd735;},'mszkM':function(_0x35386d,_0x45f1b1){return _0x35386d+_0x45f1b1;},'SBFfg':function(_0x280f93,_0x56de47){return _0x280f93<_0x56de47;},'jeQno':function(_0x1d4c55,_0x1d5a9a){return _0x1d4c55*_0x1d5a9a;}},_0x30b6d9=_0x3fe160[_0x4b337d(0x14c)],_0x1d2ada=Date['now']()['toString'](0x24),_0x5ac0fe=_0x3fe160[_0x4b337d(0xeb)](uuidv7)['replace'](/-/g,'')[_0x4b337d(0x134)](0x0,_0x3fe160['ynavJ'](0xc,_0x1d2ada[_0x4b337d(0x114)])),_0x37d98e=_0x3fe160['mszkM'](_0x1d2ada,_0x5ac0fe)[_0x4b337d(0x134)](0x0,0xc);let _0x6553b8='';for(let _0x33b1ee=0x0;_0x3fe160['SBFfg'](_0x33b1ee,0xc);_0x33b1ee++){_0x37d98e[_0x33b1ee]?_0x6553b8+=_0x37d98e[_0x33b1ee]:_0x6553b8+=_0x30b6d9[_0x4b337d(0x103)](Math[_0x4b337d(0x14d)](_0x3fe160[_0x4b337d(0xcf)](Math['random'](),_0x30b6d9['length'])));}return _0x6553b8;}async['createJob'](_0x3f0fba){const _0x9c6a7f=a0_0x473530,_0x8d0a75={'MzRTe':function(_0x457823,_0x1778b7,_0x43f33f,_0x5b0df0){return _0x457823(_0x1778b7,_0x43f33f,_0x5b0df0);},'eYDEK':'export_job_created','fWTjM':'Export\x20job\x20created'},_0x3cb42e=this['generateJobId'](),_0x317bb8={'job_id':_0x3cb42e,'status':_0x9c6a7f(0x13f),'progress':0x0,'created_at':new Date()[_0x9c6a7f(0xd0)](),'params':_0x3f0fba,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x3cb42e,_0x317bb8),logger[_0x9c6a7f(0x15c)]({'event':_0x8d0a75['eYDEK'],'jobId':_0x3cb42e,'params':_0x3f0fba},_0x8d0a75[_0x9c6a7f(0xcd)]),this[_0x9c6a7f(0xfc)](_0x3cb42e,_0x3f0fba)[_0x9c6a7f(0x12f)](_0x3a5ad4=>{_0x8d0a75['MzRTe'](logError,_0x3a5ad4,{'event':'export_process_error','jobId':_0x3cb42e},'Export\x20processing\x20failed');}),{'job_id':_0x3cb42e,'status':'pending'};}async['getJobStatus'](_0x4c9a2a){const _0x2ea51e=a0_0x473530,_0x38f58c={'fKzzA':'Job\x20not\x20found\x20or\x20expired','qfucw':function(_0x4ceea8,_0x521eaf){return _0x4ceea8===_0x521eaf;},'IhmFh':'completed'},_0x19e0d3=await redisHelper['getJob'](_0x4c9a2a);if(!_0x19e0d3)return{'success':![],'error':_0x38f58c['fKzzA']};return{'success':!![],'data':{'job_id':_0x19e0d3['job_id'],'status':_0x19e0d3['status'],'progress':_0x19e0d3['progress'],'total_rows':_0x19e0d3[_0x2ea51e(0x120)],'processed_rows':_0x19e0d3['processed_rows'],'file_url':_0x38f58c['qfucw'](_0x19e0d3[_0x2ea51e(0xd2)],_0x38f58c[_0x2ea51e(0x105)])?_0x2ea51e(0x106)+_0x19e0d3[_0x2ea51e(0x10f)]['moduleName']+'/'+_0x19e0d3[_0x2ea51e(0x10f)]['endpointName']+'/export-download?job_id='+_0x4c9a2a:null,'error':_0x19e0d3[_0x2ea51e(0xe1)]||null,'created_at':_0x19e0d3['created_at'],'completed_at':_0x19e0d3[_0x2ea51e(0x153)]||null}};}async['processJob'](_0x3177d5,_0x7f1b32){const _0x3c5de4=a0_0x473530,_0x1503ac={'aCWhZ':_0x3c5de4(0x11a),'JFeJF':'export_processing_start','mMCPI':_0x3c5de4(0x11e),'qEgCK':'Export\x20completed\x20successfully','zNgvS':_0x3c5de4(0xca)};try{await redisHelper[_0x3c5de4(0xfe)](_0x3177d5,{'status':_0x1503ac['aCWhZ'],'started_at':new Date()[_0x3c5de4(0xd0)]()}),logger['info']({'event':_0x1503ac[_0x3c5de4(0x142)],'jobId':_0x3177d5},'Export\x20processing\x20started');const _0x123a0a=await this['fetchData'](_0x7f1b32);await redisHelper[_0x3c5de4(0xfe)](_0x3177d5,{'total_rows':_0x123a0a['length']});const _0x253f88=await this['generateExcel'](_0x3177d5,_0x123a0a,_0x7f1b32);await redisHelper['updateJob'](_0x3177d5,{'status':_0x3c5de4(0xf1),'progress':0x64,'file_path':_0x253f88,'completed_at':new Date()['toISOString']()}),logger[_0x3c5de4(0x15c)]({'event':_0x1503ac[_0x3c5de4(0x10b)],'jobId':_0x3177d5,'rows':_0x123a0a['length']},_0x1503ac[_0x3c5de4(0x15f)]);}catch(_0x3a47e0){logError(_0x3a47e0,{'event':_0x3c5de4(0x135),'jobId':_0x3177d5},_0x1503ac['zNgvS']),await redisHelper[_0x3c5de4(0xfe)](_0x3177d5,{'status':'failed','error':_0x3a47e0[_0x3c5de4(0x117)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x261b2b){const _0x39c315=a0_0x473530,_0x46903a={'YwJyr':function(_0x194d6c,_0x593c12){return _0x194d6c===_0x593c12;},'cxrcw':'export_using_auto_query','XpwQW':function(_0x221cb4,_0x2c7ea9){return _0x221cb4>_0x2c7ea9;},'NiwmU':_0x39c315(0xff),'IKPjV':_0x39c315(0x127),'QboWp':function(_0x488eda,_0xa0afdc){return _0x488eda(_0xa0afdc);},'mdyYj':'oracle','hluwP':'export_fetch_complete','PWKFE':'export_fetch_error','YCzjE':_0x39c315(0x10d)};try{const {tableName:_0x54d448,columns:_0x4e71b7,exportQuery:_0x50d0c7,where:_0x4f6258,sort_columns:_0x421519}=_0x261b2b;if(!_0x54d448||!_0x4e71b7||_0x46903a[_0x39c315(0x130)](_0x4e71b7['length'],0x0))throw new Error(_0x39c315(0x143));const _0xa988b1=_0x54d448['replace'](/\./g,'_')+'_data';let _0x1c6792;if(_0x50d0c7&&_0x50d0c7['trim']()){let _0x52222a=_0x50d0c7;_0x50d0c7['trim']()[_0x39c315(0x109)]('file:')&&(_0x52222a=this[_0x39c315(0xd9)](_0x50d0c7)),_0x1c6792=_0x39c315(0x157)+_0xa988b1+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x52222a+'\x0a)',_0x1c6792+=_0x39c315(0x13a)+_0xa988b1,logger['info']({'event':'export_using_custom_query','query':_0x52222a['substring'](0x0,0x64)},_0x39c315(0xe9));}else{const _0x14337d=_0x4e71b7[_0x39c315(0x112)](_0x351f9f=>_0x39c315(0x14b)+_0x351f9f)['join'](',');_0x1c6792='WITH\x20'+_0xa988b1+_0x39c315(0xe4)+_0x14337d+'\x0a\x20\x20\x20\x20FROM\x20'+_0x54d448+'\x0a)',_0x1c6792+=_0x39c315(0x13a)+_0xa988b1,logger[_0x39c315(0x15c)]({'event':_0x46903a[_0x39c315(0xc7)],'tableName':_0x54d448,'columnCount':_0x4e71b7['length']},_0x39c315(0x108));}if(_0x4f6258){const _0x5612af=this[_0x39c315(0x12b)](_0x4f6258);_0x5612af&&(_0x1c6792+=_0x39c315(0x111)+_0x5612af);}if(_0x421519&&_0x46903a['XpwQW'](_0x421519[_0x39c315(0x114)],0x0)){const _0x11ff43=this['buildOrderByClause'](_0x421519);_0x11ff43&&(_0x1c6792+='\x0aORDER\x20BY\x20'+_0x11ff43);}logger['info']({'event':_0x46903a[_0x39c315(0x15b)],'query':_0x1c6792['substring'](0x0,0xc8)},_0x46903a['IKPjV']);const _0x54ceaa=await _0x46903a[_0x39c315(0x15d)](executeQuery,_0x1c6792);let _0x25f8b9=_0x54ceaa;return dbType===_0x46903a['mdyYj']&&_0x54ceaa&&_0x54ceaa['length']>0x0&&(_0x25f8b9=_0x54ceaa[_0x39c315(0x112)](_0x19052d=>{const _0x283dad=_0x39c315,_0x34112e={};for(const [_0x4f9786,_0x1f2086]of Object['entries'](_0x19052d)){_0x34112e[_0x4f9786[_0x283dad(0x110)]()]=_0x1f2086;}return _0x34112e;})),logger['info']({'event':_0x46903a[_0x39c315(0xe3)],'rows':_0x25f8b9[_0x39c315(0x114)]},_0x39c315(0x160)),_0x25f8b9;}catch(_0x49d6d0){logError(_0x49d6d0,{'event':_0x46903a['PWKFE']},_0x46903a['YCzjE']);throw _0x49d6d0;}}['sanitizeValue'](_0x419956){const _0x337dd9=a0_0x473530,_0x4a8198={'JiWig':'string'};if(typeof _0x419956===_0x4a8198['JiWig'])return _0x419956['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x419956))return _0x419956[_0x337dd9(0x112)](_0x60568=>this[_0x337dd9(0x116)](_0x60568));}return _0x419956;}['buildWhereClause'](_0x4963d8){const _0x2f649a=a0_0x473530,_0x43f713={'HbtQT':_0x2f649a(0xf7),'TJYTp':_0x2f649a(0x10c),'knfXV':function(_0x16f10a,_0x2bf2b4){return _0x16f10a===_0x2bf2b4;},'BUZtT':_0x2f649a(0x147),'tDrcr':function(_0x49ebba,_0xa72c0f){return _0x49ebba===_0xa72c0f;},'fSiLw':function(_0x3b0ae6,_0x1461d9){return _0x3b0ae6===_0x1461d9;},'KsGZi':_0x2f649a(0x121),'sVuyz':_0x2f649a(0x12c)};if(!_0x4963d8||!_0x4963d8['conditions']||_0x43f713[_0x2f649a(0x140)](_0x4963d8[_0x2f649a(0x13e)][_0x2f649a(0x114)],0x0))return'';const {logic:_0x23c4f3,conditions:_0x51c457}=_0x4963d8,_0x30bf8a=_0x23c4f3&&_0x43f713['fSiLw'](_0x23c4f3[_0x2f649a(0xef)](),'OR')?_0x43f713['KsGZi']:_0x43f713['sVuyz'],_0x23a3f9=_0x51c457['map'](_0x9402f5=>{const _0x16c85c=_0x2f649a,{key:_0x2eb332,operator:_0x474b22,value:_0x59560c,sensitive:_0xd987ae}=_0x9402f5;if(!_0x2eb332||!_0x474b22)return logger['warn']({'event':'invalid_condition','condition':_0x9402f5},_0x43f713['TJYTp']),null;const _0x2fdb73=this['sanitizeValue'](_0x59560c),_0xc5a639=_0xd987ae!==undefined?_0xd987ae:!![];let _0x3d6c6c=_0x2eb332,_0x55f52e=_0x2fdb73;!_0xc5a639&&(_0x3d6c6c='UPPER('+_0x2eb332+')',typeof _0x59560c===_0x43f713['HbtQT']&&(_0x55f52e=_0x59560c[_0x16c85c(0xef)]()));const _0x3a2e0a=_0x43f713['knfXV'](typeof _0x55f52e,_0x43f713[_0x16c85c(0x133)])?'\x27'+_0x55f52e['replace'](/'/g,'\x27\x27')+'\x27':_0x55f52e;switch(_0x474b22[_0x16c85c(0xef)]()){case'=':case'!=':case'<>':return _0x3d6c6c+'\x20'+_0x474b22+'\x20'+_0x3a2e0a;case'>':case'<':case'>=':case'<=':const _0x47bdc3=_0x43f713[_0x16c85c(0xd4)](typeof _0x2fdb73,'string')?'\x27'+_0x2fdb73['replace'](/'/g,'\x27\x27')+'\x27':_0x2fdb73;return _0x2eb332+'\x20'+_0x474b22+'\x20'+_0x47bdc3;case'LIKE':case _0x16c85c(0x11f):return _0x3d6c6c+'\x20'+_0x474b22+'\x20'+_0x3a2e0a;case'IN':if(Array['isArray'](_0x2fdb73)){let _0x49a79b;return!_0xc5a639?_0x49a79b=_0x2fdb73[_0x16c85c(0x112)](_0x5066ef=>{const _0x12da10=_0x16c85c,_0x53aaed=typeof _0x5066ef===_0x43f713['HbtQT']?_0x5066ef[_0x12da10(0xef)]():_0x5066ef;return typeof _0x53aaed==='string'?'\x27'+_0x53aaed[_0x12da10(0xfd)](/'/g,'\x27\x27')+'\x27':_0x53aaed;})[_0x16c85c(0x119)](',\x20'):_0x49a79b=_0x2fdb73[_0x16c85c(0x112)](_0xa5c0a7=>typeof _0xa5c0a7===_0x16c85c(0xf7)?'\x27'+_0xa5c0a7[_0x16c85c(0xfd)](/'/g,'\x27\x27')+'\x27':_0xa5c0a7)['join'](',\x20'),_0x3d6c6c+_0x16c85c(0x14f)+_0x49a79b+')';}return _0x3d6c6c+_0x16c85c(0x14f)+_0x3a2e0a+')';case _0x16c85c(0xcc):return _0x2eb332+'\x20IS\x20NULL';case _0x16c85c(0xdb):return _0x2eb332+_0x16c85c(0x10a);default:logger['warn']({'event':_0x43f713['BUZtT'],'operator':_0x474b22},_0x16c85c(0xe6));return _0x3d6c6c+_0x16c85c(0xce)+_0x3a2e0a;}})[_0x2f649a(0xd7)](_0x3b2333=>_0x3b2333!==null);if(_0x23a3f9[_0x2f649a(0x114)]===0x0)return'';return _0x23a3f9['join'](_0x30bf8a);}['buildOrderByClause'](_0x56da17){const _0x5b1a1d=a0_0x473530,_0xab8245={'GWVdc':function(_0x31efc8,_0x5605b4){return _0x31efc8===_0x5605b4;},'tLBiF':'DESC','LRoVD':function(_0xab1872,_0x517dc3){return _0xab1872===_0x517dc3;}};if(!_0x56da17||_0xab8245[_0x5b1a1d(0xf2)](_0x56da17['length'],0x0))return'';const _0x355e24=_0x56da17['map'](_0xddc254=>{const _0x30b00a=_0x5b1a1d,{column:_0x2ca52c,direction:_0x419602}=_0xddc254;if(!_0x2ca52c)return logger['warn']({'event':_0x30b00a(0xdd),'item':_0xddc254},_0x30b00a(0xe0)),null;const _0x26f493=_0x419602&&_0xab8245[_0x30b00a(0xc8)](_0x419602['toUpperCase'](),_0x30b00a(0x100))?_0xab8245[_0x30b00a(0x115)]:'ASC';return _0x2ca52c+'\x20'+_0x26f493;})['filter'](_0x15edfa=>_0x15edfa!==null);if(_0x355e24[_0x5b1a1d(0x114)]===0x0)return'';return _0x355e24[_0x5b1a1d(0x119)](',\x20');}async[a0_0x473530(0xc9)](_0x786cb7,_0x131e2e,_0x1e4c0d){const _0x815316=a0_0x473530,_0x326877={'qXhWQ':function(_0x4c0484,_0x4ae492){return _0x4c0484/_0x4ae492;},'fLRyT':'../utils/excel-generator','Iwvgk':function(_0x2bc845,_0x42fe8e){return _0x2bc845===_0x42fe8e;},'DdRYr':'all','jdiiN':function(_0x5e3e89,_0xcd4bd3){return _0x5e3e89>_0xcd4bd3;},'LoiyZ':_0x815316(0x102),'FgKcF':function(_0x3789ff,_0x4e2e6d){return _0x3789ff>_0x4e2e6d;},'lFPKy':'excel_columns_from_request','dzApc':_0x815316(0x148)},_0x494aaf=require(_0x326877[_0x815316(0x141)]),_0x11b34a=new _0x494aaf(),_0x398741=_0x1e4c0d[_0x815316(0x101)]?_0x1e4c0d[_0x815316(0x101)]+'-'+_0x786cb7:'export-'+_0x786cb7,_0x4b88ee=path['join'](this['exportDir'],_0x398741+_0x815316(0x124));let _0x41c55a=_0x1e4c0d['columns'];const _0x41dd77=_0x1e4c0d['exportQuery']&&_0x1e4c0d[_0x815316(0xd5)]['trim'](),_0x53daba=_0x41c55a&&_0x41c55a[_0x815316(0x114)]===0x1&&(_0x41c55a[0x0]==='*'||_0x326877['Iwvgk'](_0x41c55a[0x0][_0x815316(0x110)](),_0x326877['DdRYr']));if(_0x326877['jdiiN'](_0x131e2e[_0x815316(0x114)],0x0)){const _0xd1e45b=Object['keys'](_0x131e2e[0x0]);if(_0x41dd77)_0x41c55a=_0xd1e45b,logger[_0x815316(0x15c)]({'event':_0x815316(0x128),'columns':_0x41c55a},_0x815316(0x138)+_0x41c55a[_0x815316(0x114)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x53daba)_0x41c55a=_0xd1e45b,logger[_0x815316(0x15c)]({'event':_0x326877[_0x815316(0x158)],'columns':_0x41c55a},_0x815316(0x132)+_0x41c55a[_0x815316(0x114)]+_0x815316(0x104));else{if(_0x41c55a&&_0x326877['FgKcF'](_0x41c55a[_0x815316(0x114)],0x0)){const _0x45808c=_0x41c55a[_0x815316(0xd7)](_0xced113=>_0xd1e45b['includes'](_0xced113));_0x45808c['length']>0x0?(_0x41c55a=_0x45808c,logger[_0x815316(0x15c)]({'event':_0x326877['lFPKy'],'requestedColumns':_0x1e4c0d['columns'],'validColumns':_0x41c55a},_0x815316(0x138)+_0x41c55a['length']+_0x815316(0x11d))):(_0x41c55a=_0xd1e45b,logger['warn']({'event':'excel_columns_fallback','requestedColumns':_0x1e4c0d['columns'],'availableColumns':_0xd1e45b},_0x815316(0xd8)+_0xd1e45b[_0x815316(0x114)]+'\x20columns'));}else _0x41c55a=_0xd1e45b,logger['info']({'event':_0x326877[_0x815316(0x12d)],'columns':_0x41c55a},_0x815316(0x138)+_0x41c55a['length']+_0x815316(0x126));}}}else logger['info']({'event':'excel_columns_from_config','columns':_0x41c55a},_0x815316(0x138)+(_0x41c55a?.[_0x815316(0x114)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x11b34a['generate']({'data':_0x131e2e,'columns':_0x41c55a,'columnFormats':_0x1e4c0d[_0x815316(0xec)]||null,'fieldLabels':_0x1e4c0d[_0x815316(0x156)]||null,'filePath':_0x4b88ee,'onProgress':async _0x37981b=>{const _0x55aae7=_0x815316;await redisHelper['updateJob'](_0x786cb7,{'progress':Math[_0x55aae7(0x137)](_0x37981b),'processed_rows':Math['round'](_0x326877[_0x55aae7(0xf4)](_0x37981b,0x64)*_0x131e2e[_0x55aae7(0x114)])});}}),_0x4b88ee;}async[a0_0x473530(0x129)](_0x311117){const _0x18615e=a0_0x473530,_0x4768b9=await redisHelper[_0x18615e(0x131)](_0x311117);if(!_0x4768b9||_0x4768b9['status']!==_0x18615e(0xf1))return null;try{return await fs['access'](_0x4768b9['file_path']),_0x4768b9['file_path'];}catch(_0x1226f5){return logError(_0x1226f5,{'event':'export_file_not_found','jobId':_0x311117,'path':_0x4768b9['file_path']},_0x18615e(0x145)),null;}}async[a0_0x473530(0x144)](){const _0x3b7fbd=a0_0x473530,_0x5710aa={'VUZIB':function(_0x473263,_0x5c4dbc){return _0x473263*_0x5c4dbc;},'AlyuZ':function(_0x54264c,_0x292dab){return _0x54264c*_0x292dab;},'KkOze':'Export\x20file\x20deleted','EGrtY':_0x3b7fbd(0xed),'jICbN':'export_cleanup_complete','bHwDT':_0x3b7fbd(0xdc)};logger['info']({'event':'export_cleanup_start'},'Starting\x20export\x20cleanup');const _0x4bbb0a=await redisHelper[_0x3b7fbd(0x15a)]();let _0x2e8949=0x0;for(const _0xb93e7 of _0x4bbb0a){const _0x35e614=new Date(_0xb93e7['created_at']),_0x484ed9=new Date(),_0x3bce55=(_0x484ed9-_0x35e614)/_0x5710aa['VUZIB'](_0x5710aa[_0x3b7fbd(0x139)](0x3e8,0x3c),0x3c);if(_0x3bce55>0x1){if(_0xb93e7['file_path'])try{await fs[_0x3b7fbd(0x151)](_0xb93e7[_0x3b7fbd(0x10e)]),logger['info']({'event':_0x3b7fbd(0xd6),'path':_0xb93e7[_0x3b7fbd(0x10e)]},_0x5710aa[_0x3b7fbd(0x152)]);}catch(_0x2bb2de){logger[_0x3b7fbd(0x13b)]({'event':_0x3b7fbd(0x122),'path':_0xb93e7[_0x3b7fbd(0x10e)],'error':_0x2bb2de['message']},_0x5710aa['EGrtY']);}await redisHelper['deleteJob'](_0xb93e7['job_id']),_0x2e8949++;}}return logger[_0x3b7fbd(0x15c)]({'event':_0x5710aa[_0x3b7fbd(0x14e)],'deleted':_0x2e8949},_0x5710aa['bHwDT']),_0x2e8949;}}module[a0_0x473530(0xfa)]=new ExportService();
@@ -1 +1 @@
1
- const a0_0xe52136=a0_0x7f27;(function(_0x1bd982,_0x210724){const _0x5dc193=a0_0x7f27,_0x4693f5=_0x1bd982();while(!![]){try{const _0x6e8c85=-parseInt(_0x5dc193(0x211))/0x1*(-parseInt(_0x5dc193(0x1fe))/0x2)+-parseInt(_0x5dc193(0x1ef))/0x3+parseInt(_0x5dc193(0x20f))/0x4*(-parseInt(_0x5dc193(0x1dd))/0x5)+-parseInt(_0x5dc193(0x237))/0x6*(-parseInt(_0x5dc193(0x1ce))/0x7)+-parseInt(_0x5dc193(0x1ff))/0x8*(-parseInt(_0x5dc193(0x22d))/0x9)+parseInt(_0x5dc193(0x22f))/0xa+-parseInt(_0x5dc193(0x21b))/0xb*(parseInt(_0x5dc193(0x1d9))/0xc);if(_0x6e8c85===_0x210724)break;else _0x4693f5['push'](_0x4693f5['shift']());}catch(_0xca8c8){_0x4693f5['push'](_0x4693f5['shift']());}}}(a0_0x5c68,0xb31ea));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0xe52136(0x1dc)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0xe52136(0x24b)),dbType=(process['env'][a0_0xe52136(0x20a)]||'postgresql')[a0_0xe52136(0x265)]();function a0_0x7f27(_0x117ba1,_0x48c979){_0x117ba1=_0x117ba1-0x1c3;const _0x5c6886=a0_0x5c68();let _0x7f2767=_0x5c6886[_0x117ba1];if(a0_0x7f27['ifAhQL']===undefined){var _0x32deb5=function(_0x1fad55){const _0x5d5c57='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55cb6b='',_0xa84a0e='';for(let _0x582ee4=0x0,_0x45d181,_0x56d60f,_0x4f4b14=0x0;_0x56d60f=_0x1fad55['charAt'](_0x4f4b14++);~_0x56d60f&&(_0x45d181=_0x582ee4%0x4?_0x45d181*0x40+_0x56d60f:_0x56d60f,_0x582ee4++%0x4)?_0x55cb6b+=String['fromCharCode'](0xff&_0x45d181>>(-0x2*_0x582ee4&0x6)):0x0){_0x56d60f=_0x5d5c57['indexOf'](_0x56d60f);}for(let _0x32cc06=0x0,_0x40da07=_0x55cb6b['length'];_0x32cc06<_0x40da07;_0x32cc06++){_0xa84a0e+='%'+('00'+_0x55cb6b['charCodeAt'](_0x32cc06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa84a0e);};a0_0x7f27['nUGPjD']=_0x32deb5,a0_0x7f27['ckrhMX']={},a0_0x7f27['ifAhQL']=!![];}const _0x3da4af=_0x5c6886[0x0],_0x5c145c=_0x117ba1+_0x3da4af,_0x1b16bd=a0_0x7f27['ckrhMX'][_0x5c145c];return!_0x1b16bd?(_0x7f2767=a0_0x7f27['nUGPjD'](_0x7f2767),a0_0x7f27['ckrhMX'][_0x5c145c]=_0x7f2767):_0x7f2767=_0x1b16bd,_0x7f2767;}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0xe52136(0x231))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x284bb0,_0x2b9ce9)=>oracleDb['executeQuery'](_0x284bb0,_0x2b9ce9),executeTransaction=_0x7f45e2=>oracleDb[a0_0xe52136(0x269)](_0x7f45e2);else{if(dbType===a0_0xe52136(0x259)){const mysqlDb=require(a0_0xe52136(0x229));executeQuery=(_0x269b57,_0x20a257)=>mysqlDb['executeQuery'](_0x269b57,_0x20a257),executeTransaction=_0x2fca49=>mysqlDb['executeTransaction'](_0x2fca49);}else{const db=require('../utils/db');executeQuery=db[a0_0xe52136(0x1e3)],executeTransaction=db[a0_0xe52136(0x269)];}}const excelParser=require('../utils/excel-parser'),importValidator=require('../utils/import-validator'),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0xe52136(0x228));function a0_0x5c68(){const _0x405e91=['Dhfft2y','igf0ihjVDYa','z2v0rNvSBfLLyxi','Aw5Zzxj0x29UBhK','twDVwLK','Dg9ju09tDhjPBMC','zKfjqMq','qxj2Bgq','x2v4Axn0Aw5Nswq','zMLSDgvY','CMvWBgfJzq','Dhj1zq','y29SDw1UrM9YBwf0CW','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','zMLUza','ndK2m2Lfq1DMwG','rgrJDKO','cIaGicaGicaGv0HfuKuG','Aw5MBW','B1PNyKi','zwXHsNi','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','su5trvju','C2XPy2u','sLnqBvm','AM9Ix2LK','mtq0vNLzqvvL','zxjYB3jZ','qvbHCgK','ChjVBwLZzxm','mZy1s2ntAxLk','Dg9vChbLCKnHC2u','AgvHzgvYC19TyxbWzwq','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','B0X5qNa','zxHWB3j0CW','zxHLy3v0zvf1zxj5','zgvIDwC','BwLZC2LUz0zPzwXKCW','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','u0Tjua','z2vUzxjHDgvjza','CgfKu3rHCNq','BgvUz3rO','DxbSB2fKoG','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','y29SDw1U','C2v0sM9I','ndGXnZm3uwnLBfzZ','vMLxyvG','zM9YrwfJAa','rfPqqNC','yxbWBhLdB2X1Bw5gB3jTyxrZ','C3rHDhvZ','sMTWweW','y29TBwL0x2PVyL9JB21WBgv0zwq','AM9PBG','A1HhrfG','y291BNq','DxbKyxrLx2v4Axn0Aw5N','y2H1BMTsB3DZ','ieLoicG','CNHcC0C','mNDpAM1RDG','mtiXnZzisuLorKi','tLvmta','y29TBwL0x3bYB2nLC3nFzxjYB3i','DK5YwwS','twvyB0G','wxnOuNm','ChjVy2vZC0nVBw1PDePVyG','zwTvAu4','Aw5Zzxj0','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','x2fJDgLVBG','rejFvfLqrq','qMfXqLy','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','ndC5ntzzq0f6C0C','y2f0y2G','ntiZntK4A2jfq1Hl','BNvTyMvY','A3PeA0e','BNPJAwe','AgfZ','DhjPBq','yNvPBgrcyxrJAfvWzgf0zq','Cgf0Aa','zMfPBgvK','lI4VlI4VDgvTCc91CgXVywrZlW','ndC4odC0zwzUB2Dq','rhLkBwC','CevtD1i','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','ChjLDMLLD19LCNjVCG','sg5vBeG','yNvPBgrmywjLBfrVrMLLBgrnyxa','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','zMXVB3i','CM93sw5KzxG','DhLWzq','u0Dju0u','zw52','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','lI4VDxrPBhmVzgiTBxLZCwW','Ahrbwve','C2TPCf9LEgLZDgLUzW','ChvZAa','mtq4nuTzwwPNAG','C3rYAw5N','mtm5mdiXotbMz2PLEM8','zw50CMLLCW','B3jHy2XL','Dw5SAw5R','yM9VBgvHBG','DLrbr3O','z2v0sM9I','wu5VrfC','mta3ngvTCMzVCq','zgf0zq','AM9IoG','ChjVy2vZC1bYzxzPzxDkB2i','ChjVy2vZC2LUzW','BM93','vvbeqvrf','x2DLBMvYyxrLzf91DwLK','cIaGicaGicaGu0vmrunuia','rhHwquu','y2HHCKf0','C2v0','AKDmwwu','uxD2B3u','DgvZDa','CM93CW','Aw5JBhvKzxm','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','DxbSB2fKx2LK','tLPRqMq','lI4VDxrPBhmVBg9Nz2vY','q29TBwL0igPVyIbJB21WBgv0zwq','BwfW','y29TCgXLDgvK','uhjLDMLLDYbQB2iGzMfPBgvK','BuDvvNe','C3vIC3rYAw5N','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','tKLHwgS','DMfSAwrHDgLUzW','ChjLDMLLD19VAW','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','sLfAq2C','z0PcyKW','BxLZCwW','Dg9tDhjPBMC','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','uhjLDMLLDYbQB2iGy3jLyxrLza','uvHfrwK','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','kqOGicaGica','s2T2Ehy','vMnArw4','uhjLDMLLDYbQB2iGy29TCgXLDgvK','AuDNEKi','shHSDem','Dg9mB3DLCKnHC2u','wLL2zwi','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','zxHLy3v0zvrYyw5Zywn0Aw9U','ve5qsMW','BwvZC2fNzq','uK1nwKm','zMLLBgrmywjLBhm','zMfSC2u','zMLSzv9JBgvHBNvWx2vYCM9Y','Bwf0y2G','x2vYCM9YCW','A2v5CW'];a0_0x5c68=function(){return _0x405e91;};return a0_0x5c68();}class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x1b8275=a0_0xe52136,_0x161e1b={'htAYQ':'default'};if(!this['_uploadDir']){const _0x451b61=process[_0x1b8275(0x227)]['RESTFORGE_PROJECT_NAME']||_0x161e1b[_0x1b8275(0x22a)];this['_uploadDir']=process[_0x1b8275(0x227)]['UPLOAD_DIR']||path[_0x1b8275(0x1f7)](__dirname,_0x1b8275(0x21a)+_0x451b61);}return this['_uploadDir'];}[a0_0xe52136(0x1e8)](){const _0xe2918a=a0_0xe52136,_0x3b9e17={'NZkBd':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','qQcvr':function(_0x27e35e){return _0x27e35e();},'SeitB':function(_0x58d048,_0x3bbe83){return _0x58d048+_0x3bbe83;},'wUMBM':function(_0x59aedc,_0x50f655){return _0x59aedc<_0x50f655;}},_0x110d0a=_0x3b9e17[_0xe2918a(0x24a)],_0x334321=Date[_0xe2918a(0x23c)]()[_0xe2918a(0x25a)](0x24),_0x6da2ee=_0x3b9e17['qQcvr'](uuidv7)['replace'](/-/g,'')[_0xe2918a(0x251)](0x0,0xc-_0x334321['length']),_0x48c313=_0x3b9e17['SeitB'](_0x334321,_0x6da2ee)[_0xe2918a(0x251)](0x0,0xc);let _0x25dde1='';for(let _0x674dc2=0x0;_0x3b9e17['wUMBM'](_0x674dc2,0xc);_0x674dc2++){_0x48c313[_0x674dc2]?_0x25dde1+=_0x48c313[_0x674dc2]:_0x25dde1+=_0x110d0a[_0xe2918a(0x241)](Math[_0xe2918a(0x223)](Math['random']()*_0x110d0a[_0xe2918a(0x1ea)]));}return _0x25dde1;}[a0_0xe52136(0x221)](_0x3ffd44){const _0x30affb=a0_0xe52136,_0x408832={'YshRs':function(_0x37551c,_0x3a9410){return _0x37551c(_0x3a9410);},'PpiDD':_0x30affb(0x1ec)},_0x3537ee=new Map();if(!_0x3ffd44)return _0x3537ee;return Object[_0x30affb(0x230)](_0x3ffd44)[_0x30affb(0x1f1)](([_0x529395,_0x1764af])=>{const _0x25dd6a=_0x30affb,_0x56abbd=_0x408832[_0x25dd6a(0x204)](String,_0x1764af)[_0x25dd6a(0x216)]()[_0x25dd6a(0x1c9)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')[_0x25dd6a(0x265)]();_0x3537ee[_0x25dd6a(0x242)](_0x56abbd,_0x529395);}),logger[_0x30affb(0x1e4)]({'event':_0x30affb(0x1d4),'mappingCount':_0x3537ee['size']},_0x408832['PpiDD']),_0x3537ee;}['applyColumnFormats'](_0x15992e,_0x347cf5){const _0x2bd6dc=a0_0xe52136,_0x341872={'RMMZC':function(_0x31c65d,_0x542e76){return _0x31c65d===_0x542e76;},'kXGDX':_0x2bd6dc(0x233)};if(!_0x347cf5||Object['keys'](_0x347cf5)['length']===0x0)return _0x15992e;return _0x15992e['map'](_0x573db0=>{const _0x2fecc6=_0x2bd6dc,_0x53caf9={..._0x573db0};for(const [_0x57bca7,_0x4c842b]of Object[_0x2fecc6(0x230)](_0x347cf5)){const _0x3823fa=_0x53caf9[_0x57bca7];if(_0x3823fa===null||_0x3823fa===undefined||_0x341872[_0x2fecc6(0x26c)](_0x3823fa,'')){_0x53caf9[_0x57bca7]=null;continue;}switch(_0x4c842b[_0x2fecc6(0x225)]){case _0x2fecc6(0x238):_0x53caf9[_0x57bca7]=this['formatDateForDatabase'](_0x3823fa);break;case _0x2fecc6(0x212):_0x53caf9[_0x57bca7]=this[_0x2fecc6(0x25b)](_0x3823fa);break;case _0x341872[_0x2fecc6(0x1f8)]:_0x53caf9[_0x57bca7]=this[_0x2fecc6(0x252)](_0x3823fa);break;case'text':_0x53caf9[_0x57bca7]=String(_0x3823fa);break;default:break;}}return _0x53caf9;});}[a0_0xe52136(0x208)](_0x5ac0a0){const _0x4ecbed=a0_0xe52136,_0x44d065={'gEKqO':function(_0x45a141,_0x208d86){return _0x45a141===_0x208d86;},'fAIBd':function(_0x4a615b,_0x4896ff){return _0x4a615b===_0x4896ff;},'MgoZY':'string','bzZSk':function(_0x2d584b,_0x298b55){return _0x2d584b instanceof _0x298b55;},'Arvld':function(_0x394cbb,_0x5a2a9f){return _0x394cbb(_0x5a2a9f);},'vNrYk':function(_0x26fe97,_0x3966ab){return _0x26fe97(_0x3966ab);},'CzWjz':function(_0x136cdc,_0x192578){return _0x136cdc(_0x192578);}};if(_0x44d065['gEKqO'](_0x5ac0a0,null)||_0x44d065[_0x4ecbed(0x1c5)](_0x5ac0a0,undefined)||_0x5ac0a0==='')return null;if(typeof _0x5ac0a0===_0x44d065[_0x4ecbed(0x1c3)]&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x5ac0a0))return _0x5ac0a0;if(_0x44d065['bzZSk'](_0x5ac0a0,Date)){if(isNaN(_0x5ac0a0['getTime']()))return null;const _0x1170c9=_0x5ac0a0[_0x4ecbed(0x275)](),_0x1dc03f=_0x44d065['Arvld'](String,_0x5ac0a0['getMonth']()+0x1)[_0x4ecbed(0x1e9)](0x2,'0'),_0x1e9155=String(_0x5ac0a0['getDate']())['padStart'](0x2,'0');return _0x1170c9+'-'+_0x1dc03f+'-'+_0x1e9155;}if(typeof _0x5ac0a0===_0x44d065[_0x4ecbed(0x1c3)]){const _0x7df6c0=_0x5ac0a0[_0x4ecbed(0x270)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x7df6c0){const _0x1286cd=_0x44d065[_0x4ecbed(0x202)](String,_0x7df6c0[0x1])['padStart'](0x2,'0'),_0x5e7148=_0x44d065[_0x4ecbed(0x1c6)](String,_0x7df6c0[0x2])['padStart'](0x2,'0'),_0x516c76=_0x7df6c0[0x3];return _0x516c76+'-'+_0x5e7148+'-'+_0x1286cd;}const _0x4f1716=_0x5ac0a0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x4f1716){const _0xfc37f2=_0x4f1716[0x1],_0x172f78=String(_0x4f1716[0x2])[_0x4ecbed(0x1e9)](0x2,'0'),_0x1fdc2b=_0x44d065['CzWjz'](String,_0x4f1716[0x3])[_0x4ecbed(0x1e9)](0x2,'0');return _0xfc37f2+'-'+_0x172f78+'-'+_0x1fdc2b;}}return _0x5ac0a0;}[a0_0xe52136(0x25b)](_0x394251){const _0x174010=a0_0xe52136,_0x1ffd70={'joRpJ':function(_0x259491,_0x539914){return _0x259491===_0x539914;},'aJSJJ':function(_0x4647eb,_0x5e2689){return _0x4647eb===_0x5e2689;},'upJDQ':function(_0x423098,_0x498ec8){return _0x423098===_0x498ec8;},'jMErr':function(_0x542ace,_0x1aa424){return _0x542ace(_0x1aa424);}};if(_0x1ffd70['joRpJ'](_0x394251,null)||_0x394251===undefined||_0x394251==='')return null;if(_0x1ffd70['aJSJJ'](typeof _0x394251,_0x174010(0x212)))return isNaN(_0x394251)?null:_0x394251;if(_0x1ffd70['upJDQ'](typeof _0x394251,_0x174010(0x22e))){let _0x492b0f=_0x394251[_0x174010(0x216)]();const _0x49f578=/,\d{1,2}$/[_0x174010(0x245)](_0x492b0f)&&!/,\d{3}/[_0x174010(0x245)](_0x492b0f);_0x49f578?_0x492b0f=_0x492b0f['replace'](/\./g,'')[_0x174010(0x1c9)](',','.'):_0x492b0f=_0x492b0f['replace'](/,/g,'');const _0x5a683b=_0x1ffd70['jMErr'](parseFloat,_0x492b0f);return isNaN(_0x5a683b)?null:_0x5a683b;}return null;}[a0_0xe52136(0x252)](_0x5e9f6f){const _0xf84294=a0_0xe52136,_0x438a59={'JkpXL':function(_0x5e4dc5,_0x4e1d88){return _0x5e4dc5===_0x4e1d88;},'RbvYD':'true','rxBsG':'false','ekUiN':function(_0x5958ed,_0x4293ba){return _0x5958ed===_0x4293ba;},'Kkvxv':'yes','fdefX':function(_0x22c707,_0x5f1adf){return _0x22c707===_0x5f1adf;}};if(_0x5e9f6f===null||_0x438a59[_0xf84294(0x1f5)](_0x5e9f6f,undefined)||_0x438a59[_0xf84294(0x1f5)](_0x5e9f6f,''))return null;if(typeof _0x5e9f6f===_0xf84294(0x233))return _0x5e9f6f?_0x438a59['RbvYD']:_0x438a59[_0xf84294(0x1fd)];if(_0x438a59[_0xf84294(0x206)](typeof _0x5e9f6f,'string')){const _0x34e80b=_0x5e9f6f['trim']()[_0xf84294(0x265)]();if([_0x438a59['RbvYD'],_0x438a59[_0xf84294(0x260)],'y','1'][_0xf84294(0x247)](_0x34e80b))return _0x438a59['RbvYD'];if([_0x438a59['rxBsG'],'no','n','0'][_0xf84294(0x247)](_0x34e80b))return _0x438a59['rxBsG'];return null;}if(_0x438a59['fdefX'](typeof _0x5e9f6f,'number'))return _0x5e9f6f?_0xf84294(0x1ca):_0xf84294(0x26e);return null;}async['uploadFile'](_0x365c27,_0x350e9f){const _0x251e51=a0_0xe52136,_0xde4986={'JSPmS':function(_0x16d06b,_0x18f928){return _0x16d06b||_0x18f928;},'tqEOf':_0x251e51(0x21e),'KtobM':_0x251e51(0x20c),'DZPBw':'request_scope_applied','FIvXG':'import_file_uploaded','JLagK':_0x251e51(0x1cc),'HxltC':_0x251e51(0x26f),'NIaXk':'Failed\x20to\x20cleanup\x20file'},_0x1300ab=this[_0x251e51(0x1e8)]();try{let {headers:_0x46c2f8,rows:_0x4f782b,totalRows:_0x563c3c}=await excelParser['parseExcelFile'](_0x365c27[_0x251e51(0x218)]);const _0x48fcf4=this[_0x251e51(0x221)](_0x350e9f[_0x251e51(0x26d)]),_0x26cd09=_0x46c2f8['map'](_0x5da347=>{const _0xdad645=_0x251e51,_0x441605=_0x48fcf4['get'](_0x5da347);return _0xde4986[_0xdad645(0x1d7)](_0x441605,_0x5da347);});_0x4f782b=_0x4f782b['map'](_0x3a89df=>{const _0x16b8b6={};return _0x46c2f8['forEach']((_0x38dbe0,_0x52aaa5)=>{const _0x3aead7=_0x26cd09[_0x52aaa5];_0x16b8b6[_0x3aead7]=_0x3a89df[_0x38dbe0];}),_0x16b8b6;}),_0x46c2f8=_0x26cd09,logger[_0x251e51(0x1e4)]({'event':_0x251e51(0x1df),'original':_0x46c2f8[_0x251e51(0x1ea)],'mapped':_0x26cd09['filter']((_0x27a40b,_0x3a3fc8)=>_0x27a40b!==_0x46c2f8[_0x3a3fc8])[_0x251e51(0x1ea)]},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x350e9f['columnFormats']&&Object['keys'](_0x350e9f[_0x251e51(0x1cb)])['length']>0x0&&(_0x4f782b=this[_0x251e51(0x1f3)](_0x4f782b,_0x350e9f['columnFormats']),logger[_0x251e51(0x1e4)]({'event':_0xde4986[_0x251e51(0x273)],'formatCount':Object[_0x251e51(0x272)](_0x350e9f['columnFormats'])[_0x251e51(0x1ea)],'formats':Object['keys'](_0x350e9f['columnFormats'])},_0xde4986['KtobM']));if(_0x350e9f['scopeOverride']&&_0x350e9f['scopeOverride'][_0x251e51(0x1ed)]){const {column:_0x18a3e8,value:_0x22acd4}=_0x350e9f['scopeOverride'];_0x4f782b=_0x4f782b['map'](_0x3ae93c=>({..._0x3ae93c,[_0x18a3e8]:_0x22acd4})),logger['debug']({'event':_0xde4986[_0x251e51(0x1f2)],'column':_0x18a3e8,'rowCount':_0x4f782b[_0x251e51(0x1ea)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5277dc=_0x350e9f['lookupFields']?Object['values'](_0x350e9f['lookupFields'])['map'](_0x38340a=>_0x38340a['targetField']):[],_0x3e4829=_0x350e9f['fieldName'][_0x251e51(0x1c8)](_0x672abd=>!_0x5277dc['includes'](_0x672abd)),_0x292879=excelParser[_0x251e51(0x1e6)](_0x46c2f8,_0x3e4829);if(!_0x292879['valid']){await fs[_0x251e51(0x232)](_0x365c27[_0x251e51(0x218)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x292879[_0x251e51(0x1e5)]['join'](',\x20'));}const _0x55196e={'upload_id':_0x1300ab,'filename':_0x365c27['originalname'],'total_rows':_0x563c3c,'headers':_0x46c2f8,'rows':_0x4f782b,'params':_0x350e9f,'created_at':new Date()[_0x251e51(0x1c4)]()};return await redisHelper[_0x251e51(0x1ee)](_0x251e51(0x1eb)+_0x1300ab,_0x55196e,0xe10),await fs['unlink'](_0x365c27['path']),logger[_0x251e51(0x1d1)]({'event':_0xde4986['FIvXG'],'uploadId':_0x1300ab,'filename':_0x365c27['originalname'],'totalRows':_0x563c3c},_0xde4986['JLagK']),{'upload_id':_0x1300ab,'total_rows':_0x563c3c,'preview':_0x4f782b[_0x251e51(0x1d6)](0x0,0xa)};}catch(_0x5b6850){try{await fs['unlink'](_0x365c27['path']);}catch(_0x1e39bf){logError(_0x1e39bf,{'event':_0xde4986[_0x251e51(0x264)]},_0xde4986[_0x251e51(0x253)]);}throw _0x5b6850;}}async['createPreviewJob'](_0x358359){const _0x1d74d8=a0_0xe52136,_0x42a34c={'nzcia':function(_0x1020ae,_0x4464af,_0x1536a7,_0x154ebc){return _0x1020ae(_0x4464af,_0x1536a7,_0x154ebc);},'Ctmkl':_0x1d74d8(0x20e),'EbMJH':'Upload\x20data\x20not\x20found\x20or\x20expired','weJSQ':'preview_job_created'},_0xf7a6ac=this['generateId'](),_0x42e4fe=await redisHelper[_0x1d74d8(0x235)]('upload:'+_0x358359);if(!_0x42e4fe)throw new Error(_0x42a34c['EbMJH']);const _0x16b92e={'job_id':_0xf7a6ac,'upload_id':_0x358359,'status':_0x1d74d8(0x254),'progress':0x0,'created_at':new Date()[_0x1d74d8(0x1c4)](),'params':_0x42e4fe['params']};return await redisHelper['setJob'](_0x1d74d8(0x239)+_0xf7a6ac,_0x16b92e,0xe10),logger['info']({'event':_0x42a34c['weJSQ'],'jobId':_0xf7a6ac,'uploadId':_0x358359},_0x1d74d8(0x25c)),this[_0x1d74d8(0x23a)](_0xf7a6ac,_0x358359,_0x42e4fe)[_0x1d74d8(0x210)](_0x550454=>{const _0x3afd0c=_0x1d74d8;_0x42a34c[_0x3afd0c(0x214)](logError,_0x550454,{'event':_0x42a34c['Ctmkl'],'jobId':_0xf7a6ac},_0x3afd0c(0x267));}),{'job_id':_0xf7a6ac,'status':'validating'};}[a0_0xe52136(0x222)](_0x5b89d7,_0x48ed3f){const _0x286bd1={'YNoDW':function(_0x29f3e6,_0xc4bf2){return _0x29f3e6===_0xc4bf2;},'APapi':function(_0x32096c){return _0x32096c();},'rvJEc':'uuid_auto_generated'};_0x5b89d7['forEach']((_0x256393,_0x5c9fe2)=>{const _0x1f22c2=a0_0x7f27;_0x48ed3f[_0x1f22c2(0x1f1)](_0x2ee605=>{const _0x471c9b=_0x1f22c2,_0x595251=_0x256393[_0x2ee605];if(_0x595251===null||_0x286bd1[_0x471c9b(0x236)](_0x595251,undefined)||_0x286bd1[_0x471c9b(0x236)](_0x595251,'')||_0x286bd1['YNoDW'](String(_0x595251)[_0x471c9b(0x216)](),'-')){const _0x1ca72b=_0x286bd1[_0x471c9b(0x1db)](uuidv7);_0x256393[_0x2ee605]=_0x1ca72b,_0x256393['_generated_uuid']=_0x256393[_0x471c9b(0x23e)]||{},_0x256393['_generated_uuid'][_0x2ee605]=_0x1ca72b,logger[_0x471c9b(0x1e4)]({'event':_0x286bd1['rvJEc'],'rowIndex':_0x5c9fe2,'field':_0x2ee605,'uuid':_0x1ca72b},'Auto-generated\x20UUID\x20for\x20'+_0x2ee605+_0x471c9b(0x274)+(_0x5c9fe2+0x2));}});});}async['processPreviewJob'](_0x3d4909,_0x199ca7,_0x28194){const _0x55c1f6=a0_0xe52136,_0x500451={'DdcvJ':function(_0x1d3efb,_0x5b433e){return _0x1d3efb===_0x5b433e;},'OLafy':function(_0x2a65a4,_0x554ec7){return _0x2a65a4===_0x554ec7;},'vBGeZ':'UPDATE','gJBbL':function(_0x25e208,_0x2bc773){return _0x25e208===_0x2bc773;},'elaJr':'SKIP','ViWaX':function(_0x17bc2b,_0x1e0251){return _0x17bc2b>_0x1e0251;},'pESwR':'Processing\x20lookup\x20fields','DPDsM':function(_0x431d4f,_0x5bc895){return _0x431d4f>_0x5bc895;},'DxVAE':_0x55c1f6(0x21f),'mGUVq':_0x55c1f6(0x255),'emgYa':_0x55c1f6(0x262),'JQZCg':function(_0x1c8efd,_0x42594c,_0x4f6ed2,_0x1b3fb6){return _0x1c8efd(_0x42594c,_0x4f6ed2,_0x1b3fb6);},'DyJmg':_0x55c1f6(0x24f)};try{let {rows:_0x35675e,params:_0x41a33f}=_0x28194;const {requiredFields:_0x5b5b9f,validations:_0x2ba49b,upsertKeys:_0x24eaef,tableName:_0xb71655,primaryKey:_0x1f1c9d,fieldName:_0x3656fd,upsertStrategy:_0xfa40b4,lookupFields:_0x433ee3}=_0x41a33f;this[_0x55c1f6(0x222)](_0x35675e,_0x24eaef);let _0x2b8736=[];if(_0x433ee3&&_0x500451[_0x55c1f6(0x1f0)](Object[_0x55c1f6(0x272)](_0x433ee3)[_0x55c1f6(0x1ea)],0x0)){logger[_0x55c1f6(0x1d1)]({'event':_0x55c1f6(0x1e0),'jobId':_0x3d4909,'lookupFieldCount':Object[_0x55c1f6(0x272)](_0x433ee3)[_0x55c1f6(0x1ea)]},_0x500451[_0x55c1f6(0x21d)]);const _0x5c101a=await lookupResolver['processLookupFields'](_0x35675e,_0x433ee3);_0x35675e=_0x5c101a['processedRows'],_0x2b8736=_0x5c101a[_0x55c1f6(0x1da)],_0x28194[_0x55c1f6(0x246)]=_0x35675e;}const _0x2fb677=importValidator['batchValidateRows'](_0x35675e,_0x5b5b9f||[],_0x2ba49b||{});_0x2b8736[_0x55c1f6(0x1f1)](_0x51bf48=>{const _0x598d29=_0x55c1f6,_0x199c17=_0x2fb677[_0x598d29(0x1cd)](_0xbedc77=>_0xbedc77['rowIndex']===_0x51bf48['rowIndex']);_0x199c17?_0x199c17[_0x598d29(0x1da)][_0x598d29(0x22c)](_0x51bf48['message']):_0x2fb677[_0x598d29(0x22c)]({'rowIndex':_0x51bf48[_0x598d29(0x224)],'rowData':_0x35675e[_0x51bf48['rowIndex']],'errors':[_0x51bf48[_0x598d29(0x26b)]]});});const _0x586fbb=importValidator[_0x55c1f6(0x25e)](_0x35675e,_0x24eaef);_0x586fbb['forEach'](_0x22b8a3=>{const _0x3b6c8e=_0x55c1f6,_0x7bf00c=_0x2fb677['find'](_0x5afa69=>_0x5afa69['rowIndex']===_0x22b8a3[_0x3b6c8e(0x224)]),_0x1c7524=_0x24eaef[_0x3b6c8e(0x24d)](_0x1a5f95=>_0x1a5f95[_0x3b6c8e(0x1de)]())[_0x3b6c8e(0x1f7)](',\x20'),_0x28891b='Duplicate\x20value\x20for\x20'+_0x1c7524;_0x7bf00c?_0x7bf00c['errors'][_0x3b6c8e(0x22c)](_0x28891b):_0x2fb677[_0x3b6c8e(0x22c)]({'rowIndex':_0x22b8a3[_0x3b6c8e(0x224)],'rowData':_0x35675e[_0x22b8a3['rowIndex']],'errors':[_0x28891b]});}),await this[_0x55c1f6(0x268)](_0x35675e,_0x24eaef,_0xb71655,_0x1f1c9d,_0xfa40b4,_0x2fb677),_0x2fb677['forEach'](_0x3057a9=>{const _0x23b90d=_0x55c1f6,_0x45f32e=_0x35675e[_0x3057a9[_0x23b90d(0x224)]];_0x45f32e&&(_0x45f32e[_0x23b90d(0x271)]=_0x3057a9['errors']);});let _0x261fef=0x0,_0x166e08=0x0,_0x47699e=0x0;_0x35675e[_0x55c1f6(0x1f1)](_0x4e715e=>{const _0x961445=_0x55c1f6;if(_0x500451[_0x961445(0x1cf)](_0x4e715e['_action'],'INSERT'))_0x261fef++;else{if(_0x500451['OLafy'](_0x4e715e[_0x961445(0x209)],_0x500451['vBGeZ']))_0x166e08++;else _0x500451[_0x961445(0x258)](_0x4e715e[_0x961445(0x209)],_0x500451[_0x961445(0x1d3)])&&_0x47699e++;}});const _0x1b8e93={'job_id':_0x3d4909,'upload_id':_0x199ca7,'status':_0x500451['DPDsM'](_0x2fb677['length'],0x0)?_0x500451[_0x55c1f6(0x240)]:_0x500451[_0x55c1f6(0x250)],'progress':0x64,'created_at':_0x28194['created_at'],'completed_at':new Date()[_0x55c1f6(0x1c4)](),'preview':{'total_rows':_0x35675e['length'],'insert_count':_0x261fef,'update_count':_0x166e08,'skip_count':_0x47699e,'error_count':_0x2fb677[_0x55c1f6(0x1ea)],'errors':_0x2fb677,'data':_0x35675e,'sample_insert':_0x35675e['filter'](_0x443010=>_0x443010[_0x55c1f6(0x209)]===_0x55c1f6(0x1d5))['slice'](0x0,0x5),'sample_update':_0x35675e[_0x55c1f6(0x1c8)](_0x3cc180=>_0x3cc180[_0x55c1f6(0x209)]===_0x55c1f6(0x23d))['slice'](0x0,0x5),'sample_skip':_0x35675e['filter'](_0x3b98a9=>_0x3b98a9[_0x55c1f6(0x209)]===_0x55c1f6(0x1e7))['slice'](0x0,0x5)},'params':_0x41a33f};await redisHelper[_0x55c1f6(0x1ee)]('job:'+_0x3d4909,_0x1b8e93,0xe10),_0x28194['rows']=_0x35675e,await redisHelper['setJob'](_0x55c1f6(0x1eb)+_0x199ca7,_0x28194,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x3d4909,'status':_0x1b8e93[_0x55c1f6(0x1f4)],'insertCount':_0x261fef,'updateCount':_0x166e08,'skipCount':_0x47699e,'errorCount':_0x2fb677['length']},_0x500451['emgYa']);}catch(_0x1f1ecb){_0x500451[_0x55c1f6(0x257)](logError,_0x1f1ecb,{'event':'preview_job_failed','jobId':_0x3d4909},_0x500451[_0x55c1f6(0x21c)]),await redisHelper[_0x55c1f6(0x1ee)](_0x55c1f6(0x239)+_0x3d4909,{'job_id':_0x3d4909,'upload_id':_0x199ca7,'status':_0x55c1f6(0x219),'progress':0x0,'error':_0x1f1ecb[_0x55c1f6(0x26b)],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x55c1f6(0x1c4)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x4f1513,_0x23c6c8,_0x3d5ffa,_0x162875,_0x4f68da=a0_0xe52136(0x1fa),_0x445201=[]){const _0x4e6343=a0_0xe52136,_0x486df0={'BaqBV':_0x4e6343(0x200),'qZOGv':function(_0x270715,_0x259bf4){return _0x270715===_0x259bf4;},'rFsIB':_0x4e6343(0x1fa),'oZgbB':_0x4e6343(0x276),'oLyBp':function(_0x2289e2,_0xf74c38){return _0x2289e2===_0xf74c38;},'VcZEn':_0x4e6343(0x22b),'aWcnc':'SKIP','KOsTY':function(_0x1d9431,_0x51c7a1){return _0x1d9431===_0x51c7a1;},'TNPJl':function(_0x1e1a72,_0x6f7d3c){return _0x1e1a72(_0x6f7d3c);},'klBUd':function(_0x31f1f0,_0x37b5e5){return _0x31f1f0>_0x37b5e5;}},_0x39e3d4=upsertBuilder[_0x4e6343(0x1fb)](_0x4f1513,0x64);for(const _0x303a1f of _0x39e3d4){const _0x515414=_0x303a1f['map'](_0x1c1628=>_0x1c1628[_0x23c6c8[0x0]]),_0x33f7d5=_0x515414['map'](_0x122302=>{const _0x11e66c=_0x4e6343;if(_0x122302===null||_0x122302===undefined)return _0x486df0[_0x11e66c(0x20b)];return'\x27'+String(_0x122302)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x260350=_0x4e6343(0x23f)+_0x162875+',\x20'+_0x23c6c8['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x3d5ffa+_0x4e6343(0x1d0)+_0x23c6c8[0x0]+_0x4e6343(0x1fc)+_0x33f7d5[_0x4e6343(0x1f7)](',\x20')+_0x4e6343(0x25f);let _0x312cde=await _0x486df0[_0x4e6343(0x26a)](executeQuery,_0x260350);dbType===_0x4e6343(0x231)&&_0x312cde&&_0x486df0['klBUd'](_0x312cde['length'],0x0)&&(_0x312cde=_0x312cde[_0x4e6343(0x24d)](_0x4b2d9c=>{const _0x28bc37=_0x4e6343,_0x459adb={};for(const [_0x19b455,_0x4d45f9]of Object[_0x28bc37(0x230)](_0x4b2d9c)){_0x459adb[_0x19b455['toLowerCase']()]=_0x4d45f9;}return _0x459adb;}));const _0x4b9e7a=new Map();_0x312cde['forEach'](_0x59d6f6=>{const _0x1675c9=_0x4e6343,_0x1d44fc=_0x59d6f6[_0x23c6c8[0x0]];_0x4b9e7a[_0x1675c9(0x242)](_0x1d44fc,_0x59d6f6);}),_0x303a1f[_0x4e6343(0x1f1)]((_0x5a1c71,_0x3440fa)=>{const _0x21b9b2=_0x4e6343,_0x4eecac=_0x5a1c71[_0x23c6c8[0x0]],_0x10b703=_0x4b9e7a['get'](_0x4eecac);if(_0x10b703){if(_0x486df0['qZOGv'](_0x4f68da,_0x486df0['rFsIB']))_0x5a1c71['_action']=_0x21b9b2(0x23d),_0x5a1c71[_0x21b9b2(0x1c7)]=_0x10b703[_0x162875];else{if(_0x486df0['qZOGv'](_0x4f68da,_0x486df0[_0x21b9b2(0x1d2)])){_0x5a1c71['_action']='SKIP',_0x5a1c71['_errors']=_0x5a1c71[_0x21b9b2(0x271)]||[],_0x5a1c71[_0x21b9b2(0x271)]['push'](_0x21b9b2(0x248));const _0x52da18=_0x4f1513['indexOf'](_0x5a1c71);_0x52da18!==-0x1&&_0x445201[_0x21b9b2(0x22c)]({'rowIndex':_0x52da18,'rowData':_0x5a1c71,'errors':[_0x21b9b2(0x248)]});}else _0x486df0['oLyBp'](_0x4f68da,_0x486df0['VcZEn'])&&(_0x5a1c71['_action']=_0x486df0['aWcnc']);}}else{if(_0x486df0[_0x21b9b2(0x1e1)](_0x4f68da,'update_existing'))_0x5a1c71[_0x21b9b2(0x209)]='INSERT';else(_0x486df0['KOsTY'](_0x4f68da,_0x21b9b2(0x276))||_0x486df0[_0x21b9b2(0x1e1)](_0x4f68da,_0x486df0[_0x21b9b2(0x261)]))&&(_0x5a1c71[_0x21b9b2(0x209)]='INSERT');}});}}async['createCommitJob'](_0x5601d2){const _0x215332=a0_0xe52136,_0x32e113={'ZYveb':_0x215332(0x201),'MeXoH':'Preview\x20job\x20not\x20found\x20or\x20expired','QXEEi':function(_0x56107b,_0x399470){return _0x56107b!==_0x399470;},'vTAGz':_0x215332(0x255),'mFDvw':'commit_job_created','SGISE':_0x215332(0x23b)},_0x525f1f=this[_0x215332(0x1e8)](),_0x51f51a=await redisHelper[_0x215332(0x235)](_0x215332(0x239)+_0x5601d2);if(!_0x51f51a)throw new Error(_0x32e113[_0x215332(0x203)]);if(_0x32e113[_0x215332(0x25d)](_0x51f51a['status'],_0x32e113[_0x215332(0x234)]))throw new Error(_0x215332(0x256)+_0x51f51a['status']);const _0x2774a8={'job_id':_0x525f1f,'upload_id':_0x51f51a[_0x215332(0x249)],'preview_job_id':_0x5601d2,'status':'processing','progress':0x0,'created_at':new Date()[_0x215332(0x1c4)](),'params':_0x51f51a['params']};return await redisHelper['setJob']('job:'+_0x525f1f,_0x2774a8,0xe10),logger[_0x215332(0x1d1)]({'event':_0x32e113['mFDvw'],'jobId':_0x525f1f,'previewJobId':_0x5601d2},'Commit\x20job\x20created'),this[_0x215332(0x205)](_0x525f1f,_0x51f51a)[_0x215332(0x210)](_0x5dde99=>{const _0x25f006=_0x215332;logError(_0x5dde99,{'event':_0x32e113[_0x25f006(0x266)],'jobId':_0x525f1f},_0x25f006(0x20d));}),{'job_id':_0x525f1f,'status':_0x32e113[_0x215332(0x226)]};}async[a0_0xe52136(0x205)](_0x2284c5,_0x319622){const _0x5edf94=a0_0xe52136,_0x39623a={'kzDkA':'insert','ZSpYX':'import_fields_filtered','jGLYe':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','NukjG':function(_0x68649,_0x8be731){return _0x68649>_0x8be731;},'yhPEz':function(_0x4f6e1f,_0x36063f){return _0x4f6e1f>_0x36063f;},'HnUlH':_0x5edf94(0x24e),'WJvNg':_0x5edf94(0x1f6),'iGgzB':'Commit\x20job\x20failed'};try{const _0x2daf7b=await redisHelper[_0x5edf94(0x235)](_0x5edf94(0x1eb)+_0x319622['upload_id']);if(!_0x2daf7b)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x46ae34,params:_0x4110dd}=_0x2daf7b,{tableName:_0x4ea42d,fieldName:_0x2b00b2,primaryKey:_0x33b016,upsertKeys:_0x28b2bd,excludeFromImport:_0x76ee90,lookupFields:_0x230f5a,columnFormats:_0x42844e}=_0x4110dd,_0x476825=_0x230f5a?Object['keys'](_0x230f5a):[],_0x3057cd=new Set([..._0x76ee90||[],..._0x476825]);let _0x12a35f=_0x2b00b2;_0x3057cd['size']>0x0&&(_0x12a35f=_0x2b00b2[_0x5edf94(0x1c8)](_0x2c033d=>!_0x3057cd[_0x5edf94(0x215)](_0x2c033d)),logger['debug']({'event':_0x39623a['ZSpYX'],'originalCount':_0x2b00b2[_0x5edf94(0x1ea)],'filteredCount':_0x12a35f[_0x5edf94(0x1ea)],'excludedFields':Array['from'](_0x3057cd),'lookupSourceFields':_0x476825},_0x39623a[_0x5edf94(0x243)]));const _0x3db231=_0x46ae34[_0x5edf94(0x1c8)](_0x204db3=>_0x204db3[_0x5edf94(0x209)]===_0x5edf94(0x1d5)),_0xc83ce3=_0x46ae34[_0x5edf94(0x1c8)](_0x10b586=>_0x10b586['_action']==='UPDATE');let _0x3d02b8=0x0,_0x17472f=0x0;const _0x1af906=[];if(_0x3db231[_0x5edf94(0x1ea)]>0x0){const _0x488557=upsertBuilder['chunkRows'](_0x3db231,0x64);for(const _0x179678 of _0x488557){const {query:_0x1cac79}=upsertBuilder['buildBatchInsert'](_0x179678,_0x4ea42d,_0x12a35f,_0x42844e||{});_0x1cac79&&_0x1af906['push']({'sql':_0x1cac79,'count':_0x179678['length'],'type':_0x5edf94(0x207)});}}if(_0x39623a['NukjG'](_0xc83ce3[_0x5edf94(0x1ea)],0x0)){const _0x5d50b7=upsertBuilder[_0x5edf94(0x1fb)](_0xc83ce3,0x64);for(const _0x3f5644 of _0x5d50b7){const {query:_0x3c781f}=upsertBuilder[_0x5edf94(0x217)](_0x3f5644,_0x4ea42d,_0x12a35f,_0x33b016,_0x28b2bd,_0x42844e||{});_0x3c781f&&_0x1af906[_0x5edf94(0x22c)]({'sql':_0x3c781f,'count':_0x3f5644['length'],'type':'update'});}}_0x39623a['yhPEz'](_0x1af906[_0x5edf94(0x1ea)],0x0)&&await executeTransaction(_0x1af906[_0x5edf94(0x24d)](_0x2494dd=>({'sql':_0x2494dd['sql'],'params':[]})));_0x1af906[_0x5edf94(0x1f1)](_0x135bd9=>{const _0x873a63=_0x5edf94;if(_0x135bd9[_0x873a63(0x225)]===_0x39623a[_0x873a63(0x213)])_0x3d02b8+=_0x135bd9[_0x873a63(0x1f9)];else _0x17472f+=_0x135bd9['count'];});const _0x24ef63={'job_id':_0x2284c5,'upload_id':_0x319622[_0x5edf94(0x249)],'preview_job_id':_0x319622[_0x5edf94(0x1d8)],'status':_0x39623a[_0x5edf94(0x220)],'progress':0x64,'created_at':_0x319622['created_at'],'started_at':new Date()[_0x5edf94(0x1c4)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x46ae34['length'],'inserted_rows':_0x3d02b8,'updated_rows':_0x17472f,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x4110dd};await redisHelper[_0x5edf94(0x1ee)](_0x5edf94(0x239)+_0x2284c5,_0x24ef63,0xe10),logger['info']({'event':_0x39623a['WJvNg'],'jobId':_0x2284c5,'insertedCount':_0x3d02b8,'updatedCount':_0x17472f},_0x5edf94(0x24c));}catch(_0x18c314){logError(_0x18c314,{'event':'commit_job_failed','jobId':_0x2284c5},_0x39623a[_0x5edf94(0x263)]),await redisHelper[_0x5edf94(0x1ee)](_0x5edf94(0x239)+_0x2284c5,{'job_id':_0x2284c5,'upload_id':_0x319622['upload_id'],'preview_job_id':_0x319622[_0x5edf94(0x1d8)],'status':_0x5edf94(0x219),'progress':0x0,'error':_0x18c314['message'],'created_at':_0x319622['created_at'],'started_at':new Date()[_0x5edf94(0x1c4)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x39ec52){const _0x29c880=a0_0xe52136,_0x4edce1={'Qwvou':'Job\x20not\x20found\x20or\x20expired'},_0x26c4c7=await redisHelper[_0x29c880(0x235)]('job:'+_0x39ec52);if(!_0x26c4c7)return{'success':![],'error':_0x4edce1[_0x29c880(0x244)]};return{'success':!![],'data':_0x26c4c7};}}module[a0_0xe52136(0x1e2)]=new ImportService();
1
+ const a0_0x400c56=a0_0x4a61;function a0_0x4a61(_0x1aab38,_0x3c9044){_0x1aab38=_0x1aab38-0x14f;const _0x24863e=a0_0x2486();let _0x4a617b=_0x24863e[_0x1aab38];if(a0_0x4a61['fhRhwL']===undefined){var _0x45517f=function(_0x5a2570){const _0x42614b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52bfae='',_0x5e8a24='';for(let _0x61e74c=0x0,_0x3e9319,_0x441d40,_0x465760=0x0;_0x441d40=_0x5a2570['charAt'](_0x465760++);~_0x441d40&&(_0x3e9319=_0x61e74c%0x4?_0x3e9319*0x40+_0x441d40:_0x441d40,_0x61e74c++%0x4)?_0x52bfae+=String['fromCharCode'](0xff&_0x3e9319>>(-0x2*_0x61e74c&0x6)):0x0){_0x441d40=_0x42614b['indexOf'](_0x441d40);}for(let _0x15772a=0x0,_0x131410=_0x52bfae['length'];_0x15772a<_0x131410;_0x15772a++){_0x5e8a24+='%'+('00'+_0x52bfae['charCodeAt'](_0x15772a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e8a24);};a0_0x4a61['lcyiMI']=_0x45517f,a0_0x4a61['rNTxEz']={},a0_0x4a61['fhRhwL']=!![];}const _0x168d5c=_0x24863e[0x0],_0x213a0c=_0x1aab38+_0x168d5c,_0x523733=a0_0x4a61['rNTxEz'][_0x213a0c];return!_0x523733?(_0x4a617b=a0_0x4a61['lcyiMI'](_0x4a617b),a0_0x4a61['rNTxEz'][_0x213a0c]=_0x4a617b):_0x4a617b=_0x523733,_0x4a617b;}function a0_0x2486(){const _0xc33394=['ieLoicG','su5trvju','ugfUCLG','CgfKu3rHCNq','Cg5YyKG','ChjVy2vZC2vKuM93CW','x2fJDgLVBG','y29TBwL0x3bYB2nLC3nFzxjYB3i','B3jPz2LUywXUyw1L','rNPWC3q','DhjPBq','ChvZAa','ChjVy2vZC1bYzxzPzxDkB2i','swvutNK','uxz5tKO','uuXVzKi','zMPnANO','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','Aw5JBhvKzxm','t2z3ug8','z2v0sM9Iu3rHDhvZ','y29SDw1U','BM93','y2f0y2G','Aw5KzxHpzG','CMfUzg9T','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','zgvMyxvSDa','BgvUz3rO','Dg9mB3DLCKnHC2u','mJjMy3jTEw0','y3jLyxrLuhjLDMLLD0PVyG','C2nVCgvpDMvYCMLKzq','z2v0sM9I','BwLZC2LUz0zPzwXKCW','nJa5nZqYnfzergjqvW','uhjLDMLLDYbQB2iGy3jLyxrLza','C3rHDhvZ','y2H1BMTsB3DZ','DKLnuhq','Dg9ju09tDhjPBMC','uhjLDMLLDYbQB2iGy29TCgXLDgvK','B01qy2q','y1bvEwS','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zxHLy3v0zvrYyw5Zywn0Aw9U','DxbKyxrLx2v4Axn0Aw5N','Dg9vChbLCKnHC2u','kqOGicaGica','cIaGicaGicaGu0vmrunuia','Dgv4Da','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','mZG1zxHRyK9K','BNvTyMvY','vvbeqvrf','BKLcC0q','CMvWBgfJzq','CM93sw5KzxG','DhLWzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ode0nti3mgjxu2P5vW','zgvIDwC','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','AgvHzgvYC19TyxbWzwq','DxbSB2fKx2LK','zxjYB3jZ','zMLSDgvY','C2v0','mtq5ndK2C3PKy2Xy','yNvPBgrmywjLBfrVrMLLBgrnyxa','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','DK5KqNa','zMXVB3i','Dhj1zq','y291BNq','AM9IoG','DxvPza','tfPgz1G','BwfW','zMLLBgroyw1L','uLjrwuO','txbjCKG','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','ChjVy2vZC2LUzW','DNnWu24','DxvPzf9HDxrVx2DLBMvYyxrLza','ChjVBwLZzxm','y3jLyxrLzf9HDa','DxbSB2fKoG','x2vYCM9YCW','DKjvDeu','nJyZmZaXmhbytMnqvG','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','Aw5MBW','z2PfDM0','rvvuBvG','Aw5Zzxj0','C2L6zq','ChjVy2vZC0nVBw1PDePVyG','Cgf0Aa','C2XPy2u','Bwf0y2G','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','z2v0rgf0zq','shDHtNe','q3bRvwG','vfLuDg0','x2DLBMvYyxrLzf91DwLK','yMPADfi','tMjHz2W','BLDJyM8','DgvZDa','DxbSB2fKrgLY','y29SDw1UrM9YBwf0CW','z2v0tw9UDgG','ExHsC2q','C3fS','mteXmZCWn2HjD290DW','mty2otm4zu1MsurY','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','CgfYyw1Z','A2v5CW','yxbWBhLdB2X1Bw5gB3jTyxrZ','ChjLDMLLD19QB2jFy29TCgXLDgvK','u0Tjua','ANDztNC','y0T6Exu','uhjLDMLLDYbQB2iGzMfPBgvK','C3rYAw5N','C2TPCf9LEgLZDgLUzW','wMvnBMC','Bg9trLi','CM93CW','BxLZCwW','rejFvfLqrq','u2HzuLu','BwvZC2fNzq','Cvncwu0','C2v0sM9I','C3vIC3rYAw5N','zxHLy3v0zvf1zxj5','Aw5Zzxj0x29UBhK','nePJEMrsta','zw50CMLLCW','zMLUza','CKXNvuK','Dw5SAw5R','x3vWBg9HzerPCG','rfHTAMe','yMf0y2HwywXPzgf0zvjVD3m','q29TBwL0igPVyIbJCMvHDgvK','z2vUzxjHDgvjza','z2v0','zMfSC2u','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','nJy1mJiZnvzMBvnKCa','mLnHuNbWyq','ChjLDMLLD19LCNjVCG','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','BufnEfq','ChjLDMLLD19VAW','zMfPBgvK','vvbmt0fex0rjuG','zM9YrwfJAa','CM1gvvC','AMDUrK0','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','Ber3re8'];a0_0x2486=function(){return _0xc33394;};return a0_0x2486();}(function(_0x19cfd7,_0x2fe548){const _0x2c70ca=a0_0x4a61,_0x2f15cb=_0x19cfd7();while(!![]){try{const _0x2f53ce=-parseInt(_0x2c70ca(0x17b))/0x1*(-parseInt(_0x2c70ca(0x1a2))/0x2)+parseInt(_0x2c70ca(0x17c))/0x3*(parseInt(_0x2c70ca(0x194))/0x4)+parseInt(_0x2c70ca(0x1a1))/0x5+parseInt(_0x2c70ca(0x1f4))/0x6*(-parseInt(_0x2c70ca(0x1e3))/0x7)+-parseInt(_0x2c70ca(0x1d2))/0x8+-parseInt(_0x2c70ca(0x1ec))/0x9+-parseInt(_0x2c70ca(0x15f))/0xa*(-parseInt(_0x2c70ca(0x1cd))/0xb);if(_0x2f53ce===_0x2fe548)break;else _0x2f15cb['push'](_0x2f15cb['shift']());}catch(_0x58e923){_0x2f15cb['push'](_0x2f15cb['shift']());}}}(a0_0x2486,0xc094e));const {v7:uuidv7}=require(a0_0x400c56(0x150)),path=require(a0_0x400c56(0x168)),fs=require('fs')[a0_0x400c56(0x15a)],redisHelper=require(a0_0x400c56(0x1a0)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x400c56(0x18c)]||'postgresql')[a0_0x400c56(0x1cc)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x297337,_0x545d48)=>oracleDb[a0_0x400c56(0x192)](_0x297337,_0x545d48),executeTransaction=_0x53442d=>oracleDb[a0_0x400c56(0x1dc)](_0x53442d);else{if(dbType===a0_0x400c56(0x18b)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1003d9,_0x54d0b4)=>mysqlDb['executeQuery'](_0x1003d9,_0x54d0b4),executeTransaction=_0x5f4d77=>mysqlDb[a0_0x400c56(0x1dc)](_0x5f4d77);}else{const db=require('../utils/db');executeQuery=db[a0_0x400c56(0x192)],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x400c56(0x1ee)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x400c56(0x176)](){const _0x5c2844=a0_0x400c56,_0x285c96={'QvyNJ':_0x5c2844(0x1ca)};if(!this[_0x5c2844(0x199)]){const _0x31ea64=process['env'][_0x5c2844(0x1ea)]||_0x285c96[_0x5c2844(0x1bd)];this['_uploadDir']=process['env'][_0x5c2844(0x1a8)]||path['join'](__dirname,'../../temp/uploads/'+_0x31ea64);}return this['_uploadDir'];}[a0_0x400c56(0x19d)](){const _0xfb357e=a0_0x400c56,_0x11003c={'XAkAW':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','OBMhM':function(_0x114868){return _0x114868();},'YVuto':function(_0x1b435c,_0x3aaaae){return _0x1b435c-_0x3aaaae;},'nIBsD':function(_0xf6020a,_0x40048e){return _0xf6020a+_0x40048e;},'pnrbH':function(_0x5368fa,_0x123654){return _0x5368fa<_0x123654;},'sAwAJ':function(_0x78484,_0x1ff803){return _0x78484*_0x1ff803;}},_0x2112bd=_0x11003c['XAkAW'],_0x3dded4=Date[_0xfb357e(0x1c5)]()['toString'](0x24),_0x5509e7=_0x11003c['OBMhM'](uuidv7)['replace'](/-/g,'')[_0xfb357e(0x191)](0x0,_0x11003c['YVuto'](0xc,_0x3dded4[_0xfb357e(0x1cb)])),_0x1ff30e=_0x11003c[_0xfb357e(0x1e6)](_0x3dded4,_0x5509e7)['substring'](0x0,0xc);let _0x3ac311='';for(let _0x44a3b1=0x0;_0x11003c[_0xfb357e(0x1b3)](_0x44a3b1,0xc);_0x44a3b1++){_0x1ff30e[_0x44a3b1]?_0x3ac311+=_0x1ff30e[_0x44a3b1]:_0x3ac311+=_0x2112bd['charAt'](Math[_0xfb357e(0x1f8)](_0x11003c['sAwAJ'](Math[_0xfb357e(0x1c8)](),_0x2112bd[_0xfb357e(0x1cb)])));}return _0x3ac311;}['buildLabelToFieldMap'](_0x137580){const _0x18e166=a0_0x400c56,_0x15d230={'CVndo':function(_0x4eec92,_0x1ad61a){return _0x4eec92(_0x1ad61a);},'PanrX':'$1_$2','Nbagl':'Label\x20to\x20field\x20mapping\x20built'},_0x152e9c=new Map();if(!_0x137580)return _0x152e9c;return Object[_0x18e166(0x195)](_0x137580)[_0x18e166(0x1a9)](([_0x213824,_0x4951ca])=>{const _0x4f731a=_0x18e166,_0x3461dc=_0x15d230['CVndo'](String,_0x4951ca)[_0x4f731a(0x1b9)]()['replace'](/\s+/g,'_')[_0x4f731a(0x1e7)](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x15d230[_0x4f731a(0x1b1)])[_0x4f731a(0x1cc)]();_0x152e9c[_0x4f731a(0x1f3)](_0x3461dc,_0x213824);}),logger[_0x18e166(0x1ed)]({'event':_0x18e166(0x160),'mappingCount':_0x152e9c['size']},_0x15d230[_0x18e166(0x173)]),_0x152e9c;}['applyColumnFormats'](_0x22f2e5,_0x8c8097){const _0x136b00=a0_0x400c56,_0x37d163={'vNdBp':function(_0xc4d216,_0x465286){return _0xc4d216===_0x465286;},'CzcMJ':function(_0x405734,_0x3d7149){return _0x405734===_0x3d7149;},'CvyoV':'number','yxRsd':_0x136b00(0x1e1),'loSFR':function(_0x209874,_0x4d9195){return _0x209874(_0x4d9195);}};if(!_0x8c8097||Object['keys'](_0x8c8097)['length']===0x0)return _0x22f2e5;return _0x22f2e5[_0x136b00(0x152)](_0x47afbe=>{const _0xb35fff=_0x136b00,_0x3f2142={..._0x47afbe};for(const [_0x29ef03,_0x3a3b2c]of Object['entries'](_0x8c8097)){const _0x49fdbe=_0x3f2142[_0x29ef03];if(_0x37d163[_0xb35fff(0x1f7)](_0x49fdbe,null)||_0x49fdbe===undefined||_0x37d163['CzcMJ'](_0x49fdbe,'')){_0x3f2142[_0x29ef03]=null;continue;}switch(_0x3a3b2c[_0xb35fff(0x1e9)]){case'date':_0x3f2142[_0x29ef03]=this[_0xb35fff(0x1db)](_0x49fdbe);break;case _0x37d163['CvyoV']:_0x3f2142[_0x29ef03]=this['formatNumberForDatabase'](_0x49fdbe);break;case'boolean':_0x3f2142[_0x29ef03]=this['formatBooleanForDatabase'](_0x49fdbe);break;case _0x37d163[_0xb35fff(0x179)]:_0x3f2142[_0x29ef03]=_0x37d163[_0xb35fff(0x189)](String,_0x49fdbe);break;default:break;}}return _0x3f2142;});}[a0_0x400c56(0x1db)](_0xb48d19){const _0x265b33=a0_0x400c56,_0x3013e3={'FbKQe':function(_0x3110e1,_0x2f7400){return _0x3110e1===_0x2f7400;},'oMPcd':function(_0x4ae263,_0x2faae7){return _0x4ae263 instanceof _0x2faae7;},'Fzpst':function(_0xad15ee,_0x17cab2){return _0xad15ee(_0x17cab2);},'ztotQ':function(_0x2b5214,_0x31348e){return _0x2b5214(_0x31348e);}};if(_0xb48d19===null||_0xb48d19===undefined||_0x3013e3['FbKQe'](_0xb48d19,''))return null;if(_0x3013e3['FbKQe'](typeof _0xb48d19,_0x265b33(0x186))&&/^\d{4}-\d{2}-\d{2}$/['test'](_0xb48d19))return _0xb48d19;if(_0x3013e3[_0x265b33(0x1d9)](_0xb48d19,Date)){if(_0x3013e3[_0x265b33(0x1b8)](isNaN,_0xb48d19['getTime']()))return null;const _0x30f53b=_0xb48d19['getFullYear'](),_0x6941cb=_0x3013e3[_0x265b33(0x1b8)](String,_0xb48d19[_0x265b33(0x178)]()+0x1)[_0x265b33(0x1b2)](0x2,'0'),_0x14e232=String(_0xb48d19[_0x265b33(0x16d)]())[_0x265b33(0x1b2)](0x2,'0');return _0x30f53b+'-'+_0x6941cb+'-'+_0x14e232;}if(typeof _0xb48d19===_0x265b33(0x186)){const _0x1d70ca=_0xb48d19[_0x265b33(0x16a)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x1d70ca){const _0x32dbc1=_0x3013e3['Fzpst'](String,_0x1d70ca[0x1])[_0x265b33(0x1b2)](0x2,'0'),_0xd272d7=_0x3013e3[_0x265b33(0x1b8)](String,_0x1d70ca[0x2])['padStart'](0x2,'0'),_0x50df00=_0x1d70ca[0x3];return _0x50df00+'-'+_0xd272d7+'-'+_0x32dbc1;}const _0x12396d=_0xb48d19[_0x265b33(0x16a)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x12396d){const _0x2715d5=_0x12396d[0x1],_0x5ccf9a=String(_0x12396d[0x2])['padStart'](0x2,'0'),_0x3ba2c4=_0x3013e3['ztotQ'](String,_0x12396d[0x3])['padStart'](0x2,'0');return _0x2715d5+'-'+_0x5ccf9a+'-'+_0x3ba2c4;}}return _0xb48d19;}[a0_0x400c56(0x1ac)](_0x462414){const _0x1feab6=a0_0x400c56,_0x359454={'cPUyk':function(_0x21945a,_0x746824){return _0x21945a===_0x746824;},'LuHLh':_0x1feab6(0x186)};if(_0x462414===null||_0x462414===undefined||_0x462414==='')return null;if(_0x359454[_0x1feab6(0x1da)](typeof _0x462414,_0x1feab6(0x1e4)))return isNaN(_0x462414)?null:_0x462414;if(typeof _0x462414===_0x359454['LuHLh']){let _0x2e2c44=_0x462414[_0x1feab6(0x1b9)]();const _0x5f566d=/,\d{1,2}$/[_0x1feab6(0x175)](_0x2e2c44)&&!/,\d{3}/[_0x1feab6(0x175)](_0x2e2c44);_0x5f566d?_0x2e2c44=_0x2e2c44[_0x1feab6(0x1e7)](/\./g,'')[_0x1feab6(0x1e7)](',','.'):_0x2e2c44=_0x2e2c44[_0x1feab6(0x1e7)](/,/g,'');const _0x3c3d75=parseFloat(_0x2e2c44);return isNaN(_0x3c3d75)?null:_0x3c3d75;}return null;}['formatBooleanForDatabase'](_0x40d4a6){const _0xaa905e=a0_0x400c56,_0x98f662={'ABsqF':function(_0x4b4f5c,_0x4c71d8){return _0x4b4f5c===_0x4c71d8;},'HwaNq':function(_0x5b8a13,_0x3d21db){return _0x5b8a13===_0x3d21db;},'ewBCP':'boolean','bjZtR':'true','WLujT':'false'};if(_0x98f662['ABsqF'](_0x40d4a6,null)||_0x40d4a6===undefined||_0x98f662[_0xaa905e(0x16e)](_0x40d4a6,''))return null;if(typeof _0x40d4a6===_0x98f662['ewBCP'])return _0x40d4a6?_0x98f662[_0xaa905e(0x172)]:_0x98f662['WLujT'];if(_0x98f662['ABsqF'](typeof _0x40d4a6,'string')){const _0x286d96=_0x40d4a6['trim']()['toLowerCase']();if([_0xaa905e(0x1f9),'yes','y','1'][_0xaa905e(0x1c1)](_0x286d96))return _0xaa905e(0x1f9);if([_0x98f662['WLujT'],'no','n','0'][_0xaa905e(0x1c1)](_0x286d96))return _0xaa905e(0x19f);return null;}if(typeof _0x40d4a6===_0xaa905e(0x1e4))return _0x40d4a6?_0xaa905e(0x1f9):_0x98f662['WLujT'];return null;}async['uploadFile'](_0x36451d,_0x355a0b){const _0x195ed4=a0_0x400c56,_0x527b1f={'jwYNw':function(_0xcb6908,_0x281580){return _0xcb6908||_0x281580;},'ZWsuy':'column_formats_applied','aAlzT':_0x195ed4(0x1ad),'nWcbo':function(_0x166853,_0x2444f0,_0x45a1aa,_0x520e4b){return _0x166853(_0x2444f0,_0x45a1aa,_0x520e4b);},'BxtYY':'file_cleanup_error'},_0x3671c1=this['generateId']();try{let {headers:_0x4f068b,rows:_0x3148c3,totalRows:_0x2213fa}=await excelParser['parseExcelFile'](_0x36451d['path']);const _0x3ed2f3=this[_0x195ed4(0x1f5)](_0x355a0b['fieldLabels']),_0x55cfce=_0x4f068b['map'](_0x53ddb9=>{const _0x10480f=_0x195ed4,_0x5ef43a=_0x3ed2f3[_0x10480f(0x19e)](_0x53ddb9);return _0x527b1f[_0x10480f(0x183)](_0x5ef43a,_0x53ddb9);});_0x3148c3=_0x3148c3['map'](_0x3540f4=>{const _0x13e3c2=_0x195ed4,_0x4120f6={};return _0x4f068b[_0x13e3c2(0x1a9)]((_0x1b2634,_0x1eb712)=>{const _0x4fc253=_0x55cfce[_0x1eb712];_0x4120f6[_0x4fc253]=_0x3540f4[_0x1b2634];}),_0x4120f6;}),_0x4f068b=_0x55cfce,logger['debug']({'event':_0x195ed4(0x1ef),'original':_0x4f068b[_0x195ed4(0x1cb)],'mapped':_0x55cfce[_0x195ed4(0x1f2)]((_0x319c2f,_0x1834aa)=>_0x319c2f!==_0x4f068b[_0x1834aa])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x355a0b[_0x195ed4(0x177)]&&Object[_0x195ed4(0x17f)](_0x355a0b[_0x195ed4(0x177)])['length']>0x0&&(_0x3148c3=this[_0x195ed4(0x180)](_0x3148c3,_0x355a0b['columnFormats']),logger[_0x195ed4(0x1ed)]({'event':_0x527b1f['ZWsuy'],'formatCount':Object[_0x195ed4(0x17f)](_0x355a0b['columnFormats'])['length'],'formats':Object['keys'](_0x355a0b['columnFormats'])},'Column\x20formats\x20applied\x20to\x20rows'));if(_0x355a0b[_0x195ed4(0x1cf)]&&_0x355a0b[_0x195ed4(0x1cf)][_0x195ed4(0x1c4)]){const {column:_0x36ba6d,value:_0x187d7e}=_0x355a0b['scopeOverride'];_0x3148c3=_0x3148c3['map'](_0x5d5c45=>({..._0x5d5c45,[_0x36ba6d]:_0x187d7e})),logger['debug']({'event':'request_scope_applied','column':_0x36ba6d,'rowCount':_0x3148c3[_0x195ed4(0x1cb)]},_0x527b1f['aAlzT']);}const _0x2906ac=_0x355a0b['lookupFields']?Object['values'](_0x355a0b['lookupFields'])['map'](_0x30688e=>_0x30688e['targetField']):[],_0x47455d=_0x355a0b[_0x195ed4(0x153)][_0x195ed4(0x1f2)](_0x196b7f=>!_0x2906ac['includes'](_0x196b7f)),_0x5e184a=excelParser[_0x195ed4(0x1f6)](_0x4f068b,_0x47455d);if(!_0x5e184a['valid']){await fs[_0x195ed4(0x198)](_0x36451d['path']);throw new Error(_0x195ed4(0x156)+_0x5e184a[_0x195ed4(0x1d1)]['join'](',\x20'));}const _0x3b8ffd={'upload_id':_0x3671c1,'filename':_0x36451d[_0x195ed4(0x1b7)],'total_rows':_0x2213fa,'headers':_0x4f068b,'rows':_0x3148c3,'params':_0x355a0b,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x3671c1,_0x3b8ffd,0xe10),await fs['unlink'](_0x36451d['path']),logger['info']({'event':_0x195ed4(0x17d),'uploadId':_0x3671c1,'filename':_0x36451d[_0x195ed4(0x1b7)],'totalRows':_0x2213fa},_0x195ed4(0x1e2)),{'upload_id':_0x3671c1,'total_rows':_0x2213fa,'preview':_0x3148c3[_0x195ed4(0x169)](0x0,0xa)};}catch(_0x36521c){try{await fs['unlink'](_0x36451d['path']);}catch(_0x5e1dc0){_0x527b1f[_0x195ed4(0x174)](logError,_0x5e1dc0,{'event':_0x527b1f['BxtYY']},'Failed\x20to\x20cleanup\x20file');}throw _0x36521c;}}async[a0_0x400c56(0x1ce)](_0x4d4104){const _0x24be92=a0_0x400c56,_0x3c8883={'pgUsK':_0x24be92(0x161),'qSBYM':'validating','fjMjz':_0x24be92(0x1d3)},_0x5a84c2=this['generateId'](),_0x2c52ed=await redisHelper[_0x24be92(0x1d0)](_0x24be92(0x15c)+_0x4d4104);if(!_0x2c52ed)throw new Error(_0x24be92(0x16b));const _0x2f9224={'job_id':_0x5a84c2,'upload_id':_0x4d4104,'status':_0x3c8883['qSBYM'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x2c52ed[_0x24be92(0x17e)]};return await redisHelper[_0x24be92(0x190)](_0x24be92(0x14f)+_0x5a84c2,_0x2f9224,0xe10),logger[_0x24be92(0x162)]({'event':'preview_job_created','jobId':_0x5a84c2,'uploadId':_0x4d4104},_0x3c8883[_0x24be92(0x1bf)]),this[_0x24be92(0x1bb)](_0x5a84c2,_0x4d4104,_0x2c52ed)[_0x24be92(0x1c6)](_0x20e191=>{logError(_0x20e191,{'event':'preview_process_error','jobId':_0x5a84c2},_0x3c8883['pgUsK']);}),{'job_id':_0x5a84c2,'status':_0x3c8883[_0x24be92(0x18f)]};}['autoGenerateUpsertKeys'](_0x46bde9,_0x53835c){const _0x17114b={'FjYwJ':function(_0x37d458,_0x57a87a){return _0x37d458===_0x57a87a;}};_0x46bde9['forEach']((_0x2e8f34,_0x40cb2d)=>{const _0x2cd635=a0_0x4a61,_0x323aaf={'swyge':function(_0xd6282,_0x5332a6){return _0x17114b['FjYwJ'](_0xd6282,_0x5332a6);},'bsFML':function(_0x58fcc9,_0x1dc4d1){return _0x58fcc9(_0x1dc4d1);},'QOeJz':function(_0x4a906e){return _0x4a906e();},'rLgUI':_0x2cd635(0x159)};_0x53835c[_0x2cd635(0x1a9)](_0x33085a=>{const _0x22c9ec=_0x2cd635,_0x146cce=_0x2e8f34[_0x33085a];if(_0x146cce===null||_0x323aaf['swyge'](_0x146cce,undefined)||_0x146cce===''||_0x323aaf['bsFML'](String,_0x146cce)['trim']()==='-'){const _0x27a4a2=_0x323aaf['QOeJz'](uuidv7);_0x2e8f34[_0x33085a]=_0x27a4a2,_0x2e8f34[_0x22c9ec(0x171)]=_0x2e8f34[_0x22c9ec(0x171)]||{},_0x2e8f34['_generated_uuid'][_0x33085a]=_0x27a4a2,logger[_0x22c9ec(0x1ed)]({'event':_0x323aaf[_0x22c9ec(0x197)],'rowIndex':_0x40cb2d,'field':_0x33085a,'uuid':_0x27a4a2},'Auto-generated\x20UUID\x20for\x20'+_0x33085a+'\x20at\x20row\x20'+(_0x40cb2d+0x2));}});});}async['processPreviewJob'](_0x1db33e,_0x2b1d28,_0x47ddc4){const _0x1ad392=a0_0x400c56,_0x267061={'LZFgX':'INSERT','QLofB':_0x1ad392(0x1e5),'uEoTH':function(_0x12c154,_0x1b05e7){return _0x12c154===_0x1b05e7;},'PWHhN':function(_0x2ca75a,_0x1295cb){return _0x2ca75a>_0x1295cb;},'zldVg':function(_0x1370ad,_0x1308bf){return _0x1370ad||_0x1308bf;},'TYTtm':_0x1ad392(0x1a3),'YEmWM':_0x1ad392(0x1d8),'SDVJx':'preview_job_failed'};try{let {rows:_0x473fbd,params:_0x5d22b7}=_0x47ddc4;const {requiredFields:_0x1e2043,validations:_0xb03cea,upsertKeys:_0xd2433f,tableName:_0x3952ed,primaryKey:_0x56a5a0,fieldName:_0x27d052,upsertStrategy:_0x142eef,lookupFields:_0xe420d0}=_0x5d22b7;this[_0x1ad392(0x1a4)](_0x473fbd,_0xd2433f);let _0xb39aef=[];if(_0xe420d0&&_0x267061['PWHhN'](Object['keys'](_0xe420d0)[_0x1ad392(0x1cb)],0x0)){logger['info']({'event':'processing_lookup_fields','jobId':_0x1db33e,'lookupFieldCount':Object['keys'](_0xe420d0)['length']},_0x1ad392(0x1c9));const _0x35bf1e=await lookupResolver['processLookupFields'](_0x473fbd,_0xe420d0);_0x473fbd=_0x35bf1e[_0x1ad392(0x1b4)],_0xb39aef=_0x35bf1e[_0x1ad392(0x1f1)],_0x47ddc4[_0x1ad392(0x18a)]=_0x473fbd;}const _0x15d9ab=importValidator[_0x1ad392(0x19b)](_0x473fbd,_0x1e2043||[],_0x267061['zldVg'](_0xb03cea,{}));_0xb39aef[_0x1ad392(0x1a9)](_0x12951b=>{const _0x25def8=_0x1ad392,_0x1efd61=_0x15d9ab[_0x25def8(0x196)](_0xfe458=>_0xfe458['rowIndex']===_0x12951b['rowIndex']);_0x1efd61?_0x1efd61[_0x25def8(0x1f1)][_0x25def8(0x1ba)](_0x12951b['message']):_0x15d9ab['push']({'rowIndex':_0x12951b['rowIndex'],'rowData':_0x473fbd[_0x12951b['rowIndex']],'errors':[_0x12951b[_0x25def8(0x18e)]]});});const _0x264896=importValidator['detectDuplicatesInFile'](_0x473fbd,_0xd2433f);_0x264896['forEach'](_0x193157=>{const _0x10055f=_0x1ad392,_0x1a14ba=_0x15d9ab['find'](_0x1d6dee=>_0x1d6dee[_0x10055f(0x1e8)]===_0x193157[_0x10055f(0x1e8)]),_0x2ff886=_0xd2433f[_0x10055f(0x152)](_0x53165d=>_0x53165d[_0x10055f(0x1de)]())['join'](',\x20'),_0x18a0ed='Duplicate\x20value\x20for\x20'+_0x2ff886;_0x1a14ba?_0x1a14ba['errors'][_0x10055f(0x1ba)](_0x18a0ed):_0x15d9ab['push']({'rowIndex':_0x193157['rowIndex'],'rowData':_0x473fbd[_0x193157[_0x10055f(0x1e8)]],'errors':[_0x18a0ed]});}),await this[_0x1ad392(0x1c0)](_0x473fbd,_0xd2433f,_0x3952ed,_0x56a5a0,_0x142eef,_0x15d9ab),_0x15d9ab['forEach'](_0x5fdaf=>{const _0x1dc75c=_0x1ad392,_0x3d8243=_0x473fbd[_0x5fdaf[_0x1dc75c(0x1e8)]];_0x3d8243&&(_0x3d8243['_errors']=_0x5fdaf['errors']);});let _0x51f07e=0x0,_0x27fb6b=0x0,_0x40bcf6=0x0;_0x473fbd[_0x1ad392(0x1a9)](_0x1ad093=>{const _0x429fb0=_0x1ad392;if(_0x1ad093['_action']===_0x267061[_0x429fb0(0x151)])_0x51f07e++;else{if(_0x1ad093[_0x429fb0(0x1b5)]===_0x267061[_0x429fb0(0x1be)])_0x27fb6b++;else _0x267061['uEoTH'](_0x1ad093['_action'],_0x429fb0(0x182))&&_0x40bcf6++;}});const _0x57236c={'job_id':_0x1db33e,'upload_id':_0x2b1d28,'status':_0x15d9ab[_0x1ad392(0x1cb)]>0x0?_0x267061[_0x1ad392(0x170)]:'preview_ok','progress':0x64,'created_at':_0x47ddc4['created_at'],'completed_at':new Date()[_0x1ad392(0x1d7)](),'preview':{'total_rows':_0x473fbd[_0x1ad392(0x1cb)],'insert_count':_0x51f07e,'update_count':_0x27fb6b,'skip_count':_0x40bcf6,'error_count':_0x15d9ab[_0x1ad392(0x1cb)],'errors':_0x15d9ab,'data':_0x473fbd,'sample_insert':_0x473fbd['filter'](_0x416dd7=>_0x416dd7[_0x1ad392(0x1b5)]==='INSERT')[_0x1ad392(0x169)](0x0,0x5),'sample_update':_0x473fbd[_0x1ad392(0x1f2)](_0x5d43d5=>_0x5d43d5['_action']==='UPDATE')[_0x1ad392(0x169)](0x0,0x5),'sample_skip':_0x473fbd[_0x1ad392(0x1f2)](_0x4cc7c6=>_0x4cc7c6[_0x1ad392(0x1b5)]===_0x1ad392(0x182))['slice'](0x0,0x5)},'params':_0x5d22b7};await redisHelper['setJob']('job:'+_0x1db33e,_0x57236c,0xe10),_0x47ddc4[_0x1ad392(0x18a)]=_0x473fbd,await redisHelper[_0x1ad392(0x190)]('upload:'+_0x2b1d28,_0x47ddc4,0xe10),logger[_0x1ad392(0x162)]({'event':_0x1ad392(0x181),'jobId':_0x1db33e,'status':_0x57236c[_0x1ad392(0x1d4)],'insertCount':_0x51f07e,'updateCount':_0x27fb6b,'skipCount':_0x40bcf6,'errorCount':_0x15d9ab[_0x1ad392(0x1cb)]},_0x267061['YEmWM']);}catch(_0x6a244f){logError(_0x6a244f,{'event':_0x267061['SDVJx'],'jobId':_0x1db33e},_0x1ad392(0x185)),await redisHelper['setJob'](_0x1ad392(0x14f)+_0x1db33e,{'job_id':_0x1db33e,'upload_id':_0x2b1d28,'status':_0x1ad392(0x1a7),'progress':0x0,'error':_0x6a244f['message'],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x400c56(0x1c0)](_0x530e70,_0xdc867a,_0x1d5250,_0x905496,_0x47394d='update_existing',_0x5ce084=[]){const _0x5c8ede=a0_0x400c56,_0x3e4811={'xmucd':function(_0x473e72,_0xb850b6){return _0x473e72===_0xb850b6;},'vIMPt':'NULL','RRQYJ':function(_0xbfae81,_0x2d244c){return _0xbfae81(_0x2d244c);},'lDwDO':_0x5c8ede(0x1e5),'wlRKO':'insert_only','afQoR':function(_0x337461,_0x52a951){return _0x337461!==_0x52a951;},'gjEvm':function(_0x312007,_0x3e49e1){return _0x312007===_0x3e49e1;},'XcXSG':_0x5c8ede(0x187),'ShYRU':'SKIP','IhBWE':function(_0x23ca85,_0x5ca6c5){return _0x23ca85>_0x5ca6c5;}},_0x1dafb5=upsertBuilder['chunkRows'](_0x530e70,0x64);for(const _0x1d3acc of _0x1dafb5){const _0x59c11b=_0x1d3acc[_0x5c8ede(0x152)](_0x5dd00c=>_0x5dd00c[_0xdc867a[0x0]]),_0x27327e=_0x59c11b['map'](_0x286ad1=>{const _0x3c529c=_0x5c8ede;if(_0x3e4811['xmucd'](_0x286ad1,null)||_0x286ad1===undefined)return _0x3e4811[_0x3c529c(0x1d6)];return'\x27'+_0x3e4811[_0x3c529c(0x154)](String,_0x286ad1)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x3b9509=_0x5c8ede(0x1e0)+_0x905496+',\x20'+_0xdc867a['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1d5250+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0xdc867a[0x0]+_0x5c8ede(0x1af)+_0x27327e['join'](',\x20')+_0x5c8ede(0x1df);let _0xe0e20f=await executeQuery(_0x3b9509);dbType==='oracle'&&_0xe0e20f&&_0x3e4811['IhBWE'](_0xe0e20f[_0x5c8ede(0x1cb)],0x0)&&(_0xe0e20f=_0xe0e20f['map'](_0x1666f1=>{const _0x2c9e63=_0x5c8ede,_0x145822={};for(const [_0x4a0e74,_0x3a72c6]of Object[_0x2c9e63(0x195)](_0x1666f1)){_0x145822[_0x4a0e74['toLowerCase']()]=_0x3a72c6;}return _0x145822;}));const _0x3568ed=new Map();_0xe0e20f[_0x5c8ede(0x1a9)](_0x2b8c54=>{const _0x10c011=_0x2b8c54[_0xdc867a[0x0]];_0x3568ed['set'](_0x10c011,_0x2b8c54);}),_0x1d3acc['forEach']((_0x48d399,_0x50df67)=>{const _0x529713=_0x5c8ede,_0x53eb3a=_0x48d399[_0xdc867a[0x0]],_0x350d6d=_0x3568ed['get'](_0x53eb3a);if(_0x350d6d){if(_0x47394d===_0x529713(0x1dd))_0x48d399['_action']=_0x3e4811[_0x529713(0x1ae)],_0x48d399['_existingId']=_0x350d6d[_0x905496];else{if(_0x47394d===_0x3e4811['wlRKO']){_0x48d399['_action']=_0x529713(0x182),_0x48d399['_errors']=_0x48d399[_0x529713(0x15d)]||[],_0x48d399[_0x529713(0x15d)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x56aff3=_0x530e70[_0x529713(0x1c7)](_0x48d399);_0x3e4811['afQoR'](_0x56aff3,-0x1)&&_0x5ce084['push']({'rowIndex':_0x56aff3,'rowData':_0x48d399,'errors':[_0x529713(0x16c)]});}else _0x3e4811[_0x529713(0x163)](_0x47394d,_0x3e4811['XcXSG'])&&(_0x48d399['_action']=_0x3e4811[_0x529713(0x18d)]);}}else{if(_0x47394d==='update_existing')_0x48d399['_action']=_0x529713(0x1b0);else(_0x47394d===_0x529713(0x193)||_0x3e4811[_0x529713(0x163)](_0x47394d,_0x3e4811['XcXSG']))&&(_0x48d399['_action']='INSERT');}});}}async['createCommitJob'](_0x4a8789){const _0x2856c0=a0_0x400c56,_0x1e5b10={'ZjDke':function(_0x130a77,_0xdbecd7,_0x37bd62,_0xef4ba0){return _0x130a77(_0xdbecd7,_0x37bd62,_0xef4ba0);},'cKzyu':_0x2856c0(0x1eb),'UflPi':'Preview\x20job\x20not\x20found\x20or\x20expired','DXmja':function(_0x46bc06,_0x573dc1){return _0x46bc06!==_0x573dc1;},'DMQOL':'processing','OfwPo':_0x2856c0(0x19c)},_0x12b16e=this['generateId'](),_0x149890=await redisHelper[_0x2856c0(0x1d0)]('job:'+_0x4a8789);if(!_0x149890)throw new Error(_0x1e5b10['UflPi']);if(_0x1e5b10[_0x2856c0(0x19a)](_0x149890['status'],_0x2856c0(0x1a6)))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x149890['status']);const _0x277d1b={'job_id':_0x12b16e,'upload_id':_0x149890[_0x2856c0(0x1f0)],'preview_job_id':_0x4a8789,'status':_0x1e5b10['DMQOL'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x149890[_0x2856c0(0x17e)]};return await redisHelper['setJob'](_0x2856c0(0x14f)+_0x12b16e,_0x277d1b,0xe10),logger[_0x2856c0(0x162)]({'event':'commit_job_created','jobId':_0x12b16e,'previewJobId':_0x4a8789},_0x1e5b10[_0x2856c0(0x1c2)]),this['processCommitJob'](_0x12b16e,_0x149890)[_0x2856c0(0x1c6)](_0x5a5a16=>{const _0x1e4a45=_0x2856c0;_0x1e5b10['ZjDke'](logError,_0x5a5a16,{'event':_0x1e4a45(0x1b6),'jobId':_0x12b16e},_0x1e5b10[_0x1e4a45(0x184)]);}),{'job_id':_0x12b16e,'status':_0x2856c0(0x157)};}async[a0_0x400c56(0x167)](_0x24a548,_0x3686a7){const _0x559d7a=a0_0x400c56,_0x3b681b={'ktxGy':'insert','IeTNy':'Upload\x20data\x20not\x20found\x20or\x20expired','DGcxP':'import_fields_filtered','afnHQ':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','ZeMng':function(_0x34424b,_0x173d1c){return _0x34424b>_0x173d1c;},'EUTmX':function(_0x29316f,_0x1e8411){return _0x29316f||_0x1e8411;},'rmFUW':'update','vspSn':function(_0x4533b7,_0x3db9f8){return _0x4533b7(_0x3db9f8);},'FuYkT':'Commit\x20job\x20completed','jgnFM':function(_0x5c2883,_0x396915,_0x57e81b,_0x2aeb9c){return _0x5c2883(_0x396915,_0x57e81b,_0x2aeb9c);},'vBUtE':'commit_job_failed','mAMxT':'Commit\x20job\x20failed','MpIrH':'failed'};try{const _0x42e4d8=await redisHelper['getJob']('upload:'+_0x3686a7['upload_id']);if(!_0x42e4d8)throw new Error(_0x3b681b[_0x559d7a(0x1bc)]);const {rows:_0x57e22c,params:_0x3ef0fa}=_0x42e4d8,{tableName:_0x2769b6,fieldName:_0x1c6f50,primaryKey:_0x2cf2b8,upsertKeys:_0x2c8afb,excludeFromImport:_0x410874,lookupFields:_0x325181,columnFormats:_0x1d4861}=_0x3ef0fa,_0x26324e=_0x325181?Object[_0x559d7a(0x17f)](_0x325181):[],_0x205cd4=new Set([..._0x410874||[],..._0x26324e]);let _0x30b7f9=_0x1c6f50;_0x205cd4[_0x559d7a(0x166)]>0x0&&(_0x30b7f9=_0x1c6f50['filter'](_0x1ced89=>!_0x205cd4['has'](_0x1ced89)),logger['debug']({'event':_0x3b681b['DGcxP'],'originalCount':_0x1c6f50['length'],'filteredCount':_0x30b7f9[_0x559d7a(0x1cb)],'excludedFields':Array['from'](_0x205cd4),'lookupSourceFields':_0x26324e},_0x3b681b['afnHQ']));const _0x59d13d=_0x57e22c[_0x559d7a(0x1f2)](_0x209d8c=>_0x209d8c['_action']==='INSERT'),_0x383639=_0x57e22c['filter'](_0x1612da=>_0x1612da[_0x559d7a(0x1b5)]===_0x559d7a(0x1e5));let _0x13742d=0x0,_0x548adb=0x0;const _0x2ee74f=[];if(_0x59d13d[_0x559d7a(0x1cb)]>0x0){const _0x3b3bc9=upsertBuilder['chunkRows'](_0x59d13d,0x64);for(const _0x322120 of _0x3b3bc9){const {query:_0xe9cd9e}=upsertBuilder['buildBatchInsert'](_0x322120,_0x2769b6,_0x30b7f9,_0x1d4861||{});_0xe9cd9e&&_0x2ee74f['push']({'sql':_0xe9cd9e,'count':_0x322120[_0x559d7a(0x1cb)],'type':_0x559d7a(0x165)});}}if(_0x3b681b[_0x559d7a(0x188)](_0x383639[_0x559d7a(0x1cb)],0x0)){const _0x29f087=upsertBuilder[_0x559d7a(0x1d5)](_0x383639,0x64);for(const _0x36bcd1 of _0x29f087){const {query:_0x4a19e9}=upsertBuilder['buildBatchUpdate'](_0x36bcd1,_0x2769b6,_0x30b7f9,_0x2cf2b8,_0x2c8afb,_0x3b681b[_0x559d7a(0x164)](_0x1d4861,{}));_0x4a19e9&&_0x2ee74f['push']({'sql':_0x4a19e9,'count':_0x36bcd1[_0x559d7a(0x1cb)],'type':_0x3b681b[_0x559d7a(0x1aa)]});}}_0x3b681b['ZeMng'](_0x2ee74f[_0x559d7a(0x1cb)],0x0)&&await _0x3b681b[_0x559d7a(0x158)](executeTransaction,_0x2ee74f[_0x559d7a(0x152)](_0x32621d=>({'sql':_0x32621d[_0x559d7a(0x17a)],'params':[]})));_0x2ee74f[_0x559d7a(0x1a9)](_0x1746c0=>{const _0x5c42d2=_0x559d7a;if(_0x1746c0['type']===_0x3b681b['ktxGy'])_0x13742d+=_0x1746c0[_0x5c42d2(0x1fa)];else _0x548adb+=_0x1746c0['count'];});const _0x5f1427={'job_id':_0x24a548,'upload_id':_0x3686a7[_0x559d7a(0x1f0)],'preview_job_id':_0x3686a7['job_id'],'status':'completed','progress':0x64,'created_at':_0x3686a7[_0x559d7a(0x15b)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x57e22c[_0x559d7a(0x1cb)],'inserted_rows':_0x13742d,'updated_rows':_0x548adb,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3ef0fa};await redisHelper['setJob']('job:'+_0x24a548,_0x5f1427,0xe10),logger[_0x559d7a(0x162)]({'event':'commit_job_completed','jobId':_0x24a548,'insertedCount':_0x13742d,'updatedCount':_0x548adb},_0x3b681b['FuYkT']);}catch(_0x416cb0){_0x3b681b[_0x559d7a(0x1ab)](logError,_0x416cb0,{'event':_0x3b681b[_0x559d7a(0x15e)],'jobId':_0x24a548},_0x3b681b[_0x559d7a(0x1a5)]),await redisHelper[_0x559d7a(0x190)](_0x559d7a(0x14f)+_0x24a548,{'job_id':_0x24a548,'upload_id':_0x3686a7['upload_id'],'preview_job_id':_0x3686a7['job_id'],'status':_0x3b681b[_0x559d7a(0x155)],'progress':0x0,'error':_0x416cb0[_0x559d7a(0x18e)],'created_at':_0x3686a7['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x559d7a(0x1d7)]()},0xe10);}}async[a0_0x400c56(0x1c3)](_0x4d7f7f){const _0x1b4e7b=a0_0x400c56,_0x1814de={'CpkUh':'Job\x20not\x20found\x20or\x20expired'},_0x46ce25=await redisHelper[_0x1b4e7b(0x1d0)]('job:'+_0x4d7f7f);if(!_0x46ce25)return{'success':![],'error':_0x1814de[_0x1b4e7b(0x16f)]};return{'success':!![],'data':_0x46ce25};}}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0x5e0b24=a0_0xee6e;function a0_0xee6e(_0x44a713,_0x2ad4d4){_0x44a713=_0x44a713-0x160;const _0x1c73b1=a0_0x1c73();let _0xee6e8d=_0x1c73b1[_0x44a713];if(a0_0xee6e['TgKGFC']===undefined){var _0x139c2f=function(_0x506b66){const _0xe48946='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32eeea='',_0x2fd178='';for(let _0x1d5041=0x0,_0x157cd9,_0x123101,_0x2ea862=0x0;_0x123101=_0x506b66['charAt'](_0x2ea862++);~_0x123101&&(_0x157cd9=_0x1d5041%0x4?_0x157cd9*0x40+_0x123101:_0x123101,_0x1d5041++%0x4)?_0x32eeea+=String['fromCharCode'](0xff&_0x157cd9>>(-0x2*_0x1d5041&0x6)):0x0){_0x123101=_0xe48946['indexOf'](_0x123101);}for(let _0x81ca61=0x0,_0x2385e8=_0x32eeea['length'];_0x81ca61<_0x2385e8;_0x81ca61++){_0x2fd178+='%'+('00'+_0x32eeea['charCodeAt'](_0x81ca61)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fd178);};a0_0xee6e['LugFOP']=_0x139c2f,a0_0xee6e['cbMXGm']={},a0_0xee6e['TgKGFC']=!![];}const _0x41695a=_0x1c73b1[0x0],_0x3f2628=_0x44a713+_0x41695a,_0x4435e1=a0_0xee6e['cbMXGm'][_0x3f2628];return!_0x4435e1?(_0xee6e8d=a0_0xee6e['LugFOP'](_0xee6e8d),a0_0xee6e['cbMXGm'][_0x3f2628]=_0xee6e8d):_0xee6e8d=_0x4435e1,_0xee6e8d;}(function(_0x3bb09c,_0x444fb9){const _0x3846a8=a0_0xee6e,_0x505ca2=_0x3bb09c();while(!![]){try{const _0x26a759=-parseInt(_0x3846a8(0x1c1))/0x1+-parseInt(_0x3846a8(0x19b))/0x2+parseInt(_0x3846a8(0x1ab))/0x3+parseInt(_0x3846a8(0x1d6))/0x4*(parseInt(_0x3846a8(0x1da))/0x5)+-parseInt(_0x3846a8(0x1cf))/0x6*(-parseInt(_0x3846a8(0x1d1))/0x7)+-parseInt(_0x3846a8(0x18d))/0x8*(parseInt(_0x3846a8(0x176))/0x9)+-parseInt(_0x3846a8(0x160))/0xa*(-parseInt(_0x3846a8(0x195))/0xb);if(_0x26a759===_0x444fb9)break;else _0x505ca2['push'](_0x505ca2['shift']());}catch(_0x2bd5d9){_0x505ca2['push'](_0x505ca2['shift']());}}}(a0_0x1c73,0x3a909));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x3bc7ac=a0_0xee6e;this[_0x3bc7ac(0x19d)]=null,this['consumer']=null,this[_0x3bc7ac(0x1db)]=![],this[_0x3bc7ac(0x171)]=![],this['isRunning']=![],this[_0x3bc7ac(0x167)]=![],this['connectionPromise']=null,this[_0x3bc7ac(0x163)]=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x5e0b24(0x182)](){const _0x16e86b=a0_0x5e0b24,_0x1266ec={'SZDde':_0x16e86b(0x168),'PosXy':'localhost:9092','KSyQA':'25000','zSsoH':'3000','sHJSQ':function(_0x2cd868,_0x2b75ba){return _0x2cd868===_0x2b75ba;},'vHgtF':function(_0x5a4502,_0xb87085){return _0x5a4502(_0xb87085);},'QwNzj':_0x16e86b(0x1af),'RypgV':'30000'};return{'enabled':process['env'][_0x16e86b(0x16f)]===_0x1266ec['SZDde'],'brokers':(process['env']['KAFKA_BROKERS']||_0x1266ec[_0x16e86b(0x18f)])['split'](','),'clientId':process[_0x16e86b(0x1a7)][_0x16e86b(0x1b6)]||'restforge-'+(process['env'][_0x16e86b(0x1bd)]||_0x16e86b(0x194))+'-consumer','connectionTimeout':parseInt(process[_0x16e86b(0x1a7)]['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x1266ec['KSyQA']),'sessionTimeout':parseInt(process['env'][_0x16e86b(0x18a)]||_0x16e86b(0x1a0)),'heartbeatInterval':parseInt(process[_0x16e86b(0x1a7)][_0x16e86b(0x17e)]||_0x1266ec['zSsoH']),'maxBytesPerPartition':parseInt(process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x16e86b(0x16e)),'autoCommit':_0x1266ec['sHJSQ'](process['env'][_0x16e86b(0x1a6)],_0x1266ec[_0x16e86b(0x1dc)]),'autoCommitInterval':parseInt(process['env'][_0x16e86b(0x1b4)]||_0x16e86b(0x16c)),'retryAttempts':_0x1266ec[_0x16e86b(0x173)](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x1266ec[_0x16e86b(0x173)](parseInt,process['env'][_0x16e86b(0x19e)]||_0x1266ec['QwNzj']),'retryMaxDelay':_0x1266ec['vHgtF'](parseInt,process[_0x16e86b(0x1a7)]['KAFKA_RETRY_MAX_DELAY']||_0x1266ec['RypgV']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||'warn'};}['getLogLevel'](_0x416032){const _0x1892c7=a0_0x5e0b24,_0x3ef6d8={'nothing':logLevel[_0x1892c7(0x17a)],'error':logLevel[_0x1892c7(0x198)],'warn':logLevel['WARN'],'info':logLevel[_0x1892c7(0x1ac)],'debug':logLevel['DEBUG']};return _0x3ef6d8[_0x416032[_0x1892c7(0x1ce)]()]||logLevel['WARN'];}async[a0_0x5e0b24(0x1d7)](_0x2d5df7={}){const _0x3cfbed=a0_0x5e0b24,_0x256837={'iVRNP':_0x3cfbed(0x168),'OiVjw':function(_0x4517cd,_0x45789e){return _0x4517cd(_0x45789e);}},_0x4cec77=this['getConfig']();if(!_0x4cec77[_0x3cfbed(0x17f)])return console[_0x3cfbed(0x184)](_0x3cfbed(0x1a2)),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x3cfbed(0x1b5)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x297221=>{const _0x1223bc=_0x3cfbed;try{let _0x31d59d=undefined;process[_0x1223bc(0x1a7)]['KAFKA_SSL']===_0x256837[_0x1223bc(0x1c9)]&&(_0x31d59d=!![]);let _0xcb8d8f=undefined;process[_0x1223bc(0x1a7)][_0x1223bc(0x1c6)]&&(_0xcb8d8f={'mechanism':process[_0x1223bc(0x1a7)][_0x1223bc(0x1c6)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x1223bc(0x19d)]=new Kafka({'clientId':_0x2d5df7['clientId']||_0x4cec77[_0x1223bc(0x1d0)],'brokers':_0x4cec77['brokers'],'connectionTimeout':_0x4cec77[_0x1223bc(0x1c2)],'requestTimeout':_0x4cec77['requestTimeout'],'logLevel':this[_0x1223bc(0x170)](_0x4cec77[_0x1223bc(0x1c7)]),'ssl':_0x31d59d,'sasl':_0xcb8d8f,'retry':{'initialRetryTime':_0x4cec77['retryDelay'],'retries':_0x4cec77['retryAttempts'],'maxRetryTime':_0x4cec77['retryMaxDelay']}}),this['groupId']=_0x2d5df7['groupId']||'restforge-'+(process[_0x1223bc(0x1a7)][_0x1223bc(0x1bd)]||'default')+_0x1223bc(0x17d),this[_0x1223bc(0x185)]=this[_0x1223bc(0x19d)][_0x1223bc(0x185)]({'groupId':this['groupId'],'sessionTimeout':_0x4cec77['sessionTimeout'],'heartbeatInterval':_0x4cec77[_0x1223bc(0x1c4)],'maxBytesPerPartition':_0x4cec77['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x1223bc(0x185)][_0x1223bc(0x183)](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x4cec77['brokers']['join'](',\x20')+_0x1223bc(0x1a4)+this[_0x1223bc(0x1d4)]+')'),this['setupEventHandlers'](),_0x297221(!![]);}catch(_0x563eff){console[_0x1223bc(0x1cb)](_0x1223bc(0x18e)+_0x563eff[_0x1223bc(0x191)]),this['isConnected']=![],_0x256837['OiVjw'](_0x297221,![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x5e0b24(0x1a8)](){const _0x204d8e=a0_0x5e0b24,_0x17a5b7={'WhKAB':_0x204d8e(0x1b3),'Pyrxw':_0x204d8e(0x1ca),'UvWdi':_0x204d8e(0x187),'uBBAT':_0x204d8e(0x1d5),'jlENq':_0x204d8e(0x169),'CwuFB':'consumer.rebalancing'};if(!this['consumer'])return;this['consumer']['on'](_0x17a5b7[_0x204d8e(0x181)],()=>{const _0x2b8e18=_0x204d8e;console['log'](_0x17a5b7[_0x2b8e18(0x1bf)]),this[_0x2b8e18(0x1db)]=![],this['isRunning']=![];}),this['consumer']['on'](_0x17a5b7['uBBAT'],()=>{const _0x2320cd=_0x204d8e;console['log'](_0x17a5b7[_0x2320cd(0x196)]),this[_0x2320cd(0x172)]=![];}),this['consumer']['on'](_0x17a5b7['jlENq'],_0x584be8=>{const _0x1212bc=_0x204d8e;console[_0x1212bc(0x1cb)](_0x1212bc(0x180)+_0x584be8['payload'][_0x1212bc(0x1cb)][_0x1212bc(0x191)]),this[_0x1212bc(0x172)]=![];}),this['consumer']['on'](_0x17a5b7['CwuFB'],()=>{const _0x5e9998=_0x204d8e;console[_0x5e9998(0x184)](_0x5e9998(0x1a9));});}async[a0_0x5e0b24(0x177)](_0x36d0e5,_0x4610a8=![]){const _0x35dbcb=a0_0x5e0b24;if(!this['isConnected'])return console[_0x35dbcb(0x1cb)](_0x35dbcb(0x18b)),![];try{const _0x520843=Array[_0x35dbcb(0x1ba)](_0x36d0e5)?_0x36d0e5:[_0x36d0e5];for(const _0x4d35d5 of _0x520843){await this['consumer'][_0x35dbcb(0x177)]({'topic':_0x4d35d5,'fromBeginning':_0x4610a8}),console['log'](_0x35dbcb(0x16b)+_0x4d35d5+'\x20(fromBeginning:\x20'+_0x4610a8+')');}return this[_0x35dbcb(0x163)]=[...new Set([...this['subscribedTopics'],..._0x520843])],!![];}catch(_0x4b631b){return console[_0x35dbcb(0x1cb)](_0x35dbcb(0x188)+_0x4b631b['message']),![];}}async['startConsuming'](_0x5c3674,_0x4b5ac8={}){const _0x3c82b9=a0_0x5e0b24,_0x5d8c53={'zMyLx':function(_0x5ea3b1,_0x567c71){return _0x5ea3b1!==_0x567c71;}};if(!this['isConnected'])return console[_0x3c82b9(0x1cb)](_0x3c82b9(0x1d8)),![];if(this['isRunning'])return console['log'](_0x3c82b9(0x1b0)),!![];const _0x816b19=this['getConfig']();this['messageHandler']=_0x5c3674;try{return this['metrics'][_0x3c82b9(0x17b)]=new Date(),await this[_0x3c82b9(0x185)]['run']({'autoCommit':_0x5d8c53[_0x3c82b9(0x1a3)](_0x4b5ac8[_0x3c82b9(0x16d)],undefined)?_0x4b5ac8[_0x3c82b9(0x16d)]:_0x816b19[_0x3c82b9(0x16d)],'autoCommitInterval':_0x816b19[_0x3c82b9(0x1b8)],'eachMessage':async({topic:_0x4d0aba,partition:_0x4525ec,message:_0x4991d1,heartbeat:_0x181215})=>{const _0x8b77ee=_0x3c82b9,_0xf02252=Date['now']();this[_0x8b77ee(0x166)]['messagesReceived']++,this[_0x8b77ee(0x166)][_0x8b77ee(0x1a1)]=new Date();try{const _0x4d17d4=_0x4991d1['value']?_0x4991d1[_0x8b77ee(0x1bb)]['toString']():null;let _0x21fa21=null;try{_0x21fa21=_0x4d17d4?JSON[_0x8b77ee(0x19a)](_0x4d17d4):null;}catch(_0x489b62){_0x21fa21=_0x4d17d4;}const _0x3fe0a1={'topic':_0x4d0aba,'partition':_0x4525ec,'offset':_0x4991d1['offset'],'key':_0x4991d1[_0x8b77ee(0x174)]?_0x4991d1['key']['toString']():null,'headers':this[_0x8b77ee(0x165)](_0x4991d1[_0x8b77ee(0x1b7)]),'timestamp':_0x4991d1[_0x8b77ee(0x16a)],'value':_0x21fa21,'raw':_0x4d17d4};this['messageHandler']&&await this['messageHandler'](_0x3fe0a1);!_0x816b19[_0x8b77ee(0x16d)]&&await this['consumer'][_0x8b77ee(0x193)]([{'topic':_0x4d0aba,'partition':_0x4525ec,'offset':(parseInt(_0x4991d1[_0x8b77ee(0x1cd)])+0x1)['toString']()}]);this[_0x8b77ee(0x166)][_0x8b77ee(0x1a5)]++;const _0x729526=Date[_0x8b77ee(0x189)]()-_0xf02252;this[_0x8b77ee(0x166)][_0x8b77ee(0x1c0)][_0x8b77ee(0x179)](_0x729526),this['metrics']['processingTimes']['length']>0x64&&this[_0x8b77ee(0x166)][_0x8b77ee(0x1c0)][_0x8b77ee(0x1c3)](),await _0x181215();}catch(_0x47c3f3){this['metrics']['messagesFailed']++,console[_0x8b77ee(0x1cb)](_0x8b77ee(0x186)+_0x47c3f3[_0x8b77ee(0x191)]);throw _0x47c3f3;}}}),this['isRunning']=!![],console[_0x3c82b9(0x184)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics'][_0x3c82b9(0x164)](',\x20')),!![];}catch(_0x5a1235){return console['error'](_0x3c82b9(0x1aa)+_0x5a1235[_0x3c82b9(0x191)]),![];}}['parseHeaders'](_0x3a5353){if(!_0x3a5353)return{};const _0x5b8eec={};for(const [_0x329f46,_0x42c864]of Object['entries'](_0x3a5353)){_0x5b8eec[_0x329f46]=_0x42c864?_0x42c864['toString']():null;}return _0x5b8eec;}async[a0_0x5e0b24(0x1cc)](){const _0x548931=a0_0x5e0b24;if(!this[_0x548931(0x1db)]||!this[_0x548931(0x172)])return console['log'](_0x548931(0x1c8)),![];if(this[_0x548931(0x167)])return console['log'](_0x548931(0x197)),!![];try{const _0xaac762=this['subscribedTopics'][_0x548931(0x192)](_0x187c8e=>({'topic':_0x187c8e}));return this['consumer'][_0x548931(0x1cc)](_0xaac762),this['isPaused']=!![],console[_0x548931(0x184)]('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x46b7cc){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x46b7cc['message']),![];}}async[a0_0x5e0b24(0x19f)](){const _0x42d8d6=a0_0x5e0b24,_0x3126ff={'moIRp':_0x42d8d6(0x175),'sOaLH':_0x42d8d6(0x1b9)};if(!this['isConnected']||!this[_0x42d8d6(0x172)])return console['log'](_0x3126ff['moIRp']),![];if(!this['isPaused'])return console['log'](_0x3126ff['sOaLH']),!![];try{const _0x29a9e2=this['subscribedTopics']['map'](_0x2f8bfa=>({'topic':_0x2f8bfa}));return this[_0x42d8d6(0x185)][_0x42d8d6(0x19f)](_0x29a9e2),this['isPaused']=![],console[_0x42d8d6(0x184)](_0x42d8d6(0x18c)),!![];}catch(_0xf57ab8){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0xf57ab8['message']),![];}}async[a0_0x5e0b24(0x1ad)](){const _0x149edd=a0_0x5e0b24;if(!this[_0x149edd(0x1db)])return console['log'](_0x149edd(0x1b2)),!![];try{const _0x16feaf='4|2|1|0|5|3'['split']('|');let _0x44a185=0x0;while(!![]){switch(_0x16feaf[_0x44a185++]){case'0':this['isPaused']=![];continue;case'1':this['isRunning']=![];continue;case'2':this['isConnected']=![];continue;case'3':return!![];case'4':this['consumer']&&(await this['consumer']['stop'](),await this[_0x149edd(0x185)][_0x149edd(0x1d9)]());continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x2d5c2e){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x2d5c2e[_0x149edd(0x191)]),![];}}async['seekToOffset'](_0x3fe1e4,_0x44aa0f,_0x578a76){const _0x76000e=a0_0x5e0b24,_0x1db0ad={'fxrVV':_0x76000e(0x161)};if(!this['isConnected'])return console[_0x76000e(0x1cb)](_0x1db0ad['fxrVV']),![];try{return this[_0x76000e(0x185)]['seek']({'topic':_0x3fe1e4,'partition':_0x44aa0f,'offset':_0x578a76[_0x76000e(0x1d2)]()}),console[_0x76000e(0x184)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x578a76+'\x20on\x20'+_0x3fe1e4+':'+_0x44aa0f),!![];}catch(_0x395799){return console[_0x76000e(0x1cb)](_0x76000e(0x1be)+_0x395799['message']),![];}}[a0_0x5e0b24(0x1b1)](){const _0x344941=a0_0x5e0b24,_0x1af182=this['getConfig']();return{'enabled':_0x1af182[_0x344941(0x17f)],'connected':this[_0x344941(0x1db)],'running':this[_0x344941(0x172)],'paused':this['isPaused'],'brokers':_0x1af182['brokers'],'clientId':_0x1af182['clientId'],'groupId':this['groupId'],'subscribedTopics':this[_0x344941(0x163)]};}[a0_0x5e0b24(0x1ae)](){const _0x4d5789=a0_0x5e0b24,_0x33f83c={'sKmke':function(_0x4be216,_0x1833ea){return _0x4be216>_0x1833ea;},'uRTPk':function(_0x577ed4,_0x4765cc){return _0x577ed4/_0x4765cc;},'qeyhM':function(_0x2722c6,_0x353e1a){return _0x2722c6+_0x353e1a;},'YPqvf':function(_0x17e08f,_0xa5ce4b){return _0x17e08f*_0xa5ce4b;},'kAsAX':function(_0x226168,_0x2b74b5){return _0x226168+_0x2b74b5;},'lGmkm':function(_0x20b5e5,_0x53e473){return _0x20b5e5+_0x53e473;}},_0x20ea95=_0x33f83c['sKmke'](this['metrics']['processingTimes'][_0x4d5789(0x1bc)],0x0)?_0x33f83c[_0x4d5789(0x199)](this[_0x4d5789(0x166)][_0x4d5789(0x1c0)]['reduce']((_0x2df623,_0x2802bd)=>_0x2df623+_0x2802bd,0x0),this['metrics']['processingTimes'][_0x4d5789(0x1bc)]):0x0,_0x3f19ed=_0x33f83c[_0x4d5789(0x178)](this[_0x4d5789(0x166)]['processingTimes'][_0x4d5789(0x1bc)],0x0)?Math['min'](...this[_0x4d5789(0x166)][_0x4d5789(0x1c0)]):0x0,_0x1cd0a9=this['metrics'][_0x4d5789(0x1c0)][_0x4d5789(0x1bc)]>0x0?Math['max'](...this[_0x4d5789(0x166)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x4d5789(0x166)]['messagesProcessed'],'messagesFailed':this[_0x4d5789(0x166)]['messagesFailed'],'successRate':_0x33f83c[_0x4d5789(0x178)](this[_0x4d5789(0x166)][_0x4d5789(0x1dd)],0x0)?_0x33f83c[_0x4d5789(0x19c)](_0x33f83c[_0x4d5789(0x1c5)](_0x33f83c[_0x4d5789(0x199)](this['metrics'][_0x4d5789(0x1a5)],this['metrics']['messagesReceived']),0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x4d5789(0x166)]['lastMessageTime'],'startTime':this[_0x4d5789(0x166)][_0x4d5789(0x17b)],'uptime':this[_0x4d5789(0x166)][_0x4d5789(0x17b)]?_0x33f83c['kAsAX'](Math['floor']((Date['now']()-this['metrics'][_0x4d5789(0x17b)]['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':_0x33f83c[_0x4d5789(0x190)](Math[_0x4d5789(0x1d3)](_0x20ea95),'ms'),'min':_0x3f19ed+'ms','max':_0x1cd0a9+'ms'}};}[a0_0x5e0b24(0x162)](){const _0x3d7a49=a0_0x5e0b24,_0x1af68a={'hpXZD':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x1af68a[_0x3d7a49(0x17c)]);}async['close'](){const _0x927488=a0_0x5e0b24;await this[_0x927488(0x1ad)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};function a0_0x1c73(){const _0x547b2e=['CMvZzxrnzxrYAwnZ','C3vIC2nYAwjLzfrVCgLJCW','AM9PBG','CgfYC2vizwfKzxjZ','Bwv0CMLJCW','AxnqyxvZzwq','Dhj1zq','y29UC3vTzxiUy3jHC2G','DgLTzxn0yw1W','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','ntaWma','yxv0B0nVBw1PDa','mta0odu3nG','s0fgs0fFru5bqKXfra','z2v0tg9Ntgv2zwW','AxnjBML0AwfSAxPPBMC','AxnsDw5UAw5N','DKHNDey','A2v5','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','ndveCM5vt1y','C3vIC2nYAwjL','C0TTA2u','ChvZAa','tK9useLorW','C3rHCNruAw1L','AhbywKq','lwnVBNn1BwvYlwDYB3vW','s0fgs0fFsevbuLrcrufux0LovevsvKfm','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','vxzxzgK','z2v0q29UzMLN','y29UBMvJDa','Bg9N','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','BM93','s0fgs0fFu0vtu0LptL9usu1ft1vu','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','mte2odblEvzywvu','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','ug9ZwhK','BeDTA20','BwvZC2fNzq','BwfW','y29TBwL0t2zMC2v0CW','zgvMyxvSDa','mJu1mKHjEvjMrW','uhLYEhC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','rvjst1i','DvjuugS','CgfYC2u','nZm4mdG2A2zQEuvH','Cwv5Ae0','A2fMA2e','s0fgs0fFuKvuuLLFrevmqvK','CMvZDw1L','mZaWmda','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','EK15thG','icHNCM91CeLKoIa','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFqvvut19dt01nsvq','zw52','C2v0DxbfDMvUDeHHBMrSzxjZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','mZy1mZK0vKvoweXf','su5gtW','C3rVCa','z2v0twv0CMLJCW','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','z2v0u3rHDhvZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','y29UBMvJDgLVBLbYB21PC2u','s0fgs0fFq0Xjru5ux0Le','AgvHzgvYCW','yxv0B0nVBw1PDeLUDgvYDMfS','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','AxnbCNjHEq','DMfSDwu','BgvUz3rO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','v2Hlqui','ChjVy2vZC2LUz1rPBwvZ','mZG4ndy1AhHuqLLj','y29UBMvJDgLVBLrPBwvVDxq','C2HPzNq','AgvHCNrIzwf0sw50zxj2ywW','wvbXDMy','s0fgs0fFu0fttf9nruniqu5ju00','Bg9Ntgv2zwW','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','AvzstLa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','zxjYB3i','Cgf1C2u','B2zMC2v0','Dg9mB3DLCKnHC2u','mJrrvuXlweu','y2XPzw50swq','nJC1odKYBK9pt1zo','Dg9tDhjPBMC','CM91BMq','z3jVDxbjza','y29UC3vTzxiUC3rVCa','mtG3odi4ufb2BhrY','Aw5PDgLHBgL6zq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','zgLZy29UBMvJDa','mZvYvMfhDNO','AxndB25Uzwn0zwq','u1Pezgu','BwvZC2fNzxnszwnLAxzLza','nZi0mfPQA0z0Aq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza'];a0_0x1c73=function(){return _0x547b2e;};return a0_0x1c73();}
1
+ const a0_0x16dba6=a0_0x59b3;(function(_0x304210,_0x5972a2){const _0x5f4f31=a0_0x59b3,_0x278cb7=_0x304210();while(!![]){try{const _0x3f34e7=-parseInt(_0x5f4f31(0x155))/0x1+parseInt(_0x5f4f31(0x166))/0x2+-parseInt(_0x5f4f31(0x18f))/0x3+-parseInt(_0x5f4f31(0x138))/0x4+-parseInt(_0x5f4f31(0x16a))/0x5*(-parseInt(_0x5f4f31(0x147))/0x6)+-parseInt(_0x5f4f31(0x182))/0x7+parseInt(_0x5f4f31(0x14e))/0x8;if(_0x3f34e7===_0x5972a2)break;else _0x278cb7['push'](_0x278cb7['shift']());}catch(_0x5aa37d){_0x278cb7['push'](_0x278cb7['shift']());}}}(a0_0x5ebf,0xb9163));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x588c47=a0_0x59b3,_0x5583ba='9|6|3|5|10|7|4|0|1|8|2'[_0x588c47(0x177)]('|');let _0x3d5ceb=0x0;while(!![]){switch(_0x5583ba[_0x3d5ceb++]){case'0':this['subscribedTopics']=[];continue;case'1':this['groupId']=null;continue;case'2':this[_0x588c47(0x188)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'3':this['isConnected']=![];continue;case'4':this['connectionPromise']=null;continue;case'5':this['isInitializing']=![];continue;case'6':this['consumer']=null;continue;case'7':this['isPaused']=![];continue;case'8':this[_0x588c47(0x181)]=null;continue;case'9':this[_0x588c47(0x129)]=null;continue;case'10':this['isRunning']=![];continue;}break;}}['getConfig'](){const _0x1b6cfb=a0_0x59b3,_0x243037={'IfImC':function(_0x547ab3,_0x216546){return _0x547ab3===_0x216546;},'TedXZ':'true','mJpvB':'localhost:9092','DNbqV':_0x1b6cfb(0x157),'MDbOe':function(_0x8c9002,_0x23e247){return _0x8c9002(_0x23e247);},'cQnXP':'30000'};return{'enabled':_0x243037[_0x1b6cfb(0x18b)](process['env'][_0x1b6cfb(0x144)],_0x243037[_0x1b6cfb(0x13b)]),'brokers':(process[_0x1b6cfb(0x141)]['KAFKA_BROKERS']||_0x243037[_0x1b6cfb(0x137)])[_0x1b6cfb(0x177)](','),'clientId':process['env'][_0x1b6cfb(0x13f)]||_0x1b6cfb(0x16c)+(process['env'][_0x1b6cfb(0x13e)]||_0x243037['DNbqV'])+_0x1b6cfb(0x179),'connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':parseInt(process[_0x1b6cfb(0x141)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x243037[_0x1b6cfb(0x150)](parseInt,process[_0x1b6cfb(0x141)]['KAFKA_SESSION_TIMEOUT']||_0x243037[_0x1b6cfb(0x187)]),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x1b6cfb(0x17f)),'maxBytesPerPartition':_0x243037[_0x1b6cfb(0x150)](parseInt,process[_0x1b6cfb(0x141)][_0x1b6cfb(0x18d)]||_0x1b6cfb(0x17b)),'autoCommit':process[_0x1b6cfb(0x141)]['KAFKA_AUTO_COMMIT']==='true','autoCommitInterval':parseInt(process[_0x1b6cfb(0x141)][_0x1b6cfb(0x139)]||_0x1b6cfb(0x18c)),'retryAttempts':parseInt(process[_0x1b6cfb(0x141)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x243037[_0x1b6cfb(0x150)](parseInt,process[_0x1b6cfb(0x141)][_0x1b6cfb(0x136)]||'1000'),'retryMaxDelay':parseInt(process['env']['KAFKA_RETRY_MAX_DELAY']||_0x243037[_0x1b6cfb(0x187)]),'logLevel':process['env']['KAFKA_LOG_LEVEL']||'warn'};}['getLogLevel'](_0x298412){const _0x5e4cde=a0_0x59b3,_0x313a41={'nothing':logLevel[_0x5e4cde(0x13d)],'error':logLevel['ERROR'],'warn':logLevel[_0x5e4cde(0x15c)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x313a41[_0x298412[_0x5e4cde(0x178)]()]||logLevel['WARN'];}async['initialize'](_0x30792c={}){const _0x567f49=a0_0x59b3,_0x26e674={'xZdOX':function(_0x3b3bf1,_0x5bb90d){return _0x3b3bf1===_0x5bb90d;},'XgawL':function(_0x3bfb75,_0x44fbe8){return _0x3bfb75(_0x44fbe8);}},_0x53bf91=this[_0x567f49(0x170)]();if(!_0x53bf91[_0x567f49(0x126)])return console[_0x567f49(0x12c)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x567f49(0x186)])return!![];if(this[_0x567f49(0x140)]&&this['connectionPromise'])return this[_0x567f49(0x152)];return this[_0x567f49(0x140)]=!![],this[_0x567f49(0x152)]=new Promise(async _0x568226=>{const _0x27d0d8=_0x567f49;try{let _0x4a04db=undefined;_0x26e674['xZdOX'](process[_0x27d0d8(0x141)]['KAFKA_SSL'],'true')&&(_0x4a04db=!![]);let _0x1b40a8=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x1b40a8={'mechanism':process[_0x27d0d8(0x141)][_0x27d0d8(0x156)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x27d0d8(0x141)][_0x27d0d8(0x15e)]||''}),this[_0x27d0d8(0x129)]=new Kafka({'clientId':_0x30792c['clientId']||_0x53bf91['clientId'],'brokers':_0x53bf91[_0x27d0d8(0x193)],'connectionTimeout':_0x53bf91['connectionTimeout'],'requestTimeout':_0x53bf91['requestTimeout'],'logLevel':this['getLogLevel'](_0x53bf91['logLevel']),'ssl':_0x4a04db,'sasl':_0x1b40a8,'retry':{'initialRetryTime':_0x53bf91[_0x27d0d8(0x17d)],'retries':_0x53bf91[_0x27d0d8(0x128)],'maxRetryTime':_0x53bf91['retryMaxDelay']}}),this['groupId']=_0x30792c['groupId']||_0x27d0d8(0x16c)+(process[_0x27d0d8(0x141)]['RESTFORGE_PROJECT_NAME']||'default')+_0x27d0d8(0x12f),this['consumer']=this['kafka'][_0x27d0d8(0x14f)]({'groupId':this['groupId'],'sessionTimeout':_0x53bf91[_0x27d0d8(0x161)],'heartbeatInterval':_0x53bf91[_0x27d0d8(0x151)],'maxBytesPerPartition':_0x53bf91[_0x27d0d8(0x124)],'allowAutoTopicCreation':![]}),await this[_0x27d0d8(0x14f)]['connect'](),this['isConnected']=!![],console['log'](_0x27d0d8(0x12b)+_0x53bf91[_0x27d0d8(0x193)]['join'](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x26e674[_0x27d0d8(0x130)](_0x568226,!![]);}catch(_0x17b8e0){console[_0x27d0d8(0x149)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x17b8e0[_0x27d0d8(0x14c)]),this['isConnected']=![],_0x568226(![]);}finally{this[_0x27d0d8(0x140)]=![];}}),this[_0x567f49(0x152)];}[a0_0x16dba6(0x17c)](){const _0x24303d=a0_0x16dba6,_0x371d11={'awPbO':_0x24303d(0x143),'GuyUs':_0x24303d(0x132),'bufcC':'[KafkaConsumer]\x20Consumer\x20rebalancing...','vyDrK':'consumer.disconnect','tyFIh':'consumer.stop'};if(!this['consumer'])return;this[_0x24303d(0x14f)]['on'](_0x371d11[_0x24303d(0x169)],()=>{const _0x426c38=_0x24303d;console[_0x426c38(0x12c)](_0x371d11['awPbO']),this[_0x426c38(0x186)]=![],this['isRunning']=![];}),this[_0x24303d(0x14f)]['on'](_0x371d11['tyFIh'],()=>{const _0x30e6ad=_0x24303d;console[_0x30e6ad(0x12c)](_0x371d11['GuyUs']),this[_0x30e6ad(0x154)]=![];}),this['consumer']['on'](_0x24303d(0x12d),_0x50bd1e=>{const _0x1e0500=_0x24303d;console[_0x1e0500(0x149)](_0x1e0500(0x127)+_0x50bd1e['payload']['error']['message']),this[_0x1e0500(0x154)]=![];}),this['consumer']['on']('consumer.rebalancing',()=>{console['log'](_0x371d11['bufcC']);});}async[a0_0x16dba6(0x192)](_0x11c200,_0x2fa6cd=![]){const _0x530051=a0_0x16dba6;if(!this[_0x530051(0x186)])return console['error'](_0x530051(0x168)),![];try{const _0x1bc7ba=Array['isArray'](_0x11c200)?_0x11c200:[_0x11c200];for(const _0x4f7df3 of _0x1bc7ba){await this['consumer'][_0x530051(0x192)]({'topic':_0x4f7df3,'fromBeginning':_0x2fa6cd}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x4f7df3+_0x530051(0x190)+_0x2fa6cd+')');}return this[_0x530051(0x146)]=[...new Set([...this[_0x530051(0x146)],..._0x1bc7ba])],!![];}catch(_0x16ef03){return console[_0x530051(0x149)](_0x530051(0x185)+_0x16ef03['message']),![];}}async['startConsuming'](_0x39d686,_0x17c3d2={}){const _0x4cb3e8=a0_0x16dba6,_0x18f2a3={'TbwPB':function(_0xfafaad,_0x5bc6c3){return _0xfafaad+_0x5bc6c3;},'FnGdF':_0x4cb3e8(0x142),'BlVmk':_0x4cb3e8(0x153),'iOJtU':function(_0x3e001a,_0x1faaa0){return _0x3e001a!==_0x1faaa0;}};if(!this['isConnected'])return console['error'](_0x18f2a3['FnGdF']),![];if(this[_0x4cb3e8(0x154)])return console['log'](_0x18f2a3['BlVmk']),!![];const _0x46eae3=this['getConfig']();this['messageHandler']=_0x39d686;try{return this['metrics'][_0x4cb3e8(0x125)]=new Date(),await this[_0x4cb3e8(0x14f)]['run']({'autoCommit':_0x18f2a3[_0x4cb3e8(0x18a)](_0x17c3d2['autoCommit'],undefined)?_0x17c3d2['autoCommit']:_0x46eae3['autoCommit'],'autoCommitInterval':_0x46eae3['autoCommitInterval'],'eachMessage':async({topic:_0x5ee0e8,partition:_0x49a2ca,message:_0x24c912,heartbeat:_0xdda8db})=>{const _0x4fe7aa=_0x4cb3e8,_0x30b22d=Date[_0x4fe7aa(0x167)]();this['metrics']['messagesReceived']++,this[_0x4fe7aa(0x188)][_0x4fe7aa(0x172)]=new Date();try{const _0xb26cf=_0x24c912['value']?_0x24c912['value'][_0x4fe7aa(0x148)]():null;let _0x52899c=null;try{_0x52899c=_0xb26cf?JSON['parse'](_0xb26cf):null;}catch(_0x400b66){_0x52899c=_0xb26cf;}const _0x178c27={'topic':_0x5ee0e8,'partition':_0x49a2ca,'offset':_0x24c912['offset'],'key':_0x24c912[_0x4fe7aa(0x15f)]?_0x24c912['key'][_0x4fe7aa(0x148)]():null,'headers':this['parseHeaders'](_0x24c912[_0x4fe7aa(0x134)]),'timestamp':_0x24c912[_0x4fe7aa(0x183)],'value':_0x52899c,'raw':_0xb26cf};this['messageHandler']&&await this['messageHandler'](_0x178c27);!_0x46eae3['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x5ee0e8,'partition':_0x49a2ca,'offset':_0x18f2a3[_0x4fe7aa(0x18e)](parseInt(_0x24c912[_0x4fe7aa(0x158)]),0x1)['toString']()}]);this['metrics'][_0x4fe7aa(0x189)]++;const _0x1aeffe=Date[_0x4fe7aa(0x167)]()-_0x30b22d;this['metrics'][_0x4fe7aa(0x191)]['push'](_0x1aeffe),this['metrics']['processingTimes'][_0x4fe7aa(0x163)]>0x64&&this['metrics'][_0x4fe7aa(0x191)][_0x4fe7aa(0x123)](),await _0xdda8db();}catch(_0x5a79ac){this[_0x4fe7aa(0x188)][_0x4fe7aa(0x14a)]++,console[_0x4fe7aa(0x149)](_0x4fe7aa(0x174)+_0x5a79ac['message']);throw _0x5a79ac;}}}),this[_0x4cb3e8(0x154)]=!![],console[_0x4cb3e8(0x12c)](_0x4cb3e8(0x13c)+this[_0x4cb3e8(0x146)][_0x4cb3e8(0x173)](',\x20')),!![];}catch(_0x1cbfdd){return console[_0x4cb3e8(0x149)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x1cbfdd[_0x4cb3e8(0x14c)]),![];}}['parseHeaders'](_0x434b34){const _0x8662ba=a0_0x16dba6;if(!_0x434b34)return{};const _0x1b741a={};for(const [_0x3b5546,_0x11fa6b]of Object['entries'](_0x434b34)){_0x1b741a[_0x3b5546]=_0x11fa6b?_0x11fa6b[_0x8662ba(0x148)]():null;}return _0x1b741a;}async['pause'](){const _0x2acfa7=a0_0x16dba6,_0x11eabc={'eDGFl':_0x2acfa7(0x14b),'ZsDfr':_0x2acfa7(0x175)};if(!this[_0x2acfa7(0x186)]||!this['isRunning'])return console[_0x2acfa7(0x12c)](_0x11eabc['eDGFl']),![];if(this['isPaused'])return console[_0x2acfa7(0x12c)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x1e9c82=this[_0x2acfa7(0x146)]['map'](_0x483060=>({'topic':_0x483060}));return this[_0x2acfa7(0x14f)]['pause'](_0x1e9c82),this[_0x2acfa7(0x184)]=!![],console[_0x2acfa7(0x12c)](_0x11eabc[_0x2acfa7(0x162)]),!![];}catch(_0x2a5409){return console['error'](_0x2acfa7(0x131)+_0x2a5409['message']),![];}}async['resume'](){const _0x202117=a0_0x16dba6,_0x450c58={'CojWh':_0x202117(0x194),'aKCMo':_0x202117(0x13a)};if(!this['isConnected']||!this['isRunning'])return console[_0x202117(0x12c)]('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x202117(0x184)])return console[_0x202117(0x12c)](_0x450c58[_0x202117(0x176)]),!![];try{const _0x39eb77=this[_0x202117(0x146)][_0x202117(0x165)](_0x36b1d6=>({'topic':_0x36b1d6}));return this['consumer'][_0x202117(0x12e)](_0x39eb77),this['isPaused']=![],console['log'](_0x450c58[_0x202117(0x14d)]),!![];}catch(_0x3ef16f){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x3ef16f['message']),![];}}async['stop'](){const _0x3f352c=a0_0x16dba6;if(!this['isConnected'])return console['log'](_0x3f352c(0x135)),!![];try{const _0x23b760='1|0|4|2|5|3'['split']('|');let _0x2c6e43=0x0;while(!![]){switch(_0x23b760[_0x2c6e43++]){case'0':this[_0x3f352c(0x186)]=![];continue;case'1':this[_0x3f352c(0x14f)]&&(await this['consumer'][_0x3f352c(0x17e)](),await this[_0x3f352c(0x14f)][_0x3f352c(0x15b)]());continue;case'2':this['isPaused']=![];continue;case'3':return!![];case'4':this['isRunning']=![];continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x49b259){return console[_0x3f352c(0x149)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x49b259['message']),![];}}async['seekToOffset'](_0x74e120,_0x242a5e,_0x30bea3){const _0x4d9163=a0_0x16dba6,_0x3eddff={'OLtPh':_0x4d9163(0x145)};if(!this[_0x4d9163(0x186)])return console['error'](_0x3eddff[_0x4d9163(0x16f)]),![];try{return this['consumer'][_0x4d9163(0x16b)]({'topic':_0x74e120,'partition':_0x242a5e,'offset':_0x30bea3[_0x4d9163(0x148)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x30bea3+'\x20on\x20'+_0x74e120+':'+_0x242a5e),!![];}catch(_0x3f4b92){return console['error'](_0x4d9163(0x180)+_0x3f4b92['message']),![];}}['getStatus'](){const _0x4f1319=a0_0x16dba6,_0x257b09=this['getConfig']();return{'enabled':_0x257b09['enabled'],'connected':this[_0x4f1319(0x186)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x257b09[_0x4f1319(0x193)],'clientId':_0x257b09['clientId'],'groupId':this['groupId'],'subscribedTopics':this[_0x4f1319(0x146)]};}[a0_0x16dba6(0x133)](){const _0x46824d=a0_0x16dba6,_0x2964a4={'GOGwR':function(_0x701938,_0x2b80a7){return _0x701938>_0x2b80a7;},'UkOCE':function(_0x17f55f,_0x5def45){return _0x17f55f/_0x5def45;},'qQpIf':function(_0x36ed80,_0x1cdb9f){return _0x36ed80>_0x1cdb9f;},'xghkE':function(_0x421793,_0x221610){return _0x421793+_0x221610;},'fmkKh':function(_0x2bf89e,_0x2a80f3){return _0x2bf89e-_0x2a80f3;}},_0x540f37=_0x2964a4['GOGwR'](this['metrics']['processingTimes'][_0x46824d(0x163)],0x0)?_0x2964a4[_0x46824d(0x15d)](this[_0x46824d(0x188)]['processingTimes']['reduce']((_0x3be941,_0x2cc015)=>_0x3be941+_0x2cc015,0x0),this['metrics']['processingTimes'][_0x46824d(0x163)]):0x0,_0x418cb9=this['metrics'][_0x46824d(0x191)]['length']>0x0?Math['min'](...this[_0x46824d(0x188)][_0x46824d(0x191)]):0x0,_0x253def=_0x2964a4['qQpIf'](this['metrics'][_0x46824d(0x191)]['length'],0x0)?Math[_0x46824d(0x160)](...this[_0x46824d(0x188)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x46824d(0x16d)],'messagesProcessed':this[_0x46824d(0x188)]['messagesProcessed'],'messagesFailed':this[_0x46824d(0x188)][_0x46824d(0x14a)],'successRate':this[_0x46824d(0x188)]['messagesReceived']>0x0?_0x2964a4[_0x46824d(0x15a)]((this['metrics'][_0x46824d(0x189)]/this[_0x46824d(0x188)][_0x46824d(0x16d)]*0x64)[_0x46824d(0x171)](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this[_0x46824d(0x188)][_0x46824d(0x125)]?_0x2964a4['xghkE'](Math['floor'](_0x2964a4['UkOCE'](_0x2964a4[_0x46824d(0x12a)](Date[_0x46824d(0x167)](),this[_0x46824d(0x188)][_0x46824d(0x125)][_0x46824d(0x17a)]()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x2964a4['xghkE'](Math['round'](_0x540f37),'ms'),'min':_0x418cb9+'ms','max':_0x253def+'ms'}};}[a0_0x16dba6(0x159)](){const _0x290270=a0_0x16dba6,_0x388b12={'DBRby':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x290270(0x154)]?new Date():null,'processingTimes':[]},console['log'](_0x388b12['DBRby']);}async[a0_0x16dba6(0x16e)](){await this['stop']();}}function a0_0x59b3(_0x491cc6,_0x218e2a){_0x491cc6=_0x491cc6-0x123;const _0x5ebfed=a0_0x5ebf();let _0x59b30e=_0x5ebfed[_0x491cc6];if(a0_0x59b3['lreHao']===undefined){var _0x4f770c=function(_0xe7c4d4){const _0x18ea8b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x163f89='',_0x29eb73='';for(let _0x607b5f=0x0,_0x978940,_0x459c8b,_0x125e9c=0x0;_0x459c8b=_0xe7c4d4['charAt'](_0x125e9c++);~_0x459c8b&&(_0x978940=_0x607b5f%0x4?_0x978940*0x40+_0x459c8b:_0x459c8b,_0x607b5f++%0x4)?_0x163f89+=String['fromCharCode'](0xff&_0x978940>>(-0x2*_0x607b5f&0x6)):0x0){_0x459c8b=_0x18ea8b['indexOf'](_0x459c8b);}for(let _0x3a9137=0x0,_0x21f68d=_0x163f89['length'];_0x3a9137<_0x21f68d;_0x3a9137++){_0x29eb73+='%'+('00'+_0x163f89['charCodeAt'](_0x3a9137)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29eb73);};a0_0x59b3['bICyHr']=_0x4f770c,a0_0x59b3['zJADXq']={},a0_0x59b3['lreHao']=!![];}const _0x26b6c9=_0x5ebfed[0x0],_0x5e3322=_0x491cc6+_0x26b6c9,_0x23e232=a0_0x59b3['zJADXq'][_0x5e3322];return!_0x23e232?(_0x59b30e=a0_0x59b3['bICyHr'](_0x59b30e),a0_0x59b3['zJADXq'][_0x5e3322]=_0x59b30e):_0x59b30e=_0x23e232,_0x59b30e;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x5ebf(){const _0x56bac4=['zw52','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','C3vIC2nYAwjLzfrVCgLJCW','ndaZnZrqBMrYy1K','Dg9tDhjPBMC','zxjYB3i','BwvZC2fNzxngywLSzwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','BwvZC2fNzq','yuTdtw8','mtyYnZC4mZjTDNf4t2O','y29UC3vTzxi','turIt2u','AgvHCNrIzwf0sw50zxj2ywW','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','AxnsDw5UAw5N','ota2nJu4BgfLqMHM','s0fgs0fFu0fttf9nruniqu5ju00','zgvMyxvSDa','B2zMC2v0','CMvZzxrnzxrYAwnZ','EgDOA0u','zgLZy29UBMvJDa','v0fstG','vwTpq0u','s0fgs0fFu0fttf9qqvntv09sra','A2v5','Bwf4','C2vZC2LVBLrPBwvVDxq','wNnezNi','BgvUz3rO','zxHWB3j0CW','BwfW','ote3nJm0vxfTDeLl','BM93','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','DNLeCKS','nJK1BenWEu9c','C2vLAW','CMvZDgzVCMDLlq','BwvZC2fNzxnszwnLAxzLza','y2XVC2u','t0X0ugG','z2v0q29UzMLN','Dg9gAxHLza','BgfZDe1LC3nHz2vuAw1L','AM9PBG','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','q29Qv2G','C3bSAxq','Dg9mB3DLCKnHC2u','lwnVBNn1BwvY','z2v0vgLTzq','mta0odu3nG','C2v0DxbfDMvUDeHHBMrSzxjZ','CMv0CNLezwXHEq','C3rVCa','mZaWma','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','BwvZC2fNzuHHBMrSzxi','nZCYotC1mgzmy0H5Dq','DgLTzxn0yw1W','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','AxndB25Uzwn0zwq','y1fUwfa','Bwv0CMLJCW','BwvZC2fNzxnqCM9JzxnZzwq','Au9kDfu','swzjBum','ntaWma','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','vgj3uei','odCWotmZrgvbBMfy','icHMCM9TqMvNAw5UAw5NoIa','ChjVy2vZC2LUz1rPBwvZ','C3vIC2nYAwjL','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','C2HPzNq','Bwf4qNL0zxnqzxjqyxj0AxrPB24','C3rHCNruAw1L','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','CMv0CNLbDhrLBxb0CW','A2fMA2e','zM1Rs2G','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','Bg9N','y29UC3vTzxiUy3jHC2G','CMvZDw1L','lwnVBNn1BwvYlwDYB3vW','wgDHD0W','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','z2v0twv0CMLJCW','AgvHzgvYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFuKvuuLLFrevmqvK','BuPWDKi','mtq3ode3mMf5vvfVva','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','vgvKwfO','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','tK9useLorW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFq0Xjru5ux0Le','AxnjBML0AwfSAxPPBMC'];a0_0x5ebf=function(){return _0x56bac4;};return a0_0x5ebf();}module[a0_0x16dba6(0x164)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};