@restforgejs/platform 5.1.6 → 5.1.7
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/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +63 -43
- 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/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
|
|
1
|
+
'use strict';const a0_0x1b2981=a0_0x5536;(function(_0x28eb7a,_0x33c2a3){const _0x16dc54=a0_0x5536,_0x26bb6d=_0x28eb7a();while(!![]){try{const _0x185d95=parseInt(_0x16dc54(0x172))/0x1*(-parseInt(_0x16dc54(0x15d))/0x2)+parseInt(_0x16dc54(0x160))/0x3*(parseInt(_0x16dc54(0x16b))/0x4)+parseInt(_0x16dc54(0x15f))/0x5*(-parseInt(_0x16dc54(0x177))/0x6)+-parseInt(_0x16dc54(0x170))/0x7+-parseInt(_0x16dc54(0x166))/0x8*(-parseInt(_0x16dc54(0x15a))/0x9)+-parseInt(_0x16dc54(0x173))/0xa*(parseInt(_0x16dc54(0x176))/0xb)+parseInt(_0x16dc54(0x17a))/0xc*(parseInt(_0x16dc54(0x15e))/0xd);if(_0x185d95===_0x33c2a3)break;else _0x26bb6d['push'](_0x26bb6d['shift']());}catch(_0x3cf356){_0x26bb6d['push'](_0x26bb6d['shift']());}}}(a0_0x1c77,0xea9c7));function a0_0x1c77(){const _0x5c637a=['mJe4nZjYEuziu04','Bg9N','C3rHCNq','y3DK','zxHPC3rZu3LUyW','nJmXndq2oeTvDKDnra','x2rLyM91BMnL','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','zgvIB3vUy2vuAw1LCG','zxjYB3i','oda2nta5mMvsqMvusG','zxH0BMfTzq','mJyZnvHgqMvHsG','odm0nZKWD2DfBxbA','zxH0zw5ZAw9UCW','CMvSyxrPDMu','mJjgDKjJr1i','mZq4uw1tAwLy','D2f0y2G','y2XVC2u','ntiYmtjdCuvMBgW','lYaOCMvJDxjZAxzLkq','B25dAgfUz2u','mti3ofLSv1nqsq','D2f0y2HLCNm','zgvIB3vUy2vnCW','odj6C2PAB0y','mZK5muTSy3n6tW','nZG4mZvxs1bXB2S','m2vst2TAzG','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','ugPHr0e','zgLYzwn0B3jPzxm','lMPZB24','zxHWB3j0CW'];a0_0x1c77=function(){return _0x5c637a;};return a0_0x1c77();}function a0_0x5536(_0x52f8f4,_0x128258){_0x52f8f4=_0x52f8f4-0x159;const _0x1c7768=a0_0x1c77();let _0x5536cc=_0x1c7768[_0x52f8f4];if(a0_0x5536['EywSgD']===undefined){var _0x23c9db=function(_0x34fb56){const _0x54612a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27c410='',_0x494121='';for(let _0x45b179=0x0,_0x16cccc,_0x1da357,_0x3205da=0x0;_0x1da357=_0x34fb56['charAt'](_0x3205da++);~_0x1da357&&(_0x16cccc=_0x45b179%0x4?_0x16cccc*0x40+_0x1da357:_0x1da357,_0x45b179++%0x4)?_0x27c410+=String['fromCharCode'](0xff&_0x16cccc>>(-0x2*_0x45b179&0x6)):0x0){_0x1da357=_0x54612a['indexOf'](_0x1da357);}for(let _0x654e72=0x0,_0x12ebd6=_0x27c410['length'];_0x654e72<_0x12ebd6;_0x654e72++){_0x494121+='%'+('00'+_0x27c410['charCodeAt'](_0x654e72)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x494121);};a0_0x5536['RtHdry']=_0x23c9db,a0_0x5536['GGjjYr']={},a0_0x5536['EywSgD']=!![];}const _0x397604=_0x1c7768[0x0],_0xa26de6=_0x52f8f4+_0x397604,_0xb46f8e=a0_0x5536['GGjjYr'][_0xa26de6];return!_0xb46f8e?(_0x5536cc=a0_0x5536['RtHdry'](_0x5536cc),a0_0x5536['GGjjYr'][_0xa26de6]=_0x5536cc):_0x5536cc=_0xb46f8e,_0x5536cc;}const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x1e1f00={}){const _0xd994c8=a0_0x5536,_0x3dc465={'nsyRi':'.js','hPvPP':_0xd994c8(0x164)};this['directories']=_0x1e1f00['directories']||[],this[_0xd994c8(0x174)]=_0x1e1f00[_0xd994c8(0x174)]||[_0x3dc465['nsyRi'],_0x3dc465['hPvPP']],this['debounceMs']=_0x1e1f00['debounceMs']||0x1f4,this[_0xd994c8(0x159)]=_0x1e1f00[_0xd994c8(0x159)]||(()=>{}),this['watchers']=[],this[_0xd994c8(0x16e)]=null;}[a0_0x1b2981(0x168)](){const _0x3603cd=a0_0x1b2981;for(const _0x316aec of this[_0x3603cd(0x163)]){if(!fs[_0x3603cd(0x16a)](_0x316aec)){console['log'](_0x3603cd(0x161)+(path['relative'](process[_0x3603cd(0x169)](),_0x316aec)||_0x316aec));continue;}try{const _0x369d1d=fs[_0x3603cd(0x178)](_0x316aec,{'recursive':!![]},(_0x431040,_0x4b4875)=>{const _0x2ff71e=_0x3603cd;if(!_0x4b4875)return;const _0x5ed506=path[_0x2ff71e(0x171)](_0x4b4875)['toLowerCase']();if(!this['extensions']['includes'](_0x5ed506))return;this[_0x2ff71e(0x16c)](_0x4b4875);});_0x369d1d['on'](_0x3603cd(0x16f),_0x3c06be=>{const _0x4b3b4a=_0x3603cd;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x4b3b4a(0x175)](process[_0x4b3b4a(0x169)](),_0x316aec)+':\x20'+_0x3c06be['message']);}),this[_0x3603cd(0x15b)]['push'](_0x369d1d);const _0x474b8f=path[_0x3603cd(0x175)](process[_0x3603cd(0x169)](),_0x316aec)||_0x316aec;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x474b8f+_0x3603cd(0x17b));}catch(_0x42e55d){console[_0x3603cd(0x167)](_0x3603cd(0x16d)+path[_0x3603cd(0x175)](process['cwd'](),_0x316aec)+':\x20'+_0x42e55d['message']);}}}['stop'](){const _0x3bbcbf=a0_0x1b2981,_0x347162={'BwriI':function(_0x5e906e,_0x3a1312){return _0x5e906e(_0x3a1312);}};for(const _0x5e8b57 of this['watchers']){try{_0x5e8b57[_0x3bbcbf(0x179)]();}catch(_0x494503){}}this['watchers']=[],this['debounceTimer']&&(_0x347162['BwriI'](clearTimeout,this['debounceTimer']),this[_0x3bbcbf(0x16e)]=null);}[a0_0x1b2981(0x16c)](_0x439722){const _0x374030=a0_0x1b2981,_0x458266={'PjaGA':function(_0x2a0830,_0x413893){return _0x2a0830(_0x413893);}};this['debounceTimer']&&_0x458266[_0x374030(0x162)](clearTimeout,this[_0x374030(0x16e)]),this[_0x374030(0x16e)]=setTimeout(()=>{const _0x3db0a9=_0x374030;this['debounceTimer']=null,this[_0x3db0a9(0x159)](_0x439722);},this[_0x374030(0x15c)]);}}module[a0_0x1b2981(0x165)]=FileWatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function a0_0x559e(_0x4c7fc0,_0x51b9ef){_0x4c7fc0=_0x4c7fc0-0xc0;const _0x86e760=a0_0x86e7();let _0x559e5a=_0x86e760[_0x4c7fc0];if(a0_0x559e['BSRLtL']===undefined){var _0x5b4a48=function(_0x5c3453){const _0x48fb28='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ce411='',_0x33cb38='';for(let _0x6dc3f3=0x0,_0x541aca,_0x37509c,_0x4b8eb3=0x0;_0x37509c=_0x5c3453['charAt'](_0x4b8eb3++);~_0x37509c&&(_0x541aca=_0x6dc3f3%0x4?_0x541aca*0x40+_0x37509c:_0x37509c,_0x6dc3f3++%0x4)?_0x1ce411+=String['fromCharCode'](0xff&_0x541aca>>(-0x2*_0x6dc3f3&0x6)):0x0){_0x37509c=_0x48fb28['indexOf'](_0x37509c);}for(let _0x477705=0x0,_0x1fc1be=_0x1ce411['length'];_0x477705<_0x1fc1be;_0x477705++){_0x33cb38+='%'+('00'+_0x1ce411['charCodeAt'](_0x477705)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33cb38);};a0_0x559e['WfRTuI']=_0x5b4a48,a0_0x559e['kNGUkJ']={},a0_0x559e['BSRLtL']=!![];}const _0x1c0eeb=_0x86e760[0x0],_0x4093aa=_0x4c7fc0+_0x1c0eeb,_0x17b91a=a0_0x559e['kNGUkJ'][_0x4093aa];return!_0x17b91a?(_0x559e5a=a0_0x559e['WfRTuI'](_0x559e5a),a0_0x559e['kNGUkJ'][_0x4093aa]=_0x559e5a):_0x559e5a=_0x17b91a,_0x559e5a;}const a0_0x3ce6c9=a0_0x559e;(function(_0x4d2c7b,_0x3f5cd7){const _0x36ac4b=a0_0x559e,_0x5714e1=_0x4d2c7b();while(!![]){try{const _0x26cff3=parseInt(_0x36ac4b(0x1c4))/0x1+parseInt(_0x36ac4b(0xc1))/0x2*(-parseInt(_0x36ac4b(0xd4))/0x3)+-parseInt(_0x36ac4b(0x107))/0x4*(parseInt(_0x36ac4b(0x120))/0x5)+-parseInt(_0x36ac4b(0x139))/0x6*(-parseInt(_0x36ac4b(0x1aa))/0x7)+parseInt(_0x36ac4b(0x12f))/0x8*(parseInt(_0x36ac4b(0x1d8))/0x9)+-parseInt(_0x36ac4b(0xe0))/0xa+-parseInt(_0x36ac4b(0x1d7))/0xb*(parseInt(_0x36ac4b(0xe9))/0xc);if(_0x26cff3===_0x3f5cd7)break;else _0x5714e1['push'](_0x5714e1['shift']());}catch(_0x978c90){_0x5714e1['push'](_0x5714e1['shift']());}}}(a0_0x86e7,0x1a42d));const crypto=require('crypto'),redisClient=require(a0_0x3ce6c9(0x1bb)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x3ce6c9(0x1c1),a0_0x3ce6c9(0x13b)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER=a0_0x3ce6c9(0x1db),CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x3ce6c9(0x19e),CHARSET_HEX_LOWER=a0_0x3ce6c9(0x104),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x3ce6c9(0x16c),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x3ce6c9(0x1a1);function a0_0x86e7(){const _0xbf3d82=['D3bRD2q','AwrLBxbVDgvUy3LlzxK','BMfTzq','wfHywc1ywfHylvHywfGTwfHywa','BuDyyMu','x3n0B3jLswrLBunHy2HLtLG','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','z2v0rgf0zq','EuPwqvm','otK5os05otK5','qw5Ur3e','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','CNn2swr4s2v5','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','Bwv0ytO','AwrNzw5FCMvZzxq','DwDnyNu','C2v0','C3rYAw5N','surhru5FreLtqujmruq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x2j1AwXKuMvZzxj2yxrPB25lzxK','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x2nVDw50zxjuveXnyxa','EgH3C1e','DMfSDwuGAxmGCMvXDwLYzwq','DND2AM0','Dg9mB3DLCKnHC2u','C3jLBq','D2LUBMvYuMvZDwX0','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','C2v0zxG','x2rLzMf1BhrnyxHszxrYEq','zuPlDKy','suqGr2vUzxjHDg9YihjLC2v0oIa','zxHWAxjLC0f0','CNjNthy','sezWt1O','surhru5Fsu5wquXjrf9qqvrurvjo','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','CxPVtgW','CMvZzxj2zq','ENrpzxm','zw5ZDxjLvw5PCxvL','surhru5Fsu5wquXjrf9ut0TftG','CNz4rgS','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','CNn2s2v5','surhru5Fsurftv9uveW','C2fKza','vw5RBM93BIbMB3jTyxq6ia','ywXS','ignOyxjZicHNB3qGBgvUz3rOoIa','BwvZC2fNzq','AwrNzw4','u3nSAvG','AvLqD00','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','AgfZ','uezuAue','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','zxH0zw5KuMvZzxj2yxrPB24','quTgtKC','mdeYmZq1nJC4oufcq0rfrG','r0jXAe4','x2zVCM1HDe51BwjLCG','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','wuvRwwG','x2j1AwXKrM9YBwf0s2v5','AgDLDgfSBa','wvnwCeC','x2vUC3vYzuLUAxrPywXPEMvK','BM93','surhru5Fsu5wquXjrf9nt0rf','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','mZyWodi5BMTptejY','CgfKu3rHCNq','x3jLC2vYDMvezwzHDwX0vfrm','DhrS','y29UC3vTzq','icH0B2TLBJ0','AKzqvgu','BNvTrgLNAxrZ','uMDICuG','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','C2vXoG','s2XTrwy','x2j1AwXKtwv0yuTLEq','lcbNB3qG','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','CMvZzxj2zu51BwjLCG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','lI9YzwrPCY1JBgLLBNq','suqGr2vUzxjHDg9Yig51BwjLCJOG','s3rKBNO','Aw5MBW','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','ExL5Ew1T','quPcrNi','lcbLEhbLy3rLzca','mtuWmZaXuM1lrenJ','DMfSDwu','sw15C3a','q29Rwuu','wvHir28','x3rLEhq','uwDRzKe','AwrNzw5FAwrLBv9OAxq','ignOyxjZ','x3vWzgf0zu1LDge','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','swjxDKm','D2fYBG','x2j1AwXKswrLBuTLEq','DgvZDa','CMvZzxj2zu1HEfruta','DMDzweO','tNfMvue','y2fUy2vSuMvZzxj2yxrPB24','mJa1odfLq0ztBxK','mtCXwNnzru5h','C2vX','z2v0sw5MBW','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','CMvZzxj2zurLzMf1BhruveW','AM9PBG','quXbtMC','BNvTyMvY','zhDJBLu','DhrStxm','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','yLbZsLe','y29UzMLYBvjLC2vYDMf0Aw9U','x2LUAxrdB25MAwC','zw5HyMXLza','lcaR','sMrVC2W','Bw9Kzq','swrhzw5LCMf0B3jfCNjVCG','EKrZr3a','CeTmEhi','q3nuqLm','mLbIzhDXtq','zgvMyxvSDfnLCMLHBfbHDhrLCM4','tK5Qy1O','z1z3zMG','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','DKL5v1C','AxnjBNrLz2vY','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','x3jLC2vYDMvnyxHuveW','zgvMyxvSDenVzgvqyxr0zxjU','BNjsA1G','r0XMwKq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','y291BNrLCKLUDa','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','rvjHvxC','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','zgvMyxvSDe1HEfjLDhj5','mtuYotG4AxHzuNrM','zw52','x3bHzdi','CNn2oG','x2LKzw1uveW','surhru5Fru5bqKXfra','vLfbwgC','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','surhru5Fsu5wquXjrf9srvnpvvjdrq','CgvLAW','AwrNzw5Fy29UzMLNx2LUAxq','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','otG5odeWqxvSt1rT','y291BNrLCG','surhru5Fsu5wquXjrf9esuDjvfm','wujrA2y','x3n0B3jLswrLBunHy2HL','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','x2j1AwXKsxnZDwvKs2v5','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','x2vUywjSzwq','mtmYBK9tr0Ht','Dg9Rzw4','seTZBva','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','surhru5Fsu5wquXjrf9quKvgsvG','x3jLDhjPzxzLswrLBunHy2HL','ExL5Eq','x3vUzg9syw5KB21szxnLCNzHDgLVBG','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','ChjLzML4','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','x3zHBgLKyxrLuMvZB3vYy2u','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','igrPz2L0CYaOz290oIa','suqGr2vUzxjHDg9YihjHBMrVBtOG','CMvZzxj2zv9LEhrLBMq','Dg9ju09tDhjPBMC','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','BgvUz3rO','s3LPyM8','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','vxjUEvy','x2rLzMf1BhrtzxjPywXqyxr0zxjU','CMvZB3vYy2u','x2j1AwXKuMv1C2vlzxK','surhru5Fsu5wquXjrf9ovu1crvi','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','mdeYmZq1nJC4owfIy2rLzG','x3zHBgLKyxrLugf0DgvYBG','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','nfPrsLzVrW','t0T5t0q','twv0ysb1CgrHDguGzxjYB3i','x3bHCNnLtNvTyMvY','yvzVz3m','x2rLzMf1BhrdB2rLugf0DgvYBG','surhru5Frevgqvvmvf9nqvHFuKvuuLK','surhru5Fq09vtLrfuL9uveXFrefjtfK','x3zHBgLKyxrLuMvZzxj2zvruta','qwjhDKm','uxHTvui','x2TLEvbYzwzPEa','x2rLzMf1BhrqAw5eAwDPDhm','ywn0AxzLoG','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','x2j1AwXKu2vXs2v5','C3bSAxq','Cgf0DgvYBG','tNrZvxe','tMLbwfG','zM9YBwf0','zePpr3m','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','Cg93','mZq0mJm1AM9PD3bb','CLnkzLi','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','Dgv4Da','vLLvufm','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','CMvZzxj2zv9Jyw5JzwW','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','serzwgG','C3rYAw5NAwz5','s29IzKO','zgLNAxrZ','mZK0mdb3y01HDNu','v1nuBe4','zw50CMLLCW','x2fSBg93uMvZzxq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','ufHHELG','ihnLy29UzhmGkgDVDdOG','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','x3L5ExLTBv8','surhru5Fsu5wquXjrf9gt1jnqvq','mtjwBfjRqw4','Dhj1zq','ExL5Ew1Tzgq','z2v0q2XPzw50','zgf0zvbYzwzPEa','Bwf4uMv0CNK','z2v0uMvZzxj2yxrPB24','x2DLDenVDw50zxjuveW','icHNB3q6ia','AwrLBvruta','CNn2x2LKEdO','y3jLyxrLzef0','zM9YBwf0s2v5','surhru5Frevgqvvmvf9qsu5FreLhsvrt','s1zYB00','CMfUzg9T','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','zgvMyxvSDfbPBKrPz2L0CW','x3zHBgLKyxrLvfrm','s3zlB1C','z2v0rNvSBfLLyxi','ChvZAa','x2DLBMvYyxrLrNjVBvbHDhrLCM4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','x2LUAxrPywXPEMvK','zNzssKi','ueDlD0S','sw52ywXPzcbMB3jTyxq6ia','zgvS','CgfYC2u','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','A2v5uhjLzML4','v3jNDvi','CgLU','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','y29Kzq','zxzHBa','z2v0'];a0_0x86e7=function(){return _0xbf3d82;};return a0_0x86e7();}class IdGeneratorError extends Error{constructor(_0x33454c,_0x50e4b2,_0x44d219=null){const _0x5ac522=a0_0x3ce6c9;super(_0x50e4b2||_0x33454c),this[_0x5ac522(0x161)]='IdGeneratorError',this[_0x5ac522(0x15c)]=_0x33454c,this['details']=_0x44d219;}}class IdGenerator{constructor(){const _0x3cbe5c=a0_0x3ce6c9;this['_initialized']=![],this[_0x3cbe5c(0xe8)]=null,this['_keyPrefix']=null,this[_0x3cbe5c(0xd8)]=null,this['_allowReset']=null,this[_0x3cbe5c(0x17f)]=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this[_0x3cbe5c(0x10c)]=null,this['_counterTTLMap']=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x1f5330=a0_0x3ce6c9,_0x4f067e={'JHjbg':_0x1f5330(0x162),'joecV':function(_0x4b693a,_0x210ba7,_0xbdc79f){return _0x4b693a(_0x210ba7,_0xbdc79f);},'mGXbe':_0x1f5330(0x13a),'fMWIe':function(_0x11de46,_0x749643){return _0x11de46===_0x749643;},'gVwfh':function(_0x179022,_0x9fe399,_0x52831c){return _0x179022(_0x9fe399,_0x52831c);},'nrRkX':function(_0x3b0c67,_0x4ee9e1,_0x337d3e){return _0x3b0c67(_0x4ee9e1,_0x337d3e);},'yorGN':_0x1f5330(0x168)},_0x3c8c21='5|7|9|4|1|10|0|12|8|6|3|2|11'['split']('|');let _0x1b28c2=0x0;while(!![]){switch(_0x3c8c21[_0x1b28c2++]){case'0':this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x4f067e['JHjbg'];continue;case'1':this[_0x1f5330(0x17f)]=_0x4f067e['joecV'](parseInt,process['env'][_0x1f5330(0x10d)],0xa)||0xa;continue;case'2':this[_0x1f5330(0x151)]=!![];continue;case'3':this[_0x1f5330(0xc9)]=_0x4f067e['joecV'](parseInt,process[_0x1f5330(0xd5)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;case'4':this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']===_0x4f067e[_0x1f5330(0x163)];continue;case'5':this[_0x1f5330(0x112)]='rf:idgen:';continue;case'6':this[_0x1f5330(0x1ac)]=_0x4f067e['joecV'](parseInt,process['env'][_0x1f5330(0x157)],0xa)||DEFAULT_RESERVE_TTL;continue;case'7':this['_enabled']=_0x4f067e['fMWIe'](process['env'][_0x1f5330(0xd9)],'true');continue;case'8':this[_0x1f5330(0x176)]={'yyyymm':_0x4f067e['gVwfh'](parseInt,process[_0x1f5330(0xd5)][_0x1f5330(0x19b)],0xa)||0x2a3000,'yyyymmdd':_0x4f067e[_0x1f5330(0xc4)](parseInt,process['env'][_0x1f5330(0x10e)],0xa)||0x2a300};continue;case'9':this['_idemTTL']=_0x4f067e[_0x1f5330(0xcb)](parseInt,process['env'][_0x1f5330(0x18f)],0xa)||0x258;continue;case'10':this[_0x1f5330(0x113)]=_0x4f067e['nrRkX'](parseInt,process[_0x1f5330(0xd5)][_0x1f5330(0x146)],0xa)||0x6;continue;case'11':logger['info']({'event':_0x1f5330(0xde),'enabled':this[_0x1f5330(0xe8)],'idemTTL':this[_0x1f5330(0xd8)],'allowReset':this[_0x1f5330(0x132)],'defaultMaxRetry':this[_0x1f5330(0x17f)],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x1f5330(0x1ac)],'reserveMaxTTL':this[_0x1f5330(0xc9)]},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this['_enabled']);continue;case'12':this[_0x1f5330(0x10c)]=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x4f067e['yorGN'];continue;}break;}}[a0_0x3ce6c9(0x1a6)](){const _0xf48b59=a0_0x3ce6c9;if(!this[_0xf48b59(0x151)])this[_0xf48b59(0x1e5)]();}get['enabled'](){const _0x547e3e=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x547e3e(0xe8)];}get['keyPrefix'](){const _0x55ee20=a0_0x3ce6c9;return this[_0x55ee20(0x1a6)](),this[_0x55ee20(0x112)];}get['idemTTL'](){const _0x192c26=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x192c26(0xd8)];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x4b187f=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x4b187f(0x113)];}get[a0_0x3ce6c9(0xc2)](){const _0x5dd818=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x5dd818(0xff)];}get[a0_0x3ce6c9(0xca)](){const _0x4a37d8=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x4a37d8(0x10c)];}get[a0_0x3ce6c9(0x1dc)](){const _0x20457a=a0_0x3ce6c9;return this[_0x20457a(0x1a6)](),this[_0x20457a(0x1ac)];}get['reserveMaxTTL'](){const _0x56074a=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x56074a(0xc9)];}['isEnabled'](){const _0x302ad2=a0_0x3ce6c9;return this[_0x302ad2(0x1e6)];}[a0_0x3ce6c9(0xf4)](_0xf8be88){const _0x5e30ff=a0_0x3ce6c9;if(typeof _0xf8be88!==_0x5e30ff(0x171)||!RESOURCE_REGEX['test'](_0xf8be88))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0x5e30ff(0x1a9)+RESOURCE_REGEX+_0x5e30ff(0x141)+JSON[_0x5e30ff(0x12c)](_0xf8be88)+')');}['_validateNumberParams'](_0x1cd1e3){const _0x143dd7=a0_0x3ce6c9,_0x180805={'KvKoW':function(_0x307284,_0x2a76d8){return _0x307284===_0x2a76d8;},'rUTTT':'IDGEN_INVALID_FORMAT','wpkwd':function(_0x30fd8c,_0x494005){return _0x30fd8c>_0x494005;},'HDYXh':function(_0x2d61df,_0x4fd2e9){return _0x2d61df!==_0x4fd2e9;},'yzjqs':_0x143dd7(0xed),'HMXmM':function(_0x3b31ea,_0x201066){return _0x3b31ea==_0x201066;},'GLfZD':'boolean'},{resource:_0xb4c4a6,format:_0x156045,prefix:_0x5412ad,separator:_0x484cd6,numDigits:_0x1c7d52,reuseDelete:_0xd96612}=_0x1cd1e3;this[_0x143dd7(0xf4)](_0xb4c4a6);const _0x2ed42b=_0x180805[_0x143dd7(0x14c)](typeof _0x156045,'string')?_0x156045[_0x143dd7(0x17a)]():'';if(!ALLOWED_FORMATS['has'](_0x2ed42b))throw new IdGeneratorError(_0x180805['rUTTT'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x143dd7(0x1dd)](',\x20')+_0x143dd7(0x141)+_0x156045+')');if(!Number[_0x143dd7(0xc7)](_0x1c7d52)||_0x1c7d52<MIN_NUM_DIGITS||_0x180805[_0x143dd7(0x15f)](_0x1c7d52,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x143dd7(0x141)+_0x1c7d52+')');const _0x3c4e0a=_0x5412ad==null?'':_0x5412ad;if(_0x180805['HDYXh'](typeof _0x3c4e0a,_0x143dd7(0x171))||!PREFIX_REGEX['test'](_0x3c4e0a))throw new IdGeneratorError(_0x180805['yzjqs'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x143dd7(0x141)+JSON[_0x143dd7(0x12c)](_0x5412ad)+')');const _0x160d45=_0x180805['HMXmM'](_0x484cd6,null)?'':_0x484cd6;if(typeof _0x160d45!=='string'||_0x180805[_0x143dd7(0x15f)](_0x160d45['length'],0x3)||SEPARATOR_FORBIDDEN['test'](_0x160d45))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x484cd6)+')');if(_0xd96612!=null&&_0x180805[_0x143dd7(0x12b)](typeof _0xd96612,_0x180805[_0x143dd7(0xcc)]))throw new IdGeneratorError(_0x143dd7(0xdc),_0x143dd7(0x106)+typeof _0xd96612+')');return{'resource':_0xb4c4a6,'format':_0x2ed42b,'prefix':_0x3c4e0a,'separator':_0x160d45,'numDigits':_0x1c7d52,'reuseDelete':_0x180805[_0x143dd7(0x14c)](_0xd96612,!![])};}[a0_0x3ce6c9(0x105)](_0x2f6392){const _0x2c71c3=a0_0x3ce6c9,_0x5232bf={'Jdosl':function(_0x3af739,_0x286717){return _0x3af739!==_0x286717;},'dJOGs':'string','ZVANi':_0x2c71c3(0x185)};if(_0x5232bf[_0x2c71c3(0x1e8)](typeof _0x2f6392,_0x5232bf[_0x2c71c3(0x11c)])||_0x2f6392['length']===0x0||_0x2f6392['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x2c71c3(0x185),'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+_0x2c71c3(0x193)+(_0x2f6392&&_0x2f6392[_0x2c71c3(0xfb)])+')');let _0x597cfd=![];for(const _0x4d1a54 of _0x2f6392){if(PLACEHOLDER_MAP[_0x4d1a54]){_0x597cfd=!![];break;}}if(!_0x597cfd)throw new IdGeneratorError(_0x5232bf['ZVANi'],'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}[a0_0x3ce6c9(0x14b)](_0x273ce3){const _0x5c366f=a0_0x3ce6c9,_0x4b09e0={'WacDR':function(_0x31cf56,_0x21a4e5){return _0x31cf56==_0x21a4e5;},'AuCyA':function(_0x25dfe0,_0x4bb56d){return _0x25dfe0<_0x4bb56d;}};if(_0x4b09e0['WacDR'](_0x273ce3,null))return undefined;if(!Number['isInteger'](_0x273ce3)||_0x4b09e0['AuCyA'](_0x273ce3,0x1)||_0x273ce3>MAX_TTL)throw new IdGeneratorError('IDGEN_INVALID_TTL',_0x5c366f(0x125)+MAX_TTL+_0x5c366f(0x135)+_0x273ce3+')');return _0x273ce3;}['_validateMaxRetry'](_0x28acf9){const _0x49b2f3=a0_0x3ce6c9,_0x55ca71={'KlmEf':function(_0x258e92,_0x5bdfec){return _0x258e92<_0x5bdfec;},'HFpOZ':function(_0x2fc3ca,_0x310729){return _0x2fc3ca>_0x310729;}};if(_0x28acf9==null)return this[_0x49b2f3(0xd3)];if(!Number['isInteger'](_0x28acf9)||_0x55ca71[_0x49b2f3(0x1b5)](_0x28acf9,0x1)||_0x55ca71[_0x49b2f3(0x184)](_0x28acf9,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x49b2f3(0x11e),_0x49b2f3(0x17d)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x28acf9+')');return _0x28acf9;}[a0_0x3ce6c9(0x127)](_0xbcd711){const _0x2f4e1e=a0_0x3ce6c9,_0x84c529={'QxmUB':function(_0x19bfc2,_0x2984e4){return _0x19bfc2==_0x2984e4;},'SsliX':function(_0xae131d,_0x5ca63d){return _0xae131d!==_0x5ca63d;}};if(_0x84c529[_0x2f4e1e(0x111)](_0xbcd711,null))return undefined;if(_0x84c529[_0x2f4e1e(0x196)](typeof _0xbcd711,'string')||_0xbcd711['length']===0x0||_0xbcd711[_0x2f4e1e(0xfb)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x2f4e1e(0xdc),'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+_0x2f4e1e(0x1cc));return _0xbcd711;}[a0_0x3ce6c9(0x10f)](_0x16c978){const _0x2ab52e=a0_0x3ce6c9,_0x1d2864={'UrnyV':function(_0x22f4ac,_0x1c1b08){return _0x22f4ac==_0x1c1b08;},'SbfOW':function(_0x389289,_0x7fd7ae){return _0x389289<_0x7fd7ae;}};if(_0x1d2864[_0x2ab52e(0xfe)](_0x16c978,null))return this['reserveDefaultTTL'];if(!Number['isInteger'](_0x16c978)||_0x1d2864['SbfOW'](_0x16c978,MIN_RESERVE_TTL)||_0x16c978>this[_0x2ab52e(0x1d3)])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL',_0x2ab52e(0x126)+MIN_RESERVE_TTL+'-'+this[_0x2ab52e(0x1d3)]+'\x20seconds\x20(got:\x20'+_0x16c978+')');return _0x16c978;}['_validateReservationToken'](_0x462deb){const _0x205680=a0_0x3ce6c9,_0x320a82={'YXHGo':_0x205680(0x18b)};if(typeof _0x462deb!==_0x205680(0x171)||!RESERVATION_TOKEN_REGEX['test'](_0x462deb))throw new IdGeneratorError(_0x320a82[_0x205680(0x1c8)],_0x205680(0x133)+JSON['stringify'](_0x462deb)+')');return _0x462deb;}[a0_0x3ce6c9(0xd6)](_0x45e9fe){const _0x3dccce=a0_0x3ce6c9,_0x5eb09c={'AhiYx':function(_0x4700bd,_0x40dc02){return _0x4700bd(_0x40dc02);}};return _0x5eb09c['AhiYx'](String,_0x45e9fe)[_0x3dccce(0x1ab)](0x2,'0');}['_buildFormatKey'](_0x4eb9ba,_0x242307,_0x5df37f=new Date()){const _0x3616f6=a0_0x3ce6c9,_0xac2ca={'ATomm':function(_0x13d857,_0x520bf9){return _0x13d857+_0x520bf9;},'VQHob':function(_0x11f785,_0x497512){return _0x11f785||_0x497512;},'RgbqH':_0x3616f6(0xef),'gvdQw':'yyyymm','wPbnW':'IDGEN_INVALID_FORMAT'},_0x418f46=_0x5df37f[_0x3616f6(0x14d)](),_0x2b2869=this['_pad2'](_0xac2ca['ATomm'](_0x5df37f['getMonth'](),0x1)),_0xdc876d=this['_pad2'](_0x5df37f[_0x3616f6(0x166)]()),_0x32d8c7=_0xac2ca['VQHob'](_0x242307,'_');let _0x4be463,_0x5d2a14='';switch(_0x4eb9ba){case _0x3616f6(0x123):_0x4be463=_0x32d8c7+'_text';break;case _0xac2ca[_0x3616f6(0x1b2)]:_0x5d2a14=''+_0x418f46,_0x4be463=_0x32d8c7+'_yyyy_'+_0x5d2a14;break;case _0xac2ca['gvdQw']:_0x5d2a14=''+_0x418f46+_0x2b2869,_0x4be463=_0x32d8c7+_0x3616f6(0x137)+_0x5d2a14;break;case _0x3616f6(0x13b):_0x5d2a14=''+_0x418f46+_0x2b2869+_0xdc876d,_0x4be463=_0x32d8c7+'_yyyymmdd_'+_0x5d2a14;break;default:throw new IdGeneratorError(_0xac2ca['wPbnW'],_0x3616f6(0x191)+_0x4eb9ba);}return{'formatKey':_0x4be463,'datePrefix':_0x5d2a14};}[a0_0x3ce6c9(0x116)](_0x5b2129,_0x590c89){const _0x350a99=a0_0x3ce6c9;return this[_0x350a99(0x158)]+_0x350a99(0x1b4)+_0x5b2129+':'+_0x590c89;}['_buildReuseKey'](_0x319730,_0x2943d3){const _0x1c63bd=a0_0x3ce6c9;return this[_0x1c63bd(0x158)]+'reuse:'+_0x319730+':'+_0x2943d3;}['_buildMetaKey'](_0x8f6a05,_0x483132){const _0x1f727f=a0_0x3ce6c9;return this['keyPrefix']+_0x1f727f(0x16d)+_0x8f6a05+':'+_0x483132;}[a0_0x3ce6c9(0xe6)](_0x1bcfd6){return this['keyPrefix']+'issued:'+_0x1bcfd6;}['_buildActiveKey'](_0x1ce62f,_0x1b57c7){const _0xf6e0b9=a0_0x3ce6c9;return this['keyPrefix']+_0xf6e0b9(0x114)+_0x1ce62f+':'+_0x1b57c7;}[a0_0x3ce6c9(0x174)](_0x22f4ba){const _0x38fcc3=a0_0x3ce6c9;return this['keyPrefix']+_0x38fcc3(0xd7)+_0x22f4ba;}['_buildReservationIndexKey'](_0x114cff,_0xa09b59){const _0x30e626=a0_0x3ce6c9;return this['keyPrefix']+_0x30e626(0x143)+_0x114cff+':'+_0xa09b59;}['_buildReservationKeyPrefix'](){const _0x1949ae=a0_0x3ce6c9;return this['keyPrefix']+_0x1949ae(0xd7);}['_buildIdemKey'](_0x2403f6,_0x5546c8,_0xcbef3d,_0x295546){const _0x43a014=a0_0x3ce6c9,_0x4c4b4c={'ugMbu':'idgen'};if(_0xcbef3d)return idempotencyManager['buildDeterministicKey'](_0x4c4b4c[_0x43a014(0x16f)],_0x2403f6,_0x5546c8+':'+_0xcbef3d+':'+_0x295546);return idempotencyManager[_0x43a014(0x173)]('idgen',_0x2403f6,_0x5546c8+':'+_0x295546);}[a0_0x3ce6c9(0x140)](_0x5e0ba8){return this['_counterTTLMap'][_0x5e0ba8]||0x0;}['_formatNumber']({format:_0x309745,prefix:_0x2458a0,datePrefix:_0x100df5,separator:_0x44fc71,numDigits:_0x3062fc,counterInt:_0x4feea1}){const _0x29d8f9=a0_0x3ce6c9,_0x84e9fc={'tDZEc':function(_0x5716df,_0x483094){return _0x5716df-_0x483094;},'KobfJ':function(_0x241b18,_0x23c358){return _0x241b18>_0x23c358;},'uRkJZ':function(_0x559b66,_0x13ee32){return _0x559b66===_0x13ee32;}},_0x357b1b=_0x84e9fc['tDZEc'](Math[_0x29d8f9(0x11f)](0xa,_0x3062fc),0x1);if(_0x84e9fc[_0x29d8f9(0x12d)](_0x4feea1,_0x357b1b))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW','Counter\x20overflow:\x20'+_0x4feea1+'\x20exceeds\x20'+_0x3062fc+'-digit\x20capacity\x20('+_0x357b1b+').\x20Increase\x20numDigits.',{'counterInt':_0x4feea1,'numDigits':_0x3062fc,'max':_0x357b1b});const _0x5cbbe4=String(_0x4feea1)['padStart'](_0x3062fc,'0');if(_0x84e9fc['uRkJZ'](_0x309745,'text'))return _0x2458a0?''+_0x2458a0+_0x44fc71+_0x5cbbe4:_0x5cbbe4;return _0x2458a0?''+_0x2458a0+_0x44fc71+_0x100df5+_0x44fc71+_0x5cbbe4:''+_0x100df5+_0x44fc71+_0x5cbbe4;}['_parseNumber']({format:_0x4dbdcf,prefix:_0x5e5745,separator:_0x285f42,numDigits:_0x3a540a,number:_0x2e8194}){const _0x5eb19c=a0_0x3ce6c9,_0x4f3951={'GBqhN':_0x5eb19c(0x102),'OKyOD':function(_0x45cf1f,_0x3763c5){return _0x45cf1f||_0x3763c5;},'CsTBS':function(_0x282632,_0x4c1f61){return _0x282632===_0x4c1f61;},'afUvU':function(_0x4bf480,_0x2ab836){return _0x4bf480!==_0x2ab836;},'nkqCA':function(_0x22c36f,_0x2537bd){return _0x22c36f!==_0x2537bd;},'GLfLa':function(_0x210376,_0x4723f5){return _0x210376===_0x4723f5;}};if(typeof _0x2e8194!==_0x5eb19c(0x171)||_0x2e8194[_0x5eb19c(0xfb)]===0x0)throw new IdGeneratorError(_0x4f3951['GBqhN'],_0x5eb19c(0xe7));const _0x5c2a65=_0x4f3951[_0x5eb19c(0x108)](_0x285f42,''),_0x1b7e65=_0x4f3951[_0x5eb19c(0xc0)](_0x5c2a65,'')?[_0x2e8194]:_0x2e8194[_0x5eb19c(0x117)](_0x5c2a65);let _0x4be1e2='',_0x5719cb;if(_0x4dbdcf==='text'){if(_0x5e5745){if(_0x4f3951['afUvU'](_0x1b7e65[_0x5eb19c(0xfb)],0x2)||_0x1b7e65[0x0]!==_0x5e5745)throw new IdGeneratorError(_0x4f3951[_0x5eb19c(0x19f)],_0x5eb19c(0x1ba)+_0x5c2a65+'padded\x20(got:\x20'+_0x2e8194+')');_0x5719cb=_0x1b7e65[0x1];}else{if(_0x1b7e65[_0x5eb19c(0xfb)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x5eb19c(0xdb)+_0x2e8194+')');_0x5719cb=_0x1b7e65[0x0];}}else{const _0x51c4fb=_0x5e5745?0x3:0x2;if(_0x1b7e65['length']!==_0x51c4fb)throw new IdGeneratorError(_0x5eb19c(0x102),_0x5eb19c(0xe5)+_0x2e8194+_0x5eb19c(0x1c3)+_0x51c4fb+'\x20parts)');let _0x1c92d4=0x0;if(_0x5e5745){if(_0x4f3951['nkqCA'](_0x1b7e65[_0x1c92d4],_0x5e5745))throw new IdGeneratorError(_0x5eb19c(0x102),_0x5eb19c(0x1c0)+_0x5e5745+_0x5eb19c(0x1b7)+_0x1b7e65[_0x1c92d4]);_0x1c92d4++;}_0x4be1e2=_0x1b7e65[_0x1c92d4++];const _0x2279e4=_0x4dbdcf===_0x5eb19c(0xef)?/^\d{4}$/:_0x4f3951['GLfLa'](_0x4dbdcf,_0x5eb19c(0x1c1))?/^\d{6}$/:/^\d{8}$/;if(!_0x2279e4[_0x5eb19c(0x1d2)](_0x4be1e2))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x5eb19c(0x16a)+_0x4dbdcf+':\x20'+_0x4be1e2);_0x5719cb=_0x1b7e65[_0x1c92d4];}if(!new RegExp('^\x5cd{'+_0x3a540a+'}$')[_0x5eb19c(0x1d2)](_0x5719cb))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x3a540a+_0x5eb19c(0xf6)+_0x5719cb+')');const _0x311f16=parseInt(_0x5719cb,0xa),_0x4b00d3=_0x5e5745||'_';let _0x36534d;return _0x4dbdcf==='text'?_0x36534d=_0x4b00d3+_0x5eb19c(0x1c9):_0x36534d=_0x4b00d3+'_'+_0x4dbdcf+'_'+_0x4be1e2,{'formatKey':_0x36534d,'counterInt':_0x311f16,'datePrefix':_0x4be1e2};}['_generateFromPattern'](_0x2762ba){let _0x8d5d26='';for(const _0x22535e of _0x2762ba){const _0x139e71=PLACEHOLDER_MAP[_0x22535e];if(_0x139e71){const _0x4a03b3=crypto['randomInt'](0x0,_0x139e71['length']);_0x8d5d26+=_0x139e71[_0x4a03b3];}else _0x8d5d26+=_0x22535e;}return _0x8d5d26;}async['_retrieveIdemCache'](_0x5ad441){const _0x67c082=a0_0x3ce6c9,_0x4c176a={'ojBpw':'Idempotency\x20cache\x20HIT','sgSQM':'idgen_idem_retrieve_error','Imysp':_0x67c082(0x149)};if(!_0x5ad441)return null;try{const _0x168612=redisClient[_0x67c082(0x13c)](),_0x5edcf0=await _0x168612['get'](_0x5ad441);if(_0x5edcf0)return logger['info']({'event':_0x67c082(0x1cb),'key':_0x5ad441},_0x4c176a['ojBpw']),JSON[_0x67c082(0x156)](_0x5edcf0);return null;}catch(_0x12f9d9){return logger[_0x67c082(0x1d0)]({'event':_0x4c176a['sgSQM'],'error':_0x12f9d9['message']},_0x4c176a[_0x67c082(0x1c6)]),null;}}async[a0_0x3ce6c9(0xe4)](_0x3909c3,_0x221757){const _0x2030d0=a0_0x3ce6c9,_0x4f7a87={'uazCd':'Idempotency\x20store\x20error'};if(!_0x3909c3)return;try{const _0x3eddaa=redisClient['getClient']();await _0x3eddaa[_0x2030d0(0x17e)](_0x3909c3,this[_0x2030d0(0x142)],JSON[_0x2030d0(0x12c)](_0x221757));}catch(_0x4bed5a){logger['warn']({'event':_0x2030d0(0x198),'error':_0x4bed5a[_0x2030d0(0x194)]},_0x4f7a87['uazCd']);}}async[a0_0x3ce6c9(0x164)](_0x467c5f,_0x1ef9e7){const _0x28f32d=a0_0x3ce6c9,_0x3906cc={'CvNFw':function(_0x5737d0,_0x577b26){return _0x5737d0===_0x577b26;},'vwvjm':_0x28f32d(0x1b3),'fvRJB':_0x28f32d(0x1e2),'NtJsw':_0x28f32d(0x1b8)};if(!_0x467c5f)return{'stored':!![],'winnerResult':null};try{const _0x5ef1aa=redisClient[_0x28f32d(0x13c)](),_0x2f1775=JSON['stringify'](_0x1ef9e7),_0x5546ca=await _0x5ef1aa[_0x28f32d(0x170)](_0x467c5f,_0x2f1775,'EX',this[_0x28f32d(0x142)],'NX');if(_0x3906cc['CvNFw'](_0x5546ca,'OK'))return{'stored':!![],'winnerResult':null};const _0x16ea4f=await _0x5ef1aa['get'](_0x467c5f);if(_0x16ea4f)return{'stored':![],'winnerResult':JSON[_0x28f32d(0x156)](_0x16ea4f)};return logger['warn']({'event':'idgen_idem_nx_race_lost_but_empty','key':_0x467c5f},_0x3906cc[_0x28f32d(0x179)]),{'stored':!![],'winnerResult':null};}catch(_0x837b09){return logger[_0x28f32d(0x1d0)]({'event':_0x3906cc[_0x28f32d(0x152)],'error':_0x837b09['message']},_0x3906cc['NtJsw']),{'stored':!![],'winnerResult':null};}}async[a0_0x3ce6c9(0xf0)](_0x4bb4b9,_0x127323,_0x3dfabe){const _0x2e3700=a0_0x3ce6c9,_0x2b8eb4={'rrgLv':_0x2e3700(0xec)};try{const _0x551f90=redisClient['getClient']();if(_0x3dfabe){const _0x553c49=this['_buildActiveKey'](_0x4bb4b9,_0x127323);await _0x551f90['del'](_0x553c49);}else{const _0x2b1329=this['_buildIssuedKey'](_0x4bb4b9);await _0x551f90['srem'](_0x2b1329,_0x127323);}}catch(_0x496871){logger['warn']({'event':_0x2b8eb4[_0x2e3700(0x183)],'error':_0x496871[_0x2e3700(0x194)]},_0x2e3700(0xfd));}}async['_updateMeta'](_0x2ec32b,_0x2d8e13,_0xdc4115,_0x497f77=0x0){const _0x1deef2=a0_0x3ce6c9,_0x5b4ac6={'rWPWX':function(_0xe29e68,_0x14d8f6){return _0xe29e68(_0x14d8f6);},'zIiIp':_0x1deef2(0xf3),'CFBMB':_0x1deef2(0x109)};try{const _0xf0ff05=redisClient[_0x1deef2(0x13c)](),_0x3b6a34=this['_buildMetaKey'](_0x2ec32b,_0x2d8e13),_0x587b1f=[];for(const [_0x555225,_0x4de420]of Object[_0x1deef2(0x131)](_0xdc4115)){_0x587b1f[_0x1deef2(0x14e)](_0x555225,_0x5b4ac6['rWPWX'](String,_0x4de420));}if(_0x587b1f[_0x1deef2(0xfb)]>0x0){await _0xf0ff05['hset'](_0x3b6a34,..._0x587b1f);if(_0x497f77>0x0)await _0xf0ff05['expire'](_0x3b6a34,_0x497f77);}}catch(_0x2e3442){logger['warn']({'event':_0x5b4ac6['zIiIp'],'error':_0x2e3442[_0x1deef2(0x194)]},_0x5b4ac6['CFBMB']);}}async[a0_0x3ce6c9(0x1df)](_0x163887){const _0x33ab90=a0_0x3ce6c9,_0x1bfef1={'MRsgv':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','aBMAL':'idgen_idem_loser_release_error','IbWvC':_0x33ab90(0x175),'AJBFr':'idgen_number_idem_loser'};if(!this[_0x33ab90(0x1e6)])throw new IdGeneratorError(_0x33ab90(0x172),_0x1bfef1['MRsgv']);const _0x3ae43c=this[_0x33ab90(0xcd)](_0x163887),_0x8ab40f=this['_validateIdempotencyKey'](_0x163887[_0x33ab90(0x160)]),{resource:_0x134af1,format:_0x3af2e6,prefix:_0x870727,separator:_0x46a78c,numDigits:_0x6441ca,reuseDelete:_0xe79b89}=_0x3ae43c,{formatKey:_0x11cd52,datePrefix:_0x2082df}=this[_0x33ab90(0x1a3)](_0x3af2e6,_0x870727),_0x2ef21a=this['_buildSeqKey'](_0x134af1,_0x11cd52),_0x5c0745=this['_buildReuseKey'](_0x134af1,_0x11cd52),_0x450ad7=this['_getCounterTTL'](_0x3af2e6);let _0x4b3c2f=null;if(_0x8ab40f){_0x4b3c2f=this['_buildIdemKey']('number',_0x134af1,_0x11cd52,_0x8ab40f);const _0x283cd6=await this['_retrieveIdemCache'](_0x4b3c2f);if(_0x283cd6)return _0x283cd6;}const _0x4f7457=redisClient[_0x33ab90(0x13c)](),_0x1632d4=await _0x4f7457['eval'](LUA_GENERATE_NUMBER,0x2,_0x2ef21a,_0x5c0745,_0xe79b89?'1':'0',String(_0x450ad7)),_0x1af8f5=_0x1632d4[0x0],_0x5a17bc=_0x1632d4[0x1]===0x1,_0x5f4cca=this[_0x33ab90(0x1a0)]({'format':_0x3af2e6,'prefix':_0x870727,'datePrefix':_0x2082df,'separator':_0x46a78c,'numDigits':_0x6441ca,'counterInt':_0x1af8f5}),_0x36b71d={'value':_0x5f4cca,'counter':_0x1af8f5,'resource':_0x134af1,'formatKey':_0x11cd52,'isReused':_0x5a17bc,'generatedAt':new Date()[_0x33ab90(0xf9)]()},_0x414e5a=await this['_storeIdemCacheNX'](_0x4b3c2f,_0x36b71d);if(!_0x414e5a['stored']){try{await _0x4f7457[_0x33ab90(0x15d)](LUA_RELEASE_NUMBER,0x1,_0x5c0745,String(_0x1af8f5),String(_0x450ad7));}catch(_0x436aba){logger[_0x33ab90(0x1d0)]({'event':_0x1bfef1['aBMAL'],'error':_0x436aba['message'],'resource':_0x134af1,'formatKey':_0x11cd52,'counterInt':_0x1af8f5},_0x1bfef1[_0x33ab90(0x1cf)]);}return logger['info']({'event':_0x1bfef1[_0x33ab90(0x1c2)],'resource':_0x134af1,'formatKey':_0x11cd52,'counter':_0x1af8f5},_0x33ab90(0xf5)),_0x414e5a['winnerResult'];}return this['_updateMeta'](_0x134af1,_0x11cd52,{'lastValue':_0x5f4cca,'lastCounter':_0x1af8f5,'lastIsReused':_0x5a17bc,'lastGeneratedAt':_0x36b71d['generatedAt']},_0x450ad7),logger[_0x33ab90(0x1be)]({'event':'idgen_number_generated','resource':_0x134af1,'formatKey':_0x11cd52,'counter':_0x1af8f5,'isReused':_0x5a17bc},_0x33ab90(0x1bc)+_0x5f4cca),_0x36b71d;}async['releaseNumber'](_0x1652d3){const _0x288443=a0_0x3ce6c9,_0xb8dc1b={'WrguR':'IDGEN_DISABLED','ZHAQX':'ID\x20Generator\x20is\x20disabled','qzoLl':function(_0x4838f0,_0x1a14f2){return _0x4838f0!==_0x1a14f2;},'Kyibo':_0x288443(0x122),'vgYXJ':function(_0x149e1e,_0x10accd){return _0x149e1e<_0x10accd;},'ztnVa':function(_0x3efba6,_0x2f86f1){return _0x3efba6(_0x2f86f1);},'QXlgE':function(_0x453a5b,_0x585884){return _0x453a5b(_0x585884);}};if(!this[_0x288443(0x1e6)])throw new IdGeneratorError(_0xb8dc1b[_0x288443(0x159)],_0xb8dc1b['ZHAQX']);let _0x2696be,_0x3f47d1,_0x1b4d9,_0x422924;const _0x4d0acf=this[_0x288443(0x127)](_0x1652d3['idempotencyKey']);if(_0xb8dc1b[_0x288443(0x187)](_0x1652d3['counterInt'],undefined)&&_0xb8dc1b['qzoLl'](_0x1652d3[_0x288443(0xcf)],null)){this[_0x288443(0xf4)](_0x1652d3['resource']),_0x2696be=_0x1652d3['resource'];if(typeof _0x1652d3[_0x288443(0x145)]!=='string'||_0x1652d3[_0x288443(0x145)][_0x288443(0xfb)]===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0xb8dc1b[_0x288443(0xfc)]);_0x3f47d1=_0x1652d3[_0x288443(0x145)];if(!Number[_0x288443(0xc7)](_0x1652d3[_0x288443(0xcf)])||_0xb8dc1b[_0x288443(0x1d4)](_0x1652d3['counterInt'],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x288443(0xc8)+_0x1652d3['counterInt']+')');_0x1b4d9=_0x1652d3[_0x288443(0xcf)];const _0x2d8d58=_0x3f47d1['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x422924=_0x2d8d58?_0x2d8d58[0x1]:_0x288443(0x123);}else{const _0x5b67d7=this['_validateNumberParams'](_0x1652d3),_0x531ee9=this[_0x288443(0x10a)]({'format':_0x5b67d7[_0x288443(0x11b)],'prefix':_0x5b67d7['prefix'],'separator':_0x5b67d7['separator'],'numDigits':_0x5b67d7[_0x288443(0x1b1)],'number':_0x1652d3[_0x288443(0x1df)]});_0x2696be=_0x5b67d7[_0x288443(0x100)],_0x3f47d1=_0x531ee9[_0x288443(0x145)],_0x1b4d9=_0x531ee9[_0x288443(0xcf)],_0x422924=_0x5b67d7[_0x288443(0x11b)];}const _0x2fe754=this[_0x288443(0x101)](_0x2696be,_0x3f47d1),_0x283dbf=this[_0x288443(0x140)](_0x422924);let _0x2c0461=null;if(_0x4d0acf){_0x2c0461=this[_0x288443(0x1d1)]('release',_0x2696be,_0x3f47d1,_0x4d0acf);const _0x51f78c=await this[_0x288443(0xee)](_0x2c0461);if(_0x51f78c)return _0x51f78c;}const _0x50d71e=redisClient[_0x288443(0x13c)]();await _0x50d71e['eval'](LUA_RELEASE_NUMBER,0x1,_0x2fe754,_0xb8dc1b['ztnVa'](String,_0x1b4d9),_0xb8dc1b['QXlgE'](String,_0x283dbf));const _0x339425={'released':!![],'resource':_0x2696be,'formatKey':_0x3f47d1,'counter':_0x1b4d9,'releasedAt':new Date()['toISOString']()};return await this[_0x288443(0xe4)](_0x2c0461,_0x339425),this[_0x288443(0x1cd)](_0x2696be,_0x3f47d1,{'lastReleasedCounter':_0x1b4d9,'lastReleasedAt':_0x339425['releasedAt']},_0x283dbf),logger[_0x288443(0x1be)]({'event':'idgen_number_released','resource':_0x2696be,'formatKey':_0x3f47d1,'counter':_0x1b4d9},'ID\x20Generator\x20number\x20released:\x20'+_0x1b4d9),_0x339425;}async[a0_0x3ce6c9(0x1b9)](_0x461976){const _0x5abfba=a0_0x3ce6c9,_0x56d44e={'HKdsY':_0x5abfba(0xd2),'LXmhj':function(_0x2f46e7,_0x2c5f0e){return _0x2f46e7+_0x2c5f0e;},'GsePI':function(_0x36c254,_0x38f593){return _0x36c254*_0x38f593;},'KaCqv':function(_0x14ff46,_0x134706){return _0x14ff46*_0x134706;},'PGKwK':'formatKey','ALANg':'format','PFTiA':_0x5abfba(0xf2),'XlESP':function(_0x59ffec,_0xd4995d){return _0x59ffec||_0xd4995d;},'YBQkf':function(_0xd84dd1,_0xc56d0b){return _0xd84dd1(_0xc56d0b);},'jdYCR':function(_0x57b603,_0x1ecb44){return _0x57b603(_0x1ecb44);},'PXazX':'idgen_reserve_idem_loser','zDsGp':'idgen_number_reserved'};if(!this[_0x5abfba(0x1e6)])throw new IdGeneratorError(_0x5abfba(0x172),_0x56d44e['HKdsY']);const _0x1fa4c2=this['_validateNumberParams'](_0x461976),_0xfb2af3=this['_validateReserveTTL'](_0x461976['ttl']),_0x5f3b5f=this['_validateIdempotencyKey'](_0x461976[_0x5abfba(0x160)]),{resource:_0x305f21,format:_0x1d2f38,prefix:_0x3abc9c,separator:_0x58747a,numDigits:_0x44f57b,reuseDelete:_0x141f51}=_0x1fa4c2,{formatKey:_0x413163,datePrefix:_0x1ffa0e}=this[_0x5abfba(0x1a3)](_0x1d2f38,_0x3abc9c),_0x30caa6=this['_buildSeqKey'](_0x305f21,_0x413163),_0x1d1321=this[_0x5abfba(0x101)](_0x305f21,_0x413163),_0x5a0092=this[_0x5abfba(0xf1)](_0x305f21,_0x413163),_0x1aa886=this['_getCounterTTL'](_0x1d2f38);let _0x4ed309=null;if(_0x5f3b5f){_0x4ed309=this[_0x5abfba(0x1d1)](_0x5abfba(0x188),_0x305f21,_0x413163,_0x5f3b5f);const _0x3bb0e0=await this[_0x5abfba(0xee)](_0x4ed309);if(_0x3bb0e0)return _0x3bb0e0;}const _0x373d04=crypto['randomUUID'](),_0x332e8b=this[_0x5abfba(0x174)](_0x373d04),_0x419ad7=this['_buildReservationKeyPrefix'](),_0x2c5635=Date['now'](),_0xebc4e0=_0x56d44e['LXmhj'](_0x2c5635,_0x56d44e['GsePI'](_0xfb2af3,0x3e8)),_0x118efe=_0x56d44e['KaCqv'](_0xfb2af3,0x3e8),_0x387c5a=new Date(_0x2c5635)['toISOString'](),_0x4e1b6f=new Date(_0xebc4e0)['toISOString'](),_0x19afa8=[_0x5abfba(0x100),_0x305f21,_0x56d44e[_0x5abfba(0x153)],_0x413163,_0x56d44e[_0x5abfba(0x1de)],_0x1d2f38,_0x56d44e[_0x5abfba(0x19a)],_0x3abc9c,'separator',_0x58747a,'numDigits',String(_0x44f57b),_0x5abfba(0x13d),_0x56d44e['XlESP'](_0x1ffa0e,''),'createdAt',_0x387c5a,'expiresAt',_0x4e1b6f,_0x5abfba(0x1e1),_0x56d44e[_0x5abfba(0xe3)](String,_0x118efe)];_0x5f3b5f&&_0x19afa8['push']('idemKey',_0x5f3b5f);const _0x46266b=redisClient[_0x5abfba(0x13c)](),_0x3c864d=await _0x46266b['eval'](LUA_RESERVE_NUMBER,0x3,_0x30caa6,_0x1d1321,_0x5a0092,_0x141f51?'1':'0',String(_0x1aa886),_0x373d04,_0x332e8b,String(_0x118efe),String(_0xebc4e0),String(_0x2c5635),_0x419ad7,..._0x19afa8),_0x17b2cb=_0x3c864d[0x0],_0x1ec51c=_0x3c864d[0x1]===0x1,_0x17ea4f=_0x3c864d[0x2]||0x0;let _0x5b10ca;try{_0x5b10ca=this[_0x5abfba(0x1a0)]({'format':_0x1d2f38,'prefix':_0x3abc9c,'datePrefix':_0x1ffa0e,'separator':_0x58747a,'numDigits':_0x44f57b,'counterInt':_0x17b2cb});}catch(_0x2d9a78){try{await _0x46266b[_0x5abfba(0x15d)](LUA_CANCEL_RESERVATION,0x3,_0x332e8b,_0x5a0092,_0x1d1321,_0x373d04,_0x56d44e['jdYCR'](String,_0x1aa886));}catch(_0x1b4e96){logger[_0x5abfba(0x1d0)]({'event':_0x5abfba(0xce),'error':_0x1b4e96['message'],'resource':_0x305f21,'formatKey':_0x413163,'counterInt':_0x17b2cb,'token':_0x373d04},_0x5abfba(0x11d));}throw _0x2d9a78;}try{await _0x46266b['hset'](_0x332e8b,'value',_0x5b10ca);}catch(_0x48c255){logger[_0x5abfba(0x1d0)]({'event':_0x5abfba(0x128),'error':_0x48c255[_0x5abfba(0x194)],'resource':_0x305f21,'formatKey':_0x413163,'counterInt':_0x17b2cb,'token':_0x373d04},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x380bf3={'token':_0x373d04,'value':_0x5b10ca,'counter':_0x17b2cb,'resource':_0x305f21,'formatKey':_0x413163,'isReused':_0x1ec51c,'createdAt':_0x387c5a,'expiresAt':_0x4e1b6f,'reapedCount':_0x17ea4f},_0x1d041e=await this[_0x5abfba(0x164)](_0x4ed309,_0x380bf3);if(!_0x1d041e['stored']){try{await _0x46266b[_0x5abfba(0x15d)](LUA_CANCEL_RESERVATION,0x3,_0x332e8b,_0x5a0092,_0x1d1321,_0x373d04,String(_0x1aa886));}catch(_0x2bee9e){logger['warn']({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x2bee9e[_0x5abfba(0x194)],'resource':_0x305f21,'formatKey':_0x413163,'counterInt':_0x17b2cb,'token':_0x373d04},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger[_0x5abfba(0x1be)]({'event':_0x56d44e[_0x5abfba(0x134)],'resource':_0x305f21,'formatKey':_0x413163,'counter':_0x17b2cb,'token':_0x373d04},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1d041e['winnerResult'];}return this[_0x5abfba(0x1cd)](_0x305f21,_0x413163,{'lastReservedCounter':_0x17b2cb,'lastReservedAt':_0x387c5a,'lastReapedCount':_0x17ea4f},_0x1aa886),logger[_0x5abfba(0x1be)]({'event':_0x56d44e[_0x5abfba(0x1eb)],'resource':_0x305f21,'formatKey':_0x413163,'counter':_0x17b2cb,'isReused':_0x1ec51c,'token':_0x373d04,'ttl':_0xfb2af3,'reapedCount':_0x17ea4f},_0x5abfba(0xdf)+_0x5b10ca+'\x20(token='+_0x373d04+')'),_0x380bf3;}async[a0_0x3ce6c9(0x1e4)](_0x55ff84){const _0x1948f6=a0_0x3ce6c9,_0x22f205={'CuWQH':'IDGEN_DISABLED','ZixPG':function(_0x413084,_0x33c75a){return _0x413084!==_0x33c75a;},'HKsmP':'IDGEN_RESERVATION_NOT_FOUND','rvxDk':function(_0xf4ddc3,_0x4ee881,_0xefa0af){return _0xf4ddc3(_0x4ee881,_0xefa0af);},'OwnNW':'text','NiAXX':'idgen_reservation_confirmed'};if(!this['enabled'])throw new IdGeneratorError(_0x22f205['CuWQH'],'ID\x20Generator\x20is\x20disabled');const _0x424242=this['_validateReservationToken'](_0x55ff84&&_0x55ff84[_0x1948f6(0xea)]),_0x20261d=this['_validateIdempotencyKey'](_0x55ff84&&_0x55ff84['idempotencyKey']);let _0x3346a=null;if(_0x20261d){_0x3346a=idempotencyManager[_0x1948f6(0x173)](_0x1948f6(0x195),'reserve_confirm',_0x424242+':'+_0x20261d);const _0x2827c6=await this['_retrieveIdemCache'](_0x3346a);if(_0x2827c6)return _0x2827c6;}const _0x369dc5=await this[_0x1948f6(0x103)](_0x424242),_0x12f57f=redisClient['getClient'](),_0x4cb70=await _0x12f57f[_0x1948f6(0x15d)](LUA_CONFIRM_RESERVATION,0x2,_0x369dc5['rsvKey'],_0x369dc5['rsvIdxKey'],_0x424242);if(!_0x4cb70||_0x22f205['ZixPG'](_0x4cb70[0x0],0x1))throw new IdGeneratorError(_0x22f205[_0x1948f6(0xeb)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x424242,{'token':_0x424242});const _0x51d864=_0x22f205[_0x1948f6(0x18c)](parseInt,_0x4cb70[0x1],0xa),_0x1c5e2e=_0x4cb70[0x2],_0x33d765=_0x4cb70[0x3],_0x39e269=new Date()[_0x1948f6(0xf9)](),_0x33df90={'confirmed':!![],'token':_0x424242,'value':_0x1c5e2e,'counter':_0x51d864,'resource':_0x369dc5['resource'],'formatKey':_0x33d765,'confirmedAt':_0x39e269};await this[_0x1948f6(0xe4)](_0x3346a,_0x33df90);const _0x2ab0b5=_0x33d765['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x58c32c=_0x2ab0b5?_0x2ab0b5[0x1]:_0x22f205['OwnNW'],_0x2e258d=this['_getCounterTTL'](_0x58c32c);return this['_updateMeta'](_0x369dc5['resource'],_0x33d765,{'lastConfirmedCounter':_0x51d864,'lastConfirmedAt':_0x39e269},_0x2e258d),logger[_0x1948f6(0x1be)]({'event':_0x22f205[_0x1948f6(0x11a)],'resource':_0x369dc5['resource'],'formatKey':_0x33d765,'counter':_0x51d864,'token':_0x424242},_0x1948f6(0xfa)+_0x1c5e2e+_0x1948f6(0x1af)+_0x424242+')'),_0x33df90;}async[a0_0x3ce6c9(0x1d6)](_0x53e136){const _0x528f3c=a0_0x3ce6c9,_0x5df8c8={'vhlbY':'ID\x20Generator\x20is\x20disabled','NqfUA':function(_0x5aa2b4,_0x4ee8c1){return _0x5aa2b4(_0x4ee8c1);}};if(!this['enabled'])throw new IdGeneratorError(_0x528f3c(0x172),_0x5df8c8['vhlbY']);const _0x3406a8=this[_0x528f3c(0x15b)](_0x53e136&&_0x53e136[_0x528f3c(0xea)]),_0x42b6da=this['_validateIdempotencyKey'](_0x53e136&&_0x53e136['idempotencyKey']);let _0x21e2aa=null;if(_0x42b6da){_0x21e2aa=idempotencyManager[_0x528f3c(0x173)](_0x528f3c(0x195),_0x528f3c(0x129),_0x3406a8+':'+_0x42b6da);const _0x591172=await this['_retrieveIdemCache'](_0x21e2aa);if(_0x591172)return _0x591172;}const _0x76ec7=await this[_0x528f3c(0x103)](_0x3406a8),_0x5d43a6=this[_0x528f3c(0x101)](_0x76ec7['resource'],_0x76ec7[_0x528f3c(0x145)]),_0x2be5eb=_0x76ec7[_0x528f3c(0x145)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x40e519=_0x2be5eb?_0x2be5eb[0x1]:_0x528f3c(0x123),_0x65d631=this[_0x528f3c(0x140)](_0x40e519),_0x5c4949=redisClient['getClient'](),_0x4d68af=await _0x5c4949['eval'](LUA_CANCEL_RESERVATION,0x3,_0x76ec7[_0x528f3c(0x18e)],_0x76ec7[_0x528f3c(0x16b)],_0x5d43a6,_0x3406a8,_0x5df8c8[_0x528f3c(0x1d5)](String,_0x65d631));if(!_0x4d68af||_0x4d68af[0x0]!==0x1)throw new IdGeneratorError(_0x528f3c(0x150),_0x528f3c(0x18d)+_0x3406a8,{'token':_0x3406a8});const _0x18a543=parseInt(_0x4d68af[0x1],0xa),_0x36274c=_0x4d68af[0x2],_0x531c93=_0x4d68af[0x3],_0x46a013=new Date()['toISOString'](),_0x58ddde={'cancelled':!![],'token':_0x3406a8,'value':_0x36274c,'counter':_0x18a543,'resource':_0x76ec7['resource'],'formatKey':_0x531c93,'releasedToReuse':!![],'cancelledAt':_0x46a013};return await this[_0x528f3c(0xe4)](_0x21e2aa,_0x58ddde),this[_0x528f3c(0x1cd)](_0x76ec7['resource'],_0x531c93,{'lastCancelledCounter':_0x18a543,'lastCancelledAt':_0x46a013},_0x65d631),logger[_0x528f3c(0x1be)]({'event':_0x528f3c(0x165),'resource':_0x76ec7['resource'],'formatKey':_0x531c93,'counter':_0x18a543,'token':_0x3406a8},_0x528f3c(0xc5)+_0x36274c+_0x528f3c(0x1af)+_0x3406a8+')'),_0x58ddde;}async[a0_0x3ce6c9(0x19c)](_0x4acb96){const _0x5be1bc=a0_0x3ce6c9,_0x64c327={'pKLxr':'IDGEN_DISABLED','WOtvo':function(_0x173657,_0x18cdd2){return _0x173657*_0x18cdd2;},'iYPwM':function(_0x4a618a,_0xc63415){return _0x4a618a(_0xc63415);},'GTnld':function(_0x3f1bc5,_0x3946db){return _0x3f1bc5!==_0x3946db;},'daipx':'IDGEN_RESERVATION_NOT_FOUND','AKFNG':function(_0x40f88f,_0x4baf39,_0x59bd4b){return _0x40f88f(_0x4baf39,_0x59bd4b);}};if(!this[_0x5be1bc(0x1e6)])throw new IdGeneratorError(_0x64c327[_0x5be1bc(0x1ec)],'ID\x20Generator\x20is\x20disabled');const _0x50fd14=this['_validateReservationToken'](_0x4acb96&&_0x4acb96[_0x5be1bc(0xea)]),_0x55cebc=this[_0x5be1bc(0x10f)](_0x4acb96&&_0x4acb96['ttl']),_0x411c74=this[_0x5be1bc(0x127)](_0x4acb96&&_0x4acb96['idempotencyKey']);let _0x3c1eea=null;if(_0x411c74){_0x3c1eea=idempotencyManager[_0x5be1bc(0x173)]('idgen',_0x5be1bc(0xf8),_0x50fd14+':'+_0x411c74);const _0x137ca2=await this[_0x5be1bc(0xee)](_0x3c1eea);if(_0x137ca2)return _0x137ca2;}const _0x5c3e3a=await this['_getReservationContext'](_0x50fd14),_0x51e710=Date['now'](),_0x31fbe7=_0x51e710+_0x55cebc*0x3e8,_0x5d362f=_0x64c327['WOtvo'](_0x55cebc,0x3e8),_0x3983a2=new Date(_0x31fbe7)['toISOString'](),_0x19cdc7=redisClient[_0x5be1bc(0x13c)](),_0x2061e1=await _0x19cdc7[_0x5be1bc(0x15d)](LUA_EXTEND_RESERVATION,0x2,_0x5c3e3a['rsvKey'],_0x5c3e3a['rsvIdxKey'],_0x50fd14,String(_0x5d362f),_0x64c327[_0x5be1bc(0x197)](String,_0x31fbe7),_0x3983a2);if(!_0x2061e1||_0x64c327['GTnld'](_0x2061e1[0x0],0x1))throw new IdGeneratorError(_0x64c327['daipx'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x50fd14,{'token':_0x50fd14});const _0x2c8f56=_0x2061e1[0x1],_0x3ae1ff=_0x64c327[_0x5be1bc(0x19d)](parseInt,_0x2061e1[0x2],0xa),_0x11e95e=_0x2061e1[0x3],_0x34b82d=_0x2061e1[0x4],_0x36acaa=new Date(_0x51e710)[_0x5be1bc(0xf9)](),_0x1c6db6={'extended':!![],'token':_0x50fd14,'previousExpiresAt':_0x2c8f56,'expiresAt':_0x3983a2,'ttlMs':_0x5d362f,'resource':_0x5c3e3a['resource'],'formatKey':_0x34b82d,'counter':_0x3ae1ff,'value':_0x11e95e,'extendedAt':_0x36acaa};await this[_0x5be1bc(0xe4)](_0x3c1eea,_0x1c6db6);const _0x4ae019=_0x34b82d['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1e474b=_0x4ae019?_0x4ae019[0x1]:_0x5be1bc(0x123),_0x25abfa=this[_0x5be1bc(0x140)](_0x1e474b);return this['_updateMeta'](_0x5c3e3a['resource'],_0x34b82d,{'lastExtendedCounter':_0x3ae1ff,'lastExtendedAt':_0x36acaa},_0x25abfa),logger['info']({'event':'idgen_reservation_extended','resource':_0x5c3e3a['resource'],'formatKey':_0x34b82d,'counter':_0x3ae1ff,'token':_0x50fd14,'ttl':_0x55cebc},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x11e95e+'\x20(token='+_0x50fd14+_0x5be1bc(0x1e7)+_0x55cebc+'s)'),_0x1c6db6;}async[a0_0x3ce6c9(0x13f)](_0x21c041){const _0x57fe6e=a0_0x3ce6c9,_0xfa836f={'WGcSu':'IDGEN_DISABLED','Wqqvo':_0x57fe6e(0x1ce),'vIyWW':function(_0x1a05e2,_0x1a4793){return _0x1a05e2===_0x1a4793;},'BBmtW':function(_0x19ed2d,_0x20316b,_0x511cd1){return _0x19ed2d(_0x20316b,_0x511cd1);},'VYUPS':_0x57fe6e(0x1df),'NtsUq':function(_0x420004,_0x3f2a85){return _0x420004>=_0x3f2a85;}};if(!this[_0x57fe6e(0x1e6)])throw new IdGeneratorError(_0xfa836f['WGcSu'],_0xfa836f['Wqqvo']);const _0x455a2a=this['_validateReservationToken'](_0x21c041&&_0x21c041[_0x57fe6e(0xea)]),_0x5c2db9=this['_buildReservationKey'](_0x455a2a),_0x590e55=redisClient[_0x57fe6e(0x13c)](),_0x21463b=_0x590e55['pipeline']();_0x21463b['hgetall'](_0x5c2db9),_0x21463b['pttl'](_0x5c2db9);const _0x4bbc70=await _0x21463b['exec'](),_0x44e1ea=_0x4bbc70&&_0x4bbc70[0x0]&&_0x4bbc70[0x0][0x1],_0x2c2428=_0x4bbc70&&_0x4bbc70[0x1]&&_0x4bbc70[0x1][0x1];if(!_0x44e1ea||_0xfa836f[_0x57fe6e(0xc6)](Object['keys'](_0x44e1ea)['length'],0x0))throw new IdGeneratorError(_0x57fe6e(0x150),_0x57fe6e(0x18d)+_0x455a2a,{'token':_0x455a2a});return{'token':_0x455a2a,'resource':_0x44e1ea['resource']||null,'formatKey':_0x44e1ea['formatKey']||null,'format':_0x44e1ea['format']||null,'prefix':_0x44e1ea['prefix']||'','separator':_0x44e1ea['separator']||'','numDigits':_0x44e1ea['numDigits']?_0xfa836f['BBmtW'](parseInt,_0x44e1ea['numDigits'],0xa):null,'datePrefix':_0x44e1ea[_0x57fe6e(0x13d)]||'','counter':_0x44e1ea['counter']?parseInt(_0x44e1ea[_0x57fe6e(0xe1)],0xa):null,'value':_0x44e1ea['value']||null,'isReused':_0x44e1ea['isReused']==='1'||_0x44e1ea['isReused']===0x1,'createdAt':_0x44e1ea[_0x57fe6e(0x144)]||null,'expiresAt':_0x44e1ea[_0x57fe6e(0x182)]||null,'ttlRemainingMs':_0xfa836f[_0x57fe6e(0xc6)](typeof _0x2c2428,_0xfa836f[_0x57fe6e(0x124)])&&_0xfa836f[_0x57fe6e(0x119)](_0x2c2428,0x0)?_0x2c2428:null};}async['_getReservationContext'](_0x2bf1a0){const _0x51dee1=a0_0x3ce6c9,_0x1ac735={'qwZKe':_0x51dee1(0x100),'ztOes':function(_0x4c4f97,_0x382163){return _0x4c4f97||_0x382163;},'xhwsQ':'IDGEN_RESERVATION_NOT_FOUND'},_0x20446f=this[_0x51dee1(0x174)](_0x2bf1a0),_0x2438cb=redisClient[_0x51dee1(0x13c)](),_0x331392=await _0x2438cb['hmget'](_0x20446f,_0x1ac735['qwZKe'],_0x51dee1(0x145)),_0xb2f8e4=_0x331392&&_0x331392[0x0],_0x323c3d=_0x331392&&_0x331392[0x1];if(_0x1ac735[_0x51dee1(0x189)](!_0xb2f8e4,!_0x323c3d))throw new IdGeneratorError(_0x1ac735[_0x51dee1(0x177)],_0x51dee1(0x18d)+_0x2bf1a0,{'token':_0x2bf1a0});return{'resource':_0xb2f8e4,'formatKey':_0x323c3d,'rsvKey':_0x20446f,'rsvIdxKey':this['_buildReservationIndexKey'](_0xb2f8e4,_0x323c3d)};}async[a0_0x3ce6c9(0x148)](_0x4d76c8){const _0x237f31=a0_0x3ce6c9,_0x55e331={'Ktdnz':'ID\x20Generator\x20is\x20disabled','CokYE':function(_0x39a6f7,_0x36b01e){return _0x39a6f7===_0x36b01e;},'AnnGq':_0x237f31(0x148),'bRIMh':function(_0x37b5fc,_0x444955){return _0x37b5fc===_0x444955;},'IzrKF':'IDGEN_UNIQUE_RETRY_EXHAUSTED','ERaUw':function(_0x22394a,_0x2620aa){return _0x22394a*_0x2620aa;},'VXKsv':_0x237f31(0x186),'AbGvC':function(_0x2b3405,_0x2fd0f9){return _0x2b3405||_0x2fd0f9;}};if(!this[_0x237f31(0x1e6)])throw new IdGeneratorError('IDGEN_DISABLED',_0x55e331[_0x237f31(0x1bd)]);this[_0x237f31(0xf4)](_0x4d76c8[_0x237f31(0x100)]),this[_0x237f31(0x105)](_0x4d76c8[_0x237f31(0x118)]);const _0x4dde30=this[_0x237f31(0x14b)](_0x4d76c8[_0x237f31(0x1ad)]),_0x420c39=this['_validateMaxRetry'](_0x4d76c8[_0x237f31(0x13e)]),_0x11c53a=this['_validateIdempotencyKey'](_0x4d76c8['idempotencyKey']),_0x55d70f=_0x55e331['CokYE'](_0x4d76c8[_0x237f31(0x18a)],!![]),{resource:_0x2ee547,pattern:_0x2229cb}=_0x4d76c8;let _0x543fea=null;if(_0x11c53a){_0x543fea=this[_0x237f31(0x1d1)](_0x55e331[_0x237f31(0x169)],_0x2ee547,null,_0x11c53a);const _0x13183e=await this['_retrieveIdemCache'](_0x543fea);if(_0x13183e)return _0x13183e;}const _0x3f9087=redisClient['getClient']();let _0x142326=null,_0x34d2dc=0x0;if(!_0x55d70f)_0x142326=this['_generateFromPattern'](_0x2229cb),_0x34d2dc=0x1;else{for(let _0x4c72fc=0x0;_0x4c72fc<_0x420c39;_0x4c72fc++){_0x34d2dc++;const _0x474509=this[_0x237f31(0x14f)](_0x2229cb);if(_0x4dde30){const _0x53b92b=this['_buildActiveKey'](_0x2ee547,_0x474509),_0x533297=await _0x3f9087['set'](_0x53b92b,'1','EX',_0x4dde30,'NX');if(_0x55e331['bRIMh'](_0x533297,'OK')){_0x142326=_0x474509;break;}}else{const _0x48651d=this[_0x237f31(0xe6)](_0x2ee547),_0x1108e1=await _0x3f9087[_0x237f31(0x190)](_0x48651d,_0x474509);if(_0x1108e1===0x1){_0x142326=_0x474509;break;}}}if(_0x55e331[_0x237f31(0x1c7)](_0x142326,null))throw new IdGeneratorError(_0x55e331['IzrKF'],'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x420c39+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x2ee547,'pattern':_0x2229cb,'maxRetry':_0x420c39});}const _0x5d35b9={'value':_0x142326,'resource':_0x2ee547,'pattern':_0x2229cb,'attemptCount':_0x34d2dc,'generatedAt':new Date()[_0x237f31(0xf9)]()};_0x4dde30&&_0x55d70f&&(_0x5d35b9[_0x237f31(0x182)]=new Date(Date[_0x237f31(0x1a7)]()+_0x55e331[_0x237f31(0xd1)](_0x4dde30,0x3e8))[_0x237f31(0xf9)]());const _0x166441=await this[_0x237f31(0x164)](_0x543fea,_0x5d35b9);if(!_0x166441['stored'])return _0x55d70f&&await this['_undoRandomReservation'](_0x2ee547,_0x142326,_0x4dde30),logger['info']({'event':_0x55e331['VXKsv'],'resource':_0x2ee547,'pattern':_0x2229cb,'value':_0x142326},_0x237f31(0xd0)),_0x166441[_0x237f31(0x17c)];return logger['info']({'event':_0x237f31(0x136),'resource':_0x2ee547,'pattern':_0x2229cb,'attemptCount':_0x34d2dc,'ensureUnique':_0x55d70f,'ttl':_0x55e331[_0x237f31(0x110)](_0x4dde30,0x0)},_0x237f31(0xf7)+_0x142326),_0x5d35b9;}async[a0_0x3ce6c9(0x15a)](_0x4d1c30){const _0x169824=a0_0x3ce6c9,_0x5eb306={'bDCOg':function(_0x637a0b,_0x45b1d6){return _0x637a0b<_0x45b1d6;},'oNEhL':function(_0x4c5b08,_0x226c4d){return _0x4c5b08>_0x226c4d;},'dwcnU':function(_0x4725b8,_0x1def22){return _0x4725b8===_0x1def22;}},_0x2db1b7=_0x4d1c30['digits']==null?this[_0x169824(0x14a)]:_0x4d1c30[_0x169824(0x12e)];if(!Number[_0x169824(0xc7)](_0x2db1b7)||_0x5eb306['bDCOg'](_0x2db1b7,MIN_PIN_DIGITS)||_0x5eb306['oNEhL'](_0x2db1b7,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x169824(0xe2),_0x169824(0x12a)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x2db1b7+')');const _0x57c535='9'['repeat'](_0x2db1b7);return this[_0x169824(0x148)]({'resource':_0x4d1c30['resource'],'pattern':_0x57c535,'ensureUnique':_0x5eb306[_0x169824(0x1e0)](_0x4d1c30[_0x169824(0x18a)],!![]),'ttl':_0x4d1c30[_0x169824(0x1ad)],'maxRetry':_0x4d1c30['maxRetry'],'idempotencyKey':_0x4d1c30[_0x169824(0x160)]});}async['serial'](_0x39e8d8){const _0x5be31a=a0_0x3ce6c9,_0x431b78=_0x39e8d8[_0x5be31a(0x118)]||this[_0x5be31a(0xc2)];return this[_0x5be31a(0x148)]({'resource':_0x39e8d8['resource'],'pattern':_0x431b78,'ensureUnique':_0x39e8d8['ensureUnique']!==![],'ttl':_0x39e8d8['ttl'],'maxRetry':_0x39e8d8['maxRetry'],'idempotencyKey':_0x39e8d8[_0x5be31a(0x160)]});}async['code'](_0x1e2602){const _0x438040=a0_0x3ce6c9,_0xc5b76b=_0x1e2602['pattern']||this[_0x438040(0xca)];return this[_0x438040(0x148)]({'resource':_0x1e2602['resource'],'pattern':_0xc5b76b,'ensureUnique':_0x1e2602['ensureUnique']!==![],'ttl':_0x1e2602['ttl'],'maxRetry':_0x1e2602['maxRetry'],'idempotencyKey':_0x1e2602['idempotencyKey']});}async[a0_0x3ce6c9(0x1ae)](_0xc5ef11){const _0x241570=a0_0x3ce6c9,_0x1383ce={'jXgKz':function(_0x48d437,_0x14f570){return _0x48d437===_0x14f570;},'VQAXg':'IDGEN_INVALID_NUMBER','tnaNt':_0x241570(0x178),'YEkYh':'idgen_consumed'};if(!this[_0x241570(0x1e6)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');this[_0x241570(0xf4)](_0xc5ef11['resource']);if(typeof _0xc5ef11['value']!=='string'||_0x1383ce['jXgKz'](_0xc5ef11[_0x241570(0x1c5)]['length'],0x0))throw new IdGeneratorError(_0x1383ce[_0x241570(0xda)],_0x1383ce['tnaNt']);const {resource:_0x2f34ee,value:_0x235ad7}=_0xc5ef11,_0x2cb879=redisClient[_0x241570(0x13c)](),_0x3bbd28=this['_buildActiveKey'](_0x2f34ee,_0x235ad7),_0x538c7b=this['_buildIssuedKey'](_0x2f34ee),[_0x8c4772,_0x352fc1]=await Promise[_0x241570(0x192)]([_0x2cb879[_0x241570(0x155)](_0x3bbd28),_0x2cb879[_0x241570(0x17b)](_0x538c7b,_0x235ad7)]),_0x3499b5=_0x8c4772+_0x352fc1>0x0;return logger[_0x241570(0x1be)]({'event':_0x1383ce[_0x241570(0x1a2)],'resource':_0x2f34ee,'value':_0x235ad7,'consumed':_0x3499b5},'ID\x20Generator\x20consumed:\x20'+_0x235ad7),{'consumed':_0x3499b5,'resource':_0x2f34ee,'value':_0x235ad7,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x273c34){const _0x317248=a0_0x3ce6c9,_0x10dbf3={'YSVpG':'IDGEN_DISABLED','dQLsz':_0x317248(0x1ce),'aVogs':function(_0x240ce4,_0x126274){return _0x240ce4===_0x126274;},'bPsJQ':'number','NNjcZ':function(_0x23b6ce,_0x593dbe){return _0x23b6ce||_0x593dbe;},'PwYVF':function(_0x1b11da,_0x192cae){return _0x1b11da===_0x192cae;},'ZjSAs':_0x317248(0x148)};if(!this['enabled'])throw new IdGeneratorError(_0x10dbf3[_0x317248(0x1a5)],_0x10dbf3['dQLsz']);this[_0x317248(0xf4)](_0x273c34[_0x317248(0x100)]);const _0x173525=_0x273c34[_0x317248(0x1e9)]||_0x317248(0x1df),_0x2a5b97=redisClient[_0x317248(0x13c)]();if(_0x10dbf3[_0x317248(0x10b)](_0x173525,_0x10dbf3[_0x317248(0x1e3)])){const _0x175132=(_0x273c34['format']||'text')['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x175132))throw new IdGeneratorError(_0x317248(0x138),'Invalid\x20format:\x20'+_0x273c34['format']);const {formatKey:_0x1ef6c7}=this['_buildFormatKey'](_0x175132,_0x273c34[_0x317248(0xf2)]||''),_0x353ee9=this[_0x317248(0x116)](_0x273c34['resource'],_0x1ef6c7),_0x6c2d5a=this[_0x317248(0x101)](_0x273c34['resource'],_0x1ef6c7),[_0x2ade3b,_0xa819b7]=await Promise['all']([_0x2a5b97[_0x317248(0x15e)](_0x353ee9),_0x2a5b97['zcard'](_0x6c2d5a)]);return{'resource':_0x273c34['resource'],'mode':_0x10dbf3['bPsJQ'],'formatKey':_0x1ef6c7,'currentCounter':parseInt(_0x2ade3b,0xa)||0x0,'reusePoolSize':_0x10dbf3[_0x317248(0xc3)](_0xa819b7,0x0)};}if(_0x10dbf3['PwYVF'](_0x173525,_0x317248(0x148))){const _0x2012eb=this['_buildIssuedKey'](_0x273c34['resource']),_0x147921=await _0x2a5b97['scard'](_0x2012eb);return{'resource':_0x273c34[_0x317248(0x100)],'mode':_0x10dbf3['ZjSAs'],'issuedCount':_0x147921||0x0};}throw new IdGeneratorError(_0x317248(0x1a8),'Unknown\x20mode:\x20'+_0x173525);}async[a0_0x3ce6c9(0x1da)](_0xe3e8da){const _0x91b6b2=a0_0x3ce6c9,_0x17508c={'atRJS':function(_0x4535e9,_0x197d06){return _0x4535e9>_0x197d06;}},_0x566bea=await this[_0x91b6b2(0xdd)](_0xe3e8da);if(_0x566bea[_0x91b6b2(0x1e9)]===_0x91b6b2(0x1df)){const _0x51751c=redisClient['getClient'](),_0x12ee51=this[_0x91b6b2(0x1b6)](_0xe3e8da['resource'],_0x566bea[_0x91b6b2(0x145)]),_0x3c595a=this['_buildReuseKey'](_0xe3e8da['resource'],_0x566bea['formatKey']),[_0x24cd93,_0x1144e2]=await Promise[_0x91b6b2(0x192)]([_0x51751c[_0x91b6b2(0x1a4)](_0x12ee51),_0x51751c['zrange'](_0x3c595a,0x0,-0x1)]);return{..._0x566bea,'reusePoolValues':_0x1144e2['map'](_0x27b16f=>parseInt(_0x27b16f,0xa)),'meta':_0x24cd93&&_0x17508c['atRJS'](Object['keys'](_0x24cd93)[_0x91b6b2(0xfb)],0x0)?_0x24cd93:null};}return _0x566bea;}async['reset'](_0x4067fc){const _0x1299cc=a0_0x3ce6c9,_0xda74be={'KVroM':_0x1299cc(0x172),'yJVAS':'IDGEN_RESET_NOT_ALLOWED','jFPTe':'number','rSJfR':function(_0x38141b,_0x2185d9){return _0x38141b===_0x2185d9;},'WSTlN':'IDGEN_INVALID_FORMAT','iCRgG':_0x1299cc(0x16e),'eJKvF':_0x1299cc(0x1d9),'QgkfA':'random','qbqVR':'issued','RSfBM':'IDGEN_INVALID_MODE'};if(!this[_0x1299cc(0x1e6)])throw new IdGeneratorError(_0xda74be[_0x1299cc(0x147)],_0x1299cc(0x1ce));if(!this['allowReset'])throw new IdGeneratorError(_0xda74be[_0x1299cc(0x167)],_0x1299cc(0x1bf));this[_0x1299cc(0xf4)](_0x4067fc['resource']);const _0x3f427d=_0x4067fc[_0x1299cc(0x1e9)]||_0xda74be[_0x1299cc(0x1b0)],_0x3a6e19=redisClient['getClient']();if(_0xda74be[_0x1299cc(0x121)](_0x3f427d,'number')){const _0x3bddb3=(_0x4067fc['format']||_0x1299cc(0x123))[_0x1299cc(0x17a)]();if(!ALLOWED_FORMATS[_0x1299cc(0x199)](_0x3bddb3))throw new IdGeneratorError(_0xda74be[_0x1299cc(0x130)],_0x1299cc(0x154)+_0x4067fc[_0x1299cc(0x11b)]);const {formatKey:_0x7c3ea8}=this['_buildFormatKey'](_0x3bddb3,_0x4067fc[_0x1299cc(0xf2)]||''),_0x98a31a=this['_buildSeqKey'](_0x4067fc[_0x1299cc(0x100)],_0x7c3ea8),_0x4b06e4=this['_buildReuseKey'](_0x4067fc[_0x1299cc(0x100)],_0x7c3ea8),_0x28e389=this['_buildMetaKey'](_0x4067fc[_0x1299cc(0x100)],_0x7c3ea8);return await _0x3a6e19[_0x1299cc(0x155)](_0x98a31a,_0x4b06e4,_0x28e389),logger[_0x1299cc(0x1d0)]({'event':_0xda74be['iCRgG'],'resource':_0x4067fc[_0x1299cc(0x100)],'mode':_0xda74be[_0x1299cc(0x1b0)],'formatKey':_0x7c3ea8},_0x1299cc(0x181)+_0x4067fc['resource']+':'+_0x7c3ea8),{'reset':!![],'resource':_0x4067fc[_0x1299cc(0x100)],'mode':_0x1299cc(0x1df),'formatKey':_0x7c3ea8,'deletedKeys':[_0xda74be[_0x1299cc(0x180)],'reuse','meta']};}if(_0xda74be[_0x1299cc(0x121)](_0x3f427d,_0xda74be[_0x1299cc(0x1ca)])){const _0x5eba8f=this['_buildIssuedKey'](_0x4067fc['resource']);return await _0x3a6e19[_0x1299cc(0x155)](_0x5eba8f),logger['warn']({'event':_0xda74be['iCRgG'],'resource':_0x4067fc[_0x1299cc(0x100)],'mode':_0xda74be[_0x1299cc(0x1ca)]},_0x1299cc(0x115)+_0x4067fc['resource']),{'reset':!![],'resource':_0x4067fc['resource'],'mode':_0xda74be['QgkfA'],'deletedKeys':[_0xda74be['qbqVR']]};}throw new IdGeneratorError(_0xda74be['RSfBM'],'Unknown\x20mode:\x20'+_0x3f427d);}}const instance=new IdGenerator();instance[a0_0x3ce6c9(0x1ea)]=IdGeneratorError,module['exports']=instance,module['exports'][a0_0x3ce6c9(0x1ea)]=IdGeneratorError;
|
|
1
|
+
'use strict';const a0_0x2de2bd=a0_0x2bb0;function a0_0x3cab(){const _0x628e3=['AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','zgvS','r3n0BLG','qw1Qr0u','x2rLzMf1BhrdB2rLugf0DgvYBG','mdeYmZq1nJC4oufcq0rfrG','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','AwrLBuTLEq','Dhj0zwW','C3rVCMvK','CMvZzxj2zv9JB25MAxjT','CNrMywu','C3nPtxq','zgvMyxvSDe1HEfjLDhj5','AxnszxvZzwq','BNDVCxq','yM9VBgvHBG','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','D2nXA0W','x3zHBgLKyxrLuMvZzxj2zvruta','y2fUy2vSuMvZzxj2yxrPB24','zgvMyxvSDenVzgvqyxr0zxjU','AxnjBNrLz2vY','ExL5Eq','rK9WCLa','Chr0Ba','C2vX','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','ywn0AxzLoG','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','x3bHzdi','yxDeAu4','ignOyxjZicHNB3qGBgvUz3rOoIa','veHetgO','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','mtC5ntaYodrhwgXyvKG','zM9YBwf0','BwvZC2fNzq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CNn2swr4s2v5','C05vCem','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','nLj6q0X1ra','A0DTruq','y29UzMLYBvjLC2vYDMf0Aw9U','AuvKA0G','q3PyCfq','suqGr2vUzxjHDg9YihjLC2v0oIa','wLnqrgm','s1jstvO','wLvUswq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','Ag1gwhG','CxLnzgG','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x2nVDw50zxjuveXnyxa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','zxHWB3j0CW','yLLtsMW','DuPrDMG','mty3mdiYswHhsfLW','ywXSB3DszxnLDa','x2j1AwXKswrLBuTLEq','t2XOv2u','sMDlwhm','DMfSDwu','y291BNrLCKLUDa','BLLts3C','wvnUqKq','CMvWzwf0','AwrLBvruta','zw5ZDxjLvw5PCxvL','ENfuB2S','vu9WAfG','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','zvPSrwW','BwfW','vw5RBM93BIbTB2rLoIa','D2LUBMvYuMvZDwX0','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','AwrNzw5Fy29UC3vTzwq','x3vWzgf0zu1LDge','BNvTyMvY','thD4zKy','nZe2mZKWt0zesNDP','DhrStxm','BgvUz3rO','AerpB3e','lcbLEhbLy3rLzca','ntu1odKZoeDuB3Dzva','zgLNAxrZ','vwLoDgG','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','Cg93','DhrS','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','Dg9ju09tDhjPBMC','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','surhru5Fsu5wquXjrf9ovu1crvi','Dhj1zq','CNn2x2LKEdO','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','yLb2r1q','Bw9Kzq','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','CM9fu08','z2v0q2XPzw50','x3jLC2vYDMvezwzHDwX0vfrm','zxzHBa','CMfUzg9Tvvvjra','CNzXvMW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','surhru5Fsu5wquXjrf9quKvgsvG','AxnZDwvKoG','AwrNzw4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','x2LUAxrPywXPEMvK','x3n0B3jLswrLBunHy2HL','x3vUzg9syw5KB21szxnLCNzHDgLVBG','x2j1AwXKtwv0yuTLEq','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','x3rLEhq','AhnLDa','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','A2v5uhjLzML4','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','zxHWAxjLC0f0','zw5HyMXLza','AgDLDgfSBa','ChvZAa','Cw9uswq','x2fSBg93uMvZzxq','CMvZB3vYy2u','surhru5FreLtqujmruq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','DMfSDwuGAxmGCMvXDwLYzwq','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','Aw5MBW','DKDnzNq','x2vUC3vYzuLUAxrPywXPEMvK','zenUAxa','xLXKEW','zw50CMLLCW','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2j1AwXKqwn0AxzLs2v5','m0nLD1vUzG','x2j1AwXKrM9YBwf0s2v5','Cw9xyxi','sfffyui','y291BNrLCG','surhru5FquXmt1DFuKvtrvq','AgfZ','suqGr2vUzxjHDg9Yig51BwjLCJOG','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','vhn3q2O','x2DLBMvYyxrLrNjVBvbHDhrLCM4','C2v0zxG','ywXS','CNn2s2v5','EMnHCMq','EhrkqKS','D2fYBG','Bwf0y2G','y3j5ChrV','x2j1AwXKsxnZDwvKs2v5','Dg9Rzw4','C2vWyxjHDg9Y','x2vUywjSzwq','ENLnyKC','wLLTEMe','x2j1AwXKuMv1C2vlzxK','zw52','t0zUqLC','ihnLy29UzhmGkgDVDdOG','mty2mJy5DvjtuK5r','AwrNzw5FCMvZzxq','Axr2AKy','vujtwxO','C3jLBq','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','CMfUzg9T','x3zHBgLKyxrLugf0DgvYBG','C2fKza','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','x3zHBgLKyxrLvfrm','B252A1q','CKTUtuq','mJe1oda4nvfju2LkyW','wvHctuu','CMvSzwfZzwrbDa','Bwf4uMv0CNK','Cgf0DgvYBG','x2rLzMf1BhrqAw5eAwDPDhm','nfDwBuvVqW','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','CMv1C2u6','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','CgfYC2u','shL3r3O','wfHywc1ywfHylvHywfGTwfHywa','z2v0uMvZzxj2yxrPB24','C3rYAw5NAwz5','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','rxjvrxa','CxH3z1y','nda4txDjrMHo','v1jqAgm','x3n0B3jLswrLBunHy2HLtLG','EgvsA1e','zM9YBwf0s2v5','x3bHCNnLtNvTyMvY','surhru5Fsu5wquXjrf9nt0rf','swrhzw5LCMf0B3jfCNjVCG','mtm0nZuXmgLnwhbwua','x3jLC2vYDMvnyxHuveW','z2PmwKe','A0DMAgm','zgv0ywLSCW','sw52ywXPzcbMB3jTyxq6ia','surhru5Fsu5wquXjrf9gt1jnqvq','x2zVCM1HDe51BwjLCG','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','Bg1ztem','C2v0','x2LKzw1uveW','uM1PDeW','x2DLDenVDw50zxjuveW','z2v0','mdeYmZq1nJC4owfIy2rLzG','zfLQBxC','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','Dgv4Da','y29Kzq','x2rLzMf1BhrtzxjPywXqyxr0zxjU','zxHLyW','igv4y2vLzhmG','icHNB3q6ia','lcaR','ihbHCNrZkq','EKXhEee','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','C2vXoG','icH0B2TLBJ0','zgf0zvbYzwzPEa','x2j1AwXKuMvZzxj2yxrPB25lzxK','B05nv28','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','ChjLzML4','twv0ysb1CgrHDguGzxjYB3i','C3bSAxq','C3rYAw5N','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','surhru5Fsu5wquXjrf9qqvrurvjo','x3zHBgLKyxrLuMvZB3vYy2u','veTKyvy','DgvZDa','twXvAfO','CMvZzxj2zurLzMf1BhruveW','y29UC3vTzq','x3zHBgLKyxrLtwf4uMv0CNK','BM93','ExL5Ew1T','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','zgvMyxvSDfbPBKrPz2L0CW','surhru5Fsu5wquXjrf9ut0TftG','uvfvDxu','surhru5FuKvtrvjwrv9nqvHFvfrm','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3jLDhjPzxzLswrLBunHy2HL','x2j1AwXKu2vXs2v5','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK'];a0_0x3cab=function(){return _0x628e3;};return a0_0x3cab();}(function(_0x2a5ef4,_0x4a3c87){const _0x24a890=a0_0x2bb0,_0x2d641f=_0x2a5ef4();while(!![]){try{const _0x400a0c=-parseInt(_0x24a890(0x1be))/0x1*(parseInt(_0x24a890(0x17f))/0x2)+-parseInt(_0x24a890(0x1db))/0x3*(parseInt(_0x24a890(0x1ee))/0x4)+parseInt(_0x24a890(0x1e8))/0x5*(parseInt(_0x24a890(0x154))/0x6)+parseInt(_0x24a890(0x184))/0x7+parseInt(_0x24a890(0x1fa))/0x8*(-parseInt(_0x24a890(0x166))/0x9)+-parseInt(_0x24a890(0xef))/0xa+parseInt(_0x24a890(0x14d))/0xb;if(_0x400a0c===_0x4a3c87)break;else _0x2d641f['push'](_0x2d641f['shift']());}catch(_0x937c3a){_0x2d641f['push'](_0x2d641f['shift']());}}}(a0_0x3cab,0x9dcea));const crypto=require(a0_0x2de2bd(0x1d0)),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set([a0_0x2de2bd(0x101),'yyyy',a0_0x2de2bd(0x11f),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x2de2bd(0x12e),CHARSET_HEX_LOWER=a0_0x2de2bd(0xfe),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x2de2bd(0x1b5),LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x2de2bd(0x1b2),LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x2de2bd(0x17a);function a0_0x2bb0(_0x22aa60,_0x36c347){_0x22aa60=_0x22aa60-0xe9;const _0x3cab92=a0_0x3cab();let _0x2bb027=_0x3cab92[_0x22aa60];if(a0_0x2bb0['KYvZQo']===undefined){var _0x117643=function(_0x373c66){const _0x45da2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4534d6='',_0x57a3e9='';for(let _0x565ce7=0x0,_0x194572,_0x302cb8,_0x367f23=0x0;_0x302cb8=_0x373c66['charAt'](_0x367f23++);~_0x302cb8&&(_0x194572=_0x565ce7%0x4?_0x194572*0x40+_0x302cb8:_0x302cb8,_0x565ce7++%0x4)?_0x4534d6+=String['fromCharCode'](0xff&_0x194572>>(-0x2*_0x565ce7&0x6)):0x0){_0x302cb8=_0x45da2a['indexOf'](_0x302cb8);}for(let _0xf11bd2=0x0,_0x1b97e6=_0x4534d6['length'];_0xf11bd2<_0x1b97e6;_0xf11bd2++){_0x57a3e9+='%'+('00'+_0x4534d6['charCodeAt'](_0xf11bd2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57a3e9);};a0_0x2bb0['VuITEO']=_0x117643,a0_0x2bb0['PzdChd']={},a0_0x2bb0['KYvZQo']=!![];}const _0x1875f5=_0x3cab92[0x0],_0x33d107=_0x22aa60+_0x1875f5,_0x5212d7=a0_0x2bb0['PzdChd'][_0x33d107];return!_0x5212d7?(_0x2bb027=a0_0x2bb0['VuITEO'](_0x2bb027),a0_0x2bb0['PzdChd'][_0x33d107]=_0x2bb027):_0x2bb027=_0x5212d7,_0x2bb027;}class IdGeneratorError extends Error{constructor(_0x252e05,_0x1f4419,_0x1759cc=null){const _0x2e8e38=a0_0x2de2bd,_0x236afb={'SJmYM':_0x2e8e38(0xee)};super(_0x1f4419||_0x252e05),this['name']=_0x236afb['SJmYM'],this[_0x2e8e38(0x102)]=_0x252e05,this[_0x2e8e38(0xf3)]=_0x1759cc;}}class IdGenerator{constructor(){const _0x13ffbd=a0_0x2de2bd;this[_0x13ffbd(0x1a0)]=![],this['_enabled']=null,this['_keyPrefix']=null,this[_0x13ffbd(0xfa)]=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this[_0x13ffbd(0x103)]=null,this['_defaultCodePattern']=null,this['_counterTTLMap']=null,this['_reserveDefaultTTL']=null,this[_0x13ffbd(0xf0)]=null;}['_initConfig'](){const _0x1dd9bf=a0_0x2de2bd,_0x2b107e={'xeRkQ':'1|5|10|8|11|0|6|2|12|9|3|4|7','rtfae':'9999-9999','ErUEp':_0x1dd9bf(0x18f),'rvqVl':'idgen_config_init','YXiPc':function(_0x28b4c8,_0x871f93){return _0x28b4c8===_0x871f93;},'wcqkL':function(_0x2613b7,_0x598f65,_0x20ae6c){return _0x2613b7(_0x598f65,_0x20ae6c);}},_0xc9a8be=_0x2b107e[_0x1dd9bf(0xea)][_0x1dd9bf(0x113)]('|');let _0x585207=0x0;while(!![]){switch(_0xc9a8be[_0x585207++]){case'0':this[_0x1dd9bf(0x1ed)]=parseInt(process[_0x1dd9bf(0x1d8)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'1':this['_keyPrefix']='rf:idgen:';continue;case'2':this['_defaultCodePattern']=process['env'][_0x1dd9bf(0x10a)]||_0x2b107e[_0x1dd9bf(0x134)];continue;case'3':this[_0x1dd9bf(0xf0)]=parseInt(process['env'][_0x1dd9bf(0x124)],0xa)||MAX_RESERVE_TTL;continue;case'4':this['_initialized']=!![];continue;case'5':this['_enabled']=process['env']['IDGEN_ENABLED']===_0x2b107e['ErUEp'];continue;case'6':this[_0x1dd9bf(0x103)]=process[_0x1dd9bf(0x1d8)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x1dd9bf(0x1f4);continue;case'7':logger[_0x1dd9bf(0x1b6)]({'event':_0x2b107e[_0x1dd9bf(0x19a)],'enabled':this[_0x1dd9bf(0x1d4)],'idemTTL':this[_0x1dd9bf(0xfa)],'allowReset':this[_0x1dd9bf(0x1af)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this['_enabled']);continue;case'8':this['_allowReset']=_0x2b107e['YXiPc'](process['env'][_0x1dd9bf(0x1c3)],_0x2b107e[_0x1dd9bf(0x1f8)]);continue;case'9':this['_reserveDefaultTTL']=_0x2b107e[_0x1dd9bf(0x13b)](parseInt,process[_0x1dd9bf(0x1d8)][_0x1dd9bf(0x144)],0xa)||DEFAULT_RESERVE_TTL;continue;case'10':this[_0x1dd9bf(0xfa)]=parseInt(process[_0x1dd9bf(0x1d8)]['IDGEN_IDEM_TTL'],0xa)||0x258;continue;case'11':this['_defaultMaxRetry']=parseInt(process[_0x1dd9bf(0x1d8)]['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa;continue;case'12':this[_0x1dd9bf(0x161)]={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;}break;}}['_ensureInitialized'](){const _0x2258ac=a0_0x2de2bd;if(!this[_0x2258ac(0x1a0)])this['_initConfig']();}get[a0_0x2de2bd(0x1ab)](){const _0xe876b7=a0_0x2de2bd;return this[_0xe876b7(0x1b8)](),this['_enabled'];}get['keyPrefix'](){const _0x5ca9f9=a0_0x2de2bd;return this[_0x5ca9f9(0x1b8)](),this['_keyPrefix'];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x2de2bd(0x121)](){const _0x5d6016=a0_0x2de2bd;return this[_0x5d6016(0x1b8)](),this[_0x5d6016(0x1ed)];}get['defaultSerialPattern'](){const _0x70875f=a0_0x2de2bd;return this[_0x70875f(0x1b8)](),this[_0x70875f(0x103)];}get[a0_0x2de2bd(0x13e)](){const _0x38dfc1=a0_0x2de2bd;return this['_ensureInitialized'](),this[_0x38dfc1(0x12d)];}get['reserveDefaultTTL'](){const _0x2929c5=a0_0x2de2bd;return this['_ensureInitialized'](),this[_0x2929c5(0x197)];}get['reserveMaxTTL'](){const _0x1da748=a0_0x2de2bd;return this[_0x1da748(0x1b8)](),this[_0x1da748(0xf0)];}['isEnabled'](){const _0x10ac7d=a0_0x2de2bd;return this[_0x10ac7d(0x1ab)];}[a0_0x2de2bd(0x117)](_0x146a5b){const _0x4b9b61=a0_0x2de2bd,_0x2703da={'KRRMZ':'IDGEN_INVALID_RESOURCE'};if(typeof _0x146a5b!=='string'||!RESOURCE_REGEX[_0x4b9b61(0x119)](_0x146a5b))throw new IdGeneratorError(_0x2703da[_0x4b9b61(0x15b)],_0x4b9b61(0x1e4)+RESOURCE_REGEX+_0x4b9b61(0x106)+JSON['stringify'](_0x146a5b)+')');}[a0_0x2de2bd(0x15d)](_0x16fc8a){const _0x4d5014=a0_0x2de2bd,_0x10ca57={'YSnBD':function(_0x5dfb27,_0x736792){return _0x5dfb27===_0x736792;},'dYjmw':_0x4d5014(0xf5),'qdwor':function(_0x3a362e,_0x5d3945){return _0x3a362e>_0x5d3945;},'LwxfF':function(_0x3004a5,_0x1c97e9){return _0x3004a5!==_0x1c97e9;},'zqTok':_0x4d5014(0x19c),'aixah':'string','OlhWe':function(_0x300984,_0x114cfb){return _0x300984>_0x114cfb;},'JfzGN':'IDGEN_INVALID_SEPARATOR','RmitL':_0x4d5014(0x139),'aYabb':'IDGEN_INVALID_RESOURCE'},{resource:_0x3ad6fd,format:_0x1070c4,prefix:_0x1598ac,separator:_0x12d722,numDigits:_0x572ea1,reuseDelete:_0x3ab6ab}=_0x16fc8a;this[_0x4d5014(0x117)](_0x3ad6fd);const _0x3b8e00=_0x10ca57[_0x4d5014(0x16e)](typeof _0x1070c4,'string')?_0x1070c4['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x3b8e00))throw new IdGeneratorError(_0x10ca57[_0x4d5014(0xff)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x1070c4+')');if(!Number['isInteger'](_0x572ea1)||_0x572ea1<MIN_NUM_DIGITS||_0x10ca57['qdwor'](_0x572ea1,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x572ea1+')');const _0x4210b1=_0x1598ac==null?'':_0x1598ac;if(_0x10ca57[_0x4d5014(0x17e)](typeof _0x4210b1,_0x4d5014(0x114))||!PREFIX_REGEX['test'](_0x4210b1))throw new IdGeneratorError(_0x10ca57[_0x4d5014(0x172)],_0x4d5014(0x1a4)+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x4d5014(0x1f6)](_0x1598ac)+')');const _0x44efcb=_0x12d722==null?'':_0x12d722;if(_0x10ca57['LwxfF'](typeof _0x44efcb,_0x10ca57['aixah'])||_0x10ca57[_0x4d5014(0x169)](_0x44efcb[_0x4d5014(0x181)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x44efcb))throw new IdGeneratorError(_0x10ca57['JfzGN'],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x4d5014(0x1f6)](_0x12d722)+')');if(_0x3ab6ab!=null&&typeof _0x3ab6ab!==_0x10ca57[_0x4d5014(0xfb)])throw new IdGeneratorError(_0x10ca57['aYabb'],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x3ab6ab+')');return{'resource':_0x3ad6fd,'format':_0x3b8e00,'prefix':_0x4210b1,'separator':_0x44efcb,'numDigits':_0x572ea1,'reuseDelete':_0x3ab6ab===!![]};}[a0_0x2de2bd(0x1e2)](_0x3734e2){const _0x4fd0ba=a0_0x2de2bd,_0x1c0d93={'YhdUj':'string'};if(typeof _0x3734e2!==_0x1c0d93['YhdUj']||_0x3734e2['length']===0x0||_0x3734e2['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x4fd0ba(0x120)+MAX_PATTERN_LENGTH+_0x4fd0ba(0x14a)+(_0x3734e2&&_0x3734e2[_0x4fd0ba(0x181)])+')');let _0x138bba=![];for(const _0xf19003 of _0x3734e2){if(PLACEHOLDER_MAP[_0xf19003]){_0x138bba=!![];break;}}if(!_0x138bba)throw new IdGeneratorError(_0x4fd0ba(0x116),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0xb530a){const _0x17c259=a0_0x2de2bd,_0x4112f1={'cAgcH':function(_0x30e811,_0x2ce0b0){return _0x30e811==_0x2ce0b0;},'qEkTY':function(_0x352acf,_0x2c98f5){return _0x352acf<_0x2c98f5;}};if(_0x4112f1['cAgcH'](_0xb530a,null))return undefined;if(!Number['isInteger'](_0xb530a)||_0x4112f1['qEkTY'](_0xb530a,0x1)||_0xb530a>MAX_TTL)throw new IdGeneratorError('IDGEN_INVALID_TTL','Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x17c259(0x1da)+_0xb530a+')');return _0xb530a;}[a0_0x2de2bd(0x11d)](_0x3dca08){const _0x4d1ac4=a0_0x2de2bd,_0x378a33={'QrGcA':function(_0xa0914b,_0x5ea915){return _0xa0914b<_0x5ea915;}};if(_0x3dca08==null)return this[_0x4d1ac4(0x136)];if(!Number[_0x4d1ac4(0x13f)](_0x3dca08)||_0x378a33['QrGcA'](_0x3dca08,0x1)||_0x3dca08>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x4d1ac4(0x106)+_0x3dca08+')');return _0x3dca08;}[a0_0x2de2bd(0x162)](_0xeb82df){const _0x42f1e4=a0_0x2de2bd,_0x22d9de={'gJXgJ':function(_0x156dc9,_0x2ffae1){return _0x156dc9!==_0x2ffae1;}};if(_0xeb82df==null)return undefined;if(_0x22d9de['gJXgJ'](typeof _0xeb82df,_0x42f1e4(0x114))||_0xeb82df['length']===0x0||_0xeb82df[_0x42f1e4(0x181)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0xeb82df;}['_validateReserveTTL'](_0x23b9b8){const _0x5934f6=a0_0x2de2bd;if(_0x23b9b8==null)return this[_0x5934f6(0x11b)];if(!Number['isInteger'](_0x23b9b8)||_0x23b9b8<MIN_RESERVE_TTL||_0x23b9b8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x5934f6(0x1a7),_0x5934f6(0x147)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x5934f6(0x1da)+_0x23b9b8+')');return _0x23b9b8;}['_validateReservationToken'](_0x34e8f9){const _0x5c4f07=a0_0x2de2bd,_0x199040={'qukDD':function(_0x2cafa8,_0x517e09){return _0x2cafa8!==_0x517e09;},'qoWar':'string'};if(_0x199040['qukDD'](typeof _0x34e8f9,_0x199040[_0x5c4f07(0x1c0)])||!RESERVATION_TOKEN_REGEX['test'](_0x34e8f9))throw new IdGeneratorError(_0x5c4f07(0x122),'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON[_0x5c4f07(0x1f6)](_0x34e8f9)+')');return _0x34e8f9;}['_pad2'](_0x12835a){return String(_0x12835a)['padStart'](0x2,'0');}['_buildFormatKey'](_0x32babc,_0x46f837,_0x1fe9d3=new Date()){const _0x16509c=a0_0x2de2bd,_0xd7decb={'kGfhc':function(_0x38df90,_0x139b01){return _0x38df90||_0x139b01;},'GtNlA':'yyyymm','NltCc':'yyyymmdd','flmTp':_0x16509c(0xf5)},_0x5f4666=_0x1fe9d3['getFullYear'](),_0x262398=this[_0x16509c(0x148)](_0x1fe9d3['getMonth']()+0x1),_0x5cd433=this[_0x16509c(0x148)](_0x1fe9d3['getDate']()),_0x7c4a6c=_0xd7decb[_0x16509c(0xf2)](_0x46f837,'_');let _0x2a3113,_0x45da49='';switch(_0x32babc){case _0x16509c(0x101):_0x2a3113=_0x7c4a6c+_0x16509c(0x1a5);break;case _0x16509c(0x140):_0x45da49=''+_0x5f4666,_0x2a3113=_0x7c4a6c+'_yyyy_'+_0x45da49;break;case _0xd7decb['GtNlA']:_0x45da49=''+_0x5f4666+_0x262398,_0x2a3113=_0x7c4a6c+'_yyyymm_'+_0x45da49;break;case _0xd7decb['NltCc']:_0x45da49=''+_0x5f4666+_0x262398+_0x5cd433,_0x2a3113=_0x7c4a6c+'_yyyymmdd_'+_0x45da49;break;default:throw new IdGeneratorError(_0xd7decb['flmTp'],'Unknown\x20format:\x20'+_0x32babc);}return{'formatKey':_0x2a3113,'datePrefix':_0x45da49};}['_buildSeqKey'](_0xceb90d,_0x5cdede){const _0x4a294d=a0_0x2de2bd;return this['keyPrefix']+_0x4a294d(0x10b)+_0xceb90d+':'+_0x5cdede;}['_buildReuseKey'](_0x250054,_0x1a6631){const _0x418a25=a0_0x2de2bd;return this[_0x418a25(0x1a8)]+_0x418a25(0x1f0)+_0x250054+':'+_0x1a6631;}[a0_0x2de2bd(0x1a3)](_0x587863,_0x945990){return this['keyPrefix']+'meta:'+_0x587863+':'+_0x945990;}['_buildIssuedKey'](_0x4e805a){const _0x4ef1d6=a0_0x2de2bd;return this['keyPrefix']+_0x4ef1d6(0x19d)+_0x4e805a;}[a0_0x2de2bd(0x1bd)](_0x93fe36,_0x18b0e1){const _0x467195=a0_0x2de2bd;return this[_0x467195(0x1a8)]+_0x467195(0x146)+_0x93fe36+':'+_0x18b0e1;}['_buildReservationKey'](_0x1f267a){return this['keyPrefix']+'rsv:'+_0x1f267a;}[a0_0x2de2bd(0x1bc)](_0x51e48c,_0x17976f){const _0x263a08=a0_0x2de2bd;return this[_0x263a08(0x1a8)]+_0x263a08(0x190)+_0x51e48c+':'+_0x17976f;}[a0_0x2de2bd(0x1a9)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x16c942,_0x1af96b,_0x2f977f,_0x5a1459){const _0x17cc9c=a0_0x2de2bd,_0x28fb40={'HkCVB':_0x17cc9c(0x19e)};if(_0x2f977f)return idempotencyManager['buildDeterministicKey'](_0x17cc9c(0x19e),_0x16c942,_0x1af96b+':'+_0x2f977f+':'+_0x5a1459);return idempotencyManager[_0x17cc9c(0x150)](_0x28fb40['HkCVB'],_0x16c942,_0x1af96b+':'+_0x5a1459);}[a0_0x2de2bd(0xfc)](_0x497259){return this['_counterTTLMap'][_0x497259]||0x0;}[a0_0x2de2bd(0xf6)]({format:_0x40e77a,prefix:_0x5a49dc,datePrefix:_0x297d6d,separator:_0x47b4b5,numDigits:_0x2c0555,counterInt:_0x4e7a84}){const _0x22a9d0=a0_0x2de2bd,_0x74c8d={'ZUnId':function(_0x526a2d,_0x36ba1e){return _0x526a2d-_0x36ba1e;},'FRlPI':function(_0x2c6c8a,_0x507ab4){return _0x2c6c8a>_0x507ab4;},'irlyY':function(_0x57ed6e,_0x39d442){return _0x57ed6e(_0x39d442);},'roESO':_0x22a9d0(0x101)},_0x329f9d=_0x74c8d[_0x22a9d0(0x15c)](Math[_0x22a9d0(0x189)](0xa,_0x2c0555),0x1);if(_0x74c8d['FRlPI'](_0x4e7a84,_0x329f9d))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW','Counter\x20overflow:\x20'+_0x4e7a84+_0x22a9d0(0x105)+_0x2c0555+'-digit\x20capacity\x20('+_0x329f9d+').\x20Increase\x20numDigits.',{'counterInt':_0x4e7a84,'numDigits':_0x2c0555,'max':_0x329f9d});const _0x3fca71=_0x74c8d['irlyY'](String,_0x4e7a84)['padStart'](_0x2c0555,'0');if(_0x40e77a===_0x74c8d[_0x22a9d0(0x195)])return _0x5a49dc?''+_0x5a49dc+_0x47b4b5+_0x3fca71:_0x3fca71;return _0x5a49dc?''+_0x5a49dc+_0x47b4b5+_0x297d6d+_0x47b4b5+_0x3fca71:''+_0x297d6d+_0x47b4b5+_0x3fca71;}['_parseNumber']({format:_0x1c2c3b,prefix:_0x16ab1c,separator:_0x1bb928,numDigits:_0x272653,number:_0x4f56cd}){const _0x53331b=a0_0x2de2bd,_0x2b9536={'trtel':function(_0x10ee91,_0x2199d0){return _0x10ee91!==_0x2199d0;},'Pawqh':_0x53331b(0x114),'vGMft':function(_0x45f820,_0x41b8d3){return _0x45f820===_0x41b8d3;},'pvCya':_0x53331b(0x18e),'obdSe':function(_0x18a1ee,_0x3f5359){return _0x18a1ee!==_0x3f5359;},'pIWRS':function(_0x4b6206,_0x1e31f3){return _0x4b6206===_0x1e31f3;},'qoTId':_0x53331b(0x140),'CzXpT':_0x53331b(0x11f),'QQUuu':function(_0x550ae9,_0x3aed2c,_0x742354){return _0x550ae9(_0x3aed2c,_0x742354);},'MMWsR':function(_0x57b8a3,_0x2f2ce4){return _0x57b8a3||_0x2f2ce4;},'ewtVK':function(_0x1c21dd,_0x5ac777){return _0x1c21dd===_0x5ac777;},'QZfRP':'text'};if(_0x2b9536[_0x53331b(0x131)](typeof _0x4f56cd,_0x2b9536['Pawqh'])||_0x2b9536[_0x53331b(0x1b7)](_0x4f56cd['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x53331b(0x145));const _0x1ca8a5=_0x1bb928||'',_0xdae353=_0x2b9536['vGMft'](_0x1ca8a5,'')?[_0x4f56cd]:_0x4f56cd[_0x53331b(0x113)](_0x1ca8a5);let _0x431456='',_0x249ae4;if(_0x2b9536[_0x53331b(0x1b7)](_0x1c2c3b,_0x53331b(0x101))){if(_0x16ab1c){if(_0xdae353[_0x53331b(0x181)]!==0x2||_0x2b9536[_0x53331b(0x131)](_0xdae353[0x0],_0x16ab1c))throw new IdGeneratorError(_0x2b9536['pvCya'],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x1ca8a5+'padded\x20(got:\x20'+_0x4f56cd+')');_0x249ae4=_0xdae353[0x1];}else{if(_0x2b9536[_0x53331b(0x131)](_0xdae353['length'],0x1))throw new IdGeneratorError(_0x53331b(0x18e),'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x4f56cd+')');_0x249ae4=_0xdae353[0x0];}}else{const _0x26991f=_0x16ab1c?0x3:0x2;if(_0x2b9536['obdSe'](_0xdae353[_0x53331b(0x181)],_0x26991f))throw new IdGeneratorError(_0x2b9536['pvCya'],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x4f56cd+_0x53331b(0x183)+_0x26991f+_0x53331b(0x108));let _0x4c2fb1=0x0;if(_0x16ab1c){if(_0x2b9536[_0x53331b(0x131)](_0xdae353[_0x4c2fb1],_0x16ab1c))throw new IdGeneratorError(_0x2b9536['pvCya'],_0x53331b(0x110)+_0x16ab1c+',\x20got\x20'+_0xdae353[_0x4c2fb1]);_0x4c2fb1++;}_0x431456=_0xdae353[_0x4c2fb1++];const _0x2bc6d2=_0x2b9536['pIWRS'](_0x1c2c3b,_0x2b9536[_0x53331b(0x1ae)])?/^\d{4}$/:_0x1c2c3b===_0x2b9536[_0x53331b(0x158)]?/^\d{6}$/:/^\d{8}$/;if(!_0x2bc6d2['test'](_0x431456))throw new IdGeneratorError(_0x2b9536['pvCya'],_0x53331b(0x187)+_0x1c2c3b+':\x20'+_0x431456);_0x249ae4=_0xdae353[_0x4c2fb1];}if(!new RegExp(_0x53331b(0x1ba)+_0x272653+'}$')[_0x53331b(0x119)](_0x249ae4))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x53331b(0x12f)+_0x272653+'\x20digits\x20(got:\x20'+_0x249ae4+')');const _0x40e9c2=_0x2b9536[_0x53331b(0x123)](parseInt,_0x249ae4,0xa),_0x2b90fa=_0x2b9536['MMWsR'](_0x16ab1c,'_');let _0xb9e4e4;return _0x2b9536['ewtVK'](_0x1c2c3b,_0x2b9536['QZfRP'])?_0xb9e4e4=_0x2b90fa+'_text':_0xb9e4e4=_0x2b90fa+'_'+_0x1c2c3b+'_'+_0x431456,{'formatKey':_0xb9e4e4,'counterInt':_0x40e9c2,'datePrefix':_0x431456};}[a0_0x2de2bd(0x1c8)](_0x317a2c){let _0x58dd29='';for(const _0x3021df of _0x317a2c){const _0x94e43e=PLACEHOLDER_MAP[_0x3021df];if(_0x94e43e){const _0x509b02=crypto['randomInt'](0x0,_0x94e43e['length']);_0x58dd29+=_0x94e43e[_0x509b02];}else _0x58dd29+=_0x3021df;}return _0x58dd29;}async['_retrieveIdemCache'](_0x22d187){const _0xadbe5f=a0_0x2de2bd,_0x497d8d={'ZSPDc':'Idempotency\x20cache\x20HIT','zLGxA':'idgen_idem_retrieve_error'};if(!_0x22d187)return null;try{const _0x43312c=redisClient[_0xadbe5f(0x196)](),_0x4ad50b=await _0x43312c[_0xadbe5f(0xfd)](_0x22d187);if(_0x4ad50b)return logger['info']({'event':'idgen_idem_hit','key':_0x22d187},_0x497d8d[_0xadbe5f(0x15a)]),JSON[_0xadbe5f(0x1f2)](_0x4ad50b);return null;}catch(_0x1dbf0d){return logger['warn']({'event':_0x497d8d[_0xadbe5f(0x109)],'error':_0x1dbf0d['message']},'Idempotency\x20retrieve\x20error'),null;}}async[a0_0x2de2bd(0x1a1)](_0x13734b,_0x2a3d13){const _0x1334fc=a0_0x2de2bd,_0x24ac7b={'hDOoq':_0x1334fc(0xf7)};if(!_0x13734b)return;try{const _0x1e01e2=redisClient[_0x1334fc(0x196)]();await _0x1e01e2[_0x1334fc(0x1c9)](_0x13734b,this[_0x1334fc(0x170)],JSON['stringify'](_0x2a3d13));}catch(_0x2ce637){logger[_0x1334fc(0x1ce)]({'event':_0x24ac7b[_0x1334fc(0x182)],'error':_0x2ce637[_0x1334fc(0x14f)]},_0x1334fc(0x160));}}async['_storeIdemCacheNX'](_0x114ee7,_0x36e289){const _0x774587=a0_0x2de2bd,_0xbc4bc3={'QKuTv':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','WEvMO':'Idempotency\x20SET\x20NX\x20error'};if(!_0x114ee7)return{'stored':!![],'winnerResult':null};try{const _0xd372ab=redisClient['getClient'](),_0x2654a7=JSON['stringify'](_0x36e289),_0x3c845c=await _0xd372ab['set'](_0x114ee7,_0x2654a7,'EX',this['idemTTL'],'NX');if(_0x3c845c==='OK')return{'stored':!![],'winnerResult':null};const _0xd4e719=await _0xd372ab['get'](_0x114ee7);if(_0xd4e719)return{'stored':![],'winnerResult':JSON['parse'](_0xd4e719)};return logger[_0x774587(0x1ce)]({'event':_0x774587(0x13a),'key':_0x114ee7},_0xbc4bc3['QKuTv']),{'stored':!![],'winnerResult':null};}catch(_0x25e48b){return logger['warn']({'event':'idgen_idem_storenx_error','error':_0x25e48b['message']},_0xbc4bc3['WEvMO']),{'stored':!![],'winnerResult':null};}}async[a0_0x2de2bd(0x1a2)](_0x4b0452,_0x4ce3b7,_0x2c9b54){const _0x1c1e06=a0_0x2de2bd;try{const _0x3f33b8=redisClient['getClient']();if(_0x2c9b54){const _0x134ab5=this['_buildActiveKey'](_0x4b0452,_0x4ce3b7);await _0x3f33b8[_0x1c1e06(0x12a)](_0x134ab5);}else{const _0x3d248f=this['_buildIssuedKey'](_0x4b0452);await _0x3f33b8[_0x1c1e06(0x1df)](_0x3d248f,_0x4ce3b7);}}catch(_0x5ccfd5){logger['warn']({'event':'idgen_random_undo_error','error':_0x5ccfd5['message']},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async['_updateMeta'](_0x4d9af7,_0x51630a,_0x2f8d7f,_0x3fc244=0x0){const _0x1e76f5=a0_0x2de2bd,_0x292b85={'sNUpC':function(_0x339e6b,_0x45a2fc){return _0x339e6b(_0x45a2fc);},'YDYIs':_0x1e76f5(0x112)};try{const _0x14c2cd=redisClient['getClient'](),_0x2f0eb1=this[_0x1e76f5(0x1a3)](_0x4d9af7,_0x51630a),_0x5d2a9c=[];for(const [_0x5c25ab,_0x15c919]of Object[_0x1e76f5(0x1bb)](_0x2f8d7f)){_0x5d2a9c[_0x1e76f5(0x1ad)](_0x5c25ab,_0x292b85[_0x1e76f5(0x152)](String,_0x15c919));}if(_0x5d2a9c[_0x1e76f5(0x181)]>0x0){await _0x14c2cd[_0x1e76f5(0x1a6)](_0x2f0eb1,..._0x5d2a9c);if(_0x3fc244>0x0)await _0x14c2cd['expire'](_0x2f0eb1,_0x3fc244);}}catch(_0xc2637e){logger['warn']({'event':'idgen_meta_update_error','error':_0xc2637e['message']},_0x292b85['YDYIs']);}}async[a0_0x2de2bd(0x17d)](_0x360dab){const _0x5b3e17=a0_0x2de2bd,_0xdf6195={'ssiMt':_0x5b3e17(0x1b1),'JgKXs':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','onvkT':'number','RNTLE':function(_0x3b491c,_0x3e838b){return _0x3b491c===_0x3e838b;},'UBSYz':function(_0x689cc1,_0xf9408a){return _0x689cc1(_0xf9408a);},'ukdjB':_0x5b3e17(0x100),'zZyjI':'idgen_number_idem_loser','QnXRQ':_0x5b3e17(0x129)};if(!this[_0x5b3e17(0x1ab)])throw new IdGeneratorError(_0xdf6195[_0x5b3e17(0x135)],_0xdf6195[_0x5b3e17(0x16a)]);const _0x209f01=this[_0x5b3e17(0x15d)](_0x360dab),_0x11b132=this[_0x5b3e17(0x162)](_0x360dab['idempotencyKey']),{resource:_0x43ed96,format:_0x1b943e,prefix:_0x394ea8,separator:_0x4602b3,numDigits:_0x53b85f,reuseDelete:_0x411e70}=_0x209f01,{formatKey:_0x1cf25f,datePrefix:_0x219657}=this[_0x5b3e17(0x1bf)](_0x1b943e,_0x394ea8),_0x3f152e=this['_buildSeqKey'](_0x43ed96,_0x1cf25f),_0x5ba520=this[_0x5b3e17(0x1d7)](_0x43ed96,_0x1cf25f),_0x4289a8=this[_0x5b3e17(0xfc)](_0x1b943e);let _0x1793aa=null;if(_0x11b132){_0x1793aa=this[_0x5b3e17(0x168)](_0xdf6195[_0x5b3e17(0x1e6)],_0x43ed96,_0x1cf25f,_0x11b132);const _0x27c761=await this[_0x5b3e17(0x126)](_0x1793aa);if(_0x27c761)return _0x27c761;}const _0x100c20=redisClient[_0x5b3e17(0x196)](),_0x5c4861=await _0x100c20['eval'](LUA_GENERATE_NUMBER,0x2,_0x3f152e,_0x5ba520,_0x411e70?'1':'0',String(_0x4289a8)),_0xb0cd44=_0x5c4861[0x0],_0x59200e=_0xdf6195['RNTLE'](_0x5c4861[0x1],0x1),_0x501e7d=this[_0x5b3e17(0xf6)]({'format':_0x1b943e,'prefix':_0x394ea8,'datePrefix':_0x219657,'separator':_0x4602b3,'numDigits':_0x53b85f,'counterInt':_0xb0cd44}),_0x1e60d9={'value':_0x501e7d,'counter':_0xb0cd44,'resource':_0x43ed96,'formatKey':_0x1cf25f,'isReused':_0x59200e,'generatedAt':new Date()[_0x5b3e17(0x18c)]()},_0x3da5b8=await this[_0x5b3e17(0xe9)](_0x1793aa,_0x1e60d9);if(!_0x3da5b8['stored']){try{await _0x100c20[_0x5b3e17(0x198)](LUA_RELEASE_NUMBER,0x1,_0x5ba520,String(_0xb0cd44),_0xdf6195[_0x5b3e17(0x1de)](String,_0x4289a8));}catch(_0x2f0175){logger[_0x5b3e17(0x1ce)]({'event':'idgen_idem_loser_release_error','error':_0x2f0175['message'],'resource':_0x43ed96,'formatKey':_0x1cf25f,'counterInt':_0xb0cd44},_0xdf6195['ukdjB']);}return logger[_0x5b3e17(0x1b6)]({'event':_0xdf6195['zZyjI'],'resource':_0x43ed96,'formatKey':_0x1cf25f,'counter':_0xb0cd44},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3da5b8['winnerResult'];}return this['_updateMeta'](_0x43ed96,_0x1cf25f,{'lastValue':_0x501e7d,'lastCounter':_0xb0cd44,'lastIsReused':_0x59200e,'lastGeneratedAt':_0x1e60d9['generatedAt']},_0x4289a8),logger[_0x5b3e17(0x1b6)]({'event':_0xdf6195['QnXRQ'],'resource':_0x43ed96,'formatKey':_0x1cf25f,'counter':_0xb0cd44,'isReused':_0x59200e},_0x5b3e17(0x1c5)+_0x501e7d),_0x1e60d9;}async['releaseNumber'](_0x3dd719){const _0x416973=a0_0x2de2bd,_0x1e19db={'rKnMD':_0x416973(0x1b1),'onlZM':function(_0x6869f8,_0x3a8bc6){return _0x6869f8!==_0x3a8bc6;},'bPvGT':function(_0x560700,_0x8d7fe9){return _0x560700!==_0x8d7fe9;},'zwjnr':_0x416973(0x114),'xTRdP':function(_0x349f2d,_0x25fe37){return _0x349f2d===_0x25fe37;},'gjLZA':'IDGEN_INVALID_NUMBER','VNCsh':'formatKey\x20is\x20required\x20in\x20low-level\x20release','UOphX':function(_0xa0960,_0x5b8da7){return _0xa0960<_0x5b8da7;},'GCgtZ':function(_0x30b9b9,_0x54d319){return _0x30b9b9(_0x54d319);}};if(!this[_0x416973(0x1ab)])throw new IdGeneratorError(_0x1e19db[_0x416973(0x1e7)],'ID\x20Generator\x20is\x20disabled');let _0x7c3ee,_0x304b72,_0x400888,_0x19064c;const _0x48eb0c=this[_0x416973(0x162)](_0x3dd719['idempotencyKey']);if(_0x1e19db['onlZM'](_0x3dd719['counterInt'],undefined)&&_0x3dd719[_0x416973(0x16c)]!==null){this['_validateResource'](_0x3dd719[_0x416973(0x1b0)]),_0x7c3ee=_0x3dd719['resource'];if(_0x1e19db[_0x416973(0x192)](typeof _0x3dd719['formatKey'],_0x1e19db['zwjnr'])||_0x1e19db['xTRdP'](_0x3dd719[_0x416973(0xeb)][_0x416973(0x181)],0x0))throw new IdGeneratorError(_0x1e19db[_0x416973(0xf1)],_0x1e19db['VNCsh']);_0x304b72=_0x3dd719[_0x416973(0xeb)];if(!Number['isInteger'](_0x3dd719[_0x416973(0x16c)])||_0x1e19db[_0x416973(0x173)](_0x3dd719[_0x416973(0x16c)],0x1))throw new IdGeneratorError(_0x416973(0x18e),'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x3dd719['counterInt']+')');_0x400888=_0x3dd719[_0x416973(0x16c)];const _0x31904f=_0x304b72[_0x416973(0x1cf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x19064c=_0x31904f?_0x31904f[0x1]:_0x416973(0x101);}else{const _0x5bbebe=this['_validateNumberParams'](_0x3dd719),_0x1ffd74=this[_0x416973(0xec)]({'format':_0x5bbebe['format'],'prefix':_0x5bbebe['prefix'],'separator':_0x5bbebe[_0x416973(0x1d3)],'numDigits':_0x5bbebe['numDigits'],'number':_0x3dd719[_0x416973(0x17d)]});_0x7c3ee=_0x5bbebe['resource'],_0x304b72=_0x1ffd74[_0x416973(0xeb)],_0x400888=_0x1ffd74['counterInt'],_0x19064c=_0x5bbebe[_0x416973(0x14e)];}const _0xedd262=this[_0x416973(0x1d7)](_0x7c3ee,_0x304b72),_0x2f6e37=this['_getCounterTTL'](_0x19064c);let _0x1d12a4=null;if(_0x48eb0c){_0x1d12a4=this['_buildIdemKey']('release',_0x7c3ee,_0x304b72,_0x48eb0c);const _0x5240d5=await this['_retrieveIdemCache'](_0x1d12a4);if(_0x5240d5)return _0x5240d5;}const _0x1aa5f4=redisClient[_0x416973(0x196)]();await _0x1aa5f4['eval'](LUA_RELEASE_NUMBER,0x1,_0xedd262,_0x1e19db['GCgtZ'](String,_0x400888),String(_0x2f6e37));const _0x48c64e={'released':!![],'resource':_0x7c3ee,'formatKey':_0x304b72,'counter':_0x400888,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x1d12a4,_0x48c64e),this[_0x416973(0x17c)](_0x7c3ee,_0x304b72,{'lastReleasedCounter':_0x400888,'lastReleasedAt':_0x48c64e[_0x416973(0x1ea)]},_0x2f6e37),logger['info']({'event':'idgen_number_released','resource':_0x7c3ee,'formatKey':_0x304b72,'counter':_0x400888},'ID\x20Generator\x20number\x20released:\x20'+_0x400888),_0x48c64e;}async['reserveNumber'](_0x776622){const _0x25e1dc=a0_0x2de2bd,_0x4435cf={'OFnBW':_0x25e1dc(0x1b1),'HywGz':_0x25e1dc(0x125),'WNqoh':function(_0x2abc66,_0x3f323c){return _0x2abc66*_0x3f323c;},'SHnUo':_0x25e1dc(0x1b0),'AwPAj':_0x25e1dc(0x14e),'uJQvh':'prefix','jlogf':'createdAt','zgDDO':function(_0x416afc,_0x492fb2){return _0x416afc(_0x492fb2);},'YKJfQ':_0x25e1dc(0x18b),'buOxO':_0x25e1dc(0x16b),'gleIN':_0x25e1dc(0x188),'nYSKw':_0x25e1dc(0x1e0),'MZBVn':function(_0x16e675,_0xd19b8f){return _0x16e675(_0xd19b8f);},'itvjF':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','nwoqt':_0x25e1dc(0x1c6),'dCnip':_0x25e1dc(0x19b)};if(!this['enabled'])throw new IdGeneratorError(_0x4435cf[_0x25e1dc(0x1d9)],_0x4435cf[_0x25e1dc(0x1f3)]);const _0x15f001=this['_validateNumberParams'](_0x776622),_0x387e2d=this['_validateReserveTTL'](_0x776622[_0x25e1dc(0x18a)]),_0x1fddcd=this['_validateIdempotencyKey'](_0x776622['idempotencyKey']),{resource:_0x373213,format:_0x1fe3a2,prefix:_0x77c5c1,separator:_0x29b987,numDigits:_0x41ed1d,reuseDelete:_0x18c540}=_0x15f001,{formatKey:_0x49f880,datePrefix:_0x1f02bb}=this[_0x25e1dc(0x1bf)](_0x1fe3a2,_0x77c5c1),_0x1cfbcd=this['_buildSeqKey'](_0x373213,_0x49f880),_0x84f6ac=this[_0x25e1dc(0x1d7)](_0x373213,_0x49f880),_0x22e198=this[_0x25e1dc(0x1bc)](_0x373213,_0x49f880),_0x536a36=this['_getCounterTTL'](_0x1fe3a2);let _0x491626=null;if(_0x1fddcd){_0x491626=this['_buildIdemKey']('reserve',_0x373213,_0x49f880,_0x1fddcd);const _0x1b4e13=await this[_0x25e1dc(0x126)](_0x491626);if(_0x1b4e13)return _0x1b4e13;}const _0x7069d7=crypto[_0x25e1dc(0x199)](),_0x3c8ed6=this['_buildReservationKey'](_0x7069d7),_0x1ee82a=this[_0x25e1dc(0x1a9)](),_0x4c4a7d=Date[_0x25e1dc(0x11e)](),_0x55d3a4=_0x4c4a7d+_0x387e2d*0x3e8,_0x1ca187=_0x4435cf['WNqoh'](_0x387e2d,0x3e8),_0x315bb8=new Date(_0x4c4a7d)[_0x25e1dc(0x18c)](),_0x1535ef=new Date(_0x55d3a4)[_0x25e1dc(0x18c)](),_0x31eb0c=[_0x4435cf['SHnUo'],_0x373213,'formatKey',_0x49f880,_0x4435cf['AwPAj'],_0x1fe3a2,_0x4435cf[_0x25e1dc(0x165)],_0x77c5c1,_0x25e1dc(0x1d3),_0x29b987,'numDigits',String(_0x41ed1d),'datePrefix',_0x1f02bb||'',_0x4435cf['jlogf'],_0x315bb8,_0x25e1dc(0x1aa),_0x1535ef,_0x25e1dc(0x180),_0x4435cf['zgDDO'](String,_0x1ca187)];_0x1fddcd&&_0x31eb0c[_0x25e1dc(0x1ad)](_0x25e1dc(0x130),_0x1fddcd);const _0x1ef898=redisClient['getClient'](),_0x42f3a9=await _0x1ef898[_0x25e1dc(0x198)](LUA_RESERVE_NUMBER,0x3,_0x1cfbcd,_0x84f6ac,_0x22e198,_0x18c540?'1':'0',String(_0x536a36),_0x7069d7,_0x3c8ed6,_0x4435cf['zgDDO'](String,_0x1ca187),_0x4435cf['zgDDO'](String,_0x55d3a4),_0x4435cf['zgDDO'](String,_0x4c4a7d),_0x1ee82a,..._0x31eb0c),_0x317c65=_0x42f3a9[0x0],_0x438df2=_0x42f3a9[0x1]===0x1,_0x57458a=_0x42f3a9[0x2]||0x0;let _0x401771;try{_0x401771=this['_formatNumber']({'format':_0x1fe3a2,'prefix':_0x77c5c1,'datePrefix':_0x1f02bb,'separator':_0x29b987,'numDigits':_0x41ed1d,'counterInt':_0x317c65});}catch(_0x589ddb){try{await _0x1ef898[_0x25e1dc(0x198)](LUA_CANCEL_RESERVATION,0x3,_0x3c8ed6,_0x22e198,_0x84f6ac,_0x7069d7,String(_0x536a36));}catch(_0x11ccb2){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x11ccb2[_0x25e1dc(0x14f)],'resource':_0x373213,'formatKey':_0x49f880,'counterInt':_0x317c65,'token':_0x7069d7},_0x4435cf['YKJfQ']);}throw _0x589ddb;}try{await _0x1ef898['hset'](_0x3c8ed6,_0x4435cf['buOxO'],_0x401771);}catch(_0x4f42e4){logger[_0x25e1dc(0x1ce)]({'event':_0x4435cf['gleIN'],'error':_0x4f42e4['message'],'resource':_0x373213,'formatKey':_0x49f880,'counterInt':_0x317c65,'token':_0x7069d7},_0x4435cf[_0x25e1dc(0x16d)]);}const _0x3fc3bc={'token':_0x7069d7,'value':_0x401771,'counter':_0x317c65,'resource':_0x373213,'formatKey':_0x49f880,'isReused':_0x438df2,'createdAt':_0x315bb8,'expiresAt':_0x1535ef,'reapedCount':_0x57458a},_0x62561e=await this[_0x25e1dc(0xe9)](_0x491626,_0x3fc3bc);if(!_0x62561e[_0x25e1dc(0x132)]){try{await _0x1ef898[_0x25e1dc(0x198)](LUA_CANCEL_RESERVATION,0x3,_0x3c8ed6,_0x22e198,_0x84f6ac,_0x7069d7,_0x4435cf['MZBVn'](String,_0x536a36));}catch(_0x23b7e6){logger[_0x25e1dc(0x1ce)]({'event':_0x25e1dc(0x14c),'error':_0x23b7e6[_0x25e1dc(0x14f)],'resource':_0x373213,'formatKey':_0x49f880,'counterInt':_0x317c65,'token':_0x7069d7},_0x4435cf[_0x25e1dc(0x1dd)]);}return logger['info']({'event':_0x4435cf[_0x25e1dc(0x138)],'resource':_0x373213,'formatKey':_0x49f880,'counter':_0x317c65,'token':_0x7069d7},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x62561e[_0x25e1dc(0x178)];}return this['_updateMeta'](_0x373213,_0x49f880,{'lastReservedCounter':_0x317c65,'lastReservedAt':_0x315bb8,'lastReapedCount':_0x57458a},_0x536a36),logger[_0x25e1dc(0x1b6)]({'event':_0x4435cf[_0x25e1dc(0x1b9)],'resource':_0x373213,'formatKey':_0x49f880,'counter':_0x317c65,'isReused':_0x438df2,'token':_0x7069d7,'ttl':_0x387e2d,'reapedCount':_0x57458a},'ID\x20Generator\x20number\x20reserved:\x20'+_0x401771+_0x25e1dc(0x10c)+_0x7069d7+')'),_0x3fc3bc;}async[a0_0x2de2bd(0x156)](_0x2fb444){const _0x8dbb76=a0_0x2de2bd,_0x3256c3={'lmYLC':'ID\x20Generator\x20is\x20disabled','oNMWo':_0x8dbb76(0x133),'WRPhc':_0x8dbb76(0x19f)};if(!this['enabled'])throw new IdGeneratorError(_0x8dbb76(0x1b1),_0x3256c3[_0x8dbb76(0xf8)]);const _0x29f920=this[_0x8dbb76(0x1ef)](_0x2fb444&&_0x2fb444[_0x8dbb76(0x1d2)]),_0xba4593=this[_0x8dbb76(0x162)](_0x2fb444&&_0x2fb444['idempotencyKey']);let _0x34c231=null;if(_0xba4593){_0x34c231=idempotencyManager[_0x8dbb76(0x150)]('idgen',_0x3256c3[_0x8dbb76(0x10f)],_0x29f920+':'+_0xba4593);const _0x58eba4=await this[_0x8dbb76(0x126)](_0x34c231);if(_0x58eba4)return _0x58eba4;}const _0x491472=await this['_getReservationContext'](_0x29f920),_0x4345a9=redisClient[_0x8dbb76(0x196)](),_0x446d2f=await _0x4345a9['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x491472['rsvKey'],_0x491472['rsvIdxKey'],_0x29f920);if(!_0x446d2f||_0x446d2f[0x0]!==0x1)throw new IdGeneratorError(_0x3256c3[_0x8dbb76(0x1fb)],_0x8dbb76(0x191)+_0x29f920,{'token':_0x29f920});const _0xff469e=parseInt(_0x446d2f[0x1],0xa),_0x466e8f=_0x446d2f[0x2],_0x39aa9c=_0x446d2f[0x3],_0x48c488=new Date()[_0x8dbb76(0x18c)](),_0x551560={'confirmed':!![],'token':_0x29f920,'value':_0x466e8f,'counter':_0xff469e,'resource':_0x491472['resource'],'formatKey':_0x39aa9c,'confirmedAt':_0x48c488};await this[_0x8dbb76(0x1a1)](_0x34c231,_0x551560);const _0x18559e=_0x39aa9c['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0xf098ba=_0x18559e?_0x18559e[0x1]:_0x8dbb76(0x101),_0x406552=this[_0x8dbb76(0xfc)](_0xf098ba);return this[_0x8dbb76(0x17c)](_0x491472[_0x8dbb76(0x1b0)],_0x39aa9c,{'lastConfirmedCounter':_0xff469e,'lastConfirmedAt':_0x48c488},_0x406552),logger['info']({'event':_0x8dbb76(0x1f7),'resource':_0x491472[_0x8dbb76(0x1b0)],'formatKey':_0x39aa9c,'counter':_0xff469e,'token':_0x29f920},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x466e8f+_0x8dbb76(0x10c)+_0x29f920+')'),_0x551560;}async[a0_0x2de2bd(0x13d)](_0x14e985){const _0x5cde66=a0_0x2de2bd,_0x1990e7={'Lykfr':_0x5cde66(0x19e),'UiNth':_0x5cde66(0x101),'lqOcv':function(_0x17ff8b,_0x36164c){return _0x17ff8b(_0x36164c);},'OGUyH':_0x5cde66(0x19f)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x4a5027=this[_0x5cde66(0x1ef)](_0x14e985&&_0x14e985['token']),_0x21e4f1=this[_0x5cde66(0x162)](_0x14e985&&_0x14e985['idempotencyKey']);let _0x1efd25=null;if(_0x21e4f1){_0x1efd25=idempotencyManager[_0x5cde66(0x150)](_0x1990e7['Lykfr'],'reserve_cancel',_0x4a5027+':'+_0x21e4f1);const _0x423990=await this['_retrieveIdemCache'](_0x1efd25);if(_0x423990)return _0x423990;}const _0xcad71b=await this[_0x5cde66(0x115)](_0x4a5027),_0x15f903=this['_buildReuseKey'](_0xcad71b['resource'],_0xcad71b[_0x5cde66(0xeb)]),_0x5020f8=_0xcad71b[_0x5cde66(0xeb)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4defe3=_0x5020f8?_0x5020f8[0x1]:_0x1990e7[_0x5cde66(0x186)],_0x592fb8=this['_getCounterTTL'](_0x4defe3),_0x442c8b=redisClient['getClient'](),_0x3a0bf1=await _0x442c8b['eval'](LUA_CANCEL_RESERVATION,0x3,_0xcad71b[_0x5cde66(0x1cb)],_0xcad71b['rsvIdxKey'],_0x15f903,_0x4a5027,_0x1990e7['lqOcv'](String,_0x592fb8));if(!_0x3a0bf1||_0x3a0bf1[0x0]!==0x1)throw new IdGeneratorError(_0x1990e7['OGUyH'],_0x5cde66(0x191)+_0x4a5027,{'token':_0x4a5027});const _0x46d6af=parseInt(_0x3a0bf1[0x1],0xa),_0x148c27=_0x3a0bf1[0x2],_0x2b8494=_0x3a0bf1[0x3],_0x2ff8fe=new Date()[_0x5cde66(0x18c)](),_0x19f998={'cancelled':!![],'token':_0x4a5027,'value':_0x148c27,'counter':_0x46d6af,'resource':_0xcad71b['resource'],'formatKey':_0x2b8494,'releasedToReuse':!![],'cancelledAt':_0x2ff8fe};return await this[_0x5cde66(0x1a1)](_0x1efd25,_0x19f998),this[_0x5cde66(0x17c)](_0xcad71b[_0x5cde66(0x1b0)],_0x2b8494,{'lastCancelledCounter':_0x46d6af,'lastCancelledAt':_0x2ff8fe},_0x592fb8),logger['info']({'event':_0x5cde66(0x1f1),'resource':_0xcad71b[_0x5cde66(0x1b0)],'formatKey':_0x2b8494,'counter':_0x46d6af,'token':_0x4a5027},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x148c27+'\x20(token='+_0x4a5027+')'),_0x19f998;}async['extendReservation'](_0x49398b){const _0x323933=a0_0x2de2bd,_0x3c4af9={'qxwgV':_0x323933(0x1b1),'IQQDs':'ID\x20Generator\x20is\x20disabled','bYSJl':'idgen','hmFXx':function(_0x47be9f,_0x4aca71){return _0x47be9f+_0x4aca71;},'zvcky':'IDGEN_RESERVATION_NOT_FOUND','kGmED':function(_0x4d4182,_0xd75486,_0x3592ef){return _0x4d4182(_0xd75486,_0x3592ef);},'TKdaV':_0x323933(0x174)};if(!this['enabled'])throw new IdGeneratorError(_0x3c4af9[_0x323933(0x1f9)],_0x3c4af9['IQQDs']);const _0x47d701=this['_validateReservationToken'](_0x49398b&&_0x49398b[_0x323933(0x1d2)]),_0x127854=this[_0x323933(0x13c)](_0x49398b&&_0x49398b[_0x323933(0x18a)]),_0x11fada=this['_validateIdempotencyKey'](_0x49398b&&_0x49398b['idempotencyKey']);let _0x331117=null;if(_0x11fada){_0x331117=idempotencyManager[_0x323933(0x150)](_0x3c4af9[_0x323933(0x164)],'reserve_extend',_0x47d701+':'+_0x11fada);const _0x254a1e=await this[_0x323933(0x126)](_0x331117);if(_0x254a1e)return _0x254a1e;}const _0x6cb952=await this[_0x323933(0x115)](_0x47d701),_0x9c4ab2=Date[_0x323933(0x11e)](),_0x41c1ea=_0x3c4af9[_0x323933(0x15e)](_0x9c4ab2,_0x127854*0x3e8),_0x26718d=_0x127854*0x3e8,_0x3b483a=new Date(_0x41c1ea)['toISOString'](),_0x44adb8=redisClient[_0x323933(0x196)](),_0x2c3526=await _0x44adb8[_0x323933(0x198)](LUA_EXTEND_RESERVATION,0x2,_0x6cb952['rsvKey'],_0x6cb952[_0x323933(0x151)],_0x47d701,String(_0x26718d),String(_0x41c1ea),_0x3b483a);if(!_0x2c3526||_0x2c3526[0x0]!==0x1)throw new IdGeneratorError(_0x3c4af9['zvcky'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x47d701,{'token':_0x47d701});const _0x5235fd=_0x2c3526[0x1],_0x22b7fb=_0x3c4af9[_0x323933(0x155)](parseInt,_0x2c3526[0x2],0xa),_0x29b868=_0x2c3526[0x3],_0x3ac7f5=_0x2c3526[0x4],_0x451500=new Date(_0x9c4ab2)['toISOString'](),_0x311169={'extended':!![],'token':_0x47d701,'previousExpiresAt':_0x5235fd,'expiresAt':_0x3b483a,'ttlMs':_0x26718d,'resource':_0x6cb952[_0x323933(0x1b0)],'formatKey':_0x3ac7f5,'counter':_0x22b7fb,'value':_0x29b868,'extendedAt':_0x451500};await this[_0x323933(0x1a1)](_0x331117,_0x311169);const _0x2f74e1=_0x3ac7f5[_0x323933(0x1cf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2d2239=_0x2f74e1?_0x2f74e1[0x1]:'text',_0x5bd0b4=this[_0x323933(0xfc)](_0x2d2239);return this[_0x323933(0x17c)](_0x6cb952['resource'],_0x3ac7f5,{'lastExtendedCounter':_0x22b7fb,'lastExtendedAt':_0x451500},_0x5bd0b4),logger['info']({'event':_0x3c4af9[_0x323933(0x118)],'resource':_0x6cb952['resource'],'formatKey':_0x3ac7f5,'counter':_0x22b7fb,'token':_0x47d701,'ttl':_0x127854},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x29b868+_0x323933(0x10c)+_0x47d701+_0x323933(0x107)+_0x127854+'s)'),_0x311169;}async[a0_0x2de2bd(0x1f5)](_0x4e17da){const _0x10dfab=a0_0x2de2bd,_0xe0fca9={'usMUn':'IDGEN_DISABLED','dQFxT':function(_0x4c4663,_0x55b8d4){return _0x4c4663===_0x55b8d4;},'cLOMJ':_0x10dfab(0x19f),'AmjGE':function(_0x2d6bda,_0x34a2d4,_0x150a39){return _0x2d6bda(_0x34a2d4,_0x150a39);},'FOprP':function(_0x240772,_0x1056ed){return _0x240772>=_0x1056ed;}};if(!this['enabled'])throw new IdGeneratorError(_0xe0fca9['usMUn'],_0x10dfab(0x128));const _0x150f48=this['_validateReservationToken'](_0x4e17da&&_0x4e17da[_0x10dfab(0x1d2)]),_0x2f1720=this[_0x10dfab(0x10e)](_0x150f48),_0x8bdec0=redisClient['getClient'](),_0x4b89fa=_0x8bdec0['pipeline']();_0x4b89fa[_0x10dfab(0x1ac)](_0x2f1720),_0x4b89fa[_0x10dfab(0x142)](_0x2f1720);const _0x122a7f=await _0x4b89fa[_0x10dfab(0x104)](),_0x4237bb=_0x122a7f&&_0x122a7f[0x0]&&_0x122a7f[0x0][0x1],_0x2a4417=_0x122a7f&&_0x122a7f[0x1]&&_0x122a7f[0x1][0x1];if(!_0x4237bb||_0xe0fca9['dQFxT'](Object['keys'](_0x4237bb)[_0x10dfab(0x181)],0x0))throw new IdGeneratorError(_0xe0fca9['cLOMJ'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x150f48,{'token':_0x150f48});return{'token':_0x150f48,'resource':_0x4237bb[_0x10dfab(0x1b0)]||null,'formatKey':_0x4237bb['formatKey']||null,'format':_0x4237bb['format']||null,'prefix':_0x4237bb['prefix']||'','separator':_0x4237bb[_0x10dfab(0x1d3)]||'','numDigits':_0x4237bb['numDigits']?_0xe0fca9[_0x10dfab(0x12c)](parseInt,_0x4237bb['numDigits'],0xa):null,'datePrefix':_0x4237bb[_0x10dfab(0x10d)]||'','counter':_0x4237bb[_0x10dfab(0x1c2)]?parseInt(_0x4237bb[_0x10dfab(0x1c2)],0xa):null,'value':_0x4237bb[_0x10dfab(0x16b)]||null,'isReused':_0x4237bb[_0x10dfab(0x137)]==='1'||_0x4237bb[_0x10dfab(0x137)]===0x1,'createdAt':_0x4237bb['createdAt']||null,'expiresAt':_0x4237bb[_0x10dfab(0x1aa)]||null,'ttlRemainingMs':typeof _0x2a4417===_0x10dfab(0x17d)&&_0xe0fca9[_0x10dfab(0x141)](_0x2a4417,0x0)?_0x2a4417:null};}async['_getReservationContext'](_0x56f155){const _0x335346=a0_0x2de2bd,_0x2f715f={'ZYmza':'resource','TswCj':'formatKey','THDLj':function(_0x640948,_0x559d5a){return _0x640948||_0x559d5a;},'WXssu':'IDGEN_RESERVATION_NOT_FOUND'},_0x25adda=this['_buildReservationKey'](_0x56f155),_0x364699=redisClient['getClient'](),_0x292246=await _0x364699['hmget'](_0x25adda,_0x2f715f[_0x335346(0x1d6)],_0x2f715f[_0x335346(0x1c7)]),_0x4fa415=_0x292246&&_0x292246[0x0],_0xe4f7fc=_0x292246&&_0x292246[0x1];if(_0x2f715f[_0x335346(0x14b)](!_0x4fa415,!_0xe4f7fc))throw new IdGeneratorError(_0x2f715f['WXssu'],_0x335346(0x191)+_0x56f155,{'token':_0x56f155});return{'resource':_0x4fa415,'formatKey':_0xe4f7fc,'rsvKey':_0x25adda,'rsvIdxKey':this[_0x335346(0x1bc)](_0x4fa415,_0xe4f7fc)};}async[a0_0x2de2bd(0x1e1)](_0x550fc6){const _0x74d639=a0_0x2de2bd,_0x549b54={'gLhHc':_0x74d639(0x128),'FrEJM':_0x74d639(0x1e1),'HQEaB':function(_0x52bf30,_0x5c6122){return _0x52bf30<_0x5c6122;},'vpFzU':function(_0x4b950e,_0x5b8e09){return _0x4b950e===_0x5b8e09;},'awDiN':'IDGEN_UNIQUE_RETRY_EXHAUSTED','azuLH':function(_0x11a37b,_0x5174bc){return _0x11a37b&&_0x5174bc;},'whjOc':_0x74d639(0x153)};if(!this[_0x74d639(0x1ab)])throw new IdGeneratorError('IDGEN_DISABLED',_0x549b54['gLhHc']);this['_validateResource'](_0x550fc6['resource']),this[_0x74d639(0x1e2)](_0x550fc6[_0x74d639(0x1ec)]);const _0x605310=this[_0x74d639(0x1e5)](_0x550fc6[_0x74d639(0x18a)]),_0x3afcc5=this['_validateMaxRetry'](_0x550fc6[_0x74d639(0x1eb)]),_0x5afefd=this['_validateIdempotencyKey'](_0x550fc6['idempotencyKey']),_0x37bb56=_0x550fc6[_0x74d639(0x171)]===!![],{resource:_0x329b69,pattern:_0x1cd984}=_0x550fc6;let _0x345573=null;if(_0x5afefd){_0x345573=this[_0x74d639(0x168)](_0x549b54['FrEJM'],_0x329b69,null,_0x5afefd);const _0x3f42dc=await this[_0x74d639(0x126)](_0x345573);if(_0x3f42dc)return _0x3f42dc;}const _0x1a713f=redisClient['getClient']();let _0x3e5983=null,_0x4f2d2d=0x0;if(!_0x37bb56)_0x3e5983=this[_0x74d639(0x1c8)](_0x1cd984),_0x4f2d2d=0x1;else{for(let _0x69ce73=0x0;_0x549b54[_0x74d639(0x1c1)](_0x69ce73,_0x3afcc5);_0x69ce73++){_0x4f2d2d++;const _0x29513f=this[_0x74d639(0x1c8)](_0x1cd984);if(_0x605310){const _0x5769f6=this[_0x74d639(0x1bd)](_0x329b69,_0x29513f),_0x219329=await _0x1a713f[_0x74d639(0xf9)](_0x5769f6,'1','EX',_0x605310,'NX');if(_0x219329==='OK'){_0x3e5983=_0x29513f;break;}}else{const _0x52d36f=this[_0x74d639(0x1d1)](_0x329b69),_0x5ead3=await _0x1a713f[_0x74d639(0x1e3)](_0x52d36f,_0x29513f);if(_0x549b54['vpFzU'](_0x5ead3,0x1)){_0x3e5983=_0x29513f;break;}}}if(_0x3e5983===null)throw new IdGeneratorError(_0x549b54[_0x74d639(0x149)],_0x74d639(0x179)+_0x3afcc5+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x329b69,'pattern':_0x1cd984,'maxRetry':_0x3afcc5});}const _0x4e69b7={'value':_0x3e5983,'resource':_0x329b69,'pattern':_0x1cd984,'attemptCount':_0x4f2d2d,'generatedAt':new Date()['toISOString']()};_0x549b54['azuLH'](_0x605310,_0x37bb56)&&(_0x4e69b7[_0x74d639(0x1aa)]=new Date(Date['now']()+_0x605310*0x3e8)['toISOString']());const _0xe75475=await this[_0x74d639(0xe9)](_0x345573,_0x4e69b7);if(!_0xe75475[_0x74d639(0x132)])return _0x37bb56&&await this[_0x74d639(0x1a2)](_0x329b69,_0x3e5983,_0x605310),logger[_0x74d639(0x1b6)]({'event':_0x74d639(0x194),'resource':_0x329b69,'pattern':_0x1cd984,'value':_0x3e5983},_0x74d639(0x1b4)),_0xe75475[_0x74d639(0x178)];return logger['info']({'event':_0x549b54['whjOc'],'resource':_0x329b69,'pattern':_0x1cd984,'attemptCount':_0x4f2d2d,'ensureUnique':_0x37bb56,'ttl':_0x605310||0x0},'ID\x20Generator\x20random:\x20'+_0x3e5983),_0x4e69b7;}async['pin'](_0x1cf6ab){const _0x51ae98=a0_0x2de2bd,_0x31245b={'PJnhr':function(_0x3ff526,_0xe5ef55){return _0x3ff526>_0xe5ef55;}},_0x243da9=_0x1cf6ab[_0x51ae98(0x185)]==null?this['defaultPinDigits']:_0x1cf6ab['digits'];if(!Number[_0x51ae98(0x13f)](_0x243da9)||_0x243da9<MIN_PIN_DIGITS||_0x31245b['PJnhr'](_0x243da9,MAX_PIN_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_DIGITS',_0x51ae98(0x18d)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x51ae98(0x106)+_0x243da9+')');const _0x3a8e07='9'[_0x51ae98(0x16f)](_0x243da9);return this[_0x51ae98(0x1e1)]({'resource':_0x1cf6ab['resource'],'pattern':_0x3a8e07,'ensureUnique':_0x1cf6ab[_0x51ae98(0x171)]===!![],'ttl':_0x1cf6ab[_0x51ae98(0x18a)],'maxRetry':_0x1cf6ab['maxRetry'],'idempotencyKey':_0x1cf6ab['idempotencyKey']});}async['serial'](_0x134437){const _0x257626=a0_0x2de2bd,_0x80f081={'iqZca':function(_0xd09bba,_0x8ce1b5){return _0xd09bba!==_0x8ce1b5;}},_0x543b66=_0x134437['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x134437[_0x257626(0x1b0)],'pattern':_0x543b66,'ensureUnique':_0x80f081['iqZca'](_0x134437[_0x257626(0x171)],![]),'ttl':_0x134437[_0x257626(0x18a)],'maxRetry':_0x134437[_0x257626(0x1eb)],'idempotencyKey':_0x134437['idempotencyKey']});}async['code'](_0x3769c8){const _0x3e315c=a0_0x2de2bd,_0x35d5ca={'DKzcJ':function(_0x1ba4d1,_0x1d3cbb){return _0x1ba4d1!==_0x1d3cbb;}},_0x3969e9=_0x3769c8['pattern']||this['defaultCodePattern'];return this[_0x3e315c(0x1e1)]({'resource':_0x3769c8[_0x3e315c(0x1b0)],'pattern':_0x3969e9,'ensureUnique':_0x35d5ca['DKzcJ'](_0x3769c8[_0x3e315c(0x171)],![]),'ttl':_0x3769c8[_0x3e315c(0x18a)],'maxRetry':_0x3769c8['maxRetry'],'idempotencyKey':_0x3769c8['idempotencyKey']});}async[a0_0x2de2bd(0x11c)](_0x5c8806){const _0x41ffcf=a0_0x2de2bd,_0x13c32a={'FGVhH':_0x41ffcf(0x1b1),'xtJBK':function(_0x3d190d,_0x359002){return _0x3d190d===_0x359002;},'XipRL':_0x41ffcf(0x1b3),'zyMbG':function(_0x58a0c8,_0x330c46){return _0x58a0c8>_0x330c46;}};if(!this['enabled'])throw new IdGeneratorError(_0x13c32a['FGVhH'],_0x41ffcf(0x128));this['_validateResource'](_0x5c8806[_0x41ffcf(0x1b0)]);if(typeof _0x5c8806[_0x41ffcf(0x16b)]!==_0x41ffcf(0x114)||_0x13c32a[_0x41ffcf(0x1cd)](_0x5c8806[_0x41ffcf(0x16b)]['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x13c32a['XipRL']);const {resource:_0x7b3716,value:_0x373a57}=_0x5c8806,_0x41b8b6=redisClient[_0x41ffcf(0x196)](),_0x44122a=this['_buildActiveKey'](_0x7b3716,_0x373a57),_0x593b5e=this['_buildIssuedKey'](_0x7b3716),[_0xd8497c,_0x53c01d]=await Promise['all']([_0x41b8b6['del'](_0x44122a),_0x41b8b6[_0x41ffcf(0x1df)](_0x593b5e,_0x373a57)]),_0x2e9b4f=_0x13c32a[_0x41ffcf(0x1d5)](_0xd8497c+_0x53c01d,0x0);return logger[_0x41ffcf(0x1b6)]({'event':_0x41ffcf(0x17b),'resource':_0x7b3716,'value':_0x373a57,'consumed':_0x2e9b4f},'ID\x20Generator\x20consumed:\x20'+_0x373a57),{'consumed':_0x2e9b4f,'resource':_0x7b3716,'value':_0x373a57,'consumedAt':new Date()[_0x41ffcf(0x18c)]()};}async['peek'](_0x2f2c8c){const _0x13c53d=a0_0x2de2bd,_0x20557f={'eZlEl':'text','PkFvQ':_0x13c53d(0xf5),'oCHMH':function(_0x164177,_0x48beff){return _0x164177===_0x48beff;},'qyMdh':'random','TlPgG':_0x13c53d(0xed)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x13c53d(0x128));this[_0x13c53d(0x117)](_0x2f2c8c[_0x13c53d(0x1b0)]);const _0x25a958=_0x2f2c8c['mode']||'number',_0x5cb19f=redisClient['getClient']();if(_0x25a958==='number'){const _0x321a2b=(_0x2f2c8c['format']||_0x20557f[_0x13c53d(0x175)])['toLowerCase']();if(!ALLOWED_FORMATS[_0x13c53d(0x1c4)](_0x321a2b))throw new IdGeneratorError(_0x20557f['PkFvQ'],'Invalid\x20format:\x20'+_0x2f2c8c[_0x13c53d(0x14e)]);const {formatKey:_0x159dee}=this[_0x13c53d(0x1bf)](_0x321a2b,_0x2f2c8c['prefix']||''),_0x1127b9=this[_0x13c53d(0x127)](_0x2f2c8c[_0x13c53d(0x1b0)],_0x159dee),_0x4d129d=this[_0x13c53d(0x1d7)](_0x2f2c8c['resource'],_0x159dee),[_0x3ff996,_0x3b16d5]=await Promise['all']([_0x5cb19f[_0x13c53d(0xfd)](_0x1127b9),_0x5cb19f[_0x13c53d(0x1cc)](_0x4d129d)]);return{'resource':_0x2f2c8c[_0x13c53d(0x1b0)],'mode':'number','formatKey':_0x159dee,'currentCounter':parseInt(_0x3ff996,0xa)||0x0,'reusePoolSize':_0x3b16d5||0x0};}if(_0x20557f['oCHMH'](_0x25a958,_0x13c53d(0x1e1))){const _0xaa0f50=this['_buildIssuedKey'](_0x2f2c8c[_0x13c53d(0x1b0)]),_0x17c08c=await _0x5cb19f['scard'](_0xaa0f50);return{'resource':_0x2f2c8c['resource'],'mode':_0x20557f[_0x13c53d(0x15f)],'issuedCount':_0x17c08c||0x0};}throw new IdGeneratorError(_0x20557f['TlPgG'],'Unknown\x20mode:\x20'+_0x25a958);}async['getInfo'](_0x30b997){const _0x3a98c7=a0_0x2de2bd,_0x41571f={'HgNsV':function(_0x52c021,_0x2f6c7f){return _0x52c021===_0x2f6c7f;}},_0x51f43=await this['peek'](_0x30b997);if(_0x41571f['HgNsV'](_0x51f43['mode'],'number')){const _0x50d4c1=redisClient['getClient'](),_0x2c8a05=this['_buildMetaKey'](_0x30b997['resource'],_0x51f43['formatKey']),_0x3c415b=this['_buildReuseKey'](_0x30b997[_0x3a98c7(0x1b0)],_0x51f43['formatKey']),[_0x395766,_0x5e0d62]=await Promise[_0x3a98c7(0x1ca)]([_0x50d4c1['hgetall'](_0x2c8a05),_0x50d4c1['zrange'](_0x3c415b,0x0,-0x1)]);return{..._0x51f43,'reusePoolValues':_0x5e0d62[_0x3a98c7(0x176)](_0x33dfdd=>parseInt(_0x33dfdd,0xa)),'meta':_0x395766&&Object['keys'](_0x395766)[_0x3a98c7(0x181)]>0x0?_0x395766:null};}return _0x51f43;}async['reset'](_0x284bf3){const _0x10b068=a0_0x2de2bd,_0x550b94={'YXBME':'IDGEN_DISABLED','OZVoS':_0x10b068(0x128),'MlUhZ':_0x10b068(0x17d),'Ayvuf':_0x10b068(0x143),'BWuSk':'reuse','AspoG':'meta','GstnX':function(_0x4300bf,_0x4cb996){return _0x4300bf===_0x4cb996;},'iEdkH':'random','lRbMO':_0x10b068(0x1dc)};if(!this[_0x10b068(0x1ab)])throw new IdGeneratorError(_0x550b94[_0x10b068(0x1e9)],_0x550b94['OZVoS']);if(!this[_0x10b068(0x167)])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED','Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this['_validateResource'](_0x284bf3[_0x10b068(0x1b0)]);const _0xe0f31a=_0x284bf3[_0x10b068(0x193)]||_0x550b94[_0x10b068(0x11a)],_0x153e35=redisClient[_0x10b068(0x196)]();if(_0xe0f31a===_0x10b068(0x17d)){const _0x4ec529=(_0x284bf3[_0x10b068(0x14e)]||'text')['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x4ec529))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x10b068(0xf4)+_0x284bf3[_0x10b068(0x14e)]);const {formatKey:_0x555751}=this['_buildFormatKey'](_0x4ec529,_0x284bf3[_0x10b068(0x111)]||''),_0xfd51=this['_buildSeqKey'](_0x284bf3[_0x10b068(0x1b0)],_0x555751),_0x220cfc=this['_buildReuseKey'](_0x284bf3['resource'],_0x555751),_0x569e36=this[_0x10b068(0x1a3)](_0x284bf3[_0x10b068(0x1b0)],_0x555751);return await _0x153e35['del'](_0xfd51,_0x220cfc,_0x569e36),logger[_0x10b068(0x1ce)]({'event':_0x10b068(0x1dc),'resource':_0x284bf3['resource'],'mode':_0x550b94[_0x10b068(0x11a)],'formatKey':_0x555751},_0x10b068(0x159)+_0x284bf3[_0x10b068(0x1b0)]+':'+_0x555751),{'reset':!![],'resource':_0x284bf3['resource'],'mode':'number','formatKey':_0x555751,'deletedKeys':[_0x550b94['Ayvuf'],_0x550b94['BWuSk'],_0x550b94['AspoG']]};}if(_0x550b94[_0x10b068(0x12b)](_0xe0f31a,_0x550b94['iEdkH'])){const _0x40e7d1=this['_buildIssuedKey'](_0x284bf3[_0x10b068(0x1b0)]);return await _0x153e35[_0x10b068(0x12a)](_0x40e7d1),logger[_0x10b068(0x1ce)]({'event':_0x550b94['lRbMO'],'resource':_0x284bf3[_0x10b068(0x1b0)],'mode':_0x550b94['iEdkH']},'ID\x20Generator\x20reset:\x20random:'+_0x284bf3[_0x10b068(0x1b0)]),{'reset':!![],'resource':_0x284bf3['resource'],'mode':_0x550b94[_0x10b068(0x157)],'deletedKeys':['issued']};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0x10b068(0x177)+_0xe0f31a);}}const instance=new IdGenerator();instance[a0_0x2de2bd(0xee)]=IdGeneratorError,module['exports']=instance,module[a0_0x2de2bd(0x163)]['IdGeneratorError']=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x10254e=a0_0x308f;(function(_0x3a726b,_0x4cb379){const _0x1a95b2=a0_0x308f,_0x53db22=_0x3a726b();while(!![]){try{const _0x253675=-parseInt(_0x1a95b2(0x16c))/0x1*(parseInt(_0x1a95b2(0x14d))/0x2)+-parseInt(_0x1a95b2(0x148))/0x3+parseInt(_0x1a95b2(0x15e))/0x4*(-parseInt(_0x1a95b2(0x16e))/0x5)+-parseInt(_0x1a95b2(0x173))/0x6*(parseInt(_0x1a95b2(0x149))/0x7)+parseInt(_0x1a95b2(0x159))/0x8+parseInt(_0x1a95b2(0x152))/0x9*(-parseInt(_0x1a95b2(0x163))/0xa)+parseInt(_0x1a95b2(0x170))/0xb;if(_0x253675===_0x4cb379)break;else _0x53db22['push'](_0x53db22['shift']());}catch(_0x40e138){_0x53db22['push'](_0x53db22['shift']());}}}(a0_0x2c1a,0xa39e3));function a0_0x308f(_0x533d82,_0x7c6504){_0x533d82=_0x533d82-0x145;const _0x2c1a27=a0_0x2c1a();let _0x308fe9=_0x2c1a27[_0x533d82];if(a0_0x308f['ZgBxhv']===undefined){var _0x52e202=function(_0x2c12d4){const _0xd16159='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c8225='',_0x4bd0ad='';for(let _0x5c3241=0x0,_0x5b364b,_0x2d9b21,_0x3c7763=0x0;_0x2d9b21=_0x2c12d4['charAt'](_0x3c7763++);~_0x2d9b21&&(_0x5b364b=_0x5c3241%0x4?_0x5b364b*0x40+_0x2d9b21:_0x2d9b21,_0x5c3241++%0x4)?_0x5c8225+=String['fromCharCode'](0xff&_0x5b364b>>(-0x2*_0x5c3241&0x6)):0x0){_0x2d9b21=_0xd16159['indexOf'](_0x2d9b21);}for(let _0x3375fb=0x0,_0x30682a=_0x5c8225['length'];_0x3375fb<_0x30682a;_0x3375fb++){_0x4bd0ad+='%'+('00'+_0x5c8225['charCodeAt'](_0x3375fb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bd0ad);};a0_0x308f['HIJGKf']=_0x52e202,a0_0x308f['IYJEfd']={},a0_0x308f['ZgBxhv']=!![];}const _0x133291=_0x2c1a27[0x0],_0x1a5dd2=_0x533d82+_0x133291,_0x1174ef=a0_0x308f['IYJEfd'][_0x1a5dd2];return!_0x1174ef?(_0x308fe9=a0_0x308f['HIJGKf'](_0x308fe9),a0_0x308f['IYJEfd'][_0x1a5dd2]=_0x308fe9):_0x308fe9=_0x1174ef,_0x308fe9;}const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require(a0_0x10254e(0x151));function a0_0x2c1a(){const _0x57e041=['CMv0CMLLDMu','CMy6AwrLBtO','C3rVCMu','BKXXt0y','CMfUzg9Tvvvjra','Dhj1zq','CMvX','mZeXodi1mwrND3vzva','mJeYmvPhDwP6sq','zxHWB3j0CW','zMLSDgvY','x2LUAxrdB25MAwC','ndCYzNbkDwLP','Aw5MBW','x2vUC3vYzuLUAxrPywXPEMvK','AxnfBMfIBgvK','y3j5ChrV','ndK1ndy4txLXu0vq','zgvIDwC','x3r0Ba','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','zuDjuMu','x2LUAxrPywXPEMvK','x2vUywjSzwq','otmXmZi0ofrcB3LvAW','AwrLBxbVDgvUy3LFAgL0','C3rHDhvZq29Kzq','DhrS','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','mta4zhLZDhbU','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','BwvZC2fNzq','zgvMyxvSDa','AwrLBxbVDgvUy3LFC3rVCMu','mtbsqMXwtNm','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','lcbuveW6ia','CgfYC2u','AwrLBxbVDgvUy3LFBwLZCW','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','C3bSAxq','zw5HyMXLza','mJKZohHlAu10Dq','swrLBxbVDgvUy3KGy2fJAguGseLu','mJe2mtKWwwzdsgr0','surftvbpvevoq1LFvfrm','mZm3odm0nZviDxHZvLu','z2v0q2XPzw50','z2vUzxjHDgvlzxK','mtiWnZH0rfPtEKu','EvngzxG'];a0_0x2c1a=function(){return _0x57e041;};return a0_0x2c1a();}class IdempotencyManager{constructor(){const _0x329ef3=a0_0x10254e;this['_enabled']=null,this[_0x329ef3(0x154)]=null,this[_0x329ef3(0x157)]=![];}[a0_0x10254e(0x14c)](){const _0xf986bd=a0_0x10254e,_0x23d1d2={'zgVci':function(_0x282abb,_0x4c917a,_0x34105b){return _0x282abb(_0x4c917a,_0x34105b);}};this['_enabled']=process['env']['IDEMPOTENCY_ENABLED']===_0xf986bd(0x146),this['_ttl']=_0x23d1d2['zgVci'](parseInt,process['env'][_0xf986bd(0x16f)],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this[_0xf986bd(0x154)]},_0xf986bd(0x169)+this[_0xf986bd(0x158)]+_0xf986bd(0x165)+this['_ttl']+'s');}[a0_0x10254e(0x14f)](){const _0x4ce113=a0_0x10254e;!this[_0x4ce113(0x157)]&&this[_0x4ce113(0x14c)]();}get['enabled'](){const _0xb21d0b=a0_0x10254e;return this['_ensureInitialized'](),this[_0xb21d0b(0x158)];}get[a0_0x10254e(0x15c)](){const _0x254560=a0_0x10254e;return this[_0x254560(0x14f)](),this['_ttl'];}[a0_0x10254e(0x150)](){return this['enabled'];}['buildKey'](_0x41a6d9,_0x4d05c1){const _0x644de6=a0_0x10254e,_0x1f97f1={'ySFex':_0x644de6(0x161)},_0x47b992=_0x4d05c1['path'][_0x644de6(0x16a)]('/')[_0x644de6(0x14b)](Boolean),_0x434388=_0x47b992[0x0]||_0x1f97f1[_0x644de6(0x174)],_0x3b45c2=_0x47b992[0x1]||'unknown',_0x1894a5=_0x47b992[0x2]||'unknown';return _0x644de6(0x176)+_0x434388+':'+_0x3b45c2+':'+_0x1894a5+':'+_0x41a6d9;}async[a0_0x10254e(0x177)](_0x49e472,_0x549f3e){const _0x421fcc=a0_0x10254e,_0x41ef84={'nLqOF':_0x421fcc(0x162),'eGIRe':_0x421fcc(0x15d)};if(!this['enabled'])return![];try{const _0x217e0f=redisClient['getClient']();return await _0x217e0f['setex'](_0x49e472,this['ttl'],JSON['stringify'](_0x549f3e)),logger[_0x421fcc(0x153)]({'event':_0x41ef84[_0x421fcc(0x178)],'key':_0x49e472,'ttl':this[_0x421fcc(0x15c)],'statusCode':_0x549f3e[_0x421fcc(0x15b)]},_0x421fcc(0x15f)),!![];}catch(_0x274e75){return logger['error']({'event':_0x41ef84[_0x421fcc(0x156)],'key':_0x49e472,'error':_0x274e75[_0x421fcc(0x160)]},_0x421fcc(0x164)+_0x274e75[_0x421fcc(0x160)]),![];}}async[a0_0x10254e(0x175)](_0x331228){const _0x3e107c=a0_0x10254e,_0x40c895={'ytzrJ':_0x3e107c(0x155)};if(!this[_0x3e107c(0x16b)])return null;try{const _0x4f672c=redisClient[_0x3e107c(0x171)](),_0x361b04=await _0x4f672c['get'](_0x331228);if(_0x361b04)return logger[_0x3e107c(0x14e)]({'event':_0x3e107c(0x15a),'key':_0x331228},_0x3e107c(0x16d)),JSON[_0x3e107c(0x166)](_0x361b04);return logger['debug']({'event':_0x3e107c(0x167),'key':_0x331228},_0x3e107c(0x168)),null;}catch(_0x293095){return logger['error']({'event':_0x40c895['ytzrJ'],'key':_0x331228,'error':_0x293095['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x293095[_0x3e107c(0x160)]),null;}}[a0_0x10254e(0x172)](_0x55980e=a0_0x10254e(0x147)){const _0x3e71b2=a0_0x10254e;return _0x55980e+'_'+crypto[_0x3e71b2(0x145)]();}['buildDeterministicKey'](_0x21084f,_0x4ec128,_0x43f044){return _0x21084f+':'+_0x4ec128+':'+_0x43f044;}}module[a0_0x10254e(0x14a)]=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x5b08(_0x3ef041,_0x3cfb26){_0x3ef041=_0x3ef041-0x8f;const _0xd18eab=a0_0xd18e();let _0x5b08e8=_0xd18eab[_0x3ef041];if(a0_0x5b08['ifjLjb']===undefined){var _0x16486e=function(_0x207467){const _0x515992='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3288b5='',_0x46bb17='';for(let _0x3e3bf5=0x0,_0x4b46ca,_0x6a42ce,_0x3ec06a=0x0;_0x6a42ce=_0x207467['charAt'](_0x3ec06a++);~_0x6a42ce&&(_0x4b46ca=_0x3e3bf5%0x4?_0x4b46ca*0x40+_0x6a42ce:_0x6a42ce,_0x3e3bf5++%0x4)?_0x3288b5+=String['fromCharCode'](0xff&_0x4b46ca>>(-0x2*_0x3e3bf5&0x6)):0x0){_0x6a42ce=_0x515992['indexOf'](_0x6a42ce);}for(let _0x5d4a29=0x0,_0x542243=_0x3288b5['length'];_0x5d4a29<_0x542243;_0x5d4a29++){_0x46bb17+='%'+('00'+_0x3288b5['charCodeAt'](_0x5d4a29)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x46bb17);};a0_0x5b08['oWVHEY']=_0x16486e,a0_0x5b08['iivgbP']={},a0_0x5b08['ifjLjb']=!![];}const _0x309685=_0xd18eab[0x0],_0xdc5ee6=_0x3ef041+_0x309685,_0x4cfd88=a0_0x5b08['iivgbP'][_0xdc5ee6];return!_0x4cfd88?(_0x5b08e8=a0_0x5b08['oWVHEY'](_0x5b08e8),a0_0x5b08['iivgbP'][_0xdc5ee6]=_0x5b08e8):_0x5b08e8=_0x4cfd88,_0x5b08e8;}const a0_0x4138e0=a0_0x5b08;function a0_0xd18e(){const _0x346bd4=['A2v5CW','ndC3nty0owffr3zVzW','mZqYqurtq1LN','DMfSAwrHDgvfBwfPBa','zM9YBwf0','AM9PBG','mte1odaZmxfduLDVua','C2v0','DMfSAwrHDgvgAwvSzezVCM1HDa','AfvpCgS','mZCYmtLVBgL0qwG','mtm2otmYmJrXAwH5qKe','nZa0nZqYnxrTvwvHwa','zM9YrwfJAa','sw52ywXPzcbvuKWGzM9YBwf0','CMvWBgfJzq','Aw5MBW','DxjS','mJi3mZqYnLfvAeLRrW','sw52ywXPzcbWAg9UzsbMB3jTyxq','zw1HAwW','sw52ywXPzcbLBwfPBcbMB3jTyxq','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ChvZAa','z2v0','z3vgBLq','rKzoCha','DMfSAwrHDgvoDw1Izxi','DMfSAwrHDgvvCMW','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','ntq2otu5mKXxAhL6Aq'];a0_0xd18e=function(){return _0x346bd4;};return a0_0xd18e();}(function(_0x39df83,_0x1e02bc){const _0x4b42f8=a0_0x5b08,_0x1c00df=_0x39df83();while(!![]){try{const _0x21e093=parseInt(_0x4b42f8(0x9c))/0x1+-parseInt(_0x4b42f8(0xa8))/0x2+parseInt(_0x4b42f8(0x97))/0x3+-parseInt(_0x4b42f8(0x95))/0x4+-parseInt(_0x4b42f8(0xa2))/0x5+parseInt(_0x4b42f8(0x98))/0x6*(parseInt(_0x4b42f8(0xa0))/0x7)+parseInt(_0x4b42f8(0xa1))/0x8;if(_0x21e093===_0x1e02bc)break;else _0x1c00df['push'](_0x1c00df['shift']());}catch(_0x3b55b6){_0x1c00df['push'](_0x1c00df['shift']());}}}(a0_0xd18e,0xcfc60));const {logger}=require('./logger');class ImportValidator{['validateRow'](_0x23477a,_0x27ce6d=[],_0x5db71c={}){const _0x47cc7d=a0_0x5b08,_0x1cf5ff={'wivGb':function(_0x2a84a1,_0x6980bf){return _0x2a84a1===_0x6980bf;},'MjDON':function(_0x1d17cb,_0xad0ae3){return _0x1d17cb===_0xad0ae3;},'guFnT':'required'},_0x2d7b9b=[];return _0x27ce6d['forEach'](_0x4873d1=>{const _0x49f17b=a0_0x5b08,_0x364a76=_0x23477a[_0x4873d1];(_0x364a76===null||_0x1cf5ff['wivGb'](_0x364a76,undefined)||_0x1cf5ff['MjDON'](_0x364a76,''))&&_0x2d7b9b['push']({'field':_0x4873d1,'type':_0x1cf5ff[_0x49f17b(0x90)],'message':'Required\x20field\x20is\x20empty'});}),Object[_0x47cc7d(0x96)](_0x5db71c)['forEach'](_0x2d8c61=>{const _0x23b8fa=_0x47cc7d,_0x2ce528=_0x23477a[_0x2d8c61],_0x55ff69=_0x5db71c[_0x2d8c61];if(_0x2ce528===null||_0x1cf5ff['MjDON'](_0x2ce528,undefined)||_0x2ce528==='')return;const _0x4783c4=this[_0x23b8fa(0x9e)](_0x2d8c61,_0x2ce528,_0x55ff69);_0x4783c4&&_0x2d7b9b['push'](_0x4783c4);}),_0x2d7b9b;}['validateFieldFormat'](_0x1b52c1,_0x46316c,_0x1835bc){const _0x3f70da=a0_0x5b08,_0x12380d={'gDQcX':_0x3f70da(0xaa),'hUOpk':'phone','BoXeN':'number'};switch(_0x1835bc){case _0x12380d['gDQcX']:return this['validateEmail'](_0x1b52c1,_0x46316c);case _0x12380d[_0x3f70da(0x9f)]:return this['validatePhone'](_0x1b52c1,_0x46316c);case _0x3f70da(0xa7):return this[_0x3f70da(0x93)](_0x1b52c1,_0x46316c);case _0x12380d['BoXeN']:return this[_0x3f70da(0x92)](_0x1b52c1,_0x46316c);default:return null;}}[a0_0x4138e0(0x99)](_0x2b3f0c,_0x453a94){const _0x316c54=a0_0x4138e0,_0x5e5090={'bWMBh':'format','LGTvy':_0x316c54(0xab)},_0x25cbd9=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x25cbd9['test'](String(_0x453a94)))return{'field':_0x2b3f0c,'type':_0x5e5090['bWMBh'],'message':_0x5e5090['LGTvy']};return null;}['validatePhone'](_0x7adf36,_0x2a2aa7){const _0x4840df=a0_0x4138e0,_0x149916={'RjNoR':function(_0x3f82f9,_0x3c5dce){return _0x3f82f9(_0x3c5dce);},'trNsC':function(_0x4df5fe,_0x5e3d29){return _0x4df5fe<_0x5e3d29;},'JmmRI':_0x4840df(0x9a)},_0x21c355=_0x149916['RjNoR'](String,_0x2a2aa7)[_0x4840df(0xa5)](/\s+/g,''),_0x395efd=/^[\d\+\-\(\)]+$/;if(!_0x395efd['test'](_0x21c355)||_0x149916['trNsC'](_0x21c355['length'],0x8))return{'field':_0x7adf36,'type':_0x149916['JmmRI'],'message':_0x4840df(0xa9)};return null;}['validateUrl'](_0xf64883,_0x412d5b){const _0x15f55b=a0_0x4138e0,_0x29998a={'hrMfU':function(_0x3c7368,_0x42fcde){return _0x3c7368(_0x42fcde);},'FFNpp':_0x15f55b(0xa4)};try{return new URL(_0x29998a['hrMfU'](String,_0x412d5b)),null;}catch(_0x45af40){return{'field':_0xf64883,'type':'format','message':_0x29998a[_0x15f55b(0x91)]};}}[a0_0x4138e0(0x92)](_0x1b9eb2,_0xd6fa05){const _0x2a8b75=a0_0x4138e0,_0x46d8d4={'vtSvc':'format','rhTmd':_0x2a8b75(0xac)};if(isNaN(_0xd6fa05))return{'field':_0x1b9eb2,'type':_0x46d8d4['vtSvc'],'message':_0x46d8d4['rhTmd']};return null;}[a0_0x4138e0(0x94)](_0x2cacb6,_0x3ef6bf){const _0x68413c=new Map(),_0x86d2f2=[];return _0x2cacb6['forEach']((_0x4488af,_0x2a5711)=>{const _0x5e3615=a0_0x5b08,_0x5928ce=_0x3ef6bf['map'](_0x2c67ef=>_0x4488af[_0x2c67ef])[_0x5e3615(0x9b)]('|');_0x68413c['has'](_0x5928ce)?_0x86d2f2['push']({'rowIndex':_0x2a5711,'duplicateOf':_0x68413c[_0x5e3615(0x8f)](_0x5928ce),'key':_0x5928ce}):_0x68413c[_0x5e3615(0x9d)](_0x5928ce,_0x2a5711);}),_0x86d2f2;}['batchValidateRows'](_0x4775b3,_0x57f04b,_0x35b062){const _0x53ce94=a0_0x4138e0,_0x3573c8={'APzKS':function(_0x37ce60,_0x33edee){return _0x37ce60>_0x33edee;},'JMIQt':'batch_validation_complete','TaIQM':'Batch\x20validation\x20completed'},_0x610ede=[];return _0x4775b3[_0x53ce94(0xa3)]((_0x56db34,_0x564c9b)=>{const _0x53d0e0=_0x53ce94,_0x11f83e=this['validateRow'](_0x56db34,_0x57f04b,_0x35b062);_0x3573c8['APzKS'](_0x11f83e['length'],0x0)&&_0x610ede[_0x53d0e0(0xad)]({'rowIndex':_0x564c9b,'rowData':_0x56db34,'errors':_0x11f83e});}),logger[_0x53ce94(0xa6)]({'event':_0x3573c8['JMIQt'],'totalRows':_0x4775b3['length'],'errorCount':_0x610ede['length']},_0x3573c8['TaIQM']),_0x610ede;}}module['exports']=new ImportValidator();
|