@restforgejs/platform 5.2.10 → 5.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/bin/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/fast-track.js +147 -27
  7. package/generators/cli/schema/init.js +20 -6
  8. package/generators/cli/schema/template.js +24 -9
  9. package/generators/lib/templates/dashboard-catalog.js +1 -1
  10. package/generators/lib/templates/db-connection-env.js +1 -1
  11. package/generators/lib/templates/dbschema-catalog.js +1 -1
  12. package/generators/lib/templates/field-validation-catalog.js +1 -1
  13. package/generators/lib/templates/mysql-template.js +1 -1
  14. package/generators/lib/templates/oracle-template.js +1 -1
  15. package/generators/lib/templates/postgres-template.js +1 -1
  16. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  17. package/generators/lib/templates/sqlite-template.js +1 -1
  18. package/integrity-manifest.json +18 -18
  19. package/package.json +1 -1
  20. package/scripts/verify-integrity.js +1 -1
  21. package/server.js +1 -1
  22. package/src/components/handlers/adjust_handler.js +1 -1
  23. package/src/components/handlers/audit_handler.js +1 -1
  24. package/src/components/handlers/delete_handler.js +1 -1
  25. package/src/components/handlers/export_handler.js +1 -1
  26. package/src/components/handlers/import_handler.js +1 -1
  27. package/src/components/handlers/insert_handler.js +1 -1
  28. package/src/components/handlers/update_handler.js +1 -1
  29. package/src/components/handlers/upload_handler.js +1 -1
  30. package/src/components/handlers/workflow_handler.js +1 -1
  31. package/src/components/integrations/webhook.js +1 -1
  32. package/src/consumers/baseConsumer.js +1 -1
  33. package/src/consumers/declarativeMapper.js +1 -1
  34. package/src/consumers/handlers/apiHandler.js +1 -1
  35. package/src/consumers/handlers/consoleHandler.js +1 -1
  36. package/src/consumers/handlers/databaseHandler.js +1 -1
  37. package/src/consumers/handlers/index.js +1 -1
  38. package/src/consumers/handlers/kafkaHandler.js +1 -1
  39. package/src/consumers/index.js +1 -1
  40. package/src/consumers/messageTransformer.js +1 -1
  41. package/src/consumers/validator.js +1 -1
  42. package/src/core/db/dialect/base-dialect.js +1 -1
  43. package/src/core/db/dialect/index.js +1 -1
  44. package/src/core/db/dialect/mysql-dialect.js +1 -1
  45. package/src/core/db/dialect/oracle-dialect.js +1 -1
  46. package/src/core/db/dialect/postgres-dialect.js +1 -1
  47. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  48. package/src/core/db/flatten-helper.js +1 -1
  49. package/src/core/db/query-builder-error.js +1 -1
  50. package/src/core/db/query-builder.js +1 -1
  51. package/src/core/db/relation-helper.js +1 -1
  52. package/src/core/handlers/delete_handler.js +1 -1
  53. package/src/core/handlers/insert_handler.js +1 -1
  54. package/src/core/handlers/update_handler.js +1 -1
  55. package/src/core/models/base-model.js +1 -1
  56. package/src/core/utils/cache-manager.js +1 -1
  57. package/src/core/utils/component-engine.js +1 -1
  58. package/src/core/utils/context-builder.js +1 -1
  59. package/src/core/utils/datetime-formatter.js +1 -1
  60. package/src/core/utils/datetime-parser.js +1 -1
  61. package/src/core/utils/db.js +1 -1
  62. package/src/core/utils/logger.js +1 -1
  63. package/src/core/utils/payload-loader.js +1 -1
  64. package/src/core/utils/security-checks.js +1 -1
  65. package/src/middleware/body-options.js +1 -1
  66. package/src/middleware/cors.js +1 -1
  67. package/src/middleware/idempotency.js +1 -1
  68. package/src/middleware/rate-limiter.js +1 -1
  69. package/src/middleware/request-logger.js +1 -1
  70. package/src/middleware/security-headers.js +1 -1
  71. package/src/models/base-model-mysql.js +1 -1
  72. package/src/models/base-model-oracle.js +1 -1
  73. package/src/models/base-model-sqlite.js +1 -1
  74. package/src/models/base-model.js +1 -1
  75. package/src/pro/caching/redis-client.js +1 -1
  76. package/src/pro/caching/redis-helper.js +1 -1
  77. package/src/pro/consumers/baseConsumer.js +1 -1
  78. package/src/pro/consumers/declarativeMapper.js +1 -1
  79. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  80. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  81. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  82. package/src/pro/consumers/handlers/index.js +1 -1
  83. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  84. package/src/pro/consumers/index.js +1 -1
  85. package/src/pro/consumers/messageTransformer.js +1 -1
  86. package/src/pro/consumers/validator.js +1 -1
  87. package/src/pro/database/base-model-mysql.js +1 -1
  88. package/src/pro/database/base-model-oracle.js +1 -1
  89. package/src/pro/database/base-model-sqlite.js +1 -1
  90. package/src/pro/database/db-mysql.js +1 -1
  91. package/src/pro/database/db-oracle.js +1 -1
  92. package/src/pro/database/db-sqlite.js +1 -1
  93. package/src/pro/excel/excel-generator.js +1 -1
  94. package/src/pro/excel/excel-parser.js +1 -1
  95. package/src/pro/excel/export-service.js +1 -1
  96. package/src/pro/excel/export_handler.js +1 -1
  97. package/src/pro/excel/import-service.js +1 -1
  98. package/src/pro/excel/import-validator.js +1 -1
  99. package/src/pro/excel/import_handler.js +1 -1
  100. package/src/pro/excel/upsert-builder.js +1 -1
  101. package/src/pro/idgen/idgen-routes.js +1 -1
  102. package/src/pro/integrations/lookup-resolver.js +1 -1
  103. package/src/pro/integrations/upload-handler-v2.js +1 -1
  104. package/src/pro/integrations/upload-handler.js +1 -1
  105. package/src/pro/integrations/webhook.js +1 -1
  106. package/src/pro/locking/lock-routes.js +1 -1
  107. package/src/pro/locking/resource-lock-manager.js +1 -1
  108. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  109. package/src/pro/messaging/kafkaService.js +1 -1
  110. package/src/pro/messaging/messagehubService.js +1 -1
  111. package/src/pro/messaging/rabbitmqService.js +1 -1
  112. package/src/pro/scheduler/job-manager.js +1 -1
  113. package/src/pro/scheduler/job-routes.js +1 -1
  114. package/src/pro/scheduler/job-validator.js +1 -1
  115. package/src/pro/storage/base-storage-provider.js +1 -1
  116. package/src/pro/storage/file-metadata-helper.js +1 -1
  117. package/src/pro/storage/index.js +1 -1
  118. package/src/pro/storage/local-storage-provider.js +1 -1
  119. package/src/pro/storage/s3-storage-provider.js +1 -1
  120. package/src/pro/storage/upload-cleanup-job.js +1 -1
  121. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  122. package/src/pro/storage/upload-pending-tracker.js +1 -1
  123. package/src/pro/websocket/broadcast-helper.js +1 -1
  124. package/src/pro/websocket/index.js +1 -1
  125. package/src/pro/websocket/livesync-server.js +1 -1
  126. package/src/pro/websocket/ws-broadcaster.js +1 -1
  127. package/src/services/export-service.js +1 -1
  128. package/src/services/import-service.js +1 -1
  129. package/src/services/kafkaConsumerService.js +1 -1
  130. package/src/services/kafkaService.js +1 -1
  131. package/src/services/messagehubService.js +1 -1
  132. package/src/services/rabbitmqService.js +1 -1
  133. package/src/utils/cache-invalidation-registry.js +1 -1
  134. package/src/utils/cache-manager.js +1 -1
  135. package/src/utils/component-engine.js +1 -1
  136. package/src/utils/config-extractor.js +1 -1
  137. package/src/utils/consumerLogger.js +1 -1
  138. package/src/utils/context-builder.js +1 -1
  139. package/src/utils/dashboard-helpers.js +1 -1
  140. package/src/utils/dateHelper.js +1 -1
  141. package/src/utils/datetime-formatter.js +1 -1
  142. package/src/utils/datetime-parser.js +1 -1
  143. package/src/utils/db-bootstrap.js +1 -1
  144. package/src/utils/db-mysql.js +1 -1
  145. package/src/utils/db-oracle.js +1 -1
  146. package/src/utils/db-sqlite.js +1 -1
  147. package/src/utils/db.js +1 -1
  148. package/src/utils/demo-generator.js +1 -1
  149. package/src/utils/excel-generator.js +1 -1
  150. package/src/utils/excel-parser.js +1 -1
  151. package/src/utils/file-watcher.js +1 -1
  152. package/src/utils/id-generator.js +1 -1
  153. package/src/utils/idempotency-manager.js +1 -1
  154. package/src/utils/import-validator.js +1 -1
  155. package/src/utils/license-client.js +1 -1
  156. package/src/utils/lock-manager.js +1 -1
  157. package/src/utils/logger.js +1 -1
  158. package/src/utils/lookup-resolver.js +1 -1
  159. package/src/utils/payload-loader.js +1 -1
  160. package/src/utils/processor-response.js +1 -1
  161. package/src/utils/rabbitmq.js +1 -1
  162. package/src/utils/redis-client.js +1 -1
  163. package/src/utils/redis-helper.js +1 -1
  164. package/src/utils/request-scope.js +1 -1
  165. package/src/utils/security-checks.js +1 -1
  166. package/src/utils/service-resolver.js +1 -1
  167. package/src/utils/shutdown-coordinator.js +1 -1
  168. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  169. package/src/utils/sql-table-extractor.js +1 -1
  170. package/src/utils/trusted-keys.js +1 -1
  171. package/src/utils/upload-handler.js +1 -1
  172. package/src/utils/upsert-builder.js +1 -1
  173. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x258e5d=a0_0x4898;(function(_0x3f78cf,_0x3c4135){const _0x2b3710=a0_0x4898,_0x251dac=_0x3f78cf();while(!![]){try{const _0x31630f=parseInt(_0x2b3710(0x21d))/0x1+-parseInt(_0x2b3710(0x1cd))/0x2*(parseInt(_0x2b3710(0x222))/0x3)+parseInt(_0x2b3710(0x24e))/0x4*(parseInt(_0x2b3710(0x240))/0x5)+-parseInt(_0x2b3710(0x200))/0x6+parseInt(_0x2b3710(0x1d5))/0x7*(parseInt(_0x2b3710(0x223))/0x8)+-parseInt(_0x2b3710(0x234))/0x9+parseInt(_0x2b3710(0x23f))/0xa;if(_0x31630f===_0x3c4135)break;else _0x251dac['push'](_0x251dac['shift']());}catch(_0x38c6f6){_0x251dac['push'](_0x251dac['shift']());}}}(a0_0x112b,0x3cb14));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x258e5d(0x216)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x481e3a=a0_0x258e5d,_0x35de74={'HwVmE':'5|3|1|9|7|4|0|2|6|8'},_0x354dd5=_0x35de74[_0x481e3a(0x1dc)][_0x481e3a(0x220)]('|');let _0x17f733=0x0;while(!![]){switch(_0x354dd5[_0x17f733++]){case'0':this['_heartbeatTimer']=null;continue;case'1':this[_0x481e3a(0x1f0)]=null;continue;case'2':this['_redisPublisher']=null;continue;case'3':this[_0x481e3a(0x1e9)]=![];continue;case'4':this['_subscriptions']=new Map();continue;case'5':this[_0x481e3a(0x242)]=null;continue;case'6':this['_redisSubscriber']=null;continue;case'7':this['_logger']=console;continue;case'8':this['_workerId']=process['pid'];continue;case'9':this['_options']={};continue;}break;}}[a0_0x258e5d(0x214)](_0x47da10,_0x24662f={}){const _0x545ad1=a0_0x258e5d,_0x20381d={'xGdGy':'livesync_wss_error','PKQns':_0x545ad1(0x24c),'LjOue':function(_0x2e4cb9,_0x1cf07c){return _0x2e4cb9(_0x1cf07c);},'aLsVU':'connection'};if(this['_initialized'])return;this[_0x545ad1(0x20b)]=_0x24662f,this['_mode']=_0x20381d[_0x545ad1(0x249)];try{this['_logger']=_0x20381d[_0x545ad1(0x250)](require,_0x545ad1(0x204))['logger']||console;}catch(_0x1f68e5){this['_logger']=console;}const _0x59d110=parseInt(process['env'][_0x545ad1(0x1e5)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x47da10,'path':'/ws'}),this[_0x545ad1(0x22b)](_0x47da10),this['_wss']['on'](_0x20381d['aLsVU'],(_0x65cba8,_0x33ebed)=>this['_handleConnection'](_0x65cba8,_0x33ebed)),this['_wss']['on']('error',_0x2ae47b=>{const _0x98d720=_0x545ad1;this['_logger'][_0x98d720(0x20d)]({'event':_0x20381d[_0x98d720(0x1ee)],'error':_0x2ae47b[_0x98d720(0x210)]},_0x98d720(0x212)+_0x2ae47b['message']);}),this[_0x545ad1(0x1f7)](_0x59d110),this[_0x545ad1(0x22e)](),this['_initialized']=!![],this[_0x545ad1(0x1e8)]['info']({'event':'livesync_initialized','mode':_0x20381d['PKQns'],'path':_0x545ad1(0x20e),'heartbeat':_0x59d110+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x59d110+'s)');}[a0_0x258e5d(0x203)](_0x1c773c={}){const _0x38eed3=a0_0x258e5d,_0x4158cd={'cpCdu':_0x38eed3(0x204),'uHbQh':'publisher','jHgrj':_0x38eed3(0x221)};if(this[_0x38eed3(0x1e9)])return;this['_options']=_0x1c773c,this[_0x38eed3(0x1f0)]=_0x38eed3(0x1f1);try{this[_0x38eed3(0x1e8)]=require(_0x4158cd['cpCdu'])[_0x38eed3(0x233)]||console;}catch(_0x3662b1){this[_0x38eed3(0x1e8)]=console;}this[_0x38eed3(0x1eb)](),this[_0x38eed3(0x1e9)]=!![],this['_logger'][_0x38eed3(0x1ed)]({'event':_0x38eed3(0x24f),'mode':_0x4158cd['uHbQh']},_0x4158cd[_0x38eed3(0x1d8)]);}[a0_0x258e5d(0x243)](){return this['_initialized'];}[a0_0x258e5d(0x21f)](_0x1aaafc,_0x204d1d){const _0x5091a8=a0_0x258e5d,_0x332fc9={'oewmq':function(_0x40f347,_0x577bb8){return _0x40f347===_0x577bb8;},'kazMZ':_0x5091a8(0x1f1),'MuGAF':function(_0x557254,_0xb3fa0){return _0x557254||_0xb3fa0;},'FkDlx':function(_0x415a28,_0x3e7a89){return _0x415a28===_0x3e7a89;},'GEwVl':function(_0x4def5a,_0x4f7dd4){return _0x4def5a>_0x4f7dd4;}};if(!this[_0x5091a8(0x1e9)])return;if(_0x332fc9[_0x5091a8(0x230)](this[_0x5091a8(0x1f0)],_0x332fc9['kazMZ'])){this['_publishToRedis'](_0x1aaafc,_0x204d1d);return;}const _0x3748b9=JSON['stringify']({'type':'data_change','channel':_0x1aaafc,'action':_0x204d1d[_0x5091a8(0x1dd)],'data':_0x204d1d[_0x5091a8(0x21a)],'requestId':_0x204d1d[_0x5091a8(0x22f)]||null,'timestamp':new Date()[_0x5091a8(0x202)]()}),[_0xf1dee3]=_0x1aaafc[_0x5091a8(0x220)](':');let _0x274a01=0x0;for(const [_0x1ab880,_0x387b9b]of this['_subscriptions']){const _0x2ae9ed=_0x1ab880===_0x1aaafc,_0x5f2f3a=_0x1ab880===_0xf1dee3+':*';if(_0x332fc9[_0x5091a8(0x206)](_0x2ae9ed,_0x5f2f3a))for(const _0x4fc35b of _0x387b9b){if(_0x332fc9[_0x5091a8(0x207)](_0x4fc35b[_0x5091a8(0x1cf)],0x1))try{_0x4fc35b['send'](_0x3748b9),_0x274a01++;}catch(_0x429cbf){}}}_0x332fc9['GEwVl'](_0x274a01,0x0)&&this[_0x5091a8(0x1e8)][_0x5091a8(0x224)]({'event':'livesync_broadcast','channel':_0x1aaafc,'action':_0x204d1d[_0x5091a8(0x1dd)],'clients':_0x274a01},_0x5091a8(0x211)+_0x204d1d['action']+'\x20on\x20'+_0x1aaafc+'\x20to\x20'+_0x274a01+'\x20client(s)');}['_publishToRedis'](_0x4207bb,_0x402bd7){const _0x385b97=a0_0x258e5d;if(!this[_0x385b97(0x24b)])return;const _0x188f54=JSON['stringify']({'channel':_0x4207bb,'message':_0x402bd7,'workerId':this['_workerId']});this[_0x385b97(0x24b)][_0x385b97(0x219)](REDIS_CHANNEL_PREFIX+'broadcast',_0x188f54)[_0x385b97(0x1d7)](()=>{});}[a0_0x258e5d(0x209)](){const _0x1941b6=a0_0x258e5d,_0x13c4ba={'GIGbm':function(_0x276e9c,_0x4e6e5c){return _0x276e9c(_0x4e6e5c);},'IZieS':_0x1941b6(0x226)};if(!this['_initialized'])return;this['_heartbeatTimer']&&(_0x13c4ba['GIGbm'](clearInterval,this['_heartbeatTimer']),this[_0x1941b6(0x227)]=null);if(this[_0x1941b6(0x242)]){for(const _0x27bce9 of this[_0x1941b6(0x242)]['clients']){try{_0x27bce9[_0x1941b6(0x1de)](0x3e9,_0x13c4ba[_0x1941b6(0x1ce)]);}catch(_0x352a40){}}this[_0x1941b6(0x242)]['close']();}if(this[_0x1941b6(0x1c8)])try{this['_redisSubscriber'][_0x1941b6(0x229)](),this[_0x1941b6(0x1c8)]['quit']();}catch(_0x5420b0){}if(this[_0x1941b6(0x20a)]&&this['_redisPublisher'])try{this['_redisPublisher']['quit']();}catch(_0x3a6d2e){}this['_subscriptions']['clear'](),this['_initialized']=![],this[_0x1941b6(0x1e8)]['info']({'event':'livesync_shutdown','mode':this['_mode']},_0x1941b6(0x1db)+this[_0x1941b6(0x1f0)]+_0x1941b6(0x1e7));}['_setupUpgradeAuth'](_0x3d1015){const _0x5648c3=a0_0x258e5d,_0x1c55c6={'QBLnc':'connection','KADOX':'/ws','rlDvZ':'x-api-key','aVmmj':'HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a','jFLrr':'upgrade'},_0x1e2fbe=_0x3d1015['listeners'](_0x5648c3(0x1d3))[_0x5648c3(0x23a)]();_0x3d1015['removeAllListeners'](_0x1c55c6[_0x5648c3(0x1e1)]),_0x3d1015['on'](_0x1c55c6['jFLrr'],(_0x458b79,_0x27a325,_0x5fac3a)=>{const _0x131bce=_0x5648c3;if(!_0x458b79['url']||!_0x458b79['url']['startsWith'](_0x1c55c6['KADOX'])){for(const _0x5beb49 of _0x1e2fbe){_0x5beb49['call'](_0x3d1015,_0x458b79,_0x27a325,_0x5fac3a);}return;}if(this['_options']['apiKey']){const _0x3ec764=new URL(_0x458b79['url'],_0x131bce(0x20f)+(_0x458b79[_0x131bce(0x251)]['host']||'localhost')),_0x1d63fd=_0x3ec764[_0x131bce(0x1fe)][_0x131bce(0x201)](_0x1c55c6['rlDvZ'])||_0x458b79['headers'][_0x1c55c6['rlDvZ']];if(!_0x1d63fd||_0x1d63fd!==this[_0x131bce(0x20b)]['apiKey']){_0x27a325['write'](_0x1c55c6[_0x131bce(0x24a)]),_0x27a325['destroy']();return;}}this['_wss'][_0x131bce(0x20c)](_0x458b79,_0x27a325,_0x5fac3a,_0x4268ef=>{const _0x5d065c=_0x131bce;this['_wss']['emit'](_0x1c55c6[_0x5d065c(0x241)],_0x4268ef,_0x458b79);});});}['_handleConnection'](_0xe0fd94,_0x46c4e4){const _0x56fd98=a0_0x258e5d,_0xd44873={'TOtdK':'error','tKfjk':_0x56fd98(0x23c),'QgQkR':_0x56fd98(0x1fd),'WHFlf':'pong','RVbFE':'message','KjsSM':'close'};_0xe0fd94['isAlive']=!![],_0xe0fd94['subscribedChannels']=new Set();const _0xa19b0e=_0x46c4e4[_0x56fd98(0x251)]['x-forwarded-for']||_0x46c4e4['socket'][_0x56fd98(0x228)];this[_0x56fd98(0x1e8)]['info']({'event':_0xd44873[_0x56fd98(0x1d2)],'ip':_0xa19b0e},_0x56fd98(0x213)+_0xa19b0e),_0xe0fd94['on'](_0xd44873[_0x56fd98(0x215)],()=>{const _0xd7881c=_0x56fd98;_0xe0fd94[_0xd7881c(0x231)]=!![];}),_0xe0fd94['on'](_0xd44873[_0x56fd98(0x1fb)],_0x3c02f2=>{const _0x1a08e5=_0x56fd98;try{const _0x34a210=JSON[_0x1a08e5(0x1d1)](_0x3c02f2['toString']());this['_handleClientMessage'](_0xe0fd94,_0x34a210);}catch(_0x5811ae){this[_0x1a08e5(0x246)](_0xe0fd94,{'type':_0xd44873['TOtdK'],'message':_0x1a08e5(0x1cc)});}}),_0xe0fd94['on'](_0xd44873['KjsSM'],()=>{const _0x18fbb5=_0x56fd98;this['_removeClientFromAllChannels'](_0xe0fd94),this[_0x18fbb5(0x1e8)][_0x18fbb5(0x224)]({'event':_0x18fbb5(0x1ff),'ip':_0xa19b0e},_0x18fbb5(0x1d0)+_0xa19b0e);}),_0xe0fd94['on'](_0xd44873[_0x56fd98(0x248)],_0x2e5a9e=>{const _0x45d9fb=_0x56fd98;this[_0x45d9fb(0x1e8)]['warn']({'event':_0xd44873['tKfjk'],'error':_0x2e5a9e['message']},'WebSocket\x20client\x20error:\x20'+_0x2e5a9e['message']),this[_0x45d9fb(0x1e2)](_0xe0fd94);});}['_handleClientMessage'](_0x533fee,_0x3109b){const _0x2fc483=a0_0x258e5d,_0x4a7ddb={'Jfang':_0x2fc483(0x20d)};switch(_0x3109b[_0x2fc483(0x1f6)]){case _0x2fc483(0x239):this['_handleSubscribe'](_0x533fee,_0x3109b['channels']);break;case'unsubscribe':this['_handleUnsubscribe'](_0x533fee,_0x3109b[_0x2fc483(0x1d4)]);break;case _0x2fc483(0x225):_0x533fee[_0x2fc483(0x231)]=!![];break;default:this['_sendToClient'](_0x533fee,{'type':_0x4a7ddb['Jfang'],'message':_0x2fc483(0x237)+_0x3109b[_0x2fc483(0x1f6)]});}}[a0_0x258e5d(0x1c7)](_0x238078,_0x20fd18){const _0x138abc=a0_0x258e5d,_0x2abb1f={'LjZtR':function(_0x350e9c,_0x59acb7){return _0x350e9c===_0x59acb7;},'KafNL':_0x138abc(0x20d),'Zklpz':_0x138abc(0x1d9),'yQLrG':_0x138abc(0x208)};if(!Array['isArray'](_0x20fd18)||_0x2abb1f[_0x138abc(0x1f9)](_0x20fd18[_0x138abc(0x23b)],0x0)){this['_sendToClient'](_0x238078,{'type':_0x2abb1f['KafNL'],'message':_0x138abc(0x1c9)});return;}const _0x4dd3e2=[];for(const _0x764804 of _0x20fd18){if(typeof _0x764804!=='string'||!_0x764804[_0x138abc(0x23e)](':'))continue;!this[_0x138abc(0x1ca)]['has'](_0x764804)&&this[_0x138abc(0x1ca)][_0x138abc(0x22c)](_0x764804,new Set()),this[_0x138abc(0x1ca)][_0x138abc(0x201)](_0x764804)['add'](_0x238078),_0x238078['subscribedChannels']['add'](_0x764804),_0x4dd3e2['push'](_0x764804);}_0x4dd3e2[_0x138abc(0x23b)]>0x0&&(this[_0x138abc(0x246)](_0x238078,{'type':_0x2abb1f[_0x138abc(0x1fa)],'channels':_0x4dd3e2,'timestamp':new Date()['toISOString']()}),this[_0x138abc(0x1e8)][_0x138abc(0x224)]({'event':_0x2abb1f[_0x138abc(0x1f2)],'channels':_0x4dd3e2},'Client\x20subscribed\x20to:\x20'+_0x4dd3e2[_0x138abc(0x252)](',\x20')));}[a0_0x258e5d(0x21b)](_0x3fa24e,_0x38df74){const _0x2a0c67=a0_0x258e5d,_0x3242e5={'aQfvH':function(_0x15aaae,_0x525520){return _0x15aaae===_0x525520;}};if(!Array['isArray'](_0x38df74))return;const _0x2bb862=[];for(const _0x2b88a4 of _0x38df74){this['_subscriptions'][_0x2a0c67(0x1cb)](_0x2b88a4)&&(this['_subscriptions']['get'](_0x2b88a4)['delete'](_0x3fa24e),_0x3242e5['aQfvH'](this[_0x2a0c67(0x1ca)][_0x2a0c67(0x201)](_0x2b88a4)['size'],0x0)&&this[_0x2a0c67(0x1ca)]['delete'](_0x2b88a4)),_0x3fa24e['subscribedChannels']['delete'](_0x2b88a4),_0x2bb862['push'](_0x2b88a4);}_0x2bb862[_0x2a0c67(0x23b)]>0x0&&this['_sendToClient'](_0x3fa24e,{'type':_0x2a0c67(0x1e3),'channels':_0x2bb862,'timestamp':new Date()[_0x2a0c67(0x202)]()});}['_removeClientFromAllChannels'](_0x2339af){const _0xe97fb=a0_0x258e5d;if(!_0x2339af[_0xe97fb(0x1f4)])return;for(const _0x305a6a of _0x2339af['subscribedChannels']){this['_subscriptions']['has'](_0x305a6a)&&(this[_0xe97fb(0x1ca)][_0xe97fb(0x201)](_0x305a6a)['delete'](_0x2339af),this[_0xe97fb(0x1ca)]['get'](_0x305a6a)['size']===0x0&&this[_0xe97fb(0x1ca)]['delete'](_0x305a6a));}_0x2339af['subscribedChannels'][_0xe97fb(0x1f8)]();}['_sendToClient'](_0x3d1538,_0x3a6634){const _0x4530b0=a0_0x258e5d;if(_0x3d1538[_0x4530b0(0x1cf)]===0x1)try{_0x3d1538['send'](JSON[_0x4530b0(0x24d)](_0x3a6634));}catch(_0x3bb9cf){}}[a0_0x258e5d(0x1f7)](_0x57f64f){const _0x3622cf={'zMTZG':'ping'};this['_heartbeatTimer']=setInterval(()=>{const _0x17dcdd=a0_0x4898;if(!this['_wss'])return;for(const _0x502a9d of this[_0x17dcdd(0x242)][_0x17dcdd(0x218)]){if(!_0x502a9d['isAlive']){this['_removeClientFromAllChannels'](_0x502a9d),_0x502a9d['terminate']();continue;}_0x502a9d['isAlive']=![],this['_sendToClient'](_0x502a9d,{'type':_0x3622cf[_0x17dcdd(0x245)],'timestamp':new Date()[_0x17dcdd(0x202)]()});try{_0x502a9d['ping']();}catch(_0x4f656f){}}},_0x57f64f*0x3e8);}['_setupRedisPublisher'](){const _0xf12426=a0_0x258e5d,_0x50d7dd={'UNKjO':function(_0x39571c,_0x194f96){return _0x39571c(_0x194f96);},'sgqVc':'127.0.0.1','POJDs':function(_0x41ccf2,_0x3e84e4,_0x109aa6){return _0x41ccf2(_0x3e84e4,_0x109aa6);},'ClZJx':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x12e3e7=_0x50d7dd['UNKjO'](require,_0xf12426(0x1f3));this['_redisPublisher']=_0x12e3e7[_0xf12426(0x21c)]?_0x12e3e7['getClient']():null;}catch(_0x134f9e){this['_redisPublisher']=null;}if(!this[_0xf12426(0x24b)]){const _0xdd6c8f=require(_0xf12426(0x247)),_0x3d170d={'host':process['env']['REDIS_HOST']||_0x50d7dd['sgqVc'],'port':_0x50d7dd['POJDs'](parseInt,process[_0xf12426(0x217)][_0xf12426(0x1df)],0xa)||0x18eb,'password':process[_0xf12426(0x217)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0xf12426(0x22a)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0xdd6c8f(_0x3d170d),this['_ownPublisher']=!![],this['_redisPublisher'][_0xf12426(0x236)]()[_0xf12426(0x1d7)](()=>{const _0x445383=_0xf12426;this['_logger'][_0x445383(0x1e6)]({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x5c1036){this['_logger']['warn']({'event':_0x50d7dd['ClZJx'],'error':_0x5c1036['message']},_0xf12426(0x1c6)+_0x5c1036[_0xf12426(0x210)]);}}['_setupRedis'](){const _0x1228e0=a0_0x258e5d,_0x40923a={'EQqCP':_0x1228e0(0x1ec),'GahoS':_0x1228e0(0x1ef),'FAxMF':'message','YCXqr':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','ftKrv':function(_0x72dfc0,_0x1e199b){return _0x72dfc0(_0x1e199b);},'nhoWL':'ioredis','tIDKo':function(_0x5dddf9,_0x3f2616,_0x1ff24e){return _0x5dddf9(_0x3f2616,_0x1ff24e);},'LXqMW':function(_0x77ecac,_0x421235){return _0x77ecac(_0x421235);},'FKitA':_0x1228e0(0x1f3)};this[_0x1228e0(0x20a)]=![];try{const _0x537281=_0x40923a['ftKrv'](require,_0x40923a[_0x1228e0(0x1da)]),_0x4dce9e={'host':process['env'][_0x1228e0(0x1e4)]||_0x1228e0(0x244),'port':_0x40923a['tIDKo'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x1228e0(0x1e0)]||undefined,'db':parseInt(process[_0x1228e0(0x217)][_0x1228e0(0x22a)],0xa)||0x0,'lazyConnect':!![]};try{const _0x390fef=_0x40923a['LXqMW'](require,_0x40923a[_0x1228e0(0x238)]);this[_0x1228e0(0x24b)]=_0x390fef[_0x1228e0(0x21c)]?_0x390fef[_0x1228e0(0x21c)]():null;}catch(_0x323a7c){this[_0x1228e0(0x24b)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x537281(_0x4dce9e),this['_ownPublisher']=!![],this['_redisPublisher'][_0x1228e0(0x236)]()[_0x1228e0(0x1d7)](()=>{const _0x36a3bc=_0x1228e0;this[_0x36a3bc(0x1e8)]['warn']({'event':_0x36a3bc(0x235)},_0x40923a['EQqCP']),this['_redisPublisher']=null;})),this[_0x1228e0(0x1c8)]=new _0x537281(_0x4dce9e),this[_0x1228e0(0x1c8)]['connect']()['then'](()=>{const _0x39973c=_0x1228e0,_0x3eb8f2={'iHmhv':_0x40923a[_0x39973c(0x1f5)]};this['_redisSubscriber'][_0x39973c(0x239)](REDIS_CHANNEL_PREFIX+_0x39973c(0x21f),_0xe5242=>{const _0x30f587=_0x39973c;if(_0xe5242){this['_logger']['error']({'event':_0x3eb8f2['iHmhv'],'error':_0xe5242[_0x30f587(0x210)]},_0x30f587(0x205)+_0xe5242['message']);return;}this[_0x30f587(0x1e8)][_0x30f587(0x1ed)]({'event':'livesync_redis_subscribed'},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this['_redisSubscriber']['on'](_0x40923a['FAxMF'],(_0x4c9a16,_0x190ff6)=>{const _0x244774=_0x39973c;try{const _0x239d1e=JSON['parse'](_0x190ff6);if(_0x239d1e[_0x244774(0x1fc)]===this[_0x244774(0x22d)])return;this['_broadcastLocal'](_0x239d1e['channel'],_0x239d1e['message']);}catch(_0x17888d){}});})['catch'](()=>{const _0x268359=_0x1228e0;this[_0x268359(0x1e8)][_0x268359(0x1e6)]({'event':_0x268359(0x232)},_0x40923a[_0x268359(0x1d6)]),this['_redisSubscriber']=null;});}catch(_0x12eef4){this['_logger']['warn']({'event':'livesync_redis_unavailable','error':_0x12eef4['message']},_0x1228e0(0x21e)+_0x12eef4[_0x1228e0(0x210)]);}}[a0_0x258e5d(0x23d)](_0x3efdac,_0x48cb24){const _0x3d0e30=a0_0x258e5d,_0x384220={'vnUfK':function(_0x4e52e5,_0x4970a0){return _0x4e52e5===_0x4970a0;},'ITyvb':function(_0xcbe2a2,_0x37c70d){return _0xcbe2a2===_0x37c70d;}};if(!this['_wss'])return;const _0xb41355=JSON['stringify']({'type':'data_change','channel':_0x3efdac,'action':_0x48cb24[_0x3d0e30(0x1dd)],'data':_0x48cb24['data'],'requestId':_0x48cb24['requestId']||null,'timestamp':new Date()[_0x3d0e30(0x202)]()}),[_0x7b8173]=_0x3efdac['split'](':');for(const [_0x27a761,_0x24f507]of this['_subscriptions']){const _0x448ae7=_0x384220['vnUfK'](_0x27a761,_0x3efdac),_0x3b53f9=_0x384220['vnUfK'](_0x27a761,_0x7b8173+':*');if(_0x448ae7||_0x3b53f9)for(const _0x214515 of _0x24f507){if(_0x384220[_0x3d0e30(0x1ea)](_0x214515['readyState'],0x1))try{_0x214515['send'](_0xb41355);}catch(_0x247400){}}}}}function a0_0x4898(_0x4ca625,_0x3682ef){_0x4ca625=_0x4ca625-0x1c6;const _0x112b98=a0_0x112b();let _0x489823=_0x112b98[_0x4ca625];if(a0_0x4898['oVtsCT']===undefined){var _0x3d01a1=function(_0x4b3114){const _0x22add5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f3a5c='',_0x20b6d5='';for(let _0x2582aa=0x0,_0x346571,_0x29f895,_0x938fea=0x0;_0x29f895=_0x4b3114['charAt'](_0x938fea++);~_0x29f895&&(_0x346571=_0x2582aa%0x4?_0x346571*0x40+_0x29f895:_0x29f895,_0x2582aa++%0x4)?_0x1f3a5c+=String['fromCharCode'](0xff&_0x346571>>(-0x2*_0x2582aa&0x6)):0x0){_0x29f895=_0x22add5['indexOf'](_0x29f895);}for(let _0x74b5b5=0x0,_0x18cbcf=_0x1f3a5c['length'];_0x74b5b5<_0x18cbcf;_0x74b5b5++){_0x20b6d5+='%'+('00'+_0x1f3a5c['charCodeAt'](_0x74b5b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20b6d5);};a0_0x4898['uOKeHb']=_0x3d01a1,a0_0x4898['CcdIpD']={},a0_0x4898['oVtsCT']=!![];}const _0x386b78=_0x112b98[0x0],_0x5457ba=_0x4ca625+_0x386b78,_0x29b5fe=a0_0x4898['CcdIpD'][_0x5457ba];return!_0x29b5fe?(_0x489823=a0_0x4898['uOKeHb'](_0x489823),a0_0x4898['CcdIpD'][_0x5457ba]=_0x489823):_0x489823=_0x29b5fe,_0x489823;}module['exports']=WebSocketBroadcaster;function a0_0x112b(){const _0x3674c4=['x3nLBMruB0nSAwvUDa','Aw9YzwrPCW','ve90zeS','ueTrBNm','yvzTBwO','x3jLzgLZuhvIBgLZAgvY','zNvSBa','C3rYAw5NAwz5','mtj0BvjABhK','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','tgPpDwu','AgvHzgvYCW','AM9PBG','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','x2HHBMrSzvn1yNnJCMLIzq','x3jLzgLZu3vIC2nYAwjLCG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','x3n1yNnJCMLWDgLVBNm','AgfZ','sw52ywXPzcbku09oig1LC3nHz2u','nZrlq1vJrei','svPPzvm','CMvHzhLtDgf0zq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','CgfYC2u','uwDrA1i','DxbNCMfKzq','y2HHBM5LBhm','mZi5n2PfugLhBW','wunyCxi','y2f0y2G','AKHNCMO','C3vIC2nYAwjLza','BMHVv0W','tgL2zsbtEw5Jia','shDwBuu','ywn0Aw9U','y2XVC2u','uKvesvnFue9sva','uKvesvnFueftu1DpuKq','AKzmCNi','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','Dw5ZDwjZy3jPyMvK','uKvesvnFse9tva','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','D2fYBG','ihnODxqGzg93BG','x2XVz2DLCG','x2LUAxrPywXPEMvK','svr5DMi','x3nLDhvWuMvKAxnqDwjSAxnOzxi','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','Aw5MBW','EeDKr3K','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','x21Vzgu','ChvIBgLZAgvY','EvfmCKC','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','C3vIC2nYAwjLzenOyw5UzwXZ','r2fOB1m','DhLWzq','x3n0yxj0sgvHCNrIzwf0','y2XLyxi','tgPADfi','wMTSChO','uLzIrKu','D29YA2vYswq','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','C2vHCMnOugfYyw1Z','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','odm3mZqYBNrHvgDr','z2v0','Dg9ju09tDhjPBMC','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','lI4VlI4VDxrPBhmVBg9Nz2vY','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','txvhquy','rMTeBhG','BgL2zxn5BMnFC3vIC2nYAwjL','C2H1DgrVD24','x293BLb1yMXPC2HLCG','x29WDgLVBNm','AgfUzgXLvxbNCMfKzq','zxjYB3i','l3DZ','Ahr0CdOVlW','BwvZC2fNzq','qNjVywrJyxn0ia','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','Aw5PDgLHBgL6zq','v0HgBgy','DxjS','zw52','y2XPzw50CW','ChvIBgLZAa','zgf0yq','x2HHBMrSzvvUC3vIC2nYAwjL','z2v0q2XPzw50','mtiYmJCWtKHREhzN','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','yNjVywrJyxn0','C3bSAxq','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','mZqXndbmuxnesge','mJu2ogDwEMvyqG','zgvIDwC','Cg9UzW','u2vYDMvYihnODxr0Aw5NigrVD24','x2HLyxj0yMvHDfrPBwvY','CMvTB3rLqwrKCMvZCW','Dw5ZDwjZy3jPyMu','uKvesvnFrei','x3nLDhvWvxbNCMfKzuf1DgG','C2v0','x3DVCMTLCKLK','x3nLDhvWuMvKAxm','CMvXDwvZDeLK','B2v3Bxe','AxnbBgL2zq','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','Bg9Nz2vY','mZm2otaZm3f3zvLfzG','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','y29UBMvJDa','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','rKTPDee','C3vIC2nYAwjL','C2XPy2u','BgvUz3rO','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','x2jYB2fKy2fZDeXVy2fS','Aw5JBhvKzxm','odC2ody3mgHMtKfPvq','ntuZnZberfHJAhy','uujmBMm','x3DZCW','AxnjBML0AwfSAxPLza','mti3lJaUmc4X','EK1uwKC'];a0_0x112b=function(){return _0x3674c4;};return a0_0x112b();}
1
+ 'use strict';const a0_0x5c0261=a0_0x2342;function a0_0x2342(_0x381094,_0x32465a){_0x381094=_0x381094-0x15c;const _0xf92005=a0_0xf920();let _0x234289=_0xf92005[_0x381094];if(a0_0x2342['mLsdTh']===undefined){var _0x29ab74=function(_0x8bc804){const _0x3ec100='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x117100='',_0x2257f6='';for(let _0x430467=0x0,_0x5d3d8f,_0x73f0af,_0x102c00=0x0;_0x73f0af=_0x8bc804['charAt'](_0x102c00++);~_0x73f0af&&(_0x5d3d8f=_0x430467%0x4?_0x5d3d8f*0x40+_0x73f0af:_0x73f0af,_0x430467++%0x4)?_0x117100+=String['fromCharCode'](0xff&_0x5d3d8f>>(-0x2*_0x430467&0x6)):0x0){_0x73f0af=_0x3ec100['indexOf'](_0x73f0af);}for(let _0x249a01=0x0,_0x5cb84e=_0x117100['length'];_0x249a01<_0x5cb84e;_0x249a01++){_0x2257f6+='%'+('00'+_0x117100['charCodeAt'](_0x249a01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2257f6);};a0_0x2342['DmgRfh']=_0x29ab74,a0_0x2342['vTfycP']={},a0_0x2342['mLsdTh']=!![];}const _0x4c71c2=_0xf92005[0x0],_0x53d77c=_0x381094+_0x4c71c2,_0x25113a=a0_0x2342['vTfycP'][_0x53d77c];return!_0x25113a?(_0x234289=a0_0x2342['DmgRfh'](_0x234289),a0_0x2342['vTfycP'][_0x53d77c]=_0x234289):_0x234289=_0x25113a,_0x234289;}(function(_0x3dceb0,_0x2f1bdb){const _0x59d625=a0_0x2342,_0x5c438e=_0x3dceb0();while(!![]){try{const _0xc94349=parseInt(_0x59d625(0x1bc))/0x1*(parseInt(_0x59d625(0x175))/0x2)+parseInt(_0x59d625(0x17d))/0x3*(-parseInt(_0x59d625(0x18b))/0x4)+parseInt(_0x59d625(0x1df))/0x5+-parseInt(_0x59d625(0x195))/0x6*(-parseInt(_0x59d625(0x16d))/0x7)+parseInt(_0x59d625(0x1e7))/0x8+-parseInt(_0x59d625(0x18c))/0x9+-parseInt(_0x59d625(0x1b9))/0xa;if(_0xc94349===_0x2f1bdb)break;else _0x5c438e['push'](_0x5c438e['shift']());}catch(_0x36ec2b){_0x5c438e['push'](_0x5c438e['shift']());}}}(a0_0xf920,0xcbb56));function a0_0xf920(){const _0x115298=['CxvPDa','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','tuTwBvm','u2vYDMvYihnODxr0Aw5NigrVD24','z3HOA0S','lI4VlI4VDxrPBhmVBg9Nz2vY','y2XPzw50CW','Aw5JBhvKzxm','DhLWzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','BgLZDgvUzxjZ','CMvXDwvZDeLK','z0rZDMe','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','CgfYC2u','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','D0vIBLm','rKXIv0G','x2jYB2fKy2fZDeXVy2fS','uKvesvnFue9sva','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','Aw5MBW','rw1Pwhm','DxfUrKe','CgLUzW','x3DVCMTLCKLK','rw5wtK4','C2H1DgrVD24','y29UBMvJDa','x29WDgLVBNm','mJeWndiXnujMrfrrwG','CgLK','y3LTrKe','vfznsum','x2HLyxj0yMvHDfrPBwvY','x293BLb1yMXPC2HLCG','v1H0ELa','zgf0yv9JAgfUz2u','nJq5nda4oePez25jwa','Ec1MB3j3yxjKzwqTzM9Y','tLDbCM4','uKvesvnFrei','x3nLDhvWvxbNCMfKzuf1DgG','y2f0y2G','v0z3DKy','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','Cg9UzW','uKvesvnFueftu1DpuKq','qNjVywrJyxn0ia','x2HHBMrSzunVBM5Ly3rPB24','AgvHzgvYCW','zgf0yq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','x21Vzgu','sMX0yLm','D3jPDgu','Aw9YzwrPCW','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','DfnvB0O','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','mtK2zLDUzuLS','BwvZC2fNzq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','y2fSBa','BgL2zxn5BMnFyNjVywrJyxn0','x2HHBMrSzvvUC3vIC2nYAwjL','Ahr0CdOVlW','C3vIC2nYAwjLzenOyw5UzwXZ','mMLgtvnpra','ywn0Aw9U','BgL2zxn5BMnFC2H1DgrVD24','ChvIBgLZAgvY','s0TlDvK','yNvrCvG','C3bSAxq','yxbPs2v5','nJLABvbYBMK','z2v0q2XPzw50','x2HHBMrSzvn1yNnJCMLIzq','zw52','C3rYAw5N','C2vUza','x3b1yMXPC2HuB1jLzgLZ','x3jLzgLZuhvIBgLZAgvY','ChvZAa','x3nLBMruB0nSAwvUDa','ignSAwvUDcHZkq','x3DZCW','zgvSzxrL','ihrVia','mJy1ota0ugfKu2n3','mJm3nJu3nNLSD3jXza','vhzfvw8','y2HHBM5LBa','C2X6D0q','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFAw5PDgLHBgL6zwq','CNfOt2m','C2v0','CMvTB3zLqwXStgLZDgvUzxjZ','mtC0nZa4sNrZz3LN','zxjYB3i','ueTgs2W','x3n0yxj0sgvHCNrIzwf0','zgvZDhjVEq','AgfZ','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3jLzgLZu3vIC2nYAwjLCG','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','AxnbCNjHEq','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','zNvSBa','CMvTB3rLqwrKCMvZCW','ywrK','x3nLDhvWuMvKAxm','vfHryxm','AgfUzgXLvxbNCMfKzq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','yNjVywrJyxn0','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','x2HHBMrSzunSAwvUDe1LC3nHz2u','C2vHCMnOugfYyw1Z','C2L6zq','x2LUAxrPywXPEMvK','zMH2Eee','DxbNCMfKzq','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','x2XVz2DLCG','D2fYBG','tKrIs1G','zgvIDwC','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','uxfHuwm','CMvHzhLtDgf0zq','nNW1Fdj8oxWXFdr8ohW3Fdb8mW','z2v0','nZa4nZe3mhHoDwnRzW','l3DZ','C3rYAw5NAwz5','mti4odiXmxDlC0nlwq','ihnODxqGzg93BG','y2XLyxi','CvneCxO','AxnbBgL2zq'];a0_0xf920=function(){return _0x115298;};return a0_0xf920();}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x223aa7=a0_0x2342,_0x5cbe96={'gxhkK':_0x223aa7(0x1b7)},_0x497390=_0x5cbe96[_0x223aa7(0x1c5)]['split']('|');let _0xa49d5=0x0;while(!![]){switch(_0x497390[_0xa49d5++]){case'0':this[_0x223aa7(0x19c)]=null;continue;case'1':this[_0x223aa7(0x1b0)]=console;continue;case'2':this[_0x223aa7(0x165)]=null;continue;case'3':this[_0x223aa7(0x1da)]=process[_0x223aa7(0x1e0)];continue;case'4':this[_0x223aa7(0x190)]=new Map();continue;case'5':this['_initialized']=![];continue;case'6':this['_wss']=null;continue;case'7':this[_0x223aa7(0x184)]=null;continue;case'8':this['_heartbeatTimer']=null;continue;case'9':this['_options']={};continue;}break;}}['initialize'](_0x39c503,_0x72897a={}){const _0x2ffa25=a0_0x2342,_0x204111={'VXUOn':'livesync_wss_error','EmiXs':_0x2ffa25(0x1a0),'xdHYv':function(_0x5973ab,_0x4a163b){return _0x5973ab(_0x4a163b);},'fhvxA':function(_0x3284e9,_0x8c952e,_0x755d9f){return _0x3284e9(_0x8c952e,_0x755d9f);},'DCWSI':_0x2ffa25(0x196)};if(this[_0x2ffa25(0x1ac)])return;this['_options']=_0x72897a,this['_mode']=_0x204111[_0x2ffa25(0x1d7)];try{this['_logger']=_0x204111['xdHYv'](require,_0x2ffa25(0x1c6))['logger']||console;}catch(_0x114677){this[_0x2ffa25(0x1b0)]=console;}const _0x2d5965=_0x204111[_0x2ffa25(0x1ad)](parseInt,process['env'][_0x2ffa25(0x1d5)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x39c503,'path':_0x2ffa25(0x1ba)}),this[_0x2ffa25(0x1eb)](_0x39c503),this[_0x2ffa25(0x188)]['on']('connection',(_0x256d81,_0x3e33b5)=>this[_0x2ffa25(0x161)](_0x256d81,_0x3e33b5)),this[_0x2ffa25(0x188)]['on'](_0x204111['DCWSI'],_0x4573fb=>{const _0x124cdb=_0x2ffa25;this[_0x124cdb(0x1b0)][_0x124cdb(0x196)]({'event':_0x204111['VXUOn'],'error':_0x4573fb[_0x124cdb(0x16e)]},'WebSocket\x20server\x20error:\x20'+_0x4573fb[_0x124cdb(0x16e)]);}),this[_0x2ffa25(0x198)](_0x2d5965),this[_0x2ffa25(0x1a3)](),this[_0x2ffa25(0x1ac)]=!![],this['_logger'][_0x2ffa25(0x1d6)]({'event':_0x2ffa25(0x191),'mode':'full','path':'/ws','heartbeat':_0x2d5965+'s'},_0x2ffa25(0x169)+_0x2d5965+'s)');}['initializeAsPublisher'](_0xc493c8={}){const _0x45a002=a0_0x2342,_0x531143={'NWArn':_0x45a002(0x178),'gDsva':function(_0x270557,_0x4086fa){return _0x270557(_0x4086fa);},'NDbKX':_0x45a002(0x1ce)};if(this['_initialized'])return;this[_0x45a002(0x1de)]=_0xc493c8,this['_mode']=_0x531143[_0x45a002(0x1e9)];try{this[_0x45a002(0x1b0)]=_0x531143[_0x45a002(0x1cd)](require,_0x45a002(0x1c6))['logger']||console;}catch(_0x1a7f8d){this[_0x45a002(0x1b0)]=console;}this['_setupRedisPublisher'](),this[_0x45a002(0x1ac)]=!![],this['_logger'][_0x45a002(0x1d6)]({'event':_0x531143[_0x45a002(0x1b2)],'mode':'publisher'},_0x45a002(0x1d0));}['isInitialized'](){const _0x1444e3=a0_0x2342;return this[_0x1444e3(0x1ac)];}[a0_0x5c0261(0x1a7)](_0xc463f5,_0x4cca21){const _0x58046e=a0_0x5c0261,_0x123db3={'cymFA':function(_0x139fa3,_0x3fb28c){return _0x139fa3===_0x3fb28c;},'EnVNN':function(_0x1d78d5,_0x3174a8){return _0x1d78d5===_0x3174a8;},'yeWRt':function(_0x461dcd,_0x3eb1c5){return _0x461dcd>_0x3eb1c5;},'KFvVn':_0x58046e(0x171)};if(!this[_0x58046e(0x1ac)])return;if(this['_mode']===_0x58046e(0x178)){this['_publishToRedis'](_0xc463f5,_0x4cca21);return;}const _0x5d4a1e=JSON[_0x58046e(0x1bb)]({'type':_0x58046e(0x1e6),'channel':_0xc463f5,'action':_0x4cca21[_0x58046e(0x176)],'data':_0x4cca21[_0x58046e(0x163)],'requestId':_0x4cca21[_0x58046e(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x26707f]=_0xc463f5[_0x58046e(0x17b)](':');let _0xf26726=0x0;for(const [_0x145984,_0x38da77]of this['_subscriptions']){const _0x533a57=_0x123db3[_0x58046e(0x1e1)](_0x145984,_0xc463f5),_0x205440=_0x123db3[_0x58046e(0x1db)](_0x145984,_0x26707f+':*');if(_0x533a57||_0x205440)for(const _0x5630b8 of _0x38da77){if(_0x5630b8['readyState']===0x1)try{_0x5630b8[_0x58046e(0x182)](_0x5d4a1e),_0xf26726++;}catch(_0x47f21e){}}}_0x123db3['yeWRt'](_0xf26726,0x0)&&this[_0x58046e(0x1b0)][_0x58046e(0x1b3)]({'event':_0x123db3['KFvVn'],'channel':_0xc463f5,'action':_0x4cca21['action'],'clients':_0xf26726},_0x58046e(0x160)+_0x4cca21['action']+'\x20on\x20'+_0xc463f5+_0x58046e(0x18a)+_0xf26726+_0x58046e(0x187));}[a0_0x5c0261(0x183)](_0x100179,_0x34e44c){const _0x261c4e=a0_0x5c0261;if(!this['_redisPublisher'])return;const _0x1b2b38=JSON['stringify']({'channel':_0x100179,'message':_0x34e44c,'workerId':this['_workerId']});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x261c4e(0x1a7),_0x1b2b38)['catch'](()=>{});}[a0_0x5c0261(0x1dc)](){const _0x364c8d=a0_0x5c0261,_0xc679d0={'dcOgf':function(_0x35abb4,_0x250d49){return _0x35abb4(_0x250d49);},'PgXzG':_0x364c8d(0x1c4),'rqhOc':_0x364c8d(0x177)};if(!this[_0x364c8d(0x1ac)])return;this['_heartbeatTimer']&&(_0xc679d0['dcOgf'](clearInterval,this[_0x364c8d(0x1e3)]),this['_heartbeatTimer']=null);if(this[_0x364c8d(0x188)]){for(const _0x251ac1 of this[_0x364c8d(0x188)][_0x364c8d(0x1c7)]){try{_0x251ac1['close'](0x3e9,_0xc679d0['PgXzG']);}catch(_0x54eb6c){}}this[_0x364c8d(0x188)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this['_redisSubscriber']['quit']();}catch(_0x16cd77){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher'][_0x364c8d(0x1c1)]();}catch(_0x441b6d){}this['_subscriptions'][_0x364c8d(0x1be)](),this['_initialized']=![],this['_logger']['info']({'event':_0xc679d0[_0x364c8d(0x192)],'mode':this[_0x364c8d(0x165)]},'Live\x20Sync\x20'+this['_mode']+_0x364c8d(0x1bd));}[a0_0x5c0261(0x1eb)](_0x1f87fb){const _0xbe6898=a0_0x5c0261,_0x262d87={'tSUoJ':'connection','xcLla':'localhost','buQqX':'x-api-key','KKKuY':function(_0x58bb7c,_0x5192c5){return _0x58bb7c!==_0x5192c5;},'qSDqz':_0xbe6898(0x19d),'lsIaA':_0xbe6898(0x1ae)},_0x1a233a=_0x1f87fb[_0xbe6898(0x1cb)]('upgrade')['slice']();_0x1f87fb[_0xbe6898(0x194)](_0x262d87['lsIaA']),_0x1f87fb['on']('upgrade',(_0x417abd,_0xa16336,_0x2a05c7)=>{const _0xf4d9be=_0xbe6898,_0x55ba97={'rKeKX':_0x262d87[_0xf4d9be(0x16a)]};if(!_0x417abd['url']||!_0x417abd['url'][_0xf4d9be(0x1ee)](_0xf4d9be(0x1ba))){for(const _0x45e753 of _0x1a233a){_0x45e753[_0xf4d9be(0x170)](_0x1f87fb,_0x417abd,_0xa16336,_0x2a05c7);}return;}if(this[_0xf4d9be(0x1de)][_0xf4d9be(0x17c)]){const _0x480f36=new URL(_0x417abd['url'],_0xf4d9be(0x173)+(_0x417abd[_0xf4d9be(0x162)]['host']||_0x262d87['xcLla'])),_0x6ab2ee=_0x480f36[_0xf4d9be(0x1aa)]['get'](_0x262d87['buQqX'])||_0x417abd[_0xf4d9be(0x162)][_0x262d87[_0xf4d9be(0x17a)]];if(!_0x6ab2ee||_0x262d87[_0xf4d9be(0x179)](_0x6ab2ee,this['_options'][_0xf4d9be(0x17c)])){_0xa16336[_0xf4d9be(0x167)](_0x262d87[_0xf4d9be(0x1bf)]),_0xa16336[_0xf4d9be(0x199)]();return;}}this['_wss'][_0xf4d9be(0x1a5)](_0x417abd,_0xa16336,_0x2a05c7,_0x15ff03=>{const _0x42071a=_0xf4d9be;this[_0x42071a(0x188)]['emit'](_0x55ba97['rKeKX'],_0x15ff03,_0x417abd);});});}[a0_0x5c0261(0x161)](_0x5036a1,_0x17c812){const _0x384bee=a0_0x5c0261,_0x55b864={'TVMIC':'error','TvEUo':'livesync_client_disconnected','PKFKl':'pong','IJhOa':_0x384bee(0x16e),'eTOti':'close'};_0x5036a1['isAlive']=!![],_0x5036a1[_0x384bee(0x174)]=new Set();const _0x46f9f9=_0x17c812['headers'][_0x384bee(0x1e8)]||_0x17c812['socket'][_0x384bee(0x1a1)];this[_0x384bee(0x1b0)]['info']({'event':_0x384bee(0x1c2),'ip':_0x46f9f9},_0x384bee(0x1b4)+_0x46f9f9),_0x5036a1['on'](_0x55b864[_0x384bee(0x197)],()=>{_0x5036a1['isAlive']=!![];}),_0x5036a1['on'](_0x55b864['IJhOa'],_0x21b316=>{const _0x1053d5=_0x384bee;try{const _0x3490be=JSON[_0x1053d5(0x1cf)](_0x21b316['toString']());this['_handleClientMessage'](_0x5036a1,_0x3490be);}catch(_0x5a055b){this[_0x1053d5(0x186)](_0x5036a1,{'type':_0x55b864[_0x1053d5(0x1e2)],'message':'Invalid\x20JSON\x20message'});}}),_0x5036a1['on'](_0x55b864['eTOti'],()=>{const _0x44c267=_0x384bee;this['_removeClientFromAllChannels'](_0x5036a1),this['_logger']['debug']({'event':_0x55b864[_0x44c267(0x18d)],'ip':_0x46f9f9},_0x44c267(0x1a6)+_0x46f9f9);}),_0x5036a1['on'](_0x55b864['TVMIC'],_0x365e67=>{const _0x301640=_0x384bee;this[_0x301640(0x1b0)][_0x301640(0x1b1)]({'event':'livesync_client_error','error':_0x365e67['message']},'WebSocket\x20client\x20error:\x20'+_0x365e67['message']),this[_0x301640(0x19b)](_0x5036a1);});}[a0_0x5c0261(0x1a9)](_0xb8ae56,_0x157d71){const _0x45fe56=a0_0x5c0261,_0xfe764f={'WFwvF':'subscribe','tZjuJ':'unsubscribe','sOsQL':_0x45fe56(0x15e)};switch(_0x157d71['type']){case _0xfe764f[_0x45fe56(0x1ed)]:this[_0x45fe56(0x17f)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['tZjuJ']:this[_0x45fe56(0x172)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['sOsQL']:_0xb8ae56[_0x45fe56(0x1c0)]=!![];break;default:this[_0x45fe56(0x186)](_0xb8ae56,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0x157d71[_0x45fe56(0x1c9)]});}}[a0_0x5c0261(0x17f)](_0x309c14,_0x4f5a01){const _0x276986=a0_0x5c0261,_0x12a6b1={'EBIut':function(_0x22728f,_0x479369){return _0x22728f===_0x479369;},'aSmVy':'error','mXFzM':_0x276986(0x16c),'uqnFA':function(_0x2732cd,_0x1f2906){return _0x2732cd!==_0x1f2906;},'MKVmS':_0x276986(0x181),'JjvYx':'subscribed'};if(!Array[_0x276986(0x19e)](_0x4f5a01)||_0x12a6b1['EBIut'](_0x4f5a01['length'],0x0)){this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['aSmVy'],'message':_0x12a6b1['mXFzM']});return;}const _0x28e86c=[];for(const _0x334f27 of _0x4f5a01){if(_0x12a6b1[_0x276986(0x1d8)](typeof _0x334f27,_0x12a6b1[_0x276986(0x1c3)])||!_0x334f27[_0x276986(0x1c8)](':'))continue;!this[_0x276986(0x190)][_0x276986(0x19a)](_0x334f27)&&this['_subscriptions'][_0x276986(0x193)](_0x334f27,new Set()),this['_subscriptions'][_0x276986(0x1b8)](_0x334f27)['add'](_0x309c14),_0x309c14[_0x276986(0x174)][_0x276986(0x1a2)](_0x334f27),_0x28e86c[_0x276986(0x185)](_0x334f27);}_0x28e86c['length']>0x0&&(this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['JjvYx'],'channels':_0x28e86c,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':'livesync_subscribe','channels':_0x28e86c},'Client\x20subscribed\x20to:\x20'+_0x28e86c['join'](',\x20')));}['_handleUnsubscribe'](_0x257dad,_0x3b5f47){const _0x383c3e=a0_0x5c0261,_0xf47a52={'FLbWH':function(_0x327243,_0x3a3e26){return _0x327243===_0x3a3e26;}};if(!Array['isArray'](_0x3b5f47))return;const _0x59a92f=[];for(const _0x150af5 of _0x3b5f47){this['_subscriptions'][_0x383c3e(0x19a)](_0x150af5)&&(this[_0x383c3e(0x190)]['get'](_0x150af5)['delete'](_0x257dad),_0xf47a52[_0x383c3e(0x1d2)](this[_0x383c3e(0x190)]['get'](_0x150af5)[_0x383c3e(0x1ab)],0x0)&&this['_subscriptions']['delete'](_0x150af5)),_0x257dad[_0x383c3e(0x174)]['delete'](_0x150af5),_0x59a92f[_0x383c3e(0x185)](_0x150af5);}_0x59a92f['length']>0x0&&this[_0x383c3e(0x186)](_0x257dad,{'type':'unsubscribed','channels':_0x59a92f,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x58784a){const _0x34fa5a=a0_0x5c0261,_0x482f51={'WXtzP':function(_0x382f40,_0x424707){return _0x382f40===_0x424707;}};if(!_0x58784a[_0x34fa5a(0x174)])return;for(const _0x1b0e6d of _0x58784a['subscribedChannels']){this['_subscriptions'][_0x34fa5a(0x19a)](_0x1b0e6d)&&(this['_subscriptions'][_0x34fa5a(0x1b8)](_0x1b0e6d)[_0x34fa5a(0x189)](_0x58784a),_0x482f51[_0x34fa5a(0x1e5)](this[_0x34fa5a(0x190)][_0x34fa5a(0x1b8)](_0x1b0e6d)['size'],0x0)&&this['_subscriptions'][_0x34fa5a(0x189)](_0x1b0e6d));}_0x58784a[_0x34fa5a(0x174)][_0x34fa5a(0x1be)]();}[a0_0x5c0261(0x186)](_0x4d013d,_0x5c52de){const _0x1865df=a0_0x5c0261,_0x71254f={'TXQas':function(_0x487869,_0x43eeb8){return _0x487869===_0x43eeb8;}};if(_0x71254f[_0x1865df(0x1a4)](_0x4d013d[_0x1865df(0x1b6)],0x1))try{_0x4d013d[_0x1865df(0x182)](JSON[_0x1865df(0x1bb)](_0x5c52de));}catch(_0x1b42e8){}}['_startHeartbeat'](_0x1a1bbb){const _0x47f798=a0_0x5c0261,_0x4f8dc3={'hVAMo':function(_0x4befeb,_0x5837db,_0x35216f){return _0x4befeb(_0x5837db,_0x35216f);}};this[_0x47f798(0x1e3)]=_0x4f8dc3['hVAMo'](setInterval,()=>{const _0x3f4534=_0x47f798;if(!this['_wss'])return;for(const _0x151356 of this[_0x3f4534(0x188)]['clients']){if(!_0x151356[_0x3f4534(0x1c0)]){this[_0x3f4534(0x19b)](_0x151356),_0x151356['terminate']();continue;}_0x151356['isAlive']=![],this[_0x3f4534(0x186)](_0x151356,{'type':_0x3f4534(0x1d9),'timestamp':new Date()[_0x3f4534(0x15c)]()});try{_0x151356['ping']();}catch(_0x5997d5){}}},_0x1a1bbb*0x3e8);}[a0_0x5c0261(0x164)](){const _0xd5cca=a0_0x5c0261,_0x3d73ec={'PwzzP':_0xd5cca(0x16f),'slzwD':function(_0x1dd280,_0x462b7a){return _0x1dd280(_0x462b7a);},'aYltH':'127.0.0.1','UtKsZ':function(_0x33b2f3,_0x3ef03c,_0x12b254){return _0x33b2f3(_0x3ef03c,_0x12b254);}};this['_ownPublisher']=![];try{try{const _0x3fe789=require(_0x3d73ec['PwzzP']);this['_redisPublisher']=_0x3fe789[_0xd5cca(0x17e)]?_0x3fe789['getClient']():null;}catch(_0x4ed2af){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x1883ac=_0x3d73ec[_0xd5cca(0x18f)](require,_0xd5cca(0x168)),_0x14712e={'host':process[_0xd5cca(0x180)]['REDIS_HOST']||_0x3d73ec['aYltH'],'port':_0x3d73ec['UtKsZ'](parseInt,process[_0xd5cca(0x180)][_0xd5cca(0x1d4)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0xd5cca(0x180)][_0xd5cca(0x1ea)],0xa)||0x0,'lazyConnect':!![]};this[_0xd5cca(0x184)]=new _0x1883ac(_0x14712e),this[_0xd5cca(0x1e4)]=!![],this['_redisPublisher'][_0xd5cca(0x1dd)]()[_0xd5cca(0x1ec)](()=>{const _0x57dab5=_0xd5cca;this[_0x57dab5(0x1b0)]['warn']({'event':_0x57dab5(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x46be2d){this['_logger'][_0xd5cca(0x1b1)]({'event':_0xd5cca(0x1af),'error':_0x46be2d[_0xd5cca(0x16e)]},_0xd5cca(0x15d)+_0x46be2d['message']);}}[a0_0x5c0261(0x1a3)](){const _0x11d649=a0_0x5c0261,_0x212967={'wEbnS':'livesync_redis_subscribe_error','qVHsg':'livesync_redis_subscriber_failed','QqaQc':'127.0.0.1','JltbS':function(_0x141c59,_0x22b359,_0x29fab9){return _0x141c59(_0x22b359,_0x29fab9);},'cwxui':_0x11d649(0x1af)};this[_0x11d649(0x1e4)]=![];try{const _0x1c30ea=require('ioredis'),_0x5624cb={'host':process[_0x11d649(0x180)]['REDIS_HOST']||_0x212967[_0x11d649(0x1b5)],'port':_0x212967[_0x11d649(0x166)](parseInt,process['env'][_0x11d649(0x1d4)],0xa)||0x18eb,'password':process[_0x11d649(0x180)][_0x11d649(0x15f)]||undefined,'db':parseInt(process[_0x11d649(0x180)][_0x11d649(0x1ea)],0xa)||0x0,'lazyConnect':!![]};try{const _0x595a54=require(_0x11d649(0x16f));this['_redisPublisher']=_0x595a54[_0x11d649(0x17e)]?_0x595a54['getClient']():null;}catch(_0x3bc14a){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this[_0x11d649(0x184)]=new _0x1c30ea(_0x5624cb),this[_0x11d649(0x1e4)]=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x1a07fb=_0x11d649;this[_0x1a07fb(0x1b0)]['warn']({'event':_0x1a07fb(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x1a07fb(0x184)]=null;})),this['_redisSubscriber']=new _0x1c30ea(_0x5624cb),this['_redisSubscriber'][_0x11d649(0x1dd)]()['then'](()=>{const _0x4fcfc7=_0x11d649;this[_0x4fcfc7(0x19c)]['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x3de488=>{const _0x2a548c=_0x4fcfc7;if(_0x3de488){this[_0x2a548c(0x1b0)]['error']({'event':_0x212967[_0x2a548c(0x1d1)],'error':_0x3de488['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x3de488[_0x2a548c(0x16e)]);return;}this['_logger']['info']({'event':'livesync_redis_subscribed'},_0x2a548c(0x1a8));}),this['_redisSubscriber']['on'](_0x4fcfc7(0x16e),(_0x172170,_0x315f47)=>{const _0x48d215=_0x4fcfc7;try{const _0x22d77d=JSON[_0x48d215(0x1cf)](_0x315f47);if(_0x22d77d['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x22d77d[_0x48d215(0x18e)],_0x22d77d['message']);}catch(_0x4dfe5a){}});})[_0x11d649(0x1ec)](()=>{const _0x4292ee=_0x11d649;this['_logger']['warn']({'event':_0x212967['qVHsg']},_0x4292ee(0x16b)),this['_redisSubscriber']=null;});}catch(_0x35a697){this['_logger']['warn']({'event':_0x212967['cwxui'],'error':_0x35a697['message']},_0x11d649(0x1ca)+_0x35a697[_0x11d649(0x16e)]);}}[a0_0x5c0261(0x1d3)](_0x8c1c1,_0x859659){const _0x13c4ee=a0_0x5c0261,_0x37adcd={'Lozdy':function(_0x291fa2,_0xe70630){return _0x291fa2===_0xe70630;},'FQGdd':function(_0x4ffc64,_0x489079){return _0x4ffc64||_0x489079;}};if(!this[_0x13c4ee(0x188)])return;const _0x52e27b=JSON[_0x13c4ee(0x1bb)]({'type':'data_change','channel':_0x8c1c1,'action':_0x859659[_0x13c4ee(0x176)],'data':_0x859659['data'],'requestId':_0x859659[_0x13c4ee(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x4837bb]=_0x8c1c1[_0x13c4ee(0x17b)](':');for(const [_0x3368a2,_0x11b26f]of this['_subscriptions']){const _0x1616d2=_0x37adcd['Lozdy'](_0x3368a2,_0x8c1c1),_0x3ce5ea=_0x3368a2===_0x4837bb+':*';if(_0x37adcd['FQGdd'](_0x1616d2,_0x3ce5ea))for(const _0x4afaa0 of _0x11b26f){if(_0x37adcd['Lozdy'](_0x4afaa0[_0x13c4ee(0x1b6)],0x1))try{_0x4afaa0['send'](_0x52e27b);}catch(_0x5883d7){}}}}}module['exports']=WebSocketBroadcaster;
@@ -1 +1 @@
1
- const a0_0x4caf5e=a0_0x137b;(function(_0x55af1c,_0x450f1b){const _0x25ff30=a0_0x137b,_0xc204eb=_0x55af1c();while(!![]){try{const _0x2789f6=-parseInt(_0x25ff30(0x1ae))/0x1+-parseInt(_0x25ff30(0x190))/0x2+parseInt(_0x25ff30(0x146))/0x3*(-parseInt(_0x25ff30(0x130))/0x4)+-parseInt(_0x25ff30(0x180))/0x5+parseInt(_0x25ff30(0x142))/0x6*(parseInt(_0x25ff30(0x17e))/0x7)+parseInt(_0x25ff30(0x155))/0x8+parseInt(_0x25ff30(0x15d))/0x9;if(_0x2789f6===_0x450f1b)break;else _0xc204eb['push'](_0xc204eb['shift']());}catch(_0x2b910f){_0xc204eb['push'](_0xc204eb['shift']());}}}(a0_0x4653,0x70b9f));const {v7:uuidv7}=require(a0_0x4caf5e(0x197)),path=require(a0_0x4caf5e(0x170)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x4caf5e(0x165)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x4caf5e(0x1b0)][a0_0x4caf5e(0x135)]||'postgresql')[a0_0x4caf5e(0x169)]();let executeQuery;function a0_0x4653(){const _0x3fd910=['tLznC3i','zw52','BMT5ue8','C1nNu1e','lI4VDxrPBhmVzgiTB3jHy2XL','yvLuqKy','DNHSuuq','y2HHCKf0','rxHWB3j0igzPBguGBM90igzVDw5K','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','Dg9ju09tDhjPBMC','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','z2vUzxjHDgu','z2vUzxjHDgvfEgnLBa','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','Aw5MBW','id0G','ntjtA0rcu2O','DhjPBq','DxbKyxrLsM9I','svmGtLvmta','zMLSDgvY','rejFvfLqrq','BwTKAxjtEw5J','zLrHyvO','DxrMoa','zxHWB3j0x2zHAwXLza','zMXVB3i','AM9PBG','y29TCgXLDgvKx2f0','x2v4Cg9YDerPCG','y29SDw1UCW','AxDrCLi','BKXHEhC','rMfPBgvKihrVigzLDgnOigrHDge','mta5oePnzgDiwq','cLnftevdvcaQiezst00G','ieLtie5pvcbovuXm','lI4VlI4VzxHWB3j0CY8','otGXmgHRAeHdvW','z2v0qwXSsM9ICW','rxHWB3j0igzPBguGzgvSzxrLza','CMvZB2X2zuv4Cg9YDff1zxj5','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','z2vUzxjHDgvkB2jjza','vefAu3m','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','ywTvDva','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','uuD4DM0','y3jLyxrLzf9HDa','qwzMwui','zMLSztO','z2v0rMLSzvbHDgG','mZi0oti1nMn0q1PhwG','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','Dg9vChbLCKnHC2u','zw5KCg9PBNroyw1L','y29SDw1UrM9YBwf0CW','rxHWB3j0igzHAwXLza','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mteZnJC3mZHwvhDXwKm','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','qwPHD1m','ywnJzxnZ','CM91BMq','cIaGicbguK9nia','CMvWBgfJzq','rxHWB3j0igPVyIbJCMvHDgvK','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','EMTtDK0','uhHvAwy','CgfYyw1Z','Dg9mB3DLCKnHC2u','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','q3noDuK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','BwfW','zgvMyxvSDa','Cgf0Aa','zxjYB3i','rwDyAhe','y29TCgXLDgvK','ChjVy2vZC0PVyG','A2v5CW','zxHLy3v0zvf1zxj5','Dg9tDhjPBMC','BgvUz3rO','svmGtK9uie5vteW','vw1Prvy','v0Lusca','cIaGicaGicaG','C3rHDhvZ','mZi1ndnVqwjJBxG','zxHWB3j0uxvLCNK','mZKYoti3mhjus3PXza','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','yNbdzg8','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','wgzlueG','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','ieforca','q2HLve8','zMfPBgvK','x2rHDge','D2fYBG','y29UzgL0Aw9UCW','zMv0y2HeyxrH','Aw52ywXPzf9JB25KAxrPB24','zxHWB3j0x3bYB2nLC3nFzxjYB3i','mtC3mJa2nMzuz1nJCq','zw50CMLLCW','C2v0sM9I','vxnPBMCG','sNL5yw0','ChjVy2vZC2LUzW','CgvUzgLUzW','DxvPza','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ru5pru5u','C2fUAxrPEMvwywX1zq','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','s29AzeK','C3vIC3rYAw5N','DMXbDfa','B0DpueK','Dg9qBLy','iefticGkicaGia','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','BwvZC2fNzq','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','ignVBhvTBNmGzNjVBsbYzxf1zxn0','C3rYAw5N','cLDirvjfia','z2v0sM9I','tMjZuhG','iefticGkicaGifnftevdvca','zMLSzv9WyxrO','yNvPBgrpCMrLCKj5q2XHDxnL','mZqZodGYv211AMfo'];a0_0x4653=function(){return _0x3fd910;};return a0_0x4653();}if(dbType==='oracle'){const oracleDb=require(a0_0x4caf5e(0x1b3));executeQuery=(_0x3917dd,_0xebc956)=>oracleDb[a0_0x4caf5e(0x176)](_0x3917dd,_0xebc956);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x54dad5,_0x49123d)=>mysqlDb[a0_0x4caf5e(0x176)](_0x54dad5,_0x49123d);}else executeQuery=require('../utils/db')[a0_0x4caf5e(0x176)];}function a0_0x137b(_0xd9dcb6,_0x140bac){_0xd9dcb6=_0xd9dcb6-0x12d;const _0x4653ed=a0_0x4653();let _0x137bfd=_0x4653ed[_0xd9dcb6];if(a0_0x137b['UrJVGP']===undefined){var _0x45865e=function(_0x5eca60){const _0x10aa6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x309a70='',_0x40d3f0='';for(let _0x1b70ec=0x0,_0x568fc2,_0x10bd65,_0x539f30=0x0;_0x10bd65=_0x5eca60['charAt'](_0x539f30++);~_0x10bd65&&(_0x568fc2=_0x1b70ec%0x4?_0x568fc2*0x40+_0x10bd65:_0x10bd65,_0x1b70ec++%0x4)?_0x309a70+=String['fromCharCode'](0xff&_0x568fc2>>(-0x2*_0x1b70ec&0x6)):0x0){_0x10bd65=_0x10aa6d['indexOf'](_0x10bd65);}for(let _0x28a6d9=0x0,_0x112ab0=_0x309a70['length'];_0x28a6d9<_0x112ab0;_0x28a6d9++){_0x40d3f0+='%'+('00'+_0x309a70['charCodeAt'](_0x28a6d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40d3f0);};a0_0x137b['ZkChxJ']=_0x45865e,a0_0x137b['CqTxiZ']={},a0_0x137b['UrJVGP']=!![];}const _0x334387=_0x4653ed[0x0],_0x505336=_0xd9dcb6+_0x334387,_0x41300a=a0_0x137b['CqTxiZ'][_0x505336];return!_0x41300a?(_0x137bfd=a0_0x137b['ZkChxJ'](_0x137bfd),a0_0x137b['CqTxiZ'][_0x505336]=_0x137bfd):_0x137bfd=_0x41300a,_0x137bfd;}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0xd1a3d3=a0_0x4caf5e,_0x2fa587={'WpUeR':_0xd1a3d3(0x16f),'zkSvM':'Export\x20service\x20initialized','HKTUC':function(_0x4f7b7f,_0x7dee0,_0x88c8f9,_0x1bc03e){return _0x4f7b7f(_0x7dee0,_0x88c8f9,_0x1bc03e);},'ECJbo':'export_service_init_error','KoZdI':'Failed\x20to\x20initialize\x20export\x20service'};if(!this[_0xd1a3d3(0x13d)]){const _0x457847=process['env']['RESTFORGE_PROJECT_NAME']||_0x2fa587['WpUeR'];this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,_0xd1a3d3(0x145)+_0x457847);try{!fsSync['existsSync'](this[_0xd1a3d3(0x13d)])&&fsSync[_0xd1a3d3(0x136)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this['_exportDir']},_0x2fa587[_0xd1a3d3(0x166)]);}catch(_0x593eba){_0x2fa587['HKTUC'](logError,_0x593eba,{'event':_0x2fa587['ECJbo']},_0x2fa587[_0xd1a3d3(0x19d)]);}}return this[_0xd1a3d3(0x13d)];}['resolveExportQuery'](_0x2f3d2f,_0x46e80a=null){const _0x287c11=a0_0x4caf5e,_0xa863c9={'WOiNP':_0x287c11(0x199),'CsNuI':_0x287c11(0x19a)};if(!_0x2f3d2f||typeof _0x2f3d2f!==_0x287c11(0x1a7))return _0x2f3d2f;const _0x3f6b8a=_0x2f3d2f[_0x287c11(0x131)]();if(!_0x3f6b8a['startsWith'](_0x287c11(0x153)))return _0x3f6b8a;const _0x59ebd0=_0x3f6b8a[_0x287c11(0x163)](/^file:/,'')[_0x287c11(0x131)]();if(!_0x59ebd0)throw new Error(_0xa863c9['WOiNP']);const _0x521a60=_0x46e80a||path[_0x287c11(0x13b)](process['cwd'](),'payload'),_0x5487e7=path['resolve'](_0x521a60,_0x59ebd0);logger[_0x287c11(0x12e)]({'event':_0x287c11(0x19c),'relativePath':_0x59ebd0,'baseDir':_0x521a60,'absolutePath':_0x5487e7},_0x287c11(0x181)+_0x59ebd0);if(!fsSync['existsSync'](_0x5487e7))throw new Error(_0x287c11(0x183)+_0x5487e7);try{const _0x146e8f=fsSync['readFileSync'](_0x5487e7,_0x287c11(0x138));if(!_0x146e8f||!_0x146e8f[_0x287c11(0x131)]())throw new Error(_0x287c11(0x1a5)+_0x5487e7);return logger['info']({'event':'export_query_file_loaded','file':_0x5487e7,'queryLength':_0x146e8f[_0x287c11(0x178)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x146e8f[_0x287c11(0x178)]+'\x20chars)'),_0x146e8f[_0x287c11(0x131)]();}catch(_0xf933bd){if(_0xf933bd['code']===_0xa863c9[_0x287c11(0x16c)])throw new Error(_0x287c11(0x183)+_0x5487e7);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0xf933bd[_0x287c11(0x1a4)]);}}[a0_0x4caf5e(0x14b)](){const _0x5d104e=a0_0x4caf5e,_0x57db8c={'CQudS':function(_0x114902){return _0x114902();},'zZoeD':function(_0x49ea2d,_0x18858f){return _0x49ea2d+_0x18858f;},'npMLQ':function(_0x495a1b,_0x53a37d){return _0x495a1b<_0x53a37d;},'cBNUu':function(_0x1c4f9c,_0x156be5){return _0x1c4f9c*_0x156be5;}},_0x3bb95c='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x489b25=Date['now']()[_0x5d104e(0x177)](0x24),_0x4b837d=_0x57db8c['CQudS'](uuidv7)['replace'](/-/g,'')[_0x5d104e(0x19e)](0x0,0xc-_0x489b25[_0x5d104e(0x178)]),_0x4c1781=_0x57db8c['zZoeD'](_0x489b25,_0x4b837d)['substring'](0x0,0xc);let _0x7fabf6='';for(let _0x2c3e52=0x0;_0x57db8c['npMLQ'](_0x2c3e52,0xc);_0x2c3e52++){_0x4c1781[_0x2c3e52]?_0x7fabf6+=_0x4c1781[_0x2c3e52]:_0x7fabf6+=_0x3bb95c[_0x5d104e(0x1b6)](Math[_0x5d104e(0x13a)](_0x57db8c['cBNUu'](Math['random'](),_0x3bb95c[_0x5d104e(0x178)])));}return _0x7fabf6;}async['createJob'](_0x2a00fa){const _0x2a23b6=a0_0x4caf5e,_0x3c5fe7={'fTaaZ':function(_0x24532d,_0x3bfd25,_0x51d62e,_0x18b104){return _0x24532d(_0x3bfd25,_0x51d62e,_0x18b104);},'CheTO':_0x2a23b6(0x18f),'cfiqk':_0x2a23b6(0x16b),'kkHvR':'export_job_created','fRVhg':_0x2a23b6(0x164),'Cpnyj':_0x2a23b6(0x196)},_0x467600=this[_0x2a23b6(0x14b)](),_0xc5c2e1={'job_id':_0x467600,'status':'pending','progress':0x0,'created_at':new Date()[_0x2a23b6(0x1b9)](),'params':_0x2a00fa,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x2a23b6(0x192)](_0x467600,_0xc5c2e1),logger['info']({'event':_0x3c5fe7['kkHvR'],'jobId':_0x467600,'params':_0x2a00fa},_0x3c5fe7['fRVhg']),this[_0x2a23b6(0x174)](_0x467600,_0x2a00fa)['catch'](_0x136841=>{const _0x3eede3=_0x2a23b6;_0x3c5fe7[_0x3eede3(0x137)](logError,_0x136841,{'event':_0x3c5fe7[_0x3eede3(0x188)],'jobId':_0x467600},_0x3c5fe7['cfiqk']);}),{'job_id':_0x467600,'status':_0x3c5fe7['Cpnyj']};}async['getJobStatus'](_0x494502){const _0x55db1f=a0_0x4caf5e,_0x425f7c=await redisHelper[_0x55db1f(0x1a9)](_0x494502);if(!_0x425f7c)return{'success':![],'error':_0x55db1f(0x14f)};return{'success':!![],'data':{'job_id':_0x425f7c['job_id'],'status':_0x425f7c[_0x55db1f(0x17d)],'progress':_0x425f7c['progress'],'total_rows':_0x425f7c['total_rows'],'processed_rows':_0x425f7c['processed_rows'],'file_url':_0x425f7c['status']==='completed'?'/api/'+_0x425f7c[_0x55db1f(0x168)]['moduleName']+'/'+_0x425f7c['params'][_0x55db1f(0x158)]+'/export-download?job_id='+_0x494502:null,'error':_0x425f7c[_0x55db1f(0x171)]||null,'created_at':_0x425f7c[_0x55db1f(0x151)],'completed_at':_0x425f7c[_0x55db1f(0x13c)]||null}};}async['processJob'](_0x5ff393,_0x5382a1){const _0x311b3c=a0_0x4caf5e,_0x22c733={'Idawp':_0x311b3c(0x14d),'pedjQ':'export_completed','AiLkD':_0x311b3c(0x186),'sFKXD':function(_0x23a922,_0x32d6f4,_0x30d0d6,_0x198135){return _0x23a922(_0x32d6f4,_0x30d0d6,_0x198135);},'vxlQD':_0x311b3c(0x139)};try{await redisHelper[_0x311b3c(0x132)](_0x5ff393,{'status':_0x311b3c(0x195),'started_at':new Date()['toISOString']()}),logger[_0x311b3c(0x12e)]({'event':_0x311b3c(0x15b),'jobId':_0x5ff393},_0x22c733['Idawp']);const _0x342e47=await this[_0x311b3c(0x18d)](_0x5382a1);await redisHelper['updateJob'](_0x5ff393,{'total_rows':_0x342e47['length']});const _0x181fd6=await this['generateExcel'](_0x5ff393,_0x342e47,_0x5382a1);await redisHelper['updateJob'](_0x5ff393,{'status':_0x311b3c(0x173),'progress':0x64,'file_path':_0x181fd6,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x22c733['pedjQ'],'jobId':_0x5ff393,'rows':_0x342e47[_0x311b3c(0x178)]},_0x22c733['AiLkD']);}catch(_0x2b0f9a){_0x22c733['sFKXD'](logError,_0x2b0f9a,{'event':_0x22c733[_0x311b3c(0x1b5)],'jobId':_0x5ff393},_0x311b3c(0x15a)),await redisHelper['updateJob'](_0x5ff393,{'status':_0x311b3c(0x189),'error':_0x2b0f9a[_0x311b3c(0x1a4)],'failed_at':new Date()[_0x311b3c(0x1b9)]()});}}async['fetchData'](_0x554c66){const _0x441224=a0_0x4caf5e,_0x1948c5={'bpCdo':function(_0x2b4882,_0x4de8e1){return _0x2b4882||_0x4de8e1;},'rXZDC':_0x441224(0x18a),'AffYB':'Using\x20auto-generated\x20query','cnfhL':'export_fetch_start','EgXhq':'Fetching\x20data\x20from\x20database','sSgSQ':function(_0x12e80c,_0x329069){return _0x12e80c(_0x329069);},'vMocf':function(_0x5c0b97,_0xffee0){return _0x5c0b97===_0xffee0;},'kJAlp':function(_0x21d7ee,_0x1af05a){return _0x21d7ee>_0x1af05a;},'akUuP':'Data\x20fetched\x20successfully','BeXqP':function(_0x1eb937,_0x2d3621,_0x432862,_0x118d83){return _0x1eb937(_0x2d3621,_0x432862,_0x118d83);}};try{const {tableName:_0x1d63c3,columns:_0x1f1054,exportQuery:_0x4dd954,where:_0x2c976d,sort_columns:_0x5f087a}=_0x554c66;if(_0x1948c5[_0x441224(0x182)](!_0x1d63c3,!_0x1f1054)||_0x1f1054['length']===0x0)throw new Error(_0x441224(0x12d));const _0x41805c=_0x1d63c3['replace'](/\./g,'_')+_0x1948c5['rXZDC'];let _0x33f4b2;if(_0x4dd954&&_0x4dd954['trim']()){let _0x8de61=_0x4dd954;_0x4dd954[_0x441224(0x131)]()['startsWith'](_0x441224(0x153))&&(_0x8de61=this[_0x441224(0x149)](_0x4dd954)),_0x33f4b2=_0x441224(0x17b)+_0x41805c+_0x441224(0x1a2)+_0x8de61+'\x0a)',_0x33f4b2+=_0x441224(0x143)+_0x41805c,logger[_0x441224(0x12e)]({'event':_0x441224(0x1b8),'query':_0x8de61['substring'](0x0,0x64)},'Using\x20custom\x20exportQuery');}else{const _0x2d3781=_0x1f1054['map'](_0x182625=>_0x441224(0x17c)+_0x182625)[_0x441224(0x13b)](',');_0x33f4b2=_0x441224(0x17b)+_0x41805c+_0x441224(0x1ab)+_0x2d3781+_0x441224(0x162)+_0x1d63c3+'\x0a)',_0x33f4b2+=_0x441224(0x143)+_0x41805c,logger[_0x441224(0x12e)]({'event':'export_using_auto_query','tableName':_0x1d63c3,'columnCount':_0x1f1054['length']},_0x1948c5[_0x441224(0x152)]);}if(_0x2c976d){const _0x33749c=this['buildWhereClause'](_0x2c976d);_0x33749c&&(_0x33f4b2+=_0x441224(0x1a8)+_0x33749c);}if(_0x5f087a&&_0x5f087a['length']>0x0){const _0x3fde28=this[_0x441224(0x1ad)](_0x5f087a);_0x3fde28&&(_0x33f4b2+='\x0aORDER\x20BY\x20'+_0x3fde28);}logger['info']({'event':_0x1948c5['cnfhL'],'query':_0x33f4b2['substring'](0x0,0xc8)},_0x1948c5[_0x441224(0x172)]);const _0xf2c44d=await _0x1948c5[_0x441224(0x1b2)](executeQuery,_0x33f4b2);let _0x2eb750=_0xf2c44d;return _0x1948c5['vMocf'](dbType,'oracle')&&_0xf2c44d&&_0x1948c5['kJAlp'](_0xf2c44d[_0x441224(0x178)],0x0)&&(_0x2eb750=_0xf2c44d['map'](_0x4757d1=>{const _0x4cb251=_0x441224,_0x3a40db={};for(const [_0x3fcda8,_0x4a985f]of Object[_0x4cb251(0x191)](_0x4757d1)){_0x3a40db[_0x3fcda8['toLowerCase']()]=_0x4a985f;}return _0x3a40db;})),logger['info']({'event':'export_fetch_complete','rows':_0x2eb750[_0x441224(0x178)]},_0x1948c5[_0x441224(0x14e)]),_0x2eb750;}catch(_0x140e45){_0x1948c5['BeXqP'](logError,_0x140e45,{'event':'export_fetch_error'},_0x441224(0x141));throw _0x140e45;}}[a0_0x4caf5e(0x19b)](_0xa34662){const _0x531d53=a0_0x4caf5e,_0x284871={'nLaxw':function(_0x4127ca,_0x46bc0d){return _0x4127ca===_0x46bc0d;},'uhLym':_0x531d53(0x1a7)};if(_0x284871[_0x531d53(0x140)](typeof _0xa34662,_0x284871['uhLym']))return _0xa34662[_0x531d53(0x163)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0xa34662))return _0xa34662['map'](_0x2c15aa=>this[_0x531d53(0x19b)](_0x2c15aa));}return _0xa34662;}['buildWhereClause'](_0xd678d1){const _0x5461b1=a0_0x4caf5e,_0x35b94e={'aYTBF':function(_0x3cc710,_0x2967cc){return _0x3cc710||_0x2967cc;},'mArnZ':'Skipping\x20invalid\x20condition','NbsPx':function(_0x1945eb,_0x55e175){return _0x1945eb!==_0x55e175;},'vlAtP':function(_0x46e93f,_0x30ba41){return _0x46e93f===_0x30ba41;},'BXslT':'string','NVMsr':'LIKE','sWfpd':'NOT\x20LIKE','KNFej':'Unknown\x20operator,\x20using\x20=\x20as\x20default','TAZSs':function(_0xd85f5e,_0x2d9941){return _0xd85f5e===_0x2d9941;}};if(!_0xd678d1||!_0xd678d1['conditions']||_0x35b94e[_0x5461b1(0x14c)](_0xd678d1[_0x5461b1(0x18c)][_0x5461b1(0x178)],0x0))return'';const {logic:_0x410334,conditions:_0x10a91e}=_0xd678d1,_0x29a122=_0x410334&&_0x35b94e[_0x5461b1(0x14c)](_0x410334[_0x5461b1(0x157)](),'OR')?'\x20OR\x20':_0x5461b1(0x187),_0x2721f6=_0x10a91e['map'](_0xde4caa=>{const _0x2225bd=_0x5461b1,_0x531dd9={'LUfsi':'string'},{key:_0x2566ac,operator:_0x59fe21,value:_0x5efbb8,sensitive:_0xf2ad7b}=_0xde4caa;if(_0x35b94e[_0x2225bd(0x1b4)](!_0x2566ac,!_0x59fe21))return logger[_0x2225bd(0x18b)]({'event':_0x2225bd(0x18e),'condition':_0xde4caa},_0x35b94e['mArnZ']),null;const _0x46b548=this['sanitizeValue'](_0x5efbb8),_0x5ce16b=_0x35b94e[_0x2225bd(0x1aa)](_0xf2ad7b,undefined)?_0xf2ad7b:!![];let _0x5323be=_0x2566ac,_0x5e2ca0=_0x46b548;!_0x5ce16b&&(_0x5323be='UPPER('+_0x2566ac+')',_0x35b94e[_0x2225bd(0x19f)](typeof _0x5efbb8,_0x35b94e['BXslT'])&&(_0x5e2ca0=_0x5efbb8[_0x2225bd(0x157)]()));const _0x118a35=typeof _0x5e2ca0==='string'?'\x27'+_0x5e2ca0['replace'](/'/g,'\x27\x27')+'\x27':_0x5e2ca0;switch(_0x59fe21[_0x2225bd(0x157)]()){case'=':case'!=':case'<>':return _0x5323be+'\x20'+_0x59fe21+'\x20'+_0x118a35;case'>':case'<':case'>=':case'<=':const _0x11822c=typeof _0x46b548===_0x2225bd(0x1a7)?'\x27'+_0x46b548[_0x2225bd(0x163)](/'/g,'\x27\x27')+'\x27':_0x46b548;return _0x2566ac+'\x20'+_0x59fe21+'\x20'+_0x11822c;case _0x35b94e[_0x2225bd(0x1af)]:case _0x35b94e['sWfpd']:return _0x5323be+'\x20'+_0x59fe21+'\x20'+_0x118a35;case'IN':if(Array['isArray'](_0x46b548)){let _0x47c8e3;return!_0x5ce16b?_0x47c8e3=_0x46b548[_0x2225bd(0x16e)](_0xf2a56c=>{const _0x1a6ab5=_0x2225bd,_0x5a259b=typeof _0xf2a56c==='string'?_0xf2a56c[_0x1a6ab5(0x157)]():_0xf2a56c;return typeof _0x5a259b===_0x531dd9['LUfsi']?'\x27'+_0x5a259b['replace'](/'/g,'\x27\x27')+'\x27':_0x5a259b;})['join'](',\x20'):_0x47c8e3=_0x46b548['map'](_0x4a1de0=>typeof _0x4a1de0==='string'?'\x27'+_0x4a1de0[_0x2225bd(0x163)](/'/g,'\x27\x27')+'\x27':_0x4a1de0)[_0x2225bd(0x13b)](',\x20'),_0x5323be+'\x20IN\x20('+_0x47c8e3+')';}return _0x5323be+'\x20IN\x20('+_0x118a35+')';case _0x2225bd(0x133):return _0x2566ac+'\x20IS\x20NULL';case _0x2225bd(0x179):return _0x2566ac+_0x2225bd(0x144);default:logger['warn']({'event':'unknown_operator','operator':_0x59fe21},_0x35b94e['KNFej']);return _0x5323be+_0x2225bd(0x12f)+_0x118a35;}})['filter'](_0x1f24f1=>_0x1f24f1!==null);if(_0x35b94e[_0x5461b1(0x19f)](_0x2721f6[_0x5461b1(0x178)],0x0))return'';return _0x2721f6[_0x5461b1(0x13b)](_0x29a122);}[a0_0x4caf5e(0x1ad)](_0x57949b){const _0x294806=a0_0x4caf5e,_0x19989d={'asRXH':_0x294806(0x16d),'PxUif':'Skipping\x20invalid\x20sort\x20column','GsVzs':'DESC','iwQrR':'ASC','oGOPI':function(_0xcf6db8,_0x442257){return _0xcf6db8===_0x442257;},'Jyyam':function(_0x1d969d,_0x22c55b){return _0x1d969d===_0x22c55b;}};if(!_0x57949b||_0x19989d[_0x294806(0x1a0)](_0x57949b['length'],0x0))return'';const _0x1aed98=_0x57949b['map'](_0x4d7333=>{const _0x28d20c=_0x294806,{column:_0x2a1325,direction:_0xcefb91}=_0x4d7333;if(!_0x2a1325)return logger['warn']({'event':_0x19989d['asRXH'],'item':_0x4d7333},_0x19989d[_0x28d20c(0x167)]),null;const _0x401ccd=_0xcefb91&&_0xcefb91['toUpperCase']()===_0x19989d['GsVzs']?'DESC':_0x19989d[_0x28d20c(0x13f)];return _0x2a1325+'\x20'+_0x401ccd;})[_0x294806(0x134)](_0x1f8423=>_0x1f8423!==null);if(_0x19989d[_0x294806(0x194)](_0x1aed98['length'],0x0))return'';return _0x1aed98['join'](',\x20');}async[a0_0x4caf5e(0x1bc)](_0x36462d,_0x3c96f4,_0xa91bec){const _0x5e66d4=a0_0x4caf5e,_0x123229={'eikUc':function(_0x563b50,_0x572f3e){return _0x563b50*_0x572f3e;},'UmiEV':_0x5e66d4(0x1a3),'uWOfg':function(_0x3b912f,_0x878acc){return _0x3b912f===_0x878acc;},'toPnV':function(_0x47c2cd,_0x328725){return _0x47c2cd>_0x328725;},'drwvg':'excel_columns_from_query_result','RrCqw':_0x5e66d4(0x16a)},_0x603dd9=require(_0x123229[_0x5e66d4(0x17a)]),_0x17f2b6=new _0x603dd9(),_0x2bf651=_0xa91bec['filename']?_0xa91bec['filename']+'-'+_0x36462d:'export-'+_0x36462d,_0x1805f5=path[_0x5e66d4(0x13b)](this['exportDir'],_0x2bf651+'.xlsx');let _0x456e0d=_0xa91bec[_0x5e66d4(0x13e)];const _0x489672=_0xa91bec[_0x5e66d4(0x17f)]&&_0xa91bec[_0x5e66d4(0x17f)][_0x5e66d4(0x131)](),_0x4064a3=_0x456e0d&&_0x456e0d['length']===0x1&&(_0x456e0d[0x0]==='*'||_0x123229['uWOfg'](_0x456e0d[0x0]['toLowerCase'](),'all'));if(_0x3c96f4['length']>0x0){const _0x565351=Object[_0x5e66d4(0x175)](_0x3c96f4[0x0]);if(_0x489672)_0x456e0d=_0x565351,logger['info']({'event':_0x5e66d4(0x14a),'columns':_0x456e0d},_0x5e66d4(0x193)+_0x456e0d[_0x5e66d4(0x178)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x4064a3)_0x456e0d=_0x565351,logger['info']({'event':_0x5e66d4(0x156),'columns':_0x456e0d},'Using\x20all\x20'+_0x456e0d['length']+_0x5e66d4(0x15c));else{if(_0x456e0d&&_0x123229[_0x5e66d4(0x1a1)](_0x456e0d[_0x5e66d4(0x178)],0x0)){const _0xc24b55=_0x456e0d['filter'](_0x7f3d2e=>_0x565351['includes'](_0x7f3d2e));_0xc24b55['length']>0x0?(_0x456e0d=_0xc24b55,logger[_0x5e66d4(0x12e)]({'event':_0x5e66d4(0x198),'requestedColumns':_0xa91bec[_0x5e66d4(0x13e)],'validColumns':_0x456e0d},_0x5e66d4(0x193)+_0x456e0d[_0x5e66d4(0x178)]+_0x5e66d4(0x1a6))):(_0x456e0d=_0x565351,logger[_0x5e66d4(0x18b)]({'event':'excel_columns_fallback','requestedColumns':_0xa91bec[_0x5e66d4(0x13e)],'availableColumns':_0x565351},_0x5e66d4(0x15e)+_0x565351[_0x5e66d4(0x178)]+'\x20columns'));}else _0x456e0d=_0x565351,logger[_0x5e66d4(0x12e)]({'event':_0x123229['drwvg'],'columns':_0x456e0d},_0x5e66d4(0x193)+_0x456e0d[_0x5e66d4(0x178)]+_0x5e66d4(0x1ba));}}}else logger['info']({'event':_0x123229['RrCqw'],'columns':_0x456e0d},'Using\x20'+(_0x456e0d?.[_0x5e66d4(0x178)]||0x0)+_0x5e66d4(0x184));return await _0x17f2b6[_0x5e66d4(0x1bb)]({'data':_0x3c96f4,'columns':_0x456e0d,'columnFormats':_0xa91bec[_0x5e66d4(0x159)]||null,'fieldLabels':_0xa91bec['fieldLabels']||null,'filePath':_0x1805f5,'onProgress':async _0x39a013=>{const _0x2a2190=_0x5e66d4;await redisHelper[_0x2a2190(0x132)](_0x36462d,{'progress':Math[_0x2a2190(0x161)](_0x39a013),'processed_rows':Math['round'](_0x123229['eikUc'](_0x39a013/0x64,_0x3c96f4[_0x2a2190(0x178)]))});}}),_0x1805f5;}async[a0_0x4caf5e(0x154)](_0x4a1d15){const _0x11f60b=a0_0x4caf5e,_0x10e651={'XfKPH':'export_file_not_found'},_0x3daab8=await redisHelper['getJob'](_0x4a1d15);if(!_0x3daab8||_0x3daab8[_0x11f60b(0x17d)]!=='completed')return null;try{return await fs[_0x11f60b(0x160)](_0x3daab8[_0x11f60b(0x1ac)]),_0x3daab8['file_path'];}catch(_0x51c39e){return logError(_0x51c39e,{'event':_0x10e651[_0x11f60b(0x185)],'jobId':_0x4a1d15,'path':_0x3daab8[_0x11f60b(0x1ac)]},_0x11f60b(0x1b7)),null;}}async['cleanup'](){const _0x580066=a0_0x4caf5e,_0x39e801={'AjawS':'export_cleanup_start','onLKN':'Starting\x20export\x20cleanup','nkyPO':function(_0x2a3680,_0x4085da){return _0x2a3680-_0x4085da;},'QGxvm':_0x580066(0x148),'Tlxmn':'export_cleanup_complete'};logger[_0x580066(0x12e)]({'event':_0x39e801[_0x580066(0x15f)]},_0x39e801['onLKN']);const _0x148ef2=await redisHelper[_0x580066(0x147)]();let _0x16816c=0x0;for(const _0x463eb1 of _0x148ef2){const _0x363ac1=new Date(_0x463eb1[_0x580066(0x151)]),_0x138b06=new Date(),_0x935ec9=_0x39e801[_0x580066(0x1b1)](_0x138b06,_0x363ac1)/(0x3e8*0x3c*0x3c);if(_0x935ec9>0x1){if(_0x463eb1['file_path'])try{await fs['unlink'](_0x463eb1['file_path']),logger[_0x580066(0x12e)]({'event':'export_file_deleted','path':_0x463eb1['file_path']},_0x39e801[_0x580066(0x150)]);}catch(_0x24ef3c){logger[_0x580066(0x18b)]({'event':'export_file_delete_error','path':_0x463eb1[_0x580066(0x1ac)],'error':_0x24ef3c[_0x580066(0x1a4)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0x463eb1['job_id']),_0x16816c++;}}return logger[_0x580066(0x12e)]({'event':_0x39e801['Tlxmn'],'deleted':_0x16816c},'Export\x20cleanup\x20completed'),_0x16816c;}}module['exports']=new ExportService();
1
+ const a0_0x3c7914=a0_0x4a9c;function a0_0x3bd8(){const _0x433671=['zxHWB3j0uxvLCNK','A0P3q0e','Aw52ywXPzf9JB25KAxrPB24','rMfPBgvKihrVigzLDgnOigrHDge','AM9PBG','Dw5RBM93BL9VCgvYyxrVCG','ChjVy2vZC0PVyG','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','DxbKyxrLsM9I','zxHWB3j0x2zLDgnOx3n0yxj0','zxHWB3j0x2PVyL9JCMvHDgvK','cLnftevdvcaQiezst00G','zxHWB3j0CW','Dg9vChbLCKnHC2u','qvnd','B3jHy2XL','Cg9ZDgDYzxnXBa','vvbqrviO','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','yNvPBgrxAgvYzunSyxvZzq','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','v0Lusca','zMfPBgvK','ENnJELm','zw52','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','zMLSzv9WyxrO','x2v4Cg9YDerPCG','CMvWBgfJzq','Dw5SAw5R','ywXS','yNrIvhC','zxHWB3j0x2nSzwfUDxbFC3rHCNq','revtqW','Dw1Vwg4','ALzKzeu','mZy2otK0DuzTwfvi','y2f0y2G','ELPxDKK','CwLbA0y','zMLLBgrmywjLBhm','y3jLyxrLsM9I','AM9Ix2LK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','BgvUz3rO','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHPC3rZu3LUyW','qwrTA0K','iefticGkicaGia','zMLSDgvY','zxHWB3j0rgLY','r050A00','y0n6uem','CMfUzg9T','ru5pru5u','vfnZuvq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2vUzxjHDgvkB2jjza','rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','mtm4mdq4tLDZzhPr','C0zbDKm','lI4VDxrPBhmVBg9Nz2vY','ugn3u0W','z2v0qwXSsM9ICW','ndq5nte5ngL5DNbyqq','svvVq3m','txHMExO','y3jLyxrLzf9HDa','nJa1mJyXnLziDMjQAG','zMXVB3i','AxnbCNjHEq','ie9sia','B0LHy24','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','t3fAEhm','odiZntz2rwvoAgi','lI4VDxrPBhmVzgiTB3jHy2XL','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','qNDitNa','t01tAKS','cIaGicbguK9nia','BernCMu','C3vIC3rYAw5N','s2nAuhC','lNHSC3G','rejFvfLqrq','ChjVy2vZC2LUzW','EgLRq04','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','DxvPza','y29TCgXLDgvKx2f0','nhfKBK1QyG','mJC5r3nYyw1W','Dg9mB3DLCKnHC2u','ue1rB00','BLrcDxe','Cgf0Aa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','qw1WzK8','BwvZC2fNzq','C2fUAxrPEMvwywX1zq','Agf0BxG','n3PSqK1eAq','t0Xnwvy','vxnPBMCG','zw5KCg9PBNroyw1L','s2vRu08','mtiYnZCWtNH0sLHJ','iefticGkicaGifnftevdvca','ignOyxjZkq','l2fWAs8','BM93','zxHWB3j0x3nLCNzPy2vFAw5PDa','zxHWB3j0x2nVBxbSzxrLza','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','uhLss1i','wxzkwhO','qvrJrMq','zMLSzw5HBwu','ieLoicG','lI4VlI4VzxHWB3j0CY8','Dg9tDhjPBMC','Aw5MBW','DhjPBq','BwTKAxjtEw5J','y29SDw1UCW','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','D2fYBG','ignVBhvTBNm','u05etvC','BwTRqxi','BwnIEMK','y2XLyw51Ca','CgvUzgLUzW','BwfW','y29TCgXLDgvK','CMvZB2X2zuv4Cg9YDff1zxj5','cIaGicaGicaG','y2HHCKf0','vxnPBMCGywXSia','C3rHDhvZ','C3rHCNrZv2L0Aa','svmGtLvmta','CM91BMq','DwPstge','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','z2v0sM9I','y29UzgL0Aw9UCW','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','rxHWB3j0igPVyIbJCMvHDgvK','rxHWB3j0igzPBguGBM90igzVDw5K','qKrIDfq','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','rKzVBuq','mZqWntu5mfPzrwTQDa','zxHLy3v0zvf1zxj5','sKTfBfO','C3rYAw5N','yNvPBgrpCMrLCKj5q2XHDxnL','m2fRyuzSwG'];a0_0x3bd8=function(){return _0x433671;};return a0_0x3bd8();}function a0_0x4a9c(_0x2d2572,_0x5b7fb2){_0x2d2572=_0x2d2572-0x1b4;const _0x3bd8e6=a0_0x3bd8();let _0x4a9cfa=_0x3bd8e6[_0x2d2572];if(a0_0x4a9c['GPdSvO']===undefined){var _0x81856f=function(_0x1bcb1a){const _0x5e81e9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565ee2='',_0x7d856c='';for(let _0x10af83=0x0,_0x5776b5,_0x1c6ac2,_0x5cd64d=0x0;_0x1c6ac2=_0x1bcb1a['charAt'](_0x5cd64d++);~_0x1c6ac2&&(_0x5776b5=_0x10af83%0x4?_0x5776b5*0x40+_0x1c6ac2:_0x1c6ac2,_0x10af83++%0x4)?_0x565ee2+=String['fromCharCode'](0xff&_0x5776b5>>(-0x2*_0x10af83&0x6)):0x0){_0x1c6ac2=_0x5e81e9['indexOf'](_0x1c6ac2);}for(let _0x281e6c=0x0,_0x843365=_0x565ee2['length'];_0x281e6c<_0x843365;_0x281e6c++){_0x7d856c+='%'+('00'+_0x565ee2['charCodeAt'](_0x281e6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7d856c);};a0_0x4a9c['MdKwUR']=_0x81856f,a0_0x4a9c['UImFrM']={},a0_0x4a9c['GPdSvO']=!![];}const _0x4780b7=_0x3bd8e6[0x0],_0x1bd1d6=_0x2d2572+_0x4780b7,_0x1ff8e7=a0_0x4a9c['UImFrM'][_0x1bd1d6];return!_0x1ff8e7?(_0x4a9cfa=a0_0x4a9c['MdKwUR'](_0x4a9cfa),a0_0x4a9c['UImFrM'][_0x1bd1d6]=_0x4a9cfa):_0x4a9cfa=_0x1ff8e7,_0x4a9cfa;}(function(_0x363646,_0x5ed662){const _0xcb7190=a0_0x4a9c,_0x288b7f=_0x363646();while(!![]){try{const _0x5e4f24=-parseInt(_0xcb7190(0x1fc))/0x1+parseInt(_0xcb7190(0x1e4))/0x2*(-parseInt(_0xcb7190(0x1be))/0x3)+parseInt(_0xcb7190(0x21d))/0x4*(-parseInt(_0xcb7190(0x1b9))/0x5)+-parseInt(_0xcb7190(0x20c))/0x6*(-parseInt(_0xcb7190(0x228))/0x7)+parseInt(_0xcb7190(0x205))/0x8+-parseInt(_0xcb7190(0x21e))/0x9*(-parseInt(_0xcb7190(0x22d))/0xa)+parseInt(_0xcb7190(0x201))/0xb;if(_0x5e4f24===_0x5ed662)break;else _0x288b7f['push'](_0x288b7f['shift']());}catch(_0x12e034){_0x288b7f['push'](_0x288b7f['shift']());}}}(a0_0x3bd8,0x87f51));const {v7:uuidv7}=require(a0_0x3c7914(0x21b)),path=require(a0_0x3c7914(0x222)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x3c7914(0x1fe)),dbType=(process['env'][a0_0x3c7914(0x217)]||a0_0x3c7914(0x1cf))[a0_0x3c7914(0x21f)]();let executeQuery;if(dbType===a0_0x3c7914(0x1ce)){const oracleDb=require(a0_0x3c7914(0x20d));executeQuery=(_0x1a442b,_0x26d325)=>oracleDb['executeQuery'](_0x1a442b,_0x26d325);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1b2592,_0x1a1a10)=>mysqlDb['executeQuery'](_0x1b2592,_0x1a1a10);}else executeQuery=require('../utils/db')[a0_0x3c7914(0x1ba)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x3c7914(0x1f2)](){const _0x776b65=a0_0x3c7914,_0x267453={'btbTw':'Export\x20service\x20initialized','PcwSL':function(_0x2a2ce9,_0x2e4654,_0x5e8814,_0x9bff4){return _0x2a2ce9(_0x2e4654,_0x5e8814,_0x9bff4);},'uXwrK':_0x776b65(0x256)};if(!this[_0x776b65(0x1db)]){const _0x194839=process['env'][_0x776b65(0x1f8)]||'default';this[_0x776b65(0x1db)]=process[_0x776b65(0x1d8)]['EXPORT_DIR']||path['join'](__dirname,_0x776b65(0x23b)+_0x194839);try{!fsSync[_0x776b65(0x1ee)](this[_0x776b65(0x1db)])&&fsSync[_0x776b65(0x23f)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x776b65(0x232),'dir':this[_0x776b65(0x1db)]},_0x267453[_0x776b65(0x1df)]);}catch(_0x27f0e6){_0x267453[_0x776b65(0x1ff)](logError,_0x27f0e6,{'event':_0x267453['uXwrK']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x3c7914(0x24c)](_0x2e44cc,_0x2b49cb=null){const _0x2686cd=a0_0x3c7914,_0x1309b1={'umoXn':_0x2686cd(0x1bc),'BwHNp':'file:','CnGWJ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','Mxfyz':'payload','gCrKI':_0x2686cd(0x223),'oIacn':_0x2686cd(0x1f6)};if(!_0x2e44cc||typeof _0x2e44cc!==_0x1309b1[_0x2686cd(0x1e2)])return _0x2e44cc;const _0x1c1030=_0x2e44cc[_0x2686cd(0x23e)]();if(!_0x1c1030['startsWith'](_0x1309b1[_0x2686cd(0x210)]))return _0x1c1030;const _0xbc2ab3=_0x1c1030['replace'](/^file:/,'')['trim']();if(!_0xbc2ab3)throw new Error(_0x1309b1['CnGWJ']);const _0x151608=_0x2b49cb||path['join'](process['cwd'](),_0x1309b1[_0x2686cd(0x203)]),_0x560c96=path['resolve'](_0x151608,_0xbc2ab3);logger[_0x2686cd(0x23d)]({'event':_0x1309b1['gCrKI'],'relativePath':_0xbc2ab3,'baseDir':_0x151608,'absolutePath':_0x560c96},_0x2686cd(0x255)+_0xbc2ab3);if(!fsSync['existsSync'](_0x560c96))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);try{const _0x25fa23=fsSync['readFileSync'](_0x560c96,'utf8');if(!_0x25fa23||!_0x25fa23['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x560c96);return logger['info']({'event':'export_query_file_loaded','file':_0x560c96,'queryLength':_0x25fa23[_0x2686cd(0x1ec)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x25fa23['length']+_0x2686cd(0x22f)),_0x25fa23[_0x2686cd(0x23e)]();}catch(_0x4b0161){if(_0x4b0161['code']===_0x1309b1[_0x2686cd(0x209)])throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x4b0161[_0x2686cd(0x225)]);}}[a0_0x3c7914(0x1f9)](){const _0x13101d=a0_0x3c7914,_0x6d58ac={'ATcFd':function(_0x5b81c6){return _0x5b81c6();},'OLMYV':function(_0x33f3a3,_0x42e40e){return _0x33f3a3*_0x42e40e;}},_0x32ea39='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x20779c=Date[_0x13101d(0x231)]()[_0x13101d(0x23c)](0x24),_0x2860b8=_0x6d58ac[_0x13101d(0x238)](uuidv7)[_0x13101d(0x1dc)](/-/g,'')[_0x13101d(0x214)](0x0,0xc-_0x20779c[_0x13101d(0x1ec)]),_0xc8be6d=(_0x20779c+_0x2860b8)[_0x13101d(0x214)](0x0,0xc);let _0x4333d6='';for(let _0x589630=0x0;_0x589630<0xc;_0x589630++){_0xc8be6d[_0x589630]?_0x4333d6+=_0xc8be6d[_0x589630]:_0x4333d6+=_0x32ea39[_0x13101d(0x24e)](Math[_0x13101d(0x206)](_0x6d58ac[_0x13101d(0x229)](Math[_0x13101d(0x1f5)](),_0x32ea39[_0x13101d(0x1ec)])));}return _0x4333d6;}async[a0_0x3c7914(0x1e9)](_0x451aed){const _0x3d16d4=a0_0x3c7914,_0x331473={'AmpfO':function(_0x428788,_0xe7b425,_0x3fe465,_0x5ee2a0){return _0x428788(_0xe7b425,_0x3fe465,_0x5ee2a0);},'xEJBu':'export_process_error','kJwCA':_0x3d16d4(0x249)},_0x4be967=this[_0x3d16d4(0x1f9)](),_0x21cd16={'job_id':_0x4be967,'status':_0x331473[_0x3d16d4(0x1c0)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x451aed,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x4be967,_0x21cd16),logger[_0x3d16d4(0x23d)]({'event':_0x3d16d4(0x1c9),'jobId':_0x4be967,'params':_0x451aed},_0x3d16d4(0x1b4)),this['processJob'](_0x4be967,_0x451aed)[_0x3d16d4(0x1e5)](_0x36fc06=>{const _0x5b1986=_0x3d16d4;_0x331473[_0x5b1986(0x224)](logError,_0x36fc06,{'event':_0x331473['xEJBu'],'jobId':_0x4be967},'Export\x20processing\x20failed');}),{'job_id':_0x4be967,'status':_0x3d16d4(0x249)};}async['getJobStatus'](_0x17ad07){const _0x274bd1=a0_0x3c7914,_0xf35b44=await redisHelper[_0x274bd1(0x257)](_0x17ad07);if(!_0xf35b44)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0xf35b44[_0x274bd1(0x1ea)],'status':_0xf35b44['status'],'progress':_0xf35b44['progress'],'total_rows':_0xf35b44['total_rows'],'processed_rows':_0xf35b44['processed_rows'],'file_url':_0xf35b44['status']===_0x274bd1(0x24b)?_0x274bd1(0x230)+_0xf35b44['params']['moduleName']+'/'+_0xf35b44['params'][_0x274bd1(0x22b)]+'/export-download?job_id='+_0x17ad07:null,'error':_0xf35b44['error']||null,'created_at':_0xf35b44['created_at'],'completed_at':_0xf35b44[_0x274bd1(0x21c)]||null}};}async[a0_0x3c7914(0x1c5)](_0x15f44d,_0x68040d){const _0x2fc985=a0_0x3c7914,_0x3354b7={'bXZPG':'export_processing_start','jRSdK':_0x2fc985(0x259),'TSsQT':_0x2fc985(0x233),'xJHdE':_0x2fc985(0x20a),'PMQoM':function(_0x3c7a6e,_0x4f91b6,_0x3ee13d,_0x4d43a9){return _0x3c7a6e(_0x4f91b6,_0x3ee13d,_0x4d43a9);},'nTBuq':_0x2fc985(0x1d6)};try{await redisHelper['updateJob'](_0x15f44d,{'status':_0x2fc985(0x218),'started_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7['bXZPG'],'jobId':_0x15f44d},_0x3354b7['jRSdK']);const _0x10255b=await this['fetchData'](_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'total_rows':_0x10255b['length']});const _0x17d5fa=await this['generateExcel'](_0x15f44d,_0x10255b,_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'status':'completed','progress':0x64,'file_path':_0x17d5fa,'completed_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7[_0x2fc985(0x1f7)],'jobId':_0x15f44d,'rows':_0x10255b[_0x2fc985(0x1ec)]},_0x3354b7['xJHdE']);}catch(_0x1b880b){_0x3354b7[_0x2fc985(0x220)](logError,_0x1b880b,{'event':'export_failed','jobId':_0x15f44d},'Export\x20failed'),await redisHelper[_0x2fc985(0x1c7)](_0x15f44d,{'status':_0x3354b7[_0x2fc985(0x221)],'error':_0x1b880b['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0xcdc542){const _0x202989=a0_0x3c7914,_0x4b011e={'JKElZ':function(_0x4eb72f,_0x50f1d5){return _0x4eb72f===_0x50f1d5;},'YvJXz':_0x202989(0x21a),'jVddE':'file:','lDMre':'export_using_custom_query','PyRKR':function(_0x114915,_0x4be7db){return _0x114915>_0x4be7db;},'FFomD':_0x202989(0x1c8),'AlTYL':'Fetching\x20data\x20from\x20database','yxtsN':_0x202989(0x1ce),'xbQGV':'export_fetch_complete','EWBGk':_0x202989(0x1d1),'OrwVM':function(_0x403b5e,_0x3c4e49,_0x18708e,_0x522453){return _0x403b5e(_0x3c4e49,_0x18708e,_0x522453);},'KekSO':'export_fetch_error'};try{const {tableName:_0x14400a,columns:_0x35cb91,exportQuery:_0x27a9ce,where:_0x9dccde,sort_columns:_0x1734f7}=_0xcdc542;if(!_0x14400a||!_0x35cb91||_0x4b011e[_0x202989(0x1bb)](_0x35cb91['length'],0x0))throw new Error(_0x4b011e[_0x202989(0x237)]);const _0x205547=_0x14400a['replace'](/\./g,'_')+'_data';let _0x750948;if(_0x27a9ce&&_0x27a9ce[_0x202989(0x23e)]()){let _0x3d5d55=_0x27a9ce;_0x27a9ce['trim']()[_0x202989(0x251)](_0x4b011e[_0x202989(0x1e3)])&&(_0x3d5d55=this['resolveExportQuery'](_0x27a9ce)),_0x750948='WITH\x20'+_0x205547+_0x202989(0x1f0)+_0x3d5d55+'\x0a)',_0x750948+=_0x202989(0x1ca)+_0x205547,logger['info']({'event':_0x4b011e[_0x202989(0x213)],'query':_0x3d5d55[_0x202989(0x214)](0x0,0x64)},_0x202989(0x242));}else{const _0x3a90f9=_0x35cb91[_0x202989(0x24a)](_0x9e17a6=>_0x202989(0x24d)+_0x9e17a6)[_0x202989(0x1c3)](',');_0x750948=_0x202989(0x1d5)+_0x205547+_0x202989(0x22e)+_0x3a90f9+_0x202989(0x212)+_0x14400a+'\x0a)',_0x750948+='\x0aSELECT\x20*\x20FROM\x20'+_0x205547,logger[_0x202989(0x23d)]({'event':_0x202989(0x1fb),'tableName':_0x14400a,'columnCount':_0x35cb91[_0x202989(0x1ec)]},_0x202989(0x1ed));}if(_0x9dccde){const _0x3f096e=this['buildWhereClause'](_0x9dccde);_0x3f096e&&(_0x750948+='\x0aWHERE\x20'+_0x3f096e);}if(_0x1734f7&&_0x4b011e[_0x202989(0x236)](_0x1734f7['length'],0x0)){const _0x23de7a=this[_0x202989(0x1bd)](_0x1734f7);_0x23de7a&&(_0x750948+='\x0aORDER\x20BY\x20'+_0x23de7a);}logger[_0x202989(0x23d)]({'event':_0x4b011e[_0x202989(0x1b8)],'query':_0x750948[_0x202989(0x214)](0x0,0xc8)},_0x4b011e['AlTYL']);const _0x17038a=await executeQuery(_0x750948);let _0x4242da=_0x17038a;return _0x4b011e[_0x202989(0x1bb)](dbType,_0x4b011e['yxtsN'])&&_0x17038a&&_0x4b011e['PyRKR'](_0x17038a[_0x202989(0x1ec)],0x0)&&(_0x4242da=_0x17038a[_0x202989(0x24a)](_0x5b4368=>{const _0x18662d={};for(const [_0x218a86,_0x70a447]of Object['entries'](_0x5b4368)){_0x18662d[_0x218a86['toLowerCase']()]=_0x70a447;}return _0x18662d;})),logger['info']({'event':_0x4b011e['xbQGV'],'rows':_0x4242da[_0x202989(0x1ec)]},_0x4b011e['EWBGk']),_0x4242da;}catch(_0x3e8aa3){_0x4b011e['OrwVM'](logError,_0x3e8aa3,{'event':_0x4b011e[_0x202989(0x22c)]},_0x202989(0x1c2));throw _0x3e8aa3;}}['sanitizeValue'](_0x3ccd2c){const _0x194971=a0_0x3c7914,_0x1f03dc={'txXsf':'string'};if(typeof _0x3ccd2c===_0x1f03dc['txXsf'])return _0x3ccd2c[_0x194971(0x1dc)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x194971(0x207)](_0x3ccd2c))return _0x3ccd2c['map'](_0x53de4f=>this[_0x194971(0x226)](_0x53de4f));}return _0x3ccd2c;}[a0_0x3c7914(0x1d3)](_0x2445b5){const _0x1b46bd=a0_0x3c7914,_0x4c69b4={'KcZPw':function(_0x4328ae,_0x283d9a){return _0x4328ae===_0x283d9a;},'PQDOc':function(_0x4b7c05,_0x4c64b0){return _0x4b7c05||_0x4c64b0;},'SNDMW':function(_0x888091,_0x33a713){return _0x888091!==_0x33a713;},'GNtkM':_0x1b46bd(0x1bc),'mcbzi':function(_0x283d08,_0x1dd53c){return _0x283d08===_0x1dd53c;},'KYBaA':'LIKE','peNQI':'IS\x20NOT\x20NULL','AdmkI':_0x1b46bd(0x1c4),'xxStk':function(_0x1bd06b,_0x21e56e){return _0x1bd06b===_0x21e56e;},'mzrpc':_0x1b46bd(0x208),'sMUyR':function(_0x201cc2,_0x24eba6){return _0x201cc2===_0x24eba6;}};if(!_0x2445b5||!_0x2445b5[_0x1b46bd(0x258)]||_0x2445b5['conditions'][_0x1b46bd(0x1ec)]===0x0)return'';const {logic:_0x20ab90,conditions:_0x112a5e}=_0x2445b5,_0x5bebc2=_0x20ab90&&_0x4c69b4['xxStk'](_0x20ab90['toUpperCase'](),'OR')?_0x4c69b4['mzrpc']:'\x20AND\x20',_0x84b353=_0x112a5e['map'](_0x3b3185=>{const _0x565c5f=_0x1b46bd,_0x180444={'OqZxs':function(_0xfba27f,_0x1c82c2){return _0xfba27f===_0x1c82c2;},'IUoCs':'string','ujRLa':function(_0x1fdf2d,_0x34aa86){const _0x27eace=a0_0x4a9c;return _0x4c69b4[_0x27eace(0x215)](_0x1fdf2d,_0x34aa86);}},{key:_0x4aa151,operator:_0x137a85,value:_0x41005a,sensitive:_0x523385}=_0x3b3185;if(_0x4c69b4['PQDOc'](!_0x4aa151,!_0x137a85))return logger[_0x565c5f(0x243)]({'event':_0x565c5f(0x1c1),'condition':_0x3b3185},_0x565c5f(0x20e)),null;const _0x518f74=this[_0x565c5f(0x226)](_0x41005a),_0x5a2300=_0x4c69b4[_0x565c5f(0x245)](_0x523385,undefined)?_0x523385:!![];let _0xa7de49=_0x4aa151,_0x24b46d=_0x518f74;!_0x5a2300&&(_0xa7de49=_0x565c5f(0x1d0)+_0x4aa151+')',typeof _0x41005a===_0x565c5f(0x1bc)&&(_0x24b46d=_0x41005a[_0x565c5f(0x1cc)]()));const _0xd066fc=typeof _0x24b46d===_0x4c69b4[_0x565c5f(0x1f3)]?'\x27'+_0x24b46d['replace'](/'/g,'\x27\x27')+'\x27':_0x24b46d;switch(_0x137a85['toUpperCase']()){case'=':case'!=':case'<>':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'>':case'<':case'>=':case'<=':const _0x57b8d8=_0x4c69b4[_0x565c5f(0x247)](typeof _0x518f74,_0x4c69b4['GNtkM'])?'\x27'+_0x518f74[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x518f74;return _0x4aa151+'\x20'+_0x137a85+'\x20'+_0x57b8d8;case _0x4c69b4['KYBaA']:case'NOT\x20LIKE':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'IN':if(Array['isArray'](_0x518f74)){let _0x1e7de6;return!_0x5a2300?_0x1e7de6=_0x518f74['map'](_0x5bfd08=>{const _0x3c2ac2=_0x565c5f,_0x19376a=_0x180444[_0x3c2ac2(0x20b)](typeof _0x5bfd08,_0x180444[_0x3c2ac2(0x202)])?_0x5bfd08[_0x3c2ac2(0x1cc)]():_0x5bfd08;return _0x180444[_0x3c2ac2(0x254)](typeof _0x19376a,_0x3c2ac2(0x1bc))?'\x27'+_0x19376a[_0x3c2ac2(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x19376a;})['join'](',\x20'):_0x1e7de6=_0x518f74['map'](_0x5d179d=>typeof _0x5d179d===_0x565c5f(0x1bc)?'\x27'+_0x5d179d[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x5d179d)['join'](',\x20'),_0xa7de49+_0x565c5f(0x23a)+_0x1e7de6+')';}return _0xa7de49+'\x20IN\x20('+_0xd066fc+')';case _0x565c5f(0x252):return _0x4aa151+'\x20IS\x20NULL';case _0x4c69b4['peNQI']:return _0x4aa151+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4c69b4[_0x565c5f(0x1ef)],'operator':_0x137a85},_0x565c5f(0x1d9));return _0xa7de49+'\x20=\x20'+_0xd066fc;}})['filter'](_0x60c324=>_0x60c324!==null);if(_0x4c69b4['sMUyR'](_0x84b353[_0x1b46bd(0x1ec)],0x0))return'';return _0x84b353[_0x1b46bd(0x1c3)](_0x5bebc2);}['buildOrderByClause'](_0x329dbe){const _0x546e68=a0_0x3c7914,_0x20b983={'hatmx':_0x546e68(0x1eb),'mkkAr':_0x546e68(0x1d4),'OMSjK':function(_0x40f9af,_0xcdff83){return _0x40f9af===_0xcdff83;},'xikCN':_0x546e68(0x1e1),'ReknW':function(_0x2aae01,_0x34e3bc){return _0x2aae01===_0x34e3bc;}};if(!_0x329dbe||_0x20b983[_0x546e68(0x211)](_0x329dbe['length'],0x0))return'';const _0x2e6fb9=_0x329dbe['map'](_0x8047b0=>{const _0x4b805f=_0x546e68,{column:_0x30d635,direction:_0x385063}=_0x8047b0;if(!_0x30d635)return logger['warn']({'event':_0x20b983[_0x4b805f(0x227)],'item':_0x8047b0},_0x20b983[_0x4b805f(0x246)]),null;const _0x38665b=_0x385063&&_0x20b983[_0x4b805f(0x211)](_0x385063[_0x4b805f(0x1cc)](),_0x4b805f(0x1e1))?_0x20b983[_0x4b805f(0x219)]:_0x4b805f(0x1cd);return _0x30d635+'\x20'+_0x38665b;})['filter'](_0x360e56=>_0x360e56!==null);if(_0x20b983['ReknW'](_0x2e6fb9['length'],0x0))return'';return _0x2e6fb9[_0x546e68(0x1c3)](',\x20');}async['generateExcel'](_0x380ff2,_0x28904b,_0x2685a9){const _0x1a323a=a0_0x3c7914,_0x461ac0={'qiAkF':function(_0x480f75,_0x3f7eca){return _0x480f75*_0x3f7eca;},'sFAvC':function(_0xb518eb,_0xb27d07){return _0xb518eb/_0xb27d07;},'eUarR':_0x1a323a(0x1de),'kEaeZ':function(_0x543446,_0x205b24){return _0x543446>_0x205b24;},'VhLaP':_0x1a323a(0x241),'USfKq':function(_0x26c106,_0x18933c){return _0x26c106>_0x18933c;},'QYEsu':'excel_columns_from_request','NZEFm':'excel_columns_fallback','BDbtT':'excel_columns_from_query_result','UsZAc':_0x1a323a(0x20f)},_0x27d3ea=require('../utils/excel-generator'),_0x3e787e=new _0x27d3ea(),_0x2f0ed6=_0x2685a9[_0x1a323a(0x239)]?_0x2685a9['filename']+'-'+_0x380ff2:'export-'+_0x380ff2,_0x20f1bf=path['join'](this[_0x1a323a(0x1f2)],_0x2f0ed6+_0x1a323a(0x216));let _0x4b2890=_0x2685a9['columns'];const _0x42cc83=_0x2685a9[_0x1a323a(0x1bf)]&&_0x2685a9['exportQuery'][_0x1a323a(0x23e)](),_0x1666cc=_0x4b2890&&_0x4b2890[_0x1a323a(0x1ec)]===0x1&&(_0x4b2890[0x0]==='*'||_0x4b2890[0x0]['toLowerCase']()===_0x461ac0['eUarR']);if(_0x461ac0['kEaeZ'](_0x28904b[_0x1a323a(0x1ec)],0x0)){const _0xb5d230=Object['keys'](_0x28904b[0x0]);if(_0x42cc83)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['VhLaP'],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890[_0x1a323a(0x1ec)]+_0x1a323a(0x1c6));else{if(_0x1666cc)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':'excel_columns_select_all','columns':_0x4b2890},_0x1a323a(0x24f)+_0x4b2890['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4b2890&&_0x461ac0['USfKq'](_0x4b2890['length'],0x0)){const _0x543989=_0x4b2890[_0x1a323a(0x1f1)](_0x1c3031=>_0xb5d230['includes'](_0x1c3031));_0x543989['length']>0x0?(_0x4b2890=_0x543989,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['QYEsu'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'validColumns':_0x4b2890},'Using\x20'+_0x4b2890['length']+'\x20columns\x20from\x20request')):(_0x4b2890=_0xb5d230,logger['warn']({'event':_0x461ac0['NZEFm'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'availableColumns':_0xb5d230},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0xb5d230[_0x1a323a(0x1ec)]+_0x1a323a(0x244)));}else _0x4b2890=_0xb5d230,logger['info']({'event':_0x461ac0[_0x1a323a(0x1b6)],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890['length']+_0x1a323a(0x235));}}}else logger[_0x1a323a(0x23d)]({'event':_0x461ac0['UsZAc'],'columns':_0x4b2890},_0x1a323a(0x22a)+(_0x4b2890?.[_0x1a323a(0x1ec)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x3e787e['generate']({'data':_0x28904b,'columns':_0x4b2890,'columnFormats':_0x2685a9['columnFormats']||null,'fieldLabels':_0x2685a9[_0x1a323a(0x1e8)]||null,'filePath':_0x20f1bf,'onProgress':async _0x8960d5=>{const _0x443a11=_0x1a323a;await redisHelper['updateJob'](_0x380ff2,{'progress':Math[_0x443a11(0x253)](_0x8960d5),'processed_rows':Math[_0x443a11(0x253)](_0x461ac0[_0x443a11(0x1e7)](_0x461ac0[_0x443a11(0x1fd)](_0x8960d5,0x64),_0x28904b[_0x443a11(0x1ec)]))});}}),_0x20f1bf;}async['getFilePath'](_0x24fb48){const _0x435f12=a0_0x3c7914,_0x529161={'liOMm':function(_0x4cef0d,_0x4c4846,_0x3f1479,_0x1457d5){return _0x4cef0d(_0x4c4846,_0x3f1479,_0x1457d5);},'zZWvI':'export_file_not_found'},_0x11d8e8=await redisHelper['getJob'](_0x24fb48);if(!_0x11d8e8||_0x11d8e8[_0x435f12(0x250)]!==_0x435f12(0x24b))return null;try{return await fs['access'](_0x11d8e8[_0x435f12(0x1da)]),_0x11d8e8['file_path'];}catch(_0x2ff967){return _0x529161['liOMm'](logError,_0x2ff967,{'event':_0x529161[_0x435f12(0x1e6)],'jobId':_0x24fb48,'path':_0x11d8e8['file_path']},_0x435f12(0x1b5)),null;}}async[a0_0x3c7914(0x248)](){const _0x4ca673=a0_0x3c7914,_0x41d66b={'aThJI':'Starting\x20export\x20cleanup','rMUGl':function(_0x5131ea,_0xaf6b5a){return _0x5131ea/_0xaf6b5a;},'cCzPC':function(_0x4b1edf,_0xcc2870){return _0x4b1edf*_0xcc2870;},'DRWFX':function(_0x2e889c,_0x343517){return _0x2e889c>_0x343517;},'zsczS':_0x4ca673(0x1b7),'VHDtj':_0x4ca673(0x1d2)};logger[_0x4ca673(0x23d)]({'event':_0x4ca673(0x1e0)},_0x41d66b['aThJI']);const _0x2a5062=await redisHelper[_0x4ca673(0x200)]();let _0x1a926e=0x0;for(const _0x576f5d of _0x2a5062){const _0x40a7a5=new Date(_0x576f5d[_0x4ca673(0x204)]),_0x28fe14=new Date(),_0x10c050=_0x41d66b['rMUGl'](_0x28fe14-_0x40a7a5,_0x41d66b[_0x4ca673(0x1f4)](0x3e8,0x3c)*0x3c);if(_0x41d66b['DRWFX'](_0x10c050,0x1)){if(_0x576f5d['file_path'])try{await fs[_0x4ca673(0x1dd)](_0x576f5d[_0x4ca673(0x1da)]),logger['info']({'event':'export_file_deleted','path':_0x576f5d[_0x4ca673(0x1da)]},_0x4ca673(0x1fa));}catch(_0x21c474){logger[_0x4ca673(0x243)]({'event':_0x41d66b[_0x4ca673(0x1d7)],'path':_0x576f5d[_0x4ca673(0x1da)],'error':_0x21c474[_0x4ca673(0x225)]},_0x41d66b['VHDtj']);}await redisHelper['deleteJob'](_0x576f5d[_0x4ca673(0x1ea)]),_0x1a926e++;}}return logger[_0x4ca673(0x23d)]({'event':'export_cleanup_complete','deleted':_0x1a926e},_0x4ca673(0x234)),_0x1a926e;}}module[a0_0x3c7914(0x1cb)]=new ExportService();
@@ -1 +1 @@
1
- const a0_0x12b2bd=a0_0xe4ca;(function(_0x27a11d,_0x229829){const _0x4bdb9d=a0_0xe4ca,_0x123af8=_0x27a11d();while(!![]){try{const _0x3adcc8=parseInt(_0x4bdb9d(0x165))/0x1+parseInt(_0x4bdb9d(0xd0))/0x2*(parseInt(_0x4bdb9d(0xc6))/0x3)+parseInt(_0x4bdb9d(0x102))/0x4*(parseInt(_0x4bdb9d(0xc0))/0x5)+parseInt(_0x4bdb9d(0x15f))/0x6*(parseInt(_0x4bdb9d(0x113))/0x7)+parseInt(_0x4bdb9d(0x12a))/0x8*(parseInt(_0x4bdb9d(0x111))/0x9)+parseInt(_0x4bdb9d(0xe3))/0xa*(-parseInt(_0x4bdb9d(0x160))/0xb)+-parseInt(_0x4bdb9d(0xc4))/0xc;if(_0x3adcc8===_0x229829)break;else _0x123af8['push'](_0x123af8['shift']());}catch(_0x55393d){_0x123af8['push'](_0x123af8['shift']());}}}(a0_0x221b,0xf2d83));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x12b2bd(0x14d)],redisHelper=require(a0_0x12b2bd(0xe8)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x12b2bd(0xea)]||a0_0x12b2bd(0x161))[a0_0x12b2bd(0xe7)]();function a0_0x221b(){const _0x472e3b=['CgfYyw1Z','y29TBwL0x3bYB2nLC3nFzxjYB3i','uhjLDMLLDYbQB2iGy29TCgXLDgvK','u2PgEue','mti0mJa2mdnduvHnDeq','zxjYB3jZ','ndLxz3vTuwq','r0ncwMm','yxbWBhLdB2X1Bw5gB3jTyxrZ','y291BNq','lI4VDxrPBhmVzgiTB3jHy2XL','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','s3rwEKS','su5trvju','BgvUz3rO','tg9qEvm','ChjLDMLLD19LCNjVCG','vvbeqvrf','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ChjVy2vZC2vKuM93CW','zMLUza','AM9IoG','B3jHy2XL','AM9PBG','Aw5MBW','ChjVy2vZC2LUzW','C2TPCf9LEgLZDgLUzW','y3HRrwW','q29TBwL0igPVyIbJCMvHDgvK','ognlrwj2sG','DxbKyxrLx2v4Axn0Aw5N','ChjVy2vZC0XVB2T1CezPzwXKCW','zgf0zq','y29TBwL0x2PVyL9JB21WBgv0zwq','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','Bg9VA3vWrMLLBgrZ','x3vWBg9HzerPCG','rwrXDMu','x2v4Axn0Aw5Nswq','CM93sw5KzxG','wxjmswy','vNzZB0y','ChvZAa','zMLSzv9JBgvHBNvWx2vYCM9Y','ChjVy2vZC0nVBw1PDePVyG','rg9iD1i','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','uKLcu2e','ChjLDMLLD19VAW','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','q29TBwL0igPVyIbJB21WBgv0zwq','DNbUvxq','lI4VlI4VDgvTCc91CgXVywrZlW','uhjLDMLLDYbQB2iGzMfPBgvK','DMfSAwrHDgLUzW','Axf0wuO','x2DLBMvYyxrLzf91DwLK','sgrdAfG','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','C2v0sM9I','DxvPzf9HDxrVx2DLBMvYyxrLza','zwfrwxG','DMvLBfa','DMfSAwq','ChjVBwLZzxm','BwfW','wLf1ruq','qLv5Cw0','C3vIC3rYAw5N','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','yNvPBgrcyxrJAfvWzgf0zq','C2v0','zNjVBq','y2vVtKi','y0fHrgS','EKzxueS','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChjLDMLLD19QB2jFy3jLyxrLza','Dg9ju09tDhjPBMC','r2DVrLG','zw50CMLLCW','z2v0sM9I','mtaYmJC5nNnXwLnKzW','mJa4odq5m0jJvLj6vW','Cg9ZDgDYzxnXBa','z2v0','CLrcufu','Aw5Zzxj0','mtq5nZi5nuXwwNHmCa','zgvMyxvSDa','u0Tjua','y29SDw1UrM9YBwf0CW','C2nVCgvpDMvYCMLKzq','q0nuwKK','DxbSB2fKrMLSzq','BNvTyMvY','z2v0tw9UDgG','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','zMfPBgvK','shnqu0O','x2vYCM9YCW','y29TBwL0x2PVyL9JCMvHDgvK','cIaGicaGicaGv0HfuKuG','BxLZCwW','uufXwxe','r0vivvq','uhjLDMLLDYbQB2iGy3jLyxrLza','s2DkuLG','z2vUzxjHDgvjza','zxHLy3v0zvf1zxj5','Aw5JBhvKzxm','DhLWzq','mta1D1fssvvk','DgvZDa','DgfYz2v0rMLLBgq','AgfZ','ntG2mZu4nJrADe55twG','ieLoicG','nK9esKjqsW','BeLbCe8','C2XPy2u','y1bHuNq','DxbSB2fKx2LK','zgDSywy','qxHzu3O','zMLSDgvY','rhnAyu0','A2v5CW','mtC3nti2mK52DKXosq','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','ENvPsM8','Dhj1zq','Dg9tDhjPBMC','AMLWEvu','yM9VBgvHBG','r29ArMm','DMXYCva','C3rHDhvZ','x2fJDgLVBG','Dg9vChbLCKnHC2u','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','zw52','C3rYAw5N','EwvZ','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','DhjPBq','mZbwquvXs2y','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','ChjLDMLLD19QB2jFzMfPBgvK','u2nUzvG','Dg9mB3DLCKnHC2u','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','yNvPBgrmywjLBfrVrMLLBgrnyxa','rejFvfLqrq','tNPvqMu','y2H1BMTsB3DZ','rKH5wfu','CuLmANm','vxLZy1C','zgvIDwC','CMvWBgfJzq','DMfSDwvZ','yMf0y2HwywXPzgf0zvjVD3m','vuLSBgS','CgfYC2vfEgnLBezPBgu','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','B3jPz2LUywXUyw1L','Dw5SAw5R','y3jLyxrLq29TBwL0sM9I','zgTrueS','CM93CW','zM9YrwfJAa','BwvZC2fNzq','Cgf0Aa','CgfKu3rHCNq','zMLLBgrmywjLBhm','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','mte1mtG0BwnbAwPT','EK1RAuK','Aw5Zzxj0x29UBhK','wfbWzKy','zxHLy3v0zvrYyw5Zywn0Aw9U','sxz2qMq','DxbSB2fKoG','BwLZC2LUz0zPzwXKCW','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','y29SDw1U','ChjVy2vZC1bYzxzPzxDkB2i'];a0_0x221b=function(){return _0x472e3b;};return a0_0x221b();}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x12b2bd(0x117)),executeQuery=(_0xce79f1,_0x3fd45c)=>oracleDb[a0_0x12b2bd(0xbd)](_0xce79f1,_0x3fd45c),executeTransaction=_0x25245f=>oracleDb[a0_0x12b2bd(0x106)](_0x25245f);else{if(dbType===a0_0x12b2bd(0xb7)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x574eac,_0xcf0294)=>mysqlDb['executeQuery'](_0x574eac,_0xcf0294),executeTransaction=_0x3389fe=>mysqlDb['executeTransaction'](_0x3389fe);}else{const db=require('../utils/db');executeQuery=db[a0_0x12b2bd(0xbd)],executeTransaction=db[a0_0x12b2bd(0x106)];}}const excelParser=require(a0_0x12b2bd(0xd1)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x12b2bd(0xf6)),lookupResolver=require(a0_0x12b2bd(0x13b));function a0_0xe4ca(_0x5382a3,_0x3d63ed){_0x5382a3=_0x5382a3-0xaf;const _0x221b95=a0_0x221b();let _0xe4caa1=_0x221b95[_0x5382a3];if(a0_0xe4ca['vRclek']===undefined){var _0x44a5cc=function(_0x5e7e1e){const _0x2bd466='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x366399='',_0x327d8f='';for(let _0x50629a=0x0,_0x374e31,_0x4b7986,_0x4b0dae=0x0;_0x4b7986=_0x5e7e1e['charAt'](_0x4b0dae++);~_0x4b7986&&(_0x374e31=_0x50629a%0x4?_0x374e31*0x40+_0x4b7986:_0x4b7986,_0x50629a++%0x4)?_0x366399+=String['fromCharCode'](0xff&_0x374e31>>(-0x2*_0x50629a&0x6)):0x0){_0x4b7986=_0x2bd466['indexOf'](_0x4b7986);}for(let _0x3da4e6=0x0,_0x3b8f94=_0x366399['length'];_0x3da4e6<_0x3b8f94;_0x3da4e6++){_0x327d8f+='%'+('00'+_0x366399['charCodeAt'](_0x3da4e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x327d8f);};a0_0xe4ca['ElZLTj']=_0x44a5cc,a0_0xe4ca['DdvRni']={},a0_0xe4ca['vRclek']=!![];}const _0x222fa7=_0x221b95[0x0],_0x485a6d=_0x5382a3+_0x222fa7,_0x2a4a06=a0_0xe4ca['DdvRni'][_0x485a6d];return!_0x2a4a06?(_0xe4caa1=a0_0xe4ca['ElZLTj'](_0xe4caa1),a0_0xe4ca['DdvRni'][_0x485a6d]=_0xe4caa1):_0xe4caa1=_0x2a4a06,_0xe4caa1;}class ImportService{constructor(){const _0x132b1a=a0_0x12b2bd;this[_0x132b1a(0x131)]=null;}get['uploadDir'](){const _0x1a20fc=a0_0x12b2bd;if(!this[_0x1a20fc(0x131)]){const _0x26f695=process[_0x1a20fc(0xde)][_0x1a20fc(0x159)]||_0x1a20fc(0x166);this['_uploadDir']=process[_0x1a20fc(0xde)]['UPLOAD_DIR']||path[_0x1a20fc(0x124)](__dirname,_0x1a20fc(0x141)+_0x26f695);}return this['_uploadDir'];}[a0_0x12b2bd(0xbc)](){const _0xf717eb=a0_0x12b2bd,_0x18ea14={'mfOSv':function(_0x387a40){return _0x387a40();},'Edqve':function(_0x35404d,_0x3435fb){return _0x35404d-_0x3435fb;},'dkQPK':function(_0x24f97e,_0x3b0053){return _0x24f97e<_0x3b0053;}},_0x45aeed='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0xc2acaf=Date['now']()[_0xf717eb(0xd5)](0x24),_0xb642d6=_0x18ea14['mfOSv'](uuidv7)['replace'](/-/g,'')[_0xf717eb(0x151)](0x0,_0x18ea14[_0xf717eb(0x132)](0xc,_0xc2acaf[_0xf717eb(0x11b)])),_0x1d185b=(_0xc2acaf+_0xb642d6)[_0xf717eb(0x151)](0x0,0xc);let _0x216199='';for(let _0x30bc7a=0x0;_0x18ea14[_0xf717eb(0xfa)](_0x30bc7a,0xc);_0x30bc7a++){_0x1d185b[_0x30bc7a]?_0x216199+=_0x1d185b[_0x30bc7a]:_0x216199+=_0x45aeed['charAt'](Math['floor'](Math['random']()*_0x45aeed[_0xf717eb(0x11b)]));}return _0x216199;}[a0_0x12b2bd(0xe9)](_0x5d3b3d){const _0x494f7e=a0_0x12b2bd,_0x543b05={'tGyRZ':function(_0x2ffecb,_0x59d557){return _0x2ffecb(_0x59d557);},'xMQHz':'label_to_field_map_built','veelP':_0x494f7e(0xe4)},_0x8a75ac=new Map();if(!_0x5d3b3d)return _0x8a75ac;return Object['entries'](_0x5d3b3d)['forEach'](([_0x265222,_0x257ac0])=>{const _0x2ce697=_0x494f7e,_0x560d18=_0x543b05['tGyRZ'](String,_0x257ac0)['trim']()[_0x2ce697(0xf1)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase']();_0x8a75ac[_0x2ce697(0x154)](_0x560d18,_0x265222);}),logger['debug']({'event':_0x543b05['xMQHz'],'mappingCount':_0x8a75ac['size']},_0x543b05[_0x494f7e(0x14b)]),_0x8a75ac;}[a0_0x12b2bd(0x115)](_0x123e83,_0x8d6096){const _0x20644a=a0_0x12b2bd,_0x214161={'fuXHN':function(_0x2ce883,_0x2e615c){return _0x2ce883===_0x2e615c;},'cxkEl':_0x20644a(0xaf),'eaQYx':'boolean','gzStz':'text','QAqYq':function(_0x416df3,_0x457f69){return _0x416df3===_0x457f69;}};if(!_0x8d6096||_0x214161[_0x20644a(0xb8)](Object['keys'](_0x8d6096)['length'],0x0))return _0x123e83;return _0x123e83['map'](_0x4314c0=>{const _0x72bc4d=_0x20644a,_0x225e10={..._0x4314c0};for(const [_0x43164b,_0x38f586]of Object[_0x72bc4d(0x15d)](_0x8d6096)){const _0x1c3173=_0x225e10[_0x43164b];if(_0x1c3173===null||_0x1c3173===undefined||_0x214161['fuXHN'](_0x1c3173,'')){_0x225e10[_0x43164b]=null;continue;}switch(_0x38f586[_0x72bc4d(0xbf)]){case _0x72bc4d(0x12d):_0x225e10[_0x43164b]=this['formatDateForDatabase'](_0x1c3173);break;case _0x214161[_0x72bc4d(0x128)]:_0x225e10[_0x43164b]=this['formatNumberForDatabase'](_0x1c3173);break;case _0x214161[_0x72bc4d(0x14a)]:_0x225e10[_0x43164b]=this['formatBooleanForDatabase'](_0x1c3173);break;case _0x214161['gzStz']:_0x225e10[_0x43164b]=String(_0x1c3173);break;default:break;}}return _0x225e10;});}[a0_0x12b2bd(0x118)](_0x3479d6){const _0x55dbb7=a0_0x12b2bd,_0x3d5346={'AGTTQ':function(_0x2cc723,_0x5d43a1){return _0x2cc723===_0x5d43a1;},'zFWPK':function(_0x31002b,_0x2240ac){return _0x31002b(_0x2240ac);},'SjFyA':function(_0x2e192d,_0x2ad827){return _0x2e192d(_0x2ad827);},'NNjPR':function(_0x2f9a52,_0x4302fa){return _0x2f9a52+_0x4302fa;},'jipyU':function(_0x3eeb28,_0x564acb){return _0x3eeb28(_0x564acb);},'DlQUr':function(_0x427bad,_0x23f30e){return _0x427bad===_0x23f30e;},'cAaDk':'string','NzUBe':function(_0x560028,_0x451674){return _0x560028(_0x451674);},'XEVEc':function(_0x55a301,_0x4b8116){return _0x55a301(_0x4b8116);}};if(_0x3479d6===null||_0x3d5346['AGTTQ'](_0x3479d6,undefined)||_0x3479d6==='')return null;if(typeof _0x3479d6==='string'&&/^\d{4}-\d{2}-\d{2}$/[_0x55dbb7(0xc1)](_0x3479d6))return _0x3479d6;if(_0x3479d6 instanceof Date){if(_0x3d5346[_0x55dbb7(0x158)](isNaN,_0x3479d6['getTime']()))return null;const _0x3519be=_0x3479d6['getFullYear'](),_0x3e373a=_0x3d5346[_0x55dbb7(0x110)](String,_0x3d5346['NNjPR'](_0x3479d6[_0x55dbb7(0xb0)](),0x1))['padStart'](0x2,'0'),_0x27134b=_0x3d5346[_0x55dbb7(0xd6)](String,_0x3479d6['getDate']())['padStart'](0x2,'0');return _0x3519be+'-'+_0x3e373a+'-'+_0x27134b;}if(_0x3d5346['DlQUr'](typeof _0x3479d6,_0x3d5346[_0x55dbb7(0x157)])){const _0x5a3e15=_0x3479d6['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x5a3e15){const _0x11d995=String(_0x5a3e15[0x1])['padStart'](0x2,'0'),_0x1c18b0=_0x3d5346[_0x55dbb7(0xeb)](String,_0x5a3e15[0x2])[_0x55dbb7(0xff)](0x2,'0'),_0x5f5951=_0x5a3e15[0x3];return _0x5f5951+'-'+_0x1c18b0+'-'+_0x11d995;}const _0x5630ac=_0x3479d6['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5630ac){const _0xeb312c=_0x5630ac[0x1],_0x432a48=_0x3d5346['XEVEc'](String,_0x5630ac[0x2])['padStart'](0x2,'0'),_0x44a474=_0x3d5346['SjFyA'](String,_0x5630ac[0x3])[_0x55dbb7(0xff)](0x2,'0');return _0xeb312c+'-'+_0x432a48+'-'+_0x44a474;}}return _0x3479d6;}['formatNumberForDatabase'](_0x34e2d0){const _0x5eb27a=a0_0x12b2bd,_0x3c7295={'lCFOO':function(_0x52ff76,_0x27cebd){return _0x52ff76===_0x27cebd;},'LqyBp':_0x5eb27a(0xaf),'GoZFc':function(_0x4abfdf,_0xdc49cd){return _0x4abfdf(_0xdc49cd);},'DoHwR':_0x5eb27a(0xdf)};if(_0x34e2d0===null||_0x34e2d0===undefined||_0x3c7295['lCFOO'](_0x34e2d0,''))return null;if(typeof _0x34e2d0===_0x3c7295['LqyBp'])return _0x3c7295[_0x5eb27a(0xd8)](isNaN,_0x34e2d0)?null:_0x34e2d0;if(_0x3c7295['lCFOO'](typeof _0x34e2d0,_0x3c7295[_0x5eb27a(0x13a)])){let _0x5a7e53=_0x34e2d0['trim']();const _0x2726f2=/,\d{1,2}$/['test'](_0x5a7e53)&&!/,\d{3}/[_0x5eb27a(0xc1)](_0x5a7e53);_0x2726f2?_0x5a7e53=_0x5a7e53[_0x5eb27a(0xf1)](/\./g,'')[_0x5eb27a(0xf1)](',','.'):_0x5a7e53=_0x5a7e53[_0x5eb27a(0xf1)](/,/g,'');const _0x44e24a=parseFloat(_0x5a7e53);return _0x3c7295['GoZFc'](isNaN,_0x44e24a)?null:_0x44e24a;}return null;}['formatBooleanForDatabase'](_0x456715){const _0x341764=a0_0x12b2bd,_0x46fb2c={'BnOBH':function(_0x5e0db9,_0x515dd0){return _0x5e0db9===_0x515dd0;},'HdChX':function(_0x51bdb0,_0x2e9839){return _0x51bdb0===_0x2e9839;},'GgoFX':_0x341764(0xd4),'UyscW':'false','GEHUT':function(_0x483704,_0xe31a50){return _0x483704===_0xe31a50;},'RIBSa':'string'};if(_0x456715===null||_0x46fb2c['BnOBH'](_0x456715,undefined)||_0x46fb2c[_0x341764(0x146)](_0x456715,''))return null;if(typeof _0x456715===_0x341764(0xd7))return _0x456715?_0x46fb2c['GgoFX']:_0x46fb2c['UyscW'];if(_0x46fb2c[_0x341764(0xb9)](typeof _0x456715,_0x46fb2c[_0x341764(0x13c)])){const _0x2ce037=_0x456715[_0x341764(0xe2)]()['toLowerCase']();if([_0x46fb2c[_0x341764(0x15c)],_0x341764(0xe0),'y','1'][_0x341764(0xbe)](_0x2ce037))return _0x46fb2c['GgoFX'];if(['false','no','n','0'][_0x341764(0xbe)](_0x2ce037))return _0x46fb2c[_0x341764(0xef)];return null;}if(typeof _0x456715===_0x341764(0xaf))return _0x456715?'true':_0x46fb2c[_0x341764(0xef)];return null;}async[a0_0x12b2bd(0x16b)](_0x4f279e,_0x12b0a6){const _0x433d78=a0_0x12b2bd,_0x40b649={'KtVzK':'headers_mapped','IvvBd':_0x433d78(0x147),'UPReQ':function(_0x28e774,_0x28cd37){return _0x28e774>_0x28cd37;},'VvsoF':'Column\x20formats\x20applied\x20to\x20rows','hxZoy':function(_0x19b595,_0x4d3198,_0x3c1be0,_0x1e21c1){return _0x19b595(_0x4d3198,_0x3c1be0,_0x1e21c1);},'ceoNB':'Failed\x20to\x20cleanup\x20file'},_0x442dc8=this['generateId']();try{let {headers:_0x9d3bc3,rows:_0x555f66,totalRows:_0x2c5f2c}=await excelParser[_0x433d78(0xf5)](_0x4f279e[_0x433d78(0xfe)]);const _0x5dc030=this[_0x433d78(0xe9)](_0x12b0a6[_0x433d78(0x100)]),_0x5efb02=_0x9d3bc3[_0x433d78(0x14e)](_0x5b0837=>{const _0x33794e=_0x433d78,_0x508137=_0x5dc030[_0x33794e(0x162)](_0x5b0837);return _0x508137||_0x5b0837;});_0x555f66=_0x555f66['map'](_0x324543=>{const _0x4e0fbd=_0x433d78,_0x1efd65={};return _0x9d3bc3[_0x4e0fbd(0xfc)]((_0x101070,_0x14dfaa)=>{const _0x5cbaba=_0x5efb02[_0x14dfaa];_0x1efd65[_0x5cbaba]=_0x324543[_0x101070];}),_0x1efd65;}),_0x9d3bc3=_0x5efb02,logger['debug']({'event':_0x40b649[_0x433d78(0x119)],'original':_0x9d3bc3[_0x433d78(0x11b)],'mapped':_0x5efb02['filter']((_0x15bbf1,_0x4f3d02)=>_0x15bbf1!==_0x9d3bc3[_0x4f3d02])['length']},_0x40b649[_0x433d78(0x107)]);_0x12b0a6['columnFormats']&&_0x40b649['UPReQ'](Object['keys'](_0x12b0a6['columnFormats'])['length'],0x0)&&(_0x555f66=this[_0x433d78(0x115)](_0x555f66,_0x12b0a6[_0x433d78(0x168)]),logger['debug']({'event':'column_formats_applied','formatCount':Object['keys'](_0x12b0a6['columnFormats'])[_0x433d78(0x11b)],'formats':Object[_0x433d78(0xcf)](_0x12b0a6['columnFormats'])},_0x40b649[_0x433d78(0x136)]));if(_0x12b0a6[_0x433d78(0x169)]&&_0x12b0a6['scopeOverride'][_0x433d78(0x10b)]){const {column:_0x2af418,value:_0x3c9d36}=_0x12b0a6['scopeOverride'];_0x555f66=_0x555f66['map'](_0x42d2c4=>({..._0x42d2c4,[_0x2af418]:_0x3c9d36})),logger[_0x433d78(0xf0)]({'event':'request_scope_applied','column':_0x2af418,'rowCount':_0x555f66[_0x433d78(0x11b)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x2bb2f4=_0x12b0a6[_0x433d78(0x130)]?Object[_0x433d78(0xf2)](_0x12b0a6['lookupFields'])[_0x433d78(0x14e)](_0xe36acf=>_0xe36acf[_0x433d78(0xc2)]):[],_0x46344c=_0x12b0a6['fieldName']['filter'](_0x45eeb2=>!_0x2bb2f4['includes'](_0x45eeb2)),_0x48fbc1=excelParser['validateExcelStructure'](_0x9d3bc3,_0x46344c);if(!_0x48fbc1[_0x433d78(0x14c)]){await fs[_0x433d78(0xf8)](_0x4f279e[_0x433d78(0xfe)]);throw new Error(_0x433d78(0xe1)+_0x48fbc1[_0x433d78(0x109)][_0x433d78(0x124)](',\x20'));}const _0x12e3ae={'upload_id':_0x442dc8,'filename':_0x4f279e[_0x433d78(0xf7)],'total_rows':_0x2c5f2c,'headers':_0x9d3bc3,'rows':_0x555f66,'params':_0x12b0a6,'created_at':new Date()['toISOString']()};return await redisHelper['setJob'](_0x433d78(0x108)+_0x442dc8,_0x12e3ae,0xe10),await fs[_0x433d78(0xf8)](_0x4f279e['path']),logger[_0x433d78(0x125)]({'event':_0x433d78(0x12f),'uploadId':_0x442dc8,'filename':_0x4f279e[_0x433d78(0xf7)],'totalRows':_0x2c5f2c},'Import\x20file\x20uploaded\x20and\x20parsed'),{'upload_id':_0x442dc8,'total_rows':_0x2c5f2c,'preview':_0x555f66['slice'](0x0,0xa)};}catch(_0x86d175){try{await fs[_0x433d78(0xf8)](_0x4f279e[_0x433d78(0xfe)]);}catch(_0x209f10){_0x40b649['hxZoy'](logError,_0x209f10,{'event':_0x433d78(0x138)},_0x40b649[_0x433d78(0x156)]);}throw _0x86d175;}}async['createPreviewJob'](_0x23f5ec){const _0x8b66fe=a0_0x12b2bd,_0x39849f={'wcNiI':'Upload\x20data\x20not\x20found\x20or\x20expired','jaJMi':_0x8b66fe(0x143),'WGfAe':_0x8b66fe(0xba)},_0x2a160c=this['generateId'](),_0x57e785=await redisHelper['getJob']('upload:'+_0x23f5ec);if(!_0x57e785)throw new Error(_0x39849f['wcNiI']);const _0xf41dce={'job_id':_0x2a160c,'upload_id':_0x23f5ec,'status':_0x39849f['jaJMi'],'progress':0x0,'created_at':new Date()[_0x8b66fe(0x15b)](),'params':_0x57e785[_0x8b66fe(0x10d)]};return await redisHelper['setJob'](_0x8b66fe(0x122)+_0x2a160c,_0xf41dce,0xe10),logger['info']({'event':_0x8b66fe(0x15a),'jobId':_0x2a160c,'uploadId':_0x23f5ec},_0x39849f['WGfAe']),this[_0x8b66fe(0x10c)](_0x2a160c,_0x23f5ec,_0x57e785)['catch'](_0x4abcb6=>{const _0x235853=_0x8b66fe;logError(_0x4abcb6,{'event':_0x235853(0xdd),'jobId':_0x2a160c},_0x235853(0x152));}),{'job_id':_0x2a160c,'status':_0x39849f['jaJMi']};}['autoGenerateUpsertKeys'](_0x1dff18,_0x5148d5){const _0x5d8c98={'YrLIf':function(_0xad6404,_0x847b48){return _0xad6404===_0x847b48;},'ZQuED':function(_0x425252,_0x323a76){return _0x425252(_0x323a76);},'sbPzF':function(_0x239711){return _0x239711();}};_0x1dff18['forEach']((_0xb3c0d9,_0x41aa5f)=>{const _0x34c57d=a0_0xe4ca,_0x54335b={'hthIl':function(_0x3bf9fa,_0xa9ee8c){const _0x5d4c25=a0_0xe4ca;return _0x5d8c98[_0x5d4c25(0x135)](_0x3bf9fa,_0xa9ee8c);},'TTNRN':function(_0x18d697,_0x1e7163){const _0x57795f=a0_0xe4ca;return _0x5d8c98[_0x57795f(0x14f)](_0x18d697,_0x1e7163);},'UAxUi':function(_0x7d28b8){return _0x5d8c98['sbPzF'](_0x7d28b8);},'SPkXi':_0x34c57d(0x149),'KgJRX':function(_0x116134,_0x257e25){return _0x116134+_0x257e25;}};_0x5148d5[_0x34c57d(0xfc)](_0x5c6403=>{const _0x3993f4=_0x34c57d,_0x3d477b=_0xb3c0d9[_0x5c6403];if(_0x3d477b===null||_0x3d477b===undefined||_0x3d477b===''||_0x54335b['hthIl'](_0x54335b['TTNRN'](String,_0x3d477b)[_0x3993f4(0xe2)](),'-')){const _0x5e5797=_0x54335b['UAxUi'](uuidv7);_0xb3c0d9[_0x5c6403]=_0x5e5797,_0xb3c0d9[_0x3993f4(0x145)]=_0xb3c0d9[_0x3993f4(0x145)]||{},_0xb3c0d9[_0x3993f4(0x145)][_0x5c6403]=_0x5e5797,logger['debug']({'event':_0x54335b['SPkXi'],'rowIndex':_0x41aa5f,'field':_0x5c6403,'uuid':_0x5e5797},_0x3993f4(0x13e)+_0x5c6403+'\x20at\x20row\x20'+_0x54335b[_0x3993f4(0xbb)](_0x41aa5f,0x2));}});});}async[a0_0x12b2bd(0x10c)](_0x413e66,_0x56bd90,_0x1839e4){const _0x331159=a0_0x12b2bd,_0x64fbbf={'iqtYJ':function(_0x1c32cd,_0x3030be){return _0x1c32cd===_0x3030be;},'tFPPz':function(_0x18a2d6,_0x4298be){return _0x18a2d6>_0x4298be;},'XPpfF':'processing_lookup_fields','LoPyS':'Processing\x20lookup\x20fields','CCTZI':_0x331159(0x11d),'DsZaM':function(_0x4cd8ee,_0x3c1e19,_0x2e361c,_0xa3fea9){return _0x4cd8ee(_0x3c1e19,_0x2e361c,_0xa3fea9);},'TRVzL':_0x331159(0xe5),'RgkZh':_0x331159(0x142),'vlrqP':_0x331159(0xb2)};try{let {rows:_0x4bd655,params:_0x2dedc7}=_0x1839e4;const {requiredFields:_0x14b3cc,validations:_0x173f98,upsertKeys:_0xa9d28,tableName:_0x5064fe,primaryKey:_0x3f22d2,fieldName:_0x1cd274,upsertStrategy:_0x5b9706,lookupFields:_0x178d27}=_0x2dedc7;this[_0x331159(0xb1)](_0x4bd655,_0xa9d28);let _0x32b20d=[];if(_0x178d27&&_0x64fbbf['tFPPz'](Object['keys'](_0x178d27)[_0x331159(0x11b)],0x0)){logger[_0x331159(0x125)]({'event':_0x64fbbf[_0x331159(0x105)],'jobId':_0x413e66,'lookupFieldCount':Object['keys'](_0x178d27)[_0x331159(0x11b)]},_0x64fbbf[_0x331159(0x11c)]);const _0x95d034=await lookupResolver[_0x331159(0x12c)](_0x4bd655,_0x178d27);_0x4bd655=_0x95d034[_0x331159(0x120)],_0x32b20d=_0x95d034['errors'],_0x1839e4[_0x331159(0xfb)]=_0x4bd655;}const _0x152879=importValidator[_0x331159(0xf3)](_0x4bd655,_0x14b3cc||[],_0x173f98||{});_0x32b20d[_0x331159(0xfc)](_0x5c8620=>{const _0xef62bd=_0x331159,_0x1e4061=_0x152879[_0xef62bd(0x121)](_0x458cd2=>_0x458cd2['rowIndex']===_0x5c8620['rowIndex']);_0x1e4061?_0x1e4061[_0xef62bd(0x112)]['push'](_0x5c8620[_0xef62bd(0xfd)]):_0x152879[_0xef62bd(0x137)]({'rowIndex':_0x5c8620[_0xef62bd(0x134)],'rowData':_0x4bd655[_0x5c8620['rowIndex']],'errors':[_0x5c8620[_0xef62bd(0xfd)]]});});const _0x4b1d6f=importValidator[_0x331159(0x101)](_0x4bd655,_0xa9d28);_0x4b1d6f['forEach'](_0x1e9463=>{const _0xabe551=_0x331159,_0xa5f2bc=_0x152879[_0xabe551(0x121)](_0x394d41=>_0x394d41[_0xabe551(0x134)]===_0x1e9463[_0xabe551(0x134)]),_0x5c77ee=_0xa9d28[_0xabe551(0x14e)](_0x1303a7=>_0x1303a7[_0xabe551(0xdc)]())[_0xabe551(0x124)](',\x20'),_0x525e6c='Duplicate\x20value\x20for\x20'+_0x5c77ee;_0xa5f2bc?_0xa5f2bc[_0xabe551(0x112)]['push'](_0x525e6c):_0x152879[_0xabe551(0x137)]({'rowIndex':_0x1e9463['rowIndex'],'rowData':_0x4bd655[_0x1e9463['rowIndex']],'errors':[_0x525e6c]});}),await this[_0x331159(0x10a)](_0x4bd655,_0xa9d28,_0x5064fe,_0x3f22d2,_0x5b9706,_0x152879),_0x152879['forEach'](_0x46adb0=>{const _0x1093b2=_0x331159,_0x30008f=_0x4bd655[_0x46adb0['rowIndex']];_0x30008f&&(_0x30008f[_0x1093b2(0xb4)]=_0x46adb0['errors']);});let _0x2c1a3f=0x0,_0x322f2f=0x0,_0xdd33e1=0x0;_0x4bd655['forEach'](_0x93f62b=>{const _0x255473=_0x331159;if(_0x64fbbf[_0x255473(0x144)](_0x93f62b['_action'],'INSERT'))_0x2c1a3f++;else{if(_0x93f62b['_action']===_0x255473(0x11e))_0x322f2f++;else _0x93f62b['_action']==='SKIP'&&_0xdd33e1++;}});const _0x208cfa={'job_id':_0x413e66,'upload_id':_0x56bd90,'status':_0x152879[_0x331159(0x11b)]>0x0?_0x64fbbf[_0x331159(0x16a)]:_0x331159(0x13d),'progress':0x64,'created_at':_0x1839e4['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x4bd655['length'],'insert_count':_0x2c1a3f,'update_count':_0x322f2f,'skip_count':_0xdd33e1,'error_count':_0x152879['length'],'errors':_0x152879,'data':_0x4bd655,'sample_insert':_0x4bd655['filter'](_0x4840b9=>_0x4840b9[_0x331159(0xdb)]===_0x331159(0x11a))[_0x331159(0xc8)](0x0,0x5),'sample_update':_0x4bd655['filter'](_0x869644=>_0x869644['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x4bd655['filter'](_0x4f468d=>_0x4f468d['_action']===_0x331159(0x167))[_0x331159(0xc8)](0x0,0x5)},'params':_0x2dedc7};await redisHelper['setJob'](_0x331159(0x122)+_0x413e66,_0x208cfa,0xe10),_0x1839e4[_0x331159(0xfb)]=_0x4bd655,await redisHelper[_0x331159(0x148)](_0x331159(0x108)+_0x56bd90,_0x1839e4,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x413e66,'status':_0x208cfa['status'],'insertCount':_0x2c1a3f,'updateCount':_0x322f2f,'skipCount':_0xdd33e1,'errorCount':_0x152879['length']},_0x331159(0x10f));}catch(_0x4446c8){_0x64fbbf[_0x331159(0xce)](logError,_0x4446c8,{'event':_0x64fbbf['TRVzL'],'jobId':_0x413e66},_0x64fbbf['RgkZh']),await redisHelper['setJob']('job:'+_0x413e66,{'job_id':_0x413e66,'upload_id':_0x56bd90,'status':_0x64fbbf[_0x331159(0xd9)],'progress':0x0,'error':_0x4446c8['message'],'created_at':new Date()[_0x331159(0x15b)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x12b2bd(0x10a)](_0x2e7836,_0x423a76,_0x32f0b3,_0x900bde,_0x32996f='update_existing',_0x5a76d2=[]){const _0x491948=a0_0x12b2bd,_0x3daf95={'ScneX':function(_0xc63666,_0x1762a4){return _0xc63666===_0x1762a4;},'UIllk':'UPDATE','rTBPU':_0x491948(0x104),'Umioa':_0x491948(0x167),'lIApO':function(_0x2e8ec6,_0x525080){return _0x2e8ec6===_0x525080;},'bqadi':'INSERT','KnKMC':_0x491948(0x123)},_0x222cd7=upsertBuilder['chunkRows'](_0x2e7836,0x64);for(const _0x4ccdd6 of _0x222cd7){const _0x33b7da=_0x4ccdd6['map'](_0x5886ab=>_0x5886ab[_0x423a76[0x0]]),_0x2fd71c=_0x33b7da['map'](_0x403e0f=>{const _0x3eb0f6=_0x491948;if(_0x3daf95[_0x3eb0f6(0xe6)](_0x403e0f,null)||_0x403e0f===undefined)return'NULL';return'\x27'+String(_0x403e0f)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x2d57ee='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x900bde+',\x20'+_0x423a76[_0x491948(0x124)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x32f0b3+_0x491948(0xb6)+_0x423a76[0x0]+_0x491948(0xc5)+_0x2fd71c[_0x491948(0x124)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x265bde=await executeQuery(_0x2d57ee);_0x3daf95[_0x491948(0xc7)](dbType,_0x3daf95['KnKMC'])&&_0x265bde&&_0x265bde['length']>0x0&&(_0x265bde=_0x265bde['map'](_0x40e611=>{const _0x1bedee=_0x491948,_0x4c6c79={};for(const [_0x5cf04e,_0x1ba151]of Object[_0x1bedee(0x15d)](_0x40e611)){_0x4c6c79[_0x5cf04e[_0x1bedee(0xe7)]()]=_0x1ba151;}return _0x4c6c79;}));const _0x479f23=new Map();_0x265bde['forEach'](_0x19e44a=>{const _0x282050=_0x19e44a[_0x423a76[0x0]];_0x479f23['set'](_0x282050,_0x19e44a);}),_0x4ccdd6['forEach']((_0x44111b,_0x5c91f4)=>{const _0x209129=_0x491948,_0xe090d=_0x44111b[_0x423a76[0x0]],_0xca69b4=_0x479f23[_0x209129(0x162)](_0xe090d);if(_0xca69b4){if(_0x3daf95[_0x209129(0xe6)](_0x32996f,'update_existing'))_0x44111b[_0x209129(0xdb)]=_0x3daf95[_0x209129(0xf4)],_0x44111b[_0x209129(0x133)]=_0xca69b4[_0x900bde];else{if(_0x32996f===_0x3daf95[_0x209129(0x163)]){_0x44111b['_action']=_0x3daf95['Umioa'],_0x44111b['_errors']=_0x44111b[_0x209129(0xb4)]||[],_0x44111b['_errors']['push'](_0x209129(0x11f));const _0x304b54=_0x2e7836['indexOf'](_0x44111b);_0x304b54!==-0x1&&_0x5a76d2['push']({'rowIndex':_0x304b54,'rowData':_0x44111b,'errors':[_0x209129(0x11f)]});}else _0x3daf95[_0x209129(0xc7)](_0x32996f,_0x209129(0x127))&&(_0x44111b['_action']='SKIP');}}else{if(_0x32996f===_0x209129(0x12b))_0x44111b[_0x209129(0xdb)]=_0x3daf95['bqadi'];else(_0x32996f===_0x209129(0x104)||_0x32996f==='skip_existing')&&(_0x44111b['_action']=_0x209129(0x11a));}});}}async[a0_0x12b2bd(0xf9)](_0x25e48d){const _0x265348=a0_0x12b2bd,_0x19983b={'HsPSJ':_0x265348(0x10e),'cPaRt':'Commit\x20processing\x20failed','zuiJo':'preview_ok','vpnUt':_0x265348(0x129),'gmNbI':_0x265348(0x126)},_0x8b56d7=this['generateId'](),_0x1cfaf1=await redisHelper['getJob'](_0x265348(0x122)+_0x25e48d);if(!_0x1cfaf1)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x1cfaf1[_0x265348(0xda)]!==_0x19983b[_0x265348(0xd3)])throw new Error(_0x265348(0xd2)+_0x1cfaf1['status']);const _0xdf6628={'job_id':_0x8b56d7,'upload_id':_0x1cfaf1['upload_id'],'preview_job_id':_0x25e48d,'status':_0x265348(0x126),'progress':0x0,'created_at':new Date()[_0x265348(0x15b)](),'params':_0x1cfaf1[_0x265348(0x10d)]};return await redisHelper[_0x265348(0x148)]('job:'+_0x8b56d7,_0xdf6628,0xe10),logger[_0x265348(0x125)]({'event':_0x265348(0xb5),'jobId':_0x8b56d7,'previewJobId':_0x25e48d},_0x19983b[_0x265348(0x140)]),this[_0x265348(0x139)](_0x8b56d7,_0x1cfaf1)['catch'](_0x4afdff=>{const _0x50e44c=_0x265348;logError(_0x4afdff,{'event':_0x19983b[_0x50e44c(0xb3)],'jobId':_0x8b56d7},_0x19983b[_0x50e44c(0xc9)]);}),{'job_id':_0x8b56d7,'status':_0x19983b['gmNbI']};}async[a0_0x12b2bd(0x139)](_0x207162,_0x461bd4){const _0x393f6f=a0_0x12b2bd,_0x4bc1ae={'HlLXl':function(_0x4cdfa1,_0x5b14e1){return _0x4cdfa1===_0x5b14e1;},'BXprG':'Upload\x20data\x20not\x20found\x20or\x20expired','qILjs':function(_0x4d90f2,_0xb38c6){return _0x4d90f2>_0xb38c6;},'zMkiI':'import_fields_filtered','AxYSz':function(_0x427cb5,_0x41d2e4){return _0x427cb5>_0x41d2e4;},'uhqKk':_0x393f6f(0x164),'FHyXU':'update','GEMKv':'completed','GCBZc':_0x393f6f(0x12e),'BUyqm':'commit_job_failed','aEHeT':'failed'};try{const _0x1d59f3=await redisHelper['getJob']('upload:'+_0x461bd4['upload_id']);if(!_0x1d59f3)throw new Error(_0x4bc1ae['BXprG']);const {rows:_0x5e4e60,params:_0x16dc10}=_0x1d59f3,{tableName:_0x30cb64,fieldName:_0x2ffc94,primaryKey:_0xbce9ed,upsertKeys:_0x2da0af,excludeFromImport:_0x59b048,lookupFields:_0x5b280d,columnFormats:_0x32a8f9}=_0x16dc10,_0x330462=_0x5b280d?Object[_0x393f6f(0xcf)](_0x5b280d):[],_0x1eb988=new Set([..._0x59b048||[],..._0x330462]);let _0x30750f=_0x2ffc94;_0x4bc1ae[_0x393f6f(0xee)](_0x1eb988['size'],0x0)&&(_0x30750f=_0x2ffc94['filter'](_0x423c4a=>!_0x1eb988[_0x393f6f(0xc3)](_0x423c4a)),logger['debug']({'event':_0x4bc1ae[_0x393f6f(0x103)],'originalCount':_0x2ffc94[_0x393f6f(0x11b)],'filteredCount':_0x30750f[_0x393f6f(0x11b)],'excludedFields':Array[_0x393f6f(0x155)](_0x1eb988),'lookupSourceFields':_0x330462},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x20902e=_0x5e4e60[_0x393f6f(0xcd)](_0x5ecc0a=>_0x5ecc0a['_action']==='INSERT'),_0x2be9e0=_0x5e4e60['filter'](_0x547fd7=>_0x547fd7['_action']==='UPDATE');let _0xe4111=0x0,_0x3db914=0x0;const _0x2e9d7b=[];if(_0x4bc1ae[_0x393f6f(0xcc)](_0x20902e['length'],0x0)){const _0x47f124=upsertBuilder[_0x393f6f(0xec)](_0x20902e,0x64);for(const _0x26fccf of _0x47f124){const {query:_0x556ba3}=upsertBuilder['buildBatchInsert'](_0x26fccf,_0x30cb64,_0x30750f,_0x32a8f9||{});_0x556ba3&&_0x2e9d7b[_0x393f6f(0x137)]({'sql':_0x556ba3,'count':_0x26fccf[_0x393f6f(0x11b)],'type':_0x4bc1ae['uhqKk']});}}if(_0x4bc1ae['AxYSz'](_0x2be9e0[_0x393f6f(0x11b)],0x0)){const _0xdbd293=upsertBuilder[_0x393f6f(0xec)](_0x2be9e0,0x64);for(const _0x5071f3 of _0xdbd293){const {query:_0x537cfb}=upsertBuilder[_0x393f6f(0x153)](_0x5071f3,_0x30cb64,_0x30750f,_0xbce9ed,_0x2da0af,_0x32a8f9||{});_0x537cfb&&_0x2e9d7b[_0x393f6f(0x137)]({'sql':_0x537cfb,'count':_0x5071f3[_0x393f6f(0x11b)],'type':_0x4bc1ae[_0x393f6f(0xed)]});}}_0x2e9d7b[_0x393f6f(0x11b)]>0x0&&await executeTransaction(_0x2e9d7b['map'](_0xbe6585=>({'sql':_0xbe6585['sql'],'params':[]})));_0x2e9d7b['forEach'](_0x59016e=>{const _0x4c52fb=_0x393f6f;if(_0x4bc1ae['HlLXl'](_0x59016e['type'],'insert'))_0xe4111+=_0x59016e[_0x4c52fb(0x116)];else _0x3db914+=_0x59016e[_0x4c52fb(0x116)];});const _0x39e857={'job_id':_0x207162,'upload_id':_0x461bd4[_0x393f6f(0xca)],'preview_job_id':_0x461bd4['job_id'],'status':_0x4bc1ae['GEMKv'],'progress':0x64,'created_at':_0x461bd4['created_at'],'started_at':new Date()[_0x393f6f(0x15b)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x5e4e60[_0x393f6f(0x11b)],'inserted_rows':_0xe4111,'updated_rows':_0x3db914,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x16dc10};await redisHelper[_0x393f6f(0x148)]('job:'+_0x207162,_0x39e857,0xe10),logger[_0x393f6f(0x125)]({'event':_0x4bc1ae[_0x393f6f(0x114)],'jobId':_0x207162,'insertedCount':_0xe4111,'updatedCount':_0x3db914},_0x393f6f(0x13f));}catch(_0x100833){logError(_0x100833,{'event':_0x4bc1ae[_0x393f6f(0x150)],'jobId':_0x207162},'Commit\x20job\x20failed'),await redisHelper['setJob'](_0x393f6f(0x122)+_0x207162,{'job_id':_0x207162,'upload_id':_0x461bd4['upload_id'],'preview_job_id':_0x461bd4['job_id'],'status':_0x4bc1ae['aEHeT'],'progress':0x0,'error':_0x100833['message'],'created_at':_0x461bd4['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x393f6f(0x15b)]()},0xe10);}}async['getJobStatus'](_0x49e8af){const _0x3ddeab=a0_0x12b2bd,_0x42f6c9={'dglaf':'Job\x20not\x20found\x20or\x20expired'},_0x407d1f=await redisHelper[_0x3ddeab(0x15e)]('job:'+_0x49e8af);if(!_0x407d1f)return{'success':![],'error':_0x42f6c9[_0x3ddeab(0xcb)]};return{'success':!![],'data':_0x407d1f};}}module['exports']=new ImportService();
1
+ const a0_0x4e6a12=a0_0x372d;(function(_0x2d4c76,_0x5768bd){const _0x25b613=a0_0x372d,_0x26864f=_0x2d4c76();while(!![]){try{const _0x1f0db0=parseInt(_0x25b613(0x114))/0x1+parseInt(_0x25b613(0xf3))/0x2*(parseInt(_0x25b613(0x143))/0x3)+-parseInt(_0x25b613(0xf2))/0x4+-parseInt(_0x25b613(0x12e))/0x5*(parseInt(_0x25b613(0x176))/0x6)+parseInt(_0x25b613(0x130))/0x7*(parseInt(_0x25b613(0x15c))/0x8)+parseInt(_0x25b613(0x155))/0x9*(-parseInt(_0x25b613(0x106))/0xa)+-parseInt(_0x25b613(0x13d))/0xb;if(_0x1f0db0===_0x5768bd)break;else _0x26864f['push'](_0x26864f['shift']());}catch(_0x5cf13f){_0x26864f['push'](_0x26864f['shift']());}}}(a0_0x2661,0x44cd4));const {v7:uuidv7}=require(a0_0x4e6a12(0x10c)),path=require(a0_0x4e6a12(0x11a)),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x4e6a12(0x14a)),dbType=(process[a0_0x4e6a12(0xec)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery,executeTransaction,oracleDb;function a0_0x372d(_0x5d1e79,_0x64a0be){_0x5d1e79=_0x5d1e79-0xe2;const _0x266191=a0_0x2661();let _0x372daa=_0x266191[_0x5d1e79];if(a0_0x372d['sgUoef']===undefined){var _0x5de5bc=function(_0x2352ce){const _0x176529='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c76e8='',_0x43c4f8='';for(let _0x5370fe=0x0,_0x4e8c13,_0x182fcc,_0x119e42=0x0;_0x182fcc=_0x2352ce['charAt'](_0x119e42++);~_0x182fcc&&(_0x4e8c13=_0x5370fe%0x4?_0x4e8c13*0x40+_0x182fcc:_0x182fcc,_0x5370fe++%0x4)?_0x5c76e8+=String['fromCharCode'](0xff&_0x4e8c13>>(-0x2*_0x5370fe&0x6)):0x0){_0x182fcc=_0x176529['indexOf'](_0x182fcc);}for(let _0x553aef=0x0,_0x3f0972=_0x5c76e8['length'];_0x553aef<_0x3f0972;_0x553aef++){_0x43c4f8+='%'+('00'+_0x5c76e8['charCodeAt'](_0x553aef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c4f8);};a0_0x372d['egUTcj']=_0x5de5bc,a0_0x372d['rAMhSo']={},a0_0x372d['sgUoef']=!![];}const _0x14686e=_0x266191[0x0],_0x56d9f4=_0x5d1e79+_0x14686e,_0x3fb7fe=a0_0x372d['rAMhSo'][_0x56d9f4];return!_0x3fb7fe?(_0x372daa=a0_0x372d['egUTcj'](_0x372daa),a0_0x372d['rAMhSo'][_0x56d9f4]=_0x372daa):_0x372daa=_0x3fb7fe,_0x372daa;}if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x1a1db2,_0x47cb7f)=>oracleDb['executeQuery'](_0x1a1db2,_0x47cb7f),executeTransaction=_0xf6f673=>oracleDb[a0_0x4e6a12(0x158)](_0xf6f673);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xfd21af,_0x17180f)=>mysqlDb['executeQuery'](_0xfd21af,_0x17180f),executeTransaction=_0x5261b0=>mysqlDb[a0_0x4e6a12(0x158)](_0x5261b0);}else{const db=require('../utils/db');executeQuery=db[a0_0x4e6a12(0x12f)],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x4e6a12(0x14d)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x4e6a12(0x163));class ImportService{constructor(){const _0x866837=a0_0x4e6a12;this[_0x866837(0x124)]=null;}get['uploadDir'](){const _0x229d78=a0_0x4e6a12,_0x92a508={'IrzAp':_0x229d78(0x16c)};if(!this[_0x229d78(0x124)]){const _0x3b2d09=process[_0x229d78(0xec)][_0x229d78(0xfa)]||_0x92a508[_0x229d78(0x15f)];this['_uploadDir']=process['env']['UPLOAD_DIR']||path['join'](__dirname,_0x229d78(0x156)+_0x3b2d09);}return this['_uploadDir'];}['generateId'](){const _0x444f95=a0_0x4e6a12,_0x3239cf={'UMphJ':function(_0xc15d5f){return _0xc15d5f();},'EMiTx':function(_0x2eadc5,_0x3780cb){return _0x2eadc5+_0x3780cb;},'LcwLb':function(_0x3283e9,_0x4bd6ea){return _0x3283e9*_0x4bd6ea;}},_0x394bd9=_0x444f95(0x100),_0x824ad9=Date['now']()[_0x444f95(0x171)](0x24),_0x2390cd=_0x3239cf['UMphJ'](uuidv7)[_0x444f95(0x180)](/-/g,'')['substring'](0x0,0xc-_0x824ad9['length']),_0x11e641=_0x3239cf['EMiTx'](_0x824ad9,_0x2390cd)[_0x444f95(0x150)](0x0,0xc);let _0xbcccca='';for(let _0x59ebb2=0x0;_0x59ebb2<0xc;_0x59ebb2++){_0x11e641[_0x59ebb2]?_0xbcccca+=_0x11e641[_0x59ebb2]:_0xbcccca+=_0x394bd9['charAt'](Math[_0x444f95(0x12d)](_0x3239cf[_0x444f95(0xe2)](Math['random'](),_0x394bd9[_0x444f95(0x174)])));}return _0xbcccca;}['buildLabelToFieldMap'](_0x4a937a){const _0x1f3042=a0_0x4e6a12,_0x2dcfc9=new Map();if(!_0x4a937a)return _0x2dcfc9;return Object['entries'](_0x4a937a)[_0x1f3042(0x118)](([_0x172bb0,_0x713c75])=>{const _0x9c89e9=_0x1f3042,_0x34fa73=String(_0x713c75)['trim']()[_0x9c89e9(0x180)](/\s+/g,'_')[_0x9c89e9(0x180)](/([a-z])([A-Z])/g,'$1_$2')[_0x9c89e9(0x180)](/([A-Z]+)([A-Z][a-z])/g,_0x9c89e9(0x117))[_0x9c89e9(0x173)]();_0x2dcfc9[_0x9c89e9(0x12a)](_0x34fa73,_0x172bb0);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x2dcfc9[_0x1f3042(0x12c)]},_0x1f3042(0xeb)),_0x2dcfc9;}[a0_0x4e6a12(0x15e)](_0x1e4652,_0x2cb6ed){const _0x2cfe85=a0_0x4e6a12,_0xef57d5={'NxSUQ':function(_0x19830e,_0x3183df){return _0x19830e===_0x3183df;},'bwtNG':_0x2cfe85(0xed),'LJKWa':_0x2cfe85(0x17b),'eyZHj':function(_0x7708aa,_0x530329){return _0x7708aa===_0x530329;}};if(!_0x2cb6ed||_0xef57d5['eyZHj'](Object['keys'](_0x2cb6ed)[_0x2cfe85(0x174)],0x0))return _0x1e4652;return _0x1e4652['map'](_0x1c236e=>{const _0xf1d017=_0x2cfe85,_0x4ae30a={..._0x1c236e};for(const [_0x486842,_0x193299]of Object[_0xf1d017(0xfb)](_0x2cb6ed)){const _0x5b627d=_0x4ae30a[_0x486842];if(_0xef57d5[_0xf1d017(0xe6)](_0x5b627d,null)||_0x5b627d===undefined||_0x5b627d===''){_0x4ae30a[_0x486842]=null;continue;}switch(_0x193299[_0xf1d017(0x14b)]){case _0xef57d5['bwtNG']:_0x4ae30a[_0x486842]=this[_0xf1d017(0x16b)](_0x5b627d);break;case'number':_0x4ae30a[_0x486842]=this['formatNumberForDatabase'](_0x5b627d);break;case'boolean':_0x4ae30a[_0x486842]=this['formatBooleanForDatabase'](_0x5b627d);break;case _0xef57d5[_0xf1d017(0x151)]:_0x4ae30a[_0x486842]=String(_0x5b627d);break;default:break;}}return _0x4ae30a;});}['formatDateForDatabase'](_0x1a3434){const _0x4b31d7=a0_0x4e6a12,_0x82550={'PCcGL':function(_0x41bafa,_0x4c74f8){return _0x41bafa===_0x4c74f8;},'gkucY':function(_0x4725b8,_0x17b87a){return _0x4725b8===_0x17b87a;},'ikYft':_0x4b31d7(0x121),'HKVGH':function(_0x289104,_0x42cff5){return _0x289104(_0x42cff5);},'FzqjZ':function(_0x38f3e8,_0x400b4f){return _0x38f3e8+_0x400b4f;},'eIzai':function(_0x66c4d5,_0x36cec6){return _0x66c4d5(_0x36cec6);}};if(_0x82550[_0x4b31d7(0x154)](_0x1a3434,null)||_0x82550['gkucY'](_0x1a3434,undefined)||_0x1a3434==='')return null;if(typeof _0x1a3434===_0x82550['ikYft']&&/^\d{4}-\d{2}-\d{2}$/[_0x4b31d7(0x14e)](_0x1a3434))return _0x1a3434;if(_0x1a3434 instanceof Date){if(_0x82550[_0x4b31d7(0x107)](isNaN,_0x1a3434[_0x4b31d7(0x177)]()))return null;const _0x5be3b5=_0x1a3434[_0x4b31d7(0x11d)](),_0x35ce3c=_0x82550[_0x4b31d7(0x107)](String,_0x82550[_0x4b31d7(0x10d)](_0x1a3434['getMonth'](),0x1))[_0x4b31d7(0x14c)](0x2,'0'),_0x478688=_0x82550[_0x4b31d7(0x153)](String,_0x1a3434['getDate']())['padStart'](0x2,'0');return _0x5be3b5+'-'+_0x35ce3c+'-'+_0x478688;}if(_0x82550[_0x4b31d7(0x170)](typeof _0x1a3434,_0x4b31d7(0x121))){const _0x34b934=_0x1a3434['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x34b934){const _0x39a085=_0x82550['eIzai'](String,_0x34b934[0x1])[_0x4b31d7(0x14c)](0x2,'0'),_0x5141f9=String(_0x34b934[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0x31bfbe=_0x34b934[0x3];return _0x31bfbe+'-'+_0x5141f9+'-'+_0x39a085;}const _0x222a4e=_0x1a3434['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x222a4e){const _0x5e21fc=_0x222a4e[0x1],_0x4740da=String(_0x222a4e[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0xe9e703=String(_0x222a4e[0x3])[_0x4b31d7(0x14c)](0x2,'0');return _0x5e21fc+'-'+_0x4740da+'-'+_0xe9e703;}}return _0x1a3434;}['formatNumberForDatabase'](_0x16b347){const _0x511be0=a0_0x4e6a12,_0x4aad9a={'asWKY':'number','aIrSs':function(_0x22fa5a,_0x31f218){return _0x22fa5a(_0x31f218);},'qYzVe':function(_0x4b1d91,_0x36fa1e){return _0x4b1d91===_0x36fa1e;}};if(_0x16b347===null||_0x16b347===undefined||_0x16b347==='')return null;if(typeof _0x16b347===_0x4aad9a[_0x511be0(0x147)])return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x16b347)?null:_0x16b347;if(_0x4aad9a[_0x511be0(0x13c)](typeof _0x16b347,_0x511be0(0x121))){let _0x887444=_0x16b347[_0x511be0(0xe8)]();const _0x4385ff=/,\d{1,2}$/['test'](_0x887444)&&!/,\d{3}/['test'](_0x887444);_0x4385ff?_0x887444=_0x887444[_0x511be0(0x180)](/\./g,'')[_0x511be0(0x180)](',','.'):_0x887444=_0x887444[_0x511be0(0x180)](/,/g,'');const _0x224371=_0x4aad9a[_0x511be0(0x120)](parseFloat,_0x887444);return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x224371)?null:_0x224371;}return null;}['formatBooleanForDatabase'](_0x3335a9){const _0x3d7d22=a0_0x4e6a12,_0xaf5484={'PlKJU':function(_0x587dee,_0x27dda9){return _0x587dee===_0x27dda9;},'wWPor':function(_0x5107f9,_0x4bfef7){return _0x5107f9===_0x4bfef7;},'NzRxa':function(_0x26ee05,_0x297bda){return _0x26ee05===_0x297bda;},'CBKuD':function(_0xb937f2,_0xd7cba6){return _0xb937f2===_0xd7cba6;},'turRK':'true','EKJaT':_0x3d7d22(0x140)};if(_0xaf5484['PlKJU'](_0x3335a9,null)||_0x3335a9===undefined||_0xaf5484[_0x3d7d22(0xff)](_0x3335a9,''))return null;if(_0xaf5484['NzRxa'](typeof _0x3335a9,'boolean'))return _0x3335a9?_0x3d7d22(0x17c):_0x3d7d22(0x17d);if(_0xaf5484[_0x3d7d22(0x109)](typeof _0x3335a9,_0x3d7d22(0x121))){const _0x3ec451=_0x3335a9['trim']()[_0x3d7d22(0x173)]();if([_0xaf5484['turRK'],_0xaf5484['EKJaT'],'y','1']['includes'](_0x3ec451))return _0xaf5484['turRK'];if([_0x3d7d22(0x17d),'no','n','0']['includes'](_0x3ec451))return _0x3d7d22(0x17d);return null;}if(typeof _0x3335a9==='number')return _0x3335a9?_0xaf5484['turRK']:'false';return null;}async['uploadFile'](_0x18dd7a,_0x3ad18a){const _0x2bcbbd=a0_0x4e6a12,_0x31f6db={'bRZsv':function(_0x2b6765,_0x5209d7){return _0x2b6765>_0x5209d7;},'fTHRB':'Column\x20formats\x20applied\x20to\x20rows','jcqaM':function(_0x5bee43,_0x5ba5d8,_0x4307e5,_0x5522a8){return _0x5bee43(_0x5ba5d8,_0x4307e5,_0x5522a8);}},_0x26853c=this[_0x2bcbbd(0x145)]();try{let {headers:_0x556f9a,rows:_0x1d541c,totalRows:_0x3af04c}=await excelParser[_0x2bcbbd(0x105)](_0x18dd7a[_0x2bcbbd(0x11a)]);const _0x4d6061=this['buildLabelToFieldMap'](_0x3ad18a['fieldLabels']),_0x467647=_0x556f9a['map'](_0x53a493=>{const _0x342b65=_0x2bcbbd,_0x3b6beb=_0x4d6061[_0x342b65(0xee)](_0x53a493);return _0x3b6beb||_0x53a493;});_0x1d541c=_0x1d541c['map'](_0x2fd3eb=>{const _0x2b8e4b={};return _0x556f9a['forEach']((_0x48257a,_0x1f7f45)=>{const _0x256617=_0x467647[_0x1f7f45];_0x2b8e4b[_0x256617]=_0x2fd3eb[_0x48257a];}),_0x2b8e4b;}),_0x556f9a=_0x467647,logger['debug']({'event':_0x2bcbbd(0xfe),'original':_0x556f9a['length'],'mapped':_0x467647[_0x2bcbbd(0x102)]((_0x35259f,_0x29f2a1)=>_0x35259f!==_0x556f9a[_0x29f2a1])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x3ad18a['columnFormats']&&_0x31f6db['bRZsv'](Object['keys'](_0x3ad18a['columnFormats'])[_0x2bcbbd(0x174)],0x0)&&(_0x1d541c=this['applyColumnFormats'](_0x1d541c,_0x3ad18a[_0x2bcbbd(0x166)]),logger['debug']({'event':'column_formats_applied','formatCount':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])['length'],'formats':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])},_0x31f6db['fTHRB']));if(_0x3ad18a['scopeOverride']&&_0x3ad18a['scopeOverride']['column']){const {column:_0x3cbbc3,value:_0x19d1ba}=_0x3ad18a[_0x2bcbbd(0x16e)];_0x1d541c=_0x1d541c[_0x2bcbbd(0x13a)](_0x27bdf0=>({..._0x27bdf0,[_0x3cbbc3]:_0x19d1ba})),logger[_0x2bcbbd(0x181)]({'event':'request_scope_applied','column':_0x3cbbc3,'rowCount':_0x1d541c['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5edc20=_0x3ad18a[_0x2bcbbd(0x11f)]?Object[_0x2bcbbd(0x111)](_0x3ad18a['lookupFields'])[_0x2bcbbd(0x13a)](_0x266984=>_0x266984['targetField']):[],_0x14b0ec=_0x3ad18a['fieldName'][_0x2bcbbd(0x102)](_0x13099=>!_0x5edc20['includes'](_0x13099)),_0x32643f=excelParser['validateExcelStructure'](_0x556f9a,_0x14b0ec);if(!_0x32643f['valid']){await fs[_0x2bcbbd(0xea)](_0x18dd7a[_0x2bcbbd(0x11a)]);throw new Error(_0x2bcbbd(0x15d)+_0x32643f[_0x2bcbbd(0x164)][_0x2bcbbd(0xfd)](',\x20'));}const _0xc36f32={'upload_id':_0x26853c,'filename':_0x18dd7a['originalname'],'total_rows':_0x3af04c,'headers':_0x556f9a,'rows':_0x1d541c,'params':_0x3ad18a,'created_at':new Date()[_0x2bcbbd(0x139)]()};return await redisHelper['setJob']('upload:'+_0x26853c,_0xc36f32,0xe10),await fs[_0x2bcbbd(0xea)](_0x18dd7a['path']),logger[_0x2bcbbd(0x148)]({'event':_0x2bcbbd(0x13f),'uploadId':_0x26853c,'filename':_0x18dd7a['originalname'],'totalRows':_0x3af04c},_0x2bcbbd(0x169)),{'upload_id':_0x26853c,'total_rows':_0x3af04c,'preview':_0x1d541c['slice'](0x0,0xa)};}catch(_0x4028d2){try{await fs['unlink'](_0x18dd7a[_0x2bcbbd(0x11a)]);}catch(_0x35435c){_0x31f6db['jcqaM'](logError,_0x35435c,{'event':_0x2bcbbd(0x165)},_0x2bcbbd(0x11e));}throw _0x4028d2;}}async['createPreviewJob'](_0x5ec8f3){const _0x3f2be0=a0_0x4e6a12,_0x20afbb={'sCjka':_0x3f2be0(0x125),'bBgsM':_0x3f2be0(0x11c)},_0x43a9ca=this['generateId'](),_0x435452=await redisHelper[_0x3f2be0(0x149)](_0x3f2be0(0x182)+_0x5ec8f3);if(!_0x435452)throw new Error(_0x3f2be0(0x16a));const _0x2c38f1={'job_id':_0x43a9ca,'upload_id':_0x5ec8f3,'status':_0x3f2be0(0x178),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x435452[_0x3f2be0(0xe4)]};return await redisHelper['setJob'](_0x3f2be0(0x136)+_0x43a9ca,_0x2c38f1,0xe10),logger['info']({'event':_0x3f2be0(0xf9),'jobId':_0x43a9ca,'uploadId':_0x5ec8f3},_0x20afbb[_0x3f2be0(0x144)]),this[_0x3f2be0(0x146)](_0x43a9ca,_0x5ec8f3,_0x435452)[_0x3f2be0(0x113)](_0x53bf56=>{logError(_0x53bf56,{'event':_0x20afbb['sCjka'],'jobId':_0x43a9ca},'Preview\x20processing\x20failed');}),{'job_id':_0x43a9ca,'status':'validating'};}['autoGenerateUpsertKeys'](_0x5bc0cf,_0x552230){const _0x190de5=a0_0x4e6a12,_0x31d023={'hlAZk':function(_0xcda557,_0x558baa){return _0xcda557===_0x558baa;},'EJVca':function(_0x897b1a){return _0x897b1a();},'lYrme':function(_0x5d5ebd,_0x49ef94){return _0x5d5ebd+_0x49ef94;}};_0x5bc0cf[_0x190de5(0x118)]((_0xb5c31f,_0x98eec)=>{const _0x1cebd9=_0x190de5;_0x552230[_0x1cebd9(0x118)](_0x335142=>{const _0x391930=_0x1cebd9,_0x100fd4=_0xb5c31f[_0x335142];if(_0x100fd4===null||_0x100fd4===undefined||_0x31d023[_0x391930(0xf1)](_0x100fd4,'')||String(_0x100fd4)['trim']()==='-'){const _0x140bec=_0x31d023['EJVca'](uuidv7);_0xb5c31f[_0x335142]=_0x140bec,_0xb5c31f['_generated_uuid']=_0xb5c31f['_generated_uuid']||{},_0xb5c31f['_generated_uuid'][_0x335142]=_0x140bec,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x98eec,'field':_0x335142,'uuid':_0x140bec},'Auto-generated\x20UUID\x20for\x20'+_0x335142+'\x20at\x20row\x20'+_0x31d023[_0x391930(0x16f)](_0x98eec,0x2));}});});}async['processPreviewJob'](_0x377fd8,_0xdb0263,_0x181070){const _0x2e6e7f=a0_0x4e6a12,_0x22088b={'zCzna':function(_0x260ec2,_0x204f5b){return _0x260ec2===_0x204f5b;},'rEHIA':_0x2e6e7f(0x157),'BXihI':_0x2e6e7f(0xef),'MaSuN':function(_0x4f9973,_0x15d2c0,_0x189a36,_0x4c7b75){return _0x4f9973(_0x15d2c0,_0x189a36,_0x4c7b75);},'fToHB':'failed'};try{let {rows:_0x39d946,params:_0x2a6636}=_0x181070;const {requiredFields:_0x45295a,validations:_0x4d360e,upsertKeys:_0x14d3e5,tableName:_0x4762b5,primaryKey:_0x29ffde,fieldName:_0xea4041,upsertStrategy:_0x3cf26f,lookupFields:_0x4f5f77}=_0x2a6636;this['autoGenerateUpsertKeys'](_0x39d946,_0x14d3e5);let _0x3d2b39=[];if(_0x4f5f77&&Object['keys'](_0x4f5f77)['length']>0x0){logger['info']({'event':_0x22088b['BXihI'],'jobId':_0x377fd8,'lookupFieldCount':Object['keys'](_0x4f5f77)['length']},'Processing\x20lookup\x20fields');const _0x5917e0=await lookupResolver[_0x2e6e7f(0x17a)](_0x39d946,_0x4f5f77);_0x39d946=_0x5917e0[_0x2e6e7f(0x12b)],_0x3d2b39=_0x5917e0[_0x2e6e7f(0xf5)],_0x181070['rows']=_0x39d946;}const _0x1fedb4=importValidator['batchValidateRows'](_0x39d946,_0x45295a||[],_0x4d360e||{});_0x3d2b39[_0x2e6e7f(0x118)](_0xe03037=>{const _0x28813f=_0x2e6e7f,_0x24d27c=_0x1fedb4[_0x28813f(0x101)](_0x44dfe2=>_0x44dfe2['rowIndex']===_0xe03037['rowIndex']);_0x24d27c?_0x24d27c['errors'][_0x28813f(0x14f)](_0xe03037['message']):_0x1fedb4[_0x28813f(0x14f)]({'rowIndex':_0xe03037['rowIndex'],'rowData':_0x39d946[_0xe03037['rowIndex']],'errors':[_0xe03037['message']]});});const _0xb9cf2=importValidator['detectDuplicatesInFile'](_0x39d946,_0x14d3e5);_0xb9cf2['forEach'](_0x752cfe=>{const _0xcf3601=_0x2e6e7f,_0x5ecec4=_0x1fedb4['find'](_0x24ca3a=>_0x24ca3a[_0xcf3601(0x15b)]===_0x752cfe[_0xcf3601(0x15b)]),_0x4de885=_0x14d3e5[_0xcf3601(0x13a)](_0x1ce212=>_0x1ce212['toUpperCase']())['join'](',\x20'),_0x5e5c51=_0xcf3601(0xf7)+_0x4de885;_0x5ecec4?_0x5ecec4[_0xcf3601(0xf5)]['push'](_0x5e5c51):_0x1fedb4[_0xcf3601(0x14f)]({'rowIndex':_0x752cfe['rowIndex'],'rowData':_0x39d946[_0x752cfe['rowIndex']],'errors':[_0x5e5c51]});}),await this['detectDatabaseDuplicates'](_0x39d946,_0x14d3e5,_0x4762b5,_0x29ffde,_0x3cf26f,_0x1fedb4),_0x1fedb4['forEach'](_0x1a6254=>{const _0x32ecd0=_0x2e6e7f,_0x4a07be=_0x39d946[_0x1a6254['rowIndex']];_0x4a07be&&(_0x4a07be['_errors']=_0x1a6254[_0x32ecd0(0xf5)]);});let _0x2c8b0c=0x0,_0x454c4b=0x0,_0xe2ee36=0x0;_0x39d946[_0x2e6e7f(0x118)](_0xe60eef=>{const _0x55c3b7=_0x2e6e7f;if(_0x22088b[_0x55c3b7(0x172)](_0xe60eef[_0x55c3b7(0xf8)],'INSERT'))_0x2c8b0c++;else{if(_0x22088b['zCzna'](_0xe60eef['_action'],_0x22088b[_0x55c3b7(0x131)]))_0x454c4b++;else _0x22088b['zCzna'](_0xe60eef[_0x55c3b7(0xf8)],'SKIP')&&_0xe2ee36++;}});const _0x546f25={'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x1fedb4[_0x2e6e7f(0x174)]>0x0?_0x2e6e7f(0x162):'preview_ok','progress':0x64,'created_at':_0x181070['created_at'],'completed_at':new Date()[_0x2e6e7f(0x139)](),'preview':{'total_rows':_0x39d946[_0x2e6e7f(0x174)],'insert_count':_0x2c8b0c,'update_count':_0x454c4b,'skip_count':_0xe2ee36,'error_count':_0x1fedb4[_0x2e6e7f(0x174)],'errors':_0x1fedb4,'data':_0x39d946,'sample_insert':_0x39d946['filter'](_0x5ab3f4=>_0x5ab3f4['_action']===_0x2e6e7f(0xf0))[_0x2e6e7f(0x133)](0x0,0x5),'sample_update':_0x39d946[_0x2e6e7f(0x102)](_0x4afbe3=>_0x4afbe3['_action']===_0x2e6e7f(0x157))['slice'](0x0,0x5),'sample_skip':_0x39d946[_0x2e6e7f(0x102)](_0x37f05f=>_0x37f05f['_action']==='SKIP')[_0x2e6e7f(0x133)](0x0,0x5)},'params':_0x2a6636};await redisHelper['setJob'](_0x2e6e7f(0x136)+_0x377fd8,_0x546f25,0xe10),_0x181070[_0x2e6e7f(0xf4)]=_0x39d946,await redisHelper['setJob']('upload:'+_0xdb0263,_0x181070,0xe10),logger[_0x2e6e7f(0x148)]({'event':_0x2e6e7f(0x15a),'jobId':_0x377fd8,'status':_0x546f25[_0x2e6e7f(0x10b)],'insertCount':_0x2c8b0c,'updateCount':_0x454c4b,'skipCount':_0xe2ee36,'errorCount':_0x1fedb4[_0x2e6e7f(0x174)]},_0x2e6e7f(0x168));}catch(_0x15d791){_0x22088b[_0x2e6e7f(0xe5)](logError,_0x15d791,{'event':_0x2e6e7f(0x17e),'jobId':_0x377fd8},_0x2e6e7f(0x128)),await redisHelper[_0x2e6e7f(0x119)](_0x2e6e7f(0x136)+_0x377fd8,{'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x22088b[_0x2e6e7f(0xfc)],'progress':0x0,'error':_0x15d791['message'],'created_at':new Date()[_0x2e6e7f(0x139)](),'completed_at':new Date()[_0x2e6e7f(0x139)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x1345ad,_0x563138,_0x331f35,_0x5eb4ab,_0x5d6bf9='update_existing',_0x2cee06=[]){const _0x25661f=a0_0x4e6a12,_0x39303f={'DNHdt':function(_0x2903dc,_0x280330){return _0x2903dc===_0x280330;},'hlEhw':_0x25661f(0x175),'TLoQe':function(_0x21902b,_0x5ba107){return _0x21902b===_0x5ba107;},'MResW':'skip_existing','HPzdE':function(_0x49632e,_0x3079b7){return _0x49632e===_0x3079b7;},'StquT':'insert_only','AiyrB':_0x25661f(0xf0),'NmvVt':function(_0x15c363,_0x1dec79){return _0x15c363===_0x1dec79;},'bShjD':_0x25661f(0x112)},_0x1b26b8=upsertBuilder['chunkRows'](_0x1345ad,0x64);for(const _0x4af97b of _0x1b26b8){const _0x1f7122=_0x4af97b[_0x25661f(0x13a)](_0x1a374b=>_0x1a374b[_0x563138[0x0]]),_0x5f2772=_0x1f7122['map'](_0x55bdfe=>{const _0x541edd=_0x25661f;if(_0x39303f['DNHdt'](_0x55bdfe,null)||_0x55bdfe===undefined)return'NULL';return'\x27'+String(_0x55bdfe)[_0x541edd(0x180)](/'/g,'\x27\x27')+'\x27';}),_0x12d21d=_0x25661f(0x159)+_0x5eb4ab+',\x20'+_0x563138[_0x25661f(0xfd)](',\x20')+_0x25661f(0x13e)+_0x331f35+_0x25661f(0xe3)+_0x563138[0x0]+'\x20IN\x20('+_0x5f2772[_0x25661f(0xfd)](',\x20')+_0x25661f(0x179);let _0x1ec39e=await executeQuery(_0x12d21d);_0x39303f[_0x25661f(0x127)](dbType,_0x39303f[_0x25661f(0x17f)])&&_0x1ec39e&&_0x1ec39e[_0x25661f(0x174)]>0x0&&(_0x1ec39e=_0x1ec39e[_0x25661f(0x13a)](_0x2fddb5=>{const _0x2d8140=_0x25661f,_0x5d49c3={};for(const [_0x51267f,_0x4bc9fa]of Object[_0x2d8140(0xfb)](_0x2fddb5)){_0x5d49c3[_0x51267f[_0x2d8140(0x173)]()]=_0x4bc9fa;}return _0x5d49c3;}));const _0x22eb42=new Map();_0x1ec39e['forEach'](_0xa826a0=>{const _0xa23c1d=_0xa826a0[_0x563138[0x0]];_0x22eb42['set'](_0xa23c1d,_0xa826a0);}),_0x4af97b['forEach']((_0x7f75c7,_0x38582f)=>{const _0x32cf82=_0x25661f,_0x4c3858=_0x7f75c7[_0x563138[0x0]],_0x3698de=_0x22eb42['get'](_0x4c3858);if(_0x3698de){if(_0x5d6bf9===_0x39303f['hlEhw'])_0x7f75c7['_action']='UPDATE',_0x7f75c7['_existingId']=_0x3698de[_0x5eb4ab];else{if(_0x39303f[_0x32cf82(0x138)](_0x5d6bf9,'insert_only')){_0x7f75c7[_0x32cf82(0xf8)]='SKIP',_0x7f75c7[_0x32cf82(0x10a)]=_0x7f75c7['_errors']||[],_0x7f75c7['_errors']['push'](_0x32cf82(0x108));const _0x47cbdb=_0x1345ad['indexOf'](_0x7f75c7);_0x47cbdb!==-0x1&&_0x2cee06['push']({'rowIndex':_0x47cbdb,'rowData':_0x7f75c7,'errors':[_0x32cf82(0x108)]});}else _0x5d6bf9===_0x39303f['MResW']&&(_0x7f75c7['_action']='SKIP');}}else{if(_0x5d6bf9==='update_existing')_0x7f75c7[_0x32cf82(0xf8)]='INSERT';else(_0x39303f['HPzdE'](_0x5d6bf9,_0x39303f[_0x32cf82(0x142)])||_0x5d6bf9==='skip_existing')&&(_0x7f75c7['_action']=_0x39303f[_0x32cf82(0xe7)]);}});}}async[a0_0x4e6a12(0x135)](_0x67d2cd){const _0xf9dd0d=a0_0x4e6a12,_0x51e6ec={'kBovu':'commit_process_error','tyfRg':_0xf9dd0d(0x13b),'otOMj':_0xf9dd0d(0x103)},_0x5b3a10=this[_0xf9dd0d(0x145)](),_0xffaa4=await redisHelper['getJob']('job:'+_0x67d2cd);if(!_0xffaa4)throw new Error(_0xf9dd0d(0x104));if(_0xffaa4['status']!=='preview_ok')throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0xffaa4[_0xf9dd0d(0x10b)]);const _0x23f85b={'job_id':_0x5b3a10,'upload_id':_0xffaa4['upload_id'],'preview_job_id':_0x67d2cd,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xffaa4['params']};return await redisHelper['setJob']('job:'+_0x5b3a10,_0x23f85b,0xe10),logger[_0xf9dd0d(0x148)]({'event':_0x51e6ec[_0xf9dd0d(0x183)],'jobId':_0x5b3a10,'previewJobId':_0x67d2cd},_0x51e6ec[_0xf9dd0d(0x122)]),this[_0xf9dd0d(0x115)](_0x5b3a10,_0xffaa4)['catch'](_0x3eb8ba=>{const _0x4f4781=_0xf9dd0d;logError(_0x3eb8ba,{'event':_0x51e6ec[_0x4f4781(0x160)],'jobId':_0x5b3a10},'Commit\x20processing\x20failed');}),{'job_id':_0x5b3a10,'status':'processing'};}async[a0_0x4e6a12(0x115)](_0x403250,_0x3efd78){const _0x2b6fe6=a0_0x4e6a12,_0x543d1d={'YtRuJ':'Upload\x20data\x20not\x20found\x20or\x20expired','npFzN':_0x2b6fe6(0x141),'aZmyP':_0x2b6fe6(0x10e),'gwTgM':'insert','johdj':'update','JsroS':function(_0x7fa91c,_0x5971a8){return _0x7fa91c>_0x5971a8;},'bAaaE':function(_0x5e4539,_0xce826c){return _0x5e4539(_0xce826c);},'dxydP':_0x2b6fe6(0x126),'LKVkw':_0x2b6fe6(0x110),'cMOHu':_0x2b6fe6(0x116)};try{const _0x1b8d8b=await redisHelper[_0x2b6fe6(0x149)]('upload:'+_0x3efd78[_0x2b6fe6(0x137)]);if(!_0x1b8d8b)throw new Error(_0x543d1d['YtRuJ']);const {rows:_0x3aa088,params:_0x35e7df}=_0x1b8d8b,{tableName:_0x15885e,fieldName:_0x4c643f,primaryKey:_0xd6524,upsertKeys:_0x6ed82f,excludeFromImport:_0x47c65c,lookupFields:_0x495c4f,columnFormats:_0x45c2be}=_0x35e7df,_0x1888bc=_0x495c4f?Object['keys'](_0x495c4f):[],_0x26e6c8=new Set([..._0x47c65c||[],..._0x1888bc]);let _0x2a7a55=_0x4c643f;_0x26e6c8['size']>0x0&&(_0x2a7a55=_0x4c643f['filter'](_0x182e23=>!_0x26e6c8[_0x2b6fe6(0x161)](_0x182e23)),logger['debug']({'event':_0x543d1d[_0x2b6fe6(0xf6)],'originalCount':_0x4c643f[_0x2b6fe6(0x174)],'filteredCount':_0x2a7a55[_0x2b6fe6(0x174)],'excludedFields':Array['from'](_0x26e6c8),'lookupSourceFields':_0x1888bc},_0x543d1d['aZmyP']));const _0x34fbf1=_0x3aa088['filter'](_0x1b4038=>_0x1b4038['_action']==='INSERT'),_0x48e6d0=_0x3aa088['filter'](_0x550603=>_0x550603['_action']===_0x2b6fe6(0x157));let _0x494ef6=0x0,_0xf01caf=0x0;const _0x28a5d9=[];if(_0x34fbf1['length']>0x0){const _0x199981=upsertBuilder['chunkRows'](_0x34fbf1,0x64);for(const _0x35a083 of _0x199981){const {query:_0x48eab0}=upsertBuilder['buildBatchInsert'](_0x35a083,_0x15885e,_0x2a7a55,_0x45c2be||{});_0x48eab0&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x48eab0,'count':_0x35a083[_0x2b6fe6(0x174)],'type':_0x543d1d['gwTgM']});}}if(_0x48e6d0[_0x2b6fe6(0x174)]>0x0){const _0x54ae81=upsertBuilder['chunkRows'](_0x48e6d0,0x64);for(const _0x22cdd7 of _0x54ae81){const {query:_0x5c50cd}=upsertBuilder['buildBatchUpdate'](_0x22cdd7,_0x15885e,_0x2a7a55,_0xd6524,_0x6ed82f,_0x45c2be||{});_0x5c50cd&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x5c50cd,'count':_0x22cdd7['length'],'type':_0x543d1d['johdj']});}}_0x543d1d[_0x2b6fe6(0x11b)](_0x28a5d9[_0x2b6fe6(0x174)],0x0)&&await _0x543d1d['bAaaE'](executeTransaction,_0x28a5d9[_0x2b6fe6(0x13a)](_0x589b4c=>({'sql':_0x589b4c[_0x2b6fe6(0x123)],'params':[]})));_0x28a5d9[_0x2b6fe6(0x118)](_0x2ea32d=>{const _0x4eac6a=_0x2b6fe6;if(_0x2ea32d['type']==='insert')_0x494ef6+=_0x2ea32d['count'];else _0xf01caf+=_0x2ea32d[_0x4eac6a(0x16d)];});const _0x29f9d4={'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':_0x2b6fe6(0x10f),'progress':0x64,'created_at':_0x3efd78['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x3aa088['length'],'inserted_rows':_0x494ef6,'updated_rows':_0xf01caf,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x35e7df};await redisHelper[_0x2b6fe6(0x119)](_0x2b6fe6(0x136)+_0x403250,_0x29f9d4,0xe10),logger['info']({'event':_0x543d1d['dxydP'],'jobId':_0x403250,'insertedCount':_0x494ef6,'updatedCount':_0xf01caf},_0x543d1d[_0x2b6fe6(0x132)]);}catch(_0x5a4222){logError(_0x5a4222,{'event':_0x543d1d['cMOHu'],'jobId':_0x403250},'Commit\x20job\x20failed'),await redisHelper[_0x2b6fe6(0x119)]('job:'+_0x403250,{'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':'failed','progress':0x0,'error':_0x5a4222[_0x2b6fe6(0x129)],'created_at':_0x3efd78['created_at'],'started_at':new Date()[_0x2b6fe6(0x139)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x4e6a12(0x167)](_0x3fc60b){const _0x340baf=a0_0x4e6a12,_0x2d7eda={'CvXnt':_0x340baf(0xe9)},_0x46d52a=await redisHelper[_0x340baf(0x149)](_0x340baf(0x136)+_0x3fc60b);if(!_0x46d52a)return{'success':![],'error':_0x2d7eda['CvXnt']};return{'success':!![],'data':_0x46d52a};}}function a0_0x2661(){const _0x21b4e8=['BwvZC2fNzq','C2v0','ChjVy2vZC2vKuM93CW','C2L6zq','zMXVB3i','mta4oduYmezpwKTZrq','zxHLy3v0zvf1zxj5','mtG3ntCXm0XmvxbbtG','CKvisue','teTwA3C','C2XPy2u','zxHWB3j0CW','y3jLyxrLq29TBwL0sM9I','AM9IoG','DxbSB2fKx2LK','veXVuwu','Dg9ju09tDhjPBMC','BwfW','y29TBwL0x2PVyL9JCMvHDgvK','CvL6vMu','otyXmtu4CeLeugHL','cIaGicaGicaGrLjptsa','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','EwvZ','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','u3rXDvq','mZLOEwjhvLa','yKjNC00','z2vUzxjHDgvjza','ChjVy2vZC1bYzxzPzxDkB2i','yxnxs1K','Aw5MBW','z2v0sM9I','lI4VDxrPBhmVBg9Nz2vY','DhLWzq','CgfKu3rHCNq','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','DgvZDa','ChvZAa','C3vIC3rYAw5N','tePlv2e','AM9Ix2LK','zuL6ywK','uenJr0W','owLJqNHAsW','lI4VlI4VDgvTCc91CgXVywrZlW','vvbeqvrf','zxHLy3v0zvrYyw5Zywn0Aw9U','cIaGicaGicaGu0vmrunuia','ChjLDMLLD19QB2jFy29TCgXLDgvK','CM93sw5KzxG','mtzir0PxrLq','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','yxbWBhLdB2X1Bw5gB3jTyxrZ','sxj6qxa','A0jVDNu','AgfZ','ChjLDMLLD19LCNjVCG','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','BwLZC2LUz0zPzwXKCW','zMLSzv9JBgvHBNvWx2vYCM9Y','y29SDw1UrM9YBwf0CW','z2v0sM9Iu3rHDhvZ','uhjLDMLLDYbQB2iGy29TCgXLDgvK','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zgvMyxvSDa','y291BNq','C2nVCgvpDMvYCMLKzq','BfLYBwu','z2T1y1K','Dg9tDhjPBMC','EKn6BMe','Dg9mB3DLCKnHC2u','BgvUz3rO','DxbKyxrLx2v4Axn0Aw5N','mtjsz0fmCuS','z2v0vgLTzq','DMfSAwrHDgLUzW','kqOGicaGica','ChjVy2vZC0XVB2T1CezPzwXKCW','Dgv4Da','Dhj1zq','zMfSC2u','ChjLDMLLD19QB2jFzMfPBgvK','yLnOAKq','CMvWBgfJzq','zgvIDwC','DxbSB2fKoG','DhLMuMC','tgn3tgi','cIaGicaGicaGv0HfuKuG','CgfYyw1Z','twftDu4','tNHtvve','qwL5CKi','DhjPBq','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','Dw5SAw5R','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','zw52','zgf0zq','z2v0','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','su5trvju','AgXbwMS','nZKZmta0v3nWufzk','nJG3odzPwxbQuxm','CM93CW','zxjYB3jZ','BNbgEK4','rhvWBgLJyxrLihzHBhvLigzVCIa','x2fJDgLVBG','ChjLDMLLD19QB2jFy3jLyxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw50CMLLCW','zLrVsei','AM9PBG','AgvHzgvYC19TyxbWzwq','D1DqB3i','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zMLUza','zMLSDgvY','q29TBwL0igPVyIbJCMvHDgvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','CgfYC2vfEgnLBezPBgu','ndK3mtmXmePtCeLbvW','seTwr0G','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','q0jlDuq','x2vYCM9YCW','C3rHDhvZ','DxvPza','rNPXALO','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','y29TCgXLDgvK','q29TBwL0igPVyIbJB21WBgv0zwq','DMfSDwvZ','B3jHy2XL','y2f0y2G','nte2otC4tgHKvw9O','ChjVy2vZC0nVBw1PDePVyG','y29TBwL0x2PVyL9MywLSzwq','jdfFjdi','zM9YrwfJAa','C2v0sM9I','Cgf0Aa','sNnYB1m','uhjLDMLLDYbQB2iGy3jLyxrLza','z2v0rNvSBfLLyxi','rMfPBgvKihrVignSzwfUDxaGzMLSzq','Bg9VA3vWrMLLBgrZ','yuLYu3m','C3rYAw5N','B3rptwO','C3fS','x3vWBg9HzerPCG','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','y29TBwL0x2PVyL9JB21WBgv0zwq','tM12vNq','uhjLDMLLDYbQB2iGzMfPBgvK'];a0_0x2661=function(){return _0x21b4e8;};return a0_0x2661();}module[a0_0x4e6a12(0x134)]=new ImportService();
@@ -1 +1 @@
1
- const a0_0x2efdae=a0_0x581a;(function(_0x4118e9,_0x3cccee){const _0x2dbb5f=a0_0x581a,_0x2d8ae6=_0x4118e9();while(!![]){try{const _0x36b99c=parseInt(_0x2dbb5f(0x20a))/0x1+parseInt(_0x2dbb5f(0x218))/0x2*(-parseInt(_0x2dbb5f(0x21f))/0x3)+-parseInt(_0x2dbb5f(0x214))/0x4+-parseInt(_0x2dbb5f(0x216))/0x5*(-parseInt(_0x2dbb5f(0x22d))/0x6)+parseInt(_0x2dbb5f(0x221))/0x7*(-parseInt(_0x2dbb5f(0x1e4))/0x8)+parseInt(_0x2dbb5f(0x231))/0x9*(parseInt(_0x2dbb5f(0x1ec))/0xa)+parseInt(_0x2dbb5f(0x1f5))/0xb*(parseInt(_0x2dbb5f(0x1e7))/0xc);if(_0x36b99c===_0x3cccee)break;else _0x2d8ae6['push'](_0x2d8ae6['shift']());}catch(_0x2247a7){_0x2d8ae6['push'](_0x2d8ae6['shift']());}}}(a0_0x5c44,0xb806d));const {Kafka,logLevel}=require(a0_0x2efdae(0x1e9)),{v7:uuidv7}=require(a0_0x2efdae(0x236));class KafkaConsumerService{constructor(){const _0x3d2cc9=a0_0x2efdae;this[_0x3d2cc9(0x210)]=null,this['consumer']=null,this['isConnected']=![],this[_0x3d2cc9(0x22f)]=![],this['isRunning']=![],this['isPaused']=![],this[_0x3d2cc9(0x235)]=null,this['subscribedTopics']=[],this[_0x3d2cc9(0x225)]=null,this['messageHandler']=null,this[_0x3d2cc9(0x22a)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x34d2a2=a0_0x2efdae,_0x5d9e23={'sIgcN':function(_0x3e6d97,_0x2a4bfd){return _0x3e6d97===_0x2a4bfd;},'rGPki':'3000','VGCic':function(_0x3f6dd0,_0x58eb61){return _0x3f6dd0(_0x58eb61);},'nFOtB':function(_0x3ce226,_0x4059dd){return _0x3ce226(_0x4059dd);},'LJpVx':function(_0x99b4ff,_0x909d93){return _0x99b4ff(_0x909d93);},'mnrEc':_0x34d2a2(0x202)};return{'enabled':_0x5d9e23['sIgcN'](process['env']['KAFKA_ENABLED'],'true'),'brokers':(process[_0x34d2a2(0x201)][_0x34d2a2(0x237)]||'localhost:9092')['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x34d2a2(0x201)][_0x34d2a2(0x242)]||_0x34d2a2(0x1d7))+'-consumer','connectionTimeout':parseInt(process[_0x34d2a2(0x201)]['KAFKA_CONNECTION_TIMEOUT']||_0x5d9e23['rGPki']),'requestTimeout':parseInt(process['env'][_0x34d2a2(0x1da)]||'25000'),'sessionTimeout':_0x5d9e23[_0x34d2a2(0x204)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process['env'][_0x34d2a2(0x1ee)]||_0x34d2a2(0x1e1)),'maxBytesPerPartition':_0x5d9e23[_0x34d2a2(0x209)](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x34d2a2(0x220)),'autoCommit':_0x5d9e23[_0x34d2a2(0x1dd)](process[_0x34d2a2(0x201)][_0x34d2a2(0x207)],'true'),'autoCommitInterval':_0x5d9e23['LJpVx'](parseInt,process[_0x34d2a2(0x201)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x34d2a2(0x20b)),'retryAttempts':parseInt(process[_0x34d2a2(0x201)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x5d9e23['mnrEc']),'retryMaxDelay':parseInt(process['env'][_0x34d2a2(0x1f6)]||_0x34d2a2(0x206)),'logLevel':process[_0x34d2a2(0x201)][_0x34d2a2(0x1ea)]||_0x34d2a2(0x226)};}[a0_0x2efdae(0x1f9)](_0x2173ef){const _0x17d7f7=a0_0x2efdae,_0xd35f95={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x17d7f7(0x1f1)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0xd35f95[_0x2173ef[_0x17d7f7(0x229)]()]||logLevel[_0x17d7f7(0x1f1)];}async['initialize'](_0x3eb4bc={}){const _0x15bdf0=a0_0x2efdae,_0x2e5b09={'ipIkC':function(_0x51c7c8,_0x51493e){return _0x51c7c8===_0x51493e;},'GqefB':'default','tMhdI':_0x15bdf0(0x1df)},_0x244259=this['getConfig']();if(!_0x244259['enabled'])return console['log'](_0x2e5b09[_0x15bdf0(0x1d5)]),![];if(this[_0x15bdf0(0x23e)])return!![];if(this[_0x15bdf0(0x22f)]&&this[_0x15bdf0(0x235)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x601ea2=>{const _0xff3d05=_0x15bdf0;try{let _0x435428=undefined;_0x2e5b09['ipIkC'](process[_0xff3d05(0x201)]['KAFKA_SSL'],'true')&&(_0x435428=!![]);let _0x5a08c9=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x5a08c9={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0xff3d05(0x201)]['KAFKA_SASL_USERNAME']||'','password':process[_0xff3d05(0x201)]['KAFKA_SASL_PASSWORD']||''}),this[_0xff3d05(0x210)]=new Kafka({'clientId':_0x3eb4bc['clientId']||_0x244259[_0xff3d05(0x23f)],'brokers':_0x244259['brokers'],'connectionTimeout':_0x244259[_0xff3d05(0x1de)],'requestTimeout':_0x244259['requestTimeout'],'logLevel':this[_0xff3d05(0x1f9)](_0x244259['logLevel']),'ssl':_0x435428,'sasl':_0x5a08c9,'retry':{'initialRetryTime':_0x244259[_0xff3d05(0x20c)],'retries':_0x244259[_0xff3d05(0x222)],'maxRetryTime':_0x244259['retryMaxDelay']}}),this[_0xff3d05(0x225)]=_0x3eb4bc[_0xff3d05(0x225)]||_0xff3d05(0x215)+(process[_0xff3d05(0x201)][_0xff3d05(0x242)]||_0x2e5b09['GqefB'])+'-consumer-group',this[_0xff3d05(0x1d9)]=this[_0xff3d05(0x210)][_0xff3d05(0x1d9)]({'groupId':this[_0xff3d05(0x225)],'sessionTimeout':_0x244259['sessionTimeout'],'heartbeatInterval':_0x244259['heartbeatInterval'],'maxBytesPerPartition':_0x244259[_0xff3d05(0x20f)],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console[_0xff3d05(0x1f3)](_0xff3d05(0x219)+_0x244259[_0xff3d05(0x240)][_0xff3d05(0x23d)](',\x20')+_0xff3d05(0x1fe)+this['groupId']+')'),this[_0xff3d05(0x21c)](),_0x601ea2(!![]);}catch(_0x1ccbd9){console[_0xff3d05(0x21d)](_0xff3d05(0x1ff)+_0x1ccbd9[_0xff3d05(0x1e6)]),this['isConnected']=![],_0x601ea2(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x1162f5=a0_0x2efdae,_0x57d830={'vCvGr':_0x1162f5(0x203),'auYqV':_0x1162f5(0x1f4),'WmWMg':'consumer.disconnect','ftAtN':_0x1162f5(0x228),'fWuXk':_0x1162f5(0x238)};if(!this['consumer'])return;this['consumer']['on'](_0x57d830[_0x1162f5(0x241)],()=>{const _0x498646=_0x1162f5;console[_0x498646(0x1f3)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x498646(0x23e)]=![],this[_0x498646(0x243)]=![];}),this['consumer']['on']('consumer.stop',()=>{console['log'](_0x57d830['vCvGr']),this['isRunning']=![];}),this['consumer']['on'](_0x57d830[_0x1162f5(0x239)],_0x36ce78=>{const _0x203dfc=_0x1162f5;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x36ce78[_0x203dfc(0x1e0)]['error'][_0x203dfc(0x1e6)]),this['isRunning']=![];}),this[_0x1162f5(0x1d9)]['on'](_0x57d830[_0x1162f5(0x1dc)],()=>{const _0xa1fde3=_0x1162f5;console[_0xa1fde3(0x1f3)](_0x57d830['auYqV']);});}async['subscribe'](_0x3acf33,_0x597e0f=![]){const _0x1b6817=a0_0x2efdae,_0x2c9639={'aQFbG':_0x1b6817(0x23b)};if(!this[_0x1b6817(0x23e)])return console['error'](_0x2c9639['aQFbG']),![];try{const _0x4bf125=Array[_0x1b6817(0x1f2)](_0x3acf33)?_0x3acf33:[_0x3acf33];for(const _0x59c7c8 of _0x4bf125){await this['consumer']['subscribe']({'topic':_0x59c7c8,'fromBeginning':_0x597e0f}),console[_0x1b6817(0x1f3)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x59c7c8+_0x1b6817(0x1eb)+_0x597e0f+')');}return this[_0x1b6817(0x21a)]=[...new Set([...this[_0x1b6817(0x21a)],..._0x4bf125])],!![];}catch(_0x1ad2b1){return console[_0x1b6817(0x21d)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x1ad2b1['message']),![];}}async[a0_0x2efdae(0x224)](_0x1e96f8,_0x8459b8={}){const _0x43aabb=a0_0x2efdae,_0x2a6908={'UTtsr':function(_0x32758a,_0x171cd8){return _0x32758a(_0x171cd8);},'aLJsC':function(_0x294ef8,_0x459346){return _0x294ef8>_0x459346;},'Kymvt':'[KafkaConsumer]\x20Consumer\x20already\x20running','qRyjL':function(_0x37a1b6,_0x4e8e7d){return _0x37a1b6!==_0x4e8e7d;}};if(!this[_0x43aabb(0x23e)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x2a6908[_0x43aabb(0x244)]),!![];const _0x376916=this['getConfig']();this['messageHandler']=_0x1e96f8;try{return this[_0x43aabb(0x22a)][_0x43aabb(0x22e)]=new Date(),await this[_0x43aabb(0x1d9)]['run']({'autoCommit':_0x2a6908[_0x43aabb(0x1d8)](_0x8459b8[_0x43aabb(0x211)],undefined)?_0x8459b8[_0x43aabb(0x211)]:_0x376916['autoCommit'],'autoCommitInterval':_0x376916['autoCommitInterval'],'eachMessage':async({topic:_0x260888,partition:_0x76eed3,message:_0x4debe4,heartbeat:_0x4cf28d})=>{const _0x15bd72=_0x43aabb,_0x4232b0=Date['now']();this['metrics'][_0x15bd72(0x234)]++,this[_0x15bd72(0x22a)][_0x15bd72(0x1ef)]=new Date();try{const _0x4dd625=_0x4debe4[_0x15bd72(0x230)]?_0x4debe4[_0x15bd72(0x230)][_0x15bd72(0x227)]():null;let _0x1b6c09=null;try{_0x1b6c09=_0x4dd625?JSON['parse'](_0x4dd625):null;}catch(_0x1b82ee){_0x1b6c09=_0x4dd625;}const _0xa9cc={'topic':_0x260888,'partition':_0x76eed3,'offset':_0x4debe4['offset'],'key':_0x4debe4[_0x15bd72(0x1ed)]?_0x4debe4[_0x15bd72(0x1ed)][_0x15bd72(0x227)]():null,'headers':this['parseHeaders'](_0x4debe4[_0x15bd72(0x23c)]),'timestamp':_0x4debe4['timestamp'],'value':_0x1b6c09,'raw':_0x4dd625};this[_0x15bd72(0x1fd)]&&await this[_0x15bd72(0x1fd)](_0xa9cc);!_0x376916['autoCommit']&&await this[_0x15bd72(0x1d9)]['commitOffsets']([{'topic':_0x260888,'partition':_0x76eed3,'offset':(_0x2a6908[_0x15bd72(0x1db)](parseInt,_0x4debe4['offset'])+0x1)['toString']()}]);this[_0x15bd72(0x22a)]['messagesProcessed']++;const _0x330998=Date['now']()-_0x4232b0;this['metrics']['processingTimes']['push'](_0x330998),_0x2a6908['aLJsC'](this[_0x15bd72(0x22a)]['processingTimes']['length'],0x64)&&this['metrics']['processingTimes'][_0x15bd72(0x232)](),await _0x4cf28d();}catch(_0x25f66b){this['metrics'][_0x15bd72(0x205)]++,console[_0x15bd72(0x21d)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x25f66b['message']);throw _0x25f66b;}}}),this[_0x43aabb(0x243)]=!![],console[_0x43aabb(0x1f3)](_0x43aabb(0x208)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x3e43b3){return console['error'](_0x43aabb(0x1e2)+_0x3e43b3[_0x43aabb(0x1e6)]),![];}}[a0_0x2efdae(0x1f8)](_0x56f76d){if(!_0x56f76d)return{};const _0x43c242={};for(const [_0x4cb7a7,_0x158514]of Object['entries'](_0x56f76d)){_0x43c242[_0x4cb7a7]=_0x158514?_0x158514['toString']():null;}return _0x43c242;}async[a0_0x2efdae(0x233)](){const _0x7884fc=a0_0x2efdae,_0x3731e9={'dZJpa':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','cYgNk':_0x7884fc(0x217)};if(!this[_0x7884fc(0x23e)]||!this[_0x7884fc(0x243)])return console['log'](_0x3731e9['dZJpa']),![];if(this[_0x7884fc(0x1e3)])return console['log'](_0x3731e9['cYgNk']),!![];try{const _0x481bc5=this[_0x7884fc(0x21a)][_0x7884fc(0x1f7)](_0x3c7bb4=>({'topic':_0x3c7bb4}));return this['consumer'][_0x7884fc(0x233)](_0x481bc5),this[_0x7884fc(0x1e3)]=!![],console[_0x7884fc(0x1f3)](_0x7884fc(0x22c)),!![];}catch(_0x35433c){return console[_0x7884fc(0x21d)](_0x7884fc(0x223)+_0x35433c['message']),![];}}async['resume'](){const _0x5e2d0c=a0_0x2efdae,_0x249973={'qGlWh':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console[_0x5e2d0c(0x1f3)]('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x5e2d0c(0x1e3)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x462946=this[_0x5e2d0c(0x21a)][_0x5e2d0c(0x1f7)](_0x29d293=>({'topic':_0x29d293}));return this['consumer']['resume'](_0x462946),this[_0x5e2d0c(0x1e3)]=![],console['log'](_0x249973[_0x5e2d0c(0x21e)]),!![];}catch(_0x4feb42){return console[_0x5e2d0c(0x21d)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x4feb42['message']),![];}}async['stop'](){const _0x389c0d=a0_0x2efdae;if(!this['isConnected'])return console[_0x389c0d(0x1f3)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this[_0x389c0d(0x1d9)]&&(await this['consumer'][_0x389c0d(0x1fa)](),await this[_0x389c0d(0x1d9)]['disconnect']()),this['isConnected']=![],this['isRunning']=![],this['isPaused']=![],console[_0x389c0d(0x1f3)](_0x389c0d(0x212)),!![];}catch(_0x5ab49a){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x5ab49a[_0x389c0d(0x1e6)]),![];}}async['seekToOffset'](_0x3559d8,_0x17c4fd,_0x19bbda){const _0x2975f9=a0_0x2efdae,_0x85b556={'OHVZZ':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x2975f9(0x23e)])return console['error'](_0x85b556[_0x2975f9(0x1fb)]),![];try{return this['consumer']['seek']({'topic':_0x3559d8,'partition':_0x17c4fd,'offset':_0x19bbda[_0x2975f9(0x227)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x19bbda+'\x20on\x20'+_0x3559d8+':'+_0x17c4fd),!![];}catch(_0x319554){return console['error'](_0x2975f9(0x200)+_0x319554[_0x2975f9(0x1e6)]),![];}}[a0_0x2efdae(0x23a)](){const _0x352b6a=a0_0x2efdae,_0x4fec12=this[_0x352b6a(0x22b)]();return{'enabled':_0x4fec12[_0x352b6a(0x20e)],'connected':this[_0x352b6a(0x23e)],'running':this[_0x352b6a(0x243)],'paused':this[_0x352b6a(0x1e3)],'brokers':_0x4fec12[_0x352b6a(0x240)],'clientId':_0x4fec12[_0x352b6a(0x23f)],'groupId':this[_0x352b6a(0x225)],'subscribedTopics':this[_0x352b6a(0x21a)]};}['getMetrics'](){const _0x43be3f=a0_0x2efdae,_0x474b99={'GFvhV':function(_0x2d0fa3,_0x14b45d){return _0x2d0fa3>_0x14b45d;},'VtZYi':function(_0x27deda,_0x119f30){return _0x27deda*_0x119f30;},'aJVPq':function(_0x1a7a6d,_0x26b673){return _0x1a7a6d/_0x26b673;},'YaqUK':function(_0x829946,_0x2abc90){return _0x829946-_0x2abc90;},'kpsUu':function(_0x1bccb8,_0x5da80c){return _0x1bccb8+_0x5da80c;}},_0x598e9f=_0x474b99['GFvhV'](this[_0x43be3f(0x22a)][_0x43be3f(0x1fc)]['length'],0x0)?this['metrics'][_0x43be3f(0x1fc)][_0x43be3f(0x20d)]((_0x2e73b2,_0x2fc073)=>_0x2e73b2+_0x2fc073,0x0)/this['metrics'][_0x43be3f(0x1fc)][_0x43be3f(0x1d6)]:0x0,_0x1e9c58=this[_0x43be3f(0x22a)][_0x43be3f(0x1fc)][_0x43be3f(0x1d6)]>0x0?Math[_0x43be3f(0x213)](...this[_0x43be3f(0x22a)]['processingTimes']):0x0,_0x1db8c9=this['metrics'][_0x43be3f(0x1fc)][_0x43be3f(0x1d6)]>0x0?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this[_0x43be3f(0x22a)]['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics'][_0x43be3f(0x205)],'successRate':this[_0x43be3f(0x22a)]['messagesReceived']>0x0?_0x474b99['VtZYi'](_0x474b99['aJVPq'](this['metrics']['messagesProcessed'],this[_0x43be3f(0x22a)]['messagesReceived']),0x64)[_0x43be3f(0x21b)](0x2)+'%':'0%','lastMessageTime':this['metrics'][_0x43be3f(0x1ef)],'startTime':this['metrics'][_0x43be3f(0x22e)],'uptime':this['metrics'][_0x43be3f(0x22e)]?Math[_0x43be3f(0x1e5)](_0x474b99['YaqUK'](Date['now'](),this[_0x43be3f(0x22a)][_0x43be3f(0x22e)]['getTime']())/0x3e8)+'s':'0s','processingTime':{'avg':_0x474b99[_0x43be3f(0x1e8)](Math['round'](_0x598e9f),'ms'),'min':_0x1e9c58+'ms','max':_0x1db8c9+'ms'}};}['resetMetrics'](){this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async[a0_0x2efdae(0x1f0)](){const _0x3a962f=a0_0x2efdae;await this[_0x3a962f(0x1fa)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x581a(_0x263cad,_0x49f298){_0x263cad=_0x263cad-0x1d5;const _0x5c44e8=a0_0x5c44();let _0x581a7e=_0x5c44e8[_0x263cad];if(a0_0x581a['iYphpj']===undefined){var _0xae1df1=function(_0x1830ba){const _0x455c39='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48a14b='',_0x2d2e63='';for(let _0x2f6f5d=0x0,_0x4d16f2,_0x45dd99,_0x5c90b5=0x0;_0x45dd99=_0x1830ba['charAt'](_0x5c90b5++);~_0x45dd99&&(_0x4d16f2=_0x2f6f5d%0x4?_0x4d16f2*0x40+_0x45dd99:_0x45dd99,_0x2f6f5d++%0x4)?_0x48a14b+=String['fromCharCode'](0xff&_0x4d16f2>>(-0x2*_0x2f6f5d&0x6)):0x0){_0x45dd99=_0x455c39['indexOf'](_0x45dd99);}for(let _0x13d3a4=0x0,_0x4a4dd9=_0x48a14b['length'];_0x13d3a4<_0x4a4dd9;_0x13d3a4++){_0x2d2e63+='%'+('00'+_0x48a14b['charCodeAt'](_0x13d3a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d2e63);};a0_0x581a['mglqju']=_0xae1df1,a0_0x581a['DwiriI']={},a0_0x581a['iYphpj']=!![];}const _0x2dd74a=_0x5c44e8[0x0],_0xaf052d=_0x263cad+_0x2dd74a,_0x3e4e77=a0_0x581a['DwiriI'][_0xaf052d];return!_0x3e4e77?(_0x581a7e=a0_0x581a['mglqju'](_0x581a7e),a0_0x581a['DwiriI'][_0xaf052d]=_0x581a7e):_0x581a7e=_0x3e4e77,_0x581a7e;}function resetInstance(){const _0x5cd53d=a0_0x2efdae;instance&&(instance[_0x5cd53d(0x1f0)](),instance=null);}function a0_0x5c44(){const _0x5f349f=['mJG0mJK5oengs1DkqW','C3rHCNruAw1L','AxnjBML0AwfSAxPPBMC','DMfSDwu','ndq2mteXmuTcsu1VAG','C2HPzNq','Cgf1C2u','BwvZC2fNzxnszwnLAxzLza','y29UBMvJDgLVBLbYB21PC2u','DxvPza','s0fgs0fFqLjps0vsuW','y29UC3vTzxiUCMvIywXHBMnPBMC','zNrbDe4','z2v0u3rHDhvZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','AgvHzgvYCW','AM9PBG','AxndB25Uzwn0zwq','y2XPzw50swq','yNjVA2vYCW','v21xtwC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AxnsDw5UAw5N','s3LTDNq','De1OzeK','BgvUz3rO','zgvMyxvSDa','Cvj5AKW','y29UC3vTzxi','s0fgs0fFuKvrvuvtvf9usu1ft1vu','vvr0C3i','zLD1wgS','C0LNy04','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','Cgf5Bg9Hza','mZaWma','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','AxnqyxvZzwq','nZC2ntzvzKzfwg8','zMXVB3i','BwvZC2fNzq','nZjdrfPmAKK','A3bZvxu','A2fMA2fQCW','s0fgs0fFte9hx0XfvKvm','icHMCM9TqMvNAw5UAw5NoIa','mJbouxzgwK8','A2v5','s0fgs0fFsevbuLrcrufux0LovevsvKfm','BgfZDe1LC3nHz2vuAw1L','y2XVC2u','v0fstG','AxnbCNjHEq','Bg9N','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','mJq3mdyWuw1TB0j6','s0fgs0fFuKvuuLLFtufyx0rftefz','BwfW','CgfYC2vizwfKzxjZ','z2v0tg9Ntgv2zwW','C3rVCa','t0HwwLO','ChjVy2vZC2LUz1rPBwvZ','BwvZC2fNzuHHBMrSzxi','icHNCM91CeLKoIa','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','zw52','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','vKDdAwm','BwvZC2fNzxngywLSzwq','mZaWmda','s0fgs0fFqvvut19dt01nsvq','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','BKzpDei','ode0nJeZy0HNDxvW','ntaWma','CMv0CNLezwXHEq','CMvKDwnL','zw5HyMXLza','Bwf4qNL0zxnqzxjqyxj0AxrPB24','A2fMA2e','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','BwLU','mtG2nJq3mLPMCefTDW','CMvZDgzVCMDLlq','mtvvsu1duNm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','mJa1mta2ognhrhv1yW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','C3vIC2nYAwjLzfrVCgLJCW','Dg9gAxHLza','C2v0DxbfDMvUDeHHBMrSzxjZ','zxjYB3i','CuDSv2G','m0DyyxbzBW','mta0odu3nG','oda1CK9KBg9i','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','C3rHCNrdB25ZDw1PBMC','z3jVDxbjza','D2fYBG','Dg9tDhjPBMC','y29UC3vTzxiUy3jHC2G','Dg9mB3DLCKnHC2u','Bwv0CMLJCW','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza'];a0_0x5c44=function(){return _0x5f349f;};return a0_0x5c44();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x15617e=a0_0x4823;(function(_0x27170d,_0x181ca0){const _0x4f8fb5=a0_0x4823,_0x43fbac=_0x27170d();while(!![]){try{const _0x359f54=parseInt(_0x4f8fb5(0x1c8))/0x1+-parseInt(_0x4f8fb5(0x19b))/0x2+parseInt(_0x4f8fb5(0x1e5))/0x3*(parseInt(_0x4f8fb5(0x1ad))/0x4)+-parseInt(_0x4f8fb5(0x1cf))/0x5+-parseInt(_0x4f8fb5(0x1ec))/0x6+parseInt(_0x4f8fb5(0x1e6))/0x7*(parseInt(_0x4f8fb5(0x1d3))/0x8)+parseInt(_0x4f8fb5(0x185))/0x9;if(_0x359f54===_0x181ca0)break;else _0x43fbac['push'](_0x43fbac['shift']());}catch(_0x3f1e4f){_0x43fbac['push'](_0x43fbac['shift']());}}}(a0_0x432e,0x7fa57));const {Kafka,logLevel}=require(a0_0x15617e(0x1e0)),{v7:uuidv7}=require('uuid');function a0_0x4823(_0x3bba29,_0x15c5f7){_0x3bba29=_0x3bba29-0x17d;const _0x432ed0=a0_0x432e();let _0x4823c4=_0x432ed0[_0x3bba29];if(a0_0x4823['JJQADl']===undefined){var _0x5031d5=function(_0x532274){const _0x32d281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x766599='',_0x5988a1='';for(let _0x542d27=0x0,_0x1f88fe,_0x4a81de,_0x2a8e8f=0x0;_0x4a81de=_0x532274['charAt'](_0x2a8e8f++);~_0x4a81de&&(_0x1f88fe=_0x542d27%0x4?_0x1f88fe*0x40+_0x4a81de:_0x4a81de,_0x542d27++%0x4)?_0x766599+=String['fromCharCode'](0xff&_0x1f88fe>>(-0x2*_0x542d27&0x6)):0x0){_0x4a81de=_0x32d281['indexOf'](_0x4a81de);}for(let _0x464181=0x0,_0x279e25=_0x766599['length'];_0x464181<_0x279e25;_0x464181++){_0x5988a1+='%'+('00'+_0x766599['charCodeAt'](_0x464181)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5988a1);};a0_0x4823['PZQKoF']=_0x5031d5,a0_0x4823['VvTFwQ']={},a0_0x4823['JJQADl']=!![];}const _0x2d022a=_0x432ed0[0x0],_0x4fc22f=_0x3bba29+_0x2d022a,_0x1a2016=a0_0x4823['VvTFwQ'][_0x4fc22f];return!_0x1a2016?(_0x4823c4=a0_0x4823['PZQKoF'](_0x4823c4),a0_0x4823['VvTFwQ'][_0x4fc22f]=_0x4823c4):_0x4823c4=_0x1a2016,_0x4823c4;}class KafkaConsumerService{constructor(){const _0x4cb085=a0_0x15617e,_0x33c85f='2|0|8|6|5|3|7|1|9|4|10'[_0x4cb085(0x1a5)]('|');let _0x495a71=0x0;while(!![]){switch(_0x33c85f[_0x495a71++]){case'0':this['consumer']=null;continue;case'1':this['subscribedTopics']=[];continue;case'2':this[_0x4cb085(0x19e)]=null;continue;case'3':this['isPaused']=![];continue;case'4':this[_0x4cb085(0x189)]=null;continue;case'5':this[_0x4cb085(0x1cc)]=![];continue;case'6':this[_0x4cb085(0x1b7)]=![];continue;case'7':this[_0x4cb085(0x1f9)]=null;continue;case'8':this['isConnected']=![];continue;case'9':this[_0x4cb085(0x1c1)]=null;continue;case'10':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}[a0_0x15617e(0x1b8)](){const _0x26db4d=a0_0x15617e,_0x271089={'FOfTv':_0x26db4d(0x188),'VocMA':'25000','ATlow':function(_0x495ec6,_0x271284){return _0x495ec6(_0x271284);},'BEEPu':'30000','gfARs':function(_0x143d52,_0x7cf6ad){return _0x143d52(_0x7cf6ad);},'wViOO':function(_0x298c8e,_0xcb1902){return _0x298c8e===_0xcb1902;},'rsphE':'5000','jiIbO':'warn'};return{'enabled':process[_0x26db4d(0x1d2)][_0x26db4d(0x1d9)]===_0x271089['FOfTv'],'brokers':(process['env']['KAFKA_BROKERS']||_0x26db4d(0x1ed))[_0x26db4d(0x1a5)](','),'clientId':process['env'][_0x26db4d(0x1aa)]||'restforge-'+(process[_0x26db4d(0x1d2)][_0x26db4d(0x1a1)]||'default')+'-consumer','connectionTimeout':parseInt(process[_0x26db4d(0x1d2)][_0x26db4d(0x190)]||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x271089['VocMA']),'sessionTimeout':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1b2)]||_0x271089[_0x26db4d(0x1d0)]),'heartbeatInterval':_0x271089['gfARs'](parseInt,process['env'][_0x26db4d(0x1ee)]||_0x26db4d(0x1b3)),'maxBytesPerPartition':parseInt(process['env'][_0x26db4d(0x1ba)]||'1048576'),'autoCommit':_0x271089['wViOO'](process[_0x26db4d(0x1d2)][_0x26db4d(0x1de)],'true'),'autoCommitInterval':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x192)]||_0x271089[_0x26db4d(0x1ca)]),'retryAttempts':_0x271089['ATlow'](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1c9)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x26db4d(0x1ab)),'retryMaxDelay':parseInt(process[_0x26db4d(0x1d2)]['KAFKA_RETRY_MAX_DELAY']||_0x271089[_0x26db4d(0x1d0)]),'logLevel':process[_0x26db4d(0x1d2)][_0x26db4d(0x1eb)]||_0x271089[_0x26db4d(0x1da)]};}[a0_0x15617e(0x196)](_0x22bf9b){const _0x1f0c03=a0_0x15617e,_0x20cd76={'nothing':logLevel[_0x1f0c03(0x1dd)],'error':logLevel['ERROR'],'warn':logLevel[_0x1f0c03(0x19f)],'info':logLevel[_0x1f0c03(0x182)],'debug':logLevel['DEBUG']};return _0x20cd76[_0x22bf9b[_0x1f0c03(0x1f8)]()]||logLevel['WARN'];}async['initialize'](_0x5f1f50={}){const _0x1efee8=a0_0x15617e,_0x23cd63={'DcAco':function(_0x48f053,_0x15558c){return _0x48f053(_0x15558c);},'dxGAi':function(_0x53bf1f,_0x226f71){return _0x53bf1f(_0x226f71);},'EkLby':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x43fbdc=this[_0x1efee8(0x1b8)]();if(!_0x43fbdc['enabled'])return console[_0x1efee8(0x1d1)](_0x23cd63['EkLby']),![];if(this['isConnected'])return!![];if(this[_0x1efee8(0x1b7)]&&this['connectionPromise'])return this[_0x1efee8(0x1f9)];return this['isInitializing']=!![],this[_0x1efee8(0x1f9)]=new Promise(async _0x355917=>{const _0x462859=_0x1efee8;try{let _0xa0e6a0=undefined;process[_0x462859(0x1d2)]['KAFKA_SSL']==='true'&&(_0xa0e6a0=!![]);let _0x396e98=undefined;process['env'][_0x462859(0x1ef)]&&(_0x396e98={'mechanism':process['env'][_0x462859(0x1ef)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x462859(0x1d2)][_0x462859(0x187)]||''}),this['kafka']=new Kafka({'clientId':_0x5f1f50[_0x462859(0x198)]||_0x43fbdc[_0x462859(0x198)],'brokers':_0x43fbdc[_0x462859(0x1c3)],'connectionTimeout':_0x43fbdc['connectionTimeout'],'requestTimeout':_0x43fbdc['requestTimeout'],'logLevel':this[_0x462859(0x196)](_0x43fbdc[_0x462859(0x1c5)]),'ssl':_0xa0e6a0,'sasl':_0x396e98,'retry':{'initialRetryTime':_0x43fbdc[_0x462859(0x195)],'retries':_0x43fbdc[_0x462859(0x1cd)],'maxRetryTime':_0x43fbdc[_0x462859(0x191)]}}),this['groupId']=_0x5f1f50['groupId']||'restforge-'+(process[_0x462859(0x1d2)][_0x462859(0x1a1)]||'default')+_0x462859(0x17d),this[_0x462859(0x1d6)]=this['kafka'][_0x462859(0x1d6)]({'groupId':this[_0x462859(0x1c1)],'sessionTimeout':_0x43fbdc[_0x462859(0x1cb)],'heartbeatInterval':_0x43fbdc['heartbeatInterval'],'maxBytesPerPartition':_0x43fbdc[_0x462859(0x1c6)],'allowAutoTopicCreation':![]}),await this[_0x462859(0x1d6)][_0x462859(0x1b1)](),this[_0x462859(0x18c)]=!![],console['log'](_0x462859(0x1af)+_0x43fbdc['brokers']['join'](',\x20')+_0x462859(0x1e8)+this[_0x462859(0x1c1)]+')'),this['setupEventHandlers'](),_0x23cd63[_0x462859(0x193)](_0x355917,!![]);}catch(_0x3b0700){console[_0x462859(0x1c7)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x3b0700['message']),this[_0x462859(0x18c)]=![],_0x23cd63[_0x462859(0x184)](_0x355917,![]);}finally{this['isInitializing']=![];}}),this[_0x1efee8(0x1f9)];}[a0_0x15617e(0x18e)](){const _0x5d91c3=a0_0x15617e,_0x584f5f={'TbhQl':'consumer.stop'};if(!this[_0x5d91c3(0x1d6)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x16a742=_0x5d91c3;console[_0x16a742(0x1d1)](_0x16a742(0x1bf)),this['isConnected']=![],this[_0x16a742(0x1cc)]=![];}),this['consumer']['on'](_0x584f5f[_0x5d91c3(0x1a9)],()=>{const _0x30d9ac=_0x5d91c3;console['log'](_0x30d9ac(0x1c4)),this['isRunning']=![];}),this[_0x5d91c3(0x1d6)]['on']('consumer.crash',_0x2b4e0a=>{const _0x4e3b27=_0x5d91c3;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2b4e0a['payload'][_0x4e3b27(0x1c7)][_0x4e3b27(0x1e9)]),this['isRunning']=![];}),this['consumer']['on'](_0x5d91c3(0x1d5),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x15617e(0x181)](_0x2c9418,_0x1cc87f=![]){const _0x80232=a0_0x15617e;if(!this['isConnected'])return console['error'](_0x80232(0x1ae)),![];try{const _0x4c7761=Array[_0x80232(0x1dc)](_0x2c9418)?_0x2c9418:[_0x2c9418];for(const _0x5844f7 of _0x4c7761){await this[_0x80232(0x1d6)][_0x80232(0x181)]({'topic':_0x5844f7,'fromBeginning':_0x1cc87f}),console[_0x80232(0x1d1)](_0x80232(0x1e4)+_0x5844f7+'\x20(fromBeginning:\x20'+_0x1cc87f+')');}return this[_0x80232(0x1fb)]=[...new Set([...this[_0x80232(0x1fb)],..._0x4c7761])],!![];}catch(_0x14eab6){return console[_0x80232(0x1c7)](_0x80232(0x194)+_0x14eab6['message']),![];}}async[a0_0x15617e(0x1df)](_0x3d394c,_0x142209={}){const _0x514ed4=a0_0x15617e,_0x99a5b4={'VUccK':function(_0x504421,_0x26f3f6){return _0x504421>_0x26f3f6;},'IRGmX':function(_0x53c96d){return _0x53c96d();},'kjRIZ':_0x514ed4(0x1e1),'HYfWp':function(_0x48dcb0,_0x409307){return _0x48dcb0!==_0x409307;}};if(!this['isConnected'])return console['error'](_0x99a5b4['kjRIZ']),![];if(this['isRunning'])return console['log'](_0x514ed4(0x1f2)),!![];const _0x1d07d2=this[_0x514ed4(0x1b8)]();this[_0x514ed4(0x189)]=_0x3d394c;try{return this['metrics'][_0x514ed4(0x1d8)]=new Date(),await this['consumer']['run']({'autoCommit':_0x99a5b4['HYfWp'](_0x142209[_0x514ed4(0x1a0)],undefined)?_0x142209[_0x514ed4(0x1a0)]:_0x1d07d2[_0x514ed4(0x1a0)],'autoCommitInterval':_0x1d07d2['autoCommitInterval'],'eachMessage':async({topic:_0x58f10d,partition:_0x4dfcca,message:_0x4ba9c4,heartbeat:_0x320fa7})=>{const _0x8b8946=_0x514ed4,_0x224683=Date[_0x8b8946(0x18b)]();this[_0x8b8946(0x1f6)][_0x8b8946(0x1b9)]++,this[_0x8b8946(0x1f6)]['lastMessageTime']=new Date();try{const _0x4f19af=_0x4ba9c4['value']?_0x4ba9c4['value'][_0x8b8946(0x197)]():null;let _0x2c0055=null;try{_0x2c0055=_0x4f19af?JSON['parse'](_0x4f19af):null;}catch(_0x4f3654){_0x2c0055=_0x4f19af;}const _0x106fac={'topic':_0x58f10d,'partition':_0x4dfcca,'offset':_0x4ba9c4['offset'],'key':_0x4ba9c4['key']?_0x4ba9c4[_0x8b8946(0x1db)]['toString']():null,'headers':this[_0x8b8946(0x19d)](_0x4ba9c4['headers']),'timestamp':_0x4ba9c4[_0x8b8946(0x180)],'value':_0x2c0055,'raw':_0x4f19af};this['messageHandler']&&await this['messageHandler'](_0x106fac);!_0x1d07d2['autoCommit']&&await this['consumer'][_0x8b8946(0x1f0)]([{'topic':_0x58f10d,'partition':_0x4dfcca,'offset':(parseInt(_0x4ba9c4[_0x8b8946(0x1b6)])+0x1)[_0x8b8946(0x197)]()}]);this['metrics'][_0x8b8946(0x1a3)]++;const _0x2350b1=Date['now']()-_0x224683;this['metrics'][_0x8b8946(0x1b4)][_0x8b8946(0x1a2)](_0x2350b1),_0x99a5b4[_0x8b8946(0x199)](this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)][_0x8b8946(0x1a7)],0x64)&&this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)]['shift'](),await _0x99a5b4['IRGmX'](_0x320fa7);}catch(_0x21b3e8){this[_0x8b8946(0x1f6)][_0x8b8946(0x1e2)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x21b3e8['message']);throw _0x21b3e8;}}}),this[_0x514ed4(0x1cc)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x2af1b2){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x2af1b2['message']),![];}}['parseHeaders'](_0x2aa4e9){const _0x37dcd5=a0_0x15617e;if(!_0x2aa4e9)return{};const _0x34531f={};for(const [_0x350deb,_0x16f89c]of Object[_0x37dcd5(0x186)](_0x2aa4e9)){_0x34531f[_0x350deb]=_0x16f89c?_0x16f89c[_0x37dcd5(0x197)]():null;}return _0x34531f;}async['pause'](){const _0x101123=a0_0x15617e,_0x27c8d9={'ezdWS':_0x101123(0x1b0)};if(!this[_0x101123(0x18c)]||!this[_0x101123(0x1cc)])return console['log'](_0x27c8d9[_0x101123(0x1ce)]),![];if(this['isPaused'])return console[_0x101123(0x1d1)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x52dc92=this[_0x101123(0x1fb)][_0x101123(0x17e)](_0x1028a1=>({'topic':_0x1028a1}));return this['consumer']['pause'](_0x52dc92),this['isPaused']=!![],console[_0x101123(0x1d1)](_0x101123(0x1d7)),!![];}catch(_0xb9b935){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0xb9b935[_0x101123(0x1e9)]),![];}}async['resume'](){const _0x5a470b=a0_0x15617e,_0x2aaf53={'pnDva':_0x5a470b(0x1a8)};if(!this['isConnected']||!this['isRunning'])return console[_0x5a470b(0x1d1)](_0x2aaf53[_0x5a470b(0x1be)]),![];if(!this[_0x5a470b(0x183)])return console[_0x5a470b(0x1d1)]('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x300c5e=this[_0x5a470b(0x1fb)][_0x5a470b(0x17e)](_0x55eada=>({'topic':_0x55eada}));return this[_0x5a470b(0x1d6)]['resume'](_0x300c5e),this['isPaused']=![],console['log'](_0x5a470b(0x1a6)),!![];}catch(_0x2f1dce){return console[_0x5a470b(0x1c7)](_0x5a470b(0x1c0)+_0x2f1dce[_0x5a470b(0x1e9)]),![];}}async[a0_0x15617e(0x1b5)](){const _0x5cd519=a0_0x15617e,_0x85868b={'uZGdj':'[KafkaConsumer]\x20Consumer\x20not\x20connected','CHsmw':_0x5cd519(0x1e7),'wWyUV':_0x5cd519(0x1ac)};if(!this['isConnected'])return console[_0x5cd519(0x1d1)](_0x85868b['uZGdj']),!![];try{const _0x56bff4=_0x85868b[_0x5cd519(0x1f4)][_0x5cd519(0x1a5)]('|');let _0x56f3df=0x0;while(!![]){switch(_0x56bff4[_0x56f3df++]){case'0':this['consumer']&&(await this[_0x5cd519(0x1d6)]['stop'](),await this[_0x5cd519(0x1d6)]['disconnect']());continue;case'1':this['isRunning']=![];continue;case'2':this['isPaused']=![];continue;case'3':return!![];case'4':console['log'](_0x85868b['wWyUV']);continue;case'5':this['isConnected']=![];continue;}break;}}catch(_0x160e07){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x160e07['message']),![];}}async['seekToOffset'](_0x2c9431,_0x1e3e60,_0x540c7b){const _0x9276e6=a0_0x15617e;if(!this['isConnected'])return console[_0x9276e6(0x1c7)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer']['seek']({'topic':_0x2c9431,'partition':_0x1e3e60,'offset':_0x540c7b[_0x9276e6(0x197)]()}),console['log'](_0x9276e6(0x1ea)+_0x540c7b+'\x20on\x20'+_0x2c9431+':'+_0x1e3e60),!![];}catch(_0x354c1c){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x354c1c['message']),![];}}[a0_0x15617e(0x1fa)](){const _0x5778d4=a0_0x15617e,_0x2c98d2=this['getConfig']();return{'enabled':_0x2c98d2[_0x5778d4(0x1f1)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x5778d4(0x183)],'brokers':_0x2c98d2['brokers'],'clientId':_0x2c98d2['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x15617e(0x1f3)](){const _0x94adf=a0_0x15617e,_0x22c3aa={'iNKsR':function(_0x5e7ac6,_0x5c7371){return _0x5e7ac6/_0x5c7371;},'Kxrly':function(_0x53e0aa,_0xec32e9){return _0x53e0aa>_0xec32e9;},'pZzGi':function(_0x59c868,_0x48b9d7){return _0x59c868+_0x48b9d7;},'XmTfQ':function(_0x4f87c9,_0xbc4f94){return _0x4f87c9*_0xbc4f94;},'BaRtu':function(_0x3b69a8,_0x28df7d){return _0x3b69a8-_0x28df7d;},'SMrcp':function(_0x529d05,_0x317ba7){return _0x529d05+_0x317ba7;},'bXEry':function(_0x28b368,_0x3ad984){return _0x28b368+_0x3ad984;}},_0x11aa00=this[_0x94adf(0x1f6)]['processingTimes'][_0x94adf(0x1a7)]>0x0?_0x22c3aa[_0x94adf(0x1c2)](this[_0x94adf(0x1f6)][_0x94adf(0x1b4)][_0x94adf(0x17f)]((_0x545b80,_0x49d671)=>_0x545b80+_0x49d671,0x0),this['metrics'][_0x94adf(0x1b4)][_0x94adf(0x1a7)]):0x0,_0x3f7802=this['metrics']['processingTimes']['length']>0x0?Math[_0x94adf(0x1e3)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0,_0x85d3f3=this['metrics'][_0x94adf(0x1b4)]['length']>0x0?Math[_0x94adf(0x1bb)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0;return{'messagesReceived':this[_0x94adf(0x1f6)]['messagesReceived'],'messagesProcessed':this[_0x94adf(0x1f6)][_0x94adf(0x1a3)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x22c3aa['Kxrly'](this[_0x94adf(0x1f6)][_0x94adf(0x1b9)],0x0)?_0x22c3aa[_0x94adf(0x1bc)](_0x22c3aa[_0x94adf(0x18a)](_0x22c3aa[_0x94adf(0x1c2)](this['metrics'][_0x94adf(0x1a3)],this[_0x94adf(0x1f6)][_0x94adf(0x1b9)]),0x64)[_0x94adf(0x18d)](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x94adf(0x19a)],'startTime':this[_0x94adf(0x1f6)][_0x94adf(0x1d8)],'uptime':this['metrics'][_0x94adf(0x1d8)]?_0x22c3aa['pZzGi'](Math['floor'](_0x22c3aa[_0x94adf(0x18f)](Date['now'](),this[_0x94adf(0x1f6)]['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':Math['round'](_0x11aa00)+'ms','min':_0x22c3aa['SMrcp'](_0x3f7802,'ms'),'max':_0x22c3aa[_0x94adf(0x1d4)](_0x85d3f3,'ms')}};}[a0_0x15617e(0x1bd)](){const _0x32e7b5=a0_0x15617e,_0x326bc9={'TYRGD':_0x32e7b5(0x1a4)};this[_0x32e7b5(0x1f6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x32e7b5(0x1d1)](_0x326bc9[_0x32e7b5(0x1f5)]);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x547ce5=a0_0x15617e;instance&&(instance[_0x547ce5(0x19c)](),instance=null);}function a0_0x432e(){const _0x3fd567=['vfLsr0q','Bwv0CMLJCW','qvrSB3C','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBLbYB21PC2u','z2v0u3rHDhvZ','C3vIC2nYAwjLzfrVCgLJCW','lwnVBNn1BwvYlwDYB3vW','BwfW','CMvKDwnL','DgLTzxn0yw1W','C3vIC2nYAwjL','su5gtW','AxnqyxvZzwq','zhHhqwK','mJG1ntG3mxLZtxvhBG','zw50CMLLCW','s0fgs0fFu0fttf9qqvntv09sra','Dhj1zq','BwvZC2fNzuHHBMrSzxi','wg1uzLe','BM93','AxndB25Uzwn0zwq','Dg9gAxHLza','C2v0DxbfDMvUDeHHBMrSzxjZ','qMfsDhu','s0fgs0fFq09otKvdveLptL9usu1ft1vu','CMv0CNLnyxHezwXHEq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','rgnby28','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','CMv0CNLezwXHEq','z2v0tg9Ntgv2zwW','Dg9tDhjPBMC','y2XPzw50swq','vLvJy0S','BgfZDe1LC3nHz2vuAw1L','mtm1mZe1nLfPB0zvBW','y2XVC2u','CgfYC2vizwfKzxjZ','A2fMA2e','v0fstG','yxv0B0nVBw1PDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChvZAa','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BgvUz3rO','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','vgjOuwW','s0fgs0fFq0Xjru5ux0Le','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','nda0Eu1Uswr6','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','y29UBMvJDa','s0fgs0fFu0vtu0LptL9usu1ft1vu','mZaWma','ChjVy2vZC2LUz1rPBwvZ','C3rVCa','B2zMC2v0','AxnjBML0AwfSAxPPBMC','z2v0q29UzMLN','BwvZC2fNzxnszwnLAxzLza','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Bwf4','CfP6r2K','CMvZzxrnzxrYAwnZ','Cg5eDMe','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','z3jVDxbjza','Au5lC1i','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','Bg9Ntgv2zwW','Bwf4qNL0zxnqzxjqyxj0AxrPB24','zxjYB3i','nZq1oda0DgDqqNvt','s0fgs0fFuKvuuLLFqvruru1qvfm','CNnWAeu','C2vZC2LVBLrPBwvVDxq','AxnsDw5UAw5N','CMv0CNLbDhrLBxb0CW','zxPKv1m','mJu0ote0mhLHuNjMta','qKvfuhu','Bg9N','zw52','mJKZodrhrvjfAMi','yLHfCNK','y29UC3vTzxiUCMvIywXHBMnPBMC','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','C3rHCNruAw1L','s0fgs0fFru5bqKXfra','AMLjyK8','A2v5','AxnbCNjHEq','tK9useLorW','s0fgs0fFqvvut19dt01nsvq','C3rHCNrdB25ZDw1PBMC','A2fMA2fQCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','BwvZC2fNzxngywLSzwq','BwLU','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','mJu2mtfZANrRshe','nZC3r3fmAhL0','mhW1Fdf8mNW0Fdm','icHNCM91CeLKoIa','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','s0fgs0fFte9hx0XfvKvm','mZC0mJKWofLJv2LkrW','Bg9JywXOB3n0oJKWoti','s0fgs0fFsevbuLrcrufux0LovevsvKfm','s0fgs0fFu0fttf9nruniqu5ju00','y29TBwL0t2zMC2v0CW','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','z2v0twv0CMLJCW','q0HZBxC'];a0_0x432e=function(){return _0x3fd567;};return a0_0x432e();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};