@restforgejs/platform 5.3.6 → 5.3.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.
Files changed (170) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/cli/designer.js +1 -1
  5. package/generators/cli/fast-track.js +98 -27
  6. package/generators/lib/templates/dashboard-catalog.js +1 -1
  7. package/generators/lib/templates/db-connection-env.js +1 -1
  8. package/generators/lib/templates/dbschema-catalog.js +1 -1
  9. package/generators/lib/templates/field-validation-catalog.js +1 -1
  10. package/generators/lib/templates/mysql-template.js +1 -1
  11. package/generators/lib/templates/oracle-template.js +1 -1
  12. package/generators/lib/templates/postgres-template.js +1 -1
  13. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  14. package/generators/lib/templates/sqlite-template.js +1 -1
  15. package/integrity-manifest.json +18 -18
  16. package/package.json +1 -1
  17. package/scripts/verify-integrity.js +1 -1
  18. package/server.js +1 -1
  19. package/src/components/handlers/adjust_handler.js +1 -1
  20. package/src/components/handlers/audit_handler.js +1 -1
  21. package/src/components/handlers/delete_handler.js +1 -1
  22. package/src/components/handlers/export_handler.js +1 -1
  23. package/src/components/handlers/import_handler.js +1 -1
  24. package/src/components/handlers/insert_handler.js +1 -1
  25. package/src/components/handlers/update_handler.js +1 -1
  26. package/src/components/handlers/upload_handler.js +1 -1
  27. package/src/components/handlers/workflow_handler.js +1 -1
  28. package/src/components/integrations/webhook.js +1 -1
  29. package/src/consumers/baseConsumer.js +1 -1
  30. package/src/consumers/declarativeMapper.js +1 -1
  31. package/src/consumers/handlers/apiHandler.js +1 -1
  32. package/src/consumers/handlers/consoleHandler.js +1 -1
  33. package/src/consumers/handlers/databaseHandler.js +1 -1
  34. package/src/consumers/handlers/index.js +1 -1
  35. package/src/consumers/handlers/kafkaHandler.js +1 -1
  36. package/src/consumers/index.js +1 -1
  37. package/src/consumers/messageTransformer.js +1 -1
  38. package/src/consumers/validator.js +1 -1
  39. package/src/core/db/dialect/base-dialect.js +1 -1
  40. package/src/core/db/dialect/index.js +1 -1
  41. package/src/core/db/dialect/mysql-dialect.js +1 -1
  42. package/src/core/db/dialect/oracle-dialect.js +1 -1
  43. package/src/core/db/dialect/postgres-dialect.js +1 -1
  44. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  45. package/src/core/db/flatten-helper.js +1 -1
  46. package/src/core/db/query-builder-error.js +1 -1
  47. package/src/core/db/query-builder.js +1 -1
  48. package/src/core/db/relation-helper.js +1 -1
  49. package/src/core/handlers/delete_handler.js +1 -1
  50. package/src/core/handlers/insert_handler.js +1 -1
  51. package/src/core/handlers/update_handler.js +1 -1
  52. package/src/core/models/base-model.js +1 -1
  53. package/src/core/utils/cache-manager.js +1 -1
  54. package/src/core/utils/component-engine.js +1 -1
  55. package/src/core/utils/context-builder.js +1 -1
  56. package/src/core/utils/datetime-formatter.js +1 -1
  57. package/src/core/utils/datetime-parser.js +1 -1
  58. package/src/core/utils/db.js +1 -1
  59. package/src/core/utils/logger.js +1 -1
  60. package/src/core/utils/payload-loader.js +1 -1
  61. package/src/core/utils/security-checks.js +1 -1
  62. package/src/middleware/body-options.js +1 -1
  63. package/src/middleware/cors.js +1 -1
  64. package/src/middleware/idempotency.js +1 -1
  65. package/src/middleware/rate-limiter.js +1 -1
  66. package/src/middleware/request-logger.js +1 -1
  67. package/src/middleware/security-headers.js +1 -1
  68. package/src/models/base-model-mysql.js +1 -1
  69. package/src/models/base-model-oracle.js +1 -1
  70. package/src/models/base-model-sqlite.js +1 -1
  71. package/src/models/base-model.js +1 -1
  72. package/src/pro/caching/redis-client.js +1 -1
  73. package/src/pro/caching/redis-helper.js +1 -1
  74. package/src/pro/consumers/baseConsumer.js +1 -1
  75. package/src/pro/consumers/declarativeMapper.js +1 -1
  76. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  77. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  78. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  79. package/src/pro/consumers/handlers/index.js +1 -1
  80. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  81. package/src/pro/consumers/index.js +1 -1
  82. package/src/pro/consumers/messageTransformer.js +1 -1
  83. package/src/pro/consumers/validator.js +1 -1
  84. package/src/pro/database/base-model-mysql.js +1 -1
  85. package/src/pro/database/base-model-oracle.js +1 -1
  86. package/src/pro/database/base-model-sqlite.js +1 -1
  87. package/src/pro/database/db-mysql.js +1 -1
  88. package/src/pro/database/db-oracle.js +1 -1
  89. package/src/pro/database/db-sqlite.js +1 -1
  90. package/src/pro/excel/excel-generator.js +1 -1
  91. package/src/pro/excel/excel-parser.js +1 -1
  92. package/src/pro/excel/export-service.js +1 -1
  93. package/src/pro/excel/export_handler.js +1 -1
  94. package/src/pro/excel/import-service.js +1 -1
  95. package/src/pro/excel/import-validator.js +1 -1
  96. package/src/pro/excel/import_handler.js +1 -1
  97. package/src/pro/excel/upsert-builder.js +1 -1
  98. package/src/pro/idgen/idgen-routes.js +1 -1
  99. package/src/pro/integrations/lookup-resolver.js +1 -1
  100. package/src/pro/integrations/upload-handler-v2.js +1 -1
  101. package/src/pro/integrations/upload-handler.js +1 -1
  102. package/src/pro/integrations/webhook.js +1 -1
  103. package/src/pro/locking/lock-routes.js +1 -1
  104. package/src/pro/locking/resource-lock-manager.js +1 -1
  105. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  106. package/src/pro/messaging/kafkaService.js +1 -1
  107. package/src/pro/messaging/messagehubService.js +1 -1
  108. package/src/pro/messaging/rabbitmqService.js +1 -1
  109. package/src/pro/scheduler/job-manager.js +1 -1
  110. package/src/pro/scheduler/job-routes.js +1 -1
  111. package/src/pro/scheduler/job-validator.js +1 -1
  112. package/src/pro/storage/base-storage-provider.js +1 -1
  113. package/src/pro/storage/file-metadata-helper.js +1 -1
  114. package/src/pro/storage/index.js +1 -1
  115. package/src/pro/storage/local-storage-provider.js +1 -1
  116. package/src/pro/storage/s3-storage-provider.js +1 -1
  117. package/src/pro/storage/upload-cleanup-job.js +1 -1
  118. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  119. package/src/pro/storage/upload-pending-tracker.js +1 -1
  120. package/src/pro/websocket/broadcast-helper.js +1 -1
  121. package/src/pro/websocket/index.js +1 -1
  122. package/src/pro/websocket/livesync-server.js +1 -1
  123. package/src/pro/websocket/ws-broadcaster.js +1 -1
  124. package/src/services/export-service.js +1 -1
  125. package/src/services/import-service.js +1 -1
  126. package/src/services/kafkaConsumerService.js +1 -1
  127. package/src/services/kafkaService.js +1 -1
  128. package/src/services/messagehubService.js +1 -1
  129. package/src/services/rabbitmqService.js +1 -1
  130. package/src/utils/cache-invalidation-registry.js +1 -1
  131. package/src/utils/cache-manager.js +1 -1
  132. package/src/utils/component-engine.js +1 -1
  133. package/src/utils/config-extractor.js +1 -1
  134. package/src/utils/consumerLogger.js +1 -1
  135. package/src/utils/context-builder.js +1 -1
  136. package/src/utils/dashboard-helpers.js +1 -1
  137. package/src/utils/dateHelper.js +1 -1
  138. package/src/utils/datetime-formatter.js +1 -1
  139. package/src/utils/datetime-parser.js +1 -1
  140. package/src/utils/db-bootstrap.js +1 -1
  141. package/src/utils/db-mysql.js +1 -1
  142. package/src/utils/db-oracle.js +1 -1
  143. package/src/utils/db-sqlite.js +1 -1
  144. package/src/utils/db.js +1 -1
  145. package/src/utils/demo-generator.js +1 -1
  146. package/src/utils/excel-generator.js +1 -1
  147. package/src/utils/excel-parser.js +1 -1
  148. package/src/utils/file-watcher.js +1 -1
  149. package/src/utils/id-generator.js +1 -1
  150. package/src/utils/idempotency-manager.js +1 -1
  151. package/src/utils/import-validator.js +1 -1
  152. package/src/utils/license-client.js +1 -1
  153. package/src/utils/lock-manager.js +1 -1
  154. package/src/utils/logger.js +1 -1
  155. package/src/utils/lookup-resolver.js +1 -1
  156. package/src/utils/payload-loader.js +1 -1
  157. package/src/utils/processor-response.js +1 -1
  158. package/src/utils/rabbitmq.js +1 -1
  159. package/src/utils/redis-client.js +1 -1
  160. package/src/utils/redis-helper.js +1 -1
  161. package/src/utils/request-scope.js +1 -1
  162. package/src/utils/security-checks.js +1 -1
  163. package/src/utils/service-resolver.js +1 -1
  164. package/src/utils/shutdown-coordinator.js +1 -1
  165. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  166. package/src/utils/sql-table-extractor.js +1 -1
  167. package/src/utils/trusted-keys.js +1 -1
  168. package/src/utils/upload-handler.js +1 -1
  169. package/src/utils/upsert-builder.js +1 -1
  170. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';function a0_0x17a2(_0x1e9a08,_0x486da9){_0x1e9a08=_0x1e9a08-0x179;const _0x27b72c=a0_0x27b7();let _0x17a275=_0x27b72c[_0x1e9a08];if(a0_0x17a2['efGYRs']===undefined){var _0x1002b7=function(_0x2b93e4){const _0x43410d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32b37d='',_0x1def8c='';for(let _0x5a91b0=0x0,_0x444ed8,_0x6fe7a0,_0x5e4568=0x0;_0x6fe7a0=_0x2b93e4['charAt'](_0x5e4568++);~_0x6fe7a0&&(_0x444ed8=_0x5a91b0%0x4?_0x444ed8*0x40+_0x6fe7a0:_0x6fe7a0,_0x5a91b0++%0x4)?_0x32b37d+=String['fromCharCode'](0xff&_0x444ed8>>(-0x2*_0x5a91b0&0x6)):0x0){_0x6fe7a0=_0x43410d['indexOf'](_0x6fe7a0);}for(let _0x16bb55=0x0,_0x3ab935=_0x32b37d['length'];_0x16bb55<_0x3ab935;_0x16bb55++){_0x1def8c+='%'+('00'+_0x32b37d['charCodeAt'](_0x16bb55)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1def8c);};a0_0x17a2['sfZgpk']=_0x1002b7,a0_0x17a2['mmqApo']={},a0_0x17a2['efGYRs']=!![];}const _0x2b32ce=_0x27b72c[0x0],_0x3b090f=_0x1e9a08+_0x2b32ce,_0x32ce75=a0_0x17a2['mmqApo'][_0x3b090f];return!_0x32ce75?(_0x17a275=a0_0x17a2['sfZgpk'](_0x17a275),a0_0x17a2['mmqApo'][_0x3b090f]=_0x17a275):_0x17a275=_0x32ce75,_0x17a275;}const a0_0x2ce5f2=a0_0x17a2;function a0_0x27b7(){const _0x56c3f0=['mJm4mZC2nuPcCxnzuW','otnYzNv1EgO','zxH0zw5ZAw9UCW','mJy3ntuYnhDgr2nwyG','y3DK','zxH0BMfTzq','Bg9N','D2f0y2HLCNm','zgvIB3vUy2vuAw1LCG','zgLYzwn0B3jPzxm','CMvSyxrPDMu','nJe0nty3nfncCNr4EG','nxW0Fdn8mNWWFde','C3rVCa','y2XVC2u','qMXMreS','mZvjDNbLrei','B25dAgfUz2u','Cgf0Aa','zgvIB3vUy2vnCW','C3bSAxq','oty0odyWsKjtv0Xg','owfyuLzrrW','mtq4otaZmMTgzKTnuG','mJmYndrqy2fjvfm','mtK5mZy0ntbKEMLovee','x2rLyM91BMnL','ChvZAa','BwvZC2fNzq'];a0_0x27b7=function(){return _0x56c3f0;};return a0_0x27b7();}(function(_0x25bac0,_0x450e03){const _0x1d9a98=a0_0x17a2,_0x33ab92=_0x25bac0();while(!![]){try{const _0x2d5707=parseInt(_0x1d9a98(0x192))/0x1+parseInt(_0x1d9a98(0x180))/0x2+-parseInt(_0x1d9a98(0x17e))/0x3*(parseInt(_0x1d9a98(0x195))/0x4)+parseInt(_0x1d9a98(0x17d))/0x5+parseInt(_0x1d9a98(0x188))/0x6+-parseInt(_0x1d9a98(0x18d))/0x7*(parseInt(_0x1d9a98(0x194))/0x8)+-parseInt(_0x1d9a98(0x193))/0x9*(parseInt(_0x1d9a98(0x179))/0xa);if(_0x2d5707===_0x450e03)break;else _0x33ab92['push'](_0x33ab92['shift']());}catch(_0x2d4bac){_0x33ab92['push'](_0x33ab92['shift']());}}}(a0_0x27b7,0xaab57));const fs=require('fs'),path=require(a0_0x2ce5f2(0x18f));class FileWatcher{constructor(_0x1148a3={}){const _0x16ca23=a0_0x2ce5f2,_0x2d745f={'BlfDK':_0x16ca23(0x189),'vmMTs':'.js'},_0x23fc40=_0x2d745f[_0x16ca23(0x18c)][_0x16ca23(0x191)]('|');let _0x490227=0x0;while(!![]){switch(_0x23fc40[_0x490227++]){case'0':this['watchers']=[];continue;case'1':this[_0x16ca23(0x185)]=null;continue;case'2':this[_0x16ca23(0x18e)]=_0x1148a3['onChange']||(()=>{});continue;case'3':this[_0x16ca23(0x190)]=_0x1148a3[_0x16ca23(0x190)]||0x1f4;continue;case'4':this[_0x16ca23(0x17f)]=_0x1148a3[_0x16ca23(0x17f)]||[_0x2d745f['vmMTs'],'.json'];continue;case'5':this['directories']=_0x1148a3['directories']||[];continue;}break;}}['start'](){const _0x182d65=a0_0x2ce5f2;for(const _0x346a39 of this[_0x182d65(0x186)]){if(!fs['existsSync'](_0x346a39)){console[_0x182d65(0x183)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path[_0x182d65(0x187)](process['cwd'](),_0x346a39)||_0x346a39));continue;}try{const _0x10303f=fs['watch'](_0x346a39,{'recursive':!![]},(_0x4f345d,_0x8c7567)=>{const _0x27c18d=_0x182d65;if(!_0x8c7567)return;const _0x54a877=path[_0x27c18d(0x182)](_0x8c7567)['toLowerCase']();if(!this[_0x27c18d(0x17f)]['includes'](_0x54a877))return;this[_0x27c18d(0x17a)](_0x8c7567);});_0x10303f['on']('error',_0x524c07=>{const _0x2daf10=_0x182d65;console[_0x2daf10(0x183)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x2daf10(0x187)](process['cwd'](),_0x346a39)+':\x20'+_0x524c07[_0x2daf10(0x17c)]);}),this[_0x182d65(0x184)][_0x182d65(0x17b)](_0x10303f);const _0x453266=path['relative'](process[_0x182d65(0x181)](),_0x346a39)||_0x346a39;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x453266+'/\x20(recursive)');}catch(_0x17d454){console[_0x182d65(0x183)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path['relative'](process['cwd'](),_0x346a39)+':\x20'+_0x17d454['message']);}}}[a0_0x2ce5f2(0x18a)](){const _0x20aa52=a0_0x2ce5f2;for(const _0x24fb60 of this['watchers']){try{_0x24fb60[_0x20aa52(0x18b)]();}catch(_0x4be9f8){}}this['watchers']=[],this['debounceTimer']&&(clearTimeout(this['debounceTimer']),this[_0x20aa52(0x185)]=null);}['_debounce'](_0x1e21cf){const _0x468ca0={'ELbHn':function(_0x482c2b,_0x1a9186){return _0x482c2b(_0x1a9186);}};this['debounceTimer']&&_0x468ca0['ELbHn'](clearTimeout,this['debounceTimer']),this['debounceTimer']=setTimeout(()=>{const _0x252c60=a0_0x17a2;this[_0x252c60(0x185)]=null,this['onChange'](_0x1e21cf);},this['debounceMs']);}}module['exports']=FileWatcher;
1
+ 'use strict';const a0_0x1a54a9=a0_0x4ced;(function(_0xe00aa3,_0x101a74){const _0x47a4ef=a0_0x4ced,_0x42ede3=_0xe00aa3();while(!![]){try{const _0x3bb353=-parseInt(_0x47a4ef(0x1c4))/0x1+parseInt(_0x47a4ef(0x1c6))/0x2+parseInt(_0x47a4ef(0x1c8))/0x3*(-parseInt(_0x47a4ef(0x1be))/0x4)+parseInt(_0x47a4ef(0x1ce))/0x5*(-parseInt(_0x47a4ef(0x1b8))/0x6)+-parseInt(_0x47a4ef(0x1b3))/0x7*(parseInt(_0x47a4ef(0x1ca))/0x8)+-parseInt(_0x47a4ef(0x1bb))/0x9*(-parseInt(_0x47a4ef(0x1b9))/0xa)+parseInt(_0x47a4ef(0x1b5))/0xb;if(_0x3bb353===_0x101a74)break;else _0x42ede3['push'](_0x42ede3['shift']());}catch(_0x1b8ce4){_0x42ede3['push'](_0x42ede3['shift']());}}}(a0_0x5942,0xd908b));function a0_0x4ced(_0x2cfa6b,_0x3f7bbb){_0x2cfa6b=_0x2cfa6b-0x1b3;const _0x5942fc=a0_0x5942();let _0x4ceddd=_0x5942fc[_0x2cfa6b];if(a0_0x4ced['CjemPl']===undefined){var _0x27ab8b=function(_0x5cb1e2){const _0x46fd5a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5398de='',_0x507ffb='';for(let _0x38de39=0x0,_0x95a83b,_0xd89a7a,_0x341b6f=0x0;_0xd89a7a=_0x5cb1e2['charAt'](_0x341b6f++);~_0xd89a7a&&(_0x95a83b=_0x38de39%0x4?_0x95a83b*0x40+_0xd89a7a:_0xd89a7a,_0x38de39++%0x4)?_0x5398de+=String['fromCharCode'](0xff&_0x95a83b>>(-0x2*_0x38de39&0x6)):0x0){_0xd89a7a=_0x46fd5a['indexOf'](_0xd89a7a);}for(let _0x3e41c5=0x0,_0x407642=_0x5398de['length'];_0x3e41c5<_0x407642;_0x3e41c5++){_0x507ffb+='%'+('00'+_0x5398de['charCodeAt'](_0x3e41c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x507ffb);};a0_0x4ced['kZeOEM']=_0x27ab8b,a0_0x4ced['FeDUGH']={},a0_0x4ced['CjemPl']=!![];}const _0x1eabcf=_0x5942fc[0x0],_0x2b903f=_0x2cfa6b+_0x1eabcf,_0x136252=a0_0x4ced['FeDUGH'][_0x2b903f];return!_0x136252?(_0x4ceddd=a0_0x4ced['kZeOEM'](_0x4ceddd),a0_0x4ced['FeDUGH'][_0x2b903f]=_0x4ceddd):_0x4ceddd=_0x136252,_0x4ceddd;}const fs=require('fs'),path=require(a0_0x1a54a9(0x1d0));class FileWatcher{constructor(_0x2c55dc={}){const _0x18813f=a0_0x1a54a9,_0x26112a={'oVrAB':'.js','DIazH':'.json'};this['directories']=_0x2c55dc[_0x18813f(0x1d2)]||[],this['extensions']=_0x2c55dc[_0x18813f(0x1c5)]||[_0x26112a[_0x18813f(0x1c9)],_0x26112a['DIazH']],this['debounceMs']=_0x2c55dc['debounceMs']||0x1f4,this[_0x18813f(0x1c3)]=_0x2c55dc['onChange']||(()=>{}),this['watchers']=[],this['debounceTimer']=null;}['start'](){const _0x9b5aec=a0_0x1a54a9,_0x3db6c1={'eypfa':'error'};for(const _0x3a0b6b of this[_0x9b5aec(0x1d2)]){if(!fs[_0x9b5aec(0x1c0)](_0x3a0b6b)){console['log'](_0x9b5aec(0x1b6)+(path['relative'](process['cwd'](),_0x3a0b6b)||_0x3a0b6b));continue;}try{const _0x489ad5=fs[_0x9b5aec(0x1cb)](_0x3a0b6b,{'recursive':!![]},(_0x482d22,_0x58f139)=>{const _0x48083d=_0x9b5aec;if(!_0x58f139)return;const _0x474b18=path['extname'](_0x58f139)[_0x48083d(0x1bd)]();if(!this['extensions'][_0x48083d(0x1c1)](_0x474b18))return;this[_0x48083d(0x1d3)](_0x58f139);});_0x489ad5['on'](_0x3db6c1['eypfa'],_0x3d60ee=>{const _0x4ce1bb=_0x9b5aec;console[_0x4ce1bb(0x1ba)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path['relative'](process['cwd'](),_0x3a0b6b)+':\x20'+_0x3d60ee[_0x4ce1bb(0x1b4)]);}),this[_0x9b5aec(0x1cf)][_0x9b5aec(0x1bc)](_0x489ad5);const _0x5b2b90=path[_0x9b5aec(0x1b7)](process['cwd'](),_0x3a0b6b)||_0x3a0b6b;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x5b2b90+_0x9b5aec(0x1cc));}catch(_0xa7252a){console['log']('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path['relative'](process['cwd'](),_0x3a0b6b)+':\x20'+_0xa7252a[_0x9b5aec(0x1b4)]);}}}['stop'](){const _0x324fb7=a0_0x1a54a9;for(const _0xdf2a95 of this['watchers']){try{_0xdf2a95[_0x324fb7(0x1c7)]();}catch(_0x414968){}}this[_0x324fb7(0x1cf)]=[],this[_0x324fb7(0x1c2)]&&(clearTimeout(this[_0x324fb7(0x1c2)]),this[_0x324fb7(0x1c2)]=null);}[a0_0x1a54a9(0x1d3)](_0x58076b){const _0xe0198d=a0_0x1a54a9,_0x5b8d9e={'DrMzC':function(_0x7b1fc2,_0x48e04e,_0x313784){return _0x7b1fc2(_0x48e04e,_0x313784);}};this[_0xe0198d(0x1c2)]&&clearTimeout(this[_0xe0198d(0x1c2)]),this[_0xe0198d(0x1c2)]=_0x5b8d9e[_0xe0198d(0x1d1)](setTimeout,()=>{const _0x5f4b59=_0xe0198d;this['debounceTimer']=null,this[_0x5f4b59(0x1c3)](_0x58076b);},this[_0xe0198d(0x1cd)]);}}module[a0_0x1a54a9(0x1bf)]=FileWatcher;function a0_0x5942(){const _0x1b6093=['rhjnEKm','zgLYzwn0B3jPzxm','x2rLyM91BMnL','n3fHBKzNsa','BwvZC2fNzq','mJy3ndu3ntjJu0L3BvG','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','CMvSyxrPDMu','ndyZmtK4mKLgqxLOsq','mJbPwMXTu3i','Bg9N','mJiXmtiXAwHTzKnc','ChvZAa','Dg9mB3DLCKnHC2u','ndbduMviwLO','zxHWB3j0CW','zxHPC3rZu3LUyW','Aw5JBhvKzxm','zgvIB3vUy2vuAw1LCG','B25dAgfUz2u','odG2mdyXr2DTrgLb','zxH0zw5ZAw9UCW','mJm1mJm2og1eCfbHqG','y2XVC2u','mZe4mZq1DhnwtfDw','B1zYqui','mZG4nJaWAvf6Cufe','D2f0y2G','lYaOCMvJDxjZAxzLkq','zgvIB3vUy2vnCW','nxrRChfSsW','D2f0y2HLCNm','Cgf0Aa'];a0_0x5942=function(){return _0x1b6093;};return a0_0x5942();}
@@ -1 +1 @@
1
- 'use strict';const a0_0x570cb3=a0_0x15de;(function(_0x4c8c98,_0x101b3d){const _0x45769b=a0_0x15de,_0x1ea0cf=_0x4c8c98();while(!![]){try{const _0x174159=parseInt(_0x45769b(0x299))/0x1*(-parseInt(_0x45769b(0x2ba))/0x2)+parseInt(_0x45769b(0x234))/0x3*(-parseInt(_0x45769b(0x1cc))/0x4)+parseInt(_0x45769b(0x1d4))/0x5*(-parseInt(_0x45769b(0x27a))/0x6)+-parseInt(_0x45769b(0x2a8))/0x7+parseInt(_0x45769b(0x1ab))/0x8*(-parseInt(_0x45769b(0x1d3))/0x9)+parseInt(_0x45769b(0x1ef))/0xa*(-parseInt(_0x45769b(0x257))/0xb)+parseInt(_0x45769b(0x25e))/0xc;if(_0x174159===_0x101b3d)break;else _0x1ea0cf['push'](_0x1ea0cf['shift']());}catch(_0x422839){_0x1ea0cf['push'](_0x1ea0cf['shift']());}}}(a0_0x12f3,0x83618));const crypto=require(a0_0x570cb3(0x1b9)),redisClient=require(a0_0x570cb3(0x1e7)),{logger}=require(a0_0x570cb3(0x202)),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x570cb3(0x1b0),'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=a0_0x570cb3(0x1e8),CHARSET_UPPER=a0_0x570cb3(0x27f),CHARSET_LOWER=a0_0x570cb3(0x195),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_0x570cb3(0x28e),CHARSET_HEX_LOWER=a0_0x570cb3(0x2b3),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_0x570cb3(0x29a),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=a0_0x570cb3(0x2af),LUA_EXTEND_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\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x250792,_0x105452,_0x5ae417=null){const _0x22183e=a0_0x570cb3,_0x31d02f={'yIxOi':_0x22183e(0x23a)};super(_0x105452||_0x250792),this['name']=_0x31d02f['yIxOi'],this['code']=_0x250792,this[_0x22183e(0x24c)]=_0x5ae417;}}function a0_0x12f3(){const _0x35a29e=['ugrkEKu','t0vKq0G','x2LUAxrPywXPEMvK','ExL5Ew1T','AwrLBuTLEq','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','u0DiruK','CMv1C2u','CxHTDKC','ExL5Ew1Tzgq','CNn2swr4s2v5','AxnfBMfIBgvK','y3j5ChrV','x3zHBgLKyxrLugf0DgvYBG','x3vUzg9syw5KB21szxnLCNzHDgLVBG','zM9YBwf0','B1LUEfa','D1vcAuW','C2fKza','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','z2v0uMvZzxj2yxrPB24','BM93','v0Tqswq','Dg9ju09tDhjPBMC','rLHKENK','BwvZC2fNzq','AhnLDa','BNvTrgLNAxrZ','Bw9Kzq','Bwf4uMv0CNK','Ew1JCe4','nteYuhvsqvjR','y21Asw8','Cxz4sge','D2jhwgu','ExL5Eq','DMjUy3q','x3n0B3jLswrLBunHy2HL','mtCZmtiWneLOAMHbDG','mta5nvL0uw5gzG','x3bHzdi','C2vWyxjHDg9Y','wgHTweS','zxHWB3j0CW','surhru5Fsu5wquXjrf9nt0rf','zw52','zw5ZDxjLvw5PCxvL','z2v0q2XPzw50','zgvMyxvSDe1HEfjLDhj5','CMvWzwf0','CgfYC2u','x2vUC3vYzuLUAxrPywXPEMvK','DhrS','suqGr2vUzxjHDg9YihjLC2v0oIa','x3jLC2vYDMvnyxHuveW','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','surhru5Fsu5wquXjrf9ut0TftG','yKzjuei','lI9YzwrPCY1JBgLLBNq','mdeYmZq1nJC4oq','y291BNrLCG','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','C3rYAw5N','zw5HyMXLza','x2TLEvbYzwzPEa','BNvTyMvY','mJqYmeL3BuLwzG','CMvZB3vYy2u','tfrVwKG','EMTpy0S','swrLBxbVDgvUy3KGy2fJAguGseLu','vfrqvvK','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','zgvS','AwrLBvruta','CgfKu3rHCNq','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','Dg9mB3DLCKnHC2u','CMvZzxj2zu1HEfruta','x2rLzMf1BhrnyxHszxrYEq','AwrLBxbVDgvUy3LlzxK','DgvZDa','x2nVDw50zxjuveXnyxa','zgLNAxrZ','y291BNrLCKLUDa','lI9SB2DNzxi','ywXSB3DszxnLDa','x2DLDenVDw50zxjuveW','wvjZA0u','C3jbuMq','surhru5Fsu5wquXjrf9gt1jnqvq','x2j1AwXKtwv0yuTLEq','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','y1nctvK','BgvUz3rO','C3rYAw5NAwz5','t1bcB28','C2v0','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','ENHesvm','qMD5vxO','surhru5Frevgqvvmvf9nqvHFuKvuuLK','DKXPzxK','DMfSDwu','x3bHCNnLtNvTyMvY','C2nHCMq','Exnfs0y','y2fUy2vSuMvZzxj2yxrPB24','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','CMvZzxj2zurLzMf1BhruveW','Ag1Nzxq','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','CMy6AwrNzw46','C3jLBq','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','r0LzExe','D2fYBG','x2rLzMf1BhrqAw5eAwDPDhm','AwrNzw5Fy29UzMLNx2LUAxq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','surhru5Fsu5wquXjrf9qqvrurvjo','EKvuDgW','CgvLAW','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','surhru5Fsu5wquXjrf9srvnpvvjdrq','uvn6C28','x2j1AwXKsxnZDwvKs2v5','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','suqGr2vUzxjHDg9Yig51BwjLCJOG','ywXS','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x3vWzgf0zu1LDge','mJaXnM1wtNnsrW','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','Bwv0yq','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','B01zwxu','swrhzw5LCMf0B3jfCNjVCG','vw5RBM93BIbTB2rLoIa','DuXKzMS','x2vUywjSzwq','AgLnyNC','ChjLzML4','zgvMyxvSDfbPBKrPz2L0CW','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','z2v0','AwXkBgi','uNP6EKK','z2vUzxjHDgvKqxq','x3L5ExLTBwrKxW','AwrNzw5Fy29UC3vTzwq','Dg9Rzw4','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','C2vYAwfS','CgLWzwXPBMu','zgv0ywLSCW','teLOA08','uwD1D1y','x3L5ExLTBv8','zM9YBwf0s2v5','zxzHBa','z2v0rNvSBfLLyxi','D2LUBMvYuMvZDwX0','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','yNvPBgrezxrLCM1PBMLZDgLJs2v5','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','mJCXndHQruvyuMu','surhru5Fsu5wquXjrf9esuDjvfm','Cgf0DgvYBG','qwvpDvC','x2j1AwXKrM9YBwf0s2v5','x3zHBgLKyxrLuMvZB3vYy2u','BwfW','mZu5odG0ntzwq0vMz0S','surhru5FuKvtrvrFtK9ux0fmte9xruq','AgfZ','EuTZBhu','ignOyxjZicHNB3qGBgvUz3rOoIa','r3rrDhq','lcbLEhbLy3rLzca','x2fSBg93uMvZzxq','CMfUzg9T','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x3L5ExLF','sKDYqLi','suqGr2vUzxjHDg9YihjHBMrVBtOG','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','zgf0zvbYzwzPEa','y29Kzq','r2jlBwq','DMrvy2i','vw5RBM93BIbMB3jTyxq6ia','DLzpt1O','Chr0Ba','A2v5CW','sw52ywXPzcbMB3jTyxq6ia','CMvZzxj2zv9LEhrLBMq','zfPJCLy','ywn0AxzLoG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','mJe1nZbNz0HczLi','x3zHBgLKyxrLtwf4uMv0CNK','CgfKzgvKicHNB3q6ia','x3jLDhjPzxzLswrLBunHy2HL','x3rLEhq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','AxnjBNrLz2vY','x2rLzMf1BhrdB2rLugf0DgvYBG','CNn2s2v5','ufbZq0e','x2rLzMf1BhrtzxjPywXqyxr0zxjU','surhru5FreLtqujmruq','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','Bwf0y2G','CMvZzxj2zv9JB25MAxjT','whzKyLK','CgLU','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','swPIyMW','mdeYmZq1nJC4oufcq0rfrG','A2v5uhjLzML4','lcaR','x2j1AwXKqwn0AxzLs2v5','u0LdyLO','zK5IuNe','CMfUzg9Tvvvjra','Dgv4Da','x3jLC2vYDMvezwzHDwX0vfrm','x2j1AwXKswrLBuTLEq','uwLRDMy','mJa4mJiXEM1sEeje','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','CMjVwNu','AwrNzw4','x3zHBgLKyxrLuMvZzxj2zvruta','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','icHNB3q6ia','zxHWAxjLC0f0','surhru5FquXmt1DFuKvtrvq','AxnZDwvK','sxjtC2u','AM9PBG','CMvZzxq','CMvZzxj2zq','AhPKDhu','mtiXmZe0mLLWveTIzG','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','Aw5MBW','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','x2LKzw1uveW','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','v1HNr1i','AgDLDgfSBa','tMvoDfm','mdeYmZq1nJC4owfIy2rLzG','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','zLbMrLK','CMvSzwfZzwrbDa','icH0B2TLBJ0','x2zVCM1HDe51BwjLCG','C3bSAxq','nKD6uMjtAq','x2j1AwXKuMv1C2vlzxK','x3n0B3jLswrLBunHy2HLtLG','yM9VBgvHBG','surhru5Fsurftv9uveW','AxvSt00','CMvZzxj2zu51BwjLCG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','C0noyuG','sg5AquS','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','ihbHCNrZkq','C3zWzwS','otK5os05otK5','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','sLrIAee','u0PkDgG','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','x2j1AwXKu2vXs2v5','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','lwrPz2L0ignHCgfJAxr5icG','surhru5Frevgqvvmvf9qsu5FreLhsvrt','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x2j1AwXKuMvZzxj2yxrPB25lzxK','x2DLBMvYyxrLrNjVBvbHDhrLCM4','Bwv0ytO','C2vX','A2rzEgy','u1npDu0','surhru5Fsu5wquXjrf9trvbbuKfut1i','C3PbwKe','oeP6t0LIBq','AvzHzMS'];a0_0x12f3=function(){return _0x35a29e;};return a0_0x12f3();}class IdGenerator{constructor(){const _0x5b526e=a0_0x570cb3;this['_initialized']=![],this['_enabled']=null,this[_0x5b526e(0x1ed)]=null,this['_idemTTL']=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this[_0x5b526e(0x223)]=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0x5b526e(0x1ff)]=null,this[_0x5b526e(0x296)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x25efc8=a0_0x570cb3,_0x2588b3={'kpfoh':'1|10|4|8|0|2|7|9|6|11|12|5|3','LToZH':function(_0x52fa26,_0x239225,_0x379269){return _0x52fa26(_0x239225,_0x379269);},'CwUru':_0x25efc8(0x224),'bFIPB':'XXXX-XXXX-XXXX-XXXX','GDxbG':_0x25efc8(0x199),'ppqmH':function(_0x3bbb6c,_0x2bb572){return _0x3bbb6c===_0x2bb572;},'FXdzy':function(_0x74c3ab,_0x5754f9,_0x18cf48){return _0x74c3ab(_0x5754f9,_0x18cf48);}},_0x746654=_0x2588b3['kpfoh'][_0x25efc8(0x2b9)]('|');let _0x1a8b34=0x0;while(!![]){switch(_0x746654[_0x1a8b34++]){case'0':this[_0x25efc8(0x1fc)]=_0x2588b3[_0x25efc8(0x1f1)](parseInt,process['env'][_0x25efc8(0x213)],0xa)||0xa;continue;case'1':this[_0x25efc8(0x1ed)]=_0x25efc8(0x21e);continue;case'2':this[_0x25efc8(0x223)]=_0x2588b3[_0x25efc8(0x1f1)](parseInt,process['env'][_0x25efc8(0x1a1)],0xa)||0x6;continue;case'3':logger[_0x25efc8(0x2aa)]({'event':_0x2588b3['CwUru'],'enabled':this['_enabled'],'idemTTL':this[_0x25efc8(0x2ad)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0x25efc8(0x23d)]);continue;case'4':this[_0x25efc8(0x2ad)]=parseInt(process['env'][_0x25efc8(0x2be)],0xa)||0x258;continue;case'5':this['_initialized']=!![];continue;case'6':this['_counterTTLMap']={'yyyymm':parseInt(process['env'][_0x25efc8(0x19d)],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x25efc8(0x1da)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;case'7':this[_0x25efc8(0x284)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x2588b3[_0x25efc8(0x1e6)];continue;case'8':this['_allowReset']=process['env'][_0x25efc8(0x2a1)]==='true';continue;case'9':this['_defaultCodePattern']=process[_0x25efc8(0x1da)][_0x25efc8(0x232)]||_0x2588b3['GDxbG'];continue;case'10':this['_enabled']=_0x2588b3['ppqmH'](process['env']['IDGEN_ENABLED'],'true');continue;case'11':this[_0x25efc8(0x296)]=parseInt(process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL;continue;case'12':this[_0x25efc8(0x1e3)]=_0x2588b3[_0x25efc8(0x1c5)](parseInt,process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;}break;}}[a0_0x570cb3(0x1e0)](){const _0x547bb0=a0_0x570cb3;if(!this[_0x547bb0(0x1af)])this['_initConfig']();}get[a0_0x570cb3(0x1ec)](){const _0x17306c=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x17306c(0x23d)];}get[a0_0x570cb3(0x28f)](){const _0x131ee3=a0_0x570cb3;return this[_0x131ee3(0x1e0)](),this[_0x131ee3(0x1ed)];}get[a0_0x570cb3(0x1f7)](){const _0x257317=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x257317(0x2ad)];}get[a0_0x570cb3(0x203)](){const _0x4ea9cb=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x4ea9cb(0x265)];}get[a0_0x570cb3(0x1dd)](){const _0x1f77f3=a0_0x570cb3;return this[_0x1f77f3(0x1e0)](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x5d029f=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x5d029f(0x284)];}get['defaultCodePattern'](){const _0x5bc7cb=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x5bc7cb(0x281)];}get[a0_0x570cb3(0x21b)](){const _0x3844c3=a0_0x570cb3;return this[_0x3844c3(0x1e0)](),this[_0x3844c3(0x296)];}get[a0_0x570cb3(0x1fb)](){const _0x385e02=a0_0x570cb3;return this[_0x385e02(0x1e0)](),this['_reserveMaxTTL'];}[a0_0x570cb3(0x1b8)](){return this['enabled'];}[a0_0x570cb3(0x25c)](_0x4e3b00){const _0x5e22c4=a0_0x570cb3;if(typeof _0x4e3b00!=='string'||!RESOURCE_REGEX[_0x5e22c4(0x1fe)](_0x4e3b00))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x4e3b00)+')');}['_validateNumberParams'](_0x4d8f89){const _0x26d0b4=a0_0x570cb3,_0x5945f5={'DgweO':function(_0x1faea7,_0x108655){return _0x1faea7===_0x108655;},'kYRGl':_0x26d0b4(0x1b2),'qxmvG':function(_0x29dc28,_0x20ce14){return _0x29dc28==_0x20ce14;},'VQNzG':_0x26d0b4(0x1eb),'ymcpN':function(_0x443395,_0x10b5da){return _0x443395>_0x10b5da;},'hzdtu':_0x26d0b4(0x1a9),'PdJzE':function(_0x57d2e8,_0x42742c){return _0x57d2e8!==_0x42742c;},'oMYYu':_0x26d0b4(0x2bd),'iVafk':_0x26d0b4(0x22b)},{resource:_0x48e356,format:_0x395af9,prefix:_0x42306b,separator:_0x3c9bf7,numDigits:_0x55b677,reuseDelete:_0x11de43}=_0x4d8f89;this['_validateResource'](_0x48e356);const _0x841521=_0x5945f5['DgweO'](typeof _0x395af9,'string')?_0x395af9[_0x26d0b4(0x1fa)]():'';if(!ALLOWED_FORMATS[_0x26d0b4(0x260)](_0x841521))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x26d0b4(0x28c)+[...ALLOWED_FORMATS][_0x26d0b4(0x2a4)](',\x20')+'\x20(got:\x20'+_0x395af9+')');if(!Number['isInteger'](_0x55b677)||_0x55b677<MIN_NUM_DIGITS||_0x55b677>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x5945f5['kYRGl'],'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x26d0b4(0x29f)+_0x55b677+')');const _0x221dd4=_0x5945f5[_0x26d0b4(0x1b5)](_0x42306b,null)?'':_0x42306b;if(typeof _0x221dd4!==_0x5945f5['VQNzG']||!PREFIX_REGEX['test'](_0x221dd4))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x26d0b4(0x26c)+PREFIX_REGEX+_0x26d0b4(0x29f)+JSON['stringify'](_0x42306b)+')');const _0x338c35=_0x3c9bf7==null?'':_0x3c9bf7;if(typeof _0x338c35!==_0x5945f5['VQNzG']||_0x5945f5[_0x26d0b4(0x1cb)](_0x338c35[_0x26d0b4(0x20c)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x338c35))throw new IdGeneratorError(_0x5945f5[_0x26d0b4(0x2a7)],_0x26d0b4(0x2ac)+JSON[_0x26d0b4(0x20d)](_0x3c9bf7)+')');if(_0x11de43!=null&&_0x5945f5[_0x26d0b4(0x1ad)](typeof _0x11de43,_0x5945f5[_0x26d0b4(0x239)]))throw new IdGeneratorError(_0x5945f5[_0x26d0b4(0x1ac)],_0x26d0b4(0x1f9)+typeof _0x11de43+')');return{'resource':_0x48e356,'format':_0x841521,'prefix':_0x221dd4,'separator':_0x338c35,'numDigits':_0x55b677,'reuseDelete':_0x11de43===!![]};}[a0_0x570cb3(0x1ba)](_0x19ef95){const _0xa5019d=a0_0x570cb3,_0x375d34={'qdFRk':'string','HnZAK':function(_0x331f0e,_0x5877eb){return _0x331f0e===_0x5877eb;},'DMUuG':function(_0x4f064c,_0xb0ee3c){return _0x4f064c>_0xb0ee3c;}};if(typeof _0x19ef95!==_0x375d34['qdFRk']||_0x375d34[_0xa5019d(0x194)](_0x19ef95['length'],0x0)||_0x375d34['DMUuG'](_0x19ef95['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0xa5019d(0x226),_0xa5019d(0x26b)+MAX_PATTERN_LENGTH+_0xa5019d(0x262)+(_0x19ef95&&_0x19ef95['length'])+')');let _0xde5ad9=![];for(const _0x65ba8 of _0x19ef95){if(PLACEHOLDER_MAP[_0x65ba8]){_0xde5ad9=!![];break;}}if(!_0xde5ad9)throw new IdGeneratorError(_0xa5019d(0x226),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x16ec25){const _0x24a12d=a0_0x570cb3,_0x84ebe9={'AoAjZ':function(_0x313a02,_0x1979f9){return _0x313a02==_0x1979f9;},'aVsoS':function(_0x5d670c,_0x4e24a7){return _0x5d670c<_0x4e24a7;},'ewGNk':'IDGEN_INVALID_TTL'};if(_0x84ebe9['AoAjZ'](_0x16ec25,null))return undefined;if(!Number[_0x24a12d(0x280)](_0x16ec25)||_0x84ebe9['aVsoS'](_0x16ec25,0x1)||_0x16ec25>MAX_TTL)throw new IdGeneratorError(_0x84ebe9['ewGNk'],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x16ec25+')');return _0x16ec25;}[a0_0x570cb3(0x27b)](_0x170c46){const _0x217b0e=a0_0x570cb3,_0x21c3ca={'vdUcb':function(_0x509363,_0x3e02bb){return _0x509363==_0x3e02bb;},'fPfFY':function(_0x13a9a2,_0x950051){return _0x13a9a2>_0x950051;}};if(_0x21c3ca[_0x217b0e(0x270)](_0x170c46,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x170c46)||_0x170c46<0x1||_0x21c3ca[_0x217b0e(0x2b5)](_0x170c46,MAX_RETRY_LIMIT))throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x217b0e(0x29f)+_0x170c46+')');return _0x170c46;}[a0_0x570cb3(0x287)](_0x356671){const _0x117d9a=a0_0x570cb3,_0x434f13={'EAWXN':function(_0x4263c2,_0x528baa){return _0x4263c2==_0x528baa;},'OIjLB':function(_0x1d106f,_0x46acdc){return _0x1d106f===_0x46acdc;},'ilJlb':function(_0x356ee9,_0xa17981){return _0x356ee9>_0xa17981;}};if(_0x434f13['EAWXN'](_0x356671,null))return undefined;if(typeof _0x356671!==_0x117d9a(0x1eb)||_0x434f13['OIjLB'](_0x356671['length'],0x0)||_0x434f13[_0x117d9a(0x243)](_0x356671['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x117d9a(0x22b),_0x117d9a(0x286)+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x356671;}['_validateReserveTTL'](_0x2713c8){const _0x2394e2=a0_0x570cb3,_0x4636d1={'uLdfk':function(_0x5ac364,_0x5351cb){return _0x5ac364==_0x5351cb;},'AeOuW':'IDGEN_INVALID_RESERVE_TTL'};if(_0x4636d1[_0x2394e2(0x23c)](_0x2713c8,null))return this[_0x2394e2(0x21b)];if(!Number['isInteger'](_0x2713c8)||_0x2713c8<MIN_RESERVE_TTL||_0x2713c8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x4636d1[_0x2394e2(0x25a)],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x2713c8+')');return _0x2713c8;}[a0_0x570cb3(0x2a9)](_0x38e0a2){const _0x31ee4f=a0_0x570cb3,_0x59a2cd={'VIdxb':function(_0x36ebf1,_0x4f0528){return _0x36ebf1!==_0x4f0528;}};if(_0x59a2cd['VIdxb'](typeof _0x38e0a2,_0x31ee4f(0x1eb))||!RESERVATION_TOKEN_REGEX['test'](_0x38e0a2))throw new IdGeneratorError(_0x31ee4f(0x1e5),_0x31ee4f(0x196)+JSON['stringify'](_0x38e0a2)+')');return _0x38e0a2;}[a0_0x570cb3(0x1d5)](_0x45f170){const _0x241308={'btkzc':function(_0x40b1fd,_0x34b2b1){return _0x40b1fd(_0x34b2b1);}};return _0x241308['btkzc'](String,_0x45f170)['padStart'](0x2,'0');}['_buildFormatKey'](_0x1167c5,_0xbd5b45,_0x445ee8=new Date()){const _0x5e7cb7=a0_0x570cb3,_0xbe81a4={'QguwV':'yyyymm','MWqRL':'IDGEN_INVALID_FORMAT'},_0x479cd0=_0x445ee8[_0x5e7cb7(0x252)](),_0xa9f8a4=this['_pad2'](_0x445ee8['getMonth']()+0x1),_0xcaf1e4=this[_0x5e7cb7(0x1d5)](_0x445ee8['getDate']()),_0x44c845=_0xbd5b45||'_';let _0x46802e,_0x5981ce='';switch(_0x1167c5){case _0x5e7cb7(0x295):_0x46802e=_0x44c845+_0x5e7cb7(0x27e);break;case _0x5e7cb7(0x1d0):_0x5981ce=''+_0x479cd0,_0x46802e=_0x44c845+_0x5e7cb7(0x268)+_0x5981ce;break;case _0xbe81a4[_0x5e7cb7(0x24e)]:_0x5981ce=''+_0x479cd0+_0xa9f8a4,_0x46802e=_0x44c845+_0x5e7cb7(0x24f)+_0x5981ce;break;case _0x5e7cb7(0x1b6):_0x5981ce=''+_0x479cd0+_0xa9f8a4+_0xcaf1e4,_0x46802e=_0x44c845+_0x5e7cb7(0x246)+_0x5981ce;break;default:throw new IdGeneratorError(_0xbe81a4['MWqRL'],_0x5e7cb7(0x271)+_0x1167c5);}return{'formatKey':_0x46802e,'datePrefix':_0x5981ce};}[a0_0x570cb3(0x19e)](_0x2e902c,_0x46ba27){return this['keyPrefix']+'seq:'+_0x2e902c+':'+_0x46ba27;}['_buildReuseKey'](_0xba3dc0,_0x5dab89){const _0x7979b3=a0_0x570cb3;return this[_0x7979b3(0x28f)]+'reuse:'+_0xba3dc0+':'+_0x5dab89;}[a0_0x570cb3(0x208)](_0x4ac776,_0x2b25e4){const _0xf9ca12=a0_0x570cb3;return this['keyPrefix']+_0xf9ca12(0x1a5)+_0x4ac776+':'+_0x2b25e4;}[a0_0x570cb3(0x22d)](_0x452247){const _0x278ff6=a0_0x570cb3;return this[_0x278ff6(0x28f)]+'issued:'+_0x452247;}[a0_0x570cb3(0x291)](_0x37043e,_0x37060d){const _0x24c454=a0_0x570cb3;return this['keyPrefix']+_0x24c454(0x278)+_0x37043e+':'+_0x37060d;}[a0_0x570cb3(0x1a3)](_0x351df1){const _0x272078=a0_0x570cb3;return this[_0x272078(0x28f)]+'rsv:'+_0x351df1;}['_buildReservationIndexKey'](_0xdb3e2d,_0x30898e){const _0x54cb94=a0_0x570cb3;return this[_0x54cb94(0x28f)]+'rsv_idx:'+_0xdb3e2d+':'+_0x30898e;}[a0_0x570cb3(0x237)](){const _0x53b860=a0_0x570cb3;return this[_0x53b860(0x28f)]+'rsv:';}['_buildIdemKey'](_0x64c7e5,_0x2f5f8b,_0x5230ed,_0x238e34){const _0x4fcc39=a0_0x570cb3,_0x146aa8={'qvxHa':_0x4fcc39(0x29c)};if(_0x5230ed)return idempotencyManager['buildDeterministicKey'](_0x146aa8['qvxHa'],_0x64c7e5,_0x2f5f8b+':'+_0x5230ed+':'+_0x238e34);return idempotencyManager[_0x4fcc39(0x255)](_0x146aa8[_0x4fcc39(0x1ce)],_0x64c7e5,_0x2f5f8b+':'+_0x238e34);}[a0_0x570cb3(0x204)](_0x2f5533){return this['_counterTTLMap'][_0x2f5533]||0x0;}[a0_0x570cb3(0x2b8)]({format:_0x12d743,prefix:_0x22f3a7,datePrefix:_0x1e303a,separator:_0x54dd7d,numDigits:_0xef495,counterInt:_0x5e2435}){const _0x35cd8c=a0_0x570cb3,_0x16cfde={'LZoOZ':function(_0x26ec97,_0x2c5f8d){return _0x26ec97-_0x2c5f8d;},'FIEEr':function(_0xf07c63,_0x4a5603){return _0xf07c63>_0x4a5603;},'OtEOg':'IDGEN_COUNTER_OVERFLOW','dCQdo':function(_0x149c66,_0x493516){return _0x149c66===_0x493516;}},_0x314daa=_0x16cfde['LZoOZ'](Math['pow'](0xa,_0xef495),0x1);if(_0x16cfde['FIEEr'](_0x5e2435,_0x314daa))throw new IdGeneratorError(_0x16cfde['OtEOg'],'Counter\x20overflow:\x20'+_0x5e2435+'\x20exceeds\x20'+_0xef495+_0x35cd8c(0x1a0)+_0x314daa+_0x35cd8c(0x256),{'counterInt':_0x5e2435,'numDigits':_0xef495,'max':_0x314daa});const _0x4e517c=String(_0x5e2435)[_0x35cd8c(0x1f8)](_0xef495,'0');if(_0x16cfde['dCQdo'](_0x12d743,'text'))return _0x22f3a7?''+_0x22f3a7+_0x54dd7d+_0x4e517c:_0x4e517c;return _0x22f3a7?''+_0x22f3a7+_0x54dd7d+_0x1e303a+_0x54dd7d+_0x4e517c:''+_0x1e303a+_0x54dd7d+_0x4e517c;}['_parseNumber']({format:_0x18b294,prefix:_0x4963ce,separator:_0x5a5393,numDigits:_0x36d216,number:_0x2d463b}){const _0x425b48=a0_0x570cb3,_0x15741c={'uzFgT':'string','XYnWR':function(_0x411427,_0x199b15){return _0x411427===_0x199b15;},'IrSse':'IDGEN_INVALID_NUMBER','GIYyq':function(_0x1c8b01,_0xcfc43f){return _0x1c8b01||_0xcfc43f;},'PPsCA':function(_0x53e2d1,_0x4c8b6d){return _0x53e2d1!==_0x4c8b6d;},'XhmXK':function(_0x3c1f30,_0x214fae){return _0x3c1f30!==_0x214fae;},'wUBiL':function(_0x40e5da,_0x1f9f11){return _0x40e5da===_0x1f9f11;},'WKPId':_0x425b48(0x1d0),'LIhkO':_0x425b48(0x1b0),'BhHgb':function(_0x27d353,_0x8d5d36,_0x4041b7){return _0x27d353(_0x8d5d36,_0x4041b7);},'CEWya':function(_0x18acb2,_0x366519){return _0x18acb2||_0x366519;},'BgyUz':'text'};if(typeof _0x2d463b!==_0x15741c['uzFgT']||_0x15741c['XYnWR'](_0x2d463b[_0x425b48(0x20c)],0x0))throw new IdGeneratorError(_0x15741c[_0x425b48(0x2a3)],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x2657e5=_0x15741c[_0x425b48(0x221)](_0x5a5393,''),_0x4f9273=_0x15741c['XYnWR'](_0x2657e5,'')?[_0x2d463b]:_0x2d463b['split'](_0x2657e5);let _0x37ab75='',_0x54e640;if(_0x18b294==='text'){if(_0x4963ce){if(_0x15741c['PPsCA'](_0x4f9273['length'],0x2)||_0x15741c[_0x425b48(0x283)](_0x4f9273[0x0],_0x4963ce))throw new IdGeneratorError(_0x15741c[_0x425b48(0x2a3)],_0x425b48(0x2c1)+_0x2657e5+_0x425b48(0x27c)+_0x2d463b+')');_0x54e640=_0x4f9273[0x1];}else{if(_0x15741c['PPsCA'](_0x4f9273['length'],0x1))throw new IdGeneratorError(_0x15741c['IrSse'],'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x2d463b+')');_0x54e640=_0x4f9273[0x0];}}else{const _0x34ea53=_0x4963ce?0x3:0x2;if(_0x4f9273[_0x425b48(0x20c)]!==_0x34ea53)throw new IdGeneratorError(_0x15741c[_0x425b48(0x2a3)],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x2d463b+_0x425b48(0x264)+_0x34ea53+_0x425b48(0x197));let _0x5f5034=0x0;if(_0x4963ce){if(_0x15741c[_0x425b48(0x1d7)](_0x4f9273[_0x5f5034],_0x4963ce))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x425b48(0x2ab)+_0x4963ce+',\x20got\x20'+_0x4f9273[_0x5f5034]);_0x5f5034++;}_0x37ab75=_0x4f9273[_0x5f5034++];const _0x4d6f64=_0x15741c[_0x425b48(0x1be)](_0x18b294,_0x15741c[_0x425b48(0x1c3)])?/^\d{4}$/:_0x18b294===_0x15741c[_0x425b48(0x24d)]?/^\d{6}$/:/^\d{8}$/;if(!_0x4d6f64[_0x425b48(0x1fe)](_0x37ab75))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x425b48(0x235)+_0x18b294+':\x20'+_0x37ab75);_0x54e640=_0x4f9273[_0x5f5034];}if(!new RegExp('^\x5cd{'+_0x36d216+'}$')['test'](_0x54e640))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x425b48(0x267)+_0x36d216+'\x20digits\x20(got:\x20'+_0x54e640+')');const _0x52b02b=_0x15741c['BhHgb'](parseInt,_0x54e640,0xa),_0x2e21d2=_0x15741c['CEWya'](_0x4963ce,'_');let _0x2cd1ef;return _0x18b294===_0x15741c[_0x425b48(0x212)]?_0x2cd1ef=_0x2e21d2+'_text':_0x2cd1ef=_0x2e21d2+'_'+_0x18b294+'_'+_0x37ab75,{'formatKey':_0x2cd1ef,'counterInt':_0x52b02b,'datePrefix':_0x37ab75};}['_generateFromPattern'](_0x4e8461){let _0x2a95b4='';for(const _0x225ec6 of _0x4e8461){const _0x521684=PLACEHOLDER_MAP[_0x225ec6];if(_0x521684){const _0x5b7e6e=crypto['randomInt'](0x0,_0x521684['length']);_0x2a95b4+=_0x521684[_0x5b7e6e];}else _0x2a95b4+=_0x225ec6;}return _0x2a95b4;}async['_retrieveIdemCache'](_0x2e39bc){const _0x2c245f=a0_0x570cb3,_0x89737a={'HHfUo':_0x2c245f(0x1f3),'RXaDE':'idgen_idem_retrieve_error'};if(!_0x2e39bc)return null;try{const _0x54acfa=redisClient['getClient'](),_0x172215=await _0x54acfa['get'](_0x2e39bc);if(_0x172215)return logger['info']({'event':'idgen_idem_hit','key':_0x2e39bc},_0x89737a['HHfUo']),JSON[_0x2c245f(0x1df)](_0x172215);return null;}catch(_0xef0b50){return logger['warn']({'event':_0x89737a['RXaDE'],'error':_0xef0b50['message']},'Idempotency\x20retrieve\x20error'),null;}}async['_storeIdemCache'](_0x2790ee,_0x34107e){const _0x10bc0b=a0_0x570cb3,_0x45728d={'RCeOV':'idgen_idem_store_error','dZcrV':_0x10bc0b(0x1ea)};if(!_0x2790ee)return;try{const _0x297e7f=redisClient['getClient']();await _0x297e7f['setex'](_0x2790ee,this[_0x10bc0b(0x1f7)],JSON['stringify'](_0x34107e));}catch(_0x380346){logger[_0x10bc0b(0x222)]({'event':_0x45728d['RCeOV'],'error':_0x380346[_0x10bc0b(0x1c6)]},_0x45728d[_0x10bc0b(0x277)]);}}async[a0_0x570cb3(0x2bc)](_0x25d3d3,_0x2daad5){const _0x58eba4=a0_0x570cb3,_0x123665={'lIOXw':function(_0x40803a,_0x925650){return _0x40803a===_0x925650;},'fsEYD':'idgen_idem_nx_race_lost_but_empty','srARd':'idgen_idem_storenx_error'};if(!_0x25d3d3)return{'stored':!![],'winnerResult':null};try{const _0x570126=redisClient['getClient'](),_0x5548aa=JSON[_0x58eba4(0x20d)](_0x2daad5),_0x4c3a26=await _0x570126[_0x58eba4(0x20f)](_0x25d3d3,_0x5548aa,'EX',this[_0x58eba4(0x1f7)],'NX');if(_0x123665['lIOXw'](_0x4c3a26,'OK'))return{'stored':!![],'winnerResult':null};const _0x1e4239=await _0x570126[_0x58eba4(0x242)](_0x25d3d3);if(_0x1e4239)return{'stored':![],'winnerResult':JSON['parse'](_0x1e4239)};return logger[_0x58eba4(0x222)]({'event':_0x123665['fsEYD'],'key':_0x25d3d3},_0x58eba4(0x241)),{'stored':!![],'winnerResult':null};}catch(_0x2d7d2e){return logger['warn']({'event':_0x123665[_0x58eba4(0x206)],'error':_0x2d7d2e[_0x58eba4(0x1c6)]},_0x58eba4(0x21d)),{'stored':!![],'winnerResult':null};}}async[a0_0x570cb3(0x1bb)](_0x3cc3d3,_0x9c536,_0x52cbc9){const _0x9b985f=a0_0x570cb3;try{const _0x47a0c0=redisClient['getClient']();if(_0x52cbc9){const _0x739225=this['_buildActiveKey'](_0x3cc3d3,_0x9c536);await _0x47a0c0[_0x9b985f(0x1f6)](_0x739225);}else{const _0x16f71d=this[_0x9b985f(0x22d)](_0x3cc3d3);await _0x47a0c0['srem'](_0x16f71d,_0x9c536);}}catch(_0x46cc59){logger[_0x9b985f(0x222)]({'event':_0x9b985f(0x249),'error':_0x46cc59['message']},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async[a0_0x570cb3(0x233)](_0x3a1a43,_0x163722,_0x4114a5,_0x3574de=0x0){const _0x38a4d2=a0_0x570cb3,_0x2200fe={'PzRLW':function(_0x1a1d73,_0x33fd6b){return _0x1a1d73>_0x33fd6b;},'TTPUY':'idgen_meta_update_error','vCinB':'Meta\x20update\x20error'};try{const _0x5218ab=redisClient['getClient'](),_0x19c9e4=this[_0x38a4d2(0x208)](_0x3a1a43,_0x163722),_0x4ce1d7=[];for(const [_0x436c8a,_0x17a02f]of Object['entries'](_0x4114a5)){_0x4ce1d7['push'](_0x436c8a,String(_0x17a02f));}if(_0x2200fe['PzRLW'](_0x4ce1d7['length'],0x0)){await _0x5218ab['hset'](_0x19c9e4,..._0x4ce1d7);if(_0x3574de>0x0)await _0x5218ab['expire'](_0x19c9e4,_0x3574de);}}catch(_0x18cecf){logger['warn']({'event':_0x2200fe[_0x38a4d2(0x1f4)],'error':_0x18cecf['message']},_0x2200fe['vCinB']);}}async[a0_0x570cb3(0x1ee)](_0xc94ace){const _0xdaffb9=a0_0x570cb3,_0x47562c={'XvdbY':function(_0x51b706,_0x5ef5f9){return _0x51b706(_0x5ef5f9);},'sYvmp':'idgen_idem_loser_release_error','ysEKF':'idgen_number_idem_loser'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x2c6f8f=this['_validateNumberParams'](_0xc94ace),_0x2d7ab6=this['_validateIdempotencyKey'](_0xc94ace[_0xdaffb9(0x1fd)]),{resource:_0x4d84b8,format:_0x148340,prefix:_0x4e1135,separator:_0x2838e3,numDigits:_0x3bf308,reuseDelete:_0x417c75}=_0x2c6f8f,{formatKey:_0x4fd5cb,datePrefix:_0x229b8c}=this['_buildFormatKey'](_0x148340,_0x4e1135),_0x16d6cd=this[_0xdaffb9(0x19e)](_0x4d84b8,_0x4fd5cb),_0x323c25=this[_0xdaffb9(0x2bb)](_0x4d84b8,_0x4fd5cb),_0x4649c1=this[_0xdaffb9(0x204)](_0x148340);let _0x5a17c6=null;if(_0x2d7ab6){_0x5a17c6=this['_buildIdemKey']('number',_0x4d84b8,_0x4fd5cb,_0x2d7ab6);const _0x190c45=await this[_0xdaffb9(0x27d)](_0x5a17c6);if(_0x190c45)return _0x190c45;}const _0x4a6a57=redisClient[_0xdaffb9(0x1dc)](),_0x295ca0=await _0x4a6a57['eval'](LUA_GENERATE_NUMBER,0x2,_0x16d6cd,_0x323c25,_0x417c75?'1':'0',String(_0x4649c1)),_0x4bcc65=_0x295ca0[0x0],_0x3ac7ee=_0x295ca0[0x1]===0x1,_0xbbdcae=this[_0xdaffb9(0x2b8)]({'format':_0x148340,'prefix':_0x4e1135,'datePrefix':_0x229b8c,'separator':_0x2838e3,'numDigits':_0x3bf308,'counterInt':_0x4bcc65}),_0x428d4b={'value':_0xbbdcae,'counter':_0x4bcc65,'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'isReused':_0x3ac7ee,'generatedAt':new Date()['toISOString']()},_0x4fe321=await this[_0xdaffb9(0x2bc)](_0x5a17c6,_0x428d4b);if(!_0x4fe321['stored']){try{await _0x4a6a57['eval'](LUA_RELEASE_NUMBER,0x1,_0x323c25,_0x47562c['XvdbY'](String,_0x4bcc65),_0x47562c[_0xdaffb9(0x28a)](String,_0x4649c1));}catch(_0x11038e){logger[_0xdaffb9(0x222)]({'event':_0x47562c['sYvmp'],'error':_0x11038e[_0xdaffb9(0x1c6)],'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'counterInt':_0x4bcc65},_0xdaffb9(0x29e));}return logger[_0xdaffb9(0x2aa)]({'event':_0x47562c[_0xdaffb9(0x218)],'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'counter':_0x4bcc65},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x4fe321[_0xdaffb9(0x253)];}return this['_updateMeta'](_0x4d84b8,_0x4fd5cb,{'lastValue':_0xbbdcae,'lastCounter':_0x4bcc65,'lastIsReused':_0x3ac7ee,'lastGeneratedAt':_0x428d4b[_0xdaffb9(0x245)]},_0x4649c1),logger['info']({'event':_0xdaffb9(0x19f),'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'counter':_0x4bcc65,'isReused':_0x3ac7ee},_0xdaffb9(0x22f)+_0xbbdcae),_0x428d4b;}async['releaseNumber'](_0x58b774){const _0xe0b640=a0_0x570cb3,_0x2fd1ec={'udTow':_0xe0b640(0x22a),'MtYft':function(_0xb56613,_0x3fedef){return _0xb56613!==_0x3fedef;},'xhUuI':function(_0x46235b,_0x5a5351){return _0x46235b!==_0x5a5351;},'gefPg':function(_0xc01c92,_0x134835){return _0xc01c92===_0x134835;},'Ruvlh':function(_0x3689a9,_0x1c5dde){return _0x3689a9<_0x1c5dde;},'NeNtS':function(_0x1aebeb,_0x53b063){return _0x1aebeb(_0x53b063);}};if(!this[_0xe0b640(0x1ec)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2fd1ec['udTow']);let _0x4af0bd,_0x3fb61c,_0x821930,_0x11670e;const _0x5c4aff=this['_validateIdempotencyKey'](_0x58b774[_0xe0b640(0x1fd)]);if(_0x2fd1ec['MtYft'](_0x58b774[_0xe0b640(0x201)],undefined)&&_0x58b774['counterInt']!==null){this['_validateResource'](_0x58b774[_0xe0b640(0x1f0)]),_0x4af0bd=_0x58b774[_0xe0b640(0x1f0)];if(_0x2fd1ec['xhUuI'](typeof _0x58b774['formatKey'],'string')||_0x2fd1ec['gefPg'](_0x58b774[_0xe0b640(0x250)][_0xe0b640(0x20c)],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x3fb61c=_0x58b774[_0xe0b640(0x250)];if(!Number['isInteger'](_0x58b774[_0xe0b640(0x201)])||_0x2fd1ec['Ruvlh'](_0x58b774[_0xe0b640(0x201)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x58b774['counterInt']+')');_0x821930=_0x58b774[_0xe0b640(0x201)];const _0x16d187=_0x3fb61c[_0xe0b640(0x288)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x11670e=_0x16d187?_0x16d187[0x1]:_0xe0b640(0x295);}else{const _0x4ecf9c=this[_0xe0b640(0x225)](_0x58b774),_0xcdd4fb=this[_0xe0b640(0x216)]({'format':_0x4ecf9c['format'],'prefix':_0x4ecf9c['prefix'],'separator':_0x4ecf9c[_0xe0b640(0x1d6)],'numDigits':_0x4ecf9c[_0xe0b640(0x1c8)],'number':_0x58b774[_0xe0b640(0x1ee)]});_0x4af0bd=_0x4ecf9c[_0xe0b640(0x1f0)],_0x3fb61c=_0xcdd4fb[_0xe0b640(0x250)],_0x821930=_0xcdd4fb['counterInt'],_0x11670e=_0x4ecf9c['format'];}const _0x5b49d4=this[_0xe0b640(0x2bb)](_0x4af0bd,_0x3fb61c),_0x429b79=this[_0xe0b640(0x204)](_0x11670e);let _0x28cc65=null;if(_0x5c4aff){_0x28cc65=this[_0xe0b640(0x297)]('release',_0x4af0bd,_0x3fb61c,_0x5c4aff);const _0x2a85a8=await this['_retrieveIdemCache'](_0x28cc65);if(_0x2a85a8)return _0x2a85a8;}const _0x5dc134=redisClient['getClient']();await _0x5dc134['eval'](LUA_RELEASE_NUMBER,0x1,_0x5b49d4,_0x2fd1ec[_0xe0b640(0x2b2)](String,_0x821930),String(_0x429b79));const _0x4a2890={'released':!![],'resource':_0x4af0bd,'formatKey':_0x3fb61c,'counter':_0x821930,'releasedAt':new Date()['toISOString']()};return await this[_0xe0b640(0x1d2)](_0x28cc65,_0x4a2890),this[_0xe0b640(0x233)](_0x4af0bd,_0x3fb61c,{'lastReleasedCounter':_0x821930,'lastReleasedAt':_0x4a2890[_0xe0b640(0x2b6)]},_0x429b79),logger[_0xe0b640(0x2aa)]({'event':'idgen_number_released','resource':_0x4af0bd,'formatKey':_0x3fb61c,'counter':_0x821930},_0xe0b640(0x220)+_0x821930),_0x4a2890;}async[a0_0x570cb3(0x2c0)](_0x347182){const _0x58d6a8=a0_0x570cb3,_0x136f2f={'aprXM':_0x58d6a8(0x2a6),'yKslu':function(_0x29da1c,_0x284802){return _0x29da1c*_0x284802;},'ASrJn':'formatKey','FuDzY':_0x58d6a8(0x1c8),'OEdCH':function(_0x1665de,_0x48255f){return _0x1665de(_0x48255f);},'zkOcK':'createdAt','fNbRq':function(_0x1680d1,_0x4d771e){return _0x1680d1(_0x4d771e);},'qlvPf':function(_0x3232d5,_0x53f7da){return _0x3232d5(_0x53f7da);},'GbKmd':'idgen_reserve_overflow_compensation_error','vbnct':'value'};if(!this[_0x58d6a8(0x1ec)])throw new IdGeneratorError(_0x58d6a8(0x285),_0x58d6a8(0x1a2));const _0x1d3a34=this[_0x58d6a8(0x225)](_0x347182),_0x401e59=this[_0x58d6a8(0x29d)](_0x347182['ttl']),_0x44dfc7=this[_0x58d6a8(0x287)](_0x347182[_0x58d6a8(0x1fd)]),{resource:_0x431fc1,format:_0x4f7074,prefix:_0x1b773e,separator:_0x128769,numDigits:_0x4fb0ef,reuseDelete:_0x27acd4}=_0x1d3a34,{formatKey:_0x170be5,datePrefix:_0x1a0fde}=this[_0x58d6a8(0x25b)](_0x4f7074,_0x1b773e),_0x55227a=this['_buildSeqKey'](_0x431fc1,_0x170be5),_0x203233=this['_buildReuseKey'](_0x431fc1,_0x170be5),_0xc39320=this['_buildReservationIndexKey'](_0x431fc1,_0x170be5),_0x412ee8=this['_getCounterTTL'](_0x4f7074);let _0x41dea7=null;if(_0x44dfc7){_0x41dea7=this['_buildIdemKey'](_0x136f2f['aprXM'],_0x431fc1,_0x170be5,_0x44dfc7);const _0x13b162=await this[_0x58d6a8(0x27d)](_0x41dea7);if(_0x13b162)return _0x13b162;}const _0x53c1a6=crypto[_0x58d6a8(0x294)](),_0x3e4b38=this['_buildReservationKey'](_0x53c1a6),_0x24d2c7=this[_0x58d6a8(0x237)](),_0x1cbe72=Date[_0x58d6a8(0x1c2)](),_0x586501=_0x1cbe72+_0x136f2f[_0x58d6a8(0x261)](_0x401e59,0x3e8),_0x3f2f91=_0x136f2f[_0x58d6a8(0x261)](_0x401e59,0x3e8),_0x49c599=new Date(_0x1cbe72)[_0x58d6a8(0x1c4)](),_0x3b1d53=new Date(_0x586501)['toISOString'](),_0x1c9e41=[_0x58d6a8(0x1f0),_0x431fc1,_0x136f2f['ASrJn'],_0x170be5,_0x58d6a8(0x1bc),_0x4f7074,_0x58d6a8(0x23f),_0x1b773e,_0x58d6a8(0x1d6),_0x128769,_0x136f2f['FuDzY'],_0x136f2f[_0x58d6a8(0x1ae)](String,_0x4fb0ef),_0x58d6a8(0x26d),_0x1a0fde||'',_0x136f2f[_0x58d6a8(0x1f2)],_0x49c599,'expiresAt',_0x3b1d53,'ttlMs',_0x136f2f['OEdCH'](String,_0x3f2f91)];_0x44dfc7&&_0x1c9e41['push'](_0x58d6a8(0x1b1),_0x44dfc7);const _0x43859a=redisClient['getClient'](),_0x1ab8b6=await _0x43859a['eval'](LUA_RESERVE_NUMBER,0x3,_0x55227a,_0x203233,_0xc39320,_0x27acd4?'1':'0',_0x136f2f[_0x58d6a8(0x1ae)](String,_0x412ee8),_0x53c1a6,_0x3e4b38,_0x136f2f[_0x58d6a8(0x293)](String,_0x3f2f91),String(_0x586501),_0x136f2f['qlvPf'](String,_0x1cbe72),_0x24d2c7,..._0x1c9e41),_0x1a96cf=_0x1ab8b6[0x0],_0x3c4ff2=_0x1ab8b6[0x1]===0x1,_0x26bad=_0x1ab8b6[0x2]||0x0;let _0x5f235f;try{_0x5f235f=this[_0x58d6a8(0x2b8)]({'format':_0x4f7074,'prefix':_0x1b773e,'datePrefix':_0x1a0fde,'separator':_0x128769,'numDigits':_0x4fb0ef,'counterInt':_0x1a96cf});}catch(_0x2af1b0){try{await _0x43859a[_0x58d6a8(0x251)](LUA_CANCEL_RESERVATION,0x3,_0x3e4b38,_0xc39320,_0x203233,_0x53c1a6,_0x136f2f['qlvPf'](String,_0x412ee8));}catch(_0x187e13){logger[_0x58d6a8(0x222)]({'event':_0x136f2f[_0x58d6a8(0x26f)],'error':_0x187e13['message'],'resource':_0x431fc1,'formatKey':_0x170be5,'counterInt':_0x1a96cf,'token':_0x53c1a6},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x2af1b0;}try{await _0x43859a[_0x58d6a8(0x1c7)](_0x3e4b38,_0x136f2f[_0x58d6a8(0x1d1)],_0x5f235f);}catch(_0x309189){logger['warn']({'event':_0x58d6a8(0x209),'error':_0x309189[_0x58d6a8(0x1c6)],'resource':_0x431fc1,'formatKey':_0x170be5,'counterInt':_0x1a96cf,'token':_0x53c1a6},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x168140={'token':_0x53c1a6,'value':_0x5f235f,'counter':_0x1a96cf,'resource':_0x431fc1,'formatKey':_0x170be5,'isReused':_0x3c4ff2,'createdAt':_0x49c599,'expiresAt':_0x3b1d53,'reapedCount':_0x26bad},_0x257dca=await this['_storeIdemCacheNX'](_0x41dea7,_0x168140);if(!_0x257dca['stored']){try{await _0x43859a['eval'](LUA_CANCEL_RESERVATION,0x3,_0x3e4b38,_0xc39320,_0x203233,_0x53c1a6,String(_0x412ee8));}catch(_0x4266a3){logger[_0x58d6a8(0x222)]({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x4266a3['message'],'resource':_0x431fc1,'formatKey':_0x170be5,'counterInt':_0x1a96cf,'token':_0x53c1a6},_0x58d6a8(0x229));}return logger[_0x58d6a8(0x2aa)]({'event':'idgen_reserve_idem_loser','resource':_0x431fc1,'formatKey':_0x170be5,'counter':_0x1a96cf,'token':_0x53c1a6},_0x58d6a8(0x2b4)),_0x257dca['winnerResult'];}return this[_0x58d6a8(0x233)](_0x431fc1,_0x170be5,{'lastReservedCounter':_0x1a96cf,'lastReservedAt':_0x49c599,'lastReapedCount':_0x26bad},_0x412ee8),logger['info']({'event':_0x58d6a8(0x1c0),'resource':_0x431fc1,'formatKey':_0x170be5,'counter':_0x1a96cf,'isReused':_0x3c4ff2,'token':_0x53c1a6,'ttl':_0x401e59,'reapedCount':_0x26bad},'ID\x20Generator\x20number\x20reserved:\x20'+_0x5f235f+'\x20(token='+_0x53c1a6+')'),_0x168140;}async['confirmReservation'](_0x259b46){const _0x5c4898=a0_0x570cb3,_0x517ba9={'cmZIo':'IDGEN_DISABLED','GtQtt':_0x5c4898(0x289),'cSBMY':function(_0x145ad3,_0x49679a){return _0x145ad3!==_0x49679a;},'UZbzr':_0x5c4898(0x254),'rboZu':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x517ba9[_0x5c4898(0x1cd)],'ID\x20Generator\x20is\x20disabled');const _0x83a2df=this['_validateReservationToken'](_0x259b46&&_0x259b46[_0x5c4898(0x248)]),_0x4d0d92=this['_validateIdempotencyKey'](_0x259b46&&_0x259b46[_0x5c4898(0x1fd)]);let _0x40216f=null;if(_0x4d0d92){_0x40216f=idempotencyManager[_0x5c4898(0x255)]('idgen',_0x517ba9[_0x5c4898(0x263)],_0x83a2df+':'+_0x4d0d92);const _0x3eacb2=await this['_retrieveIdemCache'](_0x40216f);if(_0x3eacb2)return _0x3eacb2;}const _0x3c9ded=await this['_getReservationContext'](_0x83a2df),_0x19903c=redisClient[_0x5c4898(0x1dc)](),_0x467b78=await _0x19903c['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x3c9ded[_0x5c4898(0x282)],_0x3c9ded['rsvIdxKey'],_0x83a2df);if(!_0x467b78||_0x517ba9[_0x5c4898(0x20b)](_0x467b78[0x0],0x1))throw new IdGeneratorError(_0x517ba9['UZbzr'],_0x5c4898(0x279)+_0x83a2df,{'token':_0x83a2df});const _0x49b975=parseInt(_0x467b78[0x1],0xa),_0x338dc3=_0x467b78[0x2],_0x5396dc=_0x467b78[0x3],_0x3324e2=new Date()[_0x5c4898(0x1c4)](),_0x172451={'confirmed':!![],'token':_0x83a2df,'value':_0x338dc3,'counter':_0x49b975,'resource':_0x3c9ded['resource'],'formatKey':_0x5396dc,'confirmedAt':_0x3324e2};await this[_0x5c4898(0x1d2)](_0x40216f,_0x172451);const _0x4b7239=_0x5396dc['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x490b54=_0x4b7239?_0x4b7239[0x1]:_0x517ba9[_0x5c4898(0x29b)],_0x41941a=this['_getCounterTTL'](_0x490b54);return this[_0x5c4898(0x233)](_0x3c9ded['resource'],_0x5396dc,{'lastConfirmedCounter':_0x49b975,'lastConfirmedAt':_0x3324e2},_0x41941a),logger['info']({'event':_0x5c4898(0x1f5),'resource':_0x3c9ded[_0x5c4898(0x1f0)],'formatKey':_0x5396dc,'counter':_0x49b975,'token':_0x83a2df},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x338dc3+_0x5c4898(0x2b7)+_0x83a2df+')'),_0x172451;}async[a0_0x570cb3(0x219)](_0x32e9f3){const _0x4da257=a0_0x570cb3,_0x438835={'SJJth':_0x4da257(0x22a),'JVjyj':'text','SSOuM':function(_0x5b8991,_0xbffb25){return _0x5b8991(_0xbffb25);},'vTbrx':function(_0x424237,_0x4b3ead){return _0x424237!==_0x4b3ead;},'xoynA':_0x4da257(0x254)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x438835[_0x4da257(0x19c)]);const _0x191127=this[_0x4da257(0x2a9)](_0x32e9f3&&_0x32e9f3['token']),_0x23b30f=this[_0x4da257(0x287)](_0x32e9f3&&_0x32e9f3[_0x4da257(0x1fd)]);let _0xd40d10=null;if(_0x23b30f){_0xd40d10=idempotencyManager[_0x4da257(0x255)](_0x4da257(0x29c),'reserve_cancel',_0x191127+':'+_0x23b30f);const _0x4bdf54=await this[_0x4da257(0x27d)](_0xd40d10);if(_0x4bdf54)return _0x4bdf54;}const _0xfd1ee7=await this['_getReservationContext'](_0x191127),_0x4112da=this['_buildReuseKey'](_0xfd1ee7[_0x4da257(0x1f0)],_0xfd1ee7[_0x4da257(0x250)]),_0x33bf79=_0xfd1ee7[_0x4da257(0x250)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x47e0a6=_0x33bf79?_0x33bf79[0x1]:_0x438835['JVjyj'],_0x3b21da=this['_getCounterTTL'](_0x47e0a6),_0x45020a=redisClient[_0x4da257(0x1dc)](),_0x4feaa3=await _0x45020a['eval'](LUA_CANCEL_RESERVATION,0x3,_0xfd1ee7['rsvKey'],_0xfd1ee7[_0x4da257(0x1b7)],_0x4112da,_0x191127,_0x438835[_0x4da257(0x1a8)](String,_0x3b21da));if(!_0x4feaa3||_0x438835['vTbrx'](_0x4feaa3[0x0],0x1))throw new IdGeneratorError(_0x438835['xoynA'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x191127,{'token':_0x191127});const _0x45d120=parseInt(_0x4feaa3[0x1],0xa),_0x1559dd=_0x4feaa3[0x2],_0x34d89e=_0x4feaa3[0x3],_0x2f6a52=new Date()[_0x4da257(0x1c4)](),_0x130f0c={'cancelled':!![],'token':_0x191127,'value':_0x1559dd,'counter':_0x45d120,'resource':_0xfd1ee7['resource'],'formatKey':_0x34d89e,'releasedToReuse':!![],'cancelledAt':_0x2f6a52};return await this[_0x4da257(0x1d2)](_0xd40d10,_0x130f0c),this[_0x4da257(0x233)](_0xfd1ee7[_0x4da257(0x1f0)],_0x34d89e,{'lastCancelledCounter':_0x45d120,'lastCancelledAt':_0x2f6a52},_0x3b21da),logger['info']({'event':'idgen_reservation_cancelled','resource':_0xfd1ee7[_0x4da257(0x1f0)],'formatKey':_0x34d89e,'counter':_0x45d120,'token':_0x191127},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x1559dd+'\x20(token='+_0x191127+')'),_0x130f0c;}async['extendReservation'](_0x2c83b6){const _0x31228b=a0_0x570cb3,_0x25c219={'knhxS':'IDGEN_DISABLED','hiMbw':function(_0x50afd8,_0x490245){return _0x50afd8+_0x490245;},'OPBoo':function(_0x3fe027,_0x2ce196){return _0x3fe027(_0x2ce196);},'sxmBx':function(_0x3c3295,_0x1e15a3){return _0x3c3295!==_0x1e15a3;},'JGrBR':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x25c219['knhxS'],_0x31228b(0x22a));const _0xd72b09=this[_0x31228b(0x2a9)](_0x2c83b6&&_0x2c83b6[_0x31228b(0x248)]),_0x1fa88f=this[_0x31228b(0x29d)](_0x2c83b6&&_0x2c83b6[_0x31228b(0x1e1)]),_0x1aadff=this['_validateIdempotencyKey'](_0x2c83b6&&_0x2c83b6[_0x31228b(0x1fd)]);let _0x1e04ef=null;if(_0x1aadff){_0x1e04ef=idempotencyManager['buildDeterministicKey']('idgen',_0x31228b(0x276),_0xd72b09+':'+_0x1aadff);const _0x599c9f=await this[_0x31228b(0x27d)](_0x1e04ef);if(_0x599c9f)return _0x599c9f;}const _0x80c68c=await this[_0x31228b(0x2ae)](_0xd72b09),_0x684b6e=Date['now'](),_0x69f053=_0x25c219[_0x31228b(0x23e)](_0x684b6e,_0x1fa88f*0x3e8),_0x272850=_0x1fa88f*0x3e8,_0x739473=new Date(_0x69f053)[_0x31228b(0x1c4)](),_0x1e64a7=redisClient[_0x31228b(0x1dc)](),_0x3fbd49=await _0x1e64a7[_0x31228b(0x251)](LUA_EXTEND_RESERVATION,0x2,_0x80c68c['rsvKey'],_0x80c68c['rsvIdxKey'],_0xd72b09,_0x25c219[_0x31228b(0x20e)](String,_0x272850),String(_0x69f053),_0x739473);if(!_0x3fbd49||_0x25c219['sxmBx'](_0x3fbd49[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x31228b(0x279)+_0xd72b09,{'token':_0xd72b09});const _0x9cf2dc=_0x3fbd49[0x1],_0x3810fc=parseInt(_0x3fbd49[0x2],0xa),_0x21f975=_0x3fbd49[0x3],_0x4edfc2=_0x3fbd49[0x4],_0x51c351=new Date(_0x684b6e)[_0x31228b(0x1c4)](),_0x138d53={'extended':!![],'token':_0xd72b09,'previousExpiresAt':_0x9cf2dc,'expiresAt':_0x739473,'ttlMs':_0x272850,'resource':_0x80c68c[_0x31228b(0x1f0)],'formatKey':_0x4edfc2,'counter':_0x3810fc,'value':_0x21f975,'extendedAt':_0x51c351};await this['_storeIdemCache'](_0x1e04ef,_0x138d53);const _0xaf4158=_0x4edfc2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1f75a6=_0xaf4158?_0xaf4158[0x1]:_0x25c219[_0x31228b(0x269)],_0x4990ad=this[_0x31228b(0x204)](_0x1f75a6);return this[_0x31228b(0x233)](_0x80c68c[_0x31228b(0x1f0)],_0x4edfc2,{'lastExtendedCounter':_0x3810fc,'lastExtendedAt':_0x51c351},_0x4990ad),logger['info']({'event':'idgen_reservation_extended','resource':_0x80c68c['resource'],'formatKey':_0x4edfc2,'counter':_0x3810fc,'token':_0xd72b09,'ttl':_0x1fa88f},_0x31228b(0x21a)+_0x21f975+'\x20(token='+_0xd72b09+_0x31228b(0x290)+_0x1fa88f+'s)'),_0x138d53;}async[a0_0x570cb3(0x1c1)](_0x1ccce3){const _0x5d99c2=a0_0x570cb3,_0x32e8de={'iulOM':_0x5d99c2(0x22a),'Qikvf':_0x5d99c2(0x254),'vvjME':function(_0x11dec4,_0xff31b3){return _0x11dec4===_0xff31b3;},'oYnxP':'number'};if(!this[_0x5d99c2(0x1ec)])throw new IdGeneratorError('IDGEN_DISABLED',_0x32e8de[_0x5d99c2(0x2bf)]);const _0xe020c1=this[_0x5d99c2(0x2a9)](_0x1ccce3&&_0x1ccce3[_0x5d99c2(0x248)]),_0x1e20ac=this['_buildReservationKey'](_0xe020c1),_0x14c842=redisClient[_0x5d99c2(0x1dc)](),_0x200871=_0x14c842[_0x5d99c2(0x24b)]();_0x200871['hgetall'](_0x1e20ac),_0x200871[_0x5d99c2(0x273)](_0x1e20ac);const _0x1f4d45=await _0x200871['exec'](),_0x1116ba=_0x1f4d45&&_0x1f4d45[0x0]&&_0x1f4d45[0x0][0x1],_0x22118d=_0x1f4d45&&_0x1f4d45[0x1]&&_0x1f4d45[0x1][0x1];if(!_0x1116ba||Object[_0x5d99c2(0x274)](_0x1116ba)[_0x5d99c2(0x20c)]===0x0)throw new IdGeneratorError(_0x32e8de[_0x5d99c2(0x298)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0xe020c1,{'token':_0xe020c1});return{'token':_0xe020c1,'resource':_0x1116ba[_0x5d99c2(0x1f0)]||null,'formatKey':_0x1116ba[_0x5d99c2(0x250)]||null,'format':_0x1116ba['format']||null,'prefix':_0x1116ba['prefix']||'','separator':_0x1116ba['separator']||'','numDigits':_0x1116ba['numDigits']?parseInt(_0x1116ba['numDigits'],0xa):null,'datePrefix':_0x1116ba[_0x5d99c2(0x26d)]||'','counter':_0x1116ba[_0x5d99c2(0x1e9)]?parseInt(_0x1116ba[_0x5d99c2(0x1e9)],0xa):null,'value':_0x1116ba['value']||null,'isReused':_0x1116ba['isReused']==='1'||_0x32e8de['vvjME'](_0x1116ba['isReused'],0x1),'createdAt':_0x1116ba['createdAt']||null,'expiresAt':_0x1116ba[_0x5d99c2(0x2a0)]||null,'ttlRemainingMs':_0x32e8de['vvjME'](typeof _0x22118d,_0x32e8de[_0x5d99c2(0x1bd)])&&_0x22118d>=0x0?_0x22118d:null};}async[a0_0x570cb3(0x2ae)](_0x2f52c4){const _0x2536d2=a0_0x570cb3,_0xefbb70={'vLiey':'resource'},_0x5dd721=this[_0x2536d2(0x1a3)](_0x2f52c4),_0x25fdc6=redisClient[_0x2536d2(0x1dc)](),_0x1c8086=await _0x25fdc6[_0x2536d2(0x21c)](_0x5dd721,_0xefbb70[_0x2536d2(0x214)],_0x2536d2(0x250)),_0x7dd58a=_0x1c8086&&_0x1c8086[0x0],_0x2ee855=_0x1c8086&&_0x1c8086[0x1];if(!_0x7dd58a||!_0x2ee855)throw new IdGeneratorError(_0x2536d2(0x254),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x2f52c4,{'token':_0x2f52c4});return{'resource':_0x7dd58a,'formatKey':_0x2ee855,'rsvKey':_0x5dd721,'rsvIdxKey':this[_0x2536d2(0x238)](_0x7dd58a,_0x2ee855)};}async['random'](_0x1b4c37){const _0x180b3d=a0_0x570cb3,_0x413874={'zxDIS':_0x180b3d(0x22a),'JTbhA':_0x180b3d(0x266),'rLrvZ':function(_0x4c5353,_0x564e9b){return _0x4c5353<_0x564e9b;},'zEiHK':_0x180b3d(0x231),'QSzso':'idgen_random_generated','imrJu':function(_0x140ff0,_0x4ff496){return _0x140ff0||_0x4ff496;}};if(!this['enabled'])throw new IdGeneratorError(_0x180b3d(0x285),_0x413874[_0x180b3d(0x211)]);this['_validateResource'](_0x1b4c37['resource']),this[_0x180b3d(0x1ba)](_0x1b4c37[_0x180b3d(0x259)]);const _0x1c68b8=this['_validateTTL'](_0x1b4c37[_0x180b3d(0x1e1)]),_0x2247a4=this[_0x180b3d(0x27b)](_0x1b4c37[_0x180b3d(0x1ca)]),_0x22be40=this['_validateIdempotencyKey'](_0x1b4c37[_0x180b3d(0x1fd)]),_0x1d8ecb=_0x1b4c37[_0x180b3d(0x1db)]===!![],{resource:_0x18c913,pattern:_0x677e0e}=_0x1b4c37;let _0x267184=null;if(_0x22be40){_0x267184=this[_0x180b3d(0x297)](_0x413874[_0x180b3d(0x19b)],_0x18c913,null,_0x22be40);const _0x282733=await this[_0x180b3d(0x27d)](_0x267184);if(_0x282733)return _0x282733;}const _0x26ae99=redisClient['getClient']();let _0x20a994=null,_0x5ae8b1=0x0;if(!_0x1d8ecb)_0x20a994=this[_0x180b3d(0x1a4)](_0x677e0e),_0x5ae8b1=0x1;else{for(let _0xbcb11=0x0;_0x413874['rLrvZ'](_0xbcb11,_0x2247a4);_0xbcb11++){_0x5ae8b1++;const _0x41cba0=this[_0x180b3d(0x1a4)](_0x677e0e);if(_0x1c68b8){const _0x6e7ecb=this['_buildActiveKey'](_0x18c913,_0x41cba0),_0x5490bd=await _0x26ae99[_0x180b3d(0x20f)](_0x6e7ecb,'1','EX',_0x1c68b8,'NX');if(_0x5490bd==='OK'){_0x20a994=_0x41cba0;break;}}else{const _0x488bc6=this['_buildIssuedKey'](_0x18c913),_0x60bec1=await _0x26ae99[_0x180b3d(0x1bf)](_0x488bc6,_0x41cba0);if(_0x60bec1===0x1){_0x20a994=_0x41cba0;break;}}}if(_0x20a994===null)throw new IdGeneratorError(_0x413874['zEiHK'],_0x180b3d(0x22e)+_0x2247a4+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x18c913,'pattern':_0x677e0e,'maxRetry':_0x2247a4});}const _0x51e967={'value':_0x20a994,'resource':_0x18c913,'pattern':_0x677e0e,'attemptCount':_0x5ae8b1,'generatedAt':new Date()['toISOString']()};_0x1c68b8&&_0x1d8ecb&&(_0x51e967['expiresAt']=new Date(Date[_0x180b3d(0x1c2)]()+_0x1c68b8*0x3e8)['toISOString']());const _0x56898a=await this[_0x180b3d(0x2bc)](_0x267184,_0x51e967);if(!_0x56898a['stored'])return _0x1d8ecb&&await this['_undoRandomReservation'](_0x18c913,_0x20a994,_0x1c68b8),logger['info']({'event':_0x180b3d(0x19a),'resource':_0x18c913,'pattern':_0x677e0e,'value':_0x20a994},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x56898a[_0x180b3d(0x253)];return logger['info']({'event':_0x413874[_0x180b3d(0x22c)],'resource':_0x18c913,'pattern':_0x677e0e,'attemptCount':_0x5ae8b1,'ensureUnique':_0x1d8ecb,'ttl':_0x413874['imrJu'](_0x1c68b8,0x0)},_0x180b3d(0x26a)+_0x20a994),_0x51e967;}async[a0_0x570cb3(0x28b)](_0x2c121f){const _0x32c0d4=a0_0x570cb3,_0x4ec847={'WZeFI':function(_0x2ae6c5,_0x3655f8){return _0x2ae6c5==_0x3655f8;},'HobVq':function(_0x4680af,_0x279a34){return _0x4680af<_0x279a34;},'DtbIk':function(_0x4181bf,_0xb7c706){return _0x4181bf>_0xb7c706;}},_0x41a72b=_0x4ec847['WZeFI'](_0x2c121f['digits'],null)?this[_0x32c0d4(0x240)]:_0x2c121f[_0x32c0d4(0x200)];if(!Number['isInteger'](_0x41a72b)||_0x4ec847['HobVq'](_0x41a72b,MIN_PIN_DIGITS)||_0x4ec847['DtbIk'](_0x41a72b,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x32c0d4(0x258),_0x32c0d4(0x1e4)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x41a72b+')');const _0x4c11a3='9'[_0x32c0d4(0x1de)](_0x41a72b);return this['random']({'resource':_0x2c121f['resource'],'pattern':_0x4c11a3,'ensureUnique':_0x2c121f['ensureUnique']===!![],'ttl':_0x2c121f[_0x32c0d4(0x1e1)],'maxRetry':_0x2c121f[_0x32c0d4(0x1ca)],'idempotencyKey':_0x2c121f[_0x32c0d4(0x1fd)]});}async[a0_0x570cb3(0x24a)](_0xc96715){const _0x5d8aa1=a0_0x570cb3,_0x29e487=_0xc96715[_0x5d8aa1(0x259)]||this['defaultSerialPattern'];return this['random']({'resource':_0xc96715['resource'],'pattern':_0x29e487,'ensureUnique':_0xc96715[_0x5d8aa1(0x1db)]!==![],'ttl':_0xc96715['ttl'],'maxRetry':_0xc96715['maxRetry'],'idempotencyKey':_0xc96715[_0x5d8aa1(0x1fd)]});}async[a0_0x570cb3(0x26e)](_0x14cbca){const _0x218276=a0_0x570cb3,_0x401a2f=_0x14cbca['pattern']||this['defaultCodePattern'];return this[_0x218276(0x266)]({'resource':_0x14cbca[_0x218276(0x1f0)],'pattern':_0x401a2f,'ensureUnique':_0x14cbca['ensureUnique']!==![],'ttl':_0x14cbca['ttl'],'maxRetry':_0x14cbca[_0x218276(0x1ca)],'idempotencyKey':_0x14cbca['idempotencyKey']});}async['consume'](_0x3a7ace){const _0x2bf6cf=a0_0x570cb3,_0x50fe64={'Ijbbl':'ID\x20Generator\x20is\x20disabled','SICbZ':'IDGEN_INVALID_NUMBER','vVOOZ':function(_0x595b0b,_0x359858){return _0x595b0b>_0x359858;}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x50fe64[_0x2bf6cf(0x28d)]);this['_validateResource'](_0x3a7ace[_0x2bf6cf(0x1f0)]);if(typeof _0x3a7ace['value']!==_0x2bf6cf(0x1eb)||_0x3a7ace[_0x2bf6cf(0x215)]['length']===0x0)throw new IdGeneratorError(_0x50fe64[_0x2bf6cf(0x292)],'value\x20is\x20required');const {resource:_0xeaa2c1,value:_0x59d055}=_0x3a7ace,_0x116149=redisClient['getClient'](),_0x4e44d2=this[_0x2bf6cf(0x291)](_0xeaa2c1,_0x59d055),_0x85c79a=this[_0x2bf6cf(0x22d)](_0xeaa2c1),[_0x356146,_0x45df11]=await Promise[_0x2bf6cf(0x230)]([_0x116149[_0x2bf6cf(0x1f6)](_0x4e44d2),_0x116149[_0x2bf6cf(0x21f)](_0x85c79a,_0x59d055)]),_0x158e43=_0x50fe64[_0x2bf6cf(0x272)](_0x356146+_0x45df11,0x0);return logger[_0x2bf6cf(0x2aa)]({'event':_0x2bf6cf(0x247),'resource':_0xeaa2c1,'value':_0x59d055,'consumed':_0x158e43},_0x2bf6cf(0x20a)+_0x59d055),{'consumed':_0x158e43,'resource':_0xeaa2c1,'value':_0x59d055,'consumedAt':new Date()[_0x2bf6cf(0x1c4)]()};}async['peek'](_0x5077c3){const _0x21abec=a0_0x570cb3,_0x26e6a8={'svpek':_0x21abec(0x1ee),'WXgGR':function(_0x344ed1,_0x523ffb){return _0x344ed1||_0x523ffb;},'wbGXe':_0x21abec(0x266)};if(!this['enabled'])throw new IdGeneratorError(_0x21abec(0x285),'ID\x20Generator\x20is\x20disabled');this[_0x21abec(0x25c)](_0x5077c3['resource']);const _0x132ba2=_0x5077c3['mode']||_0x26e6a8['svpek'],_0x25c8a6=redisClient[_0x21abec(0x1dc)]();if(_0x132ba2==='number'){const _0x441f17=(_0x5077c3['format']||_0x21abec(0x295))['toLowerCase']();if(!ALLOWED_FORMATS[_0x21abec(0x260)](_0x441f17))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x21abec(0x275)+_0x5077c3[_0x21abec(0x1bc)]);const {formatKey:_0x1d84b7}=this['_buildFormatKey'](_0x441f17,_0x5077c3[_0x21abec(0x23f)]||''),_0x12af0b=this['_buildSeqKey'](_0x5077c3[_0x21abec(0x1f0)],_0x1d84b7),_0x1dc894=this['_buildReuseKey'](_0x5077c3['resource'],_0x1d84b7),[_0x519994,_0x2299c0]=await Promise[_0x21abec(0x230)]([_0x25c8a6[_0x21abec(0x242)](_0x12af0b),_0x25c8a6['zcard'](_0x1dc894)]);return{'resource':_0x5077c3['resource'],'mode':_0x26e6a8[_0x21abec(0x198)],'formatKey':_0x1d84b7,'currentCounter':parseInt(_0x519994,0xa)||0x0,'reusePoolSize':_0x26e6a8[_0x21abec(0x2b0)](_0x2299c0,0x0)};}if(_0x132ba2==='random'){const _0x1144fb=this['_buildIssuedKey'](_0x5077c3['resource']),_0x511626=await _0x25c8a6[_0x21abec(0x217)](_0x1144fb);return{'resource':_0x5077c3[_0x21abec(0x1f0)],'mode':_0x26e6a8[_0x21abec(0x1cf)],'issuedCount':_0x26e6a8[_0x21abec(0x2b0)](_0x511626,0x0)};}throw new IdGeneratorError(_0x21abec(0x1d9),_0x21abec(0x23b)+_0x132ba2);}async['getInfo'](_0x573b39){const _0x30b7c3=a0_0x570cb3,_0x231268={'szAZA':_0x30b7c3(0x1ee)},_0x26d3f5=await this[_0x30b7c3(0x228)](_0x573b39);if(_0x26d3f5[_0x30b7c3(0x1c9)]===_0x231268[_0x30b7c3(0x1aa)]){const _0x1b33e4=redisClient[_0x30b7c3(0x1dc)](),_0x59dc44=this[_0x30b7c3(0x208)](_0x573b39[_0x30b7c3(0x1f0)],_0x26d3f5['formatKey']),_0x1b8ae7=this['_buildReuseKey'](_0x573b39[_0x30b7c3(0x1f0)],_0x26d3f5['formatKey']),[_0x2d02f0,_0x7b9c60]=await Promise['all']([_0x1b33e4[_0x30b7c3(0x2b1)](_0x59dc44),_0x1b33e4['zrange'](_0x1b8ae7,0x0,-0x1)]);return{..._0x26d3f5,'reusePoolValues':_0x7b9c60[_0x30b7c3(0x25d)](_0x1f4f10=>parseInt(_0x1f4f10,0xa)),'meta':_0x2d02f0&&Object[_0x30b7c3(0x274)](_0x2d02f0)[_0x30b7c3(0x20c)]>0x0?_0x2d02f0:null};}return _0x26d3f5;}async[a0_0x570cb3(0x2a5)](_0x2d6efb){const _0x3d7e92=a0_0x570cb3,_0x5d5324={'SGHEI':_0x3d7e92(0x285),'tmgIM':_0x3d7e92(0x22a),'sCNaH':_0x3d7e92(0x210),'pulKR':function(_0x254393,_0x417245){return _0x254393===_0x417245;},'kdYxf':'number','RFxTv':_0x3d7e92(0x207),'zETtl':_0x3d7e92(0x1b4),'BnDtX':_0x3d7e92(0x236),'RzzzI':function(_0x323ba4,_0x4230a4){return _0x323ba4===_0x4230a4;},'YRskE':'idgen_reset','YpmpV':_0x3d7e92(0x1d9)};if(!this[_0x3d7e92(0x1ec)])throw new IdGeneratorError(_0x5d5324[_0x3d7e92(0x1b3)],_0x5d5324['tmgIM']);if(!this['allowReset'])throw new IdGeneratorError(_0x3d7e92(0x25f),_0x5d5324[_0x3d7e92(0x193)]);this['_validateResource'](_0x2d6efb[_0x3d7e92(0x1f0)]);const _0xa2653d=_0x2d6efb[_0x3d7e92(0x1c9)]||_0x3d7e92(0x1ee),_0x9fc8d=redisClient[_0x3d7e92(0x1dc)]();if(_0x5d5324['pulKR'](_0xa2653d,_0x5d5324[_0x3d7e92(0x1a7)])){const _0x1cd6fc=(_0x2d6efb['format']||_0x3d7e92(0x295))[_0x3d7e92(0x1fa)]();if(!ALLOWED_FORMATS[_0x3d7e92(0x260)](_0x1cd6fc))throw new IdGeneratorError(_0x5d5324['RFxTv'],_0x3d7e92(0x275)+_0x2d6efb['format']);const {formatKey:_0x23c85d}=this[_0x3d7e92(0x25b)](_0x1cd6fc,_0x2d6efb['prefix']||''),_0x4ef3c7=this['_buildSeqKey'](_0x2d6efb['resource'],_0x23c85d),_0x288d9f=this[_0x3d7e92(0x2bb)](_0x2d6efb['resource'],_0x23c85d),_0x253e19=this[_0x3d7e92(0x208)](_0x2d6efb['resource'],_0x23c85d);return await _0x9fc8d[_0x3d7e92(0x1f6)](_0x4ef3c7,_0x288d9f,_0x253e19),logger['warn']({'event':'idgen_reset','resource':_0x2d6efb['resource'],'mode':_0x5d5324[_0x3d7e92(0x1a7)],'formatKey':_0x23c85d},_0x3d7e92(0x1e2)+_0x2d6efb['resource']+':'+_0x23c85d),{'reset':!![],'resource':_0x2d6efb['resource'],'mode':_0x5d5324['kdYxf'],'formatKey':_0x23c85d,'deletedKeys':[_0x3d7e92(0x1a6),_0x5d5324[_0x3d7e92(0x227)],_0x5d5324['BnDtX']]};}if(_0x5d5324[_0x3d7e92(0x244)](_0xa2653d,'random')){const _0xa14b37=this['_buildIssuedKey'](_0x2d6efb[_0x3d7e92(0x1f0)]);return await _0x9fc8d['del'](_0xa14b37),logger[_0x3d7e92(0x222)]({'event':_0x5d5324[_0x3d7e92(0x205)],'resource':_0x2d6efb['resource'],'mode':'random'},'ID\x20Generator\x20reset:\x20random:'+_0x2d6efb[_0x3d7e92(0x1f0)]),{'reset':!![],'resource':_0x2d6efb[_0x3d7e92(0x1f0)],'mode':'random','deletedKeys':[_0x3d7e92(0x2a2)]};}throw new IdGeneratorError(_0x5d5324['YpmpV'],'Unknown\x20mode:\x20'+_0xa2653d);}}function a0_0x15de(_0xb33517,_0x534973){_0xb33517=_0xb33517-0x193;const _0x12f32a=a0_0x12f3();let _0x15dea9=_0x12f32a[_0xb33517];if(a0_0x15de['ZZQZKe']===undefined){var _0x20d701=function(_0x25d538){const _0x4c4d65='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29acd2='',_0x61f010='';for(let _0x266167=0x0,_0x34d192,_0x5aacb0,_0x1a6b5f=0x0;_0x5aacb0=_0x25d538['charAt'](_0x1a6b5f++);~_0x5aacb0&&(_0x34d192=_0x266167%0x4?_0x34d192*0x40+_0x5aacb0:_0x5aacb0,_0x266167++%0x4)?_0x29acd2+=String['fromCharCode'](0xff&_0x34d192>>(-0x2*_0x266167&0x6)):0x0){_0x5aacb0=_0x4c4d65['indexOf'](_0x5aacb0);}for(let _0x47d27e=0x0,_0x1f95df=_0x29acd2['length'];_0x47d27e<_0x1f95df;_0x47d27e++){_0x61f010+='%'+('00'+_0x29acd2['charCodeAt'](_0x47d27e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x61f010);};a0_0x15de['IYNOtL']=_0x20d701,a0_0x15de['qhQXKK']={},a0_0x15de['ZZQZKe']=!![];}const _0x3e4a2a=_0x12f32a[0x0],_0x356fd5=_0xb33517+_0x3e4a2a,_0x3f8182=a0_0x15de['qhQXKK'][_0x356fd5];return!_0x3f8182?(_0x15dea9=a0_0x15de['IYNOtL'](_0x15dea9),a0_0x15de['qhQXKK'][_0x356fd5]=_0x15dea9):_0x15dea9=_0x3f8182,_0x15dea9;}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x570cb3(0x1d8)][a0_0x570cb3(0x23a)]=IdGeneratorError;
1
+ 'use strict';function a0_0x23ae(_0x225c78,_0x549a1e){_0x225c78=_0x225c78-0x129;const _0x1d9d41=a0_0x1d9d();let _0x23aec6=_0x1d9d41[_0x225c78];if(a0_0x23ae['GYXWYc']===undefined){var _0x56c9cf=function(_0x6d225b){const _0x2b4c30='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5653dc='',_0x467a16='';for(let _0x4d174d=0x0,_0x376099,_0x334c67,_0x503e0c=0x0;_0x334c67=_0x6d225b['charAt'](_0x503e0c++);~_0x334c67&&(_0x376099=_0x4d174d%0x4?_0x376099*0x40+_0x334c67:_0x334c67,_0x4d174d++%0x4)?_0x5653dc+=String['fromCharCode'](0xff&_0x376099>>(-0x2*_0x4d174d&0x6)):0x0){_0x334c67=_0x2b4c30['indexOf'](_0x334c67);}for(let _0x27271c=0x0,_0x19ecc4=_0x5653dc['length'];_0x27271c<_0x19ecc4;_0x27271c++){_0x467a16+='%'+('00'+_0x5653dc['charCodeAt'](_0x27271c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x467a16);};a0_0x23ae['DosRXf']=_0x56c9cf,a0_0x23ae['IfwnPB']={},a0_0x23ae['GYXWYc']=!![];}const _0x2ae3f5=_0x1d9d41[0x0],_0x36d288=_0x225c78+_0x2ae3f5,_0x305a76=a0_0x23ae['IfwnPB'][_0x36d288];return!_0x305a76?(_0x23aec6=a0_0x23ae['DosRXf'](_0x23aec6),a0_0x23ae['IfwnPB'][_0x36d288]=_0x23aec6):_0x23aec6=_0x305a76,_0x23aec6;}const a0_0x28685f=a0_0x23ae;(function(_0xa9f943,_0x58054e){const _0x299ef1=a0_0x23ae,_0x33c129=_0xa9f943();while(!![]){try{const _0x209ddb=parseInt(_0x299ef1(0x183))/0x1*(-parseInt(_0x299ef1(0x1c0))/0x2)+-parseInt(_0x299ef1(0x13c))/0x3+-parseInt(_0x299ef1(0x131))/0x4+parseInt(_0x299ef1(0x1ec))/0x5+parseInt(_0x299ef1(0x224))/0x6*(-parseInt(_0x299ef1(0x1b8))/0x7)+-parseInt(_0x299ef1(0x195))/0x8*(-parseInt(_0x299ef1(0x1c5))/0x9)+parseInt(_0x299ef1(0x235))/0xa;if(_0x209ddb===_0x58054e)break;else _0x33c129['push'](_0x33c129['shift']());}catch(_0x24d676){_0x33c129['push'](_0x33c129['shift']());}}}(a0_0x1d9d,0x31367));function a0_0x1d9d(){const _0x37cfeb=['C3bSAxq','AvrOC3C','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','AxnszxvZzwq','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','ndy2nhrZsunnDa','B0zKuLG','AwrNzw4','AxnfBMfIBgvK','mdeYmZq1nJC4oufcq0rfrG','surhru5Fq09vtLrfuL9pvKvsrKXpvW','EwfeA2e','qNLzwwS','qKnwrhu','CNvoEuC','Bw9Kzq','B0HUs3i','mdeYmZq1nJC4oq','z2v0uMvZzxj2yxrPB24','x2j1AwXKtwv0yuTLEq','uMzMthG','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','x3n0B3jLswrLBunHy2HL','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','lcbNB3qG','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CMvZzxj2zurLzMf1BhruveW','yNLur3C','zgvMyxvSDe1HEfjLDhj5','zLr3qw4','x2nVDw50zxjuveXnyxa','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','x2DLDenVDw50zxjuveW','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','ChvZAa','D0DYB0K','vw5RBM93BIbMB3jTyxq6ia','Chr0Ba','n2rLtuHHrq','qKvyrNa','igrPz2L0CYaOz290oIa','zw5ZDxjLvw5PCxvL','ExL5Ew1T','DNzruvm','x3zHBgLKyxrLugf0DgvYBG','qNbJvNy','nejRvvvntq','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','EfndrLm','veHLyLy','surhru5FuKvtrvrFtK9ux0fmte9xruq','mZyWoxvZA3vPAq','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','x2TLEvbYzwzPEa','x3jLDhjPzxzLswrLBunHy2HL','C2vXoG','D2LgueS','x2LUAxrPywXPEMvK','wwzKs1e','C2vWyxjHDg9Y','ihnLy29UzhmGkgDVDdOG','CMvZzxj2zu51BwjLCG','D1DSCwK','zxHWAxjL','qwjLDMO','vhrHvLu','zgvS','C3rYAw5NAwz5','surhru5Frevgqvvmvf9nqvHFuKvuuLK','surhru5Fsu5wquXjrf9gt1jnqvq','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','x2rLzMf1BhrdB2rLugf0DgvYBG','y3j5ChrV','C3jLBq','zxHWB3j0CW','C1PLyuq','x2zVCM1HDe51BwjLCG','y3jLyxrLzef0','z25MA3y','zM1Kvfm','Dg9Rzw4','zgvMyxvSDenVzgvqyxr0zxjU','z2v0rNvSBfLLyxi','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','z2v0','CMvZzxj2zv9Jyw5JzwW','CNn2oG','x2LUAxrdB25MAwC','AMvKtvq','AgDLDgfSBa','odmWmtbPs2j1q3i','DLjsAuG','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','Aw5MBW','surhru5Fsu5wquXjrf9srvnpvvjdrq','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2j1AwXKrM9YBwf0s2v5','z2v0rgf0zq','y1jwz24','CMvZzxj2zq','x3L5ExLF','z1vTDwC','x3rLEhq','DgvZDa','Cgf0DgvYBG','DwXqr0e','x2j1AwXKswrLBuTLEq','x3jLC2vYDMvnyxHuveW','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','BNvTyMvY','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','y2fUy2vSuMvZzxj2yxrPB24','surhru5Fsu5wquXjrf9nt0rf','Dg9ju09tDhjPBMC','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','CMvZzxj2zu1HEfruta','ue1iDxe','y291BNrLCG','ignOyxjZicHNB3qGBgvUz3rOoIa','zu1LuxC','BwfW','zxzHBa','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','wfHywc1ywfHylvHywfGTwfHywa','x2j1AwXKqwn0AxzLs2v5','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','CgnWquy','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','swrhzw5LCMf0B3jfCNjVCG','zxH0zw5KuMvZzxj2yxrPB24','AvvgEuW','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','A2v5uhjLzML4','v2PLDgy','DKn5EM8','CM1mrvu','icHNB3q6ia','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','thzvsMK','z2vUzxjHDgvKqxq','CNn2swr4s2v5','C3rYAw5N','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','surhru5Fsu5wquXjrf9ovu1crvi','mtG5mJC2BhLrsfDN','BNPRyNu','y291BNrLCKLUDa','zgvMyxvSDfbPBKrPz2L0CW','CMfUzg9Tsw50','x2j1AwXKu2vXs2v5','x3jLC2vYDMvezwzHDwX0vfrm','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','txLHA2K','CgfKzgvKicHNB3q6ia','D2LUBMvYuMvZDwX0','ywXS','CgvLAW','DxzyyMW','z2v0tw9UDgG','CMvWzwf0','x2j1AwXKsxnZDwvKs2v5','nJa1oty4mfPUB2PntG','re5Ps2m','CgfYC2u','x2j1AwXKuMvZzxj2yxrPB25lzxK','AxnjBNrLz2vY','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','surhru5Fsu5wquXjrf9esuDjvfm','yw16vwm','mtj8mhW4FdL8mxWZFdv8mtb8nhWYFdz8mtf8nW','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','x2vUC3vYzuLUAxrPywXPEMvK','su5xtNC','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','Ag1Nzxq','BM93','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','Bwf0y2G','AwrLBvruta','mtq1nJq4qwHdBKjA','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','qLvWCLC','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','x3zHBgLKyxrLuMvZB3vYy2u','Dhj1zq','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x2vUywjSzwq','zM9YBwf0s2v5','AwrNzw5FCMvZzxq','nZi0nJi2u0Twqune','CNn2x2LKEdO','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','CNn2s2v5','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','AxnZDwvKoG','x2rLzMf1BhrnyxHszxrYEq','C3rVCMvK','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','vhzMshe','CMvZzxj2zv9JB25MAxjT','x3n0B3jLswrLBunHy2HLtLG','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','DhrS','twv0ysb1CgrHDguGzxjYB3i','CMfUzg9T','zM9YBwf0','x3bHCNnLtNvTyMvY','zMfhrLe','DwryDwS','Bwf4uMv0CNK','surhru5Fru5bqKXfra','A2v5CW','x2rLzMf1BhrqAw5eAwDPDhm','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','CMvSzwfZzu51BwjLCG','ywXSB3DszxnLDa','zw5HyMXLza','surhru5FuKvtrvjwrv9nqvHFvfrm','lwrPz2L0ignHCgfJAxr5icG','BMfTzq','y0rOC1i','svvdrLm','y29Kzq','x2rLzMf1BhrtzxjPywXqyxr0zxjU','DMfSDwu','tfDVqLe','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','sw52ywXPzcbMB3jTyxq6ia','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','BwvZC2fNzq','x2fSBg93uMvZzxq','ignOyxjZ','sfHHyNa','vw5RBM93BIbTB2rLoIa','BgvUz3rO','C2v0','surhru5Fsurftv9uveW','shnRv2m','zgf0zvbYzwzPEa','yM9VBgvHBG','lcaR','AgfZ','BNvTrgLNAxrZ','v3nrr24','v2fhBfe','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','x2LKzw1uveW','B1fltg4','CgfKu3rHCNq','x3zHBgLKyxrLvfrm','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x2j1AwXKuMv1C2vlzxK','AwrLBxbVDgvUy3LlzxK','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','D2fYBG','surhru5FreLtqujmruq','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','mtCYnJm5rgnjugfH','AxnZDwvK','Chf1sNm','Dgv4Da','x3vWzgf0zu1LDge','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','ExL5Eq','zw52','CMvZB3vYy2u','z2v0q2XPzw50','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','EKrWyva'];a0_0x1d9d=function(){return _0x37cfeb;};return a0_0x1d9d();}const crypto=require(a0_0x28685f(0x1da)),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x28685f(0x17e)),ALLOWED_FORMATS=new Set([a0_0x28685f(0x186),a0_0x28685f(0x189),'yyyymm','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=a0_0x28685f(0x1a1),CHARSET_UPPER=a0_0x28685f(0x1ee),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_0x28685f(0x199),CHARSET_HEX_LOWER='0123456789abcdef',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='\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='\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=a0_0x28685f(0x146),LUA_EXTEND_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\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x180566,_0x11d035,_0x21c1f5=null){const _0x255825=a0_0x28685f,_0x4159b6={'XLQPo':function(_0x46e3f4,_0x44e566){return _0x46e3f4||_0x44e566;}};super(_0x4159b6['XLQPo'](_0x11d035,_0x180566)),this[_0x255825(0x15c)]='IdGeneratorError',this[_0x255825(0x15f)]=_0x180566,this['details']=_0x21c1f5;}}class IdGenerator{constructor(){const _0x54afa0=a0_0x28685f,_0x45d3fa={'LvUJi':'6|11|9|4|7|2|8|5|0|10|3|1'},_0x14f950=_0x45d3fa[_0x54afa0(0x21d)]['split']('|');let _0x4f097f=0x0;while(!![]){switch(_0x14f950[_0x4f097f++]){case'0':this['_defaultCodePattern']=null;continue;case'1':this[_0x54afa0(0x1fd)]=null;continue;case'2':this[_0x54afa0(0x144)]=null;continue;case'3':this['_reserveDefaultTTL']=null;continue;case'4':this['_idemTTL']=null;continue;case'5':this['_defaultSerialPattern']=null;continue;case'6':this['_initialized']=![];continue;case'7':this[_0x54afa0(0x167)]=null;continue;case'8':this[_0x54afa0(0x155)]=null;continue;case'9':this['_keyPrefix']=null;continue;case'10':this[_0x54afa0(0x1b0)]=null;continue;case'11':this['_enabled']=null;continue;}break;}}['_initConfig'](){const _0x25ce63=a0_0x28685f,_0xe9b6d8={'INWNw':_0x25ce63(0x23d),'YEULt':_0x25ce63(0x136),'wGroI':function(_0x51c2d2,_0x165246,_0x49ccc1){return _0x51c2d2(_0x165246,_0x49ccc1);},'MRzXA':'idgen_config_init','eMeQw':function(_0x20e31c,_0x1b1e93,_0x3a7114){return _0x20e31c(_0x1b1e93,_0x3a7114);}},_0x76c156=_0xe9b6d8[_0x25ce63(0x129)][_0x25ce63(0x190)]('|');let _0x31ca99=0x0;while(!![]){switch(_0x76c156[_0x31ca99++]){case'0':this['_enabled']=process['env'][_0x25ce63(0x153)]===_0xe9b6d8['YEULt'];continue;case'1':this[_0x25ce63(0x144)]=parseInt(process[_0x25ce63(0x18a)][_0x25ce63(0x1d6)],0xa)||0xa;continue;case'2':this[_0x25ce63(0x22a)]=_0xe9b6d8[_0x25ce63(0x1b5)](parseInt,process[_0x25ce63(0x18a)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL;continue;case'3':this[_0x25ce63(0x155)]=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'4':this['_counterTTLMap']={'yyyymm':parseInt(process[_0x25ce63(0x18a)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x25ce63(0x18a)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;case'5':this['_defaultSerialPattern']=process[_0x25ce63(0x18a)][_0x25ce63(0x1b1)]||_0x25ce63(0x20d);continue;case'6':this[_0x25ce63(0x1fd)]=parseInt(process['env'][_0x25ce63(0x15a)],0xa)||MAX_RESERVE_TTL;continue;case'7':logger[_0x25ce63(0x1ef)]({'event':_0xe9b6d8['MRzXA'],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this[_0x25ce63(0x144)],'defaultPinDigits':this[_0x25ce63(0x155)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0x25ce63(0x1fd)]},_0x25ce63(0x20c)+this[_0x25ce63(0x139)]);continue;case'8':this['_idemTTL']=_0xe9b6d8[_0x25ce63(0x209)](parseInt,process['env'][_0x25ce63(0x16d)],0xa)||0x258;continue;case'9':this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']==='true';continue;case'10':this[_0x25ce63(0x1d9)]=process[_0x25ce63(0x18a)]['IDGEN_DEFAULT_CODE_PATTERN']||'9999-9999';continue;case'11':this[_0x25ce63(0x1cb)]=!![];continue;case'12':this[_0x25ce63(0x1c7)]='rf:idgen:';continue;}break;}}[a0_0x28685f(0x23f)](){const _0x4d1552=a0_0x28685f;if(!this[_0x4d1552(0x1cb)])this[_0x4d1552(0x1e9)]();}get[a0_0x28685f(0x159)](){const _0x3b901d=a0_0x28685f;return this[_0x3b901d(0x23f)](),this['_enabled'];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get[a0_0x28685f(0x130)](){const _0x53813d=a0_0x28685f;return this['_ensureInitialized'](),this[_0x53813d(0x177)];}get[a0_0x28685f(0x158)](){const _0x331312=a0_0x28685f;return this['_ensureInitialized'](),this[_0x331312(0x167)];}get[a0_0x28685f(0x1ae)](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x3df12b=a0_0x28685f;return this['_ensureInitialized'](),this[_0x3df12b(0x155)];}get['defaultSerialPattern'](){const _0x323369=a0_0x28685f;return this['_ensureInitialized'](),this[_0x323369(0x160)];}get[a0_0x28685f(0x1e3)](){const _0x44f27f=a0_0x28685f;return this[_0x44f27f(0x23f)](),this[_0x44f27f(0x1d9)];}get[a0_0x28685f(0x1ac)](){const _0x2a4d2f=a0_0x28685f;return this['_ensureInitialized'](),this[_0x2a4d2f(0x22a)];}get['reserveMaxTTL'](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}[a0_0x28685f(0x198)](){const _0x208c9d=a0_0x28685f;return this[_0x208c9d(0x159)];}[a0_0x28685f(0x135)](_0x5df3cf){const _0x16b06c=a0_0x28685f,_0x4dfd09={'vtNwd':'IDGEN_INVALID_RESOURCE'};if(typeof _0x5df3cf!==_0x16b06c(0x220)||!RESOURCE_REGEX[_0x16b06c(0x1f9)](_0x5df3cf))throw new IdGeneratorError(_0x4dfd09['vtNwd'],_0x16b06c(0x13e)+RESOURCE_REGEX+_0x16b06c(0x21b)+JSON[_0x16b06c(0x1d5)](_0x5df3cf)+')');}['_validateNumberParams'](_0x1538b4){const _0x59f670=a0_0x28685f,_0x3c4b7e={'THebV':function(_0x384b16,_0x2dd6ba){return _0x384b16===_0x2dd6ba;},'vUefM':_0x59f670(0x1d7),'nzkbu':_0x59f670(0x220),'WaGlQ':'IDGEN_INVALID_PREFIX','gLlOJ':function(_0x3e5556,_0x4f0a18){return _0x3e5556!==_0x4f0a18;},'AsDKp':function(_0x117680,_0x45f4fd){return _0x117680!=_0x45f4fd;},'zDpaP':_0x59f670(0x170),'oOCSE':_0x59f670(0x1f0)},{resource:_0x12ef64,format:_0x46d45e,prefix:_0x4e45a2,separator:_0x3d3b9c,numDigits:_0x4d0c26,reuseDelete:_0x2ca659}=_0x1538b4;this[_0x59f670(0x135)](_0x12ef64);const _0x17b76c=_0x3c4b7e[_0x59f670(0x1c3)](typeof _0x46d45e,'string')?_0x46d45e['toLowerCase']():'';if(!ALLOWED_FORMATS[_0x59f670(0x172)](_0x17b76c))throw new IdGeneratorError(_0x3c4b7e['vUefM'],_0x59f670(0x216)+[...ALLOWED_FORMATS]['join'](',\x20')+_0x59f670(0x21b)+_0x46d45e+')');if(!Number[_0x59f670(0x239)](_0x4d0c26)||_0x4d0c26<MIN_NUM_DIGITS||_0x4d0c26>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x59f670(0x22b),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x4d0c26+')');const _0x460ec4=_0x4e45a2==null?'':_0x4e45a2;if(typeof _0x460ec4!==_0x3c4b7e[_0x59f670(0x225)]||!PREFIX_REGEX[_0x59f670(0x1f9)](_0x460ec4))throw new IdGeneratorError(_0x3c4b7e[_0x59f670(0x175)],_0x59f670(0x1b3)+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x59f670(0x1d5)](_0x4e45a2)+')');const _0xb4ffc=_0x3d3b9c==null?'':_0x3d3b9c;if(_0x3c4b7e['gLlOJ'](typeof _0xb4ffc,'string')||_0xb4ffc['length']>0x3||SEPARATOR_FORBIDDEN['test'](_0xb4ffc))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x59f670(0x1d5)](_0x3d3b9c)+')');if(_0x3c4b7e['AsDKp'](_0x2ca659,null)&&typeof _0x2ca659!==_0x3c4b7e[_0x59f670(0x18f)])throw new IdGeneratorError(_0x3c4b7e['oOCSE'],_0x59f670(0x182)+typeof _0x2ca659+')');return{'resource':_0x12ef64,'format':_0x17b76c,'prefix':_0x460ec4,'separator':_0xb4ffc,'numDigits':_0x4d0c26,'reuseDelete':_0x3c4b7e[_0x59f670(0x1c3)](_0x2ca659,!![])};}['_validatePattern'](_0x23b5e3){const _0x42aed9=a0_0x28685f,_0x1d6971={'jedMT':function(_0x2db089,_0xb1cbe){return _0x2db089!==_0xb1cbe;},'oFdRX':function(_0x2a2127,_0x428a62){return _0x2a2127===_0x428a62;},'UeALB':function(_0x51ebf9,_0x1b4be5){return _0x51ebf9>_0x1b4be5;},'pcpAF':'IDGEN_INVALID_PATTERN'};if(_0x1d6971[_0x42aed9(0x1ea)](typeof _0x23b5e3,_0x42aed9(0x220))||_0x1d6971[_0x42aed9(0x196)](_0x23b5e3[_0x42aed9(0x16b)],0x0)||_0x1d6971['UeALB'](_0x23b5e3[_0x42aed9(0x16b)],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x1d6971[_0x42aed9(0x210)],_0x42aed9(0x1f1)+MAX_PATTERN_LENGTH+_0x42aed9(0x208)+(_0x23b5e3&&_0x23b5e3[_0x42aed9(0x16b)])+')');let _0xa55bb0=![];for(const _0x5b8045 of _0x23b5e3){if(PLACEHOLDER_MAP[_0x5b8045]){_0xa55bb0=!![];break;}}if(!_0xa55bb0)throw new IdGeneratorError(_0x1d6971[_0x42aed9(0x210)],_0x42aed9(0x14a));}['_validateTTL'](_0x454aad){const _0x294e26=a0_0x28685f;if(_0x454aad==null)return undefined;if(!Number['isInteger'](_0x454aad)||_0x454aad<0x1||_0x454aad>MAX_TTL)throw new IdGeneratorError('IDGEN_INVALID_TTL','Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x294e26(0x1ce)+_0x454aad+')');return _0x454aad;}['_validateMaxRetry'](_0x4b4753){const _0x535b96=a0_0x28685f,_0x3d27fd={'wtzTh':'IDGEN_INVALID_MAX_RETRY'};if(_0x4b4753==null)return this['defaultMaxRetry'];if(!Number[_0x535b96(0x239)](_0x4b4753)||_0x4b4753<0x1||_0x4b4753>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x3d27fd['wtzTh'],'Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x535b96(0x21b)+_0x4b4753+')');return _0x4b4753;}['_validateIdempotencyKey'](_0x59fd9f){const _0x477773=a0_0x28685f,_0x24eb48={'inRGo':function(_0x2776eb,_0x378706){return _0x2776eb===_0x378706;},'smHWH':function(_0x812f16,_0x49fd38){return _0x812f16>_0x49fd38;},'YfdKQ':_0x477773(0x1f0)};if(_0x59fd9f==null)return undefined;if(typeof _0x59fd9f!==_0x477773(0x220)||_0x24eb48['inRGo'](_0x59fd9f['length'],0x0)||_0x24eb48['smHWH'](_0x59fd9f[_0x477773(0x16b)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x24eb48[_0x477773(0x1cc)],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+_0x477773(0x168));return _0x59fd9f;}['_validateReserveTTL'](_0x205d82){const _0xe9ca48=a0_0x28685f,_0x5a530a={'gnfkv':function(_0x336fd5,_0x16d777){return _0x336fd5==_0x16d777;}};if(_0x5a530a[_0xe9ca48(0x1e0)](_0x205d82,null))return this['reserveDefaultTTL'];if(!Number['isInteger'](_0x205d82)||_0x205d82<MIN_RESERVE_TTL||_0x205d82>this[_0xe9ca48(0x205)])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL','Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this[_0xe9ca48(0x205)]+'\x20seconds\x20(got:\x20'+_0x205d82+')');return _0x205d82;}['_validateReservationToken'](_0x1d7ac5){const _0x4be21f=a0_0x28685f,_0xb21184={'TfpFc':function(_0x3d922a,_0xfb7e25){return _0x3d922a!==_0xfb7e25;},'BUprW':'string','AJeIN':'IDGEN_INVALID_TOKEN'};if(_0xb21184['TfpFc'](typeof _0x1d7ac5,_0xb21184[_0x4be21f(0x133)])||!RESERVATION_TOKEN_REGEX[_0x4be21f(0x1f9)](_0x1d7ac5))throw new IdGeneratorError(_0xb21184['AJeIN'],_0x4be21f(0x1ab)+JSON['stringify'](_0x1d7ac5)+')');return _0x1d7ac5;}['_pad2'](_0x23e16c){return String(_0x23e16c)['padStart'](0x2,'0');}[a0_0x28685f(0x1f2)](_0x217660,_0x45f403,_0x55fc0b=new Date()){const _0x293c10=a0_0x28685f,_0x2a7404={'pRcqL':function(_0x48d599,_0x1aa357){return _0x48d599+_0x1aa357;},'tOEJs':function(_0x389f02,_0x3584dc){return _0x389f02||_0x3584dc;},'Wjetf':_0x293c10(0x189),'byTGw':'yyyymm','yiUTN':'yyyymmdd','tZVtD':'IDGEN_INVALID_FORMAT'},_0x1311f8=_0x55fc0b[_0x293c10(0x1e4)](),_0xe0465a=this['_pad2'](_0x2a7404['pRcqL'](_0x55fc0b[_0x293c10(0x232)](),0x1)),_0x3a765b=this['_pad2'](_0x55fc0b[_0x293c10(0x1f3)]()),_0x2d3987=_0x2a7404['tOEJs'](_0x45f403,'_');let _0x285204,_0x1ff848='';switch(_0x217660){case'text':_0x285204=_0x2d3987+_0x293c10(0x1f8);break;case _0x2a7404[_0x293c10(0x218)]:_0x1ff848=''+_0x1311f8,_0x285204=_0x2d3987+_0x293c10(0x1f6)+_0x1ff848;break;case _0x2a7404[_0x293c10(0x1ad)]:_0x1ff848=''+_0x1311f8+_0xe0465a,_0x285204=_0x2d3987+'_yyyymm_'+_0x1ff848;break;case _0x2a7404['yiUTN']:_0x1ff848=''+_0x1311f8+_0xe0465a+_0x3a765b,_0x285204=_0x2d3987+'_yyyymmdd_'+_0x1ff848;break;default:throw new IdGeneratorError(_0x2a7404['tZVtD'],_0x293c10(0x1b6)+_0x217660);}return{'formatKey':_0x285204,'datePrefix':_0x1ff848};}[a0_0x28685f(0x229)](_0x435ab9,_0xc39db3){const _0x273bac=a0_0x28685f;return this[_0x273bac(0x217)]+_0x273bac(0x1c9)+_0x435ab9+':'+_0xc39db3;}[a0_0x28685f(0x17c)](_0x4ce395,_0x36d091){return this['keyPrefix']+'reuse:'+_0x4ce395+':'+_0x36d091;}[a0_0x28685f(0x1a3)](_0x137a4e,_0x596640){return this['keyPrefix']+'meta:'+_0x137a4e+':'+_0x596640;}['_buildIssuedKey'](_0x83cb6a){const _0xcf4e40=a0_0x28685f;return this['keyPrefix']+_0xcf4e40(0x143)+_0x83cb6a;}[a0_0x28685f(0x20e)](_0x49ff6e,_0x345864){return this['keyPrefix']+'active:'+_0x49ff6e+':'+_0x345864;}[a0_0x28685f(0x238)](_0x8620e8){const _0x32d296=a0_0x28685f;return this[_0x32d296(0x217)]+'rsv:'+_0x8620e8;}[a0_0x28685f(0x18d)](_0x24d80d,_0x2417ee){const _0xf14e60=a0_0x28685f;return this['keyPrefix']+_0xf14e60(0x13d)+_0x24d80d+':'+_0x2417ee;}['_buildReservationKeyPrefix'](){const _0x40b677=a0_0x28685f;return this[_0x40b677(0x217)]+_0x40b677(0x1e8);}[a0_0x28685f(0x1fc)](_0x2f74b1,_0x212e00,_0x38dc92,_0xa5488f){const _0x2a8a03=a0_0x28685f,_0x3816e1={'VAvXO':'idgen'};if(_0x38dc92)return idempotencyManager[_0x2a8a03(0x138)](_0x3816e1['VAvXO'],_0x2f74b1,_0x212e00+':'+_0x38dc92+':'+_0xa5488f);return idempotencyManager['buildDeterministicKey'](_0x2a8a03(0x197),_0x2f74b1,_0x212e00+':'+_0xa5488f);}[a0_0x28685f(0x1b2)](_0x5543af){const _0x2df143=a0_0x28685f;return this[_0x2df143(0x1b0)][_0x5543af]||0x0;}[a0_0x28685f(0x1de)]({format:_0x9e2157,prefix:_0x3537ba,datePrefix:_0xf5fb43,separator:_0x5dcb19,numDigits:_0x535126,counterInt:_0x19b5fa}){const _0x432d6a=a0_0x28685f,_0x43c998={'ByYYk':function(_0x54c959,_0x3abe0c){return _0x54c959-_0x3abe0c;},'fmdTS':function(_0x1f789a,_0xaaf9de){return _0x1f789a>_0xaaf9de;}},_0x512132=_0x43c998[_0x432d6a(0x19c)](Math['pow'](0xa,_0x535126),0x1);if(_0x43c998[_0x432d6a(0x1e1)](_0x19b5fa,_0x512132))throw new IdGeneratorError(_0x432d6a(0x19a),'Counter\x20overflow:\x20'+_0x19b5fa+'\x20exceeds\x20'+_0x535126+_0x432d6a(0x15b)+_0x512132+_0x432d6a(0x204),{'counterInt':_0x19b5fa,'numDigits':_0x535126,'max':_0x512132});const _0x186cc2=String(_0x19b5fa)[_0x432d6a(0x179)](_0x535126,'0');if(_0x9e2157==='text')return _0x3537ba?''+_0x3537ba+_0x5dcb19+_0x186cc2:_0x186cc2;return _0x3537ba?''+_0x3537ba+_0x5dcb19+_0xf5fb43+_0x5dcb19+_0x186cc2:''+_0xf5fb43+_0x5dcb19+_0x186cc2;}[a0_0x28685f(0x14f)]({format:_0x4ee7df,prefix:_0x27b345,separator:_0x2a27f9,numDigits:_0x30ff47,number:_0x42024c}){const _0xa6480f=a0_0x28685f,_0x1827db={'faGFQ':function(_0x2aedbc,_0x466d75){return _0x2aedbc!==_0x466d75;},'WeDUx':function(_0x3ab97c,_0xc542f){return _0x3ab97c===_0xc542f;},'amzUc':_0xa6480f(0x186),'xSCFS':function(_0x4ee6d7,_0x3083ad){return _0x4ee6d7!==_0x3083ad;},'UbdFB':'IDGEN_INVALID_NUMBER','iThsw':_0xa6480f(0x189),'ulPGA':_0xa6480f(0x1bc),'AooRI':function(_0x2cfa96,_0x9e1601,_0x20aaf3){return _0x2cfa96(_0x9e1601,_0x20aaf3);},'WsQGn':function(_0x5635a3,_0x12fe95){return _0x5635a3||_0x12fe95;}};if(_0x1827db[_0xa6480f(0x150)](typeof _0x42024c,_0xa6480f(0x220))||_0x42024c[_0xa6480f(0x16b)]===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0xa6480f(0x23e));const _0x792686=_0x2a27f9||'',_0x2d8cc0=_0x1827db['WeDUx'](_0x792686,'')?[_0x42024c]:_0x42024c['split'](_0x792686);let _0x14c238='',_0x461fd4;if(_0x4ee7df===_0x1827db[_0xa6480f(0x23c)]){if(_0x27b345){if(_0x2d8cc0['length']!==0x2||_0x2d8cc0[0x0]!==_0x27b345)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x792686+_0xa6480f(0x22d)+_0x42024c+')');_0x461fd4=_0x2d8cc0[0x1];}else{if(_0x1827db['xSCFS'](_0x2d8cc0[_0xa6480f(0x16b)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0xa6480f(0x222)+_0x42024c+')');_0x461fd4=_0x2d8cc0[0x0];}}else{const _0x17381e=_0x27b345?0x3:0x2;if(_0x1827db[_0xa6480f(0x1c2)](_0x2d8cc0['length'],_0x17381e))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x42024c+',\x20expected\x20'+_0x17381e+'\x20parts)');let _0x1c68bc=0x0;if(_0x27b345){if(_0x1827db['faGFQ'](_0x2d8cc0[_0x1c68bc],_0x27b345))throw new IdGeneratorError(_0x1827db['UbdFB'],'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x27b345+_0xa6480f(0x1a9)+_0x2d8cc0[_0x1c68bc]);_0x1c68bc++;}_0x14c238=_0x2d8cc0[_0x1c68bc++];const _0x5f04cd=_0x1827db['WeDUx'](_0x4ee7df,_0x1827db[_0xa6480f(0x191)])?/^\d{4}$/:_0x4ee7df===_0x1827db[_0xa6480f(0x1fb)]?/^\d{6}$/:/^\d{8}$/;if(!_0x5f04cd['test'](_0x14c238))throw new IdGeneratorError(_0xa6480f(0x223),_0xa6480f(0x21c)+_0x4ee7df+':\x20'+_0x14c238);_0x461fd4=_0x2d8cc0[_0x1c68bc];}if(!new RegExp('^\x5cd{'+_0x30ff47+'}$')[_0xa6480f(0x1f9)](_0x461fd4))throw new IdGeneratorError(_0x1827db['UbdFB'],_0xa6480f(0x200)+_0x30ff47+_0xa6480f(0x1ba)+_0x461fd4+')');const _0x3cea61=_0x1827db['AooRI'](parseInt,_0x461fd4,0xa),_0x524a33=_0x1827db[_0xa6480f(0x174)](_0x27b345,'_');let _0xad5cd9;return _0x4ee7df===_0x1827db[_0xa6480f(0x23c)]?_0xad5cd9=_0x524a33+_0xa6480f(0x1f8):_0xad5cd9=_0x524a33+'_'+_0x4ee7df+'_'+_0x14c238,{'formatKey':_0xad5cd9,'counterInt':_0x3cea61,'datePrefix':_0x14c238};}['_generateFromPattern'](_0x424c36){const _0x495728=a0_0x28685f;let _0x124e48='';for(const _0x419360 of _0x424c36){const _0x542458=PLACEHOLDER_MAP[_0x419360];if(_0x542458){const _0x4729b4=crypto[_0x495728(0x228)](0x0,_0x542458['length']);_0x124e48+=_0x542458[_0x4729b4];}else _0x124e48+=_0x419360;}return _0x124e48;}async[a0_0x28685f(0x1c8)](_0xf9b5c1){const _0x1a84e2=a0_0x28685f,_0x4ef70d={'PMHuq':'idgen_idem_hit','jeshK':'Idempotency\x20cache\x20HIT','wiFPK':_0x1a84e2(0x212)};if(!_0xf9b5c1)return null;try{const _0x4b4998=redisClient['getClient'](),_0x405935=await _0x4b4998['get'](_0xf9b5c1);if(_0x405935)return logger['info']({'event':_0x4ef70d[_0x1a84e2(0x206)],'key':_0xf9b5c1},_0x4ef70d['jeshK']),JSON[_0x1a84e2(0x237)](_0x405935);return null;}catch(_0x12ddb4){return logger[_0x1a84e2(0x180)]({'event':_0x1a84e2(0x156),'error':_0x12ddb4[_0x1a84e2(0x166)]},_0x4ef70d[_0x1a84e2(0x1ca)]),null;}}async['_storeIdemCache'](_0xbadc2,_0x5a9699){const _0x51445b=a0_0x28685f,_0x1f52e2={'rtINg':'idgen_idem_store_error'};if(!_0xbadc2)return;try{const _0x4d6b09=redisClient[_0x51445b(0x18c)]();await _0x4d6b09['setex'](_0xbadc2,this['idemTTL'],JSON['stringify'](_0x5a9699));}catch(_0x3a37d7){logger['warn']({'event':_0x1f52e2['rtINg'],'error':_0x3a37d7[_0x51445b(0x166)]},_0x51445b(0x13f));}}async[a0_0x28685f(0x149)](_0x4b0010,_0x386a09){const _0x1821e6=a0_0x28685f,_0x35f3fe={'yHEzG':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','eICXm':_0x1821e6(0x176)};if(!_0x4b0010)return{'stored':!![],'winnerResult':null};try{const _0x55b743=redisClient[_0x1821e6(0x18c)](),_0x180597=JSON['stringify'](_0x386a09),_0x5c56e7=await _0x55b743[_0x1821e6(0x16c)](_0x4b0010,_0x180597,'EX',this['idemTTL'],'NX');if(_0x5c56e7==='OK')return{'stored':!![],'winnerResult':null};const _0x1f0b42=await _0x55b743['get'](_0x4b0010);if(_0x1f0b42)return{'stored':![],'winnerResult':JSON['parse'](_0x1f0b42)};return logger['warn']({'event':_0x1821e6(0x221),'key':_0x4b0010},_0x35f3fe['yHEzG']),{'stored':!![],'winnerResult':null};}catch(_0x574232){return logger[_0x1821e6(0x180)]({'event':_0x35f3fe['eICXm'],'error':_0x574232[_0x1821e6(0x166)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x414faf,_0x1dd08d,_0x3ce72f){const _0x34bd7a=a0_0x28685f,_0x126641={'ISsrz':'idgen_random_undo_error'};try{const _0x2d4528=redisClient['getClient']();if(_0x3ce72f){const _0x38c43d=this[_0x34bd7a(0x20e)](_0x414faf,_0x1dd08d);await _0x2d4528[_0x34bd7a(0x1d4)](_0x38c43d);}else{const _0x4e8e16=this[_0x34bd7a(0x234)](_0x414faf);await _0x2d4528['srem'](_0x4e8e16,_0x1dd08d);}}catch(_0x42922d){logger[_0x34bd7a(0x180)]({'event':_0x126641['ISsrz'],'error':_0x42922d['message']},_0x34bd7a(0x17f));}}async[a0_0x28685f(0x187)](_0x498f54,_0x4d59ff,_0x16b8b6,_0x3c3ed0=0x0){const _0x392f74=a0_0x28685f,_0x9254f3={'EHPlm':function(_0x1d43ae,_0x4b4ae3){return _0x1d43ae(_0x4b4ae3);},'FrhQf':function(_0x14ca26,_0x17bda2){return _0x14ca26>_0x17bda2;},'IEaMi':_0x392f74(0x1a7),'YvJwK':_0x392f74(0x14c)};try{const _0x30a101=redisClient['getClient'](),_0x31d211=this[_0x392f74(0x1a3)](_0x498f54,_0x4d59ff),_0x7962d5=[];for(const [_0x6acffe,_0x4c9655]of Object['entries'](_0x16b8b6)){_0x7962d5['push'](_0x6acffe,_0x9254f3['EHPlm'](String,_0x4c9655));}if(_0x9254f3['FrhQf'](_0x7962d5[_0x392f74(0x16b)],0x0)){await _0x30a101['hset'](_0x31d211,..._0x7962d5);if(_0x3c3ed0>0x0)await _0x30a101[_0x392f74(0x1d1)](_0x31d211,_0x3c3ed0);}}catch(_0x28a080){logger[_0x392f74(0x180)]({'event':_0x9254f3['IEaMi'],'error':_0x28a080[_0x392f74(0x166)]},_0x9254f3['YvJwK']);}}async['number'](_0x9ebcae){const _0x44a6fe=a0_0x28685f,_0xa9ff80={'QNnGq':_0x44a6fe(0x18e),'EBFls':'number','FrHFb':function(_0x1cd8a9,_0x208563){return _0x1cd8a9(_0x208563);},'wWlqi':function(_0x579edf,_0xf95095){return _0x579edf(_0xf95095);},'CPXXv':_0x44a6fe(0x1e5),'PsqMy':'idgen_number_idem_loser','FWrQO':'idgen_number_generated'};if(!this[_0x44a6fe(0x159)])throw new IdGeneratorError(_0x44a6fe(0x181),_0xa9ff80['QNnGq']);const _0x5e6393=this[_0x44a6fe(0x20f)](_0x9ebcae),_0x3cc016=this[_0x44a6fe(0x1a5)](_0x9ebcae[_0x44a6fe(0x17d)]),{resource:_0x468a41,format:_0x4a0b4d,prefix:_0x1b4d69,separator:_0x1de196,numDigits:_0x311e24,reuseDelete:_0x287d4e}=_0x5e6393,{formatKey:_0x4644a0,datePrefix:_0x5d09ce}=this['_buildFormatKey'](_0x4a0b4d,_0x1b4d69),_0x59b7e9=this['_buildSeqKey'](_0x468a41,_0x4644a0),_0x2b0759=this[_0x44a6fe(0x17c)](_0x468a41,_0x4644a0),_0x2e89ff=this[_0x44a6fe(0x1b2)](_0x4a0b4d);let _0x469f3a=null;if(_0x3cc016){_0x469f3a=this['_buildIdemKey'](_0xa9ff80['EBFls'],_0x468a41,_0x4644a0,_0x3cc016);const _0x3c0d27=await this[_0x44a6fe(0x1c8)](_0x469f3a);if(_0x3c0d27)return _0x3c0d27;}const _0x11c8f4=redisClient['getClient'](),_0x2457a0=await _0x11c8f4['eval'](LUA_GENERATE_NUMBER,0x2,_0x59b7e9,_0x2b0759,_0x287d4e?'1':'0',_0xa9ff80['FrHFb'](String,_0x2e89ff)),_0x2207c5=_0x2457a0[0x0],_0x127ddf=_0x2457a0[0x1]===0x1,_0xb884ff=this[_0x44a6fe(0x1de)]({'format':_0x4a0b4d,'prefix':_0x1b4d69,'datePrefix':_0x5d09ce,'separator':_0x1de196,'numDigits':_0x311e24,'counterInt':_0x2207c5}),_0x2e741d={'value':_0xb884ff,'counter':_0x2207c5,'resource':_0x468a41,'formatKey':_0x4644a0,'isReused':_0x127ddf,'generatedAt':new Date()['toISOString']()},_0x28d664=await this[_0x44a6fe(0x149)](_0x469f3a,_0x2e741d);if(!_0x28d664[_0x44a6fe(0x145)]){try{await _0x11c8f4[_0x44a6fe(0x20b)](LUA_RELEASE_NUMBER,0x1,_0x2b0759,_0xa9ff80[_0x44a6fe(0x1d0)](String,_0x2207c5),_0xa9ff80[_0x44a6fe(0x1d0)](String,_0x2e89ff));}catch(_0x38b2b7){logger['warn']({'event':_0xa9ff80['CPXXv'],'error':_0x38b2b7[_0x44a6fe(0x166)],'resource':_0x468a41,'formatKey':_0x4644a0,'counterInt':_0x2207c5},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger[_0x44a6fe(0x1ef)]({'event':_0xa9ff80['PsqMy'],'resource':_0x468a41,'formatKey':_0x4644a0,'counter':_0x2207c5},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x28d664[_0x44a6fe(0x22e)];}return this[_0x44a6fe(0x187)](_0x468a41,_0x4644a0,{'lastValue':_0xb884ff,'lastCounter':_0x2207c5,'lastIsReused':_0x127ddf,'lastGeneratedAt':_0x2e741d[_0x44a6fe(0x21e)]},_0x2e89ff),logger[_0x44a6fe(0x1ef)]({'event':_0xa9ff80['FWrQO'],'resource':_0x468a41,'formatKey':_0x4644a0,'counter':_0x2207c5,'isReused':_0x127ddf},'ID\x20Generator\x20number:\x20'+_0xb884ff),_0x2e741d;}async[a0_0x28685f(0x157)](_0x3ef4d5){const _0x4152e9=a0_0x28685f,_0x41ce06={'rlTkC':'IDGEN_DISABLED','HskWc':'ID\x20Generator\x20is\x20disabled','zUKkF':function(_0x4570ea,_0x3ded70){return _0x4570ea!==_0x3ded70;},'HeiZD':_0x4152e9(0x223),'vRRiH':'release','vvQQS':_0x4152e9(0x188)};if(!this[_0x4152e9(0x159)])throw new IdGeneratorError(_0x41ce06['rlTkC'],_0x41ce06[_0x4152e9(0x16e)]);let _0x444877,_0x2fdd35,_0x550008,_0x30d0b8;const _0x4009ee=this[_0x4152e9(0x1a5)](_0x3ef4d5[_0x4152e9(0x17d)]);if(_0x3ef4d5['counterInt']!==undefined&&_0x41ce06['zUKkF'](_0x3ef4d5['counterInt'],null)){this['_validateResource'](_0x3ef4d5[_0x4152e9(0x18b)]),_0x444877=_0x3ef4d5['resource'];if(_0x41ce06['zUKkF'](typeof _0x3ef4d5['formatKey'],'string')||_0x3ef4d5['formatKey'][_0x4152e9(0x16b)]===0x0)throw new IdGeneratorError(_0x41ce06['HeiZD'],'formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x2fdd35=_0x3ef4d5[_0x4152e9(0x13a)];if(!Number['isInteger'](_0x3ef4d5['counterInt'])||_0x3ef4d5['counterInt']<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x3ef4d5[_0x4152e9(0x226)]+')');_0x550008=_0x3ef4d5[_0x4152e9(0x226)];const _0x320be2=_0x2fdd35[_0x4152e9(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x30d0b8=_0x320be2?_0x320be2[0x1]:_0x4152e9(0x186);}else{const _0x4bfcc1=this[_0x4152e9(0x20f)](_0x3ef4d5),_0x47c574=this[_0x4152e9(0x14f)]({'format':_0x4bfcc1[_0x4152e9(0x14e)],'prefix':_0x4bfcc1['prefix'],'separator':_0x4bfcc1['separator'],'numDigits':_0x4bfcc1[_0x4152e9(0x173)],'number':_0x3ef4d5[_0x4152e9(0x1ff)]});_0x444877=_0x4bfcc1[_0x4152e9(0x18b)],_0x2fdd35=_0x47c574[_0x4152e9(0x13a)],_0x550008=_0x47c574['counterInt'],_0x30d0b8=_0x4bfcc1['format'];}const _0x3308e9=this[_0x4152e9(0x17c)](_0x444877,_0x2fdd35),_0x2038c2=this[_0x4152e9(0x1b2)](_0x30d0b8);let _0x26801a=null;if(_0x4009ee){_0x26801a=this[_0x4152e9(0x1fc)](_0x41ce06[_0x4152e9(0x1ed)],_0x444877,_0x2fdd35,_0x4009ee);const _0x4c4673=await this[_0x4152e9(0x1c8)](_0x26801a);if(_0x4c4673)return _0x4c4673;}const _0x1d562a=redisClient['getClient']();await _0x1d562a[_0x4152e9(0x20b)](LUA_RELEASE_NUMBER,0x1,_0x3308e9,String(_0x550008),String(_0x2038c2));const _0x101dce={'released':!![],'resource':_0x444877,'formatKey':_0x2fdd35,'counter':_0x550008,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x26801a,_0x101dce),this[_0x4152e9(0x187)](_0x444877,_0x2fdd35,{'lastReleasedCounter':_0x550008,'lastReleasedAt':_0x101dce['releasedAt']},_0x2038c2),logger['info']({'event':_0x41ce06[_0x4152e9(0x1bd)],'resource':_0x444877,'formatKey':_0x2fdd35,'counter':_0x550008},_0x4152e9(0x1aa)+_0x550008),_0x101dce;}async[a0_0x28685f(0x1cf)](_0x426189){const _0x4ef2b4=a0_0x28685f,_0x2d53ee={'LWoBQ':_0x4ef2b4(0x18e),'swJmQ':function(_0x1a2120,_0x51a59c){return _0x1a2120+_0x51a59c;},'BEXFp':'format','cRVgn':_0x4ef2b4(0x1cd),'udXuk':function(_0x2178ce,_0x2fc8a9){return _0x2178ce(_0x2fc8a9);},'iLYFj':function(_0x389cf3,_0x577e06){return _0x389cf3||_0x577e06;},'uvXbl':'createdAt','CkyGW':function(_0x54e6b7,_0x14ca35){return _0x54e6b7(_0x14ca35);},'TtaVU':function(_0x15a6b7,_0x22e437){return _0x15a6b7(_0x22e437);},'YXnvq':function(_0x55cf1b,_0x3dc7c4){return _0x55cf1b===_0x3dc7c4;},'fTwAn':_0x4ef2b4(0x161),'DNiKc':_0x4ef2b4(0x12e),'IUCFS':'idgen_reserve_idem_loser_cancel_error'};if(!this[_0x4ef2b4(0x159)])throw new IdGeneratorError(_0x4ef2b4(0x181),_0x2d53ee[_0x4ef2b4(0x162)]);const _0x438432=this['_validateNumberParams'](_0x426189),_0x161560=this['_validateReserveTTL'](_0x426189[_0x4ef2b4(0x14b)]),_0x3ac8c5=this[_0x4ef2b4(0x1a5)](_0x426189['idempotencyKey']),{resource:_0x53c871,format:_0x55e09e,prefix:_0x5e365f,separator:_0x42d302,numDigits:_0x23663b,reuseDelete:_0x44e6b2}=_0x438432,{formatKey:_0x5eefd2,datePrefix:_0x25751d}=this['_buildFormatKey'](_0x55e09e,_0x5e365f),_0x3240d3=this['_buildSeqKey'](_0x53c871,_0x5eefd2),_0x29764d=this['_buildReuseKey'](_0x53c871,_0x5eefd2),_0x111065=this['_buildReservationIndexKey'](_0x53c871,_0x5eefd2),_0x56fd51=this['_getCounterTTL'](_0x55e09e);let _0x1f12f0=null;if(_0x3ac8c5){_0x1f12f0=this[_0x4ef2b4(0x1fc)](_0x4ef2b4(0x1f5),_0x53c871,_0x5eefd2,_0x3ac8c5);const _0x3be263=await this['_retrieveIdemCache'](_0x1f12f0);if(_0x3be263)return _0x3be263;}const _0x3803bb=crypto['randomUUID'](),_0x2fc31b=this['_buildReservationKey'](_0x3803bb),_0x2eb1f5=this[_0x4ef2b4(0x17b)](),_0x43204d=Date['now'](),_0x9ffc83=_0x2d53ee['swJmQ'](_0x43204d,_0x161560*0x3e8),_0x5c641b=_0x161560*0x3e8,_0x140682=new Date(_0x43204d)[_0x4ef2b4(0x203)](),_0x3b407e=new Date(_0x9ffc83)['toISOString'](),_0x27f527=['resource',_0x53c871,_0x4ef2b4(0x13a),_0x5eefd2,_0x2d53ee[_0x4ef2b4(0x1b9)],_0x55e09e,'prefix',_0x5e365f,_0x2d53ee[_0x4ef2b4(0x1f4)],_0x42d302,_0x4ef2b4(0x173),_0x2d53ee['udXuk'](String,_0x23663b),_0x4ef2b4(0x16f),_0x2d53ee['iLYFj'](_0x25751d,''),_0x2d53ee[_0x4ef2b4(0x231)],_0x140682,'expiresAt',_0x3b407e,'ttlMs',_0x2d53ee['CkyGW'](String,_0x5c641b)];_0x3ac8c5&&_0x27f527[_0x4ef2b4(0x1b4)]('idemKey',_0x3ac8c5);const _0x40b3ba=redisClient[_0x4ef2b4(0x18c)](),_0x7781d3=await _0x40b3ba[_0x4ef2b4(0x20b)](LUA_RESERVE_NUMBER,0x3,_0x3240d3,_0x29764d,_0x111065,_0x44e6b2?'1':'0',String(_0x56fd51),_0x3803bb,_0x2fc31b,_0x2d53ee[_0x4ef2b4(0x151)](String,_0x5c641b),String(_0x9ffc83),_0x2d53ee['TtaVU'](String,_0x43204d),_0x2eb1f5,..._0x27f527),_0x5e17f0=_0x7781d3[0x0],_0x10fd78=_0x2d53ee['YXnvq'](_0x7781d3[0x1],0x1),_0x4ead83=_0x7781d3[0x2]||0x0;let _0x126d06;try{_0x126d06=this[_0x4ef2b4(0x1de)]({'format':_0x55e09e,'prefix':_0x5e365f,'datePrefix':_0x25751d,'separator':_0x42d302,'numDigits':_0x23663b,'counterInt':_0x5e17f0});}catch(_0x3d9ed1){try{await _0x40b3ba[_0x4ef2b4(0x20b)](LUA_CANCEL_RESERVATION,0x3,_0x2fc31b,_0x111065,_0x29764d,_0x3803bb,_0x2d53ee[_0x4ef2b4(0x1d3)](String,_0x56fd51));}catch(_0x4ad636){logger[_0x4ef2b4(0x180)]({'event':_0x4ef2b4(0x12b),'error':_0x4ad636[_0x4ef2b4(0x166)],'resource':_0x53c871,'formatKey':_0x5eefd2,'counterInt':_0x5e17f0,'token':_0x3803bb},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x3d9ed1;}try{await _0x40b3ba['hset'](_0x2fc31b,_0x2d53ee[_0x4ef2b4(0x1af)],_0x126d06);}catch(_0x58515b){logger[_0x4ef2b4(0x180)]({'event':'idgen_reserve_value_persist_error','error':_0x58515b['message'],'resource':_0x53c871,'formatKey':_0x5eefd2,'counterInt':_0x5e17f0,'token':_0x3803bb},_0x2d53ee[_0x4ef2b4(0x236)]);}const _0x18b752={'token':_0x3803bb,'value':_0x126d06,'counter':_0x5e17f0,'resource':_0x53c871,'formatKey':_0x5eefd2,'isReused':_0x10fd78,'createdAt':_0x140682,'expiresAt':_0x3b407e,'reapedCount':_0x4ead83},_0x168bd8=await this[_0x4ef2b4(0x149)](_0x1f12f0,_0x18b752);if(!_0x168bd8[_0x4ef2b4(0x145)]){try{await _0x40b3ba['eval'](LUA_CANCEL_RESERVATION,0x3,_0x2fc31b,_0x111065,_0x29764d,_0x3803bb,String(_0x56fd51));}catch(_0x36f7eb){logger['warn']({'event':_0x2d53ee[_0x4ef2b4(0x15e)],'error':_0x36f7eb['message'],'resource':_0x53c871,'formatKey':_0x5eefd2,'counterInt':_0x5e17f0,'token':_0x3803bb},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger[_0x4ef2b4(0x1ef)]({'event':_0x4ef2b4(0x23a),'resource':_0x53c871,'formatKey':_0x5eefd2,'counter':_0x5e17f0,'token':_0x3803bb},_0x4ef2b4(0x140)),_0x168bd8[_0x4ef2b4(0x22e)];}return this[_0x4ef2b4(0x187)](_0x53c871,_0x5eefd2,{'lastReservedCounter':_0x5e17f0,'lastReservedAt':_0x140682,'lastReapedCount':_0x4ead83},_0x56fd51),logger['info']({'event':_0x4ef2b4(0x192),'resource':_0x53c871,'formatKey':_0x5eefd2,'counter':_0x5e17f0,'isReused':_0x10fd78,'token':_0x3803bb,'ttl':_0x161560,'reapedCount':_0x4ead83},'ID\x20Generator\x20number\x20reserved:\x20'+_0x126d06+'\x20(token='+_0x3803bb+')'),_0x18b752;}async['confirmReservation'](_0x487fe1){const _0x5e923a=a0_0x28685f,_0x1716d2={'SkAmh':'idgen','RffLx':function(_0x2c6539,_0x3911a2){return _0x2c6539!==_0x3911a2;},'BpcVv':_0x5e923a(0x211)};if(!this[_0x5e923a(0x159)])throw new IdGeneratorError(_0x5e923a(0x181),_0x5e923a(0x132));const _0x4576d8=this['_validateReservationToken'](_0x487fe1&&_0x487fe1[_0x5e923a(0x1e2)]),_0x20612c=this[_0x5e923a(0x1a5)](_0x487fe1&&_0x487fe1[_0x5e923a(0x17d)]);let _0x43a701=null;if(_0x20612c){_0x43a701=idempotencyManager['buildDeterministicKey'](_0x1716d2['SkAmh'],_0x5e923a(0x148),_0x4576d8+':'+_0x20612c);const _0x162445=await this[_0x5e923a(0x1c8)](_0x43a701);if(_0x162445)return _0x162445;}const _0x289b21=await this['_getReservationContext'](_0x4576d8),_0x27292e=redisClient['getClient'](),_0x246cf6=await _0x27292e['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x289b21[_0x5e923a(0x141)],_0x289b21[_0x5e923a(0x21f)],_0x4576d8);if(!_0x246cf6||_0x1716d2[_0x5e923a(0x1a4)](_0x246cf6[0x0],0x1))throw new IdGeneratorError(_0x5e923a(0x137),_0x5e923a(0x12a)+_0x4576d8,{'token':_0x4576d8});const _0x497d34=parseInt(_0x246cf6[0x1],0xa),_0x387685=_0x246cf6[0x2],_0x5a5ea1=_0x246cf6[0x3],_0xb2ba24=new Date()[_0x5e923a(0x203)](),_0x38ae87={'confirmed':!![],'token':_0x4576d8,'value':_0x387685,'counter':_0x497d34,'resource':_0x289b21[_0x5e923a(0x18b)],'formatKey':_0x5a5ea1,'confirmedAt':_0xb2ba24};await this[_0x5e923a(0x1a6)](_0x43a701,_0x38ae87);const _0x21231f=_0x5a5ea1[_0x5e923a(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x67ef7d=_0x21231f?_0x21231f[0x1]:'text',_0x45cbc9=this[_0x5e923a(0x1b2)](_0x67ef7d);return this[_0x5e923a(0x187)](_0x289b21[_0x5e923a(0x18b)],_0x5a5ea1,{'lastConfirmedCounter':_0x497d34,'lastConfirmedAt':_0xb2ba24},_0x45cbc9),logger['info']({'event':_0x1716d2[_0x5e923a(0x1bf)],'resource':_0x289b21[_0x5e923a(0x18b)],'formatKey':_0x5a5ea1,'counter':_0x497d34,'token':_0x4576d8},_0x5e923a(0x1a8)+_0x387685+'\x20(token='+_0x4576d8+')'),_0x38ae87;}async[a0_0x28685f(0x201)](_0x4f0e5a){const _0x2c1bff=a0_0x28685f,_0x28c4f={'AsbVq':'idgen','qmdJb':_0x2c1bff(0x186),'mZQIP':function(_0x3a3cdd,_0x185214){return _0x3a3cdd(_0x185214);},'DrkDI':_0x2c1bff(0x137)};if(!this['enabled'])throw new IdGeneratorError(_0x2c1bff(0x181),_0x2c1bff(0x132));const _0x2aac8b=this[_0x2c1bff(0x142)](_0x4f0e5a&&_0x4f0e5a['token']),_0x92aae6=this[_0x2c1bff(0x1a5)](_0x4f0e5a&&_0x4f0e5a['idempotencyKey']);let _0x16bb23=null;if(_0x92aae6){_0x16bb23=idempotencyManager['buildDeterministicKey'](_0x28c4f['AsbVq'],_0x2c1bff(0x1e7),_0x2aac8b+':'+_0x92aae6);const _0x321f25=await this[_0x2c1bff(0x1c8)](_0x16bb23);if(_0x321f25)return _0x321f25;}const _0x3adb69=await this['_getReservationContext'](_0x2aac8b),_0x47422d=this['_buildReuseKey'](_0x3adb69[_0x2c1bff(0x18b)],_0x3adb69[_0x2c1bff(0x13a)]),_0x43e15f=_0x3adb69['formatKey'][_0x2c1bff(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x52f5dd=_0x43e15f?_0x43e15f[0x1]:_0x28c4f['qmdJb'],_0x2f622a=this[_0x2c1bff(0x1b2)](_0x52f5dd),_0x11a2cb=redisClient[_0x2c1bff(0x18c)](),_0x3d6b13=await _0x11a2cb[_0x2c1bff(0x20b)](LUA_CANCEL_RESERVATION,0x3,_0x3adb69['rsvKey'],_0x3adb69[_0x2c1bff(0x21f)],_0x47422d,_0x2aac8b,_0x28c4f['mZQIP'](String,_0x2f622a));if(!_0x3d6b13||_0x3d6b13[0x0]!==0x1)throw new IdGeneratorError(_0x28c4f['DrkDI'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x2aac8b,{'token':_0x2aac8b});const _0x31193e=parseInt(_0x3d6b13[0x1],0xa),_0x490425=_0x3d6b13[0x2],_0x542fe6=_0x3d6b13[0x3],_0x266946=new Date()[_0x2c1bff(0x203)](),_0x2f6957={'cancelled':!![],'token':_0x2aac8b,'value':_0x490425,'counter':_0x31193e,'resource':_0x3adb69['resource'],'formatKey':_0x542fe6,'releasedToReuse':!![],'cancelledAt':_0x266946};return await this['_storeIdemCache'](_0x16bb23,_0x2f6957),this[_0x2c1bff(0x187)](_0x3adb69['resource'],_0x542fe6,{'lastCancelledCounter':_0x31193e,'lastCancelledAt':_0x266946},_0x2f622a),logger['info']({'event':_0x2c1bff(0x1d8),'resource':_0x3adb69['resource'],'formatKey':_0x542fe6,'counter':_0x31193e,'token':_0x2aac8b},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x490425+'\x20(token='+_0x2aac8b+')'),_0x2f6957;}async[a0_0x28685f(0x214)](_0x3daf41){const _0x5da907=a0_0x28685f,_0x605322={'fZhTN':_0x5da907(0x181),'IfuQc':'reserve_extend','pAYpJ':function(_0x702fb,_0x2e73d4){return _0x702fb*_0x2e73d4;},'ruNyG':function(_0x178a70,_0xb4de01){return _0x178a70(_0xb4de01);},'swFqP':function(_0x254e2d,_0x1dc827,_0x5b1c33){return _0x254e2d(_0x1dc827,_0x5b1c33);}};if(!this['enabled'])throw new IdGeneratorError(_0x605322['fZhTN'],_0x5da907(0x132));const _0x478bad=this['_validateReservationToken'](_0x3daf41&&_0x3daf41['token']),_0x1486f3=this['_validateReserveTTL'](_0x3daf41&&_0x3daf41['ttl']),_0x2f5cbc=this['_validateIdempotencyKey'](_0x3daf41&&_0x3daf41['idempotencyKey']);let _0x4e46a0=null;if(_0x2f5cbc){_0x4e46a0=idempotencyManager['buildDeterministicKey']('idgen',_0x605322['IfuQc'],_0x478bad+':'+_0x2f5cbc);const _0x7e49b8=await this['_retrieveIdemCache'](_0x4e46a0);if(_0x7e49b8)return _0x7e49b8;}const _0x588e15=await this[_0x5da907(0x165)](_0x478bad),_0x29e5fc=Date[_0x5da907(0x12d)](),_0x1335d1=_0x29e5fc+_0x605322['pAYpJ'](_0x1486f3,0x3e8),_0x4010a1=_0x1486f3*0x3e8,_0x215860=new Date(_0x1335d1)['toISOString'](),_0xd25b77=redisClient[_0x5da907(0x18c)](),_0x15f5d7=await _0xd25b77[_0x5da907(0x20b)](LUA_EXTEND_RESERVATION,0x2,_0x588e15[_0x5da907(0x141)],_0x588e15[_0x5da907(0x21f)],_0x478bad,_0x605322[_0x5da907(0x19e)](String,_0x4010a1),String(_0x1335d1),_0x215860);if(!_0x15f5d7||_0x15f5d7[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x5da907(0x12a)+_0x478bad,{'token':_0x478bad});const _0x1abe19=_0x15f5d7[0x1],_0x545e1f=_0x605322['swFqP'](parseInt,_0x15f5d7[0x2],0xa),_0x37e5b0=_0x15f5d7[0x3],_0x4a80c0=_0x15f5d7[0x4],_0x478a80=new Date(_0x29e5fc)['toISOString'](),_0x3d8883={'extended':!![],'token':_0x478bad,'previousExpiresAt':_0x1abe19,'expiresAt':_0x215860,'ttlMs':_0x4010a1,'resource':_0x588e15['resource'],'formatKey':_0x4a80c0,'counter':_0x545e1f,'value':_0x37e5b0,'extendedAt':_0x478a80};await this['_storeIdemCache'](_0x4e46a0,_0x3d8883);const _0xe80f5d=_0x4a80c0[_0x5da907(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x15aac0=_0xe80f5d?_0xe80f5d[0x1]:'text',_0x47b259=this[_0x5da907(0x1b2)](_0x15aac0);return this[_0x5da907(0x187)](_0x588e15['resource'],_0x4a80c0,{'lastExtendedCounter':_0x545e1f,'lastExtendedAt':_0x478a80},_0x47b259),logger[_0x5da907(0x1ef)]({'event':'idgen_reservation_extended','resource':_0x588e15['resource'],'formatKey':_0x4a80c0,'counter':_0x545e1f,'token':_0x478bad,'ttl':_0x1486f3},_0x5da907(0x1c6)+_0x37e5b0+'\x20(token='+_0x478bad+_0x5da907(0x171)+_0x1486f3+'s)'),_0x3d8883;}async[a0_0x28685f(0x1a2)](_0x4bac87){const _0x516b59=a0_0x28685f,_0x29143e={'vfXwc':_0x516b59(0x181),'oHnKr':'number'};if(!this['enabled'])throw new IdGeneratorError(_0x29143e['vfXwc'],'ID\x20Generator\x20is\x20disabled');const _0x36d0a9=this['_validateReservationToken'](_0x4bac87&&_0x4bac87['token']),_0x30dd1d=this[_0x516b59(0x238)](_0x36d0a9),_0x17e39f=redisClient['getClient'](),_0x1db821=_0x17e39f['pipeline']();_0x1db821['hgetall'](_0x30dd1d),_0x1db821[_0x516b59(0x1b7)](_0x30dd1d);const _0x5cab51=await _0x1db821['exec'](),_0x33c5b3=_0x5cab51&&_0x5cab51[0x0]&&_0x5cab51[0x0][0x1],_0x4afb4d=_0x5cab51&&_0x5cab51[0x1]&&_0x5cab51[0x1][0x1];if(!_0x33c5b3||Object['keys'](_0x33c5b3)['length']===0x0)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x36d0a9,{'token':_0x36d0a9});return{'token':_0x36d0a9,'resource':_0x33c5b3['resource']||null,'formatKey':_0x33c5b3[_0x516b59(0x13a)]||null,'format':_0x33c5b3[_0x516b59(0x14e)]||null,'prefix':_0x33c5b3['prefix']||'','separator':_0x33c5b3['separator']||'','numDigits':_0x33c5b3['numDigits']?parseInt(_0x33c5b3[_0x516b59(0x173)],0xa):null,'datePrefix':_0x33c5b3[_0x516b59(0x16f)]||'','counter':_0x33c5b3[_0x516b59(0x207)]?parseInt(_0x33c5b3['counter'],0xa):null,'value':_0x33c5b3['value']||null,'isReused':_0x33c5b3['isReused']==='1'||_0x33c5b3[_0x516b59(0x193)]===0x1,'createdAt':_0x33c5b3[_0x516b59(0x1df)]||null,'expiresAt':_0x33c5b3['expiresAt']||null,'ttlRemainingMs':typeof _0x4afb4d===_0x29143e[_0x516b59(0x1a0)]&&_0x4afb4d>=0x0?_0x4afb4d:null};}async['_getReservationContext'](_0x480d12){const _0x3708b7=a0_0x28685f,_0x576839=this[_0x3708b7(0x238)](_0x480d12),_0x372c04=redisClient['getClient'](),_0x1b827e=await _0x372c04[_0x3708b7(0x12c)](_0x576839,_0x3708b7(0x18b),_0x3708b7(0x13a)),_0x108a7c=_0x1b827e&&_0x1b827e[0x0],_0x48aa9c=_0x1b827e&&_0x1b827e[0x1];if(!_0x108a7c||!_0x48aa9c)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x480d12,{'token':_0x480d12});return{'resource':_0x108a7c,'formatKey':_0x48aa9c,'rsvKey':_0x576839,'rsvIdxKey':this[_0x3708b7(0x18d)](_0x108a7c,_0x48aa9c)};}async[a0_0x28685f(0x14d)](_0x527f41){const _0x19851c=a0_0x28685f,_0x4b2acf={'vCyzo':'ID\x20Generator\x20is\x20disabled','jeedv':function(_0xd775ef,_0x4066a5){return _0xd775ef===_0x4066a5;},'pquJs':function(_0x1844d6,_0x237468){return _0x1844d6<_0x237468;},'phSeN':function(_0x39bb49,_0x5aa00a){return _0x39bb49+_0x5aa00a;},'sKjCs':function(_0x456be4,_0x179c7d){return _0x456be4*_0x179c7d;},'bxYru':_0x19851c(0x1fe),'DVvEK':function(_0x4f422e,_0x52ea45){return _0x4f422e||_0x52ea45;}};if(!this[_0x19851c(0x159)])throw new IdGeneratorError(_0x19851c(0x181),_0x4b2acf[_0x19851c(0x219)]);this[_0x19851c(0x135)](_0x527f41['resource']),this[_0x19851c(0x1be)](_0x527f41['pattern']);const _0x46d71d=this[_0x19851c(0x17a)](_0x527f41[_0x19851c(0x14b)]),_0x136fa9=this['_validateMaxRetry'](_0x527f41['maxRetry']),_0x3b2a82=this['_validateIdempotencyKey'](_0x527f41[_0x19851c(0x17d)]),_0x13e44e=_0x4b2acf['jeedv'](_0x527f41['ensureUnique'],!![]),{resource:_0x37e32d,pattern:_0x145ba1}=_0x527f41;let _0x182af7=null;if(_0x3b2a82){_0x182af7=this[_0x19851c(0x1fc)]('random',_0x37e32d,null,_0x3b2a82);const _0x56de45=await this['_retrieveIdemCache'](_0x182af7);if(_0x56de45)return _0x56de45;}const _0x36ec69=redisClient['getClient']();let _0xe53a77=null,_0x7bd963=0x0;if(!_0x13e44e)_0xe53a77=this['_generateFromPattern'](_0x145ba1),_0x7bd963=0x1;else{for(let _0x3597e1=0x0;_0x4b2acf[_0x19851c(0x185)](_0x3597e1,_0x136fa9);_0x3597e1++){_0x7bd963++;const _0x494165=this['_generateFromPattern'](_0x145ba1);if(_0x46d71d){const _0x5a3ceb=this[_0x19851c(0x20e)](_0x37e32d,_0x494165),_0x290da7=await _0x36ec69['set'](_0x5a3ceb,'1','EX',_0x46d71d,'NX');if(_0x290da7==='OK'){_0xe53a77=_0x494165;break;}}else{const _0x12117f=this[_0x19851c(0x234)](_0x37e32d),_0x493f3d=await _0x36ec69['sadd'](_0x12117f,_0x494165);if(_0x493f3d===0x1){_0xe53a77=_0x494165;break;}}}if(_0xe53a77===null)throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED','Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x136fa9+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x37e32d,'pattern':_0x145ba1,'maxRetry':_0x136fa9});}const _0x570c61={'value':_0xe53a77,'resource':_0x37e32d,'pattern':_0x145ba1,'attemptCount':_0x7bd963,'generatedAt':new Date()[_0x19851c(0x203)]()};_0x46d71d&&_0x13e44e&&(_0x570c61['expiresAt']=new Date(_0x4b2acf['phSeN'](Date['now'](),_0x4b2acf['sKjCs'](_0x46d71d,0x3e8)))['toISOString']());const _0x28c139=await this['_storeIdemCacheNX'](_0x182af7,_0x570c61);if(!_0x28c139[_0x19851c(0x145)])return _0x13e44e&&await this['_undoRandomReservation'](_0x37e32d,_0xe53a77,_0x46d71d),logger['info']({'event':_0x4b2acf['bxYru'],'resource':_0x37e32d,'pattern':_0x145ba1,'value':_0xe53a77},_0x19851c(0x163)),_0x28c139[_0x19851c(0x22e)];return logger[_0x19851c(0x1ef)]({'event':'idgen_random_generated','resource':_0x37e32d,'pattern':_0x145ba1,'attemptCount':_0x7bd963,'ensureUnique':_0x13e44e,'ttl':_0x4b2acf['DVvEK'](_0x46d71d,0x0)},'ID\x20Generator\x20random:\x20'+_0xe53a77),_0x570c61;}async['pin'](_0x5bbf1f){const _0x19f040=a0_0x28685f,_0x2bb8eb={'Abevj':function(_0x2a2c63,_0x47ccab){return _0x2a2c63==_0x47ccab;},'QpiJi':_0x19f040(0x23b)},_0x49e855=_0x2bb8eb[_0x19f040(0x1d2)](_0x5bbf1f['digits'],null)?this[_0x19f040(0x227)]:_0x5bbf1f['digits'];if(!Number['isInteger'](_0x49e855)||_0x49e855<MIN_PIN_DIGITS||_0x49e855>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x2bb8eb['QpiJi'],_0x19f040(0x1c1)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x49e855+')');const _0x27686d='9'[_0x19f040(0x233)](_0x49e855);return this['random']({'resource':_0x5bbf1f['resource'],'pattern':_0x27686d,'ensureUnique':_0x5bbf1f[_0x19f040(0x1bb)]===!![],'ttl':_0x5bbf1f['ttl'],'maxRetry':_0x5bbf1f[_0x19f040(0x152)],'idempotencyKey':_0x5bbf1f['idempotencyKey']});}async['serial'](_0x3fbddd){const _0x5762b7=a0_0x28685f,_0x2390e5={'KoFlu':function(_0x549581,_0x5cdce6){return _0x549581!==_0x5cdce6;}},_0x5262cd=_0x3fbddd[_0x5762b7(0x1fa)]||this['defaultSerialPattern'];return this[_0x5762b7(0x14d)]({'resource':_0x3fbddd['resource'],'pattern':_0x5262cd,'ensureUnique':_0x2390e5['KoFlu'](_0x3fbddd[_0x5762b7(0x1bb)],![]),'ttl':_0x3fbddd[_0x5762b7(0x14b)],'maxRetry':_0x3fbddd['maxRetry'],'idempotencyKey':_0x3fbddd['idempotencyKey']});}async[a0_0x28685f(0x15f)](_0x751b8a){const _0x45d726=a0_0x28685f,_0x38e188=_0x751b8a['pattern']||this['defaultCodePattern'];return this['random']({'resource':_0x751b8a[_0x45d726(0x18b)],'pattern':_0x38e188,'ensureUnique':_0x751b8a['ensureUnique']!==![],'ttl':_0x751b8a['ttl'],'maxRetry':_0x751b8a['maxRetry'],'idempotencyKey':_0x751b8a[_0x45d726(0x17d)]});}async['consume'](_0x216580){const _0x309933=a0_0x28685f,_0x262fcf={'Myaki':_0x309933(0x181),'jLFkb':_0x309933(0x132),'YMCeh':_0x309933(0x220),'IBRjX':function(_0x3817c3,_0x6fc267){return _0x3817c3===_0x6fc267;},'rmLEU':function(_0x2c88d0,_0x16fd51){return _0x2c88d0>_0x16fd51;},'NExsU':'idgen_consumed'};if(!this[_0x309933(0x159)])throw new IdGeneratorError(_0x262fcf[_0x309933(0x22c)],_0x262fcf['jLFkb']);this[_0x309933(0x135)](_0x216580['resource']);if(typeof _0x216580[_0x309933(0x161)]!==_0x262fcf['YMCeh']||_0x262fcf['IBRjX'](_0x216580['value']['length'],0x0))throw new IdGeneratorError(_0x309933(0x223),'value\x20is\x20required');const {resource:_0x463a12,value:_0x9bacce}=_0x216580,_0x3f263e=redisClient[_0x309933(0x18c)](),_0x24af90=this['_buildActiveKey'](_0x463a12,_0x9bacce),_0x3ac576=this[_0x309933(0x234)](_0x463a12),[_0x3183c9,_0x3abd87]=await Promise[_0x309933(0x22f)]([_0x3f263e[_0x309933(0x1d4)](_0x24af90),_0x3f263e[_0x309933(0x1db)](_0x3ac576,_0x9bacce)]),_0xbbc52a=_0x262fcf[_0x309933(0x21a)](_0x3183c9+_0x3abd87,0x0);return logger[_0x309933(0x1ef)]({'event':_0x262fcf['NExsU'],'resource':_0x463a12,'value':_0x9bacce,'consumed':_0xbbc52a},_0x309933(0x134)+_0x9bacce),{'consumed':_0xbbc52a,'resource':_0x463a12,'value':_0x9bacce,'consumedAt':new Date()['toISOString']()};}async[a0_0x28685f(0x230)](_0x4cbac1){const _0x2c8e74=a0_0x28685f,_0x23cc40={'PqlAW':_0x2c8e74(0x132),'HXabp':'number','cDhsR':_0x2c8e74(0x1d7),'eMTPe':function(_0x2c0973,_0x510107,_0x12b4a1){return _0x2c0973(_0x510107,_0x12b4a1);},'YaHBN':function(_0x153fe4,_0x3bf3c1){return _0x153fe4||_0x3bf3c1;}};if(!this[_0x2c8e74(0x159)])throw new IdGeneratorError('IDGEN_DISABLED',_0x23cc40['PqlAW']);this['_validateResource'](_0x4cbac1['resource']);const _0x3e0cf6=_0x4cbac1['mode']||_0x23cc40[_0x2c8e74(0x169)],_0x3272cd=redisClient['getClient']();if(_0x3e0cf6===_0x2c8e74(0x1ff)){const _0x4bd2c3=(_0x4cbac1['format']||_0x2c8e74(0x186))['toLowerCase']();if(!ALLOWED_FORMATS[_0x2c8e74(0x172)](_0x4bd2c3))throw new IdGeneratorError(_0x23cc40[_0x2c8e74(0x15d)],_0x2c8e74(0x164)+_0x4cbac1[_0x2c8e74(0x14e)]);const {formatKey:_0x44b119}=this['_buildFormatKey'](_0x4bd2c3,_0x4cbac1['prefix']||''),_0x37b00b=this[_0x2c8e74(0x229)](_0x4cbac1[_0x2c8e74(0x18b)],_0x44b119),_0x39358c=this[_0x2c8e74(0x17c)](_0x4cbac1[_0x2c8e74(0x18b)],_0x44b119),[_0x39c1db,_0x164308]=await Promise[_0x2c8e74(0x22f)]([_0x3272cd[_0x2c8e74(0x1e6)](_0x37b00b),_0x3272cd['zcard'](_0x39358c)]);return{'resource':_0x4cbac1[_0x2c8e74(0x18b)],'mode':_0x23cc40[_0x2c8e74(0x169)],'formatKey':_0x44b119,'currentCounter':_0x23cc40['eMTPe'](parseInt,_0x39c1db,0xa)||0x0,'reusePoolSize':_0x23cc40['YaHBN'](_0x164308,0x0)};}if(_0x3e0cf6===_0x2c8e74(0x14d)){const _0x3efa33=this[_0x2c8e74(0x234)](_0x4cbac1['resource']),_0xb47b4a=await _0x3272cd['scard'](_0x3efa33);return{'resource':_0x4cbac1[_0x2c8e74(0x18b)],'mode':_0x2c8e74(0x14d),'issuedCount':_0xb47b4a||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0x2c8e74(0x16a)+_0x3e0cf6);}async['getInfo'](_0x11a836){const _0xde66c=a0_0x28685f,_0x2ac40e={'dBsYH':function(_0x28e1a3,_0x5fb787){return _0x28e1a3===_0x5fb787;},'eNfsw':function(_0x58a924,_0x52df5f){return _0x58a924>_0x52df5f;}},_0x244717=await this['peek'](_0x11a836);if(_0x2ac40e['dBsYH'](_0x244717['mode'],_0xde66c(0x1ff))){const _0x290ed6=redisClient['getClient'](),_0x1cb03c=this[_0xde66c(0x1a3)](_0x11a836['resource'],_0x244717[_0xde66c(0x13a)]),_0x54d62d=this['_buildReuseKey'](_0x11a836[_0xde66c(0x18b)],_0x244717['formatKey']),[_0x59ca77,_0x1f4a8c]=await Promise['all']([_0x290ed6[_0xde66c(0x1eb)](_0x1cb03c),_0x290ed6['zrange'](_0x54d62d,0x0,-0x1)]);return{..._0x244717,'reusePoolValues':_0x1f4a8c[_0xde66c(0x20a)](_0x5b130b=>parseInt(_0x5b130b,0xa)),'meta':_0x59ca77&&_0x2ac40e['eNfsw'](Object[_0xde66c(0x154)](_0x59ca77)['length'],0x0)?_0x59ca77:null};}return _0x244717;}async['reset'](_0x3e720c){const _0xba49c=a0_0x28685f,_0x4cd8d4={'cMteB':'IDGEN_DISABLED','yaDka':_0xba49c(0x132),'btGcP':_0xba49c(0x1c4),'TvfHq':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','sZeaD':'number','ulFAG':function(_0x484f9c,_0x113d93){return _0x484f9c===_0x113d93;},'qFAog':_0xba49c(0x186),'BCVDu':'IDGEN_INVALID_FORMAT','kwKzV':'seq','gUmug':'reuse','ORApE':'meta','oQKLn':_0xba49c(0x13b),'iUFyL':'random','qvLoo':_0xba49c(0x184)};if(!this[_0xba49c(0x159)])throw new IdGeneratorError(_0x4cd8d4['cMteB'],_0x4cd8d4[_0xba49c(0x19b)]);if(!this[_0xba49c(0x158)])throw new IdGeneratorError(_0x4cd8d4['btGcP'],_0x4cd8d4[_0xba49c(0x147)]);this[_0xba49c(0x135)](_0x3e720c[_0xba49c(0x18b)]);const _0x43b9db=_0x3e720c[_0xba49c(0x19f)]||_0x4cd8d4[_0xba49c(0x1dd)],_0x22ee84=redisClient[_0xba49c(0x18c)]();if(_0x4cd8d4['ulFAG'](_0x43b9db,_0xba49c(0x1ff))){const _0x2b8582=(_0x3e720c['format']||_0x4cd8d4['qFAog'])['toLowerCase']();if(!ALLOWED_FORMATS[_0xba49c(0x172)](_0x2b8582))throw new IdGeneratorError(_0x4cd8d4[_0xba49c(0x19d)],_0xba49c(0x164)+_0x3e720c[_0xba49c(0x14e)]);const {formatKey:_0xb3a303}=this[_0xba49c(0x1f2)](_0x2b8582,_0x3e720c['prefix']||''),_0x23ee9e=this[_0xba49c(0x229)](_0x3e720c['resource'],_0xb3a303),_0x29c735=this['_buildReuseKey'](_0x3e720c['resource'],_0xb3a303),_0x4ec778=this['_buildMetaKey'](_0x3e720c['resource'],_0xb3a303);return await _0x22ee84['del'](_0x23ee9e,_0x29c735,_0x4ec778),logger[_0xba49c(0x180)]({'event':_0xba49c(0x13b),'resource':_0x3e720c[_0xba49c(0x18b)],'mode':_0x4cd8d4[_0xba49c(0x1dd)],'formatKey':_0xb3a303},'ID\x20Generator\x20reset:\x20'+_0x3e720c['resource']+':'+_0xb3a303),{'reset':!![],'resource':_0x3e720c['resource'],'mode':_0xba49c(0x1ff),'formatKey':_0xb3a303,'deletedKeys':[_0x4cd8d4['kwKzV'],_0x4cd8d4[_0xba49c(0x1f7)],_0x4cd8d4['ORApE']]};}if(_0x43b9db==='random'){const _0x5374d1=this['_buildIssuedKey'](_0x3e720c['resource']);return await _0x22ee84[_0xba49c(0x1d4)](_0x5374d1),logger[_0xba49c(0x180)]({'event':_0x4cd8d4[_0xba49c(0x178)],'resource':_0x3e720c[_0xba49c(0x18b)],'mode':'random'},_0xba49c(0x194)+_0x3e720c[_0xba49c(0x18b)]),{'reset':!![],'resource':_0x3e720c[_0xba49c(0x18b)],'mode':_0x4cd8d4[_0xba49c(0x215)],'deletedKeys':[_0x4cd8d4['qvLoo']]};}throw new IdGeneratorError(_0xba49c(0x202),_0xba49c(0x16a)+_0x43b9db);}}const instance=new IdGenerator();instance[a0_0x28685f(0x213)]=IdGeneratorError,module[a0_0x28685f(0x1dc)]=instance,module[a0_0x28685f(0x1dc)][a0_0x28685f(0x213)]=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0x16f659=a0_0x8f6d;(function(_0x35d6b8,_0x3bcf21){const _0x456a7f=a0_0x8f6d,_0x53fe89=_0x35d6b8();while(!![]){try{const _0x2b74f6=parseInt(_0x456a7f(0x1f1))/0x1+parseInt(_0x456a7f(0x202))/0x2*(parseInt(_0x456a7f(0x1df))/0x3)+parseInt(_0x456a7f(0x1dd))/0x4*(-parseInt(_0x456a7f(0x1e5))/0x5)+-parseInt(_0x456a7f(0x1ee))/0x6+parseInt(_0x456a7f(0x1e7))/0x7+-parseInt(_0x456a7f(0x1e3))/0x8+-parseInt(_0x456a7f(0x1fd))/0x9*(-parseInt(_0x456a7f(0x1e0))/0xa);if(_0x2b74f6===_0x3bcf21)break;else _0x53fe89['push'](_0x53fe89['shift']());}catch(_0x46458f){_0x53fe89['push'](_0x53fe89['shift']());}}}(a0_0x5cc8,0xe00d0));const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){const _0xb6f144=a0_0x8f6d;this[_0xb6f144(0x1fb)]=null,this[_0xb6f144(0x1ea)]=null,this[_0xb6f144(0x1fe)]=![];}['_initConfig'](){const _0x5d9cb4=a0_0x8f6d,_0x4e4232={'zGAKm':function(_0x5bbc8b,_0x3132b2){return _0x5bbc8b===_0x3132b2;}};this[_0x5d9cb4(0x1fb)]=_0x4e4232[_0x5d9cb4(0x1f3)](process['env'][_0x5d9cb4(0x1de)],'true'),this[_0x5d9cb4(0x1ea)]=parseInt(process[_0x5d9cb4(0x1eb)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x5d9cb4(0x1f2),'enabled':this['_enabled'],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}[a0_0x16f659(0x1f7)](){const _0x465d7d=a0_0x16f659;!this[_0x465d7d(0x1fe)]&&this['_initConfig']();}get['enabled'](){const _0x18f99e=a0_0x16f659;return this[_0x18f99e(0x1f7)](),this['_enabled'];}get['ttl'](){const _0x2640ee=a0_0x16f659;return this[_0x2640ee(0x1f7)](),this[_0x2640ee(0x1ea)];}['isEnabled'](){return this['enabled'];}[a0_0x16f659(0x201)](_0xb0ee7e,_0x2420bf){const _0x43009a=a0_0x16f659,_0x15761f=_0x2420bf[_0x43009a(0x1e1)][_0x43009a(0x1e9)]('/')['filter'](Boolean),_0x2b01da=_0x15761f[0x0]||'default',_0x5c96e6=_0x15761f[0x1]||_0x43009a(0x200),_0x3b2998=_0x15761f[0x2]||'unknown';return _0x43009a(0x1ec)+_0x2b01da+':'+_0x5c96e6+':'+_0x3b2998+':'+_0xb0ee7e;}async[a0_0x16f659(0x1e2)](_0x4b1355,_0x2f9633){const _0x419a8e=a0_0x16f659,_0x54dd44={'yZIrx':_0x419a8e(0x1f8)};if(!this['enabled'])return![];try{const _0x4d0e0d=redisClient[_0x419a8e(0x1ed)]();return await _0x4d0e0d['setex'](_0x4b1355,this['ttl'],JSON['stringify'](_0x2f9633)),logger[_0x419a8e(0x1e8)]({'event':_0x419a8e(0x1f6),'key':_0x4b1355,'ttl':this['ttl'],'statusCode':_0x2f9633['statusCode']},_0x419a8e(0x1ff)),!![];}catch(_0x449b94){return logger[_0x419a8e(0x1ef)]({'event':_0x54dd44['yZIrx'],'key':_0x4b1355,'error':_0x449b94['message']},'Idempotency\x20store\x20error:\x20'+_0x449b94[_0x419a8e(0x1f0)]),![];}}async[a0_0x16f659(0x1fa)](_0x4f7a43){const _0x4b4068=a0_0x16f659;if(!this['enabled'])return null;try{const _0x349929=redisClient['getClient'](),_0x4f20a0=await _0x349929[_0x4b4068(0x1f5)](_0x4f7a43);if(_0x4f20a0)return logger['info']({'event':_0x4b4068(0x1e6),'key':_0x4f7a43},'Idempotency\x20cache\x20HIT'),JSON[_0x4b4068(0x1f9)](_0x4f20a0);return logger[_0x4b4068(0x1e8)]({'event':'idempotency_miss','key':_0x4f7a43},_0x4b4068(0x1fc)),null;}catch(_0x5619a5){return logger['error']({'event':_0x4b4068(0x1e4),'key':_0x4f7a43,'error':_0x5619a5[_0x4b4068(0x1f0)]},_0x4b4068(0x1f4)+_0x5619a5['message']),null;}}['generateKey'](_0x336f63='req'){return _0x336f63+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0x258181,_0x402cc6,_0x23cd42){return _0x258181+':'+_0x402cc6+':'+_0x23cd42;}}function a0_0x5cc8(){const _0x375aa9=['C3rVCMu','ntiWotm4ngrgvhnUBW','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','mtbJuuLXq0e','AwrLBxbVDgvUy3LFAgL0','mtGXodC3nujQz3rguG','zgvIDwC','C3bSAxq','x3r0Ba','zw52','CMy6AwrLBtO','z2v0q2XPzw50','nZe5nJuYme16EKDRzW','zxjYB3i','BwvZC2fNzq','mty5ntu4n1DjEKHrAW','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','EKDbs20','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i6ia','z2v0','AwrLBxbVDgvUy3LFC3rVCMu','x2vUC3vYzuLUAxrPywXPEMvK','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','CgfYC2u','CMv0CMLLDMu','x2vUywjSzwq','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','mZC3mtbdBMvewfi','x2LUAxrPywXPEMvK','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','Dw5RBM93BG','yNvPBgrlzxK','mLbhufnYDW','mtK3otGZnKf6wgjsEG','surftvbpvevoq1LFru5bqKXfra','nde3nJu3m0vRAeHbEq','otGWrenVuNjd','Cgf0Aa'];a0_0x5cc8=function(){return _0x375aa9;};return a0_0x5cc8();}function a0_0x8f6d(_0x137e2a,_0x5f510d){_0x137e2a=_0x137e2a-0x1dd;const _0x5cc883=a0_0x5cc8();let _0x8f6d3c=_0x5cc883[_0x137e2a];if(a0_0x8f6d['CozTjS']===undefined){var _0x538613=function(_0x48aed7){const _0x939c7d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6e743e='',_0x409ed1='';for(let _0xb24597=0x0,_0x404fd4,_0x1a4528,_0x4775f5=0x0;_0x1a4528=_0x48aed7['charAt'](_0x4775f5++);~_0x1a4528&&(_0x404fd4=_0xb24597%0x4?_0x404fd4*0x40+_0x1a4528:_0x1a4528,_0xb24597++%0x4)?_0x6e743e+=String['fromCharCode'](0xff&_0x404fd4>>(-0x2*_0xb24597&0x6)):0x0){_0x1a4528=_0x939c7d['indexOf'](_0x1a4528);}for(let _0x5732ee=0x0,_0x1c6af6=_0x6e743e['length'];_0x5732ee<_0x1c6af6;_0x5732ee++){_0x409ed1+='%'+('00'+_0x6e743e['charCodeAt'](_0x5732ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x409ed1);};a0_0x8f6d['PXbjuX']=_0x538613,a0_0x8f6d['qjzMQc']={},a0_0x8f6d['CozTjS']=!![];}const _0x36a052=_0x5cc883[0x0],_0x1f34b6=_0x137e2a+_0x36a052,_0x468eb7=a0_0x8f6d['qjzMQc'][_0x1f34b6];return!_0x468eb7?(_0x8f6d3c=a0_0x8f6d['PXbjuX'](_0x8f6d3c),a0_0x8f6d['qjzMQc'][_0x1f34b6]=_0x8f6d3c):_0x8f6d3c=_0x468eb7,_0x8f6d3c;}module['exports']=new IdempotencyManager();
1
+ 'use strict';const a0_0x4e3da0=a0_0x4811;function a0_0x13d5(){const _0x43d469=['mZCXnLnIz0TLra','BwvZC2fNzq','CMfUzg9Tvvvjra','mJG1vu16BvHd','x3r0Ba','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','z2vUzxjHDgvlzxK','AwrLBxbVDgvUy3LFC3rVCMu','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','zMLSDgvY','CMy6AwrLBtO','lcbuveW6ia','ogfotwPPvG','mta5mtrZt2Dbuhu','ntyYmtiXD21oBKre','C3rYAw5NAwz5','ntC3nJe4C2DbBu95','mtb1ue15qKq','x2LUAxrPywXPEMvK','mJe5odKYmeviCeTotW','zw5HyMXLza','z2v0','z2v0q2XPzw50','mZKWDNv1C3vj','tgjqqwG','mteWmJq0mMDYuM1XBW','CMv0CMLLDMu','yNvPBgrlzxK','ntyXotmZou1ytKrPBG','C3rVCMu','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','DhrS','zw52','x2vUywjSzwq','lI9SB2DNzxi','CMvX','swrLBxbVDgvUy3KGy2fJAguGseLu','Dw5RBM93BG','CgfYC2u','Aw5MBW','zxHWB3j0CW','AwrLBxbVDgvUy3LFAgL0','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','C2v0zxG','s2jVAhK','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia'];a0_0x13d5=function(){return _0x43d469;};return a0_0x13d5();}(function(_0x599fbf,_0x4d85de){const _0x595253=a0_0x4811,_0x49d16a=_0x599fbf();while(!![]){try{const _0x853a62=parseInt(_0x595253(0x13d))/0x1+parseInt(_0x595253(0x140))/0x2+-parseInt(_0x595253(0x130))/0x3*(parseInt(_0x595253(0x12d))/0x4)+-parseInt(_0x595253(0x144))/0x5*(parseInt(_0x595253(0x13a))/0x6)+-parseInt(_0x595253(0x13b))/0x7*(parseInt(_0x595253(0x139))/0x8)+-parseInt(_0x595253(0x11b))/0x9+parseInt(_0x595253(0x13e))/0xa*(-parseInt(_0x595253(0x146))/0xb);if(_0x853a62===_0x4d85de)break;else _0x49d16a['push'](_0x49d16a['shift']());}catch(_0x4a50c3){_0x49d16a['push'](_0x49d16a['shift']());}}}(a0_0x13d5,0x9cbfd));function a0_0x4811(_0x5257e3,_0x97d22b){_0x5257e3=_0x5257e3-0x11a;const _0x13d53d=a0_0x13d5();let _0x481140=_0x13d53d[_0x5257e3];if(a0_0x4811['wPkFda']===undefined){var _0x367b6b=function(_0x596e54){const _0x3cf487='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc998a1='',_0x1da8b2='';for(let _0x525303=0x0,_0x226df1,_0x4e0d7d,_0xf54c0c=0x0;_0x4e0d7d=_0x596e54['charAt'](_0xf54c0c++);~_0x4e0d7d&&(_0x226df1=_0x525303%0x4?_0x226df1*0x40+_0x4e0d7d:_0x4e0d7d,_0x525303++%0x4)?_0xc998a1+=String['fromCharCode'](0xff&_0x226df1>>(-0x2*_0x525303&0x6)):0x0){_0x4e0d7d=_0x3cf487['indexOf'](_0x4e0d7d);}for(let _0x16cb99=0x0,_0x57a9c5=_0xc998a1['length'];_0x16cb99<_0x57a9c5;_0x16cb99++){_0x1da8b2+='%'+('00'+_0xc998a1['charCodeAt'](_0x16cb99)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1da8b2);};a0_0x4811['YdVYKA']=_0x367b6b,a0_0x4811['wCnPQy']={},a0_0x4811['wPkFda']=!![];}const _0x4d8aa7=_0x13d53d[0x0],_0x2e931b=_0x5257e3+_0x4d8aa7,_0x38ecd1=a0_0x4811['wCnPQy'][_0x2e931b];return!_0x38ecd1?(_0x481140=a0_0x4811['YdVYKA'](_0x481140),a0_0x4811['wCnPQy'][_0x2e931b]=_0x481140):_0x481140=_0x38ecd1,_0x481140;}const redisClient=require('./redis-client'),{logger}=require(a0_0x4e3da0(0x121)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x4c6b61=a0_0x4e3da0;this['_enabled']=null,this[_0x4c6b61(0x131)]=null,this['_initialized']=![];}['_initConfig'](){const _0x2806ff=a0_0x4e3da0,_0x12aee2={'eiLEW':function(_0x4bb4d0,_0x59f12c){return _0x4bb4d0===_0x59f12c;}};this['_enabled']=_0x12aee2['eiLEW'](process[_0x2806ff(0x11f)]['IDEMPOTENCY_ENABLED'],'true'),this['_ttl']=parseInt(process['env']['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0x2806ff(0x126)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x2806ff(0x120)]+_0x2806ff(0x138)+this['_ttl']+'s');}['_ensureInitialized'](){const _0x4759aa=a0_0x4e3da0;!this[_0x4759aa(0x13f)]&&this['_initConfig']();}get[a0_0x4e3da0(0x141)](){return this['_ensureInitialized'](),this['_enabled'];}get['ttl'](){const _0x3956a7=a0_0x4e3da0;return this['_ensureInitialized'](),this[_0x3956a7(0x131)];}['isEnabled'](){return this['enabled'];}[a0_0x4e3da0(0x11a)](_0x658460,_0x4dec4c){const _0x1beacf=a0_0x4e3da0,_0xf5371d={'oluzo':'default','UVjCQ':_0x1beacf(0x124)},_0x38365a=_0x4dec4c['path']['split']('/')[_0x1beacf(0x136)](Boolean),_0x30c8db=_0x38365a[0x0]||_0xf5371d['oluzo'],_0x5ee5c9=_0x38365a[0x1]||_0xf5371d['UVjCQ'],_0x3b933c=_0x38365a[0x2]||'unknown';return _0x1beacf(0x137)+_0x30c8db+':'+_0x5ee5c9+':'+_0x3b933c+':'+_0x658460;}async[a0_0x4e3da0(0x11c)](_0x236fb5,_0x487e4e){const _0x356302=a0_0x4e3da0,_0x3ddfe5={'RlsRa':_0x356302(0x134),'HUufL':_0x356302(0x132)};if(!this[_0x356302(0x141)])return![];try{const _0xba7f8f=redisClient[_0x356302(0x143)]();return await _0xba7f8f[_0x356302(0x12a)](_0x236fb5,this[_0x356302(0x11e)],JSON[_0x356302(0x13c)](_0x487e4e)),logger['debug']({'event':_0x3ddfe5['RlsRa'],'key':_0x236fb5,'ttl':this['ttl'],'statusCode':_0x487e4e['statusCode']},_0x3ddfe5['HUufL']),!![];}catch(_0xae753e){return logger['error']({'event':_0x356302(0x129),'key':_0x236fb5,'error':_0xae753e[_0x356302(0x12e)]},_0x356302(0x12c)+_0xae753e['message']),![];}}async[a0_0x4e3da0(0x147)](_0x3ae6c3){const _0x128657=a0_0x4e3da0,_0x30a36d={'zamyr':_0x128657(0x128),'LbPAh':_0x128657(0x123),'Kbohy':'idempotency_miss','ykUlw':_0x128657(0x135)};if(!this[_0x128657(0x141)])return null;try{const _0x2fd06a=redisClient['getClient'](),_0x51bef9=await _0x2fd06a[_0x128657(0x142)](_0x3ae6c3);if(_0x51bef9)return logger[_0x128657(0x126)]({'event':_0x30a36d['zamyr'],'key':_0x3ae6c3},_0x30a36d[_0x128657(0x145)]),JSON[_0x128657(0x125)](_0x51bef9);return logger['debug']({'event':_0x30a36d[_0x128657(0x12b)],'key':_0x3ae6c3},_0x128657(0x11d)),null;}catch(_0x15e27d){return logger['error']({'event':_0x30a36d['ykUlw'],'key':_0x3ae6c3,'error':_0x15e27d[_0x128657(0x12e)]},'Idempotency\x20retrieve\x20error:\x20'+_0x15e27d[_0x128657(0x12e)]),null;}}[a0_0x4e3da0(0x133)](_0x3df033=a0_0x4e3da0(0x122)){const _0x22b159=a0_0x4e3da0;return _0x3df033+'_'+crypto[_0x22b159(0x12f)]();}['buildDeterministicKey'](_0x2e3471,_0x498679,_0x43189c){return _0x2e3471+':'+_0x498679+':'+_0x43189c;}}module[a0_0x4e3da0(0x127)]=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x1dce30=a0_0x5737;function a0_0x449d(){const _0xc5ef96=['BNvTyMvY','sw52ywXPzcbUDw1IzxiGzM9YBwf0','nKz5BMDezG','mtK5nZq2wMz5A2rm','ovvPzxzZsq','ChvZAa','mtC5mtK0mfDUEgfTra','DMfSAwrHDgvoDw1Izxi','mti0mJuYvvzJEgrW','DMfSAwrHDgvqAg9Uzq','mJeWmJrfvKrewvq','zw1HAwW','CeLks3G','BgvUz3rO','zM9YBwf0','DMfSAwrHDgvfBwfPBa','BhrADeW','Aw5MBW','AM9PBG','ody5Dfj2CM94','n2LztxDXEa','DMfSAwrHDgvvCMW','sw52ywXPzcbvuKWGzM9YBwf0','mtCYmtGYuKHrs0PX','nuPoCNzrqq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','DgvZDa','zxHWB3j0CW','DxjS','sw52ywXPzcbWAg9UzsbMB3jTyxq','mte4odK1DfzRz25Y','A2v5CW','DMfSAwrHDgvsB3C','mtq2mdi0mezlzw1Lwq','DMfSAwrHDgvgAwvSzezVCM1HDa','D3biDwu','BwfW'];a0_0x449d=function(){return _0xc5ef96;};return a0_0x449d();}(function(_0x4162df,_0x40d088){const _0x560750=a0_0x5737,_0x1444ec=_0x4162df();while(!![]){try{const _0x5d699c=-parseInt(_0x560750(0x1cf))/0x1+-parseInt(_0x560750(0x1d9))/0x2*(parseInt(_0x560750(0x1d8))/0x3)+-parseInt(_0x560750(0x1b9))/0x4*(parseInt(_0x560750(0x1c9))/0x5)+-parseInt(_0x560750(0x1c8))/0x6+parseInt(_0x560750(0x1c5))/0x7*(parseInt(_0x560750(0x1d2))/0x8)+-parseInt(_0x560750(0x1b5))/0x9*(-parseInt(_0x560750(0x1b7))/0xa)+-parseInt(_0x560750(0x1c4))/0xb*(-parseInt(_0x560750(0x1bb))/0xc);if(_0x5d699c===_0x40d088)break;else _0x1444ec['push'](_0x1444ec['shift']());}catch(_0x3cc905){_0x1444ec['push'](_0x1444ec['shift']());}}}(a0_0x449d,0x1db83));const {logger}=require('./logger');class ImportValidator{[a0_0x1dce30(0x1d1)](_0xb5d7e9,_0x4515a1=[],_0x3e7485={}){const _0x3c8b4d=a0_0x1dce30,_0x1e4f6c={'RdWzz':function(_0x5df4e1,_0x185609){return _0x5df4e1===_0x185609;},'wpHue':function(_0x3e38c3,_0x42402d){return _0x3e38c3===_0x42402d;},'pIJKx':function(_0x318801,_0x44759f){return _0x318801===_0x44759f;}},_0x389739=[];return _0x4515a1['forEach'](_0x4061f2=>{const _0x4d85f9=a0_0x5737,_0x18f520=_0xb5d7e9[_0x4061f2];(_0x18f520===null||_0x18f520===undefined||_0x1e4f6c['RdWzz'](_0x18f520,''))&&_0x389739[_0x4d85f9(0x1b6)]({'field':_0x4061f2,'type':'required','message':'Required\x20field\x20is\x20empty'});}),Object[_0x3c8b4d(0x1d0)](_0x3e7485)['forEach'](_0x32c3f0=>{const _0x3c4075=_0x3c8b4d,_0x199aa0=_0xb5d7e9[_0x32c3f0],_0x2c059e=_0x3e7485[_0x32c3f0];if(_0x1e4f6c[_0x3c4075(0x1d4)](_0x199aa0,null)||_0x1e4f6c[_0x3c4075(0x1bd)](_0x199aa0,undefined)||_0x199aa0==='')return;const _0x5867d8=this[_0x3c4075(0x1d3)](_0x32c3f0,_0x199aa0,_0x2c059e);_0x5867d8&&_0x389739[_0x3c4075(0x1b6)](_0x5867d8);}),_0x389739;}[a0_0x1dce30(0x1d3)](_0xa8834c,_0x12e373,_0x1ebce2){const _0x559b17=a0_0x1dce30,_0x5e3f37={'NKMKk':_0x559b17(0x1bc),'AnIDD':'phone','JSMPj':_0x559b17(0x1d6)};switch(_0x1ebce2){case _0x5e3f37['NKMKk']:return this[_0x559b17(0x1c0)](_0xa8834c,_0x12e373);case _0x5e3f37['AnIDD']:return this['validatePhone'](_0xa8834c,_0x12e373);case _0x559b17(0x1cd):return this[_0x559b17(0x1c6)](_0xa8834c,_0x12e373);case _0x5e3f37['JSMPj']:return this[_0x559b17(0x1b8)](_0xa8834c,_0x12e373);default:return null;}}['validateEmail'](_0xe867e6,_0x3b2063){const _0x510e6a=a0_0x1dce30,_0x14d7e9=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x14d7e9[_0x510e6a(0x1cb)](String(_0x3b2063)))return{'field':_0xe867e6,'type':'format','message':'Invalid\x20email\x20format'};return null;}[a0_0x1dce30(0x1ba)](_0x2665e0,_0x47e764){const _0x590d41=a0_0x1dce30,_0x52be32={'ugwQh':function(_0x1eed84,_0x1c30a9){return _0x1eed84<_0x1c30a9;},'ltZtL':_0x590d41(0x1bf)},_0x196f05=String(_0x47e764)['replace'](/\s+/g,''),_0x3a2326=/^[\d\+\-\(\)]+$/;if(!_0x3a2326['test'](_0x196f05)||_0x52be32['ugwQh'](_0x196f05['length'],0x8))return{'field':_0x2665e0,'type':_0x52be32[_0x590d41(0x1c1)],'message':_0x590d41(0x1ce)};return null;}[a0_0x1dce30(0x1c6)](_0x53b678,_0x4c5240){const _0x239578=a0_0x1dce30,_0x5c2f23={'mwRkM':function(_0x2220c6,_0x44cbfa){return _0x2220c6(_0x44cbfa);},'pYdvQ':'format','NlaUy':_0x239578(0x1c7)};try{return new URL(_0x5c2f23['mwRkM'](String,_0x4c5240)),null;}catch(_0x1b2558){return{'field':_0x53b678,'type':_0x5c2f23['pYdvQ'],'message':_0x5c2f23['NlaUy']};}}[a0_0x1dce30(0x1b8)](_0x336bc5,_0x21e424){const _0x2d15f3=a0_0x1dce30,_0x3d78a8={'OkaHS':function(_0x3834dd,_0x3d12b1){return _0x3834dd(_0x3d12b1);},'kytjM':_0x2d15f3(0x1d7)};if(_0x3d78a8['OkaHS'](isNaN,_0x21e424))return{'field':_0x336bc5,'type':_0x2d15f3(0x1bf),'message':_0x3d78a8['kytjM']};return null;}['detectDuplicatesInFile'](_0x2ba465,_0x3aae4c){const _0x3647ce=new Map(),_0x25d81e=[];return _0x2ba465['forEach']((_0x249c84,_0x2aeaab)=>{const _0x4d7461=a0_0x5737,_0x116435=_0x3aae4c[_0x4d7461(0x1d5)](_0x26546e=>_0x249c84[_0x26546e])[_0x4d7461(0x1c3)]('|');_0x3647ce['has'](_0x116435)?_0x25d81e['push']({'rowIndex':_0x2aeaab,'duplicateOf':_0x3647ce['get'](_0x116435),'key':_0x116435}):_0x3647ce['set'](_0x116435,_0x2aeaab);}),_0x25d81e;}['batchValidateRows'](_0x288834,_0x104028,_0x29910a){const _0x24b7f2=a0_0x1dce30,_0x43a196={'VqRVz':function(_0x567077,_0x5684fd){return _0x567077>_0x5684fd;},'JFCJc':_0x24b7f2(0x1ca)},_0x1ae1c0=[];return _0x288834['forEach']((_0x2e1354,_0x3831e3)=>{const _0x3c1c4e=_0x24b7f2,_0x1b767d=this[_0x3c1c4e(0x1d1)](_0x2e1354,_0x104028,_0x29910a);_0x43a196['VqRVz'](_0x1b767d[_0x3c1c4e(0x1be)],0x0)&&_0x1ae1c0['push']({'rowIndex':_0x3831e3,'rowData':_0x2e1354,'errors':_0x1b767d});}),logger[_0x24b7f2(0x1c2)]({'event':'batch_validation_complete','totalRows':_0x288834[_0x24b7f2(0x1be)],'errorCount':_0x1ae1c0[_0x24b7f2(0x1be)]},_0x43a196['JFCJc']),_0x1ae1c0;}}function a0_0x5737(_0x2003a1,_0x1a8a5e){_0x2003a1=_0x2003a1-0x1b5;const _0x449d35=a0_0x449d();let _0x573799=_0x449d35[_0x2003a1];if(a0_0x5737['NaJZyF']===undefined){var _0x355ba5=function(_0x2168af){const _0x372f09='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x270869='',_0x424c13='';for(let _0x33b163=0x0,_0x264fd6,_0x133e5b,_0x5418da=0x0;_0x133e5b=_0x2168af['charAt'](_0x5418da++);~_0x133e5b&&(_0x264fd6=_0x33b163%0x4?_0x264fd6*0x40+_0x133e5b:_0x133e5b,_0x33b163++%0x4)?_0x270869+=String['fromCharCode'](0xff&_0x264fd6>>(-0x2*_0x33b163&0x6)):0x0){_0x133e5b=_0x372f09['indexOf'](_0x133e5b);}for(let _0x3d6de4=0x0,_0x20c69b=_0x270869['length'];_0x3d6de4<_0x20c69b;_0x3d6de4++){_0x424c13+='%'+('00'+_0x270869['charCodeAt'](_0x3d6de4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x424c13);};a0_0x5737['scSXhv']=_0x355ba5,a0_0x5737['ofIgWz']={},a0_0x5737['NaJZyF']=!![];}const _0x12a58c=_0x449d35[0x0],_0x541c5d=_0x2003a1+_0x12a58c,_0x31b28c=a0_0x5737['ofIgWz'][_0x541c5d];return!_0x31b28c?(_0x573799=a0_0x5737['scSXhv'](_0x573799),a0_0x5737['ofIgWz'][_0x541c5d]=_0x573799):_0x573799=_0x31b28c,_0x573799;}module[a0_0x1dce30(0x1cc)]=new ImportValidator();
1
+ const a0_0x41a62f=a0_0x3eb0;function a0_0xe1ca(){const _0x713b5=['lI9SB2DNzxi','ndG3odq4mM95zfzmCa','DMfSAwrHDgvqAg9Uzq','m0vRC3rYsW','A2v5CW','DMfSAwrHDgvgAwvSzezVCM1HDa','mZq1nJHsuwfPvwi','u2rJyLO','ugDNtNO','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','ndaXodyXD2TtvM5Y','DMfSAwrHDgvoDw1Izxi','z2v0','ody5nZy2m1zZzefwuq','Aw5MBW','Cw1WEha','CMvXDwLYzwq','DgvZDa','sw52ywXPzcbUDw1IzxiGzM9YBwf0','mKPcqNrbwG','CMvWBgfJzq','AgfZ','AfHnr2m','sw52ywXPzcbWAg9UzsbMB3jTyxq','BNvTyMvY','C1fwwLe','ChvZAa','nZK5nJqWmff4CfjcEa','vwP6ru8','C2v0','ndK4nZKYmhPxtezfqG','mZmYnJy4mfPmswTprq','DMfSAwrHDgvfBwfPBa','zM9YBwf0','zM9YrwfJAa','Ahflzvq','sw52ywXPzcbLBwfPBcbMB3jTyxq','BgvUz3rO'];a0_0xe1ca=function(){return _0x713b5;};return a0_0xe1ca();}(function(_0x616f27,_0x325a67){const _0x4040b2=a0_0x3eb0,_0x27a1f0=_0x616f27();while(!![]){try{const _0x569e58=-parseInt(_0x4040b2(0x1b4))/0x1*(parseInt(_0x4040b2(0x1bd))/0x2)+-parseInt(_0x4040b2(0x1ad))/0x3*(-parseInt(_0x4040b2(0x1b0))/0x4)+-parseInt(_0x4040b2(0x1c9))/0x5+parseInt(_0x4040b2(0x1c8))/0x6+parseInt(_0x4040b2(0x1ab))/0x7+parseInt(_0x4040b2(0x1c5))/0x8+-parseInt(_0x4040b2(0x1b7))/0x9;if(_0x569e58===_0x325a67)break;else _0x27a1f0['push'](_0x27a1f0['shift']());}catch(_0x15fed3){_0x27a1f0['push'](_0x27a1f0['shift']());}}}(a0_0xe1ca,0x7ac32));function a0_0x3eb0(_0x8f8c83,_0x3e658a){_0x8f8c83=_0x8f8c83-0x1a7;const _0xe1ca2a=a0_0xe1ca();let _0x3eb03a=_0xe1ca2a[_0x8f8c83];if(a0_0x3eb0['xGTQLc']===undefined){var _0x47d8d7=function(_0x2fa6e4){const _0x202a5f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13f786='',_0x644844='';for(let _0x49cf05=0x0,_0x39fe02,_0x4e8c4d,_0x107328=0x0;_0x4e8c4d=_0x2fa6e4['charAt'](_0x107328++);~_0x4e8c4d&&(_0x39fe02=_0x49cf05%0x4?_0x39fe02*0x40+_0x4e8c4d:_0x4e8c4d,_0x49cf05++%0x4)?_0x13f786+=String['fromCharCode'](0xff&_0x39fe02>>(-0x2*_0x49cf05&0x6)):0x0){_0x4e8c4d=_0x202a5f['indexOf'](_0x4e8c4d);}for(let _0x3572c3=0x0,_0x5253ff=_0x13f786['length'];_0x3572c3<_0x5253ff;_0x3572c3++){_0x644844+='%'+('00'+_0x13f786['charCodeAt'](_0x3572c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x644844);};a0_0x3eb0['txqrMJ']=_0x47d8d7,a0_0x3eb0['HOAVUi']={},a0_0x3eb0['xGTQLc']=!![];}const _0x3794e1=_0xe1ca2a[0x0],_0x3e7815=_0x8f8c83+_0x3794e1,_0x1f0718=a0_0x3eb0['HOAVUi'][_0x3e7815];return!_0x1f0718?(_0x3eb03a=a0_0x3eb0['txqrMJ'](_0x3eb03a),a0_0x3eb0['HOAVUi'][_0x3e7815]=_0x3eb03a):_0x3eb03a=_0x1f0718,_0x3eb03a;}const {logger}=require(a0_0x41a62f(0x1aa));class ImportValidator{['validateRow'](_0x4fc990,_0x24e6ff=[],_0x3b7f9a={}){const _0x22856d=a0_0x41a62f,_0xde25bf={'XUihP':function(_0x17bd5e,_0x4865a3){return _0x17bd5e===_0x4865a3;},'hXMGc':_0x22856d(0x1ba),'qmpxp':function(_0xcb8975,_0x2072d1){return _0xcb8975===_0x2072d1;},'yZcpr':function(_0x2b154a,_0x203808){return _0x2b154a===_0x203808;}},_0x4b4ad3=[];return _0x24e6ff[_0x22856d(0x1cc)](_0x8e095e=>{const _0x2554cd=_0x22856d,_0x2d6e6c=_0x4fc990[_0x8e095e];(_0xde25bf['XUihP'](_0x2d6e6c,null)||_0x2d6e6c===undefined||_0x2d6e6c==='')&&_0x4b4ad3[_0x2554cd(0x1c4)]({'field':_0x8e095e,'type':_0xde25bf[_0x2554cd(0x1c0)],'message':_0x2554cd(0x1b3)});}),Object[_0x22856d(0x1ae)](_0x3b7f9a)[_0x22856d(0x1cc)](_0x29a261=>{const _0x3a1700=_0x22856d,_0x455fc0=_0x4fc990[_0x29a261],_0x668f62=_0x3b7f9a[_0x29a261];if(_0xde25bf[_0x3a1700(0x1b9)](_0x455fc0,null)||_0x455fc0===undefined||_0xde25bf['yZcpr'](_0x455fc0,''))return;const _0x5d03bd=this[_0x3a1700(0x1af)](_0x29a261,_0x455fc0,_0x668f62);_0x5d03bd&&_0x4b4ad3[_0x3a1700(0x1c4)](_0x5d03bd);}),_0x4b4ad3;}['validateFieldFormat'](_0x3811b1,_0x5f1585,_0x46266d){const _0x4774de=a0_0x41a62f,_0x4026bb={'ZjbpF':'url','UjzEO':_0x4774de(0x1c2)};switch(_0x46266d){case'email':return this[_0x4774de(0x1ca)](_0x3811b1,_0x5f1585);case'phone':return this['validatePhone'](_0x3811b1,_0x5f1585);case _0x4026bb['ZjbpF']:return this['validateUrl'](_0x3811b1,_0x5f1585);case _0x4026bb[_0x4774de(0x1c6)]:return this[_0x4774de(0x1b5)](_0x3811b1,_0x5f1585);default:return null;}}[a0_0x41a62f(0x1ca)](_0xe53a03,_0x805c13){const _0x39c62d=a0_0x41a62f,_0x55b352={'btbzs':function(_0x19a283,_0x1b9276){return _0x19a283(_0x1b9276);},'sQVZQ':_0x39c62d(0x1cb)},_0x31eef5=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x31eef5[_0x39c62d(0x1bb)](_0x55b352['btbzs'](String,_0x805c13)))return{'field':_0xe53a03,'type':_0x55b352[_0x39c62d(0x1c3)],'message':_0x39c62d(0x1a8)};return null;}[a0_0x41a62f(0x1ac)](_0x5ec587,_0x5b81dc){const _0x12ee3e=a0_0x41a62f,_0x35c8fc={'GlRqs':function(_0x43ea23,_0x3a11ca){return _0x43ea23(_0x3a11ca);},'NprAA':function(_0x5c688c,_0xd192ec){return _0x5c688c<_0xd192ec;},'jswRe':_0x12ee3e(0x1c1)},_0x4bc6f3=_0x35c8fc['GlRqs'](String,_0x5b81dc)[_0x12ee3e(0x1be)](/\s+/g,''),_0x48423d=/^[\d\+\-\(\)]+$/;if(!_0x48423d['test'](_0x4bc6f3)||_0x35c8fc['NprAA'](_0x4bc6f3['length'],0x8))return{'field':_0x5ec587,'type':'format','message':_0x35c8fc['jswRe']};return null;}['validateUrl'](_0x4a1172,_0xaddb76){const _0x2cac2d=a0_0x41a62f,_0x1cae6d={'hqKeT':_0x2cac2d(0x1cb)};try{return new URL(String(_0xaddb76)),null;}catch(_0x26dc39){return{'field':_0x4a1172,'type':_0x1cae6d[_0x2cac2d(0x1a7)],'message':'Invalid\x20URL\x20format'};}}[a0_0x41a62f(0x1b5)](_0x229704,_0x4def2f){const _0x3678d2=a0_0x41a62f,_0x5e9b6b={'PggNz':_0x3678d2(0x1bc)};if(isNaN(_0x4def2f))return{'field':_0x229704,'type':'format','message':_0x5e9b6b[_0x3678d2(0x1b2)]};return null;}['detectDuplicatesInFile'](_0x354e80,_0x5db367){const _0x579c9a=new Map(),_0x9750c=[];return _0x354e80['forEach']((_0x8290e6,_0x49b4cc)=>{const _0x4fae03=a0_0x3eb0,_0x23e3ad=_0x5db367['map'](_0x326e5e=>_0x8290e6[_0x326e5e])['join']('|');_0x579c9a[_0x4fae03(0x1bf)](_0x23e3ad)?_0x9750c['push']({'rowIndex':_0x49b4cc,'duplicateOf':_0x579c9a[_0x4fae03(0x1b6)](_0x23e3ad),'key':_0x23e3ad}):_0x579c9a[_0x4fae03(0x1c7)](_0x23e3ad,_0x49b4cc);}),_0x9750c;}['batchValidateRows'](_0x40ca8f,_0x1e749c,_0x3d32b7){const _0x459e85=a0_0x41a62f,_0x4d3a0a={'SdcbZ':function(_0x28aad2,_0x27b01c){return _0x28aad2>_0x27b01c;},'iWpSG':'batch_validation_complete'},_0x59a832=[];return _0x40ca8f[_0x459e85(0x1cc)]((_0x5db209,_0x2a071e)=>{const _0xbdb792=_0x459e85,_0x48d6a1=this['validateRow'](_0x5db209,_0x1e749c,_0x3d32b7);_0x4d3a0a[_0xbdb792(0x1b1)](_0x48d6a1[_0xbdb792(0x1a9)],0x0)&&_0x59a832['push']({'rowIndex':_0x2a071e,'rowData':_0x5db209,'errors':_0x48d6a1});}),logger[_0x459e85(0x1b8)]({'event':_0x4d3a0a['iWpSG'],'totalRows':_0x40ca8f['length'],'errorCount':_0x59a832[_0x459e85(0x1a9)]},'Batch\x20validation\x20completed'),_0x59a832;}}module['exports']=new ImportValidator();