@restforgejs/platform 4.3.8 → 5.0.0

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 (190) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/payload/migrate.js +96 -96
  6. package/generators/lib/dbschema-kit/apply-engine.js +211 -46
  7. package/generators/lib/dbschema-kit/diff-engine.js +14 -2
  8. package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
  9. package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
  10. package/generators/lib/migrate/backend-payload-migrator.js +221 -221
  11. package/generators/lib/migrate/field-type-resolver.js +319 -319
  12. package/generators/lib/migrate/label-generator.js +38 -38
  13. package/generators/lib/migrate/migrate-runner.js +187 -187
  14. package/generators/lib/migrate/naming.js +43 -43
  15. package/generators/lib/migrate/sql-parser.js +124 -124
  16. package/generators/lib/templates/dashboard-catalog.js +1 -1
  17. package/generators/lib/templates/db-connection-env.js +1 -1
  18. package/generators/lib/templates/dbschema-catalog.js +1 -1
  19. package/generators/lib/templates/field-validation-catalog.js +1 -1
  20. package/generators/lib/templates/mysql-template.js +1 -1
  21. package/generators/lib/templates/oracle-template.js +1 -1
  22. package/generators/lib/templates/postgres-template.js +1 -1
  23. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  24. package/generators/lib/templates/sqlite-template.js +1 -1
  25. package/integrity-manifest.json +18 -18
  26. package/node_modules/brace-expansion/index.js +1 -1
  27. package/node_modules/brace-expansion/package.json +1 -1
  28. package/node_modules/dayjs/CHANGELOG.md +7 -0
  29. package/node_modules/dayjs/README.md +12 -10
  30. package/node_modules/dayjs/dayjs.min.js +1 -1
  31. package/node_modules/dayjs/esm/constant.js +1 -1
  32. package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
  33. package/node_modules/dayjs/locale.json +1 -1
  34. package/node_modules/dayjs/package.json +2 -2
  35. package/node_modules/dayjs/plugin/duration.js +1 -1
  36. package/node_modules/tmp/lib/tmp.js +37 -7
  37. package/node_modules/tmp/package.json +4 -16
  38. package/package.json +1 -1
  39. package/scripts/verify-integrity.js +1 -1
  40. package/server.js +1 -1
  41. package/src/components/handlers/adjust_handler.js +1 -1
  42. package/src/components/handlers/audit_handler.js +1 -1
  43. package/src/components/handlers/delete_handler.js +1 -1
  44. package/src/components/handlers/export_handler.js +1 -1
  45. package/src/components/handlers/import_handler.js +1 -1
  46. package/src/components/handlers/insert_handler.js +1 -1
  47. package/src/components/handlers/update_handler.js +1 -1
  48. package/src/components/handlers/upload_handler.js +1 -1
  49. package/src/components/handlers/workflow_handler.js +1 -1
  50. package/src/components/integrations/webhook.js +1 -1
  51. package/src/consumers/baseConsumer.js +1 -1
  52. package/src/consumers/declarativeMapper.js +1 -1
  53. package/src/consumers/handlers/apiHandler.js +1 -1
  54. package/src/consumers/handlers/consoleHandler.js +1 -1
  55. package/src/consumers/handlers/databaseHandler.js +1 -1
  56. package/src/consumers/handlers/index.js +1 -1
  57. package/src/consumers/handlers/kafkaHandler.js +1 -1
  58. package/src/consumers/index.js +1 -1
  59. package/src/consumers/messageTransformer.js +1 -1
  60. package/src/consumers/validator.js +1 -1
  61. package/src/core/db/dialect/base-dialect.js +1 -1
  62. package/src/core/db/dialect/index.js +1 -1
  63. package/src/core/db/dialect/mysql-dialect.js +1 -1
  64. package/src/core/db/dialect/oracle-dialect.js +1 -1
  65. package/src/core/db/dialect/postgres-dialect.js +1 -1
  66. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  67. package/src/core/db/flatten-helper.js +1 -1
  68. package/src/core/db/query-builder-error.js +1 -1
  69. package/src/core/db/query-builder.js +1 -1
  70. package/src/core/db/relation-helper.js +1 -1
  71. package/src/core/handlers/delete_handler.js +1 -1
  72. package/src/core/handlers/insert_handler.js +1 -1
  73. package/src/core/handlers/update_handler.js +1 -1
  74. package/src/core/models/base-model.js +1 -1
  75. package/src/core/utils/cache-manager.js +1 -1
  76. package/src/core/utils/component-engine.js +1 -1
  77. package/src/core/utils/context-builder.js +1 -1
  78. package/src/core/utils/datetime-formatter.js +1 -1
  79. package/src/core/utils/datetime-parser.js +1 -1
  80. package/src/core/utils/db.js +1 -1
  81. package/src/core/utils/logger.js +1 -1
  82. package/src/core/utils/payload-loader.js +1 -1
  83. package/src/core/utils/security-checks.js +1 -1
  84. package/src/middleware/body-options.js +1 -1
  85. package/src/middleware/cors.js +1 -1
  86. package/src/middleware/idempotency.js +1 -1
  87. package/src/middleware/rate-limiter.js +1 -1
  88. package/src/middleware/request-logger.js +1 -1
  89. package/src/middleware/security-headers.js +1 -1
  90. package/src/models/base-model-mysql.js +1 -1
  91. package/src/models/base-model-oracle.js +1 -1
  92. package/src/models/base-model-sqlite.js +1 -1
  93. package/src/models/base-model.js +1 -1
  94. package/src/pro/caching/redis-client.js +1 -1
  95. package/src/pro/caching/redis-helper.js +1 -1
  96. package/src/pro/consumers/baseConsumer.js +1 -1
  97. package/src/pro/consumers/declarativeMapper.js +1 -1
  98. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  99. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  100. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  101. package/src/pro/consumers/handlers/index.js +1 -1
  102. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  103. package/src/pro/consumers/index.js +1 -1
  104. package/src/pro/consumers/messageTransformer.js +1 -1
  105. package/src/pro/consumers/validator.js +1 -1
  106. package/src/pro/database/base-model-mysql.js +1 -1
  107. package/src/pro/database/base-model-oracle.js +1 -1
  108. package/src/pro/database/base-model-sqlite.js +1 -1
  109. package/src/pro/database/db-mysql.js +1 -1
  110. package/src/pro/database/db-oracle.js +1 -1
  111. package/src/pro/database/db-sqlite.js +1 -1
  112. package/src/pro/excel/excel-generator.js +1 -1
  113. package/src/pro/excel/excel-parser.js +1 -1
  114. package/src/pro/excel/export-service.js +1 -1
  115. package/src/pro/excel/export_handler.js +1 -1
  116. package/src/pro/excel/import-service.js +1 -1
  117. package/src/pro/excel/import-validator.js +1 -1
  118. package/src/pro/excel/import_handler.js +1 -1
  119. package/src/pro/excel/upsert-builder.js +1 -1
  120. package/src/pro/idgen/idgen-routes.js +1 -1
  121. package/src/pro/integrations/lookup-resolver.js +1 -1
  122. package/src/pro/integrations/upload-handler-v2.js +1 -1
  123. package/src/pro/integrations/upload-handler.js +1 -1
  124. package/src/pro/integrations/webhook.js +1 -1
  125. package/src/pro/locking/lock-routes.js +1 -1
  126. package/src/pro/locking/resource-lock-manager.js +1 -1
  127. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  128. package/src/pro/messaging/kafkaService.js +1 -1
  129. package/src/pro/messaging/messagehubService.js +1 -1
  130. package/src/pro/messaging/rabbitmqService.js +1 -1
  131. package/src/pro/scheduler/job-manager.js +1 -1
  132. package/src/pro/scheduler/job-routes.js +1 -1
  133. package/src/pro/scheduler/job-validator.js +1 -1
  134. package/src/pro/storage/base-storage-provider.js +1 -1
  135. package/src/pro/storage/file-metadata-helper.js +1 -1
  136. package/src/pro/storage/index.js +1 -1
  137. package/src/pro/storage/local-storage-provider.js +1 -1
  138. package/src/pro/storage/s3-storage-provider.js +1 -1
  139. package/src/pro/storage/upload-cleanup-job.js +1 -1
  140. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  141. package/src/pro/storage/upload-pending-tracker.js +1 -1
  142. package/src/pro/websocket/broadcast-helper.js +1 -1
  143. package/src/pro/websocket/index.js +1 -1
  144. package/src/pro/websocket/livesync-server.js +1 -1
  145. package/src/pro/websocket/ws-broadcaster.js +1 -1
  146. package/src/services/export-service.js +1 -1
  147. package/src/services/import-service.js +1 -1
  148. package/src/services/kafkaConsumerService.js +1 -1
  149. package/src/services/kafkaService.js +1 -1
  150. package/src/services/messagehubService.js +1 -1
  151. package/src/services/rabbitmqService.js +1 -1
  152. package/src/utils/cache-invalidation-registry.js +1 -1
  153. package/src/utils/cache-manager.js +1 -1
  154. package/src/utils/component-engine.js +1 -1
  155. package/src/utils/config-extractor.js +1 -1
  156. package/src/utils/consumerLogger.js +1 -1
  157. package/src/utils/context-builder.js +1 -1
  158. package/src/utils/dashboard-helpers.js +1 -1
  159. package/src/utils/dateHelper.js +1 -1
  160. package/src/utils/datetime-formatter.js +1 -1
  161. package/src/utils/datetime-parser.js +1 -1
  162. package/src/utils/db-bootstrap.js +1 -1
  163. package/src/utils/db-mysql.js +1 -1
  164. package/src/utils/db-oracle.js +1 -1
  165. package/src/utils/db-sqlite.js +1 -1
  166. package/src/utils/db.js +1 -1
  167. package/src/utils/demo-generator.js +1 -1
  168. package/src/utils/excel-generator.js +1 -1
  169. package/src/utils/excel-parser.js +1 -1
  170. package/src/utils/file-watcher.js +1 -1
  171. package/src/utils/id-generator.js +1 -1
  172. package/src/utils/idempotency-manager.js +1 -1
  173. package/src/utils/import-validator.js +1 -1
  174. package/src/utils/license-client.js +1 -1
  175. package/src/utils/lock-manager.js +1 -1
  176. package/src/utils/logger.js +1 -1
  177. package/src/utils/lookup-resolver.js +1 -1
  178. package/src/utils/payload-loader.js +1 -1
  179. package/src/utils/processor-response.js +1 -1
  180. package/src/utils/rabbitmq.js +1 -1
  181. package/src/utils/redis-client.js +1 -1
  182. package/src/utils/redis-helper.js +1 -1
  183. package/src/utils/request-scope.js +1 -1
  184. package/src/utils/security-checks.js +1 -1
  185. package/src/utils/service-resolver.js +1 -1
  186. package/src/utils/shutdown-coordinator.js +1 -1
  187. package/src/utils/trusted-keys.js +1 -1
  188. package/src/utils/upload-handler.js +1 -1
  189. package/src/utils/upsert-builder.js +1 -1
  190. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';function a0_0x1e05(_0x3cfb34,_0x150df2){_0x3cfb34=_0x3cfb34-0x166;const _0x2d0819=a0_0x2d08();let _0x1e052a=_0x2d0819[_0x3cfb34];if(a0_0x1e05['JsHBcA']===undefined){var _0x41b309=function(_0x374789){const _0x59c855='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1479cf='',_0x8d9012='';for(let _0xfccf67=0x0,_0x44c64a,_0x3a9068,_0x1c6a4d=0x0;_0x3a9068=_0x374789['charAt'](_0x1c6a4d++);~_0x3a9068&&(_0x44c64a=_0xfccf67%0x4?_0x44c64a*0x40+_0x3a9068:_0x3a9068,_0xfccf67++%0x4)?_0x1479cf+=String['fromCharCode'](0xff&_0x44c64a>>(-0x2*_0xfccf67&0x6)):0x0){_0x3a9068=_0x59c855['indexOf'](_0x3a9068);}for(let _0x2d7e6c=0x0,_0x50b9c1=_0x1479cf['length'];_0x2d7e6c<_0x50b9c1;_0x2d7e6c++){_0x8d9012+='%'+('00'+_0x1479cf['charCodeAt'](_0x2d7e6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8d9012);};a0_0x1e05['iMFMwJ']=_0x41b309,a0_0x1e05['QiFPMI']={},a0_0x1e05['JsHBcA']=!![];}const _0x2c66b7=_0x2d0819[0x0],_0x122456=_0x3cfb34+_0x2c66b7,_0x3333d0=a0_0x1e05['QiFPMI'][_0x122456];return!_0x3333d0?(_0x1e052a=a0_0x1e05['iMFMwJ'](_0x1e052a),a0_0x1e05['QiFPMI'][_0x122456]=_0x1e052a):_0x1e052a=_0x3333d0,_0x1e052a;}const a0_0x19f1e4=a0_0x1e05;(function(_0x1b7960,_0x1a6369){const _0x45073a=a0_0x1e05,_0x75191f=_0x1b7960();while(!![]){try{const _0x416579=-parseInt(_0x45073a(0x1bc))/0x1*(parseInt(_0x45073a(0x1d1))/0x2)+-parseInt(_0x45073a(0x17d))/0x3+-parseInt(_0x45073a(0x16a))/0x4*(parseInt(_0x45073a(0x1b1))/0x5)+-parseInt(_0x45073a(0x171))/0x6*(parseInt(_0x45073a(0x1e1))/0x7)+parseInt(_0x45073a(0x1a7))/0x8+parseInt(_0x45073a(0x17c))/0x9+-parseInt(_0x45073a(0x1a8))/0xa*(-parseInt(_0x45073a(0x16e))/0xb);if(_0x416579===_0x1a6369)break;else _0x75191f['push'](_0x75191f['shift']());}catch(_0x2b877c){_0x75191f['push'](_0x75191f['shift']());}}}(a0_0x2d08,0x80641));const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX=a0_0x19f1e4(0x173);class WebSocketBroadcaster{constructor(){const _0x149e83=a0_0x19f1e4,_0x5523fc='9|8|4|3|6|7|0|1|5|2'[_0x149e83(0x195)]('|');let _0x1cc3b9=0x0;while(!![]){switch(_0x5523fc[_0x1cc3b9++]){case'0':this['_heartbeatTimer']=null;continue;case'1':this['_redisPublisher']=null;continue;case'2':this['_workerId']=process[_0x149e83(0x1af)];continue;case'3':this[_0x149e83(0x1aa)]={};continue;case'4':this['_mode']=null;continue;case'5':this['_redisSubscriber']=null;continue;case'6':this['_logger']=console;continue;case'7':this[_0x149e83(0x169)]=new Map();continue;case'8':this[_0x149e83(0x1b7)]=![];continue;case'9':this[_0x149e83(0x176)]=null;continue;}break;}}[a0_0x19f1e4(0x16b)](_0x22ed3a,_0x56b92c={}){const _0x6d0430=a0_0x19f1e4,_0x1e56a7={'jHekg':'livesync_wss_error','kHRJm':_0x6d0430(0x1c3),'BqkxT':_0x6d0430(0x181),'cKrig':'connection','cLsBW':'error','RTqQF':'livesync_initialized'};if(this[_0x6d0430(0x1b7)])return;this['_options']=_0x56b92c,this[_0x6d0430(0x182)]=_0x1e56a7[_0x6d0430(0x174)];try{this[_0x6d0430(0x1a4)]=require(_0x1e56a7[_0x6d0430(0x1e9)])['logger']||console;}catch(_0x251061){this[_0x6d0430(0x1a4)]=console;}const _0x208c69=parseInt(process['env'][_0x6d0430(0x1d2)],0xa)||0x1e;this[_0x6d0430(0x176)]=new WebSocketServer({'server':_0x22ed3a,'path':'/ws'}),this['_setupUpgradeAuth'](_0x22ed3a),this['_wss']['on'](_0x1e56a7[_0x6d0430(0x19c)],(_0x1b4aff,_0x562625)=>this['_handleConnection'](_0x1b4aff,_0x562625)),this[_0x6d0430(0x176)]['on'](_0x1e56a7[_0x6d0430(0x197)],_0x1b9f81=>{const _0x19a724=_0x6d0430;this['_logger']['error']({'event':_0x1e56a7['jHekg'],'error':_0x1b9f81[_0x19a724(0x16f)]},'WebSocket\x20server\x20error:\x20'+_0x1b9f81[_0x19a724(0x16f)]);}),this['_startHeartbeat'](_0x208c69),this[_0x6d0430(0x170)](),this['_initialized']=!![],this['_logger'][_0x6d0430(0x1cf)]({'event':_0x1e56a7[_0x6d0430(0x1be)],'mode':_0x6d0430(0x1c3),'path':'/ws','heartbeat':_0x208c69+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x208c69+'s)');}['initializeAsPublisher'](_0x486a8b={}){const _0x5dbbf6=a0_0x19f1e4,_0x505fe9={'rqmZA':_0x5dbbf6(0x181),'LUYkr':'livesync_publisher_initialized'};if(this['_initialized'])return;this[_0x5dbbf6(0x1aa)]=_0x486a8b,this['_mode']='publisher';try{this['_logger']=require(_0x505fe9[_0x5dbbf6(0x1ef)])['logger']||console;}catch(_0x356050){this['_logger']=console;}this['_setupRedisPublisher'](),this['_initialized']=!![],this[_0x5dbbf6(0x1a4)]['info']({'event':_0x505fe9['LUYkr'],'mode':_0x5dbbf6(0x172)},_0x5dbbf6(0x186));}[a0_0x19f1e4(0x19f)](){const _0xf002f9=a0_0x19f1e4;return this[_0xf002f9(0x1b7)];}['broadcast'](_0xb7c844,_0x1c8157){const _0x486e42=a0_0x19f1e4,_0x580ef3={'nBtgF':function(_0x375675,_0x2d53d4){return _0x375675===_0x2d53d4;},'dCnBG':'publisher','DaqsW':_0x486e42(0x1d6),'LmBSi':function(_0x573318,_0x490063){return _0x573318||_0x490063;}};if(!this['_initialized'])return;if(_0x580ef3['nBtgF'](this['_mode'],_0x580ef3[_0x486e42(0x1a9)])){this['_publishToRedis'](_0xb7c844,_0x1c8157);return;}const _0x45f4fb=JSON[_0x486e42(0x1c8)]({'type':_0x580ef3[_0x486e42(0x1e8)],'channel':_0xb7c844,'action':_0x1c8157[_0x486e42(0x1f4)],'data':_0x1c8157['data'],'requestId':_0x1c8157['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x23c0e4]=_0xb7c844['split'](':');let _0x5a852c=0x0;for(const [_0x1d494c,_0x1a496f]of this[_0x486e42(0x169)]){const _0x3b38d1=_0x1d494c===_0xb7c844,_0x222253=_0x1d494c===_0x23c0e4+':*';if(_0x580ef3['LmBSi'](_0x3b38d1,_0x222253))for(const _0xbfd4cc of _0x1a496f){if(_0x580ef3[_0x486e42(0x19e)](_0xbfd4cc['readyState'],0x1))try{_0xbfd4cc['send'](_0x45f4fb),_0x5a852c++;}catch(_0x4e7b0b){}}}_0x5a852c>0x0&&this[_0x486e42(0x1a4)][_0x486e42(0x1e7)]({'event':'livesync_broadcast','channel':_0xb7c844,'action':_0x1c8157[_0x486e42(0x1f4)],'clients':_0x5a852c},'Broadcast\x20'+_0x1c8157[_0x486e42(0x1f4)]+_0x486e42(0x1cd)+_0xb7c844+_0x486e42(0x1d0)+_0x5a852c+_0x486e42(0x191));}[a0_0x19f1e4(0x184)](_0x1689e5,_0x25305e){const _0x288147=a0_0x19f1e4;if(!this[_0x288147(0x1ed)])return;const _0x5e6001=JSON['stringify']({'channel':_0x1689e5,'message':_0x25305e,'workerId':this['_workerId']});this['_redisPublisher'][_0x288147(0x1f0)](REDIS_CHANNEL_PREFIX+'broadcast',_0x5e6001)[_0x288147(0x1b3)](()=>{});}['shutdown'](){const _0x2cd354=a0_0x19f1e4,_0x3d5d6f={'CIDMh':function(_0x38395a,_0x5d40ac){return _0x38395a(_0x5d40ac);},'PATKN':_0x2cd354(0x17b)};if(!this[_0x2cd354(0x1b7)])return;this[_0x2cd354(0x1a0)]&&(_0x3d5d6f['CIDMh'](clearInterval,this[_0x2cd354(0x1a0)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x1198bf of this[_0x2cd354(0x176)][_0x2cd354(0x1d5)]){try{_0x1198bf[_0x2cd354(0x1dc)](0x3e9,_0x2cd354(0x177));}catch(_0x5ed335){}}this['_wss']['close']();}if(this['_redisSubscriber'])try{this[_0x2cd354(0x1e0)]['unsubscribe'](),this['_redisSubscriber']['quit']();}catch(_0xfe1a38){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher']['quit']();}catch(_0x3cbe94){}this['_subscriptions']['clear'](),this['_initialized']=![],this['_logger']['info']({'event':_0x3d5d6f[_0x2cd354(0x16d)],'mode':this[_0x2cd354(0x182)]},_0x2cd354(0x1b5)+this['_mode']+_0x2cd354(0x18d));}[a0_0x19f1e4(0x1ce)](_0x1704e1){const _0x4584b4=a0_0x19f1e4,_0x52b2f5={'QOReI':'/ws','Umnot':_0x4584b4(0x1ba),'DSKgK':_0x4584b4(0x18a),'HpTkT':_0x4584b4(0x1c7),'zNTrJ':'upgrade'},_0x27ebd4=_0x1704e1[_0x4584b4(0x190)](_0x4584b4(0x193))[_0x4584b4(0x1b6)]();_0x1704e1[_0x4584b4(0x1d8)]('upgrade'),_0x1704e1['on'](_0x52b2f5[_0x4584b4(0x1cc)],(_0x198764,_0x1801a6,_0x128ab0)=>{const _0x2cc7d9=_0x4584b4,_0x1bca29={'IZVYj':_0x2cc7d9(0x198)};if(!_0x198764[_0x2cc7d9(0x1d9)]||!_0x198764[_0x2cc7d9(0x1d9)][_0x2cc7d9(0x1c5)](_0x52b2f5[_0x2cc7d9(0x199)])){for(const _0x5eab89 of _0x27ebd4){_0x5eab89[_0x2cc7d9(0x1a3)](_0x1704e1,_0x198764,_0x1801a6,_0x128ab0);}return;}if(this[_0x2cc7d9(0x1aa)]['apiKey']){const _0x71f005=new URL(_0x198764[_0x2cc7d9(0x1d9)],_0x2cc7d9(0x189)+(_0x198764[_0x2cc7d9(0x19a)]['host']||_0x52b2f5[_0x2cc7d9(0x1f8)])),_0xda712f=_0x71f005['searchParams'][_0x2cc7d9(0x1ad)](_0x52b2f5[_0x2cc7d9(0x1de)])||_0x198764['headers']['x-api-key'];if(!_0xda712f||_0xda712f!==this[_0x2cc7d9(0x1aa)][_0x2cc7d9(0x166)]){_0x1801a6['write'](_0x52b2f5['HpTkT']),_0x1801a6['destroy']();return;}}this['_wss']['handleUpgrade'](_0x198764,_0x1801a6,_0x128ab0,_0x6a50db=>{const _0xb3874d=_0x2cc7d9;this['_wss']['emit'](_0x1bca29[_0xb3874d(0x1b4)],_0x6a50db,_0x198764);});});}['_handleConnection'](_0x4dbc1f,_0x55ea29){const _0x4becef=a0_0x19f1e4,_0x4042fe={'OZFON':_0x4becef(0x1c6),'jhDvw':'pong','UWUhW':'close','DwUit':_0x4becef(0x1a6)};_0x4dbc1f[_0x4becef(0x1ea)]=!![],_0x4dbc1f['subscribedChannels']=new Set();const _0x39eafa=_0x55ea29[_0x4becef(0x19a)]['x-forwarded-for']||_0x55ea29['socket']['remoteAddress'];this['_logger'][_0x4becef(0x1cf)]({'event':_0x4042fe['OZFON'],'ip':_0x39eafa},_0x4becef(0x175)+_0x39eafa),_0x4dbc1f['on'](_0x4042fe[_0x4becef(0x1e4)],()=>{const _0x41e47c=_0x4becef;_0x4dbc1f[_0x41e47c(0x1ea)]=!![];}),_0x4dbc1f['on']('message',_0x336131=>{const _0x358065=_0x4becef;try{const _0xaf84b2=JSON['parse'](_0x336131['toString']());this[_0x358065(0x167)](_0x4dbc1f,_0xaf84b2);}catch(_0x35e286){this['_sendToClient'](_0x4dbc1f,{'type':_0x358065(0x1a6),'message':'Invalid\x20JSON\x20message'});}}),_0x4dbc1f['on'](_0x4042fe['UWUhW'],()=>{const _0x4bddac=_0x4becef;this['_removeClientFromAllChannels'](_0x4dbc1f),this['_logger'][_0x4bddac(0x1e7)]({'event':_0x4bddac(0x196),'ip':_0x39eafa},_0x4bddac(0x1ac)+_0x39eafa);}),_0x4dbc1f['on'](_0x4042fe['DwUit'],_0x52d31c=>{const _0x65264=_0x4becef;this['_logger']['warn']({'event':'livesync_client_error','error':_0x52d31c[_0x65264(0x16f)]},'WebSocket\x20client\x20error:\x20'+_0x52d31c[_0x65264(0x16f)]),this['_removeClientFromAllChannels'](_0x4dbc1f);});}['_handleClientMessage'](_0x54cf9d,_0x32efee){const _0x4ed38d=a0_0x19f1e4,_0x19c3b7={'OwISU':_0x4ed38d(0x17e),'fwUGe':'error'};switch(_0x32efee['type']){case'subscribe':this[_0x4ed38d(0x1a5)](_0x54cf9d,_0x32efee['channels']);break;case'unsubscribe':this['_handleUnsubscribe'](_0x54cf9d,_0x32efee['channels']);break;case _0x19c3b7[_0x4ed38d(0x1e3)]:_0x54cf9d[_0x4ed38d(0x1ea)]=!![];break;default:this[_0x4ed38d(0x1e5)](_0x54cf9d,{'type':_0x19c3b7[_0x4ed38d(0x18b)],'message':'Unknown\x20message\x20type:\x20'+_0x32efee[_0x4ed38d(0x1d3)]});}}[a0_0x19f1e4(0x1a5)](_0x34d385,_0x20a61d){const _0x11b006=a0_0x19f1e4,_0x297127={'cdQOo':function(_0x363ded,_0x2e5626){return _0x363ded===_0x2e5626;},'YcLVW':_0x11b006(0x1a6),'OmeNm':_0x11b006(0x1c4),'NRcJU':function(_0x2fc134,_0x42b138){return _0x2fc134!==_0x42b138;},'JlbPJ':function(_0x3a78af,_0x9cfbe6){return _0x3a78af>_0x9cfbe6;},'HBLjC':_0x11b006(0x16c)};if(!Array['isArray'](_0x20a61d)||_0x297127['cdQOo'](_0x20a61d['length'],0x0)){this['_sendToClient'](_0x34d385,{'type':_0x297127[_0x11b006(0x1f7)],'message':_0x297127['OmeNm']});return;}const _0x37fd90=[];for(const _0x2cbf4a of _0x20a61d){if(_0x297127[_0x11b006(0x1ec)](typeof _0x2cbf4a,'string')||!_0x2cbf4a['includes'](':'))continue;!this['_subscriptions'][_0x11b006(0x1bf)](_0x2cbf4a)&&this['_subscriptions'][_0x11b006(0x185)](_0x2cbf4a,new Set()),this[_0x11b006(0x169)]['get'](_0x2cbf4a)[_0x11b006(0x1c2)](_0x34d385),_0x34d385['subscribedChannels'][_0x11b006(0x1c2)](_0x2cbf4a),_0x37fd90['push'](_0x2cbf4a);}_0x297127[_0x11b006(0x1df)](_0x37fd90[_0x11b006(0x19b)],0x0)&&(this[_0x11b006(0x1e5)](_0x34d385,{'type':'subscribed','channels':_0x37fd90,'timestamp':new Date()[_0x11b006(0x1bd)]()}),this[_0x11b006(0x1a4)][_0x11b006(0x1e7)]({'event':_0x297127[_0x11b006(0x179)],'channels':_0x37fd90},_0x11b006(0x1f6)+_0x37fd90[_0x11b006(0x1c1)](',\x20')));}[a0_0x19f1e4(0x18c)](_0x11e2bb,_0x3da202){const _0x23910d=a0_0x19f1e4,_0x2c242d={'pSoEh':function(_0x242377,_0x5d236f){return _0x242377>_0x5d236f;}};if(!Array[_0x23910d(0x1b2)](_0x3da202))return;const _0x3865df=[];for(const _0x13e846 of _0x3da202){this[_0x23910d(0x169)][_0x23910d(0x1bf)](_0x13e846)&&(this[_0x23910d(0x169)]['get'](_0x13e846)[_0x23910d(0x1cb)](_0x11e2bb),this[_0x23910d(0x169)]['get'](_0x13e846)['size']===0x0&&this[_0x23910d(0x169)]['delete'](_0x13e846)),_0x11e2bb[_0x23910d(0x1e6)][_0x23910d(0x1cb)](_0x13e846),_0x3865df[_0x23910d(0x192)](_0x13e846);}_0x2c242d['pSoEh'](_0x3865df['length'],0x0)&&this['_sendToClient'](_0x11e2bb,{'type':_0x23910d(0x1ab),'channels':_0x3865df,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x2f948e){const _0x5ae760=a0_0x19f1e4,_0x3eecda={'yimRa':function(_0x314a09,_0xf2d25c){return _0x314a09===_0xf2d25c;}};if(!_0x2f948e[_0x5ae760(0x1e6)])return;for(const _0x5bda0c of _0x2f948e[_0x5ae760(0x1e6)]){this['_subscriptions'][_0x5ae760(0x1bf)](_0x5bda0c)&&(this['_subscriptions'][_0x5ae760(0x1ad)](_0x5bda0c)[_0x5ae760(0x1cb)](_0x2f948e),_0x3eecda[_0x5ae760(0x1f3)](this[_0x5ae760(0x169)]['get'](_0x5bda0c)['size'],0x0)&&this[_0x5ae760(0x169)]['delete'](_0x5bda0c));}_0x2f948e['subscribedChannels']['clear']();}[a0_0x19f1e4(0x1e5)](_0x655c4f,_0x29bf09){const _0x79ec2b=a0_0x19f1e4,_0x193f20={'dpJtP':function(_0x9f0328,_0x1efb45){return _0x9f0328===_0x1efb45;}};if(_0x193f20['dpJtP'](_0x655c4f[_0x79ec2b(0x1f5)],0x1))try{_0x655c4f['send'](JSON[_0x79ec2b(0x1c8)](_0x29bf09));}catch(_0x7cc681){}}[a0_0x19f1e4(0x1f9)](_0x25bd53){const _0x5337f3=a0_0x19f1e4,_0x195606={'wBOcr':function(_0x403088,_0x1679d4,_0x1f735b){return _0x403088(_0x1679d4,_0x1f735b);},'NWdvk':function(_0x4dc735,_0x1c50bb){return _0x4dc735*_0x1c50bb;}};this['_heartbeatTimer']=_0x195606['wBOcr'](setInterval,()=>{const _0x548617=a0_0x1e05;if(!this[_0x548617(0x176)])return;for(const _0x4471e5 of this[_0x548617(0x176)]['clients']){if(!_0x4471e5['isAlive']){this['_removeClientFromAllChannels'](_0x4471e5),_0x4471e5[_0x548617(0x18f)]();continue;}_0x4471e5[_0x548617(0x1ea)]=![],this[_0x548617(0x1e5)](_0x4471e5,{'type':_0x548617(0x1c0),'timestamp':new Date()[_0x548617(0x1bd)]()});try{_0x4471e5[_0x548617(0x1c0)]();}catch(_0xada513){}}},_0x195606[_0x5337f3(0x1c9)](_0x25bd53,0x3e8));}['_setupRedisPublisher'](){const _0x11d756=a0_0x19f1e4,_0xc21c08={'auSAh':'livesync_redis_publisher_failed','ddEEO':'ioredis','oyBNz':function(_0x5f418a,_0x20b0ed,_0x261ee0){return _0x5f418a(_0x20b0ed,_0x261ee0);}};this['_ownPublisher']=![];try{try{const _0x225b50=require('../../utils/redis-client');this[_0x11d756(0x1ed)]=_0x225b50[_0x11d756(0x1a2)]?_0x225b50['getClient']():null;}catch(_0x1c3a8d){this[_0x11d756(0x1ed)]=null;}if(!this[_0x11d756(0x1ed)]){const _0x399cf0=require(_0xc21c08[_0x11d756(0x17a)]),_0x597bb4={'host':process[_0x11d756(0x1e2)][_0x11d756(0x1ee)]||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x11d756(0x1b8)]||undefined,'db':_0xc21c08['oyBNz'](parseInt,process['env'][_0x11d756(0x1ae)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x399cf0(_0x597bb4),this[_0x11d756(0x187)]=!![],this['_redisPublisher']['connect']()[_0x11d756(0x1b3)](()=>{this['_logger']['warn']({'event':_0xc21c08['auSAh']},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x1194a2){this[_0x11d756(0x1a4)][_0x11d756(0x17f)]({'event':'livesync_redis_unavailable','error':_0x1194a2[_0x11d756(0x16f)]},_0x11d756(0x1d4)+_0x1194a2['message']);}}['_setupRedis'](){const _0x2b9c80=a0_0x19f1e4,_0x3c138b={'SznsF':_0x2b9c80(0x1bb),'bCril':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode','WXBPk':function(_0x505cc4,_0x228440){return _0x505cc4===_0x228440;},'BGGBj':'message','DWXsP':'livesync_redis_subscriber_failed','cMyra':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','LFelM':function(_0x569340,_0x48a058){return _0x569340(_0x48a058);},'unRlu':_0x2b9c80(0x194)};this['_ownPublisher']=![];try{const _0x13cd50=require(_0x2b9c80(0x1f1)),_0x1806c9={'host':process[_0x2b9c80(0x1e2)][_0x2b9c80(0x1ee)]||'127.0.0.1','port':parseInt(process['env'][_0x2b9c80(0x180)],0xa)||0x18eb,'password':process[_0x2b9c80(0x1e2)][_0x2b9c80(0x1b8)]||undefined,'db':parseInt(process[_0x2b9c80(0x1e2)][_0x2b9c80(0x1ae)],0xa)||0x0,'lazyConnect':!![]};try{const _0x109108=_0x3c138b['LFelM'](require,_0x3c138b[_0x2b9c80(0x1b0)]);this[_0x2b9c80(0x1ed)]=_0x109108[_0x2b9c80(0x1a2)]?_0x109108['getClient']():null;}catch(_0x23dc99){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this[_0x2b9c80(0x1ed)]=new _0x13cd50(_0x1806c9),this[_0x2b9c80(0x187)]=!![],this[_0x2b9c80(0x1ed)]['connect']()['catch'](()=>{const _0x4b2d1a=_0x2b9c80;this[_0x4b2d1a(0x1a4)]['warn']({'event':_0x3c138b[_0x4b2d1a(0x1dd)]},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;})),this['_redisSubscriber']=new _0x13cd50(_0x1806c9),this['_redisSubscriber'][_0x2b9c80(0x1a1)]()[_0x2b9c80(0x1db)](()=>{const _0x4354a5=_0x2b9c80,_0x53a4d3={'fZAXe':_0x3c138b['bCril'],'hsHrZ':function(_0x500a55,_0x512588){return _0x3c138b['WXBPk'](_0x500a55,_0x512588);}};this['_redisSubscriber'][_0x4354a5(0x1f2)](REDIS_CHANNEL_PREFIX+'broadcast',_0x32b2ae=>{const _0x48e701=_0x4354a5;if(_0x32b2ae){this['_logger'][_0x48e701(0x1a6)]({'event':_0x48e701(0x1d7),'error':_0x32b2ae[_0x48e701(0x16f)]},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x32b2ae[_0x48e701(0x16f)]);return;}this[_0x48e701(0x1a4)]['info']({'event':_0x48e701(0x18e)},_0x53a4d3['fZAXe']);}),this[_0x4354a5(0x1e0)]['on'](_0x3c138b['BGGBj'],(_0x57edb2,_0x4045a0)=>{const _0x238ea3=_0x4354a5;try{const _0x49bda3=JSON['parse'](_0x4045a0);if(_0x53a4d3[_0x238ea3(0x19d)](_0x49bda3[_0x238ea3(0x188)],this['_workerId']))return;this[_0x238ea3(0x1ca)](_0x49bda3[_0x238ea3(0x1b9)],_0x49bda3['message']);}catch(_0x678661){}});})['catch'](()=>{const _0x4e6e4c=_0x2b9c80;this[_0x4e6e4c(0x1a4)]['warn']({'event':_0x3c138b[_0x4e6e4c(0x178)]},_0x3c138b[_0x4e6e4c(0x1eb)]),this[_0x4e6e4c(0x1e0)]=null;});}catch(_0x596d4f){this[_0x2b9c80(0x1a4)][_0x2b9c80(0x17f)]({'event':'livesync_redis_unavailable','error':_0x596d4f[_0x2b9c80(0x16f)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x596d4f['message']);}}[a0_0x19f1e4(0x1ca)](_0x23abce,_0x4a1b39){const _0x3a797e=a0_0x19f1e4,_0x221662={'ELcCJ':function(_0x1f7277,_0x5e9229){return _0x1f7277===_0x5e9229;}};if(!this[_0x3a797e(0x176)])return;const _0x3d75d3=JSON['stringify']({'type':'data_change','channel':_0x23abce,'action':_0x4a1b39['action'],'data':_0x4a1b39[_0x3a797e(0x183)],'requestId':_0x4a1b39['requestId']||null,'timestamp':new Date()[_0x3a797e(0x1bd)]()}),[_0x58861e]=_0x23abce[_0x3a797e(0x195)](':');for(const [_0x95ef94,_0x270d06]of this['_subscriptions']){const _0xa956f=_0x221662[_0x3a797e(0x1da)](_0x95ef94,_0x23abce),_0x14919f=_0x221662[_0x3a797e(0x1da)](_0x95ef94,_0x58861e+':*');if(_0xa956f||_0x14919f)for(const _0x591112 of _0x270d06){if(_0x221662[_0x3a797e(0x1da)](_0x591112['readyState'],0x1))try{_0x591112[_0x3a797e(0x168)](_0x3d75d3);}catch(_0x10a8e4){}}}}}function a0_0x2d08(){const _0x33f47f=['CgLK','Dw5sBhu','odvzDKDSBw8','AxnbCNjHEq','y2f0y2G','svPwwwO','tgL2zsbtEw5Jia','C2XPy2u','x2LUAxrPywXPEMvK','uKvesvnFueftu1DpuKq','y2HHBM5LBa','Bg9JywXOB3n0','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','nMPoALHPBG','Dg9ju09tDhjPBMC','uLrXuuy','AgfZ','CgLUzW','AM9PBG','ywrK','zNvSBa','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','C3rHCNrZv2L0Aa','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','C3rYAw5NAwz5','tLDKDMS','x2jYB2fKy2fZDeXVy2fS','zgvSzxrL','EK5uCKO','ig9Uia','x3nLDhvWvxbNCMfKzuf1DgG','Aw5MBW','ihrVia','ntC4ntr3tufgugi','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','DhLWzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','y2XPzw50CW','zgf0yv9JAgfUz2u','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','CMvTB3zLqwXStgLZDgvUzxjZ','DxjS','ruXJq0O','DgHLBG','y2XVC2u','u3PUC0y','rfnlz0S','sMXIueO','x3jLzgLZu3vIC2nYAwjLCG','mJf4txPHvKi','zw52','t3Dju1u','AMHeDNC','x3nLBMruB0nSAwvUDa','C3vIC2nYAwjLzenOyw5UzwXZ','zgvIDwC','rgfXC1C','qNfREfq','AxnbBgL2zq','y015CMe','tLjJsLu','x3jLzgLZuhvIBgLZAgvY','uKvesvnFse9tva','CNfTwKe','ChvIBgLZAa','Aw9YzwrPCW','C3vIC2nYAwjL','EwLTuMe','ywn0Aw9U','CMvHzhLtDgf0zq','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','wwnmvLC','vw1UB3q','x3n0yxj0sgvHCNrIzwf0','yxbPs2v5','x2HHBMrSzunSAwvUDe1LC3nHz2u','C2vUza','x3n1yNnJCMLWDgLVBNm','nJi3mZjite1hyKe','Aw5PDgLHBgL6zq','BgL2zxn5BMnFC3vIC2nYAwjL','uefus04','mti2mtDItuvvshm','BwvZC2fNzq','x3nLDhvWuMvKAxm','mJy0mti2BgHwsKfl','ChvIBgLZAgvY','CMvZDgzVCMDLoMXPDMvZEw5JoG','A0HssM0','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','x3DZCW','u2vYDMvYihnODxr0Aw5NigrVD24','rfDyC1a','sejmAKm','zgrfru8','BgL2zxn5BMnFC2H1DgrVD24','mJKYmtC1mxHjyxn3Bq','mtyWmty1mM1fCvzYAq','Cg9UzW','D2fYBG','uKvesvnFue9sva','lI4VlI4VDxrPBhmVBg9Nz2vY','x21Vzgu','zgf0yq','x3b1yMXPC2HuB1jLzgLZ','C2v0','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','x293BLb1yMXPC2HLCG','D29YA2vYswq','Ahr0CdOVlW','Ec1HCgKTA2v5','zNDvr2u','x2HHBMrSzvvUC3vIC2nYAwjL','ihnODxqGzg93BG','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','DgvYBwLUyxrL','BgLZDgvUzxjZ','ignSAwvUDcHZkq','ChvZAa','DxbNCMfKzq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','C3bSAxq','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','y0XZqLC','y29UBMvJDgLVBG','uu9szuK','AgvHzgvYCW','BgvUz3rO','y0TYAwC','AhniCLO','BKj0z0y','AxnjBML0AwfSAxPLza','x2HLyxj0yMvHDfrPBwvY','y29UBMvJDa','z2v0q2XPzw50','y2fSBa','x2XVz2DLCG','x2HHBMrSzvn1yNnJCMLIzq','zxjYB3i','mJmWmtq5nNbUqwT6tq','odG5mg5isePiwq','zenUqKC','x29WDgLVBNm','Dw5ZDwjZy3jPyMvK','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','z2v0','uKvesvnFrei'];a0_0x2d08=function(){return _0x33f47f;};return a0_0x2d08();}module['exports']=WebSocketBroadcaster;
1
+ 'use strict';function a0_0x180f(){const _0x36ef47=['ig9Uia','CMvHzhLtDgf0zq','C0jHwum','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','DhLWzq','ihrVia','x3nLDhvWuMvKAxnqDwjSAxnOzxi','x2HLyxj0yMvHDfrPBwvY','AxnbCNjHEq','zxjYB3i','mti4nZC4D3rfywLy','Dw5ZDwjZy3jPyMu','zNjSsMW','x3jLzgLZu3vIC2nYAwjLCG','sw52ywXPzcbku09oig1LC3nHz2u','x21Vzgu','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','CxvPDa','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','zw1PDa','z2v0q2XPzw50','C3vIC2nYAwjLzenOyw5UzwXZ','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','y2XPzw50CW','vhbvqKK','x2HHBMrSzvvUC3vIC2nYAwjL','C3rYAw5N','DefpC1e','Ag9ZDa','DgHLBG','ChvZAa','y29UBMvJDa','C3rYAw5NAwz5','rfjgshO','Bg9Nz2vY','t0rtCKi','x3n1yNnJCMLWDgLVBNm','x3nLDhvWvxbNCMfKzuf1DgG','AgfZ','tuDtuxO','CMvTB3rLqwrKCMvZCW','C2L6zq','zgvSzxrL','ndq2odHZshDuvuy','y29UBMvJDgLVBG','zuzkzLi','AgvHzgvYCW','qNjVywrJyxn0ia','wLriv3i','Cg9UzW','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','y2XVC2u','mJy4ntnurgLrwLC','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','Dufhvfi','BwvZC2fNzq','r21bvgq','whb3uMW','x3DVCMTLCKLK','DxjS','mtG4whHSyLj0','Dg9ju09tDhjPBMC','x2jYB2fKy2fZDeXVy2fS','EMfAww8','AM9PBG','mteYnZCWu3jzBNjs','uKvesvnFue9sva','uKnHy2W','z2v0','BgL2zxn5BMnFC2H1DgrVD24','x3b1yMXPC2HuB1jLzgLZ','C2fABvq','y2XLyxi','x3nLBMruB0nSAwvUDa','B01nrvy','BgvUz3rO','z3HmA3i','C2v0','yNjVywrJyxn0','AxnbBgL2zq','mZKYrMXSrgPh','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','Aw5MBW','mtq5ntiZuLDdCujh','x3jLzgLZuhvIBgLZAgvY','x2HHBMrSzvn1yNnJCMLIzq','ntyWodq0B2jSvfnt','x2LUAxrPywXPEMvK','y2HHBM5LBa','zw52','vuDIB1q','x293BLb1yMXPC2HLCG','D2fYBG','C3vIC2nYAwjLza','x3DZCW','Dg9tDhjPBMC','BgL2zxn5BMnFyNjVywrJyxn0','Aw9YzwrPCW','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','mti3lJaUmc4X','Bg9JywXOB3n0','x2XVz2DLCG','x3nLDhvWuMvKAxm','ywn0Aw9U','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','zgvIDwC','B2Ppz0W','uKvesvnFse9tva','zNvSBa','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','qMjNrMm','CgLUzW','C3vIC2nYAwjL','ntaWs2HtCunx','zgf0yq','uKvesvnFrei','x2HHBMrSzunVBM5Ly3rPB24','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','D29YA2vYswq','rMXAvfq','vhbPDe4','x2HHBMrSzunSAwvUDe1LC3nHz2u','C2vUza','CgLK','ywrK','tgL2zsbtEw5Jia','y2HHBM5LBhm','x29WDgLVBNm','BgLZDgvUzxjZ','BgL2zxn5BMnFC3vIC2nYAwjL','Dw5ZDwjZy3jPyMvK','odC3mZf4r2zyAeS','CMvXDwvZDeLK','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','yxbPs2v5','mJbyAuXIDee','rNL4rfG','BgL2zxn5BMnFAw5PDgLHBgL6zwq'];a0_0x180f=function(){return _0x36ef47;};return a0_0x180f();}const a0_0xf489f=a0_0x2108;(function(_0xd2c936,_0x1bc554){const _0x423864=a0_0x2108,_0x51f2a4=_0xd2c936();while(!![]){try{const _0x4342b9=-parseInt(_0x423864(0x23c))/0x1+parseInt(_0x423864(0x1e9))/0x2+-parseInt(_0x423864(0x1db))/0x3*(-parseInt(_0x423864(0x1e4))/0x4)+-parseInt(_0x423864(0x22f))/0x5*(parseInt(_0x423864(0x1d2))/0x6)+parseInt(_0x423864(0x22b))/0x7*(parseInt(_0x423864(0x1f8))/0x8)+parseInt(_0x423864(0x1fe))/0x9+-parseInt(_0x423864(0x219))/0xa*(parseInt(_0x423864(0x1fb))/0xb);if(_0x4342b9===_0x1bc554)break;else _0x51f2a4['push'](_0x51f2a4['shift']());}catch(_0x3ef1f3){_0x51f2a4['push'](_0x51f2a4['shift']());}}}(a0_0x180f,0x4cf9f));const {WebSocketServer}=require('ws'),{URL}=require(a0_0xf489f(0x1e3)),REDIS_CHANNEL_PREFIX='restforge:livesync:';function a0_0x2108(_0xf42e5c,_0x2f6068){_0xf42e5c=_0xf42e5c-0x1cc;const _0x180f0d=a0_0x180f();let _0x2108dc=_0x180f0d[_0xf42e5c];if(a0_0x2108['ZdrSUN']===undefined){var _0x4988ad=function(_0x5584a7){const _0x21662a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2115fd='',_0x4337e2='';for(let _0x336752=0x0,_0x435a4e,_0x460d7c,_0x11a87c=0x0;_0x460d7c=_0x5584a7['charAt'](_0x11a87c++);~_0x460d7c&&(_0x435a4e=_0x336752%0x4?_0x435a4e*0x40+_0x460d7c:_0x460d7c,_0x336752++%0x4)?_0x2115fd+=String['fromCharCode'](0xff&_0x435a4e>>(-0x2*_0x336752&0x6)):0x0){_0x460d7c=_0x21662a['indexOf'](_0x460d7c);}for(let _0x36d1cf=0x0,_0x17a8bb=_0x2115fd['length'];_0x36d1cf<_0x17a8bb;_0x36d1cf++){_0x4337e2+='%'+('00'+_0x2115fd['charCodeAt'](_0x36d1cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4337e2);};a0_0x2108['VgdiZZ']=_0x4988ad,a0_0x2108['fjQjUt']={},a0_0x2108['ZdrSUN']=!![];}const _0x2ee235=_0x180f0d[0x0],_0x2aefc6=_0xf42e5c+_0x2ee235,_0x2f123b=a0_0x2108['fjQjUt'][_0x2aefc6];return!_0x2f123b?(_0x2108dc=a0_0x2108['VgdiZZ'](_0x2108dc),a0_0x2108['fjQjUt'][_0x2aefc6]=_0x2108dc):_0x2108dc=_0x2f123b,_0x2108dc;}class WebSocketBroadcaster{constructor(){const _0x5bcc7f=a0_0xf489f,_0x219141={'GDXkn':'3|5|4|1|8|7|2|9|0|6'},_0x24fef5=_0x219141['GDXkn']['split']('|');let _0x55ca5b=0x0;while(!![]){switch(_0x24fef5[_0x55ca5b++]){case'0':this[_0x5bcc7f(0x23f)]=null;continue;case'1':this[_0x5bcc7f(0x227)]={};continue;case'2':this['_heartbeatTimer']=null;continue;case'3':this['_wss']=null;continue;case'4':this['_mode']=null;continue;case'5':this[_0x5bcc7f(0x1ff)]=![];continue;case'6':this['_workerId']=process[_0x5bcc7f(0x223)];continue;case'7':this['_subscriptions']=new Map();continue;case'8':this[_0x5bcc7f(0x20d)]=console;continue;case'9':this['_redisPublisher']=null;continue;}break;}}['initialize'](_0x534dc7,_0x212e39={}){const _0x37f60e=a0_0xf489f,_0x7b977b={'RCacl':function(_0x33bf96,_0x4bb521){return _0x33bf96(_0x4bb521);},'zkLAw':function(_0x4d0db5,_0x5a06ee,_0x74f5c2){return _0x4d0db5(_0x5a06ee,_0x74f5c2);},'MUktW':_0x37f60e(0x1d3),'zaZYo':'full'};if(this[_0x37f60e(0x1ff)])return;this['_options']=_0x212e39,this[_0x37f60e(0x241)]=_0x37f60e(0x214);try{this['_logger']=_0x7b977b[_0x37f60e(0x1eb)](require,'../../utils/logger')[_0x37f60e(0x255)]||console;}catch(_0xb57c9e){this[_0x37f60e(0x20d)]=console;}const _0x569d5d=_0x7b977b['zkLAw'](parseInt,process['env'][_0x37f60e(0x1dc)],0xa)||0x1e;this[_0x37f60e(0x206)]=new WebSocketServer({'server':_0x534dc7,'path':'/ws'}),this['_setupUpgradeAuth'](_0x534dc7),this['_wss']['on'](_0x7b977b['MUktW'],(_0x6dcd08,_0x3027af)=>this[_0x37f60e(0x21c)](_0x6dcd08,_0x3027af)),this[_0x37f60e(0x206)]['on']('error',_0x5e5d9e=>{const _0x206217=_0x37f60e;this[_0x206217(0x20d)]['error']({'event':'livesync_wss_error','error':_0x5e5d9e['message']},_0x206217(0x1dd)+_0x5e5d9e['message']);}),this['_startHeartbeat'](_0x569d5d),this[_0x37f60e(0x20e)](),this['_initialized']=!![],this['_logger']['info']({'event':_0x37f60e(0x231),'mode':_0x7b977b[_0x37f60e(0x1e7)],'path':'/ws','heartbeat':_0x569d5d+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x569d5d+'s)');}['initializeAsPublisher'](_0x3fda9a={}){const _0x3f73fb=a0_0xf489f,_0x3b006a={'saZmT':function(_0x45ffc3,_0x577795){return _0x45ffc3(_0x577795);},'TovBF':_0x3f73fb(0x242),'UGboT':'publisher'};if(this[_0x3f73fb(0x1ff)])return;this[_0x3f73fb(0x227)]=_0x3fda9a,this[_0x3f73fb(0x241)]='publisher';try{this[_0x3f73fb(0x20d)]=_0x3b006a[_0x3f73fb(0x1ef)](require,'../../utils/logger')['logger']||console;}catch(_0x18970f){this['_logger']=console;}this[_0x3f73fb(0x238)](),this['_initialized']=!![],this[_0x3f73fb(0x20d)][_0x3f73fb(0x1fa)]({'event':_0x3b006a['TovBF'],'mode':_0x3b006a[_0x3f73fb(0x202)]},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');}['isInitialized'](){return this['_initialized'];}[a0_0xf489f(0x1f6)](_0x3de5ed,_0x289c45){const _0x11cb64=a0_0xf489f,_0x1ec244={'oRgHU':'publisher','gxLkr':function(_0x2aebce,_0x2c1f1b){return _0x2aebce===_0x2c1f1b;},'LjGjF':function(_0x2a5776,_0x133254){return _0x2a5776>_0x133254;}};if(!this['_initialized'])return;if(this[_0x11cb64(0x241)]===_0x1ec244['oRgHU']){this['_publishToRedis'](_0x3de5ed,_0x289c45);return;}const _0x58df31=JSON['stringify']({'type':'data_change','channel':_0x3de5ed,'action':_0x289c45[_0x11cb64(0x20f)],'data':_0x289c45[_0x11cb64(0x21a)],'requestId':_0x289c45['requestId']||null,'timestamp':new Date()[_0x11cb64(0x1e5)]()}),[_0x247bee]=_0x3de5ed['split'](':');let _0x8d58bf=0x0;for(const [_0x49cc9e,_0x225ee1]of this['_subscriptions']){const _0x5f22a4=_0x1ec244[_0x11cb64(0x1f4)](_0x49cc9e,_0x3de5ed),_0x4f8455=_0x1ec244[_0x11cb64(0x1f4)](_0x49cc9e,_0x247bee+':*');if(_0x5f22a4||_0x4f8455)for(const _0x1e6fef of _0x225ee1){if(_0x1e6fef[_0x11cb64(0x233)]===0x1)try{_0x1e6fef[_0x11cb64(0x222)](_0x58df31),_0x8d58bf++;}catch(_0x5da690){}}}_0x1ec244['LjGjF'](_0x8d58bf,0x0)&&this['_logger']['debug']({'event':_0x11cb64(0x208),'channel':_0x3de5ed,'action':_0x289c45['action'],'clients':_0x8d58bf},_0x11cb64(0x1d6)+_0x289c45[_0x11cb64(0x20f)]+_0x11cb64(0x232)+_0x3de5ed+_0x11cb64(0x237)+_0x8d58bf+'\x20client(s)');}[a0_0xf489f(0x1ee)](_0xfb516b,_0x41fb82){const _0x3182bf=a0_0xf489f;if(!this[_0x3182bf(0x1fc)])return;const _0x2a56c8=JSON['stringify']({'channel':_0xfb516b,'message':_0x41fb82,'workerId':this[_0x3182bf(0x1e2)]});this[_0x3182bf(0x1fc)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x2a56c8)['catch'](()=>{});}['shutdown'](){const _0x14e96b=a0_0xf489f,_0x532b55={'ojOgL':_0x14e96b(0x1ed)};if(!this[_0x14e96b(0x1ff)])return;this['_heartbeatTimer']&&(clearInterval(this[_0x14e96b(0x239)]),this[_0x14e96b(0x239)]=null);if(this['_wss']){for(const _0x4d6d10 of this['_wss']['clients']){try{_0x4d6d10[_0x14e96b(0x1da)](0x3e9,'Server\x20shutting\x20down');}catch(_0x4bc252){}}this[_0x14e96b(0x206)][_0x14e96b(0x1da)]();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0x14e96b(0x23d)](),this['_redisSubscriber'][_0x14e96b(0x243)]();}catch(_0x4ced83){}if(this[_0x14e96b(0x203)]&&this[_0x14e96b(0x1fc)])try{this['_redisPublisher'][_0x14e96b(0x243)]();}catch(_0xec3dd5){}this[_0x14e96b(0x257)]['clear'](),this['_initialized']=![],this[_0x14e96b(0x20d)][_0x14e96b(0x1fa)]({'event':_0x532b55[_0x14e96b(0x212)],'mode':this['_mode']},_0x14e96b(0x225)+this['_mode']+'\x20shut\x20down');}[a0_0xf489f(0x1cc)](_0x1df211){const _0x362a34=a0_0xf489f,_0x5625fe={'NhaDu':_0x362a34(0x20c),'frlJl':'x-api-key','TpitN':function(_0x114443,_0x5de85e){return _0x114443!==_0x5de85e;},'sBaYC':'upgrade'},_0x2ca645=_0x1df211[_0x362a34(0x228)](_0x5625fe['sBaYC'])['slice']();_0x1df211['removeAllListeners'](_0x5625fe[_0x362a34(0x234)]),_0x1df211['on'](_0x5625fe[_0x362a34(0x234)],(_0x5c1241,_0x171722,_0x3518fc)=>{const _0xff1787=_0x362a34;if(!_0x5c1241[_0xff1787(0x1e3)]||!_0x5c1241['url']['startsWith']('/ws')){for(const _0x24e351 of _0x2ca645){_0x24e351['call'](_0x1df211,_0x5c1241,_0x171722,_0x3518fc);}return;}if(this['_options']['apiKey']){const _0x2c0763=new URL(_0x5c1241[_0xff1787(0x1e3)],'http://'+(_0x5c1241[_0xff1787(0x1d5)][_0xff1787(0x24f)]||_0x5625fe['NhaDu'])),_0xd8e3c9=_0x2c0763['searchParams'][_0xff1787(0x1ec)](_0x5625fe[_0xff1787(0x23e)])||_0x5c1241['headers'][_0x5625fe[_0xff1787(0x23e)]];if(!_0xd8e3c9||_0x5625fe[_0xff1787(0x220)](_0xd8e3c9,this[_0xff1787(0x227)][_0xff1787(0x22e)])){_0x171722['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x171722['destroy']();return;}}this[_0xff1787(0x206)]['handleUpgrade'](_0x5c1241,_0x171722,_0x3518fc,_0x54e748=>{const _0x4cf9a5=_0xff1787;this['_wss'][_0x4cf9a5(0x246)]('connection',_0x54e748,_0x5c1241);});});}['_handleConnection'](_0xf56bd9,_0x38ec5f){const _0x23d7e5=a0_0xf489f,_0x2fc6e8={'FyxDX':_0x23d7e5(0x1f9),'ApTQQ':'livesync_client_error','YMIzC':'x-forwarded-for','VWIvZ':'message'};_0xf56bd9[_0x23d7e5(0x1f7)]=!![],_0xf56bd9[_0x23d7e5(0x248)]=new Set();const _0x158071=_0x38ec5f[_0x23d7e5(0x1d5)][_0x2fc6e8['YMIzC']]||_0x38ec5f['socket'][_0x23d7e5(0x1cf)];this['_logger']['info']({'event':'livesync_client_connected','ip':_0x158071},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x158071),_0xf56bd9['on'](_0x23d7e5(0x1d8),()=>{_0xf56bd9['isAlive']=!![];}),_0xf56bd9['on'](_0x2fc6e8['VWIvZ'],_0xb1fef7=>{const _0x5ad012=_0x23d7e5;try{const _0xa3d420=JSON['parse'](_0xb1fef7[_0x5ad012(0x207)]());this[_0x5ad012(0x221)](_0xf56bd9,_0xa3d420);}catch(_0x4a4db7){this['_sendToClient'](_0xf56bd9,{'type':'error','message':_0x5ad012(0x240)});}}),_0xf56bd9['on']('close',()=>{const _0x18e317=_0x23d7e5;this['_removeClientFromAllChannels'](_0xf56bd9),this['_logger']['debug']({'event':_0x2fc6e8[_0x18e317(0x230)],'ip':_0x158071},_0x18e317(0x235)+_0x158071);}),_0xf56bd9['on'](_0x23d7e5(0x23b),_0x30cf2a=>{const _0x2e00fe=_0x23d7e5;this['_logger'][_0x2e00fe(0x204)]({'event':_0x2fc6e8['ApTQQ'],'error':_0x30cf2a[_0x2e00fe(0x1df)]},'WebSocket\x20client\x20error:\x20'+_0x30cf2a['message']),this['_removeClientFromAllChannels'](_0xf56bd9);});}[a0_0xf489f(0x221)](_0x3a499f,_0x1426e6){const _0x4f13ca=a0_0xf489f,_0x2fd347={'DRFHz':_0x4f13ca(0x218),'ZTHWr':_0x4f13ca(0x23d),'skHdy':_0x4f13ca(0x23b)};switch(_0x1426e6['type']){case _0x2fd347[_0x4f13ca(0x254)]:this[_0x4f13ca(0x1fd)](_0x3a499f,_0x1426e6[_0x4f13ca(0x226)]);break;case _0x2fd347[_0x4f13ca(0x1d7)]:this['_handleUnsubscribe'](_0x3a499f,_0x1426e6['channels']);break;case _0x4f13ca(0x1d8):_0x3a499f[_0x4f13ca(0x1f7)]=!![];break;default:this[_0x4f13ca(0x1f1)](_0x3a499f,{'type':_0x2fd347['skHdy'],'message':_0x4f13ca(0x22d)+_0x1426e6[_0x4f13ca(0x236)]});}}[a0_0xf489f(0x1fd)](_0x30e212,_0x2d3c4a){const _0x4371d5=a0_0xf489f,_0x4e290e={'MGSQz':function(_0x5cb1f2,_0x9ee590){return _0x5cb1f2!==_0x9ee590;},'XpwRl':function(_0x14ca39,_0x5a24c8){return _0x14ca39>_0x5a24c8;}};if(!Array[_0x4371d5(0x23a)](_0x2d3c4a)||_0x2d3c4a['length']===0x0){this['_sendToClient'](_0x30e212,{'type':_0x4371d5(0x23b),'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x13f5f2=[];for(const _0x1bb9d2 of _0x2d3c4a){if(_0x4e290e[_0x4371d5(0x1ce)](typeof _0x1bb9d2,_0x4371d5(0x24d))||!_0x1bb9d2['includes'](':'))continue;!this[_0x4371d5(0x257)][_0x4371d5(0x1cd)](_0x1bb9d2)&&this[_0x4371d5(0x257)][_0x4371d5(0x1f5)](_0x1bb9d2,new Set()),this['_subscriptions'][_0x4371d5(0x1ec)](_0x1bb9d2)[_0x4371d5(0x224)](_0x30e212),_0x30e212['subscribedChannels']['add'](_0x1bb9d2),_0x13f5f2['push'](_0x1bb9d2);}_0x4e290e[_0x4371d5(0x1e1)](_0x13f5f2[_0x4371d5(0x1f3)],0x0)&&(this['_sendToClient'](_0x30e212,{'type':_0x4371d5(0x205),'channels':_0x13f5f2,'timestamp':new Date()['toISOString']()}),this[_0x4371d5(0x20d)][_0x4371d5(0x211)]({'event':_0x4371d5(0x229),'channels':_0x13f5f2},'Client\x20subscribed\x20to:\x20'+_0x13f5f2[_0x4371d5(0x1e8)](',\x20')));}[a0_0xf489f(0x24c)](_0x334342,_0xc11926){const _0x3a4097=a0_0xf489f,_0x51f8b7={'uAGTR':function(_0x327d8c,_0x2614bd){return _0x327d8c===_0x2614bd;},'lGrvp':_0x3a4097(0x22a)};if(!Array['isArray'](_0xc11926))return;const _0x50580f=[];for(const _0x338b37 of _0xc11926){this[_0x3a4097(0x257)]['has'](_0x338b37)&&(this['_subscriptions'][_0x3a4097(0x1ec)](_0x338b37)['delete'](_0x334342),_0x51f8b7[_0x3a4097(0x1de)](this[_0x3a4097(0x257)][_0x3a4097(0x1ec)](_0x338b37)[_0x3a4097(0x1d0)],0x0)&&this['_subscriptions'][_0x3a4097(0x1d1)](_0x338b37)),_0x334342['subscribedChannels']['delete'](_0x338b37),_0x50580f[_0x3a4097(0x251)](_0x338b37);}_0x50580f['length']>0x0&&this['_sendToClient'](_0x334342,{'type':_0x51f8b7['lGrvp'],'channels':_0x50580f,'timestamp':new Date()[_0x3a4097(0x1e5)]()});}['_removeClientFromAllChannels'](_0x522239){const _0x1156ea=a0_0xf489f,_0x3b4635={'oMMEV':function(_0x4692de,_0x552ced){return _0x4692de===_0x552ced;}};if(!_0x522239[_0x1156ea(0x248)])return;for(const _0x18599d of _0x522239[_0x1156ea(0x248)]){this[_0x1156ea(0x257)][_0x1156ea(0x1cd)](_0x18599d)&&(this['_subscriptions'][_0x1156ea(0x1ec)](_0x18599d)['delete'](_0x522239),_0x3b4635[_0x1156ea(0x1f2)](this['_subscriptions']['get'](_0x18599d)[_0x1156ea(0x1d0)],0x0)&&this['_subscriptions']['delete'](_0x18599d));}_0x522239['subscribedChannels'][_0x1156ea(0x1f0)]();}['_sendToClient'](_0x265e6a,_0x4c620e){const _0x536e07=a0_0xf489f;if(_0x265e6a['readyState']===0x1)try{_0x265e6a[_0x536e07(0x222)](JSON['stringify'](_0x4c620e));}catch(_0x30f3cc){}}['_startHeartbeat'](_0x5d099f){const _0x2e594f={'ygLPr':function(_0x2643a3,_0x47f1ca){return _0x2643a3*_0x47f1ca;}};this['_heartbeatTimer']=setInterval(()=>{const _0x214bf4=a0_0x2108;if(!this['_wss'])return;for(const _0x3186cb of this[_0x214bf4(0x206)][_0x214bf4(0x24a)]){if(!_0x3186cb['isAlive']){this['_removeClientFromAllChannels'](_0x3186cb),_0x3186cb['terminate']();continue;}_0x3186cb['isAlive']=![],this[_0x214bf4(0x1f1)](_0x3186cb,{'type':_0x214bf4(0x217),'timestamp':new Date()['toISOString']()});try{_0x3186cb['ping']();}catch(_0x3a00e1){}}},_0x2e594f['ygLPr'](_0x5d099f,0x3e8));}[a0_0xf489f(0x238)](){const _0x53c6a7=a0_0xf489f,_0x283704={'RqPYY':'livesync_redis_publisher_failed','TpUBI':function(_0x1afd69,_0x38208c){return _0x1afd69(_0x38208c);},'FlZTT':_0x53c6a7(0x209),'TGkKz':_0x53c6a7(0x20b),'lhPHT':function(_0x556119,_0x3fa286,_0xe4e8a5){return _0x556119(_0x3fa286,_0xe4e8a5);},'zQBav':_0x53c6a7(0x249)};this[_0x53c6a7(0x203)]=![];try{try{const _0x58dfab=require('../../utils/redis-client');this[_0x53c6a7(0x1fc)]=_0x58dfab[_0x53c6a7(0x247)]?_0x58dfab[_0x53c6a7(0x247)]():null;}catch(_0xe8b4a3){this[_0x53c6a7(0x1fc)]=null;}if(!this[_0x53c6a7(0x1fc)]){const _0x2bc512=_0x283704[_0x53c6a7(0x24b)](require,_0x283704[_0x53c6a7(0x21f)]),_0x3cbf4e={'host':process['env'][_0x53c6a7(0x213)]||_0x283704['TGkKz'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x283704['lhPHT'](parseInt,process['env'][_0x53c6a7(0x21b)],0xa)||0x0,'lazyConnect':!![]};this[_0x53c6a7(0x1fc)]=new _0x2bc512(_0x3cbf4e),this[_0x53c6a7(0x203)]=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x16bda0=_0x53c6a7;this['_logger'][_0x16bda0(0x204)]({'event':_0x283704['RqPYY']},_0x16bda0(0x210)),this['_redisPublisher']=null;});}}catch(_0x5008f1){this[_0x53c6a7(0x20d)]['warn']({'event':_0x283704['zQBav'],'error':_0x5008f1['message']},_0x53c6a7(0x20a)+_0x5008f1[_0x53c6a7(0x1df)]);}}[a0_0xf489f(0x20e)](){const _0x4871ad=a0_0xf489f,_0x327eee={'tawUO':_0x4871ad(0x1d9),'srmpy':_0x4871ad(0x210),'tAOsQ':'message','GmATd':function(_0x224f2b,_0x245a4c){return _0x224f2b(_0x245a4c);},'eFJfR':_0x4871ad(0x209),'ODSrB':'127.0.0.1','BbgFc':function(_0x477d55,_0xa5879b,_0x2ed0b9){return _0x477d55(_0xa5879b,_0x2ed0b9);},'qrQcE':_0x4871ad(0x249)};this[_0x4871ad(0x203)]=![];try{const _0xc6dc21=_0x327eee[_0x4871ad(0x1e0)](require,_0x327eee[_0x4871ad(0x1d4)]),_0xab4582={'host':process[_0x4871ad(0x201)][_0x4871ad(0x213)]||_0x327eee[_0x4871ad(0x256)],'port':_0x327eee['BbgFc'](parseInt,process['env'][_0x4871ad(0x1ea)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x327eee[_0x4871ad(0x216)](parseInt,process[_0x4871ad(0x201)][_0x4871ad(0x21b)],0xa)||0x0,'lazyConnect':!![]};try{const _0x5d2e6c=_0x327eee[_0x4871ad(0x1e0)](require,_0x4871ad(0x21d));this[_0x4871ad(0x1fc)]=_0x5d2e6c[_0x4871ad(0x247)]?_0x5d2e6c['getClient']():null;}catch(_0x4e9bd1){this['_redisPublisher']=null;}!this[_0x4871ad(0x1fc)]&&(this[_0x4871ad(0x1fc)]=new _0xc6dc21(_0xab4582),this[_0x4871ad(0x203)]=!![],this[_0x4871ad(0x1fc)][_0x4871ad(0x252)]()['catch'](()=>{const _0x5ca280=_0x4871ad;this['_logger']['warn']({'event':_0x327eee['tawUO']},_0x327eee['srmpy']),this[_0x5ca280(0x1fc)]=null;})),this[_0x4871ad(0x23f)]=new _0xc6dc21(_0xab4582),this['_redisSubscriber']['connect']()[_0x4871ad(0x250)](()=>{const _0x222988=_0x4871ad,_0x27a99c={'EMaXO':_0x222988(0x245),'jZoQR':function(_0x34cea4,_0x1eee58){return _0x34cea4===_0x1eee58;}};this[_0x222988(0x23f)]['subscribe'](REDIS_CHANNEL_PREFIX+_0x222988(0x1f6),_0x438a1f=>{const _0x2f46c0=_0x222988;if(_0x438a1f){this['_logger'][_0x2f46c0(0x23b)]({'event':'livesync_redis_subscribe_error','error':_0x438a1f['message']},_0x2f46c0(0x215)+_0x438a1f['message']);return;}this[_0x2f46c0(0x20d)]['info']({'event':_0x2f46c0(0x244)},_0x27a99c['EMaXO']);}),this[_0x222988(0x23f)]['on'](_0x327eee[_0x222988(0x24e)],(_0x5a4049,_0x35cf95)=>{const _0x50b208=_0x222988;try{const _0x2bdc58=JSON['parse'](_0x35cf95);if(_0x27a99c['jZoQR'](_0x2bdc58[_0x50b208(0x21e)],this[_0x50b208(0x1e2)]))return;this[_0x50b208(0x1e6)](_0x2bdc58[_0x50b208(0x200)],_0x2bdc58['message']);}catch(_0x46bf7e){}});})['catch'](()=>{const _0x42da2a=_0x4871ad;this['_logger']['warn']({'event':'livesync_redis_subscriber_failed'},'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode'),this[_0x42da2a(0x23f)]=null;});}catch(_0xb88061){this['_logger'][_0x4871ad(0x204)]({'event':_0x327eee['qrQcE'],'error':_0xb88061[_0x4871ad(0x1df)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0xb88061[_0x4871ad(0x1df)]);}}['_broadcastLocal'](_0x5e5869,_0x17c494){const _0x4d6044=a0_0xf489f,_0xcbb211={'qhcZm':function(_0x5b9f21,_0x72c642){return _0x5b9f21===_0x72c642;},'DtANl':function(_0x9111a3,_0x195032){return _0x9111a3===_0x195032;},'WupAW':function(_0x113e5c,_0x296945){return _0x113e5c||_0x296945;}};if(!this['_wss'])return;const _0x139b46=JSON[_0x4d6044(0x253)]({'type':'data_change','channel':_0x5e5869,'action':_0x17c494['action'],'data':_0x17c494['data'],'requestId':_0x17c494[_0x4d6044(0x22c)]||null,'timestamp':new Date()[_0x4d6044(0x1e5)]()}),[_0x582cb5]=_0x5e5869['split'](':');for(const [_0x6b2bfa,_0x504198]of this[_0x4d6044(0x257)]){const _0x2a2d67=_0xcbb211['qhcZm'](_0x6b2bfa,_0x5e5869),_0x2c8a46=_0xcbb211['DtANl'](_0x6b2bfa,_0x582cb5+':*');if(_0xcbb211['WupAW'](_0x2a2d67,_0x2c8a46))for(const _0x384697 of _0x504198){if(_0xcbb211['qhcZm'](_0x384697[_0x4d6044(0x233)],0x1))try{_0x384697['send'](_0x139b46);}catch(_0x15e7e4){}}}}}module['exports']=WebSocketBroadcaster;
@@ -1 +1 @@
1
- function a0_0x4472(_0xa32637,_0xcbbfca){_0xa32637=_0xa32637-0x193;const _0xb45f07=a0_0xb45f();let _0x44724f=_0xb45f07[_0xa32637];if(a0_0x4472['qYPcGa']===undefined){var _0x38e0b3=function(_0x2b66f1){const _0x1c9fb9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x170595='',_0x4e28bc='';for(let _0x4d2f61=0x0,_0x1d0b81,_0xa233e8,_0x4567fc=0x0;_0xa233e8=_0x2b66f1['charAt'](_0x4567fc++);~_0xa233e8&&(_0x1d0b81=_0x4d2f61%0x4?_0x1d0b81*0x40+_0xa233e8:_0xa233e8,_0x4d2f61++%0x4)?_0x170595+=String['fromCharCode'](0xff&_0x1d0b81>>(-0x2*_0x4d2f61&0x6)):0x0){_0xa233e8=_0x1c9fb9['indexOf'](_0xa233e8);}for(let _0x41b0f9=0x0,_0x2be3f1=_0x170595['length'];_0x41b0f9<_0x2be3f1;_0x41b0f9++){_0x4e28bc+='%'+('00'+_0x170595['charCodeAt'](_0x41b0f9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e28bc);};a0_0x4472['WwfugV']=_0x38e0b3,a0_0x4472['AHAdry']={},a0_0x4472['qYPcGa']=!![];}const _0x1db640=_0xb45f07[0x0],_0x2b1678=_0xa32637+_0x1db640,_0x2444d8=a0_0x4472['AHAdry'][_0x2b1678];return!_0x2444d8?(_0x44724f=a0_0x4472['WwfugV'](_0x44724f),a0_0x4472['AHAdry'][_0x2b1678]=_0x44724f):_0x44724f=_0x2444d8,_0x44724f;}const a0_0x280f79=a0_0x4472;(function(_0x405899,_0x3027c7){const _0x53dd2a=a0_0x4472,_0x50c376=_0x405899();while(!![]){try{const _0x294767=-parseInt(_0x53dd2a(0x226))/0x1+parseInt(_0x53dd2a(0x21d))/0x2+parseInt(_0x53dd2a(0x22f))/0x3*(-parseInt(_0x53dd2a(0x20a))/0x4)+-parseInt(_0x53dd2a(0x1c9))/0x5*(parseInt(_0x53dd2a(0x1d3))/0x6)+parseInt(_0x53dd2a(0x1cf))/0x7*(parseInt(_0x53dd2a(0x235))/0x8)+parseInt(_0x53dd2a(0x1e3))/0x9*(parseInt(_0x53dd2a(0x1e5))/0xa)+-parseInt(_0x53dd2a(0x209))/0xb;if(_0x294767===_0x3027c7)break;else _0x50c376['push'](_0x50c376['shift']());}catch(_0x49003a){_0x50c376['push'](_0x50c376['shift']());}}}(a0_0xb45f,0xbf013));const {v7:uuidv7}=require(a0_0x280f79(0x21a)),path=require('path'),fs=require('fs')[a0_0x280f79(0x1a5)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x280f79(0x21e)),dbType=(process['env'][a0_0x280f79(0x210)]||a0_0x280f79(0x1fc))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x280f79(0x1ef));executeQuery=(_0x2fc897,_0x47cd9c)=>oracleDb['executeQuery'](_0x2fc897,_0x47cd9c);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x280f79(0x1d9));executeQuery=(_0xc98110,_0x1ccaef)=>mysqlDb[a0_0x280f79(0x1a9)](_0xc98110,_0x1ccaef);}else executeQuery=require('../utils/db')[a0_0x280f79(0x1a9)];}class ExportService{constructor(){const _0xaea770=a0_0x280f79;this[_0xaea770(0x233)]=null;}get['exportDir'](){const _0xd6db20=a0_0x280f79,_0x36bbc6={'noMUF':'export_service_init','CKfly':_0xd6db20(0x1a6),'ifYqH':function(_0x4c17ea,_0x29564e,_0x59e925,_0x4cb9e3){return _0x4c17ea(_0x29564e,_0x59e925,_0x4cb9e3);},'zSmYO':'export_service_init_error'};if(!this['_exportDir']){const _0xda3303=process['env'][_0xd6db20(0x218)]||_0xd6db20(0x1fa);this['_exportDir']=process[_0xd6db20(0x1e7)][_0xd6db20(0x201)]||path['join'](__dirname,'../../exports/'+_0xda3303);try{!fsSync[_0xd6db20(0x1b6)](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0xd6db20(0x19d)]({'event':_0x36bbc6[_0xd6db20(0x1bc)],'dir':this['_exportDir']},_0x36bbc6[_0xd6db20(0x1b8)]);}catch(_0x59b2a7){_0x36bbc6['ifYqH'](logError,_0x59b2a7,{'event':_0x36bbc6['zSmYO']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x280f79(0x1a3)](_0x1bc179,_0x551121=null){const _0x2b46c4=a0_0x280f79,_0x1b36c3={'VEaHx':'file:','cTEKe':_0x2b46c4(0x213),'wtNNQ':function(_0x466880,_0x4d90e3){return _0x466880===_0x4d90e3;}};if(!_0x1bc179||typeof _0x1bc179!==_0x2b46c4(0x1d1))return _0x1bc179;const _0x4d9751=_0x1bc179['trim']();if(!_0x4d9751['startsWith'](_0x1b36c3['VEaHx']))return _0x4d9751;const _0x1708f1=_0x4d9751['replace'](/^file:/,'')[_0x2b46c4(0x1dc)]();if(!_0x1708f1)throw new Error(_0x2b46c4(0x1d7));const _0x47c013=_0x551121||path[_0x2b46c4(0x1c3)](process[_0x2b46c4(0x1fd)](),_0x2b46c4(0x216)),_0x4660c8=path['resolve'](_0x47c013,_0x1708f1);logger[_0x2b46c4(0x19d)]({'event':_0x2b46c4(0x1e2),'relativePath':_0x1708f1,'baseDir':_0x47c013,'absolutePath':_0x4660c8},_0x2b46c4(0x1eb)+_0x1708f1);if(!fsSync[_0x2b46c4(0x1b6)](_0x4660c8))throw new Error(_0x2b46c4(0x1c8)+_0x4660c8);try{const _0x43302d=fsSync['readFileSync'](_0x4660c8,_0x1b36c3[_0x2b46c4(0x1d6)]);if(!_0x43302d||!_0x43302d[_0x2b46c4(0x1dc)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x4660c8);return logger[_0x2b46c4(0x19d)]({'event':_0x2b46c4(0x1ec),'file':_0x4660c8,'queryLength':_0x43302d['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x43302d['length']+'\x20chars)'),_0x43302d[_0x2b46c4(0x1dc)]();}catch(_0x1c62ba){if(_0x1b36c3[_0x2b46c4(0x1a1)](_0x1c62ba[_0x2b46c4(0x1ff)],'ENOENT'))throw new Error(_0x2b46c4(0x1c8)+_0x4660c8);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x1c62ba[_0x2b46c4(0x1a4)]);}}[a0_0x280f79(0x22d)](){const _0x4ac992=a0_0x280f79,_0x1ce60e={'dabBw':_0x4ac992(0x20f),'KQIJc':function(_0x26805c,_0x4a5f87){return _0x26805c<_0x4a5f87;}},_0x33698a=_0x1ce60e[_0x4ac992(0x22a)],_0x45d0b5=Date[_0x4ac992(0x199)]()[_0x4ac992(0x1f7)](0x24),_0x46e5a6=uuidv7()['replace'](/-/g,'')['substring'](0x0,0xc-_0x45d0b5['length']),_0x49794a=(_0x45d0b5+_0x46e5a6)['substring'](0x0,0xc);let _0x76ce2a='';for(let _0x3b51b1=0x0;_0x1ce60e['KQIJc'](_0x3b51b1,0xc);_0x3b51b1++){_0x49794a[_0x3b51b1]?_0x76ce2a+=_0x49794a[_0x3b51b1]:_0x76ce2a+=_0x33698a[_0x4ac992(0x1e1)](Math[_0x4ac992(0x1e8)](Math['random']()*_0x33698a[_0x4ac992(0x204)]));}return _0x76ce2a;}async['createJob'](_0x2bea0c){const _0x271b4e=a0_0x280f79,_0x33ed15={'eREhK':function(_0x5ba513,_0x46eaab,_0x186a95,_0x3cb78f){return _0x5ba513(_0x46eaab,_0x186a95,_0x3cb78f);},'PldAH':_0x271b4e(0x231),'twuiC':'Export\x20processing\x20failed','WKgGX':_0x271b4e(0x206),'RuwmC':'export_job_created','GtgSW':'Export\x20job\x20created'},_0x25285d=this['generateJobId'](),_0x30c882={'job_id':_0x25285d,'status':_0x33ed15[_0x271b4e(0x195)],'progress':0x0,'created_at':new Date()[_0x271b4e(0x196)](),'params':_0x2bea0c,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x271b4e(0x1e4)](_0x25285d,_0x30c882),logger['info']({'event':_0x33ed15[_0x271b4e(0x1b9)],'jobId':_0x25285d,'params':_0x2bea0c},_0x33ed15[_0x271b4e(0x214)]),this['processJob'](_0x25285d,_0x2bea0c)['catch'](_0x47ee27=>{_0x33ed15['eREhK'](logError,_0x47ee27,{'event':_0x33ed15['PldAH'],'jobId':_0x25285d},_0x33ed15['twuiC']);}),{'job_id':_0x25285d,'status':'pending'};}async['getJobStatus'](_0x10fdb3){const _0xc9644d=a0_0x280f79,_0x585400={'ONeGQ':'Job\x20not\x20found\x20or\x20expired','cZImi':_0xc9644d(0x19c)},_0x1361b8=await redisHelper['getJob'](_0x10fdb3);if(!_0x1361b8)return{'success':![],'error':_0x585400[_0xc9644d(0x207)]};return{'success':!![],'data':{'job_id':_0x1361b8[_0xc9644d(0x212)],'status':_0x1361b8['status'],'progress':_0x1361b8['progress'],'total_rows':_0x1361b8['total_rows'],'processed_rows':_0x1361b8['processed_rows'],'file_url':_0x1361b8['status']===_0x585400[_0xc9644d(0x224)]?_0xc9644d(0x1c0)+_0x1361b8[_0xc9644d(0x19e)]['moduleName']+'/'+_0x1361b8[_0xc9644d(0x19e)][_0xc9644d(0x20c)]+_0xc9644d(0x20b)+_0x10fdb3:null,'error':_0x1361b8[_0xc9644d(0x230)]||null,'created_at':_0x1361b8['created_at'],'completed_at':_0x1361b8[_0xc9644d(0x232)]||null}};}async['processJob'](_0x4eb44b,_0x274195){const _0x1d9772=a0_0x280f79,_0x34714a={'BFcYk':_0x1d9772(0x1ac),'FdZup':_0x1d9772(0x208),'rOKhL':'completed','pLNfo':_0x1d9772(0x219),'UhGGg':_0x1d9772(0x1ae),'ewCBO':'failed'};try{await redisHelper[_0x1d9772(0x1f1)](_0x4eb44b,{'status':_0x34714a[_0x1d9772(0x225)],'started_at':new Date()['toISOString']()}),logger[_0x1d9772(0x19d)]({'event':_0x34714a[_0x1d9772(0x238)],'jobId':_0x4eb44b},_0x1d9772(0x1db));const _0x1b0f50=await this[_0x1d9772(0x1d8)](_0x274195);await redisHelper[_0x1d9772(0x1f1)](_0x4eb44b,{'total_rows':_0x1b0f50['length']});const _0x4b7c90=await this['generateExcel'](_0x4eb44b,_0x1b0f50,_0x274195);await redisHelper[_0x1d9772(0x1f1)](_0x4eb44b,{'status':_0x34714a[_0x1d9772(0x234)],'progress':0x64,'file_path':_0x4b7c90,'completed_at':new Date()['toISOString']()}),logger[_0x1d9772(0x19d)]({'event':_0x1d9772(0x200),'jobId':_0x4eb44b,'rows':_0x1b0f50['length']},_0x34714a[_0x1d9772(0x1d5)]);}catch(_0x343d2e){logError(_0x343d2e,{'event':'export_failed','jobId':_0x4eb44b},_0x34714a['UhGGg']),await redisHelper[_0x1d9772(0x1f1)](_0x4eb44b,{'status':_0x34714a[_0x1d9772(0x1bd)],'error':_0x343d2e['message'],'failed_at':new Date()[_0x1d9772(0x196)]()});}}async['fetchData'](_0x1a3e6b){const _0x341f19=a0_0x280f79,_0x40eab6={'sTlMl':'tableName\x20and\x20columns\x20are\x20required','aWGwO':_0x341f19(0x1c4),'EpSwv':_0x341f19(0x1f2),'iRBDD':'export_using_auto_query','XawQS':'Fetching\x20data\x20from\x20database','WRhfV':function(_0xeb9ccd,_0x19bbde){return _0xeb9ccd(_0x19bbde);},'iYELI':'oracle','WFzBW':'export_fetch_complete','oJTyU':'Data\x20fetched\x20successfully','kLQrC':_0x341f19(0x1a0),'SgKfQ':_0x341f19(0x1f3)};try{const {tableName:_0x246f27,columns:_0x2c8ca2,exportQuery:_0x501706,where:_0x28396b,sort_columns:_0x25cf32}=_0x1a3e6b;if(!_0x246f27||!_0x2c8ca2||_0x2c8ca2['length']===0x0)throw new Error(_0x40eab6['sTlMl']);const _0x12015b=_0x246f27['replace'](/\./g,'_')+_0x40eab6['aWGwO'];let _0x15f0ee;if(_0x501706&&_0x501706['trim']()){let _0x6ff154=_0x501706;_0x501706[_0x341f19(0x1dc)]()['startsWith'](_0x341f19(0x1ca))&&(_0x6ff154=this[_0x341f19(0x1a3)](_0x501706)),_0x15f0ee=_0x341f19(0x1f0)+_0x12015b+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x6ff154+'\x0a)',_0x15f0ee+=_0x341f19(0x1af)+_0x12015b,logger[_0x341f19(0x19d)]({'event':'export_using_custom_query','query':_0x6ff154['substring'](0x0,0x64)},_0x40eab6[_0x341f19(0x1c6)]);}else{const _0x309e2b=_0x2c8ca2[_0x341f19(0x19b)](_0x219e6=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x219e6)['join'](',');_0x15f0ee='WITH\x20'+_0x12015b+_0x341f19(0x1df)+_0x309e2b+_0x341f19(0x239)+_0x246f27+'\x0a)',_0x15f0ee+='\x0aSELECT\x20*\x20FROM\x20'+_0x12015b,logger['info']({'event':_0x40eab6['iRBDD'],'tableName':_0x246f27,'columnCount':_0x2c8ca2[_0x341f19(0x204)]},'Using\x20auto-generated\x20query');}if(_0x28396b){const _0x462332=this[_0x341f19(0x1d0)](_0x28396b);_0x462332&&(_0x15f0ee+=_0x341f19(0x1bf)+_0x462332);}if(_0x25cf32&&_0x25cf32['length']>0x0){const _0x1c90b5=this['buildOrderByClause'](_0x25cf32);_0x1c90b5&&(_0x15f0ee+=_0x341f19(0x1ba)+_0x1c90b5);}logger['info']({'event':'export_fetch_start','query':_0x15f0ee[_0x341f19(0x217)](0x0,0xc8)},_0x40eab6['XawQS']);const _0x113e03=await _0x40eab6[_0x341f19(0x1a7)](executeQuery,_0x15f0ee);let _0x4697d4=_0x113e03;return dbType===_0x40eab6[_0x341f19(0x197)]&&_0x113e03&&_0x113e03[_0x341f19(0x204)]>0x0&&(_0x4697d4=_0x113e03[_0x341f19(0x19b)](_0x5ba2c4=>{const _0x4a86e5=_0x341f19,_0x313941={};for(const [_0x4096ab,_0x4768a1]of Object[_0x4a86e5(0x1dd)](_0x5ba2c4)){_0x313941[_0x4096ab[_0x4a86e5(0x223)]()]=_0x4768a1;}return _0x313941;})),logger[_0x341f19(0x19d)]({'event':_0x40eab6[_0x341f19(0x1ea)],'rows':_0x4697d4[_0x341f19(0x204)]},_0x40eab6['oJTyU']),_0x4697d4;}catch(_0x2f2b5e){logError(_0x2f2b5e,{'event':_0x40eab6[_0x341f19(0x1f4)]},_0x40eab6['SgKfQ']);throw _0x2f2b5e;}}[a0_0x280f79(0x1f5)](_0x39d906){const _0x19d84b=a0_0x280f79;if(typeof _0x39d906===_0x19d84b(0x1d1))return _0x39d906['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x39d906))return _0x39d906['map'](_0x57ff6=>this[_0x19d84b(0x1f5)](_0x57ff6));}return _0x39d906;}[a0_0x280f79(0x1d0)](_0xc7728f){const _0x1e49c4=a0_0x280f79,_0x19e934={'qOkKH':function(_0x57d303,_0x48a55e){return _0x57d303===_0x48a55e;},'DiomX':_0x1e49c4(0x1d1),'jZPqk':'Skipping\x20invalid\x20condition','yEAZi':function(_0x59099c,_0x5679a3){return _0x59099c!==_0x5679a3;},'PqKSH':function(_0x39e92e,_0x23d5a7){return _0x39e92e===_0x23d5a7;},'JhHPB':_0x1e49c4(0x203),'pFTHE':'IS\x20NOT\x20NULL','frLcS':'Unknown\x20operator,\x20using\x20=\x20as\x20default','acQDB':_0x1e49c4(0x23a)};if(!_0xc7728f||!_0xc7728f[_0x1e49c4(0x22c)]||_0x19e934['qOkKH'](_0xc7728f['conditions'][_0x1e49c4(0x204)],0x0))return'';const {logic:_0x42fddd,conditions:_0x2c63b0}=_0xc7728f,_0x47547d=_0x42fddd&&_0x42fddd[_0x1e49c4(0x1b5)]()==='OR'?'\x20OR\x20':_0x19e934['acQDB'],_0x46ad1b=_0x2c63b0['map'](_0x43e927=>{const _0x3648f3=_0x1e49c4,{key:_0x46f4a8,operator:_0x367cd0,value:_0x8ee8c7,sensitive:_0x3574f3}=_0x43e927;if(!_0x46f4a8||!_0x367cd0)return logger[_0x3648f3(0x221)]({'event':'invalid_condition','condition':_0x43e927},_0x19e934[_0x3648f3(0x1a2)]),null;const _0x1024b5=this['sanitizeValue'](_0x8ee8c7),_0x3fef9e=_0x19e934['yEAZi'](_0x3574f3,undefined)?_0x3574f3:!![];let _0x55f240=_0x46f4a8,_0x27a0c2=_0x1024b5;!_0x3fef9e&&(_0x55f240=_0x3648f3(0x220)+_0x46f4a8+')',_0x19e934['PqKSH'](typeof _0x8ee8c7,'string')&&(_0x27a0c2=_0x8ee8c7[_0x3648f3(0x1b5)]()));const _0x51e2ba=typeof _0x27a0c2===_0x19e934[_0x3648f3(0x1f6)]?'\x27'+_0x27a0c2['replace'](/'/g,'\x27\x27')+'\x27':_0x27a0c2;switch(_0x367cd0[_0x3648f3(0x1b5)]()){case'=':case'!=':case'<>':return _0x55f240+'\x20'+_0x367cd0+'\x20'+_0x51e2ba;case'>':case'<':case'>=':case'<=':const _0x3aedda=typeof _0x1024b5===_0x3648f3(0x1d1)?'\x27'+_0x1024b5['replace'](/'/g,'\x27\x27')+'\x27':_0x1024b5;return _0x46f4a8+'\x20'+_0x367cd0+'\x20'+_0x3aedda;case _0x19e934[_0x3648f3(0x1f8)]:case _0x3648f3(0x19f):return _0x55f240+'\x20'+_0x367cd0+'\x20'+_0x51e2ba;case'IN':if(Array['isArray'](_0x1024b5)){let _0x4786e2;return!_0x3fef9e?_0x4786e2=_0x1024b5['map'](_0x4154ce=>{const _0x3af5e9=_0x3648f3,_0x49370f=_0x19e934['qOkKH'](typeof _0x4154ce,_0x19e934[_0x3af5e9(0x1f6)])?_0x4154ce[_0x3af5e9(0x1b5)]():_0x4154ce;return typeof _0x49370f===_0x19e934[_0x3af5e9(0x1f6)]?'\x27'+_0x49370f['replace'](/'/g,'\x27\x27')+'\x27':_0x49370f;})['join'](',\x20'):_0x4786e2=_0x1024b5[_0x3648f3(0x19b)](_0x591204=>typeof _0x591204==='string'?'\x27'+_0x591204[_0x3648f3(0x1e9)](/'/g,'\x27\x27')+'\x27':_0x591204)[_0x3648f3(0x1c3)](',\x20'),_0x55f240+_0x3648f3(0x1b0)+_0x4786e2+')';}return _0x55f240+'\x20IN\x20('+_0x51e2ba+')';case'IS\x20NULL':return _0x46f4a8+'\x20IS\x20NULL';case _0x19e934['pFTHE']:return _0x46f4a8+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':'unknown_operator','operator':_0x367cd0},_0x19e934[_0x3648f3(0x1cd)]);return _0x55f240+'\x20=\x20'+_0x51e2ba;}})[_0x1e49c4(0x1a8)](_0x3568df=>_0x3568df!==null);if(_0x19e934[_0x1e49c4(0x1da)](_0x46ad1b['length'],0x0))return'';return _0x46ad1b[_0x1e49c4(0x1c3)](_0x47547d);}['buildOrderByClause'](_0x750f94){const _0x3b499e=a0_0x280f79,_0x318cb2={'tRDGM':_0x3b499e(0x202),'fTdAj':'ASC','WFXif':function(_0x4dfb70,_0x1cae90){return _0x4dfb70===_0x1cae90;}};if(!_0x750f94||_0x318cb2[_0x3b499e(0x205)](_0x750f94[_0x3b499e(0x204)],0x0))return'';const _0x53a291=_0x750f94['map'](_0xe5b192=>{const _0x4e1ecf=_0x3b499e,{column:_0xe9d9,direction:_0x14466e}=_0xe5b192;if(!_0xe9d9)return logger[_0x4e1ecf(0x221)]({'event':_0x4e1ecf(0x1b4),'item':_0xe5b192},'Skipping\x20invalid\x20sort\x20column'),null;const _0xea99d4=_0x14466e&&_0x14466e[_0x4e1ecf(0x1b5)]()===_0x318cb2[_0x4e1ecf(0x1b1)]?_0x318cb2[_0x4e1ecf(0x1b1)]:_0x318cb2['fTdAj'];return _0xe9d9+'\x20'+_0xea99d4;})['filter'](_0x5b4a41=>_0x5b4a41!==null);if(_0x318cb2[_0x3b499e(0x205)](_0x53a291['length'],0x0))return'';return _0x53a291['join'](',\x20');}async['generateExcel'](_0x427f6e,_0x356532,_0x36b421){const _0x22a324=a0_0x280f79,_0x32a630={'qpPkT':function(_0x271f6c,_0x357bfe){return _0x271f6c(_0x357bfe);},'wsHMX':_0x22a324(0x215),'GBUsB':function(_0x3fd9bd,_0x49b3a3){return _0x3fd9bd===_0x49b3a3;},'xnWRu':'excel_columns_select_all','JcPBk':function(_0x2dcebc,_0x2db554){return _0x2dcebc>_0x2db554;},'vpWBA':_0x22a324(0x1cb),'jggAn':_0x22a324(0x22b)},_0x5016fa=_0x32a630['qpPkT'](require,_0x32a630[_0x22a324(0x1ed)]),_0x41adaf=new _0x5016fa(),_0x3489d1=_0x36b421[_0x22a324(0x1fe)]?_0x36b421['filename']+'-'+_0x427f6e:_0x22a324(0x19a)+_0x427f6e,_0x57de8c=path['join'](this['exportDir'],_0x3489d1+'.xlsx');let _0x312af3=_0x36b421[_0x22a324(0x228)];const _0x46f30f=_0x36b421['exportQuery']&&_0x36b421['exportQuery']['trim'](),_0x3ec38c=_0x312af3&&_0x312af3['length']===0x1&&(_0x312af3[0x0]==='*'||_0x32a630[_0x22a324(0x22e)](_0x312af3[0x0][_0x22a324(0x223)](),_0x22a324(0x1ee)));if(_0x356532['length']>0x0){const _0x33b6bb=Object[_0x22a324(0x194)](_0x356532[0x0]);if(_0x46f30f)_0x312af3=_0x33b6bb,logger[_0x22a324(0x19d)]({'event':_0x22a324(0x1e6),'columns':_0x312af3},_0x22a324(0x198)+_0x312af3[_0x22a324(0x204)]+_0x22a324(0x21b));else{if(_0x3ec38c)_0x312af3=_0x33b6bb,logger[_0x22a324(0x19d)]({'event':_0x32a630['xnWRu'],'columns':_0x312af3},_0x22a324(0x20e)+_0x312af3[_0x22a324(0x204)]+_0x22a324(0x1cc));else{if(_0x312af3&&_0x312af3['length']>0x0){const _0x322bae=_0x312af3['filter'](_0x5d9ae2=>_0x33b6bb['includes'](_0x5d9ae2));_0x32a630[_0x22a324(0x1fb)](_0x322bae['length'],0x0)?(_0x312af3=_0x322bae,logger[_0x22a324(0x19d)]({'event':_0x32a630[_0x22a324(0x21f)],'requestedColumns':_0x36b421[_0x22a324(0x228)],'validColumns':_0x312af3},_0x22a324(0x198)+_0x312af3[_0x22a324(0x204)]+_0x22a324(0x193))):(_0x312af3=_0x33b6bb,logger['warn']({'event':'excel_columns_fallback','requestedColumns':_0x36b421['columns'],'availableColumns':_0x33b6bb},_0x22a324(0x1c1)+_0x33b6bb[_0x22a324(0x204)]+_0x22a324(0x21c)));}else _0x312af3=_0x33b6bb,logger[_0x22a324(0x19d)]({'event':_0x32a630[_0x22a324(0x1bb)],'columns':_0x312af3},'Using\x20'+_0x312af3[_0x22a324(0x204)]+_0x22a324(0x1b3));}}}else logger[_0x22a324(0x19d)]({'event':'excel_columns_from_config','columns':_0x312af3},'Using\x20'+(_0x312af3?.[_0x22a324(0x204)]||0x0)+_0x22a324(0x1e0));return await _0x41adaf['generate']({'data':_0x356532,'columns':_0x312af3,'columnFormats':_0x36b421['columnFormats']||null,'fieldLabels':_0x36b421[_0x22a324(0x20d)]||null,'filePath':_0x57de8c,'onProgress':async _0x5788d0=>{const _0x55658c=_0x22a324;await redisHelper[_0x55658c(0x1f1)](_0x427f6e,{'progress':Math['round'](_0x5788d0),'processed_rows':Math[_0x55658c(0x1c7)](_0x5788d0/0x64*_0x356532[_0x55658c(0x204)])});}}),_0x57de8c;}async[a0_0x280f79(0x1c5)](_0x259911){const _0x1d16da=a0_0x280f79,_0x44f413={'VLVvg':_0x1d16da(0x1c2)},_0x98bcea=await redisHelper[_0x1d16da(0x222)](_0x259911);if(!_0x98bcea||_0x98bcea[_0x1d16da(0x236)]!=='completed')return null;try{return await fs[_0x1d16da(0x237)](_0x98bcea['file_path']),_0x98bcea['file_path'];}catch(_0x5f2205){return logError(_0x5f2205,{'event':_0x1d16da(0x1b7),'jobId':_0x259911,'path':_0x98bcea[_0x1d16da(0x1ce)]},_0x44f413[_0x1d16da(0x1d4)]),null;}}async[a0_0x280f79(0x1f9)](){const _0x45f645=a0_0x280f79,_0x1ac076={'nMllW':'export_cleanup_start','JAWQk':function(_0x1f4513,_0x454367){return _0x1f4513*_0x454367;},'ELjgV':function(_0x121662,_0x76db2c){return _0x121662>_0x76db2c;},'WgPFw':_0x45f645(0x229),'NyANT':_0x45f645(0x227)};logger['info']({'event':_0x1ac076['nMllW']},_0x45f645(0x1d2));const _0x185e62=await redisHelper[_0x45f645(0x1ab)]();let _0x30a444=0x0;for(const _0x48dbaa of _0x185e62){const _0x3a5dc2=new Date(_0x48dbaa[_0x45f645(0x1de)]),_0x5298af=new Date(),_0x3e2675=(_0x5298af-_0x3a5dc2)/_0x1ac076['JAWQk'](0x3e8*0x3c,0x3c);if(_0x1ac076['ELjgV'](_0x3e2675,0x1)){if(_0x48dbaa[_0x45f645(0x1ce)])try{await fs[_0x45f645(0x1aa)](_0x48dbaa['file_path']),logger[_0x45f645(0x19d)]({'event':_0x1ac076[_0x45f645(0x1be)],'path':_0x48dbaa['file_path']},'Export\x20file\x20deleted');}catch(_0x3b67ae){logger['warn']({'event':_0x45f645(0x1b2),'path':_0x48dbaa[_0x45f645(0x1ce)],'error':_0x3b67ae['message']},_0x45f645(0x1ad));}await redisHelper['deleteJob'](_0x48dbaa[_0x45f645(0x212)]),_0x30a444++;}}return logger['info']({'event':'export_cleanup_complete','deleted':_0x30a444},_0x1ac076['NyANT']),_0x30a444;}}module[a0_0x280f79(0x211)]=new ExportService();function a0_0xb45f(){const _0x285956=['zxHPC3rZu3LUyW','zxHWB3j0x2zPBgvFBM90x2zVDw5K','q0TMBhK','uNv3Bum','cK9srevsiejzia','AMDNqw4','BM9nvuy','zxDdqK8','v2DqrNC','cLDirvjfia','l2fWAs8','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','rxHWB3j0igzPBguGBM90igzVDw5K','AM9PBG','x2rHDge','z2v0rMLSzvbHDgG','rxbtD3y','CM91BMq','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','mZqYndvJqxbcseK','zMLSztO','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','zNjmy1m','zMLSzv9WyxrO','mtrTy3jOwuC','yNvPBgrxAgvYzunSyxvZzq','C3rYAw5N','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','mtm2mNfXr01QBG','vKXwDMC','CeXozM8','y1rfs2u','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','zMv0y2HeyxrH','lI4VDxrPBhmVzgiTBxLZCwW','Cu9Rs0G','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','DhjPBq','zw50CMLLCW','y3jLyxrLzf9HDa','iefticGkicaGifnftevdvca','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','y2HHCKf0','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','ovLIDhrjrG','C2v0sM9I','mtq4ode5mtbrBLbPBgu','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','zw52','zMXVB3i','CMvWBgfJzq','v0z6qLC','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','D3nitvG','ywXS','lI4VDxrPBhmVzgiTB3jHy2XL','v0Lusca','DxbKyxrLsM9I','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','rMfPBgvKihrVigzLDgnOigrHDge','A0XrCKm','C2fUAxrPEMvwywX1zq','rgLVBvG','Dg9tDhjPBMC','sMHiuei','y2XLyw51Ca','zgvMyxvSDa','sMnqqMS','Cg9ZDgDYzxnXBa','y3DK','zMLSzw5HBwu','y29Kzq','zxHWB3j0x2nVBxbSzxrLza','rvHqt1jux0rjuG','revtqW','teLlrq','BgvUz3rO','v0zyAwy','CgvUzgLUzW','t05Lr1e','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','nJi3nJiYnLfmueTAsq','mtyYmdeXnML3CxbwyG','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','zw5KCg9PBNroyw1L','zMLLBgrmywjLBhm','vxnPBMCGywXSia','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','rejFvfLqrq','zxHWB3j0CW','AM9Ix2LK','DxrMoa','r3rNu1C','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','Cgf5Bg9Hza','C3vIC3rYAw5N','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','DxvPza','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','ignVBhvTBNm','mJqYnZuXnKzzD0fJvq','lI4VDxrPBhmVBg9Nz2vY','DNbxqKe','vvbqrviO','D2fYBG','z2v0sM9I','Dg9mB3DLCKnHC2u','y1PjBwK','qKzJwwS','ntq3ndKZCLD3zgLJ','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','y29SDw1UCW','zxHWB3j0x2zPBgvFzgvSzxrLza','zgfIqNC','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','y29UzgL0Aw9UCW','z2vUzxjHDgvkB2jjza','r0jvC0i','nLrcuKf3yG','zxjYB3i','zxHWB3j0x3bYB2nLC3nFzxjYB3i','y29TCgXLDgvKx2f0','x2v4Cg9YDerPCG','CK9lAeW','nJi1mJK4ngHZEhjdAG','C3rHDhvZ','ywnJzxnZ','rMrADxa','cIaGicbguK9nia','ieforca','ignVBhvTBNmGzNjVBsbYzxf1zxn0','A2v5CW','v0TNr1G','Dg9ju09tDhjPBMC','AvLfteK','vxnPBMCG','BM93','zxHWB3j0lq','BwfW','y29TCgXLDgvK','Aw5MBW','CgfYyw1Z','tK9uieXjs0u','zxHWB3j0x2zLDgnOx2vYCM9Y','D3rotLe','ALPqCwS','CMvZB2X2zuv4Cg9YDff1zxj5','BwvZC2fNzq','ChjVBwLZzxm','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','v1jOzLy','zMLSDgvY','zxHLy3v0zvf1zxj5','Dw5SAw5R','z2v0qwXSsM9ICW','ChjVy2vZC2LUzW','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','rxHWB3j0igzHAwXLza','cLnftevdvcaQiezst00G','ieLoicG','Dfjer00','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','Aw52ywXPzf9ZB3j0x2nVBhvTBG','Dg9vChbLCKnHC2u'];a0_0xb45f=function(){return _0x285956;};return a0_0xb45f();}
1
+ const a0_0x2e0e9d=a0_0x204b;(function(_0x33808f,_0x5e50ce){const _0x1292a7=a0_0x204b,_0x147eb3=_0x33808f();while(!![]){try{const _0x5f29a5=parseInt(_0x1292a7(0x197))/0x1*(parseInt(_0x1292a7(0x1f0))/0x2)+parseInt(_0x1292a7(0x1e5))/0x3*(parseInt(_0x1292a7(0x20d))/0x4)+parseInt(_0x1292a7(0x207))/0x5+parseInt(_0x1292a7(0x1df))/0x6*(-parseInt(_0x1292a7(0x227))/0x7)+parseInt(_0x1292a7(0x1c9))/0x8*(-parseInt(_0x1292a7(0x214))/0x9)+parseInt(_0x1292a7(0x20c))/0xa*(-parseInt(_0x1292a7(0x1f4))/0xb)+parseInt(_0x1292a7(0x1c6))/0xc*(parseInt(_0x1292a7(0x213))/0xd);if(_0x5f29a5===_0x5e50ce)break;else _0x147eb3['push'](_0x147eb3['shift']());}catch(_0x29f2b3){_0x147eb3['push'](_0x147eb3['shift']());}}}(a0_0x2c17,0x2edc0));function a0_0x204b(_0x466522,_0x1cd75d){_0x466522=_0x466522-0x197;const _0x2c17fd=a0_0x2c17();let _0x204bc8=_0x2c17fd[_0x466522];if(a0_0x204b['fmMlJe']===undefined){var _0x3ff480=function(_0x50a173){const _0x18ad35='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53e41d='',_0x5c7f23='';for(let _0x2f9448=0x0,_0x496500,_0xdee31e,_0xeade0d=0x0;_0xdee31e=_0x50a173['charAt'](_0xeade0d++);~_0xdee31e&&(_0x496500=_0x2f9448%0x4?_0x496500*0x40+_0xdee31e:_0xdee31e,_0x2f9448++%0x4)?_0x53e41d+=String['fromCharCode'](0xff&_0x496500>>(-0x2*_0x2f9448&0x6)):0x0){_0xdee31e=_0x18ad35['indexOf'](_0xdee31e);}for(let _0x537c50=0x0,_0x42fad8=_0x53e41d['length'];_0x537c50<_0x42fad8;_0x537c50++){_0x5c7f23+='%'+('00'+_0x53e41d['charCodeAt'](_0x537c50)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c7f23);};a0_0x204b['gHPKBJ']=_0x3ff480,a0_0x204b['TvDTXP']={},a0_0x204b['fmMlJe']=!![];}const _0x4ccafe=_0x2c17fd[0x0],_0x14f1d0=_0x466522+_0x4ccafe,_0x12d37f=a0_0x204b['TvDTXP'][_0x14f1d0];return!_0x12d37f?(_0x204bc8=a0_0x204b['gHPKBJ'](_0x204bc8),a0_0x204b['TvDTXP'][_0x14f1d0]=_0x204bc8):_0x204bc8=_0x12d37f,_0x204bc8;}const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x2e0e9d(0x1ae)],fsSync=require('fs'),redisHelper=require(a0_0x2e0e9d(0x20f)),{logger,logError}=require('../utils/logger'),dbType=(process['env']['DB_TYPE']||a0_0x2e0e9d(0x1f8))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x2e0e9d(0x208));executeQuery=(_0x50a07c,_0xed14be)=>oracleDb['executeQuery'](_0x50a07c,_0xed14be);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x34e750,_0x278197)=>mysqlDb[a0_0x2e0e9d(0x21e)](_0x34e750,_0x278197);}else executeQuery=require(a0_0x2e0e9d(0x19a))[a0_0x2e0e9d(0x21e)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x2e0e9d(0x1d2)](){const _0x1aa60e=a0_0x2e0e9d,_0x286d7b={'plIfk':_0x1aa60e(0x22e),'gncku':_0x1aa60e(0x1c0),'WIbsE':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0x97b77e=process[_0x1aa60e(0x1b4)]['RESTFORGE_PROJECT_NAME']||_0x286d7b['plIfk'];this['_exportDir']=process['env'][_0x1aa60e(0x222)]||path['join'](__dirname,'../../exports/'+_0x97b77e);try{!fsSync[_0x1aa60e(0x1d5)](this[_0x1aa60e(0x202)])&&fsSync['mkdirSync'](this[_0x1aa60e(0x202)],{'recursive':!![]}),logger[_0x1aa60e(0x205)]({'event':_0x286d7b[_0x1aa60e(0x1a5)],'dir':this[_0x1aa60e(0x202)]},'Export\x20service\x20initialized');}catch(_0x51b3c0){logError(_0x51b3c0,{'event':_0x1aa60e(0x1d0)},_0x286d7b['WIbsE']);}}return this[_0x1aa60e(0x202)];}['resolveExportQuery'](_0x53ccad,_0xa1f743=null){const _0x256a6c=a0_0x2e0e9d,_0x5077ba={'ytBKv':_0x256a6c(0x1af),'wsECN':'file:','OzfEM':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','xEwIu':'payload','nViZU':'export_query_file_loaded'};if(!_0x53ccad||typeof _0x53ccad!==_0x5077ba['ytBKv'])return _0x53ccad;const _0xcc17ae=_0x53ccad['trim']();if(!_0xcc17ae[_0x256a6c(0x220)](_0x5077ba['wsECN']))return _0xcc17ae;const _0x55e5fd=_0xcc17ae['replace'](/^file:/,'')['trim']();if(!_0x55e5fd)throw new Error(_0x5077ba['OzfEM']);const _0x233895=_0xa1f743||path[_0x256a6c(0x1ac)](process[_0x256a6c(0x1ab)](),_0x5077ba['xEwIu']),_0x42be0f=path['resolve'](_0x233895,_0x55e5fd);logger[_0x256a6c(0x205)]({'event':_0x256a6c(0x1fc),'relativePath':_0x55e5fd,'baseDir':_0x233895,'absolutePath':_0x42be0f},_0x256a6c(0x1bc)+_0x55e5fd);if(!fsSync['existsSync'](_0x42be0f))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x42be0f);try{const _0x181930=fsSync[_0x256a6c(0x1b0)](_0x42be0f,_0x256a6c(0x1b2));if(!_0x181930||!_0x181930['trim']())throw new Error(_0x256a6c(0x1cc)+_0x42be0f);return logger[_0x256a6c(0x205)]({'event':_0x5077ba[_0x256a6c(0x225)],'file':_0x42be0f,'queryLength':_0x181930[_0x256a6c(0x204)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x181930[_0x256a6c(0x204)]+'\x20chars)'),_0x181930[_0x256a6c(0x1fa)]();}catch(_0x288456){if(_0x288456['code']===_0x256a6c(0x21a))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x42be0f);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x288456[_0x256a6c(0x1e8)]);}}['generateJobId'](){const _0xd4b03a=a0_0x2e0e9d,_0x3427b2={'Ahjyw':function(_0x43e239){return _0x43e239();},'KlSsM':function(_0x4f86d4,_0xc545e1){return _0x4f86d4-_0xc545e1;}},_0x5a65c2='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x5f4f13=Date[_0xd4b03a(0x1f3)]()['toString'](0x24),_0x59d037=_0x3427b2[_0xd4b03a(0x1bd)](uuidv7)[_0xd4b03a(0x1e9)](/-/g,'')[_0xd4b03a(0x1a8)](0x0,_0x3427b2['KlSsM'](0xc,_0x5f4f13['length'])),_0x437246=(_0x5f4f13+_0x59d037)[_0xd4b03a(0x1a8)](0x0,0xc);let _0xa9fdb0='';for(let _0x1f3051=0x0;_0x1f3051<0xc;_0x1f3051++){_0x437246[_0x1f3051]?_0xa9fdb0+=_0x437246[_0x1f3051]:_0xa9fdb0+=_0x5a65c2[_0xd4b03a(0x1b8)](Math[_0xd4b03a(0x20b)](Math[_0xd4b03a(0x199)]()*_0x5a65c2['length']));}return _0xa9fdb0;}async[a0_0x2e0e9d(0x1c2)](_0x3da866){const _0x379560=a0_0x2e0e9d,_0x11315b={'oTliD':function(_0x2eb9f1,_0x3c2ffa,_0x49676d,_0x12d622){return _0x2eb9f1(_0x3c2ffa,_0x49676d,_0x12d622);},'couQW':'pending','NIuKO':'export_job_created'},_0x3bfc39=this[_0x379560(0x1eb)](),_0x24251b={'job_id':_0x3bfc39,'status':_0x11315b['couQW'],'progress':0x0,'created_at':new Date()[_0x379560(0x1b5)](),'params':_0x3da866,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x3bfc39,_0x24251b),logger['info']({'event':_0x11315b[_0x379560(0x1fe)],'jobId':_0x3bfc39,'params':_0x3da866},_0x379560(0x216)),this[_0x379560(0x20e)](_0x3bfc39,_0x3da866)[_0x379560(0x1cf)](_0x466763=>{const _0x118103=_0x379560;_0x11315b['oTliD'](logError,_0x466763,{'event':'export_process_error','jobId':_0x3bfc39},_0x118103(0x1ce));}),{'job_id':_0x3bfc39,'status':_0x11315b[_0x379560(0x1ec)]};}async['getJobStatus'](_0x350b96){const _0x38b92b=a0_0x2e0e9d,_0x58719c={'LwRON':'Job\x20not\x20found\x20or\x20expired','RSdCA':function(_0x2e0dda,_0x51d0ac){return _0x2e0dda===_0x51d0ac;}},_0x464bc9=await redisHelper[_0x38b92b(0x21c)](_0x350b96);if(!_0x464bc9)return{'success':![],'error':_0x58719c['LwRON']};return{'success':!![],'data':{'job_id':_0x464bc9[_0x38b92b(0x1ca)],'status':_0x464bc9['status'],'progress':_0x464bc9[_0x38b92b(0x22f)],'total_rows':_0x464bc9['total_rows'],'processed_rows':_0x464bc9['processed_rows'],'file_url':_0x58719c['RSdCA'](_0x464bc9['status'],_0x38b92b(0x22d))?'/api/'+_0x464bc9['params']['moduleName']+'/'+_0x464bc9[_0x38b92b(0x1be)]['endpointName']+_0x38b92b(0x219)+_0x350b96:null,'error':_0x464bc9['error']||null,'created_at':_0x464bc9['created_at'],'completed_at':_0x464bc9['completed_at']||null}};}async[a0_0x2e0e9d(0x20e)](_0x2c85e7,_0x8ce99d){const _0x2df8b5=a0_0x2e0e9d,_0x1f978b={'TqCug':_0x2df8b5(0x201),'SQILH':'export_processing_start','LHInG':'Export\x20processing\x20started','gdeXc':_0x2df8b5(0x22d),'KZxgz':_0x2df8b5(0x1c7),'HqDgE':'export_failed','Efhrj':_0x2df8b5(0x21f)};try{await redisHelper[_0x2df8b5(0x228)](_0x2c85e7,{'status':_0x1f978b[_0x2df8b5(0x1e7)],'started_at':new Date()['toISOString']()}),logger['info']({'event':_0x1f978b[_0x2df8b5(0x1f6)],'jobId':_0x2c85e7},_0x1f978b['LHInG']);const _0x5b6d3c=await this[_0x2df8b5(0x209)](_0x8ce99d);await redisHelper[_0x2df8b5(0x228)](_0x2c85e7,{'total_rows':_0x5b6d3c['length']});const _0xb07c7b=await this[_0x2df8b5(0x224)](_0x2c85e7,_0x5b6d3c,_0x8ce99d);await redisHelper[_0x2df8b5(0x228)](_0x2c85e7,{'status':_0x1f978b['gdeXc'],'progress':0x64,'file_path':_0xb07c7b,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x1f978b['KZxgz'],'jobId':_0x2c85e7,'rows':_0x5b6d3c['length']},_0x2df8b5(0x19f));}catch(_0x32f69b){logError(_0x32f69b,{'event':_0x1f978b['HqDgE'],'jobId':_0x2c85e7},'Export\x20failed'),await redisHelper[_0x2df8b5(0x228)](_0x2c85e7,{'status':_0x1f978b['Efhrj'],'error':_0x32f69b['message'],'failed_at':new Date()[_0x2df8b5(0x1b5)]()});}}async[a0_0x2e0e9d(0x209)](_0x2b068c){const _0xfb3b55=a0_0x2e0e9d,_0xb897cc={'BVHfw':function(_0x3116c3,_0x47d600){return _0x3116c3===_0x47d600;},'FMBgB':_0xfb3b55(0x1b3),'CsSvc':'export_using_auto_query','XCoyX':'Using\x20auto-generated\x20query','yiSut':'export_fetch_start','IsugL':_0xfb3b55(0x1a4),'tkTgM':function(_0x1a00f8,_0x141d15){return _0x1a00f8(_0x141d15);},'ZIVyK':_0xfb3b55(0x1a7),'QEKLX':_0xfb3b55(0x218),'UMdDA':_0xfb3b55(0x1ba),'yQeqn':function(_0x5b9db2,_0x1ad5f6,_0x31f8fb,_0x38c687){return _0x5b9db2(_0x1ad5f6,_0x31f8fb,_0x38c687);},'FmzVa':'export_fetch_error'};try{const {tableName:_0x5a4949,columns:_0x392c17,exportQuery:_0x112607,where:_0x107ba7,sort_columns:_0x55ec60}=_0x2b068c;if(!_0x5a4949||!_0x392c17||_0xb897cc['BVHfw'](_0x392c17[_0xfb3b55(0x204)],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0x338061=_0x5a4949['replace'](/\./g,'_')+_0xb897cc[_0xfb3b55(0x1fd)];let _0x1f78d1;if(_0x112607&&_0x112607[_0xfb3b55(0x1fa)]()){let _0x1af503=_0x112607;_0x112607['trim']()['startsWith'](_0xfb3b55(0x1a0))&&(_0x1af503=this[_0xfb3b55(0x1a3)](_0x112607)),_0x1f78d1='WITH\x20'+_0x338061+_0xfb3b55(0x1f7)+_0x1af503+'\x0a)',_0x1f78d1+=_0xfb3b55(0x1ea)+_0x338061,logger[_0xfb3b55(0x205)]({'event':_0xfb3b55(0x230),'query':_0x1af503['substring'](0x0,0x64)},'Using\x20custom\x20exportQuery');}else{const _0x19bf44=_0x392c17[_0xfb3b55(0x1f5)](_0x952a85=>_0xfb3b55(0x1a6)+_0x952a85)['join'](',');_0x1f78d1=_0xfb3b55(0x210)+_0x338061+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x19bf44+_0xfb3b55(0x198)+_0x5a4949+'\x0a)',_0x1f78d1+=_0xfb3b55(0x1ea)+_0x338061,logger[_0xfb3b55(0x205)]({'event':_0xb897cc[_0xfb3b55(0x1dc)],'tableName':_0x5a4949,'columnCount':_0x392c17['length']},_0xb897cc[_0xfb3b55(0x1d3)]);}if(_0x107ba7){const _0x48aa51=this[_0xfb3b55(0x1ee)](_0x107ba7);_0x48aa51&&(_0x1f78d1+=_0xfb3b55(0x1b9)+_0x48aa51);}if(_0x55ec60&&_0x55ec60[_0xfb3b55(0x204)]>0x0){const _0x4a5494=this[_0xfb3b55(0x1d9)](_0x55ec60);_0x4a5494&&(_0x1f78d1+=_0xfb3b55(0x1e1)+_0x4a5494);}logger['info']({'event':_0xb897cc['yiSut'],'query':_0x1f78d1['substring'](0x0,0xc8)},_0xb897cc[_0xfb3b55(0x19c)]);const _0x1270d1=await _0xb897cc[_0xfb3b55(0x1d4)](executeQuery,_0x1f78d1);let _0x47efa8=_0x1270d1;return dbType===_0xb897cc[_0xfb3b55(0x1c3)]&&_0x1270d1&&_0x1270d1['length']>0x0&&(_0x47efa8=_0x1270d1['map'](_0x1724c8=>{const _0x54e38a=_0xfb3b55,_0x1e116f={};for(const [_0x3fbcee,_0x5aec5e]of Object[_0x54e38a(0x1d1)](_0x1724c8)){_0x1e116f[_0x3fbcee['toLowerCase']()]=_0x5aec5e;}return _0x1e116f;})),logger[_0xfb3b55(0x205)]({'event':_0xb897cc[_0xfb3b55(0x1cd)],'rows':_0x47efa8[_0xfb3b55(0x204)]},_0xb897cc['UMdDA']),_0x47efa8;}catch(_0x5ec6fd){_0xb897cc['yQeqn'](logError,_0x5ec6fd,{'event':_0xb897cc[_0xfb3b55(0x1e0)]},_0xfb3b55(0x1d6));throw _0x5ec6fd;}}['sanitizeValue'](_0x1f73d3){const _0x313fa5=a0_0x2e0e9d,_0x4c6db3={'xlfoK':function(_0x242524,_0x2ba422){return _0x242524===_0x2ba422;},'oIYQy':_0x313fa5(0x1af)};if(_0x4c6db3['xlfoK'](typeof _0x1f73d3,_0x4c6db3['oIYQy']))return _0x1f73d3['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x1f73d3))return _0x1f73d3[_0x313fa5(0x1f5)](_0x5eaa7e=>this[_0x313fa5(0x221)](_0x5eaa7e));}return _0x1f73d3;}[a0_0x2e0e9d(0x1ee)](_0x1c89e0){const _0x2e5291=a0_0x2e0e9d,_0x2c49ad={'EFUpF':'string','nDdjU':function(_0x5ed91d,_0x4fe97a){return _0x5ed91d===_0x4fe97a;},'qiVEN':function(_0x2197d4,_0x42abb3){return _0x2197d4||_0x42abb3;},'zosQj':'Skipping\x20invalid\x20condition','utsxz':function(_0x4eb11c,_0x5ef966){return _0x4eb11c!==_0x5ef966;},'JfOAI':function(_0x4da7bf,_0x2cd05d){return _0x4da7bf===_0x2cd05d;},'GfbaG':_0x2e5291(0x229),'gKtWv':'IS\x20NULL','txFUg':_0x2e5291(0x1a1),'lwkSg':_0x2e5291(0x1c8),'eRCmN':_0x2e5291(0x1a9)};if(!_0x1c89e0||!_0x1c89e0['conditions']||_0x2c49ad['JfOAI'](_0x1c89e0['conditions'][_0x2e5291(0x204)],0x0))return'';const {logic:_0x20253c,conditions:_0x2fd81f}=_0x1c89e0,_0x1ac741=_0x20253c&&_0x20253c[_0x2e5291(0x1fb)]()==='OR'?_0x2e5291(0x1d8):_0x2c49ad['eRCmN'],_0x1f537e=_0x2fd81f[_0x2e5291(0x1f5)](_0x189764=>{const _0x586b56=_0x2e5291,{key:_0x31f943,operator:_0x321ba3,value:_0x1e7cb1,sensitive:_0x4198ca}=_0x189764;if(_0x2c49ad['qiVEN'](!_0x31f943,!_0x321ba3))return logger[_0x586b56(0x1b6)]({'event':_0x586b56(0x1d7),'condition':_0x189764},_0x2c49ad['zosQj']),null;const _0xa6cf11=this[_0x586b56(0x221)](_0x1e7cb1),_0xf7aab=_0x2c49ad['utsxz'](_0x4198ca,undefined)?_0x4198ca:!![];let _0x1688f0=_0x31f943,_0x2c2249=_0xa6cf11;!_0xf7aab&&(_0x1688f0='UPPER('+_0x31f943+')',_0x2c49ad[_0x586b56(0x1a2)](typeof _0x1e7cb1,_0x2c49ad['EFUpF'])&&(_0x2c2249=_0x1e7cb1[_0x586b56(0x1fb)]()));const _0x2cd915=typeof _0x2c2249===_0x586b56(0x1af)?'\x27'+_0x2c2249['replace'](/'/g,'\x27\x27')+'\x27':_0x2c2249;switch(_0x321ba3[_0x586b56(0x1fb)]()){case'=':case'!=':case'<>':return _0x1688f0+'\x20'+_0x321ba3+'\x20'+_0x2cd915;case'>':case'<':case'>=':case'<=':const _0x4bb88b=typeof _0xa6cf11==='string'?'\x27'+_0xa6cf11['replace'](/'/g,'\x27\x27')+'\x27':_0xa6cf11;return _0x31f943+'\x20'+_0x321ba3+'\x20'+_0x4bb88b;case _0x2c49ad[_0x586b56(0x1e2)]:case _0x586b56(0x20a):return _0x1688f0+'\x20'+_0x321ba3+'\x20'+_0x2cd915;case'IN':if(Array[_0x586b56(0x1dd)](_0xa6cf11)){let _0x59807d;return!_0xf7aab?_0x59807d=_0xa6cf11['map'](_0x58b3c2=>{const _0x38a08e=_0x586b56,_0x57ccfd=typeof _0x58b3c2===_0x2c49ad[_0x38a08e(0x1db)]?_0x58b3c2[_0x38a08e(0x1fb)]():_0x58b3c2;return _0x2c49ad[_0x38a08e(0x1e4)](typeof _0x57ccfd,_0x2c49ad['EFUpF'])?'\x27'+_0x57ccfd[_0x38a08e(0x1e9)](/'/g,'\x27\x27')+'\x27':_0x57ccfd;})[_0x586b56(0x1ac)](',\x20'):_0x59807d=_0xa6cf11[_0x586b56(0x1f5)](_0x5a7954=>typeof _0x5a7954==='string'?'\x27'+_0x5a7954['replace'](/'/g,'\x27\x27')+'\x27':_0x5a7954)[_0x586b56(0x1ac)](',\x20'),_0x1688f0+'\x20IN\x20('+_0x59807d+')';}return _0x1688f0+_0x586b56(0x200)+_0x2cd915+')';case _0x2c49ad[_0x586b56(0x1b1)]:return _0x31f943+'\x20IS\x20NULL';case _0x2c49ad[_0x586b56(0x1bf)]:return _0x31f943+_0x586b56(0x1e3);default:logger[_0x586b56(0x1b6)]({'event':_0x2c49ad['lwkSg'],'operator':_0x321ba3},_0x586b56(0x1ef));return _0x1688f0+_0x586b56(0x223)+_0x2cd915;}})['filter'](_0x49f3e8=>_0x49f3e8!==null);if(_0x2c49ad[_0x2e5291(0x1e4)](_0x1f537e['length'],0x0))return'';return _0x1f537e['join'](_0x1ac741);}[a0_0x2e0e9d(0x1d9)](_0xca8748){const _0x48ab6a=a0_0x2e0e9d,_0x1c8012={'zqjvV':_0x48ab6a(0x1ed),'nqYlC':'Skipping\x20invalid\x20sort\x20column','FKrxV':_0x48ab6a(0x1ad),'OMIpb':function(_0x3fbccd,_0x367dc5){return _0x3fbccd===_0x367dc5;}};if(!_0xca8748||_0x1c8012[_0x48ab6a(0x22a)](_0xca8748['length'],0x0))return'';const _0xba9695=_0xca8748['map'](_0x1df52f=>{const _0x13e4fa=_0x48ab6a,{column:_0x2fd7b4,direction:_0x26a3ce}=_0x1df52f;if(!_0x2fd7b4)return logger['warn']({'event':_0x1c8012[_0x13e4fa(0x1de)],'item':_0x1df52f},_0x1c8012['nqYlC']),null;const _0x8f0137=_0x26a3ce&&_0x26a3ce['toUpperCase']()===_0x1c8012[_0x13e4fa(0x1bb)]?_0x1c8012['FKrxV']:'ASC';return _0x2fd7b4+'\x20'+_0x8f0137;})[_0x48ab6a(0x203)](_0x437b38=>_0x437b38!==null);if(_0xba9695['length']===0x0)return'';return _0xba9695[_0x48ab6a(0x1ac)](',\x20');}async[a0_0x2e0e9d(0x224)](_0x1363f4,_0x2c695e,_0x68bb1e){const _0x3429d0=a0_0x2e0e9d,_0x3c6b={'NAmSm':function(_0x102e50,_0x499493){return _0x102e50(_0x499493);},'pmsiA':'../utils/excel-generator','uyQeY':function(_0x5478a6,_0x574fd1){return _0x5478a6===_0x574fd1;},'ZZHTs':'excel_columns_select_all','VMSVo':function(_0x1519d2,_0x3fda3a){return _0x1519d2>_0x3fda3a;},'QfqnK':_0x3429d0(0x226)},_0x2d107f=_0x3c6b[_0x3429d0(0x1ff)](require,_0x3c6b['pmsiA']),_0x13622f=new _0x2d107f(),_0x13b474=_0x68bb1e['filename']?_0x68bb1e['filename']+'-'+_0x1363f4:_0x3429d0(0x1c4)+_0x1363f4,_0x358788=path['join'](this[_0x3429d0(0x1d2)],_0x13b474+_0x3429d0(0x19d));let _0x36a36d=_0x68bb1e[_0x3429d0(0x217)];const _0x3a92ed=_0x68bb1e['exportQuery']&&_0x68bb1e['exportQuery'][_0x3429d0(0x1fa)](),_0x5cff3a=_0x36a36d&&_0x3c6b['uyQeY'](_0x36a36d['length'],0x1)&&(_0x36a36d[0x0]==='*'||_0x36a36d[0x0]['toLowerCase']()==='all');if(_0x2c695e['length']>0x0){const _0x2c07e4=Object['keys'](_0x2c695e[0x0]);if(_0x3a92ed)_0x36a36d=_0x2c07e4,logger[_0x3429d0(0x205)]({'event':'excel_columns_from_custom_query','columns':_0x36a36d},'Using\x20'+_0x36a36d['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x5cff3a)_0x36a36d=_0x2c07e4,logger[_0x3429d0(0x205)]({'event':_0x3c6b['ZZHTs'],'columns':_0x36a36d},_0x3429d0(0x211)+_0x36a36d['length']+_0x3429d0(0x1e6));else{if(_0x36a36d&&_0x36a36d[_0x3429d0(0x204)]>0x0){const _0x47901b=_0x36a36d['filter'](_0x375dae=>_0x2c07e4['includes'](_0x375dae));_0x3c6b['VMSVo'](_0x47901b['length'],0x0)?(_0x36a36d=_0x47901b,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0x68bb1e['columns'],'validColumns':_0x36a36d},'Using\x20'+_0x36a36d[_0x3429d0(0x204)]+'\x20columns\x20from\x20request')):(_0x36a36d=_0x2c07e4,logger['warn']({'event':_0x3c6b['QfqnK'],'requestedColumns':_0x68bb1e['columns'],'availableColumns':_0x2c07e4},_0x3429d0(0x1c1)+_0x2c07e4['length']+'\x20columns'));}else _0x36a36d=_0x2c07e4,logger[_0x3429d0(0x205)]({'event':_0x3429d0(0x22b),'columns':_0x36a36d},'Using\x20'+_0x36a36d[_0x3429d0(0x204)]+_0x3429d0(0x212));}}}else logger['info']({'event':'excel_columns_from_config','columns':_0x36a36d},_0x3429d0(0x1cb)+(_0x36a36d?.[_0x3429d0(0x204)]||0x0)+_0x3429d0(0x21d));return await _0x13622f['generate']({'data':_0x2c695e,'columns':_0x36a36d,'columnFormats':_0x68bb1e[_0x3429d0(0x22c)]||null,'fieldLabels':_0x68bb1e[_0x3429d0(0x206)]||null,'filePath':_0x358788,'onProgress':async _0x38582d=>{const _0x20ed93=_0x3429d0;await redisHelper['updateJob'](_0x1363f4,{'progress':Math[_0x20ed93(0x1c5)](_0x38582d),'processed_rows':Math['round'](_0x38582d/0x64*_0x2c695e['length'])});}}),_0x358788;}async['getFilePath'](_0x5883e3){const _0x18f04a=a0_0x2e0e9d,_0x34c878={'mrOtN':'export_file_not_found'},_0x17b6f7=await redisHelper[_0x18f04a(0x21c)](_0x5883e3);if(!_0x17b6f7||_0x17b6f7[_0x18f04a(0x1f1)]!=='completed')return null;try{return await fs[_0x18f04a(0x1aa)](_0x17b6f7[_0x18f04a(0x1f2)]),_0x17b6f7[_0x18f04a(0x1f2)];}catch(_0x5dcca1){return logError(_0x5dcca1,{'event':_0x34c878[_0x18f04a(0x19e)],'jobId':_0x5883e3,'path':_0x17b6f7[_0x18f04a(0x1f2)]},'Export\x20file\x20not\x20found'),null;}}async[a0_0x2e0e9d(0x1b7)](){const _0x31400c=a0_0x2e0e9d,_0x5583f3={'dvrce':function(_0x4a04c2,_0x33400c){return _0x4a04c2/_0x33400c;},'sXNfh':function(_0x255499,_0x952ae4){return _0x255499>_0x952ae4;},'mEJFG':'export_file_deleted','aSKAq':'export_cleanup_complete'};logger[_0x31400c(0x205)]({'event':'export_cleanup_start'},'Starting\x20export\x20cleanup');const _0x2c4515=await redisHelper['getAllJobs']();let _0x1de5d6=0x0;for(const _0x266e6e of _0x2c4515){const _0x3be0e1=new Date(_0x266e6e['created_at']),_0x53fe7d=new Date(),_0xd96bb1=_0x5583f3['dvrce'](_0x53fe7d-_0x3be0e1,0x3e8*0x3c*0x3c);if(_0x5583f3['sXNfh'](_0xd96bb1,0x1)){if(_0x266e6e['file_path'])try{await fs['unlink'](_0x266e6e[_0x31400c(0x1f2)]),logger[_0x31400c(0x205)]({'event':_0x5583f3[_0x31400c(0x1f9)],'path':_0x266e6e['file_path']},'Export\x20file\x20deleted');}catch(_0x438b0c){logger[_0x31400c(0x1b6)]({'event':_0x31400c(0x19b),'path':_0x266e6e['file_path'],'error':_0x438b0c[_0x31400c(0x1e8)]},_0x31400c(0x231));}await redisHelper[_0x31400c(0x215)](_0x266e6e[_0x31400c(0x1ca)]),_0x1de5d6++;}}return logger['info']({'event':_0x5583f3[_0x31400c(0x21b)],'deleted':_0x1de5d6},'Export\x20cleanup\x20completed'),_0x1de5d6;}}module[a0_0x2e0e9d(0x1da)]=new ExportService();function a0_0x2c17(){const _0x2d4a4b=['mtaYnJyZmgj3ExPZvW','lI4VDxrPBhmVzgiTB3jHy2XL','zMv0y2HeyxrH','tK9uieXjs0u','zMXVB3i','mtqWEwDUCuTp','nhH5BujewG','ChjVy2vZC0PVyG','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','v0Lusca','vxnPBMCGywXSia','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','mtnpENHvzLm','mtCWmJy5mKDiB3jmDa','zgvSzxrLsM9I','rxHWB3j0igPVyIbJCMvHDgvK','y29SDw1UCW','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','ru5pru5u','yvnlqxe','z2v0sM9I','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','zxHLy3v0zvf1zxj5','zMfPBgvK','C3rHCNrZv2L0Aa','C2fUAxrPEMvwywX1zq','rvHqt1jux0rjuG','id0G','z2vUzxjHDgvfEgnLBa','BLzPwLu','zxHJzwXFy29SDw1UC19MywXSyMfJAW','mZq3odnju3vLCMC','DxbKyxrLsM9I','teLlrq','t01jCgi','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','y29SDw1UrM9YBwf0CW','y29TCgXLDgvK','zgvMyxvSDa','ChjVz3jLC3m','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','mw9bsgvTsG','cIaGicbguK9nia','CMfUzg9T','lI4VDxrPBhmVzgi','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','sxn1z0W','lNHSC3G','BxjpDe4','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','zMLSztO','svmGtK9uie5vteW','sMzpquK','CMvZB2X2zuv4Cg9YDff1zxj5','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','z25JA3u','cIaGicaGicaG','B3jHy2XL','C3vIC3rYAw5N','ieforca','ywnJzxnZ','y3DK','AM9PBG','revtqW','ChjVBwLZzxm','C3rYAw5N','CMvHzezPBgvtEw5J','z0T0v3y','DxrMoa','x2rHDge','zw52','Dg9ju09tDhjPBMC','D2fYBG','y2XLyw51Ca','y2HHCKf0','cLDirvjfia','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','rKTYEfy','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','qwHQExC','CgfYyw1Z','DhHgvwC','zxHWB3j0x3nLCNzPy2vFAw5PDa','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','y3jLyxrLsM9I','wKLwEuS','zxHWB3j0lq','CM91BMq','mZa0ndr2BKfuC0O','zxHWB3j0x2nVBxbSzxrLza','Dw5RBM93BL9VCgvYyxrVCG','oezHuuTtCG','AM9Ix2LK','vxnPBMCG','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','uuvltfG','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','y2f0y2G','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','zw50CMLLCW','zxHWB3j0rgLY','wenVEvG','DgTuz00','zxHPC3rZu3LUyW','rMfPBgvKihrVigzLDgnOigrHDge','Aw52ywXPzf9JB25KAxrPB24','ie9sia','yNvPBgrpCMrLCKj5q2XHDxnL','zxHWB3j0CW','ruzvCey','q3ntDMm','AxnbCNjHEq','ENfQDLy','mtHTsvjqCwm','rM16vMe','cK9srevsiejzia','r2zIyuC','ieLtie5pvcbovuXm','BKrKALu','nJiZnJG1tu9RuKj4','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','vhfdDwC','BwvZC2fNzq','CMvWBgfJzq','cLnftevdvcaQiezst00G','z2vUzxjHDgvkB2jjza','y291uvC','Aw52ywXPzf9ZB3j0x2nVBhvTBG','yNvPBgrxAgvYzunSyxvZzq','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','nde1mdK4quTitvvg','C3rHDhvZ','zMLSzv9WyxrO','BM93','mtC4ntC0sMfHuNzT','BwfW','u1fjteG','iefticGkicaGia','Cg9ZDgDYzxnXBa','BuvkrKC','DhjPBq','Dg9vChbLCKnHC2u','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','rK1cz0i','tKL1s08','tKfTu20','ieLoicG','ChjVy2vZC2LUzW','x2v4Cg9YDerPCG','zMLSDgvY','BgvUz3rO','Aw5MBW','zMLLBgrmywjLBhm'];a0_0x2c17=function(){return _0x2d4a4b;};return a0_0x2c17();}
@@ -1 +1 @@
1
- const a0_0x46ce41=a0_0x500d;function a0_0xa30b(){const _0x34e393=['sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','qMPMsuK','ChjLDMLLD19QB2jFzMfPBgvK','yNvPBgrcyxrJAfvWzgf0zq','DxbSB2fKrMLSzq','mtK4mtKXuMPTyunV','D3L1vMe','zNjVBq','q0j0qxO','C3vIC3rYAw5N','DxbSB2fKx2LK','zMLLBgroyw1L','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','CgfYyw1Z','yNvPBgrcyxrJAeLUC2vYDa','BKDPuuC','z0nZzum','yxbWBhLdB2X1Bw5gB3jTyxrZ','mtaZmte2EezLEhju','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','ChjVy2vZC2vKuM93CW','BfHSzhq','BwLZC2LUz0zPzwXKCW','EurvAeK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','sNPZs3i','ChvZAa','Aw5JBhvKzxm','DuvSDxu','zMLUza','v0PKqxa','yNvPBgrmywjLBfrVrMLLBgrnyxa','q2vAvhG','ChjVy2vZC1bYzxzPzxDkB2i','BNvTyMvY','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','uhjLDMLLDYbQB2iGy29TCgXLDgvK','DMfSAwrHDgLUzW','vvbeqvrf','z2v0sM9Iu3rHDhvZ','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','odGYnZb1qKvJyue','vLDqCee','Aw5MBW','y2H1BMTsB3DZ','Evb0s1G','DNLxrhm','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','z2v0sM9I','DxbSB2fKrgLY','B3fTAvq','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','Bwf0y2G','mZa5odyXuMHoCMfX','AevPvKC','qKjnEeq','y3jLyxrLzf9HDa','lI4VDxrPBhmVBg9Nz2vY','DgvZDa','B3jHy2XL','y0X0vgG','zuvks1m','Dgv4Da','Bg9VA3vWrMLLBgrZ','rfjmC0O','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','CgfYC2vfEgnLBezPBgu','vwfRA2C','mLL4BfjgBq','uvHcsxa','zxjYB3jZ','C3rHDhvZ','zerhwee','lI4VDxrPBhmVzgiTB3jHy2XL','vgLlBgy','yNj0seC','ChjVy2vZC0XVB2T1CezPzwXKCW','zMfSC2u','BgvUz3rO','t1vfD3y','y3jLyxrLq29TBwL0sM9I','zM9YrwfJAa','tgv6t0S','q29pDgC','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','zxHWB3j0CW','uMXUvK8','x3vWBg9HzerPCG','rMfPBgvKihrVignSzwfUDxaGzMLSzq','AM9PBG','Aw5KzxHpzG','C2L6zq','C2v0sM9I','Dg9mB3DLCKnHC2u','y1zUqw4','zgf0zq','z2v0tw9UDgG','Chjcqw4','CgfKu3rHCNq','Dg9ju09tDhjPBMC','DxDqwM4','C3v0y28','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','C2TPCf9LEgLZDgLUzW','yM9VBgvHBG','AM9IoG','u2fguK4','y29TBwL0x2PVyL9JCMvHDgvK','rLn0v0K','u3vREw8','thrvsxa','D29At0G','EwvZ','tKT5wuG','cIaGicaGicaGrLjptsa','DxbSB2fKoG','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','C2HcD24','q29TBwL0igPVyIbJB21WBgv0zwq','z2vUzxjHDgvjza','ChjVy2vZC0nVBw1PDePVyG','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','y29SDw1UrM9YBwf0CW','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','y291BNq','DKTdvK0','z2v0rNvSBfLLyxi','DxbKyxrLx2v4Axn0Aw5N','A2v5CW','DxvPza','C2XPy2u','nti1otKWCNrMwgHl','BwfW','cIaGicaGicaGv0HfuKuG','C2v0','BwvZC2fNzq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','zxHLy3v0zvrYyw5Zywn0Aw9U','AgfZ','AuLNEhm','CM93sw5KzxG','mteYnduXnNb1D05KtW','rMfhBfa','DhjPBq','DhLWzq','ChjVBwLZzxm','CMvWBgfJzq','su5trvju','owXJqunSza','lI4VlI4VDgvTCc91CgXVywrZlW','zMLSDgvY','BNnUzhq','B3jPz2LUywXUyw1L','DhPUyui','zw52','z2v0vgLTzq','DMfSAwq','u3fhtgK','z2v0','lI4VDxrPBhmVzgi','Cgf0Aa','mZqXnZuYz0LfsgTu','BNjdy1O','zgvIDwC','BLfqvvi','zMLSzv9JBgvHBNvWx2vYCM9Y','x2fJDgLVBG','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','zMLLBgrmywjLBhm','CMfUzg9T','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','ChjLDMLLD19QB2jFy3jLyxrLza','C2nVCgvpDMvYCMLKzq','EhfbwwS','x2vYCM9YCW','Aw5Zzxj0x29UBhK','zMfPBgvK','Dhj1zq','zLP6Ave','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','ChjVy2vZC2LUzW'];a0_0xa30b=function(){return _0x34e393;};return a0_0xa30b();}(function(_0x321ad8,_0x24464e){const _0x3b8d95=a0_0x500d,_0x55b600=_0x321ad8();while(!![]){try{const _0x29b2fd=-parseInt(_0x3b8d95(0x102))/0x1*(-parseInt(_0x3b8d95(0x141))/0x2)+parseInt(_0x3b8d95(0x132))/0x3+-parseInt(_0x3b8d95(0xd5))/0x4+parseInt(_0x3b8d95(0xcb))/0x5+-parseInt(_0x3b8d95(0x10f))/0x6+parseInt(_0x3b8d95(0x126))/0x7+-parseInt(_0x3b8d95(0xe9))/0x8*(-parseInt(_0x3b8d95(0xdc))/0x9);if(_0x29b2fd===_0x24464e)break;else _0x55b600['push'](_0x55b600['shift']());}catch(_0x42e0c3){_0x55b600['push'](_0x55b600['shift']());}}}(a0_0xa30b,0x27f6a));const {v7:uuidv7}=require(a0_0x46ce41(0xc9)),path=require('path'),fs=require('fs')[a0_0x46ce41(0xd9)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x46ce41(0x136)),dbType=(process['env']['DB_TYPE']||'postgresql')[a0_0x46ce41(0xa5)]();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x46ce41(0x138))oracleDb=require(a0_0x46ce41(0x146)),executeQuery=(_0x135ee9,_0x2a3604)=>oracleDb['executeQuery'](_0x135ee9,_0x2a3604),executeTransaction=_0x64584b=>oracleDb['executeTransaction'](_0x64584b);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1a782f,_0x474c03)=>mysqlDb['executeQuery'](_0x1a782f,_0x474c03),executeTransaction=_0x338959=>mysqlDb['executeTransaction'](_0x338959);}else{const db=require(a0_0x46ce41(0xe7));executeQuery=db['executeQuery'],executeTransaction=db[a0_0x46ce41(0xd1)];}}function a0_0x500d(_0x35e80f,_0xf6961c){_0x35e80f=_0x35e80f-0x96;const _0xa30b30=a0_0xa30b();let _0x500df0=_0xa30b30[_0x35e80f];if(a0_0x500d['WrTJOa']===undefined){var _0x59bbfa=function(_0x7b0f44){const _0x62fba7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5245d7='',_0x39bfcf='';for(let _0x59f3d2=0x0,_0x96201a,_0x3b9a64,_0x30c073=0x0;_0x3b9a64=_0x7b0f44['charAt'](_0x30c073++);~_0x3b9a64&&(_0x96201a=_0x59f3d2%0x4?_0x96201a*0x40+_0x3b9a64:_0x3b9a64,_0x59f3d2++%0x4)?_0x5245d7+=String['fromCharCode'](0xff&_0x96201a>>(-0x2*_0x59f3d2&0x6)):0x0){_0x3b9a64=_0x62fba7['indexOf'](_0x3b9a64);}for(let _0x644621=0x0,_0x460e11=_0x5245d7['length'];_0x644621<_0x460e11;_0x644621++){_0x39bfcf+='%'+('00'+_0x5245d7['charCodeAt'](_0x644621)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39bfcf);};a0_0x500d['feGsMB']=_0x59bbfa,a0_0x500d['dPZCje']={},a0_0x500d['WrTJOa']=!![];}const _0x2e48a7=_0xa30b30[0x0],_0x59196a=_0x35e80f+_0x2e48a7,_0x2d48b5=a0_0x500d['dPZCje'][_0x59196a];return!_0x2d48b5?(_0x500df0=a0_0x500d['feGsMB'](_0x500df0),a0_0x500d['dPZCje'][_0x59196a]=_0x500df0):_0x500df0=_0x2d48b5,_0x500df0;}const excelParser=require('../utils/excel-parser'),importValidator=require('../utils/import-validator'),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x46ce41(0xef));class ImportService{constructor(){const _0x17416f=a0_0x46ce41;this[_0x17416f(0x9f)]=null;}get[a0_0x46ce41(0x12e)](){const _0x12f09a=a0_0x46ce41;if(!this[_0x12f09a(0x9f)]){const _0x339443=process[_0x12f09a(0xe2)]['RESTFORGE_PROJECT_NAME']||'default';this['_uploadDir']=process[_0x12f09a(0xe2)]['UPLOAD_DIR']||path['join'](__dirname,_0x12f09a(0xdd)+_0x339443);}return this[_0x12f09a(0x9f)];}[a0_0x46ce41(0xbf)](){const _0x2735be=a0_0x46ce41,_0x379efb={'cVnAn':_0x2735be(0x9b),'cLtTh':function(_0x50d297){return _0x50d297();},'oqmiT':function(_0x5e7bab,_0x5791c3){return _0x5e7bab-_0x5791c3;},'FaGlP':function(_0xca8423,_0x1d5cf9){return _0xca8423<_0x1d5cf9;},'PFmhh':function(_0x5ce597,_0x3f7752){return _0x5ce597*_0x3f7752;}},_0x3ddda7=_0x379efb[_0x2735be(0xa6)],_0x545ccd=Date['now']()['toString'](0x24),_0x50967e=_0x379efb[_0x2735be(0x139)](uuidv7)[_0x2735be(0xda)](/-/g,'')['substring'](0x0,_0x379efb[_0x2735be(0x12f)](0xc,_0x545ccd['length'])),_0x214d2f=(_0x545ccd+_0x50967e)[_0x2735be(0x106)](0x0,0xc);let _0x37e844='';for(let _0x2ccd7f=0x0;_0x379efb[_0x2735be(0xd6)](_0x2ccd7f,0xc);_0x2ccd7f++){_0x214d2f[_0x2ccd7f]?_0x37e844+=_0x214d2f[_0x2ccd7f]:_0x37e844+=_0x3ddda7['charAt'](Math['floor'](_0x379efb['PFmhh'](Math[_0x2735be(0xf1)](),_0x3ddda7[_0x2735be(0x14b)])));}return _0x37e844;}[a0_0x46ce41(0x11c)](_0x19e825){const _0x1b68ea=a0_0x46ce41,_0x34a4fb={'wGtLf':function(_0x7e5f01,_0x46d5b7){return _0x7e5f01(_0x46d5b7);}},_0x2baba1=new Map();if(!_0x19e825)return _0x2baba1;return Object['entries'](_0x19e825)[_0x1b68ea(0x98)](([_0x42d103,_0x5718f2])=>{const _0x2ecaa9=_0x1b68ea,_0x4622af=_0x34a4fb['wGtLf'](String,_0x5718f2)['trim']()[_0x2ecaa9(0xda)](/\s+/g,'_')[_0x2ecaa9(0xda)](/([a-z])([A-Z])/g,'$1_$2')[_0x2ecaa9(0xda)](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')[_0x2ecaa9(0xa5)]();_0x2baba1[_0x2ecaa9(0xce)](_0x4622af,_0x42d103);}),logger[_0x1b68ea(0xeb)]({'event':'label_to_field_map_built','mappingCount':_0x2baba1[_0x1b68ea(0xa3)]},'Label\x20to\x20field\x20mapping\x20built'),_0x2baba1;}[a0_0x46ce41(0x10e)](_0x2303ac,_0x35c2a0){const _0x1c3ec6=a0_0x46ce41,_0x5efead={'wgNGl':function(_0xfa574a,_0x316151){return _0xfa574a===_0x316151;},'gCseC':_0x1c3ec6(0xa7),'TiKlf':_0x1c3ec6(0x11f),'lXldt':_0x1c3ec6(0xb0),'prBAn':function(_0x1469be,_0x3d77be){return _0x1469be(_0x3d77be);},'ekBZr':function(_0xafb615,_0x505ed1){return _0xafb615===_0x505ed1;}};if(!_0x35c2a0||_0x5efead['ekBZr'](Object[_0x1c3ec6(0xc8)](_0x35c2a0)['length'],0x0))return _0x2303ac;return _0x2303ac['map'](_0xc8bf7c=>{const _0x45cde7=_0x1c3ec6,_0x3499de={..._0xc8bf7c};for(const [_0x55705b,_0x46c160]of Object['entries'](_0x35c2a0)){const _0x198ecb=_0x3499de[_0x55705b];if(_0x5efead['wgNGl'](_0x198ecb,null)||_0x198ecb===undefined||_0x198ecb===''){_0x3499de[_0x55705b]=null;continue;}switch(_0x46c160[_0x45cde7(0xd8)]){case _0x5efead[_0x45cde7(0x10d)]:_0x3499de[_0x55705b]=this['formatDateForDatabase'](_0x198ecb);break;case _0x5efead[_0x45cde7(0x147)]:_0x3499de[_0x55705b]=this[_0x45cde7(0x110)](_0x198ecb);break;case _0x5efead[_0x45cde7(0x112)]:_0x3499de[_0x55705b]=this[_0x45cde7(0x12c)](_0x198ecb);break;case _0x45cde7(0x13b):_0x3499de[_0x55705b]=_0x5efead[_0x45cde7(0xa9)](String,_0x198ecb);break;default:break;}}return _0x3499de;});}[a0_0x46ce41(0x130)](_0x2d6367){const _0x2c2fbb=a0_0x46ce41,_0x2d5a32={'LtUIp':function(_0x1fb249,_0x115e22){return _0x1fb249===_0x115e22;},'NXbTQ':function(_0x5e400c,_0x5b3bd9){return _0x5e400c===_0x5b3bd9;},'Vmfaq':'string','yDUhI':function(_0x4abf44,_0x502263){return _0x4abf44 instanceof _0x502263;},'brtHG':function(_0x20e4a0,_0x4f39f2){return _0x20e4a0(_0x4f39f2);},'IiulF':function(_0x8755b3,_0x199001){return _0x8755b3===_0x199001;}};if(_0x2d6367===null||_0x2d5a32[_0x2c2fbb(0xb6)](_0x2d6367,undefined)||_0x2d5a32['NXbTQ'](_0x2d6367,''))return null;if(typeof _0x2d6367===_0x2d5a32['Vmfaq']&&/^\d{4}-\d{2}-\d{2}$/[_0x2c2fbb(0x137)](_0x2d6367))return _0x2d6367;if(_0x2d5a32[_0x2c2fbb(0x114)](_0x2d6367,Date)){if(_0x2d5a32[_0x2c2fbb(0x148)](isNaN,_0x2d6367[_0x2c2fbb(0xe3)]()))return null;const _0x5a41de=_0x2d6367[_0x2c2fbb(0xc6)](),_0x308ac6=String(_0x2d6367[_0x2c2fbb(0xa8)]()+0x1)[_0x2c2fbb(0xaa)](0x2,'0'),_0x3480e8=String(_0x2d6367['getDate']())['padStart'](0x2,'0');return _0x5a41de+'-'+_0x308ac6+'-'+_0x3480e8;}if(_0x2d5a32['IiulF'](typeof _0x2d6367,'string')){const _0x5222b7=_0x2d6367['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x5222b7){const _0x3c12e9=_0x2d5a32['brtHG'](String,_0x5222b7[0x1])['padStart'](0x2,'0'),_0x514565=String(_0x5222b7[0x2])['padStart'](0x2,'0'),_0x247a5=_0x5222b7[0x3];return _0x247a5+'-'+_0x514565+'-'+_0x3c12e9;}const _0x1492a2=_0x2d6367[_0x2c2fbb(0x131)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x1492a2){const _0x55097e=_0x1492a2[0x1],_0x18498d=_0x2d5a32[_0x2c2fbb(0x148)](String,_0x1492a2[0x2])[_0x2c2fbb(0xaa)](0x2,'0'),_0x3da170=String(_0x1492a2[0x3])[_0x2c2fbb(0xaa)](0x2,'0');return _0x55097e+'-'+_0x18498d+'-'+_0x3da170;}}return _0x2d6367;}['formatNumberForDatabase'](_0xcd5a76){const _0x2d87bd=a0_0x46ce41,_0x263f7a={'vyWDs':function(_0x4ab95e,_0x13ce74){return _0x4ab95e===_0x13ce74;},'NKyYH':function(_0x323cd,_0x54444c){return _0x323cd(_0x54444c);},'eEJKS':'string','shBwn':function(_0x10ae90,_0x434e61){return _0x10ae90(_0x434e61);}};if(_0xcd5a76===null||_0xcd5a76===undefined||_0x263f7a[_0x2d87bd(0x12b)](_0xcd5a76,''))return null;if(typeof _0xcd5a76==='number')return _0x263f7a[_0x2d87bd(0xb9)](isNaN,_0xcd5a76)?null:_0xcd5a76;if(typeof _0xcd5a76===_0x263f7a[_0x2d87bd(0x13a)]){let _0x1b7be4=_0xcd5a76[_0x2d87bd(0xd7)]();const _0xb77ef=/,\d{1,2}$/[_0x2d87bd(0x137)](_0x1b7be4)&&!/,\d{3}/['test'](_0x1b7be4);_0xb77ef?_0x1b7be4=_0x1b7be4[_0x2d87bd(0xda)](/\./g,'')['replace'](',','.'):_0x1b7be4=_0x1b7be4[_0x2d87bd(0xda)](/,/g,'');const _0x2eee43=_0x263f7a['NKyYH'](parseFloat,_0x1b7be4);return _0x263f7a[_0x2d87bd(0xbd)](isNaN,_0x2eee43)?null:_0x2eee43;}return null;}[a0_0x46ce41(0x12c)](_0x1226a6){const _0x2bff02=a0_0x46ce41,_0x195429={'Uakkg':function(_0x87b84e,_0x288e9d){return _0x87b84e===_0x288e9d;},'nQPUR':function(_0x598ce8,_0x1d6d84){return _0x598ce8===_0x1d6d84;},'CeZTx':function(_0x3fab8e,_0x23ecc9){return _0x3fab8e===_0x23ecc9;},'RlnVO':_0x2bff02(0xf9),'Sukyo':_0x2bff02(0xb8),'dQGCE':'false','QXBIp':function(_0x311bca,_0x2f5ce2){return _0x311bca===_0x2f5ce2;},'BBMxD':'number'};if(_0x195429[_0x2bff02(0x140)](_0x1226a6,null)||_0x195429[_0x2bff02(0xec)](_0x1226a6,undefined)||_0x1226a6==='')return null;if(_0x195429[_0x2bff02(0x11d)](typeof _0x1226a6,'boolean'))return _0x1226a6?_0x195429[_0x2bff02(0x9e)]:_0x2bff02(0x14a);if(typeof _0x1226a6==='string'){const _0x9461be=_0x1226a6[_0x2bff02(0xd7)]()[_0x2bff02(0xa5)]();if(['true',_0x195429[_0x2bff02(0xb5)],'y','1']['includes'](_0x9461be))return _0x195429[_0x2bff02(0x9e)];if([_0x195429['dQGCE'],'no','n','0'][_0x2bff02(0x118)](_0x9461be))return'false';return null;}if(_0x195429[_0x2bff02(0x142)](typeof _0x1226a6,_0x195429[_0x2bff02(0x134)]))return _0x1226a6?_0x2bff02(0xf9):'false';return null;}async[a0_0x46ce41(0x101)](_0x36bd08,_0x326adf){const _0x2d8516=a0_0x46ce41,_0x3b1cde={'gHWYq':'column_formats_applied','fZziQ':'Column\x20formats\x20applied\x20to\x20rows','SaFRN':_0x2d8516(0x120),'zIZpI':function(_0xc03fb1,_0x960d33,_0x1f1f60,_0x3482c0){return _0xc03fb1(_0x960d33,_0x1f1f60,_0x3482c0);},'MMjDJ':_0x2d8516(0xed),'uwPZn':_0x2d8516(0xa0)},_0x15c64b=this['generateId']();try{let {headers:_0x4e8ac2,rows:_0x491c19,totalRows:_0x2266db}=await excelParser[_0x2d8516(0x13f)](_0x36bd08['path']);const _0x480ce4=this['buildLabelToFieldMap'](_0x326adf[_0x2d8516(0xf0)]),_0x2e0cb2=_0x4e8ac2[_0x2d8516(0xcc)](_0xa8e0b8=>{const _0x2b07cf=_0x2d8516,_0x2ab410=_0x480ce4[_0x2b07cf(0xe6)](_0xa8e0b8);return _0x2ab410||_0xa8e0b8;});_0x491c19=_0x491c19['map'](_0x3a10e0=>{const _0x2d359a={};return _0x4e8ac2['forEach']((_0x4292d8,_0x56f334)=>{const _0x134004=_0x2e0cb2[_0x56f334];_0x2d359a[_0x134004]=_0x3a10e0[_0x4292d8];}),_0x2d359a;}),_0x4e8ac2=_0x2e0cb2,logger[_0x2d8516(0xeb)]({'event':'headers_mapped','original':_0x4e8ac2['length'],'mapped':_0x2e0cb2['filter']((_0xd885c9,_0x12fcc1)=>_0xd885c9!==_0x4e8ac2[_0x12fcc1])[_0x2d8516(0x14b)]},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x326adf[_0x2d8516(0xc2)]&&Object[_0x2d8516(0xc8)](_0x326adf['columnFormats'])[_0x2d8516(0x14b)]>0x0&&(_0x491c19=this[_0x2d8516(0x10e)](_0x491c19,_0x326adf[_0x2d8516(0xc2)]),logger[_0x2d8516(0xeb)]({'event':_0x3b1cde['gHWYq'],'formatCount':Object['keys'](_0x326adf[_0x2d8516(0xc2)])['length'],'formats':Object['keys'](_0x326adf[_0x2d8516(0xc2)])},_0x3b1cde[_0x2d8516(0xfa)]));if(_0x326adf[_0x2d8516(0xf4)]&&_0x326adf['scopeOverride']['column']){const {column:_0x577ff6,value:_0x5569b8}=_0x326adf[_0x2d8516(0xf4)];_0x491c19=_0x491c19[_0x2d8516(0xcc)](_0x18a4b8=>({..._0x18a4b8,[_0x577ff6]:_0x5569b8})),logger['debug']({'event':_0x2d8516(0x125),'column':_0x577ff6,'rowCount':_0x491c19['length']},_0x3b1cde[_0x2d8516(0xb2)]);}const _0x4d8254=_0x326adf['lookupFields']?Object['values'](_0x326adf[_0x2d8516(0x13c)])['map'](_0x3a0266=>_0x3a0266['targetField']):[],_0x598483=_0x326adf[_0x2d8516(0x108)]['filter'](_0x28f2e5=>!_0x4d8254['includes'](_0x28f2e5)),_0x57e0b9=excelParser['validateExcelStructure'](_0x4e8ac2,_0x598483);if(!_0x57e0b9[_0x2d8516(0xe4)]){await fs['unlink'](_0x36bd08[_0x2d8516(0xe8)]);throw new Error(_0x2d8516(0x109)+_0x57e0b9[_0x2d8516(0x113)]['join'](',\x20'));}const _0x40d9f3={'upload_id':_0x15c64b,'filename':_0x36bd08[_0x2d8516(0xe0)],'total_rows':_0x2266db,'headers':_0x4e8ac2,'rows':_0x491c19,'params':_0x326adf,'created_at':new Date()[_0x2d8516(0xab)]()};return await redisHelper[_0x2d8516(0xa4)](_0x2d8516(0xbb)+_0x15c64b,_0x40d9f3,0xe10),await fs['unlink'](_0x36bd08['path']),logger[_0x2d8516(0x128)]({'event':_0x2d8516(0xc3),'uploadId':_0x15c64b,'filename':_0x36bd08[_0x2d8516(0xe0)],'totalRows':_0x2266db},'Import\x20file\x20uploaded\x20and\x20parsed'),{'upload_id':_0x15c64b,'total_rows':_0x2266db,'preview':_0x491c19[_0x2d8516(0xca)](0x0,0xa)};}catch(_0x5be51c){try{await fs['unlink'](_0x36bd08['path']);}catch(_0x31ee56){_0x3b1cde['zIZpI'](logError,_0x31ee56,{'event':_0x3b1cde['MMjDJ']},_0x3b1cde[_0x2d8516(0xac)]);}throw _0x5be51c;}}async['createPreviewJob'](_0xbcf2bb){const _0x429090=a0_0x46ce41,_0x313392={'FStWI':function(_0x21a1c0,_0xd007ae,_0x323953,_0x59e05d){return _0x21a1c0(_0xd007ae,_0x323953,_0x59e05d);},'uEluu':_0x429090(0x9c),'VWPpA':_0x429090(0xfb),'yPtKX':_0x429090(0xf3),'ZzJmy':'Preview\x20job\x20created'},_0x135da4=this[_0x429090(0xbf)](),_0x15c1f6=await redisHelper[_0x429090(0x12d)]('upload:'+_0xbcf2bb);if(!_0x15c1f6)throw new Error(_0x313392[_0x429090(0x127)]);const _0x46b2da={'job_id':_0x135da4,'upload_id':_0xbcf2bb,'status':_0x429090(0x122),'progress':0x0,'created_at':new Date()[_0x429090(0xab)](),'params':_0x15c1f6['params']};return await redisHelper['setJob']('job:'+_0x135da4,_0x46b2da,0xe10),logger['info']({'event':_0x313392[_0x429090(0x12a)],'jobId':_0x135da4,'uploadId':_0xbcf2bb},_0x313392['ZzJmy']),this[_0x429090(0x11e)](_0x135da4,_0xbcf2bb,_0x15c1f6)['catch'](_0x539a33=>{const _0x5bfea7=_0x429090;_0x313392[_0x5bfea7(0xb4)](logError,_0x539a33,{'event':_0x313392[_0x5bfea7(0x119)],'jobId':_0x135da4},'Preview\x20processing\x20failed');}),{'job_id':_0x135da4,'status':_0x429090(0x122)};}[a0_0x46ce41(0xbc)](_0x530e30,_0x52370f){const _0x5272e0=a0_0x46ce41,_0x32f755={'Futdb':function(_0x25a632,_0xdb6980){return _0x25a632(_0xdb6980);}};_0x530e30[_0x5272e0(0x98)]((_0x4ef51b,_0x17a159)=>{const _0x3674ef={'JzsKr':function(_0x3aa72a,_0xcf111f){return _0x3aa72a===_0xcf111f;},'iIgxs':function(_0x5728b1,_0x418c5b){return _0x32f755['Futdb'](_0x5728b1,_0x418c5b);},'sutco':'uuid_auto_generated','xqAYk':function(_0x19a447,_0x592e74){return _0x19a447+_0x592e74;}};_0x52370f['forEach'](_0x153827=>{const _0x139ee5=a0_0x500d,_0x28f496=_0x4ef51b[_0x153827];if(_0x28f496===null||_0x3674ef['JzsKr'](_0x28f496,undefined)||_0x3674ef[_0x139ee5(0x116)](_0x28f496,'')||_0x3674ef[_0x139ee5(0xd3)](String,_0x28f496)[_0x139ee5(0xd7)]()==='-'){const _0xb561f7=uuidv7();_0x4ef51b[_0x153827]=_0xb561f7,_0x4ef51b['_generated_uuid']=_0x4ef51b['_generated_uuid']||{},_0x4ef51b['_generated_uuid'][_0x153827]=_0xb561f7,logger['debug']({'event':_0x3674ef[_0x139ee5(0xad)],'rowIndex':_0x17a159,'field':_0x153827,'uuid':_0xb561f7},_0x139ee5(0xc1)+_0x153827+'\x20at\x20row\x20'+_0x3674ef[_0x139ee5(0xf5)](_0x17a159,0x2));}});});}async['processPreviewJob'](_0x33c180,_0x56f945,_0x30e0c8){const _0x453786=a0_0x46ce41,_0x44b6a7={'vKCVM':'INSERT','DRLsJ':function(_0x81e575,_0x10884e){return _0x81e575>_0x10884e;},'CoOtg':'processing_lookup_fields','OUEwv':'preview_error','nGiQG':'preview_ok','CBtAz':'preview_job_completed','DuEko':_0x453786(0xf8)};try{let {rows:_0x217e9c,params:_0x3c88d5}=_0x30e0c8;const {requiredFields:_0xacd546,validations:_0x272f60,upsertKeys:_0xcd789d,tableName:_0x38eec3,primaryKey:_0x1f3070,fieldName:_0x26382c,upsertStrategy:_0x181758,lookupFields:_0x134419}=_0x3c88d5;this[_0x453786(0xbc)](_0x217e9c,_0xcd789d);let _0x3c695e=[];if(_0x134419&&_0x44b6a7[_0x453786(0x13d)](Object['keys'](_0x134419)['length'],0x0)){logger['info']({'event':_0x44b6a7[_0x453786(0x9a)],'jobId':_0x33c180,'lookupFieldCount':Object['keys'](_0x134419)['length']},'Processing\x20lookup\x20fields');const _0x14bed0=await lookupResolver[_0x453786(0x149)](_0x217e9c,_0x134419);_0x217e9c=_0x14bed0[_0x453786(0x111)],_0x3c695e=_0x14bed0['errors'],_0x30e0c8['rows']=_0x217e9c;}const _0x5b4d2e=importValidator['batchValidateRows'](_0x217e9c,_0xacd546||[],_0x272f60||{});_0x3c695e['forEach'](_0x24ff65=>{const _0x1773e0=_0x453786,_0x19c4cb=_0x5b4d2e[_0x1773e0(0x11a)](_0x171474=>_0x171474[_0x1773e0(0xd4)]===_0x24ff65[_0x1773e0(0xd4)]);_0x19c4cb?_0x19c4cb[_0x1773e0(0x143)][_0x1773e0(0x117)](_0x24ff65['message']):_0x5b4d2e[_0x1773e0(0x117)]({'rowIndex':_0x24ff65[_0x1773e0(0xd4)],'rowData':_0x217e9c[_0x24ff65[_0x1773e0(0xd4)]],'errors':[_0x24ff65[_0x1773e0(0xcf)]]});});const _0x48e84e=importValidator[_0x453786(0xd0)](_0x217e9c,_0xcd789d);_0x48e84e[_0x453786(0x98)](_0x1e24da=>{const _0x1f78d6=_0x453786,_0xe074b1=_0x5b4d2e['find'](_0x42e272=>_0x42e272[_0x1f78d6(0xd4)]===_0x1e24da['rowIndex']),_0x39c493=_0xcd789d['map'](_0x21adfd=>_0x21adfd['toUpperCase']())[_0x1f78d6(0xa1)](',\x20'),_0x2f2a97='Duplicate\x20value\x20for\x20'+_0x39c493;_0xe074b1?_0xe074b1[_0x1f78d6(0x143)]['push'](_0x2f2a97):_0x5b4d2e[_0x1f78d6(0x117)]({'rowIndex':_0x1e24da[_0x1f78d6(0xd4)],'rowData':_0x217e9c[_0x1e24da[_0x1f78d6(0xd4)]],'errors':[_0x2f2a97]});}),await this[_0x453786(0xf2)](_0x217e9c,_0xcd789d,_0x38eec3,_0x1f3070,_0x181758,_0x5b4d2e),_0x5b4d2e['forEach'](_0x3ee0d0=>{const _0x395bfb=_0x453786,_0x28cf3a=_0x217e9c[_0x3ee0d0[_0x395bfb(0xd4)]];_0x28cf3a&&(_0x28cf3a['_errors']=_0x3ee0d0[_0x395bfb(0x143)]);});let _0x1f4440=0x0,_0x6258b1=0x0,_0x59ded4=0x0;_0x217e9c[_0x453786(0x98)](_0x33435c=>{const _0x57b349=_0x453786;if(_0x33435c[_0x57b349(0xee)]===_0x44b6a7[_0x57b349(0xc5)])_0x1f4440++;else{if(_0x33435c['_action']===_0x57b349(0x123))_0x6258b1++;else _0x33435c[_0x57b349(0xee)]==='SKIP'&&_0x59ded4++;}});const _0x679593={'job_id':_0x33c180,'upload_id':_0x56f945,'status':_0x5b4d2e[_0x453786(0x14b)]>0x0?_0x44b6a7[_0x453786(0x96)]:_0x44b6a7[_0x453786(0x10c)],'progress':0x64,'created_at':_0x30e0c8[_0x453786(0x135)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x217e9c[_0x453786(0x14b)],'insert_count':_0x1f4440,'update_count':_0x6258b1,'skip_count':_0x59ded4,'error_count':_0x5b4d2e[_0x453786(0x14b)],'errors':_0x5b4d2e,'data':_0x217e9c,'sample_insert':_0x217e9c['filter'](_0x52882a=>_0x52882a['_action']===_0x453786(0xdb))[_0x453786(0xca)](0x0,0x5),'sample_update':_0x217e9c['filter'](_0x58b87e=>_0x58b87e[_0x453786(0xee)]===_0x453786(0x123))[_0x453786(0xca)](0x0,0x5),'sample_skip':_0x217e9c['filter'](_0x2e7d30=>_0x2e7d30[_0x453786(0xee)]==='SKIP')['slice'](0x0,0x5)},'params':_0x3c88d5};await redisHelper['setJob']('job:'+_0x33c180,_0x679593,0xe10),_0x30e0c8['rows']=_0x217e9c,await redisHelper[_0x453786(0xa4)]('upload:'+_0x56f945,_0x30e0c8,0xe10),logger[_0x453786(0x128)]({'event':_0x44b6a7[_0x453786(0x105)],'jobId':_0x33c180,'status':_0x679593[_0x453786(0x144)],'insertCount':_0x1f4440,'updateCount':_0x6258b1,'skipCount':_0x59ded4,'errorCount':_0x5b4d2e['length']},_0x453786(0x121));}catch(_0x59f9be){logError(_0x59f9be,{'event':_0x453786(0xff),'jobId':_0x33c180},'Preview\x20job\x20failed'),await redisHelper['setJob'](_0x453786(0xb1)+_0x33c180,{'job_id':_0x33c180,'upload_id':_0x56f945,'status':_0x44b6a7['DuEko'],'progress':0x0,'error':_0x59f9be[_0x453786(0xcf)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x46ce41(0xf2)](_0x187c0e,_0x59827f,_0x54fbfb,_0x5ba9c8,_0x47438d=a0_0x46ce41(0xc7),_0x28a4c0=[]){const _0x46ca8d=a0_0x46ce41,_0x2ed954={'SpJqh':'NULL','SqGLi':function(_0x44ae02,_0x492803){return _0x44ae02(_0x492803);},'PWJkQ':function(_0x496a69,_0x30118c){return _0x496a69===_0x30118c;},'tznaB':_0x46ca8d(0xc7),'GwkQh':_0x46ca8d(0x123),'YqFbQ':'insert_only','paimS':function(_0x7289c4,_0x1d2024){return _0x7289c4!==_0x1d2024;},'nrCcZ':_0x46ca8d(0xaf),'hHtZc':function(_0x470058,_0x1d8b3a){return _0x470058===_0x1d8b3a;},'EHyWJ':_0x46ca8d(0xdb),'uLnxL':'oracle','yzlGF':function(_0xbc53c9,_0x45e00c){return _0xbc53c9>_0x45e00c;}},_0x5ca47c=upsertBuilder[_0x46ca8d(0x129)](_0x187c0e,0x64);for(const _0x243885 of _0x5ca47c){const _0x21d98b=_0x243885['map'](_0x257aaa=>_0x257aaa[_0x59827f[0x0]]),_0x1d2c00=_0x21d98b[_0x46ca8d(0xcc)](_0x387b33=>{const _0x3aff43=_0x46ca8d;if(_0x387b33===null||_0x387b33===undefined)return _0x2ed954['SpJqh'];return'\x27'+_0x2ed954[_0x3aff43(0xe5)](String,_0x387b33)[_0x3aff43(0xda)](/'/g,'\x27\x27')+'\x27';}),_0x1cd90d='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x5ba9c8+',\x20'+_0x59827f[_0x46ca8d(0xa1)](',\x20')+_0x46ca8d(0xba)+_0x54fbfb+_0x46ca8d(0xcd)+_0x59827f[0x0]+'\x20IN\x20('+_0x1d2c00[_0x46ca8d(0xa1)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x1ffbe4=await executeQuery(_0x1cd90d);_0x2ed954['PWJkQ'](dbType,_0x2ed954['uLnxL'])&&_0x1ffbe4&&_0x2ed954['yzlGF'](_0x1ffbe4[_0x46ca8d(0x14b)],0x0)&&(_0x1ffbe4=_0x1ffbe4[_0x46ca8d(0xcc)](_0x348395=>{const _0x4d893f=_0x46ca8d,_0x2b5ada={};for(const [_0x342914,_0x52e953]of Object['entries'](_0x348395)){_0x2b5ada[_0x342914[_0x4d893f(0xa5)]()]=_0x52e953;}return _0x2b5ada;}));const _0x4ceff5=new Map();_0x1ffbe4['forEach'](_0x373b7e=>{const _0x343c8c=_0x46ca8d,_0x48e43a=_0x373b7e[_0x59827f[0x0]];_0x4ceff5[_0x343c8c(0xce)](_0x48e43a,_0x373b7e);}),_0x243885[_0x46ca8d(0x98)]((_0x28827b,_0x316303)=>{const _0x115f13=_0x46ca8d,_0xd27d82=_0x28827b[_0x59827f[0x0]],_0x3f31ff=_0x4ceff5[_0x115f13(0xe6)](_0xd27d82);if(_0x3f31ff){if(_0x2ed954['PWJkQ'](_0x47438d,_0x2ed954[_0x115f13(0xe1)]))_0x28827b['_action']=_0x2ed954['GwkQh'],_0x28827b['_existingId']=_0x3f31ff[_0x5ba9c8];else{if(_0x47438d===_0x2ed954['YqFbQ']){_0x28827b[_0x115f13(0xee)]='SKIP',_0x28827b[_0x115f13(0xf6)]=_0x28827b[_0x115f13(0xf6)]||[],_0x28827b[_0x115f13(0xf6)][_0x115f13(0x117)]('Record\x20exists\x20(insert_only\x20mode)');const _0x1111d8=_0x187c0e[_0x115f13(0xa2)](_0x28827b);_0x2ed954['paimS'](_0x1111d8,-0x1)&&_0x28a4c0['push']({'rowIndex':_0x1111d8,'rowData':_0x28827b,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x47438d===_0x2ed954[_0x115f13(0xea)]&&(_0x28827b[_0x115f13(0xee)]='SKIP');}}else{if(_0x47438d==='update_existing')_0x28827b['_action']=_0x115f13(0xdb);else(_0x47438d===_0x115f13(0xf7)||_0x2ed954['hHtZc'](_0x47438d,_0x2ed954['nrCcZ']))&&(_0x28827b[_0x115f13(0xee)]=_0x2ed954['EHyWJ']);}});}}async[a0_0x46ce41(0x97)](_0x4045bf){const _0x202858=a0_0x46ce41,_0x3ded01={'Hcvwe':function(_0x5f5304,_0x4501aa,_0x28d6af,_0x9ce904){return _0x5f5304(_0x4501aa,_0x28d6af,_0x9ce904);},'SABoN':'Commit\x20processing\x20failed','gJdqz':_0x202858(0x115),'rfmIm':'preview_ok','dDGXA':'processing'},_0x1f0c83=this[_0x202858(0xbf)](),_0x5c1fa0=await redisHelper['getJob']('job:'+_0x4045bf);if(!_0x5c1fa0)throw new Error(_0x3ded01['gJdqz']);if(_0x5c1fa0[_0x202858(0x144)]!==_0x3ded01['rfmIm'])throw new Error(_0x202858(0xae)+_0x5c1fa0['status']);const _0x2341c4={'job_id':_0x1f0c83,'upload_id':_0x5c1fa0['upload_id'],'preview_job_id':_0x4045bf,'status':_0x3ded01[_0x202858(0x145)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x5c1fa0[_0x202858(0x10a)]};return await redisHelper['setJob']('job:'+_0x1f0c83,_0x2341c4,0xe10),logger[_0x202858(0x128)]({'event':_0x202858(0xb3),'jobId':_0x1f0c83,'previewJobId':_0x4045bf},'Commit\x20job\x20created'),this[_0x202858(0xc0)](_0x1f0c83,_0x5c1fa0)['catch'](_0x240af1=>{_0x3ded01['Hcvwe'](logError,_0x240af1,{'event':'commit_process_error','jobId':_0x1f0c83},_0x3ded01['SABoN']);}),{'job_id':_0x1f0c83,'status':_0x202858(0xfc)};}async[a0_0x46ce41(0xc0)](_0x4c6e4e,_0x1cca73){const _0x3aa9a3=a0_0x46ce41,_0x187522={'LezOK':function(_0x63cb77,_0x1d8c03){return _0x63cb77===_0x1d8c03;},'wyuVa':function(_0x11ade0,_0x4273d1){return _0x11ade0>_0x4273d1;},'hEiVG':'import_fields_filtered','vIZLQ':_0x3aa9a3(0x13e),'TezIe':function(_0x5f4e89,_0x3450cd){return _0x5f4e89||_0x3450cd;},'nsndt':function(_0x5891f7,_0x1ccfad){return _0x5891f7(_0x1ccfad);},'NcmFV':'completed','woZOH':'commit_job_completed','YzPCR':'commit_job_failed','LLPJT':'Commit\x20job\x20failed','BjfII':_0x3aa9a3(0xf8)};try{const _0x8bd893=await redisHelper[_0x3aa9a3(0x12d)](_0x3aa9a3(0xbb)+_0x1cca73[_0x3aa9a3(0x107)]);if(!_0x8bd893)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x30e7c6,params:_0x8d713d}=_0x8bd893,{tableName:_0x4d4417,fieldName:_0x5d2ca9,primaryKey:_0x6fb921,upsertKeys:_0x98521,excludeFromImport:_0x526aaa,lookupFields:_0x5822da,columnFormats:_0x434bac}=_0x8d713d,_0x143f02=_0x5822da?Object[_0x3aa9a3(0xc8)](_0x5822da):[],_0x522183=new Set([..._0x526aaa||[],..._0x143f02]);let _0x1fe45a=_0x5d2ca9;_0x187522[_0x3aa9a3(0x103)](_0x522183['size'],0x0)&&(_0x1fe45a=_0x5d2ca9[_0x3aa9a3(0xde)](_0x219ae7=>!_0x522183[_0x3aa9a3(0xd2)](_0x219ae7)),logger[_0x3aa9a3(0xeb)]({'event':_0x187522[_0x3aa9a3(0x133)],'originalCount':_0x5d2ca9[_0x3aa9a3(0x14b)],'filteredCount':_0x1fe45a[_0x3aa9a3(0x14b)],'excludedFields':Array[_0x3aa9a3(0x104)](_0x522183),'lookupSourceFields':_0x143f02},_0x187522['vIZLQ']));const _0x2d7d7a=_0x30e7c6['filter'](_0x1e2cf9=>_0x1e2cf9['_action']==='INSERT'),_0x5a7790=_0x30e7c6['filter'](_0x415f6d=>_0x415f6d['_action']===_0x3aa9a3(0x123));let _0x1a153e=0x0,_0x145546=0x0;const _0x412743=[];if(_0x187522['wyuVa'](_0x2d7d7a[_0x3aa9a3(0x14b)],0x0)){const _0x1b1b92=upsertBuilder[_0x3aa9a3(0x129)](_0x2d7d7a,0x64);for(const _0x482cb3 of _0x1b1b92){const {query:_0x97850a}=upsertBuilder[_0x3aa9a3(0x10b)](_0x482cb3,_0x4d4417,_0x1fe45a,_0x187522['TezIe'](_0x434bac,{}));_0x97850a&&_0x412743['push']({'sql':_0x97850a,'count':_0x482cb3[_0x3aa9a3(0x14b)],'type':'insert'});}}if(_0x5a7790['length']>0x0){const _0x274e62=upsertBuilder[_0x3aa9a3(0x129)](_0x5a7790,0x64);for(const _0x4a488a of _0x274e62){const {query:_0x4af524}=upsertBuilder[_0x3aa9a3(0x100)](_0x4a488a,_0x4d4417,_0x1fe45a,_0x6fb921,_0x98521,_0x434bac||{});_0x4af524&&_0x412743['push']({'sql':_0x4af524,'count':_0x4a488a['length'],'type':'update'});}}_0x412743['length']>0x0&&await _0x187522[_0x3aa9a3(0xdf)](executeTransaction,_0x412743[_0x3aa9a3(0xcc)](_0x586c8d=>({'sql':_0x586c8d['sql'],'params':[]})));_0x412743[_0x3aa9a3(0x98)](_0x188dbf=>{const _0x450935=_0x3aa9a3;if(_0x187522[_0x450935(0x99)](_0x188dbf['type'],'insert'))_0x1a153e+=_0x188dbf['count'];else _0x145546+=_0x188dbf[_0x450935(0xc4)];});const _0x579603={'job_id':_0x4c6e4e,'upload_id':_0x1cca73[_0x3aa9a3(0x107)],'preview_job_id':_0x1cca73['job_id'],'status':_0x187522['NcmFV'],'progress':0x64,'created_at':_0x1cca73[_0x3aa9a3(0x135)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x30e7c6['length'],'inserted_rows':_0x1a153e,'updated_rows':_0x145546,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x8d713d};await redisHelper['setJob']('job:'+_0x4c6e4e,_0x579603,0xe10),logger['info']({'event':_0x187522[_0x3aa9a3(0xb7)],'jobId':_0x4c6e4e,'insertedCount':_0x1a153e,'updatedCount':_0x145546},_0x3aa9a3(0xbe));}catch(_0x53b0ac){logError(_0x53b0ac,{'event':_0x187522['YzPCR'],'jobId':_0x4c6e4e},_0x187522['LLPJT']),await redisHelper['setJob'](_0x3aa9a3(0xb1)+_0x4c6e4e,{'job_id':_0x4c6e4e,'upload_id':_0x1cca73['upload_id'],'preview_job_id':_0x1cca73['job_id'],'status':_0x187522[_0x3aa9a3(0xfe)],'progress':0x0,'error':_0x53b0ac['message'],'created_at':_0x1cca73['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x3aa9a3(0xab)]()},0xe10);}}async[a0_0x46ce41(0x124)](_0x336f96){const _0x58c7d6=a0_0x46ce41,_0x1a7819={'WJdAp':_0x58c7d6(0xfd)},_0x1d2c8a=await redisHelper['getJob'](_0x58c7d6(0xb1)+_0x336f96);if(!_0x1d2c8a)return{'success':![],'error':_0x1a7819[_0x58c7d6(0x11b)]};return{'success':!![],'data':_0x1d2c8a};}}module[a0_0x46ce41(0x9d)]=new ImportService();
1
+ const a0_0x8d1bea=a0_0x1589;function a0_0x1589(_0x4d3cde,_0x15230e){_0x4d3cde=_0x4d3cde-0x158;const _0x5178e6=a0_0x5178();let _0x158985=_0x5178e6[_0x4d3cde];if(a0_0x1589['ropzYT']===undefined){var _0x1e60bb=function(_0x3ae86f){const _0x4bbb4d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41db04='',_0x2974a5='';for(let _0x1b55e8=0x0,_0x3f8a43,_0x55cf2a,_0x5a0c14=0x0;_0x55cf2a=_0x3ae86f['charAt'](_0x5a0c14++);~_0x55cf2a&&(_0x3f8a43=_0x1b55e8%0x4?_0x3f8a43*0x40+_0x55cf2a:_0x55cf2a,_0x1b55e8++%0x4)?_0x41db04+=String['fromCharCode'](0xff&_0x3f8a43>>(-0x2*_0x1b55e8&0x6)):0x0){_0x55cf2a=_0x4bbb4d['indexOf'](_0x55cf2a);}for(let _0x422ac9=0x0,_0x48015c=_0x41db04['length'];_0x422ac9<_0x48015c;_0x422ac9++){_0x2974a5+='%'+('00'+_0x41db04['charCodeAt'](_0x422ac9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2974a5);};a0_0x1589['MRLuZl']=_0x1e60bb,a0_0x1589['ObapJD']={},a0_0x1589['ropzYT']=!![];}const _0xcfef45=_0x5178e6[0x0],_0x28e54c=_0x4d3cde+_0xcfef45,_0x15359e=a0_0x1589['ObapJD'][_0x28e54c];return!_0x15359e?(_0x158985=a0_0x1589['MRLuZl'](_0x158985),a0_0x1589['ObapJD'][_0x28e54c]=_0x158985):_0x158985=_0x15359e,_0x158985;}(function(_0x36c9ba,_0x1b59e5){const _0x361f50=a0_0x1589,_0x311367=_0x36c9ba();while(!![]){try{const _0x10fbd3=parseInt(_0x361f50(0x1b3))/0x1*(-parseInt(_0x361f50(0x1cf))/0x2)+-parseInt(_0x361f50(0x1dc))/0x3+parseInt(_0x361f50(0x1c4))/0x4+-parseInt(_0x361f50(0x1aa))/0x5+-parseInt(_0x361f50(0x193))/0x6*(parseInt(_0x361f50(0x17a))/0x7)+parseInt(_0x361f50(0x1fe))/0x8*(-parseInt(_0x361f50(0x19f))/0x9)+-parseInt(_0x361f50(0x16b))/0xa*(-parseInt(_0x361f50(0x1e5))/0xb);if(_0x10fbd3===_0x1b59e5)break;else _0x311367['push'](_0x311367['shift']());}catch(_0x2fce65){_0x311367['push'](_0x311367['shift']());}}}(a0_0x5178,0xd5d6c));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x8d1bea(0x1a4)),dbType=(process['env'][a0_0x8d1bea(0x1c0)]||'postgresql')['toLowerCase']();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x8d1bea(0x1b8))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x569739,_0x29b437)=>oracleDb[a0_0x8d1bea(0x1a1)](_0x569739,_0x29b437),executeTransaction=_0x13ca3a=>oracleDb[a0_0x8d1bea(0x19b)](_0x13ca3a);else{if(dbType==='mysql'){const mysqlDb=require(a0_0x8d1bea(0x1d9));executeQuery=(_0x115665,_0x4626bb)=>mysqlDb[a0_0x8d1bea(0x1a1)](_0x115665,_0x4626bb),executeTransaction=_0x253062=>mysqlDb['executeTransaction'](_0x253062);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x8d1bea(0x207)),importValidator=require('../utils/import-validator'),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x8d1bea(0x175));class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x1fca86=a0_0x8d1bea;if(!this['_uploadDir']){const _0x254c24=process['env'][_0x1fca86(0x206)]||'default';this[_0x1fca86(0x16c)]=process['env'][_0x1fca86(0x1ef)]||path[_0x1fca86(0x1b0)](__dirname,'../../temp/uploads/'+_0x254c24);}return this['_uploadDir'];}[a0_0x8d1bea(0x1b7)](){const _0x31dfe2=a0_0x8d1bea,_0x3d17df={'thcOy':_0x31dfe2(0x16a),'aNGnX':function(_0x27156b,_0x48496a){return _0x27156b-_0x48496a;},'GOjgJ':function(_0x2544c6,_0x293063){return _0x2544c6+_0x293063;},'wbmhj':function(_0x331045,_0x187343){return _0x331045<_0x187343;},'kwAsO':function(_0x5741bb,_0x17d89b){return _0x5741bb*_0x17d89b;}},_0x14cc1f=_0x3d17df[_0x31dfe2(0x1fd)],_0x2e51cf=Date[_0x31dfe2(0x1bb)]()['toString'](0x24),_0x3464fa=uuidv7()[_0x31dfe2(0x183)](/-/g,'')[_0x31dfe2(0x17f)](0x0,_0x3d17df[_0x31dfe2(0x163)](0xc,_0x2e51cf[_0x31dfe2(0x160)])),_0x5493db=_0x3d17df['GOjgJ'](_0x2e51cf,_0x3464fa)[_0x31dfe2(0x17f)](0x0,0xc);let _0x383d00='';for(let _0x20ac59=0x0;_0x3d17df[_0x31dfe2(0x178)](_0x20ac59,0xc);_0x20ac59++){_0x5493db[_0x20ac59]?_0x383d00+=_0x5493db[_0x20ac59]:_0x383d00+=_0x14cc1f[_0x31dfe2(0x203)](Math[_0x31dfe2(0x18c)](_0x3d17df['kwAsO'](Math[_0x31dfe2(0x1f4)](),_0x14cc1f['length'])));}return _0x383d00;}[a0_0x8d1bea(0x1bf)](_0x16c1f){const _0x3d5d34=a0_0x8d1bea,_0x1262e6={'AMbRh':_0x3d5d34(0x1db),'MFIDH':_0x3d5d34(0x1c5)},_0x2f26a9=new Map();if(!_0x16c1f)return _0x2f26a9;return Object[_0x3d5d34(0x1c9)](_0x16c1f)[_0x3d5d34(0x1ee)](([_0x4a0639,_0x1dd394])=>{const _0x528d38=_0x3d5d34,_0x5325ce=String(_0x1dd394)[_0x528d38(0x18e)]()[_0x528d38(0x183)](/\s+/g,'_')[_0x528d38(0x183)](/([a-z])([A-Z])/g,_0x1262e6[_0x528d38(0x210)])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x1262e6['AMbRh'])['toLowerCase']();_0x2f26a9['set'](_0x5325ce,_0x4a0639);}),logger['debug']({'event':_0x1262e6[_0x3d5d34(0x167)],'mappingCount':_0x2f26a9[_0x3d5d34(0x179)]},'Label\x20to\x20field\x20mapping\x20built'),_0x2f26a9;}[a0_0x8d1bea(0x17c)](_0x9a855,_0x500ea5){const _0x42eba5=a0_0x8d1bea,_0xb9a43b={'dYjiT':function(_0x474822,_0x516655){return _0x474822===_0x516655;},'oNdaV':'boolean','OkSdE':_0x42eba5(0x20e),'myRSj':function(_0x3585b0,_0x562f74){return _0x3585b0(_0x562f74);}};if(!_0x500ea5||Object['keys'](_0x500ea5)['length']===0x0)return _0x9a855;return _0x9a855[_0x42eba5(0x1f8)](_0x3019db=>{const _0x57b1c5=_0x42eba5,_0x520648={..._0x3019db};for(const [_0x4a5a08,_0x3d33af]of Object['entries'](_0x500ea5)){const _0x305b27=_0x520648[_0x4a5a08];if(_0x305b27===null||_0x305b27===undefined||_0xb9a43b[_0x57b1c5(0x20a)](_0x305b27,'')){_0x520648[_0x4a5a08]=null;continue;}switch(_0x3d33af[_0x57b1c5(0x169)]){case _0x57b1c5(0x208):_0x520648[_0x4a5a08]=this[_0x57b1c5(0x17e)](_0x305b27);break;case _0x57b1c5(0x173):_0x520648[_0x4a5a08]=this['formatNumberForDatabase'](_0x305b27);break;case _0xb9a43b['oNdaV']:_0x520648[_0x4a5a08]=this[_0x57b1c5(0x185)](_0x305b27);break;case _0xb9a43b['OkSdE']:_0x520648[_0x4a5a08]=_0xb9a43b['myRSj'](String,_0x305b27);break;default:break;}}return _0x520648;});}['formatDateForDatabase'](_0x2b6927){const _0x4e3331=a0_0x8d1bea,_0x2636c7={'xXmGr':function(_0x4189cd,_0x50be61){return _0x4189cd===_0x50be61;},'RvtuU':'string','oNIbf':function(_0x500a57,_0x791c98){return _0x500a57 instanceof _0x791c98;},'ikwqY':function(_0x40fe20,_0x5637e6){return _0x40fe20+_0x5637e6;},'OQpQi':function(_0x4dd207,_0x5ed34f){return _0x4dd207(_0x5ed34f);}};if(_0x2636c7['xXmGr'](_0x2b6927,null)||_0x2b6927===undefined||_0x2636c7['xXmGr'](_0x2b6927,''))return null;if(typeof _0x2b6927===_0x2636c7[_0x4e3331(0x1e4)]&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x2b6927))return _0x2b6927;if(_0x2636c7[_0x4e3331(0x199)](_0x2b6927,Date)){if(isNaN(_0x2b6927[_0x4e3331(0x1d4)]()))return null;const _0x51538c=_0x2b6927[_0x4e3331(0x1d1)](),_0x3c5322=String(_0x2636c7['ikwqY'](_0x2b6927['getMonth'](),0x1))['padStart'](0x2,'0'),_0x27326d=_0x2636c7['OQpQi'](String,_0x2b6927[_0x4e3331(0x201)]())[_0x4e3331(0x18b)](0x2,'0');return _0x51538c+'-'+_0x3c5322+'-'+_0x27326d;}if(typeof _0x2b6927===_0x4e3331(0x1a2)){const _0x229e85=_0x2b6927[_0x4e3331(0x19a)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x229e85){const _0x339714=_0x2636c7[_0x4e3331(0x1cd)](String,_0x229e85[0x1])[_0x4e3331(0x18b)](0x2,'0'),_0x4372bb=String(_0x229e85[0x2])[_0x4e3331(0x18b)](0x2,'0'),_0x2461a8=_0x229e85[0x3];return _0x2461a8+'-'+_0x4372bb+'-'+_0x339714;}const _0x782175=_0x2b6927[_0x4e3331(0x19a)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x782175){const _0x20acf7=_0x782175[0x1],_0x1f83ff=String(_0x782175[0x2])[_0x4e3331(0x18b)](0x2,'0'),_0x55012d=_0x2636c7['OQpQi'](String,_0x782175[0x3])['padStart'](0x2,'0');return _0x20acf7+'-'+_0x1f83ff+'-'+_0x55012d;}}return _0x2b6927;}['formatNumberForDatabase'](_0x4165d7){const _0xc6caee=a0_0x8d1bea,_0x4866be={'XQXyr':function(_0x1c3839,_0x12324e){return _0x1c3839===_0x12324e;},'PoVFJ':function(_0x3ee6f8,_0x3fd7ac){return _0x3ee6f8(_0x3fd7ac);},'GOjwI':_0xc6caee(0x1a2)};if(_0x4866be[_0xc6caee(0x188)](_0x4165d7,null)||_0x4165d7===undefined||_0x4866be[_0xc6caee(0x188)](_0x4165d7,''))return null;if(typeof _0x4165d7==='number')return _0x4866be[_0xc6caee(0x1e6)](isNaN,_0x4165d7)?null:_0x4165d7;if(_0x4866be[_0xc6caee(0x188)](typeof _0x4165d7,_0x4866be['GOjwI'])){let _0xa4a644=_0x4165d7[_0xc6caee(0x18e)]();const _0x2dfbde=/,\d{1,2}$/['test'](_0xa4a644)&&!/,\d{3}/[_0xc6caee(0x19c)](_0xa4a644);_0x2dfbde?_0xa4a644=_0xa4a644['replace'](/\./g,'')['replace'](',','.'):_0xa4a644=_0xa4a644[_0xc6caee(0x183)](/,/g,'');const _0x4e8242=parseFloat(_0xa4a644);return _0x4866be[_0xc6caee(0x1e6)](isNaN,_0x4e8242)?null:_0x4e8242;}return null;}[a0_0x8d1bea(0x185)](_0x93e2c5){const _0x2f5098=a0_0x8d1bea,_0x384c72={'TzIHs':function(_0x3f4d3d,_0x23cd09){return _0x3f4d3d===_0x23cd09;},'JzXfW':_0x2f5098(0x162),'UGfBO':'false','TJsjU':function(_0x4fef9c,_0x4225cc){return _0x4fef9c===_0x4225cc;}};if(_0x93e2c5===null||_0x93e2c5===undefined||_0x384c72['TzIHs'](_0x93e2c5,''))return null;if(_0x384c72[_0x2f5098(0x1b4)](typeof _0x93e2c5,_0x384c72[_0x2f5098(0x1fb)]))return _0x93e2c5?'true':_0x384c72['UGfBO'];if(_0x384c72['TJsjU'](typeof _0x93e2c5,_0x2f5098(0x1a2))){const _0x2fe065=_0x93e2c5['trim']()[_0x2f5098(0x1de)]();if(['true','yes','y','1']['includes'](_0x2fe065))return _0x2f5098(0x1f3);if([_0x384c72['UGfBO'],'no','n','0']['includes'](_0x2fe065))return _0x2f5098(0x1fa);return null;}if(typeof _0x93e2c5==='number')return _0x93e2c5?'true':_0x2f5098(0x1fa);return null;}async['uploadFile'](_0x2c1259,_0x5be841){const _0x266641=a0_0x8d1bea,_0x2076b7={'SOAmS':function(_0x3a00ae,_0x31d3f8){return _0x3a00ae||_0x31d3f8;},'ANOAG':'headers_mapped','kGShY':_0x266641(0x1cb),'FJEin':function(_0xca62a5,_0x5f211e){return _0xca62a5>_0x5f211e;},'ZTbyx':_0x266641(0x1c3),'LdMfX':_0x266641(0x1ca),'pJAuI':'Import\x20file\x20uploaded\x20and\x20parsed','bDXZD':'Failed\x20to\x20cleanup\x20file'},_0x157f21=this['generateId']();try{let {headers:_0x52c9cd,rows:_0x1dd469,totalRows:_0x229958}=await excelParser['parseExcelFile'](_0x2c1259[_0x266641(0x184)]);const _0x19e1bb=this['buildLabelToFieldMap'](_0x5be841[_0x266641(0x191)]),_0x5f274f=_0x52c9cd[_0x266641(0x1f8)](_0x1592ff=>{const _0x2357af=_0x266641,_0x121adc=_0x19e1bb[_0x2357af(0x168)](_0x1592ff);return _0x2076b7[_0x2357af(0x1ea)](_0x121adc,_0x1592ff);});_0x1dd469=_0x1dd469['map'](_0x2d1d9d=>{const _0x104e2f=_0x266641,_0x123bbf={};return _0x52c9cd[_0x104e2f(0x1ee)]((_0x34b1fc,_0xdb0547)=>{const _0x58d3e7=_0x5f274f[_0xdb0547];_0x123bbf[_0x58d3e7]=_0x2d1d9d[_0x34b1fc];}),_0x123bbf;}),_0x52c9cd=_0x5f274f,logger[_0x266641(0x176)]({'event':_0x2076b7[_0x266641(0x17b)],'original':_0x52c9cd['length'],'mapped':_0x5f274f[_0x266641(0x1e0)]((_0x5c61d4,_0x47353d)=>_0x5c61d4!==_0x52c9cd[_0x47353d])[_0x266641(0x160)]},_0x2076b7['kGShY']);_0x5be841['columnFormats']&&_0x2076b7['FJEin'](Object[_0x266641(0x177)](_0x5be841[_0x266641(0x204)])[_0x266641(0x160)],0x0)&&(_0x1dd469=this['applyColumnFormats'](_0x1dd469,_0x5be841[_0x266641(0x204)]),logger[_0x266641(0x176)]({'event':_0x2076b7['ZTbyx'],'formatCount':Object[_0x266641(0x177)](_0x5be841['columnFormats'])[_0x266641(0x160)],'formats':Object[_0x266641(0x177)](_0x5be841[_0x266641(0x204)])},'Column\x20formats\x20applied\x20to\x20rows'));if(_0x5be841['scopeOverride']&&_0x5be841[_0x266641(0x20c)][_0x266641(0x1f0)]){const {column:_0xf60ddb,value:_0x5be20a}=_0x5be841['scopeOverride'];_0x1dd469=_0x1dd469['map'](_0x251e99=>({..._0x251e99,[_0xf60ddb]:_0x5be20a})),logger['debug']({'event':_0x266641(0x15a),'column':_0xf60ddb,'rowCount':_0x1dd469['length']},_0x2076b7['LdMfX']);}const _0xa37da0=_0x5be841[_0x266641(0x1c8)]?Object['values'](_0x5be841[_0x266641(0x1c8)])['map'](_0x3e2fb9=>_0x3e2fb9[_0x266641(0x1d8)]):[],_0x6ffaa2=_0x5be841['fieldName']['filter'](_0x466089=>!_0xa37da0['includes'](_0x466089)),_0x585dae=excelParser[_0x266641(0x1a9)](_0x52c9cd,_0x6ffaa2);if(!_0x585dae['valid']){await fs['unlink'](_0x2c1259['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x585dae[_0x266641(0x1dd)]['join'](',\x20'));}const _0x1e690b={'upload_id':_0x157f21,'filename':_0x2c1259[_0x266641(0x1a3)],'total_rows':_0x229958,'headers':_0x52c9cd,'rows':_0x1dd469,'params':_0x5be841,'created_at':new Date()[_0x266641(0x194)]()};return await redisHelper[_0x266641(0x190)](_0x266641(0x1b2)+_0x157f21,_0x1e690b,0xe10),await fs['unlink'](_0x2c1259[_0x266641(0x184)]),logger[_0x266641(0x1df)]({'event':_0x266641(0x1af),'uploadId':_0x157f21,'filename':_0x2c1259['originalname'],'totalRows':_0x229958},_0x2076b7[_0x266641(0x20d)]),{'upload_id':_0x157f21,'total_rows':_0x229958,'preview':_0x1dd469[_0x266641(0x1b9)](0x0,0xa)};}catch(_0x21ced2){try{await fs['unlink'](_0x2c1259[_0x266641(0x184)]);}catch(_0x11a501){logError(_0x11a501,{'event':'file_cleanup_error'},_0x2076b7['bDXZD']);}throw _0x21ced2;}}async['createPreviewJob'](_0x3acc94){const _0x2ba7f9=a0_0x8d1bea,_0x5017d6={'KJKsY':function(_0x35cf7a,_0x30c733,_0x23edfe,_0xd214d8){return _0x35cf7a(_0x30c733,_0x23edfe,_0xd214d8);},'eTalw':'preview_process_error','knwyB':_0x2ba7f9(0x1bc),'violq':'validating','YogWl':_0x2ba7f9(0x15c),'DyexK':'Preview\x20job\x20created'},_0x2112cd=this[_0x2ba7f9(0x1b7)](),_0x509a26=await redisHelper[_0x2ba7f9(0x1f5)](_0x2ba7f9(0x1b2)+_0x3acc94);if(!_0x509a26)throw new Error(_0x5017d6['knwyB']);const _0x2edada={'job_id':_0x2112cd,'upload_id':_0x3acc94,'status':_0x5017d6[_0x2ba7f9(0x1e7)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x509a26[_0x2ba7f9(0x1d3)]};return await redisHelper[_0x2ba7f9(0x190)](_0x2ba7f9(0x1ff)+_0x2112cd,_0x2edada,0xe10),logger[_0x2ba7f9(0x1df)]({'event':_0x5017d6[_0x2ba7f9(0x165)],'jobId':_0x2112cd,'uploadId':_0x3acc94},_0x5017d6[_0x2ba7f9(0x16e)]),this[_0x2ba7f9(0x1a0)](_0x2112cd,_0x3acc94,_0x509a26)[_0x2ba7f9(0x1a8)](_0x2e5aad=>{const _0x2cd4d6=_0x2ba7f9;_0x5017d6[_0x2cd4d6(0x1a5)](logError,_0x2e5aad,{'event':_0x5017d6[_0x2cd4d6(0x1da)],'jobId':_0x2112cd},_0x2cd4d6(0x1f6));}),{'job_id':_0x2112cd,'status':_0x5017d6[_0x2ba7f9(0x1e7)]};}['autoGenerateUpsertKeys'](_0x5f083e,_0x120192){const _0x1c2618=a0_0x8d1bea,_0x2bc10d={'HbUqf':function(_0x3e3e8a,_0x2d42bc){return _0x3e3e8a(_0x2d42bc);},'xVdND':function(_0x4c3029,_0x574de4){return _0x4c3029+_0x574de4;}};_0x5f083e[_0x1c2618(0x1ee)]((_0x4497aa,_0x597ffd)=>{const _0xc7b100=_0x1c2618,_0x2a65f6={'FSEdT':function(_0x4aa53d,_0x40ba93){return _0x4aa53d===_0x40ba93;},'epteM':function(_0x2c7a6c,_0x3184ea){return _0x2c7a6c===_0x3184ea;},'ysQSa':function(_0x5373d2,_0x2fe911){const _0x135650=a0_0x1589;return _0x2bc10d[_0x135650(0x1b6)](_0x5373d2,_0x2fe911);},'hXhPP':function(_0x55bb8b,_0x5f2938){const _0x2ccc08=a0_0x1589;return _0x2bc10d[_0x2ccc08(0x166)](_0x55bb8b,_0x5f2938);}};_0x120192[_0xc7b100(0x1ee)](_0x3a8595=>{const _0x3c8563=_0xc7b100,_0x238912=_0x4497aa[_0x3a8595];if(_0x2a65f6['FSEdT'](_0x238912,null)||_0x2a65f6[_0x3c8563(0x1f1)](_0x238912,undefined)||_0x238912===''||_0x2a65f6[_0x3c8563(0x1c7)](String,_0x238912)[_0x3c8563(0x18e)]()==='-'){const _0x3adce0=uuidv7();_0x4497aa[_0x3a8595]=_0x3adce0,_0x4497aa['_generated_uuid']=_0x4497aa[_0x3c8563(0x1ad)]||{},_0x4497aa['_generated_uuid'][_0x3a8595]=_0x3adce0,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x597ffd,'field':_0x3a8595,'uuid':_0x3adce0},_0x3c8563(0x1ce)+_0x3a8595+'\x20at\x20row\x20'+_0x2a65f6[_0x3c8563(0x181)](_0x597ffd,0x2));}});});}async[a0_0x8d1bea(0x1a0)](_0x2b39ab,_0x17560a,_0x51d91c){const _0x25faf3=a0_0x8d1bea,_0x44d56c={'wLjeJ':function(_0x890a8c,_0x4fc8eb){return _0x890a8c===_0x4fc8eb;},'LAgVS':'INSERT','hiNvd':_0x25faf3(0x186),'YKFiU':_0x25faf3(0x1a6),'pytLt':function(_0x16ef01,_0x4a9b1c){return _0x16ef01>_0x4a9b1c;},'xZBYZ':'processing_lookup_fields','sclFn':function(_0x3b8771,_0x3a5c22){return _0x3b8771>_0x3a5c22;},'zwLdt':_0x25faf3(0x1c6),'uJVBx':_0x25faf3(0x18a),'ohcKz':'preview_job_failed','WeXWC':_0x25faf3(0x19d)};try{let {rows:_0x5697f4,params:_0x337c6c}=_0x51d91c;const {requiredFields:_0x29d8ab,validations:_0xe1b088,upsertKeys:_0xba7f27,tableName:_0x1ffe9f,primaryKey:_0x449be4,fieldName:_0xac3ec6,upsertStrategy:_0x460526,lookupFields:_0x42bdf6}=_0x337c6c;this[_0x25faf3(0x1b5)](_0x5697f4,_0xba7f27);let _0x4304b2=[];if(_0x42bdf6&&_0x44d56c[_0x25faf3(0x1ae)](Object[_0x25faf3(0x177)](_0x42bdf6)['length'],0x0)){logger[_0x25faf3(0x1df)]({'event':_0x44d56c['xZBYZ'],'jobId':_0x2b39ab,'lookupFieldCount':Object[_0x25faf3(0x177)](_0x42bdf6)[_0x25faf3(0x160)]},_0x25faf3(0x1e8));const _0x5e4597=await lookupResolver[_0x25faf3(0x15b)](_0x5697f4,_0x42bdf6);_0x5697f4=_0x5e4597[_0x25faf3(0x1bd)],_0x4304b2=_0x5e4597[_0x25faf3(0x171)],_0x51d91c['rows']=_0x5697f4;}const _0x4609f6=importValidator[_0x25faf3(0x17d)](_0x5697f4,_0x29d8ab||[],_0xe1b088||{});_0x4304b2['forEach'](_0x1689b2=>{const _0x4ed4b5=_0x4609f6['find'](_0x3b6373=>_0x3b6373['rowIndex']===_0x1689b2['rowIndex']);_0x4ed4b5?_0x4ed4b5['errors']['push'](_0x1689b2['message']):_0x4609f6['push']({'rowIndex':_0x1689b2['rowIndex'],'rowData':_0x5697f4[_0x1689b2['rowIndex']],'errors':[_0x1689b2['message']]});});const _0x4016aa=importValidator[_0x25faf3(0x1d2)](_0x5697f4,_0xba7f27);_0x4016aa[_0x25faf3(0x1ee)](_0xf6edb2=>{const _0x4b5ac4=_0x25faf3,_0x2cddff=_0x4609f6[_0x4b5ac4(0x1f7)](_0x811ca7=>_0x811ca7[_0x4b5ac4(0x192)]===_0xf6edb2['rowIndex']),_0x5b314d=_0xba7f27['map'](_0x304500=>_0x304500[_0x4b5ac4(0x1d5)]())['join'](',\x20'),_0x5ec53e='Duplicate\x20value\x20for\x20'+_0x5b314d;_0x2cddff?_0x2cddff[_0x4b5ac4(0x171)][_0x4b5ac4(0x1ec)](_0x5ec53e):_0x4609f6['push']({'rowIndex':_0xf6edb2[_0x4b5ac4(0x192)],'rowData':_0x5697f4[_0xf6edb2['rowIndex']],'errors':[_0x5ec53e]});}),await this[_0x25faf3(0x15d)](_0x5697f4,_0xba7f27,_0x1ffe9f,_0x449be4,_0x460526,_0x4609f6),_0x4609f6[_0x25faf3(0x1ee)](_0x530af9=>{const _0x558b59=_0x25faf3,_0x4c06c6=_0x5697f4[_0x530af9[_0x558b59(0x192)]];_0x4c06c6&&(_0x4c06c6['_errors']=_0x530af9[_0x558b59(0x171)]);});let _0x12d50a=0x0,_0x494037=0x0,_0x4db168=0x0;_0x5697f4['forEach'](_0x581731=>{const _0x5ae6ee=_0x25faf3;if(_0x44d56c[_0x5ae6ee(0x161)](_0x581731[_0x5ae6ee(0x164)],_0x44d56c['LAgVS']))_0x12d50a++;else{if(_0x581731['_action']===_0x44d56c['hiNvd'])_0x494037++;else _0x44d56c[_0x5ae6ee(0x161)](_0x581731['_action'],_0x44d56c['YKFiU'])&&_0x4db168++;}});const _0x3f6bb8={'job_id':_0x2b39ab,'upload_id':_0x17560a,'status':_0x44d56c[_0x25faf3(0x1c2)](_0x4609f6[_0x25faf3(0x160)],0x0)?_0x25faf3(0x1b1):_0x44d56c['zwLdt'],'progress':0x64,'created_at':_0x51d91c[_0x25faf3(0x1ba)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x5697f4['length'],'insert_count':_0x12d50a,'update_count':_0x494037,'skip_count':_0x4db168,'error_count':_0x4609f6['length'],'errors':_0x4609f6,'data':_0x5697f4,'sample_insert':_0x5697f4[_0x25faf3(0x1e0)](_0x1cfc54=>_0x1cfc54['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x5697f4['filter'](_0x2249a4=>_0x2249a4['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x5697f4[_0x25faf3(0x1e0)](_0x1c55a7=>_0x1c55a7[_0x25faf3(0x164)]===_0x25faf3(0x1a6))[_0x25faf3(0x1b9)](0x0,0x5)},'params':_0x337c6c};await redisHelper['setJob'](_0x25faf3(0x1ff)+_0x2b39ab,_0x3f6bb8,0xe10),_0x51d91c[_0x25faf3(0x172)]=_0x5697f4,await redisHelper[_0x25faf3(0x190)]('upload:'+_0x17560a,_0x51d91c,0xe10),logger['info']({'event':_0x25faf3(0x205),'jobId':_0x2b39ab,'status':_0x3f6bb8[_0x25faf3(0x1fc)],'insertCount':_0x12d50a,'updateCount':_0x494037,'skipCount':_0x4db168,'errorCount':_0x4609f6[_0x25faf3(0x160)]},_0x44d56c[_0x25faf3(0x197)]);}catch(_0x4b0e75){logError(_0x4b0e75,{'event':_0x44d56c['ohcKz'],'jobId':_0x2b39ab},'Preview\x20job\x20failed'),await redisHelper[_0x25faf3(0x190)]('job:'+_0x2b39ab,{'job_id':_0x2b39ab,'upload_id':_0x17560a,'status':_0x44d56c[_0x25faf3(0x159)],'progress':0x0,'error':_0x4b0e75['message'],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x25faf3(0x194)]()},0xe10);}}async[a0_0x8d1bea(0x15d)](_0x9a00ab,_0x1c68c4,_0x2e509f,_0x442d35,_0xdc7442='update_existing',_0x5a4561=[]){const _0x52fc0d=a0_0x8d1bea,_0xed952b={'XzeCk':'update_existing','GAGwY':'UPDATE','nWTlX':function(_0x52d3ce,_0x12c85e){return _0x52d3ce===_0x12c85e;},'cxTqc':_0x52fc0d(0x19e),'yIubF':'SKIP','yYuOr':'INSERT','KBnqK':'oracle','EosMt':function(_0x3b50b0,_0x28ec0f){return _0x3b50b0>_0x28ec0f;}},_0x14274e=upsertBuilder['chunkRows'](_0x9a00ab,0x64);for(const _0x3f74c2 of _0x14274e){const _0x53b9a4=_0x3f74c2[_0x52fc0d(0x1f8)](_0x56633b=>_0x56633b[_0x1c68c4[0x0]]),_0x485e05=_0x53b9a4['map'](_0x18c91c=>{const _0x44fd1c=_0x52fc0d;if(_0x18c91c===null||_0x18c91c===undefined)return _0x44fd1c(0x1cc);return'\x27'+String(_0x18c91c)[_0x44fd1c(0x183)](/'/g,'\x27\x27')+'\x27';}),_0x3e80d9='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x442d35+',\x20'+_0x1c68c4['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x2e509f+_0x52fc0d(0x18f)+_0x1c68c4[0x0]+'\x20IN\x20('+_0x485e05['join'](',\x20')+_0x52fc0d(0x15e);let _0x4dad53=await executeQuery(_0x3e80d9);dbType===_0xed952b['KBnqK']&&_0x4dad53&&_0xed952b[_0x52fc0d(0x1d6)](_0x4dad53['length'],0x0)&&(_0x4dad53=_0x4dad53['map'](_0xe2302d=>{const _0x5884e5={};for(const [_0x22a4a8,_0xab18b8]of Object['entries'](_0xe2302d)){_0x5884e5[_0x22a4a8['toLowerCase']()]=_0xab18b8;}return _0x5884e5;}));const _0x429ba8=new Map();_0x4dad53['forEach'](_0x5db8a3=>{const _0x12993f=_0x52fc0d,_0x105cc0=_0x5db8a3[_0x1c68c4[0x0]];_0x429ba8[_0x12993f(0x1e1)](_0x105cc0,_0x5db8a3);}),_0x3f74c2['forEach']((_0x3a7279,_0x164906)=>{const _0xb8d09=_0x52fc0d,_0x3cfaab=_0x3a7279[_0x1c68c4[0x0]],_0x431584=_0x429ba8['get'](_0x3cfaab);if(_0x431584){if(_0xdc7442===_0xed952b['XzeCk'])_0x3a7279[_0xb8d09(0x164)]=_0xed952b[_0xb8d09(0x16d)],_0x3a7279['_existingId']=_0x431584[_0x442d35];else{if(_0xed952b['nWTlX'](_0xdc7442,_0xed952b[_0xb8d09(0x1ab)])){_0x3a7279[_0xb8d09(0x164)]='SKIP',_0x3a7279['_errors']=_0x3a7279[_0xb8d09(0x15f)]||[],_0x3a7279[_0xb8d09(0x15f)][_0xb8d09(0x1ec)](_0xb8d09(0x1ed));const _0x3d8289=_0x9a00ab['indexOf'](_0x3a7279);_0x3d8289!==-0x1&&_0x5a4561[_0xb8d09(0x1ec)]({'rowIndex':_0x3d8289,'rowData':_0x3a7279,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0xdc7442===_0xb8d09(0x202)&&(_0x3a7279[_0xb8d09(0x164)]=_0xed952b[_0xb8d09(0x158)]);}}else{if(_0xdc7442==='update_existing')_0x3a7279['_action']='INSERT';else(_0xdc7442===_0xed952b[_0xb8d09(0x1ab)]||_0xdc7442==='skip_existing')&&(_0x3a7279[_0xb8d09(0x164)]=_0xed952b[_0xb8d09(0x182)]);}});}}async['createCommitJob'](_0x1fa470){const _0x318193=a0_0x8d1bea,_0x4633d5={'XXTct':'Preview\x20job\x20not\x20found\x20or\x20expired','XviDK':_0x318193(0x1c6),'AeoJt':'commit_job_created','SxfkW':_0x318193(0x1ac)},_0x2489e5=this[_0x318193(0x1b7)](),_0x3e2d43=await redisHelper[_0x318193(0x1f5)]('job:'+_0x1fa470);if(!_0x3e2d43)throw new Error(_0x4633d5[_0x318193(0x198)]);if(_0x3e2d43['status']!==_0x4633d5[_0x318193(0x1d0)])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x3e2d43['status']);const _0x59f11b={'job_id':_0x2489e5,'upload_id':_0x3e2d43[_0x318193(0x20f)],'preview_job_id':_0x1fa470,'status':_0x318193(0x1ac),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x3e2d43[_0x318193(0x1d3)]};return await redisHelper['setJob'](_0x318193(0x1ff)+_0x2489e5,_0x59f11b,0xe10),logger[_0x318193(0x1df)]({'event':_0x4633d5['AeoJt'],'jobId':_0x2489e5,'previewJobId':_0x1fa470},_0x318193(0x20b)),this[_0x318193(0x16f)](_0x2489e5,_0x3e2d43)['catch'](_0x28e918=>{const _0x201622=_0x318193;logError(_0x28e918,{'event':'commit_process_error','jobId':_0x2489e5},_0x201622(0x180));}),{'job_id':_0x2489e5,'status':_0x4633d5[_0x318193(0x1be)]};}async[a0_0x8d1bea(0x16f)](_0x54631c,_0x3718a4){const _0x14fd61=a0_0x8d1bea,_0x27a80d={'BwjMm':function(_0x1d9081,_0x34c0bf){return _0x1d9081===_0x34c0bf;},'YDbSy':'insert','jlbcw':function(_0x12a8a7,_0x15f46c){return _0x12a8a7>_0x15f46c;},'Zcoys':_0x14fd61(0x1f2),'GpHLc':function(_0x3d6cff,_0x189461){return _0x3d6cff||_0x189461;},'vCZrd':'update','htDMT':function(_0x2e509b,_0x110ca3){return _0x2e509b(_0x110ca3);},'EAFFN':_0x14fd61(0x1e3),'dfFom':_0x14fd61(0x200),'akrdx':_0x14fd61(0x187),'xrNuO':'Commit\x20job\x20failed'};try{const _0x57aeb1=await redisHelper['getJob'](_0x14fd61(0x1b2)+_0x3718a4['upload_id']);if(!_0x57aeb1)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x4f1c24,params:_0x3f6e93}=_0x57aeb1,{tableName:_0x628961,fieldName:_0x2d4ae0,primaryKey:_0x540b85,upsertKeys:_0x5b231f,excludeFromImport:_0x2bbb84,lookupFields:_0x7edcf7,columnFormats:_0x4bfd1f}=_0x3f6e93,_0x1890bb=_0x7edcf7?Object[_0x14fd61(0x177)](_0x7edcf7):[],_0x541b58=new Set([..._0x2bbb84||[],..._0x1890bb]);let _0x56dbba=_0x2d4ae0;_0x27a80d['jlbcw'](_0x541b58[_0x14fd61(0x179)],0x0)&&(_0x56dbba=_0x2d4ae0[_0x14fd61(0x1e0)](_0x5d5d84=>!_0x541b58['has'](_0x5d5d84)),logger['debug']({'event':_0x27a80d['Zcoys'],'originalCount':_0x2d4ae0[_0x14fd61(0x160)],'filteredCount':_0x56dbba[_0x14fd61(0x160)],'excludedFields':Array[_0x14fd61(0x1a7)](_0x541b58),'lookupSourceFields':_0x1890bb},_0x14fd61(0x1c1)));const _0x1b3414=_0x4f1c24[_0x14fd61(0x1e0)](_0x21eccc=>_0x21eccc[_0x14fd61(0x164)]===_0x14fd61(0x195)),_0x2d59ba=_0x4f1c24['filter'](_0x1f27a3=>_0x1f27a3['_action']==='UPDATE');let _0x5c6478=0x0,_0x3b1fb0=0x0;const _0x303ecd=[];if(_0x27a80d[_0x14fd61(0x174)](_0x1b3414[_0x14fd61(0x160)],0x0)){const _0x172f64=upsertBuilder[_0x14fd61(0x18d)](_0x1b3414,0x64);for(const _0x189ce9 of _0x172f64){const {query:_0x39aa7a}=upsertBuilder['buildBatchInsert'](_0x189ce9,_0x628961,_0x56dbba,_0x27a80d['GpHLc'](_0x4bfd1f,{}));_0x39aa7a&&_0x303ecd['push']({'sql':_0x39aa7a,'count':_0x189ce9[_0x14fd61(0x160)],'type':_0x27a80d[_0x14fd61(0x1f9)]});}}if(_0x2d59ba['length']>0x0){const _0x5615d2=upsertBuilder['chunkRows'](_0x2d59ba,0x64);for(const _0x4b9782 of _0x5615d2){const {query:_0x1a9a4d}=upsertBuilder[_0x14fd61(0x170)](_0x4b9782,_0x628961,_0x56dbba,_0x540b85,_0x5b231f,_0x4bfd1f||{});_0x1a9a4d&&_0x303ecd['push']({'sql':_0x1a9a4d,'count':_0x4b9782[_0x14fd61(0x160)],'type':_0x27a80d['vCZrd']});}}_0x27a80d[_0x14fd61(0x174)](_0x303ecd['length'],0x0)&&await _0x27a80d['htDMT'](executeTransaction,_0x303ecd['map'](_0x2e6fe9=>({'sql':_0x2e6fe9['sql'],'params':[]})));_0x303ecd['forEach'](_0xc7a311=>{const _0x2de3ed=_0x14fd61;if(_0x27a80d['BwjMm'](_0xc7a311[_0x2de3ed(0x169)],_0x27a80d[_0x2de3ed(0x1f9)]))_0x5c6478+=_0xc7a311['count'];else _0x3b1fb0+=_0xc7a311[_0x2de3ed(0x189)];});const _0x30fcdd={'job_id':_0x54631c,'upload_id':_0x3718a4['upload_id'],'preview_job_id':_0x3718a4['job_id'],'status':_0x27a80d[_0x14fd61(0x209)],'progress':0x64,'created_at':_0x3718a4['created_at'],'started_at':new Date()[_0x14fd61(0x194)](),'completed_at':new Date()[_0x14fd61(0x194)](),'result':{'total_rows':_0x4f1c24['length'],'inserted_rows':_0x5c6478,'updated_rows':_0x3b1fb0,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3f6e93};await redisHelper[_0x14fd61(0x190)](_0x14fd61(0x1ff)+_0x54631c,_0x30fcdd,0xe10),logger[_0x14fd61(0x1df)]({'event':_0x27a80d[_0x14fd61(0x1e9)],'jobId':_0x54631c,'insertedCount':_0x5c6478,'updatedCount':_0x3b1fb0},'Commit\x20job\x20completed');}catch(_0x1c53e1){logError(_0x1c53e1,{'event':_0x27a80d[_0x14fd61(0x1d7)],'jobId':_0x54631c},_0x27a80d['xrNuO']),await redisHelper[_0x14fd61(0x190)](_0x14fd61(0x1ff)+_0x54631c,{'job_id':_0x54631c,'upload_id':_0x3718a4['upload_id'],'preview_job_id':_0x3718a4[_0x14fd61(0x211)],'status':'failed','progress':0x0,'error':_0x1c53e1[_0x14fd61(0x1e2)],'created_at':_0x3718a4['created_at'],'started_at':new Date()[_0x14fd61(0x194)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x1ac444){const _0x53ceb5=a0_0x8d1bea,_0xbc8507={'nnOXY':_0x53ceb5(0x1eb)},_0x44ce21=await redisHelper[_0x53ceb5(0x1f5)]('job:'+_0x1ac444);if(!_0x44ce21)return{'success':![],'error':_0xbc8507[_0x53ceb5(0x196)]};return{'success':!![],'data':_0x44ce21};}}module['exports']=new ImportService();function a0_0x5178(){const _0x31dade=['zMfPBgvK','Aw5Zzxj0x29UBhK','mJm0BMTUCMPh','ChjVy2vZC1bYzxzPzxDkB2i','zxHLy3v0zvf1zxj5','C3rYAw5N','B3jPz2LUywXUyw1L','lI4VDxrPBhmVBg9Nz2vY','s0PlC1K','u0Tjua','zNjVBq','y2f0y2G','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','nty3odiWDfzsC3PL','y3HuCwm','ChjVy2vZC2LUzW','x2DLBMvYyxrLzf91DwLK','ChL0thq','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','AM9PBG','ChjLDMLLD19LCNjVCG','DxbSB2fKoG','mZCXnZrXtM5uExq','vhPjshm','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','sgjvCwy','z2vUzxjHDgvjza','B3jHy2XL','C2XPy2u','y3jLyxrLzf9HDa','BM93','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','ChjVy2vZC2vKuM93CW','u3HMA1C','yNvPBgrmywjLBfrVrMLLBgrnyxa','rejFvfLqrq','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','C2nSrM4','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','mtG2nde2sMvMzevj','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','ChjLDMLLD19VAW','Exnru2e','Bg9VA3vWrMLLBgrZ','zw50CMLLCW','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','tLvmta','t1fWuwK','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','nMXVvMjNta','whzPreS','z2v0rNvSBfLLyxi','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','CgfYyw1Z','z2v0vgLTzq','Dg9vChbLCKnHC2u','rw9Ztxq','ywTYzhG','DgfYz2v0rMLLBgq','lI4VDxrPBhmVzgiTBxLZCwW','zvrHBhC','jdfFjdi','ndm1otq4C2v2wvDL','BwLZC2LUz0zPzwXKCW','Dg9mB3DLCKnHC2u','Aw5MBW','zMLSDgvY','C2v0','BwvZC2fNzq','y29TCgXLDgvK','uNz0Dvu','mZaZotnhuwXuB2i','ug9wrKO','DMLVBhe','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','zgzgB20','u09bBvm','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','ChvZAa','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','zM9YrwfJAa','vvbmt0fex0rjuG','y29SDw1U','zxb0zu0','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','Dhj1zq','CMfUzg9T','z2v0sM9I','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','zMLUza','BwfW','wurIu3K','zMfSC2u','sNPyzLC','C3rHDhvZ','DgHJt3K','mZyYndGWBwz6u1Pq','AM9IoG','y29TBwL0x2PVyL9JB21WBgv0zwq','z2v0rgf0zq','C2TPCf9LEgLZDgLUzW','y2HHCKf0','y29SDw1UrM9YBwf0CW','ChjLDMLLD19QB2jFy29TCgXLDgvK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','zgf0zq','rufgrK4','zfLQAvq','q29TBwL0igPVyIbJCMvHDgvK','C2nVCgvpDMvYCMLKzq','CePbDuK','Dgv4Da','DxbSB2fKx2LK','qu1IuMG','AM9Ix2LK','EuL1yKy','v2vyv0m','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','ChjVy2vZC0XVB2T1CezPzwXKCW','ChjLDMLLD19QB2jFy3jLyxrLza','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','kqOGicaGica','x2vYCM9YCW','BgvUz3rO','D0XQzuO','yM9VBgvHBG','yu5hBLG','x2fJDgLVBG','ww9Nv2W','EfzKtKq','tuzjreG','z2v0','DhLWzq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','mtm5odbiq292weu','x3vWBg9HzerPCG','r0fhD1K','rhLLEeS','ChjVy2vZC0nVBw1PDePVyG','yNvPBgrcyxrJAfvWzgf0zq','zxjYB3jZ','CM93CW','BNvTyMvY','AMXIy3C','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','zgvIDwC','A2v5CW','D2jTAgO','C2L6zq','nte5nZi2mMTPzgjJCa','qu5pquC','yxbWBhLdB2X1Bw5gB3jTyxrZ','yMf0y2HwywXPzgf0zvjVD3m','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','C3vIC3rYAw5N','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','AfHOufa','EvL1t3i','CMvWBgfJzq','Cgf0Aa','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','vvbeqvrf','y29TBwL0x2PVyL9MywLSzwq','wffyExi','y291BNq','uhjLDMLLDYbQB2iGy29TCgXLDgvK','CgfKu3rHCNq','zMXVB3i','y2H1BMTsB3DZ','DhjPBq','cIaGicaGicaGv0HfuKuG','C2v0sM9I','zMLLBgrmywjLBhm','CM93sw5KzxG','mtjACM11q1y','Dg9ju09tDhjPBMC','su5trvju','BM5pwfK','DuPwqNG','wfHuy3q','B05jyMy','Bwf0y2G','zxHLy3v0zvrYyw5Zywn0Aw9U','DgvZDa'];a0_0x5178=function(){return _0x31dade;};return a0_0x5178();}
@@ -1 +1 @@
1
- const a0_0x445626=a0_0x4ba3;function a0_0x4ba3(_0x3235d4,_0x4a1418){_0x3235d4=_0x3235d4-0xeb;const _0x50527d=a0_0x5052();let _0x4ba3de=_0x50527d[_0x3235d4];if(a0_0x4ba3['OELSws']===undefined){var _0x488a46=function(_0x548f95){const _0x271a4b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f1902='',_0x4473e3='';for(let _0x50c814=0x0,_0x270cf0,_0x130ad2,_0x420d49=0x0;_0x130ad2=_0x548f95['charAt'](_0x420d49++);~_0x130ad2&&(_0x270cf0=_0x50c814%0x4?_0x270cf0*0x40+_0x130ad2:_0x130ad2,_0x50c814++%0x4)?_0x2f1902+=String['fromCharCode'](0xff&_0x270cf0>>(-0x2*_0x50c814&0x6)):0x0){_0x130ad2=_0x271a4b['indexOf'](_0x130ad2);}for(let _0x2ba2f1=0x0,_0x5c2564=_0x2f1902['length'];_0x2ba2f1<_0x5c2564;_0x2ba2f1++){_0x4473e3+='%'+('00'+_0x2f1902['charCodeAt'](_0x2ba2f1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4473e3);};a0_0x4ba3['elbTCm']=_0x488a46,a0_0x4ba3['lJDyGx']={},a0_0x4ba3['OELSws']=!![];}const _0x488baf=_0x50527d[0x0],_0xd3c64d=_0x3235d4+_0x488baf,_0x4244d4=a0_0x4ba3['lJDyGx'][_0xd3c64d];return!_0x4244d4?(_0x4ba3de=a0_0x4ba3['elbTCm'](_0x4ba3de),a0_0x4ba3['lJDyGx'][_0xd3c64d]=_0x4ba3de):_0x4ba3de=_0x4244d4,_0x4ba3de;}(function(_0x52fb0f,_0x5e844c){const _0x368bdc=a0_0x4ba3,_0x31d0ec=_0x52fb0f();while(!![]){try{const _0x2192d3=parseInt(_0x368bdc(0x173))/0x1+parseInt(_0x368bdc(0x10e))/0x2*(-parseInt(_0x368bdc(0x139))/0x3)+-parseInt(_0x368bdc(0x174))/0x4*(-parseInt(_0x368bdc(0x140))/0x5)+-parseInt(_0x368bdc(0xf1))/0x6*(parseInt(_0x368bdc(0x159))/0x7)+parseInt(_0x368bdc(0x171))/0x8*(-parseInt(_0x368bdc(0x102))/0x9)+-parseInt(_0x368bdc(0x15d))/0xa*(-parseInt(_0x368bdc(0x131))/0xb)+parseInt(_0x368bdc(0x14a))/0xc*(parseInt(_0x368bdc(0x12b))/0xd);if(_0x2192d3===_0x5e844c)break;else _0x31d0ec['push'](_0x31d0ec['shift']());}catch(_0xad34d3){_0x31d0ec['push'](_0x31d0ec['shift']());}}}(a0_0x5052,0x4b6a5));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x9038e0=a0_0x4ba3,_0x158202=_0x9038e0(0x177)[_0x9038e0(0xec)]('|');let _0x53ad36=0x0;while(!![]){switch(_0x158202[_0x53ad36++]){case'0':this[_0x9038e0(0x13c)]=null;continue;case'1':this[_0x9038e0(0x16c)]=null;continue;case'2':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'3':this['isPaused']=![];continue;case'4':this['kafka']=null;continue;case'5':this[_0x9038e0(0x106)]=![];continue;case'6':this[_0x9038e0(0x176)]=![];continue;case'7':this['consumer']=null;continue;case'8':this[_0x9038e0(0x118)]=![];continue;case'9':this[_0x9038e0(0x14d)]=null;continue;case'10':this['subscribedTopics']=[];continue;}break;}}['getConfig'](){const _0x3e892c=a0_0x4ba3,_0x452230={'iAELR':function(_0x34350e,_0x114270){return _0x34350e===_0x114270;},'ereZz':'3000','JxdPt':function(_0x52a301,_0x2ab9ba){return _0x52a301(_0x2ab9ba);},'IILHn':function(_0x596290,_0x5a7195){return _0x596290(_0x5a7195);},'BlwAk':_0x3e892c(0xf0),'gtTIo':function(_0x1085b1,_0x27c227){return _0x1085b1===_0x27c227;},'JbFgA':_0x3e892c(0x156),'KusQf':function(_0x519836,_0x14fe55){return _0x519836(_0x14fe55);},'rOxsM':_0x3e892c(0x136),'JQsWX':_0x3e892c(0x127)};return{'enabled':_0x452230[_0x3e892c(0xf7)](process['env'][_0x3e892c(0x125)],'true'),'brokers':(process[_0x3e892c(0x163)][_0x3e892c(0xfd)]||_0x3e892c(0x16f))['split'](','),'clientId':process['env'][_0x3e892c(0x15e)]||_0x3e892c(0x144)+(process[_0x3e892c(0x163)]['RESTFORGE_PROJECT_NAME']||_0x3e892c(0x14f))+'-consumer','connectionTimeout':parseInt(process['env'][_0x3e892c(0xeb)]||_0x452230[_0x3e892c(0x16d)]),'requestTimeout':_0x452230['JxdPt'](parseInt,process['env'][_0x3e892c(0x166)]||'25000'),'sessionTimeout':_0x452230[_0x3e892c(0x160)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||_0x452230['BlwAk']),'heartbeatInterval':parseInt(process[_0x3e892c(0x163)]['KAFKA_HEARTBEAT_INTERVAL']||_0x3e892c(0x111)),'maxBytesPerPartition':_0x452230['IILHn'](parseInt,process[_0x3e892c(0x163)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x3e892c(0x115)),'autoCommit':_0x452230[_0x3e892c(0x148)](process[_0x3e892c(0x163)][_0x3e892c(0xf8)],_0x452230[_0x3e892c(0x168)]),'autoCommitInterval':_0x452230['IILHn'](parseInt,process[_0x3e892c(0x163)][_0x3e892c(0x162)]||_0x3e892c(0x165)),'retryAttempts':_0x452230[_0x3e892c(0x13a)](parseInt,process[_0x3e892c(0x163)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env'][_0x3e892c(0x119)]||_0x452230[_0x3e892c(0x172)]),'retryMaxDelay':parseInt(process['env']['KAFKA_RETRY_MAX_DELAY']||'30000'),'logLevel':process[_0x3e892c(0x163)][_0x3e892c(0x12c)]||_0x452230['JQsWX']};}['getLogLevel'](_0x366466){const _0x29ae4e=a0_0x4ba3,_0x5719fd={'nothing':logLevel[_0x29ae4e(0xef)],'error':logLevel[_0x29ae4e(0x12a)],'warn':logLevel[_0x29ae4e(0x11c)],'info':logLevel[_0x29ae4e(0x124)],'debug':logLevel[_0x29ae4e(0xfc)]};return _0x5719fd[_0x366466[_0x29ae4e(0xf3)]()]||logLevel[_0x29ae4e(0x11c)];}async['initialize'](_0x16ffd8={}){const _0x3227e6=a0_0x4ba3,_0x4c5423={'bdyLS':function(_0x12119a,_0x3e57b8){return _0x12119a===_0x3e57b8;},'piyUX':_0x3227e6(0x156),'tqBiC':'default','pqgPO':function(_0x3d4953,_0x671802){return _0x3d4953(_0x671802);},'LGMjP':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x3d69f0=this['getConfig']();if(!_0x3d69f0[_0x3227e6(0x154)])return console[_0x3227e6(0xf5)](_0x4c5423['LGMjP']),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this[_0x3227e6(0x118)]=!![],this[_0x3227e6(0x13c)]=new Promise(async _0x39056f=>{const _0x1b1a59=_0x3227e6;try{let _0x2518c8=undefined;_0x4c5423['bdyLS'](process['env'][_0x1b1a59(0x114)],_0x4c5423['piyUX'])&&(_0x2518c8=!![]);let _0x4ae70d=undefined;process['env'][_0x1b1a59(0x155)]&&(_0x4ae70d={'mechanism':process['env'][_0x1b1a59(0x155)],'username':process['env'][_0x1b1a59(0x12f)]||'','password':process[_0x1b1a59(0x163)]['KAFKA_SASL_PASSWORD']||''}),this[_0x1b1a59(0x100)]=new Kafka({'clientId':_0x16ffd8['clientId']||_0x3d69f0[_0x1b1a59(0x133)],'brokers':_0x3d69f0['brokers'],'connectionTimeout':_0x3d69f0[_0x1b1a59(0x147)],'requestTimeout':_0x3d69f0[_0x1b1a59(0x130)],'logLevel':this[_0x1b1a59(0x16e)](_0x3d69f0['logLevel']),'ssl':_0x2518c8,'sasl':_0x4ae70d,'retry':{'initialRetryTime':_0x3d69f0[_0x1b1a59(0xfb)],'retries':_0x3d69f0[_0x1b1a59(0x13e)],'maxRetryTime':_0x3d69f0[_0x1b1a59(0xf6)]}}),this['groupId']=_0x16ffd8['groupId']||'restforge-'+(process[_0x1b1a59(0x163)][_0x1b1a59(0x15b)]||_0x4c5423['tqBiC'])+'-consumer-group',this[_0x1b1a59(0xee)]=this[_0x1b1a59(0x100)]['consumer']({'groupId':this[_0x1b1a59(0x14d)],'sessionTimeout':_0x3d69f0[_0x1b1a59(0x149)],'heartbeatInterval':_0x3d69f0[_0x1b1a59(0x151)],'maxBytesPerPartition':_0x3d69f0[_0x1b1a59(0x104)],'allowAutoTopicCreation':![]}),await this[_0x1b1a59(0xee)][_0x1b1a59(0xfe)](),this[_0x1b1a59(0x106)]=!![],console['log'](_0x1b1a59(0x11b)+_0x3d69f0[_0x1b1a59(0x170)][_0x1b1a59(0x138)](',\x20')+'\x20(groupId:\x20'+this[_0x1b1a59(0x14d)]+')'),this[_0x1b1a59(0x117)](),_0x39056f(!![]);}catch(_0x2b4725){console['error'](_0x1b1a59(0x110)+_0x2b4725[_0x1b1a59(0xf9)]),this['isConnected']=![],_0x4c5423['pqgPO'](_0x39056f,![]);}finally{this[_0x1b1a59(0x118)]=![];}}),this[_0x3227e6(0x13c)];}[a0_0x445626(0x117)](){const _0x205b66=a0_0x445626,_0x1b9710={'tPaHs':'[KafkaConsumer]\x20Consumer\x20disconnected','pxxxr':_0x205b66(0x103),'NRWhE':_0x205b66(0x132),'oHMFn':_0x205b66(0x169),'rcvhu':_0x205b66(0x122)};if(!this['consumer'])return;this[_0x205b66(0xee)]['on'](_0x1b9710['NRWhE'],()=>{const _0x3d50f6=_0x205b66;console['log'](_0x1b9710[_0x3d50f6(0x128)]),this[_0x3d50f6(0x106)]=![],this[_0x3d50f6(0x176)]=![];}),this['consumer']['on'](_0x205b66(0x134),()=>{const _0x284364=_0x205b66;console[_0x284364(0xf5)](_0x1b9710['pxxxr']),this[_0x284364(0x176)]=![];}),this[_0x205b66(0xee)]['on'](_0x1b9710[_0x205b66(0x101)],_0xe3e8a8=>{const _0x4c973e=_0x205b66;console['error'](_0x4c973e(0x12d)+_0xe3e8a8[_0x4c973e(0x10d)][_0x4c973e(0x121)][_0x4c973e(0xf9)]),this['isRunning']=![];}),this['consumer']['on'](_0x1b9710[_0x205b66(0x152)],()=>{const _0x327f76=_0x205b66;console['log'](_0x327f76(0x143));});}async['subscribe'](_0x468636,_0x512c7e=![]){const _0x4b9615=a0_0x445626;if(!this[_0x4b9615(0x106)])return console[_0x4b9615(0x121)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0xff96db=Array[_0x4b9615(0x14b)](_0x468636)?_0x468636:[_0x468636];for(const _0x2d901c of _0xff96db){await this['consumer']['subscribe']({'topic':_0x2d901c,'fromBeginning':_0x512c7e}),console[_0x4b9615(0xf5)](_0x4b9615(0x10f)+_0x2d901c+_0x4b9615(0xff)+_0x512c7e+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0xff96db])],!![];}catch(_0x12b23b){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x12b23b[_0x4b9615(0xf9)]),![];}}async[a0_0x445626(0x11d)](_0x369e62,_0x5e941f={}){const _0x196469=a0_0x445626,_0x37ff26={'GpTxS':function(_0x2fc65b,_0x20b1e3){return _0x2fc65b+_0x20b1e3;},'fEADR':function(_0x550746,_0x5d9a01){return _0x550746-_0x5d9a01;},'BiMUW':function(_0x2c6206,_0x4c9895){return _0x2c6206>_0x4c9895;},'YOAnr':_0x196469(0x157),'dUHqD':'[KafkaConsumer]\x20Consumer\x20already\x20running','SZSXw':function(_0x125fab,_0x47f006){return _0x125fab!==_0x47f006;}};if(!this[_0x196469(0x106)])return console[_0x196469(0x121)](_0x37ff26['YOAnr']),![];if(this['isRunning'])return console[_0x196469(0xf5)](_0x37ff26['dUHqD']),!![];const _0x504dfe=this['getConfig']();this[_0x196469(0x16c)]=_0x369e62;try{return this[_0x196469(0x16a)]['startTime']=new Date(),await this['consumer'][_0x196469(0xf2)]({'autoCommit':_0x37ff26[_0x196469(0x161)](_0x5e941f['autoCommit'],undefined)?_0x5e941f[_0x196469(0x113)]:_0x504dfe[_0x196469(0x113)],'autoCommitInterval':_0x504dfe['autoCommitInterval'],'eachMessage':async({topic:_0x46c710,partition:_0x9c9f22,message:_0x13bc2c,heartbeat:_0x4b3ee5})=>{const _0x43fe44=_0x196469,_0x309aab=Date[_0x43fe44(0x15f)]();this[_0x43fe44(0x16a)][_0x43fe44(0x16b)]++,this[_0x43fe44(0x16a)][_0x43fe44(0x141)]=new Date();try{const _0x113bf2=_0x13bc2c[_0x43fe44(0x11f)]?_0x13bc2c[_0x43fe44(0x11f)]['toString']():null;let _0x1ece63=null;try{_0x1ece63=_0x113bf2?JSON['parse'](_0x113bf2):null;}catch(_0x4e4bfd){_0x1ece63=_0x113bf2;}const _0x3dc646={'topic':_0x46c710,'partition':_0x9c9f22,'offset':_0x13bc2c[_0x43fe44(0x142)],'key':_0x13bc2c['key']?_0x13bc2c[_0x43fe44(0xf4)]['toString']():null,'headers':this[_0x43fe44(0x158)](_0x13bc2c['headers']),'timestamp':_0x13bc2c[_0x43fe44(0x11e)],'value':_0x1ece63,'raw':_0x113bf2};this['messageHandler']&&await this['messageHandler'](_0x3dc646);!_0x504dfe[_0x43fe44(0x113)]&&await this[_0x43fe44(0xee)][_0x43fe44(0x164)]([{'topic':_0x46c710,'partition':_0x9c9f22,'offset':_0x37ff26[_0x43fe44(0x10c)](parseInt(_0x13bc2c[_0x43fe44(0x142)]),0x1)[_0x43fe44(0x123)]()}]);this[_0x43fe44(0x16a)]['messagesProcessed']++;const _0x4aecef=_0x37ff26['fEADR'](Date[_0x43fe44(0x15f)](),_0x309aab);this[_0x43fe44(0x16a)][_0x43fe44(0x153)]['push'](_0x4aecef),_0x37ff26['BiMUW'](this['metrics']['processingTimes']['length'],0x64)&&this['metrics'][_0x43fe44(0x153)][_0x43fe44(0x15c)](),await _0x4b3ee5();}catch(_0x5114df){this['metrics'][_0x43fe44(0x14e)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x5114df[_0x43fe44(0xf9)]);throw _0x5114df;}}}),this[_0x196469(0x176)]=!![],console[_0x196469(0xf5)](_0x196469(0x112)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x34c747){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x34c747[_0x196469(0xf9)]),![];}}[a0_0x445626(0x158)](_0x4a22ca){if(!_0x4a22ca)return{};const _0x461b33={};for(const [_0x23e1f4,_0x76a94f]of Object['entries'](_0x4a22ca)){_0x461b33[_0x23e1f4]=_0x76a94f?_0x76a94f['toString']():null;}return _0x461b33;}async['pause'](){const _0x3b87ef=a0_0x445626,_0xc089ef={'VeBuf':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'};if(!this['isConnected']||!this[_0x3b87ef(0x176)])return console[_0x3b87ef(0xf5)](_0xc089ef[_0x3b87ef(0x109)]),![];if(this['isPaused'])return console[_0x3b87ef(0xf5)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x2b6207=this['subscribedTopics'][_0x3b87ef(0x13b)](_0x3d73f1=>({'topic':_0x3d73f1}));return this[_0x3b87ef(0xee)]['pause'](_0x2b6207),this[_0x3b87ef(0x175)]=!![],console[_0x3b87ef(0xf5)]('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x16e875){return console[_0x3b87ef(0x121)](_0x3b87ef(0xfa)+_0x16e875['message']),![];}}async['resume'](){const _0x42c5e0=a0_0x445626,_0x1fb74b={'ygMFj':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','SWBlr':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this[_0x42c5e0(0x106)]||!this[_0x42c5e0(0x176)])return console['log'](_0x1fb74b[_0x42c5e0(0x116)]),![];if(!this['isPaused'])return console[_0x42c5e0(0xf5)](_0x42c5e0(0x13f)),!![];try{const _0x146440=this[_0x42c5e0(0x14c)]['map'](_0xbd6948=>({'topic':_0xbd6948}));return this[_0x42c5e0(0xee)]['resume'](_0x146440),this['isPaused']=![],console[_0x42c5e0(0xf5)](_0x1fb74b['SWBlr']),!![];}catch(_0x5665b1){return console['error'](_0x42c5e0(0x146)+_0x5665b1[_0x42c5e0(0xf9)]),![];}}async['stop'](){const _0x5ea719=a0_0x445626,_0x4620a2={'nbjgh':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this[_0x5ea719(0x106)])return console[_0x5ea719(0xf5)](_0x4620a2[_0x5ea719(0x167)]),!![];try{const _0xa8b681=_0x5ea719(0x12e)[_0x5ea719(0xec)]('|');let _0x302ee3=0x0;while(!![]){switch(_0xa8b681[_0x302ee3++]){case'0':this[_0x5ea719(0xee)]&&(await this['consumer']['stop'](),await this['consumer'][_0x5ea719(0x145)]());continue;case'1':this[_0x5ea719(0x176)]=![];continue;case'2':this[_0x5ea719(0x175)]=![];continue;case'3':console[_0x5ea719(0xf5)](_0x5ea719(0x150));continue;case'4':this[_0x5ea719(0x106)]=![];continue;case'5':return!![];}break;}}catch(_0x3192df){return console['error'](_0x5ea719(0xed)+_0x3192df[_0x5ea719(0xf9)]),![];}}async['seekToOffset'](_0x11a4aa,_0x1998e8,_0xd19e88){const _0x338e92=a0_0x445626,_0x4a4250={'OntGG':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x338e92(0x106)])return console[_0x338e92(0x121)](_0x4a4250['OntGG']),![];try{return this['consumer'][_0x338e92(0x10a)]({'topic':_0x11a4aa,'partition':_0x1998e8,'offset':_0xd19e88['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0xd19e88+'\x20on\x20'+_0x11a4aa+':'+_0x1998e8),!![];}catch(_0x59cb17){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x59cb17[_0x338e92(0xf9)]),![];}}[a0_0x445626(0x11a)](){const _0x47ae98=a0_0x445626,_0x1b4717=this['getConfig']();return{'enabled':_0x1b4717[_0x47ae98(0x154)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x1b4717[_0x47ae98(0x170)],'clientId':_0x1b4717[_0x47ae98(0x133)],'groupId':this[_0x47ae98(0x14d)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x3f051f=a0_0x445626,_0x5d6f9d={'BAKxS':function(_0x210703,_0x403c1e){return _0x210703/_0x403c1e;},'uqDME':function(_0x21f7ef,_0x2dfe47){return _0x21f7ef>_0x2dfe47;},'aerLD':function(_0x172636,_0x148cc1){return _0x172636>_0x148cc1;},'yuvQj':function(_0x25fcc5,_0x28ca8a){return _0x25fcc5*_0x28ca8a;},'DTqOG':function(_0x470ff6,_0x4db086){return _0x470ff6+_0x4db086;},'AwKHs':function(_0x3addb5,_0x36a0c5){return _0x3addb5+_0x36a0c5;},'aXeUa':function(_0x39104d,_0x2b08b7){return _0x39104d+_0x2b08b7;}},_0x266936=this['metrics']['processingTimes'][_0x3f051f(0x120)]>0x0?_0x5d6f9d[_0x3f051f(0x107)](this[_0x3f051f(0x16a)][_0x3f051f(0x153)]['reduce']((_0x3c7ab1,_0x4e4d78)=>_0x3c7ab1+_0x4e4d78,0x0),this['metrics']['processingTimes'][_0x3f051f(0x120)]):0x0,_0x847d80=_0x5d6f9d['uqDME'](this[_0x3f051f(0x16a)]['processingTimes']['length'],0x0)?Math[_0x3f051f(0x135)](...this['metrics'][_0x3f051f(0x153)]):0x0,_0x127ebb=_0x5d6f9d[_0x3f051f(0x108)](this['metrics'][_0x3f051f(0x153)]['length'],0x0)?Math[_0x3f051f(0x10b)](...this['metrics'][_0x3f051f(0x153)]):0x0;return{'messagesReceived':this[_0x3f051f(0x16a)][_0x3f051f(0x16b)],'messagesProcessed':this['metrics'][_0x3f051f(0x129)],'messagesFailed':this['metrics'][_0x3f051f(0x14e)],'successRate':_0x5d6f9d['aerLD'](this['metrics']['messagesReceived'],0x0)?_0x5d6f9d['yuvQj'](_0x5d6f9d[_0x3f051f(0x107)](this['metrics'][_0x3f051f(0x129)],this['metrics'][_0x3f051f(0x16b)]),0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this[_0x3f051f(0x16a)]['lastMessageTime'],'startTime':this[_0x3f051f(0x16a)]['startTime'],'uptime':this['metrics'][_0x3f051f(0x105)]?_0x5d6f9d['DTqOG'](Math['floor']((Date['now']()-this['metrics']['startTime'][_0x3f051f(0x15a)]())/0x3e8),'s'):'0s','processingTime':{'avg':_0x5d6f9d[_0x3f051f(0x13d)](Math[_0x3f051f(0x126)](_0x266936),'ms'),'min':_0x847d80+'ms','max':_0x5d6f9d['aXeUa'](_0x127ebb,'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['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x4df8bb=a0_0x445626;instance&&(instance[_0x4df8bb(0x137)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};function a0_0x5052(){const _0x14f4f3=['w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','y29UC3vTzxi','tK9useLorW','mZaWmda','mJqYnda2Cefbs2zK','CNvU','Dg9mB3DLCKnHC2u','A2v5','Bg9N','CMv0CNLnyxHezwXHEq','Aufftfi','s0fgs0fFqvvut19dt01nsvq','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','CMv0CNLezwXHEq','revcvuC','s0fgs0fFqLjps0vsuW','y29UBMvJDa','icHMCM9TqMvNAw5UAw5NoIa','A2fMA2e','B0HnrM4','mte4nZa5mxPWAMnbuq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','Bwf4qNL0zxnqzxjqyxj0AxrPB24','C3rHCNruAw1L','AxndB25Uzwn0zwq','qKflEfm','Dxfetuu','vMvcDwy','C2vLAW','Bwf4','r3buEfm','Cgf5Bg9Hza','ndi0nLH2wMjjyq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','mZaWma','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','yxv0B0nVBw1PDa','s0fgs0fFu1nm','mta0odu3nG','EwDnrMO','C2v0DxbfDMvUDeHHBMrSzxjZ','AxnjBML0AwfSAxPPBMC','s0fgs0fFuKvuuLLFrevmqvK','z2v0u3rHDhvZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','v0fstG','C3rHCNrdB25ZDw1PBMC','DgLTzxn0yw1W','DMfSDwu','BgvUz3rO','zxjYB3i','y29UC3vTzxiUCMvIywXHBMnPBMC','Dg9tDhjPBMC','su5gtW','s0fgs0fFru5bqKXfra','CM91BMq','D2fYBG','DfbHshm','BwvZC2fNzxnqCM9JzxnZzwq','rvjst1i','ntjlseX5s0G','s0fgs0fFte9hx0XfvKvm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','mhW0Fdf8mNWZFdu','s0fgs0fFu0fttf9vu0vstKfnrq','CMvXDwvZDfrPBwvVDxq','mtm4nJmZzKzPyLrj','y29UC3vTzxiUzgLZy29UBMvJDa','y2XPzw50swq','y29UC3vTzxiUC3rVCa','BwLU','mtaWma','y2XVC2u','AM9PBG','mta1ruXruxLZ','s3vZuwy','BwfW','y29UBMvJDgLVBLbYB21PC2u','qxDlshm','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','mJiWzLbps2ve','BgfZDe1LC3nHz2vuAw1L','B2zMC2v0','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','CMvZDgzVCMDLlq','zgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','y29UBMvJDgLVBLrPBwvVDxq','z3rusw8','C2vZC2LVBLrPBwvVDxq','ndGYotG4ENPtDfL6','AxnbCNjHEq','C3vIC2nYAwjLzfrVCgLJCW','z3jVDxbjza','BwvZC2fNzxngywLSzwq','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','AgvHCNrIzwf0sw50zxj2ywW','CMn2Ahu','ChjVy2vZC2LUz1rPBwvZ','zw5HyMXLza','s0fgs0fFu0fttf9nruniqu5ju00','Dhj1zq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','CgfYC2vizwfKzxjZ','mZvXyuvLEhm','z2v0vgLTzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C2HPzNq','mJaWuunSweT4','s0fgs0fFq0Xjru5ux0Le','BM93','suLmsg4','u1PtwhC','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','zw52','y29TBwL0t2zMC2v0CW','ntaWma','s0fgs0fFuKvrvuvtvf9usu1ft1vu','BMjQz2G','sMjgz0e','y29UC3vTzxiUy3jHC2G','Bwv0CMLJCW','BwvZC2fNzxnszwnLAxzLza','BwvZC2fNzuHHBMrSzxi','zxjLwNO','z2v0tg9Ntgv2zwW','Bg9JywXOB3n0oJKWoti','yNjVA2vYCW','mJr3D2PwBMW','CK94C00','ntmZnZuYvuDvAgnX','mZeWmefVzNPzua','AxnqyxvZzwq','AxnsDw5UAw5N','nhW3Fdv8ohW2Fdn8mhWXmhW5Fdf8mG','s0fgs0fFq09otKvdveLptL9usu1ft1vu','C3bSAxq'];a0_0x5052=function(){return _0x14f4f3;};return a0_0x5052();}
1
+ const a0_0x3efbc4=a0_0x2fab;(function(_0xdd990f,_0x4fbb4b){const _0x4324b3=a0_0x2fab,_0x423ca6=_0xdd990f();while(!![]){try{const _0x20911d=-parseInt(_0x4324b3(0xcd))/0x1*(-parseInt(_0x4324b3(0xd4))/0x2)+-parseInt(_0x4324b3(0x141))/0x3+-parseInt(_0x4324b3(0x133))/0x4*(parseInt(_0x4324b3(0xfe))/0x5)+-parseInt(_0x4324b3(0x138))/0x6+parseInt(_0x4324b3(0xf9))/0x7+-parseInt(_0x4324b3(0x105))/0x8*(parseInt(_0x4324b3(0x122))/0x9)+-parseInt(_0x4324b3(0x12f))/0xa*(-parseInt(_0x4324b3(0x136))/0xb);if(_0x20911d===_0x4fbb4b)break;else _0x423ca6['push'](_0x423ca6['shift']());}catch(_0x55c94b){_0x423ca6['push'](_0x423ca6['shift']());}}}(a0_0x3a6a,0x9ca44));const {Kafka,logLevel}=require(a0_0x3efbc4(0xe1)),{v7:uuidv7}=require('uuid');function a0_0x3a6a(){const _0x592619=['Cgf1C2u','Bg9N','C2vZC2LVBLrPBwvVDxq','BwvZC2fNzxnqCM9JzxnZzwq','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','BwvZC2fNzuHHBMrSzxi','Bwf4','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','BgfZDe1LC3nHz2vuAw1L','mta0odu3nG','BwvZC2fNzxnszwnLAxzLza','nte0mti3n0TqCeDsvG','s1ruCKu','tK9useLorW','Bwv0CMLJCW','mZaWma','Dg9gAxHLza','DMfSDwu','y2XPzw50swq','A2v5','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','rg5uwu4','mZaWmda','C2HPzNq','mtmWmZbvuM16Aw0','CMv0CNLezwXHEq','C2v0DxbfDMvUDeHHBMrSzxjZ','uuHPDLq','oti0mZe2AvjXtKHl','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','mtC3ntriz0j5zvi','y29UC3vTzxi','mZiYnJCYmM94AKrhsW','mtb8nxWZFdD8ohWWFdr8nNW5Fdj8mq','rfntBgC','s0fgs0fFsevbuLrcrufux0LovevsvKfm','A2fMA2e','BgvUz3rO','AxnjBML0AwfSAxPPBMC','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','mZmXmJe5mMzJExPswa','BM93','mJCXndu0zuv2zuLS','v01nvve','C3vIC2nYAwjLzfrVCgLJCW','AxnqyxvZzwq','C0TjBhO','CMvZDgzVCMDLlq','s0fgs0fFuKvuuLLFtufyx0rftefz','ogf3CujkBW','C3vIC2nYAwjL','v0fstG','C3rHCNrdB25ZDw1PBMC','Aw5PDgLHBgL6zq','C2vLAW','z2v0q29UzMLN','AgvHCNrIzwf0sw50zxj2ywW','rxrVDwK','CMvXDwvZDfrPBwvVDxq','zhjdsxK','zMXVB3i','s0fgs0fFu0fttf9vu0vstKfnrq','A2fMA2fQCW','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','y29UBMvJDgLVBLbYB21PC2u','z3jVDxbjza','sLbeq2G','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','s0fgs0fFuKvuuLLFqvruru1qvfm','y29UC3vTzxiUy3jHC2G','t1rwzeW','mJuWmda','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','twDHDhe','zxjYB3i','wevQve8','y3nAD1K','zMLpvLi','Cgf5Bg9Hza','CgfYC2u','BwfW','AM9PBG','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','Bwf4qNL0zxnqzxjqyxj0AxrPB24','s0fgs0fFu0fttf9nruniqu5ju00','s0fgs0fFru5bqKXfra','ntC0odCXnunhu1fRrq','ntaWma','ChvZAa','s0fgs0fFuKvrvuvtvf9usu1ft1vu','BwvZC2fNzq','mJvjyKP3rK4','BwvZC2fNzxngywLSzwq','lwnVBNn1BwvY','zgvMyxvSDa','C3rVCa','s3bZr04','B01QyMK','oezcBKTUzG','ig9Uia','uMPquhe','z2v0u3rHDhvZ','AxnsDw5UAw5N','CMvKDwnL','zw52','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zxHWB3j0CW','ChjVy2vZC2LUz1rPBwvZ','zgLZy29UBMvJDa','yxv0B0nVBw1PDa','uM1hD28','q2jKvhC','C3rHCNruAw1L','s0fgs0fFu1nm'];a0_0x3a6a=function(){return _0x592619;};return a0_0x3a6a();}class KafkaConsumerService{constructor(){const _0x10dcaa=a0_0x3efbc4,_0x16ca51=_0x10dcaa(0x139)['split']('|');let _0x269cf2=0x0;while(!![]){switch(_0x16ca51[_0x269cf2++]){case'0':this[_0x10dcaa(0xd0)]=![];continue;case'1':this[_0x10dcaa(0x125)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'2':this[_0x10dcaa(0x11b)]=null;continue;case'3':this['isConnected']=![];continue;case'4':this['connectionPromise']=null;continue;case'5':this['consumer']=null;continue;case'6':this['subscribedTopics']=[];continue;case'7':this['isInitializing']=![];continue;case'8':this[_0x10dcaa(0x109)]=![];continue;case'9':this[_0x10dcaa(0xe4)]=null;continue;case'10':this[_0x10dcaa(0x13c)]=null;continue;}break;}}['getConfig'](){const _0xbcbb68=a0_0x3efbc4,_0x4f9ef2={'FnxmH':function(_0x3506b6,_0xef6995){return _0x3506b6===_0xef6995;},'KpsGN':'localhost:9092','oMjbi':_0xbcbb68(0x126),'drCIy':function(_0x36feee,_0x1dabde){return _0x36feee(_0x1dabde);},'RmGwo':_0xbcbb68(0xea),'GIDPf':function(_0x11d5c4,_0x12ea0e){return _0x11d5c4(_0x12ea0e);},'QHivT':_0xbcbb68(0x120),'OTVdL':'true','JlEuT':_0xbcbb68(0xfa),'WUIBX':'30000','DhEkI':'warn'};return{'enabled':_0x4f9ef2['FnxmH'](process['env'][_0xbcbb68(0xf8)],'true'),'brokers':(process[_0xbcbb68(0x10b)]['KAFKA_BROKERS']||_0x4f9ef2[_0xbcbb68(0x103)])['split'](','),'clientId':process[_0xbcbb68(0x10b)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0xbcbb68(0x10b)][_0xbcbb68(0x10c)]||_0xbcbb68(0x101))+_0xbcbb68(0x100),'connectionTimeout':parseInt(process[_0xbcbb68(0x10b)]['KAFKA_CONNECTION_TIMEOUT']||_0x4f9ef2[_0xbcbb68(0x104)]),'requestTimeout':_0x4f9ef2['drCIy'](parseInt,process['env'][_0xbcbb68(0xfc)]||_0x4f9ef2[_0xbcbb68(0x111)]),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||_0xbcbb68(0x12d)),'heartbeatInterval':_0x4f9ef2[_0xbcbb68(0xde)](parseInt,process['env'][_0xbcbb68(0x13b)]||_0x4f9ef2['oMjbi']),'maxBytesPerPartition':_0x4f9ef2['GIDPf'](parseInt,process[_0xbcbb68(0x10b)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x4f9ef2[_0xbcbb68(0x132)]),'autoCommit':process[_0xbcbb68(0x10b)]['KAFKA_AUTO_COMMIT']===_0x4f9ef2[_0xbcbb68(0xe9)],'autoCommitInterval':parseInt(process[_0xbcbb68(0x10b)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x4f9ef2['JlEuT']),'retryAttempts':parseInt(process['env'][_0xbcbb68(0xe7)]||'3'),'retryDelay':_0x4f9ef2['drCIy'](parseInt,process[_0xbcbb68(0x10b)]['KAFKA_RETRY_DELAY']||'1000'),'retryMaxDelay':_0x4f9ef2['GIDPf'](parseInt,process[_0xbcbb68(0x10b)][_0xbcbb68(0xd3)]||_0x4f9ef2['WUIBX']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x4f9ef2['DhEkI']};}['getLogLevel'](_0x80c5cf){const _0x5a6249=a0_0x3efbc4,_0x59393e={'nothing':logLevel[_0x5a6249(0x124)],'error':logLevel['ERROR'],'warn':logLevel[_0x5a6249(0xd6)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x59393e[_0x80c5cf['toLowerCase']()]||logLevel['WARN'];}async[a0_0x3efbc4(0xd8)](_0x199b18={}){const _0x37c3c6=a0_0x3efbc4,_0x4034e0={'WMMUQ':function(_0xe9fbd8,_0x427f88){return _0xe9fbd8===_0x427f88;},'SNFNk':'true','CbdTw':function(_0x241281,_0x4fa4e0){return _0x241281(_0x4fa4e0);},'csZwY':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x522a54=this['getConfig']();if(!_0x522a54['enabled'])return console[_0x37c3c6(0x116)](_0x4034e0[_0x37c3c6(0xef)]),![];if(this[_0x37c3c6(0x11d)])return!![];if(this[_0x37c3c6(0x13e)]&&this[_0x37c3c6(0xe3)])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x37c3c6(0xe3)]=new Promise(async _0x5c9bdf=>{const _0x34794a=_0x37c3c6;try{let _0x4a59dc=undefined;_0x4034e0[_0x34794a(0xce)](process[_0x34794a(0x10b)][_0x34794a(0x114)],_0x4034e0['SNFNk'])&&(_0x4a59dc=!![]);let _0x14343e=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x14343e={'mechanism':process['env'][_0x34794a(0xf7)],'username':process['env'][_0x34794a(0xe0)]||'','password':process[_0x34794a(0x10b)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x199b18[_0x34794a(0x129)]||_0x522a54['clientId'],'brokers':_0x522a54['brokers'],'connectionTimeout':_0x522a54['connectionTimeout'],'requestTimeout':_0x522a54[_0x34794a(0xdd)],'logLevel':this['getLogLevel'](_0x522a54['logLevel']),'ssl':_0x4a59dc,'sasl':_0x14343e,'retry':{'initialRetryTime':_0x522a54[_0x34794a(0x130)],'retries':_0x522a54[_0x34794a(0x134)],'maxRetryTime':_0x522a54['retryMaxDelay']}}),this['groupId']=_0x199b18[_0x34794a(0xe4)]||_0x34794a(0xd2)+(process['env'][_0x34794a(0x10c)]||'default')+'-consumer-group',this[_0x34794a(0x137)]=this['kafka']['consumer']({'groupId':this[_0x34794a(0xe4)],'sessionTimeout':_0x522a54[_0x34794a(0x117)],'heartbeatInterval':_0x522a54[_0x34794a(0xdb)],'maxBytesPerPartition':_0x522a54[_0x34794a(0xf6)],'allowAutoTopicCreation':![]}),await this[_0x34794a(0x137)]['connect'](),this['isConnected']=!![],console[_0x34794a(0x116)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x522a54['brokers'][_0x34794a(0xf4)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x5c9bdf(!![]);}catch(_0x58c902){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x58c902[_0x34794a(0xfd)]),this[_0x34794a(0x11d)]=![],_0x4034e0[_0x34794a(0x112)](_0x5c9bdf,![]);}finally{this[_0x34794a(0x13e)]=![];}}),this[_0x37c3c6(0xe3)];}[a0_0x3efbc4(0x131)](){const _0x4aca89=a0_0x3efbc4,_0x39955e={'pqbXR':_0x4aca89(0x12b),'cpzgT':'consumer.stop','DSSlg':'consumer.rebalancing'};if(!this['consumer'])return;this['consumer']['on']('consumer.disconnect',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20disconnected'),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on'](_0x39955e['cpzgT'],()=>{const _0x3201a9=_0x4aca89;console['log'](_0x3201a9(0xe6)),this[_0x3201a9(0x109)]=![];}),this[_0x4aca89(0x137)]['on'](_0x4aca89(0xe8),_0x4296cd=>{const _0x35f423=_0x4aca89;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x4296cd[_0x35f423(0xf1)][_0x35f423(0xed)][_0x35f423(0xfd)]),this['isRunning']=![];}),this[_0x4aca89(0x137)]['on'](_0x39955e[_0x4aca89(0x13a)],()=>{const _0x3cd504=_0x4aca89;console[_0x3cd504(0x116)](_0x39955e['pqbXR']);});}async['subscribe'](_0xa6a180,_0x12c30b=![]){const _0x32739d=a0_0x3efbc4,_0x108fdf={'sKIlz':_0x32739d(0x11e)};if(!this[_0x32739d(0x11d)])return console[_0x32739d(0xed)](_0x108fdf[_0x32739d(0xd1)]),![];try{const _0x1131d2=Array['isArray'](_0xa6a180)?_0xa6a180:[_0xa6a180];for(const _0x14dcf7 of _0x1131d2){await this['consumer'][_0x32739d(0xd5)]({'topic':_0x14dcf7,'fromBeginning':_0x12c30b}),console[_0x32739d(0x116)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x14dcf7+'\x20(fromBeginning:\x20'+_0x12c30b+')');}return this[_0x32739d(0xcf)]=[...new Set([...this[_0x32739d(0xcf)],..._0x1131d2])],!![];}catch(_0x5312a8){return console[_0x32739d(0xed)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x5312a8['message']),![];}}async[a0_0x3efbc4(0xd7)](_0x3552d8,_0x518af1={}){const _0x18abe0=a0_0x3efbc4,_0x2aca1f={'juiUX':function(_0xb4702d,_0x52e4af){return _0xb4702d+_0x52e4af;},'JPDCh':function(_0x500340,_0x14171a){return _0x500340(_0x14171a);},'DnTYN':function(_0x2499eb,_0x525ddc){return _0x2499eb-_0x525ddc;},'cuMof':function(_0x5aaeef,_0x547933){return _0x5aaeef>_0x547933;},'Etoui':function(_0x42d365){return _0x42d365();},'nbJUO':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','Mgatq':function(_0x1a8cbd,_0x4939f5){return _0x1a8cbd!==_0x4939f5;}};if(!this[_0x18abe0(0x11d)])return console['error'](_0x2aca1f['nbJUO']),![];if(this[_0x18abe0(0x109)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x48114f=this[_0x18abe0(0xda)]();this['messageHandler']=_0x3552d8;try{return this['metrics'][_0x18abe0(0x113)]=new Date(),await this[_0x18abe0(0x137)]['run']({'autoCommit':_0x2aca1f[_0x18abe0(0xec)](_0x518af1['autoCommit'],undefined)?_0x518af1[_0x18abe0(0x110)]:_0x48114f[_0x18abe0(0x110)],'autoCommitInterval':_0x48114f['autoCommitInterval'],'eachMessage':async({topic:_0x1f3838,partition:_0xb4726,message:_0x2afbb9,heartbeat:_0x1827b6})=>{const _0x42349e=_0x18abe0,_0x11965d=Date[_0x42349e(0xcc)]();this['metrics'][_0x42349e(0x121)]++,this['metrics']['lastMessageTime']=new Date();try{const _0x578301=_0x2afbb9[_0x42349e(0x128)]?_0x2afbb9['value']['toString']():null;let _0xc3d193=null;try{_0xc3d193=_0x578301?JSON[_0x42349e(0xf2)](_0x578301):null;}catch(_0x426d96){_0xc3d193=_0x578301;}const _0x5aa696={'topic':_0x1f3838,'partition':_0xb4726,'offset':_0x2afbb9['offset'],'key':_0x2afbb9['key']?_0x2afbb9[_0x42349e(0x12a)]['toString']():null,'headers':this['parseHeaders'](_0x2afbb9['headers']),'timestamp':_0x2afbb9['timestamp'],'value':_0xc3d193,'raw':_0x578301};this['messageHandler']&&await this['messageHandler'](_0x5aa696);!_0x48114f[_0x42349e(0x110)]&&await this[_0x42349e(0x137)]['commitOffsets']([{'topic':_0x1f3838,'partition':_0xb4726,'offset':_0x2aca1f['juiUX'](_0x2aca1f[_0x42349e(0xe5)](parseInt,_0x2afbb9['offset']),0x1)['toString']()}]);this['metrics'][_0x42349e(0x118)]++;const _0x2663dc=_0x2aca1f[_0x42349e(0x12c)](Date['now'](),_0x11965d);this[_0x42349e(0x125)][_0x42349e(0x10e)][_0x42349e(0xfb)](_0x2663dc),_0x2aca1f['cuMof'](this[_0x42349e(0x125)]['processingTimes'][_0x42349e(0x13d)],0x64)&&this[_0x42349e(0x125)][_0x42349e(0x10e)][_0x42349e(0x12e)](),await _0x2aca1f[_0x42349e(0xdc)](_0x1827b6);}catch(_0x6131d3){this[_0x42349e(0x125)][_0x42349e(0xff)]++,console['error'](_0x42349e(0x135)+_0x6131d3['message']);throw _0x6131d3;}}}),this['isRunning']=!![],console[_0x18abe0(0x116)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x18abe0(0xcf)]['join'](',\x20')),!![];}catch(_0x3c5457){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x3c5457['message']),![];}}['parseHeaders'](_0x4d9c4d){if(!_0x4d9c4d)return{};const _0x296fbf={};for(const [_0x1c8442,_0x5a3564]of Object['entries'](_0x4d9c4d)){_0x296fbf[_0x1c8442]=_0x5a3564?_0x5a3564['toString']():null;}return _0x296fbf;}async['pause'](){const _0x1e515b=a0_0x3efbc4,_0x297120={'RjPPq':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this[_0x1e515b(0x11d)]||!this[_0x1e515b(0x109)])return console['log'](_0x1e515b(0x140)),![];if(this[_0x1e515b(0xd0)])return console['log'](_0x297120[_0x1e515b(0x107)]),!![];try{const _0x2537c4=this[_0x1e515b(0xcf)]['map'](_0x46f1c5=>({'topic':_0x46f1c5}));return this['consumer'][_0x1e515b(0x115)](_0x2537c4),this[_0x1e515b(0xd0)]=!![],console['log'](_0x1e515b(0x11a)),!![];}catch(_0x4b8a43){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x4b8a43[_0x1e515b(0xfd)]),![];}}async['resume'](){const _0x3422de=a0_0x3efbc4;if(!this['isConnected']||!this['isRunning'])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x3422de(0xd0)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x5bfe74=this[_0x3422de(0xcf)][_0x3422de(0xf3)](_0x3d4ec8=>({'topic':_0x3d4ec8}));return this['consumer']['resume'](_0x5bfe74),this['isPaused']=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x7e57e2){return console[_0x3422de(0xed)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x7e57e2[_0x3422de(0xfd)]),![];}}async[a0_0x3efbc4(0x102)](){const _0x1b4f7d=a0_0x3efbc4,_0xa1201d={'XEjTO':_0x1b4f7d(0xeb)};if(!this['isConnected'])return console[_0x1b4f7d(0x116)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this['consumer']&&(await this[_0x1b4f7d(0x137)][_0x1b4f7d(0x102)](),await this['consumer'][_0x1b4f7d(0x10f)]()),this['isConnected']=![],this[_0x1b4f7d(0x109)]=![],this['isPaused']=![],console['log'](_0xa1201d[_0x1b4f7d(0xee)]),!![];}catch(_0x1d09ad){return console[_0x1b4f7d(0xed)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x1d09ad['message']),![];}}async['seekToOffset'](_0x5cd94a,_0x18977b,_0x2ddb36){const _0x4b826b=a0_0x3efbc4;if(!this['isConnected'])return console[_0x4b826b(0xed)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0x4b826b(0x137)][_0x4b826b(0xd9)]({'topic':_0x5cd94a,'partition':_0x18977b,'offset':_0x2ddb36[_0x4b826b(0x13f)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x2ddb36+_0x4b826b(0x106)+_0x5cd94a+':'+_0x18977b),!![];}catch(_0x300e1e){return console[_0x4b826b(0xed)](_0x4b826b(0xf5)+_0x300e1e['message']),![];}}[a0_0x3efbc4(0x108)](){const _0x24ece6=a0_0x3efbc4,_0xa185c6=this[_0x24ece6(0xda)]();return{'enabled':_0xa185c6[_0x24ece6(0x119)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0xa185c6['brokers'],'clientId':_0xa185c6[_0x24ece6(0x129)],'groupId':this[_0x24ece6(0xe4)],'subscribedTopics':this[_0x24ece6(0xcf)]};}['getMetrics'](){const _0x412406=a0_0x3efbc4,_0x366257={'eTKGf':function(_0x5259af,_0x58354d){return _0x5259af>_0x58354d;},'fiOVR':function(_0x3e74bf,_0x391583){return _0x3e74bf+_0x391583;},'KTTrE':function(_0x5f1384,_0x5d1d0a){return _0x5f1384+_0x5d1d0a;}},_0x330989=this['metrics'][_0x412406(0x10e)][_0x412406(0x13d)]>0x0?this[_0x412406(0x125)][_0x412406(0x10e)][_0x412406(0x10a)]((_0x58111f,_0xfbc38a)=>_0x58111f+_0xfbc38a,0x0)/this['metrics']['processingTimes'][_0x412406(0x13d)]:0x0,_0x4ba0b6=this[_0x412406(0x125)]['processingTimes'][_0x412406(0x13d)]>0x0?Math['min'](...this[_0x412406(0x125)][_0x412406(0x10e)]):0x0,_0x34d9a8=this['metrics'][_0x412406(0x10e)]['length']>0x0?Math[_0x412406(0x11c)](...this[_0x412406(0x125)][_0x412406(0x10e)]):0x0;return{'messagesReceived':this['metrics'][_0x412406(0x121)],'messagesProcessed':this[_0x412406(0x125)][_0x412406(0x118)],'messagesFailed':this['metrics'][_0x412406(0xff)],'successRate':_0x366257['eTKGf'](this['metrics'][_0x412406(0x121)],0x0)?(this['metrics']['messagesProcessed']/this['metrics']['messagesReceived']*0x64)[_0x412406(0x127)](0x2)+'%':'0%','lastMessageTime':this['metrics'][_0x412406(0x11f)],'startTime':this[_0x412406(0x125)][_0x412406(0x113)],'uptime':this['metrics'][_0x412406(0x113)]?_0x366257[_0x412406(0xf0)](Math[_0x412406(0xdf)]((Date['now']()-this['metrics']['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':_0x366257[_0x412406(0x123)](Math['round'](_0x330989),'ms'),'min':_0x366257[_0x412406(0xf0)](_0x4ba0b6,'ms'),'max':_0x366257['KTTrE'](_0x34d9a8,'ms')}};}['resetMetrics'](){const _0x123d98=a0_0x3efbc4;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x123d98(0x109)]?new Date():null,'processingTimes':[]},console[_0x123d98(0x116)](_0x123d98(0xe2));}async['close'](){const _0xca9d64=a0_0x3efbc4;await this[_0xca9d64(0x102)]();}}let instance=null;function a0_0x2fab(_0x4374f1,_0x5da9b){_0x4374f1=_0x4374f1-0xcc;const _0x3a6a59=a0_0x3a6a();let _0x2fabeb=_0x3a6a59[_0x4374f1];if(a0_0x2fab['WlWLje']===undefined){var _0x3b6109=function(_0x55b3ba){const _0x5749cf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc68f25='',_0x6602e6='';for(let _0x4e8e50=0x0,_0x3188bb,_0x248391,_0x31c9d7=0x0;_0x248391=_0x55b3ba['charAt'](_0x31c9d7++);~_0x248391&&(_0x3188bb=_0x4e8e50%0x4?_0x3188bb*0x40+_0x248391:_0x248391,_0x4e8e50++%0x4)?_0xc68f25+=String['fromCharCode'](0xff&_0x3188bb>>(-0x2*_0x4e8e50&0x6)):0x0){_0x248391=_0x5749cf['indexOf'](_0x248391);}for(let _0x14db4d=0x0,_0x459b65=_0xc68f25['length'];_0x14db4d<_0x459b65;_0x14db4d++){_0x6602e6+='%'+('00'+_0xc68f25['charCodeAt'](_0x14db4d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6602e6);};a0_0x2fab['vkQaDC']=_0x3b6109,a0_0x2fab['LOWnqL']={},a0_0x2fab['WlWLje']=!![];}const _0x1640c4=_0x3a6a59[0x0],_0x591330=_0x4374f1+_0x1640c4,_0x3305b5=a0_0x2fab['LOWnqL'][_0x591330];return!_0x3305b5?(_0x2fabeb=a0_0x2fab['vkQaDC'](_0x2fabeb),a0_0x2fab['LOWnqL'][_0x591330]=_0x2fabeb):_0x2fabeb=_0x3305b5,_0x2fabeb;}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x3efbc4(0x10d)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};