@restforgejs/platform 4.3.4 → 4.3.5

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 (171) 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/generators/lib/payload/endpoint-schema-validator.js +181 -181
  5. package/generators/lib/payload/payload-runner.js +1218 -1218
  6. package/generators/lib/payload/schema-diff.js +460 -460
  7. package/generators/lib/templates/dashboard-catalog.js +1 -1
  8. package/generators/lib/templates/db-connection-env.js +1 -1
  9. package/generators/lib/templates/dbschema-catalog.js +1 -1
  10. package/generators/lib/templates/field-validation-catalog.js +1 -1
  11. package/generators/lib/templates/mysql-template.js +1 -1
  12. package/generators/lib/templates/oracle-template.js +1 -1
  13. package/generators/lib/templates/postgres-template.js +1 -1
  14. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  15. package/generators/lib/templates/sqlite-template.js +1 -1
  16. package/integrity-manifest.json +18 -18
  17. package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +1 -1
  18. package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +1 -1
  19. package/package.json +1 -1
  20. package/scripts/verify-integrity.js +1 -1
  21. package/server.js +1 -1
  22. package/src/components/handlers/adjust_handler.js +1 -1
  23. package/src/components/handlers/audit_handler.js +1 -1
  24. package/src/components/handlers/delete_handler.js +1 -1
  25. package/src/components/handlers/export_handler.js +1 -1
  26. package/src/components/handlers/import_handler.js +1 -1
  27. package/src/components/handlers/insert_handler.js +1 -1
  28. package/src/components/handlers/update_handler.js +1 -1
  29. package/src/components/handlers/upload_handler.js +1 -1
  30. package/src/components/handlers/workflow_handler.js +1 -1
  31. package/src/components/integrations/webhook.js +1 -1
  32. package/src/consumers/baseConsumer.js +1 -1
  33. package/src/consumers/declarativeMapper.js +1 -1
  34. package/src/consumers/handlers/apiHandler.js +1 -1
  35. package/src/consumers/handlers/consoleHandler.js +1 -1
  36. package/src/consumers/handlers/databaseHandler.js +1 -1
  37. package/src/consumers/handlers/index.js +1 -1
  38. package/src/consumers/handlers/kafkaHandler.js +1 -1
  39. package/src/consumers/index.js +1 -1
  40. package/src/consumers/messageTransformer.js +1 -1
  41. package/src/consumers/validator.js +1 -1
  42. package/src/core/db/dialect/base-dialect.js +1 -1
  43. package/src/core/db/dialect/index.js +1 -1
  44. package/src/core/db/dialect/mysql-dialect.js +1 -1
  45. package/src/core/db/dialect/oracle-dialect.js +1 -1
  46. package/src/core/db/dialect/postgres-dialect.js +1 -1
  47. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  48. package/src/core/db/flatten-helper.js +1 -1
  49. package/src/core/db/query-builder-error.js +1 -1
  50. package/src/core/db/query-builder.js +1 -1
  51. package/src/core/db/relation-helper.js +1 -1
  52. package/src/core/handlers/delete_handler.js +1 -1
  53. package/src/core/handlers/insert_handler.js +1 -1
  54. package/src/core/handlers/update_handler.js +1 -1
  55. package/src/core/models/base-model.js +1 -1
  56. package/src/core/utils/cache-manager.js +1 -1
  57. package/src/core/utils/component-engine.js +1 -1
  58. package/src/core/utils/context-builder.js +1 -1
  59. package/src/core/utils/datetime-formatter.js +1 -1
  60. package/src/core/utils/datetime-parser.js +1 -1
  61. package/src/core/utils/db.js +1 -1
  62. package/src/core/utils/logger.js +1 -1
  63. package/src/core/utils/payload-loader.js +1 -1
  64. package/src/core/utils/security-checks.js +1 -1
  65. package/src/middleware/body-options.js +1 -1
  66. package/src/middleware/cors.js +1 -1
  67. package/src/middleware/idempotency.js +1 -1
  68. package/src/middleware/rate-limiter.js +1 -1
  69. package/src/middleware/request-logger.js +1 -1
  70. package/src/middleware/security-headers.js +1 -1
  71. package/src/models/base-model-mysql.js +1 -1
  72. package/src/models/base-model-oracle.js +1 -1
  73. package/src/models/base-model-sqlite.js +1 -1
  74. package/src/models/base-model.js +1 -1
  75. package/src/pro/caching/redis-client.js +1 -1
  76. package/src/pro/caching/redis-helper.js +1 -1
  77. package/src/pro/consumers/baseConsumer.js +1 -1
  78. package/src/pro/consumers/declarativeMapper.js +1 -1
  79. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  80. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  81. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  82. package/src/pro/consumers/handlers/index.js +1 -1
  83. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  84. package/src/pro/consumers/index.js +1 -1
  85. package/src/pro/consumers/messageTransformer.js +1 -1
  86. package/src/pro/consumers/validator.js +1 -1
  87. package/src/pro/database/base-model-mysql.js +1 -1
  88. package/src/pro/database/base-model-oracle.js +1 -1
  89. package/src/pro/database/base-model-sqlite.js +1 -1
  90. package/src/pro/database/db-mysql.js +1 -1
  91. package/src/pro/database/db-oracle.js +1 -1
  92. package/src/pro/database/db-sqlite.js +1 -1
  93. package/src/pro/excel/excel-generator.js +1 -1
  94. package/src/pro/excel/excel-parser.js +1 -1
  95. package/src/pro/excel/export-service.js +1 -1
  96. package/src/pro/excel/export_handler.js +1 -1
  97. package/src/pro/excel/import-service.js +1 -1
  98. package/src/pro/excel/import-validator.js +1 -1
  99. package/src/pro/excel/import_handler.js +1 -1
  100. package/src/pro/excel/upsert-builder.js +1 -1
  101. package/src/pro/idgen/idgen-routes.js +1 -1
  102. package/src/pro/integrations/lookup-resolver.js +1 -1
  103. package/src/pro/integrations/upload-handler-v2.js +1 -1
  104. package/src/pro/integrations/upload-handler.js +1 -1
  105. package/src/pro/integrations/webhook.js +1 -1
  106. package/src/pro/locking/lock-routes.js +1 -1
  107. package/src/pro/locking/resource-lock-manager.js +1 -1
  108. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  109. package/src/pro/messaging/kafkaService.js +1 -1
  110. package/src/pro/messaging/messagehubService.js +1 -1
  111. package/src/pro/messaging/rabbitmqService.js +1 -1
  112. package/src/pro/scheduler/job-manager.js +1 -1
  113. package/src/pro/scheduler/job-routes.js +1 -1
  114. package/src/pro/scheduler/job-validator.js +1 -1
  115. package/src/pro/storage/base-storage-provider.js +1 -1
  116. package/src/pro/storage/file-metadata-helper.js +1 -1
  117. package/src/pro/storage/index.js +1 -1
  118. package/src/pro/storage/local-storage-provider.js +1 -1
  119. package/src/pro/storage/s3-storage-provider.js +1 -1
  120. package/src/pro/storage/upload-cleanup-job.js +1 -1
  121. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  122. package/src/pro/storage/upload-pending-tracker.js +1 -1
  123. package/src/pro/websocket/broadcast-helper.js +1 -1
  124. package/src/pro/websocket/index.js +1 -1
  125. package/src/pro/websocket/livesync-server.js +1 -1
  126. package/src/pro/websocket/ws-broadcaster.js +1 -1
  127. package/src/services/export-service.js +1 -1
  128. package/src/services/import-service.js +1 -1
  129. package/src/services/kafkaConsumerService.js +1 -1
  130. package/src/services/kafkaService.js +1 -1
  131. package/src/services/messagehubService.js +1 -1
  132. package/src/services/rabbitmqService.js +1 -1
  133. package/src/utils/cache-invalidation-registry.js +1 -1
  134. package/src/utils/cache-manager.js +1 -1
  135. package/src/utils/component-engine.js +1 -1
  136. package/src/utils/config-extractor.js +1 -1
  137. package/src/utils/consumerLogger.js +1 -1
  138. package/src/utils/context-builder.js +1 -1
  139. package/src/utils/dashboard-helpers.js +1 -1
  140. package/src/utils/dateHelper.js +1 -1
  141. package/src/utils/datetime-formatter.js +1 -1
  142. package/src/utils/datetime-parser.js +1 -1
  143. package/src/utils/db-bootstrap.js +1 -1
  144. package/src/utils/db-mysql.js +1 -1
  145. package/src/utils/db-oracle.js +1 -1
  146. package/src/utils/db-sqlite.js +1 -1
  147. package/src/utils/db.js +1 -1
  148. package/src/utils/demo-generator.js +1 -1
  149. package/src/utils/excel-generator.js +1 -1
  150. package/src/utils/excel-parser.js +1 -1
  151. package/src/utils/file-watcher.js +1 -1
  152. package/src/utils/id-generator.js +1 -1
  153. package/src/utils/idempotency-manager.js +1 -1
  154. package/src/utils/import-validator.js +1 -1
  155. package/src/utils/license-client.js +1 -1
  156. package/src/utils/lock-manager.js +1 -1
  157. package/src/utils/logger.js +1 -1
  158. package/src/utils/lookup-resolver.js +1 -1
  159. package/src/utils/payload-loader.js +1 -1
  160. package/src/utils/processor-response.js +1 -1
  161. package/src/utils/rabbitmq.js +1 -1
  162. package/src/utils/redis-client.js +1 -1
  163. package/src/utils/redis-helper.js +1 -1
  164. package/src/utils/request-scope.js +1 -1
  165. package/src/utils/security-checks.js +1 -1
  166. package/src/utils/service-resolver.js +1 -1
  167. package/src/utils/shutdown-coordinator.js +1 -1
  168. package/src/utils/trusted-keys.js +1 -1
  169. package/src/utils/upload-handler.js +1 -1
  170. package/src/utils/upsert-builder.js +1 -1
  171. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x1ba305=a0_0x46f9;function a0_0x46f9(_0x26c877,_0x495955){_0x26c877=_0x26c877-0xea;const _0x461693=a0_0x4616();let _0x46f90d=_0x461693[_0x26c877];if(a0_0x46f9['iSZMqU']===undefined){var _0x589b06=function(_0x49475c){const _0x23d104='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35d525='',_0x4839c1='';for(let _0x452a3e=0x0,_0x3b29f8,_0x95d937,_0x5ba7d4=0x0;_0x95d937=_0x49475c['charAt'](_0x5ba7d4++);~_0x95d937&&(_0x3b29f8=_0x452a3e%0x4?_0x3b29f8*0x40+_0x95d937:_0x95d937,_0x452a3e++%0x4)?_0x35d525+=String['fromCharCode'](0xff&_0x3b29f8>>(-0x2*_0x452a3e&0x6)):0x0){_0x95d937=_0x23d104['indexOf'](_0x95d937);}for(let _0x4f61fb=0x0,_0x15350e=_0x35d525['length'];_0x4f61fb<_0x15350e;_0x4f61fb++){_0x4839c1+='%'+('00'+_0x35d525['charCodeAt'](_0x4f61fb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4839c1);};a0_0x46f9['fQWLTh']=_0x589b06,a0_0x46f9['yQBbcq']={},a0_0x46f9['iSZMqU']=!![];}const _0x3a8ea9=_0x461693[0x0],_0x28c33a=_0x26c877+_0x3a8ea9,_0x3e91b2=a0_0x46f9['yQBbcq'][_0x28c33a];return!_0x3e91b2?(_0x46f90d=a0_0x46f9['fQWLTh'](_0x46f90d),a0_0x46f9['yQBbcq'][_0x28c33a]=_0x46f90d):_0x46f90d=_0x3e91b2,_0x46f90d;}(function(_0x2b397b,_0x317e26){const _0x363d5a=a0_0x46f9,_0x303be3=_0x2b397b();while(!![]){try{const _0x1e1518=-parseInt(_0x363d5a(0x107))/0x1+-parseInt(_0x363d5a(0xeb))/0x2*(parseInt(_0x363d5a(0xef))/0x3)+parseInt(_0x363d5a(0xf1))/0x4+parseInt(_0x363d5a(0xf9))/0x5+parseInt(_0x363d5a(0xf5))/0x6+-parseInt(_0x363d5a(0xea))/0x7*(parseInt(_0x363d5a(0x109))/0x8)+-parseInt(_0x363d5a(0xfc))/0x9*(-parseInt(_0x363d5a(0x105))/0xa);if(_0x1e1518===_0x317e26)break;else _0x303be3['push'](_0x303be3['shift']());}catch(_0x3b3339){_0x303be3['push'](_0x303be3['shift']());}}}(a0_0x4616,0x753cc));function a0_0x4616(){const _0x318bbf=['x2rLyM91BMnL','mtq2mdG5mNH1uNzXrW','zgvIB3vUy2vnCW','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','zxHPC3rZu3LUyW','mJe3otm5mfrjqMrzBq','y2XVC2u','D2f0y2HLCNm','ou1jAujpzq','CMvSyxrPDMu','C3rHCNq','icbBv0fuq0HDifDHCM5PBMC6ifDHDgnOzxiGzxjYB3iGB24G','zxH0BMfTzq','B25dAgfUz2u','zgvIB3vUy2vuAw1LCG','Dg9mB3DLCKnHC2u','zgLYzwn0B3jPzxm','ndy2mJuYmgHSD3jpta','BwvZC2fNzq','ndGWnZe3y3PzCNHv','zxH0zw5ZAw9UCW','mtyWmduYmgPqwKnWqW','n01jChbrza','ntu2mJrkDgHRB3y','C3rVCa','icbBv0fuq0HDifDHDgnOAw5NoIa','Bg9N','ownis0Deta','Cgf0Aa','mZK1mJqWB3fWCuni','y3DK','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa'];a0_0x4616=function(){return _0x318bbf;};return a0_0x4616();}const fs=require('fs'),path=require(a0_0x1ba305(0xf0));class FileWatcher{constructor(_0xb8a743={}){const _0x5e1b1c=a0_0x1ba305,_0x15404b={'mrTrX':'.js','GWPdL':'.json'},_0x41ff93='4|2|5|0|1|3'['split']('|');let _0x482798=0x0;while(!![]){switch(_0x41ff93[_0x482798++]){case'0':this[_0x5e1b1c(0x101)]=_0xb8a743[_0x5e1b1c(0x101)]||(()=>{});continue;case'1':this[_0x5e1b1c(0xfb)]=[];continue;case'2':this['extensions']=_0xb8a743[_0x5e1b1c(0x108)]||[_0x15404b['mrTrX'],_0x15404b['GWPdL']];continue;case'3':this[_0x5e1b1c(0x102)]=null;continue;case'4':this[_0x5e1b1c(0x104)]=_0xb8a743[_0x5e1b1c(0x104)]||[];continue;case'5':this[_0x5e1b1c(0xf6)]=_0xb8a743[_0x5e1b1c(0xf6)]||0x1f4;continue;}break;}}[a0_0x1ba305(0xfe)](){const _0x4a7f23=a0_0x1ba305;for(const _0x3800b6 of this['directories']){if(!fs[_0x4a7f23(0xf8)](_0x3800b6)){console['log'](_0x4a7f23(0xf7)+(path['relative'](process['cwd'](),_0x3800b6)||_0x3800b6));continue;}try{const _0x1f1f40=fs['watch'](_0x3800b6,{'recursive':!![]},(_0x32591a,_0x12dca0)=>{const _0x449d5c=_0x4a7f23;if(!_0x12dca0)return;const _0x282d87=path[_0x449d5c(0x100)](_0x12dca0)[_0x449d5c(0x103)]();if(!this[_0x449d5c(0x108)]['includes'](_0x282d87))return;this[_0x449d5c(0xf4)](_0x12dca0);});_0x1f1f40['on']('error',_0x1015cb=>{const _0x168f50=_0x4a7f23;console[_0x168f50(0xee)](_0x168f50(0xff)+path['relative'](process['cwd'](),_0x3800b6)+':\x20'+_0x1015cb[_0x168f50(0x106)]);}),this[_0x4a7f23(0xfb)]['push'](_0x1f1f40);const _0x22d14f=path['relative'](process[_0x4a7f23(0xf2)](),_0x3800b6)||_0x3800b6;console[_0x4a7f23(0xee)](_0x4a7f23(0xed)+_0x22d14f+'/\x20(recursive)');}catch(_0x10a929){console[_0x4a7f23(0xee)](_0x4a7f23(0xf3)+path[_0x4a7f23(0xfd)](process[_0x4a7f23(0xf2)](),_0x3800b6)+':\x20'+_0x10a929[_0x4a7f23(0x106)]);}}}[a0_0x1ba305(0xec)](){const _0x41cc32=a0_0x1ba305;for(const _0xe1612d of this[_0x41cc32(0xfb)]){try{_0xe1612d[_0x41cc32(0xfa)]();}catch(_0x7811c0){}}this['watchers']=[],this['debounceTimer']&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}['_debounce'](_0x1a8edd){const _0x2d41a8=a0_0x1ba305;this[_0x2d41a8(0x102)]&&clearTimeout(this['debounceTimer']),this['debounceTimer']=setTimeout(()=>{const _0x39de5a=_0x2d41a8;this['debounceTimer']=null,this[_0x39de5a(0x101)](_0x1a8edd);},this['debounceMs']);}}module['exports']=FileWatcher;
1
+ 'use strict';const a0_0x177f8e=a0_0x22d9;(function(_0xfe6ee0,_0x5d5f01){const _0x13df39=a0_0x22d9,_0x319b76=_0xfe6ee0();while(!![]){try{const _0x32b3da=-parseInt(_0x13df39(0x136))/0x1+parseInt(_0x13df39(0x150))/0x2+-parseInt(_0x13df39(0x151))/0x3+parseInt(_0x13df39(0x144))/0x4*(-parseInt(_0x13df39(0x143))/0x5)+parseInt(_0x13df39(0x13d))/0x6+-parseInt(_0x13df39(0x148))/0x7+parseInt(_0x13df39(0x149))/0x8*(parseInt(_0x13df39(0x145))/0x9);if(_0x32b3da===_0x5d5f01)break;else _0x319b76['push'](_0x319b76['shift']());}catch(_0x54bb5a){_0x319b76['push'](_0x319b76['shift']());}}}(a0_0x53b4,0xd8e4a));const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x567859={}){const _0x504620=a0_0x22d9,_0x1f2151={'SAaCJ':_0x504620(0x147)};this[_0x504620(0x13a)]=_0x567859[_0x504620(0x13a)]||[],this['extensions']=_0x567859[_0x504620(0x133)]||[_0x504620(0x134),_0x1f2151[_0x504620(0x14a)]],this['debounceMs']=_0x567859['debounceMs']||0x1f4,this[_0x504620(0x152)]=_0x567859['onChange']||(()=>{}),this[_0x504620(0x14e)]=[],this[_0x504620(0x14c)]=null;}[a0_0x177f8e(0x153)](){const _0xd59694=a0_0x177f8e,_0x13128b={'nDNfA':_0xd59694(0x13f)};for(const _0x1000d4 of this['directories']){if(!fs[_0xd59694(0x138)](_0x1000d4)){console[_0xd59694(0x14d)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path[_0xd59694(0x146)](process['cwd'](),_0x1000d4)||_0x1000d4));continue;}try{const _0x29aa58=fs[_0xd59694(0x131)](_0x1000d4,{'recursive':!![]},(_0x5a0415,_0xe36d02)=>{const _0x1c1b8d=_0xd59694;if(!_0xe36d02)return;const _0x50bea0=path[_0x1c1b8d(0x140)](_0xe36d02)[_0x1c1b8d(0x14f)]();if(!this[_0x1c1b8d(0x133)][_0x1c1b8d(0x139)](_0x50bea0))return;this[_0x1c1b8d(0x14b)](_0xe36d02);});_0x29aa58['on'](_0x13128b[_0xd59694(0x142)],_0x328056=>{const _0x3f0cf5=_0xd59694;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x3f0cf5(0x146)](process[_0x3f0cf5(0x135)](),_0x1000d4)+':\x20'+_0x328056[_0x3f0cf5(0x13b)]);}),this[_0xd59694(0x14e)][_0xd59694(0x132)](_0x29aa58);const _0x48202f=path['relative'](process[_0xd59694(0x135)](),_0x1000d4)||_0x1000d4;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x48202f+'/\x20(recursive)');}catch(_0x72e5ac){console[_0xd59694(0x14d)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path['relative'](process['cwd'](),_0x1000d4)+':\x20'+_0x72e5ac[_0xd59694(0x13b)]);}}}['stop'](){const _0x30c7ab=a0_0x177f8e;for(const _0x13b2b1 of this[_0x30c7ab(0x14e)]){try{_0x13b2b1[_0x30c7ab(0x141)]();}catch(_0x5c8c8b){}}this[_0x30c7ab(0x14e)]=[],this[_0x30c7ab(0x14c)]&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}['_debounce'](_0x4df85e){const _0x3f8b46=a0_0x177f8e,_0x212362={'aXiFq':function(_0xec2941,_0x4c2672){return _0xec2941(_0x4c2672);},'zCKRF':function(_0x3f258b,_0x13e0c5,_0x4cb5be){return _0x3f258b(_0x13e0c5,_0x4cb5be);}};this[_0x3f8b46(0x14c)]&&_0x212362['aXiFq'](clearTimeout,this['debounceTimer']),this[_0x3f8b46(0x14c)]=_0x212362[_0x3f8b46(0x13c)](setTimeout,()=>{const _0x51a339=_0x3f8b46;this[_0x51a339(0x14c)]=null,this['onChange'](_0x4df85e);},this[_0x3f8b46(0x13e)]);}}module[a0_0x177f8e(0x137)]=FileWatcher;function a0_0x22d9(_0x357f39,_0x1f2aad){_0x357f39=_0x357f39-0x131;const _0x53b442=a0_0x53b4();let _0x22d902=_0x53b442[_0x357f39];if(a0_0x22d9['HlWOow']===undefined){var _0x2dce0b=function(_0x330a91){const _0x4f8ddf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c548b='',_0x444b43='';for(let _0x56695a=0x0,_0x1694de,_0x4cd4c7,_0x5f08c7=0x0;_0x4cd4c7=_0x330a91['charAt'](_0x5f08c7++);~_0x4cd4c7&&(_0x1694de=_0x56695a%0x4?_0x1694de*0x40+_0x4cd4c7:_0x4cd4c7,_0x56695a++%0x4)?_0x5c548b+=String['fromCharCode'](0xff&_0x1694de>>(-0x2*_0x56695a&0x6)):0x0){_0x4cd4c7=_0x4f8ddf['indexOf'](_0x4cd4c7);}for(let _0x246a7f=0x0,_0x2f0f6f=_0x5c548b['length'];_0x246a7f<_0x2f0f6f;_0x246a7f++){_0x444b43+='%'+('00'+_0x5c548b['charCodeAt'](_0x246a7f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x444b43);};a0_0x22d9['pMhsET']=_0x2dce0b,a0_0x22d9['DcIHFe']={},a0_0x22d9['HlWOow']=!![];}const _0x2c1aa4=_0x53b442[0x0],_0x142321=_0x357f39+_0x2c1aa4,_0x3c1df=a0_0x22d9['DcIHFe'][_0x142321];return!_0x3c1df?(_0x22d902=a0_0x22d9['pMhsET'](_0x22d902),a0_0x22d9['DcIHFe'][_0x142321]=_0x22d902):_0x22d902=_0x3c1df,_0x22d902;}function a0_0x53b4(){const _0x2043c1=['C3rHCNq','D2f0y2G','ChvZAa','zxH0zw5ZAw9UCW','lMPZ','y3DK','mZG5mtu5BLjczgXU','zxHWB3j0CW','zxHPC3rZu3LUyW','Aw5JBhvKzxm','zgLYzwn0B3jPzxm','BwvZC2fNzq','EKnluKy','ote4mde3nfjLz2HlwG','zgvIB3vUy2vnCW','zxjYB3i','zxH0BMfTzq','y2XVC2u','BKrozKe','ntuXmdeXmefzCKzvwG','ngvRDLnhBq','mtKXmZeYmdfzrwr6Ae8','CMvSyxrPDMu','lMPZB24','mtiZmti1otrHyuLIALu','oenkvwnHCq','u0fHq0O','x2rLyM91BMnL','zgvIB3vUy2vuAw1LCG','Bg9N','D2f0y2HLCNm','Dg9mB3DLCKnHC2u','mtKZmdm3nerfAu9IyW','mtq0nZe2nhPTrLfNvq','B25dAgfUz2u'];a0_0x53b4=function(){return _0x2043c1;};return a0_0x53b4();}
@@ -1 +1 @@
1
- 'use strict';const a0_0x563a93=a0_0x1b06;(function(_0x5159db,_0x29a0ad){const _0x9ba9b5=a0_0x1b06,_0x3e4449=_0x5159db();while(!![]){try{const _0x242f89=-parseInt(_0x9ba9b5(0x12c))/0x1*(parseInt(_0x9ba9b5(0x191))/0x2)+-parseInt(_0x9ba9b5(0xc4))/0x3*(-parseInt(_0x9ba9b5(0x123))/0x4)+-parseInt(_0x9ba9b5(0xc5))/0x5+-parseInt(_0x9ba9b5(0xb3))/0x6*(parseInt(_0x9ba9b5(0x8b))/0x7)+parseInt(_0x9ba9b5(0xc8))/0x8+-parseInt(_0x9ba9b5(0xf0))/0x9*(-parseInt(_0x9ba9b5(0x144))/0xa)+-parseInt(_0x9ba9b5(0xe5))/0xb*(parseInt(_0x9ba9b5(0x164))/0xc);if(_0x242f89===_0x29a0ad)break;else _0x3e4449['push'](_0x3e4449['shift']());}catch(_0x4ce885){_0x3e4449['push'](_0x3e4449['shift']());}}}(a0_0x21ab,0x2b2d6));const crypto=require(a0_0x563a93(0x197)),redisClient=require(a0_0x563a93(0x1a3)),{logger}=require(a0_0x563a93(0x129)),idempotencyManager=require(a0_0x563a93(0x84)),ALLOWED_FORMATS=new Set([a0_0x563a93(0x19c),'yyyy',a0_0x563a93(0x143),'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_0x563a93(0x9b),CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x563a93(0xcb),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=a0_0x563a93(0x98),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x563a93(0x19e),LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION='\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(_0xab6148,_0x903efc,_0x39f83e=null){const _0x137227=a0_0x563a93,_0xd77385={'SgYXG':function(_0x5f47ac,_0x3eba79){return _0x5f47ac||_0x3eba79;}};super(_0xd77385[_0x137227(0x162)](_0x903efc,_0xab6148)),this['name']='IdGeneratorError',this['code']=_0xab6148,this[_0x137227(0x148)]=_0x39f83e;}}function a0_0x1b06(_0x1908c9,_0x48f6ff){_0x1908c9=_0x1908c9-0x7a;const _0x21ab84=a0_0x21ab();let _0x1b06d2=_0x21ab84[_0x1908c9];if(a0_0x1b06['gixwsM']===undefined){var _0x3ea2ba=function(_0x1603b6){const _0x4eb5bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9c97f3='',_0x3840b7='';for(let _0xf0d831=0x0,_0x4fc4dd,_0x2de96b,_0x290787=0x0;_0x2de96b=_0x1603b6['charAt'](_0x290787++);~_0x2de96b&&(_0x4fc4dd=_0xf0d831%0x4?_0x4fc4dd*0x40+_0x2de96b:_0x2de96b,_0xf0d831++%0x4)?_0x9c97f3+=String['fromCharCode'](0xff&_0x4fc4dd>>(-0x2*_0xf0d831&0x6)):0x0){_0x2de96b=_0x4eb5bc['indexOf'](_0x2de96b);}for(let _0x4970a4=0x0,_0x302380=_0x9c97f3['length'];_0x4970a4<_0x302380;_0x4970a4++){_0x3840b7+='%'+('00'+_0x9c97f3['charCodeAt'](_0x4970a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3840b7);};a0_0x1b06['rbfTMY']=_0x3ea2ba,a0_0x1b06['KCPoCx']={},a0_0x1b06['gixwsM']=!![];}const _0x5ea143=_0x21ab84[0x0],_0x114af0=_0x1908c9+_0x5ea143,_0x1dc9e6=a0_0x1b06['KCPoCx'][_0x114af0];return!_0x1dc9e6?(_0x1b06d2=a0_0x1b06['rbfTMY'](_0x1b06d2),a0_0x1b06['KCPoCx'][_0x114af0]=_0x1b06d2):_0x1b06d2=_0x1dc9e6,_0x1b06d2;}class IdGenerator{constructor(){const _0x5cacca=a0_0x563a93,_0x3f2d39={'LUZET':_0x5cacca(0x92)},_0x101963=_0x3f2d39['LUZET'][_0x5cacca(0x193)]('|');let _0x56ae05=0x0;while(!![]){switch(_0x101963[_0x56ae05++]){case'0':this['_reserveMaxTTL']=null;continue;case'1':this['_defaultSerialPattern']=null;continue;case'2':this['_idemTTL']=null;continue;case'3':this[_0x5cacca(0x134)]=null;continue;case'4':this[_0x5cacca(0xf2)]=null;continue;case'5':this['_allowReset']=null;continue;case'6':this['_defaultPinDigits']=null;continue;case'7':this[_0x5cacca(0x10e)]=null;continue;case'8':this['_counterTTLMap']=null;continue;case'9':this['_reserveDefaultTTL']=null;continue;case'10':this['_defaultMaxRetry']=null;continue;case'11':this['_initialized']=![];continue;}break;}}[a0_0x563a93(0x137)](){const _0x43f5e6=a0_0x563a93,_0x5697c0={'nxfbJ':function(_0x1094c2,_0x2815df,_0x3a8804){return _0x1094c2(_0x2815df,_0x3a8804);},'RUnDY':function(_0x4360e3,_0x5da140,_0x46f7b4){return _0x4360e3(_0x5da140,_0x46f7b4);},'jSCJS':function(_0x16529f,_0x370227){return _0x16529f===_0x370227;},'vwkbz':_0x43f5e6(0xb0),'PpGqB':'XXXX-XXXX-XXXX-XXXX'},_0x5c097d='1|11|8|4|5|2|12|10|6|3|0|9|7'['split']('|');let _0x591ad1=0x0;while(!![]){switch(_0x5c097d[_0x591ad1++]){case'0':this[_0x43f5e6(0xac)]=_0x5697c0['nxfbJ'](parseInt,process[_0x43f5e6(0x173)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;case'1':this[_0x43f5e6(0xf2)]=_0x43f5e6(0xc0);continue;case'2':this[_0x43f5e6(0x97)]=_0x5697c0['RUnDY'](parseInt,process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'3':this['_reserveDefaultTTL']=parseInt(process['env'][_0x43f5e6(0xc6)],0xa)||DEFAULT_RESERVE_TTL;continue;case'4':this[_0x43f5e6(0x86)]=_0x5697c0['jSCJS'](process['env']['IDGEN_ALLOW_RESET'],_0x5697c0['vwkbz']);continue;case'5':this[_0x43f5e6(0x118)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa;continue;case'6':this[_0x43f5e6(0x150)]={'yyyymm':parseInt(process[_0x43f5e6(0x173)][_0x43f5e6(0xd0)],0xa)||0x2a3000,'yyyymmdd':_0x5697c0['nxfbJ'](parseInt,process[_0x43f5e6(0x173)][_0x43f5e6(0x16b)],0xa)||0x2a300};continue;case'7':logger['info']({'event':_0x43f5e6(0xdf),'enabled':this[_0x43f5e6(0x10e)],'idemTTL':this[_0x43f5e6(0x178)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x43f5e6(0x19b)+this[_0x43f5e6(0x10e)]);continue;case'8':this['_idemTTL']=_0x5697c0[_0x43f5e6(0x145)](parseInt,process['env'][_0x43f5e6(0x108)],0xa)||0x258;continue;case'9':this[_0x43f5e6(0x7d)]=!![];continue;case'10':this[_0x43f5e6(0x134)]=process[_0x43f5e6(0x173)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x43f5e6(0xb5);continue;case'11':this['_enabled']=process[_0x43f5e6(0x173)]['IDGEN_ENABLED']===_0x5697c0['vwkbz'];continue;case'12':this[_0x43f5e6(0x136)]=process[_0x43f5e6(0x173)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x5697c0['PpGqB'];continue;}break;}}['_ensureInitialized'](){const _0x4a5d93=a0_0x563a93;if(!this[_0x4a5d93(0x7d)])this[_0x4a5d93(0x137)]();}get[a0_0x563a93(0x17f)](){const _0xdb5984=a0_0x563a93;return this['_ensureInitialized'](),this[_0xdb5984(0x10e)];}get[a0_0x563a93(0x89)](){const _0x289ed=a0_0x563a93;return this[_0x289ed(0xde)](),this[_0x289ed(0xf2)];}get[a0_0x563a93(0x17d)](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x563a93(0x146)](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get[a0_0x563a93(0x194)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x563a93(0x1a4)](){const _0x563e3a=a0_0x563a93;return this['_ensureInitialized'](),this[_0x563e3a(0xae)];}get[a0_0x563a93(0x153)](){const _0x403ba8=a0_0x563a93;return this[_0x403ba8(0xde)](),this['_reserveMaxTTL'];}[a0_0x563a93(0xfb)](){return this['enabled'];}[a0_0x563a93(0x12a)](_0x345c8c){const _0x3a3a2e=a0_0x563a93,_0x20c995={'pDanC':function(_0x5b3b7e,_0x3b607e){return _0x5b3b7e!==_0x3b607e;}};if(_0x20c995[_0x3a3a2e(0x14c)](typeof _0x345c8c,'string')||!RESOURCE_REGEX[_0x3a3a2e(0x18a)](_0x345c8c))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x3a3a2e(0x11a)](_0x345c8c)+')');}[a0_0x563a93(0xfe)](_0x229c4e){const _0x4e0031=a0_0x563a93,_0x7c7f8e={'dSBdl':_0x4e0031(0x13e),'AWucN':function(_0xb66be1,_0x991a4f){return _0xb66be1>_0x991a4f;},'qVRgi':function(_0x354e53,_0x1d0f2d){return _0x354e53==_0x1d0f2d;},'DoYtm':function(_0x1919b6,_0x2a89e2){return _0x1919b6!==_0x2a89e2;},'fvgIF':_0x4e0031(0x9e),'TlPjL':'string','QJNNe':_0x4e0031(0x121),'yiPza':function(_0x1ca49d,_0xe437af){return _0x1ca49d!==_0xe437af;},'iPiSW':_0x4e0031(0xc7),'qSVaM':'IDGEN_INVALID_RESOURCE','yvMZJ':function(_0x2fd926,_0x3aa91e){return _0x2fd926===_0x3aa91e;}},{resource:_0x368801,format:_0x2fb80f,prefix:_0x35d1c4,separator:_0x1d77cd,numDigits:_0xff666c,reuseDelete:_0x57b1dc}=_0x229c4e;this['_validateResource'](_0x368801);const _0xeea9d7=typeof _0x2fb80f==='string'?_0x2fb80f[_0x4e0031(0x122)]():'';if(!ALLOWED_FORMATS['has'](_0xeea9d7))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0x174)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x4e0031(0xcd)](',\x20')+'\x20(got:\x20'+_0x2fb80f+')');if(!Number[_0x4e0031(0x7b)](_0xff666c)||_0xff666c<MIN_NUM_DIGITS||_0x7c7f8e[_0x4e0031(0x156)](_0xff666c,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0xff666c+')');const _0x56d276=_0x7c7f8e['qVRgi'](_0x35d1c4,null)?'':_0x35d1c4;if(_0x7c7f8e[_0x4e0031(0xf5)](typeof _0x56d276,_0x4e0031(0xaa))||!PREFIX_REGEX['test'](_0x56d276))throw new IdGeneratorError(_0x7c7f8e['fvgIF'],_0x4e0031(0x111)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x35d1c4)+')');const _0x5b76ae=_0x1d77cd==null?'':_0x1d77cd;if(_0x7c7f8e['DoYtm'](typeof _0x5b76ae,_0x7c7f8e[_0x4e0031(0x119)])||_0x7c7f8e['AWucN'](_0x5b76ae[_0x4e0031(0x10b)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x5b76ae))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0x83)],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x1d77cd)+')');if(_0x57b1dc!=null&&_0x7c7f8e['yiPza'](typeof _0x57b1dc,_0x7c7f8e[_0x4e0031(0x15f)]))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0xcf)],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x57b1dc+')');return{'resource':_0x368801,'format':_0xeea9d7,'prefix':_0x56d276,'separator':_0x5b76ae,'numDigits':_0xff666c,'reuseDelete':_0x7c7f8e[_0x4e0031(0x17b)](_0x57b1dc,!![])};}[a0_0x563a93(0xa3)](_0x29ac3c){const _0x108d9a=a0_0x563a93,_0x2781f2={'rvlJJ':'string'};if(typeof _0x29ac3c!==_0x2781f2['rvlJJ']||_0x29ac3c['length']===0x0||_0x29ac3c[_0x108d9a(0x10b)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x108d9a(0xe7),'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x29ac3c&&_0x29ac3c['length'])+')');let _0x3553b1=![];for(const _0x2bc1c4 of _0x29ac3c){if(PLACEHOLDER_MAP[_0x2bc1c4]){_0x3553b1=!![];break;}}if(!_0x3553b1)throw new IdGeneratorError(_0x108d9a(0xe7),_0x108d9a(0x19f));}[a0_0x563a93(0xb9)](_0x24e89b){const _0x541d0e=a0_0x563a93,_0x31f647={'vtZYG':function(_0x472335,_0x372d29){return _0x472335==_0x372d29;},'OCGnL':function(_0x6a6146,_0x333d05){return _0x6a6146<_0x333d05;},'WUJVK':function(_0x5600ea,_0x5c9d2a){return _0x5600ea>_0x5c9d2a;},'qvEmM':_0x541d0e(0xa8)};if(_0x31f647[_0x541d0e(0xd2)](_0x24e89b,null))return undefined;if(!Number[_0x541d0e(0x7b)](_0x24e89b)||_0x31f647['OCGnL'](_0x24e89b,0x1)||_0x31f647[_0x541d0e(0xeb)](_0x24e89b,MAX_TTL))throw new IdGeneratorError(_0x31f647[_0x541d0e(0x189)],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x541d0e(0x93)+_0x24e89b+')');return _0x24e89b;}[a0_0x563a93(0xc1)](_0x57bf60){const _0x1eba1f=a0_0x563a93,_0x5ec881={'vIFeN':function(_0x1bb16a,_0x31d999){return _0x1bb16a<_0x31d999;},'OSvgu':'IDGEN_INVALID_MAX_RETRY'};if(_0x57bf60==null)return this['defaultMaxRetry'];if(!Number['isInteger'](_0x57bf60)||_0x5ec881[_0x1eba1f(0x128)](_0x57bf60,0x1)||_0x57bf60>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x5ec881['OSvgu'],_0x1eba1f(0x13b)+MAX_RETRY_LIMIT+_0x1eba1f(0xe2)+_0x57bf60+')');return _0x57bf60;}[a0_0x563a93(0x15e)](_0x205194){const _0x48d326=a0_0x563a93,_0x2acd51={'TigaS':function(_0x5581f3,_0x450271){return _0x5581f3==_0x450271;},'plPmH':'IDGEN_INVALID_RESOURCE'};if(_0x2acd51['TigaS'](_0x205194,null))return undefined;if(typeof _0x205194!=='string'||_0x205194['length']===0x0||_0x205194['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x2acd51[_0x48d326(0x18e)],_0x48d326(0xe4)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x48d326(0x151));return _0x205194;}[a0_0x563a93(0xcc)](_0x932798){const _0x5b649b=a0_0x563a93,_0x4b14ed={'wxHHl':function(_0x40a248,_0x4614a4){return _0x40a248==_0x4614a4;},'IOHnY':function(_0x45a07c,_0x58d609){return _0x45a07c<_0x58d609;},'fmLRE':_0x5b649b(0x107)};if(_0x4b14ed['wxHHl'](_0x932798,null))return this[_0x5b649b(0x1a4)];if(!Number['isInteger'](_0x932798)||_0x4b14ed['IOHnY'](_0x932798,MIN_RESERVE_TTL)||_0x932798>this['reserveMaxTTL'])throw new IdGeneratorError(_0x4b14ed['fmLRE'],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x932798+')');return _0x932798;}[a0_0x563a93(0x1a0)](_0x1cf9d6){const _0x2061db=a0_0x563a93,_0x260b56={'Pkxem':function(_0x2228ae,_0x4610ff){return _0x2228ae!==_0x4610ff;},'Cwfmq':_0x2061db(0xaa)};if(_0x260b56['Pkxem'](typeof _0x1cf9d6,_0x260b56[_0x2061db(0x8a)])||!RESERVATION_TOKEN_REGEX[_0x2061db(0x18a)](_0x1cf9d6))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x2061db(0x18f)+JSON[_0x2061db(0x11a)](_0x1cf9d6)+')');return _0x1cf9d6;}['_pad2'](_0xb1ae0a){const _0x38251a={'bHyqY':function(_0x51f077,_0x185a0c){return _0x51f077(_0x185a0c);}};return _0x38251a['bHyqY'](String,_0xb1ae0a)['padStart'](0x2,'0');}[a0_0x563a93(0xd3)](_0x23e98a,_0x253a97,_0x164ea4=new Date()){const _0x72706d=a0_0x563a93,_0x294ca0={'GEjQE':function(_0x289032,_0x17344e){return _0x289032+_0x17344e;},'DTwyH':function(_0x285a8d,_0x48676c){return _0x285a8d||_0x48676c;},'xlUBz':_0x72706d(0x13e)},_0x37689c=_0x164ea4['getFullYear'](),_0x311b57=this[_0x72706d(0x13d)](_0x294ca0[_0x72706d(0xce)](_0x164ea4[_0x72706d(0x10a)](),0x1)),_0x608bc5=this['_pad2'](_0x164ea4[_0x72706d(0x91)]()),_0x39cbab=_0x294ca0[_0x72706d(0x171)](_0x253a97,'_');let _0x1d6e5b,_0x41f6e9='';switch(_0x23e98a){case'text':_0x1d6e5b=_0x39cbab+'_text';break;case _0x72706d(0x102):_0x41f6e9=''+_0x37689c,_0x1d6e5b=_0x39cbab+'_yyyy_'+_0x41f6e9;break;case'yyyymm':_0x41f6e9=''+_0x37689c+_0x311b57,_0x1d6e5b=_0x39cbab+_0x72706d(0x80)+_0x41f6e9;break;case _0x72706d(0xc3):_0x41f6e9=''+_0x37689c+_0x311b57+_0x608bc5,_0x1d6e5b=_0x39cbab+_0x72706d(0x180)+_0x41f6e9;break;default:throw new IdGeneratorError(_0x294ca0['xlUBz'],'Unknown\x20format:\x20'+_0x23e98a);}return{'formatKey':_0x1d6e5b,'datePrefix':_0x41f6e9};}['_buildSeqKey'](_0x26a7ba,_0xac28cb){return this['keyPrefix']+'seq:'+_0x26a7ba+':'+_0xac28cb;}['_buildReuseKey'](_0x347734,_0x4a8fe7){const _0x1153fa=a0_0x563a93;return this[_0x1153fa(0x89)]+_0x1153fa(0xca)+_0x347734+':'+_0x4a8fe7;}['_buildMetaKey'](_0x5f2bf9,_0x127178){const _0x5778cd=a0_0x563a93;return this[_0x5778cd(0x89)]+_0x5778cd(0x1a2)+_0x5f2bf9+':'+_0x127178;}['_buildIssuedKey'](_0x22359d){const _0x1adf30=a0_0x563a93;return this[_0x1adf30(0x89)]+_0x1adf30(0x81)+_0x22359d;}[a0_0x563a93(0x188)](_0x38000a,_0x5f41b7){const _0x3d65a0=a0_0x563a93;return this[_0x3d65a0(0x89)]+'active:'+_0x38000a+':'+_0x5f41b7;}[a0_0x563a93(0x184)](_0x1b709c){const _0x28b000=a0_0x563a93;return this[_0x28b000(0x89)]+'rsv:'+_0x1b709c;}['_buildReservationIndexKey'](_0x24b6dd,_0x483d71){return this['keyPrefix']+'rsv_idx:'+_0x24b6dd+':'+_0x483d71;}['_buildReservationKeyPrefix'](){const _0x197844=a0_0x563a93;return this['keyPrefix']+_0x197844(0x104);}['_buildIdemKey'](_0x177a40,_0x2cf8d1,_0x3ee2da,_0x30a12d){const _0x48248f=a0_0x563a93;if(_0x3ee2da)return idempotencyManager['buildDeterministicKey'](_0x48248f(0x9a),_0x177a40,_0x2cf8d1+':'+_0x3ee2da+':'+_0x30a12d);return idempotencyManager[_0x48248f(0x15a)](_0x48248f(0x9a),_0x177a40,_0x2cf8d1+':'+_0x30a12d);}['_getCounterTTL'](_0x48a801){const _0x2fdd84=a0_0x563a93;return this[_0x2fdd84(0x150)][_0x48a801]||0x0;}[a0_0x563a93(0x16d)]({format:_0x3f84bb,prefix:_0x4aeda1,datePrefix:_0x1cfd49,separator:_0x161598,numDigits:_0x439d58,counterInt:_0x32995c}){const _0x18e4b5=a0_0x563a93,_0x216a5f={'inSCR':function(_0x824607,_0x46a0c1){return _0x824607>_0x46a0c1;}},_0x47cbdd=Math[_0x18e4b5(0x139)](0xa,_0x439d58)-0x1;if(_0x216a5f['inSCR'](_0x32995c,_0x47cbdd))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW','Counter\x20overflow:\x20'+_0x32995c+_0x18e4b5(0x132)+_0x439d58+'-digit\x20capacity\x20('+_0x47cbdd+').\x20Increase\x20numDigits.',{'counterInt':_0x32995c,'numDigits':_0x439d58,'max':_0x47cbdd});const _0x1a5c45=String(_0x32995c)[_0x18e4b5(0x10c)](_0x439d58,'0');if(_0x3f84bb===_0x18e4b5(0x19c))return _0x4aeda1?''+_0x4aeda1+_0x161598+_0x1a5c45:_0x1a5c45;return _0x4aeda1?''+_0x4aeda1+_0x161598+_0x1cfd49+_0x161598+_0x1a5c45:''+_0x1cfd49+_0x161598+_0x1a5c45;}['_parseNumber']({format:_0x34335f,prefix:_0x356d54,separator:_0x4030d6,numDigits:_0x2e32ec,number:_0x47f1c8}){const _0x3241d0=a0_0x563a93,_0x8896d5={'qzTGJ':function(_0x582311,_0x4267ba){return _0x582311!==_0x4267ba;},'YVdOs':'string','mTKMJ':function(_0x4e78e8,_0x5d9b78){return _0x4e78e8===_0x5d9b78;},'DjofS':function(_0x51bdea,_0x41501b){return _0x51bdea||_0x41501b;},'YZGyD':function(_0x1d914d,_0x187d83){return _0x1d914d===_0x187d83;},'Qfarq':function(_0xfa6ac9,_0x30b76b){return _0xfa6ac9!==_0x30b76b;},'ZcqbK':'IDGEN_INVALID_NUMBER','SGMwz':function(_0x5bd747,_0x392353){return _0x5bd747!==_0x392353;},'CXmxM':function(_0x59df8f,_0xd65ccf){return _0x59df8f===_0xd65ccf;}};if(_0x8896d5[_0x3241d0(0xa0)](typeof _0x47f1c8,_0x8896d5['YVdOs'])||_0x8896d5['mTKMJ'](_0x47f1c8['length'],0x0))throw new IdGeneratorError(_0x3241d0(0xf4),_0x3241d0(0x199));const _0x508a27=_0x8896d5['DjofS'](_0x4030d6,''),_0x34af3e=_0x8896d5[_0x3241d0(0x15d)](_0x508a27,'')?[_0x47f1c8]:_0x47f1c8[_0x3241d0(0x193)](_0x508a27);let _0x3f4e38='',_0x5bb555;if(_0x8896d5['YZGyD'](_0x34335f,'text')){if(_0x356d54){if(_0x8896d5[_0x3241d0(0xa2)](_0x34af3e['length'],0x2)||_0x8896d5[_0x3241d0(0xa0)](_0x34af3e[0x0],_0x356d54))throw new IdGeneratorError(_0x8896d5['ZcqbK'],_0x3241d0(0xd4)+_0x508a27+'padded\x20(got:\x20'+_0x47f1c8+')');_0x5bb555=_0x34af3e[0x1];}else{if(_0x34af3e[_0x3241d0(0x10b)]!==0x1)throw new IdGeneratorError(_0x8896d5[_0x3241d0(0x152)],_0x3241d0(0xdb)+_0x47f1c8+')');_0x5bb555=_0x34af3e[0x0];}}else{const _0x545b1f=_0x356d54?0x3:0x2;if(_0x34af3e['length']!==_0x545b1f)throw new IdGeneratorError(_0x3241d0(0xf4),_0x3241d0(0x135)+_0x47f1c8+_0x3241d0(0x149)+_0x545b1f+'\x20parts)');let _0xfa5e30=0x0;if(_0x356d54){if(_0x8896d5['SGMwz'](_0x34af3e[_0xfa5e30],_0x356d54))throw new IdGeneratorError(_0x8896d5['ZcqbK'],_0x3241d0(0x167)+_0x356d54+_0x3241d0(0x87)+_0x34af3e[_0xfa5e30]);_0xfa5e30++;}_0x3f4e38=_0x34af3e[_0xfa5e30++];const _0x46ac15=_0x8896d5[_0x3241d0(0x15d)](_0x34335f,'yyyy')?/^\d{4}$/:_0x34335f==='yyyymm'?/^\d{6}$/:/^\d{8}$/;if(!_0x46ac15[_0x3241d0(0x18a)](_0x3f4e38))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3241d0(0x13a)+_0x34335f+':\x20'+_0x3f4e38);_0x5bb555=_0x34af3e[_0xfa5e30];}if(!new RegExp('^\x5cd{'+_0x2e32ec+'}$')[_0x3241d0(0x18a)](_0x5bb555))throw new IdGeneratorError(_0x8896d5[_0x3241d0(0x152)],_0x3241d0(0xa4)+_0x2e32ec+'\x20digits\x20(got:\x20'+_0x5bb555+')');const _0x52e91c=parseInt(_0x5bb555,0xa),_0x3e3281=_0x8896d5[_0x3241d0(0xe3)](_0x356d54,'_');let _0x84994b;return _0x8896d5[_0x3241d0(0xb6)](_0x34335f,'text')?_0x84994b=_0x3e3281+_0x3241d0(0x113):_0x84994b=_0x3e3281+'_'+_0x34335f+'_'+_0x3f4e38,{'formatKey':_0x84994b,'counterInt':_0x52e91c,'datePrefix':_0x3f4e38};}[a0_0x563a93(0x7f)](_0x2567f5){const _0xe9fad6=a0_0x563a93;let _0xbbfd96='';for(const _0x2bb56f of _0x2567f5){const _0x5815ca=PLACEHOLDER_MAP[_0x2bb56f];if(_0x5815ca){const _0x38e2e4=crypto[_0xe9fad6(0xff)](0x0,_0x5815ca[_0xe9fad6(0x10b)]);_0xbbfd96+=_0x5815ca[_0x38e2e4];}else _0xbbfd96+=_0x2bb56f;}return _0xbbfd96;}async[a0_0x563a93(0x19a)](_0x735f2){const _0x512faf=a0_0x563a93;if(!_0x735f2)return null;try{const _0x1fde4d=redisClient['getClient'](),_0x302f29=await _0x1fde4d['get'](_0x735f2);if(_0x302f29)return logger[_0x512faf(0x130)]({'event':'idgen_idem_hit','key':_0x735f2},'Idempotency\x20cache\x20HIT'),JSON[_0x512faf(0x190)](_0x302f29);return null;}catch(_0x3de753){return logger['warn']({'event':_0x512faf(0x9c),'error':_0x3de753[_0x512faf(0x16a)]},'Idempotency\x20retrieve\x20error'),null;}}async['_storeIdemCache'](_0x457774,_0x3b9a4f){const _0x1cc4c3=a0_0x563a93,_0x5e034d={'BUoQg':_0x1cc4c3(0x116)};if(!_0x457774)return;try{const _0x10bce2=redisClient[_0x1cc4c3(0xea)]();await _0x10bce2['setex'](_0x457774,this[_0x1cc4c3(0x17d)],JSON['stringify'](_0x3b9a4f));}catch(_0x4cb938){logger[_0x1cc4c3(0xb1)]({'event':_0x1cc4c3(0x110),'error':_0x4cb938[_0x1cc4c3(0x16a)]},_0x5e034d[_0x1cc4c3(0x12b)]);}}async['_storeIdemCacheNX'](_0x56574a,_0x2f2aae){const _0x2fb1b3=a0_0x563a93,_0xaa9ba8={'wvwdc':_0x2fb1b3(0x169),'Abcyt':'idgen_idem_storenx_error','DPqpy':_0x2fb1b3(0x13f)};if(!_0x56574a)return{'stored':!![],'winnerResult':null};try{const _0x43f8fb=redisClient['getClient'](),_0x3a0483=JSON['stringify'](_0x2f2aae),_0x2eeeda=await _0x43f8fb[_0x2fb1b3(0x11f)](_0x56574a,_0x3a0483,'EX',this[_0x2fb1b3(0x17d)],'NX');if(_0x2eeeda==='OK')return{'stored':!![],'winnerResult':null};const _0x232185=await _0x43f8fb[_0x2fb1b3(0x140)](_0x56574a);if(_0x232185)return{'stored':![],'winnerResult':JSON['parse'](_0x232185)};return logger['warn']({'event':_0xaa9ba8[_0x2fb1b3(0xef)],'key':_0x56574a},_0x2fb1b3(0x170)),{'stored':!![],'winnerResult':null};}catch(_0x2f55f1){return logger[_0x2fb1b3(0xb1)]({'event':_0xaa9ba8[_0x2fb1b3(0x147)],'error':_0x2f55f1['message']},_0xaa9ba8[_0x2fb1b3(0x8d)]),{'stored':!![],'winnerResult':null};}}async[a0_0x563a93(0x99)](_0x159467,_0x147650,_0x28728e){const _0x2a4cfb=a0_0x563a93,_0x5335cd={'jrAxE':'idgen_random_undo_error','liuuv':_0x2a4cfb(0x142)};try{const _0xbae560=redisClient['getClient']();if(_0x28728e){const _0x1d41ea=this['_buildActiveKey'](_0x159467,_0x147650);await _0xbae560[_0x2a4cfb(0x17a)](_0x1d41ea);}else{const _0x21bcee=this['_buildIssuedKey'](_0x159467);await _0xbae560[_0x2a4cfb(0x9d)](_0x21bcee,_0x147650);}}catch(_0x5812a0){logger[_0x2a4cfb(0xb1)]({'event':_0x5335cd['jrAxE'],'error':_0x5812a0['message']},_0x5335cd[_0x2a4cfb(0x15b)]);}}async[a0_0x563a93(0x8f)](_0x12750f,_0x5aef2e,_0x514f88,_0x5264f6=0x0){const _0x22c6e8=a0_0x563a93,_0x2910c1={'nqhJh':function(_0x488087,_0x1ce58f){return _0x488087(_0x1ce58f);},'gmnID':function(_0x41ee54,_0x5ba2f2){return _0x41ee54>_0x5ba2f2;},'sVTCi':'Meta\x20update\x20error'};try{const _0x3fd83d=redisClient['getClient'](),_0x2d93d1=this[_0x22c6e8(0xf6)](_0x12750f,_0x5aef2e),_0x300367=[];for(const [_0x18a8e5,_0x4069ec]of Object[_0x22c6e8(0x12d)](_0x514f88)){_0x300367[_0x22c6e8(0x1a6)](_0x18a8e5,_0x2910c1['nqhJh'](String,_0x4069ec));}if(_0x2910c1[_0x22c6e8(0x18d)](_0x300367[_0x22c6e8(0x10b)],0x0)){await _0x3fd83d['hset'](_0x2d93d1,..._0x300367);if(_0x5264f6>0x0)await _0x3fd83d['expire'](_0x2d93d1,_0x5264f6);}}catch(_0x58866c){logger[_0x22c6e8(0xb1)]({'event':_0x22c6e8(0x105),'error':_0x58866c[_0x22c6e8(0x16a)]},_0x2910c1[_0x22c6e8(0xb8)]);}}async[a0_0x563a93(0xd5)](_0x2a4da9){const _0x395ec7=a0_0x563a93,_0x14258d={'nhPfi':function(_0x5e14ac,_0x374db1){return _0x5e14ac(_0x374db1);},'UxDOx':function(_0x414dc9,_0x4b66c7){return _0x414dc9===_0x4b66c7;},'vweUz':function(_0x2684ec,_0x5c923d){return _0x2684ec(_0x5c923d);},'ukrgL':_0x395ec7(0x12e)};if(!this[_0x395ec7(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x395ec7(0x154));const _0x431c72=this[_0x395ec7(0xfe)](_0x2a4da9),_0x41ae97=this['_validateIdempotencyKey'](_0x2a4da9['idempotencyKey']),{resource:_0x5e7171,format:_0x318e4a,prefix:_0x4c22c3,separator:_0x544958,numDigits:_0x2ae557,reuseDelete:_0x399f42}=_0x431c72,{formatKey:_0x432df5,datePrefix:_0x5a872e}=this[_0x395ec7(0xd3)](_0x318e4a,_0x4c22c3),_0x14a45c=this[_0x395ec7(0x114)](_0x5e7171,_0x432df5),_0x423869=this['_buildReuseKey'](_0x5e7171,_0x432df5),_0x2b4238=this[_0x395ec7(0x141)](_0x318e4a);let _0xdb0418=null;if(_0x41ae97){_0xdb0418=this['_buildIdemKey']('number',_0x5e7171,_0x432df5,_0x41ae97);const _0x2f1af1=await this[_0x395ec7(0x19a)](_0xdb0418);if(_0x2f1af1)return _0x2f1af1;}const _0xda9906=redisClient['getClient'](),_0x384bd1=await _0xda9906[_0x395ec7(0xa9)](LUA_GENERATE_NUMBER,0x2,_0x14a45c,_0x423869,_0x399f42?'1':'0',_0x14258d['nhPfi'](String,_0x2b4238)),_0x383e7e=_0x384bd1[0x0],_0x54533b=_0x14258d['UxDOx'](_0x384bd1[0x1],0x1),_0x12d7d4=this[_0x395ec7(0x16d)]({'format':_0x318e4a,'prefix':_0x4c22c3,'datePrefix':_0x5a872e,'separator':_0x544958,'numDigits':_0x2ae557,'counterInt':_0x383e7e}),_0x48418f={'value':_0x12d7d4,'counter':_0x383e7e,'resource':_0x5e7171,'formatKey':_0x432df5,'isReused':_0x54533b,'generatedAt':new Date()[_0x395ec7(0x177)]()},_0x8eb9ae=await this[_0x395ec7(0x138)](_0xdb0418,_0x48418f);if(!_0x8eb9ae[_0x395ec7(0xb2)]){try{await _0xda9906['eval'](LUA_RELEASE_NUMBER,0x1,_0x423869,String(_0x383e7e),_0x14258d['vweUz'](String,_0x2b4238));}catch(_0x5bec1e){logger['warn']({'event':_0x395ec7(0x94),'error':_0x5bec1e[_0x395ec7(0x16a)],'resource':_0x5e7171,'formatKey':_0x432df5,'counterInt':_0x383e7e},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x14258d[_0x395ec7(0xfd)],'resource':_0x5e7171,'formatKey':_0x432df5,'counter':_0x383e7e},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x8eb9ae['winnerResult'];}return this[_0x395ec7(0x8f)](_0x5e7171,_0x432df5,{'lastValue':_0x12d7d4,'lastCounter':_0x383e7e,'lastIsReused':_0x54533b,'lastGeneratedAt':_0x48418f[_0x395ec7(0x14e)]},_0x2b4238),logger[_0x395ec7(0x130)]({'event':'idgen_number_generated','resource':_0x5e7171,'formatKey':_0x432df5,'counter':_0x383e7e,'isReused':_0x54533b},_0x395ec7(0xed)+_0x12d7d4),_0x48418f;}async['releaseNumber'](_0x4aaa68){const _0x3e1852=a0_0x563a93,_0x380a15={'AeJaj':'IDGEN_DISABLED','oUtYv':'ID\x20Generator\x20is\x20disabled','Wnlhg':function(_0x1480cb,_0x17cb6e){return _0x1480cb!==_0x17cb6e;},'IwsZH':function(_0x4a9f0a,_0x2b3dd8){return _0x4a9f0a!==_0x2b3dd8;},'zSIzM':function(_0x625176,_0x41f3cf){return _0x625176!==_0x41f3cf;},'aCqXI':'string','rrKCK':function(_0xce7b50,_0x377962){return _0xce7b50===_0x377962;},'yBSut':_0x3e1852(0xf4),'CKrIB':function(_0x12c21d,_0x36fc19){return _0x12c21d<_0x36fc19;},'WDYti':_0x3e1852(0x7a)};if(!this['enabled'])throw new IdGeneratorError(_0x380a15['AeJaj'],_0x380a15['oUtYv']);let _0x1aa3c7,_0x15854f,_0x41644a,_0x1cc2fe;const _0x878711=this['_validateIdempotencyKey'](_0x4aaa68['idempotencyKey']);if(_0x380a15['Wnlhg'](_0x4aaa68['counterInt'],undefined)&&_0x380a15[_0x3e1852(0x88)](_0x4aaa68[_0x3e1852(0x8e)],null)){this[_0x3e1852(0x12a)](_0x4aaa68[_0x3e1852(0xe0)]),_0x1aa3c7=_0x4aaa68['resource'];if(_0x380a15['zSIzM'](typeof _0x4aaa68['formatKey'],_0x380a15[_0x3e1852(0xbe)])||_0x380a15[_0x3e1852(0x165)](_0x4aaa68['formatKey'][_0x3e1852(0x10b)],0x0))throw new IdGeneratorError(_0x380a15[_0x3e1852(0xd9)],_0x3e1852(0x10d));_0x15854f=_0x4aaa68[_0x3e1852(0xd7)];if(!Number[_0x3e1852(0x7b)](_0x4aaa68['counterInt'])||_0x380a15[_0x3e1852(0x155)](_0x4aaa68['counterInt'],0x1))throw new IdGeneratorError(_0x380a15['yBSut'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x4aaa68['counterInt']+')');_0x41644a=_0x4aaa68[_0x3e1852(0x8e)];const _0x548946=_0x15854f['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x1cc2fe=_0x548946?_0x548946[0x1]:_0x3e1852(0x19c);}else{const _0x5d2643=this[_0x3e1852(0xfe)](_0x4aaa68),_0x5aa031=this[_0x3e1852(0x14f)]({'format':_0x5d2643['format'],'prefix':_0x5d2643[_0x3e1852(0x196)],'separator':_0x5d2643['separator'],'numDigits':_0x5d2643[_0x3e1852(0x14a)],'number':_0x4aaa68['number']});_0x1aa3c7=_0x5d2643['resource'],_0x15854f=_0x5aa031['formatKey'],_0x41644a=_0x5aa031['counterInt'],_0x1cc2fe=_0x5d2643['format'];}const _0x5f1b34=this['_buildReuseKey'](_0x1aa3c7,_0x15854f),_0x245d80=this['_getCounterTTL'](_0x1cc2fe);let _0x2dfb2d=null;if(_0x878711){_0x2dfb2d=this[_0x3e1852(0x90)](_0x380a15['WDYti'],_0x1aa3c7,_0x15854f,_0x878711);const _0x531c13=await this['_retrieveIdemCache'](_0x2dfb2d);if(_0x531c13)return _0x531c13;}const _0x57daae=redisClient[_0x3e1852(0xea)]();await _0x57daae[_0x3e1852(0xa9)](LUA_RELEASE_NUMBER,0x1,_0x5f1b34,String(_0x41644a),String(_0x245d80));const _0x1e5d8a={'released':!![],'resource':_0x1aa3c7,'formatKey':_0x15854f,'counter':_0x41644a,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x2dfb2d,_0x1e5d8a),this['_updateMeta'](_0x1aa3c7,_0x15854f,{'lastReleasedCounter':_0x41644a,'lastReleasedAt':_0x1e5d8a[_0x3e1852(0x17e)]},_0x245d80),logger['info']({'event':'idgen_number_released','resource':_0x1aa3c7,'formatKey':_0x15854f,'counter':_0x41644a},'ID\x20Generator\x20number\x20released:\x20'+_0x41644a),_0x1e5d8a;}async['reserveNumber'](_0x8166f6){const _0x4418ea=a0_0x563a93,_0x543182={'gzrBr':_0x4418ea(0x14d),'aHlhP':function(_0x31d4b1,_0x1f45b9){return _0x31d4b1+_0x1f45b9;},'dmMBr':function(_0x562bc5,_0x3d0c6b){return _0x562bc5*_0x3d0c6b;},'gINcD':'resource','wAqiz':_0x4418ea(0xa1),'ddBoh':function(_0x13eee2,_0x4a4df4){return _0x13eee2(_0x4a4df4);},'UkTIp':'datePrefix','ZTHwa':_0x4418ea(0x183),'lopcb':_0x4418ea(0x127),'LSeUf':function(_0x296f81,_0x33c488){return _0x296f81(_0x33c488);},'xpZwM':function(_0x3b0055,_0x3848c2){return _0x3b0055===_0x3848c2;},'xSoiM':_0x4418ea(0xab),'DKnYE':'idgen_reserve_idem_loser_cancel_error','rzGUz':_0x4418ea(0x187),'DnyId':'idgen_reserve_idem_loser'};if(!this['enabled'])throw new IdGeneratorError(_0x543182[_0x4418ea(0x12f)],_0x4418ea(0x154));const _0x197355=this[_0x4418ea(0xfe)](_0x8166f6),_0x2d789e=this[_0x4418ea(0xcc)](_0x8166f6['ttl']),_0x39a03b=this['_validateIdempotencyKey'](_0x8166f6['idempotencyKey']),{resource:_0x107498,format:_0x151eef,prefix:_0x34261c,separator:_0x2a1b19,numDigits:_0x24ce80,reuseDelete:_0x17d7b3}=_0x197355,{formatKey:_0x499ad1,datePrefix:_0x47d077}=this['_buildFormatKey'](_0x151eef,_0x34261c),_0x1890a2=this['_buildSeqKey'](_0x107498,_0x499ad1),_0x25aa63=this[_0x4418ea(0x124)](_0x107498,_0x499ad1),_0x16d204=this[_0x4418ea(0xc9)](_0x107498,_0x499ad1),_0x20229b=this['_getCounterTTL'](_0x151eef);let _0x5a31c4=null;if(_0x39a03b){_0x5a31c4=this[_0x4418ea(0x90)]('reserve',_0x107498,_0x499ad1,_0x39a03b);const _0x20a1a8=await this['_retrieveIdemCache'](_0x5a31c4);if(_0x20a1a8)return _0x20a1a8;}const _0x13ac4d=crypto['randomUUID'](),_0x172334=this[_0x4418ea(0x184)](_0x13ac4d),_0x6e8ed4=this[_0x4418ea(0xa5)](),_0x5e0623=Date['now'](),_0x14c280=_0x543182['aHlhP'](_0x5e0623,_0x2d789e*0x3e8),_0x1150f2=_0x543182['dmMBr'](_0x2d789e,0x3e8),_0x1f7cff=new Date(_0x5e0623)[_0x4418ea(0x177)](),_0x541b19=new Date(_0x14c280)['toISOString'](),_0x1f9ed8=[_0x543182['gINcD'],_0x107498,_0x4418ea(0xd7),_0x499ad1,_0x543182['wAqiz'],_0x151eef,_0x4418ea(0x196),_0x34261c,'separator',_0x2a1b19,'numDigits',_0x543182['ddBoh'](String,_0x24ce80),_0x543182['UkTIp'],_0x47d077||'','createdAt',_0x1f7cff,_0x543182[_0x4418ea(0xe9)],_0x541b19,_0x543182['lopcb'],String(_0x1150f2)];_0x39a03b&&_0x1f9ed8[_0x4418ea(0x1a6)](_0x4418ea(0x18c),_0x39a03b);const _0xda2f1b=redisClient['getClient'](),_0x1a6c93=await _0xda2f1b['eval'](LUA_RESERVE_NUMBER,0x3,_0x1890a2,_0x25aa63,_0x16d204,_0x17d7b3?'1':'0',_0x543182[_0x4418ea(0xf3)](String,_0x20229b),_0x13ac4d,_0x172334,String(_0x1150f2),_0x543182[_0x4418ea(0xf3)](String,_0x14c280),_0x543182[_0x4418ea(0x1a1)](String,_0x5e0623),_0x6e8ed4,..._0x1f9ed8),_0x3f485c=_0x1a6c93[0x0],_0x3f655d=_0x543182[_0x4418ea(0x168)](_0x1a6c93[0x1],0x1),_0xfd54fe=_0x1a6c93[0x2]||0x0;let _0x144876;try{_0x144876=this[_0x4418ea(0x16d)]({'format':_0x151eef,'prefix':_0x34261c,'datePrefix':_0x47d077,'separator':_0x2a1b19,'numDigits':_0x24ce80,'counterInt':_0x3f485c});}catch(_0x14a946){try{await _0xda2f1b['eval'](LUA_CANCEL_RESERVATION,0x3,_0x172334,_0x16d204,_0x25aa63,_0x13ac4d,String(_0x20229b));}catch(_0x23db06){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x23db06['message'],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x14a946;}try{await _0xda2f1b[_0x4418ea(0x159)](_0x172334,'value',_0x144876);}catch(_0x2d028e){logger[_0x4418ea(0xb1)]({'event':_0x543182[_0x4418ea(0x109)],'error':_0x2d028e[_0x4418ea(0x16a)],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},_0x4418ea(0x172));}const _0x3f3ada={'token':_0x13ac4d,'value':_0x144876,'counter':_0x3f485c,'resource':_0x107498,'formatKey':_0x499ad1,'isReused':_0x3f655d,'createdAt':_0x1f7cff,'expiresAt':_0x541b19,'reapedCount':_0xfd54fe},_0x3609aa=await this[_0x4418ea(0x138)](_0x5a31c4,_0x3f3ada);if(!_0x3609aa['stored']){try{await _0xda2f1b[_0x4418ea(0xa9)](LUA_CANCEL_RESERVATION,0x3,_0x172334,_0x16d204,_0x25aa63,_0x13ac4d,String(_0x20229b));}catch(_0x4594ec){logger[_0x4418ea(0xb1)]({'event':_0x543182['DKnYE'],'error':_0x4594ec['message'],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},_0x543182[_0x4418ea(0xa6)]);}return logger['info']({'event':_0x543182[_0x4418ea(0x19d)],'resource':_0x107498,'formatKey':_0x499ad1,'counter':_0x3f485c,'token':_0x13ac4d},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3609aa[_0x4418ea(0x18b)];}return this['_updateMeta'](_0x107498,_0x499ad1,{'lastReservedCounter':_0x3f485c,'lastReservedAt':_0x1f7cff,'lastReapedCount':_0xfd54fe},_0x20229b),logger[_0x4418ea(0x130)]({'event':'idgen_number_reserved','resource':_0x107498,'formatKey':_0x499ad1,'counter':_0x3f485c,'isReused':_0x3f655d,'token':_0x13ac4d,'ttl':_0x2d789e,'reapedCount':_0xfd54fe},'ID\x20Generator\x20number\x20reserved:\x20'+_0x144876+_0x4418ea(0x185)+_0x13ac4d+')'),_0x3f3ada;}async[a0_0x563a93(0x179)](_0x223132){const _0x57875b=a0_0x563a93,_0x4aa360={'AVWKE':_0x57875b(0x163),'zDHAi':function(_0x3efaa1,_0x27500d,_0x5edf75){return _0x3efaa1(_0x27500d,_0x5edf75);},'aznLA':'idgen_reservation_confirmed'};if(!this[_0x57875b(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x4c5f10=this['_validateReservationToken'](_0x223132&&_0x223132[_0x57875b(0x15c)]),_0x5176bc=this[_0x57875b(0x15e)](_0x223132&&_0x223132[_0x57875b(0x17c)]);let _0x30ab8d=null;if(_0x5176bc){_0x30ab8d=idempotencyManager['buildDeterministicKey'](_0x57875b(0x9a),_0x57875b(0x1a5),_0x4c5f10+':'+_0x5176bc);const _0x5f1d1c=await this['_retrieveIdemCache'](_0x30ab8d);if(_0x5f1d1c)return _0x5f1d1c;}const _0x56f52b=await this['_getReservationContext'](_0x4c5f10),_0x1ba33e=redisClient['getClient'](),_0x747d69=await _0x1ba33e['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x56f52b[_0x57875b(0xe1)],_0x56f52b['rsvIdxKey'],_0x4c5f10);if(!_0x747d69||_0x747d69[0x0]!==0x1)throw new IdGeneratorError(_0x4aa360[_0x57875b(0xbb)],_0x57875b(0x126)+_0x4c5f10,{'token':_0x4c5f10});const _0x386b13=_0x4aa360['zDHAi'](parseInt,_0x747d69[0x1],0xa),_0x1cc513=_0x747d69[0x2],_0x3bcc72=_0x747d69[0x3],_0x2a9b0c=new Date()[_0x57875b(0x177)](),_0xb44428={'confirmed':!![],'token':_0x4c5f10,'value':_0x1cc513,'counter':_0x386b13,'resource':_0x56f52b['resource'],'formatKey':_0x3bcc72,'confirmedAt':_0x2a9b0c};await this['_storeIdemCache'](_0x30ab8d,_0xb44428);const _0x5b56e2=_0x3bcc72[_0x57875b(0xaf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x293845=_0x5b56e2?_0x5b56e2[0x1]:'text',_0x40821b=this['_getCounterTTL'](_0x293845);return this[_0x57875b(0x8f)](_0x56f52b[_0x57875b(0xe0)],_0x3bcc72,{'lastConfirmedCounter':_0x386b13,'lastConfirmedAt':_0x2a9b0c},_0x40821b),logger[_0x57875b(0x130)]({'event':_0x4aa360['aznLA'],'resource':_0x56f52b['resource'],'formatKey':_0x3bcc72,'counter':_0x386b13,'token':_0x4c5f10},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x1cc513+_0x57875b(0x185)+_0x4c5f10+')'),_0xb44428;}async['cancelReservation'](_0x164872){const _0x5c50d3=a0_0x563a93,_0x569ea2={'hetNd':_0x5c50d3(0xec),'QQVhF':function(_0x18b227,_0x151891,_0x4eed0d){return _0x18b227(_0x151891,_0x4eed0d);},'DXSfb':_0x5c50d3(0xfc)};if(!this[_0x5c50d3(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x5c50d3(0x82));const _0x48b2a5=this[_0x5c50d3(0x1a0)](_0x164872&&_0x164872[_0x5c50d3(0x15c)]),_0x9bc5d9=this[_0x5c50d3(0x15e)](_0x164872&&_0x164872['idempotencyKey']);let _0x2b7d3f=null;if(_0x9bc5d9){_0x2b7d3f=idempotencyManager[_0x5c50d3(0x15a)]('idgen',_0x569ea2['hetNd'],_0x48b2a5+':'+_0x9bc5d9);const _0x519b06=await this['_retrieveIdemCache'](_0x2b7d3f);if(_0x519b06)return _0x519b06;}const _0x374107=await this['_getReservationContext'](_0x48b2a5),_0x49e64a=this['_buildReuseKey'](_0x374107['resource'],_0x374107['formatKey']),_0x49b0c3=_0x374107[_0x5c50d3(0xd7)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2cf514=_0x49b0c3?_0x49b0c3[0x1]:_0x5c50d3(0x19c),_0x18b4a4=this['_getCounterTTL'](_0x2cf514),_0x41f072=redisClient['getClient'](),_0x5aa51d=await _0x41f072['eval'](LUA_CANCEL_RESERVATION,0x3,_0x374107['rsvKey'],_0x374107[_0x5c50d3(0x85)],_0x49e64a,_0x48b2a5,String(_0x18b4a4));if(!_0x5aa51d||_0x5aa51d[0x0]!==0x1)throw new IdGeneratorError(_0x5c50d3(0x163),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x48b2a5,{'token':_0x48b2a5});const _0x248a9d=_0x569ea2[_0x5c50d3(0x11e)](parseInt,_0x5aa51d[0x1],0xa),_0x2842cc=_0x5aa51d[0x2],_0x3de28e=_0x5aa51d[0x3],_0x17b45f=new Date()['toISOString'](),_0x31cfb9={'cancelled':!![],'token':_0x48b2a5,'value':_0x2842cc,'counter':_0x248a9d,'resource':_0x374107['resource'],'formatKey':_0x3de28e,'releasedToReuse':!![],'cancelledAt':_0x17b45f};return await this['_storeIdemCache'](_0x2b7d3f,_0x31cfb9),this[_0x5c50d3(0x8f)](_0x374107['resource'],_0x3de28e,{'lastCancelledCounter':_0x248a9d,'lastCancelledAt':_0x17b45f},_0x18b4a4),logger['info']({'event':_0x569ea2[_0x5c50d3(0x101)],'resource':_0x374107[_0x5c50d3(0xe0)],'formatKey':_0x3de28e,'counter':_0x248a9d,'token':_0x48b2a5},_0x5c50d3(0xc2)+_0x2842cc+_0x5c50d3(0x185)+_0x48b2a5+')'),_0x31cfb9;}async['extendReservation'](_0x5168d7){const _0x10469f=a0_0x563a93,_0x4dd581={'lVRtu':'ID\x20Generator\x20is\x20disabled','TPUcF':function(_0x2a4129,_0x3021c6){return _0x2a4129+_0x3021c6;},'QgbAX':function(_0x163c76,_0x8f02e){return _0x163c76*_0x8f02e;},'VLjoS':function(_0x520ca9,_0x5139ea){return _0x520ca9!==_0x5139ea;},'fQobH':function(_0x505014,_0x13edb2,_0x46c8e4){return _0x505014(_0x13edb2,_0x46c8e4);},'kroaN':'idgen_reservation_extended'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4dd581['lVRtu']);const _0x426159=this[_0x10469f(0x1a0)](_0x5168d7&&_0x5168d7['token']),_0x4bf1aa=this['_validateReserveTTL'](_0x5168d7&&_0x5168d7['ttl']),_0x2299ca=this[_0x10469f(0x15e)](_0x5168d7&&_0x5168d7['idempotencyKey']);let _0x1458b2=null;if(_0x2299ca){_0x1458b2=idempotencyManager['buildDeterministicKey']('idgen',_0x10469f(0xbc),_0x426159+':'+_0x2299ca);const _0x5453a5=await this[_0x10469f(0x19a)](_0x1458b2);if(_0x5453a5)return _0x5453a5;}const _0x3ac56b=await this[_0x10469f(0x103)](_0x426159),_0x1ba74f=Date['now'](),_0x418f21=_0x4dd581[_0x10469f(0x166)](_0x1ba74f,_0x4dd581[_0x10469f(0xf8)](_0x4bf1aa,0x3e8)),_0x37d710=_0x4bf1aa*0x3e8,_0x4350e3=new Date(_0x418f21)['toISOString'](),_0x5a5f77=redisClient[_0x10469f(0xea)](),_0x58e523=await _0x5a5f77[_0x10469f(0xa9)](LUA_EXTEND_RESERVATION,0x2,_0x3ac56b[_0x10469f(0xe1)],_0x3ac56b[_0x10469f(0x85)],_0x426159,String(_0x37d710),String(_0x418f21),_0x4350e3);if(!_0x58e523||_0x4dd581[_0x10469f(0x11c)](_0x58e523[0x0],0x1))throw new IdGeneratorError(_0x10469f(0x163),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x426159,{'token':_0x426159});const _0x4af582=_0x58e523[0x1],_0x1fe165=_0x4dd581[_0x10469f(0x181)](parseInt,_0x58e523[0x2],0xa),_0x59d7aa=_0x58e523[0x3],_0x4474e2=_0x58e523[0x4],_0x3b8fa3=new Date(_0x1ba74f)[_0x10469f(0x177)](),_0x3a64fa={'extended':!![],'token':_0x426159,'previousExpiresAt':_0x4af582,'expiresAt':_0x4350e3,'ttlMs':_0x37d710,'resource':_0x3ac56b['resource'],'formatKey':_0x4474e2,'counter':_0x1fe165,'value':_0x59d7aa,'extendedAt':_0x3b8fa3};await this[_0x10469f(0xbd)](_0x1458b2,_0x3a64fa);const _0x3bf526=_0x4474e2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0xf7b203=_0x3bf526?_0x3bf526[0x1]:_0x10469f(0x19c),_0x1416ad=this['_getCounterTTL'](_0xf7b203);return this['_updateMeta'](_0x3ac56b['resource'],_0x4474e2,{'lastExtendedCounter':_0x1fe165,'lastExtendedAt':_0x3b8fa3},_0x1416ad),logger[_0x10469f(0x130)]({'event':_0x4dd581[_0x10469f(0x100)],'resource':_0x3ac56b['resource'],'formatKey':_0x4474e2,'counter':_0x1fe165,'token':_0x426159,'ttl':_0x4bf1aa},_0x10469f(0x11b)+_0x59d7aa+_0x10469f(0x185)+_0x426159+_0x10469f(0x186)+_0x4bf1aa+'s)'),_0x3a64fa;}async[a0_0x563a93(0x161)](_0x52fd81){const _0x40602f=a0_0x563a93,_0xfef737={'sMwzC':function(_0x43b581,_0x21d364){return _0x43b581===_0x21d364;},'guhtZ':_0x40602f(0xd5),'kCIAF':function(_0x1a4e1d,_0x2866e7){return _0x1a4e1d>=_0x2866e7;}};if(!this[_0x40602f(0x17f)])throw new IdGeneratorError(_0x40602f(0x14d),_0x40602f(0x82));const _0x17bae3=this['_validateReservationToken'](_0x52fd81&&_0x52fd81['token']),_0xe7ce00=this[_0x40602f(0x184)](_0x17bae3),_0x5e9c1d=redisClient[_0x40602f(0xea)](),_0x207fdd=_0x5e9c1d['pipeline']();_0x207fdd[_0x40602f(0x95)](_0xe7ce00),_0x207fdd[_0x40602f(0x175)](_0xe7ce00);const _0x2e42b0=await _0x207fdd['exec'](),_0x3cd354=_0x2e42b0&&_0x2e42b0[0x0]&&_0x2e42b0[0x0][0x1],_0x563fb2=_0x2e42b0&&_0x2e42b0[0x1]&&_0x2e42b0[0x1][0x1];if(!_0x3cd354||_0xfef737[_0x40602f(0x14b)](Object['keys'](_0x3cd354)[_0x40602f(0x10b)],0x0))throw new IdGeneratorError(_0x40602f(0x163),_0x40602f(0x126)+_0x17bae3,{'token':_0x17bae3});return{'token':_0x17bae3,'resource':_0x3cd354['resource']||null,'formatKey':_0x3cd354[_0x40602f(0xd7)]||null,'format':_0x3cd354['format']||null,'prefix':_0x3cd354['prefix']||'','separator':_0x3cd354[_0x40602f(0x7e)]||'','numDigits':_0x3cd354[_0x40602f(0x14a)]?parseInt(_0x3cd354[_0x40602f(0x14a)],0xa):null,'datePrefix':_0x3cd354['datePrefix']||'','counter':_0x3cd354[_0x40602f(0xf7)]?parseInt(_0x3cd354[_0x40602f(0xf7)],0xa):null,'value':_0x3cd354['value']||null,'isReused':_0xfef737[_0x40602f(0x14b)](_0x3cd354['isReused'],'1')||_0xfef737['sMwzC'](_0x3cd354['isReused'],0x1),'createdAt':_0x3cd354[_0x40602f(0x9f)]||null,'expiresAt':_0x3cd354[_0x40602f(0x183)]||null,'ttlRemainingMs':typeof _0x563fb2===_0xfef737['guhtZ']&&_0xfef737[_0x40602f(0x117)](_0x563fb2,0x0)?_0x563fb2:null};}async['_getReservationContext'](_0x1dafb0){const _0x97a701=a0_0x563a93,_0xe67f67={'FbHxe':'formatKey'},_0x266efc=this[_0x97a701(0x184)](_0x1dafb0),_0x76a5db=redisClient['getClient'](),_0x572dfb=await _0x76a5db[_0x97a701(0xdc)](_0x266efc,'resource',_0xe67f67['FbHxe']),_0x53fd9c=_0x572dfb&&_0x572dfb[0x0],_0x51b1fe=_0x572dfb&&_0x572dfb[0x1];if(!_0x53fd9c||!_0x51b1fe)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x97a701(0x126)+_0x1dafb0,{'token':_0x1dafb0});return{'resource':_0x53fd9c,'formatKey':_0x51b1fe,'rsvKey':_0x266efc,'rsvIdxKey':this[_0x97a701(0xc9)](_0x53fd9c,_0x51b1fe)};}async['random'](_0x257b3e){const _0x1376a2=a0_0x563a93,_0x319d6f={'ziYaw':'IDGEN_DISABLED','DaHoj':_0x1376a2(0x82),'cSyyB':'random','LNhwZ':function(_0x4dec90,_0x41b6d7){return _0x4dec90<_0x41b6d7;},'lsrvk':function(_0x223efd,_0x5d89ae){return _0x223efd===_0x5d89ae;},'zMtBK':_0x1376a2(0xe6),'MoMSJ':function(_0x2f56b1,_0x241db7){return _0x2f56b1&&_0x241db7;},'ooUzI':function(_0x3780d1,_0x3c2dea){return _0x3780d1*_0x3c2dea;},'XpZuk':'idgen_random_idem_loser','vpVJH':function(_0x198402,_0x30bde6){return _0x198402||_0x30bde6;}};if(!this[_0x1376a2(0x17f)])throw new IdGeneratorError(_0x319d6f[_0x1376a2(0x133)],_0x319d6f['DaHoj']);this[_0x1376a2(0x12a)](_0x257b3e['resource']),this[_0x1376a2(0xa3)](_0x257b3e['pattern']);const _0x62434a=this[_0x1376a2(0xb9)](_0x257b3e['ttl']),_0x42135e=this['_validateMaxRetry'](_0x257b3e[_0x1376a2(0x125)]),_0xf01693=this[_0x1376a2(0x15e)](_0x257b3e['idempotencyKey']),_0xc8ffe6=_0x257b3e['ensureUnique']===!![],{resource:_0x4d7959,pattern:_0x59cb69}=_0x257b3e;let _0x1ce64b=null;if(_0xf01693){_0x1ce64b=this[_0x1376a2(0x90)](_0x319d6f[_0x1376a2(0x120)],_0x4d7959,null,_0xf01693);const _0x16b047=await this[_0x1376a2(0x19a)](_0x1ce64b);if(_0x16b047)return _0x16b047;}const _0x165d0f=redisClient['getClient']();let _0x26d308=null,_0x3f7b9f=0x0;if(!_0xc8ffe6)_0x26d308=this['_generateFromPattern'](_0x59cb69),_0x3f7b9f=0x1;else{for(let _0x49751d=0x0;_0x319d6f['LNhwZ'](_0x49751d,_0x42135e);_0x49751d++){_0x3f7b9f++;const _0x2ba768=this['_generateFromPattern'](_0x59cb69);if(_0x62434a){const _0x10b341=this[_0x1376a2(0x188)](_0x4d7959,_0x2ba768),_0x2b9c7a=await _0x165d0f['set'](_0x10b341,'1','EX',_0x62434a,'NX');if(_0x2b9c7a==='OK'){_0x26d308=_0x2ba768;break;}}else{const _0x10c56a=this['_buildIssuedKey'](_0x4d7959),_0x283913=await _0x165d0f[_0x1376a2(0x13c)](_0x10c56a,_0x2ba768);if(_0x319d6f['lsrvk'](_0x283913,0x1)){_0x26d308=_0x2ba768;break;}}}if(_0x26d308===null)throw new IdGeneratorError(_0x319d6f['zMtBK'],_0x1376a2(0xad)+_0x42135e+_0x1376a2(0x158),{'resource':_0x4d7959,'pattern':_0x59cb69,'maxRetry':_0x42135e});}const _0xf48164={'value':_0x26d308,'resource':_0x4d7959,'pattern':_0x59cb69,'attemptCount':_0x3f7b9f,'generatedAt':new Date()[_0x1376a2(0x177)]()};_0x319d6f['MoMSJ'](_0x62434a,_0xc8ffe6)&&(_0xf48164[_0x1376a2(0x183)]=new Date(Date[_0x1376a2(0xd8)]()+_0x319d6f[_0x1376a2(0x195)](_0x62434a,0x3e8))['toISOString']());const _0x16306e=await this[_0x1376a2(0x138)](_0x1ce64b,_0xf48164);if(!_0x16306e['stored'])return _0xc8ffe6&&await this[_0x1376a2(0x99)](_0x4d7959,_0x26d308,_0x62434a),logger[_0x1376a2(0x130)]({'event':_0x319d6f['XpZuk'],'resource':_0x4d7959,'pattern':_0x59cb69,'value':_0x26d308},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x16306e[_0x1376a2(0x18b)];return logger[_0x1376a2(0x130)]({'event':_0x1376a2(0xbf),'resource':_0x4d7959,'pattern':_0x59cb69,'attemptCount':_0x3f7b9f,'ensureUnique':_0xc8ffe6,'ttl':_0x319d6f[_0x1376a2(0x16f)](_0x62434a,0x0)},_0x1376a2(0x16c)+_0x26d308),_0xf48164;}async['pin'](_0x195a4f){const _0x3ae6a6=a0_0x563a93,_0x4225c9={'HkUqb':function(_0x669b75,_0x3de3e1){return _0x669b75>_0x3de3e1;}},_0x3b5ec0=_0x195a4f['digits']==null?this[_0x3ae6a6(0xb4)]:_0x195a4f['digits'];if(!Number['isInteger'](_0x3b5ec0)||_0x3b5ec0<MIN_PIN_DIGITS||_0x4225c9[_0x3ae6a6(0xb7)](_0x3b5ec0,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x3ae6a6(0x192),_0x3ae6a6(0x11d)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x3ae6a6(0xe2)+_0x3b5ec0+')');const _0x38d2d6='9'[_0x3ae6a6(0x157)](_0x3b5ec0);return this[_0x3ae6a6(0x96)]({'resource':_0x195a4f['resource'],'pattern':_0x38d2d6,'ensureUnique':_0x195a4f['ensureUnique']===!![],'ttl':_0x195a4f[_0x3ae6a6(0x7c)],'maxRetry':_0x195a4f['maxRetry'],'idempotencyKey':_0x195a4f['idempotencyKey']});}async['serial'](_0x293ad6){const _0x2723f1=a0_0x563a93,_0x2259fe=_0x293ad6[_0x2723f1(0x182)]||this[_0x2723f1(0x194)];return this[_0x2723f1(0x96)]({'resource':_0x293ad6[_0x2723f1(0xe0)],'pattern':_0x2259fe,'ensureUnique':_0x293ad6[_0x2723f1(0xa7)]!==![],'ttl':_0x293ad6['ttl'],'maxRetry':_0x293ad6[_0x2723f1(0x125)],'idempotencyKey':_0x293ad6['idempotencyKey']});}async['code'](_0x1a9a85){const _0x16f84a=a0_0x563a93,_0x50c58f={'wwoSX':function(_0x265c27,_0x5deb0b){return _0x265c27!==_0x5deb0b;}},_0x47040b=_0x1a9a85[_0x16f84a(0x182)]||this['defaultCodePattern'];return this['random']({'resource':_0x1a9a85[_0x16f84a(0xe0)],'pattern':_0x47040b,'ensureUnique':_0x50c58f['wwoSX'](_0x1a9a85['ensureUnique'],![]),'ttl':_0x1a9a85['ttl'],'maxRetry':_0x1a9a85[_0x16f84a(0x125)],'idempotencyKey':_0x1a9a85['idempotencyKey']});}async['consume'](_0x4da450){const _0x25cb3b=a0_0x563a93,_0x4bad68={'RlWDF':'ID\x20Generator\x20is\x20disabled','xLfIW':'IDGEN_INVALID_NUMBER','LLVhv':function(_0x5d0a35,_0x281f5c){return _0x5d0a35>_0x281f5c;}};if(!this[_0x25cb3b(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x4bad68['RlWDF']);this['_validateResource'](_0x4da450['resource']);if(typeof _0x4da450[_0x25cb3b(0xda)]!==_0x25cb3b(0xaa)||_0x4da450[_0x25cb3b(0xda)][_0x25cb3b(0x10b)]===0x0)throw new IdGeneratorError(_0x4bad68['xLfIW'],_0x25cb3b(0x176));const {resource:_0x490e2e,value:_0x470762}=_0x4da450,_0x836ca3=redisClient['getClient'](),_0x1e9569=this[_0x25cb3b(0x188)](_0x490e2e,_0x470762),_0x22e42e=this[_0x25cb3b(0xf9)](_0x490e2e),[_0x4e774e,_0x2f3dbb]=await Promise[_0x25cb3b(0x16e)]([_0x836ca3[_0x25cb3b(0x17a)](_0x1e9569),_0x836ca3[_0x25cb3b(0x9d)](_0x22e42e,_0x470762)]),_0x75aca8=_0x4bad68[_0x25cb3b(0x131)](_0x4e774e+_0x2f3dbb,0x0);return logger[_0x25cb3b(0x130)]({'event':'idgen_consumed','resource':_0x490e2e,'value':_0x470762,'consumed':_0x75aca8},'ID\x20Generator\x20consumed:\x20'+_0x470762),{'consumed':_0x75aca8,'resource':_0x490e2e,'value':_0x470762,'consumedAt':new Date()[_0x25cb3b(0x177)]()};}async[a0_0x563a93(0xba)](_0x125303){const _0xdeb363=a0_0x563a93,_0x57fe89={'bOMDR':'IDGEN_DISABLED','pCrXQ':function(_0x4274e5,_0x5d1db2){return _0x4274e5===_0x5d1db2;},'Xwxtt':_0xdeb363(0xd5),'UkQcF':function(_0x3546a4,_0x202af2){return _0x3546a4===_0x202af2;},'dEpEF':'random'};if(!this['enabled'])throw new IdGeneratorError(_0x57fe89['bOMDR'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x125303['resource']);const _0x5560b1=_0x125303[_0xdeb363(0x10f)]||'number',_0x3b27c7=redisClient[_0xdeb363(0xea)]();if(_0x57fe89['pCrXQ'](_0x5560b1,_0x57fe89['Xwxtt'])){const _0x261299=(_0x125303['format']||_0xdeb363(0x19c))['toLowerCase']();if(!ALLOWED_FORMATS[_0xdeb363(0xe8)](_0x261299))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0xdeb363(0xf1)+_0x125303[_0xdeb363(0xa1)]);const {formatKey:_0x43d5c6}=this[_0xdeb363(0xd3)](_0x261299,_0x125303['prefix']||''),_0x3d0610=this[_0xdeb363(0x114)](_0x125303['resource'],_0x43d5c6),_0x945678=this['_buildReuseKey'](_0x125303[_0xdeb363(0xe0)],_0x43d5c6),[_0x50906a,_0x1c9361]=await Promise[_0xdeb363(0x16e)]([_0x3b27c7['get'](_0x3d0610),_0x3b27c7['zcard'](_0x945678)]);return{'resource':_0x125303['resource'],'mode':_0x57fe89['Xwxtt'],'formatKey':_0x43d5c6,'currentCounter':parseInt(_0x50906a,0xa)||0x0,'reusePoolSize':_0x1c9361||0x0};}if(_0x57fe89['UkQcF'](_0x5560b1,_0x57fe89[_0xdeb363(0x106)])){const _0x3c4d6d=this[_0xdeb363(0xf9)](_0x125303['resource']),_0x32e8c4=await _0x3b27c7['scard'](_0x3c4d6d);return{'resource':_0x125303[_0xdeb363(0xe0)],'mode':'random','issuedCount':_0x32e8c4||0x0};}throw new IdGeneratorError(_0xdeb363(0x198),'Unknown\x20mode:\x20'+_0x5560b1);}async['getInfo'](_0x1ae227){const _0x5454b1=a0_0x563a93,_0x3bd6a4=await this['peek'](_0x1ae227);if(_0x3bd6a4[_0x5454b1(0x10f)]==='number'){const _0x717f6=redisClient['getClient'](),_0x4c44fc=this[_0x5454b1(0xf6)](_0x1ae227['resource'],_0x3bd6a4[_0x5454b1(0xd7)]),_0x25c771=this['_buildReuseKey'](_0x1ae227[_0x5454b1(0xe0)],_0x3bd6a4['formatKey']),[_0x520145,_0x27f8e9]=await Promise['all']([_0x717f6['hgetall'](_0x4c44fc),_0x717f6['zrange'](_0x25c771,0x0,-0x1)]);return{..._0x3bd6a4,'reusePoolValues':_0x27f8e9[_0x5454b1(0xfa)](_0x38b041=>parseInt(_0x38b041,0xa)),'meta':_0x520145&&Object['keys'](_0x520145)['length']>0x0?_0x520145:null};}return _0x3bd6a4;}async['reset'](_0x436c41){const _0x4ad86a=a0_0x563a93,_0x4287a9={'JhlZh':'IDGEN_DISABLED','ytSsy':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','EIRdY':function(_0x53b29,_0x1a3593){return _0x53b29===_0x1a3593;},'buwgp':_0x4ad86a(0xd5),'birjn':_0x4ad86a(0xee),'KSXuv':'random','cfWEA':'issued','CVjIk':'IDGEN_INVALID_MODE'};if(!this[_0x4ad86a(0x17f)])throw new IdGeneratorError(_0x4287a9['JhlZh'],'ID\x20Generator\x20is\x20disabled');if(!this[_0x4ad86a(0x146)])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4287a9['ytSsy']);this[_0x4ad86a(0x12a)](_0x436c41[_0x4ad86a(0xe0)]);const _0xe2cbbb=_0x436c41[_0x4ad86a(0x10f)]||_0x4ad86a(0xd5),_0x24ab58=redisClient['getClient']();if(_0x4287a9[_0x4ad86a(0xd1)](_0xe2cbbb,'number')){const _0x3815bc=(_0x436c41['format']||'text')[_0x4ad86a(0x122)]();if(!ALLOWED_FORMATS['has'](_0x3815bc))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4ad86a(0xf1)+_0x436c41[_0x4ad86a(0xa1)]);const {formatKey:_0x3009be}=this[_0x4ad86a(0xd3)](_0x3815bc,_0x436c41['prefix']||''),_0x4ae335=this[_0x4ad86a(0x114)](_0x436c41[_0x4ad86a(0xe0)],_0x3009be),_0x421262=this['_buildReuseKey'](_0x436c41['resource'],_0x3009be),_0x884025=this['_buildMetaKey'](_0x436c41[_0x4ad86a(0xe0)],_0x3009be);return await _0x24ab58[_0x4ad86a(0x17a)](_0x4ae335,_0x421262,_0x884025),logger['warn']({'event':'idgen_reset','resource':_0x436c41[_0x4ad86a(0xe0)],'mode':_0x4287a9[_0x4ad86a(0xdd)],'formatKey':_0x3009be},'ID\x20Generator\x20reset:\x20'+_0x436c41['resource']+':'+_0x3009be),{'reset':!![],'resource':_0x436c41['resource'],'mode':'number','formatKey':_0x3009be,'deletedKeys':[_0x4287a9['birjn'],'reuse',_0x4ad86a(0x115)]};}if(_0xe2cbbb===_0x4287a9[_0x4ad86a(0x112)]){const _0x6ff735=this['_buildIssuedKey'](_0x436c41['resource']);return await _0x24ab58['del'](_0x6ff735),logger[_0x4ad86a(0xb1)]({'event':'idgen_reset','resource':_0x436c41['resource'],'mode':'random'},_0x4ad86a(0x160)+_0x436c41['resource']),{'reset':!![],'resource':_0x436c41['resource'],'mode':_0x4287a9['KSXuv'],'deletedKeys':[_0x4287a9['cfWEA']]};}throw new IdGeneratorError(_0x4287a9['CVjIk'],'Unknown\x20mode:\x20'+_0xe2cbbb);}}function a0_0x21ab(){const _0x1dc026=['Bwf0y2G','Dhj1zq','D2fYBG','C3rVCMvK','mtyWotHAEgTvzfq','zgvMyxvSDfbPBKrPz2L0CW','otK5os05otK5','q1HTEe0','sgTvCwi','C1zuq2K','x3zHBgLKyxrLvfrm','CgvLAW','qvzxs0u','CMvZzxj2zv9LEhrLBMq','x3n0B3jLswrLBunHy2HL','yunXweK','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','CMy6AwrNzw46','x3zHBgLKyxrLtwf4uMv0CNK','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','ExL5Ew1Tzgq','ntrSD2Puq2e','mtu1mJy2nwjNA1LOsq','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','yM9VBgvHBG','mJy1oti0mePAyuznsW','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','CMv1C2u6','mdeYmZq1nJC4oufcq0rfrG','x3zHBgLKyxrLuMvZzxj2zvruta','AM9PBG','r0vQuuu','Cvnwyu0','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','ruLszfK','DNrAwuC','x2j1AwXKrM9YBwf0s2v5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','BNvTyMvY','swrhzw5LCMf0B3jfCNjVCG','zM9YBwf0s2v5','BM93','EujtDxq','DMfSDwu','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','Ag1Nzxq','yNv3z3a','x2vUC3vYzuLUAxrPywXPEMvK','AwrNzw5Fy29UzMLNx2LUAxq','CMvZB3vYy2u','CNn2s2v5','icHNB3q6ia','rgPVzLm','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','ntCZmvLKwwzLtG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Fsu5wquXjrf9qqvrurvjo','AgfZ','wLriD2e','z2v0q2XPzw50','v1vkvKS','CMvZzxj2zv9Jyw5JzwW','suqGr2vUzxjHDg9Yig51BwjLCJOG','C2vX','D3z3zgm','mJD5uhrjt2W','sw52ywXPzcbMB3jTyxq6ia','x2TLEvbYzwzPEa','zgrcB2G','surhru5Fsu5wquXjrf9ovu1crvi','rg9zDg0','x2j1AwXKtwv0yuTLEq','y291BNrLCG','uwDIqvG','x2j1AwXKsxnZDwvKs2v5','BwfW','AxnfBMfIBgvK','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','DwTYz0W','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','CMfUzg9Tsw50','A3jVyu4','rfHtzMi','ExL5Eq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','CNn2oG','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','zevWruy','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','surhru5Fsurftv9uveW','EfnVAu0','z2v0tw9UDgG','BgvUz3rO','CgfKu3rHCNq','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','x2vUywjSzwq','Bw9Kzq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','s1nyDxy','x3rLEhq','x2j1AwXKu2vXs2v5','Bwv0yq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','A0njquy','x2rLzMf1BhrnyxHszxrYEq','vgXqAKW','C3rYAw5NAwz5','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','vKXQB1m','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','uvfwAey','C2v0','y1n5Eui','surhru5Fsu5wquXjrf9trvbbuKfut1i','Dg9mB3DLCKnHC2u','ntiXotjmwhHOv3O','x2j1AwXKuMv1C2vlzxK','Bwf4uMv0CNK','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','DhrStxm','DKLgzu4','lI9SB2DNzxi','x3zHBgLKyxrLuMvZB3vYy2u','qLvVuwC','nty1m3jnAK5lrq','zw50CMLLCW','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','z3PYqNi','Aw5MBW','teXwAhy','igv4y2vLzhmG','EMLzyxC','x2rLzMf1BhrdB2rLugf0DgvYBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x2LUAxrdB25MAwC','x3n0B3jLswrLBunHy2HLtLG','Cg93','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','C2fKza','x3bHzdi','surhru5Fsu5wquXjrf9gt1jnqvq','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','z2v0','x2DLDenVDw50zxjuveW','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','ExL5Ew1T','mta1mtKZmgnkC0vmwa','uLvUrfK','ywXSB3DszxnLDa','qwjJExq','zgv0ywLSCW','lcbLEhbLy3rLzca','BNvTrgLNAxrZ','C013EKm','CerHBKm','surhru5FreLtqujmruq','z2vUzxjHDgvKqxq','x3bHCNnLtNvTyMvY','x2nVDw50zxjuveXnyxa','ignOyxjZ','wMnXyKS','CMvZzxj2zu1HEfruta','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','q0TYsui','qvD1y04','CMvWzwf0','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','AhnLDa','yNvPBgrezxrLCM1PBMLZDgLJs2v5','BgL1Dxy','Dg9Rzw4','wvPhEuq','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AvbPu1C','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','z2v0uMvZzxj2yxrPB24','u2DzweC','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','mtq4oezcEePNwq','CNjlq0S','vfbvy0y','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','EhbAD00','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','BwvZC2fNzq','surhru5Fq09vtLrfuL9uveXFrefjtfK','suqGr2vUzxjHDg9YihjHBMrVBtOG','x2zVCM1HDe51BwjLCG','ywXS','DNbwsKG','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','rfr3EuG','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','zw52','zfnczgW','Chr0Ba','DMfSDwuGAxmGCMvXDwLYzwq','Dg9ju09tDhjPBMC','x2LKzw1uveW','y29UzMLYBvjLC2vYDMf0Aw9U','zgvS','ExznwKO','AwrLBxbVDgvUy3LlzxK','AwrLBvruta','CMvSzwfZzwrbDa','zw5HyMXLza','x3L5ExLTBwrKxW','zLfVyKG','Cgf0DgvYBG','zxHWAxjLC0f0','x2j1AwXKuMvZzxj2yxrPB25lzxK','icH0B2TLBJ0','lcaR','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x2j1AwXKqwn0AxzLs2v5','CxzfBu0','DgvZDa','D2LUBMvYuMvZDwX0','AwrLBuTLEq','z21Usuq','CgXqBuG','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CgfYC2u','nJjxwMHQCLG','surhru5Fsu5wquXjrf9esuDjvfm','C3bSAxq','zgvMyxvSDfnLCMLHBfbHDhrLCM4','B29vEKK','ChjLzML4','y3j5ChrV','surhru5Fsu5wquXjrf9nt0rf','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','x3jLDhjPzxzLswrLBunHy2HL','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','Dgv4Da','rg55swq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','tfnLvwy','Bwv0ytO','lI9YzwrPCY1JBgLLBNq','CMvZzxj2zurLzMf1BhruveW','CMvZzxj2zv9JB25MAxjT','ChvZAa','CMvSzwfZzq','AxnjBNrLz2vY','DhrS','x2LUAxrPywXPEMvK','C2vWyxjHDg9Y','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x3L5ExLTBv8','AxnZDwvKoG','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','uuPotMu','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','CNn2swr4s2v5','x2fSBg93uMvZzxq','lcbNB3qG','sxDZwKG','A2v5uhjLzML4','q3DMBxe','nda2AKzMq0z3','zxHWB3j0CW','rfbXChK','y291BNrLCKLUDa','x3vWzgf0zu1LDge','x2j1AwXKswrLBuTLEq','z2v0rgf0zq','mtf8n3W0Fdj8nxWXmhW2Fdf8m3W4FdL8ma','ihnLy29UzhmGkgDVDdOG','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','AgDLDgfSBa','CMfUzg9T','x2rLzMf1BhrqAw5eAwDPDhm','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','x3vUzg9syw5KB21szxnLCNzHDgLVBG','AwrNzw4','mdeYmZq1nJC4oq','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','C3jLBq','surhru5Fsu5wquXjrf9quKvgsvG','y3jLyxrLzef0','CxPur0O','zM9YBwf0','uwzHCNe','x3zHBgLKyxrLugf0DgvYBG','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','CNPhvxO','zw5ZDxjLvw5PCxvL','surhru5Fsu5wquXjrf9uveW','zxzHBa','C3rYAw5N','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','x3jLC2vYDMvnyxHuveW','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','x3jLC2vYDMvezwzHDwX0vfrm'];a0_0x21ab=function(){return _0x1dc026;};return a0_0x21ab();}const instance=new IdGenerator();instance[a0_0x563a93(0xd6)]=IdGeneratorError,module[a0_0x563a93(0x8c)]=instance,module['exports'][a0_0x563a93(0xd6)]=IdGeneratorError;
1
+ 'use strict';const a0_0x1ed12e=a0_0x4f6e;(function(_0x401f40,_0x4c9f01){const _0x1e9dda=a0_0x4f6e,_0x2f86e3=_0x401f40();while(!![]){try{const _0x3744c1=-parseInt(_0x1e9dda(0x1fa))/0x1+-parseInt(_0x1e9dda(0x273))/0x2+-parseInt(_0x1e9dda(0x1c3))/0x3*(parseInt(_0x1e9dda(0x22d))/0x4)+-parseInt(_0x1e9dda(0x1c1))/0x5*(-parseInt(_0x1e9dda(0x1f8))/0x6)+parseInt(_0x1e9dda(0x1c7))/0x7+parseInt(_0x1e9dda(0x2be))/0x8+parseInt(_0x1e9dda(0x234))/0x9;if(_0x3744c1===_0x4c9f01)break;else _0x2f86e3['push'](_0x2f86e3['shift']());}catch(_0x44dc89){_0x2f86e3['push'](_0x2f86e3['shift']());}}}(a0_0x1fef,0x64ae0));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x1ed12e(0x28e)),ALLOWED_FORMATS=new Set([a0_0x1ed12e(0x1fd),'yyyy',a0_0x1ed12e(0x269),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',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=a0_0x1ed12e(0x26d),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x1ed12e(0x270);function a0_0x4f6e(_0x324257,_0x20c975){_0x324257=_0x324257-0x1bf;const _0x1fef00=a0_0x1fef();let _0x4f6e6b=_0x1fef00[_0x324257];if(a0_0x4f6e['dxALXC']===undefined){var _0x545c2d=function(_0x3258b9){const _0xffaf6f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x457178='',_0x544748='';for(let _0xfe940c=0x0,_0x18a22b,_0x345d69,_0x1fc663=0x0;_0x345d69=_0x3258b9['charAt'](_0x1fc663++);~_0x345d69&&(_0x18a22b=_0xfe940c%0x4?_0x18a22b*0x40+_0x345d69:_0x345d69,_0xfe940c++%0x4)?_0x457178+=String['fromCharCode'](0xff&_0x18a22b>>(-0x2*_0xfe940c&0x6)):0x0){_0x345d69=_0xffaf6f['indexOf'](_0x345d69);}for(let _0x149477=0x0,_0x4b1bd5=_0x457178['length'];_0x149477<_0x4b1bd5;_0x149477++){_0x544748+='%'+('00'+_0x457178['charCodeAt'](_0x149477)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x544748);};a0_0x4f6e['MUChvC']=_0x545c2d,a0_0x4f6e['OTgeAr']={},a0_0x4f6e['dxALXC']=!![];}const _0x15ff10=_0x1fef00[0x0],_0x41a070=_0x324257+_0x15ff10,_0x5be705=a0_0x4f6e['OTgeAr'][_0x41a070];return!_0x5be705?(_0x4f6e6b=a0_0x4f6e['MUChvC'](_0x4f6e6b),a0_0x4f6e['OTgeAr'][_0x41a070]=_0x4f6e6b):_0x4f6e6b=_0x5be705,_0x4f6e6b;}function a0_0x1fef(){const _0x177f71=['s2Lcs2y','BNvTyMvY','wg1sD2i','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','z1fnuw4','rujJEfG','DNnkEfC','CMvZB3vYy2u','uurAEMu','CNPewxm','C3nnBgW','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','surhru5Fsu5wquXjrf9ovu1crvi','ywXSB3DszxnLDa','CNn2oG','x3vUzg9syw5KB21szxnLCNzHDgLVBG','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','C3bSAxq','uxn5sva','swrLBxbVDgvUy3KGy2fJAguGseLu','Bwf0y2G','x2fSBg93uMvZzxq','zLztBxa','vw5RBM93BIbTB2rLoIa','x2j1AwXKuMv1C2vlzxK','ufjWr0u','x2rLzMf1BhrdB2rLugf0DgvYBG','Aw5MBW','y3jLyxrLzef0','qK5eueG','Cu9XwNC','odq2mtjgwvLtywi','CMvSzwfZzq','veLvBLG','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','x3bHCNnLtNvTyMvY','AwrNzw5FAwrLBv9OAxq','AgDLDgfSBa','nZiZmdK2sfDpDePQ','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x3jLC2vYDMvnyxHuveW','qxrJCKy','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','zxHWAxjL','wwflzgC','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','DhrStxm','t3fjze4','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','zw5HyMXLza','x2vUywjSzwq','icHNB3q6ia','surhru5FreLtqujmruq','zMPLu3O','BNvTrgLNAxrZ','ALPyCKK','C2vXoG','Dhj1zq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','we5yvuC','CgfYC2u','yKXjyue','DwrABhK','BgvUz3rO','x2j1AwXKuMvZzxj2yxrPB25lzxK','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','CMy6AwrNzw46','C2nHCMq','x2rLzMf1BhrqAw5eAwDPDhm','svDushO','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','CujlDLO','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','CfPJq3e','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','swrhzw5LCMf0B3jfCNjVCG','AvPgqKG','ihbHCNrZkq','y291BNrLCG','v1LqCxO','x3L5ExLTBwrKxW','wfHywc1ywfHylvHywfGTwfHywa','CgfKzgvKicHNB3q6ia','rhLSCMm','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zw5ZDxjLvw5PCxvL','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','y291BNrLCKLUDa','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','ExL5Ew1T','z2v0','DuLXDuO','D2fYBG','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','surhru5Fsu5wquXjrf9quKvgsvG','wurTAu4','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','ExL5Eq','mte3otiYnK5SD1DcvW','surhru5Fsu5wquXjrf9nt0rf','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','zw52','zMPTyNq','x3n0B3jLswrLBunHy2HLtLG','Bwf4uMv0CNK','x2TLEvbYzwzPEa','suqGr2vUzxjHDg9YihjHBMrVBtOG','x2vUC3vYzuLUAxrPywXPEMvK','zK1ZA1a','x3zHBgLKyxrLuMvZzxj2zvruta','ugnTswu','BM93','BwvZC2fNzq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMvZzxj2zu51BwjLCG','sw52ywXPzcbMB3jTyxq6ia','x3rLEhq','Dg9Rzw4','x2j1AwXKrM9YBwf0s2v5','x2rLzMf1BhrnyxHszxrYEq','zgLsEgy','surhru5FquXmt1DFuKvtrvq','C2v0','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','q3DqAwu','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','x3jLC2vYDMvezwzHDwX0vfrm','zgLNAxrZ','AwrNzw5Fy29UzMLNx2LUAxq','CgfKu3rHCNq','C3rVCMvK','z2v0uMvZzxj2yxrPB24','AxnZDwvKoG','CMfUzg9Tvvvjra','qxrouKi','CMvZzxj2zurLzMf1BhruveW','rLHer3K','zM9YBwf0s2v5','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','CNn2s2v5','x3zHBgLKyxrLvfrm','tMPwvhK','B1bVBg0','zgvMyxvSDfnLCMLHBfbHDhrLCM4','x3bHzdi','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','svniBwu','x2nVDw50zxjuveXnyxa','Cg93','igrPz2L0CYaOz290oIa','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','Bw9Kzq','x2zVCM1HDe51BwjLCG','x2j1AwXKqwn0AxzLs2v5','DgvZDa','y2fUy2vSuMvZzxj2yxrPB24','q291BNrLCIbVDMvYzMXVDZOG','Dg9mB3DLCKnHC2u','r2nRCe0','z2v0rgf0zq','Dg9ju09tDhjPBMC','AxnZDwvK','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','surhru5Fq09vtLrfuL9pvKvsrKXpvW','x3jLDhjPzxzLswrLBunHy2HL','uuroAfa','tMnMsge','r0vJExC','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','CLLOCfe','x2rLzMf1BhrtzxjPywXqyxr0zxjU','CMfUzg9T','nJm2ndu2mg56uKzeza','z2vUzxjHDgvKqxq','A0Duwee','y29Kzq','CMvZzxj2zq','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','surhru5Fsu5wquXjrf9gt1jnqvq','txnfse8','surhru5Frevgqvvmvf9qsu5FreLhsvrt','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','BMfTzq','ExL5Ew1Tzgq','zM9YBwf0','x3zHBgLKyxrLtwf4uMv0CNK','C2vWyxjHDg9Y','x2j1AwXKtwv0yuTLEq','AwrNzw4','z2v0q2XPzw50','surhru5Fsu5wquXjrf9uveW','rvfuwuW','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','Cuzpz1y','x2DLDenVDw50zxjuveW','yM9VBgvHBG','tuLzEKe','x3vWzgf0zu1LDge','zgvS','CMv1C2u','DMfSDwuGAxmGCMvXDwLYzwq','wfb0uMu','surhru5Fsu5wquXjrf9trvbbuKfut1i','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','DhrS','zxPrC1O','DfPoBKG','EeXksNi','AwrLBvruta','AxnszxvZzwq','C2vX','ChjLzML4','ignOyxjZicHNB3qGBgvUz3rOoIa','AxnjBNrLz2vY','surhru5FuKvtrvrFtK9ux0fmte9xruq','uMzKDxi','ote1nw50s1fQta','suqGr2vUzxjHDg9YihjLC2v0oIa','ndj6DwjKzLK','z2v0sw5MBW','Bg5cqu4','surhru5Fru5bqKXfra','ndeWotuZowzguvPRuq','ywXS','CNn2swr4s2v5','x3zHBgLKyxrLuMvZB3vYy2u','uMvPCxO','icH0B2TLBJ0','ywjWzw4','CMvZzxj2zv9JB25MAxjT','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','uejzEfa','zgvMyxvSDfbPBKrPz2L0CW','x2j1AwXKswrLBuTLEq','rwvzA2K','DKn1ENu','AM9PBG','zgvMyxvSDe1HEfjLDhj5','wgvZv3m','x2j1AwXKsxnZDwvKs2v5','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','zxHWB3j0CW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','C3rYAw5N','D2LUBMvYuMvZDwX0','EMLzDem','DK9cCw4','CMvWzwf0','x3L5ExLF','x2DLBMvYyxrLrNjVBvbHDhrLCM4','igv4y2vLzhmG','CgvLAW','zw50CMLLCW','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','v3rsv3O','tu1jEMW','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','s0vir20','Cgf0DgvYBG','x3n0B3jLswrLBunHy2HL','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','uKLyquG','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','surhru5Fsu5wquXjrf9srvnpvvjdrq','zwr4BgC','x3L5ExLTBv8','CMvZzxj2zv9Jyw5JzwW','A2v5uhjLzML4','C2v0zxG','C3rYAw5NAwz5','nZe0zwzQz09A','zxzHBa','mZGYnZqXte9lzw5t','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','ELbXBgG','Dgv4Da','v216D2K','uhziCuC','s1H4Ewm','ihnLy29UzhmGkgDVDdOG','zMrqvgO','ChvZAa','tKDKtuS','q29ctgi','AxL2u2G','AwrLBxbVDgvUy3LlzxK','x3zHBgLKyxrLugf0DgvYBG','DMfSDwu','ywn0AxzLoG','zxHLyW','uMXbuLy','x2j1AwXKu2vXs2v5'];a0_0x1fef=function(){return _0x177f71;};return a0_0x1fef();}class IdGeneratorError extends Error{constructor(_0x1b13e9,_0x217a47,_0x3262f2=null){const _0x1acef8=a0_0x1ed12e,_0x4db1ef={'jZXrI':_0x1acef8(0x25a)};super(_0x217a47||_0x1b13e9),this[_0x1acef8(0x2c8)]=_0x4db1ef[_0x1acef8(0x246)],this[_0x1acef8(0x2c1)]=_0x1b13e9,this['details']=_0x3262f2;}}class IdGenerator{constructor(){const _0x30c1ac=a0_0x1ed12e;this['_initialized']=![],this[_0x30c1ac(0x241)]=null,this[_0x30c1ac(0x27a)]=null,this['_idemTTL']=null,this[_0x30c1ac(0x223)]=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this[_0x30c1ac(0x2bc)]=null,this[_0x30c1ac(0x228)]=null,this['_counterTTLMap']=null,this[_0x30c1ac(0x28f)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0xcd291b=a0_0x1ed12e,_0x2e0efd={'EBcxX':function(_0x4c0907,_0x15fd73){return _0x4c0907===_0x15fd73;},'AtNRB':_0xcd291b(0x248),'ISHme':function(_0x55d0b3,_0x3da568,_0x8ed619){return _0x55d0b3(_0x3da568,_0x8ed619);},'iyvSh':_0xcd291b(0x260),'abpen':'9999-9999','kGrzq':function(_0x387444,_0x166c0f,_0x395c5a){return _0x387444(_0x166c0f,_0x395c5a);}};this['_keyPrefix']=_0xcd291b(0x251),this[_0xcd291b(0x241)]=_0x2e0efd[_0xcd291b(0x213)](process[_0xcd291b(0x276)][_0xcd291b(0x1c6)],_0x2e0efd[_0xcd291b(0x297)]),this['_idemTTL']=_0x2e0efd[_0xcd291b(0x2a3)](parseInt,process[_0xcd291b(0x276)]['IDGEN_IDEM_TTL'],0xa)||0x258,this[_0xcd291b(0x223)]=process['env'][_0xcd291b(0x28a)]===_0x2e0efd[_0xcd291b(0x297)],this[_0xcd291b(0x288)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=parseInt(process[_0xcd291b(0x276)][_0xcd291b(0x2c6)],0xa)||0x6,this[_0xcd291b(0x2bc)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x2e0efd[_0xcd291b(0x206)],this[_0xcd291b(0x228)]=process[_0xcd291b(0x276)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x2e0efd[_0xcd291b(0x1cd)],this[_0xcd291b(0x2a4)]={'yyyymm':parseInt(process[_0xcd291b(0x276)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x2e0efd['kGrzq'](parseInt,process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process[_0xcd291b(0x276)][_0xcd291b(0x2a8)],0xa)||DEFAULT_RESERVE_TTL,this[_0xcd291b(0x236)]=parseInt(process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger['info']({'event':_0xcd291b(0x291),'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this[_0xcd291b(0x223)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0xcd291b(0x236)]},_0xcd291b(0x2c3)+this['_enabled']);}['_ensureInitialized'](){if(!this['_initialized'])this['_initConfig']();}get['enabled'](){const _0x4ce57d=a0_0x1ed12e;return this[_0x4ce57d(0x27c)](),this['_enabled'];}get['keyPrefix'](){const _0x59033a=a0_0x1ed12e;return this[_0x59033a(0x27c)](),this[_0x59033a(0x27a)];}get[a0_0x1ed12e(0x2e2)](){const _0x3ddd4d=a0_0x1ed12e;return this[_0x3ddd4d(0x27c)](),this['_idemTTL'];}get['allowReset'](){const _0x56b087=a0_0x1ed12e;return this[_0x56b087(0x27c)](),this[_0x56b087(0x223)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x4be27f=a0_0x1ed12e;return this[_0x4be27f(0x27c)](),this[_0x4be27f(0x253)];}get[a0_0x1ed12e(0x2a0)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x1d5742=a0_0x1ed12e;return this[_0x1d5742(0x27c)](),this[_0x1d5742(0x28f)];}get['reserveMaxTTL'](){const _0x29be0a=a0_0x1ed12e;return this['_ensureInitialized'](),this[_0x29be0a(0x236)];}['isEnabled'](){const _0x2c5bcb=a0_0x1ed12e;return this[_0x2c5bcb(0x240)];}[a0_0x1ed12e(0x1ca)](_0x4ba428){const _0x2ff472=a0_0x1ed12e,_0x14249a={'QsyIP':function(_0x5d278a,_0x2d3931){return _0x5d278a!==_0x2d3931;}};if(_0x14249a[_0x2ff472(0x220)](typeof _0x4ba428,_0x2ff472(0x1dc))||!RESOURCE_REGEX['test'](_0x4ba428))throw new IdGeneratorError(_0x2ff472(0x1f1),_0x2ff472(0x257)+RESOURCE_REGEX+_0x2ff472(0x242)+JSON['stringify'](_0x4ba428)+')');}['_validateNumberParams'](_0x53f41b){const _0x322d56=a0_0x1ed12e,_0x367163={'cPoYF':'IDGEN_INVALID_FORMAT','FQSnV':function(_0x3f44e2,_0xd3fef){return _0x3f44e2<_0xd3fef;},'PRpGE':'IDGEN_INVALID_NUM_DIGITS','WYPqz':function(_0x23a424,_0x4ac1e6){return _0x23a424==_0x4ac1e6;},'qpHSQ':_0x322d56(0x1dc),'ziYtC':function(_0x2e689e,_0x40269b){return _0x2e689e!==_0x40269b;},'diRxf':function(_0x423da8,_0x11c82b){return _0x423da8!=_0x11c82b;},'KEHGm':_0x322d56(0x2d5),'NcfHa':function(_0x59a79b,_0x12845a){return _0x59a79b===_0x12845a;}},{resource:_0x2f7f45,format:_0xe3c1c5,prefix:_0x36fd07,separator:_0x5cfee9,numDigits:_0x2be3d5,reuseDelete:_0x15d6fe}=_0x53f41b;this[_0x322d56(0x1ca)](_0x2f7f45);const _0x76c226=typeof _0xe3c1c5==='string'?_0xe3c1c5['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x76c226))throw new IdGeneratorError(_0x367163['cPoYF'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x322d56(0x1d5)](',\x20')+_0x322d56(0x242)+_0xe3c1c5+')');if(!Number['isInteger'](_0x2be3d5)||_0x367163['FQSnV'](_0x2be3d5,MIN_NUM_DIGITS)||_0x2be3d5>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x367163[_0x322d56(0x227)],'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x322d56(0x242)+_0x2be3d5+')');const _0x5db090=_0x367163[_0x322d56(0x25e)](_0x36fd07,null)?'':_0x36fd07;if(typeof _0x5db090!==_0x367163['qpHSQ']||!PREFIX_REGEX['test'](_0x5db090))throw new IdGeneratorError(_0x322d56(0x26e),'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x36fd07)+')');const _0x48006f=_0x5cfee9==null?'':_0x5cfee9;if(_0x367163[_0x322d56(0x1de)](typeof _0x48006f,_0x322d56(0x1dc))||_0x48006f['length']>0x3||SEPARATOR_FORBIDDEN[_0x322d56(0x2ac)](_0x48006f))throw new IdGeneratorError(_0x322d56(0x2dc),'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x5cfee9)+')');if(_0x367163[_0x322d56(0x289)](_0x15d6fe,null)&&typeof _0x15d6fe!==_0x367163[_0x322d56(0x1ea)])throw new IdGeneratorError(_0x322d56(0x1f1),'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x15d6fe+')');return{'resource':_0x2f7f45,'format':_0x76c226,'prefix':_0x5db090,'separator':_0x48006f,'numDigits':_0x2be3d5,'reuseDelete':_0x367163[_0x322d56(0x2b8)](_0x15d6fe,!![])};}['_validatePattern'](_0x4996a2){const _0x3b4b8e=a0_0x1ed12e,_0x4b624d={'hyCvM':function(_0x546190,_0xac75bb){return _0x546190!==_0xac75bb;},'GtuoI':function(_0x4e47c0,_0x3eab88){return _0x4e47c0===_0x3eab88;},'YDmiN':'IDGEN_INVALID_PATTERN'};if(_0x4b624d['hyCvM'](typeof _0x4996a2,'string')||_0x4b624d['GtuoI'](_0x4996a2[_0x3b4b8e(0x24e)],0x0)||_0x4996a2['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x4b624d[_0x3b4b8e(0x26f)],_0x3b4b8e(0x239)+MAX_PATTERN_LENGTH+_0x3b4b8e(0x2e6)+(_0x4996a2&&_0x4996a2['length'])+')');let _0x4c4fce=![];for(const _0x3cb72f of _0x4996a2){if(PLACEHOLDER_MAP[_0x3cb72f]){_0x4c4fce=!![];break;}}if(!_0x4c4fce)throw new IdGeneratorError('IDGEN_INVALID_PATTERN','Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}[a0_0x1ed12e(0x29d)](_0x431411){const _0x1e3002=a0_0x1ed12e,_0x128433={'ReZQK':function(_0x278be0,_0x432e66){return _0x278be0<_0x432e66;},'gQMQn':function(_0x5aec45,_0x493548){return _0x5aec45>_0x493548;},'KXxyc':_0x1e3002(0x2d0)};if(_0x431411==null)return undefined;if(!Number[_0x1e3002(0x2e7)](_0x431411)||_0x128433['ReZQK'](_0x431411,0x1)||_0x128433[_0x1e3002(0x212)](_0x431411,MAX_TTL))throw new IdGeneratorError(_0x128433[_0x1e3002(0x200)],_0x1e3002(0x271)+MAX_TTL+_0x1e3002(0x201)+_0x431411+')');return _0x431411;}['_validateMaxRetry'](_0x2d89bb){const _0x9be2fb=a0_0x1ed12e,_0x22d25f={'zPqlh':function(_0x4d2fdd,_0x384116){return _0x4d2fdd==_0x384116;},'VeLwy':function(_0x308866,_0x531f98){return _0x308866<_0x531f98;}};if(_0x22d25f[_0x9be2fb(0x1fc)](_0x2d89bb,null))return this[_0x9be2fb(0x1d6)];if(!Number[_0x9be2fb(0x2e7)](_0x2d89bb)||_0x22d25f['VeLwy'](_0x2d89bb,0x1)||_0x2d89bb>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY',_0x9be2fb(0x219)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x2d89bb+')');return _0x2d89bb;}['_validateIdempotencyKey'](_0x1a9e76){const _0x58a122=a0_0x1ed12e,_0x5e5f1d={'HGjfY':_0x58a122(0x1dc),'uIquJ':function(_0x7a0c22,_0x12255b){return _0x7a0c22>_0x12255b;}};if(_0x1a9e76==null)return undefined;if(typeof _0x1a9e76!==_0x5e5f1d['HGjfY']||_0x1a9e76[_0x58a122(0x24e)]===0x0||_0x5e5f1d[_0x58a122(0x26b)](_0x1a9e76['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x1a9e76;}[a0_0x1ed12e(0x27e)](_0x468f2e){const _0x39fb26=a0_0x1ed12e,_0x4b1078={'mZxlC':function(_0x5df891,_0x2142ae){return _0x5df891>_0x2142ae;}};if(_0x468f2e==null)return this[_0x39fb26(0x298)];if(!Number['isInteger'](_0x468f2e)||_0x468f2e<MIN_RESERVE_TTL||_0x4b1078['mZxlC'](_0x468f2e,this['reserveMaxTTL']))throw new IdGeneratorError(_0x39fb26(0x2a2),'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x39fb26(0x201)+_0x468f2e+')');return _0x468f2e;}['_validateReservationToken'](_0x53a701){const _0x68c294=a0_0x1ed12e,_0x2dc2f4={'edxlg':function(_0x92a8f6,_0xc6ae6e){return _0x92a8f6!==_0xc6ae6e;},'vCuzu':_0x68c294(0x1dc)};if(_0x2dc2f4[_0x68c294(0x1f2)](typeof _0x53a701,_0x2dc2f4[_0x68c294(0x1d4)])||!RESERVATION_TOKEN_REGEX['test'](_0x53a701))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x68c294(0x249)+JSON['stringify'](_0x53a701)+')');return _0x53a701;}[a0_0x1ed12e(0x2a1)](_0x1cdcac){const _0x282b07=a0_0x1ed12e,_0x19ec0d={'NPwVn':function(_0x3e77fb,_0x10ac22){return _0x3e77fb(_0x10ac22);}};return _0x19ec0d['NPwVn'](String,_0x1cdcac)[_0x282b07(0x292)](0x2,'0');}['_buildFormatKey'](_0x1635c3,_0x5aba1f,_0x349780=new Date()){const _0x412c89=a0_0x1ed12e,_0x42a71f={'Uhhjf':'yyyy','NBAxW':_0x412c89(0x269),'GKMRY':_0x412c89(0x2c9),'ezQsZ':_0x412c89(0x2c4)},_0x553f91=_0x349780['getFullYear'](),_0x393128=this[_0x412c89(0x2a1)](_0x349780['getMonth']()+0x1),_0x4e8475=this['_pad2'](_0x349780[_0x412c89(0x2b1)]()),_0x486c94=_0x5aba1f||'_';let _0x33753e,_0x3c2052='';switch(_0x1635c3){case'text':_0x33753e=_0x486c94+_0x412c89(0x285);break;case _0x42a71f['Uhhjf']:_0x3c2052=''+_0x553f91,_0x33753e=_0x486c94+_0x412c89(0x1e1)+_0x3c2052;break;case _0x42a71f['NBAxW']:_0x3c2052=''+_0x553f91+_0x393128,_0x33753e=_0x486c94+_0x412c89(0x1f3)+_0x3c2052;break;case _0x42a71f['GKMRY']:_0x3c2052=''+_0x553f91+_0x393128+_0x4e8475,_0x33753e=_0x486c94+_0x412c89(0x25f)+_0x3c2052;break;default:throw new IdGeneratorError(_0x42a71f[_0x412c89(0x2df)],'Unknown\x20format:\x20'+_0x1635c3);}return{'formatKey':_0x33753e,'datePrefix':_0x3c2052};}[a0_0x1ed12e(0x20d)](_0x4c1e4b,_0x2cb74d){const _0x285ccf=a0_0x1ed12e;return this['keyPrefix']+_0x285ccf(0x247)+_0x4c1e4b+':'+_0x2cb74d;}['_buildReuseKey'](_0x219877,_0x17f490){const _0x1c19bf=a0_0x1ed12e;return this[_0x1c19bf(0x1f5)]+'reuse:'+_0x219877+':'+_0x17f490;}[a0_0x1ed12e(0x2cd)](_0x5577c0,_0x176757){return this['keyPrefix']+'meta:'+_0x5577c0+':'+_0x176757;}['_buildIssuedKey'](_0x20d82f){const _0xbb2524=a0_0x1ed12e;return this['keyPrefix']+_0xbb2524(0x295)+_0x20d82f;}[a0_0x1ed12e(0x2ab)](_0x189ad6,_0x582663){const _0x33fb6c=a0_0x1ed12e;return this['keyPrefix']+_0x33fb6c(0x20a)+_0x189ad6+':'+_0x582663;}[a0_0x1ed12e(0x24f)](_0x346ecf){const _0x53f98f=a0_0x1ed12e;return this[_0x53f98f(0x1f5)]+'rsv:'+_0x346ecf;}['_buildReservationIndexKey'](_0x1708b1,_0x2b64c0){const _0x1547b1=a0_0x1ed12e;return this[_0x1547b1(0x1f5)]+'rsv_idx:'+_0x1708b1+':'+_0x2b64c0;}[a0_0x1ed12e(0x21e)](){const _0x2839de=a0_0x1ed12e;return this[_0x2839de(0x1f5)]+_0x2839de(0x21c);}[a0_0x1ed12e(0x1d2)](_0x8e2e53,_0x5bd5a0,_0x3eecee,_0x5f4c61){const _0x449c4d=a0_0x1ed12e,_0x340cd9={'WtRWz':'idgen'};if(_0x3eecee)return idempotencyManager['buildDeterministicKey'](_0x340cd9[_0x449c4d(0x1e7)],_0x8e2e53,_0x5bd5a0+':'+_0x3eecee+':'+_0x5f4c61);return idempotencyManager['buildDeterministicKey'](_0x340cd9['WtRWz'],_0x8e2e53,_0x5bd5a0+':'+_0x5f4c61);}[a0_0x1ed12e(0x2d4)](_0x528c57){const _0xe3a826=a0_0x1ed12e;return this[_0xe3a826(0x2a4)][_0x528c57]||0x0;}['_formatNumber']({format:_0x35e47c,prefix:_0x39cd56,datePrefix:_0x45c92b,separator:_0x141a8f,numDigits:_0x2e1a87,counterInt:_0xd9838e}){const _0x587b52=a0_0x1ed12e,_0x5ddf58={'pUmZG':_0x587b52(0x2b5),'oPolm':function(_0x3a75c1,_0x21753b){return _0x3a75c1===_0x21753b;}},_0x47ac83=Math[_0x587b52(0x2a5)](0xa,_0x2e1a87)-0x1;if(_0xd9838e>_0x47ac83)throw new IdGeneratorError(_0x5ddf58['pUmZG'],_0x587b52(0x2ae)+_0xd9838e+_0x587b52(0x1e3)+_0x2e1a87+'-digit\x20capacity\x20('+_0x47ac83+_0x587b52(0x2ba),{'counterInt':_0xd9838e,'numDigits':_0x2e1a87,'max':_0x47ac83});const _0xbc7af3=String(_0xd9838e)['padStart'](_0x2e1a87,'0');if(_0x5ddf58[_0x587b52(0x29f)](_0x35e47c,_0x587b52(0x1fd)))return _0x39cd56?''+_0x39cd56+_0x141a8f+_0xbc7af3:_0xbc7af3;return _0x39cd56?''+_0x39cd56+_0x141a8f+_0x45c92b+_0x141a8f+_0xbc7af3:''+_0x45c92b+_0x141a8f+_0xbc7af3;}[a0_0x1ed12e(0x231)]({format:_0x3d5c95,prefix:_0x13311,separator:_0x1e2104,numDigits:_0x5d8aba,number:_0x1167bd}){const _0x465192=a0_0x1ed12e,_0x25d839={'eGoCE':function(_0x59b2ca,_0x51d9fc){return _0x59b2ca===_0x51d9fc;},'MsEHO':_0x465192(0x21a),'vsJxW':function(_0x39533f,_0x420cda){return _0x39533f===_0x420cda;},'ciUVc':function(_0x1bb4bc,_0x4a13a1){return _0x1bb4bc!==_0x4a13a1;},'RlARV':function(_0xd470c,_0x4197c3){return _0xd470c===_0x4197c3;},'XmRwb':_0x465192(0x272),'tZNnH':function(_0x488172,_0x491ffe,_0x6e9e3f){return _0x488172(_0x491ffe,_0x6e9e3f);},'Ffiuk':'text'};if(typeof _0x1167bd!==_0x465192(0x1dc)||_0x25d839['eGoCE'](_0x1167bd['length'],0x0))throw new IdGeneratorError(_0x25d839['MsEHO'],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xa58fe6=_0x1e2104||'',_0x2e5faa=_0x25d839[_0x465192(0x214)](_0xa58fe6,'')?[_0x1167bd]:_0x1167bd[_0x465192(0x21f)](_0xa58fe6);let _0x444256='',_0x3e15d6;if(_0x25d839['eGoCE'](_0x3d5c95,'text')){if(_0x13311){if(_0x2e5faa['length']!==0x2||_0x2e5faa[0x0]!==_0x13311)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x465192(0x1e6)+_0xa58fe6+_0x465192(0x261)+_0x1167bd+')');_0x3e15d6=_0x2e5faa[0x1];}else{if(_0x2e5faa['length']!==0x1)throw new IdGeneratorError(_0x465192(0x21a),'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x1167bd+')');_0x3e15d6=_0x2e5faa[0x0];}}else{const _0x493627=_0x13311?0x3:0x2;if(_0x2e5faa['length']!==_0x493627)throw new IdGeneratorError(_0x25d839[_0x465192(0x2c5)],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x1167bd+',\x20expected\x20'+_0x493627+_0x465192(0x25c));let _0x3250c0=0x0;if(_0x13311){if(_0x25d839['ciUVc'](_0x2e5faa[_0x3250c0],_0x13311))throw new IdGeneratorError(_0x25d839[_0x465192(0x2c5)],_0x465192(0x211)+_0x13311+',\x20got\x20'+_0x2e5faa[_0x3250c0]);_0x3250c0++;}_0x444256=_0x2e5faa[_0x3250c0++];const _0x3fc255=_0x25d839[_0x465192(0x20c)](_0x3d5c95,_0x25d839[_0x465192(0x210)])?/^\d{4}$/:_0x25d839['vsJxW'](_0x3d5c95,_0x465192(0x269))?/^\d{6}$/:/^\d{8}$/;if(!_0x3fc255['test'](_0x444256))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x3d5c95+':\x20'+_0x444256);_0x3e15d6=_0x2e5faa[_0x3250c0];}if(!new RegExp('^\x5cd{'+_0x5d8aba+'}$')[_0x465192(0x2ac)](_0x3e15d6))throw new IdGeneratorError(_0x465192(0x21a),_0x465192(0x235)+_0x5d8aba+_0x465192(0x2a6)+_0x3e15d6+')');const _0x3a30cf=_0x25d839[_0x465192(0x2e0)](parseInt,_0x3e15d6,0xa),_0x98600=_0x13311||'_';let _0x4a929d;return _0x3d5c95===_0x25d839['Ffiuk']?_0x4a929d=_0x98600+_0x465192(0x285):_0x4a929d=_0x98600+'_'+_0x3d5c95+'_'+_0x444256,{'formatKey':_0x4a929d,'counterInt':_0x3a30cf,'datePrefix':_0x444256};}['_generateFromPattern'](_0x3dae1b){const _0x26ae4c=a0_0x1ed12e;let _0x3e5e10='';for(const _0x2f5657 of _0x3dae1b){const _0x1f45a1=PLACEHOLDER_MAP[_0x2f5657];if(_0x1f45a1){const _0x1f12ba=crypto['randomInt'](0x0,_0x1f45a1[_0x26ae4c(0x24e)]);_0x3e5e10+=_0x1f45a1[_0x1f12ba];}else _0x3e5e10+=_0x2f5657;}return _0x3e5e10;}async['_retrieveIdemCache'](_0x4bd2f6){const _0x1ff029=a0_0x1ed12e,_0x41d281={'CwPie':_0x1ff029(0x232),'ttXgj':_0x1ff029(0x221),'GEcyw':_0x1ff029(0x23f)};if(!_0x4bd2f6)return null;try{const _0x11b2ec=redisClient[_0x1ff029(0x2cf)](),_0x27f3df=await _0x11b2ec['get'](_0x4bd2f6);if(_0x27f3df)return logger['info']({'event':_0x41d281[_0x1ff029(0x28d)],'key':_0x4bd2f6},_0x41d281['ttXgj']),JSON[_0x1ff029(0x24b)](_0x27f3df);return null;}catch(_0x2e9b1f){return logger[_0x1ff029(0x26c)]({'event':'idgen_idem_retrieve_error','error':_0x2e9b1f['message']},_0x41d281[_0x1ff029(0x2b9)]),null;}}async[a0_0x1ed12e(0x1ec)](_0x43223d,_0x1aa957){const _0x681a59=a0_0x1ed12e,_0x12159e={'pZcCq':'Idempotency\x20store\x20error'};if(!_0x43223d)return;try{const _0x402d51=redisClient[_0x681a59(0x2cf)]();await _0x402d51[_0x681a59(0x1f6)](_0x43223d,this['idemTTL'],JSON[_0x681a59(0x1f7)](_0x1aa957));}catch(_0x5b231f){logger['warn']({'event':_0x681a59(0x238),'error':_0x5b231f[_0x681a59(0x281)]},_0x12159e[_0x681a59(0x258)]);}}async['_storeIdemCacheNX'](_0x1cf71c,_0x166ba8){const _0x32cca6=a0_0x1ed12e,_0x28cf32={'qFOgV':function(_0x3176b5,_0x4e453f){return _0x3176b5===_0x4e453f;},'udZly':'idgen_idem_nx_race_lost_but_empty','MMIzl':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','LFjxf':'idgen_idem_storenx_error','LgRqc':_0x32cca6(0x255)};if(!_0x1cf71c)return{'stored':!![],'winnerResult':null};try{const _0x227067=redisClient['getClient'](),_0x1eb9ec=JSON['stringify'](_0x166ba8),_0xb8eabb=await _0x227067[_0x32cca6(0x28b)](_0x1cf71c,_0x1eb9ec,'EX',this['idemTTL'],'NX');if(_0x28cf32[_0x32cca6(0x2d3)](_0xb8eabb,'OK'))return{'stored':!![],'winnerResult':null};const _0x4de909=await _0x227067['get'](_0x1cf71c);if(_0x4de909)return{'stored':![],'winnerResult':JSON[_0x32cca6(0x24b)](_0x4de909)};return logger[_0x32cca6(0x26c)]({'event':_0x28cf32[_0x32cca6(0x24d)],'key':_0x1cf71c},_0x28cf32[_0x32cca6(0x1e8)]),{'stored':!![],'winnerResult':null};}catch(_0x2fc9f8){return logger['warn']({'event':_0x28cf32['LFjxf'],'error':_0x2fc9f8['message']},_0x28cf32['LgRqc']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x24f634,_0xcf5270,_0x32cad7){const _0x3c7193=a0_0x1ed12e,_0x1fda24={'ZdlyA':_0x3c7193(0x250)};try{const _0x1faf53=redisClient['getClient']();if(_0x32cad7){const _0x4eeb4d=this[_0x3c7193(0x2ab)](_0x24f634,_0xcf5270);await _0x1faf53[_0x3c7193(0x2d8)](_0x4eeb4d);}else{const _0x1ea4b7=this['_buildIssuedKey'](_0x24f634);await _0x1faf53['srem'](_0x1ea4b7,_0xcf5270);}}catch(_0x1d71e8){logger['warn']({'event':_0x1fda24['ZdlyA'],'error':_0x1d71e8['message']},_0x3c7193(0x2dd));}}async[a0_0x1ed12e(0x2d7)](_0x1feb67,_0x453c0d,_0x5414f8,_0x5cdc12=0x0){const _0x216c72=a0_0x1ed12e,_0x3aa9e6={'rmEvo':function(_0x33c353,_0x2b2ad0){return _0x33c353>_0x2b2ad0;},'Reiqz':'Meta\x20update\x20error'};try{const _0x11681c=redisClient[_0x216c72(0x2cf)](),_0x450395=this[_0x216c72(0x2cd)](_0x1feb67,_0x453c0d),_0x319e14=[];for(const [_0xa1edf6,_0x2a31e3]of Object[_0x216c72(0x1e5)](_0x5414f8)){_0x319e14[_0x216c72(0x203)](_0xa1edf6,String(_0x2a31e3));}if(_0x3aa9e6['rmEvo'](_0x319e14['length'],0x0)){await _0x11681c['hset'](_0x450395,..._0x319e14);if(_0x5cdc12>0x0)await _0x11681c[_0x216c72(0x23a)](_0x450395,_0x5cdc12);}}catch(_0x8d9ee4){logger[_0x216c72(0x26c)]({'event':'idgen_meta_update_error','error':_0x8d9ee4[_0x216c72(0x281)]},_0x3aa9e6[_0x216c72(0x1cb)]);}}async['number'](_0x4d94dd){const _0x6688e7=a0_0x1ed12e,_0x2e9127={'xazHE':_0x6688e7(0x259),'kGTXA':_0x6688e7(0x20f),'QMBbd':function(_0x343d1c,_0x18ebc5){return _0x343d1c(_0x18ebc5);},'QclUV':function(_0x124620,_0x146241){return _0x124620===_0x146241;},'HRzBM':_0x6688e7(0x263),'xboFa':_0x6688e7(0x1ee),'YaKdg':'idgen_number_generated'};if(!this[_0x6688e7(0x240)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2e9127['xazHE']);const _0x20df1f=this['_validateNumberParams'](_0x4d94dd),_0x3bfadf=this['_validateIdempotencyKey'](_0x4d94dd[_0x6688e7(0x207)]),{resource:_0x594e18,format:_0x5496eb,prefix:_0x3c8893,separator:_0x5dd450,numDigits:_0x25b6dc,reuseDelete:_0x482e20}=_0x20df1f,{formatKey:_0x2d483e,datePrefix:_0x2600c7}=this[_0x6688e7(0x287)](_0x5496eb,_0x3c8893),_0x3c08ab=this['_buildSeqKey'](_0x594e18,_0x2d483e),_0x35efbc=this[_0x6688e7(0x226)](_0x594e18,_0x2d483e),_0x170452=this[_0x6688e7(0x2d4)](_0x5496eb);let _0x3e07d6=null;if(_0x3bfadf){_0x3e07d6=this[_0x6688e7(0x1d2)](_0x2e9127[_0x6688e7(0x2c0)],_0x594e18,_0x2d483e,_0x3bfadf);const _0x44d53c=await this[_0x6688e7(0x2b6)](_0x3e07d6);if(_0x44d53c)return _0x44d53c;}const _0x34f26a=redisClient[_0x6688e7(0x2cf)](),_0x9d9085=await _0x34f26a['eval'](LUA_GENERATE_NUMBER,0x2,_0x3c08ab,_0x35efbc,_0x482e20?'1':'0',_0x2e9127['QMBbd'](String,_0x170452)),_0x392e5b=_0x9d9085[0x0],_0x538162=_0x2e9127['QclUV'](_0x9d9085[0x1],0x1),_0x4ee64c=this['_formatNumber']({'format':_0x5496eb,'prefix':_0x3c8893,'datePrefix':_0x2600c7,'separator':_0x5dd450,'numDigits':_0x25b6dc,'counterInt':_0x392e5b}),_0xa63cd0={'value':_0x4ee64c,'counter':_0x392e5b,'resource':_0x594e18,'formatKey':_0x2d483e,'isReused':_0x538162,'generatedAt':new Date()[_0x6688e7(0x2b2)]()},_0x7f946a=await this[_0x6688e7(0x278)](_0x3e07d6,_0xa63cd0);if(!_0x7f946a[_0x6688e7(0x293)]){try{await _0x34f26a['eval'](LUA_RELEASE_NUMBER,0x1,_0x35efbc,String(_0x392e5b),_0x2e9127['QMBbd'](String,_0x170452));}catch(_0x4bff47){logger['warn']({'event':_0x2e9127['HRzBM'],'error':_0x4bff47[_0x6688e7(0x281)],'resource':_0x594e18,'formatKey':_0x2d483e,'counterInt':_0x392e5b},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x2e9127['xboFa'],'resource':_0x594e18,'formatKey':_0x2d483e,'counter':_0x392e5b},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x7f946a[_0x6688e7(0x1dd)];}return this[_0x6688e7(0x2d7)](_0x594e18,_0x2d483e,{'lastValue':_0x4ee64c,'lastCounter':_0x392e5b,'lastIsReused':_0x538162,'lastGeneratedAt':_0xa63cd0[_0x6688e7(0x2bf)]},_0x170452),logger[_0x6688e7(0x229)]({'event':_0x2e9127[_0x6688e7(0x23b)],'resource':_0x594e18,'formatKey':_0x2d483e,'counter':_0x392e5b,'isReused':_0x538162},'ID\x20Generator\x20number:\x20'+_0x4ee64c),_0xa63cd0;}async['releaseNumber'](_0x566ee6){const _0xb5fa64=a0_0x1ed12e,_0x23fdbb={'HJcoW':'IDGEN_DISABLED','GckpM':function(_0x2eb2e6,_0x4cf704){return _0x2eb2e6!==_0x4cf704;},'PBYxP':_0xb5fa64(0x1dc),'CbPzg':function(_0x4619c7,_0x5f407d){return _0x4619c7===_0x5f407d;},'PcmIe':'idgen_number_released'};if(!this[_0xb5fa64(0x240)])throw new IdGeneratorError(_0x23fdbb['HJcoW'],'ID\x20Generator\x20is\x20disabled');let _0x467327,_0x3ac7ed,_0x4a32cd,_0x77c8f5;const _0x5e76f9=this[_0xb5fa64(0x2d2)](_0x566ee6[_0xb5fa64(0x207)]);if(_0x566ee6['counterInt']!==undefined&&_0x23fdbb[_0xb5fa64(0x2b0)](_0x566ee6['counterInt'],null)){this[_0xb5fa64(0x1ca)](_0x566ee6[_0xb5fa64(0x215)]),_0x467327=_0x566ee6['resource'];if(typeof _0x566ee6[_0xb5fa64(0x29a)]!==_0x23fdbb[_0xb5fa64(0x1d0)]||_0x23fdbb['CbPzg'](_0x566ee6['formatKey']['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x3ac7ed=_0x566ee6[_0xb5fa64(0x29a)];if(!Number['isInteger'](_0x566ee6['counterInt'])||_0x566ee6[_0xb5fa64(0x266)]<0x1)throw new IdGeneratorError(_0xb5fa64(0x21a),_0xb5fa64(0x2c7)+_0x566ee6[_0xb5fa64(0x266)]+')');_0x4a32cd=_0x566ee6[_0xb5fa64(0x266)];const _0x5c427f=_0x3ac7ed['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x77c8f5=_0x5c427f?_0x5c427f[0x1]:_0xb5fa64(0x1fd);}else{const _0x3a10ed=this['_validateNumberParams'](_0x566ee6),_0x103b7b=this[_0xb5fa64(0x231)]({'format':_0x3a10ed[_0xb5fa64(0x2ca)],'prefix':_0x3a10ed[_0xb5fa64(0x2e5)],'separator':_0x3a10ed['separator'],'numDigits':_0x3a10ed['numDigits'],'number':_0x566ee6[_0xb5fa64(0x20f)]});_0x467327=_0x3a10ed[_0xb5fa64(0x215)],_0x3ac7ed=_0x103b7b[_0xb5fa64(0x29a)],_0x4a32cd=_0x103b7b[_0xb5fa64(0x266)],_0x77c8f5=_0x3a10ed[_0xb5fa64(0x2ca)];}const _0x2154eb=this[_0xb5fa64(0x226)](_0x467327,_0x3ac7ed),_0x1ed5bd=this[_0xb5fa64(0x2d4)](_0x77c8f5);let _0x458e06=null;if(_0x5e76f9){_0x458e06=this['_buildIdemKey'](_0xb5fa64(0x22e),_0x467327,_0x3ac7ed,_0x5e76f9);const _0x36be36=await this[_0xb5fa64(0x2b6)](_0x458e06);if(_0x36be36)return _0x36be36;}const _0x3c49d1=redisClient[_0xb5fa64(0x2cf)]();await _0x3c49d1[_0xb5fa64(0x1f9)](LUA_RELEASE_NUMBER,0x1,_0x2154eb,String(_0x4a32cd),String(_0x1ed5bd));const _0x575158={'released':!![],'resource':_0x467327,'formatKey':_0x3ac7ed,'counter':_0x4a32cd,'releasedAt':new Date()['toISOString']()};return await this[_0xb5fa64(0x1ec)](_0x458e06,_0x575158),this[_0xb5fa64(0x2d7)](_0x467327,_0x3ac7ed,{'lastReleasedCounter':_0x4a32cd,'lastReleasedAt':_0x575158['releasedAt']},_0x1ed5bd),logger['info']({'event':_0x23fdbb[_0xb5fa64(0x27f)],'resource':_0x467327,'formatKey':_0x3ac7ed,'counter':_0x4a32cd},_0xb5fa64(0x230)+_0x4a32cd),_0x575158;}async[a0_0x1ed12e(0x283)](_0x2e248b){const _0x42b11c=a0_0x1ed12e,_0x4e5ccd={'EQTYL':_0x42b11c(0x243),'fjmbt':'format','WbOwQ':_0x42b11c(0x2e5),'Wmzwi':function(_0x374141,_0x5b630e){return _0x374141||_0x5b630e;},'vOBqn':_0x42b11c(0x22a),'BNDPH':'expiresAt','KiBKf':_0x42b11c(0x23d),'xdeKP':'idemKey','vngCn':function(_0x3bd943,_0x3d0b8b){return _0x3bd943(_0x3d0b8b);},'EeYki':function(_0x2d0f69,_0x3a8886){return _0x2d0f69(_0x3a8886);},'pcIyA':function(_0x3536f1,_0x3e0664){return _0x3536f1(_0x3e0664);},'Dylrc':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','FXDGy':_0x42b11c(0x209),'eXCcN':'idgen_reserve_value_persist_error','ijYES':function(_0x1f910a,_0xbf6f44){return _0x1f910a(_0xbf6f44);},'MIYzA':'idgen_reserve_idem_loser_cancel_error','rdsLZ':_0x42b11c(0x1e9),'vLySe':_0x42b11c(0x1fb)};if(!this[_0x42b11c(0x240)])throw new IdGeneratorError(_0x4e5ccd[_0x42b11c(0x2d1)],_0x42b11c(0x259));const _0x375fb9=this[_0x42b11c(0x2b4)](_0x2e248b),_0x11a330=this[_0x42b11c(0x27e)](_0x2e248b[_0x42b11c(0x2de)]),_0x309768=this[_0x42b11c(0x2d2)](_0x2e248b[_0x42b11c(0x207)]),{resource:_0x57168a,format:_0x51225e,prefix:_0x49fea9,separator:_0x5cf961,numDigits:_0x4fc500,reuseDelete:_0x3807d8}=_0x375fb9,{formatKey:_0x41d85b,datePrefix:_0x428531}=this[_0x42b11c(0x287)](_0x51225e,_0x49fea9),_0x2aa791=this['_buildSeqKey'](_0x57168a,_0x41d85b),_0xe5a298=this[_0x42b11c(0x226)](_0x57168a,_0x41d85b),_0x3fc318=this[_0x42b11c(0x267)](_0x57168a,_0x41d85b),_0x3e99e8=this['_getCounterTTL'](_0x51225e);let _0x3649b4=null;if(_0x309768){_0x3649b4=this['_buildIdemKey'](_0x42b11c(0x2c2),_0x57168a,_0x41d85b,_0x309768);const _0x8de8ec=await this[_0x42b11c(0x2b6)](_0x3649b4);if(_0x8de8ec)return _0x8de8ec;}const _0x5a84fd=crypto[_0x42b11c(0x296)](),_0x1c8b1e=this['_buildReservationKey'](_0x5a84fd),_0xb39ccb=this['_buildReservationKeyPrefix'](),_0x4b8b2a=Date[_0x42b11c(0x280)](),_0x56a155=_0x4b8b2a+_0x11a330*0x3e8,_0x53bf1b=_0x11a330*0x3e8,_0x42513a=new Date(_0x4b8b2a)['toISOString'](),_0x101d11=new Date(_0x56a155)['toISOString'](),_0x2c95f0=['resource',_0x57168a,'formatKey',_0x41d85b,_0x4e5ccd[_0x42b11c(0x277)],_0x51225e,_0x4e5ccd['WbOwQ'],_0x49fea9,_0x42b11c(0x2cc),_0x5cf961,_0x42b11c(0x245),String(_0x4fc500),'datePrefix',_0x4e5ccd[_0x42b11c(0x1fe)](_0x428531,''),_0x4e5ccd[_0x42b11c(0x1df)],_0x42513a,_0x4e5ccd[_0x42b11c(0x22b)],_0x101d11,_0x4e5ccd[_0x42b11c(0x20e)],String(_0x53bf1b)];_0x309768&&_0x2c95f0['push'](_0x4e5ccd['xdeKP'],_0x309768);const _0x5cf892=redisClient[_0x42b11c(0x2cf)](),_0x48903d=await _0x5cf892[_0x42b11c(0x1f9)](LUA_RESERVE_NUMBER,0x3,_0x2aa791,_0xe5a298,_0x3fc318,_0x3807d8?'1':'0',String(_0x3e99e8),_0x5a84fd,_0x1c8b1e,_0x4e5ccd['vngCn'](String,_0x53bf1b),_0x4e5ccd[_0x42b11c(0x1d3)](String,_0x56a155),_0x4e5ccd['pcIyA'](String,_0x4b8b2a),_0xb39ccb,..._0x2c95f0),_0x17c6b2=_0x48903d[0x0],_0x52e6db=_0x48903d[0x1]===0x1,_0x4e17b9=_0x48903d[0x2]||0x0;let _0x5cca6f;try{_0x5cca6f=this[_0x42b11c(0x2aa)]({'format':_0x51225e,'prefix':_0x49fea9,'datePrefix':_0x428531,'separator':_0x5cf961,'numDigits':_0x4fc500,'counterInt':_0x17c6b2});}catch(_0x23deaf){try{await _0x5cf892[_0x42b11c(0x1f9)](LUA_CANCEL_RESERVATION,0x3,_0x1c8b1e,_0x3fc318,_0xe5a298,_0x5a84fd,String(_0x3e99e8));}catch(_0x5cb423){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x5cb423['message'],'resource':_0x57168a,'formatKey':_0x41d85b,'counterInt':_0x17c6b2,'token':_0x5a84fd},_0x4e5ccd[_0x42b11c(0x262)]);}throw _0x23deaf;}try{await _0x5cf892['hset'](_0x1c8b1e,_0x4e5ccd[_0x42b11c(0x299)],_0x5cca6f);}catch(_0x2e1501){logger['warn']({'event':_0x4e5ccd['eXCcN'],'error':_0x2e1501[_0x42b11c(0x281)],'resource':_0x57168a,'formatKey':_0x41d85b,'counterInt':_0x17c6b2,'token':_0x5a84fd},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0xf2b813={'token':_0x5a84fd,'value':_0x5cca6f,'counter':_0x17c6b2,'resource':_0x57168a,'formatKey':_0x41d85b,'isReused':_0x52e6db,'createdAt':_0x42513a,'expiresAt':_0x101d11,'reapedCount':_0x4e17b9},_0x2d1b2d=await this['_storeIdemCacheNX'](_0x3649b4,_0xf2b813);if(!_0x2d1b2d['stored']){try{await _0x5cf892['eval'](LUA_CANCEL_RESERVATION,0x3,_0x1c8b1e,_0x3fc318,_0xe5a298,_0x5a84fd,_0x4e5ccd['ijYES'](String,_0x3e99e8));}catch(_0x56f237){logger[_0x42b11c(0x26c)]({'event':_0x4e5ccd[_0x42b11c(0x2d6)],'error':_0x56f237[_0x42b11c(0x281)],'resource':_0x57168a,'formatKey':_0x41d85b,'counterInt':_0x17c6b2,'token':_0x5a84fd},_0x4e5ccd['rdsLZ']);}return logger[_0x42b11c(0x229)]({'event':_0x42b11c(0x23c),'resource':_0x57168a,'formatKey':_0x41d85b,'counter':_0x17c6b2,'token':_0x5a84fd},_0x42b11c(0x1cf)),_0x2d1b2d['winnerResult'];}return this['_updateMeta'](_0x57168a,_0x41d85b,{'lastReservedCounter':_0x17c6b2,'lastReservedAt':_0x42513a,'lastReapedCount':_0x4e17b9},_0x3e99e8),logger[_0x42b11c(0x229)]({'event':_0x4e5ccd['vLySe'],'resource':_0x57168a,'formatKey':_0x41d85b,'counter':_0x17c6b2,'isReused':_0x52e6db,'token':_0x5a84fd,'ttl':_0x11a330,'reapedCount':_0x4e17b9},_0x42b11c(0x2a7)+_0x5cca6f+_0x42b11c(0x1cc)+_0x5a84fd+')'),_0xf2b813;}async['confirmReservation'](_0x3ae000){const _0x5957fe=a0_0x1ed12e,_0x3e0796={'eIqMA':_0x5957fe(0x1f0),'PvHqG':_0x5957fe(0x1ce),'rfCHq':function(_0x2e996f,_0x180279){return _0x2e996f!==_0x180279;},'fVSmp':function(_0x663c07,_0x313978,_0x52c7fd){return _0x663c07(_0x313978,_0x52c7fd);},'UlKxn':'idgen_reservation_confirmed'};if(!this[_0x5957fe(0x240)])throw new IdGeneratorError(_0x5957fe(0x243),_0x3e0796['eIqMA']);const _0x5d2373=this[_0x5957fe(0x28c)](_0x3ae000&&_0x3ae000['token']),_0xa89a6e=this['_validateIdempotencyKey'](_0x3ae000&&_0x3ae000[_0x5957fe(0x207)]);let _0x24d3e0=null;if(_0xa89a6e){_0x24d3e0=idempotencyManager['buildDeterministicKey'](_0x5957fe(0x2ce),_0x3e0796[_0x5957fe(0x1ff)],_0x5d2373+':'+_0xa89a6e);const _0x4ff904=await this['_retrieveIdemCache'](_0x24d3e0);if(_0x4ff904)return _0x4ff904;}const _0x372433=await this[_0x5957fe(0x1d9)](_0x5d2373),_0xf79e9d=redisClient['getClient'](),_0x48c938=await _0xf79e9d[_0x5957fe(0x1f9)](LUA_CONFIRM_RESERVATION,0x2,_0x372433['rsvKey'],_0x372433[_0x5957fe(0x1c9)],_0x5d2373);if(!_0x48c938||_0x3e0796['rfCHq'](_0x48c938[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5d2373,{'token':_0x5d2373});const _0x47dcc4=_0x3e0796[_0x5957fe(0x224)](parseInt,_0x48c938[0x1],0xa),_0xc5edda=_0x48c938[0x2],_0x2d7de0=_0x48c938[0x3],_0x3afa4f=new Date()[_0x5957fe(0x2b2)](),_0x8ead70={'confirmed':!![],'token':_0x5d2373,'value':_0xc5edda,'counter':_0x47dcc4,'resource':_0x372433[_0x5957fe(0x215)],'formatKey':_0x2d7de0,'confirmedAt':_0x3afa4f};await this[_0x5957fe(0x1ec)](_0x24d3e0,_0x8ead70);const _0x18a35c=_0x2d7de0[_0x5957fe(0x222)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x49c75e=_0x18a35c?_0x18a35c[0x1]:'text',_0x1fcb3d=this[_0x5957fe(0x2d4)](_0x49c75e);return this[_0x5957fe(0x2d7)](_0x372433[_0x5957fe(0x215)],_0x2d7de0,{'lastConfirmedCounter':_0x47dcc4,'lastConfirmedAt':_0x3afa4f},_0x1fcb3d),logger['info']({'event':_0x3e0796['UlKxn'],'resource':_0x372433['resource'],'formatKey':_0x2d7de0,'counter':_0x47dcc4,'token':_0x5d2373},_0x5957fe(0x1db)+_0xc5edda+'\x20(token='+_0x5d2373+')'),_0x8ead70;}async[a0_0x1ed12e(0x2ad)](_0x25ae6e){const _0x57d77c=a0_0x1ed12e,_0x28ab56={'ScUqp':_0x57d77c(0x2ce),'NjVTy':_0x57d77c(0x1f4),'fjeSz':_0x57d77c(0x1fd),'KDYkO':_0x57d77c(0x275)};if(!this['enabled'])throw new IdGeneratorError(_0x57d77c(0x243),_0x57d77c(0x1f0));const _0x58c26f=this[_0x57d77c(0x28c)](_0x25ae6e&&_0x25ae6e['token']),_0xf1a540=this['_validateIdempotencyKey'](_0x25ae6e&&_0x25ae6e['idempotencyKey']);let _0x5e319d=null;if(_0xf1a540){_0x5e319d=idempotencyManager[_0x57d77c(0x282)](_0x28ab56['ScUqp'],_0x28ab56[_0x57d77c(0x29e)],_0x58c26f+':'+_0xf1a540);const _0x17929d=await this[_0x57d77c(0x2b6)](_0x5e319d);if(_0x17929d)return _0x17929d;}const _0x3359ad=await this['_getReservationContext'](_0x58c26f),_0x36d8b1=this[_0x57d77c(0x226)](_0x3359ad[_0x57d77c(0x215)],_0x3359ad['formatKey']),_0x19d74b=_0x3359ad['formatKey'][_0x57d77c(0x222)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x190105=_0x19d74b?_0x19d74b[0x1]:_0x28ab56[_0x57d77c(0x244)],_0xc60989=this['_getCounterTTL'](_0x190105),_0x374de8=redisClient['getClient'](),_0x4408b9=await _0x374de8[_0x57d77c(0x1f9)](LUA_CANCEL_RESERVATION,0x3,_0x3359ad['rsvKey'],_0x3359ad[_0x57d77c(0x1c9)],_0x36d8b1,_0x58c26f,String(_0xc60989));if(!_0x4408b9||_0x4408b9[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x58c26f,{'token':_0x58c26f});const _0x27aa5f=parseInt(_0x4408b9[0x1],0xa),_0x54ab88=_0x4408b9[0x2],_0x1bba89=_0x4408b9[0x3],_0x2a2bd8=new Date()['toISOString'](),_0x4d73e9={'cancelled':!![],'token':_0x58c26f,'value':_0x54ab88,'counter':_0x27aa5f,'resource':_0x3359ad['resource'],'formatKey':_0x1bba89,'releasedToReuse':!![],'cancelledAt':_0x2a2bd8};return await this['_storeIdemCache'](_0x5e319d,_0x4d73e9),this[_0x57d77c(0x2d7)](_0x3359ad[_0x57d77c(0x215)],_0x1bba89,{'lastCancelledCounter':_0x27aa5f,'lastCancelledAt':_0x2a2bd8},_0xc60989),logger[_0x57d77c(0x229)]({'event':_0x28ab56['KDYkO'],'resource':_0x3359ad[_0x57d77c(0x215)],'formatKey':_0x1bba89,'counter':_0x27aa5f,'token':_0x58c26f},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x54ab88+_0x57d77c(0x1cc)+_0x58c26f+')'),_0x4d73e9;}async['extendReservation'](_0x433748){const _0x1c93c4=a0_0x1ed12e,_0x1c26a7={'NGdMK':'ID\x20Generator\x20is\x20disabled','fMskP':function(_0x2c53a6,_0x1a0104){return _0x2c53a6*_0x1a0104;},'Kqygj':function(_0x51c7ad,_0x376592){return _0x51c7ad!==_0x376592;},'bLIaA':_0x1c93c4(0x29b)};if(!this['enabled'])throw new IdGeneratorError(_0x1c93c4(0x243),_0x1c26a7[_0x1c93c4(0x204)]);const _0x5d701f=this['_validateReservationToken'](_0x433748&&_0x433748[_0x1c93c4(0x286)]),_0x2b0f5e=this[_0x1c93c4(0x27e)](_0x433748&&_0x433748[_0x1c93c4(0x2de)]),_0x51eee4=this[_0x1c93c4(0x2d2)](_0x433748&&_0x433748[_0x1c93c4(0x207)]);let _0x1afc7d=null;if(_0x51eee4){_0x1afc7d=idempotencyManager['buildDeterministicKey'](_0x1c93c4(0x2ce),'reserve_extend',_0x5d701f+':'+_0x51eee4);const _0x3b0bee=await this[_0x1c93c4(0x2b6)](_0x1afc7d);if(_0x3b0bee)return _0x3b0bee;}const _0x4af5f2=await this['_getReservationContext'](_0x5d701f),_0x569a0d=Date[_0x1c93c4(0x280)](),_0x12e14b=_0x569a0d+_0x1c26a7[_0x1c93c4(0x27d)](_0x2b0f5e,0x3e8),_0x364005=_0x2b0f5e*0x3e8,_0x44bd0a=new Date(_0x12e14b)['toISOString'](),_0x7cfadd=redisClient[_0x1c93c4(0x2cf)](),_0x43f3a3=await _0x7cfadd[_0x1c93c4(0x1f9)](LUA_EXTEND_RESERVATION,0x2,_0x4af5f2[_0x1c93c4(0x29c)],_0x4af5f2[_0x1c93c4(0x1c9)],_0x5d701f,String(_0x364005),String(_0x12e14b),_0x44bd0a);if(!_0x43f3a3||_0x1c26a7['Kqygj'](_0x43f3a3[0x0],0x1))throw new IdGeneratorError(_0x1c26a7[_0x1c93c4(0x24c)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5d701f,{'token':_0x5d701f});const _0x25109f=_0x43f3a3[0x1],_0x2e124a=parseInt(_0x43f3a3[0x2],0xa),_0x2cc440=_0x43f3a3[0x3],_0x194cd9=_0x43f3a3[0x4],_0x3521b1=new Date(_0x569a0d)[_0x1c93c4(0x2b2)](),_0x183a8c={'extended':!![],'token':_0x5d701f,'previousExpiresAt':_0x25109f,'expiresAt':_0x44bd0a,'ttlMs':_0x364005,'resource':_0x4af5f2[_0x1c93c4(0x215)],'formatKey':_0x194cd9,'counter':_0x2e124a,'value':_0x2cc440,'extendedAt':_0x3521b1};await this['_storeIdemCache'](_0x1afc7d,_0x183a8c);const _0x5ac820=_0x194cd9['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4290ec=_0x5ac820?_0x5ac820[0x1]:'text',_0x21dec9=this[_0x1c93c4(0x2d4)](_0x4290ec);return this[_0x1c93c4(0x2d7)](_0x4af5f2['resource'],_0x194cd9,{'lastExtendedCounter':_0x2e124a,'lastExtendedAt':_0x3521b1},_0x21dec9),logger[_0x1c93c4(0x229)]({'event':'idgen_reservation_extended','resource':_0x4af5f2[_0x1c93c4(0x215)],'formatKey':_0x194cd9,'counter':_0x2e124a,'token':_0x5d701f,'ttl':_0x2b0f5e},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x2cc440+_0x1c93c4(0x1cc)+_0x5d701f+',\x20+'+_0x2b0f5e+'s)'),_0x183a8c;}async[a0_0x1ed12e(0x294)](_0x465c86){const _0x258428=a0_0x1ed12e,_0x9b7596={'IWTHz':_0x258428(0x243),'qOqZw':_0x258428(0x1f0),'OWOxk':function(_0x46d5e5,_0x257b9b){return _0x46d5e5===_0x257b9b;},'mduAb':function(_0x1266f9,_0x935275,_0x53b387){return _0x1266f9(_0x935275,_0x53b387);},'OqIdN':function(_0x482ffe,_0x1db4f3,_0x1cd77e){return _0x482ffe(_0x1db4f3,_0x1cd77e);},'xLJJr':function(_0x3c3abb,_0x2ea86a){return _0x3c3abb>=_0x2ea86a;}};if(!this[_0x258428(0x240)])throw new IdGeneratorError(_0x9b7596[_0x258428(0x254)],_0x9b7596[_0x258428(0x22c)]);const _0x47b5a4=this[_0x258428(0x28c)](_0x465c86&&_0x465c86[_0x258428(0x286)]),_0x174b67=this[_0x258428(0x24f)](_0x47b5a4),_0x172d7c=redisClient[_0x258428(0x2cf)](),_0x2d20c5=_0x172d7c['pipeline']();_0x2d20c5[_0x258428(0x233)](_0x174b67),_0x2d20c5['pttl'](_0x174b67);const _0x373a50=await _0x2d20c5[_0x258428(0x20b)](),_0x27c17f=_0x373a50&&_0x373a50[0x0]&&_0x373a50[0x0][0x1],_0x909e5d=_0x373a50&&_0x373a50[0x1]&&_0x373a50[0x1][0x1];if(!_0x27c17f||_0x9b7596['OWOxk'](Object['keys'](_0x27c17f)['length'],0x0))throw new IdGeneratorError(_0x258428(0x29b),_0x258428(0x265)+_0x47b5a4,{'token':_0x47b5a4});return{'token':_0x47b5a4,'resource':_0x27c17f[_0x258428(0x215)]||null,'formatKey':_0x27c17f[_0x258428(0x29a)]||null,'format':_0x27c17f['format']||null,'prefix':_0x27c17f[_0x258428(0x2e5)]||'','separator':_0x27c17f[_0x258428(0x2cc)]||'','numDigits':_0x27c17f[_0x258428(0x245)]?_0x9b7596['mduAb'](parseInt,_0x27c17f['numDigits'],0xa):null,'datePrefix':_0x27c17f['datePrefix']||'','counter':_0x27c17f[_0x258428(0x25d)]?_0x9b7596[_0x258428(0x23e)](parseInt,_0x27c17f[_0x258428(0x25d)],0xa):null,'value':_0x27c17f['value']||null,'isReused':_0x27c17f[_0x258428(0x2e3)]==='1'||_0x27c17f['isReused']===0x1,'createdAt':_0x27c17f[_0x258428(0x22a)]||null,'expiresAt':_0x27c17f['expiresAt']||null,'ttlRemainingMs':typeof _0x909e5d===_0x258428(0x20f)&&_0x9b7596[_0x258428(0x2e1)](_0x909e5d,0x0)?_0x909e5d:null};}async[a0_0x1ed12e(0x1d9)](_0x52dfc2){const _0x25b5af=a0_0x1ed12e,_0x3334da={'NynSs':'resource','Rfdur':_0x25b5af(0x29a),'BMeDB':_0x25b5af(0x29b)},_0x426e34=this['_buildReservationKey'](_0x52dfc2),_0x5396de=redisClient[_0x25b5af(0x2cf)](),_0x199418=await _0x5396de['hmget'](_0x426e34,_0x3334da['NynSs'],_0x3334da[_0x25b5af(0x1c0)]),_0x53ac78=_0x199418&&_0x199418[0x0],_0x4fba1f=_0x199418&&_0x199418[0x1];if(!_0x53ac78||!_0x4fba1f)throw new IdGeneratorError(_0x3334da['BMeDB'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x52dfc2,{'token':_0x52dfc2});return{'resource':_0x53ac78,'formatKey':_0x4fba1f,'rsvKey':_0x426e34,'rsvIdxKey':this['_buildReservationIndexKey'](_0x53ac78,_0x4fba1f)};}async[a0_0x1ed12e(0x2bd)](_0x4c47f6){const _0x219a81=a0_0x1ed12e,_0x3f8905={'ffEXq':_0x219a81(0x243),'xsWIO':_0x219a81(0x1f0),'lnBAN':function(_0x1c5af0,_0x5541c8){return _0x1c5af0===_0x5541c8;},'XPtRe':function(_0x2ae4b2,_0x1164b3){return _0x2ae4b2===_0x1164b3;},'uUFPn':function(_0x3ae018,_0x5c7a8c){return _0x3ae018&&_0x5c7a8c;},'JPPzM':function(_0x166cc9,_0x182534){return _0x166cc9+_0x182534;},'vXkKV':function(_0x18d735,_0x235a9a){return _0x18d735*_0x235a9a;},'AtcrF':function(_0x37ff9d,_0x1e3b00){return _0x37ff9d||_0x1e3b00;}};if(!this['enabled'])throw new IdGeneratorError(_0x3f8905['ffEXq'],_0x3f8905['xsWIO']);this['_validateResource'](_0x4c47f6['resource']),this[_0x219a81(0x208)](_0x4c47f6['pattern']);const _0x1244d0=this['_validateTTL'](_0x4c47f6['ttl']),_0x5ca484=this[_0x219a81(0x2cb)](_0x4c47f6[_0x219a81(0x279)]),_0x39e9cc=this['_validateIdempotencyKey'](_0x4c47f6[_0x219a81(0x207)]),_0x566e6b=_0x4c47f6['ensureUnique']===!![],{resource:_0x2017d1,pattern:_0x54ef95}=_0x4c47f6;let _0x13020e=null;if(_0x39e9cc){_0x13020e=this[_0x219a81(0x1d2)](_0x219a81(0x2bd),_0x2017d1,null,_0x39e9cc);const _0x961be9=await this['_retrieveIdemCache'](_0x13020e);if(_0x961be9)return _0x961be9;}const _0x26e6d7=redisClient['getClient']();let _0x147e36=null,_0x4eddd1=0x0;if(!_0x566e6b)_0x147e36=this['_generateFromPattern'](_0x54ef95),_0x4eddd1=0x1;else{for(let _0x4d7dd6=0x0;_0x4d7dd6<_0x5ca484;_0x4d7dd6++){_0x4eddd1++;const _0x382258=this[_0x219a81(0x1e2)](_0x54ef95);if(_0x1244d0){const _0x127bba=this['_buildActiveKey'](_0x2017d1,_0x382258),_0x1896f1=await _0x26e6d7[_0x219a81(0x28b)](_0x127bba,'1','EX',_0x1244d0,'NX');if(_0x3f8905[_0x219a81(0x1c5)](_0x1896f1,'OK')){_0x147e36=_0x382258;break;}}else{const _0x3d0ffa=this[_0x219a81(0x1d8)](_0x2017d1),_0x7bc7c6=await _0x26e6d7['sadd'](_0x3d0ffa,_0x382258);if(_0x3f8905[_0x219a81(0x2db)](_0x7bc7c6,0x1)){_0x147e36=_0x382258;break;}}}if(_0x147e36===null)throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED','Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x5ca484+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x2017d1,'pattern':_0x54ef95,'maxRetry':_0x5ca484});}const _0x39bfea={'value':_0x147e36,'resource':_0x2017d1,'pattern':_0x54ef95,'attemptCount':_0x4eddd1,'generatedAt':new Date()[_0x219a81(0x2b2)]()};_0x3f8905['uUFPn'](_0x1244d0,_0x566e6b)&&(_0x39bfea['expiresAt']=new Date(_0x3f8905['JPPzM'](Date['now'](),_0x3f8905['vXkKV'](_0x1244d0,0x3e8)))['toISOString']());const _0x11bd28=await this['_storeIdemCacheNX'](_0x13020e,_0x39bfea);if(!_0x11bd28[_0x219a81(0x293)])return _0x566e6b&&await this[_0x219a81(0x21d)](_0x2017d1,_0x147e36,_0x1244d0),logger['info']({'event':'idgen_random_idem_loser','resource':_0x2017d1,'pattern':_0x54ef95,'value':_0x147e36},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x11bd28['winnerResult'];return logger['info']({'event':_0x219a81(0x268),'resource':_0x2017d1,'pattern':_0x54ef95,'attemptCount':_0x4eddd1,'ensureUnique':_0x566e6b,'ttl':_0x3f8905[_0x219a81(0x237)](_0x1244d0,0x0)},_0x219a81(0x27b)+_0x147e36),_0x39bfea;}async['pin'](_0x426d4d){const _0x4e6b19=a0_0x1ed12e,_0xe72603={'ssMll':function(_0x5757db,_0x1a9dd0){return _0x5757db==_0x1a9dd0;},'QDZze':function(_0x26d4d1,_0x1c0a63){return _0x26d4d1===_0x1c0a63;}},_0x81f876=_0xe72603[_0x4e6b19(0x218)](_0x426d4d['digits'],null)?this[_0x4e6b19(0x1d1)]:_0x426d4d[_0x4e6b19(0x290)];if(!Number[_0x4e6b19(0x2e7)](_0x81f876)||_0x81f876<MIN_PIN_DIGITS||_0x81f876>MAX_PIN_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_DIGITS','Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x4e6b19(0x242)+_0x81f876+')');const _0x1a4caa='9'[_0x4e6b19(0x1e0)](_0x81f876);return this['random']({'resource':_0x426d4d['resource'],'pattern':_0x1a4caa,'ensureUnique':_0xe72603[_0x4e6b19(0x216)](_0x426d4d['ensureUnique'],!![]),'ttl':_0x426d4d['ttl'],'maxRetry':_0x426d4d[_0x4e6b19(0x279)],'idempotencyKey':_0x426d4d[_0x4e6b19(0x207)]});}async['serial'](_0x7b673a){const _0x442dcb=a0_0x1ed12e,_0x5bbcf8=_0x7b673a[_0x442dcb(0x1eb)]||this[_0x442dcb(0x2a0)];return this[_0x442dcb(0x2bd)]({'resource':_0x7b673a['resource'],'pattern':_0x5bbcf8,'ensureUnique':_0x7b673a[_0x442dcb(0x264)]!==![],'ttl':_0x7b673a[_0x442dcb(0x2de)],'maxRetry':_0x7b673a[_0x442dcb(0x279)],'idempotencyKey':_0x7b673a['idempotencyKey']});}async['code'](_0x174f23){const _0x24b6cb=a0_0x1ed12e,_0x29ee6e={'LnCAL':function(_0x449e5d,_0x26780c){return _0x449e5d!==_0x26780c;}},_0x39d0ac=_0x174f23[_0x24b6cb(0x1eb)]||this['defaultCodePattern'];return this[_0x24b6cb(0x2bd)]({'resource':_0x174f23['resource'],'pattern':_0x39d0ac,'ensureUnique':_0x29ee6e['LnCAL'](_0x174f23[_0x24b6cb(0x264)],![]),'ttl':_0x174f23['ttl'],'maxRetry':_0x174f23['maxRetry'],'idempotencyKey':_0x174f23['idempotencyKey']});}async['consume'](_0x3c6f3f){const _0x88bcfb=a0_0x1ed12e,_0x3d8ac1={'NJQpm':'IDGEN_DISABLED','eJaDo':function(_0x4aedbf,_0x1dc66f){return _0x4aedbf!==_0x1dc66f;},'qBKvZ':_0x88bcfb(0x2da)};if(!this['enabled'])throw new IdGeneratorError(_0x3d8ac1['NJQpm'],_0x88bcfb(0x1f0));this[_0x88bcfb(0x1ca)](_0x3c6f3f[_0x88bcfb(0x215)]);if(_0x3d8ac1['eJaDo'](typeof _0x3c6f3f[_0x88bcfb(0x209)],_0x88bcfb(0x1dc))||_0x3c6f3f['value']['length']===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3d8ac1[_0x88bcfb(0x256)]);const {resource:_0x4eb5b6,value:_0x16ed2c}=_0x3c6f3f,_0x3852d8=redisClient[_0x88bcfb(0x2cf)](),_0x247a8c=this['_buildActiveKey'](_0x4eb5b6,_0x16ed2c),_0x1940c4=this['_buildIssuedKey'](_0x4eb5b6),[_0x4bfc76,_0x144928]=await Promise[_0x88bcfb(0x1c8)]([_0x3852d8['del'](_0x247a8c),_0x3852d8['srem'](_0x1940c4,_0x16ed2c)]),_0x4ceb37=_0x4bfc76+_0x144928>0x0;return logger[_0x88bcfb(0x229)]({'event':'idgen_consumed','resource':_0x4eb5b6,'value':_0x16ed2c,'consumed':_0x4ceb37},'ID\x20Generator\x20consumed:\x20'+_0x16ed2c),{'consumed':_0x4ceb37,'resource':_0x4eb5b6,'value':_0x16ed2c,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x285579){const _0xcd81c0=a0_0x1ed12e,_0x3551f9={'TIUnX':'ID\x20Generator\x20is\x20disabled','LbjRx':'number','rYhpQ':_0xcd81c0(0x2c4),'nEJgq':function(_0x288ff4,_0x28634b,_0x47ff50){return _0x288ff4(_0x28634b,_0x47ff50);},'fdPTj':function(_0x1d1050,_0x2ef8dc){return _0x1d1050||_0x2ef8dc;},'xtkjE':'random'};if(!this['enabled'])throw new IdGeneratorError(_0xcd81c0(0x243),_0x3551f9[_0xcd81c0(0x22f)]);this['_validateResource'](_0x285579[_0xcd81c0(0x215)]);const _0x23a213=_0x285579[_0xcd81c0(0x2a9)]||_0x3551f9['LbjRx'],_0x2079c6=redisClient['getClient']();if(_0x23a213===_0x3551f9['LbjRx']){const _0x2b2e68=(_0x285579['format']||_0xcd81c0(0x1fd))['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x2b2e68))throw new IdGeneratorError(_0x3551f9[_0xcd81c0(0x2bb)],_0xcd81c0(0x284)+_0x285579[_0xcd81c0(0x2ca)]);const {formatKey:_0x83256c}=this['_buildFormatKey'](_0x2b2e68,_0x285579[_0xcd81c0(0x2e5)]||''),_0x3f6820=this[_0xcd81c0(0x20d)](_0x285579['resource'],_0x83256c),_0x523bdc=this[_0xcd81c0(0x226)](_0x285579['resource'],_0x83256c),[_0xded500,_0x836243]=await Promise['all']([_0x2079c6[_0xcd81c0(0x26a)](_0x3f6820),_0x2079c6['zcard'](_0x523bdc)]);return{'resource':_0x285579['resource'],'mode':'number','formatKey':_0x83256c,'currentCounter':_0x3551f9['nEJgq'](parseInt,_0xded500,0xa)||0x0,'reusePoolSize':_0x3551f9[_0xcd81c0(0x202)](_0x836243,0x0)};}if(_0x23a213===_0xcd81c0(0x2bd)){const _0x35aec3=this[_0xcd81c0(0x1d8)](_0x285579[_0xcd81c0(0x215)]),_0x40c218=await _0x2079c6[_0xcd81c0(0x252)](_0x35aec3);return{'resource':_0x285579['resource'],'mode':_0x3551f9['xtkjE'],'issuedCount':_0x40c218||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x23a213);}async[a0_0x1ed12e(0x1c4)](_0x389a06){const _0x4daeb1=a0_0x1ed12e,_0x147e5f={'XNXUG':function(_0x23bfdc,_0x52f36e){return _0x23bfdc>_0x52f36e;}},_0x309147=await this[_0x4daeb1(0x1e4)](_0x389a06);if(_0x309147['mode']==='number'){const _0x2a8126=redisClient[_0x4daeb1(0x2cf)](),_0xda2859=this[_0x4daeb1(0x2cd)](_0x389a06['resource'],_0x309147[_0x4daeb1(0x29a)]),_0x1b0e72=this['_buildReuseKey'](_0x389a06['resource'],_0x309147[_0x4daeb1(0x29a)]),[_0x26b7fb,_0x2bc032]=await Promise[_0x4daeb1(0x1c8)]([_0x2a8126[_0x4daeb1(0x233)](_0xda2859),_0x2a8126['zrange'](_0x1b0e72,0x0,-0x1)]);return{..._0x309147,'reusePoolValues':_0x2bc032['map'](_0x5b18c1=>parseInt(_0x5b18c1,0xa)),'meta':_0x26b7fb&&_0x147e5f[_0x4daeb1(0x24a)](Object['keys'](_0x26b7fb)[_0x4daeb1(0x24e)],0x0)?_0x26b7fb:null};}return _0x309147;}async['reset'](_0x27e8d1){const _0x141165=a0_0x1ed12e,_0x2d1024={'RIXAH':'IDGEN_DISABLED','iZFBH':_0x141165(0x20f),'XesWs':_0x141165(0x2c4),'oVlym':_0x141165(0x2e4),'QDNhP':_0x141165(0x2d9),'bQsWX':'meta','CoBLb':'random','ohpYn':_0x141165(0x2b3),'rzDYs':_0x141165(0x274)};if(!this['enabled'])throw new IdGeneratorError(_0x2d1024[_0x141165(0x1ef)],'ID\x20Generator\x20is\x20disabled');if(!this[_0x141165(0x21b)])throw new IdGeneratorError(_0x141165(0x1bf),_0x141165(0x1ed));this['_validateResource'](_0x27e8d1[_0x141165(0x215)]);const _0x266e8f=_0x27e8d1[_0x141165(0x2a9)]||_0x2d1024[_0x141165(0x25b)],_0x3a4891=redisClient[_0x141165(0x2cf)]();if(_0x266e8f===_0x2d1024['iZFBH']){const _0x2445d3=(_0x27e8d1[_0x141165(0x2ca)]||'text')[_0x141165(0x2af)]();if(!ALLOWED_FORMATS['has'](_0x2445d3))throw new IdGeneratorError(_0x2d1024[_0x141165(0x1d7)],_0x141165(0x284)+_0x27e8d1['format']);const {formatKey:_0xafa5c8}=this[_0x141165(0x287)](_0x2445d3,_0x27e8d1['prefix']||''),_0xbaf331=this[_0x141165(0x20d)](_0x27e8d1[_0x141165(0x215)],_0xafa5c8),_0x1d5cb7=this[_0x141165(0x226)](_0x27e8d1['resource'],_0xafa5c8),_0x583c3e=this['_buildMetaKey'](_0x27e8d1[_0x141165(0x215)],_0xafa5c8);return await _0x3a4891[_0x141165(0x2d8)](_0xbaf331,_0x1d5cb7,_0x583c3e),logger['warn']({'event':'idgen_reset','resource':_0x27e8d1['resource'],'mode':_0x2d1024[_0x141165(0x25b)],'formatKey':_0xafa5c8},_0x141165(0x1c2)+_0x27e8d1['resource']+':'+_0xafa5c8),{'reset':!![],'resource':_0x27e8d1['resource'],'mode':'number','formatKey':_0xafa5c8,'deletedKeys':[_0x2d1024['oVlym'],_0x2d1024[_0x141165(0x2b7)],_0x2d1024['bQsWX']]};}if(_0x266e8f===_0x2d1024[_0x141165(0x205)]){const _0x3c2122=this['_buildIssuedKey'](_0x27e8d1['resource']);return await _0x3a4891[_0x141165(0x2d8)](_0x3c2122),logger['warn']({'event':'idgen_reset','resource':_0x27e8d1['resource'],'mode':_0x141165(0x2bd)},'ID\x20Generator\x20reset:\x20random:'+_0x27e8d1['resource']),{'reset':!![],'resource':_0x27e8d1['resource'],'mode':'random','deletedKeys':[_0x2d1024['ohpYn']]};}throw new IdGeneratorError(_0x2d1024[_0x141165(0x217)],_0x141165(0x225)+_0x266e8f);}}const instance=new IdGenerator();instance[a0_0x1ed12e(0x25a)]=IdGeneratorError,module['exports']=instance,module[a0_0x1ed12e(0x1da)]['IdGeneratorError']=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0xc3622d=a0_0x1cc1;function a0_0x4948(){const _0x32d116=['x2LUAxrdB25MAwC','CMfUzg9Tvvvjra','C2v0zxG','x2vUC3vYzuLUAxrPywXPEMvK','Cgf0Aa','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','ELbju0m','y3r0BLG','x3r0Ba','swrLBxbVDgvUy3KGy2fJAguGseLu','DhrS','surftvbpvevoq1LFru5bqKXfra','CMv0CMLLDMu','nZaWmta0r3nrEwHt','AxnfBMfIBgvK','Aw5MBW','z2vUzxjHDgvlzxK','zgvIDwC','mJq1mdG1EeLlz29P','vfvgyKO','mtaZmZGYngXLqMzcDG','mJbSAurgzgq','zxHWB3j0CW','ndyXmdm4tuHzwfjh','AwX5Cem','mte1nZy0mM9yv2DoAa','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','zw5HyMXLza','AwrLBxbVDgvUy3LFBwLZCW','mJi0mJq5oxL1qMjlyq','C3rYAw5NAwz5','BwvZC2fNzq','x2LUAxrPywXPEMvK','mtm3mJmXnLDhD0jLEG','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','surftvbpvevoq1LFvfrm','qLz5u1m','CgfYC2u','Dhj1zq','x2vUywjSzwq','zxjYB3i','qKPrreS'];a0_0x4948=function(){return _0x32d116;};return a0_0x4948();}(function(_0x2352d5,_0x20b326){const _0x5f8b8c=a0_0x1cc1,_0x484bbb=_0x2352d5();while(!![]){try{const _0x1db110=parseInt(_0x5f8b8c(0x11a))/0x1+parseInt(_0x5f8b8c(0xf2))/0x2+-parseInt(_0x5f8b8c(0x115))/0x3+-parseInt(_0x5f8b8c(0xfa))/0x4+parseInt(_0x5f8b8c(0x118))/0x5*(-parseInt(_0x5f8b8c(0x110))/0x6)+parseInt(_0x5f8b8c(0xf6))/0x7+-parseInt(_0x5f8b8c(0x117))/0x8;if(_0x1db110===_0x20b326)break;else _0x484bbb['push'](_0x484bbb['shift']());}catch(_0x394fbf){_0x484bbb['push'](_0x484bbb['shift']());}}}(a0_0x4948,0x52e16));function a0_0x1cc1(_0x370668,_0x7424e3){_0x370668=_0x370668-0xf1;const _0x494895=a0_0x4948();let _0x1cc14f=_0x494895[_0x370668];if(a0_0x1cc1['DfhPeY']===undefined){var _0x3012b5=function(_0x12c321){const _0x568c15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x99ed74='',_0x558091='';for(let _0x3b166e=0x0,_0x299e0d,_0xe0663,_0x3629cc=0x0;_0xe0663=_0x12c321['charAt'](_0x3629cc++);~_0xe0663&&(_0x299e0d=_0x3b166e%0x4?_0x299e0d*0x40+_0xe0663:_0xe0663,_0x3b166e++%0x4)?_0x99ed74+=String['fromCharCode'](0xff&_0x299e0d>>(-0x2*_0x3b166e&0x6)):0x0){_0xe0663=_0x568c15['indexOf'](_0xe0663);}for(let _0x4dbe33=0x0,_0x3bbd74=_0x99ed74['length'];_0x4dbe33<_0x3bbd74;_0x4dbe33++){_0x558091+='%'+('00'+_0x99ed74['charCodeAt'](_0x4dbe33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x558091);};a0_0x1cc1['edLuxD']=_0x3012b5,a0_0x1cc1['puUXKa']={},a0_0x1cc1['DfhPeY']=!![];}const _0x2d8fc0=_0x494895[0x0],_0x5a8ed2=_0x370668+_0x2d8fc0,_0x5384d2=a0_0x1cc1['puUXKa'][_0x5a8ed2];return!_0x5384d2?(_0x1cc14f=a0_0x1cc1['edLuxD'](_0x1cc14f),a0_0x1cc1['puUXKa'][_0x5a8ed2]=_0x1cc14f):_0x1cc14f=_0x5384d2,_0x1cc14f;}const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){this['_enabled']=null,this['_ttl']=null,this['_initialized']=![];}[a0_0xc3622d(0x103)](){const _0x55b7f3=a0_0xc3622d,_0x2ea0de={'TUFbJ':_0x55b7f3(0xff),'BVySS':function(_0x430e3b,_0x2f9bed,_0x3585b0){return _0x430e3b(_0x2f9bed,_0x3585b0);},'cttnX':_0x55b7f3(0xf3)};this['_enabled']=process['env'][_0x55b7f3(0x10e)]===_0x2ea0de[_0x55b7f3(0x116)],this[_0x55b7f3(0x10b)]=_0x2ea0de[_0x55b7f3(0xfd)](parseInt,process['env'][_0x55b7f3(0xfc)],0xa)||0x12c,this[_0x55b7f3(0xf9)]=!![],logger['info']({'event':_0x2ea0de[_0x55b7f3(0x10a)],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x55b7f3(0x108)+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}['_ensureInitialized'](){const _0x59cb8b=a0_0xc3622d;!this[_0x59cb8b(0xf9)]&&this['_initConfig']();}get[a0_0xc3622d(0xf4)](){const _0x2ba985=a0_0xc3622d;return this[_0x2ba985(0x106)](),this[_0x2ba985(0x100)];}get[a0_0xc3622d(0x10d)](){const _0x408f8c=a0_0xc3622d;return this['_ensureInitialized'](),this[_0x408f8c(0x10b)];}[a0_0xc3622d(0x111)](){return this['enabled'];}['buildKey'](_0x30bee9,_0x2c56a5){const _0x18de18=a0_0xc3622d,_0x4d4f99={'ilypC':'unknown'},_0x1ad914=_0x2c56a5[_0x18de18(0x107)]['split']('/')['filter'](Boolean),_0x585dde=_0x1ad914[0x0]||'default',_0x1ccae5=_0x1ad914[0x1]||_0x4d4f99[_0x18de18(0xf1)],_0x1c4097=_0x1ad914[0x2]||'unknown';return'rf:idem:'+_0x585dde+':'+_0x1ccae5+':'+_0x1c4097+':'+_0x30bee9;}async['store'](_0x4a5ae4,_0x1db197){const _0x588719=a0_0xc3622d;if(!this['enabled'])return![];try{const _0x14c44b=redisClient['getClient']();return await _0x14c44b[_0x588719(0x105)](_0x4a5ae4,this[_0x588719(0x10d)],JSON[_0x588719(0xf7)](_0x1db197)),logger[_0x588719(0x114)]({'event':'idempotency_store','key':_0x4a5ae4,'ttl':this['ttl'],'statusCode':_0x1db197['statusCode']},'Idempotency\x20response\x20stored'),!![];}catch(_0x54aff2){return logger[_0x588719(0x101)]({'event':'idempotency_store_error','key':_0x4a5ae4,'error':_0x54aff2[_0x588719(0xf8)]},'Idempotency\x20store\x20error:\x20'+_0x54aff2['message']),![];}}async[a0_0xc3622d(0x10f)](_0x2ce694){const _0x53fb62=a0_0xc3622d,_0x37b2ef={'BJQDK':'idempotency_hit','PGjpE':_0x53fb62(0x10c),'zPISC':_0x53fb62(0xfb)};if(!this['enabled'])return null;try{const _0x5eee58=redisClient['getClient'](),_0x20f4e2=await _0x5eee58['get'](_0x2ce694);if(_0x20f4e2)return logger[_0x53fb62(0x112)]({'event':_0x37b2ef[_0x53fb62(0x102)],'key':_0x2ce694},_0x37b2ef['PGjpE']),JSON[_0x53fb62(0xfe)](_0x20f4e2);return logger[_0x53fb62(0x114)]({'event':_0x53fb62(0xf5),'key':_0x2ce694},'Idempotency\x20cache\x20MISS'),null;}catch(_0x5429e7){return logger[_0x53fb62(0x101)]({'event':_0x37b2ef[_0x53fb62(0x109)],'key':_0x2ce694,'error':_0x5429e7[_0x53fb62(0xf8)]},'Idempotency\x20retrieve\x20error:\x20'+_0x5429e7[_0x53fb62(0xf8)]),null;}}[a0_0xc3622d(0x113)](_0x55a714='req'){const _0xa2366=a0_0xc3622d;return _0x55a714+'_'+crypto[_0xa2366(0x104)]();}['buildDeterministicKey'](_0x2da99d,_0x13b6d6,_0x2a825c){return _0x2da99d+':'+_0x13b6d6+':'+_0x2a825c;}}module[a0_0xc3622d(0x119)]=new IdempotencyManager();
1
+ 'use strict';const a0_0x14008c=a0_0x15e0;function a0_0x15e0(_0x56b40d,_0xf3845c){_0x56b40d=_0x56b40d-0x169;const _0x446f69=a0_0x446f();let _0x15e053=_0x446f69[_0x56b40d];if(a0_0x15e0['wxJDgH']===undefined){var _0x163fa0=function(_0x433fc6){const _0x4a74d1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd457f1='',_0x304b3b='';for(let _0x67b2fd=0x0,_0x271d09,_0x44021d,_0xda839d=0x0;_0x44021d=_0x433fc6['charAt'](_0xda839d++);~_0x44021d&&(_0x271d09=_0x67b2fd%0x4?_0x271d09*0x40+_0x44021d:_0x44021d,_0x67b2fd++%0x4)?_0xd457f1+=String['fromCharCode'](0xff&_0x271d09>>(-0x2*_0x67b2fd&0x6)):0x0){_0x44021d=_0x4a74d1['indexOf'](_0x44021d);}for(let _0x3037d0=0x0,_0x34ded0=_0xd457f1['length'];_0x3037d0<_0x34ded0;_0x3037d0++){_0x304b3b+='%'+('00'+_0xd457f1['charCodeAt'](_0x3037d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x304b3b);};a0_0x15e0['SnKfxw']=_0x163fa0,a0_0x15e0['FcPsIS']={},a0_0x15e0['wxJDgH']=!![];}const _0x4b0e25=_0x446f69[0x0],_0x630d54=_0x56b40d+_0x4b0e25,_0x5436aa=a0_0x15e0['FcPsIS'][_0x630d54];return!_0x5436aa?(_0x15e053=a0_0x15e0['SnKfxw'](_0x15e053),a0_0x15e0['FcPsIS'][_0x630d54]=_0x15e053):_0x15e053=_0x5436aa,_0x15e053;}(function(_0x324ae5,_0x1c75fe){const _0x4c25c1=a0_0x15e0,_0x201566=_0x324ae5();while(!![]){try{const _0x565915=parseInt(_0x4c25c1(0x17b))/0x1*(parseInt(_0x4c25c1(0x17f))/0x2)+parseInt(_0x4c25c1(0x18b))/0x3*(parseInt(_0x4c25c1(0x17d))/0x4)+parseInt(_0x4c25c1(0x171))/0x5+-parseInt(_0x4c25c1(0x188))/0x6*(parseInt(_0x4c25c1(0x180))/0x7)+-parseInt(_0x4c25c1(0x183))/0x8*(parseInt(_0x4c25c1(0x170))/0x9)+-parseInt(_0x4c25c1(0x195))/0xa+parseInt(_0x4c25c1(0x191))/0xb;if(_0x565915===_0x1c75fe)break;else _0x201566['push'](_0x201566['shift']());}catch(_0x22d745){_0x201566['push'](_0x201566['shift']());}}}(a0_0x446f,0xcb982));const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require(a0_0x14008c(0x194));class IdempotencyManager{constructor(){const _0x25417b=a0_0x14008c;this[_0x25417b(0x186)]=null,this[_0x25417b(0x16f)]=null,this['_initialized']=![];}[a0_0x14008c(0x177)](){const _0x52baba=a0_0x14008c,_0xc91014={'BZaiX':function(_0xa59f13,_0x2e06eb){return _0xa59f13===_0x2e06eb;},'xSJdx':function(_0x293ccf,_0x2c38d6,_0x22ff60){return _0x293ccf(_0x2c38d6,_0x22ff60);},'iRVgQ':'idempotency_config_init'};this['_enabled']=_0xc91014['BZaiX'](process['env'][_0x52baba(0x179)],_0x52baba(0x16a)),this['_ttl']=_0xc91014['xSJdx'](parseInt,process[_0x52baba(0x172)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0xc91014['iRVgQ'],'enabled':this[_0x52baba(0x186)],'ttl':this[_0x52baba(0x16f)]},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x52baba(0x186)]+',\x20TTL:\x20'+this[_0x52baba(0x16f)]+'s');}[a0_0x14008c(0x192)](){const _0x49ed93=a0_0x14008c;!this['_initialized']&&this[_0x49ed93(0x177)]();}get[a0_0x14008c(0x173)](){const _0x595cb1=a0_0x14008c;return this[_0x595cb1(0x192)](),this[_0x595cb1(0x186)];}get[a0_0x14008c(0x18e)](){const _0x326d90=a0_0x14008c;return this['_ensureInitialized'](),this[_0x326d90(0x16f)];}[a0_0x14008c(0x187)](){const _0x4cce0e=a0_0x14008c;return this[_0x4cce0e(0x173)];}['buildKey'](_0x246753,_0x212fac){const _0x1d4dd1=a0_0x14008c,_0x77fa39={'UHuNb':'unknown'},_0x52afcc=_0x212fac['path'][_0x1d4dd1(0x185)]('/')[_0x1d4dd1(0x175)](Boolean),_0x2e7bd7=_0x52afcc[0x0]||_0x1d4dd1(0x178),_0x3043b1=_0x52afcc[0x1]||'unknown',_0xe9ef06=_0x52afcc[0x2]||_0x77fa39[_0x1d4dd1(0x184)];return _0x1d4dd1(0x17e)+_0x2e7bd7+':'+_0x3043b1+':'+_0xe9ef06+':'+_0x246753;}async[a0_0x14008c(0x17c)](_0x3365a7,_0x3a1eb3){const _0x38493e=a0_0x14008c,_0x4ca8a0={'PiDpr':_0x38493e(0x196),'wEDQc':_0x38493e(0x182)};if(!this[_0x38493e(0x173)])return![];try{const _0x3dc27f=redisClient[_0x38493e(0x18c)]();return await _0x3dc27f['setex'](_0x3365a7,this[_0x38493e(0x18e)],JSON[_0x38493e(0x17a)](_0x3a1eb3)),logger[_0x38493e(0x16b)]({'event':_0x4ca8a0['PiDpr'],'key':_0x3365a7,'ttl':this[_0x38493e(0x18e)],'statusCode':_0x3a1eb3[_0x38493e(0x176)]},_0x38493e(0x190)),!![];}catch(_0x52482b){return logger[_0x38493e(0x18f)]({'event':_0x4ca8a0[_0x38493e(0x174)],'key':_0x3365a7,'error':_0x52482b[_0x38493e(0x16c)]},'Idempotency\x20store\x20error:\x20'+_0x52482b['message']),![];}}async[a0_0x14008c(0x189)](_0x296760){const _0x3a3693=a0_0x14008c,_0x36485d={'oefjX':_0x3a3693(0x169),'MWxFj':'Idempotency\x20cache\x20HIT','Vvqlq':'idempotency_retrieve_error'};if(!this[_0x3a3693(0x173)])return null;try{const _0x4fee12=redisClient[_0x3a3693(0x18c)](),_0x103eb5=await _0x4fee12['get'](_0x296760);if(_0x103eb5)return logger[_0x3a3693(0x16d)]({'event':_0x36485d[_0x3a3693(0x16e)],'key':_0x296760},_0x36485d['MWxFj']),JSON[_0x3a3693(0x18a)](_0x103eb5);return logger['debug']({'event':'idempotency_miss','key':_0x296760},'Idempotency\x20cache\x20MISS'),null;}catch(_0x39b78b){return logger['error']({'event':_0x36485d['Vvqlq'],'key':_0x296760,'error':_0x39b78b[_0x3a3693(0x16c)]},'Idempotency\x20retrieve\x20error:\x20'+_0x39b78b[_0x3a3693(0x16c)]),null;}}['generateKey'](_0x9f7d7d='req'){const _0x4cb040=a0_0x14008c;return _0x9f7d7d+'_'+crypto[_0x4cb040(0x18d)]();}[a0_0x14008c(0x181)](_0x217cbe,_0x5d677f,_0x28271d){return _0x217cbe+':'+_0x5d677f+':'+_0x28271d;}}module[a0_0x14008c(0x193)]=new IdempotencyManager();function a0_0x446f(){const _0x4f7fb7=['zxHWB3j0CW','y3j5ChrV','nJGZmdGXmfP0vNPeAG','AwrLBxbVDgvUy3LFC3rVCMu','AwrLBxbVDgvUy3LFAgL0','Dhj1zq','zgvIDwC','BwvZC2fNzq','Aw5MBW','B2vMALG','x3r0Ba','odG0nZe1m3L5wxHhqW','nta2otyZnvPMD0jvuG','zw52','zw5HyMXLza','D0veuwm','zMLSDgvY','C3rHDhvZq29Kzq','x2LUAxrdB25MAwC','zgvMyxvSDa','surftvbpvevoq1LFru5bqKXfra','C3rYAw5NAwz5','mtK4nvrgwxjvEa','C3rVCMu','ngrwyw1vDG','CMy6AwrLBtO','nZuYswjrExHd','nZyWow9eDg9cCG','yNvPBgrezxrLCM1PBMLZDgLJs2v5','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','ofDSqvP1DG','vuH1tMi','C3bSAxq','x2vUywjSzwq','AxnfBMfIBgvK','odCWqwDzy2TK','CMv0CMLLDMu','CgfYC2u','mJiZmdm0mwPpwKfOuG','z2v0q2XPzw50','CMfUzg9Tvvvjra','DhrS','zxjYB3i','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','mty5mJKXmvjvwfrNEa','x2vUC3vYzuLUAxrPywXPEMvK'];a0_0x446f=function(){return _0x4f7fb7;};return a0_0x446f();}
@@ -1 +1 @@
1
- const a0_0x2f5b75=a0_0x73a1;function a0_0x73a1(_0x5779e8,_0x1b1e79){_0x5779e8=_0x5779e8-0x1c8;const _0x1becaa=a0_0x1bec();let _0x73a171=_0x1becaa[_0x5779e8];if(a0_0x73a1['NBSfjR']===undefined){var _0x4b56a1=function(_0x4063c1){const _0x2b8cba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xce234c='',_0x58bd42='';for(let _0x5ebaa5=0x0,_0x5eeaf9,_0x2b6642,_0x5aebe1=0x0;_0x2b6642=_0x4063c1['charAt'](_0x5aebe1++);~_0x2b6642&&(_0x5eeaf9=_0x5ebaa5%0x4?_0x5eeaf9*0x40+_0x2b6642:_0x2b6642,_0x5ebaa5++%0x4)?_0xce234c+=String['fromCharCode'](0xff&_0x5eeaf9>>(-0x2*_0x5ebaa5&0x6)):0x0){_0x2b6642=_0x2b8cba['indexOf'](_0x2b6642);}for(let _0x3998ec=0x0,_0x23a56a=_0xce234c['length'];_0x3998ec<_0x23a56a;_0x3998ec++){_0x58bd42+='%'+('00'+_0xce234c['charCodeAt'](_0x3998ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58bd42);};a0_0x73a1['vMaOXe']=_0x4b56a1,a0_0x73a1['jNCafg']={},a0_0x73a1['NBSfjR']=!![];}const _0xbe27f=_0x1becaa[0x0],_0x9baa3d=_0x5779e8+_0xbe27f,_0x4629b4=a0_0x73a1['jNCafg'][_0x9baa3d];return!_0x4629b4?(_0x73a171=a0_0x73a1['vMaOXe'](_0x73a171),a0_0x73a1['jNCafg'][_0x9baa3d]=_0x73a171):_0x73a171=_0x4629b4,_0x73a171;}(function(_0x3dff97,_0x398a80){const _0x48bd90=a0_0x73a1,_0x242db7=_0x3dff97();while(!![]){try{const _0x3b0dec=-parseInt(_0x48bd90(0x1da))/0x1*(parseInt(_0x48bd90(0x1d6))/0x2)+-parseInt(_0x48bd90(0x1e5))/0x3*(parseInt(_0x48bd90(0x1f0))/0x4)+-parseInt(_0x48bd90(0x1ee))/0x5*(parseInt(_0x48bd90(0x1e6))/0x6)+-parseInt(_0x48bd90(0x1df))/0x7*(-parseInt(_0x48bd90(0x1f1))/0x8)+parseInt(_0x48bd90(0x1e8))/0x9*(parseInt(_0x48bd90(0x1d1))/0xa)+-parseInt(_0x48bd90(0x1c9))/0xb*(-parseInt(_0x48bd90(0x1db))/0xc)+-parseInt(_0x48bd90(0x1e9))/0xd;if(_0x3b0dec===_0x398a80)break;else _0x242db7['push'](_0x242db7['shift']());}catch(_0x5cd95a){_0x242db7['push'](_0x242db7['shift']());}}}(a0_0x1bec,0x79755));const {logger}=require(a0_0x2f5b75(0x1cf));class ImportValidator{[a0_0x2f5b75(0x1f2)](_0x29609f,_0x29974e=[],_0x568d9a={}){const _0x32ef54=a0_0x2f5b75,_0x84ab40={'GlIYR':function(_0xf0b785,_0x591c56){return _0xf0b785===_0x591c56;},'xXYKY':function(_0x297da4,_0x57a3c9){return _0x297da4===_0x57a3c9;}},_0x1d15ee=[];return _0x29974e[_0x32ef54(0x1e1)](_0x16dcd9=>{const _0x5a763c=_0x32ef54,_0x4b160c=_0x29609f[_0x16dcd9];(_0x4b160c===null||_0x84ab40[_0x5a763c(0x1ea)](_0x4b160c,undefined)||_0x4b160c==='')&&_0x1d15ee[_0x5a763c(0x1d7)]({'field':_0x16dcd9,'type':'required','message':_0x5a763c(0x1d8)});}),Object['keys'](_0x568d9a)[_0x32ef54(0x1e1)](_0x3f7bbf=>{const _0x1a3920=_0x32ef54,_0x4c21e4=_0x29609f[_0x3f7bbf],_0x26eefe=_0x568d9a[_0x3f7bbf];if(_0x84ab40[_0x1a3920(0x1d2)](_0x4c21e4,null)||_0x4c21e4===undefined||_0x4c21e4==='')return;const _0x5e8366=this[_0x1a3920(0x1e4)](_0x3f7bbf,_0x4c21e4,_0x26eefe);_0x5e8366&&_0x1d15ee[_0x1a3920(0x1d7)](_0x5e8366);}),_0x1d15ee;}['validateFieldFormat'](_0x4f1cc2,_0x2daad1,_0x26b48e){const _0x3fdddb=a0_0x2f5b75,_0x5add87={'qlMoG':'phone'};switch(_0x26b48e){case _0x3fdddb(0x1dc):return this['validateEmail'](_0x4f1cc2,_0x2daad1);case _0x5add87['qlMoG']:return this[_0x3fdddb(0x1c8)](_0x4f1cc2,_0x2daad1);case'url':return this[_0x3fdddb(0x1dd)](_0x4f1cc2,_0x2daad1);case'number':return this['validateNumber'](_0x4f1cc2,_0x2daad1);default:return null;}}['validateEmail'](_0x4ef97c,_0x565839){const _0x52553a=a0_0x2f5b75,_0xa2e8ea={'WHHfH':function(_0xe80c8c,_0x456a03){return _0xe80c8c(_0x456a03);},'Nfmpr':_0x52553a(0x1e0)},_0x303d0f=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x303d0f[_0x52553a(0x1e2)](_0xa2e8ea[_0x52553a(0x1d5)](String,_0x565839)))return{'field':_0x4ef97c,'type':'format','message':_0xa2e8ea['Nfmpr']};return null;}['validatePhone'](_0x275dbb,_0x27c933){const _0x13e98b=a0_0x2f5b75,_0x53511d={'CuAFc':function(_0x4570c4,_0xcbef1f){return _0x4570c4<_0xcbef1f;},'VcFHX':_0x13e98b(0x1d0),'obgka':'Invalid\x20phone\x20format'},_0x1ad38e=String(_0x27c933)['replace'](/\s+/g,''),_0xb2b3e=/^[\d\+\-\(\)]+$/;if(!_0xb2b3e[_0x13e98b(0x1e2)](_0x1ad38e)||_0x53511d['CuAFc'](_0x1ad38e['length'],0x8))return{'field':_0x275dbb,'type':_0x53511d[_0x13e98b(0x1d3)],'message':_0x53511d['obgka']};return null;}[a0_0x2f5b75(0x1dd)](_0x22a5e5,_0x55a87b){const _0x8d9ec9=a0_0x2f5b75,_0x155200={'SYQVk':'Invalid\x20URL\x20format'};try{return new URL(String(_0x55a87b)),null;}catch(_0x3d2ce3){return{'field':_0x22a5e5,'type':'format','message':_0x155200[_0x8d9ec9(0x1cc)]};}}[a0_0x2f5b75(0x1cd)](_0xec743f,_0x116ed4){const _0x113d75=a0_0x2f5b75,_0x431d17={'JCvhU':function(_0x22a0a8,_0x22f9df){return _0x22a0a8(_0x22f9df);}};if(_0x431d17['JCvhU'](isNaN,_0x116ed4))return{'field':_0xec743f,'type':'format','message':_0x113d75(0x1d4)};return null;}[a0_0x2f5b75(0x1ed)](_0x1cbe6e,_0x48da32){const _0x6219e6=new Map(),_0xb2149a=[];return _0x1cbe6e['forEach']((_0x3a4ead,_0x32f3ec)=>{const _0x2745a4=a0_0x73a1,_0x2af813=_0x48da32[_0x2745a4(0x1ce)](_0x408371=>_0x3a4ead[_0x408371])['join']('|');_0x6219e6[_0x2745a4(0x1d9)](_0x2af813)?_0xb2149a['push']({'rowIndex':_0x32f3ec,'duplicateOf':_0x6219e6[_0x2745a4(0x1ca)](_0x2af813),'key':_0x2af813}):_0x6219e6['set'](_0x2af813,_0x32f3ec);}),_0xb2149a;}[a0_0x2f5b75(0x1ef)](_0x3201db,_0x2486c1,_0x20675c){const _0x4824ba=a0_0x2f5b75,_0x27042c={'GkVCK':function(_0x195fc6,_0xbb4db3){return _0x195fc6>_0xbb4db3;},'NKsIg':_0x4824ba(0x1ec)},_0x49c61f=[];return _0x3201db[_0x4824ba(0x1e1)]((_0x30a1fc,_0x51fd71)=>{const _0x2d9d54=_0x4824ba,_0x599ad6=this[_0x2d9d54(0x1f2)](_0x30a1fc,_0x2486c1,_0x20675c);_0x27042c[_0x2d9d54(0x1e3)](_0x599ad6[_0x2d9d54(0x1de)],0x0)&&_0x49c61f['push']({'rowIndex':_0x51fd71,'rowData':_0x30a1fc,'errors':_0x599ad6});}),logger[_0x4824ba(0x1eb)]({'event':_0x27042c[_0x4824ba(0x1e7)],'totalRows':_0x3201db[_0x4824ba(0x1de)],'errorCount':_0x49c61f[_0x4824ba(0x1de)]},'Batch\x20validation\x20completed'),_0x49c61f;}}module[a0_0x2f5b75(0x1cb)]=new ImportValidator();function a0_0x1bec(){const _0xd653ac=['sw52ywXPzcbLBwfPBcbMB3jTyxq','zM9YrwfJAa','DgvZDa','r2Twq0S','DMfSAwrHDgvgAwvSzezVCM1HDa','mtmWmZu5oxHUrKvVCq','mJy0ntaYmKDgq1npzq','tKTZswC','nJnjrLjHvLG','nZeWmJqYmg9tr1Dtyq','r2Xjwvi','Aw5MBW','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','nvbSu29cqW','yMf0y2HwywXPzgf0zvjVD3m','nePNDgzita','ote3mJG4wgzbEgjS','DMfSAwrHDgvsB3C','DMfSAwrHDgvqAg9Uzq','mJG2txznuK5P','z2v0','zxHWB3j0CW','u1LrvMS','DMfSAwrHDgvoDw1Izxi','BwfW','lI9SB2DNzxi','zM9YBwf0','nJm4ndCWteLPyvzO','EfHzs1K','vMngsfG','sw52ywXPzcbUDw1IzxiGzM9YBwf0','v0HizKG','nda0s2zqEvDq','ChvZAa','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','AgfZ','nJuZqMrYtufm','ndiYody4C1LNwgLf','zw1HAwW','DMfSAwrHDgvvCMW','BgvUz3rO','ndjYAwjQyxq'];a0_0x1bec=function(){return _0xd653ac;};return a0_0x1bec();}
1
+ const a0_0x19e863=a0_0x47cb;function a0_0x47cb(_0x53bba0,_0x515cff){_0x53bba0=_0x53bba0-0x1b3;const _0x57bbed=a0_0x57bb();let _0x47cbdd=_0x57bbed[_0x53bba0];if(a0_0x47cb['ISGTlH']===undefined){var _0x4de7f4=function(_0x4a94a3){const _0x39c2ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15a020='',_0x360729='';for(let _0x46d164=0x0,_0x263f9c,_0x2132e7,_0x461784=0x0;_0x2132e7=_0x4a94a3['charAt'](_0x461784++);~_0x2132e7&&(_0x263f9c=_0x46d164%0x4?_0x263f9c*0x40+_0x2132e7:_0x2132e7,_0x46d164++%0x4)?_0x15a020+=String['fromCharCode'](0xff&_0x263f9c>>(-0x2*_0x46d164&0x6)):0x0){_0x2132e7=_0x39c2ec['indexOf'](_0x2132e7);}for(let _0xb87d0=0x0,_0xf48183=_0x15a020['length'];_0xb87d0<_0xf48183;_0xb87d0++){_0x360729+='%'+('00'+_0x15a020['charCodeAt'](_0xb87d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x360729);};a0_0x47cb['nLBSck']=_0x4de7f4,a0_0x47cb['vvJlpq']={},a0_0x47cb['ISGTlH']=!![];}const _0x2e4e8c=_0x57bbed[0x0],_0x1a0869=_0x53bba0+_0x2e4e8c,_0x4262bb=a0_0x47cb['vvJlpq'][_0x1a0869];return!_0x4262bb?(_0x47cbdd=a0_0x47cb['nLBSck'](_0x47cbdd),a0_0x47cb['vvJlpq'][_0x1a0869]=_0x47cbdd):_0x47cbdd=_0x4262bb,_0x47cbdd;}(function(_0x3111d2,_0x70e31f){const _0x4027de=a0_0x47cb,_0x319f8a=_0x3111d2();while(!![]){try{const _0x4d2407=parseInt(_0x4027de(0x1d5))/0x1*(parseInt(_0x4027de(0x1bf))/0x2)+-parseInt(_0x4027de(0x1b7))/0x3*(-parseInt(_0x4027de(0x1c8))/0x4)+-parseInt(_0x4027de(0x1be))/0x5*(parseInt(_0x4027de(0x1d3))/0x6)+-parseInt(_0x4027de(0x1ca))/0x7+parseInt(_0x4027de(0x1c5))/0x8*(parseInt(_0x4027de(0x1b5))/0x9)+-parseInt(_0x4027de(0x1b6))/0xa+-parseInt(_0x4027de(0x1c7))/0xb;if(_0x4d2407===_0x70e31f)break;else _0x319f8a['push'](_0x319f8a['shift']());}catch(_0x4bc297){_0x319f8a['push'](_0x319f8a['shift']());}}}(a0_0x57bb,0x91102));function a0_0x57bb(){const _0xaeab22=['zw1HAwW','Aw5MBW','uKXyBvu','sw52ywXPzcbUDw1IzxiGzM9YBwf0','zM9YBwf0','mJaWnJrnAwTXzfK','BgvUz3rO','mtuZmZG4nhDoqw9SqG','mtq4AvfbuMzu','CgHVBMu','mJq2nJiZm3Lsqw16wG','z2v0','zxHWB3j0CW','BNvTyMvY','DMfSAwrHDgvsB3C','DMfSAwrHDgvoDw1Izxi','DgvZDa','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','DMfSAwrHDgvfBwfPBa','odq4otK0qufUrxPI','ChvZAa','mtq5C2DsA2XN','AM9PBG','lI9SB2DNzxi','wxD1tgO','qu5vDLC','zM9YrwfJAa','u3DAB0m','mZqYowTVvMXcqG','ndi0mdGWmg5Qt1HLwq','mJi4odfruxvOB3K','EvzgD1m','sw52ywXPzcbvuKWGzM9YBwf0','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','DMfSAwrHDgvqAg9Uzq','CMvXDwLYzwq','A2v5CW','nuPtBgzSAq','ntu1nePZwKjoAq'];a0_0x57bb=function(){return _0xaeab22;};return a0_0x57bb();}const {logger}=require(a0_0x19e863(0x1d7));class ImportValidator{[a0_0x19e863(0x1ce)](_0x4f7e64,_0x580a4e=[],_0x158acc={}){const _0x1416d3=a0_0x19e863,_0x2265be={'SwZoC':function(_0x596dd4,_0x4de94d){return _0x596dd4===_0x4de94d;},'yVFwS':_0x1416d3(0x1bc),'ezdnG':function(_0xba4b9c,_0x8bf6e8){return _0xba4b9c===_0x8bf6e8;}},_0x53c8a4=[];return _0x580a4e[_0x1416d3(0x1b3)](_0x26d631=>{const _0x39d38b=_0x1416d3,_0x2bcee6=_0x4f7e64[_0x26d631];(_0x2265be[_0x39d38b(0x1b4)](_0x2bcee6,null)||_0x2bcee6===undefined||_0x2265be['SwZoC'](_0x2bcee6,''))&&_0x53c8a4[_0x39d38b(0x1d4)]({'field':_0x26d631,'type':_0x2265be[_0x39d38b(0x1b8)],'message':'Required\x20field\x20is\x20empty'});}),Object[_0x1416d3(0x1bd)](_0x158acc)['forEach'](_0x7da481=>{const _0x15ae81=_0x4f7e64[_0x7da481],_0x2c5081=_0x158acc[_0x7da481];if(_0x15ae81===null||_0x2265be['ezdnG'](_0x15ae81,undefined)||_0x15ae81==='')return;const _0xa6e266=this['validateFieldFormat'](_0x7da481,_0x15ae81,_0x2c5081);_0xa6e266&&_0x53c8a4['push'](_0xa6e266);}),_0x53c8a4;}['validateFieldFormat'](_0x43a4ea,_0x5c25b7,_0x340983){const _0x3c7ae5=a0_0x19e863,_0x5703cf={'bppRD':_0x3c7ae5(0x1c0),'ANUvW':_0x3c7ae5(0x1c9)};switch(_0x340983){case _0x5703cf['bppRD']:return this[_0x3c7ae5(0x1d2)](_0x43a4ea,_0x5c25b7);case _0x5703cf[_0x3c7ae5(0x1d9)]:return this[_0x3c7ae5(0x1bb)](_0x43a4ea,_0x5c25b7);case'url':return this['validateUrl'](_0x43a4ea,_0x5c25b7);case _0x3c7ae5(0x1cd):return this[_0x3c7ae5(0x1cf)](_0x43a4ea,_0x5c25b7);default:return null;}}['validateEmail'](_0x520e8d,_0x4246b2){const _0x782db1=a0_0x19e863,_0x29de7c={'RLXmU':function(_0x5a19af,_0x2af719){return _0x5a19af(_0x2af719);},'DrIbT':'format'},_0x54e508=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x54e508[_0x782db1(0x1d0)](_0x29de7c[_0x782db1(0x1c2)](String,_0x4246b2)))return{'field':_0x520e8d,'type':_0x29de7c['DrIbT'],'message':'Invalid\x20email\x20format'};return null;}['validatePhone'](_0x35abe7,_0x2ccfa1){const _0x42b30b=a0_0x19e863,_0x1534a2={'kgNAL':function(_0x36ded4,_0x435b8f){return _0x36ded4<_0x435b8f;}},_0x1bac3d=String(_0x2ccfa1)['replace'](/\s+/g,''),_0x1c1cd6=/^[\d\+\-\(\)]+$/;if(!_0x1c1cd6[_0x42b30b(0x1d0)](_0x1bac3d)||_0x1534a2['kgNAL'](_0x1bac3d['length'],0x8))return{'field':_0x35abe7,'type':_0x42b30b(0x1c4),'message':'Invalid\x20phone\x20format'};return null;}['validateUrl'](_0x33ee7a,_0x32e240){const _0x564a2c=a0_0x19e863,_0x1ca909={'PsIkk':_0x564a2c(0x1b9)};try{return new URL(String(_0x32e240)),null;}catch(_0x462547){return{'field':_0x33ee7a,'type':'format','message':_0x1ca909['PsIkk']};}}[a0_0x19e863(0x1cf)](_0xc4ac68,_0xcdd9e1){const _0x233f90=a0_0x19e863,_0x36e85f={'rexzn':function(_0x231faf,_0x435247){return _0x231faf(_0x435247);},'tJQDi':_0x233f90(0x1c3)};if(_0x36e85f['rexzn'](isNaN,_0xcdd9e1))return{'field':_0xc4ac68,'type':'format','message':_0x36e85f['tJQDi']};return null;}[a0_0x19e863(0x1ba)](_0x2dbc04,_0x22553c){const _0x1c9eed=a0_0x19e863,_0x3dcfe8=new Map(),_0x252954=[];return _0x2dbc04[_0x1c9eed(0x1b3)]((_0x334e92,_0x178a74)=>{const _0x33a692=_0x1c9eed,_0x19ce31=_0x22553c['map'](_0x27dd49=>_0x334e92[_0x27dd49])[_0x33a692(0x1d6)]('|');_0x3dcfe8['has'](_0x19ce31)?_0x252954[_0x33a692(0x1d4)]({'rowIndex':_0x178a74,'duplicateOf':_0x3dcfe8[_0x33a692(0x1cb)](_0x19ce31),'key':_0x19ce31}):_0x3dcfe8['set'](_0x19ce31,_0x178a74);}),_0x252954;}['batchValidateRows'](_0x1de474,_0x2ba9bb,_0xfdc9b){const _0x5594ec=a0_0x19e863,_0x1ce59f={'XTykJ':function(_0x44f15b,_0x2b28ba){return _0x44f15b>_0x2b28ba;},'YwuLj':_0x5594ec(0x1d1)},_0x19cda4=[];return _0x1de474['forEach']((_0x2a3043,_0x1a897b)=>{const _0x28af43=_0x5594ec,_0x561c39=this[_0x28af43(0x1ce)](_0x2a3043,_0x2ba9bb,_0xfdc9b);_0x1ce59f['XTykJ'](_0x561c39[_0x28af43(0x1c6)],0x0)&&_0x19cda4['push']({'rowIndex':_0x1a897b,'rowData':_0x2a3043,'errors':_0x561c39});}),logger[_0x5594ec(0x1c1)]({'event':_0x1ce59f[_0x5594ec(0x1d8)],'totalRows':_0x1de474['length'],'errorCount':_0x19cda4[_0x5594ec(0x1c6)]},'Batch\x20validation\x20completed'),_0x19cda4;}}module[a0_0x19e863(0x1cc)]=new ImportValidator();