@restforgejs/platform 5.2.12 → 5.2.16
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.
- package/bin/drift-check-linux +0 -0
- package/bin/sdf-tools-linux +0 -0
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +8 -9
- package/generators/cli/project/auth.js +209 -0
- package/generators/lib/auth/component-generator.js +58 -0
- package/generators/lib/auth/dependency-checker.js +102 -0
- package/generators/lib/auth/env-injector.js +81 -0
- package/generators/lib/auth/migrate-runner.js +111 -0
- package/generators/lib/auth/prefix.js +22 -0
- package/generators/lib/auth/processor-generator.js +55 -0
- package/generators/lib/auth/sdf-generator.js +102 -0
- package/generators/lib/auth/template-renderer.js +29 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
- package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
- package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
- package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
- package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +104 -0
- package/generators/lib/dbschema-kit/schema-printer.js +10 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x5c0261=a0_0x2342;function a0_0x2342(_0x381094,_0x32465a){_0x381094=_0x381094-0x15c;const _0xf92005=a0_0xf920();let _0x234289=_0xf92005[_0x381094];if(a0_0x2342['mLsdTh']===undefined){var _0x29ab74=function(_0x8bc804){const _0x3ec100='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x117100='',_0x2257f6='';for(let _0x430467=0x0,_0x5d3d8f,_0x73f0af,_0x102c00=0x0;_0x73f0af=_0x8bc804['charAt'](_0x102c00++);~_0x73f0af&&(_0x5d3d8f=_0x430467%0x4?_0x5d3d8f*0x40+_0x73f0af:_0x73f0af,_0x430467++%0x4)?_0x117100+=String['fromCharCode'](0xff&_0x5d3d8f>>(-0x2*_0x430467&0x6)):0x0){_0x73f0af=_0x3ec100['indexOf'](_0x73f0af);}for(let _0x249a01=0x0,_0x5cb84e=_0x117100['length'];_0x249a01<_0x5cb84e;_0x249a01++){_0x2257f6+='%'+('00'+_0x117100['charCodeAt'](_0x249a01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2257f6);};a0_0x2342['DmgRfh']=_0x29ab74,a0_0x2342['vTfycP']={},a0_0x2342['mLsdTh']=!![];}const _0x4c71c2=_0xf92005[0x0],_0x53d77c=_0x381094+_0x4c71c2,_0x25113a=a0_0x2342['vTfycP'][_0x53d77c];return!_0x25113a?(_0x234289=a0_0x2342['DmgRfh'](_0x234289),a0_0x2342['vTfycP'][_0x53d77c]=_0x234289):_0x234289=_0x25113a,_0x234289;}(function(_0x3dceb0,_0x2f1bdb){const _0x59d625=a0_0x2342,_0x5c438e=_0x3dceb0();while(!![]){try{const _0xc94349=parseInt(_0x59d625(0x1bc))/0x1*(parseInt(_0x59d625(0x175))/0x2)+parseInt(_0x59d625(0x17d))/0x3*(-parseInt(_0x59d625(0x18b))/0x4)+parseInt(_0x59d625(0x1df))/0x5+-parseInt(_0x59d625(0x195))/0x6*(-parseInt(_0x59d625(0x16d))/0x7)+parseInt(_0x59d625(0x1e7))/0x8+-parseInt(_0x59d625(0x18c))/0x9+-parseInt(_0x59d625(0x1b9))/0xa;if(_0xc94349===_0x2f1bdb)break;else _0x5c438e['push'](_0x5c438e['shift']());}catch(_0x36ec2b){_0x5c438e['push'](_0x5c438e['shift']());}}}(a0_0xf920,0xcbb56));function a0_0xf920(){const _0x115298=['CxvPDa','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','tuTwBvm','u2vYDMvYihnODxr0Aw5NigrVD24','z3HOA0S','lI4VlI4VDxrPBhmVBg9Nz2vY','y2XPzw50CW','Aw5JBhvKzxm','DhLWzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','BgLZDgvUzxjZ','CMvXDwvZDeLK','z0rZDMe','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','CgfYC2u','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','D0vIBLm','rKXIv0G','x2jYB2fKy2fZDeXVy2fS','uKvesvnFue9sva','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','Aw5MBW','rw1Pwhm','DxfUrKe','CgLUzW','x3DVCMTLCKLK','rw5wtK4','C2H1DgrVD24','y29UBMvJDa','x29WDgLVBNm','mJeWndiXnujMrfrrwG','CgLK','y3LTrKe','vfznsum','x2HLyxj0yMvHDfrPBwvY','x293BLb1yMXPC2HLCG','v1H0ELa','zgf0yv9JAgfUz2u','nJq5nda4oePez25jwa','Ec1MB3j3yxjKzwqTzM9Y','tLDbCM4','uKvesvnFrei','x3nLDhvWvxbNCMfKzuf1DgG','y2f0y2G','v0z3DKy','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','Cg9UzW','uKvesvnFueftu1DpuKq','qNjVywrJyxn0ia','x2HHBMrSzunVBM5Ly3rPB24','AgvHzgvYCW','zgf0yq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','x21Vzgu','sMX0yLm','D3jPDgu','Aw9YzwrPCW','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','DfnvB0O','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','mtK2zLDUzuLS','BwvZC2fNzq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','y2fSBa','BgL2zxn5BMnFyNjVywrJyxn0','x2HHBMrSzvvUC3vIC2nYAwjL','Ahr0CdOVlW','C3vIC2nYAwjLzenOyw5UzwXZ','mMLgtvnpra','ywn0Aw9U','BgL2zxn5BMnFC2H1DgrVD24','ChvIBgLZAgvY','s0TlDvK','yNvrCvG','C3bSAxq','yxbPs2v5','nJLABvbYBMK','z2v0q2XPzw50','x2HHBMrSzvn1yNnJCMLIzq','zw52','C3rYAw5N','C2vUza','x3b1yMXPC2HuB1jLzgLZ','x3jLzgLZuhvIBgLZAgvY','ChvZAa','x3nLBMruB0nSAwvUDa','ignSAwvUDcHZkq','x3DZCW','zgvSzxrL','ihrVia','mJy1ota0ugfKu2n3','mJm3nJu3nNLSD3jXza','vhzfvw8','y2HHBM5LBa','C2X6D0q','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFAw5PDgLHBgL6zwq','CNfOt2m','C2v0','CMvTB3zLqwXStgLZDgvUzxjZ','mtC0nZa4sNrZz3LN','zxjYB3i','ueTgs2W','x3n0yxj0sgvHCNrIzwf0','zgvZDhjVEq','AgfZ','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3jLzgLZu3vIC2nYAwjLCG','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','AxnbCNjHEq','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','zNvSBa','CMvTB3rLqwrKCMvZCW','ywrK','x3nLDhvWuMvKAxm','vfHryxm','AgfUzgXLvxbNCMfKzq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','yNjVywrJyxn0','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','x2HHBMrSzunSAwvUDe1LC3nHz2u','C2vHCMnOugfYyw1Z','C2L6zq','x2LUAxrPywXPEMvK','zMH2Eee','DxbNCMfKzq','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','x2XVz2DLCG','D2fYBG','tKrIs1G','zgvIDwC','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','uxfHuwm','CMvHzhLtDgf0zq','nNW1Fdj8oxWXFdr8ohW3Fdb8mW','z2v0','nZa4nZe3mhHoDwnRzW','l3DZ','C3rYAw5NAwz5','mti4odiXmxDlC0nlwq','ihnODxqGzg93BG','y2XLyxi','CvneCxO','AxnbBgL2zq'];a0_0xf920=function(){return _0x115298;};return a0_0xf920();}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x223aa7=a0_0x2342,_0x5cbe96={'gxhkK':_0x223aa7(0x1b7)},_0x497390=_0x5cbe96[_0x223aa7(0x1c5)]['split']('|');let _0xa49d5=0x0;while(!![]){switch(_0x497390[_0xa49d5++]){case'0':this[_0x223aa7(0x19c)]=null;continue;case'1':this[_0x223aa7(0x1b0)]=console;continue;case'2':this[_0x223aa7(0x165)]=null;continue;case'3':this[_0x223aa7(0x1da)]=process[_0x223aa7(0x1e0)];continue;case'4':this[_0x223aa7(0x190)]=new Map();continue;case'5':this['_initialized']=![];continue;case'6':this['_wss']=null;continue;case'7':this[_0x223aa7(0x184)]=null;continue;case'8':this['_heartbeatTimer']=null;continue;case'9':this['_options']={};continue;}break;}}['initialize'](_0x39c503,_0x72897a={}){const _0x2ffa25=a0_0x2342,_0x204111={'VXUOn':'livesync_wss_error','EmiXs':_0x2ffa25(0x1a0),'xdHYv':function(_0x5973ab,_0x4a163b){return _0x5973ab(_0x4a163b);},'fhvxA':function(_0x3284e9,_0x8c952e,_0x755d9f){return _0x3284e9(_0x8c952e,_0x755d9f);},'DCWSI':_0x2ffa25(0x196)};if(this[_0x2ffa25(0x1ac)])return;this['_options']=_0x72897a,this['_mode']=_0x204111[_0x2ffa25(0x1d7)];try{this['_logger']=_0x204111['xdHYv'](require,_0x2ffa25(0x1c6))['logger']||console;}catch(_0x114677){this[_0x2ffa25(0x1b0)]=console;}const _0x2d5965=_0x204111[_0x2ffa25(0x1ad)](parseInt,process['env'][_0x2ffa25(0x1d5)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x39c503,'path':_0x2ffa25(0x1ba)}),this[_0x2ffa25(0x1eb)](_0x39c503),this[_0x2ffa25(0x188)]['on']('connection',(_0x256d81,_0x3e33b5)=>this[_0x2ffa25(0x161)](_0x256d81,_0x3e33b5)),this[_0x2ffa25(0x188)]['on'](_0x204111['DCWSI'],_0x4573fb=>{const _0x124cdb=_0x2ffa25;this[_0x124cdb(0x1b0)][_0x124cdb(0x196)]({'event':_0x204111['VXUOn'],'error':_0x4573fb[_0x124cdb(0x16e)]},'WebSocket\x20server\x20error:\x20'+_0x4573fb[_0x124cdb(0x16e)]);}),this[_0x2ffa25(0x198)](_0x2d5965),this[_0x2ffa25(0x1a3)](),this[_0x2ffa25(0x1ac)]=!![],this['_logger'][_0x2ffa25(0x1d6)]({'event':_0x2ffa25(0x191),'mode':'full','path':'/ws','heartbeat':_0x2d5965+'s'},_0x2ffa25(0x169)+_0x2d5965+'s)');}['initializeAsPublisher'](_0xc493c8={}){const _0x45a002=a0_0x2342,_0x531143={'NWArn':_0x45a002(0x178),'gDsva':function(_0x270557,_0x4086fa){return _0x270557(_0x4086fa);},'NDbKX':_0x45a002(0x1ce)};if(this['_initialized'])return;this[_0x45a002(0x1de)]=_0xc493c8,this['_mode']=_0x531143[_0x45a002(0x1e9)];try{this[_0x45a002(0x1b0)]=_0x531143[_0x45a002(0x1cd)](require,_0x45a002(0x1c6))['logger']||console;}catch(_0x1a7f8d){this[_0x45a002(0x1b0)]=console;}this['_setupRedisPublisher'](),this[_0x45a002(0x1ac)]=!![],this['_logger'][_0x45a002(0x1d6)]({'event':_0x531143[_0x45a002(0x1b2)],'mode':'publisher'},_0x45a002(0x1d0));}['isInitialized'](){const _0x1444e3=a0_0x2342;return this[_0x1444e3(0x1ac)];}[a0_0x5c0261(0x1a7)](_0xc463f5,_0x4cca21){const _0x58046e=a0_0x5c0261,_0x123db3={'cymFA':function(_0x139fa3,_0x3fb28c){return _0x139fa3===_0x3fb28c;},'EnVNN':function(_0x1d78d5,_0x3174a8){return _0x1d78d5===_0x3174a8;},'yeWRt':function(_0x461dcd,_0x3eb1c5){return _0x461dcd>_0x3eb1c5;},'KFvVn':_0x58046e(0x171)};if(!this[_0x58046e(0x1ac)])return;if(this['_mode']===_0x58046e(0x178)){this['_publishToRedis'](_0xc463f5,_0x4cca21);return;}const _0x5d4a1e=JSON[_0x58046e(0x1bb)]({'type':_0x58046e(0x1e6),'channel':_0xc463f5,'action':_0x4cca21[_0x58046e(0x176)],'data':_0x4cca21[_0x58046e(0x163)],'requestId':_0x4cca21[_0x58046e(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x26707f]=_0xc463f5[_0x58046e(0x17b)](':');let _0xf26726=0x0;for(const [_0x145984,_0x38da77]of this['_subscriptions']){const _0x533a57=_0x123db3[_0x58046e(0x1e1)](_0x145984,_0xc463f5),_0x205440=_0x123db3[_0x58046e(0x1db)](_0x145984,_0x26707f+':*');if(_0x533a57||_0x205440)for(const _0x5630b8 of _0x38da77){if(_0x5630b8['readyState']===0x1)try{_0x5630b8[_0x58046e(0x182)](_0x5d4a1e),_0xf26726++;}catch(_0x47f21e){}}}_0x123db3['yeWRt'](_0xf26726,0x0)&&this[_0x58046e(0x1b0)][_0x58046e(0x1b3)]({'event':_0x123db3['KFvVn'],'channel':_0xc463f5,'action':_0x4cca21['action'],'clients':_0xf26726},_0x58046e(0x160)+_0x4cca21['action']+'\x20on\x20'+_0xc463f5+_0x58046e(0x18a)+_0xf26726+_0x58046e(0x187));}[a0_0x5c0261(0x183)](_0x100179,_0x34e44c){const _0x261c4e=a0_0x5c0261;if(!this['_redisPublisher'])return;const _0x1b2b38=JSON['stringify']({'channel':_0x100179,'message':_0x34e44c,'workerId':this['_workerId']});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x261c4e(0x1a7),_0x1b2b38)['catch'](()=>{});}[a0_0x5c0261(0x1dc)](){const _0x364c8d=a0_0x5c0261,_0xc679d0={'dcOgf':function(_0x35abb4,_0x250d49){return _0x35abb4(_0x250d49);},'PgXzG':_0x364c8d(0x1c4),'rqhOc':_0x364c8d(0x177)};if(!this[_0x364c8d(0x1ac)])return;this['_heartbeatTimer']&&(_0xc679d0['dcOgf'](clearInterval,this[_0x364c8d(0x1e3)]),this['_heartbeatTimer']=null);if(this[_0x364c8d(0x188)]){for(const _0x251ac1 of this[_0x364c8d(0x188)][_0x364c8d(0x1c7)]){try{_0x251ac1['close'](0x3e9,_0xc679d0['PgXzG']);}catch(_0x54eb6c){}}this[_0x364c8d(0x188)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this['_redisSubscriber']['quit']();}catch(_0x16cd77){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher'][_0x364c8d(0x1c1)]();}catch(_0x441b6d){}this['_subscriptions'][_0x364c8d(0x1be)](),this['_initialized']=![],this['_logger']['info']({'event':_0xc679d0[_0x364c8d(0x192)],'mode':this[_0x364c8d(0x165)]},'Live\x20Sync\x20'+this['_mode']+_0x364c8d(0x1bd));}[a0_0x5c0261(0x1eb)](_0x1f87fb){const _0xbe6898=a0_0x5c0261,_0x262d87={'tSUoJ':'connection','xcLla':'localhost','buQqX':'x-api-key','KKKuY':function(_0x58bb7c,_0x5192c5){return _0x58bb7c!==_0x5192c5;},'qSDqz':_0xbe6898(0x19d),'lsIaA':_0xbe6898(0x1ae)},_0x1a233a=_0x1f87fb[_0xbe6898(0x1cb)]('upgrade')['slice']();_0x1f87fb[_0xbe6898(0x194)](_0x262d87['lsIaA']),_0x1f87fb['on']('upgrade',(_0x417abd,_0xa16336,_0x2a05c7)=>{const _0xf4d9be=_0xbe6898,_0x55ba97={'rKeKX':_0x262d87[_0xf4d9be(0x16a)]};if(!_0x417abd['url']||!_0x417abd['url'][_0xf4d9be(0x1ee)](_0xf4d9be(0x1ba))){for(const _0x45e753 of _0x1a233a){_0x45e753[_0xf4d9be(0x170)](_0x1f87fb,_0x417abd,_0xa16336,_0x2a05c7);}return;}if(this[_0xf4d9be(0x1de)][_0xf4d9be(0x17c)]){const _0x480f36=new URL(_0x417abd['url'],_0xf4d9be(0x173)+(_0x417abd[_0xf4d9be(0x162)]['host']||_0x262d87['xcLla'])),_0x6ab2ee=_0x480f36[_0xf4d9be(0x1aa)]['get'](_0x262d87['buQqX'])||_0x417abd[_0xf4d9be(0x162)][_0x262d87[_0xf4d9be(0x17a)]];if(!_0x6ab2ee||_0x262d87[_0xf4d9be(0x179)](_0x6ab2ee,this['_options'][_0xf4d9be(0x17c)])){_0xa16336[_0xf4d9be(0x167)](_0x262d87[_0xf4d9be(0x1bf)]),_0xa16336[_0xf4d9be(0x199)]();return;}}this['_wss'][_0xf4d9be(0x1a5)](_0x417abd,_0xa16336,_0x2a05c7,_0x15ff03=>{const _0x42071a=_0xf4d9be;this[_0x42071a(0x188)]['emit'](_0x55ba97['rKeKX'],_0x15ff03,_0x417abd);});});}[a0_0x5c0261(0x161)](_0x5036a1,_0x17c812){const _0x384bee=a0_0x5c0261,_0x55b864={'TVMIC':'error','TvEUo':'livesync_client_disconnected','PKFKl':'pong','IJhOa':_0x384bee(0x16e),'eTOti':'close'};_0x5036a1['isAlive']=!![],_0x5036a1[_0x384bee(0x174)]=new Set();const _0x46f9f9=_0x17c812['headers'][_0x384bee(0x1e8)]||_0x17c812['socket'][_0x384bee(0x1a1)];this[_0x384bee(0x1b0)]['info']({'event':_0x384bee(0x1c2),'ip':_0x46f9f9},_0x384bee(0x1b4)+_0x46f9f9),_0x5036a1['on'](_0x55b864[_0x384bee(0x197)],()=>{_0x5036a1['isAlive']=!![];}),_0x5036a1['on'](_0x55b864['IJhOa'],_0x21b316=>{const _0x1053d5=_0x384bee;try{const _0x3490be=JSON[_0x1053d5(0x1cf)](_0x21b316['toString']());this['_handleClientMessage'](_0x5036a1,_0x3490be);}catch(_0x5a055b){this[_0x1053d5(0x186)](_0x5036a1,{'type':_0x55b864[_0x1053d5(0x1e2)],'message':'Invalid\x20JSON\x20message'});}}),_0x5036a1['on'](_0x55b864['eTOti'],()=>{const _0x44c267=_0x384bee;this['_removeClientFromAllChannels'](_0x5036a1),this['_logger']['debug']({'event':_0x55b864[_0x44c267(0x18d)],'ip':_0x46f9f9},_0x44c267(0x1a6)+_0x46f9f9);}),_0x5036a1['on'](_0x55b864['TVMIC'],_0x365e67=>{const _0x301640=_0x384bee;this[_0x301640(0x1b0)][_0x301640(0x1b1)]({'event':'livesync_client_error','error':_0x365e67['message']},'WebSocket\x20client\x20error:\x20'+_0x365e67['message']),this[_0x301640(0x19b)](_0x5036a1);});}[a0_0x5c0261(0x1a9)](_0xb8ae56,_0x157d71){const _0x45fe56=a0_0x5c0261,_0xfe764f={'WFwvF':'subscribe','tZjuJ':'unsubscribe','sOsQL':_0x45fe56(0x15e)};switch(_0x157d71['type']){case _0xfe764f[_0x45fe56(0x1ed)]:this[_0x45fe56(0x17f)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['tZjuJ']:this[_0x45fe56(0x172)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['sOsQL']:_0xb8ae56[_0x45fe56(0x1c0)]=!![];break;default:this[_0x45fe56(0x186)](_0xb8ae56,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0x157d71[_0x45fe56(0x1c9)]});}}[a0_0x5c0261(0x17f)](_0x309c14,_0x4f5a01){const _0x276986=a0_0x5c0261,_0x12a6b1={'EBIut':function(_0x22728f,_0x479369){return _0x22728f===_0x479369;},'aSmVy':'error','mXFzM':_0x276986(0x16c),'uqnFA':function(_0x2732cd,_0x1f2906){return _0x2732cd!==_0x1f2906;},'MKVmS':_0x276986(0x181),'JjvYx':'subscribed'};if(!Array[_0x276986(0x19e)](_0x4f5a01)||_0x12a6b1['EBIut'](_0x4f5a01['length'],0x0)){this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['aSmVy'],'message':_0x12a6b1['mXFzM']});return;}const _0x28e86c=[];for(const _0x334f27 of _0x4f5a01){if(_0x12a6b1[_0x276986(0x1d8)](typeof _0x334f27,_0x12a6b1[_0x276986(0x1c3)])||!_0x334f27[_0x276986(0x1c8)](':'))continue;!this[_0x276986(0x190)][_0x276986(0x19a)](_0x334f27)&&this['_subscriptions'][_0x276986(0x193)](_0x334f27,new Set()),this['_subscriptions'][_0x276986(0x1b8)](_0x334f27)['add'](_0x309c14),_0x309c14[_0x276986(0x174)][_0x276986(0x1a2)](_0x334f27),_0x28e86c[_0x276986(0x185)](_0x334f27);}_0x28e86c['length']>0x0&&(this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['JjvYx'],'channels':_0x28e86c,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':'livesync_subscribe','channels':_0x28e86c},'Client\x20subscribed\x20to:\x20'+_0x28e86c['join'](',\x20')));}['_handleUnsubscribe'](_0x257dad,_0x3b5f47){const _0x383c3e=a0_0x5c0261,_0xf47a52={'FLbWH':function(_0x327243,_0x3a3e26){return _0x327243===_0x3a3e26;}};if(!Array['isArray'](_0x3b5f47))return;const _0x59a92f=[];for(const _0x150af5 of _0x3b5f47){this['_subscriptions'][_0x383c3e(0x19a)](_0x150af5)&&(this[_0x383c3e(0x190)]['get'](_0x150af5)['delete'](_0x257dad),_0xf47a52[_0x383c3e(0x1d2)](this[_0x383c3e(0x190)]['get'](_0x150af5)[_0x383c3e(0x1ab)],0x0)&&this['_subscriptions']['delete'](_0x150af5)),_0x257dad[_0x383c3e(0x174)]['delete'](_0x150af5),_0x59a92f[_0x383c3e(0x185)](_0x150af5);}_0x59a92f['length']>0x0&&this[_0x383c3e(0x186)](_0x257dad,{'type':'unsubscribed','channels':_0x59a92f,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x58784a){const _0x34fa5a=a0_0x5c0261,_0x482f51={'WXtzP':function(_0x382f40,_0x424707){return _0x382f40===_0x424707;}};if(!_0x58784a[_0x34fa5a(0x174)])return;for(const _0x1b0e6d of _0x58784a['subscribedChannels']){this['_subscriptions'][_0x34fa5a(0x19a)](_0x1b0e6d)&&(this['_subscriptions'][_0x34fa5a(0x1b8)](_0x1b0e6d)[_0x34fa5a(0x189)](_0x58784a),_0x482f51[_0x34fa5a(0x1e5)](this[_0x34fa5a(0x190)][_0x34fa5a(0x1b8)](_0x1b0e6d)['size'],0x0)&&this['_subscriptions'][_0x34fa5a(0x189)](_0x1b0e6d));}_0x58784a[_0x34fa5a(0x174)][_0x34fa5a(0x1be)]();}[a0_0x5c0261(0x186)](_0x4d013d,_0x5c52de){const _0x1865df=a0_0x5c0261,_0x71254f={'TXQas':function(_0x487869,_0x43eeb8){return _0x487869===_0x43eeb8;}};if(_0x71254f[_0x1865df(0x1a4)](_0x4d013d[_0x1865df(0x1b6)],0x1))try{_0x4d013d[_0x1865df(0x182)](JSON[_0x1865df(0x1bb)](_0x5c52de));}catch(_0x1b42e8){}}['_startHeartbeat'](_0x1a1bbb){const _0x47f798=a0_0x5c0261,_0x4f8dc3={'hVAMo':function(_0x4befeb,_0x5837db,_0x35216f){return _0x4befeb(_0x5837db,_0x35216f);}};this[_0x47f798(0x1e3)]=_0x4f8dc3['hVAMo'](setInterval,()=>{const _0x3f4534=_0x47f798;if(!this['_wss'])return;for(const _0x151356 of this[_0x3f4534(0x188)]['clients']){if(!_0x151356[_0x3f4534(0x1c0)]){this[_0x3f4534(0x19b)](_0x151356),_0x151356['terminate']();continue;}_0x151356['isAlive']=![],this[_0x3f4534(0x186)](_0x151356,{'type':_0x3f4534(0x1d9),'timestamp':new Date()[_0x3f4534(0x15c)]()});try{_0x151356['ping']();}catch(_0x5997d5){}}},_0x1a1bbb*0x3e8);}[a0_0x5c0261(0x164)](){const _0xd5cca=a0_0x5c0261,_0x3d73ec={'PwzzP':_0xd5cca(0x16f),'slzwD':function(_0x1dd280,_0x462b7a){return _0x1dd280(_0x462b7a);},'aYltH':'127.0.0.1','UtKsZ':function(_0x33b2f3,_0x3ef03c,_0x12b254){return _0x33b2f3(_0x3ef03c,_0x12b254);}};this['_ownPublisher']=![];try{try{const _0x3fe789=require(_0x3d73ec['PwzzP']);this['_redisPublisher']=_0x3fe789[_0xd5cca(0x17e)]?_0x3fe789['getClient']():null;}catch(_0x4ed2af){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x1883ac=_0x3d73ec[_0xd5cca(0x18f)](require,_0xd5cca(0x168)),_0x14712e={'host':process[_0xd5cca(0x180)]['REDIS_HOST']||_0x3d73ec['aYltH'],'port':_0x3d73ec['UtKsZ'](parseInt,process[_0xd5cca(0x180)][_0xd5cca(0x1d4)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0xd5cca(0x180)][_0xd5cca(0x1ea)],0xa)||0x0,'lazyConnect':!![]};this[_0xd5cca(0x184)]=new _0x1883ac(_0x14712e),this[_0xd5cca(0x1e4)]=!![],this['_redisPublisher'][_0xd5cca(0x1dd)]()[_0xd5cca(0x1ec)](()=>{const _0x57dab5=_0xd5cca;this[_0x57dab5(0x1b0)]['warn']({'event':_0x57dab5(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x46be2d){this['_logger'][_0xd5cca(0x1b1)]({'event':_0xd5cca(0x1af),'error':_0x46be2d[_0xd5cca(0x16e)]},_0xd5cca(0x15d)+_0x46be2d['message']);}}[a0_0x5c0261(0x1a3)](){const _0x11d649=a0_0x5c0261,_0x212967={'wEbnS':'livesync_redis_subscribe_error','qVHsg':'livesync_redis_subscriber_failed','QqaQc':'127.0.0.1','JltbS':function(_0x141c59,_0x22b359,_0x29fab9){return _0x141c59(_0x22b359,_0x29fab9);},'cwxui':_0x11d649(0x1af)};this[_0x11d649(0x1e4)]=![];try{const _0x1c30ea=require('ioredis'),_0x5624cb={'host':process[_0x11d649(0x180)]['REDIS_HOST']||_0x212967[_0x11d649(0x1b5)],'port':_0x212967[_0x11d649(0x166)](parseInt,process['env'][_0x11d649(0x1d4)],0xa)||0x18eb,'password':process[_0x11d649(0x180)][_0x11d649(0x15f)]||undefined,'db':parseInt(process[_0x11d649(0x180)][_0x11d649(0x1ea)],0xa)||0x0,'lazyConnect':!![]};try{const _0x595a54=require(_0x11d649(0x16f));this['_redisPublisher']=_0x595a54[_0x11d649(0x17e)]?_0x595a54['getClient']():null;}catch(_0x3bc14a){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this[_0x11d649(0x184)]=new _0x1c30ea(_0x5624cb),this[_0x11d649(0x1e4)]=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x1a07fb=_0x11d649;this[_0x1a07fb(0x1b0)]['warn']({'event':_0x1a07fb(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x1a07fb(0x184)]=null;})),this['_redisSubscriber']=new _0x1c30ea(_0x5624cb),this['_redisSubscriber'][_0x11d649(0x1dd)]()['then'](()=>{const _0x4fcfc7=_0x11d649;this[_0x4fcfc7(0x19c)]['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x3de488=>{const _0x2a548c=_0x4fcfc7;if(_0x3de488){this[_0x2a548c(0x1b0)]['error']({'event':_0x212967[_0x2a548c(0x1d1)],'error':_0x3de488['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x3de488[_0x2a548c(0x16e)]);return;}this['_logger']['info']({'event':'livesync_redis_subscribed'},_0x2a548c(0x1a8));}),this['_redisSubscriber']['on'](_0x4fcfc7(0x16e),(_0x172170,_0x315f47)=>{const _0x48d215=_0x4fcfc7;try{const _0x22d77d=JSON[_0x48d215(0x1cf)](_0x315f47);if(_0x22d77d['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x22d77d[_0x48d215(0x18e)],_0x22d77d['message']);}catch(_0x4dfe5a){}});})[_0x11d649(0x1ec)](()=>{const _0x4292ee=_0x11d649;this['_logger']['warn']({'event':_0x212967['qVHsg']},_0x4292ee(0x16b)),this['_redisSubscriber']=null;});}catch(_0x35a697){this['_logger']['warn']({'event':_0x212967['cwxui'],'error':_0x35a697['message']},_0x11d649(0x1ca)+_0x35a697[_0x11d649(0x16e)]);}}[a0_0x5c0261(0x1d3)](_0x8c1c1,_0x859659){const _0x13c4ee=a0_0x5c0261,_0x37adcd={'Lozdy':function(_0x291fa2,_0xe70630){return _0x291fa2===_0xe70630;},'FQGdd':function(_0x4ffc64,_0x489079){return _0x4ffc64||_0x489079;}};if(!this[_0x13c4ee(0x188)])return;const _0x52e27b=JSON[_0x13c4ee(0x1bb)]({'type':'data_change','channel':_0x8c1c1,'action':_0x859659[_0x13c4ee(0x176)],'data':_0x859659['data'],'requestId':_0x859659[_0x13c4ee(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x4837bb]=_0x8c1c1[_0x13c4ee(0x17b)](':');for(const [_0x3368a2,_0x11b26f]of this['_subscriptions']){const _0x1616d2=_0x37adcd['Lozdy'](_0x3368a2,_0x8c1c1),_0x3ce5ea=_0x3368a2===_0x4837bb+':*';if(_0x37adcd['FQGdd'](_0x1616d2,_0x3ce5ea))for(const _0x4afaa0 of _0x11b26f){if(_0x37adcd['Lozdy'](_0x4afaa0[_0x13c4ee(0x1b6)],0x1))try{_0x4afaa0['send'](_0x52e27b);}catch(_0x5883d7){}}}}}module['exports']=WebSocketBroadcaster;
|
|
1
|
+
'use strict';const a0_0xf1034a=a0_0x113e;(function(_0x121f29,_0x8556cf){const _0x5911bb=a0_0x113e,_0x4683d6=_0x121f29();while(!![]){try{const _0x1835a5=-parseInt(_0x5911bb(0x1a2))/0x1+parseInt(_0x5911bb(0x1ad))/0x2*(parseInt(_0x5911bb(0x1c6))/0x3)+parseInt(_0x5911bb(0x1b3))/0x4*(-parseInt(_0x5911bb(0x1ef))/0x5)+parseInt(_0x5911bb(0x1ba))/0x6*(-parseInt(_0x5911bb(0x1d2))/0x7)+-parseInt(_0x5911bb(0x17d))/0x8+-parseInt(_0x5911bb(0x186))/0x9*(parseInt(_0x5911bb(0x19e))/0xa)+-parseInt(_0x5911bb(0x18d))/0xb*(-parseInt(_0x5911bb(0x176))/0xc);if(_0x1835a5===_0x8556cf)break;else _0x4683d6['push'](_0x4683d6['shift']());}catch(_0x564a5e){_0x4683d6['push'](_0x4683d6['shift']());}}}(a0_0x12c8,0x92b23));function a0_0x12c8(){const _0x515631=['x3DVCMTLCKLK','C2v0','Aw9YzwrPCW','z2v0q2XPzw50','mtaXn2Pmwfb6yq','ywfxyKG','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','zxjYB3i','BvDNBu4','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BKzxEfO','nZDHyufzu3q','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','uKvesvnFrei','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','v2PXqw0','ChvIBgLZAa','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','Aw5JBhvKzxm','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','uKvesvnFueftu1DpuKq','C3rYAw5NAwz5','sw52ywXPzcbku09oig1LC3nHz2u','AgvHzgvYCW','zw52','C29JA2v0','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','y2HHBM5LBa','ntK2otbRsgnHq2C','ignSAwvUDcHZkq','C3vIC2nYAwjL','Bg9Nz2vY','mtiWmty0ogXTvhncqW','AgfZ','uKvesvnFse9tva','CMvTB3rLqwrKCMvZCW','x2HLyxj0yMvHDfrPBwvY','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','C3bSAxq','y3bgExC','ig9Uia','zgvZDhjVEq','BgLZDgvUzxjZ','nJe4mdjeze5XrLi','z2v0','x3DZCW','DxbNCMfKzq','BgL2zxn5BMnFD3nZx2vYCM9Y','C2vHCMnOugfYyw1Z','nteYotjNsNfzwxG','DwLeBuC','x3jLzgLZu3vIC2nYAwjLCG','Dg9ju09tDhjPBMC','DMfWyum','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','tgL2zsbtEw5Jia','nKXutMDqsq','CMvHzhLtDgf0zq','yNjVywrJyxn0','BgvUz3rO','y2f0y2G','C3vIC2nYAwjLzenOyw5UzwXZ','DhvTrhu','CgLUzW','ywroB1e','AxnbCNjHEq','Dg9tDhjPBMC','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','ndv6sMrtu1i','y2XVC2u','y2HHBM5LBhm','x2LUAxrPywXPEMvK','zNvSBa','zgHuyve','y29UBMvJDa','tfrqAfK','x3nLDhvWuMvKAxnqDwjSAxnOzxi','zgvIDwC','ihnODxqGzg93BG','x29WDgLVBNm','ode4mdm5nLnfy2jQDW','q3rJEeu','CMvTB3zLqwXStgLZDgvUzxjZ','ueDPvvi','x3nLDhvWuMvKAxm','z1bMEhe','q1j3yLa','Aw5MBW','BgXnD00','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','DgHLBG','yNvlBxG','CxvPDa','BwvZC2fNzq','DgvYBwLUyxrL','mti3lJaUmc4X','x2HHBMrSzunVBM5Ly3rPB24','Ag9ZDa','CMvXDwvZDeLK','x3n1yNnJCMLWDgLVBNm','CMvZDgzVCMDLoMXPDMvZEw5JoG','x293BLb1yMXPC2HLCG','x3n0yxj0sgvHCNrIzwf0','BgL2zxn5BMnFAw5PDgLHBgL6zwq','uKvesvnFue9sva','AxnjBML0AwfSAxPLza','D3jPDgu','ywn0Aw9U','rhz1Beu','ndi1AvPpAeTK','CwDWC2q','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','C3rYAw5N','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','BLP4BNK','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','x3jLzgLZuhvIBgLZAgvY','m3W0Fdz8mNWXFdb8nq','DhLWzq','AxnbBgL2zq','whrwCLG','B0X0DMq','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','DxjS','x2XVz2DLCG','x3nLBMruB0nSAwvUDa','zgf0yq','ChvIBgLZAgvY','n3WXFdH8m3W0Fdj8oxW1Fdb8nG','DgHoyMu','D2fYBG','qNjVywrJyxn0ia','zgvSzxrL','odu2ota5mMz0AxLZqq','y2XPzw50CW','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','BMP1qK4','wxzbC1q','zgf0yv9JAgfUz2u','ChvZAa','ntGXmJq1nMXQwxnQrW','AM9PBG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','x3nLDhvWvxbNCMfKzuf1DgG','x21Vzgu'];a0_0x12c8=function(){return _0x515631;};return a0_0x12c8();}function a0_0x113e(_0x389c0d,_0x23d3ba){_0x389c0d=_0x389c0d-0x16f;const _0x12c8cc=a0_0x12c8();let _0x113ea4=_0x12c8cc[_0x389c0d];if(a0_0x113e['NklGEo']===undefined){var _0x2162b3=function(_0x260ed5){const _0x5f227f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ae12a='',_0x3f6d76='';for(let _0x15e9a5=0x0,_0x3dafdc,_0x524784,_0x836c15=0x0;_0x524784=_0x260ed5['charAt'](_0x836c15++);~_0x524784&&(_0x3dafdc=_0x15e9a5%0x4?_0x3dafdc*0x40+_0x524784:_0x524784,_0x15e9a5++%0x4)?_0x2ae12a+=String['fromCharCode'](0xff&_0x3dafdc>>(-0x2*_0x15e9a5&0x6)):0x0){_0x524784=_0x5f227f['indexOf'](_0x524784);}for(let _0x5422a9=0x0,_0x5883c4=_0x2ae12a['length'];_0x5422a9<_0x5883c4;_0x5422a9++){_0x3f6d76+='%'+('00'+_0x2ae12a['charCodeAt'](_0x5422a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f6d76);};a0_0x113e['BXuyqn']=_0x2162b3,a0_0x113e['AuAWKq']={},a0_0x113e['NklGEo']=!![];}const _0x537902=_0x12c8cc[0x0],_0x27686d=_0x389c0d+_0x537902,_0x4e9a5e=a0_0x113e['AuAWKq'][_0x27686d];return!_0x4e9a5e?(_0x113ea4=a0_0x113e['BXuyqn'](_0x113ea4),a0_0x113e['AuAWKq'][_0x27686d]=_0x113ea4):_0x113ea4=_0x4e9a5e,_0x113ea4;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX=a0_0xf1034a(0x1e6);class WebSocketBroadcaster{constructor(){const _0x3c32f3=a0_0xf1034a,_0x4bced2=_0x3c32f3(0x171)[_0x3c32f3(0x1a8)]('|');let _0x34160d=0x0;while(!![]){switch(_0x4bced2[_0x34160d++]){case'0':this[_0x3c32f3(0x1b5)]=null;continue;case'1':this['_initialized']=![];continue;case'2':this[_0x3c32f3(0x1e5)]=new Map();continue;case'3':this['_options']={};continue;case'4':this[_0x3c32f3(0x1fe)]=console;continue;case'5':this['_redisPublisher']=null;continue;case'6':this[_0x3c32f3(0x182)]=process['pid'];continue;case'7':this['_wss']=null;continue;case'8':this[_0x3c32f3(0x181)]=null;continue;case'9':this['_heartbeatTimer']=null;continue;}break;}}['initialize'](_0x349bbe,_0xb12fe5={}){const _0x46e67f=a0_0xf1034a,_0x2c55c5={'njuBN':_0x46e67f(0x1b1),'nxWDy':function(_0x39c542,_0x46a2ea,_0x2effb7){return _0x39c542(_0x46a2ea,_0x2effb7);},'vapaC':'/ws','vFryX':'connection','WjqAm':'error','gVfQy':_0x46e67f(0x1e9),'oLtvd':'full'};if(this['_initialized'])return;this[_0x46e67f(0x1d1)]=_0xb12fe5,this[_0x46e67f(0x181)]=_0x46e67f(0x1ca);try{this['_logger']=require('../../utils/logger')[_0x46e67f(0x1a1)]||console;}catch(_0x5de75c){this['_logger']=console;}const _0x30e548=_0x2c55c5['nxWDy'](parseInt,process['env'][_0x46e67f(0x1f1)],0xa)||0x1e;this[_0x46e67f(0x1af)]=new WebSocketServer({'server':_0x349bbe,'path':_0x2c55c5[_0x46e67f(0x1b7)]}),this['_setupUpgradeAuth'](_0x349bbe),this['_wss']['on'](_0x2c55c5['vFryX'],(_0x2227f2,_0x4aedc7)=>this['_handleConnection'](_0x2227f2,_0x4aedc7)),this[_0x46e67f(0x1af)]['on'](_0x2c55c5[_0x46e67f(0x191)],_0x4a4ae1=>{const _0x3c7126=_0x46e67f;this[_0x3c7126(0x1fe)]['error']({'event':_0x2c55c5[_0x3c7126(0x179)],'error':_0x4a4ae1['message']},_0x3c7126(0x19c)+_0x4a4ae1[_0x3c7126(0x1df)]);}),this[_0x46e67f(0x1e8)](_0x30e548),this[_0x46e67f(0x1d6)](),this['_initialized']=!![],this['_logger'][_0x46e67f(0x1d9)]({'event':_0x2c55c5['gVfQy'],'mode':_0x2c55c5[_0x46e67f(0x1fb)],'path':_0x2c55c5[_0x46e67f(0x1b7)],'heartbeat':_0x30e548+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x30e548+'s)');}['initializeAsPublisher'](_0x35a1d5={}){const _0x26086f=a0_0xf1034a,_0x4859bd={'DvulE':_0x26086f(0x1f7),'QdfMK':function(_0x269489,_0x133063){return _0x269489(_0x133063);},'dhTaQ':_0x26086f(0x1f5),'dnzpj':_0x26086f(0x170)},_0xabbca2=_0x4859bd[_0x26086f(0x1ee)][_0x26086f(0x1a8)]('|');let _0xc2ce11=0x0;while(!![]){switch(_0xabbca2[_0xc2ce11++]){case'0':this[_0x26086f(0x1c9)]=!![];continue;case'1':this['_setupRedisPublisher']();continue;case'2':try{this[_0x26086f(0x1fe)]=_0x4859bd['QdfMK'](require,'../../utils/logger')['logger']||console;}catch(_0x3d4b76){this[_0x26086f(0x1fe)]=console;}continue;case'3':if(this['_initialized'])return;continue;case'4':this[_0x26086f(0x1d1)]=_0x35a1d5;continue;case'5':this['_logger']['info']({'event':_0x4859bd[_0x26086f(0x1cb)],'mode':_0x4859bd['dnzpj']},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'6':this['_mode']='publisher';continue;}break;}}[a0_0xf1034a(0x1eb)](){const _0x485d66=a0_0xf1034a;return this[_0x485d66(0x1c9)];}[a0_0xf1034a(0x1bc)](_0x89e856,_0x4a1629){const _0x15c316=a0_0xf1034a,_0x227b13={'LTPhY':'publisher','eOWGw':function(_0x2da485,_0x48787b){return _0x2da485===_0x48787b;},'ZaKyR':function(_0x4a4a96,_0x38fe0a){return _0x4a4a96||_0x38fe0a;},'vOzmw':function(_0x1fc842,_0x40d494){return _0x1fc842===_0x40d494;},'cHQAj':function(_0x2ca40a,_0x23b961){return _0x2ca40a>_0x23b961;},'YvAsT':'livesync_broadcast'};if(!this['_initialized'])return;if(this[_0x15c316(0x181)]===_0x227b13[_0x15c316(0x1cd)]){this['_publishToRedis'](_0x89e856,_0x4a1629);return;}const _0xe4c2d0=JSON['stringify']({'type':_0x15c316(0x17b),'channel':_0x89e856,'action':_0x4a1629[_0x15c316(0x1ed)],'data':_0x4a1629[_0x15c316(0x16f)],'requestId':_0x4a1629[_0x15c316(0x1e4)]||null,'timestamp':new Date()['toISOString']()}),[_0x51c48d]=_0x89e856[_0x15c316(0x1a8)](':');let _0x175790=0x0;for(const [_0x30cf64,_0x4aeecf]of this['_subscriptions']){const _0x35a4be=_0x227b13['eOWGw'](_0x30cf64,_0x89e856),_0x55759d=_0x30cf64===_0x51c48d+':*';if(_0x227b13['ZaKyR'](_0x35a4be,_0x55759d))for(const _0x5bd91f of _0x4aeecf){if(_0x227b13['vOzmw'](_0x5bd91f[_0x15c316(0x1bb)],0x1))try{_0x5bd91f['send'](_0xe4c2d0),_0x175790++;}catch(_0x260176){}}}_0x227b13['cHQAj'](_0x175790,0x0)&&this['_logger'][_0x15c316(0x1cf)]({'event':_0x227b13[_0x15c316(0x17a)],'channel':_0x89e856,'action':_0x4a1629[_0x15c316(0x1ed)],'clients':_0x175790},_0x15c316(0x174)+_0x4a1629[_0x15c316(0x1ed)]+_0x15c316(0x1aa)+_0x89e856+'\x20to\x20'+_0x175790+_0x15c316(0x19f));}['_publishToRedis'](_0x587ee8,_0xce4118){const _0x1db7da=a0_0xf1034a;if(!this['_redisPublisher'])return;const _0x1b792c=JSON['stringify']({'channel':_0x587ee8,'message':_0xce4118,'workerId':this[_0x1db7da(0x182)]});this[_0x1db7da(0x1f6)][_0x1db7da(0x192)](REDIS_CHANNEL_PREFIX+_0x1db7da(0x1bc),_0x1b792c)['catch'](()=>{});}['shutdown'](){const _0x15359c=a0_0xf1034a,_0x520a9b={'uiDmG':'Server\x20shutting\x20down'};if(!this[_0x15359c(0x1c9)])return;this[_0x15359c(0x1a6)]&&(clearInterval(this[_0x15359c(0x1a6)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x5333e8 of this[_0x15359c(0x1af)][_0x15359c(0x177)]){try{_0x5333e8[_0x15359c(0x1c7)](0x3e9,_0x520a9b[_0x15359c(0x1b4)]);}catch(_0x3e15b7){}}this[_0x15359c(0x1af)]['close']();}if(this['_redisSubscriber'])try{this[_0x15359c(0x1b5)]['unsubscribe'](),this['_redisSubscriber'][_0x15359c(0x1de)]();}catch(_0x37c96a){}if(this['_ownPublisher']&&this[_0x15359c(0x1f6)])try{this['_redisPublisher']['quit']();}catch(_0x260309){}this[_0x15359c(0x1e5)]['clear'](),this['_initialized']=![],this[_0x15359c(0x1fe)][_0x15359c(0x1d9)]({'event':'livesync_shutdown','mode':this[_0x15359c(0x181)]},_0x15359c(0x1b9)+this[_0x15359c(0x181)]+_0x15359c(0x1d0));}[a0_0xf1034a(0x180)](_0x1f8b7f){const _0x40c850=a0_0xf1034a,_0x1b9b6e={'TCOuH':'connection','hMkgC':'localhost','CRwbP':function(_0x169ff1,_0x272815){return _0x169ff1!==_0x272815;},'nZxny':_0x40c850(0x1b0)},_0x4e846d=_0x1f8b7f[_0x40c850(0x1ac)](_0x1b9b6e['nZxny'])['slice']();_0x1f8b7f[_0x40c850(0x1d4)](_0x1b9b6e[_0x40c850(0x1f4)]),_0x1f8b7f['on'](_0x40c850(0x1b0),(_0x3bb386,_0x5bbe80,_0x502cbc)=>{const _0x5647f3=_0x40c850;if(!_0x3bb386['url']||!_0x3bb386['url']['startsWith']('/ws')){for(const _0x2a28b7 of _0x4e846d){_0x2a28b7['call'](_0x1f8b7f,_0x3bb386,_0x5bbe80,_0x502cbc);}return;}if(this['_options']['apiKey']){const _0x2ed2db=new URL(_0x3bb386[_0x5647f3(0x1fd)],'http://'+(_0x3bb386['headers'][_0x5647f3(0x1e3)]||_0x1b9b6e['hMkgC'])),_0x292e17=_0x2ed2db[_0x5647f3(0x1b2)]['get']('x-api-key')||_0x3bb386[_0x5647f3(0x199)]['x-api-key'];if(!_0x292e17||_0x1b9b6e[_0x5647f3(0x1d8)](_0x292e17,this['_options']['apiKey'])){_0x5bbe80[_0x5647f3(0x1ec)](_0x5647f3(0x188)),_0x5bbe80[_0x5647f3(0x1ab)]();return;}}this[_0x5647f3(0x1af)]['handleUpgrade'](_0x3bb386,_0x5bbe80,_0x502cbc,_0x3ce7df=>{const _0x288a91=_0x5647f3;this[_0x288a91(0x1af)]['emit'](_0x1b9b6e['TCOuH'],_0x3ce7df,_0x3bb386);});});}[a0_0xf1034a(0x1e2)](_0x17e6d2,_0x1cece0){const _0x4d5360=a0_0xf1034a,_0x2e23b8={'cMszr':_0x4d5360(0x1db),'mmFOl':_0x4d5360(0x1b8),'adNoQ':'x-forwarded-for','nFWxZ':'livesync_client_connected','ttwOL':_0x4d5360(0x1df)};_0x17e6d2['isAlive']=!![],_0x17e6d2['subscribedChannels']=new Set();const _0x3bd396=_0x1cece0['headers'][_0x2e23b8[_0x4d5360(0x1c2)]]||_0x1cece0[_0x4d5360(0x19b)][_0x4d5360(0x1a5)];this['_logger']['info']({'event':_0x2e23b8[_0x4d5360(0x18c)],'ip':_0x3bd396},_0x4d5360(0x193)+_0x3bd396),_0x17e6d2['on']('pong',()=>{_0x17e6d2['isAlive']=!![];}),_0x17e6d2['on'](_0x2e23b8['ttwOL'],_0xa63ad8=>{const _0x405550=_0x4d5360;try{const _0x67fff1=JSON['parse'](_0xa63ad8[_0x405550(0x1c4)]());this['_handleClientMessage'](_0x17e6d2,_0x67fff1);}catch(_0x493041){this['_sendToClient'](_0x17e6d2,{'type':'error','message':_0x405550(0x198)});}}),_0x17e6d2['on']('close',()=>{const _0x402d47=_0x4d5360;this[_0x402d47(0x1c5)](_0x17e6d2),this['_logger'][_0x402d47(0x1cf)]({'event':_0x2e23b8['cMszr'],'ip':_0x3bd396},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x3bd396);}),_0x17e6d2['on'](_0x4d5360(0x189),_0xa750e9=>{const _0x28b04d=_0x4d5360;this['_logger'][_0x28b04d(0x173)]({'event':_0x2e23b8['mmFOl'],'error':_0xa750e9['message']},_0x28b04d(0x1fc)+_0xa750e9['message']),this['_removeClientFromAllChannels'](_0x17e6d2);});}['_handleClientMessage'](_0x3caaa7,_0x3eb5e3){const _0x43c83f=a0_0xf1034a,_0x33cc3d={'jDVOk':_0x43c83f(0x1a0),'EqGXl':'unsubscribe','RWkil':'pong'};switch(_0x3eb5e3[_0x43c83f(0x1f8)]){case _0x33cc3d['jDVOk']:this['_handleSubscribe'](_0x3caaa7,_0x3eb5e3['channels']);break;case _0x33cc3d['EqGXl']:this['_handleUnsubscribe'](_0x3caaa7,_0x3eb5e3[_0x43c83f(0x1c8)]);break;case _0x33cc3d['RWkil']:_0x3caaa7[_0x43c83f(0x1f9)]=!![];break;default:this[_0x43c83f(0x1ff)](_0x3caaa7,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0x3eb5e3['type']});}}['_handleSubscribe'](_0x955654,_0x4e0cc1){const _0x2f2f9a=a0_0xf1034a,_0x457357={'fysXN':_0x2f2f9a(0x17f),'OFztl':function(_0x1a92c2,_0x5365e8){return _0x1a92c2>_0x5365e8;},'TjMsX':'subscribed'};if(!Array[_0x2f2f9a(0x1c3)](_0x4e0cc1)||_0x4e0cc1[_0x2f2f9a(0x1bd)]===0x0){this['_sendToClient'](_0x955654,{'type':'error','message':_0x457357['fysXN']});return;}const _0x1a014e=[];for(const _0xe20da6 of _0x4e0cc1){if(typeof _0xe20da6!==_0x2f2f9a(0x1f2)||!_0xe20da6[_0x2f2f9a(0x194)](':'))continue;!this[_0x2f2f9a(0x1e5)][_0x2f2f9a(0x1a3)](_0xe20da6)&&this[_0x2f2f9a(0x1e5)][_0x2f2f9a(0x183)](_0xe20da6,new Set()),this['_subscriptions']['get'](_0xe20da6)['add'](_0x955654),_0x955654[_0x2f2f9a(0x1bf)]['add'](_0xe20da6),_0x1a014e[_0x2f2f9a(0x17c)](_0xe20da6);}_0x457357['OFztl'](_0x1a014e['length'],0x0)&&(this[_0x2f2f9a(0x1ff)](_0x955654,{'type':_0x457357['TjMsX'],'channels':_0x1a014e,'timestamp':new Date()[_0x2f2f9a(0x1b6)]()}),this['_logger'][_0x2f2f9a(0x1cf)]({'event':'livesync_subscribe','channels':_0x1a014e},_0x2f2f9a(0x1f3)+_0x1a014e[_0x2f2f9a(0x17e)](',\x20')));}['_handleUnsubscribe'](_0x4a61d1,_0x4fe1a0){const _0x2968b2=a0_0xf1034a,_0x300d54={'yegbl':function(_0xe460ff,_0x13c3a0){return _0xe460ff===_0x13c3a0;},'buKmx':function(_0x2a82f4,_0x33e2a4){return _0x2a82f4>_0x33e2a4;}};if(!Array[_0x2968b2(0x1c3)](_0x4fe1a0))return;const _0x5c7854=[];for(const _0x32c8be of _0x4fe1a0){this['_subscriptions']['has'](_0x32c8be)&&(this['_subscriptions']['get'](_0x32c8be)[_0x2968b2(0x175)](_0x4a61d1),_0x300d54['yegbl'](this[_0x2968b2(0x1e5)]['get'](_0x32c8be)['size'],0x0)&&this['_subscriptions'][_0x2968b2(0x175)](_0x32c8be)),_0x4a61d1[_0x2968b2(0x1bf)][_0x2968b2(0x175)](_0x32c8be),_0x5c7854['push'](_0x32c8be);}_0x300d54[_0x2968b2(0x1dd)](_0x5c7854['length'],0x0)&&this['_sendToClient'](_0x4a61d1,{'type':'unsubscribed','channels':_0x5c7854,'timestamp':new Date()[_0x2968b2(0x1b6)]()});}['_removeClientFromAllChannels'](_0x506068){const _0x40072f=a0_0xf1034a,_0x292479={'cHBVI':function(_0x32c27c,_0x17e34a){return _0x32c27c===_0x17e34a;}};if(!_0x506068[_0x40072f(0x1bf)])return;for(const _0xf67394 of _0x506068['subscribedChannels']){this[_0x40072f(0x1e5)][_0x40072f(0x1a3)](_0xf67394)&&(this['_subscriptions'][_0x40072f(0x1ae)](_0xf67394)['delete'](_0x506068),_0x292479['cHBVI'](this[_0x40072f(0x1e5)]['get'](_0xf67394)['size'],0x0)&&this['_subscriptions']['delete'](_0xf67394));}_0x506068['subscribedChannels']['clear']();}['_sendToClient'](_0x366e8e,_0x296fd2){const _0x3402b8=a0_0xf1034a,_0x4d94a9={'cpFyw':function(_0x108d1d,_0x3ee531){return _0x108d1d===_0x3ee531;}};if(_0x4d94a9[_0x3402b8(0x1a9)](_0x366e8e['readyState'],0x1))try{_0x366e8e['send'](JSON[_0x3402b8(0x197)](_0x296fd2));}catch(_0x3a3a9c){}}['_startHeartbeat'](_0x3673b7){const _0x3c4c4b=a0_0xf1034a,_0x17e5df={'mWgmN':function(_0x269acd,_0x349c9e,_0x1e09f3){return _0x269acd(_0x349c9e,_0x1e09f3);},'wUnQm':function(_0x2ecd1f,_0x55fe5a){return _0x2ecd1f*_0x55fe5a;}};this['_heartbeatTimer']=_0x17e5df[_0x3c4c4b(0x18a)](setInterval,()=>{const _0x25d174=_0x3c4c4b;if(!this[_0x25d174(0x1af)])return;for(const _0x50a216 of this[_0x25d174(0x1af)][_0x25d174(0x177)]){if(!_0x50a216[_0x25d174(0x1f9)]){this[_0x25d174(0x1c5)](_0x50a216),_0x50a216[_0x25d174(0x1e0)]();continue;}_0x50a216['isAlive']=![],this['_sendToClient'](_0x50a216,{'type':_0x25d174(0x1c1),'timestamp':new Date()['toISOString']()});try{_0x50a216['ping']();}catch(_0x4c2be7){}}},_0x17e5df['wUnQm'](_0x3673b7,0x3e8));}[a0_0xf1034a(0x1ce)](){const _0x197fd4=a0_0xf1034a,_0x1925e0={'qgpsd':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','oSeZB':function(_0x4dc9e4,_0x40b140){return _0x4dc9e4(_0x40b140);},'CtcxE':function(_0x4d745c,_0x6fa604,_0x4f10c3){return _0x4d745c(_0x6fa604,_0x4f10c3);},'PGiUR':function(_0xbfcc75,_0x57e8a0,_0x2c47e5){return _0xbfcc75(_0x57e8a0,_0x2c47e5);}};this[_0x197fd4(0x1e7)]=![];try{try{const _0x5918df=require('../../utils/redis-client');this['_redisPublisher']=_0x5918df['getClient']?_0x5918df[_0x197fd4(0x185)]():null;}catch(_0x51f228){this[_0x197fd4(0x1f6)]=null;}if(!this[_0x197fd4(0x1f6)]){const _0x46d988=_0x1925e0['oSeZB'](require,'ioredis'),_0x2ed8ee={'host':process['env'][_0x197fd4(0x1a4)]||'127.0.0.1','port':_0x1925e0[_0x197fd4(0x1d3)](parseInt,process[_0x197fd4(0x19a)][_0x197fd4(0x1ea)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x1925e0[_0x197fd4(0x1d5)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x46d988(_0x2ed8ee),this['_ownPublisher']=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x526632=_0x197fd4;this[_0x526632(0x1fe)][_0x526632(0x173)]({'event':_0x526632(0x195)},_0x1925e0[_0x526632(0x1f0)]),this[_0x526632(0x1f6)]=null;});}}catch(_0x2c604b){this[_0x197fd4(0x1fe)][_0x197fd4(0x173)]({'event':'livesync_redis_unavailable','error':_0x2c604b['message']},_0x197fd4(0x1a7)+_0x2c604b[_0x197fd4(0x1df)]);}}[a0_0xf1034a(0x1d6)](){const _0x508167=a0_0xf1034a,_0x30cf7b={'IePwR':'livesync_redis_publisher_failed','gPfxq':'livesync_redis_subscribed','XtVrX':'message','gJpdr':'livesync_redis_subscriber_failed','aaWbH':_0x508167(0x18e),'JExeC':function(_0x8cfbd1,_0x2845de){return _0x8cfbd1(_0x2845de);},'tumDu':_0x508167(0x1e1),'llMwM':function(_0x102c30,_0x38ad39,_0x16be26){return _0x102c30(_0x38ad39,_0x16be26);},'pHqvO':function(_0x1bac3d,_0x5b978c){return _0x1bac3d(_0x5b978c);}};this[_0x508167(0x1e7)]=![];try{const _0x57c2c8=_0x30cf7b['JExeC'](require,_0x508167(0x184)),_0x4abf54={'host':process[_0x508167(0x19a)]['REDIS_HOST']||_0x30cf7b[_0x508167(0x1c0)],'port':parseInt(process['env'][_0x508167(0x1ea)],0xa)||0x18eb,'password':process[_0x508167(0x19a)][_0x508167(0x196)]||undefined,'db':_0x30cf7b[_0x508167(0x1da)](parseInt,process['env'][_0x508167(0x18f)],0xa)||0x0,'lazyConnect':!![]};try{const _0x174210=_0x30cf7b['pHqvO'](require,'../../utils/redis-client');this[_0x508167(0x1f6)]=_0x174210[_0x508167(0x185)]?_0x174210['getClient']():null;}catch(_0x454b49){this[_0x508167(0x1f6)]=null;}!this['_redisPublisher']&&(this[_0x508167(0x1f6)]=new _0x57c2c8(_0x4abf54),this[_0x508167(0x1e7)]=!![],this['_redisPublisher'][_0x508167(0x1cc)]()['catch'](()=>{const _0x23721c=_0x508167;this[_0x23721c(0x1fe)][_0x23721c(0x173)]({'event':_0x30cf7b['IePwR']},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x23721c(0x1f6)]=null;})),this['_redisSubscriber']=new _0x57c2c8(_0x4abf54),this['_redisSubscriber']['connect']()[_0x508167(0x1dc)](()=>{const _0x4c1e0d=_0x508167,_0x27c754={'Hzozd':function(_0x18f9a9,_0x34f215){return _0x18f9a9===_0x34f215;}};this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+_0x4c1e0d(0x1bc),_0x594b50=>{const _0x416aa1=_0x4c1e0d;if(_0x594b50){this[_0x416aa1(0x1fe)]['error']({'event':'livesync_redis_subscribe_error','error':_0x594b50[_0x416aa1(0x1df)]},_0x416aa1(0x190)+_0x594b50[_0x416aa1(0x1df)]);return;}this['_logger'][_0x416aa1(0x1d9)]({'event':_0x30cf7b[_0x416aa1(0x1d7)]},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this[_0x4c1e0d(0x1b5)]['on'](_0x30cf7b[_0x4c1e0d(0x1fa)],(_0x3d2932,_0x398342)=>{const _0x10d2c2=_0x4c1e0d;try{const _0x4d0cc5=JSON['parse'](_0x398342);if(_0x27c754['Hzozd'](_0x4d0cc5['workerId'],this[_0x10d2c2(0x182)]))return;this['_broadcastLocal'](_0x4d0cc5[_0x10d2c2(0x19d)],_0x4d0cc5['message']);}catch(_0x1a46cd){}});})[_0x508167(0x1be)](()=>{const _0x3e0ebc=_0x508167;this[_0x3e0ebc(0x1fe)]['warn']({'event':_0x30cf7b['gJpdr']},_0x30cf7b[_0x3e0ebc(0x187)]),this['_redisSubscriber']=null;});}catch(_0x173581){this['_logger'][_0x508167(0x173)]({'event':_0x508167(0x18b),'error':_0x173581[_0x508167(0x1df)]},_0x508167(0x178)+_0x173581[_0x508167(0x1df)]);}}['_broadcastLocal'](_0x467c05,_0x144848){const _0x2381ea=a0_0xf1034a,_0x194e6e={'thNbe':function(_0x596c2b,_0x3bb705){return _0x596c2b===_0x3bb705;}};if(!this[_0x2381ea(0x1af)])return;const _0x3cb5e1=JSON[_0x2381ea(0x197)]({'type':_0x2381ea(0x17b),'channel':_0x467c05,'action':_0x144848['action'],'data':_0x144848[_0x2381ea(0x16f)],'requestId':_0x144848[_0x2381ea(0x1e4)]||null,'timestamp':new Date()['toISOString']()}),[_0xbc0bca]=_0x467c05[_0x2381ea(0x1a8)](':');for(const [_0x46e6d7,_0x45dea3]of this['_subscriptions']){const _0x2bbdde=_0x46e6d7===_0x467c05,_0x48e056=_0x194e6e[_0x2381ea(0x172)](_0x46e6d7,_0xbc0bca+':*');if(_0x2bbdde||_0x48e056)for(const _0x3a1499 of _0x45dea3){if(_0x3a1499['readyState']===0x1)try{_0x3a1499['send'](_0x3cb5e1);}catch(_0x13e09b){}}}}}module['exports']=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3c7914=a0_0x4a9c;function a0_0x3bd8(){const _0x433671=['zxHWB3j0uxvLCNK','A0P3q0e','Aw52ywXPzf9JB25KAxrPB24','rMfPBgvKihrVigzLDgnOigrHDge','AM9PBG','Dw5RBM93BL9VCgvYyxrVCG','ChjVy2vZC0PVyG','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','DxbKyxrLsM9I','zxHWB3j0x2zLDgnOx3n0yxj0','zxHWB3j0x2PVyL9JCMvHDgvK','cLnftevdvcaQiezst00G','zxHWB3j0CW','Dg9vChbLCKnHC2u','qvnd','B3jHy2XL','Cg9ZDgDYzxnXBa','vvbqrviO','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','yNvPBgrxAgvYzunSyxvZzq','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','v0Lusca','zMfPBgvK','ENnJELm','zw52','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','zMLSzv9WyxrO','x2v4Cg9YDerPCG','CMvWBgfJzq','Dw5SAw5R','ywXS','yNrIvhC','zxHWB3j0x2nSzwfUDxbFC3rHCNq','revtqW','Dw1Vwg4','ALzKzeu','mZy2otK0DuzTwfvi','y2f0y2G','ELPxDKK','CwLbA0y','zMLLBgrmywjLBhm','y3jLyxrLsM9I','AM9Ix2LK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','BgvUz3rO','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHPC3rZu3LUyW','qwrTA0K','iefticGkicaGia','zMLSDgvY','zxHWB3j0rgLY','r050A00','y0n6uem','CMfUzg9T','ru5pru5u','vfnZuvq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2vUzxjHDgvkB2jjza','rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','mtm4mdq4tLDZzhPr','C0zbDKm','lI4VDxrPBhmVBg9Nz2vY','ugn3u0W','z2v0qwXSsM9ICW','ndq5nte5ngL5DNbyqq','svvVq3m','txHMExO','y3jLyxrLzf9HDa','nJa1mJyXnLziDMjQAG','zMXVB3i','AxnbCNjHEq','ie9sia','B0LHy24','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','t3fAEhm','odiZntz2rwvoAgi','lI4VDxrPBhmVzgiTB3jHy2XL','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','qNDitNa','t01tAKS','cIaGicbguK9nia','BernCMu','C3vIC3rYAw5N','s2nAuhC','lNHSC3G','rejFvfLqrq','ChjVy2vZC2LUzW','EgLRq04','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','DxvPza','y29TCgXLDgvKx2f0','nhfKBK1QyG','mJC5r3nYyw1W','Dg9mB3DLCKnHC2u','ue1rB00','BLrcDxe','Cgf0Aa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','qw1WzK8','BwvZC2fNzq','C2fUAxrPEMvwywX1zq','Agf0BxG','n3PSqK1eAq','t0Xnwvy','vxnPBMCG','zw5KCg9PBNroyw1L','s2vRu08','mtiYnZCWtNH0sLHJ','iefticGkicaGifnftevdvca','ignOyxjZkq','l2fWAs8','BM93','zxHWB3j0x3nLCNzPy2vFAw5PDa','zxHWB3j0x2nVBxbSzxrLza','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','uhLss1i','wxzkwhO','qvrJrMq','zMLSzw5HBwu','ieLoicG','lI4VlI4VzxHWB3j0CY8','Dg9tDhjPBMC','Aw5MBW','DhjPBq','BwTKAxjtEw5J','y29SDw1UCW','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','D2fYBG','ignVBhvTBNm','u05etvC','BwTRqxi','BwnIEMK','y2XLyw51Ca','CgvUzgLUzW','BwfW','y29TCgXLDgvK','CMvZB2X2zuv4Cg9YDff1zxj5','cIaGicaGicaG','y2HHCKf0','vxnPBMCGywXSia','C3rHDhvZ','C3rHCNrZv2L0Aa','svmGtLvmta','CM91BMq','DwPstge','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','z2v0sM9I','y29UzgL0Aw9UCW','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','rxHWB3j0igPVyIbJCMvHDgvK','rxHWB3j0igzPBguGBM90igzVDw5K','qKrIDfq','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','rKzVBuq','mZqWntu5mfPzrwTQDa','zxHLy3v0zvf1zxj5','sKTfBfO','C3rYAw5N','yNvPBgrpCMrLCKj5q2XHDxnL','m2fRyuzSwG'];a0_0x3bd8=function(){return _0x433671;};return a0_0x3bd8();}function a0_0x4a9c(_0x2d2572,_0x5b7fb2){_0x2d2572=_0x2d2572-0x1b4;const _0x3bd8e6=a0_0x3bd8();let _0x4a9cfa=_0x3bd8e6[_0x2d2572];if(a0_0x4a9c['GPdSvO']===undefined){var _0x81856f=function(_0x1bcb1a){const _0x5e81e9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565ee2='',_0x7d856c='';for(let _0x10af83=0x0,_0x5776b5,_0x1c6ac2,_0x5cd64d=0x0;_0x1c6ac2=_0x1bcb1a['charAt'](_0x5cd64d++);~_0x1c6ac2&&(_0x5776b5=_0x10af83%0x4?_0x5776b5*0x40+_0x1c6ac2:_0x1c6ac2,_0x10af83++%0x4)?_0x565ee2+=String['fromCharCode'](0xff&_0x5776b5>>(-0x2*_0x10af83&0x6)):0x0){_0x1c6ac2=_0x5e81e9['indexOf'](_0x1c6ac2);}for(let _0x281e6c=0x0,_0x843365=_0x565ee2['length'];_0x281e6c<_0x843365;_0x281e6c++){_0x7d856c+='%'+('00'+_0x565ee2['charCodeAt'](_0x281e6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7d856c);};a0_0x4a9c['MdKwUR']=_0x81856f,a0_0x4a9c['UImFrM']={},a0_0x4a9c['GPdSvO']=!![];}const _0x4780b7=_0x3bd8e6[0x0],_0x1bd1d6=_0x2d2572+_0x4780b7,_0x1ff8e7=a0_0x4a9c['UImFrM'][_0x1bd1d6];return!_0x1ff8e7?(_0x4a9cfa=a0_0x4a9c['MdKwUR'](_0x4a9cfa),a0_0x4a9c['UImFrM'][_0x1bd1d6]=_0x4a9cfa):_0x4a9cfa=_0x1ff8e7,_0x4a9cfa;}(function(_0x363646,_0x5ed662){const _0xcb7190=a0_0x4a9c,_0x288b7f=_0x363646();while(!![]){try{const _0x5e4f24=-parseInt(_0xcb7190(0x1fc))/0x1+parseInt(_0xcb7190(0x1e4))/0x2*(-parseInt(_0xcb7190(0x1be))/0x3)+parseInt(_0xcb7190(0x21d))/0x4*(-parseInt(_0xcb7190(0x1b9))/0x5)+-parseInt(_0xcb7190(0x20c))/0x6*(-parseInt(_0xcb7190(0x228))/0x7)+parseInt(_0xcb7190(0x205))/0x8+-parseInt(_0xcb7190(0x21e))/0x9*(-parseInt(_0xcb7190(0x22d))/0xa)+parseInt(_0xcb7190(0x201))/0xb;if(_0x5e4f24===_0x5ed662)break;else _0x288b7f['push'](_0x288b7f['shift']());}catch(_0x12e034){_0x288b7f['push'](_0x288b7f['shift']());}}}(a0_0x3bd8,0x87f51));const {v7:uuidv7}=require(a0_0x3c7914(0x21b)),path=require(a0_0x3c7914(0x222)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x3c7914(0x1fe)),dbType=(process['env'][a0_0x3c7914(0x217)]||a0_0x3c7914(0x1cf))[a0_0x3c7914(0x21f)]();let executeQuery;if(dbType===a0_0x3c7914(0x1ce)){const oracleDb=require(a0_0x3c7914(0x20d));executeQuery=(_0x1a442b,_0x26d325)=>oracleDb['executeQuery'](_0x1a442b,_0x26d325);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1b2592,_0x1a1a10)=>mysqlDb['executeQuery'](_0x1b2592,_0x1a1a10);}else executeQuery=require('../utils/db')[a0_0x3c7914(0x1ba)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x3c7914(0x1f2)](){const _0x776b65=a0_0x3c7914,_0x267453={'btbTw':'Export\x20service\x20initialized','PcwSL':function(_0x2a2ce9,_0x2e4654,_0x5e8814,_0x9bff4){return _0x2a2ce9(_0x2e4654,_0x5e8814,_0x9bff4);},'uXwrK':_0x776b65(0x256)};if(!this[_0x776b65(0x1db)]){const _0x194839=process['env'][_0x776b65(0x1f8)]||'default';this[_0x776b65(0x1db)]=process[_0x776b65(0x1d8)]['EXPORT_DIR']||path['join'](__dirname,_0x776b65(0x23b)+_0x194839);try{!fsSync[_0x776b65(0x1ee)](this[_0x776b65(0x1db)])&&fsSync[_0x776b65(0x23f)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x776b65(0x232),'dir':this[_0x776b65(0x1db)]},_0x267453[_0x776b65(0x1df)]);}catch(_0x27f0e6){_0x267453[_0x776b65(0x1ff)](logError,_0x27f0e6,{'event':_0x267453['uXwrK']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x3c7914(0x24c)](_0x2e44cc,_0x2b49cb=null){const _0x2686cd=a0_0x3c7914,_0x1309b1={'umoXn':_0x2686cd(0x1bc),'BwHNp':'file:','CnGWJ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','Mxfyz':'payload','gCrKI':_0x2686cd(0x223),'oIacn':_0x2686cd(0x1f6)};if(!_0x2e44cc||typeof _0x2e44cc!==_0x1309b1[_0x2686cd(0x1e2)])return _0x2e44cc;const _0x1c1030=_0x2e44cc[_0x2686cd(0x23e)]();if(!_0x1c1030['startsWith'](_0x1309b1[_0x2686cd(0x210)]))return _0x1c1030;const _0xbc2ab3=_0x1c1030['replace'](/^file:/,'')['trim']();if(!_0xbc2ab3)throw new Error(_0x1309b1['CnGWJ']);const _0x151608=_0x2b49cb||path['join'](process['cwd'](),_0x1309b1[_0x2686cd(0x203)]),_0x560c96=path['resolve'](_0x151608,_0xbc2ab3);logger[_0x2686cd(0x23d)]({'event':_0x1309b1['gCrKI'],'relativePath':_0xbc2ab3,'baseDir':_0x151608,'absolutePath':_0x560c96},_0x2686cd(0x255)+_0xbc2ab3);if(!fsSync['existsSync'](_0x560c96))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);try{const _0x25fa23=fsSync['readFileSync'](_0x560c96,'utf8');if(!_0x25fa23||!_0x25fa23['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x560c96);return logger['info']({'event':'export_query_file_loaded','file':_0x560c96,'queryLength':_0x25fa23[_0x2686cd(0x1ec)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x25fa23['length']+_0x2686cd(0x22f)),_0x25fa23[_0x2686cd(0x23e)]();}catch(_0x4b0161){if(_0x4b0161['code']===_0x1309b1[_0x2686cd(0x209)])throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x4b0161[_0x2686cd(0x225)]);}}[a0_0x3c7914(0x1f9)](){const _0x13101d=a0_0x3c7914,_0x6d58ac={'ATcFd':function(_0x5b81c6){return _0x5b81c6();},'OLMYV':function(_0x33f3a3,_0x42e40e){return _0x33f3a3*_0x42e40e;}},_0x32ea39='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x20779c=Date[_0x13101d(0x231)]()[_0x13101d(0x23c)](0x24),_0x2860b8=_0x6d58ac[_0x13101d(0x238)](uuidv7)[_0x13101d(0x1dc)](/-/g,'')[_0x13101d(0x214)](0x0,0xc-_0x20779c[_0x13101d(0x1ec)]),_0xc8be6d=(_0x20779c+_0x2860b8)[_0x13101d(0x214)](0x0,0xc);let _0x4333d6='';for(let _0x589630=0x0;_0x589630<0xc;_0x589630++){_0xc8be6d[_0x589630]?_0x4333d6+=_0xc8be6d[_0x589630]:_0x4333d6+=_0x32ea39[_0x13101d(0x24e)](Math[_0x13101d(0x206)](_0x6d58ac[_0x13101d(0x229)](Math[_0x13101d(0x1f5)](),_0x32ea39[_0x13101d(0x1ec)])));}return _0x4333d6;}async[a0_0x3c7914(0x1e9)](_0x451aed){const _0x3d16d4=a0_0x3c7914,_0x331473={'AmpfO':function(_0x428788,_0xe7b425,_0x3fe465,_0x5ee2a0){return _0x428788(_0xe7b425,_0x3fe465,_0x5ee2a0);},'xEJBu':'export_process_error','kJwCA':_0x3d16d4(0x249)},_0x4be967=this[_0x3d16d4(0x1f9)](),_0x21cd16={'job_id':_0x4be967,'status':_0x331473[_0x3d16d4(0x1c0)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x451aed,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x4be967,_0x21cd16),logger[_0x3d16d4(0x23d)]({'event':_0x3d16d4(0x1c9),'jobId':_0x4be967,'params':_0x451aed},_0x3d16d4(0x1b4)),this['processJob'](_0x4be967,_0x451aed)[_0x3d16d4(0x1e5)](_0x36fc06=>{const _0x5b1986=_0x3d16d4;_0x331473[_0x5b1986(0x224)](logError,_0x36fc06,{'event':_0x331473['xEJBu'],'jobId':_0x4be967},'Export\x20processing\x20failed');}),{'job_id':_0x4be967,'status':_0x3d16d4(0x249)};}async['getJobStatus'](_0x17ad07){const _0x274bd1=a0_0x3c7914,_0xf35b44=await redisHelper[_0x274bd1(0x257)](_0x17ad07);if(!_0xf35b44)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0xf35b44[_0x274bd1(0x1ea)],'status':_0xf35b44['status'],'progress':_0xf35b44['progress'],'total_rows':_0xf35b44['total_rows'],'processed_rows':_0xf35b44['processed_rows'],'file_url':_0xf35b44['status']===_0x274bd1(0x24b)?_0x274bd1(0x230)+_0xf35b44['params']['moduleName']+'/'+_0xf35b44['params'][_0x274bd1(0x22b)]+'/export-download?job_id='+_0x17ad07:null,'error':_0xf35b44['error']||null,'created_at':_0xf35b44['created_at'],'completed_at':_0xf35b44[_0x274bd1(0x21c)]||null}};}async[a0_0x3c7914(0x1c5)](_0x15f44d,_0x68040d){const _0x2fc985=a0_0x3c7914,_0x3354b7={'bXZPG':'export_processing_start','jRSdK':_0x2fc985(0x259),'TSsQT':_0x2fc985(0x233),'xJHdE':_0x2fc985(0x20a),'PMQoM':function(_0x3c7a6e,_0x4f91b6,_0x3ee13d,_0x4d43a9){return _0x3c7a6e(_0x4f91b6,_0x3ee13d,_0x4d43a9);},'nTBuq':_0x2fc985(0x1d6)};try{await redisHelper['updateJob'](_0x15f44d,{'status':_0x2fc985(0x218),'started_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7['bXZPG'],'jobId':_0x15f44d},_0x3354b7['jRSdK']);const _0x10255b=await this['fetchData'](_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'total_rows':_0x10255b['length']});const _0x17d5fa=await this['generateExcel'](_0x15f44d,_0x10255b,_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'status':'completed','progress':0x64,'file_path':_0x17d5fa,'completed_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7[_0x2fc985(0x1f7)],'jobId':_0x15f44d,'rows':_0x10255b[_0x2fc985(0x1ec)]},_0x3354b7['xJHdE']);}catch(_0x1b880b){_0x3354b7[_0x2fc985(0x220)](logError,_0x1b880b,{'event':'export_failed','jobId':_0x15f44d},'Export\x20failed'),await redisHelper[_0x2fc985(0x1c7)](_0x15f44d,{'status':_0x3354b7[_0x2fc985(0x221)],'error':_0x1b880b['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0xcdc542){const _0x202989=a0_0x3c7914,_0x4b011e={'JKElZ':function(_0x4eb72f,_0x50f1d5){return _0x4eb72f===_0x50f1d5;},'YvJXz':_0x202989(0x21a),'jVddE':'file:','lDMre':'export_using_custom_query','PyRKR':function(_0x114915,_0x4be7db){return _0x114915>_0x4be7db;},'FFomD':_0x202989(0x1c8),'AlTYL':'Fetching\x20data\x20from\x20database','yxtsN':_0x202989(0x1ce),'xbQGV':'export_fetch_complete','EWBGk':_0x202989(0x1d1),'OrwVM':function(_0x403b5e,_0x3c4e49,_0x18708e,_0x522453){return _0x403b5e(_0x3c4e49,_0x18708e,_0x522453);},'KekSO':'export_fetch_error'};try{const {tableName:_0x14400a,columns:_0x35cb91,exportQuery:_0x27a9ce,where:_0x9dccde,sort_columns:_0x1734f7}=_0xcdc542;if(!_0x14400a||!_0x35cb91||_0x4b011e[_0x202989(0x1bb)](_0x35cb91['length'],0x0))throw new Error(_0x4b011e[_0x202989(0x237)]);const _0x205547=_0x14400a['replace'](/\./g,'_')+'_data';let _0x750948;if(_0x27a9ce&&_0x27a9ce[_0x202989(0x23e)]()){let _0x3d5d55=_0x27a9ce;_0x27a9ce['trim']()[_0x202989(0x251)](_0x4b011e[_0x202989(0x1e3)])&&(_0x3d5d55=this['resolveExportQuery'](_0x27a9ce)),_0x750948='WITH\x20'+_0x205547+_0x202989(0x1f0)+_0x3d5d55+'\x0a)',_0x750948+=_0x202989(0x1ca)+_0x205547,logger['info']({'event':_0x4b011e[_0x202989(0x213)],'query':_0x3d5d55[_0x202989(0x214)](0x0,0x64)},_0x202989(0x242));}else{const _0x3a90f9=_0x35cb91[_0x202989(0x24a)](_0x9e17a6=>_0x202989(0x24d)+_0x9e17a6)[_0x202989(0x1c3)](',');_0x750948=_0x202989(0x1d5)+_0x205547+_0x202989(0x22e)+_0x3a90f9+_0x202989(0x212)+_0x14400a+'\x0a)',_0x750948+='\x0aSELECT\x20*\x20FROM\x20'+_0x205547,logger[_0x202989(0x23d)]({'event':_0x202989(0x1fb),'tableName':_0x14400a,'columnCount':_0x35cb91[_0x202989(0x1ec)]},_0x202989(0x1ed));}if(_0x9dccde){const _0x3f096e=this['buildWhereClause'](_0x9dccde);_0x3f096e&&(_0x750948+='\x0aWHERE\x20'+_0x3f096e);}if(_0x1734f7&&_0x4b011e[_0x202989(0x236)](_0x1734f7['length'],0x0)){const _0x23de7a=this[_0x202989(0x1bd)](_0x1734f7);_0x23de7a&&(_0x750948+='\x0aORDER\x20BY\x20'+_0x23de7a);}logger[_0x202989(0x23d)]({'event':_0x4b011e[_0x202989(0x1b8)],'query':_0x750948[_0x202989(0x214)](0x0,0xc8)},_0x4b011e['AlTYL']);const _0x17038a=await executeQuery(_0x750948);let _0x4242da=_0x17038a;return _0x4b011e[_0x202989(0x1bb)](dbType,_0x4b011e['yxtsN'])&&_0x17038a&&_0x4b011e['PyRKR'](_0x17038a[_0x202989(0x1ec)],0x0)&&(_0x4242da=_0x17038a[_0x202989(0x24a)](_0x5b4368=>{const _0x18662d={};for(const [_0x218a86,_0x70a447]of Object['entries'](_0x5b4368)){_0x18662d[_0x218a86['toLowerCase']()]=_0x70a447;}return _0x18662d;})),logger['info']({'event':_0x4b011e['xbQGV'],'rows':_0x4242da[_0x202989(0x1ec)]},_0x4b011e['EWBGk']),_0x4242da;}catch(_0x3e8aa3){_0x4b011e['OrwVM'](logError,_0x3e8aa3,{'event':_0x4b011e[_0x202989(0x22c)]},_0x202989(0x1c2));throw _0x3e8aa3;}}['sanitizeValue'](_0x3ccd2c){const _0x194971=a0_0x3c7914,_0x1f03dc={'txXsf':'string'};if(typeof _0x3ccd2c===_0x1f03dc['txXsf'])return _0x3ccd2c[_0x194971(0x1dc)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x194971(0x207)](_0x3ccd2c))return _0x3ccd2c['map'](_0x53de4f=>this[_0x194971(0x226)](_0x53de4f));}return _0x3ccd2c;}[a0_0x3c7914(0x1d3)](_0x2445b5){const _0x1b46bd=a0_0x3c7914,_0x4c69b4={'KcZPw':function(_0x4328ae,_0x283d9a){return _0x4328ae===_0x283d9a;},'PQDOc':function(_0x4b7c05,_0x4c64b0){return _0x4b7c05||_0x4c64b0;},'SNDMW':function(_0x888091,_0x33a713){return _0x888091!==_0x33a713;},'GNtkM':_0x1b46bd(0x1bc),'mcbzi':function(_0x283d08,_0x1dd53c){return _0x283d08===_0x1dd53c;},'KYBaA':'LIKE','peNQI':'IS\x20NOT\x20NULL','AdmkI':_0x1b46bd(0x1c4),'xxStk':function(_0x1bd06b,_0x21e56e){return _0x1bd06b===_0x21e56e;},'mzrpc':_0x1b46bd(0x208),'sMUyR':function(_0x201cc2,_0x24eba6){return _0x201cc2===_0x24eba6;}};if(!_0x2445b5||!_0x2445b5[_0x1b46bd(0x258)]||_0x2445b5['conditions'][_0x1b46bd(0x1ec)]===0x0)return'';const {logic:_0x20ab90,conditions:_0x112a5e}=_0x2445b5,_0x5bebc2=_0x20ab90&&_0x4c69b4['xxStk'](_0x20ab90['toUpperCase'](),'OR')?_0x4c69b4['mzrpc']:'\x20AND\x20',_0x84b353=_0x112a5e['map'](_0x3b3185=>{const _0x565c5f=_0x1b46bd,_0x180444={'OqZxs':function(_0xfba27f,_0x1c82c2){return _0xfba27f===_0x1c82c2;},'IUoCs':'string','ujRLa':function(_0x1fdf2d,_0x34aa86){const _0x27eace=a0_0x4a9c;return _0x4c69b4[_0x27eace(0x215)](_0x1fdf2d,_0x34aa86);}},{key:_0x4aa151,operator:_0x137a85,value:_0x41005a,sensitive:_0x523385}=_0x3b3185;if(_0x4c69b4['PQDOc'](!_0x4aa151,!_0x137a85))return logger[_0x565c5f(0x243)]({'event':_0x565c5f(0x1c1),'condition':_0x3b3185},_0x565c5f(0x20e)),null;const _0x518f74=this[_0x565c5f(0x226)](_0x41005a),_0x5a2300=_0x4c69b4[_0x565c5f(0x245)](_0x523385,undefined)?_0x523385:!![];let _0xa7de49=_0x4aa151,_0x24b46d=_0x518f74;!_0x5a2300&&(_0xa7de49=_0x565c5f(0x1d0)+_0x4aa151+')',typeof _0x41005a===_0x565c5f(0x1bc)&&(_0x24b46d=_0x41005a[_0x565c5f(0x1cc)]()));const _0xd066fc=typeof _0x24b46d===_0x4c69b4[_0x565c5f(0x1f3)]?'\x27'+_0x24b46d['replace'](/'/g,'\x27\x27')+'\x27':_0x24b46d;switch(_0x137a85['toUpperCase']()){case'=':case'!=':case'<>':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'>':case'<':case'>=':case'<=':const _0x57b8d8=_0x4c69b4[_0x565c5f(0x247)](typeof _0x518f74,_0x4c69b4['GNtkM'])?'\x27'+_0x518f74[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x518f74;return _0x4aa151+'\x20'+_0x137a85+'\x20'+_0x57b8d8;case _0x4c69b4['KYBaA']:case'NOT\x20LIKE':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'IN':if(Array['isArray'](_0x518f74)){let _0x1e7de6;return!_0x5a2300?_0x1e7de6=_0x518f74['map'](_0x5bfd08=>{const _0x3c2ac2=_0x565c5f,_0x19376a=_0x180444[_0x3c2ac2(0x20b)](typeof _0x5bfd08,_0x180444[_0x3c2ac2(0x202)])?_0x5bfd08[_0x3c2ac2(0x1cc)]():_0x5bfd08;return _0x180444[_0x3c2ac2(0x254)](typeof _0x19376a,_0x3c2ac2(0x1bc))?'\x27'+_0x19376a[_0x3c2ac2(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x19376a;})['join'](',\x20'):_0x1e7de6=_0x518f74['map'](_0x5d179d=>typeof _0x5d179d===_0x565c5f(0x1bc)?'\x27'+_0x5d179d[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x5d179d)['join'](',\x20'),_0xa7de49+_0x565c5f(0x23a)+_0x1e7de6+')';}return _0xa7de49+'\x20IN\x20('+_0xd066fc+')';case _0x565c5f(0x252):return _0x4aa151+'\x20IS\x20NULL';case _0x4c69b4['peNQI']:return _0x4aa151+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4c69b4[_0x565c5f(0x1ef)],'operator':_0x137a85},_0x565c5f(0x1d9));return _0xa7de49+'\x20=\x20'+_0xd066fc;}})['filter'](_0x60c324=>_0x60c324!==null);if(_0x4c69b4['sMUyR'](_0x84b353[_0x1b46bd(0x1ec)],0x0))return'';return _0x84b353[_0x1b46bd(0x1c3)](_0x5bebc2);}['buildOrderByClause'](_0x329dbe){const _0x546e68=a0_0x3c7914,_0x20b983={'hatmx':_0x546e68(0x1eb),'mkkAr':_0x546e68(0x1d4),'OMSjK':function(_0x40f9af,_0xcdff83){return _0x40f9af===_0xcdff83;},'xikCN':_0x546e68(0x1e1),'ReknW':function(_0x2aae01,_0x34e3bc){return _0x2aae01===_0x34e3bc;}};if(!_0x329dbe||_0x20b983[_0x546e68(0x211)](_0x329dbe['length'],0x0))return'';const _0x2e6fb9=_0x329dbe['map'](_0x8047b0=>{const _0x4b805f=_0x546e68,{column:_0x30d635,direction:_0x385063}=_0x8047b0;if(!_0x30d635)return logger['warn']({'event':_0x20b983[_0x4b805f(0x227)],'item':_0x8047b0},_0x20b983[_0x4b805f(0x246)]),null;const _0x38665b=_0x385063&&_0x20b983[_0x4b805f(0x211)](_0x385063[_0x4b805f(0x1cc)](),_0x4b805f(0x1e1))?_0x20b983[_0x4b805f(0x219)]:_0x4b805f(0x1cd);return _0x30d635+'\x20'+_0x38665b;})['filter'](_0x360e56=>_0x360e56!==null);if(_0x20b983['ReknW'](_0x2e6fb9['length'],0x0))return'';return _0x2e6fb9[_0x546e68(0x1c3)](',\x20');}async['generateExcel'](_0x380ff2,_0x28904b,_0x2685a9){const _0x1a323a=a0_0x3c7914,_0x461ac0={'qiAkF':function(_0x480f75,_0x3f7eca){return _0x480f75*_0x3f7eca;},'sFAvC':function(_0xb518eb,_0xb27d07){return _0xb518eb/_0xb27d07;},'eUarR':_0x1a323a(0x1de),'kEaeZ':function(_0x543446,_0x205b24){return _0x543446>_0x205b24;},'VhLaP':_0x1a323a(0x241),'USfKq':function(_0x26c106,_0x18933c){return _0x26c106>_0x18933c;},'QYEsu':'excel_columns_from_request','NZEFm':'excel_columns_fallback','BDbtT':'excel_columns_from_query_result','UsZAc':_0x1a323a(0x20f)},_0x27d3ea=require('../utils/excel-generator'),_0x3e787e=new _0x27d3ea(),_0x2f0ed6=_0x2685a9[_0x1a323a(0x239)]?_0x2685a9['filename']+'-'+_0x380ff2:'export-'+_0x380ff2,_0x20f1bf=path['join'](this[_0x1a323a(0x1f2)],_0x2f0ed6+_0x1a323a(0x216));let _0x4b2890=_0x2685a9['columns'];const _0x42cc83=_0x2685a9[_0x1a323a(0x1bf)]&&_0x2685a9['exportQuery'][_0x1a323a(0x23e)](),_0x1666cc=_0x4b2890&&_0x4b2890[_0x1a323a(0x1ec)]===0x1&&(_0x4b2890[0x0]==='*'||_0x4b2890[0x0]['toLowerCase']()===_0x461ac0['eUarR']);if(_0x461ac0['kEaeZ'](_0x28904b[_0x1a323a(0x1ec)],0x0)){const _0xb5d230=Object['keys'](_0x28904b[0x0]);if(_0x42cc83)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['VhLaP'],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890[_0x1a323a(0x1ec)]+_0x1a323a(0x1c6));else{if(_0x1666cc)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':'excel_columns_select_all','columns':_0x4b2890},_0x1a323a(0x24f)+_0x4b2890['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4b2890&&_0x461ac0['USfKq'](_0x4b2890['length'],0x0)){const _0x543989=_0x4b2890[_0x1a323a(0x1f1)](_0x1c3031=>_0xb5d230['includes'](_0x1c3031));_0x543989['length']>0x0?(_0x4b2890=_0x543989,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['QYEsu'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'validColumns':_0x4b2890},'Using\x20'+_0x4b2890['length']+'\x20columns\x20from\x20request')):(_0x4b2890=_0xb5d230,logger['warn']({'event':_0x461ac0['NZEFm'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'availableColumns':_0xb5d230},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0xb5d230[_0x1a323a(0x1ec)]+_0x1a323a(0x244)));}else _0x4b2890=_0xb5d230,logger['info']({'event':_0x461ac0[_0x1a323a(0x1b6)],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890['length']+_0x1a323a(0x235));}}}else logger[_0x1a323a(0x23d)]({'event':_0x461ac0['UsZAc'],'columns':_0x4b2890},_0x1a323a(0x22a)+(_0x4b2890?.[_0x1a323a(0x1ec)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x3e787e['generate']({'data':_0x28904b,'columns':_0x4b2890,'columnFormats':_0x2685a9['columnFormats']||null,'fieldLabels':_0x2685a9[_0x1a323a(0x1e8)]||null,'filePath':_0x20f1bf,'onProgress':async _0x8960d5=>{const _0x443a11=_0x1a323a;await redisHelper['updateJob'](_0x380ff2,{'progress':Math[_0x443a11(0x253)](_0x8960d5),'processed_rows':Math[_0x443a11(0x253)](_0x461ac0[_0x443a11(0x1e7)](_0x461ac0[_0x443a11(0x1fd)](_0x8960d5,0x64),_0x28904b[_0x443a11(0x1ec)]))});}}),_0x20f1bf;}async['getFilePath'](_0x24fb48){const _0x435f12=a0_0x3c7914,_0x529161={'liOMm':function(_0x4cef0d,_0x4c4846,_0x3f1479,_0x1457d5){return _0x4cef0d(_0x4c4846,_0x3f1479,_0x1457d5);},'zZWvI':'export_file_not_found'},_0x11d8e8=await redisHelper['getJob'](_0x24fb48);if(!_0x11d8e8||_0x11d8e8[_0x435f12(0x250)]!==_0x435f12(0x24b))return null;try{return await fs['access'](_0x11d8e8[_0x435f12(0x1da)]),_0x11d8e8['file_path'];}catch(_0x2ff967){return _0x529161['liOMm'](logError,_0x2ff967,{'event':_0x529161[_0x435f12(0x1e6)],'jobId':_0x24fb48,'path':_0x11d8e8['file_path']},_0x435f12(0x1b5)),null;}}async[a0_0x3c7914(0x248)](){const _0x4ca673=a0_0x3c7914,_0x41d66b={'aThJI':'Starting\x20export\x20cleanup','rMUGl':function(_0x5131ea,_0xaf6b5a){return _0x5131ea/_0xaf6b5a;},'cCzPC':function(_0x4b1edf,_0xcc2870){return _0x4b1edf*_0xcc2870;},'DRWFX':function(_0x2e889c,_0x343517){return _0x2e889c>_0x343517;},'zsczS':_0x4ca673(0x1b7),'VHDtj':_0x4ca673(0x1d2)};logger[_0x4ca673(0x23d)]({'event':_0x4ca673(0x1e0)},_0x41d66b['aThJI']);const _0x2a5062=await redisHelper[_0x4ca673(0x200)]();let _0x1a926e=0x0;for(const _0x576f5d of _0x2a5062){const _0x40a7a5=new Date(_0x576f5d[_0x4ca673(0x204)]),_0x28fe14=new Date(),_0x10c050=_0x41d66b['rMUGl'](_0x28fe14-_0x40a7a5,_0x41d66b[_0x4ca673(0x1f4)](0x3e8,0x3c)*0x3c);if(_0x41d66b['DRWFX'](_0x10c050,0x1)){if(_0x576f5d['file_path'])try{await fs[_0x4ca673(0x1dd)](_0x576f5d[_0x4ca673(0x1da)]),logger['info']({'event':'export_file_deleted','path':_0x576f5d[_0x4ca673(0x1da)]},_0x4ca673(0x1fa));}catch(_0x21c474){logger[_0x4ca673(0x243)]({'event':_0x41d66b[_0x4ca673(0x1d7)],'path':_0x576f5d[_0x4ca673(0x1da)],'error':_0x21c474[_0x4ca673(0x225)]},_0x41d66b['VHDtj']);}await redisHelper['deleteJob'](_0x576f5d[_0x4ca673(0x1ea)]),_0x1a926e++;}}return logger[_0x4ca673(0x23d)]({'event':'export_cleanup_complete','deleted':_0x1a926e},_0x4ca673(0x234)),_0x1a926e;}}module[a0_0x3c7914(0x1cb)]=new ExportService();
|
|
1
|
+
function a0_0x2383(){const _0xb124a2=['CMvZB2X2zuv4Cg9YDff1zxj5','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','CMvHzezPBgvtEw5J','CMfUzg9T','BK5UDuu','thzqzg0','AwDfsue','rejFvfLqrq','u0XjuMC','mZG4mtaXmgHKu0XOBG','C3rHCNrZv2L0Aa','BxLZCwW','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','AM9PBG','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','zMLSztO','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','v2HlrNq','zxjYB3i','zw5KCg9PBNroyw1L','rxHWB3j0igzPBguGBM90igzVDw5K','CMvWBgfJzq','rNPJv2G','D2vwEfO','vvbqrviO','DxrMoa','x2v4Cg9YDerPCG','ELHIqu4','CgfYyw1Z','y3DK','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','ieforca','CgvUzgLUzW','nJqZmduWA0Xbv09k','AM9Ix2LK','zw50CMLLCW','rMzIBfm','s3HjDNe','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','zxHLy3v0zvf1zxj5','y3jLyxrLzf9HDa','z2v0sM9Iu3rHDhvZ','B3jHy2XL','svmGtLvmta','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','DhjPBq','rertB0G','v0Lusca','Dg9vChbLCKnHC2u','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','y2HHCKf0','q1HLqvG','u1jevMK','AxnbCNjHEq','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','lI4VDxrPBhmVzgi','z2v0rMLSzvbHDgG','C3vIC3rYAw5N','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','D2zSB3i','vxnPBMCG','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','id0G','s3zSzeG','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ohr3uhHhCa','zMLLBgrmywjLBhm','z2v0qwXSsM9ICW','revtqW','ie9sia','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','Dhz6DMq','Cg9ZDgDYzxnXBa','ieLoicG','y3PtDuK','zgvMyxvSDa','Aw52ywXPzf9JB25KAxrPB24','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','ExHfv3q','q3vuq3u','Dg9tDhjPBMC','cIaGicbguK9nia','yNvPBgrpCMrLCKj5q2XHDxnL','zLLesNq','zxHWB3j0x2zPBgvFBM90x2zVDw5K','Dw5RBM93BL9VCgvYyxrVCG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','CvLvAu8','ChjVy2vZC2LUzW','ugPbyuy','zxHWB3j0x3bYB2nLC3nFzxjYB3i','yNvPBgrxAgvYzunSyxvZzq','zxHWB3j0x3nLCNzPy2vFAw5PDa','ywnJzxnZ','mJDNsu9Wu3q','tK9uieXjs0u','C3rHDhvZ','v1LHEMq','mJiYmJGZme9bsxLNtW','C2fUAxrPEMvwywX1zq','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','y29TCgXLDgvK','lI4VDxrPBhmVBg9Nz2vY','zMXVB3i','mtmYmZqYreLWzMTd','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','Dw5SAw5R','cLnftevdvcaQiezst00G','DxbKyxrLsM9I','z2vUzxjHDgvfEgnLBa','Aw5MBW','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','tNPZzuO','z0XQr3m','zxHWB3j0lq','rvHqt1jux0rjuG','BwfW','zxHPC3rZu3LUyW','mte4mdG4yKXkBwTZ','zxHWB3j0x2nSzwfUDxbFC3rHCNq','y29UzgL0Aw9UCW','rKvTv3K','BgvUz3rO','tu95Dwq','y29Kzq','ywXS','mJi5nJu1m1DnD21oqG','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','zMLSzw5HBwu','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zxHWB3j0x2zPBgvFzgvSzxrLza','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','nfbVuuzfvG','lI4VlI4VzxHWB3j0CY8','AMDIuNC','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','BwvZC2fNzq','rMfPBgvKihrVigzLDgnOigrHDge','A1b3zhG','C3rYAw5N','mZG2ndGXnw1AEgPQBW','qxLMCNu','uuLLz20','zxHWB3j0rgLY','Bw9KDwXLtMfTzq','s2foyLO','wLzzrhq','Dg90ywXFCM93CW','ChjfDe8','D2fYBG','z2vUzxjHDgu','AgHwrva','q2HmvhC','CMvZB2X2zq','ExD2uvy','Dg9mB3DLCKnHC2u','C2rtzKC','DxvPza','Dg9ju09tDhjPBMC','zMLSzv9WyxrO','zw52','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','iefticGkicaGifnftevdvca','A2v5CW'];a0_0x2383=function(){return _0xb124a2;};return a0_0x2383();}const a0_0x4bc69a=a0_0x29cb;(function(_0x28c9e9,_0x30a665){const _0x49e157=a0_0x29cb,_0x2a28cf=_0x28c9e9();while(!![]){try{const _0x32f10a=-parseInt(_0x49e157(0x1ba))/0x1+-parseInt(_0x49e157(0x167))/0x2+parseInt(_0x49e157(0x159))/0x3+parseInt(_0x49e157(0x175))/0x4*(parseInt(_0x49e157(0x17d))/0x5)+-parseInt(_0x49e157(0x1a1))/0x6+-parseInt(_0x49e157(0x16f))/0x7*(-parseInt(_0x49e157(0x130))/0x8)+parseInt(_0x49e157(0x14f))/0x9*(parseInt(_0x49e157(0x153))/0xa);if(_0x32f10a===_0x30a665)break;else _0x2a28cf['push'](_0x2a28cf['shift']());}catch(_0x40f0e5){_0x2a28cf['push'](_0x2a28cf['shift']());}}}(a0_0x2383,0x710e4));const {v7:uuidv7}=require(a0_0x4bc69a(0x18e)),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x4bc69a(0x135)),{logger,logError}=require(a0_0x4bc69a(0x157)),dbType=(process[a0_0x4bc69a(0x191)][a0_0x4bc69a(0x19f)]||a0_0x4bc69a(0x138))[a0_0x4bc69a(0x18c)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x6abb4b,_0x5bc6b6)=>oracleDb['executeQuery'](_0x6abb4b,_0x5bc6b6);}else{if(dbType===a0_0x4bc69a(0x1a3)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1d232f,_0x55bf66)=>mysqlDb[a0_0x4bc69a(0x1c2)](_0x1d232f,_0x55bf66);}else executeQuery=require(a0_0x4bc69a(0x126))['executeQuery'];}class ExportService{constructor(){const _0x44b204=a0_0x4bc69a;this[_0x44b204(0x1b3)]=null;}get['exportDir'](){const _0x43472b=a0_0x4bc69a,_0x308ec0={'idrbj':_0x43472b(0x13b),'eFwFI':'Export\x20service\x20initialized','QIegm':function(_0x18f379,_0x348469,_0x1ee6bf,_0xf6cb30){return _0x18f379(_0x348469,_0x1ee6bf,_0xf6cb30);},'Ycdhi':_0x43472b(0x13d)};if(!this[_0x43472b(0x1b3)]){const _0x5d8682=process['env'][_0x43472b(0x146)]||_0x308ec0['idrbj'];this[_0x43472b(0x1b3)]=process['env'][_0x43472b(0x164)]||path['join'](__dirname,_0x43472b(0x176)+_0x5d8682);try{!fsSync[_0x43472b(0x166)](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x43472b(0x15f)]({'event':_0x43472b(0x14d),'dir':this[_0x43472b(0x1b3)]},_0x308ec0['eFwFI']);}catch(_0x1e04a2){_0x308ec0[_0x43472b(0x17f)](logError,_0x1e04a2,{'event':_0x308ec0['Ycdhi']},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x43472b(0x1b3)];}[a0_0x4bc69a(0x197)](_0x2cb7f4,_0x376a5d=null){const _0x140cfa=a0_0x4bc69a,_0x5eaccc={'nwAqh':function(_0x553077,_0x1cfc8f){return _0x553077!==_0x1cfc8f;},'Mzdus':'string','FEmWy':'payload','tUpin':'export_query_file_resolve','CuTCu':function(_0x1ce1cb,_0x4c6de0){return _0x1ce1cb===_0x4c6de0;},'EwxVK':'ENOENT'};if(!_0x2cb7f4||_0x5eaccc['nwAqh'](typeof _0x2cb7f4,_0x5eaccc['Mzdus']))return _0x2cb7f4;const _0x258126=_0x2cb7f4[_0x140cfa(0x1c8)]();if(!_0x258126[_0x140cfa(0x1a2)](_0x140cfa(0x1a8)))return _0x258126;const _0x1f81a4=_0x258126[_0x140cfa(0x1ae)](/^file:/,'')['trim']();if(!_0x1f81a4)throw new Error(_0x140cfa(0x12f));const _0x2685ab=_0x376a5d||path[_0x140cfa(0x1a5)](process[_0x140cfa(0x1b6)](),_0x5eaccc[_0x140cfa(0x16a)]),_0x47b6d7=path[_0x140cfa(0x18a)](_0x2685ab,_0x1f81a4);logger['info']({'event':_0x5eaccc['tUpin'],'relativePath':_0x1f81a4,'baseDir':_0x2685ab,'absolutePath':_0x47b6d7},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x1f81a4);if(!fsSync[_0x140cfa(0x166)](_0x47b6d7))throw new Error(_0x140cfa(0x174)+_0x47b6d7);try{const _0x2e04d6=fsSync[_0x140cfa(0x19a)](_0x47b6d7,_0x140cfa(0x1b2));if(!_0x2e04d6||!_0x2e04d6['trim']())throw new Error(_0x140cfa(0x199)+_0x47b6d7);return logger[_0x140cfa(0x15f)]({'event':'export_query_file_loaded','file':_0x47b6d7,'queryLength':_0x2e04d6[_0x140cfa(0x16b)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x2e04d6['length']+'\x20chars)'),_0x2e04d6['trim']();}catch(_0x1add31){if(_0x5eaccc[_0x140cfa(0x13f)](_0x1add31[_0x140cfa(0x16d)],_0x5eaccc['EwxVK']))throw new Error(_0x140cfa(0x174)+_0x47b6d7);throw new Error(_0x140cfa(0x125)+_0x1add31['message']);}}['generateJobId'](){const _0x40cf8c=a0_0x4bc69a,_0x593238={'zXbAN':_0x40cf8c(0x160),'nNnuE':function(_0x9b3410,_0x330928){return _0x9b3410-_0x330928;},'ChLTw':function(_0x57f9dc,_0x1811b3){return _0x57f9dc+_0x1811b3;}},_0x5c9519=_0x593238[_0x40cf8c(0x1b4)],_0x2b79b1=Date['now']()[_0x40cf8c(0x140)](0x24),_0x2e3b2c=uuidv7()['replace'](/-/g,'')[_0x40cf8c(0x128)](0x0,_0x593238[_0x40cf8c(0x19c)](0xc,_0x2b79b1[_0x40cf8c(0x16b)])),_0x304204=_0x593238[_0x40cf8c(0x189)](_0x2b79b1,_0x2e3b2c)['substring'](0x0,0xc);let _0x241f2d='';for(let _0x4f5505=0x0;_0x4f5505<0xc;_0x4f5505++){_0x304204[_0x4f5505]?_0x241f2d+=_0x304204[_0x4f5505]:_0x241f2d+=_0x5c9519[_0x40cf8c(0x1cd)](Math[_0x40cf8c(0x158)](Math[_0x40cf8c(0x19b)]()*_0x5c9519['length']));}return _0x241f2d;}async['createJob'](_0x2cfe6f){const _0x163bf4=a0_0x4bc69a,_0x1e00ab={'lwDQr':_0x163bf4(0x14b),'Ayfru':'Export\x20job\x20created'},_0x57c15=this['generateJobId'](),_0x2a8da0={'job_id':_0x57c15,'status':_0x163bf4(0x1b9),'progress':0x0,'created_at':new Date()[_0x163bf4(0x18f)](),'params':_0x2cfe6f,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x57c15,_0x2a8da0),logger[_0x163bf4(0x15f)]({'event':'export_job_created','jobId':_0x57c15,'params':_0x2cfe6f},_0x1e00ab[_0x163bf4(0x17e)]),this['processJob'](_0x57c15,_0x2cfe6f)['catch'](_0x5f147e=>{logError(_0x5f147e,{'event':_0x1e00ab['lwDQr'],'jobId':_0x57c15},'Export\x20processing\x20failed');}),{'job_id':_0x57c15,'status':_0x163bf4(0x1b9)};}async[a0_0x4bc69a(0x1c4)](_0x2727e6){const _0x38ef4f=a0_0x4bc69a,_0x334949={'CXeAX':function(_0x362ea3,_0x24763e){return _0x362ea3===_0x24763e;},'zAiSn':_0x38ef4f(0x156)},_0x4b2c2f=await redisHelper['getJob'](_0x2727e6);if(!_0x4b2c2f)return{'success':![],'error':_0x38ef4f(0x1cc)};return{'success':!![],'data':{'job_id':_0x4b2c2f['job_id'],'status':_0x4b2c2f['status'],'progress':_0x4b2c2f['progress'],'total_rows':_0x4b2c2f[_0x38ef4f(0x184)],'processed_rows':_0x4b2c2f['processed_rows'],'file_url':_0x334949[_0x38ef4f(0x1ce)](_0x4b2c2f[_0x38ef4f(0x151)],_0x334949['zAiSn'])?'/api/'+_0x4b2c2f[_0x38ef4f(0x1b5)][_0x38ef4f(0x181)]+'/'+_0x4b2c2f['params'][_0x38ef4f(0x1ac)]+_0x38ef4f(0x147)+_0x2727e6:null,'error':_0x4b2c2f[_0x38ef4f(0x1ab)]||null,'created_at':_0x4b2c2f[_0x38ef4f(0x1c3)],'completed_at':_0x4b2c2f['completed_at']||null}};}async['processJob'](_0x40d480,_0x25c43e){const _0x482559=a0_0x4bc69a,_0xf318b0={'tTpva':_0x482559(0x1c0),'ywvQV':_0x482559(0x1c7),'KvldH':'export_completed','JuBhB':function(_0x30b76f,_0x4943bd,_0x526f0c,_0x3fb8bd){return _0x30b76f(_0x4943bd,_0x526f0c,_0x3fb8bd);},'gLjGs':'failed'};try{await redisHelper['updateJob'](_0x40d480,{'status':_0x482559(0x149),'started_at':new Date()[_0x482559(0x18f)]()}),logger['info']({'event':_0xf318b0['tTpva'],'jobId':_0x40d480},_0xf318b0[_0x482559(0x18b)]);const _0xf7f24=await this['fetchData'](_0x25c43e);await redisHelper[_0x482559(0x15d)](_0x40d480,{'total_rows':_0xf7f24[_0x482559(0x16b)]});const _0x4f8103=await this[_0x482559(0x15e)](_0x40d480,_0xf7f24,_0x25c43e);await redisHelper['updateJob'](_0x40d480,{'status':'completed','progress':0x64,'file_path':_0x4f8103,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0xf318b0[_0x482559(0x12e)],'jobId':_0x40d480,'rows':_0xf7f24[_0x482559(0x16b)]},'Export\x20completed\x20successfully');}catch(_0x231ccb){_0xf318b0['JuBhB'](logError,_0x231ccb,{'event':'export_failed','jobId':_0x40d480},'Export\x20failed'),await redisHelper[_0x482559(0x15d)](_0x40d480,{'status':_0xf318b0[_0x482559(0x162)],'error':_0x231ccb['message'],'failed_at':new Date()[_0x482559(0x18f)]()});}}async['fetchData'](_0xa1dabb){const _0x2156d8=a0_0x4bc69a,_0x43938f={'FrFkh':function(_0x592102,_0x3c2abf){return _0x592102||_0x3c2abf;},'ZVYDt':function(_0xe0881e,_0x51cd38){return _0xe0881e===_0x51cd38;},'YtIPA':_0x2156d8(0x155),'FydYu':'_data','WhKFt':'file:','NzseJ':'Using\x20auto-generated\x20query','iRSJf':'export_fetch_start','sdSfG':function(_0x1b1a40,_0x5078c5){return _0x1b1a40===_0x5078c5;},'pMWar':_0x2156d8(0x1c5),'liEnb':'Data\x20fetched\x20successfully','KaNbZ':function(_0x218570,_0x13c84f,_0x56c5d4,_0x260843){return _0x218570(_0x13c84f,_0x56c5d4,_0x260843);},'RNKhP':'export_fetch_error','RMXLi':_0x2156d8(0x17a)};try{const {tableName:_0xfc4ab0,columns:_0x53446b,exportQuery:_0x2e91cf,where:_0x2e7a00,sort_columns:_0x1726d8}=_0xa1dabb;if(_0x43938f['FrFkh'](!_0xfc4ab0,!_0x53446b)||_0x43938f[_0x2156d8(0x183)](_0x53446b['length'],0x0))throw new Error(_0x43938f['YtIPA']);const _0x2a46cf=_0xfc4ab0['replace'](/\./g,'_')+_0x43938f['FydYu'];let _0x951daf;if(_0x2e91cf&&_0x2e91cf[_0x2156d8(0x1c8)]()){let _0x403fe9=_0x2e91cf;_0x2e91cf[_0x2156d8(0x1c8)]()['startsWith'](_0x43938f[_0x2156d8(0x1aa)])&&(_0x403fe9=this[_0x2156d8(0x197)](_0x2e91cf)),_0x951daf=_0x2156d8(0x1ca)+_0x2a46cf+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x403fe9+'\x0a)',_0x951daf+=_0x2156d8(0x15c)+_0x2a46cf,logger['info']({'event':_0x2156d8(0x178),'query':_0x403fe9['substring'](0x0,0x64)},_0x2156d8(0x170));}else{const _0x16005b=_0x53446b['map'](_0x209f15=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x209f15)['join'](',');_0x951daf='WITH\x20'+_0x2a46cf+_0x2156d8(0x195)+_0x16005b+_0x2156d8(0x141)+_0xfc4ab0+'\x0a)',_0x951daf+=_0x2156d8(0x15c)+_0x2a46cf,logger['info']({'event':'export_using_auto_query','tableName':_0xfc4ab0,'columnCount':_0x53446b['length']},_0x43938f[_0x2156d8(0x161)]);}if(_0x2e7a00){const _0x5ca754=this['buildWhereClause'](_0x2e7a00);_0x5ca754&&(_0x951daf+='\x0aWHERE\x20'+_0x5ca754);}if(_0x1726d8&&_0x1726d8['length']>0x0){const _0x3eee2b=this[_0x2156d8(0x142)](_0x1726d8);_0x3eee2b&&(_0x951daf+='\x0aORDER\x20BY\x20'+_0x3eee2b);}logger['info']({'event':_0x43938f['iRSJf'],'query':_0x951daf['substring'](0x0,0xc8)},_0x2156d8(0x15a));const _0x1a1577=await executeQuery(_0x951daf);let _0x2c4e39=_0x1a1577;return _0x43938f[_0x2156d8(0x18d)](dbType,_0x43938f['pMWar'])&&_0x1a1577&&_0x1a1577[_0x2156d8(0x16b)]>0x0&&(_0x2c4e39=_0x1a1577[_0x2156d8(0x165)](_0xf70f25=>{const _0x2e5ac4=_0x2156d8,_0x2e16f4={};for(const [_0x144ad7,_0x4ce659]of Object[_0x2e5ac4(0x1bc)](_0xf70f25)){_0x2e16f4[_0x144ad7[_0x2e5ac4(0x18c)]()]=_0x4ce659;}return _0x2e16f4;})),logger['info']({'event':_0x2156d8(0x198),'rows':_0x2c4e39['length']},_0x43938f['liEnb']),_0x2c4e39;}catch(_0x45a475){_0x43938f[_0x2156d8(0x182)](logError,_0x45a475,{'event':_0x43938f['RNKhP']},_0x43938f['RMXLi']);throw _0x45a475;}}[a0_0x4bc69a(0x154)](_0x5599f7){const _0x10ddee=a0_0x4bc69a,_0x70ac32={'FfblS':function(_0x1f2c87,_0x512ce3){return _0x1f2c87===_0x512ce3;},'KxIvq':'string'};if(_0x70ac32[_0x10ddee(0x1bd)](typeof _0x5599f7,_0x70ac32[_0x10ddee(0x1be)]))return _0x5599f7['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x10ddee(0x1d0)](_0x5599f7))return _0x5599f7['map'](_0x535ee5=>this['sanitizeValue'](_0x535ee5));}return _0x5599f7;}[a0_0x4bc69a(0x14c)](_0x550433){const _0x3c3cf5=a0_0x4bc69a,_0x11a794={'igEIA':'string','SLIRg':function(_0xf718bf,_0x5ceb09){return _0xf718bf||_0x5ceb09;},'SykRP':_0x3c3cf5(0x13c),'hhVEP':function(_0x1f9fcd,_0x4a4767){return _0x1f9fcd!==_0x4a4767;},'LvPdm':function(_0x47696f,_0x3b2263){return _0x47696f===_0x3b2263;},'GTFVk':function(_0x61a07f,_0x4dbdf9){return _0x61a07f===_0x4dbdf9;},'kPwdx':_0x3c3cf5(0x150),'KgOTM':_0x3c3cf5(0x1c6),'qYUiO':'IS\x20NOT\x20NULL','wflor':'Unknown\x20operator,\x20using\x20=\x20as\x20default','SRDVi':function(_0x531e8a,_0x342047){return _0x531e8a===_0x342047;},'WYazd':function(_0x223a84,_0x18d584){return _0x223a84===_0x18d584;},'ziuju':_0x3c3cf5(0x134)};if(!_0x550433||!_0x550433['conditions']||_0x11a794[_0x3c3cf5(0x1cf)](_0x550433[_0x3c3cf5(0x169)]['length'],0x0))return'';const {logic:_0x1e3597,conditions:_0x111383}=_0x550433,_0x23b3d3=_0x1e3597&&_0x11a794[_0x3c3cf5(0x152)](_0x1e3597[_0x3c3cf5(0x1cb)](),'OR')?_0x11a794['ziuju']:_0x3c3cf5(0x1b8),_0x2d8849=_0x111383[_0x3c3cf5(0x165)](_0x503af7=>{const _0x3ce399=_0x3c3cf5,_0x177d4e={'cIbmF':function(_0x285911,_0x316372){return _0x285911===_0x316372;},'weVxZ':_0x11a794['igEIA']},{key:_0x10ac08,operator:_0x173cb9,value:_0xa8bb73,sensitive:_0x51ed9b}=_0x503af7;if(_0x11a794[_0x3ce399(0x1a0)](!_0x10ac08,!_0x173cb9))return logger[_0x3ce399(0x186)]({'event':_0x11a794['SykRP'],'condition':_0x503af7},'Skipping\x20invalid\x20condition'),null;const _0x1d87a7=this['sanitizeValue'](_0xa8bb73),_0x3107d0=_0x11a794[_0x3ce399(0x188)](_0x51ed9b,undefined)?_0x51ed9b:!![];let _0x30be89=_0x10ac08,_0x201bd8=_0x1d87a7;!_0x3107d0&&(_0x30be89=_0x3ce399(0x1b1)+_0x10ac08+')',_0x11a794[_0x3ce399(0x19d)](typeof _0xa8bb73,_0x11a794[_0x3ce399(0x19e)])&&(_0x201bd8=_0xa8bb73[_0x3ce399(0x1cb)]()));const _0x498cf9=_0x11a794['GTFVk'](typeof _0x201bd8,_0x11a794['igEIA'])?'\x27'+_0x201bd8[_0x3ce399(0x1ae)](/'/g,'\x27\x27')+'\x27':_0x201bd8;switch(_0x173cb9['toUpperCase']()){case'=':case'!=':case'<>':return _0x30be89+'\x20'+_0x173cb9+'\x20'+_0x498cf9;case'>':case'<':case'>=':case'<=':const _0x53f742=typeof _0x1d87a7===_0x11a794[_0x3ce399(0x19e)]?'\x27'+_0x1d87a7['replace'](/'/g,'\x27\x27')+'\x27':_0x1d87a7;return _0x10ac08+'\x20'+_0x173cb9+'\x20'+_0x53f742;case'LIKE':case _0x11a794[_0x3ce399(0x17b)]:return _0x30be89+'\x20'+_0x173cb9+'\x20'+_0x498cf9;case'IN':if(Array['isArray'](_0x1d87a7)){let _0x40f71e;return!_0x3107d0?_0x40f71e=_0x1d87a7['map'](_0x31f7d4=>{const _0x2927c2=_0x3ce399,_0x44fc13=typeof _0x31f7d4==='string'?_0x31f7d4[_0x2927c2(0x1cb)]():_0x31f7d4;return _0x177d4e['cIbmF'](typeof _0x44fc13,_0x177d4e[_0x2927c2(0x1b0)])?'\x27'+_0x44fc13['replace'](/'/g,'\x27\x27')+'\x27':_0x44fc13;})['join'](',\x20'):_0x40f71e=_0x1d87a7[_0x3ce399(0x165)](_0x3a9ed6=>typeof _0x3a9ed6===_0x3ce399(0x17c)?'\x27'+_0x3a9ed6['replace'](/'/g,'\x27\x27')+'\x27':_0x3a9ed6)['join'](',\x20'),_0x30be89+_0x3ce399(0x139)+_0x40f71e+')';}return _0x30be89+'\x20IN\x20('+_0x498cf9+')';case _0x11a794['KgOTM']:return _0x10ac08+'\x20IS\x20NULL';case _0x11a794[_0x3ce399(0x148)]:return _0x10ac08+'\x20IS\x20NOT\x20NULL';default:logger[_0x3ce399(0x186)]({'event':_0x3ce399(0x145),'operator':_0x173cb9},_0x11a794[_0x3ce399(0x12a)]);return _0x30be89+_0x3ce399(0x12d)+_0x498cf9;}})['filter'](_0x3d91f2=>_0x3d91f2!==null);if(_0x2d8849['length']===0x0)return'';return _0x2d8849['join'](_0x23b3d3);}['buildOrderByClause'](_0x570059){const _0x4c6fdf=a0_0x4bc69a,_0x4c1713={'XPDDs':_0x4c6fdf(0x172),'FzcWh':function(_0x437e07,_0x36273c){return _0x437e07===_0x36273c;},'WRUVz':_0x4c6fdf(0x133)};if(!_0x570059||_0x4c1713[_0x4c6fdf(0x1af)](_0x570059[_0x4c6fdf(0x16b)],0x0))return'';const _0x31afcc=_0x570059['map'](_0x576418=>{const _0x471345=_0x4c6fdf,{column:_0x54d2d1,direction:_0xb66630}=_0x576418;if(!_0x54d2d1)return logger['warn']({'event':_0x4c1713['XPDDs'],'item':_0x576418},_0x471345(0x1a9)),null;const _0x2eaf33=_0xb66630&&_0x4c1713[_0x471345(0x1af)](_0xb66630['toUpperCase'](),_0x4c1713['WRUVz'])?_0x471345(0x133):'ASC';return _0x54d2d1+'\x20'+_0x2eaf33;})['filter'](_0x366f4c=>_0x366f4c!==null);if(_0x31afcc['length']===0x0)return'';return _0x31afcc['join'](',\x20');}async[a0_0x4bc69a(0x15e)](_0x27fe9e,_0x8f7790,_0x5bb430){const _0x54ccd1=a0_0x4bc69a,_0x4bd976={'MOyud':function(_0x212c2a,_0x12798e){return _0x212c2a*_0x12798e;},'jgbRw':function(_0x40a655,_0x313333){return _0x40a655/_0x313333;},'yxEWt':_0x54ccd1(0x129),'czSuI':function(_0x36c734,_0x4053fb){return _0x36c734===_0x4053fb;},'QobsO':function(_0x427016,_0x4569de){return _0x427016===_0x4569de;},'aYKlR':function(_0x39f10a,_0x5268af){return _0x39f10a>_0x5268af;},'PjAaF':_0x54ccd1(0x194),'AZJRH':function(_0xe3299,_0x30c8d5){return _0xe3299>_0x30c8d5;},'pbOlH':function(_0x9502de,_0x138d45){return _0x9502de>_0x138d45;},'DDSoH':'excel_columns_fallback','voWlG':_0x54ccd1(0x1bf)},_0x1eb942=require(_0x4bd976[_0x54ccd1(0x13e)]),_0x37b217=new _0x1eb942(),_0x344e79=_0x5bb430[_0x54ccd1(0x171)]?_0x5bb430['filename']+'-'+_0x27fe9e:_0x54ccd1(0x163)+_0x27fe9e,_0x13e4fc=path['join'](this[_0x54ccd1(0x180)],_0x344e79+'.xlsx');let _0xd6ce9b=_0x5bb430['columns'];const _0x58aa9f=_0x5bb430['exportQuery']&&_0x5bb430['exportQuery']['trim'](),_0x1758cd=_0xd6ce9b&&_0x4bd976[_0x54ccd1(0x13a)](_0xd6ce9b['length'],0x1)&&(_0xd6ce9b[0x0]==='*'||_0x4bd976['QobsO'](_0xd6ce9b[0x0]['toLowerCase'](),_0x54ccd1(0x16e)));if(_0x4bd976['aYKlR'](_0x8f7790[_0x54ccd1(0x16b)],0x0)){const _0x42bc60=Object[_0x54ccd1(0x196)](_0x8f7790[0x0]);if(_0x58aa9f)_0xd6ce9b=_0x42bc60,logger[_0x54ccd1(0x15f)]({'event':_0x54ccd1(0x1c1),'columns':_0xd6ce9b},'Using\x20'+_0xd6ce9b[_0x54ccd1(0x16b)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x1758cd)_0xd6ce9b=_0x42bc60,logger[_0x54ccd1(0x15f)]({'event':_0x4bd976[_0x54ccd1(0x14a)],'columns':_0xd6ce9b},'Using\x20all\x20'+_0xd6ce9b[_0x54ccd1(0x16b)]+_0x54ccd1(0x1a6));else{if(_0xd6ce9b&&_0x4bd976['AZJRH'](_0xd6ce9b['length'],0x0)){const _0x2f0a70=_0xd6ce9b['filter'](_0x5a767f=>_0x42bc60['includes'](_0x5a767f));_0x4bd976['pbOlH'](_0x2f0a70[_0x54ccd1(0x16b)],0x0)?(_0xd6ce9b=_0x2f0a70,logger[_0x54ccd1(0x15f)]({'event':_0x54ccd1(0x12c),'requestedColumns':_0x5bb430['columns'],'validColumns':_0xd6ce9b},_0x54ccd1(0x12b)+_0xd6ce9b['length']+_0x54ccd1(0x192))):(_0xd6ce9b=_0x42bc60,logger['warn']({'event':_0x4bd976[_0x54ccd1(0x1c9)],'requestedColumns':_0x5bb430['columns'],'availableColumns':_0x42bc60},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x42bc60['length']+'\x20columns'));}else _0xd6ce9b=_0x42bc60,logger[_0x54ccd1(0x15f)]({'event':_0x4bd976['voWlG'],'columns':_0xd6ce9b},'Using\x20'+_0xd6ce9b['length']+_0x54ccd1(0x136));}}}else logger[_0x54ccd1(0x15f)]({'event':_0x54ccd1(0x1a4),'columns':_0xd6ce9b},_0x54ccd1(0x12b)+(_0xd6ce9b?.[_0x54ccd1(0x16b)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x37b217[_0x54ccd1(0x187)]({'data':_0x8f7790,'columns':_0xd6ce9b,'columnFormats':_0x5bb430['columnFormats']||null,'fieldLabels':_0x5bb430[_0x54ccd1(0x131)]||null,'filePath':_0x13e4fc,'onProgress':async _0x3e20c3=>{const _0x347d6d=_0x54ccd1;await redisHelper['updateJob'](_0x27fe9e,{'progress':Math['round'](_0x3e20c3),'processed_rows':Math['round'](_0x4bd976[_0x347d6d(0x16c)](_0x4bd976[_0x347d6d(0x177)](_0x3e20c3,0x64),_0x8f7790[_0x347d6d(0x16b)]))});}}),_0x13e4fc;}async[a0_0x4bc69a(0x127)](_0xe2ef9d){const _0x35b450=a0_0x4bc69a,_0x2fba8f={'DOcfu':_0x35b450(0x1ad)},_0x23397c=await redisHelper['getJob'](_0xe2ef9d);if(!_0x23397c||_0x23397c['status']!==_0x35b450(0x156))return null;try{return await fs[_0x35b450(0x14e)](_0x23397c['file_path']),_0x23397c[_0x35b450(0x190)];}catch(_0x3a12fc){return logError(_0x3a12fc,{'event':_0x35b450(0x144),'jobId':_0xe2ef9d,'path':_0x23397c[_0x35b450(0x190)]},_0x2fba8f['DOcfu']),null;}}async['cleanup'](){const _0x180faf=a0_0x4bc69a,_0x241638={'NOQZb':'Starting\x20export\x20cleanup','pUWqM':function(_0x42b570,_0x48167e){return _0x42b570/_0x48167e;},'sgOSH':function(_0x300707,_0x2cbbce){return _0x300707*_0x2cbbce;},'tvzvd':function(_0x2184d4,_0x148a44){return _0x2184d4>_0x148a44;},'prEtO':'Export\x20file\x20deleted','fYDJt':_0x180faf(0x1b7)};logger['info']({'event':_0x180faf(0x168)},_0x241638['NOQZb']);const _0x2bf46f=await redisHelper[_0x180faf(0x132)]();let _0x1f50cb=0x0;for(const _0x3ccd01 of _0x2bf46f){const _0x2bea93=new Date(_0x3ccd01['created_at']),_0xca6b78=new Date(),_0x5c95cb=_0x241638['pUWqM'](_0xca6b78-_0x2bea93,_0x241638['sgOSH'](0x3e8,0x3c)*0x3c);if(_0x241638[_0x180faf(0x137)](_0x5c95cb,0x1)){if(_0x3ccd01['file_path'])try{await fs[_0x180faf(0x15b)](_0x3ccd01[_0x180faf(0x190)]),logger[_0x180faf(0x15f)]({'event':_0x180faf(0x173),'path':_0x3ccd01[_0x180faf(0x190)]},_0x241638[_0x180faf(0x185)]);}catch(_0x2c226f){logger[_0x180faf(0x186)]({'event':_0x241638[_0x180faf(0x143)],'path':_0x3ccd01['file_path'],'error':_0x2c226f[_0x180faf(0x179)]},_0x180faf(0x1a7));}await redisHelper['deleteJob'](_0x3ccd01[_0x180faf(0x1bb)]),_0x1f50cb++;}}return logger['info']({'event':_0x180faf(0x193),'deleted':_0x1f50cb},'Export\x20cleanup\x20completed'),_0x1f50cb;}}function a0_0x29cb(_0xcc63f0,_0x4c2a46){_0xcc63f0=_0xcc63f0-0x125;const _0x2383a7=a0_0x2383();let _0x29cb78=_0x2383a7[_0xcc63f0];if(a0_0x29cb['fEYOYG']===undefined){var _0x100cc7=function(_0x1a1c39){const _0x6467d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x147429='',_0x15c955='';for(let _0x34e8e4=0x0,_0x2aa198,_0x3c2bf7,_0x264df5=0x0;_0x3c2bf7=_0x1a1c39['charAt'](_0x264df5++);~_0x3c2bf7&&(_0x2aa198=_0x34e8e4%0x4?_0x2aa198*0x40+_0x3c2bf7:_0x3c2bf7,_0x34e8e4++%0x4)?_0x147429+=String['fromCharCode'](0xff&_0x2aa198>>(-0x2*_0x34e8e4&0x6)):0x0){_0x3c2bf7=_0x6467d['indexOf'](_0x3c2bf7);}for(let _0x337d35=0x0,_0x27f1f4=_0x147429['length'];_0x337d35<_0x27f1f4;_0x337d35++){_0x15c955+='%'+('00'+_0x147429['charCodeAt'](_0x337d35)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15c955);};a0_0x29cb['umEWLj']=_0x100cc7,a0_0x29cb['VBmXQE']={},a0_0x29cb['fEYOYG']=!![];}const _0x21a1d5=_0x2383a7[0x0],_0x2448cc=_0xcc63f0+_0x21a1d5,_0x51ff7a=a0_0x29cb['VBmXQE'][_0x2448cc];return!_0x51ff7a?(_0x29cb78=a0_0x29cb['umEWLj'](_0x29cb78),a0_0x29cb['VBmXQE'][_0x2448cc]=_0x29cb78):_0x29cb78=_0x51ff7a,_0x29cb78;}module['exports']=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4e6a12=a0_0x372d;(function(_0x2d4c76,_0x5768bd){const _0x25b613=a0_0x372d,_0x26864f=_0x2d4c76();while(!![]){try{const _0x1f0db0=parseInt(_0x25b613(0x114))/0x1+parseInt(_0x25b613(0xf3))/0x2*(parseInt(_0x25b613(0x143))/0x3)+-parseInt(_0x25b613(0xf2))/0x4+-parseInt(_0x25b613(0x12e))/0x5*(parseInt(_0x25b613(0x176))/0x6)+parseInt(_0x25b613(0x130))/0x7*(parseInt(_0x25b613(0x15c))/0x8)+parseInt(_0x25b613(0x155))/0x9*(-parseInt(_0x25b613(0x106))/0xa)+-parseInt(_0x25b613(0x13d))/0xb;if(_0x1f0db0===_0x5768bd)break;else _0x26864f['push'](_0x26864f['shift']());}catch(_0x5cf13f){_0x26864f['push'](_0x26864f['shift']());}}}(a0_0x2661,0x44cd4));const {v7:uuidv7}=require(a0_0x4e6a12(0x10c)),path=require(a0_0x4e6a12(0x11a)),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x4e6a12(0x14a)),dbType=(process[a0_0x4e6a12(0xec)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery,executeTransaction,oracleDb;function a0_0x372d(_0x5d1e79,_0x64a0be){_0x5d1e79=_0x5d1e79-0xe2;const _0x266191=a0_0x2661();let _0x372daa=_0x266191[_0x5d1e79];if(a0_0x372d['sgUoef']===undefined){var _0x5de5bc=function(_0x2352ce){const _0x176529='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c76e8='',_0x43c4f8='';for(let _0x5370fe=0x0,_0x4e8c13,_0x182fcc,_0x119e42=0x0;_0x182fcc=_0x2352ce['charAt'](_0x119e42++);~_0x182fcc&&(_0x4e8c13=_0x5370fe%0x4?_0x4e8c13*0x40+_0x182fcc:_0x182fcc,_0x5370fe++%0x4)?_0x5c76e8+=String['fromCharCode'](0xff&_0x4e8c13>>(-0x2*_0x5370fe&0x6)):0x0){_0x182fcc=_0x176529['indexOf'](_0x182fcc);}for(let _0x553aef=0x0,_0x3f0972=_0x5c76e8['length'];_0x553aef<_0x3f0972;_0x553aef++){_0x43c4f8+='%'+('00'+_0x5c76e8['charCodeAt'](_0x553aef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c4f8);};a0_0x372d['egUTcj']=_0x5de5bc,a0_0x372d['rAMhSo']={},a0_0x372d['sgUoef']=!![];}const _0x14686e=_0x266191[0x0],_0x56d9f4=_0x5d1e79+_0x14686e,_0x3fb7fe=a0_0x372d['rAMhSo'][_0x56d9f4];return!_0x3fb7fe?(_0x372daa=a0_0x372d['egUTcj'](_0x372daa),a0_0x372d['rAMhSo'][_0x56d9f4]=_0x372daa):_0x372daa=_0x3fb7fe,_0x372daa;}if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x1a1db2,_0x47cb7f)=>oracleDb['executeQuery'](_0x1a1db2,_0x47cb7f),executeTransaction=_0xf6f673=>oracleDb[a0_0x4e6a12(0x158)](_0xf6f673);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xfd21af,_0x17180f)=>mysqlDb['executeQuery'](_0xfd21af,_0x17180f),executeTransaction=_0x5261b0=>mysqlDb[a0_0x4e6a12(0x158)](_0x5261b0);}else{const db=require('../utils/db');executeQuery=db[a0_0x4e6a12(0x12f)],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x4e6a12(0x14d)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x4e6a12(0x163));class ImportService{constructor(){const _0x866837=a0_0x4e6a12;this[_0x866837(0x124)]=null;}get['uploadDir'](){const _0x229d78=a0_0x4e6a12,_0x92a508={'IrzAp':_0x229d78(0x16c)};if(!this[_0x229d78(0x124)]){const _0x3b2d09=process[_0x229d78(0xec)][_0x229d78(0xfa)]||_0x92a508[_0x229d78(0x15f)];this['_uploadDir']=process['env']['UPLOAD_DIR']||path['join'](__dirname,_0x229d78(0x156)+_0x3b2d09);}return this['_uploadDir'];}['generateId'](){const _0x444f95=a0_0x4e6a12,_0x3239cf={'UMphJ':function(_0xc15d5f){return _0xc15d5f();},'EMiTx':function(_0x2eadc5,_0x3780cb){return _0x2eadc5+_0x3780cb;},'LcwLb':function(_0x3283e9,_0x4bd6ea){return _0x3283e9*_0x4bd6ea;}},_0x394bd9=_0x444f95(0x100),_0x824ad9=Date['now']()[_0x444f95(0x171)](0x24),_0x2390cd=_0x3239cf['UMphJ'](uuidv7)[_0x444f95(0x180)](/-/g,'')['substring'](0x0,0xc-_0x824ad9['length']),_0x11e641=_0x3239cf['EMiTx'](_0x824ad9,_0x2390cd)[_0x444f95(0x150)](0x0,0xc);let _0xbcccca='';for(let _0x59ebb2=0x0;_0x59ebb2<0xc;_0x59ebb2++){_0x11e641[_0x59ebb2]?_0xbcccca+=_0x11e641[_0x59ebb2]:_0xbcccca+=_0x394bd9['charAt'](Math[_0x444f95(0x12d)](_0x3239cf[_0x444f95(0xe2)](Math['random'](),_0x394bd9[_0x444f95(0x174)])));}return _0xbcccca;}['buildLabelToFieldMap'](_0x4a937a){const _0x1f3042=a0_0x4e6a12,_0x2dcfc9=new Map();if(!_0x4a937a)return _0x2dcfc9;return Object['entries'](_0x4a937a)[_0x1f3042(0x118)](([_0x172bb0,_0x713c75])=>{const _0x9c89e9=_0x1f3042,_0x34fa73=String(_0x713c75)['trim']()[_0x9c89e9(0x180)](/\s+/g,'_')[_0x9c89e9(0x180)](/([a-z])([A-Z])/g,'$1_$2')[_0x9c89e9(0x180)](/([A-Z]+)([A-Z][a-z])/g,_0x9c89e9(0x117))[_0x9c89e9(0x173)]();_0x2dcfc9[_0x9c89e9(0x12a)](_0x34fa73,_0x172bb0);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x2dcfc9[_0x1f3042(0x12c)]},_0x1f3042(0xeb)),_0x2dcfc9;}[a0_0x4e6a12(0x15e)](_0x1e4652,_0x2cb6ed){const _0x2cfe85=a0_0x4e6a12,_0xef57d5={'NxSUQ':function(_0x19830e,_0x3183df){return _0x19830e===_0x3183df;},'bwtNG':_0x2cfe85(0xed),'LJKWa':_0x2cfe85(0x17b),'eyZHj':function(_0x7708aa,_0x530329){return _0x7708aa===_0x530329;}};if(!_0x2cb6ed||_0xef57d5['eyZHj'](Object['keys'](_0x2cb6ed)[_0x2cfe85(0x174)],0x0))return _0x1e4652;return _0x1e4652['map'](_0x1c236e=>{const _0xf1d017=_0x2cfe85,_0x4ae30a={..._0x1c236e};for(const [_0x486842,_0x193299]of Object[_0xf1d017(0xfb)](_0x2cb6ed)){const _0x5b627d=_0x4ae30a[_0x486842];if(_0xef57d5[_0xf1d017(0xe6)](_0x5b627d,null)||_0x5b627d===undefined||_0x5b627d===''){_0x4ae30a[_0x486842]=null;continue;}switch(_0x193299[_0xf1d017(0x14b)]){case _0xef57d5['bwtNG']:_0x4ae30a[_0x486842]=this[_0xf1d017(0x16b)](_0x5b627d);break;case'number':_0x4ae30a[_0x486842]=this['formatNumberForDatabase'](_0x5b627d);break;case'boolean':_0x4ae30a[_0x486842]=this['formatBooleanForDatabase'](_0x5b627d);break;case _0xef57d5[_0xf1d017(0x151)]:_0x4ae30a[_0x486842]=String(_0x5b627d);break;default:break;}}return _0x4ae30a;});}['formatDateForDatabase'](_0x1a3434){const _0x4b31d7=a0_0x4e6a12,_0x82550={'PCcGL':function(_0x41bafa,_0x4c74f8){return _0x41bafa===_0x4c74f8;},'gkucY':function(_0x4725b8,_0x17b87a){return _0x4725b8===_0x17b87a;},'ikYft':_0x4b31d7(0x121),'HKVGH':function(_0x289104,_0x42cff5){return _0x289104(_0x42cff5);},'FzqjZ':function(_0x38f3e8,_0x400b4f){return _0x38f3e8+_0x400b4f;},'eIzai':function(_0x66c4d5,_0x36cec6){return _0x66c4d5(_0x36cec6);}};if(_0x82550[_0x4b31d7(0x154)](_0x1a3434,null)||_0x82550['gkucY'](_0x1a3434,undefined)||_0x1a3434==='')return null;if(typeof _0x1a3434===_0x82550['ikYft']&&/^\d{4}-\d{2}-\d{2}$/[_0x4b31d7(0x14e)](_0x1a3434))return _0x1a3434;if(_0x1a3434 instanceof Date){if(_0x82550[_0x4b31d7(0x107)](isNaN,_0x1a3434[_0x4b31d7(0x177)]()))return null;const _0x5be3b5=_0x1a3434[_0x4b31d7(0x11d)](),_0x35ce3c=_0x82550[_0x4b31d7(0x107)](String,_0x82550[_0x4b31d7(0x10d)](_0x1a3434['getMonth'](),0x1))[_0x4b31d7(0x14c)](0x2,'0'),_0x478688=_0x82550[_0x4b31d7(0x153)](String,_0x1a3434['getDate']())['padStart'](0x2,'0');return _0x5be3b5+'-'+_0x35ce3c+'-'+_0x478688;}if(_0x82550[_0x4b31d7(0x170)](typeof _0x1a3434,_0x4b31d7(0x121))){const _0x34b934=_0x1a3434['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x34b934){const _0x39a085=_0x82550['eIzai'](String,_0x34b934[0x1])[_0x4b31d7(0x14c)](0x2,'0'),_0x5141f9=String(_0x34b934[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0x31bfbe=_0x34b934[0x3];return _0x31bfbe+'-'+_0x5141f9+'-'+_0x39a085;}const _0x222a4e=_0x1a3434['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x222a4e){const _0x5e21fc=_0x222a4e[0x1],_0x4740da=String(_0x222a4e[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0xe9e703=String(_0x222a4e[0x3])[_0x4b31d7(0x14c)](0x2,'0');return _0x5e21fc+'-'+_0x4740da+'-'+_0xe9e703;}}return _0x1a3434;}['formatNumberForDatabase'](_0x16b347){const _0x511be0=a0_0x4e6a12,_0x4aad9a={'asWKY':'number','aIrSs':function(_0x22fa5a,_0x31f218){return _0x22fa5a(_0x31f218);},'qYzVe':function(_0x4b1d91,_0x36fa1e){return _0x4b1d91===_0x36fa1e;}};if(_0x16b347===null||_0x16b347===undefined||_0x16b347==='')return null;if(typeof _0x16b347===_0x4aad9a[_0x511be0(0x147)])return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x16b347)?null:_0x16b347;if(_0x4aad9a[_0x511be0(0x13c)](typeof _0x16b347,_0x511be0(0x121))){let _0x887444=_0x16b347[_0x511be0(0xe8)]();const _0x4385ff=/,\d{1,2}$/['test'](_0x887444)&&!/,\d{3}/['test'](_0x887444);_0x4385ff?_0x887444=_0x887444[_0x511be0(0x180)](/\./g,'')[_0x511be0(0x180)](',','.'):_0x887444=_0x887444[_0x511be0(0x180)](/,/g,'');const _0x224371=_0x4aad9a[_0x511be0(0x120)](parseFloat,_0x887444);return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x224371)?null:_0x224371;}return null;}['formatBooleanForDatabase'](_0x3335a9){const _0x3d7d22=a0_0x4e6a12,_0xaf5484={'PlKJU':function(_0x587dee,_0x27dda9){return _0x587dee===_0x27dda9;},'wWPor':function(_0x5107f9,_0x4bfef7){return _0x5107f9===_0x4bfef7;},'NzRxa':function(_0x26ee05,_0x297bda){return _0x26ee05===_0x297bda;},'CBKuD':function(_0xb937f2,_0xd7cba6){return _0xb937f2===_0xd7cba6;},'turRK':'true','EKJaT':_0x3d7d22(0x140)};if(_0xaf5484['PlKJU'](_0x3335a9,null)||_0x3335a9===undefined||_0xaf5484[_0x3d7d22(0xff)](_0x3335a9,''))return null;if(_0xaf5484['NzRxa'](typeof _0x3335a9,'boolean'))return _0x3335a9?_0x3d7d22(0x17c):_0x3d7d22(0x17d);if(_0xaf5484[_0x3d7d22(0x109)](typeof _0x3335a9,_0x3d7d22(0x121))){const _0x3ec451=_0x3335a9['trim']()[_0x3d7d22(0x173)]();if([_0xaf5484['turRK'],_0xaf5484['EKJaT'],'y','1']['includes'](_0x3ec451))return _0xaf5484['turRK'];if([_0x3d7d22(0x17d),'no','n','0']['includes'](_0x3ec451))return _0x3d7d22(0x17d);return null;}if(typeof _0x3335a9==='number')return _0x3335a9?_0xaf5484['turRK']:'false';return null;}async['uploadFile'](_0x18dd7a,_0x3ad18a){const _0x2bcbbd=a0_0x4e6a12,_0x31f6db={'bRZsv':function(_0x2b6765,_0x5209d7){return _0x2b6765>_0x5209d7;},'fTHRB':'Column\x20formats\x20applied\x20to\x20rows','jcqaM':function(_0x5bee43,_0x5ba5d8,_0x4307e5,_0x5522a8){return _0x5bee43(_0x5ba5d8,_0x4307e5,_0x5522a8);}},_0x26853c=this[_0x2bcbbd(0x145)]();try{let {headers:_0x556f9a,rows:_0x1d541c,totalRows:_0x3af04c}=await excelParser[_0x2bcbbd(0x105)](_0x18dd7a[_0x2bcbbd(0x11a)]);const _0x4d6061=this['buildLabelToFieldMap'](_0x3ad18a['fieldLabels']),_0x467647=_0x556f9a['map'](_0x53a493=>{const _0x342b65=_0x2bcbbd,_0x3b6beb=_0x4d6061[_0x342b65(0xee)](_0x53a493);return _0x3b6beb||_0x53a493;});_0x1d541c=_0x1d541c['map'](_0x2fd3eb=>{const _0x2b8e4b={};return _0x556f9a['forEach']((_0x48257a,_0x1f7f45)=>{const _0x256617=_0x467647[_0x1f7f45];_0x2b8e4b[_0x256617]=_0x2fd3eb[_0x48257a];}),_0x2b8e4b;}),_0x556f9a=_0x467647,logger['debug']({'event':_0x2bcbbd(0xfe),'original':_0x556f9a['length'],'mapped':_0x467647[_0x2bcbbd(0x102)]((_0x35259f,_0x29f2a1)=>_0x35259f!==_0x556f9a[_0x29f2a1])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x3ad18a['columnFormats']&&_0x31f6db['bRZsv'](Object['keys'](_0x3ad18a['columnFormats'])[_0x2bcbbd(0x174)],0x0)&&(_0x1d541c=this['applyColumnFormats'](_0x1d541c,_0x3ad18a[_0x2bcbbd(0x166)]),logger['debug']({'event':'column_formats_applied','formatCount':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])['length'],'formats':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])},_0x31f6db['fTHRB']));if(_0x3ad18a['scopeOverride']&&_0x3ad18a['scopeOverride']['column']){const {column:_0x3cbbc3,value:_0x19d1ba}=_0x3ad18a[_0x2bcbbd(0x16e)];_0x1d541c=_0x1d541c[_0x2bcbbd(0x13a)](_0x27bdf0=>({..._0x27bdf0,[_0x3cbbc3]:_0x19d1ba})),logger[_0x2bcbbd(0x181)]({'event':'request_scope_applied','column':_0x3cbbc3,'rowCount':_0x1d541c['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5edc20=_0x3ad18a[_0x2bcbbd(0x11f)]?Object[_0x2bcbbd(0x111)](_0x3ad18a['lookupFields'])[_0x2bcbbd(0x13a)](_0x266984=>_0x266984['targetField']):[],_0x14b0ec=_0x3ad18a['fieldName'][_0x2bcbbd(0x102)](_0x13099=>!_0x5edc20['includes'](_0x13099)),_0x32643f=excelParser['validateExcelStructure'](_0x556f9a,_0x14b0ec);if(!_0x32643f['valid']){await fs[_0x2bcbbd(0xea)](_0x18dd7a[_0x2bcbbd(0x11a)]);throw new Error(_0x2bcbbd(0x15d)+_0x32643f[_0x2bcbbd(0x164)][_0x2bcbbd(0xfd)](',\x20'));}const _0xc36f32={'upload_id':_0x26853c,'filename':_0x18dd7a['originalname'],'total_rows':_0x3af04c,'headers':_0x556f9a,'rows':_0x1d541c,'params':_0x3ad18a,'created_at':new Date()[_0x2bcbbd(0x139)]()};return await redisHelper['setJob']('upload:'+_0x26853c,_0xc36f32,0xe10),await fs[_0x2bcbbd(0xea)](_0x18dd7a['path']),logger[_0x2bcbbd(0x148)]({'event':_0x2bcbbd(0x13f),'uploadId':_0x26853c,'filename':_0x18dd7a['originalname'],'totalRows':_0x3af04c},_0x2bcbbd(0x169)),{'upload_id':_0x26853c,'total_rows':_0x3af04c,'preview':_0x1d541c['slice'](0x0,0xa)};}catch(_0x4028d2){try{await fs['unlink'](_0x18dd7a[_0x2bcbbd(0x11a)]);}catch(_0x35435c){_0x31f6db['jcqaM'](logError,_0x35435c,{'event':_0x2bcbbd(0x165)},_0x2bcbbd(0x11e));}throw _0x4028d2;}}async['createPreviewJob'](_0x5ec8f3){const _0x3f2be0=a0_0x4e6a12,_0x20afbb={'sCjka':_0x3f2be0(0x125),'bBgsM':_0x3f2be0(0x11c)},_0x43a9ca=this['generateId'](),_0x435452=await redisHelper[_0x3f2be0(0x149)](_0x3f2be0(0x182)+_0x5ec8f3);if(!_0x435452)throw new Error(_0x3f2be0(0x16a));const _0x2c38f1={'job_id':_0x43a9ca,'upload_id':_0x5ec8f3,'status':_0x3f2be0(0x178),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x435452[_0x3f2be0(0xe4)]};return await redisHelper['setJob'](_0x3f2be0(0x136)+_0x43a9ca,_0x2c38f1,0xe10),logger['info']({'event':_0x3f2be0(0xf9),'jobId':_0x43a9ca,'uploadId':_0x5ec8f3},_0x20afbb[_0x3f2be0(0x144)]),this[_0x3f2be0(0x146)](_0x43a9ca,_0x5ec8f3,_0x435452)[_0x3f2be0(0x113)](_0x53bf56=>{logError(_0x53bf56,{'event':_0x20afbb['sCjka'],'jobId':_0x43a9ca},'Preview\x20processing\x20failed');}),{'job_id':_0x43a9ca,'status':'validating'};}['autoGenerateUpsertKeys'](_0x5bc0cf,_0x552230){const _0x190de5=a0_0x4e6a12,_0x31d023={'hlAZk':function(_0xcda557,_0x558baa){return _0xcda557===_0x558baa;},'EJVca':function(_0x897b1a){return _0x897b1a();},'lYrme':function(_0x5d5ebd,_0x49ef94){return _0x5d5ebd+_0x49ef94;}};_0x5bc0cf[_0x190de5(0x118)]((_0xb5c31f,_0x98eec)=>{const _0x1cebd9=_0x190de5;_0x552230[_0x1cebd9(0x118)](_0x335142=>{const _0x391930=_0x1cebd9,_0x100fd4=_0xb5c31f[_0x335142];if(_0x100fd4===null||_0x100fd4===undefined||_0x31d023[_0x391930(0xf1)](_0x100fd4,'')||String(_0x100fd4)['trim']()==='-'){const _0x140bec=_0x31d023['EJVca'](uuidv7);_0xb5c31f[_0x335142]=_0x140bec,_0xb5c31f['_generated_uuid']=_0xb5c31f['_generated_uuid']||{},_0xb5c31f['_generated_uuid'][_0x335142]=_0x140bec,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x98eec,'field':_0x335142,'uuid':_0x140bec},'Auto-generated\x20UUID\x20for\x20'+_0x335142+'\x20at\x20row\x20'+_0x31d023[_0x391930(0x16f)](_0x98eec,0x2));}});});}async['processPreviewJob'](_0x377fd8,_0xdb0263,_0x181070){const _0x2e6e7f=a0_0x4e6a12,_0x22088b={'zCzna':function(_0x260ec2,_0x204f5b){return _0x260ec2===_0x204f5b;},'rEHIA':_0x2e6e7f(0x157),'BXihI':_0x2e6e7f(0xef),'MaSuN':function(_0x4f9973,_0x15d2c0,_0x189a36,_0x4c7b75){return _0x4f9973(_0x15d2c0,_0x189a36,_0x4c7b75);},'fToHB':'failed'};try{let {rows:_0x39d946,params:_0x2a6636}=_0x181070;const {requiredFields:_0x45295a,validations:_0x4d360e,upsertKeys:_0x14d3e5,tableName:_0x4762b5,primaryKey:_0x29ffde,fieldName:_0xea4041,upsertStrategy:_0x3cf26f,lookupFields:_0x4f5f77}=_0x2a6636;this['autoGenerateUpsertKeys'](_0x39d946,_0x14d3e5);let _0x3d2b39=[];if(_0x4f5f77&&Object['keys'](_0x4f5f77)['length']>0x0){logger['info']({'event':_0x22088b['BXihI'],'jobId':_0x377fd8,'lookupFieldCount':Object['keys'](_0x4f5f77)['length']},'Processing\x20lookup\x20fields');const _0x5917e0=await lookupResolver[_0x2e6e7f(0x17a)](_0x39d946,_0x4f5f77);_0x39d946=_0x5917e0[_0x2e6e7f(0x12b)],_0x3d2b39=_0x5917e0[_0x2e6e7f(0xf5)],_0x181070['rows']=_0x39d946;}const _0x1fedb4=importValidator['batchValidateRows'](_0x39d946,_0x45295a||[],_0x4d360e||{});_0x3d2b39[_0x2e6e7f(0x118)](_0xe03037=>{const _0x28813f=_0x2e6e7f,_0x24d27c=_0x1fedb4[_0x28813f(0x101)](_0x44dfe2=>_0x44dfe2['rowIndex']===_0xe03037['rowIndex']);_0x24d27c?_0x24d27c['errors'][_0x28813f(0x14f)](_0xe03037['message']):_0x1fedb4[_0x28813f(0x14f)]({'rowIndex':_0xe03037['rowIndex'],'rowData':_0x39d946[_0xe03037['rowIndex']],'errors':[_0xe03037['message']]});});const _0xb9cf2=importValidator['detectDuplicatesInFile'](_0x39d946,_0x14d3e5);_0xb9cf2['forEach'](_0x752cfe=>{const _0xcf3601=_0x2e6e7f,_0x5ecec4=_0x1fedb4['find'](_0x24ca3a=>_0x24ca3a[_0xcf3601(0x15b)]===_0x752cfe[_0xcf3601(0x15b)]),_0x4de885=_0x14d3e5[_0xcf3601(0x13a)](_0x1ce212=>_0x1ce212['toUpperCase']())['join'](',\x20'),_0x5e5c51=_0xcf3601(0xf7)+_0x4de885;_0x5ecec4?_0x5ecec4[_0xcf3601(0xf5)]['push'](_0x5e5c51):_0x1fedb4[_0xcf3601(0x14f)]({'rowIndex':_0x752cfe['rowIndex'],'rowData':_0x39d946[_0x752cfe['rowIndex']],'errors':[_0x5e5c51]});}),await this['detectDatabaseDuplicates'](_0x39d946,_0x14d3e5,_0x4762b5,_0x29ffde,_0x3cf26f,_0x1fedb4),_0x1fedb4['forEach'](_0x1a6254=>{const _0x32ecd0=_0x2e6e7f,_0x4a07be=_0x39d946[_0x1a6254['rowIndex']];_0x4a07be&&(_0x4a07be['_errors']=_0x1a6254[_0x32ecd0(0xf5)]);});let _0x2c8b0c=0x0,_0x454c4b=0x0,_0xe2ee36=0x0;_0x39d946[_0x2e6e7f(0x118)](_0xe60eef=>{const _0x55c3b7=_0x2e6e7f;if(_0x22088b[_0x55c3b7(0x172)](_0xe60eef[_0x55c3b7(0xf8)],'INSERT'))_0x2c8b0c++;else{if(_0x22088b['zCzna'](_0xe60eef['_action'],_0x22088b[_0x55c3b7(0x131)]))_0x454c4b++;else _0x22088b['zCzna'](_0xe60eef[_0x55c3b7(0xf8)],'SKIP')&&_0xe2ee36++;}});const _0x546f25={'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x1fedb4[_0x2e6e7f(0x174)]>0x0?_0x2e6e7f(0x162):'preview_ok','progress':0x64,'created_at':_0x181070['created_at'],'completed_at':new Date()[_0x2e6e7f(0x139)](),'preview':{'total_rows':_0x39d946[_0x2e6e7f(0x174)],'insert_count':_0x2c8b0c,'update_count':_0x454c4b,'skip_count':_0xe2ee36,'error_count':_0x1fedb4[_0x2e6e7f(0x174)],'errors':_0x1fedb4,'data':_0x39d946,'sample_insert':_0x39d946['filter'](_0x5ab3f4=>_0x5ab3f4['_action']===_0x2e6e7f(0xf0))[_0x2e6e7f(0x133)](0x0,0x5),'sample_update':_0x39d946[_0x2e6e7f(0x102)](_0x4afbe3=>_0x4afbe3['_action']===_0x2e6e7f(0x157))['slice'](0x0,0x5),'sample_skip':_0x39d946[_0x2e6e7f(0x102)](_0x37f05f=>_0x37f05f['_action']==='SKIP')[_0x2e6e7f(0x133)](0x0,0x5)},'params':_0x2a6636};await redisHelper['setJob'](_0x2e6e7f(0x136)+_0x377fd8,_0x546f25,0xe10),_0x181070[_0x2e6e7f(0xf4)]=_0x39d946,await redisHelper['setJob']('upload:'+_0xdb0263,_0x181070,0xe10),logger[_0x2e6e7f(0x148)]({'event':_0x2e6e7f(0x15a),'jobId':_0x377fd8,'status':_0x546f25[_0x2e6e7f(0x10b)],'insertCount':_0x2c8b0c,'updateCount':_0x454c4b,'skipCount':_0xe2ee36,'errorCount':_0x1fedb4[_0x2e6e7f(0x174)]},_0x2e6e7f(0x168));}catch(_0x15d791){_0x22088b[_0x2e6e7f(0xe5)](logError,_0x15d791,{'event':_0x2e6e7f(0x17e),'jobId':_0x377fd8},_0x2e6e7f(0x128)),await redisHelper[_0x2e6e7f(0x119)](_0x2e6e7f(0x136)+_0x377fd8,{'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x22088b[_0x2e6e7f(0xfc)],'progress':0x0,'error':_0x15d791['message'],'created_at':new Date()[_0x2e6e7f(0x139)](),'completed_at':new Date()[_0x2e6e7f(0x139)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x1345ad,_0x563138,_0x331f35,_0x5eb4ab,_0x5d6bf9='update_existing',_0x2cee06=[]){const _0x25661f=a0_0x4e6a12,_0x39303f={'DNHdt':function(_0x2903dc,_0x280330){return _0x2903dc===_0x280330;},'hlEhw':_0x25661f(0x175),'TLoQe':function(_0x21902b,_0x5ba107){return _0x21902b===_0x5ba107;},'MResW':'skip_existing','HPzdE':function(_0x49632e,_0x3079b7){return _0x49632e===_0x3079b7;},'StquT':'insert_only','AiyrB':_0x25661f(0xf0),'NmvVt':function(_0x15c363,_0x1dec79){return _0x15c363===_0x1dec79;},'bShjD':_0x25661f(0x112)},_0x1b26b8=upsertBuilder['chunkRows'](_0x1345ad,0x64);for(const _0x4af97b of _0x1b26b8){const _0x1f7122=_0x4af97b[_0x25661f(0x13a)](_0x1a374b=>_0x1a374b[_0x563138[0x0]]),_0x5f2772=_0x1f7122['map'](_0x55bdfe=>{const _0x541edd=_0x25661f;if(_0x39303f['DNHdt'](_0x55bdfe,null)||_0x55bdfe===undefined)return'NULL';return'\x27'+String(_0x55bdfe)[_0x541edd(0x180)](/'/g,'\x27\x27')+'\x27';}),_0x12d21d=_0x25661f(0x159)+_0x5eb4ab+',\x20'+_0x563138[_0x25661f(0xfd)](',\x20')+_0x25661f(0x13e)+_0x331f35+_0x25661f(0xe3)+_0x563138[0x0]+'\x20IN\x20('+_0x5f2772[_0x25661f(0xfd)](',\x20')+_0x25661f(0x179);let _0x1ec39e=await executeQuery(_0x12d21d);_0x39303f[_0x25661f(0x127)](dbType,_0x39303f[_0x25661f(0x17f)])&&_0x1ec39e&&_0x1ec39e[_0x25661f(0x174)]>0x0&&(_0x1ec39e=_0x1ec39e[_0x25661f(0x13a)](_0x2fddb5=>{const _0x2d8140=_0x25661f,_0x5d49c3={};for(const [_0x51267f,_0x4bc9fa]of Object[_0x2d8140(0xfb)](_0x2fddb5)){_0x5d49c3[_0x51267f[_0x2d8140(0x173)]()]=_0x4bc9fa;}return _0x5d49c3;}));const _0x22eb42=new Map();_0x1ec39e['forEach'](_0xa826a0=>{const _0xa23c1d=_0xa826a0[_0x563138[0x0]];_0x22eb42['set'](_0xa23c1d,_0xa826a0);}),_0x4af97b['forEach']((_0x7f75c7,_0x38582f)=>{const _0x32cf82=_0x25661f,_0x4c3858=_0x7f75c7[_0x563138[0x0]],_0x3698de=_0x22eb42['get'](_0x4c3858);if(_0x3698de){if(_0x5d6bf9===_0x39303f['hlEhw'])_0x7f75c7['_action']='UPDATE',_0x7f75c7['_existingId']=_0x3698de[_0x5eb4ab];else{if(_0x39303f[_0x32cf82(0x138)](_0x5d6bf9,'insert_only')){_0x7f75c7[_0x32cf82(0xf8)]='SKIP',_0x7f75c7[_0x32cf82(0x10a)]=_0x7f75c7['_errors']||[],_0x7f75c7['_errors']['push'](_0x32cf82(0x108));const _0x47cbdb=_0x1345ad['indexOf'](_0x7f75c7);_0x47cbdb!==-0x1&&_0x2cee06['push']({'rowIndex':_0x47cbdb,'rowData':_0x7f75c7,'errors':[_0x32cf82(0x108)]});}else _0x5d6bf9===_0x39303f['MResW']&&(_0x7f75c7['_action']='SKIP');}}else{if(_0x5d6bf9==='update_existing')_0x7f75c7[_0x32cf82(0xf8)]='INSERT';else(_0x39303f['HPzdE'](_0x5d6bf9,_0x39303f[_0x32cf82(0x142)])||_0x5d6bf9==='skip_existing')&&(_0x7f75c7['_action']=_0x39303f[_0x32cf82(0xe7)]);}});}}async[a0_0x4e6a12(0x135)](_0x67d2cd){const _0xf9dd0d=a0_0x4e6a12,_0x51e6ec={'kBovu':'commit_process_error','tyfRg':_0xf9dd0d(0x13b),'otOMj':_0xf9dd0d(0x103)},_0x5b3a10=this[_0xf9dd0d(0x145)](),_0xffaa4=await redisHelper['getJob']('job:'+_0x67d2cd);if(!_0xffaa4)throw new Error(_0xf9dd0d(0x104));if(_0xffaa4['status']!=='preview_ok')throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0xffaa4[_0xf9dd0d(0x10b)]);const _0x23f85b={'job_id':_0x5b3a10,'upload_id':_0xffaa4['upload_id'],'preview_job_id':_0x67d2cd,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xffaa4['params']};return await redisHelper['setJob']('job:'+_0x5b3a10,_0x23f85b,0xe10),logger[_0xf9dd0d(0x148)]({'event':_0x51e6ec[_0xf9dd0d(0x183)],'jobId':_0x5b3a10,'previewJobId':_0x67d2cd},_0x51e6ec[_0xf9dd0d(0x122)]),this[_0xf9dd0d(0x115)](_0x5b3a10,_0xffaa4)['catch'](_0x3eb8ba=>{const _0x4f4781=_0xf9dd0d;logError(_0x3eb8ba,{'event':_0x51e6ec[_0x4f4781(0x160)],'jobId':_0x5b3a10},'Commit\x20processing\x20failed');}),{'job_id':_0x5b3a10,'status':'processing'};}async[a0_0x4e6a12(0x115)](_0x403250,_0x3efd78){const _0x2b6fe6=a0_0x4e6a12,_0x543d1d={'YtRuJ':'Upload\x20data\x20not\x20found\x20or\x20expired','npFzN':_0x2b6fe6(0x141),'aZmyP':_0x2b6fe6(0x10e),'gwTgM':'insert','johdj':'update','JsroS':function(_0x7fa91c,_0x5971a8){return _0x7fa91c>_0x5971a8;},'bAaaE':function(_0x5e4539,_0xce826c){return _0x5e4539(_0xce826c);},'dxydP':_0x2b6fe6(0x126),'LKVkw':_0x2b6fe6(0x110),'cMOHu':_0x2b6fe6(0x116)};try{const _0x1b8d8b=await redisHelper[_0x2b6fe6(0x149)]('upload:'+_0x3efd78[_0x2b6fe6(0x137)]);if(!_0x1b8d8b)throw new Error(_0x543d1d['YtRuJ']);const {rows:_0x3aa088,params:_0x35e7df}=_0x1b8d8b,{tableName:_0x15885e,fieldName:_0x4c643f,primaryKey:_0xd6524,upsertKeys:_0x6ed82f,excludeFromImport:_0x47c65c,lookupFields:_0x495c4f,columnFormats:_0x45c2be}=_0x35e7df,_0x1888bc=_0x495c4f?Object['keys'](_0x495c4f):[],_0x26e6c8=new Set([..._0x47c65c||[],..._0x1888bc]);let _0x2a7a55=_0x4c643f;_0x26e6c8['size']>0x0&&(_0x2a7a55=_0x4c643f['filter'](_0x182e23=>!_0x26e6c8[_0x2b6fe6(0x161)](_0x182e23)),logger['debug']({'event':_0x543d1d[_0x2b6fe6(0xf6)],'originalCount':_0x4c643f[_0x2b6fe6(0x174)],'filteredCount':_0x2a7a55[_0x2b6fe6(0x174)],'excludedFields':Array['from'](_0x26e6c8),'lookupSourceFields':_0x1888bc},_0x543d1d['aZmyP']));const _0x34fbf1=_0x3aa088['filter'](_0x1b4038=>_0x1b4038['_action']==='INSERT'),_0x48e6d0=_0x3aa088['filter'](_0x550603=>_0x550603['_action']===_0x2b6fe6(0x157));let _0x494ef6=0x0,_0xf01caf=0x0;const _0x28a5d9=[];if(_0x34fbf1['length']>0x0){const _0x199981=upsertBuilder['chunkRows'](_0x34fbf1,0x64);for(const _0x35a083 of _0x199981){const {query:_0x48eab0}=upsertBuilder['buildBatchInsert'](_0x35a083,_0x15885e,_0x2a7a55,_0x45c2be||{});_0x48eab0&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x48eab0,'count':_0x35a083[_0x2b6fe6(0x174)],'type':_0x543d1d['gwTgM']});}}if(_0x48e6d0[_0x2b6fe6(0x174)]>0x0){const _0x54ae81=upsertBuilder['chunkRows'](_0x48e6d0,0x64);for(const _0x22cdd7 of _0x54ae81){const {query:_0x5c50cd}=upsertBuilder['buildBatchUpdate'](_0x22cdd7,_0x15885e,_0x2a7a55,_0xd6524,_0x6ed82f,_0x45c2be||{});_0x5c50cd&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x5c50cd,'count':_0x22cdd7['length'],'type':_0x543d1d['johdj']});}}_0x543d1d[_0x2b6fe6(0x11b)](_0x28a5d9[_0x2b6fe6(0x174)],0x0)&&await _0x543d1d['bAaaE'](executeTransaction,_0x28a5d9[_0x2b6fe6(0x13a)](_0x589b4c=>({'sql':_0x589b4c[_0x2b6fe6(0x123)],'params':[]})));_0x28a5d9[_0x2b6fe6(0x118)](_0x2ea32d=>{const _0x4eac6a=_0x2b6fe6;if(_0x2ea32d['type']==='insert')_0x494ef6+=_0x2ea32d['count'];else _0xf01caf+=_0x2ea32d[_0x4eac6a(0x16d)];});const _0x29f9d4={'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':_0x2b6fe6(0x10f),'progress':0x64,'created_at':_0x3efd78['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x3aa088['length'],'inserted_rows':_0x494ef6,'updated_rows':_0xf01caf,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x35e7df};await redisHelper[_0x2b6fe6(0x119)](_0x2b6fe6(0x136)+_0x403250,_0x29f9d4,0xe10),logger['info']({'event':_0x543d1d['dxydP'],'jobId':_0x403250,'insertedCount':_0x494ef6,'updatedCount':_0xf01caf},_0x543d1d[_0x2b6fe6(0x132)]);}catch(_0x5a4222){logError(_0x5a4222,{'event':_0x543d1d['cMOHu'],'jobId':_0x403250},'Commit\x20job\x20failed'),await redisHelper[_0x2b6fe6(0x119)]('job:'+_0x403250,{'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':'failed','progress':0x0,'error':_0x5a4222[_0x2b6fe6(0x129)],'created_at':_0x3efd78['created_at'],'started_at':new Date()[_0x2b6fe6(0x139)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x4e6a12(0x167)](_0x3fc60b){const _0x340baf=a0_0x4e6a12,_0x2d7eda={'CvXnt':_0x340baf(0xe9)},_0x46d52a=await redisHelper[_0x340baf(0x149)](_0x340baf(0x136)+_0x3fc60b);if(!_0x46d52a)return{'success':![],'error':_0x2d7eda['CvXnt']};return{'success':!![],'data':_0x46d52a};}}function a0_0x2661(){const _0x21b4e8=['BwvZC2fNzq','C2v0','ChjVy2vZC2vKuM93CW','C2L6zq','zMXVB3i','mta4oduYmezpwKTZrq','zxHLy3v0zvf1zxj5','mtG3ntCXm0XmvxbbtG','CKvisue','teTwA3C','C2XPy2u','zxHWB3j0CW','y3jLyxrLq29TBwL0sM9I','AM9IoG','DxbSB2fKx2LK','veXVuwu','Dg9ju09tDhjPBMC','BwfW','y29TBwL0x2PVyL9JCMvHDgvK','CvL6vMu','otyXmtu4CeLeugHL','cIaGicaGicaGrLjptsa','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','EwvZ','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','u3rXDvq','mZLOEwjhvLa','yKjNC00','z2vUzxjHDgvjza','ChjVy2vZC1bYzxzPzxDkB2i','yxnxs1K','Aw5MBW','z2v0sM9I','lI4VDxrPBhmVBg9Nz2vY','DhLWzq','CgfKu3rHCNq','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','DgvZDa','ChvZAa','C3vIC3rYAw5N','tePlv2e','AM9Ix2LK','zuL6ywK','uenJr0W','owLJqNHAsW','lI4VlI4VDgvTCc91CgXVywrZlW','vvbeqvrf','zxHLy3v0zvrYyw5Zywn0Aw9U','cIaGicaGicaGu0vmrunuia','ChjLDMLLD19QB2jFy29TCgXLDgvK','CM93sw5KzxG','mtzir0PxrLq','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','yxbWBhLdB2X1Bw5gB3jTyxrZ','sxj6qxa','A0jVDNu','AgfZ','ChjLDMLLD19LCNjVCG','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','BwLZC2LUz0zPzwXKCW','zMLSzv9JBgvHBNvWx2vYCM9Y','y29SDw1UrM9YBwf0CW','z2v0sM9Iu3rHDhvZ','uhjLDMLLDYbQB2iGy29TCgXLDgvK','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zgvMyxvSDa','y291BNq','C2nVCgvpDMvYCMLKzq','BfLYBwu','z2T1y1K','Dg9tDhjPBMC','EKn6BMe','Dg9mB3DLCKnHC2u','BgvUz3rO','DxbKyxrLx2v4Axn0Aw5N','mtjsz0fmCuS','z2v0vgLTzq','DMfSAwrHDgLUzW','kqOGicaGica','ChjVy2vZC0XVB2T1CezPzwXKCW','Dgv4Da','Dhj1zq','zMfSC2u','ChjLDMLLD19QB2jFzMfPBgvK','yLnOAKq','CMvWBgfJzq','zgvIDwC','DxbSB2fKoG','DhLMuMC','tgn3tgi','cIaGicaGicaGv0HfuKuG','CgfYyw1Z','twftDu4','tNHtvve','qwL5CKi','DhjPBq','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','Dw5SAw5R','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','zw52','zgf0zq','z2v0','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','su5trvju','AgXbwMS','nZKZmta0v3nWufzk','nJG3odzPwxbQuxm','CM93CW','zxjYB3jZ','BNbgEK4','rhvWBgLJyxrLihzHBhvLigzVCIa','x2fJDgLVBG','ChjLDMLLD19QB2jFy3jLyxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw50CMLLCW','zLrVsei','AM9PBG','AgvHzgvYC19TyxbWzwq','D1DqB3i','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zMLUza','zMLSDgvY','q29TBwL0igPVyIbJCMvHDgvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','CgfYC2vfEgnLBezPBgu','ndK3mtmXmePtCeLbvW','seTwr0G','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','q0jlDuq','x2vYCM9YCW','C3rHDhvZ','DxvPza','rNPXALO','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','y29TCgXLDgvK','q29TBwL0igPVyIbJB21WBgv0zwq','DMfSDwvZ','B3jHy2XL','y2f0y2G','nte2otC4tgHKvw9O','ChjVy2vZC0nVBw1PDePVyG','y29TBwL0x2PVyL9MywLSzwq','jdfFjdi','zM9YrwfJAa','C2v0sM9I','Cgf0Aa','sNnYB1m','uhjLDMLLDYbQB2iGy3jLyxrLza','z2v0rNvSBfLLyxi','rMfPBgvKihrVignSzwfUDxaGzMLSzq','Bg9VA3vWrMLLBgrZ','yuLYu3m','C3rYAw5N','B3rptwO','C3fS','x3vWBg9HzerPCG','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','y29TBwL0x2PVyL9JB21WBgv0zwq','tM12vNq','uhjLDMLLDYbQB2iGzMfPBgvK'];a0_0x2661=function(){return _0x21b4e8;};return a0_0x2661();}module[a0_0x4e6a12(0x134)]=new ImportService();
|
|
1
|
+
const a0_0x4d0a67=a0_0x191f;function a0_0x191f(_0x6e54be,_0x2e7327){_0x6e54be=_0x6e54be-0xf7;const _0x3257d7=a0_0x3257();let _0x191f87=_0x3257d7[_0x6e54be];if(a0_0x191f['lbFrLe']===undefined){var _0x29a00b=function(_0x4d472e){const _0x50675f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcb18e8='',_0x3842a0='';for(let _0x150f4a=0x0,_0x221b97,_0x58691b,_0x16bb29=0x0;_0x58691b=_0x4d472e['charAt'](_0x16bb29++);~_0x58691b&&(_0x221b97=_0x150f4a%0x4?_0x221b97*0x40+_0x58691b:_0x58691b,_0x150f4a++%0x4)?_0xcb18e8+=String['fromCharCode'](0xff&_0x221b97>>(-0x2*_0x150f4a&0x6)):0x0){_0x58691b=_0x50675f['indexOf'](_0x58691b);}for(let _0x337168=0x0,_0x32a0b1=_0xcb18e8['length'];_0x337168<_0x32a0b1;_0x337168++){_0x3842a0+='%'+('00'+_0xcb18e8['charCodeAt'](_0x337168)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3842a0);};a0_0x191f['gARxwD']=_0x29a00b,a0_0x191f['JQXuay']={},a0_0x191f['lbFrLe']=!![];}const _0xc7ea3e=_0x3257d7[0x0],_0xf59e67=_0x6e54be+_0xc7ea3e,_0x53b529=a0_0x191f['JQXuay'][_0xf59e67];return!_0x53b529?(_0x191f87=a0_0x191f['gARxwD'](_0x191f87),a0_0x191f['JQXuay'][_0xf59e67]=_0x191f87):_0x191f87=_0x53b529,_0x191f87;}(function(_0x3871db,_0x5994a8){const _0x1e9b83=a0_0x191f,_0x2ed456=_0x3871db();while(!![]){try{const _0x4af365=parseInt(_0x1e9b83(0x15a))/0x1+-parseInt(_0x1e9b83(0x10f))/0x2*(parseInt(_0x1e9b83(0x11c))/0x3)+-parseInt(_0x1e9b83(0x12d))/0x4+parseInt(_0x1e9b83(0x104))/0x5+-parseInt(_0x1e9b83(0x145))/0x6+parseInt(_0x1e9b83(0x171))/0x7+-parseInt(_0x1e9b83(0x121))/0x8*(-parseInt(_0x1e9b83(0x1a0))/0x9);if(_0x4af365===_0x5994a8)break;else _0x2ed456['push'](_0x2ed456['shift']());}catch(_0x337ad1){_0x2ed456['push'](_0x2ed456['shift']());}}}(a0_0x3257,0xc738e));function a0_0x3257(){const _0x23400f=['zMXVB3i','yvnAA0G','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','Bg9VA3vWrMLLBgrZ','ENPqBee','BvjotLC','BgvUz3rO','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','yNPfr2u','uhjLDMLLDYbQB2iGy3jLyxrLza','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','mJi2mJKZBerez0LI','tuHQBNy','y29TBwL0x2PVyL9JB21WBgv0zwq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','zMLLBgrmywjLBhm','mZq2ngfPAhrJsa','zgvIDwC','CMfUzg9T','C2XPy2u','BwvZC2fNzq','B3ziywu','s0XbqK4','Dgv4Da','C2L6zq','y291BNq','twHmuLO','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','mJu4odi4yurbwgXP','EhvnugW','DhjPBq','D2n0AuO','ru1mA20','Cgf0Aa','lI4VDxrPBhmVzgi','DMjXBva','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','x2v4Axn0Aw5Nswq','rK5Qt08','rxviCgC','zMfPBgvK','zMLLBgroyw1L','C3rHDhvZ','y29SDw1UrM9YBwf0CW','EwvZ','x2DLBMvYyxrLzf91DwLK','AuzbwwW','x2vYCM9YCW','z2v0rgf0zq','zMLUza','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','B3jPz2LUywXUyw1L','ode4nJi1nMLHv21xDG','rMfPBgvKihrVignSzwfUDxaGzMLSzq','s1jQrKq','AhHNqLG','Dhj1zq','z0zkswG','kqOGicaGica','zxHLy3v0zvf1zxj5','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','A2v5CW','DgLVuu0','lI4VlI4VDgvTCc91CgXVywrZlW','su5trvju','vvbeqvrf','y2H1BMTsB3DZ','zw52','CM93CW','AgfZ','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','AM9IoG','mtaXndu3vMTZv1v2','t2fLsK8','ChjLDMLLD19QB2jFy3jLyxrLza','yNvPBgrcyxrJAeLUC2vYDa','z2v0sM9Iu3rHDhvZ','zLHXv1K','C1HfCwG','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','z2v0sM9I','y29SDw1U','BM93','cIaGicaGicaGu0vmrunuia','BxLZsu0','CM93sw5KzxG','Dg9tDhjPBMC','zwTpy0e','Dg9ju09tDhjPBMC','CgfKu3rHCNq','AM9PBG','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','EgzptuO','ChjLDMLLD19LCNjVCG','yNvPBgrmywjLBfrVrMLLBgrnyxa','nJGXmdK0nfL0wNz6ra','zNjVBq','cIaGicaGicaGv0HfuKuG','Aw5JBhvKzxm','sLDOuhm','x2fJDgLVBG','tLPOvKm','DLn2Cwe','zgf0zq','zMfSC2u','CLrmzM0','DgfYz2v0rMLLBgq','ChvZAa','DNbLvKG','DxbSB2fKoG','y29TBwL0x2PVyL9JCMvHDgvK','v0HNDxC','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','C3fS','A1LUBxK','q29TBwL0igPVyIbMywLSzwq','C2nVCgvpDMvYCMLKzq','BNvTyMvY','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','x3vWBg9HzerPCG','y3jLyxrLzf9HDa','zKDyAu0','z2vUzxjHDgvjza','ChjVy2vZC1bYzxzPzxDkB2i','zM9YrwfJAa','DgvZDa','BxLZCwW','Aw5Zzxj0x29UBhK','Aw5MBW','yxbWBhLdB2X1Bw5gB3jTyxrZ','Dw5SAw5R','zxHLy3v0zvrYyw5Zywn0Aw9U','C2v0sM9I','rgr2C0K','CvzYrva','Dg9mB3DLCKnHC2u','zMLSDgvY','ChjLDMLLD19QB2jFy29TCgXLDgvK','zw50CMLLCW','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','Aw5KzxHpzG','nJu0m1rbzurbwa','zxHWB3j0CW','q29TBwL0igPVyIbJB21WBgv0zwq','uhjLDMLLDYbQB2iGy29TCgXLDgvK','zxjYB3jZ','BwfW','CMvWBgfJzq','DxvPza','z2v0','Cg9ZDgDYzxnXBa','AgvHzgvYC19TyxbWzwq','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','yM9VBgvHBG','ChjLDMLLD19QB2jFzMfPBgvK','DhLWzq','Aw5Zzxj0','Bwf0y2G','u0Tjua','nJe2nta2mfruC1PNEG','DxbKyxrLx2v4Axn0Aw5N','C3rYAw5N','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','jdfFjdi','y29TBwL0x3bYB2nLC3nFzxjYB3i','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zLvTzey','DxbSB2fKrgLY','vLPzCxy','mtbvDeLQte0','ChjVy2vZC2vKuM93CW'];a0_0x3257=function(){return _0x23400f;};return a0_0x3257();}const {v7:uuidv7}=require(a0_0x4d0a67(0xf9)),path=require(a0_0x4d0a67(0x132)),fs=require('fs')['promises'],redisHelper=require(a0_0x4d0a67(0x113)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x4d0a67(0x155)]['DB_TYPE']||a0_0x4d0a67(0xfb))['toLowerCase']();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x57ffa9,_0x3ad1f9)=>oracleDb['executeQuery'](_0x57ffa9,_0x3ad1f9),executeTransaction=_0x1c246b=>oracleDb[a0_0x4d0a67(0x196)](_0x1c246b);else{if(dbType===a0_0x4d0a67(0x191)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5fe506,_0x5232d7)=>mysqlDb['executeQuery'](_0x5fe506,_0x5232d7),executeTransaction=_0x532b31=>mysqlDb[a0_0x4d0a67(0x196)](_0x532b31);}else{const db=require(a0_0x4d0a67(0x133));executeQuery=db[a0_0x4d0a67(0x14c)],executeTransaction=db[a0_0x4d0a67(0x196)];}}const excelParser=require(a0_0x4d0a67(0x16d)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x4d0a67(0x107)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0xf01b1d=a0_0x4d0a67;this[_0xf01b1d(0x18a)]=null;}get[a0_0x4d0a67(0x10d)](){const _0x128a83=a0_0x4d0a67;if(!this[_0x128a83(0x18a)]){const _0x3868b7=process[_0x128a83(0x155)]['RESTFORGE_PROJECT_NAME']||'default';this[_0x128a83(0x18a)]=process[_0x128a83(0x155)]['UPLOAD_DIR']||path[_0x128a83(0x16c)](__dirname,_0x128a83(0x151)+_0x3868b7);}return this[_0x128a83(0x18a)];}[a0_0x4d0a67(0x18d)](){const _0x19f102=a0_0x4d0a67,_0x26cb47={'QhxoC':_0x19f102(0x10b),'EMLkm':function(_0x12ad99,_0x19d1be){return _0x12ad99-_0x19d1be;}},_0x1aff57=_0x26cb47['QhxoC'],_0x3aebdc=Date[_0x19f102(0x164)]()[_0x19f102(0x168)](0x24),_0x46895f=uuidv7()[_0x19f102(0xf8)](/-/g,'')['substring'](0x0,_0x26cb47[_0x19f102(0x131)](0xc,_0x3aebdc['length'])),_0x1f4da5=(_0x3aebdc+_0x46895f)['substring'](0x0,0xc);let _0x5d417c='';for(let _0x5803b6=0x0;_0x5803b6<0xc;_0x5803b6++){_0x1f4da5[_0x5803b6]?_0x5d417c+=_0x1f4da5[_0x5803b6]:_0x5d417c+=_0x1aff57['charAt'](Math[_0x19f102(0x111)](Math[_0x19f102(0x123)]()*_0x1aff57[_0x19f102(0x117)]));}return _0x5d417c;}[a0_0x4d0a67(0x170)](_0x10a9e1){const _0x1e067c=a0_0x4d0a67,_0x521448={'BRDhy':_0x1e067c(0x109),'sXEqh':'Label\x20to\x20field\x20mapping\x20built'},_0x114913=new Map();if(!_0x10a9e1)return _0x114913;return Object['entries'](_0x10a9e1)[_0x1e067c(0x18f)](([_0x84c414,_0x1a5ce0])=>{const _0x30691c=_0x1e067c,_0x3db8e0=String(_0x1a5ce0)[_0x30691c(0x12f)]()[_0x30691c(0xf8)](/\s+/g,'_')[_0x30691c(0xf8)](/([a-z])([A-Z])/g,'$1_$2')[_0x30691c(0xf8)](/([A-Z]+)([A-Z][a-z])/g,_0x521448['BRDhy'])['toLowerCase']();_0x114913['set'](_0x3db8e0,_0x84c414);}),logger[_0x1e067c(0x122)]({'event':'label_to_field_map_built','mappingCount':_0x114913[_0x1e067c(0x129)]},_0x521448[_0x1e067c(0x160)]),_0x114913;}[a0_0x4d0a67(0x194)](_0x48a6d8,_0x4c9889){const _0x4ff1d3=a0_0x4d0a67,_0x4ebde7={'Gisgj':_0x4ff1d3(0x179),'yHyKe':_0x4ff1d3(0xfe),'cigDp':function(_0x5f54a0,_0x5844f9){return _0x5f54a0(_0x5844f9);}};if(!_0x4c9889||Object[_0x4ff1d3(0x14f)](_0x4c9889)[_0x4ff1d3(0x117)]===0x0)return _0x48a6d8;return _0x48a6d8[_0x4ff1d3(0xf7)](_0x103f4c=>{const _0x1fa8ba=_0x4ff1d3,_0x32f2d4={..._0x103f4c};for(const [_0x4cadac,_0x40fb16]of Object[_0x1fa8ba(0x19d)](_0x4c9889)){const _0x5b7b60=_0x32f2d4[_0x4cadac];if(_0x5b7b60===null||_0x5b7b60===undefined||_0x5b7b60===''){_0x32f2d4[_0x4cadac]=null;continue;}switch(_0x40fb16[_0x1fa8ba(0x100)]){case _0x4ebde7['Gisgj']:_0x32f2d4[_0x4cadac]=this['formatDateForDatabase'](_0x5b7b60);break;case _0x1fa8ba(0x187):_0x32f2d4[_0x4cadac]=this[_0x1fa8ba(0x189)](_0x5b7b60);break;case _0x4ebde7['yHyKe']:_0x32f2d4[_0x4cadac]=this[_0x1fa8ba(0x19e)](_0x5b7b60);break;case _0x1fa8ba(0x128):_0x32f2d4[_0x4cadac]=_0x4ebde7['cigDp'](String,_0x5b7b60);break;default:break;}}return _0x32f2d4;});}['formatDateForDatabase'](_0x24e97a){const _0x54e820=a0_0x4d0a67,_0x17eb55={'Zenum':_0x54e820(0x106),'bzEGe':function(_0x5563d8,_0x3601c1){return _0x5563d8 instanceof _0x3601c1;},'FNjOO':function(_0x190956,_0x4f3132){return _0x190956(_0x4f3132);},'NZhVC':function(_0x8c7c42,_0x48e1c9){return _0x8c7c42(_0x48e1c9);},'fXqWY':function(_0x5d68e7,_0x5e0727){return _0x5d68e7===_0x5e0727;},'bLSUS':function(_0x4e6041,_0x59e069){return _0x4e6041(_0x59e069);},'rGlOw':function(_0x378311,_0x4b72db){return _0x378311(_0x4b72db);}};if(_0x24e97a===null||_0x24e97a===undefined||_0x24e97a==='')return null;if(typeof _0x24e97a===_0x17eb55['Zenum']&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x24e97a))return _0x24e97a;if(_0x17eb55[_0x54e820(0x119)](_0x24e97a,Date)){if(_0x17eb55[_0x54e820(0x137)](isNaN,_0x24e97a['getTime']()))return null;const _0x5b92e1=_0x24e97a['getFullYear'](),_0x2da3da=String(_0x24e97a['getMonth']()+0x1)[_0x54e820(0x16b)](0x2,'0'),_0x5bc8ec=_0x17eb55[_0x54e820(0x177)](String,_0x24e97a[_0x54e820(0x141)]())['padStart'](0x2,'0');return _0x5b92e1+'-'+_0x2da3da+'-'+_0x5bc8ec;}if(_0x17eb55[_0x54e820(0x15f)](typeof _0x24e97a,_0x54e820(0x106))){const _0x3dee82=_0x24e97a[_0x54e820(0x102)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x3dee82){const _0x31cf5a=_0x17eb55['bLSUS'](String,_0x3dee82[0x1])['padStart'](0x2,'0'),_0x12c023=String(_0x3dee82[0x2])[_0x54e820(0x16b)](0x2,'0'),_0x1bd72a=_0x3dee82[0x3];return _0x1bd72a+'-'+_0x12c023+'-'+_0x31cf5a;}const _0x372870=_0x24e97a[_0x54e820(0x102)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x372870){const _0x440476=_0x372870[0x1],_0x8e4959=_0x17eb55['rGlOw'](String,_0x372870[0x2])[_0x54e820(0x16b)](0x2,'0'),_0x3b93a9=String(_0x372870[0x3])['padStart'](0x2,'0');return _0x440476+'-'+_0x8e4959+'-'+_0x3b93a9;}}return _0x24e97a;}[a0_0x4d0a67(0x189)](_0x258372){const _0x311474=a0_0x4d0a67,_0x396d57={'fUmdF':function(_0x4fd8af,_0x2123a2){return _0x4fd8af===_0x2123a2;},'wctiJ':function(_0xa8c7e8,_0xd7999c){return _0xa8c7e8===_0xd7999c;},'dzziE':_0x311474(0x187),'tWtoc':function(_0x5a7cc3,_0x4380b4){return _0x5a7cc3===_0x4380b4;},'XwDuG':'string','MhLRZ':function(_0x24b44c,_0x1f2527){return _0x24b44c(_0x1f2527);}};if(_0x258372===null||_0x396d57[_0x311474(0x10c)](_0x258372,undefined)||_0x258372==='')return null;if(_0x396d57[_0x311474(0x130)](typeof _0x258372,_0x396d57['dzziE']))return isNaN(_0x258372)?null:_0x258372;if(_0x396d57['tWtoc'](typeof _0x258372,_0x396d57['XwDuG'])){let _0x2d42e4=_0x258372['trim']();const _0x16370a=/,\d{1,2}$/[_0x311474(0x190)](_0x2d42e4)&&!/,\d{3}/[_0x311474(0x190)](_0x2d42e4);_0x16370a?_0x2d42e4=_0x2d42e4['replace'](/\./g,'')['replace'](',','.'):_0x2d42e4=_0x2d42e4['replace'](/,/g,'');const _0x457f72=parseFloat(_0x2d42e4);return _0x396d57[_0x311474(0x12b)](isNaN,_0x457f72)?null:_0x457f72;}return null;}['formatBooleanForDatabase'](_0x821163){const _0x3b35b6=a0_0x4d0a67,_0x28fed3={'NdjAw':function(_0x179e05,_0x529a55){return _0x179e05===_0x529a55;},'hxgBX':function(_0x483f9e,_0x2842e1){return _0x483f9e===_0x2842e1;},'vSvqa':function(_0x5910ec,_0x4adaae){return _0x5910ec===_0x4adaae;},'tioQM':'string','kYnmy':_0x3b35b6(0x149),'TLTmY':_0x3b35b6(0x17a),'VZYqv':function(_0x2ea589,_0x57b66c){return _0x2ea589===_0x57b66c;}};if(_0x28fed3['NdjAw'](_0x821163,null)||_0x28fed3['hxgBX'](_0x821163,undefined)||_0x28fed3[_0x3b35b6(0x148)](_0x821163,''))return null;if(_0x28fed3[_0x3b35b6(0x178)](typeof _0x821163,'boolean'))return _0x821163?'true':'false';if(_0x28fed3['NdjAw'](typeof _0x821163,_0x28fed3[_0x3b35b6(0x150)])){const _0x2babf5=_0x821163[_0x3b35b6(0x12f)]()[_0x3b35b6(0x19a)]();if([_0x28fed3[_0x3b35b6(0x184)],_0x3b35b6(0x13d),'y','1'][_0x3b35b6(0x174)](_0x2babf5))return _0x28fed3[_0x3b35b6(0x184)];if([_0x28fed3['TLTmY'],'no','n','0']['includes'](_0x2babf5))return _0x3b35b6(0x17a);return null;}if(_0x28fed3[_0x3b35b6(0x10e)](typeof _0x821163,'number'))return _0x821163?'true':_0x3b35b6(0x17a);return null;}async['uploadFile'](_0x498fab,_0x47abe1){const _0xd1da4c=a0_0x4d0a67,_0x3dac54={'xfOMJ':'request_scope_applied','IvCbC':'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows','TKBxA':_0xd1da4c(0x143),'vpeVH':function(_0x3d36db,_0x5f07ff,_0x3cd221,_0x426489){return _0x3d36db(_0x5f07ff,_0x3cd221,_0x426489);},'LJrdT':'file_cleanup_error','vbqmP':_0xd1da4c(0x146)},_0x432b73=this['generateId']();try{let {headers:_0x1f347b,rows:_0x3d9cee,totalRows:_0x204936}=await excelParser['parseExcelFile'](_0x498fab['path']);const _0x4caffe=this[_0xd1da4c(0x170)](_0x47abe1[_0xd1da4c(0x120)]),_0x9e8eb3=_0x1f347b['map'](_0x2a0d88=>{const _0x410a23=_0x4caffe['get'](_0x2a0d88);return _0x410a23||_0x2a0d88;});_0x3d9cee=_0x3d9cee['map'](_0xfb7823=>{const _0x48b76d=_0xd1da4c,_0x471311={};return _0x1f347b[_0x48b76d(0x18f)]((_0x3fba7d,_0x391609)=>{const _0x3927bf=_0x9e8eb3[_0x391609];_0x471311[_0x3927bf]=_0xfb7823[_0x3fba7d];}),_0x471311;}),_0x1f347b=_0x9e8eb3,logger['debug']({'event':_0xd1da4c(0xfc),'original':_0x1f347b['length'],'mapped':_0x9e8eb3[_0xd1da4c(0x19b)]((_0x58a545,_0x301e5f)=>_0x58a545!==_0x1f347b[_0x301e5f])[_0xd1da4c(0x117)]},_0xd1da4c(0x158));_0x47abe1['columnFormats']&&Object[_0xd1da4c(0x14f)](_0x47abe1['columnFormats'])[_0xd1da4c(0x117)]>0x0&&(_0x3d9cee=this['applyColumnFormats'](_0x3d9cee,_0x47abe1[_0xd1da4c(0x13c)]),logger[_0xd1da4c(0x122)]({'event':_0xd1da4c(0x11b),'formatCount':Object['keys'](_0x47abe1[_0xd1da4c(0x13c)])['length'],'formats':Object[_0xd1da4c(0x14f)](_0x47abe1['columnFormats'])},_0xd1da4c(0x108)));if(_0x47abe1[_0xd1da4c(0x186)]&&_0x47abe1[_0xd1da4c(0x186)][_0xd1da4c(0x163)]){const {column:_0x3814a1,value:_0x584e1c}=_0x47abe1[_0xd1da4c(0x186)];_0x3d9cee=_0x3d9cee[_0xd1da4c(0xf7)](_0x2c8b8e=>({..._0x2c8b8e,[_0x3814a1]:_0x584e1c})),logger[_0xd1da4c(0x122)]({'event':_0x3dac54[_0xd1da4c(0x16e)],'column':_0x3814a1,'rowCount':_0x3d9cee['length']},_0x3dac54['IvCbC']);}const _0x1d6d10=_0x47abe1['lookupFields']?Object['values'](_0x47abe1[_0xd1da4c(0x114)])[_0xd1da4c(0xf7)](_0x448140=>_0x448140[_0xd1da4c(0x17c)]):[],_0x51fb57=_0x47abe1[_0xd1da4c(0x13a)][_0xd1da4c(0x19b)](_0x1136c7=>!_0x1d6d10[_0xd1da4c(0x174)](_0x1136c7)),_0x3a0560=excelParser['validateExcelStructure'](_0x1f347b,_0x51fb57);if(!_0x3a0560['valid']){await fs[_0xd1da4c(0x195)](_0x498fab['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x3a0560['missingFields']['join'](',\x20'));}const _0x3711f0={'upload_id':_0x432b73,'filename':_0x498fab[_0xd1da4c(0x144)],'total_rows':_0x204936,'headers':_0x1f347b,'rows':_0x3d9cee,'params':_0x47abe1,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x432b73,_0x3711f0,0xe10),await fs['unlink'](_0x498fab[_0xd1da4c(0x132)]),logger[_0xd1da4c(0x193)]({'event':_0x3dac54['TKBxA'],'uploadId':_0x432b73,'filename':_0x498fab[_0xd1da4c(0x144)],'totalRows':_0x204936},_0xd1da4c(0x182)),{'upload_id':_0x432b73,'total_rows':_0x204936,'preview':_0x3d9cee['slice'](0x0,0xa)};}catch(_0xac83bb){try{await fs[_0xd1da4c(0x195)](_0x498fab[_0xd1da4c(0x132)]);}catch(_0x4eddb8){_0x3dac54[_0xd1da4c(0x17e)](logError,_0x4eddb8,{'event':_0x3dac54['LJrdT']},_0x3dac54[_0xd1da4c(0x134)]);}throw _0xac83bb;}}async['createPreviewJob'](_0x202929){const _0x547dff=a0_0x4d0a67,_0x432643={'puyNb':'validating'},_0x6d3313=this[_0x547dff(0x18d)](),_0xfed275=await redisHelper[_0x547dff(0x162)](_0x547dff(0x17f)+_0x202929);if(!_0xfed275)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0xfcef80={'job_id':_0x6d3313,'upload_id':_0x202929,'status':_0x432643['puyNb'],'progress':0x0,'created_at':new Date()[_0x547dff(0x16a)](),'params':_0xfed275['params']};return await redisHelper['setJob']('job:'+_0x6d3313,_0xfcef80,0xe10),logger['info']({'event':_0x547dff(0x15c),'jobId':_0x6d3313,'uploadId':_0x202929},_0x547dff(0x11a)),this[_0x547dff(0x18e)](_0x6d3313,_0x202929,_0xfed275)['catch'](_0xe0f48e=>{const _0x170b50=_0x547dff;logError(_0xe0f48e,{'event':_0x170b50(0xfd),'jobId':_0x6d3313},_0x170b50(0x161));}),{'job_id':_0x6d3313,'status':_0x432643['puyNb']};}['autoGenerateUpsertKeys'](_0x3f89fe,_0x12f0f3){const _0x233ce2={'gFJIh':function(_0x126533,_0x5f0a0f){return _0x126533===_0x5f0a0f;},'EKGFE':function(_0x4e813c,_0x38c1e7){return _0x4e813c(_0x38c1e7);},'tmfET':'uuid_auto_generated','FoLlk':function(_0x3f86f4,_0xb60d69){return _0x3f86f4+_0xb60d69;}};_0x3f89fe['forEach']((_0x40226d,_0x48b4c3)=>{_0x12f0f3['forEach'](_0x241f7e=>{const _0x1b4df8=a0_0x191f,_0x26dc40=_0x40226d[_0x241f7e];if(_0x233ce2[_0x1b4df8(0x14a)](_0x26dc40,null)||_0x233ce2[_0x1b4df8(0x14a)](_0x26dc40,undefined)||_0x26dc40===''||_0x233ce2['EKGFE'](String,_0x26dc40)['trim']()==='-'){const _0x195928=uuidv7();_0x40226d[_0x241f7e]=_0x195928,_0x40226d[_0x1b4df8(0x13e)]=_0x40226d[_0x1b4df8(0x13e)]||{},_0x40226d['_generated_uuid'][_0x241f7e]=_0x195928,logger[_0x1b4df8(0x122)]({'event':_0x233ce2['tmfET'],'rowIndex':_0x48b4c3,'field':_0x241f7e,'uuid':_0x195928},'Auto-generated\x20UUID\x20for\x20'+_0x241f7e+'\x20at\x20row\x20'+_0x233ce2['FoLlk'](_0x48b4c3,0x2));}});});}async['processPreviewJob'](_0x2ad660,_0x138bb8,_0x3bca9e){const _0xa481b2=a0_0x4d0a67,_0x1a8523={'mRNNW':'UPDATE','PEftC':function(_0x2a9c7e,_0x3c26d5){return _0x2a9c7e===_0x3c26d5;},'UBoAu':_0xa481b2(0x103),'fDgUI':function(_0x1189e7,_0x989d2f){return _0x1189e7>_0x989d2f;},'JWhPs':'processing_lookup_fields','DdvsI':_0xa481b2(0x16f),'ESdqc':_0xa481b2(0x19c),'VgXVG':_0xa481b2(0xff),'fGXiM':'Preview\x20job\x20failed','MHjnv':_0xa481b2(0x139)};try{let {rows:_0x575892,params:_0xa04f01}=_0x3bca9e;const {requiredFields:_0x10ae23,validations:_0x4d9ce9,upsertKeys:_0x14061c,tableName:_0x1c96be,primaryKey:_0x310c48,fieldName:_0x3d5187,upsertStrategy:_0x4a377b,lookupFields:_0x47bf00}=_0xa04f01;this[_0xa481b2(0x118)](_0x575892,_0x14061c);let _0x5e713a=[];if(_0x47bf00&&_0x1a8523['fDgUI'](Object[_0xa481b2(0x14f)](_0x47bf00)[_0xa481b2(0x117)],0x0)){logger['info']({'event':_0x1a8523[_0xa481b2(0x175)],'jobId':_0x2ad660,'lookupFieldCount':Object[_0xa481b2(0x14f)](_0x47bf00)['length']},'Processing\x20lookup\x20fields');const _0x111cf9=await lookupResolver['processLookupFields'](_0x575892,_0x47bf00);_0x575892=_0x111cf9[_0xa481b2(0x110)],_0x5e713a=_0x111cf9['errors'],_0x3bca9e[_0xa481b2(0x156)]=_0x575892;}const _0x5d4f24=importValidator['batchValidateRows'](_0x575892,_0x10ae23||[],_0x4d9ce9||{});_0x5e713a[_0xa481b2(0x18f)](_0x3d8e5f=>{const _0x560e3e=_0xa481b2,_0xfb1fbd=_0x5d4f24['find'](_0x3bb6dc=>_0x3bb6dc['rowIndex']===_0x3d8e5f[_0x560e3e(0x167)]);_0xfb1fbd?_0xfb1fbd['errors']['push'](_0x3d8e5f[_0x560e3e(0x125)]):_0x5d4f24[_0x560e3e(0x17d)]({'rowIndex':_0x3d8e5f['rowIndex'],'rowData':_0x575892[_0x3d8e5f['rowIndex']],'errors':[_0x3d8e5f['message']]});});const _0x43740c=importValidator[_0xa481b2(0x11f)](_0x575892,_0x14061c);_0x43740c['forEach'](_0x47f34f=>{const _0x270944=_0xa481b2,_0x3a4664=_0x5d4f24[_0x270944(0x142)](_0x3d90a7=>_0x3d90a7['rowIndex']===_0x47f34f['rowIndex']),_0x4bc7fc=_0x14061c['map'](_0x8b60af=>_0x8b60af['toUpperCase']())[_0x270944(0x16c)](',\x20'),_0x38f712='Duplicate\x20value\x20for\x20'+_0x4bc7fc;_0x3a4664?_0x3a4664[_0x270944(0x1a4)][_0x270944(0x17d)](_0x38f712):_0x5d4f24['push']({'rowIndex':_0x47f34f['rowIndex'],'rowData':_0x575892[_0x47f34f['rowIndex']],'errors':[_0x38f712]});}),await this['detectDatabaseDuplicates'](_0x575892,_0x14061c,_0x1c96be,_0x310c48,_0x4a377b,_0x5d4f24),_0x5d4f24[_0xa481b2(0x18f)](_0xbb2491=>{const _0xdc9b25=_0xa481b2,_0x22ea4d=_0x575892[_0xbb2491['rowIndex']];_0x22ea4d&&(_0x22ea4d['_errors']=_0xbb2491[_0xdc9b25(0x1a4)]);});let _0x39575c=0x0,_0x109ee0=0x0,_0x1cb68c=0x0;_0x575892['forEach'](_0x14891d=>{const _0x48d225=_0xa481b2;if(_0x14891d[_0x48d225(0x176)]==='INSERT')_0x39575c++;else{if(_0x14891d['_action']===_0x1a8523[_0x48d225(0x116)])_0x109ee0++;else _0x1a8523['PEftC'](_0x14891d[_0x48d225(0x176)],_0x1a8523['UBoAu'])&&_0x1cb68c++;}});const _0x258e75={'job_id':_0x2ad660,'upload_id':_0x138bb8,'status':_0x5d4f24['length']>0x0?_0x1a8523[_0xa481b2(0x198)]:'preview_ok','progress':0x64,'created_at':_0x3bca9e['created_at'],'completed_at':new Date()[_0xa481b2(0x16a)](),'preview':{'total_rows':_0x575892['length'],'insert_count':_0x39575c,'update_count':_0x109ee0,'skip_count':_0x1cb68c,'error_count':_0x5d4f24['length'],'errors':_0x5d4f24,'data':_0x575892,'sample_insert':_0x575892[_0xa481b2(0x19b)](_0x529468=>_0x529468['_action']==='INSERT')[_0xa481b2(0x124)](0x0,0x5),'sample_update':_0x575892['filter'](_0x5d138f=>_0x5d138f[_0xa481b2(0x176)]===_0xa481b2(0x153))['slice'](0x0,0x5),'sample_skip':_0x575892['filter'](_0xd3176d=>_0xd3176d[_0xa481b2(0x176)]===_0xa481b2(0x103))[_0xa481b2(0x124)](0x0,0x5)},'params':_0xa04f01};await redisHelper[_0xa481b2(0x197)](_0xa481b2(0x159)+_0x2ad660,_0x258e75,0xe10),_0x3bca9e['rows']=_0x575892,await redisHelper['setJob'](_0xa481b2(0x17f)+_0x138bb8,_0x3bca9e,0xe10),logger[_0xa481b2(0x193)]({'event':_0x1a8523['ESdqc'],'jobId':_0x2ad660,'status':_0x258e75[_0xa481b2(0x13b)],'insertCount':_0x39575c,'updateCount':_0x109ee0,'skipCount':_0x1cb68c,'errorCount':_0x5d4f24[_0xa481b2(0x117)]},_0xa481b2(0x1a3));}catch(_0x22a501){logError(_0x22a501,{'event':_0x1a8523['VgXVG'],'jobId':_0x2ad660},_0x1a8523[_0xa481b2(0x18c)]),await redisHelper['setJob'](_0xa481b2(0x159)+_0x2ad660,{'job_id':_0x2ad660,'upload_id':_0x138bb8,'status':_0x1a8523[_0xa481b2(0x11d)],'progress':0x0,'error':_0x22a501[_0xa481b2(0x125)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x2125a8,_0xda6149,_0x18b1f9,_0x2fe21d,_0x323388='update_existing',_0x129272=[]){const _0x52f7d8=a0_0x4d0a67,_0x583147={'KLABN':function(_0x283d63,_0x99e811){return _0x283d63===_0x99e811;},'Gjjha':_0x52f7d8(0x192),'zzPlA':'SKIP','EuHpg':'skip_existing','mysIM':function(_0x436078,_0x415b84){return _0x436078===_0x415b84;},'KzTRQ':_0x52f7d8(0x105),'SQFzA':_0x52f7d8(0x152),'dpJWJ':function(_0x3efc79,_0x4f50c3){return _0x3efc79(_0x4f50c3);},'xuMPl':'oracle','rTLfm':function(_0x5c8a39,_0x4be43a){return _0x5c8a39>_0x4be43a;}},_0x2b4832=upsertBuilder[_0x52f7d8(0x154)](_0x2125a8,0x64);for(const _0x1c3fe5 of _0x2b4832){const _0x4b97ca=_0x1c3fe5[_0x52f7d8(0xf7)](_0x15b5ef=>_0x15b5ef[_0xda6149[0x0]]),_0x51053b=_0x4b97ca[_0x52f7d8(0xf7)](_0x7cb7f5=>{if(_0x7cb7f5===null||_0x7cb7f5===undefined)return'NULL';return'\x27'+String(_0x7cb7f5)['replace'](/'/g,'\x27\x27')+'\x27';}),_0xadbfa9=_0x52f7d8(0x165)+_0x2fe21d+',\x20'+_0xda6149[_0x52f7d8(0x16c)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x18b1f9+_0x52f7d8(0x173)+_0xda6149[0x0]+'\x20IN\x20('+_0x51053b[_0x52f7d8(0x16c)](',\x20')+_0x52f7d8(0x14b);let _0x15240e=await _0x583147['dpJWJ'](executeQuery,_0xadbfa9);dbType===_0x583147[_0x52f7d8(0x12e)]&&_0x15240e&&_0x583147[_0x52f7d8(0x17b)](_0x15240e[_0x52f7d8(0x117)],0x0)&&(_0x15240e=_0x15240e[_0x52f7d8(0xf7)](_0x516eae=>{const _0xd5053a=_0x52f7d8,_0x3f947e={};for(const [_0x16df52,_0x30e0fa]of Object[_0xd5053a(0x19d)](_0x516eae)){_0x3f947e[_0x16df52['toLowerCase']()]=_0x30e0fa;}return _0x3f947e;}));const _0x3edb25=new Map();_0x15240e[_0x52f7d8(0x18f)](_0x4f5e15=>{const _0x47c7e5=_0x4f5e15[_0xda6149[0x0]];_0x3edb25['set'](_0x47c7e5,_0x4f5e15);}),_0x1c3fe5[_0x52f7d8(0x18f)]((_0x58ff18,_0x5cf054)=>{const _0x2e99b3=_0x52f7d8,_0x335bf9=_0x58ff18[_0xda6149[0x0]],_0x1dc48d=_0x3edb25[_0x2e99b3(0xfa)](_0x335bf9);if(_0x1dc48d){if(_0x583147[_0x2e99b3(0x127)](_0x323388,_0x2e99b3(0x105)))_0x58ff18['_action']=_0x2e99b3(0x153),_0x58ff18[_0x2e99b3(0x136)]=_0x1dc48d[_0x2fe21d];else{if(_0x323388===_0x583147['Gjjha']){_0x58ff18['_action']=_0x583147[_0x2e99b3(0x115)],_0x58ff18[_0x2e99b3(0x140)]=_0x58ff18['_errors']||[],_0x58ff18[_0x2e99b3(0x140)][_0x2e99b3(0x17d)]('Record\x20exists\x20(insert_only\x20mode)');const _0x4b242a=_0x2125a8[_0x2e99b3(0x19f)](_0x58ff18);_0x4b242a!==-0x1&&_0x129272[_0x2e99b3(0x17d)]({'rowIndex':_0x4b242a,'rowData':_0x58ff18,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x323388===_0x583147['EuHpg']&&(_0x58ff18[_0x2e99b3(0x176)]=_0x583147[_0x2e99b3(0x115)]);}}else{if(_0x583147[_0x2e99b3(0x166)](_0x323388,_0x583147['KzTRQ']))_0x58ff18[_0x2e99b3(0x176)]=_0x2e99b3(0x152);else(_0x583147[_0x2e99b3(0x166)](_0x323388,'insert_only')||_0x323388===_0x583147[_0x2e99b3(0x138)])&&(_0x58ff18['_action']=_0x583147['SQFzA']);}});}}async['createCommitJob'](_0x3bd65f){const _0x4c6878=a0_0x4d0a67,_0x213eca={'qVrEP':function(_0x1b9e05,_0x2d2384,_0x5eac1c,_0x4d93ed){return _0x1b9e05(_0x2d2384,_0x5eac1c,_0x4d93ed);},'aKvsZ':'Preview\x20job\x20not\x20found\x20or\x20expired','aSZkH':function(_0x2db98a,_0x1c5440){return _0x2db98a!==_0x1c5440;},'OaeJO':'preview_ok','ovHae':_0x4c6878(0x180),'AvFls':'processing'},_0x26fbf9=this[_0x4c6878(0x18d)](),_0x570e64=await redisHelper['getJob']('job:'+_0x3bd65f);if(!_0x570e64)throw new Error(_0x213eca['aKvsZ']);if(_0x213eca[_0x4c6878(0x112)](_0x570e64['status'],_0x213eca[_0x4c6878(0x15b)]))throw new Error(_0x4c6878(0x14d)+_0x570e64['status']);const _0x1a9c90={'job_id':_0x26fbf9,'upload_id':_0x570e64['upload_id'],'preview_job_id':_0x3bd65f,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x570e64['params']};return await redisHelper['setJob']('job:'+_0x26fbf9,_0x1a9c90,0xe10),logger[_0x4c6878(0x193)]({'event':_0x213eca[_0x4c6878(0x126)],'jobId':_0x26fbf9,'previewJobId':_0x3bd65f},'Commit\x20job\x20created'),this['processCommitJob'](_0x26fbf9,_0x570e64)['catch'](_0xd2b820=>{const _0x39db47=_0x4c6878;_0x213eca[_0x39db47(0x199)](logError,_0xd2b820,{'event':_0x39db47(0x10a),'jobId':_0x26fbf9},_0x39db47(0x188));}),{'job_id':_0x26fbf9,'status':_0x213eca['AvFls']};}async['processCommitJob'](_0x3609f7,_0x4166ad){const _0x35b810=a0_0x4d0a67,_0x2773a2={'iFAYl':function(_0x3826af,_0x1f1a8a){return _0x3826af===_0x1f1a8a;},'WHguw':function(_0x2a03e9,_0x530dfc){return _0x2a03e9>_0x530dfc;},'ekOcA':_0x35b810(0x14e),'sWtzo':_0x35b810(0x101),'KRjFD':_0x35b810(0x1a2),'zTqwj':function(_0x57d58b,_0x413b9d,_0x306059,_0x46e918){return _0x57d58b(_0x413b9d,_0x306059,_0x46e918);}};try{const _0x58fe7d=await redisHelper['getJob'](_0x35b810(0x17f)+_0x4166ad['upload_id']);if(!_0x58fe7d)throw new Error(_0x35b810(0x12c));const {rows:_0x53bf3e,params:_0x13d5de}=_0x58fe7d,{tableName:_0x461b31,fieldName:_0x441025,primaryKey:_0x1b812e,upsertKeys:_0x1d1a27,excludeFromImport:_0x276758,lookupFields:_0x5c2f87,columnFormats:_0x477cdd}=_0x13d5de,_0x40db7a=_0x5c2f87?Object[_0x35b810(0x14f)](_0x5c2f87):[],_0x1075cc=new Set([..._0x276758||[],..._0x40db7a]);let _0x168a78=_0x441025;_0x2773a2[_0x35b810(0x181)](_0x1075cc['size'],0x0)&&(_0x168a78=_0x441025['filter'](_0x4e88a4=>!_0x1075cc[_0x35b810(0x157)](_0x4e88a4)),logger['debug']({'event':'import_fields_filtered','originalCount':_0x441025[_0x35b810(0x117)],'filteredCount':_0x168a78[_0x35b810(0x117)],'excludedFields':Array[_0x35b810(0x172)](_0x1075cc),'lookupSourceFields':_0x40db7a},_0x2773a2[_0x35b810(0x169)]));const _0x3b0a6f=_0x53bf3e['filter'](_0x2f31f5=>_0x2f31f5['_action']===_0x35b810(0x152)),_0x1ecd6e=_0x53bf3e[_0x35b810(0x19b)](_0x2cacb0=>_0x2cacb0[_0x35b810(0x176)]==='UPDATE');let _0xab2801=0x0,_0x1359e0=0x0;const _0x5e09b4=[];if(_0x2773a2[_0x35b810(0x181)](_0x3b0a6f[_0x35b810(0x117)],0x0)){const _0x1760b3=upsertBuilder[_0x35b810(0x154)](_0x3b0a6f,0x64);for(const _0x3c793e of _0x1760b3){const {query:_0x114ccb}=upsertBuilder[_0x35b810(0x15d)](_0x3c793e,_0x461b31,_0x168a78,_0x477cdd||{});_0x114ccb&&_0x5e09b4[_0x35b810(0x17d)]({'sql':_0x114ccb,'count':_0x3c793e['length'],'type':_0x2773a2['sWtzo']});}}if(_0x1ecd6e[_0x35b810(0x117)]>0x0){const _0x23efa4=upsertBuilder['chunkRows'](_0x1ecd6e,0x64);for(const _0x4264e7 of _0x23efa4){const {query:_0x425f44}=upsertBuilder['buildBatchUpdate'](_0x4264e7,_0x461b31,_0x168a78,_0x1b812e,_0x1d1a27,_0x477cdd||{});_0x425f44&&_0x5e09b4[_0x35b810(0x17d)]({'sql':_0x425f44,'count':_0x4264e7[_0x35b810(0x117)],'type':'update'});}}_0x2773a2['WHguw'](_0x5e09b4['length'],0x0)&&await executeTransaction(_0x5e09b4['map'](_0x51e9f2=>({'sql':_0x51e9f2[_0x35b810(0x183)],'params':[]})));_0x5e09b4[_0x35b810(0x18f)](_0x8c3d5=>{const _0x1aa70f=_0x35b810;if(_0x2773a2[_0x1aa70f(0x13f)](_0x8c3d5['type'],'insert'))_0xab2801+=_0x8c3d5[_0x1aa70f(0x12a)];else _0x1359e0+=_0x8c3d5['count'];});const _0x5077f7={'job_id':_0x3609f7,'upload_id':_0x4166ad['upload_id'],'preview_job_id':_0x4166ad['job_id'],'status':'completed','progress':0x64,'created_at':_0x4166ad['created_at'],'started_at':new Date()[_0x35b810(0x16a)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x53bf3e['length'],'inserted_rows':_0xab2801,'updated_rows':_0x1359e0,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x13d5de};await redisHelper[_0x35b810(0x197)](_0x35b810(0x159)+_0x3609f7,_0x5077f7,0xe10),logger[_0x35b810(0x193)]({'event':_0x35b810(0x11e),'jobId':_0x3609f7,'insertedCount':_0xab2801,'updatedCount':_0x1359e0},_0x2773a2[_0x35b810(0x147)]);}catch(_0x4db792){_0x2773a2['zTqwj'](logError,_0x4db792,{'event':'commit_job_failed','jobId':_0x3609f7},_0x35b810(0x185)),await redisHelper[_0x35b810(0x197)]('job:'+_0x3609f7,{'job_id':_0x3609f7,'upload_id':_0x4166ad['upload_id'],'preview_job_id':_0x4166ad['job_id'],'status':_0x35b810(0x139),'progress':0x0,'error':_0x4db792['message'],'created_at':_0x4166ad[_0x35b810(0x18b)],'started_at':new Date()[_0x35b810(0x16a)](),'completed_at':new Date()[_0x35b810(0x16a)]()},0xe10);}}async[a0_0x4d0a67(0x15e)](_0x197288){const _0x5943da=a0_0x4d0a67,_0x350fb7={'huvkl':_0x5943da(0x135)},_0xdb199a=await redisHelper['getJob']('job:'+_0x197288);if(!_0xdb199a)return{'success':![],'error':_0x350fb7['huvkl']};return{'success':!![],'data':_0xdb199a};}}module[a0_0x4d0a67(0x1a1)]=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x15617e=a0_0x4823;(function(_0x27170d,_0x181ca0){const _0x4f8fb5=a0_0x4823,_0x43fbac=_0x27170d();while(!![]){try{const _0x359f54=parseInt(_0x4f8fb5(0x1c8))/0x1+-parseInt(_0x4f8fb5(0x19b))/0x2+parseInt(_0x4f8fb5(0x1e5))/0x3*(parseInt(_0x4f8fb5(0x1ad))/0x4)+-parseInt(_0x4f8fb5(0x1cf))/0x5+-parseInt(_0x4f8fb5(0x1ec))/0x6+parseInt(_0x4f8fb5(0x1e6))/0x7*(parseInt(_0x4f8fb5(0x1d3))/0x8)+parseInt(_0x4f8fb5(0x185))/0x9;if(_0x359f54===_0x181ca0)break;else _0x43fbac['push'](_0x43fbac['shift']());}catch(_0x3f1e4f){_0x43fbac['push'](_0x43fbac['shift']());}}}(a0_0x432e,0x7fa57));const {Kafka,logLevel}=require(a0_0x15617e(0x1e0)),{v7:uuidv7}=require('uuid');function a0_0x4823(_0x3bba29,_0x15c5f7){_0x3bba29=_0x3bba29-0x17d;const _0x432ed0=a0_0x432e();let _0x4823c4=_0x432ed0[_0x3bba29];if(a0_0x4823['JJQADl']===undefined){var _0x5031d5=function(_0x532274){const _0x32d281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x766599='',_0x5988a1='';for(let _0x542d27=0x0,_0x1f88fe,_0x4a81de,_0x2a8e8f=0x0;_0x4a81de=_0x532274['charAt'](_0x2a8e8f++);~_0x4a81de&&(_0x1f88fe=_0x542d27%0x4?_0x1f88fe*0x40+_0x4a81de:_0x4a81de,_0x542d27++%0x4)?_0x766599+=String['fromCharCode'](0xff&_0x1f88fe>>(-0x2*_0x542d27&0x6)):0x0){_0x4a81de=_0x32d281['indexOf'](_0x4a81de);}for(let _0x464181=0x0,_0x279e25=_0x766599['length'];_0x464181<_0x279e25;_0x464181++){_0x5988a1+='%'+('00'+_0x766599['charCodeAt'](_0x464181)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5988a1);};a0_0x4823['PZQKoF']=_0x5031d5,a0_0x4823['VvTFwQ']={},a0_0x4823['JJQADl']=!![];}const _0x2d022a=_0x432ed0[0x0],_0x4fc22f=_0x3bba29+_0x2d022a,_0x1a2016=a0_0x4823['VvTFwQ'][_0x4fc22f];return!_0x1a2016?(_0x4823c4=a0_0x4823['PZQKoF'](_0x4823c4),a0_0x4823['VvTFwQ'][_0x4fc22f]=_0x4823c4):_0x4823c4=_0x1a2016,_0x4823c4;}class KafkaConsumerService{constructor(){const _0x4cb085=a0_0x15617e,_0x33c85f='2|0|8|6|5|3|7|1|9|4|10'[_0x4cb085(0x1a5)]('|');let _0x495a71=0x0;while(!![]){switch(_0x33c85f[_0x495a71++]){case'0':this['consumer']=null;continue;case'1':this['subscribedTopics']=[];continue;case'2':this[_0x4cb085(0x19e)]=null;continue;case'3':this['isPaused']=![];continue;case'4':this[_0x4cb085(0x189)]=null;continue;case'5':this[_0x4cb085(0x1cc)]=![];continue;case'6':this[_0x4cb085(0x1b7)]=![];continue;case'7':this[_0x4cb085(0x1f9)]=null;continue;case'8':this['isConnected']=![];continue;case'9':this[_0x4cb085(0x1c1)]=null;continue;case'10':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}[a0_0x15617e(0x1b8)](){const _0x26db4d=a0_0x15617e,_0x271089={'FOfTv':_0x26db4d(0x188),'VocMA':'25000','ATlow':function(_0x495ec6,_0x271284){return _0x495ec6(_0x271284);},'BEEPu':'30000','gfARs':function(_0x143d52,_0x7cf6ad){return _0x143d52(_0x7cf6ad);},'wViOO':function(_0x298c8e,_0xcb1902){return _0x298c8e===_0xcb1902;},'rsphE':'5000','jiIbO':'warn'};return{'enabled':process[_0x26db4d(0x1d2)][_0x26db4d(0x1d9)]===_0x271089['FOfTv'],'brokers':(process['env']['KAFKA_BROKERS']||_0x26db4d(0x1ed))[_0x26db4d(0x1a5)](','),'clientId':process['env'][_0x26db4d(0x1aa)]||'restforge-'+(process[_0x26db4d(0x1d2)][_0x26db4d(0x1a1)]||'default')+'-consumer','connectionTimeout':parseInt(process[_0x26db4d(0x1d2)][_0x26db4d(0x190)]||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x271089['VocMA']),'sessionTimeout':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1b2)]||_0x271089[_0x26db4d(0x1d0)]),'heartbeatInterval':_0x271089['gfARs'](parseInt,process['env'][_0x26db4d(0x1ee)]||_0x26db4d(0x1b3)),'maxBytesPerPartition':parseInt(process['env'][_0x26db4d(0x1ba)]||'1048576'),'autoCommit':_0x271089['wViOO'](process[_0x26db4d(0x1d2)][_0x26db4d(0x1de)],'true'),'autoCommitInterval':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x192)]||_0x271089[_0x26db4d(0x1ca)]),'retryAttempts':_0x271089['ATlow'](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1c9)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x26db4d(0x1ab)),'retryMaxDelay':parseInt(process[_0x26db4d(0x1d2)]['KAFKA_RETRY_MAX_DELAY']||_0x271089[_0x26db4d(0x1d0)]),'logLevel':process[_0x26db4d(0x1d2)][_0x26db4d(0x1eb)]||_0x271089[_0x26db4d(0x1da)]};}[a0_0x15617e(0x196)](_0x22bf9b){const _0x1f0c03=a0_0x15617e,_0x20cd76={'nothing':logLevel[_0x1f0c03(0x1dd)],'error':logLevel['ERROR'],'warn':logLevel[_0x1f0c03(0x19f)],'info':logLevel[_0x1f0c03(0x182)],'debug':logLevel['DEBUG']};return _0x20cd76[_0x22bf9b[_0x1f0c03(0x1f8)]()]||logLevel['WARN'];}async['initialize'](_0x5f1f50={}){const _0x1efee8=a0_0x15617e,_0x23cd63={'DcAco':function(_0x48f053,_0x15558c){return _0x48f053(_0x15558c);},'dxGAi':function(_0x53bf1f,_0x226f71){return _0x53bf1f(_0x226f71);},'EkLby':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x43fbdc=this[_0x1efee8(0x1b8)]();if(!_0x43fbdc['enabled'])return console[_0x1efee8(0x1d1)](_0x23cd63['EkLby']),![];if(this['isConnected'])return!![];if(this[_0x1efee8(0x1b7)]&&this['connectionPromise'])return this[_0x1efee8(0x1f9)];return this['isInitializing']=!![],this[_0x1efee8(0x1f9)]=new Promise(async _0x355917=>{const _0x462859=_0x1efee8;try{let _0xa0e6a0=undefined;process[_0x462859(0x1d2)]['KAFKA_SSL']==='true'&&(_0xa0e6a0=!![]);let _0x396e98=undefined;process['env'][_0x462859(0x1ef)]&&(_0x396e98={'mechanism':process['env'][_0x462859(0x1ef)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x462859(0x1d2)][_0x462859(0x187)]||''}),this['kafka']=new Kafka({'clientId':_0x5f1f50[_0x462859(0x198)]||_0x43fbdc[_0x462859(0x198)],'brokers':_0x43fbdc[_0x462859(0x1c3)],'connectionTimeout':_0x43fbdc['connectionTimeout'],'requestTimeout':_0x43fbdc['requestTimeout'],'logLevel':this[_0x462859(0x196)](_0x43fbdc[_0x462859(0x1c5)]),'ssl':_0xa0e6a0,'sasl':_0x396e98,'retry':{'initialRetryTime':_0x43fbdc[_0x462859(0x195)],'retries':_0x43fbdc[_0x462859(0x1cd)],'maxRetryTime':_0x43fbdc[_0x462859(0x191)]}}),this['groupId']=_0x5f1f50['groupId']||'restforge-'+(process[_0x462859(0x1d2)][_0x462859(0x1a1)]||'default')+_0x462859(0x17d),this[_0x462859(0x1d6)]=this['kafka'][_0x462859(0x1d6)]({'groupId':this[_0x462859(0x1c1)],'sessionTimeout':_0x43fbdc[_0x462859(0x1cb)],'heartbeatInterval':_0x43fbdc['heartbeatInterval'],'maxBytesPerPartition':_0x43fbdc[_0x462859(0x1c6)],'allowAutoTopicCreation':![]}),await this[_0x462859(0x1d6)][_0x462859(0x1b1)](),this[_0x462859(0x18c)]=!![],console['log'](_0x462859(0x1af)+_0x43fbdc['brokers']['join'](',\x20')+_0x462859(0x1e8)+this[_0x462859(0x1c1)]+')'),this['setupEventHandlers'](),_0x23cd63[_0x462859(0x193)](_0x355917,!![]);}catch(_0x3b0700){console[_0x462859(0x1c7)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x3b0700['message']),this[_0x462859(0x18c)]=![],_0x23cd63[_0x462859(0x184)](_0x355917,![]);}finally{this['isInitializing']=![];}}),this[_0x1efee8(0x1f9)];}[a0_0x15617e(0x18e)](){const _0x5d91c3=a0_0x15617e,_0x584f5f={'TbhQl':'consumer.stop'};if(!this[_0x5d91c3(0x1d6)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x16a742=_0x5d91c3;console[_0x16a742(0x1d1)](_0x16a742(0x1bf)),this['isConnected']=![],this[_0x16a742(0x1cc)]=![];}),this['consumer']['on'](_0x584f5f[_0x5d91c3(0x1a9)],()=>{const _0x30d9ac=_0x5d91c3;console['log'](_0x30d9ac(0x1c4)),this['isRunning']=![];}),this[_0x5d91c3(0x1d6)]['on']('consumer.crash',_0x2b4e0a=>{const _0x4e3b27=_0x5d91c3;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2b4e0a['payload'][_0x4e3b27(0x1c7)][_0x4e3b27(0x1e9)]),this['isRunning']=![];}),this['consumer']['on'](_0x5d91c3(0x1d5),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x15617e(0x181)](_0x2c9418,_0x1cc87f=![]){const _0x80232=a0_0x15617e;if(!this['isConnected'])return console['error'](_0x80232(0x1ae)),![];try{const _0x4c7761=Array[_0x80232(0x1dc)](_0x2c9418)?_0x2c9418:[_0x2c9418];for(const _0x5844f7 of _0x4c7761){await this[_0x80232(0x1d6)][_0x80232(0x181)]({'topic':_0x5844f7,'fromBeginning':_0x1cc87f}),console[_0x80232(0x1d1)](_0x80232(0x1e4)+_0x5844f7+'\x20(fromBeginning:\x20'+_0x1cc87f+')');}return this[_0x80232(0x1fb)]=[...new Set([...this[_0x80232(0x1fb)],..._0x4c7761])],!![];}catch(_0x14eab6){return console[_0x80232(0x1c7)](_0x80232(0x194)+_0x14eab6['message']),![];}}async[a0_0x15617e(0x1df)](_0x3d394c,_0x142209={}){const _0x514ed4=a0_0x15617e,_0x99a5b4={'VUccK':function(_0x504421,_0x26f3f6){return _0x504421>_0x26f3f6;},'IRGmX':function(_0x53c96d){return _0x53c96d();},'kjRIZ':_0x514ed4(0x1e1),'HYfWp':function(_0x48dcb0,_0x409307){return _0x48dcb0!==_0x409307;}};if(!this['isConnected'])return console['error'](_0x99a5b4['kjRIZ']),![];if(this['isRunning'])return console['log'](_0x514ed4(0x1f2)),!![];const _0x1d07d2=this[_0x514ed4(0x1b8)]();this[_0x514ed4(0x189)]=_0x3d394c;try{return this['metrics'][_0x514ed4(0x1d8)]=new Date(),await this['consumer']['run']({'autoCommit':_0x99a5b4['HYfWp'](_0x142209[_0x514ed4(0x1a0)],undefined)?_0x142209[_0x514ed4(0x1a0)]:_0x1d07d2[_0x514ed4(0x1a0)],'autoCommitInterval':_0x1d07d2['autoCommitInterval'],'eachMessage':async({topic:_0x58f10d,partition:_0x4dfcca,message:_0x4ba9c4,heartbeat:_0x320fa7})=>{const _0x8b8946=_0x514ed4,_0x224683=Date[_0x8b8946(0x18b)]();this[_0x8b8946(0x1f6)][_0x8b8946(0x1b9)]++,this[_0x8b8946(0x1f6)]['lastMessageTime']=new Date();try{const _0x4f19af=_0x4ba9c4['value']?_0x4ba9c4['value'][_0x8b8946(0x197)]():null;let _0x2c0055=null;try{_0x2c0055=_0x4f19af?JSON['parse'](_0x4f19af):null;}catch(_0x4f3654){_0x2c0055=_0x4f19af;}const _0x106fac={'topic':_0x58f10d,'partition':_0x4dfcca,'offset':_0x4ba9c4['offset'],'key':_0x4ba9c4['key']?_0x4ba9c4[_0x8b8946(0x1db)]['toString']():null,'headers':this[_0x8b8946(0x19d)](_0x4ba9c4['headers']),'timestamp':_0x4ba9c4[_0x8b8946(0x180)],'value':_0x2c0055,'raw':_0x4f19af};this['messageHandler']&&await this['messageHandler'](_0x106fac);!_0x1d07d2['autoCommit']&&await this['consumer'][_0x8b8946(0x1f0)]([{'topic':_0x58f10d,'partition':_0x4dfcca,'offset':(parseInt(_0x4ba9c4[_0x8b8946(0x1b6)])+0x1)[_0x8b8946(0x197)]()}]);this['metrics'][_0x8b8946(0x1a3)]++;const _0x2350b1=Date['now']()-_0x224683;this['metrics'][_0x8b8946(0x1b4)][_0x8b8946(0x1a2)](_0x2350b1),_0x99a5b4[_0x8b8946(0x199)](this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)][_0x8b8946(0x1a7)],0x64)&&this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)]['shift'](),await _0x99a5b4['IRGmX'](_0x320fa7);}catch(_0x21b3e8){this[_0x8b8946(0x1f6)][_0x8b8946(0x1e2)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x21b3e8['message']);throw _0x21b3e8;}}}),this[_0x514ed4(0x1cc)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x2af1b2){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x2af1b2['message']),![];}}['parseHeaders'](_0x2aa4e9){const _0x37dcd5=a0_0x15617e;if(!_0x2aa4e9)return{};const _0x34531f={};for(const [_0x350deb,_0x16f89c]of Object[_0x37dcd5(0x186)](_0x2aa4e9)){_0x34531f[_0x350deb]=_0x16f89c?_0x16f89c[_0x37dcd5(0x197)]():null;}return _0x34531f;}async['pause'](){const _0x101123=a0_0x15617e,_0x27c8d9={'ezdWS':_0x101123(0x1b0)};if(!this[_0x101123(0x18c)]||!this[_0x101123(0x1cc)])return console['log'](_0x27c8d9[_0x101123(0x1ce)]),![];if(this['isPaused'])return console[_0x101123(0x1d1)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x52dc92=this[_0x101123(0x1fb)][_0x101123(0x17e)](_0x1028a1=>({'topic':_0x1028a1}));return this['consumer']['pause'](_0x52dc92),this['isPaused']=!![],console[_0x101123(0x1d1)](_0x101123(0x1d7)),!![];}catch(_0xb9b935){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0xb9b935[_0x101123(0x1e9)]),![];}}async['resume'](){const _0x5a470b=a0_0x15617e,_0x2aaf53={'pnDva':_0x5a470b(0x1a8)};if(!this['isConnected']||!this['isRunning'])return console[_0x5a470b(0x1d1)](_0x2aaf53[_0x5a470b(0x1be)]),![];if(!this[_0x5a470b(0x183)])return console[_0x5a470b(0x1d1)]('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x300c5e=this[_0x5a470b(0x1fb)][_0x5a470b(0x17e)](_0x55eada=>({'topic':_0x55eada}));return this[_0x5a470b(0x1d6)]['resume'](_0x300c5e),this['isPaused']=![],console['log'](_0x5a470b(0x1a6)),!![];}catch(_0x2f1dce){return console[_0x5a470b(0x1c7)](_0x5a470b(0x1c0)+_0x2f1dce[_0x5a470b(0x1e9)]),![];}}async[a0_0x15617e(0x1b5)](){const _0x5cd519=a0_0x15617e,_0x85868b={'uZGdj':'[KafkaConsumer]\x20Consumer\x20not\x20connected','CHsmw':_0x5cd519(0x1e7),'wWyUV':_0x5cd519(0x1ac)};if(!this['isConnected'])return console[_0x5cd519(0x1d1)](_0x85868b['uZGdj']),!![];try{const _0x56bff4=_0x85868b[_0x5cd519(0x1f4)][_0x5cd519(0x1a5)]('|');let _0x56f3df=0x0;while(!![]){switch(_0x56bff4[_0x56f3df++]){case'0':this['consumer']&&(await this[_0x5cd519(0x1d6)]['stop'](),await this[_0x5cd519(0x1d6)]['disconnect']());continue;case'1':this['isRunning']=![];continue;case'2':this['isPaused']=![];continue;case'3':return!![];case'4':console['log'](_0x85868b['wWyUV']);continue;case'5':this['isConnected']=![];continue;}break;}}catch(_0x160e07){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x160e07['message']),![];}}async['seekToOffset'](_0x2c9431,_0x1e3e60,_0x540c7b){const _0x9276e6=a0_0x15617e;if(!this['isConnected'])return console[_0x9276e6(0x1c7)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer']['seek']({'topic':_0x2c9431,'partition':_0x1e3e60,'offset':_0x540c7b[_0x9276e6(0x197)]()}),console['log'](_0x9276e6(0x1ea)+_0x540c7b+'\x20on\x20'+_0x2c9431+':'+_0x1e3e60),!![];}catch(_0x354c1c){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x354c1c['message']),![];}}[a0_0x15617e(0x1fa)](){const _0x5778d4=a0_0x15617e,_0x2c98d2=this['getConfig']();return{'enabled':_0x2c98d2[_0x5778d4(0x1f1)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x5778d4(0x183)],'brokers':_0x2c98d2['brokers'],'clientId':_0x2c98d2['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x15617e(0x1f3)](){const _0x94adf=a0_0x15617e,_0x22c3aa={'iNKsR':function(_0x5e7ac6,_0x5c7371){return _0x5e7ac6/_0x5c7371;},'Kxrly':function(_0x53e0aa,_0xec32e9){return _0x53e0aa>_0xec32e9;},'pZzGi':function(_0x59c868,_0x48b9d7){return _0x59c868+_0x48b9d7;},'XmTfQ':function(_0x4f87c9,_0xbc4f94){return _0x4f87c9*_0xbc4f94;},'BaRtu':function(_0x3b69a8,_0x28df7d){return _0x3b69a8-_0x28df7d;},'SMrcp':function(_0x529d05,_0x317ba7){return _0x529d05+_0x317ba7;},'bXEry':function(_0x28b368,_0x3ad984){return _0x28b368+_0x3ad984;}},_0x11aa00=this[_0x94adf(0x1f6)]['processingTimes'][_0x94adf(0x1a7)]>0x0?_0x22c3aa[_0x94adf(0x1c2)](this[_0x94adf(0x1f6)][_0x94adf(0x1b4)][_0x94adf(0x17f)]((_0x545b80,_0x49d671)=>_0x545b80+_0x49d671,0x0),this['metrics'][_0x94adf(0x1b4)][_0x94adf(0x1a7)]):0x0,_0x3f7802=this['metrics']['processingTimes']['length']>0x0?Math[_0x94adf(0x1e3)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0,_0x85d3f3=this['metrics'][_0x94adf(0x1b4)]['length']>0x0?Math[_0x94adf(0x1bb)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0;return{'messagesReceived':this[_0x94adf(0x1f6)]['messagesReceived'],'messagesProcessed':this[_0x94adf(0x1f6)][_0x94adf(0x1a3)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x22c3aa['Kxrly'](this[_0x94adf(0x1f6)][_0x94adf(0x1b9)],0x0)?_0x22c3aa[_0x94adf(0x1bc)](_0x22c3aa[_0x94adf(0x18a)](_0x22c3aa[_0x94adf(0x1c2)](this['metrics'][_0x94adf(0x1a3)],this[_0x94adf(0x1f6)][_0x94adf(0x1b9)]),0x64)[_0x94adf(0x18d)](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x94adf(0x19a)],'startTime':this[_0x94adf(0x1f6)][_0x94adf(0x1d8)],'uptime':this['metrics'][_0x94adf(0x1d8)]?_0x22c3aa['pZzGi'](Math['floor'](_0x22c3aa[_0x94adf(0x18f)](Date['now'](),this[_0x94adf(0x1f6)]['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':Math['round'](_0x11aa00)+'ms','min':_0x22c3aa['SMrcp'](_0x3f7802,'ms'),'max':_0x22c3aa[_0x94adf(0x1d4)](_0x85d3f3,'ms')}};}[a0_0x15617e(0x1bd)](){const _0x32e7b5=a0_0x15617e,_0x326bc9={'TYRGD':_0x32e7b5(0x1a4)};this[_0x32e7b5(0x1f6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x32e7b5(0x1d1)](_0x326bc9[_0x32e7b5(0x1f5)]);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x547ce5=a0_0x15617e;instance&&(instance[_0x547ce5(0x19c)](),instance=null);}function a0_0x432e(){const _0x3fd567=['vfLsr0q','Bwv0CMLJCW','qvrSB3C','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBLbYB21PC2u','z2v0u3rHDhvZ','C3vIC2nYAwjLzfrVCgLJCW','lwnVBNn1BwvYlwDYB3vW','BwfW','CMvKDwnL','DgLTzxn0yw1W','C3vIC2nYAwjL','su5gtW','AxnqyxvZzwq','zhHhqwK','mJG1ntG3mxLZtxvhBG','zw50CMLLCW','s0fgs0fFu0fttf9qqvntv09sra','Dhj1zq','BwvZC2fNzuHHBMrSzxi','wg1uzLe','BM93','AxndB25Uzwn0zwq','Dg9gAxHLza','C2v0DxbfDMvUDeHHBMrSzxjZ','qMfsDhu','s0fgs0fFq09otKvdveLptL9usu1ft1vu','CMv0CNLnyxHezwXHEq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','rgnby28','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','CMv0CNLezwXHEq','z2v0tg9Ntgv2zwW','Dg9tDhjPBMC','y2XPzw50swq','vLvJy0S','BgfZDe1LC3nHz2vuAw1L','mtm1mZe1nLfPB0zvBW','y2XVC2u','CgfYC2vizwfKzxjZ','A2fMA2e','v0fstG','yxv0B0nVBw1PDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChvZAa','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BgvUz3rO','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','vgjOuwW','s0fgs0fFq0Xjru5ux0Le','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','nda0Eu1Uswr6','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','y29UBMvJDa','s0fgs0fFu0vtu0LptL9usu1ft1vu','mZaWma','ChjVy2vZC2LUz1rPBwvZ','C3rVCa','B2zMC2v0','AxnjBML0AwfSAxPPBMC','z2v0q29UzMLN','BwvZC2fNzxnszwnLAxzLza','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Bwf4','CfP6r2K','CMvZzxrnzxrYAwnZ','Cg5eDMe','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','z3jVDxbjza','Au5lC1i','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','Bg9Ntgv2zwW','Bwf4qNL0zxnqzxjqyxj0AxrPB24','zxjYB3i','nZq1oda0DgDqqNvt','s0fgs0fFuKvuuLLFqvruru1qvfm','CNnWAeu','C2vZC2LVBLrPBwvVDxq','AxnsDw5UAw5N','CMv0CNLbDhrLBxb0CW','zxPKv1m','mJu0ote0mhLHuNjMta','qKvfuhu','Bg9N','zw52','mJKZodrhrvjfAMi','yLHfCNK','y29UC3vTzxiUCMvIywXHBMnPBMC','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','C3rHCNruAw1L','s0fgs0fFru5bqKXfra','AMLjyK8','A2v5','AxnbCNjHEq','tK9useLorW','s0fgs0fFqvvut19dt01nsvq','C3rHCNrdB25ZDw1PBMC','A2fMA2fQCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','BwvZC2fNzxngywLSzwq','BwLU','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','mJu2mtfZANrRshe','nZC3r3fmAhL0','mhW1Fdf8mNW0Fdm','icHNCM91CeLKoIa','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','s0fgs0fFte9hx0XfvKvm','mZC0mJKWofLJv2LkrW','Bg9JywXOB3n0oJKWoti','s0fgs0fFsevbuLrcrufux0LovevsvKfm','s0fgs0fFu0fttf9nruniqu5ju00','y29TBwL0t2zMC2v0CW','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','z2v0twv0CMLJCW','q0HZBxC'];a0_0x432e=function(){return _0x3fd567;};return a0_0x432e();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x37efee=a0_0x2fbd;(function(_0x14f966,_0x530e54){const _0x2ed7dd=a0_0x2fbd,_0x535771=_0x14f966();while(!![]){try{const _0x1a2c32=-parseInt(_0x2ed7dd(0x1df))/0x1*(parseInt(_0x2ed7dd(0x1dc))/0x2)+-parseInt(_0x2ed7dd(0x1e2))/0x3*(-parseInt(_0x2ed7dd(0x1f7))/0x4)+-parseInt(_0x2ed7dd(0x1da))/0x5*(parseInt(_0x2ed7dd(0x1a5))/0x6)+parseInt(_0x2ed7dd(0x1d0))/0x7*(parseInt(_0x2ed7dd(0x1e7))/0x8)+parseInt(_0x2ed7dd(0x20c))/0x9+-parseInt(_0x2ed7dd(0x1e6))/0xa+parseInt(_0x2ed7dd(0x1d1))/0xb;if(_0x1a2c32===_0x530e54)break;else _0x535771['push'](_0x535771['shift']());}catch(_0xea87fb){_0x535771['push'](_0x535771['shift']());}}}(a0_0x1804,0xe0fb4));const {Kafka,logLevel}=require(a0_0x37efee(0x1c5)),{v7:uuidv7}=require(a0_0x37efee(0x1ea));class KafkaConsumerService{constructor(){const _0x268fc2=a0_0x37efee;this['kafka']=null,this['consumer']=null,this['isConnected']=![],this[_0x268fc2(0x1e8)]=![],this[_0x268fc2(0x1c8)]=![],this[_0x268fc2(0x1cc)]=![],this[_0x268fc2(0x219)]=null,this['subscribedTopics']=[],this[_0x268fc2(0x1ab)]=null,this[_0x268fc2(0x1ce)]=null,this[_0x268fc2(0x1bf)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x37efee(0x215)](){const _0x2b84be=a0_0x37efee,_0x150305={'VityP':function(_0x2dd874,_0x33ca18){return _0x2dd874===_0x33ca18;},'NdXth':'default','RWjkJ':_0x2b84be(0x1ae),'BXBQL':'3000','vifpY':_0x2b84be(0x1af),'lhqua':_0x2b84be(0x1d6),'cIWZk':function(_0x8989ff,_0x324862){return _0x8989ff(_0x324862);},'MsiyA':function(_0x5c0494,_0x47dbc6){return _0x5c0494(_0x47dbc6);},'gXhsN':_0x2b84be(0x213)};return{'enabled':_0x150305[_0x2b84be(0x1f2)](process[_0x2b84be(0x1d2)][_0x2b84be(0x1b8)],'true'),'brokers':(process['env']['KAFKA_BROKERS']||'localhost:9092')[_0x2b84be(0x218)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0x2b84be(0x1fd)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x150305[_0x2b84be(0x204)])+'-consumer','connectionTimeout':parseInt(process[_0x2b84be(0x1d2)][_0x2b84be(0x1c6)]||'3000'),'requestTimeout':parseInt(process[_0x2b84be(0x1d2)]['KAFKA_REQUEST_TIMEOUT']||_0x2b84be(0x1b5)),'sessionTimeout':parseInt(process[_0x2b84be(0x1d2)]['KAFKA_SESSION_TIMEOUT']||_0x150305[_0x2b84be(0x1b4)]),'heartbeatInterval':parseInt(process[_0x2b84be(0x1d2)][_0x2b84be(0x1f9)]||_0x150305['BXBQL']),'maxBytesPerPartition':parseInt(process[_0x2b84be(0x1d2)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x150305['vifpY']),'autoCommit':_0x150305[_0x2b84be(0x1f2)](process[_0x2b84be(0x1d2)]['KAFKA_AUTO_COMMIT'],_0x150305[_0x2b84be(0x1d5)]),'autoCommitInterval':_0x150305[_0x2b84be(0x1e3)](parseInt,process[_0x2b84be(0x1d2)][_0x2b84be(0x1c4)]||'5000'),'retryAttempts':_0x150305['MsiyA'](parseInt,process[_0x2b84be(0x1d2)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x2b84be(0x1d2)][_0x2b84be(0x209)]||_0x150305['gXhsN']),'retryMaxDelay':_0x150305['MsiyA'](parseInt,process['env'][_0x2b84be(0x1a4)]||_0x150305['RWjkJ']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x2b84be(0x1c7)};}[a0_0x37efee(0x20f)](_0x4d4866){const _0x1289c2=a0_0x37efee,_0x64c29c={'nothing':logLevel[_0x1289c2(0x216)],'error':logLevel[_0x1289c2(0x207)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x1289c2(0x1fe)]};return _0x64c29c[_0x4d4866['toLowerCase']()]||logLevel['WARN'];}async[a0_0x37efee(0x1bc)](_0x3322f1={}){const _0xa56ffc=a0_0x37efee,_0x3d4933={'WMwGK':function(_0x559348,_0x4cc316){return _0x559348===_0x4cc316;},'fonFt':function(_0x5c8d0f,_0x3931b4){return _0x5c8d0f(_0x3931b4);}},_0x10c0d2=this['getConfig']();if(!_0x10c0d2['enabled'])return console[_0xa56ffc(0x1c3)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0xa56ffc(0x219)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x2858d6=>{const _0x1c4603=_0xa56ffc;try{let _0x32b882=undefined;_0x3d4933['WMwGK'](process[_0x1c4603(0x1d2)]['KAFKA_SSL'],_0x1c4603(0x1d6))&&(_0x32b882=!![]);let _0x428a82=undefined;process[_0x1c4603(0x1d2)]['KAFKA_SASL_MECHANISM']&&(_0x428a82={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x1c4603(0x211)]||'','password':process[_0x1c4603(0x1d2)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x3322f1['clientId']||_0x10c0d2['clientId'],'brokers':_0x10c0d2[_0x1c4603(0x205)],'connectionTimeout':_0x10c0d2['connectionTimeout'],'requestTimeout':_0x10c0d2['requestTimeout'],'logLevel':this['getLogLevel'](_0x10c0d2['logLevel']),'ssl':_0x32b882,'sasl':_0x428a82,'retry':{'initialRetryTime':_0x10c0d2[_0x1c4603(0x1db)],'retries':_0x10c0d2['retryAttempts'],'maxRetryTime':_0x10c0d2[_0x1c4603(0x1a0)]}}),this['groupId']=_0x3322f1[_0x1c4603(0x1ab)]||_0x1c4603(0x1fd)+(process[_0x1c4603(0x1d2)]['RESTFORGE_PROJECT_NAME']||_0x1c4603(0x1d3))+_0x1c4603(0x1eb),this[_0x1c4603(0x1ec)]=this[_0x1c4603(0x1be)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x10c0d2['sessionTimeout'],'heartbeatInterval':_0x10c0d2[_0x1c4603(0x1ad)],'maxBytesPerPartition':_0x10c0d2['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x1c4603(0x1e4)]=!![],console['log'](_0x1c4603(0x1cb)+_0x10c0d2[_0x1c4603(0x205)][_0x1c4603(0x1f4)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this[_0x1c4603(0x1aa)](),_0x3d4933['fonFt'](_0x2858d6,!![]);}catch(_0x2b9c1f){console['error'](_0x1c4603(0x1b9)+_0x2b9c1f[_0x1c4603(0x1f1)]),this[_0x1c4603(0x1e4)]=![],_0x3d4933['fonFt'](_0x2858d6,![]);}finally{this[_0x1c4603(0x1e8)]=![];}}),this['connectionPromise'];}[a0_0x37efee(0x1aa)](){const _0x241719=a0_0x37efee,_0x58bf47={'uObRE':_0x241719(0x1e5),'pSejr':'[KafkaConsumer]\x20Consumer\x20stopped','Mlkyo':_0x241719(0x1c2),'sYnSA':_0x241719(0x1f0),'NyrZY':'consumer.rebalancing'};if(!this['consumer'])return;this['consumer']['on'](_0x241719(0x1f8),()=>{const _0x34997f=_0x241719;console['log'](_0x58bf47[_0x34997f(0x20b)]),this[_0x34997f(0x1e4)]=![],this['isRunning']=![];}),this[_0x241719(0x1ec)]['on']('consumer.stop',()=>{const _0x49ee32=_0x241719;console[_0x49ee32(0x1c3)](_0x58bf47[_0x49ee32(0x1ca)]),this['isRunning']=![];}),this[_0x241719(0x1ec)]['on'](_0x58bf47['sYnSA'],_0x512566=>{const _0x5541bf=_0x241719;console['error'](_0x5541bf(0x1bd)+_0x512566['payload'][_0x5541bf(0x21b)]['message']),this[_0x5541bf(0x1c8)]=![];}),this['consumer']['on'](_0x58bf47[_0x241719(0x1ed)],()=>{console['log'](_0x58bf47['Mlkyo']);});}async['subscribe'](_0x210a74,_0x2d0500=![]){const _0x5b8891=a0_0x37efee,_0x282772={'hbjDo':_0x5b8891(0x1d9)};if(!this[_0x5b8891(0x1e4)])return console[_0x5b8891(0x21b)](_0x282772['hbjDo']),![];try{const _0x5dcae7=Array[_0x5b8891(0x1fc)](_0x210a74)?_0x210a74:[_0x210a74];for(const _0x58fc82 of _0x5dcae7){await this[_0x5b8891(0x1ec)]['subscribe']({'topic':_0x58fc82,'fromBeginning':_0x2d0500}),console[_0x5b8891(0x1c3)](_0x5b8891(0x1ac)+_0x58fc82+_0x5b8891(0x1f6)+_0x2d0500+')');}return this[_0x5b8891(0x1f3)]=[...new Set([...this[_0x5b8891(0x1f3)],..._0x5dcae7])],!![];}catch(_0x218b5b){return console[_0x5b8891(0x21b)](_0x5b8891(0x1c1)+_0x218b5b[_0x5b8891(0x1f1)]),![];}}async['startConsuming'](_0x2cfbfd,_0x18d8ea={}){const _0x1ef122=a0_0x37efee,_0xadc531={'hcpNy':function(_0x63116d,_0x3ea9d9){return _0x63116d+_0x3ea9d9;},'uXpxm':function(_0x2e7048,_0x1e01aa){return _0x2e7048(_0x1e01aa);},'ybmmd':function(_0x535458,_0x2cae12){return _0x535458>_0x2cae12;},'LfHNN':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'};if(!this['isConnected'])return console[_0x1ef122(0x21b)](_0xadc531[_0x1ef122(0x1ba)]),![];if(this['isRunning'])return console[_0x1ef122(0x1c3)](_0x1ef122(0x203)),!![];const _0x3ccb2c=this[_0x1ef122(0x215)]();this['messageHandler']=_0x2cfbfd;try{return this['metrics']['startTime']=new Date(),await this['consumer'][_0x1ef122(0x1d8)]({'autoCommit':_0x18d8ea['autoCommit']!==undefined?_0x18d8ea['autoCommit']:_0x3ccb2c['autoCommit'],'autoCommitInterval':_0x3ccb2c[_0x1ef122(0x1c0)],'eachMessage':async({topic:_0xeec148,partition:_0x9666b7,message:_0x514ec7,heartbeat:_0x42506e})=>{const _0x43b297=_0x1ef122,_0xa206a2=Date['now']();this[_0x43b297(0x1bf)]['messagesReceived']++,this['metrics'][_0x43b297(0x21a)]=new Date();try{const _0x45314b=_0x514ec7['value']?_0x514ec7['value']['toString']():null;let _0x4b7b77=null;try{_0x4b7b77=_0x45314b?JSON[_0x43b297(0x1bb)](_0x45314b):null;}catch(_0xf72c88){_0x4b7b77=_0x45314b;}const _0x3523e5={'topic':_0xeec148,'partition':_0x9666b7,'offset':_0x514ec7[_0x43b297(0x1a3)],'key':_0x514ec7[_0x43b297(0x1a7)]?_0x514ec7['key']['toString']():null,'headers':this[_0x43b297(0x1a9)](_0x514ec7[_0x43b297(0x214)]),'timestamp':_0x514ec7['timestamp'],'value':_0x4b7b77,'raw':_0x45314b};this[_0x43b297(0x1ce)]&&await this['messageHandler'](_0x3523e5);!_0x3ccb2c[_0x43b297(0x1de)]&&await this['consumer'][_0x43b297(0x212)]([{'topic':_0xeec148,'partition':_0x9666b7,'offset':_0xadc531[_0x43b297(0x20d)](_0xadc531[_0x43b297(0x20e)](parseInt,_0x514ec7[_0x43b297(0x1a3)]),0x1)['toString']()}]);this['metrics'][_0x43b297(0x1ee)]++;const _0x8f026e=Date[_0x43b297(0x1ef)]()-_0xa206a2;this[_0x43b297(0x1bf)][_0x43b297(0x1b6)]['push'](_0x8f026e),_0xadc531[_0x43b297(0x208)](this[_0x43b297(0x1bf)][_0x43b297(0x1b6)][_0x43b297(0x1b0)],0x64)&&this[_0x43b297(0x1bf)][_0x43b297(0x1b6)][_0x43b297(0x1fb)](),await _0x42506e();}catch(_0x52959b){this[_0x43b297(0x1bf)]['messagesFailed']++,console['error'](_0x43b297(0x200)+_0x52959b['message']);throw _0x52959b;}}}),this['isRunning']=!![],console['log'](_0x1ef122(0x1b1)+this[_0x1ef122(0x1f3)][_0x1ef122(0x1f4)](',\x20')),!![];}catch(_0x220d2a){return console[_0x1ef122(0x21b)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x220d2a[_0x1ef122(0x1f1)]),![];}}['parseHeaders'](_0x1dc6a8){const _0x568c5b=a0_0x37efee;if(!_0x1dc6a8)return{};const _0xf3d2a6={};for(const [_0x351089,_0x5ba566]of Object['entries'](_0x1dc6a8)){_0xf3d2a6[_0x351089]=_0x5ba566?_0x5ba566[_0x568c5b(0x201)]():null;}return _0xf3d2a6;}async['pause'](){const _0x3862d5=a0_0x37efee,_0x5151b2={'jiSZn':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'};if(!this['isConnected']||!this[_0x3862d5(0x1c8)])return console[_0x3862d5(0x1c3)](_0x5151b2['jiSZn']),![];if(this['isPaused'])return console[_0x3862d5(0x1c3)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x4cad99=this['subscribedTopics'][_0x3862d5(0x1a2)](_0x32c115=>({'topic':_0x32c115}));return this[_0x3862d5(0x1ec)][_0x3862d5(0x1a8)](_0x4cad99),this[_0x3862d5(0x1cc)]=!![],console[_0x3862d5(0x1c3)](_0x3862d5(0x1d4)),!![];}catch(_0x518353){return console[_0x3862d5(0x21b)](_0x3862d5(0x1cf)+_0x518353['message']),![];}}async[a0_0x37efee(0x1e1)](){const _0x57e724=a0_0x37efee,_0x5a3fbf={'KXwvJ':_0x57e724(0x1e9)};if(!this[_0x57e724(0x1e4)]||!this[_0x57e724(0x1c8)])return console[_0x57e724(0x1c3)]('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x46cedd=this['subscribedTopics'][_0x57e724(0x1a2)](_0x5174c8=>({'topic':_0x5174c8}));return this[_0x57e724(0x1ec)][_0x57e724(0x1e1)](_0x46cedd),this['isPaused']=![],console[_0x57e724(0x1c3)](_0x5a3fbf[_0x57e724(0x20a)]),!![];}catch(_0x5ae695){return console[_0x57e724(0x21b)](_0x57e724(0x1fa)+_0x5ae695['message']),![];}}async[a0_0x37efee(0x206)](){const _0x3272aa=a0_0x37efee,_0x476fc5={'cZipy':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this[_0x3272aa(0x1e4)])return console['log'](_0x476fc5[_0x3272aa(0x202)]),!![];try{const _0x373eed='2|3|0|4|1|5'[_0x3272aa(0x218)]('|');let _0x57e65d=0x0;while(!![]){switch(_0x373eed[_0x57e65d++]){case'0':this['isRunning']=![];continue;case'1':console['log'](_0x3272aa(0x1a1));continue;case'2':this[_0x3272aa(0x1ec)]&&(await this[_0x3272aa(0x1ec)]['stop'](),await this[_0x3272aa(0x1ec)]['disconnect']());continue;case'3':this['isConnected']=![];continue;case'4':this[_0x3272aa(0x1cc)]=![];continue;case'5':return!![];}break;}}catch(_0x540be8){return console[_0x3272aa(0x21b)](_0x3272aa(0x1b2)+_0x540be8[_0x3272aa(0x1f1)]),![];}}async['seekToOffset'](_0x332882,_0x12bf42,_0x4fcc19){const _0x1f85cf=a0_0x37efee,_0x432f54={'Aytly':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x432f54['Aytly']),![];try{return this[_0x1f85cf(0x1ec)]['seek']({'topic':_0x332882,'partition':_0x12bf42,'offset':_0x4fcc19['toString']()}),console[_0x1f85cf(0x1c3)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x4fcc19+_0x1f85cf(0x1ff)+_0x332882+':'+_0x12bf42),!![];}catch(_0x3211bd){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x3211bd['message']),![];}}[a0_0x37efee(0x1f5)](){const _0x54427f=a0_0x37efee,_0x11d593=this[_0x54427f(0x215)]();return{'enabled':_0x11d593[_0x54427f(0x1dd)],'connected':this[_0x54427f(0x1e4)],'running':this[_0x54427f(0x1c8)],'paused':this[_0x54427f(0x1cc)],'brokers':_0x11d593['brokers'],'clientId':_0x11d593['clientId'],'groupId':this[_0x54427f(0x1ab)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x2b503c=a0_0x37efee,_0x1f4278={'fKOSn':function(_0x10c61e,_0x1b5217){return _0x10c61e/_0x1b5217;},'zYhZd':function(_0x41b233,_0x3659ee){return _0x41b233>_0x3659ee;},'KDiBQ':function(_0xfc2ce7,_0x31e680){return _0xfc2ce7+_0x31e680;},'BXAsK':function(_0x408396,_0x44b2c2){return _0x408396*_0x44b2c2;},'QXJBW':function(_0x8a3f97,_0x2068e1){return _0x8a3f97-_0x2068e1;},'cGbGk':function(_0x562307,_0x3450f8){return _0x562307+_0x3450f8;}},_0x43010c=this['metrics'][_0x2b503c(0x1b6)][_0x2b503c(0x1b0)]>0x0?_0x1f4278['fKOSn'](this[_0x2b503c(0x1bf)]['processingTimes']['reduce']((_0x55c40f,_0x5bd0c9)=>_0x55c40f+_0x5bd0c9,0x0),this['metrics']['processingTimes']['length']):0x0,_0x34310c=this[_0x2b503c(0x1bf)]['processingTimes']['length']>0x0?Math[_0x2b503c(0x1cd)](...this['metrics'][_0x2b503c(0x1b6)]):0x0,_0x1ae80c=this[_0x2b503c(0x1bf)][_0x2b503c(0x1b6)][_0x2b503c(0x1b0)]>0x0?Math['max'](...this[_0x2b503c(0x1bf)][_0x2b503c(0x1b6)]):0x0;return{'messagesReceived':this[_0x2b503c(0x1bf)]['messagesReceived'],'messagesProcessed':this[_0x2b503c(0x1bf)]['messagesProcessed'],'messagesFailed':this['metrics'][_0x2b503c(0x1e0)],'successRate':_0x1f4278[_0x2b503c(0x217)](this[_0x2b503c(0x1bf)][_0x2b503c(0x1c9)],0x0)?_0x1f4278[_0x2b503c(0x210)](_0x1f4278['BXAsK'](this[_0x2b503c(0x1bf)][_0x2b503c(0x1ee)]/this['metrics'][_0x2b503c(0x1c9)],0x64)[_0x2b503c(0x1a6)](0x2),'%'):'0%','lastMessageTime':this[_0x2b503c(0x1bf)]['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this[_0x2b503c(0x1bf)]['startTime']?_0x1f4278[_0x2b503c(0x210)](Math[_0x2b503c(0x1b3)](_0x1f4278['fKOSn'](_0x1f4278['QXJBW'](Date['now'](),this['metrics'][_0x2b503c(0x1d7)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':Math['round'](_0x43010c)+'ms','min':_0x1f4278['KDiBQ'](_0x34310c,'ms'),'max':_0x1f4278['cGbGk'](_0x1ae80c,'ms')}};}['resetMetrics'](){const _0x43bf2c=a0_0x37efee;this[_0x43bf2c(0x1bf)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x43bf2c(0x1c8)]?new Date():null,'processingTimes':[]},console[_0x43bf2c(0x1c3)]('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x1403ea=a0_0x37efee;instance&&(instance[_0x1403ea(0x1b7)](),instance=null);}function a0_0x2fbd(_0x57ba43,_0x4f9a5a){_0x57ba43=_0x57ba43-0x1a0;const _0x180499=a0_0x1804();let _0x2fbdea=_0x180499[_0x57ba43];if(a0_0x2fbd['pPGzHj']===undefined){var _0x478a2a=function(_0x4355f3){const _0x4bd99f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30b681='',_0x170739='';for(let _0x27ce44=0x0,_0x1198f7,_0x434930,_0x3d0434=0x0;_0x434930=_0x4355f3['charAt'](_0x3d0434++);~_0x434930&&(_0x1198f7=_0x27ce44%0x4?_0x1198f7*0x40+_0x434930:_0x434930,_0x27ce44++%0x4)?_0x30b681+=String['fromCharCode'](0xff&_0x1198f7>>(-0x2*_0x27ce44&0x6)):0x0){_0x434930=_0x4bd99f['indexOf'](_0x434930);}for(let _0x5e9e59=0x0,_0x5d7361=_0x30b681['length'];_0x5e9e59<_0x5d7361;_0x5e9e59++){_0x170739+='%'+('00'+_0x30b681['charCodeAt'](_0x5e9e59)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x170739);};a0_0x2fbd['CsxEWS']=_0x478a2a,a0_0x2fbd['SMdKHE']={},a0_0x2fbd['pPGzHj']=!![];}const _0x1fc07c=_0x180499[0x0],_0x16abe1=_0x57ba43+_0x1fc07c,_0x3f3c0a=a0_0x2fbd['SMdKHE'][_0x16abe1];return!_0x3f3c0a?(_0x2fbdea=a0_0x2fbd['CsxEWS'](_0x2fbdea),a0_0x2fbd['SMdKHE'][_0x16abe1]=_0x2fbdea):_0x2fbdea=_0x3f3c0a,_0x2fbdea;}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};function a0_0x1804(){const _0x2694fd=['s0fgs0fFuKvuuLLFtufyx0rftefz','mJG3nfHhrfDLrW','Dg9gAxHLza','A2v5','Cgf1C2u','CgfYC2vizwfKzxjZ','C2v0DxbfDMvUDeHHBMrSzxjZ','z3jVDxbjza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','AgvHCNrIzwf0sw50zxj2ywW','mZaWmda','mta0odu3nG','BgvUz3rO','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','zMXVB3i','uLDQA0O','mJuWmda','ChjVy2vZC2LUz1rPBwvZ','y2XVC2u','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','tgzitK4','CgfYC2u','Aw5PDgLHBgL6zq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','A2fMA2e','Bwv0CMLJCW','yxv0B0nVBw1PDeLUDgvYDMfS','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','Bg9N','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','A2fMA2fQCW','s0fgs0fFq09otKvdveLptL9usu1ft1vu','D2fYBG','AxnsDw5UAw5N','BwvZC2fNzxnszwnLAxzLza','CfnLANi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','AxnqyxvZzwq','BwLU','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','mJK0otaZtevbD0Dx','mtKZmZu4ndr1BNvNzNy','zw52','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','BgHXDwe','Dhj1zq','C3rHCNruAw1L','CNvU','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','nJuXnurKyLjNDa','CMv0CNLezwXHEq','mZi0nMH4BLrHzG','zw5HyMXLza','yxv0B0nVBw1PDa','mJKXCMPVBNzS','BwvZC2fNzxngywLSzwq','CMvZDw1L','oti1oevSyLPysa','y0LxwMS','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','mteYmtqZmZb1D1nHEg0','mtiWAMTgELjH','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','DxvPza','lwnVBNn1BwvYlwDYB3vW','y29UC3vTzxi','tNLYwLK','BwvZC2fNzxnqCM9JzxnZzwq','BM93','y29UC3vTzxiUy3jHC2G','BwvZC2fNzq','vML0Eva','C3vIC2nYAwjLzfrVCgLJCW','AM9PBG','z2v0u3rHDhvZ','icHMCM9TqMvNAw5UAw5NoIa','nJu2rufzDgDA','y29UC3vTzxiUzgLZy29UBMvJDa','s0fgs0fFsevbuLrcrufux0LovevsvKfm','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','C2HPzNq','AxnbCNjHEq','CMvZDgzVCMDLlq','revcvuC','ig9Uia','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','Dg9tDhjPBMC','y1PPChK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','tMryDgG','yNjVA2vYCW','C3rVCa','rvjst1i','EwjTBwq','s0fgs0fFuKvuuLLFrevmqvK','s1H3DKO','Du9IuKu','mJe5mtG5nK1Sq3Hrqq','AgnWtNK','DvHWEg0','z2v0tg9Ntgv2zwW','s0rPqLe','s0fgs0fFu0fttf9vu0vstKfnrq','y29TBwL0t2zMC2v0CW','mtaWma','AgvHzgvYCW','z2v0q29UzMLN','tK9useLorW','ELLOwMq','C3bSAxq','y29UBMvJDgLVBLbYB21PC2u','BgfZDe1LC3nHz2vuAw1L','zxjYB3i','CMv0CNLnyxHezwXHEq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','BwfW','B2zMC2v0'];a0_0x1804=function(){return _0x2694fd;};return a0_0x1804();}
|