@restforgejs/platform 5.3.5 → 5.3.6

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 (172) hide show
  1. package/bin/restforge-designer-linux +0 -0
  2. package/bin/restforge-designer.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/cli/designer.js +3 -0
  7. package/generators/cli/fast-track.js +7 -7
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +3 -2
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  168. package/src/utils/sql-table-extractor.js +1 -1
  169. package/src/utils/trusted-keys.js +1 -1
  170. package/src/utils/upload-handler.js +1 -1
  171. package/src/utils/upsert-builder.js +1 -1
  172. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x4563d8=a0_0x30bd;(function(_0xae81e5,_0x93332f){const _0x474242=a0_0x30bd,_0x1284b0=_0xae81e5();while(!![]){try{const _0x37f690=-parseInt(_0x474242(0xe2))/0x1+parseInt(_0x474242(0xd0))/0x2+parseInt(_0x474242(0xd5))/0x3*(parseInt(_0x474242(0xdb))/0x4)+-parseInt(_0x474242(0xdd))/0x5*(parseInt(_0x474242(0xe5))/0x6)+-parseInt(_0x474242(0xd1))/0x7+-parseInt(_0x474242(0xe1))/0x8*(-parseInt(_0x474242(0xd4))/0x9)+-parseInt(_0x474242(0xcc))/0xa*(-parseInt(_0x474242(0xe3))/0xb);if(_0x37f690===_0x93332f)break;else _0x1284b0['push'](_0x1284b0['shift']());}catch(_0xe1682){_0x1284b0['push'](_0x1284b0['shift']());}}}(a0_0xff58,0xc5a3c));function a0_0xff58(){const _0x56c54e=['zxH0zw5ZAw9UCW','nJK0ntnbCxbSwuy','mty3nJy2mvPMEujHuW','uxnowuW','CMvSyxrPDMu','lYaOCMvJDxjZAxzLkq','B25dAgfUz2u','zxHWB3j0CW','nenAs3nluq','zxHPC3rZu3LUyW','nZm5odi5nufqrK1xuW','BwvZC2fNzq','teXjyxe','t1DcB2C','odHPyuXdtLy','mtqYota2mwnYv3DLqW','ndiZmtu5Cu9MzezJ','D2f0y2G','nLfitvDOra','x2rLyM91BMnL','lMPZB24','D2f0y2HLCNm','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','zgvIB3vUy2vuAw1LCG','lMPZ','Aw5JBhvKzxm','Dg9mB3DLCKnHC2u','zxH0BMfTzq','zgLYzwn0B3jPzxm','otmWt2nusNPT','y3DK','y2XVC2u','icbBv0fuq0HDifDHDgnOAw5NoIa','mtCXnJm1mKr4AMDIyq','otuYotiWnvrVBhLKsa','Cgf0Aa'];a0_0xff58=function(){return _0x56c54e;};return a0_0xff58();}const fs=require('fs'),path=require(a0_0x4563d8(0xd2));function a0_0x30bd(_0x4e44db,_0x2fe2a0){_0x4e44db=_0x4e44db-0xc2;const _0xff58f3=a0_0xff58();let _0x30bd9a=_0xff58f3[_0x4e44db];if(a0_0x30bd['YyoKTp']===undefined){var _0x5b45a8=function(_0x178823){const _0x34061a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x593318='',_0xcaecaf='';for(let _0x2f7bcf=0x0,_0x4ceaaf,_0x71bb5d,_0x2114e7=0x0;_0x71bb5d=_0x178823['charAt'](_0x2114e7++);~_0x71bb5d&&(_0x4ceaaf=_0x2f7bcf%0x4?_0x4ceaaf*0x40+_0x71bb5d:_0x71bb5d,_0x2f7bcf++%0x4)?_0x593318+=String['fromCharCode'](0xff&_0x4ceaaf>>(-0x2*_0x2f7bcf&0x6)):0x0){_0x71bb5d=_0x34061a['indexOf'](_0x71bb5d);}for(let _0x17111b=0x0,_0x535e02=_0x593318['length'];_0x17111b<_0x535e02;_0x17111b++){_0xcaecaf+='%'+('00'+_0x593318['charCodeAt'](_0x17111b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcaecaf);};a0_0x30bd['ZUNLiG']=_0x5b45a8,a0_0x30bd['nCPGyv']={},a0_0x30bd['YyoKTp']=!![];}const _0x24ec7e=_0xff58f3[0x0],_0x116562=_0x4e44db+_0x24ec7e,_0x4fd1da=a0_0x30bd['nCPGyv'][_0x116562];return!_0x4fd1da?(_0x30bd9a=a0_0x30bd['ZUNLiG'](_0x30bd9a),a0_0x30bd['nCPGyv'][_0x116562]=_0x30bd9a):_0x30bd9a=_0x4fd1da,_0x30bd9a;}class FileWatcher{constructor(_0x58ca52={}){const _0x3f20c1=a0_0x4563d8,_0x2cb40e={'LLIaq':_0x3f20c1(0xc3)},_0x3cc80a='5|0|4|2|1|3'['split']('|');let _0x530827=0x0;while(!![]){switch(_0x3cc80a[_0x530827++]){case'0':this[_0x3f20c1(0xd3)]=_0x58ca52['extensions']||[_0x3f20c1(0xc7),_0x2cb40e[_0x3f20c1(0xdf)]];continue;case'1':this[_0x3f20c1(0xc4)]=[];continue;case'2':this[_0x3f20c1(0xd9)]=_0x58ca52[_0x3f20c1(0xd9)]||(()=>{});continue;case'3':this['debounceTimer']=null;continue;case'4':this['debounceMs']=_0x58ca52['debounceMs']||0x1f4;continue;case'5':this[_0x3f20c1(0xcb)]=_0x58ca52['directories']||[];continue;}break;}}['start'](){const _0x1dc3ba=a0_0x4563d8,_0x485052={'QsNYL':'error'};for(const _0x351daf of this[_0x1dc3ba(0xcb)]){if(!fs[_0x1dc3ba(0xdc)](_0x351daf)){console['log']('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process['cwd'](),_0x351daf)||_0x351daf));continue;}try{const _0x5a2088=fs[_0x1dc3ba(0xe4)](_0x351daf,{'recursive':!![]},(_0x1268f7,_0x57f5bd)=>{const _0xb03003=_0x1dc3ba;if(!_0x57f5bd)return;const _0x4be6d1=path[_0xb03003(0xca)](_0x57f5bd)[_0xb03003(0xc9)]();if(!this[_0xb03003(0xd3)][_0xb03003(0xc8)](_0x4be6d1))return;this['_debounce'](_0x57f5bd);});_0x5a2088['on'](_0x485052[_0x1dc3ba(0xd6)],_0x58e594=>{const _0x5b67d2=_0x1dc3ba;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x5b67d2(0xd7)](process[_0x5b67d2(0xcd)](),_0x351daf)+':\x20'+_0x58e594[_0x5b67d2(0xde)]);}),this[_0x1dc3ba(0xc4)]['push'](_0x5a2088);const _0x4acebe=path['relative'](process['cwd'](),_0x351daf)||_0x351daf;console['log'](_0x1dc3ba(0xcf)+_0x4acebe+_0x1dc3ba(0xd8));}catch(_0x14620a){console['log'](_0x1dc3ba(0xc5)+path[_0x1dc3ba(0xd7)](process[_0x1dc3ba(0xcd)](),_0x351daf)+':\x20'+_0x14620a['message']);}}}['stop'](){const _0x4eca49=a0_0x4563d8;for(const _0x32bc15 of this['watchers']){try{_0x32bc15[_0x4eca49(0xce)]();}catch(_0x3a38f2){}}this[_0x4eca49(0xc4)]=[],this[_0x4eca49(0xc6)]&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}[a0_0x4563d8(0xc2)](_0x4501b2){const _0x2ed766=a0_0x4563d8,_0x2dadf6={'OWBog':function(_0x1084e7,_0x1b2088,_0x33941b){return _0x1084e7(_0x1b2088,_0x33941b);}};this[_0x2ed766(0xc6)]&&clearTimeout(this[_0x2ed766(0xc6)]),this['debounceTimer']=_0x2dadf6[_0x2ed766(0xe0)](setTimeout,()=>{const _0x445804=_0x2ed766;this[_0x445804(0xc6)]=null,this[_0x445804(0xd9)](_0x4501b2);},this['debounceMs']);}}module[a0_0x4563d8(0xda)]=FileWatcher;
1
+ 'use strict';function a0_0x17a2(_0x1e9a08,_0x486da9){_0x1e9a08=_0x1e9a08-0x179;const _0x27b72c=a0_0x27b7();let _0x17a275=_0x27b72c[_0x1e9a08];if(a0_0x17a2['efGYRs']===undefined){var _0x1002b7=function(_0x2b93e4){const _0x43410d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32b37d='',_0x1def8c='';for(let _0x5a91b0=0x0,_0x444ed8,_0x6fe7a0,_0x5e4568=0x0;_0x6fe7a0=_0x2b93e4['charAt'](_0x5e4568++);~_0x6fe7a0&&(_0x444ed8=_0x5a91b0%0x4?_0x444ed8*0x40+_0x6fe7a0:_0x6fe7a0,_0x5a91b0++%0x4)?_0x32b37d+=String['fromCharCode'](0xff&_0x444ed8>>(-0x2*_0x5a91b0&0x6)):0x0){_0x6fe7a0=_0x43410d['indexOf'](_0x6fe7a0);}for(let _0x16bb55=0x0,_0x3ab935=_0x32b37d['length'];_0x16bb55<_0x3ab935;_0x16bb55++){_0x1def8c+='%'+('00'+_0x32b37d['charCodeAt'](_0x16bb55)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1def8c);};a0_0x17a2['sfZgpk']=_0x1002b7,a0_0x17a2['mmqApo']={},a0_0x17a2['efGYRs']=!![];}const _0x2b32ce=_0x27b72c[0x0],_0x3b090f=_0x1e9a08+_0x2b32ce,_0x32ce75=a0_0x17a2['mmqApo'][_0x3b090f];return!_0x32ce75?(_0x17a275=a0_0x17a2['sfZgpk'](_0x17a275),a0_0x17a2['mmqApo'][_0x3b090f]=_0x17a275):_0x17a275=_0x32ce75,_0x17a275;}const a0_0x2ce5f2=a0_0x17a2;function a0_0x27b7(){const _0x56c3f0=['mJm4mZC2nuPcCxnzuW','otnYzNv1EgO','zxH0zw5ZAw9UCW','mJy3ntuYnhDgr2nwyG','y3DK','zxH0BMfTzq','Bg9N','D2f0y2HLCNm','zgvIB3vUy2vuAw1LCG','zgLYzwn0B3jPzxm','CMvSyxrPDMu','nJe0nty3nfncCNr4EG','nxW0Fdn8mNWWFde','C3rVCa','y2XVC2u','qMXMreS','mZvjDNbLrei','B25dAgfUz2u','Cgf0Aa','zgvIB3vUy2vnCW','C3bSAxq','oty0odyWsKjtv0Xg','owfyuLzrrW','mtq4otaZmMTgzKTnuG','mJmYndrqy2fjvfm','mtK5mZy0ntbKEMLovee','x2rLyM91BMnL','ChvZAa','BwvZC2fNzq'];a0_0x27b7=function(){return _0x56c3f0;};return a0_0x27b7();}(function(_0x25bac0,_0x450e03){const _0x1d9a98=a0_0x17a2,_0x33ab92=_0x25bac0();while(!![]){try{const _0x2d5707=parseInt(_0x1d9a98(0x192))/0x1+parseInt(_0x1d9a98(0x180))/0x2+-parseInt(_0x1d9a98(0x17e))/0x3*(parseInt(_0x1d9a98(0x195))/0x4)+parseInt(_0x1d9a98(0x17d))/0x5+parseInt(_0x1d9a98(0x188))/0x6+-parseInt(_0x1d9a98(0x18d))/0x7*(parseInt(_0x1d9a98(0x194))/0x8)+-parseInt(_0x1d9a98(0x193))/0x9*(parseInt(_0x1d9a98(0x179))/0xa);if(_0x2d5707===_0x450e03)break;else _0x33ab92['push'](_0x33ab92['shift']());}catch(_0x2d4bac){_0x33ab92['push'](_0x33ab92['shift']());}}}(a0_0x27b7,0xaab57));const fs=require('fs'),path=require(a0_0x2ce5f2(0x18f));class FileWatcher{constructor(_0x1148a3={}){const _0x16ca23=a0_0x2ce5f2,_0x2d745f={'BlfDK':_0x16ca23(0x189),'vmMTs':'.js'},_0x23fc40=_0x2d745f[_0x16ca23(0x18c)][_0x16ca23(0x191)]('|');let _0x490227=0x0;while(!![]){switch(_0x23fc40[_0x490227++]){case'0':this['watchers']=[];continue;case'1':this[_0x16ca23(0x185)]=null;continue;case'2':this[_0x16ca23(0x18e)]=_0x1148a3['onChange']||(()=>{});continue;case'3':this[_0x16ca23(0x190)]=_0x1148a3[_0x16ca23(0x190)]||0x1f4;continue;case'4':this[_0x16ca23(0x17f)]=_0x1148a3[_0x16ca23(0x17f)]||[_0x2d745f['vmMTs'],'.json'];continue;case'5':this['directories']=_0x1148a3['directories']||[];continue;}break;}}['start'](){const _0x182d65=a0_0x2ce5f2;for(const _0x346a39 of this[_0x182d65(0x186)]){if(!fs['existsSync'](_0x346a39)){console[_0x182d65(0x183)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path[_0x182d65(0x187)](process['cwd'](),_0x346a39)||_0x346a39));continue;}try{const _0x10303f=fs['watch'](_0x346a39,{'recursive':!![]},(_0x4f345d,_0x8c7567)=>{const _0x27c18d=_0x182d65;if(!_0x8c7567)return;const _0x54a877=path[_0x27c18d(0x182)](_0x8c7567)['toLowerCase']();if(!this[_0x27c18d(0x17f)]['includes'](_0x54a877))return;this[_0x27c18d(0x17a)](_0x8c7567);});_0x10303f['on']('error',_0x524c07=>{const _0x2daf10=_0x182d65;console[_0x2daf10(0x183)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x2daf10(0x187)](process['cwd'](),_0x346a39)+':\x20'+_0x524c07[_0x2daf10(0x17c)]);}),this[_0x182d65(0x184)][_0x182d65(0x17b)](_0x10303f);const _0x453266=path['relative'](process[_0x182d65(0x181)](),_0x346a39)||_0x346a39;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x453266+'/\x20(recursive)');}catch(_0x17d454){console[_0x182d65(0x183)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path['relative'](process['cwd'](),_0x346a39)+':\x20'+_0x17d454['message']);}}}[a0_0x2ce5f2(0x18a)](){const _0x20aa52=a0_0x2ce5f2;for(const _0x24fb60 of this['watchers']){try{_0x24fb60[_0x20aa52(0x18b)]();}catch(_0x4be9f8){}}this['watchers']=[],this['debounceTimer']&&(clearTimeout(this['debounceTimer']),this[_0x20aa52(0x185)]=null);}['_debounce'](_0x1e21cf){const _0x468ca0={'ELbHn':function(_0x482c2b,_0x1a9186){return _0x482c2b(_0x1a9186);}};this['debounceTimer']&&_0x468ca0['ELbHn'](clearTimeout,this['debounceTimer']),this['debounceTimer']=setTimeout(()=>{const _0x252c60=a0_0x17a2;this[_0x252c60(0x185)]=null,this['onChange'](_0x1e21cf);},this['debounceMs']);}}module['exports']=FileWatcher;
@@ -1 +1 @@
1
- 'use strict';function a0_0x255c(){const _0xbce950=['x2rLzMf1BhrdB2rLugf0DgvYBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','CMvWzwf0','surhru5Fsu5wquXjrf9qqvrurvjo','EMnHCMq','Dg9mB3DLCKnHC2u','x3jLC2vYDMvnyxHuveW','BNnyufG','yxDJrhO','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','x2j1AwXKtwv0yuTLEq','x3zHBgLKyxrLtwf4uMv0CNK','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','DMfSDwu','surhru5Fsu5wquXjrf9gt1jnqvq','mtuZndi2mg5ZAgXfzG','Bwv0ytO','CMvZzxj2zv9LEhrLBMq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','x2j1AwXKuMvZzxj2yxrPB25lzxK','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','surhru5Fsu5wquXjrf9uveW','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','CMvZzxj2zv9JB25MAxjT','icH0B2TLBJ0','AxnZDwvKoG','x2vUC3vYzuLUAxrPywXPEMvK','surhru5Fsu5wquXjrf9quKvgsvG','surhru5Fsu5wquXjrf9trvbbuKfut1i','x3bHCNnLtNvTyMvY','AMX5z2K','BNvTrgLNAxrZ','ywXS','CMvSzwfZzu51BwjLCG','DhrStxm','C3bSAxq','x3vWzgf0zu1LDge','z2v0q2XPzw50','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','x2DLBMvYyxrLrNjVBvbHDhrLCM4','CMjJufm','zgvS','AgfZ','tgfvDLe','BeXKrfK','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','suqGr2vUzxjHDg9YihjLC2v0oIa','DgvZDa','x3zHBgLKyxrLugf0DgvYBG','mta0ntCZmZzprvnct2i','mdeYmZq1nJC4owfIy2rLzG','x2zVCM1HDe51BwjLCG','zgvMyxvSDe1HEfjLDhj5','x2fSBg93uMvZzxq','tNvXBg0','v2Tduxq','ChvZAa','BwvZC2fNzq','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','Bwf4uMv0CNK','z2v0rNvSBfLLyxi','vNHLvLe','ExL5Eq','AwrLBxbVDgvUy3LlzxK','x2LUAxrPywXPEMvK','x3bHzdi','surhru5Fsu5wquXjrf9esuDjvfm','DhrS','AwrNzw5FCMvZzxq','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','x2rLzMf1BhrnyxHszxrYEq','mti5mdqXnvjrveLSBG','nta3ntG0zeDbAhbQ','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','BgDKBKu','twvRuKK','x2vUywjSzwq','x3zHBgLKyxrLuMvZzxj2zvruta','zNrsEM4','Dgv4Da','zM9YBwf0','x2j1AwXKrM9YBwf0s2v5','zgLNAxrZ','AenKCuq','zw5HyMXLza','Evb3rMG','wMLjAg4','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','mtK4otvOvNfYy3C','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','x2j1AwXKsxnZDwvKs2v5','qLrMBeq','CNn2swr4s2v5','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','x3n0B3jLswrLBunHy2HL','ywr6vuO','zgv0ywLSCW','ignOyxjZ','tLnjuNG','AxnjBNrLz2vY','m0PQt1r3qW','ChjLzML4','Cw1jEgm','lcbNB3qG','Bwv0yq','CgfYC2u','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','ignOyxjZicHNB3qGBgvUz3rOoIa','vhfktw8','lI9SB2DNzxi','surhru5Fsurftv9uveW','zM9YBwf0s2v5','zNDpsgW','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zxzHBa','yNPrvxe','DxzKzue','C3rYAw5N','Bw9Kzq','x2LKzw1uveW','x2LUAxrdB25MAwC','BgHethu','DvbOCxi','tgXfvMe','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','vxbuwem','BNvTyMvY','surhru5Fsu5wquXjrf9ovu1crvi','uvn0qNq','CMvZzxj2zu1HEfruta','surhru5FreLtqujmruq','x3zHBgLKyxrLuMvZB3vYy2u','EhvQuMe','x2j1AwXKswrLBuTLEq','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','x2DLDenVDw50zxjuveW','Eg9Uywe','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','quvKDuG','CgfKu3rHCNq','x2rLzMf1BhrqAw5eAwDPDhm','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','vw5RBM93BIbTB2rLoIa','C2fKza','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','rw1vAfm','sxLUruK','rvPOuMO','CMfUzg9Tsw50','zxHWAxjLC0f0','zgvMyxvSDenVzgvqyxr0zxjU','q291BNrLCIbVDMvYzMXVDZOG','zuTNsee','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','Aw5MBW','z2v0rgf0zq','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMvZzxj2zu51BwjLCG','whHWuhO','zw52','CMvZzxq','y2L6te8','ze9nrhm','surhru5Fsu5wquXjrf9srvnpvvjdrq','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','icHNB3q6ia','x3jLC2vYDMvezwzHDwX0vfrm','mJGXndu0sgLbrMjd','CMv1C2u6','wuLotxa','D2LUBMvYuMvZDwX0','twDyte8','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','y291BNrLCG','vw5RBM93BIbMB3jTyxq6ia','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x2j1AwXKuMv1C2vlzxK','B3fXwKe','zxHWB3j0CW','CMvZB3vYy2u','surhru5FquXmt1DFuKvtrvq','CMfUzg9T','z2v0','C3rYAw5NAwz5','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zu90wwy','wfHywc1ywfHylvHywfGTwfHywa','ExL5Ew1T','uuHLrK4','C2v0','BM93','A2v5uhjLzML4','AwrNzw4','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','CujXs1y','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','wKTvEuy','x2j1AwXKqwn0AxzLs2v5','x3n0B3jLswrLBunHy2HLtLG','EvDQvgG','Ag1Nzxq','CMfUzg9Tvvvjra','ywXSB3DszxnLDa','uejPzuW','C2vWyxjHDg9Y','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','CMvZzxj2zv9Jyw5JzwW','svHRB2i','tvD2D3i','surhru5Fsu5wquXjrf9nt0rf','z2rWDvO','BgvUz3rO','igrPz2L0CYaOz290oIa','ANzftgK','ihbHCNrZkq','CMvSzwfZzwrbDa','rxvfDxG','C2vXoG','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','surhru5Fru5bqKXfra','A2v5CW','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','AxnZDwvK','EhPSzgy','AxnfBMfIBgvK','vfrkz0O','D2fYBG','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','twv0ysb1CgrHDguGzxjYB3i','Dg9ju09tDhjPBMC','rhb3sK8','vKrwCM4','x3jLDhjPzxzLswrLBunHy2HL','zgvMyxvSDfbPBKrPz2L0CW','yM5IyvC','uLLxEfm','zw5ZDxjLvw5PCxvL','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','lcbLEhbLy3rLzca','qxn4q0e','suqGr2vUzxjHDg9Yig51BwjLCJOG','u0novhO','rwzTugy','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','x2j1AwXKu2vXs2v5','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','y29Kzq','rhzgz3e','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','ywvjtNC','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','C3rVCMvK','vhDiDK4','ihnLy29UzhmGkgDVDdOG','rNnyuLy','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','wengB0m','mJi4nZu3mLjmDeDiDG','ywn0AxzLoG','Bwf0y2G','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','y291BNrLCKLUDa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','vLH0vLm','x2nVDw50zxjuveXnyxa','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','surhru5Fsu5wquXjrf9ut0TftG','AwrLBvruta','CMvZzxj2zurLzMf1BhruveW','DMjyDxu','x3rLEhq','swrhzw5LCMf0B3jfCNjVCG','Cfnir3e','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','C2v0zxG','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia'];a0_0x255c=function(){return _0xbce950;};return a0_0x255c();}function a0_0xf0a4(_0x47f878,_0x3a5980){_0x47f878=_0x47f878-0xcf;const _0x255c1b=a0_0x255c();let _0xf0a4a0=_0x255c1b[_0x47f878];if(a0_0xf0a4['UxOMki']===undefined){var _0x12f774=function(_0x383656){const _0x18fbab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x458745='',_0x40a0a8='';for(let _0x4e4f23=0x0,_0x17f209,_0x4d3281,_0x2aa737=0x0;_0x4d3281=_0x383656['charAt'](_0x2aa737++);~_0x4d3281&&(_0x17f209=_0x4e4f23%0x4?_0x17f209*0x40+_0x4d3281:_0x4d3281,_0x4e4f23++%0x4)?_0x458745+=String['fromCharCode'](0xff&_0x17f209>>(-0x2*_0x4e4f23&0x6)):0x0){_0x4d3281=_0x18fbab['indexOf'](_0x4d3281);}for(let _0x462f1a=0x0,_0x4f2a2d=_0x458745['length'];_0x462f1a<_0x4f2a2d;_0x462f1a++){_0x40a0a8+='%'+('00'+_0x458745['charCodeAt'](_0x462f1a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40a0a8);};a0_0xf0a4['VRDaip']=_0x12f774,a0_0xf0a4['juFKhu']={},a0_0xf0a4['UxOMki']=!![];}const _0x39b492=_0x255c1b[0x0],_0x532e77=_0x47f878+_0x39b492,_0x24cc72=a0_0xf0a4['juFKhu'][_0x532e77];return!_0x24cc72?(_0xf0a4a0=a0_0xf0a4['VRDaip'](_0xf0a4a0),a0_0xf0a4['juFKhu'][_0x532e77]=_0xf0a4a0):_0xf0a4a0=_0x24cc72,_0xf0a4a0;}const a0_0x1603ac=a0_0xf0a4;(function(_0x34702a,_0x4bf70a){const _0x11daf4=a0_0xf0a4,_0xc79523=_0x34702a();while(!![]){try{const _0x5d505b=-parseInt(_0x11daf4(0x19b))/0x1+parseInt(_0x11daf4(0xd0))/0x2*(-parseInt(_0x11daf4(0x1a7))/0x3)+-parseInt(_0x11daf4(0x18a))/0x4+-parseInt(_0x11daf4(0x189))/0x5+-parseInt(_0x11daf4(0x150))/0x6+-parseInt(_0x11daf4(0x12d))/0x7+parseInt(_0x11daf4(0x172))/0x8;if(_0x5d505b===_0x4bf70a)break;else _0xc79523['push'](_0xc79523['shift']());}catch(_0x272cbd){_0xc79523['push'](_0xc79523['shift']());}}}(a0_0x255c,0x2bb74));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require(a0_0x1603ac(0x1b0)),idempotencyManager=require(a0_0x1603ac(0x118)),ALLOWED_FORMATS=new Set(['text',a0_0x1603ac(0x17f),'yyyymm','yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x1603ac(0x1df),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=a0_0x1603ac(0x173),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x1603ac(0x1c9),LUA_RELEASE_NUMBER=a0_0x1603ac(0x1a0),LUA_RESERVE_NUMBER=a0_0x1603ac(0x14a),LUA_CONFIRM_RESERVATION=a0_0x1603ac(0x153),LUA_CANCEL_RESERVATION=a0_0x1603ac(0x12b),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(_0x4128a1,_0x3cce3a,_0x88af12=null){const _0xa42c=a0_0x1603ac,_0x48644d={'BTflD':function(_0x3e090e,_0x204b3f){return _0x3e090e||_0x204b3f;},'MedoP':'IdGeneratorError'};super(_0x48644d[_0xa42c(0x19e)](_0x3cce3a,_0x4128a1)),this['name']=_0x48644d['MedoP'],this[_0xa42c(0x121)]=_0x4128a1,this[_0xa42c(0x1a3)]=_0x88af12;}}class IdGenerator{constructor(){const _0x17127e=a0_0x1603ac;this[_0x17127e(0x181)]=![],this['_enabled']=null,this['_keyPrefix']=null,this['_idemTTL']=null,this['_allowReset']=null,this[_0x17127e(0x188)]=null,this[_0x17127e(0x1cf)]=null,this['_defaultSerialPattern']=null,this[_0x17127e(0x141)]=null,this['_counterTTLMap']=null,this['_reserveDefaultTTL']=null,this[_0x17127e(0x147)]=null;}[a0_0x1603ac(0x1bb)](){const _0x14fbe5=a0_0x1603ac,_0x398691={'QHeFN':'rf:idgen:','jlygi':function(_0x1161a3,_0x3cc6f2){return _0x1161a3===_0x3cc6f2;},'zUMkC':'true','UpTXC':function(_0x31aa14,_0x417166,_0x33028e){return _0x31aa14(_0x417166,_0x33028e);},'NPclO':'idgen_config_init'};this['_keyPrefix']=_0x398691[_0x14fbe5(0xe5)],this['_enabled']=_0x398691[_0x14fbe5(0x15f)](process[_0x14fbe5(0x1e3)][_0x14fbe5(0x105)],'true'),this['_idemTTL']=parseInt(process[_0x14fbe5(0x1e3)][_0x14fbe5(0x1b1)],0xa)||0x258,this[_0x14fbe5(0x176)]=_0x398691[_0x14fbe5(0x15f)](process[_0x14fbe5(0x1e3)][_0x14fbe5(0xdd)],_0x398691['zUMkC']),this[_0x14fbe5(0x188)]=parseInt(process['env'][_0x14fbe5(0xe1)],0xa)||0xa,this[_0x14fbe5(0x1cf)]=parseInt(process[_0x14fbe5(0x1e3)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x14fbe5(0xe3),this['_defaultCodePattern']=process[_0x14fbe5(0x1e3)]['IDGEN_DEFAULT_CODE_PATTERN']||'9999-9999',this['_counterTTLMap']={'yyyymm':parseInt(process[_0x14fbe5(0x1e3)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x398691['UpTXC'](parseInt,process[_0x14fbe5(0x1e3)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x14fbe5(0xcf)]=_0x398691['UpTXC'](parseInt,process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=_0x398691[_0x14fbe5(0x1c0)](parseInt,process[_0x14fbe5(0x1e3)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x14fbe5(0x181)]=!![],logger[_0x14fbe5(0x1dd)]({'event':_0x398691['NPclO'],'enabled':this[_0x14fbe5(0x18e)],'idemTTL':this[_0x14fbe5(0x1ba)],'allowReset':this['_allowReset'],'defaultMaxRetry':this[_0x14fbe5(0x188)],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x14fbe5(0xcf)],'reserveMaxTTL':this[_0x14fbe5(0x147)]},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0x14fbe5(0x18e)]);}['_ensureInitialized'](){const _0x5c5ac3=a0_0x1603ac;if(!this[_0x5c5ac3(0x181)])this[_0x5c5ac3(0x1bb)]();}get[a0_0x1603ac(0x196)](){const _0x25f969=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x25f969(0x18e)];}get['keyPrefix'](){const _0x58f43f=a0_0x1603ac;return this[_0x58f43f(0x15b)](),this['_keyPrefix'];}get[a0_0x1603ac(0x137)](){const _0x229af4=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x229af4(0x1ba)];}get[a0_0x1603ac(0xf4)](){const _0xf606c7=a0_0x1603ac;return this[_0xf606c7(0x15b)](),this['_allowReset'];}get[a0_0x1603ac(0x175)](){const _0x3ac6c1=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x3ac6c1(0x188)];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x32c796=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x32c796(0xd8)];}get[a0_0x1603ac(0x1d9)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x1603ac(0x138)](){const _0x52c007=a0_0x1603ac;return this[_0x52c007(0x15b)](),this[_0x52c007(0xcf)];}get['reserveMaxTTL'](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}[a0_0x1603ac(0x10b)](){return this['enabled'];}['_validateResource'](_0x52c5d8){const _0x22b59e=a0_0x1603ac;if(typeof _0x52c5d8!==_0x22b59e(0x1b8)||!RESOURCE_REGEX[_0x22b59e(0x170)](_0x52c5d8))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+_0x22b59e(0x1e9)+JSON[_0x22b59e(0xe0)](_0x52c5d8)+')');}[a0_0x1603ac(0x14d)](_0x1762ce){const _0x1627da=a0_0x1603ac,_0x34cd0c={'WkCQt':'string','XxpPz':'IDGEN_INVALID_NUM_DIGITS','FQDom':function(_0x23a7fd,_0x204902){return _0x23a7fd==_0x204902;},'VxeVQ':function(_0x16a1fa,_0x53a697){return _0x16a1fa!==_0x53a697;},'hMkOS':function(_0x2c7db2,_0x404a63){return _0x2c7db2===_0x404a63;}},{resource:_0x589f4a,format:_0x4f4d39,prefix:_0x52b310,separator:_0x2f347d,numDigits:_0x56559a,reuseDelete:_0x44110a}=_0x1762ce;this[_0x1627da(0x1c6)](_0x589f4a);const _0x3c516e=typeof _0x4f4d39===_0x34cd0c['WkCQt']?_0x4f4d39['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x3c516e))throw new IdGeneratorError(_0x1627da(0x14f),'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x4f4d39+')');if(!Number[_0x1627da(0x1a6)](_0x56559a)||_0x56559a<MIN_NUM_DIGITS||_0x56559a>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x34cd0c[_0x1627da(0x1e2)],_0x1627da(0x125)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x56559a+')');const _0x5943ea=_0x34cd0c['FQDom'](_0x52b310,null)?'':_0x52b310;if(typeof _0x5943ea!==_0x34cd0c[_0x1627da(0x178)]||!PREFIX_REGEX[_0x1627da(0x170)](_0x5943ea))throw new IdGeneratorError(_0x1627da(0x15c),_0x1627da(0xd5)+PREFIX_REGEX+_0x1627da(0x1e9)+JSON['stringify'](_0x52b310)+')');const _0x4986f6=_0x2f347d==null?'':_0x2f347d;if(_0x34cd0c[_0x1627da(0x17e)](typeof _0x4986f6,_0x34cd0c['WkCQt'])||_0x4986f6['length']>0x3||SEPARATOR_FORBIDDEN[_0x1627da(0x170)](_0x4986f6))throw new IdGeneratorError(_0x1627da(0x15d),_0x1627da(0x18b)+JSON['stringify'](_0x2f347d)+')');if(_0x44110a!=null&&typeof _0x44110a!=='boolean')throw new IdGeneratorError(_0x1627da(0x1e7),_0x1627da(0x140)+typeof _0x44110a+')');return{'resource':_0x589f4a,'format':_0x3c516e,'prefix':_0x5943ea,'separator':_0x4986f6,'numDigits':_0x56559a,'reuseDelete':_0x34cd0c['hMkOS'](_0x44110a,!![])};}[a0_0x1603ac(0x171)](_0x52e323){const _0x3f084f=a0_0x1603ac,_0x504c4c={'nsXPX':function(_0xffeefa,_0x1b88ca){return _0xffeefa!==_0x1b88ca;},'IXkob':function(_0x21e046,_0x5c6a79){return _0x21e046===_0x5c6a79;},'Ihbba':function(_0x213894,_0x17156d){return _0x213894>_0x17156d;},'iZwHp':'IDGEN_INVALID_PATTERN'};if(_0x504c4c[_0x3f084f(0x148)](typeof _0x52e323,'string')||_0x504c4c[_0x3f084f(0xf9)](_0x52e323[_0x3f084f(0xfd)],0x0)||_0x504c4c['Ihbba'](_0x52e323['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x504c4c['iZwHp'],'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+_0x3f084f(0x1ae)+(_0x52e323&&_0x52e323['length'])+')');let _0x3ddedc=![];for(const _0x54ebf5 of _0x52e323){if(PLACEHOLDER_MAP[_0x54ebf5]){_0x3ddedc=!![];break;}}if(!_0x3ddedc)throw new IdGeneratorError(_0x3f084f(0x144),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x4e3db8){const _0x553352=a0_0x1603ac,_0x13ec43={'xujRa':function(_0x55bdc6,_0x149bf3){return _0x55bdc6==_0x149bf3;},'ZwfmJ':function(_0x1a0579,_0x1b8a19){return _0x1a0579>_0x1b8a19;}};if(_0x13ec43[_0x553352(0x1c7)](_0x4e3db8,null))return undefined;if(!Number[_0x553352(0x1a6)](_0x4e3db8)||_0x4e3db8<0x1||_0x13ec43['ZwfmJ'](_0x4e3db8,MAX_TTL))throw new IdGeneratorError(_0x553352(0x156),_0x553352(0x11e)+MAX_TTL+_0x553352(0x129)+_0x4e3db8+')');return _0x4e3db8;}[a0_0x1603ac(0x14c)](_0x48feb9){const _0x5ce7f6=a0_0x1603ac,_0x1ce0ad={'TwHvN':function(_0x2586c0,_0x5c852d){return _0x2586c0==_0x5c852d;},'iaJXp':function(_0x296b49,_0x11a6d8){return _0x296b49<_0x11a6d8;}};if(_0x1ce0ad[_0x5ce7f6(0x128)](_0x48feb9,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x48feb9)||_0x1ce0ad['iaJXp'](_0x48feb9,0x1)||_0x48feb9>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x5ce7f6(0x126),_0x5ce7f6(0x1d0)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x48feb9+')');return _0x48feb9;}['_validateIdempotencyKey'](_0x52a8d1){const _0x46eaa8=a0_0x1603ac,_0x599d80={'HgUMH':'string','tCkVN':function(_0x161e63,_0x141c7e){return _0x161e63===_0x141c7e;}};if(_0x52a8d1==null)return undefined;if(typeof _0x52a8d1!==_0x599d80['HgUMH']||_0x599d80['tCkVN'](_0x52a8d1[_0x46eaa8(0xfd)],0x0)||_0x52a8d1['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0x46eaa8(0x19c)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x46eaa8(0x1a4));return _0x52a8d1;}[a0_0x1603ac(0x18f)](_0x45c056){const _0x46bd6a=a0_0x1603ac,_0xca531b={'vbXuu':function(_0x448c17,_0x12fec3){return _0x448c17==_0x12fec3;}};if(_0xca531b[_0x46bd6a(0x139)](_0x45c056,null))return this[_0x46bd6a(0x138)];if(!Number['isInteger'](_0x45c056)||_0x45c056<MIN_RESERVE_TTL||_0x45c056>this[_0x46bd6a(0x1c4)])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL','Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x46bd6a(0x129)+_0x45c056+')');return _0x45c056;}['_validateReservationToken'](_0x27018e){const _0x4f0a0b=a0_0x1603ac;if(typeof _0x27018e!=='string'||!RESERVATION_TOKEN_REGEX[_0x4f0a0b(0x170)](_0x27018e))throw new IdGeneratorError(_0x4f0a0b(0x136),'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x27018e)+')');return _0x27018e;}[a0_0x1603ac(0x182)](_0xa15dff){const _0x4fc384=a0_0x1603ac;return String(_0xa15dff)[_0x4fc384(0x1ce)](0x2,'0');}[a0_0x1603ac(0x193)](_0x388cae,_0x4c65f6,_0x1b2f26=new Date()){const _0x4e6e0a=a0_0x1603ac,_0x8fae9e={'dOMDs':function(_0x2ef27c,_0xa6b99b){return _0x2ef27c||_0xa6b99b;},'IynEI':_0x4e6e0a(0x191),'ZiIhn':'yyyy'},_0x4e40f2=_0x1b2f26[_0x4e6e0a(0x17d)](),_0x685adb=this[_0x4e6e0a(0x182)](_0x1b2f26['getMonth']()+0x1),_0x1e9f81=this[_0x4e6e0a(0x182)](_0x1b2f26[_0x4e6e0a(0x1de)]()),_0x470639=_0x8fae9e[_0x4e6e0a(0x1e6)](_0x4c65f6,'_');let _0x9e2b6a,_0x3ef6eb='';switch(_0x388cae){case _0x8fae9e[_0x4e6e0a(0x1d5)]:_0x9e2b6a=_0x470639+_0x4e6e0a(0x13a);break;case _0x8fae9e[_0x4e6e0a(0x198)]:_0x3ef6eb=''+_0x4e40f2,_0x9e2b6a=_0x470639+'_yyyy_'+_0x3ef6eb;break;case _0x4e6e0a(0xe4):_0x3ef6eb=''+_0x4e40f2+_0x685adb,_0x9e2b6a=_0x470639+'_yyyymm_'+_0x3ef6eb;break;case'yyyymmdd':_0x3ef6eb=''+_0x4e40f2+_0x685adb+_0x1e9f81,_0x9e2b6a=_0x470639+'_yyyymmdd_'+_0x3ef6eb;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4e6e0a(0xd7)+_0x388cae);}return{'formatKey':_0x9e2b6a,'datePrefix':_0x3ef6eb};}['_buildSeqKey'](_0x56fe47,_0x86ed9a){const _0x2c3fe9=a0_0x1603ac;return this[_0x2c3fe9(0xe8)]+_0x2c3fe9(0x103)+_0x56fe47+':'+_0x86ed9a;}['_buildReuseKey'](_0x5976bf,_0x2783a4){const _0x1bf2cc=a0_0x1603ac;return this['keyPrefix']+_0x1bf2cc(0xd1)+_0x5976bf+':'+_0x2783a4;}[a0_0x1603ac(0x14b)](_0xea66b9,_0x1d6adc){const _0x2289ab=a0_0x1603ac;return this[_0x2289ab(0xe8)]+_0x2289ab(0x151)+_0xea66b9+':'+_0x1d6adc;}['_buildIssuedKey'](_0x271fdb){const _0x32eee5=a0_0x1603ac;return this[_0x32eee5(0xe8)]+_0x32eee5(0x15a)+_0x271fdb;}['_buildActiveKey'](_0x3f48af,_0x18451a){const _0x31e4ba=a0_0x1603ac;return this[_0x31e4ba(0xe8)]+_0x31e4ba(0x12e)+_0x3f48af+':'+_0x18451a;}[a0_0x1603ac(0x154)](_0x5b9e15){const _0x2b0d8e=a0_0x1603ac;return this[_0x2b0d8e(0xe8)]+'rsv:'+_0x5b9e15;}['_buildReservationIndexKey'](_0x390047,_0x1cef00){return this['keyPrefix']+'rsv_idx:'+_0x390047+':'+_0x1cef00;}[a0_0x1603ac(0xf7)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x27a2fd,_0x18c6f6,_0x49183b,_0x27d6e8){const _0x2d1edd=a0_0x1603ac,_0x39e4ff={'qmIxc':_0x2d1edd(0xe9)};if(_0x49183b)return idempotencyManager['buildDeterministicKey'](_0x39e4ff[_0x2d1edd(0x1a9)],_0x27a2fd,_0x18c6f6+':'+_0x49183b+':'+_0x27d6e8);return idempotencyManager['buildDeterministicKey'](_0x39e4ff['qmIxc'],_0x27a2fd,_0x18c6f6+':'+_0x27d6e8);}[a0_0x1603ac(0x1ca)](_0x433abb){const _0x6861af=a0_0x1603ac;return this[_0x6861af(0x134)][_0x433abb]||0x0;}['_formatNumber']({format:_0x392431,prefix:_0x32e367,datePrefix:_0x4a80a1,separator:_0xbedd77,numDigits:_0x273d19,counterInt:_0x1c55d5}){const _0x264d46=a0_0x1603ac,_0x29b192={'XCFoC':function(_0x2eeb1e,_0x180b6f){return _0x2eeb1e>_0x180b6f;},'DswOo':'IDGEN_COUNTER_OVERFLOW','xzldf':function(_0x33f2fb,_0x2b15e8){return _0x33f2fb(_0x2b15e8);}},_0x20e806=Math['pow'](0xa,_0x273d19)-0x1;if(_0x29b192[_0x264d46(0x12c)](_0x1c55d5,_0x20e806))throw new IdGeneratorError(_0x29b192['DswOo'],_0x264d46(0x1da)+_0x1c55d5+'\x20exceeds\x20'+_0x273d19+'-digit\x20capacity\x20('+_0x20e806+').\x20Increase\x20numDigits.',{'counterInt':_0x1c55d5,'numDigits':_0x273d19,'max':_0x20e806});const _0x5083bd=_0x29b192[_0x264d46(0x10a)](String,_0x1c55d5)[_0x264d46(0x1ce)](_0x273d19,'0');if(_0x392431===_0x264d46(0x191))return _0x32e367?''+_0x32e367+_0xbedd77+_0x5083bd:_0x5083bd;return _0x32e367?''+_0x32e367+_0xbedd77+_0x4a80a1+_0xbedd77+_0x5083bd:''+_0x4a80a1+_0xbedd77+_0x5083bd;}[a0_0x1603ac(0x15e)]({format:_0x5cb659,prefix:_0x11943c,separator:_0x3f0762,numDigits:_0x437e47,number:_0x40e3ab}){const _0x37d29b=a0_0x1603ac,_0x2500d5={'lgnFe':_0x37d29b(0x1b8),'AsxCA':function(_0x27b184,_0x9278a){return _0x27b184===_0x9278a;},'DpwJO':'IDGEN_INVALID_NUMBER','bnbaW':function(_0x2c1781,_0x310122){return _0x2c1781!==_0x310122;},'ByHMm':_0x37d29b(0x17f),'zGkmZ':function(_0x14b92c,_0x3f830f){return _0x14b92c===_0x3f830f;}};if(typeof _0x40e3ab!==_0x2500d5['lgnFe']||_0x2500d5[_0x37d29b(0x11a)](_0x40e3ab['length'],0x0))throw new IdGeneratorError(_0x2500d5['DpwJO'],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xcff8ac=_0x3f0762||'',_0x1094ae=_0x2500d5[_0x37d29b(0x11a)](_0xcff8ac,'')?[_0x40e3ab]:_0x40e3ab[_0x37d29b(0x164)](_0xcff8ac);let _0x207990='',_0x2eaef5;if(_0x5cb659===_0x37d29b(0x191)){if(_0x11943c){if(_0x2500d5['bnbaW'](_0x1094ae['length'],0x2)||_0x2500d5['bnbaW'](_0x1094ae[0x0],_0x11943c))throw new IdGeneratorError(_0x2500d5['DpwJO'],_0x37d29b(0x142)+_0xcff8ac+'padded\x20(got:\x20'+_0x40e3ab+')');_0x2eaef5=_0x1094ae[0x1];}else{if(_0x2500d5[_0x37d29b(0x115)](_0x1094ae[_0x37d29b(0xfd)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x37d29b(0x123)+_0x40e3ab+')');_0x2eaef5=_0x1094ae[0x0];}}else{const _0x163ba4=_0x11943c?0x3:0x2;if(_0x1094ae['length']!==_0x163ba4)throw new IdGeneratorError(_0x37d29b(0x1c2),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x40e3ab+_0x37d29b(0x119)+_0x163ba4+_0x37d29b(0x100));let _0x37d00e=0x0;if(_0x11943c){if(_0x1094ae[_0x37d00e]!==_0x11943c)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x37d29b(0x10e)+_0x11943c+_0x37d29b(0x1aa)+_0x1094ae[_0x37d00e]);_0x37d00e++;}_0x207990=_0x1094ae[_0x37d00e++];const _0x2b253a=_0x5cb659===_0x2500d5['ByHMm']?/^\d{4}$/:_0x2500d5['zGkmZ'](_0x5cb659,'yyyymm')?/^\d{6}$/:/^\d{8}$/;if(!_0x2b253a['test'](_0x207990))throw new IdGeneratorError(_0x2500d5[_0x37d29b(0x111)],_0x37d29b(0x157)+_0x5cb659+':\x20'+_0x207990);_0x2eaef5=_0x1094ae[_0x37d00e];}if(!new RegExp('^\x5cd{'+_0x437e47+'}$')[_0x37d29b(0x170)](_0x2eaef5))throw new IdGeneratorError(_0x2500d5['DpwJO'],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x437e47+_0x37d29b(0xfe)+_0x2eaef5+')');const _0x23ac88=parseInt(_0x2eaef5,0xa),_0xe0234=_0x11943c||'_';let _0x1db97a;return _0x5cb659===_0x37d29b(0x191)?_0x1db97a=_0xe0234+'_text':_0x1db97a=_0xe0234+'_'+_0x5cb659+'_'+_0x207990,{'formatKey':_0x1db97a,'counterInt':_0x23ac88,'datePrefix':_0x207990};}[a0_0x1603ac(0x168)](_0x4e08a6){const _0x57ab61=a0_0x1603ac;let _0xe4f96c='';for(const _0x4efbcc of _0x4e08a6){const _0x3ed7d4=PLACEHOLDER_MAP[_0x4efbcc];if(_0x3ed7d4){const _0x170b73=crypto[_0x57ab61(0x1d7)](0x0,_0x3ed7d4[_0x57ab61(0xfd)]);_0xe4f96c+=_0x3ed7d4[_0x170b73];}else _0xe4f96c+=_0x4efbcc;}return _0xe4f96c;}async[a0_0x1603ac(0x113)](_0x521b6c){const _0x5aa07f=a0_0x1603ac,_0x5b6718={'xonaa':'Idempotency\x20cache\x20HIT','aWXzk':'idgen_idem_retrieve_error','uPhqr':_0x5aa07f(0x167)};if(!_0x521b6c)return null;try{const _0x5b9d3e=redisClient[_0x5aa07f(0x166)](),_0x59393=await _0x5b9d3e[_0x5aa07f(0xdf)](_0x521b6c);if(_0x59393)return logger['info']({'event':'idgen_idem_hit','key':_0x521b6c},_0x5b6718[_0x5aa07f(0x1cb)]),JSON[_0x5aa07f(0x1ac)](_0x59393);return null;}catch(_0x2bd9b0){return logger[_0x5aa07f(0x10d)]({'event':_0x5b6718['aWXzk'],'error':_0x2bd9b0[_0x5aa07f(0x17a)]},_0x5b6718[_0x5aa07f(0x1bd)]),null;}}async[a0_0x1603ac(0x1a1)](_0x256d83,_0x20534a){const _0x1f0161=a0_0x1603ac,_0x1be64b={'oqqZA':'idgen_idem_store_error'};if(!_0x256d83)return;try{const _0x1d336d=redisClient[_0x1f0161(0x166)]();await _0x1d336d[_0x1f0161(0x13e)](_0x256d83,this[_0x1f0161(0x137)],JSON['stringify'](_0x20534a));}catch(_0xf3b959){logger[_0x1f0161(0x10d)]({'event':_0x1be64b[_0x1f0161(0xda)],'error':_0xf3b959['message']},'Idempotency\x20store\x20error');}}async['_storeIdemCacheNX'](_0x208fed,_0x3f9790){const _0x5954c3=a0_0x1603ac,_0xa2d193={'piUog':function(_0x54f7bf,_0xc0a67a){return _0x54f7bf===_0xc0a67a;},'gdpuZ':_0x5954c3(0x135),'MgXLO':'Idempotency\x20SET\x20NX\x20error'};if(!_0x208fed)return{'stored':!![],'winnerResult':null};try{const _0x2c3579=redisClient[_0x5954c3(0x166)](),_0x1105e1=JSON['stringify'](_0x3f9790),_0x1bec28=await _0x2c3579[_0x5954c3(0xe6)](_0x208fed,_0x1105e1,'EX',this[_0x5954c3(0x137)],'NX');if(_0xa2d193['piUog'](_0x1bec28,'OK'))return{'stored':!![],'winnerResult':null};const _0x2ece3a=await _0x2c3579['get'](_0x208fed);if(_0x2ece3a)return{'stored':![],'winnerResult':JSON['parse'](_0x2ece3a)};return logger[_0x5954c3(0x10d)]({'event':_0xa2d193[_0x5954c3(0xfc)],'key':_0x208fed},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0x20a189){return logger[_0x5954c3(0x10d)]({'event':'idgen_idem_storenx_error','error':_0x20a189[_0x5954c3(0x17a)]},_0xa2d193[_0x5954c3(0xd4)]),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x510080,_0x30c0ca,_0x3eeb47){const _0x2d9acd=a0_0x1603ac,_0x246f38={'cWnjg':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x557440=redisClient['getClient']();if(_0x3eeb47){const _0x130d7d=this['_buildActiveKey'](_0x510080,_0x30c0ca);await _0x557440[_0x2d9acd(0x16a)](_0x130d7d);}else{const _0x37f870=this[_0x2d9acd(0x19d)](_0x510080);await _0x557440['srem'](_0x37f870,_0x30c0ca);}}catch(_0x8c88bb){logger['warn']({'event':'idgen_random_undo_error','error':_0x8c88bb['message']},_0x246f38['cWnjg']);}}async[a0_0x1603ac(0x165)](_0x3613ad,_0x402298,_0x128065,_0x58470d=0x0){const _0x9b4948=a0_0x1603ac,_0xeaf651={'cizLO':function(_0x4eb892,_0x3f34ca){return _0x4eb892(_0x3f34ca);},'ymWFq':function(_0x27382d,_0x2a75aa){return _0x27382d>_0x2a75aa;},'DvFgq':_0x9b4948(0x199),'EfmPf':_0x9b4948(0x10f)};try{const _0xbf8e13=redisClient['getClient'](),_0xf3fb3a=this[_0x9b4948(0x14b)](_0x3613ad,_0x402298),_0x4d674b=[];for(const [_0x3699e0,_0x132203]of Object['entries'](_0x128065)){_0x4d674b[_0x9b4948(0x179)](_0x3699e0,_0xeaf651[_0x9b4948(0x1e5)](String,_0x132203));}if(_0xeaf651['ymWFq'](_0x4d674b[_0x9b4948(0xfd)],0x0)){await _0xbf8e13['hset'](_0xf3fb3a,..._0x4d674b);if(_0x58470d>0x0)await _0xbf8e13['expire'](_0xf3fb3a,_0x58470d);}}catch(_0x1e2038){logger['warn']({'event':_0xeaf651[_0x9b4948(0x122)],'error':_0x1e2038[_0x9b4948(0x17a)]},_0xeaf651[_0x9b4948(0x11d)]);}}async[a0_0x1603ac(0x1c1)](_0x1e9f4a){const _0x30869e=a0_0x1603ac,_0x15d934={'GQPPG':'IDGEN_DISABLED','jvELi':_0x30869e(0xea),'yPwFh':_0x30869e(0x1c1),'Ossya':function(_0x9809bd,_0x1177db){return _0x9809bd===_0x1177db;},'EKNpL':function(_0xf81468,_0x180268){return _0xf81468(_0x180268);}};if(!this[_0x30869e(0x196)])throw new IdGeneratorError(_0x15d934['GQPPG'],_0x15d934[_0x30869e(0xff)]);const _0x294233=this['_validateNumberParams'](_0x1e9f4a),_0x4f99b4=this['_validateIdempotencyKey'](_0x1e9f4a['idempotencyKey']),{resource:_0x572b8e,format:_0x8c2415,prefix:_0x1ee9e4,separator:_0x4cdd49,numDigits:_0xe6dc24,reuseDelete:_0x1bb795}=_0x294233,{formatKey:_0x35f551,datePrefix:_0x196cb9}=this['_buildFormatKey'](_0x8c2415,_0x1ee9e4),_0x1ec63d=this['_buildSeqKey'](_0x572b8e,_0x35f551),_0x5a8825=this['_buildReuseKey'](_0x572b8e,_0x35f551),_0x34bea5=this[_0x30869e(0x1ca)](_0x8c2415);let _0x14691a=null;if(_0x4f99b4){_0x14691a=this['_buildIdemKey'](_0x15d934[_0x30869e(0x197)],_0x572b8e,_0x35f551,_0x4f99b4);const _0x9b35db=await this['_retrieveIdemCache'](_0x14691a);if(_0x9b35db)return _0x9b35db;}const _0x2067b0=redisClient['getClient'](),_0x34edcc=await _0x2067b0['eval'](LUA_GENERATE_NUMBER,0x2,_0x1ec63d,_0x5a8825,_0x1bb795?'1':'0',String(_0x34bea5)),_0x18b92a=_0x34edcc[0x0],_0x461b87=_0x15d934['Ossya'](_0x34edcc[0x1],0x1),_0xfd7ae5=this[_0x30869e(0x174)]({'format':_0x8c2415,'prefix':_0x1ee9e4,'datePrefix':_0x196cb9,'separator':_0x4cdd49,'numDigits':_0xe6dc24,'counterInt':_0x18b92a}),_0x3384ec={'value':_0xfd7ae5,'counter':_0x18b92a,'resource':_0x572b8e,'formatKey':_0x35f551,'isReused':_0x461b87,'generatedAt':new Date()[_0x30869e(0x110)]()},_0x3aafd1=await this[_0x30869e(0xf0)](_0x14691a,_0x3384ec);if(!_0x3aafd1[_0x30869e(0x127)]){try{await _0x2067b0['eval'](LUA_RELEASE_NUMBER,0x1,_0x5a8825,String(_0x18b92a),_0x15d934['EKNpL'](String,_0x34bea5));}catch(_0x42f5b1){logger[_0x30869e(0x10d)]({'event':_0x30869e(0x1b4),'error':_0x42f5b1[_0x30869e(0x17a)],'resource':_0x572b8e,'formatKey':_0x35f551,'counterInt':_0x18b92a},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':'idgen_number_idem_loser','resource':_0x572b8e,'formatKey':_0x35f551,'counter':_0x18b92a},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3aafd1[_0x30869e(0xd3)];}return this['_updateMeta'](_0x572b8e,_0x35f551,{'lastValue':_0xfd7ae5,'lastCounter':_0x18b92a,'lastIsReused':_0x461b87,'lastGeneratedAt':_0x3384ec['generatedAt']},_0x34bea5),logger[_0x30869e(0x1dd)]({'event':_0x30869e(0x107),'resource':_0x572b8e,'formatKey':_0x35f551,'counter':_0x18b92a,'isReused':_0x461b87},_0x30869e(0x11b)+_0xfd7ae5),_0x3384ec;}async[a0_0x1603ac(0x162)](_0x48931b){const _0x50d7c0=a0_0x1603ac,_0x5a3804={'WJHAX':_0x50d7c0(0x1c5),'VDVrn':'ID\x20Generator\x20is\x20disabled','jdSvi':function(_0x3fe703,_0x1127d1){return _0x3fe703!==_0x1127d1;},'qBqKV':_0x50d7c0(0x1b8),'weIqG':'IDGEN_INVALID_NUMBER','SCNTz':function(_0x203814,_0x1d620b){return _0x203814<_0x1d620b;},'qXPSe':'text','fCbcg':function(_0x4ad100,_0x7560ec){return _0x4ad100(_0x7560ec);}};if(!this['enabled'])throw new IdGeneratorError(_0x5a3804['WJHAX'],_0x5a3804[_0x50d7c0(0x112)]);let _0x140d90,_0x309dd6,_0xec7f9e,_0x46388a;const _0x582ceb=this['_validateIdempotencyKey'](_0x48931b['idempotencyKey']);if(_0x5a3804['jdSvi'](_0x48931b[_0x50d7c0(0x131)],undefined)&&_0x48931b['counterInt']!==null){this[_0x50d7c0(0x1c6)](_0x48931b[_0x50d7c0(0xdc)]),_0x140d90=_0x48931b[_0x50d7c0(0xdc)];if(typeof _0x48931b['formatKey']!==_0x5a3804[_0x50d7c0(0xeb)]||_0x48931b[_0x50d7c0(0x1b2)][_0x50d7c0(0xfd)]===0x0)throw new IdGeneratorError(_0x5a3804['weIqG'],_0x50d7c0(0x108));_0x309dd6=_0x48931b[_0x50d7c0(0x1b2)];if(!Number[_0x50d7c0(0x1a6)](_0x48931b['counterInt'])||_0x5a3804[_0x50d7c0(0x11c)](_0x48931b[_0x50d7c0(0x131)],0x1))throw new IdGeneratorError(_0x5a3804['weIqG'],_0x50d7c0(0x17b)+_0x48931b[_0x50d7c0(0x131)]+')');_0xec7f9e=_0x48931b[_0x50d7c0(0x131)];const _0x1c61e7=_0x309dd6['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x46388a=_0x1c61e7?_0x1c61e7[0x1]:_0x5a3804['qXPSe'];}else{const _0x4d07ea=this['_validateNumberParams'](_0x48931b),_0x533f76=this[_0x50d7c0(0x15e)]({'format':_0x4d07ea['format'],'prefix':_0x4d07ea['prefix'],'separator':_0x4d07ea['separator'],'numDigits':_0x4d07ea[_0x50d7c0(0x160)],'number':_0x48931b['number']});_0x140d90=_0x4d07ea[_0x50d7c0(0xdc)],_0x309dd6=_0x533f76[_0x50d7c0(0x1b2)],_0xec7f9e=_0x533f76['counterInt'],_0x46388a=_0x4d07ea['format'];}const _0x3c30e2=this[_0x50d7c0(0xd9)](_0x140d90,_0x309dd6),_0x2045ba=this['_getCounterTTL'](_0x46388a);let _0x3246fb=null;if(_0x582ceb){_0x3246fb=this['_buildIdemKey']('release',_0x140d90,_0x309dd6,_0x582ceb);const _0x4fc56e=await this[_0x50d7c0(0x113)](_0x3246fb);if(_0x4fc56e)return _0x4fc56e;}const _0x3c3cb2=redisClient['getClient']();await _0x3c3cb2['eval'](LUA_RELEASE_NUMBER,0x1,_0x3c30e2,String(_0xec7f9e),_0x5a3804['fCbcg'](String,_0x2045ba));const _0x5c1164={'released':!![],'resource':_0x140d90,'formatKey':_0x309dd6,'counter':_0xec7f9e,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x3246fb,_0x5c1164),this['_updateMeta'](_0x140d90,_0x309dd6,{'lastReleasedCounter':_0xec7f9e,'lastReleasedAt':_0x5c1164[_0x50d7c0(0x101)]},_0x2045ba),logger['info']({'event':'idgen_number_released','resource':_0x140d90,'formatKey':_0x309dd6,'counter':_0xec7f9e},'ID\x20Generator\x20number\x20released:\x20'+_0xec7f9e),_0x5c1164;}async[a0_0x1603ac(0x1e1)](_0x453da6){const _0x260751=a0_0x1603ac,_0x3f5d27={'TTJgJ':'IDGEN_DISABLED','lplIM':'reserve','lgdnE':function(_0x21eee2,_0x57def2){return _0x21eee2*_0x57def2;},'uqidY':'resource','MWvwr':'formatKey','azYtM':'separator','eJpOc':function(_0x517f81,_0x35f4fd){return _0x517f81(_0x35f4fd);},'WsSpv':'createdAt','ftRzn':_0x260751(0x1d8),'YINMp':_0x260751(0x163),'lhDLu':'idemKey','EZhRj':function(_0x3f5341,_0x2f9b5d){return _0x3f5341(_0x2f9b5d);},'RYWxS':function(_0x3b039e,_0x156b64){return _0x3b039e===_0x156b64;},'lLdDY':'idgen_reserve_overflow_compensation_error','Kzdiy':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','FPNRv':_0x260751(0x14e),'EuEux':_0x260751(0x16e)};if(!this['enabled'])throw new IdGeneratorError(_0x3f5d27[_0x260751(0x10c)],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x3b14b0=this[_0x260751(0x14d)](_0x453da6),_0x2c5a21=this['_validateReserveTTL'](_0x453da6['ttl']),_0x5b2c45=this['_validateIdempotencyKey'](_0x453da6['idempotencyKey']),{resource:_0x46a35d,format:_0x58fd7b,prefix:_0x59587f,separator:_0x1ae022,numDigits:_0x54f3e7,reuseDelete:_0x3acbf2}=_0x3b14b0,{formatKey:_0xd8672f,datePrefix:_0x552245}=this['_buildFormatKey'](_0x58fd7b,_0x59587f),_0x1dfcaf=this['_buildSeqKey'](_0x46a35d,_0xd8672f),_0x48988b=this[_0x260751(0xd9)](_0x46a35d,_0xd8672f),_0x223c10=this['_buildReservationIndexKey'](_0x46a35d,_0xd8672f),_0x246ce9=this['_getCounterTTL'](_0x58fd7b);let _0xa07e7f=null;if(_0x5b2c45){_0xa07e7f=this[_0x260751(0x1c8)](_0x3f5d27['lplIM'],_0x46a35d,_0xd8672f,_0x5b2c45);const _0x4ca846=await this['_retrieveIdemCache'](_0xa07e7f);if(_0x4ca846)return _0x4ca846;}const _0x58a729=crypto[_0x260751(0xf3)](),_0x33983f=this[_0x260751(0x154)](_0x58a729),_0x15bf94=this[_0x260751(0xf7)](),_0x305eb6=Date['now'](),_0x489bc5=_0x305eb6+_0x3f5d27[_0x260751(0x18c)](_0x2c5a21,0x3e8),_0x4ce464=_0x2c5a21*0x3e8,_0x25ac03=new Date(_0x305eb6)[_0x260751(0x110)](),_0x332f8e=new Date(_0x489bc5)[_0x260751(0x110)](),_0x58f9ee=[_0x3f5d27['uqidY'],_0x46a35d,_0x3f5d27[_0x260751(0xfa)],_0xd8672f,_0x260751(0x192),_0x58fd7b,'prefix',_0x59587f,_0x3f5d27['azYtM'],_0x1ae022,'numDigits',_0x3f5d27['eJpOc'](String,_0x54f3e7),'datePrefix',_0x552245||'',_0x3f5d27['WsSpv'],_0x25ac03,_0x3f5d27[_0x260751(0x190)],_0x332f8e,_0x3f5d27[_0x260751(0xd2)],String(_0x4ce464)];_0x5b2c45&&_0x58f9ee[_0x260751(0x179)](_0x3f5d27[_0x260751(0x1bc)],_0x5b2c45);const _0x4b2575=redisClient['getClient'](),_0x3ff3d5=await _0x4b2575['eval'](LUA_RESERVE_NUMBER,0x3,_0x1dfcaf,_0x48988b,_0x223c10,_0x3acbf2?'1':'0',_0x3f5d27['eJpOc'](String,_0x246ce9),_0x58a729,_0x33983f,String(_0x4ce464),_0x3f5d27[_0x260751(0x1d6)](String,_0x489bc5),String(_0x305eb6),_0x15bf94,..._0x58f9ee),_0x24c27e=_0x3ff3d5[0x0],_0x44c184=_0x3f5d27[_0x260751(0x116)](_0x3ff3d5[0x1],0x1),_0x3b4f63=_0x3ff3d5[0x2]||0x0;let _0x1917ec;try{_0x1917ec=this['_formatNumber']({'format':_0x58fd7b,'prefix':_0x59587f,'datePrefix':_0x552245,'separator':_0x1ae022,'numDigits':_0x54f3e7,'counterInt':_0x24c27e});}catch(_0x3b6cdf){try{await _0x4b2575[_0x260751(0x1b5)](LUA_CANCEL_RESERVATION,0x3,_0x33983f,_0x223c10,_0x48988b,_0x58a729,_0x3f5d27['EZhRj'](String,_0x246ce9));}catch(_0x2744cd){logger[_0x260751(0x10d)]({'event':_0x3f5d27[_0x260751(0x16d)],'error':_0x2744cd[_0x260751(0x17a)],'resource':_0x46a35d,'formatKey':_0xd8672f,'counterInt':_0x24c27e,'token':_0x58a729},_0x3f5d27['Kzdiy']);}throw _0x3b6cdf;}try{await _0x4b2575['hset'](_0x33983f,_0x3f5d27['FPNRv'],_0x1917ec);}catch(_0x31f58c){logger[_0x260751(0x10d)]({'event':'idgen_reserve_value_persist_error','error':_0x31f58c[_0x260751(0x17a)],'resource':_0x46a35d,'formatKey':_0xd8672f,'counterInt':_0x24c27e,'token':_0x58a729},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x48703e={'token':_0x58a729,'value':_0x1917ec,'counter':_0x24c27e,'resource':_0x46a35d,'formatKey':_0xd8672f,'isReused':_0x44c184,'createdAt':_0x25ac03,'expiresAt':_0x332f8e,'reapedCount':_0x3b4f63},_0x683b27=await this['_storeIdemCacheNX'](_0xa07e7f,_0x48703e);if(!_0x683b27['stored']){try{await _0x4b2575['eval'](LUA_CANCEL_RESERVATION,0x3,_0x33983f,_0x223c10,_0x48988b,_0x58a729,String(_0x246ce9));}catch(_0x76f7c8){logger['warn']({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x76f7c8['message'],'resource':_0x46a35d,'formatKey':_0xd8672f,'counterInt':_0x24c27e,'token':_0x58a729},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x3f5d27[_0x260751(0x102)],'resource':_0x46a35d,'formatKey':_0xd8672f,'counter':_0x24c27e,'token':_0x58a729},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x683b27[_0x260751(0xd3)];}return this['_updateMeta'](_0x46a35d,_0xd8672f,{'lastReservedCounter':_0x24c27e,'lastReservedAt':_0x25ac03,'lastReapedCount':_0x3b4f63},_0x246ce9),logger['info']({'event':_0x260751(0x186),'resource':_0x46a35d,'formatKey':_0xd8672f,'counter':_0x24c27e,'isReused':_0x44c184,'token':_0x58a729,'ttl':_0x2c5a21,'reapedCount':_0x3b4f63},_0x260751(0x1d3)+_0x1917ec+_0x260751(0x159)+_0x58a729+')'),_0x48703e;}async['confirmReservation'](_0x16df17){const _0x3d0fbf=a0_0x1603ac,_0x37458e={'LlEVa':_0x3d0fbf(0x1c5),'NSIRx':_0x3d0fbf(0x187),'fngXx':function(_0x41597d,_0x2932d0){return _0x41597d!==_0x2932d0;},'njsZH':'text'};if(!this[_0x3d0fbf(0x196)])throw new IdGeneratorError(_0x37458e[_0x3d0fbf(0x1be)],_0x37458e[_0x3d0fbf(0x1a5)]);const _0x27975d=this['_validateReservationToken'](_0x16df17&&_0x16df17['token']),_0xa5a5e3=this['_validateIdempotencyKey'](_0x16df17&&_0x16df17['idempotencyKey']);let _0x2721f0=null;if(_0xa5a5e3){_0x2721f0=idempotencyManager['buildDeterministicKey']('idgen',_0x3d0fbf(0x158),_0x27975d+':'+_0xa5a5e3);const _0x5a762e=await this[_0x3d0fbf(0x113)](_0x2721f0);if(_0x5a762e)return _0x5a762e;}const _0x5b4133=await this[_0x3d0fbf(0x1ad)](_0x27975d),_0x1854e8=redisClient[_0x3d0fbf(0x166)](),_0x3a4d09=await _0x1854e8[_0x3d0fbf(0x1b5)](LUA_CONFIRM_RESERVATION,0x2,_0x5b4133['rsvKey'],_0x5b4133['rsvIdxKey'],_0x27975d);if(!_0x3a4d09||_0x37458e['fngXx'](_0x3a4d09[0x0],0x1))throw new IdGeneratorError(_0x3d0fbf(0x1cc),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x27975d,{'token':_0x27975d});const _0x5ae3c7=parseInt(_0x3a4d09[0x1],0xa),_0x593359=_0x3a4d09[0x2],_0x20c3da=_0x3a4d09[0x3],_0x528941=new Date()['toISOString'](),_0x2c81bc={'confirmed':!![],'token':_0x27975d,'value':_0x593359,'counter':_0x5ae3c7,'resource':_0x5b4133['resource'],'formatKey':_0x20c3da,'confirmedAt':_0x528941};await this[_0x3d0fbf(0x1a1)](_0x2721f0,_0x2c81bc);const _0x173fd8=_0x20c3da['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x13b6c2=_0x173fd8?_0x173fd8[0x1]:_0x37458e['njsZH'],_0xbb2d29=this[_0x3d0fbf(0x1ca)](_0x13b6c2);return this[_0x3d0fbf(0x165)](_0x5b4133['resource'],_0x20c3da,{'lastConfirmedCounter':_0x5ae3c7,'lastConfirmedAt':_0x528941},_0xbb2d29),logger['info']({'event':_0x3d0fbf(0x19a),'resource':_0x5b4133[_0x3d0fbf(0xdc)],'formatKey':_0x20c3da,'counter':_0x5ae3c7,'token':_0x27975d},_0x3d0fbf(0x155)+_0x593359+_0x3d0fbf(0x159)+_0x27975d+')'),_0x2c81bc;}async['cancelReservation'](_0x2ec4b8){const _0x2e5b91=a0_0x1603ac,_0x122ac3={'zcvqm':'IDGEN_DISABLED','pSHGq':_0x2e5b91(0x187),'ozWxr':function(_0x5637c4,_0x7cd31f){return _0x5637c4(_0x7cd31f);},'PBieL':function(_0x100530,_0x4fe42a,_0x13637e){return _0x100530(_0x4fe42a,_0x13637e);},'rbcPS':'idgen_reservation_cancelled'};if(!this['enabled'])throw new IdGeneratorError(_0x122ac3['zcvqm'],_0x122ac3[_0x2e5b91(0x13c)]);const _0x6ad3df=this[_0x2e5b91(0x1dc)](_0x2ec4b8&&_0x2ec4b8['token']),_0x15e1f0=this[_0x2e5b91(0x130)](_0x2ec4b8&&_0x2ec4b8['idempotencyKey']);let _0x7317ec=null;if(_0x15e1f0){_0x7317ec=idempotencyManager['buildDeterministicKey'](_0x2e5b91(0xe9),_0x2e5b91(0xf8),_0x6ad3df+':'+_0x15e1f0);const _0x4d8fb3=await this[_0x2e5b91(0x113)](_0x7317ec);if(_0x4d8fb3)return _0x4d8fb3;}const _0x1fd0e1=await this[_0x2e5b91(0x1ad)](_0x6ad3df),_0x2d0ef1=this[_0x2e5b91(0xd9)](_0x1fd0e1['resource'],_0x1fd0e1['formatKey']),_0x1be0d6=_0x1fd0e1['formatKey'][_0x2e5b91(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x296a96=_0x1be0d6?_0x1be0d6[0x1]:_0x2e5b91(0x191),_0x30183c=this[_0x2e5b91(0x1ca)](_0x296a96),_0x353352=redisClient['getClient'](),_0x49f473=await _0x353352[_0x2e5b91(0x1b5)](LUA_CANCEL_RESERVATION,0x3,_0x1fd0e1['rsvKey'],_0x1fd0e1[_0x2e5b91(0x19f)],_0x2d0ef1,_0x6ad3df,_0x122ac3['ozWxr'](String,_0x30183c));if(!_0x49f473||_0x49f473[0x0]!==0x1)throw new IdGeneratorError(_0x2e5b91(0x1cc),_0x2e5b91(0x132)+_0x6ad3df,{'token':_0x6ad3df});const _0x37d738=_0x122ac3[_0x2e5b91(0xf5)](parseInt,_0x49f473[0x1],0xa),_0x5b6052=_0x49f473[0x2],_0x5ca6c6=_0x49f473[0x3],_0x2477ed=new Date()[_0x2e5b91(0x110)](),_0x42dbe2={'cancelled':!![],'token':_0x6ad3df,'value':_0x5b6052,'counter':_0x37d738,'resource':_0x1fd0e1['resource'],'formatKey':_0x5ca6c6,'releasedToReuse':!![],'cancelledAt':_0x2477ed};return await this[_0x2e5b91(0x1a1)](_0x7317ec,_0x42dbe2),this[_0x2e5b91(0x165)](_0x1fd0e1['resource'],_0x5ca6c6,{'lastCancelledCounter':_0x37d738,'lastCancelledAt':_0x2477ed},_0x30183c),logger[_0x2e5b91(0x1dd)]({'event':_0x122ac3[_0x2e5b91(0x169)],'resource':_0x1fd0e1[_0x2e5b91(0xdc)],'formatKey':_0x5ca6c6,'counter':_0x37d738,'token':_0x6ad3df},_0x2e5b91(0xed)+_0x5b6052+'\x20(token='+_0x6ad3df+')'),_0x42dbe2;}async['extendReservation'](_0x4b3584){const _0x2bf877=a0_0x1603ac,_0x499fe2={'Nuqlm':_0x2bf877(0x152),'mnaGj':function(_0x2e35fb,_0x486c7d){return _0x2e35fb+_0x486c7d;},'upEjc':function(_0x3c0983,_0x173e9d){return _0x3c0983(_0x173e9d);},'ZKUyF':function(_0x56da7c,_0x36a589){return _0x56da7c(_0x36a589);},'bhpxh':function(_0xcbac41,_0x21e25f){return _0xcbac41!==_0x21e25f;},'tvjmi':'IDGEN_RESERVATION_NOT_FOUND','fwOHl':_0x2bf877(0x191),'HwWNO':_0x2bf877(0x13d)};if(!this[_0x2bf877(0x196)])throw new IdGeneratorError(_0x2bf877(0x1c5),'ID\x20Generator\x20is\x20disabled');const _0x4bdb81=this[_0x2bf877(0x1dc)](_0x4b3584&&_0x4b3584['token']),_0x35c77b=this['_validateReserveTTL'](_0x4b3584&&_0x4b3584['ttl']),_0xffc5db=this[_0x2bf877(0x130)](_0x4b3584&&_0x4b3584[_0x2bf877(0x180)]);let _0x5b44db=null;if(_0xffc5db){_0x5b44db=idempotencyManager[_0x2bf877(0x1e0)]('idgen',_0x499fe2[_0x2bf877(0x177)],_0x4bdb81+':'+_0xffc5db);const _0x2aee68=await this[_0x2bf877(0x113)](_0x5b44db);if(_0x2aee68)return _0x2aee68;}const _0x38f6df=await this['_getReservationContext'](_0x4bdb81),_0x1c4ee9=Date[_0x2bf877(0xe7)](),_0x2bbd94=_0x499fe2['mnaGj'](_0x1c4ee9,_0x35c77b*0x3e8),_0x28a88d=_0x35c77b*0x3e8,_0x24d264=new Date(_0x2bbd94)['toISOString'](),_0x486f32=redisClient['getClient'](),_0x279eaa=await _0x486f32['eval'](LUA_EXTEND_RESERVATION,0x2,_0x38f6df['rsvKey'],_0x38f6df[_0x2bf877(0x19f)],_0x4bdb81,_0x499fe2['upEjc'](String,_0x28a88d),_0x499fe2[_0x2bf877(0xee)](String,_0x2bbd94),_0x24d264);if(!_0x279eaa||_0x499fe2['bhpxh'](_0x279eaa[0x0],0x1))throw new IdGeneratorError(_0x499fe2['tvjmi'],_0x2bf877(0x132)+_0x4bdb81,{'token':_0x4bdb81});const _0x3380d1=_0x279eaa[0x1],_0x4bca3e=parseInt(_0x279eaa[0x2],0xa),_0x2f6251=_0x279eaa[0x3],_0x2fe902=_0x279eaa[0x4],_0x254326=new Date(_0x1c4ee9)['toISOString'](),_0x347105={'extended':!![],'token':_0x4bdb81,'previousExpiresAt':_0x3380d1,'expiresAt':_0x24d264,'ttlMs':_0x28a88d,'resource':_0x38f6df['resource'],'formatKey':_0x2fe902,'counter':_0x4bca3e,'value':_0x2f6251,'extendedAt':_0x254326};await this[_0x2bf877(0x1a1)](_0x5b44db,_0x347105);const _0x1b2644=_0x2fe902['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x29e7a3=_0x1b2644?_0x1b2644[0x1]:_0x499fe2[_0x2bf877(0x1b3)],_0x3bf9c4=this[_0x2bf877(0x1ca)](_0x29e7a3);return this[_0x2bf877(0x165)](_0x38f6df[_0x2bf877(0xdc)],_0x2fe902,{'lastExtendedCounter':_0x4bca3e,'lastExtendedAt':_0x254326},_0x3bf9c4),logger[_0x2bf877(0x1dd)]({'event':_0x499fe2['HwWNO'],'resource':_0x38f6df['resource'],'formatKey':_0x2fe902,'counter':_0x4bca3e,'token':_0x4bdb81,'ttl':_0x35c77b},_0x2bf877(0xec)+_0x2f6251+_0x2bf877(0x159)+_0x4bdb81+',\x20+'+_0x35c77b+'s)'),_0x347105;}async['getReservation'](_0x3bd5a3){const _0xe80ee9=a0_0x1603ac,_0x2ea68b={'ADAVI':'IDGEN_DISABLED','FkiEs':'ID\x20Generator\x20is\x20disabled','VXtVS':'IDGEN_RESERVATION_NOT_FOUND','JCQxJ':function(_0x17a175,_0x3b0c59,_0x3dd13a){return _0x17a175(_0x3b0c59,_0x3dd13a);},'HgsvZ':function(_0x131934,_0x3668e8){return _0x131934===_0x3668e8;},'MekRI':function(_0x1dbbac,_0x59f8a9){return _0x1dbbac===_0x59f8a9;},'GXXeM':function(_0x2e0aae,_0x27d0bc){return _0x2e0aae>=_0x27d0bc;}};if(!this['enabled'])throw new IdGeneratorError(_0x2ea68b['ADAVI'],_0x2ea68b['FkiEs']);const _0x5aaa4d=this['_validateReservationToken'](_0x3bd5a3&&_0x3bd5a3['token']),_0x57841b=this['_buildReservationKey'](_0x5aaa4d),_0x262c16=redisClient[_0xe80ee9(0x166)](),_0x4c0b5c=_0x262c16['pipeline']();_0x4c0b5c['hgetall'](_0x57841b),_0x4c0b5c['pttl'](_0x57841b);const _0x589e33=await _0x4c0b5c['exec'](),_0x356a1f=_0x589e33&&_0x589e33[0x0]&&_0x589e33[0x0][0x1],_0xd83be7=_0x589e33&&_0x589e33[0x1]&&_0x589e33[0x1][0x1];if(!_0x356a1f||Object[_0xe80ee9(0x106)](_0x356a1f)['length']===0x0)throw new IdGeneratorError(_0x2ea68b[_0xe80ee9(0x133)],_0xe80ee9(0x132)+_0x5aaa4d,{'token':_0x5aaa4d});return{'token':_0x5aaa4d,'resource':_0x356a1f[_0xe80ee9(0xdc)]||null,'formatKey':_0x356a1f['formatKey']||null,'format':_0x356a1f[_0xe80ee9(0x192)]||null,'prefix':_0x356a1f['prefix']||'','separator':_0x356a1f[_0xe80ee9(0xf6)]||'','numDigits':_0x356a1f[_0xe80ee9(0x160)]?_0x2ea68b['JCQxJ'](parseInt,_0x356a1f[_0xe80ee9(0x160)],0xa):null,'datePrefix':_0x356a1f['datePrefix']||'','counter':_0x356a1f[_0xe80ee9(0xd6)]?parseInt(_0x356a1f[_0xe80ee9(0xd6)],0xa):null,'value':_0x356a1f['value']||null,'isReused':_0x2ea68b['HgsvZ'](_0x356a1f['isReused'],'1')||_0x356a1f['isReused']===0x1,'createdAt':_0x356a1f['createdAt']||null,'expiresAt':_0x356a1f[_0xe80ee9(0x1d8)]||null,'ttlRemainingMs':_0x2ea68b[_0xe80ee9(0x18d)](typeof _0xd83be7,_0xe80ee9(0x1c1))&&_0x2ea68b['GXXeM'](_0xd83be7,0x0)?_0xd83be7:null};}async[a0_0x1603ac(0x1ad)](_0x3f1ed5){const _0x3ffae0=a0_0x1603ac,_0x20639d={'FtArR':_0x3ffae0(0x1b2)},_0x227ba6=this['_buildReservationKey'](_0x3f1ed5),_0x2b790d=redisClient['getClient'](),_0x586b6c=await _0x2b790d[_0x3ffae0(0xf2)](_0x227ba6,'resource',_0x20639d['FtArR']),_0x62cb1e=_0x586b6c&&_0x586b6c[0x0],_0x333d82=_0x586b6c&&_0x586b6c[0x1];if(!_0x62cb1e||!_0x333d82)throw new IdGeneratorError(_0x3ffae0(0x1cc),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x3f1ed5,{'token':_0x3f1ed5});return{'resource':_0x62cb1e,'formatKey':_0x333d82,'rsvKey':_0x227ba6,'rsvIdxKey':this[_0x3ffae0(0x1bf)](_0x62cb1e,_0x333d82)};}async['random'](_0x2012b9){const _0x10fba6=a0_0x1603ac,_0x2c7a1d={'XxjgF':'IDGEN_DISABLED','wKgsR':'ID\x20Generator\x20is\x20disabled','teKAb':_0x10fba6(0xde),'UVCLT':function(_0x120c94,_0x4d538e){return _0x120c94===_0x4d538e;},'AEduH':function(_0x3112d0,_0x57df75){return _0x3112d0&&_0x57df75;},'hCdqD':'idgen_random_generated','esknL':function(_0x474f5f,_0x3e8bd1){return _0x474f5f||_0x3e8bd1;}};if(!this[_0x10fba6(0x196)])throw new IdGeneratorError(_0x2c7a1d['XxjgF'],_0x2c7a1d['wKgsR']);this['_validateResource'](_0x2012b9[_0x10fba6(0xdc)]),this[_0x10fba6(0x171)](_0x2012b9['pattern']);const _0x5b2a24=this['_validateTTL'](_0x2012b9['ttl']),_0x1aa262=this['_validateMaxRetry'](_0x2012b9['maxRetry']),_0x2c75ae=this[_0x10fba6(0x130)](_0x2012b9['idempotencyKey']),_0x4fbdf2=_0x2012b9['ensureUnique']===!![],{resource:_0x3fbcb2,pattern:_0x55e602}=_0x2012b9;let _0x226bc8=null;if(_0x2c75ae){_0x226bc8=this['_buildIdemKey'](_0x2c7a1d['teKAb'],_0x3fbcb2,null,_0x2c75ae);const _0x2215ef=await this['_retrieveIdemCache'](_0x226bc8);if(_0x2215ef)return _0x2215ef;}const _0x4857eb=redisClient['getClient']();let _0x145ea3=null,_0x41a7ea=0x0;if(!_0x4fbdf2)_0x145ea3=this['_generateFromPattern'](_0x55e602),_0x41a7ea=0x1;else{for(let _0x317f58=0x0;_0x317f58<_0x1aa262;_0x317f58++){_0x41a7ea++;const _0x46b635=this['_generateFromPattern'](_0x55e602);if(_0x5b2a24){const _0x1edb0b=this['_buildActiveKey'](_0x3fbcb2,_0x46b635),_0x1663e4=await _0x4857eb['set'](_0x1edb0b,'1','EX',_0x5b2a24,'NX');if(_0x1663e4==='OK'){_0x145ea3=_0x46b635;break;}}else{const _0x16bcdc=this[_0x10fba6(0x19d)](_0x3fbcb2),_0x4f0611=await _0x4857eb[_0x10fba6(0x1d2)](_0x16bcdc,_0x46b635);if(_0x2c7a1d['UVCLT'](_0x4f0611,0x1)){_0x145ea3=_0x46b635;break;}}}if(_0x145ea3===null)throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED',_0x10fba6(0x120)+_0x1aa262+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x3fbcb2,'pattern':_0x55e602,'maxRetry':_0x1aa262});}const _0x23fef4={'value':_0x145ea3,'resource':_0x3fbcb2,'pattern':_0x55e602,'attemptCount':_0x41a7ea,'generatedAt':new Date()['toISOString']()};_0x2c7a1d[_0x10fba6(0x1cd)](_0x5b2a24,_0x4fbdf2)&&(_0x23fef4[_0x10fba6(0x1d8)]=new Date(Date['now']()+_0x5b2a24*0x3e8)['toISOString']());const _0x390b35=await this[_0x10fba6(0xf0)](_0x226bc8,_0x23fef4);if(!_0x390b35[_0x10fba6(0x127)])return _0x4fbdf2&&await this['_undoRandomReservation'](_0x3fbcb2,_0x145ea3,_0x5b2a24),logger['info']({'event':'idgen_random_idem_loser','resource':_0x3fbcb2,'pattern':_0x55e602,'value':_0x145ea3},_0x10fba6(0x13f)),_0x390b35[_0x10fba6(0xd3)];return logger[_0x10fba6(0x1dd)]({'event':_0x2c7a1d[_0x10fba6(0x195)],'resource':_0x3fbcb2,'pattern':_0x55e602,'attemptCount':_0x41a7ea,'ensureUnique':_0x4fbdf2,'ttl':_0x2c7a1d['esknL'](_0x5b2a24,0x0)},'ID\x20Generator\x20random:\x20'+_0x145ea3),_0x23fef4;}async['pin'](_0x5433a9){const _0x194653=a0_0x1603ac,_0x3faf82={'wXGcA':function(_0x2b2a30,_0x157808){return _0x2b2a30===_0x157808;}},_0xbc55df=_0x5433a9[_0x194653(0x194)]==null?this[_0x194653(0x114)]:_0x5433a9[_0x194653(0x194)];if(!Number['isInteger'](_0xbc55df)||_0xbc55df<MIN_PIN_DIGITS||_0xbc55df>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x194653(0x183),'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0xbc55df+')');const _0x168ffa='9'[_0x194653(0x143)](_0xbc55df);return this['random']({'resource':_0x5433a9[_0x194653(0xdc)],'pattern':_0x168ffa,'ensureUnique':_0x3faf82['wXGcA'](_0x5433a9[_0x194653(0x117)],!![]),'ttl':_0x5433a9[_0x194653(0x184)],'maxRetry':_0x5433a9['maxRetry'],'idempotencyKey':_0x5433a9['idempotencyKey']});}async['serial'](_0x1f2b1e){const _0x3e4318=a0_0x1603ac,_0xefed93={'aeINw':function(_0x2fe224,_0x2b28e7){return _0x2fe224!==_0x2b28e7;}},_0x3ac4a9=_0x1f2b1e['pattern']||this['defaultSerialPattern'];return this[_0x3e4318(0xde)]({'resource':_0x1f2b1e['resource'],'pattern':_0x3ac4a9,'ensureUnique':_0xefed93[_0x3e4318(0x124)](_0x1f2b1e[_0x3e4318(0x117)],![]),'ttl':_0x1f2b1e[_0x3e4318(0x184)],'maxRetry':_0x1f2b1e[_0x3e4318(0x17c)],'idempotencyKey':_0x1f2b1e['idempotencyKey']});}async['code'](_0x5bea60){const _0x5b5474=a0_0x1603ac,_0x428962={'swPyq':function(_0xc92edc,_0x37237b){return _0xc92edc!==_0x37237b;}},_0x20e476=_0x5bea60['pattern']||this['defaultCodePattern'];return this[_0x5b5474(0xde)]({'resource':_0x5bea60[_0x5b5474(0xdc)],'pattern':_0x20e476,'ensureUnique':_0x428962['swPyq'](_0x5bea60['ensureUnique'],![]),'ttl':_0x5bea60[_0x5b5474(0x184)],'maxRetry':_0x5bea60[_0x5b5474(0x17c)],'idempotencyKey':_0x5bea60[_0x5b5474(0x180)]});}async['consume'](_0x4218e7){const _0x555336=a0_0x1603ac,_0x51124e={'FjLSW':'IDGEN_DISABLED','jWeJO':'ID\x20Generator\x20is\x20disabled','CyFJB':function(_0xf142c7,_0x4122cc){return _0xf142c7!==_0x4122cc;},'eNZSl':function(_0x4c034e,_0x2d7ccd){return _0x4c034e===_0x2d7ccd;},'bzQUq':function(_0x52a882,_0x2b5389){return _0x52a882>_0x2b5389;}};if(!this['enabled'])throw new IdGeneratorError(_0x51124e['FjLSW'],_0x51124e['jWeJO']);this['_validateResource'](_0x4218e7[_0x555336(0xdc)]);if(_0x51124e['CyFJB'](typeof _0x4218e7[_0x555336(0x14e)],_0x555336(0x1b8))||_0x51124e['eNZSl'](_0x4218e7[_0x555336(0x14e)]['length'],0x0))throw new IdGeneratorError(_0x555336(0x1c2),'value\x20is\x20required');const {resource:_0x2ec64e,value:_0x4e72fc}=_0x4218e7,_0x2aeb94=redisClient['getClient'](),_0x595718=this[_0x555336(0xef)](_0x2ec64e,_0x4e72fc),_0x2e0ff7=this[_0x555336(0x19d)](_0x2ec64e),[_0x46f081,_0x22018d]=await Promise[_0x555336(0x161)]([_0x2aeb94['del'](_0x595718),_0x2aeb94['srem'](_0x2e0ff7,_0x4e72fc)]),_0x331199=_0x51124e[_0x555336(0x1b6)](_0x46f081+_0x22018d,0x0);return logger['info']({'event':'idgen_consumed','resource':_0x2ec64e,'value':_0x4e72fc,'consumed':_0x331199},_0x555336(0x1e8)+_0x4e72fc),{'consumed':_0x331199,'resource':_0x2ec64e,'value':_0x4e72fc,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x30d9e3){const _0x38ec97=a0_0x1603ac,_0x43d2a1={'jEmyT':'IDGEN_DISABLED','LaUvQ':'number','xPQQf':'text','hoCNR':'IDGEN_INVALID_FORMAT','EmUhS':function(_0x3593d4,_0x1466a6,_0x382ff0){return _0x3593d4(_0x1466a6,_0x382ff0);},'adzUJ':'random','blKtW':function(_0x12abda,_0x2ee8d7){return _0x12abda||_0x2ee8d7;}};if(!this['enabled'])throw new IdGeneratorError(_0x43d2a1['jEmyT'],_0x38ec97(0x187));this[_0x38ec97(0x1c6)](_0x30d9e3['resource']);const _0x144047=_0x30d9e3[_0x38ec97(0x1b9)]||_0x43d2a1['LaUvQ'],_0x117cb0=redisClient['getClient']();if(_0x144047===_0x38ec97(0x1c1)){const _0x18ba41=(_0x30d9e3['format']||_0x43d2a1['xPQQf'])[_0x38ec97(0x146)]();if(!ALLOWED_FORMATS[_0x38ec97(0x16b)](_0x18ba41))throw new IdGeneratorError(_0x43d2a1['hoCNR'],'Invalid\x20format:\x20'+_0x30d9e3[_0x38ec97(0x192)]);const {formatKey:_0x1ffa00}=this[_0x38ec97(0x193)](_0x18ba41,_0x30d9e3['prefix']||''),_0x104575=this[_0x38ec97(0x11f)](_0x30d9e3[_0x38ec97(0xdc)],_0x1ffa00),_0x273b5f=this['_buildReuseKey'](_0x30d9e3['resource'],_0x1ffa00),[_0x191e71,_0x2f6260]=await Promise[_0x38ec97(0x161)]([_0x117cb0['get'](_0x104575),_0x117cb0[_0x38ec97(0x145)](_0x273b5f)]);return{'resource':_0x30d9e3['resource'],'mode':_0x43d2a1[_0x38ec97(0x16c)],'formatKey':_0x1ffa00,'currentCounter':_0x43d2a1[_0x38ec97(0x1d4)](parseInt,_0x191e71,0xa)||0x0,'reusePoolSize':_0x2f6260||0x0};}if(_0x144047===_0x43d2a1['adzUJ']){const _0x18484c=this['_buildIssuedKey'](_0x30d9e3[_0x38ec97(0xdc)]),_0x402654=await _0x117cb0['scard'](_0x18484c);return{'resource':_0x30d9e3['resource'],'mode':_0x43d2a1[_0x38ec97(0x1a2)],'issuedCount':_0x43d2a1['blKtW'](_0x402654,0x0)};}throw new IdGeneratorError(_0x38ec97(0xfb),'Unknown\x20mode:\x20'+_0x144047);}async['getInfo'](_0x306bc0){const _0x23f937=a0_0x1603ac,_0x590f1c={'eOtYf':function(_0x31cedd,_0x248b39){return _0x31cedd===_0x248b39;},'FsXRV':_0x23f937(0x1c1)},_0x5de531=await this['peek'](_0x306bc0);if(_0x590f1c[_0x23f937(0xe2)](_0x5de531['mode'],_0x590f1c[_0x23f937(0x12a)])){const _0x538cd0=redisClient['getClient'](),_0x209f95=this[_0x23f937(0x14b)](_0x306bc0['resource'],_0x5de531['formatKey']),_0x95f572=this['_buildReuseKey'](_0x306bc0['resource'],_0x5de531[_0x23f937(0x1b2)]),[_0x396977,_0x506414]=await Promise['all']([_0x538cd0['hgetall'](_0x209f95),_0x538cd0['zrange'](_0x95f572,0x0,-0x1)]);return{..._0x5de531,'reusePoolValues':_0x506414['map'](_0x2dbc3c=>parseInt(_0x2dbc3c,0xa)),'meta':_0x396977&&Object[_0x23f937(0x106)](_0x396977)[_0x23f937(0xfd)]>0x0?_0x396977:null};}return _0x5de531;}async[a0_0x1603ac(0x1e4)](_0x4b06fc){const _0x30560b=a0_0x1603ac,_0x32ba76={'RfoaU':'ID\x20Generator\x20is\x20disabled','uvdeA':function(_0x9c6909,_0x4ea61a){return _0x9c6909===_0x4ea61a;},'yWjTh':_0x30560b(0x185),'TqJMo':'seq','lQJDf':_0x30560b(0x1ab),'awcDz':function(_0x147d99,_0x117fa7){return _0x147d99===_0x117fa7;},'eKgHA':_0x30560b(0xde),'QStBt':_0x30560b(0x109)};if(!this['enabled'])throw new IdGeneratorError(_0x30560b(0x1c5),_0x32ba76['RfoaU']);if(!this['allowReset'])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x30560b(0x104));this[_0x30560b(0x1c6)](_0x4b06fc[_0x30560b(0xdc)]);const _0x15f73f=_0x4b06fc[_0x30560b(0x1b9)]||'number',_0x549a03=redisClient['getClient']();if(_0x32ba76[_0x30560b(0x1b7)](_0x15f73f,_0x30560b(0x1c1))){const _0x495982=(_0x4b06fc['format']||'text')['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x495982))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20'+_0x4b06fc[_0x30560b(0x192)]);const {formatKey:_0xd9961c}=this['_buildFormatKey'](_0x495982,_0x4b06fc[_0x30560b(0x1a8)]||''),_0x24b99d=this['_buildSeqKey'](_0x4b06fc['resource'],_0xd9961c),_0x498828=this[_0x30560b(0xd9)](_0x4b06fc[_0x30560b(0xdc)],_0xd9961c),_0x302c0c=this['_buildMetaKey'](_0x4b06fc['resource'],_0xd9961c);return await _0x549a03[_0x30560b(0x16a)](_0x24b99d,_0x498828,_0x302c0c),logger[_0x30560b(0x10d)]({'event':_0x32ba76[_0x30560b(0xf1)],'resource':_0x4b06fc['resource'],'mode':'number','formatKey':_0xd9961c},_0x30560b(0x16f)+_0x4b06fc['resource']+':'+_0xd9961c),{'reset':!![],'resource':_0x4b06fc['resource'],'mode':'number','formatKey':_0xd9961c,'deletedKeys':[_0x32ba76[_0x30560b(0x1af)],'reuse',_0x32ba76['lQJDf']]};}if(_0x32ba76[_0x30560b(0x149)](_0x15f73f,_0x30560b(0xde))){const _0x1da4c0=this[_0x30560b(0x19d)](_0x4b06fc[_0x30560b(0xdc)]);return await _0x549a03['del'](_0x1da4c0),logger['warn']({'event':_0x30560b(0x185),'resource':_0x4b06fc['resource'],'mode':_0x32ba76[_0x30560b(0x1db)]},'ID\x20Generator\x20reset:\x20random:'+_0x4b06fc['resource']),{'reset':!![],'resource':_0x4b06fc['resource'],'mode':_0x32ba76['eKgHA'],'deletedKeys':[_0x32ba76[_0x30560b(0x1c3)]]};}throw new IdGeneratorError(_0x30560b(0xfb),_0x30560b(0x1d1)+_0x15f73f);}}const instance=new IdGenerator();instance[a0_0x1603ac(0x13b)]=IdGeneratorError,module[a0_0x1603ac(0xdb)]=instance,module['exports'][a0_0x1603ac(0x13b)]=IdGeneratorError;
1
+ 'use strict';const a0_0x570cb3=a0_0x15de;(function(_0x4c8c98,_0x101b3d){const _0x45769b=a0_0x15de,_0x1ea0cf=_0x4c8c98();while(!![]){try{const _0x174159=parseInt(_0x45769b(0x299))/0x1*(-parseInt(_0x45769b(0x2ba))/0x2)+parseInt(_0x45769b(0x234))/0x3*(-parseInt(_0x45769b(0x1cc))/0x4)+parseInt(_0x45769b(0x1d4))/0x5*(-parseInt(_0x45769b(0x27a))/0x6)+-parseInt(_0x45769b(0x2a8))/0x7+parseInt(_0x45769b(0x1ab))/0x8*(-parseInt(_0x45769b(0x1d3))/0x9)+parseInt(_0x45769b(0x1ef))/0xa*(-parseInt(_0x45769b(0x257))/0xb)+parseInt(_0x45769b(0x25e))/0xc;if(_0x174159===_0x101b3d)break;else _0x1ea0cf['push'](_0x1ea0cf['shift']());}catch(_0x422839){_0x1ea0cf['push'](_0x1ea0cf['shift']());}}}(a0_0x12f3,0x83618));const crypto=require(a0_0x570cb3(0x1b9)),redisClient=require(a0_0x570cb3(0x1e7)),{logger}=require(a0_0x570cb3(0x202)),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x570cb3(0x1b0),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x570cb3(0x1e8),CHARSET_UPPER=a0_0x570cb3(0x27f),CHARSET_LOWER=a0_0x570cb3(0x195),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x570cb3(0x28e),CHARSET_HEX_LOWER=a0_0x570cb3(0x2b3),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x570cb3(0x29a),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION=a0_0x570cb3(0x2af),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x250792,_0x105452,_0x5ae417=null){const _0x22183e=a0_0x570cb3,_0x31d02f={'yIxOi':_0x22183e(0x23a)};super(_0x105452||_0x250792),this['name']=_0x31d02f['yIxOi'],this['code']=_0x250792,this[_0x22183e(0x24c)]=_0x5ae417;}}function a0_0x12f3(){const _0x35a29e=['ugrkEKu','t0vKq0G','x2LUAxrPywXPEMvK','ExL5Ew1T','AwrLBuTLEq','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','u0DiruK','CMv1C2u','CxHTDKC','ExL5Ew1Tzgq','CNn2swr4s2v5','AxnfBMfIBgvK','y3j5ChrV','x3zHBgLKyxrLugf0DgvYBG','x3vUzg9syw5KB21szxnLCNzHDgLVBG','zM9YBwf0','B1LUEfa','D1vcAuW','C2fKza','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','z2v0uMvZzxj2yxrPB24','BM93','v0Tqswq','Dg9ju09tDhjPBMC','rLHKENK','BwvZC2fNzq','AhnLDa','BNvTrgLNAxrZ','Bw9Kzq','Bwf4uMv0CNK','Ew1JCe4','nteYuhvsqvjR','y21Asw8','Cxz4sge','D2jhwgu','ExL5Eq','DMjUy3q','x3n0B3jLswrLBunHy2HL','mtCZmtiWneLOAMHbDG','mta5nvL0uw5gzG','x3bHzdi','C2vWyxjHDg9Y','wgHTweS','zxHWB3j0CW','surhru5Fsu5wquXjrf9nt0rf','zw52','zw5ZDxjLvw5PCxvL','z2v0q2XPzw50','zgvMyxvSDe1HEfjLDhj5','CMvWzwf0','CgfYC2u','x2vUC3vYzuLUAxrPywXPEMvK','DhrS','suqGr2vUzxjHDg9YihjLC2v0oIa','x3jLC2vYDMvnyxHuveW','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','surhru5Fsu5wquXjrf9ut0TftG','yKzjuei','lI9YzwrPCY1JBgLLBNq','mdeYmZq1nJC4oq','y291BNrLCG','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','C3rYAw5N','zw5HyMXLza','x2TLEvbYzwzPEa','BNvTyMvY','mJqYmeL3BuLwzG','CMvZB3vYy2u','tfrVwKG','EMTpy0S','swrLBxbVDgvUy3KGy2fJAguGseLu','vfrqvvK','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','zgvS','AwrLBvruta','CgfKu3rHCNq','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','Dg9mB3DLCKnHC2u','CMvZzxj2zu1HEfruta','x2rLzMf1BhrnyxHszxrYEq','AwrLBxbVDgvUy3LlzxK','DgvZDa','x2nVDw50zxjuveXnyxa','zgLNAxrZ','y291BNrLCKLUDa','lI9SB2DNzxi','ywXSB3DszxnLDa','x2DLDenVDw50zxjuveW','wvjZA0u','C3jbuMq','surhru5Fsu5wquXjrf9gt1jnqvq','x2j1AwXKtwv0yuTLEq','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','y1nctvK','BgvUz3rO','C3rYAw5NAwz5','t1bcB28','C2v0','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','ENHesvm','qMD5vxO','surhru5Frevgqvvmvf9nqvHFuKvuuLK','DKXPzxK','DMfSDwu','x3bHCNnLtNvTyMvY','C2nHCMq','Exnfs0y','y2fUy2vSuMvZzxj2yxrPB24','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','CMvZzxj2zurLzMf1BhruveW','Ag1Nzxq','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','CMy6AwrNzw46','C3jLBq','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','r0LzExe','D2fYBG','x2rLzMf1BhrqAw5eAwDPDhm','AwrNzw5Fy29UzMLNx2LUAxq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','surhru5Fsu5wquXjrf9qqvrurvjo','EKvuDgW','CgvLAW','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','surhru5Fsu5wquXjrf9srvnpvvjdrq','uvn6C28','x2j1AwXKsxnZDwvKs2v5','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','suqGr2vUzxjHDg9Yig51BwjLCJOG','ywXS','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x3vWzgf0zu1LDge','mJaXnM1wtNnsrW','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','Bwv0yq','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','B01zwxu','swrhzw5LCMf0B3jfCNjVCG','vw5RBM93BIbTB2rLoIa','DuXKzMS','x2vUywjSzwq','AgLnyNC','ChjLzML4','zgvMyxvSDfbPBKrPz2L0CW','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','z2v0','AwXkBgi','uNP6EKK','z2vUzxjHDgvKqxq','x3L5ExLTBwrKxW','AwrNzw5Fy29UC3vTzwq','Dg9Rzw4','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','C2vYAwfS','CgLWzwXPBMu','zgv0ywLSCW','teLOA08','uwD1D1y','x3L5ExLTBv8','zM9YBwf0s2v5','zxzHBa','z2v0rNvSBfLLyxi','D2LUBMvYuMvZDwX0','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','yNvPBgrezxrLCM1PBMLZDgLJs2v5','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','mJCXndHQruvyuMu','surhru5Fsu5wquXjrf9esuDjvfm','Cgf0DgvYBG','qwvpDvC','x2j1AwXKrM9YBwf0s2v5','x3zHBgLKyxrLuMvZB3vYy2u','BwfW','mZu5odG0ntzwq0vMz0S','surhru5FuKvtrvrFtK9ux0fmte9xruq','AgfZ','EuTZBhu','ignOyxjZicHNB3qGBgvUz3rOoIa','r3rrDhq','lcbLEhbLy3rLzca','x2fSBg93uMvZzxq','CMfUzg9T','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x3L5ExLF','sKDYqLi','suqGr2vUzxjHDg9YihjHBMrVBtOG','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','zgf0zvbYzwzPEa','y29Kzq','r2jlBwq','DMrvy2i','vw5RBM93BIbMB3jTyxq6ia','DLzpt1O','Chr0Ba','A2v5CW','sw52ywXPzcbMB3jTyxq6ia','CMvZzxj2zv9LEhrLBMq','zfPJCLy','ywn0AxzLoG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','mJe1nZbNz0HczLi','x3zHBgLKyxrLtwf4uMv0CNK','CgfKzgvKicHNB3q6ia','x3jLDhjPzxzLswrLBunHy2HL','x3rLEhq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','AxnjBNrLz2vY','x2rLzMf1BhrdB2rLugf0DgvYBG','CNn2s2v5','ufbZq0e','x2rLzMf1BhrtzxjPywXqyxr0zxjU','surhru5FreLtqujmruq','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','Bwf0y2G','CMvZzxj2zv9JB25MAxjT','whzKyLK','CgLU','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','swPIyMW','mdeYmZq1nJC4oufcq0rfrG','A2v5uhjLzML4','lcaR','x2j1AwXKqwn0AxzLs2v5','u0LdyLO','zK5IuNe','CMfUzg9Tvvvjra','Dgv4Da','x3jLC2vYDMvezwzHDwX0vfrm','x2j1AwXKswrLBuTLEq','uwLRDMy','mJa4mJiXEM1sEeje','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','CMjVwNu','AwrNzw4','x3zHBgLKyxrLuMvZzxj2zvruta','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','icHNB3q6ia','zxHWAxjLC0f0','surhru5FquXmt1DFuKvtrvq','AxnZDwvK','sxjtC2u','AM9PBG','CMvZzxq','CMvZzxj2zq','AhPKDhu','mtiXmZe0mLLWveTIzG','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','Aw5MBW','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','x2LKzw1uveW','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','v1HNr1i','AgDLDgfSBa','tMvoDfm','mdeYmZq1nJC4owfIy2rLzG','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','zLbMrLK','CMvSzwfZzwrbDa','icH0B2TLBJ0','x2zVCM1HDe51BwjLCG','C3bSAxq','nKD6uMjtAq','x2j1AwXKuMv1C2vlzxK','x3n0B3jLswrLBunHy2HLtLG','yM9VBgvHBG','surhru5Fsurftv9uveW','AxvSt00','CMvZzxj2zu51BwjLCG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','C0noyuG','sg5AquS','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','ihbHCNrZkq','C3zWzwS','otK5os05otK5','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','sLrIAee','u0PkDgG','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','x2j1AwXKu2vXs2v5','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','lwrPz2L0ignHCgfJAxr5icG','surhru5Frevgqvvmvf9qsu5FreLhsvrt','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x2j1AwXKuMvZzxj2yxrPB25lzxK','x2DLBMvYyxrLrNjVBvbHDhrLCM4','Bwv0ytO','C2vX','A2rzEgy','u1npDu0','surhru5Fsu5wquXjrf9trvbbuKfut1i','C3PbwKe','oeP6t0LIBq','AvzHzMS'];a0_0x12f3=function(){return _0x35a29e;};return a0_0x12f3();}class IdGenerator{constructor(){const _0x5b526e=a0_0x570cb3;this['_initialized']=![],this['_enabled']=null,this[_0x5b526e(0x1ed)]=null,this['_idemTTL']=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this[_0x5b526e(0x223)]=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0x5b526e(0x1ff)]=null,this[_0x5b526e(0x296)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x25efc8=a0_0x570cb3,_0x2588b3={'kpfoh':'1|10|4|8|0|2|7|9|6|11|12|5|3','LToZH':function(_0x52fa26,_0x239225,_0x379269){return _0x52fa26(_0x239225,_0x379269);},'CwUru':_0x25efc8(0x224),'bFIPB':'XXXX-XXXX-XXXX-XXXX','GDxbG':_0x25efc8(0x199),'ppqmH':function(_0x3bbb6c,_0x2bb572){return _0x3bbb6c===_0x2bb572;},'FXdzy':function(_0x74c3ab,_0x5754f9,_0x18cf48){return _0x74c3ab(_0x5754f9,_0x18cf48);}},_0x746654=_0x2588b3['kpfoh'][_0x25efc8(0x2b9)]('|');let _0x1a8b34=0x0;while(!![]){switch(_0x746654[_0x1a8b34++]){case'0':this[_0x25efc8(0x1fc)]=_0x2588b3[_0x25efc8(0x1f1)](parseInt,process['env'][_0x25efc8(0x213)],0xa)||0xa;continue;case'1':this[_0x25efc8(0x1ed)]=_0x25efc8(0x21e);continue;case'2':this[_0x25efc8(0x223)]=_0x2588b3[_0x25efc8(0x1f1)](parseInt,process['env'][_0x25efc8(0x1a1)],0xa)||0x6;continue;case'3':logger[_0x25efc8(0x2aa)]({'event':_0x2588b3['CwUru'],'enabled':this['_enabled'],'idemTTL':this[_0x25efc8(0x2ad)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0x25efc8(0x23d)]);continue;case'4':this[_0x25efc8(0x2ad)]=parseInt(process['env'][_0x25efc8(0x2be)],0xa)||0x258;continue;case'5':this['_initialized']=!![];continue;case'6':this['_counterTTLMap']={'yyyymm':parseInt(process['env'][_0x25efc8(0x19d)],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x25efc8(0x1da)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;case'7':this[_0x25efc8(0x284)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x2588b3[_0x25efc8(0x1e6)];continue;case'8':this['_allowReset']=process['env'][_0x25efc8(0x2a1)]==='true';continue;case'9':this['_defaultCodePattern']=process[_0x25efc8(0x1da)][_0x25efc8(0x232)]||_0x2588b3['GDxbG'];continue;case'10':this['_enabled']=_0x2588b3['ppqmH'](process['env']['IDGEN_ENABLED'],'true');continue;case'11':this[_0x25efc8(0x296)]=parseInt(process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL;continue;case'12':this[_0x25efc8(0x1e3)]=_0x2588b3[_0x25efc8(0x1c5)](parseInt,process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;}break;}}[a0_0x570cb3(0x1e0)](){const _0x547bb0=a0_0x570cb3;if(!this[_0x547bb0(0x1af)])this['_initConfig']();}get[a0_0x570cb3(0x1ec)](){const _0x17306c=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x17306c(0x23d)];}get[a0_0x570cb3(0x28f)](){const _0x131ee3=a0_0x570cb3;return this[_0x131ee3(0x1e0)](),this[_0x131ee3(0x1ed)];}get[a0_0x570cb3(0x1f7)](){const _0x257317=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x257317(0x2ad)];}get[a0_0x570cb3(0x203)](){const _0x4ea9cb=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x4ea9cb(0x265)];}get[a0_0x570cb3(0x1dd)](){const _0x1f77f3=a0_0x570cb3;return this[_0x1f77f3(0x1e0)](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x5d029f=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x5d029f(0x284)];}get['defaultCodePattern'](){const _0x5bc7cb=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x5bc7cb(0x281)];}get[a0_0x570cb3(0x21b)](){const _0x3844c3=a0_0x570cb3;return this[_0x3844c3(0x1e0)](),this[_0x3844c3(0x296)];}get[a0_0x570cb3(0x1fb)](){const _0x385e02=a0_0x570cb3;return this[_0x385e02(0x1e0)](),this['_reserveMaxTTL'];}[a0_0x570cb3(0x1b8)](){return this['enabled'];}[a0_0x570cb3(0x25c)](_0x4e3b00){const _0x5e22c4=a0_0x570cb3;if(typeof _0x4e3b00!=='string'||!RESOURCE_REGEX[_0x5e22c4(0x1fe)](_0x4e3b00))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x4e3b00)+')');}['_validateNumberParams'](_0x4d8f89){const _0x26d0b4=a0_0x570cb3,_0x5945f5={'DgweO':function(_0x1faea7,_0x108655){return _0x1faea7===_0x108655;},'kYRGl':_0x26d0b4(0x1b2),'qxmvG':function(_0x29dc28,_0x20ce14){return _0x29dc28==_0x20ce14;},'VQNzG':_0x26d0b4(0x1eb),'ymcpN':function(_0x443395,_0x10b5da){return _0x443395>_0x10b5da;},'hzdtu':_0x26d0b4(0x1a9),'PdJzE':function(_0x57d2e8,_0x42742c){return _0x57d2e8!==_0x42742c;},'oMYYu':_0x26d0b4(0x2bd),'iVafk':_0x26d0b4(0x22b)},{resource:_0x48e356,format:_0x395af9,prefix:_0x42306b,separator:_0x3c9bf7,numDigits:_0x55b677,reuseDelete:_0x11de43}=_0x4d8f89;this['_validateResource'](_0x48e356);const _0x841521=_0x5945f5['DgweO'](typeof _0x395af9,'string')?_0x395af9[_0x26d0b4(0x1fa)]():'';if(!ALLOWED_FORMATS[_0x26d0b4(0x260)](_0x841521))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x26d0b4(0x28c)+[...ALLOWED_FORMATS][_0x26d0b4(0x2a4)](',\x20')+'\x20(got:\x20'+_0x395af9+')');if(!Number['isInteger'](_0x55b677)||_0x55b677<MIN_NUM_DIGITS||_0x55b677>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x5945f5['kYRGl'],'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x26d0b4(0x29f)+_0x55b677+')');const _0x221dd4=_0x5945f5[_0x26d0b4(0x1b5)](_0x42306b,null)?'':_0x42306b;if(typeof _0x221dd4!==_0x5945f5['VQNzG']||!PREFIX_REGEX['test'](_0x221dd4))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x26d0b4(0x26c)+PREFIX_REGEX+_0x26d0b4(0x29f)+JSON['stringify'](_0x42306b)+')');const _0x338c35=_0x3c9bf7==null?'':_0x3c9bf7;if(typeof _0x338c35!==_0x5945f5['VQNzG']||_0x5945f5[_0x26d0b4(0x1cb)](_0x338c35[_0x26d0b4(0x20c)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x338c35))throw new IdGeneratorError(_0x5945f5[_0x26d0b4(0x2a7)],_0x26d0b4(0x2ac)+JSON[_0x26d0b4(0x20d)](_0x3c9bf7)+')');if(_0x11de43!=null&&_0x5945f5[_0x26d0b4(0x1ad)](typeof _0x11de43,_0x5945f5[_0x26d0b4(0x239)]))throw new IdGeneratorError(_0x5945f5[_0x26d0b4(0x1ac)],_0x26d0b4(0x1f9)+typeof _0x11de43+')');return{'resource':_0x48e356,'format':_0x841521,'prefix':_0x221dd4,'separator':_0x338c35,'numDigits':_0x55b677,'reuseDelete':_0x11de43===!![]};}[a0_0x570cb3(0x1ba)](_0x19ef95){const _0xa5019d=a0_0x570cb3,_0x375d34={'qdFRk':'string','HnZAK':function(_0x331f0e,_0x5877eb){return _0x331f0e===_0x5877eb;},'DMUuG':function(_0x4f064c,_0xb0ee3c){return _0x4f064c>_0xb0ee3c;}};if(typeof _0x19ef95!==_0x375d34['qdFRk']||_0x375d34[_0xa5019d(0x194)](_0x19ef95['length'],0x0)||_0x375d34['DMUuG'](_0x19ef95['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0xa5019d(0x226),_0xa5019d(0x26b)+MAX_PATTERN_LENGTH+_0xa5019d(0x262)+(_0x19ef95&&_0x19ef95['length'])+')');let _0xde5ad9=![];for(const _0x65ba8 of _0x19ef95){if(PLACEHOLDER_MAP[_0x65ba8]){_0xde5ad9=!![];break;}}if(!_0xde5ad9)throw new IdGeneratorError(_0xa5019d(0x226),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x16ec25){const _0x24a12d=a0_0x570cb3,_0x84ebe9={'AoAjZ':function(_0x313a02,_0x1979f9){return _0x313a02==_0x1979f9;},'aVsoS':function(_0x5d670c,_0x4e24a7){return _0x5d670c<_0x4e24a7;},'ewGNk':'IDGEN_INVALID_TTL'};if(_0x84ebe9['AoAjZ'](_0x16ec25,null))return undefined;if(!Number[_0x24a12d(0x280)](_0x16ec25)||_0x84ebe9['aVsoS'](_0x16ec25,0x1)||_0x16ec25>MAX_TTL)throw new IdGeneratorError(_0x84ebe9['ewGNk'],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x16ec25+')');return _0x16ec25;}[a0_0x570cb3(0x27b)](_0x170c46){const _0x217b0e=a0_0x570cb3,_0x21c3ca={'vdUcb':function(_0x509363,_0x3e02bb){return _0x509363==_0x3e02bb;},'fPfFY':function(_0x13a9a2,_0x950051){return _0x13a9a2>_0x950051;}};if(_0x21c3ca[_0x217b0e(0x270)](_0x170c46,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x170c46)||_0x170c46<0x1||_0x21c3ca[_0x217b0e(0x2b5)](_0x170c46,MAX_RETRY_LIMIT))throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x217b0e(0x29f)+_0x170c46+')');return _0x170c46;}[a0_0x570cb3(0x287)](_0x356671){const _0x117d9a=a0_0x570cb3,_0x434f13={'EAWXN':function(_0x4263c2,_0x528baa){return _0x4263c2==_0x528baa;},'OIjLB':function(_0x1d106f,_0x46acdc){return _0x1d106f===_0x46acdc;},'ilJlb':function(_0x356ee9,_0xa17981){return _0x356ee9>_0xa17981;}};if(_0x434f13['EAWXN'](_0x356671,null))return undefined;if(typeof _0x356671!==_0x117d9a(0x1eb)||_0x434f13['OIjLB'](_0x356671['length'],0x0)||_0x434f13[_0x117d9a(0x243)](_0x356671['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x117d9a(0x22b),_0x117d9a(0x286)+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x356671;}['_validateReserveTTL'](_0x2713c8){const _0x2394e2=a0_0x570cb3,_0x4636d1={'uLdfk':function(_0x5ac364,_0x5351cb){return _0x5ac364==_0x5351cb;},'AeOuW':'IDGEN_INVALID_RESERVE_TTL'};if(_0x4636d1[_0x2394e2(0x23c)](_0x2713c8,null))return this[_0x2394e2(0x21b)];if(!Number['isInteger'](_0x2713c8)||_0x2713c8<MIN_RESERVE_TTL||_0x2713c8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x4636d1[_0x2394e2(0x25a)],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x2713c8+')');return _0x2713c8;}[a0_0x570cb3(0x2a9)](_0x38e0a2){const _0x31ee4f=a0_0x570cb3,_0x59a2cd={'VIdxb':function(_0x36ebf1,_0x4f0528){return _0x36ebf1!==_0x4f0528;}};if(_0x59a2cd['VIdxb'](typeof _0x38e0a2,_0x31ee4f(0x1eb))||!RESERVATION_TOKEN_REGEX['test'](_0x38e0a2))throw new IdGeneratorError(_0x31ee4f(0x1e5),_0x31ee4f(0x196)+JSON['stringify'](_0x38e0a2)+')');return _0x38e0a2;}[a0_0x570cb3(0x1d5)](_0x45f170){const _0x241308={'btkzc':function(_0x40b1fd,_0x34b2b1){return _0x40b1fd(_0x34b2b1);}};return _0x241308['btkzc'](String,_0x45f170)['padStart'](0x2,'0');}['_buildFormatKey'](_0x1167c5,_0xbd5b45,_0x445ee8=new Date()){const _0x5e7cb7=a0_0x570cb3,_0xbe81a4={'QguwV':'yyyymm','MWqRL':'IDGEN_INVALID_FORMAT'},_0x479cd0=_0x445ee8[_0x5e7cb7(0x252)](),_0xa9f8a4=this['_pad2'](_0x445ee8['getMonth']()+0x1),_0xcaf1e4=this[_0x5e7cb7(0x1d5)](_0x445ee8['getDate']()),_0x44c845=_0xbd5b45||'_';let _0x46802e,_0x5981ce='';switch(_0x1167c5){case _0x5e7cb7(0x295):_0x46802e=_0x44c845+_0x5e7cb7(0x27e);break;case _0x5e7cb7(0x1d0):_0x5981ce=''+_0x479cd0,_0x46802e=_0x44c845+_0x5e7cb7(0x268)+_0x5981ce;break;case _0xbe81a4[_0x5e7cb7(0x24e)]:_0x5981ce=''+_0x479cd0+_0xa9f8a4,_0x46802e=_0x44c845+_0x5e7cb7(0x24f)+_0x5981ce;break;case _0x5e7cb7(0x1b6):_0x5981ce=''+_0x479cd0+_0xa9f8a4+_0xcaf1e4,_0x46802e=_0x44c845+_0x5e7cb7(0x246)+_0x5981ce;break;default:throw new IdGeneratorError(_0xbe81a4['MWqRL'],_0x5e7cb7(0x271)+_0x1167c5);}return{'formatKey':_0x46802e,'datePrefix':_0x5981ce};}[a0_0x570cb3(0x19e)](_0x2e902c,_0x46ba27){return this['keyPrefix']+'seq:'+_0x2e902c+':'+_0x46ba27;}['_buildReuseKey'](_0xba3dc0,_0x5dab89){const _0x7979b3=a0_0x570cb3;return this[_0x7979b3(0x28f)]+'reuse:'+_0xba3dc0+':'+_0x5dab89;}[a0_0x570cb3(0x208)](_0x4ac776,_0x2b25e4){const _0xf9ca12=a0_0x570cb3;return this['keyPrefix']+_0xf9ca12(0x1a5)+_0x4ac776+':'+_0x2b25e4;}[a0_0x570cb3(0x22d)](_0x452247){const _0x278ff6=a0_0x570cb3;return this[_0x278ff6(0x28f)]+'issued:'+_0x452247;}[a0_0x570cb3(0x291)](_0x37043e,_0x37060d){const _0x24c454=a0_0x570cb3;return this['keyPrefix']+_0x24c454(0x278)+_0x37043e+':'+_0x37060d;}[a0_0x570cb3(0x1a3)](_0x351df1){const _0x272078=a0_0x570cb3;return this[_0x272078(0x28f)]+'rsv:'+_0x351df1;}['_buildReservationIndexKey'](_0xdb3e2d,_0x30898e){const _0x54cb94=a0_0x570cb3;return this[_0x54cb94(0x28f)]+'rsv_idx:'+_0xdb3e2d+':'+_0x30898e;}[a0_0x570cb3(0x237)](){const _0x53b860=a0_0x570cb3;return this[_0x53b860(0x28f)]+'rsv:';}['_buildIdemKey'](_0x64c7e5,_0x2f5f8b,_0x5230ed,_0x238e34){const _0x4fcc39=a0_0x570cb3,_0x146aa8={'qvxHa':_0x4fcc39(0x29c)};if(_0x5230ed)return idempotencyManager['buildDeterministicKey'](_0x146aa8['qvxHa'],_0x64c7e5,_0x2f5f8b+':'+_0x5230ed+':'+_0x238e34);return idempotencyManager[_0x4fcc39(0x255)](_0x146aa8[_0x4fcc39(0x1ce)],_0x64c7e5,_0x2f5f8b+':'+_0x238e34);}[a0_0x570cb3(0x204)](_0x2f5533){return this['_counterTTLMap'][_0x2f5533]||0x0;}[a0_0x570cb3(0x2b8)]({format:_0x12d743,prefix:_0x22f3a7,datePrefix:_0x1e303a,separator:_0x54dd7d,numDigits:_0xef495,counterInt:_0x5e2435}){const _0x35cd8c=a0_0x570cb3,_0x16cfde={'LZoOZ':function(_0x26ec97,_0x2c5f8d){return _0x26ec97-_0x2c5f8d;},'FIEEr':function(_0xf07c63,_0x4a5603){return _0xf07c63>_0x4a5603;},'OtEOg':'IDGEN_COUNTER_OVERFLOW','dCQdo':function(_0x149c66,_0x493516){return _0x149c66===_0x493516;}},_0x314daa=_0x16cfde['LZoOZ'](Math['pow'](0xa,_0xef495),0x1);if(_0x16cfde['FIEEr'](_0x5e2435,_0x314daa))throw new IdGeneratorError(_0x16cfde['OtEOg'],'Counter\x20overflow:\x20'+_0x5e2435+'\x20exceeds\x20'+_0xef495+_0x35cd8c(0x1a0)+_0x314daa+_0x35cd8c(0x256),{'counterInt':_0x5e2435,'numDigits':_0xef495,'max':_0x314daa});const _0x4e517c=String(_0x5e2435)[_0x35cd8c(0x1f8)](_0xef495,'0');if(_0x16cfde['dCQdo'](_0x12d743,'text'))return _0x22f3a7?''+_0x22f3a7+_0x54dd7d+_0x4e517c:_0x4e517c;return _0x22f3a7?''+_0x22f3a7+_0x54dd7d+_0x1e303a+_0x54dd7d+_0x4e517c:''+_0x1e303a+_0x54dd7d+_0x4e517c;}['_parseNumber']({format:_0x18b294,prefix:_0x4963ce,separator:_0x5a5393,numDigits:_0x36d216,number:_0x2d463b}){const _0x425b48=a0_0x570cb3,_0x15741c={'uzFgT':'string','XYnWR':function(_0x411427,_0x199b15){return _0x411427===_0x199b15;},'IrSse':'IDGEN_INVALID_NUMBER','GIYyq':function(_0x1c8b01,_0xcfc43f){return _0x1c8b01||_0xcfc43f;},'PPsCA':function(_0x53e2d1,_0x4c8b6d){return _0x53e2d1!==_0x4c8b6d;},'XhmXK':function(_0x3c1f30,_0x214fae){return _0x3c1f30!==_0x214fae;},'wUBiL':function(_0x40e5da,_0x1f9f11){return _0x40e5da===_0x1f9f11;},'WKPId':_0x425b48(0x1d0),'LIhkO':_0x425b48(0x1b0),'BhHgb':function(_0x27d353,_0x8d5d36,_0x4041b7){return _0x27d353(_0x8d5d36,_0x4041b7);},'CEWya':function(_0x18acb2,_0x366519){return _0x18acb2||_0x366519;},'BgyUz':'text'};if(typeof _0x2d463b!==_0x15741c['uzFgT']||_0x15741c['XYnWR'](_0x2d463b[_0x425b48(0x20c)],0x0))throw new IdGeneratorError(_0x15741c[_0x425b48(0x2a3)],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x2657e5=_0x15741c[_0x425b48(0x221)](_0x5a5393,''),_0x4f9273=_0x15741c['XYnWR'](_0x2657e5,'')?[_0x2d463b]:_0x2d463b['split'](_0x2657e5);let _0x37ab75='',_0x54e640;if(_0x18b294==='text'){if(_0x4963ce){if(_0x15741c['PPsCA'](_0x4f9273['length'],0x2)||_0x15741c[_0x425b48(0x283)](_0x4f9273[0x0],_0x4963ce))throw new IdGeneratorError(_0x15741c[_0x425b48(0x2a3)],_0x425b48(0x2c1)+_0x2657e5+_0x425b48(0x27c)+_0x2d463b+')');_0x54e640=_0x4f9273[0x1];}else{if(_0x15741c['PPsCA'](_0x4f9273['length'],0x1))throw new IdGeneratorError(_0x15741c['IrSse'],'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x2d463b+')');_0x54e640=_0x4f9273[0x0];}}else{const _0x34ea53=_0x4963ce?0x3:0x2;if(_0x4f9273[_0x425b48(0x20c)]!==_0x34ea53)throw new IdGeneratorError(_0x15741c[_0x425b48(0x2a3)],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x2d463b+_0x425b48(0x264)+_0x34ea53+_0x425b48(0x197));let _0x5f5034=0x0;if(_0x4963ce){if(_0x15741c[_0x425b48(0x1d7)](_0x4f9273[_0x5f5034],_0x4963ce))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x425b48(0x2ab)+_0x4963ce+',\x20got\x20'+_0x4f9273[_0x5f5034]);_0x5f5034++;}_0x37ab75=_0x4f9273[_0x5f5034++];const _0x4d6f64=_0x15741c[_0x425b48(0x1be)](_0x18b294,_0x15741c[_0x425b48(0x1c3)])?/^\d{4}$/:_0x18b294===_0x15741c[_0x425b48(0x24d)]?/^\d{6}$/:/^\d{8}$/;if(!_0x4d6f64[_0x425b48(0x1fe)](_0x37ab75))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x425b48(0x235)+_0x18b294+':\x20'+_0x37ab75);_0x54e640=_0x4f9273[_0x5f5034];}if(!new RegExp('^\x5cd{'+_0x36d216+'}$')['test'](_0x54e640))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x425b48(0x267)+_0x36d216+'\x20digits\x20(got:\x20'+_0x54e640+')');const _0x52b02b=_0x15741c['BhHgb'](parseInt,_0x54e640,0xa),_0x2e21d2=_0x15741c['CEWya'](_0x4963ce,'_');let _0x2cd1ef;return _0x18b294===_0x15741c[_0x425b48(0x212)]?_0x2cd1ef=_0x2e21d2+'_text':_0x2cd1ef=_0x2e21d2+'_'+_0x18b294+'_'+_0x37ab75,{'formatKey':_0x2cd1ef,'counterInt':_0x52b02b,'datePrefix':_0x37ab75};}['_generateFromPattern'](_0x4e8461){let _0x2a95b4='';for(const _0x225ec6 of _0x4e8461){const _0x521684=PLACEHOLDER_MAP[_0x225ec6];if(_0x521684){const _0x5b7e6e=crypto['randomInt'](0x0,_0x521684['length']);_0x2a95b4+=_0x521684[_0x5b7e6e];}else _0x2a95b4+=_0x225ec6;}return _0x2a95b4;}async['_retrieveIdemCache'](_0x2e39bc){const _0x2c245f=a0_0x570cb3,_0x89737a={'HHfUo':_0x2c245f(0x1f3),'RXaDE':'idgen_idem_retrieve_error'};if(!_0x2e39bc)return null;try{const _0x54acfa=redisClient['getClient'](),_0x172215=await _0x54acfa['get'](_0x2e39bc);if(_0x172215)return logger['info']({'event':'idgen_idem_hit','key':_0x2e39bc},_0x89737a['HHfUo']),JSON[_0x2c245f(0x1df)](_0x172215);return null;}catch(_0xef0b50){return logger['warn']({'event':_0x89737a['RXaDE'],'error':_0xef0b50['message']},'Idempotency\x20retrieve\x20error'),null;}}async['_storeIdemCache'](_0x2790ee,_0x34107e){const _0x10bc0b=a0_0x570cb3,_0x45728d={'RCeOV':'idgen_idem_store_error','dZcrV':_0x10bc0b(0x1ea)};if(!_0x2790ee)return;try{const _0x297e7f=redisClient['getClient']();await _0x297e7f['setex'](_0x2790ee,this[_0x10bc0b(0x1f7)],JSON['stringify'](_0x34107e));}catch(_0x380346){logger[_0x10bc0b(0x222)]({'event':_0x45728d['RCeOV'],'error':_0x380346[_0x10bc0b(0x1c6)]},_0x45728d[_0x10bc0b(0x277)]);}}async[a0_0x570cb3(0x2bc)](_0x25d3d3,_0x2daad5){const _0x58eba4=a0_0x570cb3,_0x123665={'lIOXw':function(_0x40803a,_0x925650){return _0x40803a===_0x925650;},'fsEYD':'idgen_idem_nx_race_lost_but_empty','srARd':'idgen_idem_storenx_error'};if(!_0x25d3d3)return{'stored':!![],'winnerResult':null};try{const _0x570126=redisClient['getClient'](),_0x5548aa=JSON[_0x58eba4(0x20d)](_0x2daad5),_0x4c3a26=await _0x570126[_0x58eba4(0x20f)](_0x25d3d3,_0x5548aa,'EX',this[_0x58eba4(0x1f7)],'NX');if(_0x123665['lIOXw'](_0x4c3a26,'OK'))return{'stored':!![],'winnerResult':null};const _0x1e4239=await _0x570126[_0x58eba4(0x242)](_0x25d3d3);if(_0x1e4239)return{'stored':![],'winnerResult':JSON['parse'](_0x1e4239)};return logger[_0x58eba4(0x222)]({'event':_0x123665['fsEYD'],'key':_0x25d3d3},_0x58eba4(0x241)),{'stored':!![],'winnerResult':null};}catch(_0x2d7d2e){return logger['warn']({'event':_0x123665[_0x58eba4(0x206)],'error':_0x2d7d2e[_0x58eba4(0x1c6)]},_0x58eba4(0x21d)),{'stored':!![],'winnerResult':null};}}async[a0_0x570cb3(0x1bb)](_0x3cc3d3,_0x9c536,_0x52cbc9){const _0x9b985f=a0_0x570cb3;try{const _0x47a0c0=redisClient['getClient']();if(_0x52cbc9){const _0x739225=this['_buildActiveKey'](_0x3cc3d3,_0x9c536);await _0x47a0c0[_0x9b985f(0x1f6)](_0x739225);}else{const _0x16f71d=this[_0x9b985f(0x22d)](_0x3cc3d3);await _0x47a0c0['srem'](_0x16f71d,_0x9c536);}}catch(_0x46cc59){logger[_0x9b985f(0x222)]({'event':_0x9b985f(0x249),'error':_0x46cc59['message']},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async[a0_0x570cb3(0x233)](_0x3a1a43,_0x163722,_0x4114a5,_0x3574de=0x0){const _0x38a4d2=a0_0x570cb3,_0x2200fe={'PzRLW':function(_0x1a1d73,_0x33fd6b){return _0x1a1d73>_0x33fd6b;},'TTPUY':'idgen_meta_update_error','vCinB':'Meta\x20update\x20error'};try{const _0x5218ab=redisClient['getClient'](),_0x19c9e4=this[_0x38a4d2(0x208)](_0x3a1a43,_0x163722),_0x4ce1d7=[];for(const [_0x436c8a,_0x17a02f]of Object['entries'](_0x4114a5)){_0x4ce1d7['push'](_0x436c8a,String(_0x17a02f));}if(_0x2200fe['PzRLW'](_0x4ce1d7['length'],0x0)){await _0x5218ab['hset'](_0x19c9e4,..._0x4ce1d7);if(_0x3574de>0x0)await _0x5218ab['expire'](_0x19c9e4,_0x3574de);}}catch(_0x18cecf){logger['warn']({'event':_0x2200fe[_0x38a4d2(0x1f4)],'error':_0x18cecf['message']},_0x2200fe['vCinB']);}}async[a0_0x570cb3(0x1ee)](_0xc94ace){const _0xdaffb9=a0_0x570cb3,_0x47562c={'XvdbY':function(_0x51b706,_0x5ef5f9){return _0x51b706(_0x5ef5f9);},'sYvmp':'idgen_idem_loser_release_error','ysEKF':'idgen_number_idem_loser'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x2c6f8f=this['_validateNumberParams'](_0xc94ace),_0x2d7ab6=this['_validateIdempotencyKey'](_0xc94ace[_0xdaffb9(0x1fd)]),{resource:_0x4d84b8,format:_0x148340,prefix:_0x4e1135,separator:_0x2838e3,numDigits:_0x3bf308,reuseDelete:_0x417c75}=_0x2c6f8f,{formatKey:_0x4fd5cb,datePrefix:_0x229b8c}=this['_buildFormatKey'](_0x148340,_0x4e1135),_0x16d6cd=this[_0xdaffb9(0x19e)](_0x4d84b8,_0x4fd5cb),_0x323c25=this[_0xdaffb9(0x2bb)](_0x4d84b8,_0x4fd5cb),_0x4649c1=this[_0xdaffb9(0x204)](_0x148340);let _0x5a17c6=null;if(_0x2d7ab6){_0x5a17c6=this['_buildIdemKey']('number',_0x4d84b8,_0x4fd5cb,_0x2d7ab6);const _0x190c45=await this[_0xdaffb9(0x27d)](_0x5a17c6);if(_0x190c45)return _0x190c45;}const _0x4a6a57=redisClient[_0xdaffb9(0x1dc)](),_0x295ca0=await _0x4a6a57['eval'](LUA_GENERATE_NUMBER,0x2,_0x16d6cd,_0x323c25,_0x417c75?'1':'0',String(_0x4649c1)),_0x4bcc65=_0x295ca0[0x0],_0x3ac7ee=_0x295ca0[0x1]===0x1,_0xbbdcae=this[_0xdaffb9(0x2b8)]({'format':_0x148340,'prefix':_0x4e1135,'datePrefix':_0x229b8c,'separator':_0x2838e3,'numDigits':_0x3bf308,'counterInt':_0x4bcc65}),_0x428d4b={'value':_0xbbdcae,'counter':_0x4bcc65,'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'isReused':_0x3ac7ee,'generatedAt':new Date()['toISOString']()},_0x4fe321=await this[_0xdaffb9(0x2bc)](_0x5a17c6,_0x428d4b);if(!_0x4fe321['stored']){try{await _0x4a6a57['eval'](LUA_RELEASE_NUMBER,0x1,_0x323c25,_0x47562c['XvdbY'](String,_0x4bcc65),_0x47562c[_0xdaffb9(0x28a)](String,_0x4649c1));}catch(_0x11038e){logger[_0xdaffb9(0x222)]({'event':_0x47562c['sYvmp'],'error':_0x11038e[_0xdaffb9(0x1c6)],'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'counterInt':_0x4bcc65},_0xdaffb9(0x29e));}return logger[_0xdaffb9(0x2aa)]({'event':_0x47562c[_0xdaffb9(0x218)],'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'counter':_0x4bcc65},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x4fe321[_0xdaffb9(0x253)];}return this['_updateMeta'](_0x4d84b8,_0x4fd5cb,{'lastValue':_0xbbdcae,'lastCounter':_0x4bcc65,'lastIsReused':_0x3ac7ee,'lastGeneratedAt':_0x428d4b[_0xdaffb9(0x245)]},_0x4649c1),logger['info']({'event':_0xdaffb9(0x19f),'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'counter':_0x4bcc65,'isReused':_0x3ac7ee},_0xdaffb9(0x22f)+_0xbbdcae),_0x428d4b;}async['releaseNumber'](_0x58b774){const _0xe0b640=a0_0x570cb3,_0x2fd1ec={'udTow':_0xe0b640(0x22a),'MtYft':function(_0xb56613,_0x3fedef){return _0xb56613!==_0x3fedef;},'xhUuI':function(_0x46235b,_0x5a5351){return _0x46235b!==_0x5a5351;},'gefPg':function(_0xc01c92,_0x134835){return _0xc01c92===_0x134835;},'Ruvlh':function(_0x3689a9,_0x1c5dde){return _0x3689a9<_0x1c5dde;},'NeNtS':function(_0x1aebeb,_0x53b063){return _0x1aebeb(_0x53b063);}};if(!this[_0xe0b640(0x1ec)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2fd1ec['udTow']);let _0x4af0bd,_0x3fb61c,_0x821930,_0x11670e;const _0x5c4aff=this['_validateIdempotencyKey'](_0x58b774[_0xe0b640(0x1fd)]);if(_0x2fd1ec['MtYft'](_0x58b774[_0xe0b640(0x201)],undefined)&&_0x58b774['counterInt']!==null){this['_validateResource'](_0x58b774[_0xe0b640(0x1f0)]),_0x4af0bd=_0x58b774[_0xe0b640(0x1f0)];if(_0x2fd1ec['xhUuI'](typeof _0x58b774['formatKey'],'string')||_0x2fd1ec['gefPg'](_0x58b774[_0xe0b640(0x250)][_0xe0b640(0x20c)],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x3fb61c=_0x58b774[_0xe0b640(0x250)];if(!Number['isInteger'](_0x58b774[_0xe0b640(0x201)])||_0x2fd1ec['Ruvlh'](_0x58b774[_0xe0b640(0x201)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x58b774['counterInt']+')');_0x821930=_0x58b774[_0xe0b640(0x201)];const _0x16d187=_0x3fb61c[_0xe0b640(0x288)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x11670e=_0x16d187?_0x16d187[0x1]:_0xe0b640(0x295);}else{const _0x4ecf9c=this[_0xe0b640(0x225)](_0x58b774),_0xcdd4fb=this[_0xe0b640(0x216)]({'format':_0x4ecf9c['format'],'prefix':_0x4ecf9c['prefix'],'separator':_0x4ecf9c[_0xe0b640(0x1d6)],'numDigits':_0x4ecf9c[_0xe0b640(0x1c8)],'number':_0x58b774[_0xe0b640(0x1ee)]});_0x4af0bd=_0x4ecf9c[_0xe0b640(0x1f0)],_0x3fb61c=_0xcdd4fb[_0xe0b640(0x250)],_0x821930=_0xcdd4fb['counterInt'],_0x11670e=_0x4ecf9c['format'];}const _0x5b49d4=this[_0xe0b640(0x2bb)](_0x4af0bd,_0x3fb61c),_0x429b79=this[_0xe0b640(0x204)](_0x11670e);let _0x28cc65=null;if(_0x5c4aff){_0x28cc65=this[_0xe0b640(0x297)]('release',_0x4af0bd,_0x3fb61c,_0x5c4aff);const _0x2a85a8=await this['_retrieveIdemCache'](_0x28cc65);if(_0x2a85a8)return _0x2a85a8;}const _0x5dc134=redisClient['getClient']();await _0x5dc134['eval'](LUA_RELEASE_NUMBER,0x1,_0x5b49d4,_0x2fd1ec[_0xe0b640(0x2b2)](String,_0x821930),String(_0x429b79));const _0x4a2890={'released':!![],'resource':_0x4af0bd,'formatKey':_0x3fb61c,'counter':_0x821930,'releasedAt':new Date()['toISOString']()};return await this[_0xe0b640(0x1d2)](_0x28cc65,_0x4a2890),this[_0xe0b640(0x233)](_0x4af0bd,_0x3fb61c,{'lastReleasedCounter':_0x821930,'lastReleasedAt':_0x4a2890[_0xe0b640(0x2b6)]},_0x429b79),logger[_0xe0b640(0x2aa)]({'event':'idgen_number_released','resource':_0x4af0bd,'formatKey':_0x3fb61c,'counter':_0x821930},_0xe0b640(0x220)+_0x821930),_0x4a2890;}async[a0_0x570cb3(0x2c0)](_0x347182){const _0x58d6a8=a0_0x570cb3,_0x136f2f={'aprXM':_0x58d6a8(0x2a6),'yKslu':function(_0x29da1c,_0x284802){return _0x29da1c*_0x284802;},'ASrJn':'formatKey','FuDzY':_0x58d6a8(0x1c8),'OEdCH':function(_0x1665de,_0x48255f){return _0x1665de(_0x48255f);},'zkOcK':'createdAt','fNbRq':function(_0x1680d1,_0x4d771e){return _0x1680d1(_0x4d771e);},'qlvPf':function(_0x3232d5,_0x53f7da){return _0x3232d5(_0x53f7da);},'GbKmd':'idgen_reserve_overflow_compensation_error','vbnct':'value'};if(!this[_0x58d6a8(0x1ec)])throw new IdGeneratorError(_0x58d6a8(0x285),_0x58d6a8(0x1a2));const _0x1d3a34=this[_0x58d6a8(0x225)](_0x347182),_0x401e59=this[_0x58d6a8(0x29d)](_0x347182['ttl']),_0x44dfc7=this[_0x58d6a8(0x287)](_0x347182[_0x58d6a8(0x1fd)]),{resource:_0x431fc1,format:_0x4f7074,prefix:_0x1b773e,separator:_0x128769,numDigits:_0x4fb0ef,reuseDelete:_0x27acd4}=_0x1d3a34,{formatKey:_0x170be5,datePrefix:_0x1a0fde}=this[_0x58d6a8(0x25b)](_0x4f7074,_0x1b773e),_0x55227a=this['_buildSeqKey'](_0x431fc1,_0x170be5),_0x203233=this['_buildReuseKey'](_0x431fc1,_0x170be5),_0xc39320=this['_buildReservationIndexKey'](_0x431fc1,_0x170be5),_0x412ee8=this['_getCounterTTL'](_0x4f7074);let _0x41dea7=null;if(_0x44dfc7){_0x41dea7=this['_buildIdemKey'](_0x136f2f['aprXM'],_0x431fc1,_0x170be5,_0x44dfc7);const _0x13b162=await this[_0x58d6a8(0x27d)](_0x41dea7);if(_0x13b162)return _0x13b162;}const _0x53c1a6=crypto[_0x58d6a8(0x294)](),_0x3e4b38=this['_buildReservationKey'](_0x53c1a6),_0x24d2c7=this[_0x58d6a8(0x237)](),_0x1cbe72=Date[_0x58d6a8(0x1c2)](),_0x586501=_0x1cbe72+_0x136f2f[_0x58d6a8(0x261)](_0x401e59,0x3e8),_0x3f2f91=_0x136f2f[_0x58d6a8(0x261)](_0x401e59,0x3e8),_0x49c599=new Date(_0x1cbe72)[_0x58d6a8(0x1c4)](),_0x3b1d53=new Date(_0x586501)['toISOString'](),_0x1c9e41=[_0x58d6a8(0x1f0),_0x431fc1,_0x136f2f['ASrJn'],_0x170be5,_0x58d6a8(0x1bc),_0x4f7074,_0x58d6a8(0x23f),_0x1b773e,_0x58d6a8(0x1d6),_0x128769,_0x136f2f['FuDzY'],_0x136f2f[_0x58d6a8(0x1ae)](String,_0x4fb0ef),_0x58d6a8(0x26d),_0x1a0fde||'',_0x136f2f[_0x58d6a8(0x1f2)],_0x49c599,'expiresAt',_0x3b1d53,'ttlMs',_0x136f2f['OEdCH'](String,_0x3f2f91)];_0x44dfc7&&_0x1c9e41['push'](_0x58d6a8(0x1b1),_0x44dfc7);const _0x43859a=redisClient['getClient'](),_0x1ab8b6=await _0x43859a['eval'](LUA_RESERVE_NUMBER,0x3,_0x55227a,_0x203233,_0xc39320,_0x27acd4?'1':'0',_0x136f2f[_0x58d6a8(0x1ae)](String,_0x412ee8),_0x53c1a6,_0x3e4b38,_0x136f2f[_0x58d6a8(0x293)](String,_0x3f2f91),String(_0x586501),_0x136f2f['qlvPf'](String,_0x1cbe72),_0x24d2c7,..._0x1c9e41),_0x1a96cf=_0x1ab8b6[0x0],_0x3c4ff2=_0x1ab8b6[0x1]===0x1,_0x26bad=_0x1ab8b6[0x2]||0x0;let _0x5f235f;try{_0x5f235f=this[_0x58d6a8(0x2b8)]({'format':_0x4f7074,'prefix':_0x1b773e,'datePrefix':_0x1a0fde,'separator':_0x128769,'numDigits':_0x4fb0ef,'counterInt':_0x1a96cf});}catch(_0x2af1b0){try{await _0x43859a[_0x58d6a8(0x251)](LUA_CANCEL_RESERVATION,0x3,_0x3e4b38,_0xc39320,_0x203233,_0x53c1a6,_0x136f2f['qlvPf'](String,_0x412ee8));}catch(_0x187e13){logger[_0x58d6a8(0x222)]({'event':_0x136f2f[_0x58d6a8(0x26f)],'error':_0x187e13['message'],'resource':_0x431fc1,'formatKey':_0x170be5,'counterInt':_0x1a96cf,'token':_0x53c1a6},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x2af1b0;}try{await _0x43859a[_0x58d6a8(0x1c7)](_0x3e4b38,_0x136f2f[_0x58d6a8(0x1d1)],_0x5f235f);}catch(_0x309189){logger['warn']({'event':_0x58d6a8(0x209),'error':_0x309189[_0x58d6a8(0x1c6)],'resource':_0x431fc1,'formatKey':_0x170be5,'counterInt':_0x1a96cf,'token':_0x53c1a6},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x168140={'token':_0x53c1a6,'value':_0x5f235f,'counter':_0x1a96cf,'resource':_0x431fc1,'formatKey':_0x170be5,'isReused':_0x3c4ff2,'createdAt':_0x49c599,'expiresAt':_0x3b1d53,'reapedCount':_0x26bad},_0x257dca=await this['_storeIdemCacheNX'](_0x41dea7,_0x168140);if(!_0x257dca['stored']){try{await _0x43859a['eval'](LUA_CANCEL_RESERVATION,0x3,_0x3e4b38,_0xc39320,_0x203233,_0x53c1a6,String(_0x412ee8));}catch(_0x4266a3){logger[_0x58d6a8(0x222)]({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x4266a3['message'],'resource':_0x431fc1,'formatKey':_0x170be5,'counterInt':_0x1a96cf,'token':_0x53c1a6},_0x58d6a8(0x229));}return logger[_0x58d6a8(0x2aa)]({'event':'idgen_reserve_idem_loser','resource':_0x431fc1,'formatKey':_0x170be5,'counter':_0x1a96cf,'token':_0x53c1a6},_0x58d6a8(0x2b4)),_0x257dca['winnerResult'];}return this[_0x58d6a8(0x233)](_0x431fc1,_0x170be5,{'lastReservedCounter':_0x1a96cf,'lastReservedAt':_0x49c599,'lastReapedCount':_0x26bad},_0x412ee8),logger['info']({'event':_0x58d6a8(0x1c0),'resource':_0x431fc1,'formatKey':_0x170be5,'counter':_0x1a96cf,'isReused':_0x3c4ff2,'token':_0x53c1a6,'ttl':_0x401e59,'reapedCount':_0x26bad},'ID\x20Generator\x20number\x20reserved:\x20'+_0x5f235f+'\x20(token='+_0x53c1a6+')'),_0x168140;}async['confirmReservation'](_0x259b46){const _0x5c4898=a0_0x570cb3,_0x517ba9={'cmZIo':'IDGEN_DISABLED','GtQtt':_0x5c4898(0x289),'cSBMY':function(_0x145ad3,_0x49679a){return _0x145ad3!==_0x49679a;},'UZbzr':_0x5c4898(0x254),'rboZu':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x517ba9[_0x5c4898(0x1cd)],'ID\x20Generator\x20is\x20disabled');const _0x83a2df=this['_validateReservationToken'](_0x259b46&&_0x259b46[_0x5c4898(0x248)]),_0x4d0d92=this['_validateIdempotencyKey'](_0x259b46&&_0x259b46[_0x5c4898(0x1fd)]);let _0x40216f=null;if(_0x4d0d92){_0x40216f=idempotencyManager[_0x5c4898(0x255)]('idgen',_0x517ba9[_0x5c4898(0x263)],_0x83a2df+':'+_0x4d0d92);const _0x3eacb2=await this['_retrieveIdemCache'](_0x40216f);if(_0x3eacb2)return _0x3eacb2;}const _0x3c9ded=await this['_getReservationContext'](_0x83a2df),_0x19903c=redisClient[_0x5c4898(0x1dc)](),_0x467b78=await _0x19903c['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x3c9ded[_0x5c4898(0x282)],_0x3c9ded['rsvIdxKey'],_0x83a2df);if(!_0x467b78||_0x517ba9[_0x5c4898(0x20b)](_0x467b78[0x0],0x1))throw new IdGeneratorError(_0x517ba9['UZbzr'],_0x5c4898(0x279)+_0x83a2df,{'token':_0x83a2df});const _0x49b975=parseInt(_0x467b78[0x1],0xa),_0x338dc3=_0x467b78[0x2],_0x5396dc=_0x467b78[0x3],_0x3324e2=new Date()[_0x5c4898(0x1c4)](),_0x172451={'confirmed':!![],'token':_0x83a2df,'value':_0x338dc3,'counter':_0x49b975,'resource':_0x3c9ded['resource'],'formatKey':_0x5396dc,'confirmedAt':_0x3324e2};await this[_0x5c4898(0x1d2)](_0x40216f,_0x172451);const _0x4b7239=_0x5396dc['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x490b54=_0x4b7239?_0x4b7239[0x1]:_0x517ba9[_0x5c4898(0x29b)],_0x41941a=this['_getCounterTTL'](_0x490b54);return this[_0x5c4898(0x233)](_0x3c9ded['resource'],_0x5396dc,{'lastConfirmedCounter':_0x49b975,'lastConfirmedAt':_0x3324e2},_0x41941a),logger['info']({'event':_0x5c4898(0x1f5),'resource':_0x3c9ded[_0x5c4898(0x1f0)],'formatKey':_0x5396dc,'counter':_0x49b975,'token':_0x83a2df},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x338dc3+_0x5c4898(0x2b7)+_0x83a2df+')'),_0x172451;}async[a0_0x570cb3(0x219)](_0x32e9f3){const _0x4da257=a0_0x570cb3,_0x438835={'SJJth':_0x4da257(0x22a),'JVjyj':'text','SSOuM':function(_0x5b8991,_0xbffb25){return _0x5b8991(_0xbffb25);},'vTbrx':function(_0x424237,_0x4b3ead){return _0x424237!==_0x4b3ead;},'xoynA':_0x4da257(0x254)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x438835[_0x4da257(0x19c)]);const _0x191127=this[_0x4da257(0x2a9)](_0x32e9f3&&_0x32e9f3['token']),_0x23b30f=this[_0x4da257(0x287)](_0x32e9f3&&_0x32e9f3[_0x4da257(0x1fd)]);let _0xd40d10=null;if(_0x23b30f){_0xd40d10=idempotencyManager[_0x4da257(0x255)](_0x4da257(0x29c),'reserve_cancel',_0x191127+':'+_0x23b30f);const _0x4bdf54=await this[_0x4da257(0x27d)](_0xd40d10);if(_0x4bdf54)return _0x4bdf54;}const _0xfd1ee7=await this['_getReservationContext'](_0x191127),_0x4112da=this['_buildReuseKey'](_0xfd1ee7[_0x4da257(0x1f0)],_0xfd1ee7[_0x4da257(0x250)]),_0x33bf79=_0xfd1ee7[_0x4da257(0x250)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x47e0a6=_0x33bf79?_0x33bf79[0x1]:_0x438835['JVjyj'],_0x3b21da=this['_getCounterTTL'](_0x47e0a6),_0x45020a=redisClient[_0x4da257(0x1dc)](),_0x4feaa3=await _0x45020a['eval'](LUA_CANCEL_RESERVATION,0x3,_0xfd1ee7['rsvKey'],_0xfd1ee7[_0x4da257(0x1b7)],_0x4112da,_0x191127,_0x438835[_0x4da257(0x1a8)](String,_0x3b21da));if(!_0x4feaa3||_0x438835['vTbrx'](_0x4feaa3[0x0],0x1))throw new IdGeneratorError(_0x438835['xoynA'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x191127,{'token':_0x191127});const _0x45d120=parseInt(_0x4feaa3[0x1],0xa),_0x1559dd=_0x4feaa3[0x2],_0x34d89e=_0x4feaa3[0x3],_0x2f6a52=new Date()[_0x4da257(0x1c4)](),_0x130f0c={'cancelled':!![],'token':_0x191127,'value':_0x1559dd,'counter':_0x45d120,'resource':_0xfd1ee7['resource'],'formatKey':_0x34d89e,'releasedToReuse':!![],'cancelledAt':_0x2f6a52};return await this[_0x4da257(0x1d2)](_0xd40d10,_0x130f0c),this[_0x4da257(0x233)](_0xfd1ee7[_0x4da257(0x1f0)],_0x34d89e,{'lastCancelledCounter':_0x45d120,'lastCancelledAt':_0x2f6a52},_0x3b21da),logger['info']({'event':'idgen_reservation_cancelled','resource':_0xfd1ee7[_0x4da257(0x1f0)],'formatKey':_0x34d89e,'counter':_0x45d120,'token':_0x191127},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x1559dd+'\x20(token='+_0x191127+')'),_0x130f0c;}async['extendReservation'](_0x2c83b6){const _0x31228b=a0_0x570cb3,_0x25c219={'knhxS':'IDGEN_DISABLED','hiMbw':function(_0x50afd8,_0x490245){return _0x50afd8+_0x490245;},'OPBoo':function(_0x3fe027,_0x2ce196){return _0x3fe027(_0x2ce196);},'sxmBx':function(_0x3c3295,_0x1e15a3){return _0x3c3295!==_0x1e15a3;},'JGrBR':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x25c219['knhxS'],_0x31228b(0x22a));const _0xd72b09=this[_0x31228b(0x2a9)](_0x2c83b6&&_0x2c83b6[_0x31228b(0x248)]),_0x1fa88f=this[_0x31228b(0x29d)](_0x2c83b6&&_0x2c83b6[_0x31228b(0x1e1)]),_0x1aadff=this['_validateIdempotencyKey'](_0x2c83b6&&_0x2c83b6[_0x31228b(0x1fd)]);let _0x1e04ef=null;if(_0x1aadff){_0x1e04ef=idempotencyManager['buildDeterministicKey']('idgen',_0x31228b(0x276),_0xd72b09+':'+_0x1aadff);const _0x599c9f=await this[_0x31228b(0x27d)](_0x1e04ef);if(_0x599c9f)return _0x599c9f;}const _0x80c68c=await this[_0x31228b(0x2ae)](_0xd72b09),_0x684b6e=Date['now'](),_0x69f053=_0x25c219[_0x31228b(0x23e)](_0x684b6e,_0x1fa88f*0x3e8),_0x272850=_0x1fa88f*0x3e8,_0x739473=new Date(_0x69f053)[_0x31228b(0x1c4)](),_0x1e64a7=redisClient[_0x31228b(0x1dc)](),_0x3fbd49=await _0x1e64a7[_0x31228b(0x251)](LUA_EXTEND_RESERVATION,0x2,_0x80c68c['rsvKey'],_0x80c68c['rsvIdxKey'],_0xd72b09,_0x25c219[_0x31228b(0x20e)](String,_0x272850),String(_0x69f053),_0x739473);if(!_0x3fbd49||_0x25c219['sxmBx'](_0x3fbd49[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x31228b(0x279)+_0xd72b09,{'token':_0xd72b09});const _0x9cf2dc=_0x3fbd49[0x1],_0x3810fc=parseInt(_0x3fbd49[0x2],0xa),_0x21f975=_0x3fbd49[0x3],_0x4edfc2=_0x3fbd49[0x4],_0x51c351=new Date(_0x684b6e)[_0x31228b(0x1c4)](),_0x138d53={'extended':!![],'token':_0xd72b09,'previousExpiresAt':_0x9cf2dc,'expiresAt':_0x739473,'ttlMs':_0x272850,'resource':_0x80c68c[_0x31228b(0x1f0)],'formatKey':_0x4edfc2,'counter':_0x3810fc,'value':_0x21f975,'extendedAt':_0x51c351};await this['_storeIdemCache'](_0x1e04ef,_0x138d53);const _0xaf4158=_0x4edfc2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1f75a6=_0xaf4158?_0xaf4158[0x1]:_0x25c219[_0x31228b(0x269)],_0x4990ad=this[_0x31228b(0x204)](_0x1f75a6);return this[_0x31228b(0x233)](_0x80c68c[_0x31228b(0x1f0)],_0x4edfc2,{'lastExtendedCounter':_0x3810fc,'lastExtendedAt':_0x51c351},_0x4990ad),logger['info']({'event':'idgen_reservation_extended','resource':_0x80c68c['resource'],'formatKey':_0x4edfc2,'counter':_0x3810fc,'token':_0xd72b09,'ttl':_0x1fa88f},_0x31228b(0x21a)+_0x21f975+'\x20(token='+_0xd72b09+_0x31228b(0x290)+_0x1fa88f+'s)'),_0x138d53;}async[a0_0x570cb3(0x1c1)](_0x1ccce3){const _0x5d99c2=a0_0x570cb3,_0x32e8de={'iulOM':_0x5d99c2(0x22a),'Qikvf':_0x5d99c2(0x254),'vvjME':function(_0x11dec4,_0xff31b3){return _0x11dec4===_0xff31b3;},'oYnxP':'number'};if(!this[_0x5d99c2(0x1ec)])throw new IdGeneratorError('IDGEN_DISABLED',_0x32e8de[_0x5d99c2(0x2bf)]);const _0xe020c1=this[_0x5d99c2(0x2a9)](_0x1ccce3&&_0x1ccce3[_0x5d99c2(0x248)]),_0x1e20ac=this['_buildReservationKey'](_0xe020c1),_0x14c842=redisClient[_0x5d99c2(0x1dc)](),_0x200871=_0x14c842[_0x5d99c2(0x24b)]();_0x200871['hgetall'](_0x1e20ac),_0x200871[_0x5d99c2(0x273)](_0x1e20ac);const _0x1f4d45=await _0x200871['exec'](),_0x1116ba=_0x1f4d45&&_0x1f4d45[0x0]&&_0x1f4d45[0x0][0x1],_0x22118d=_0x1f4d45&&_0x1f4d45[0x1]&&_0x1f4d45[0x1][0x1];if(!_0x1116ba||Object[_0x5d99c2(0x274)](_0x1116ba)[_0x5d99c2(0x20c)]===0x0)throw new IdGeneratorError(_0x32e8de[_0x5d99c2(0x298)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0xe020c1,{'token':_0xe020c1});return{'token':_0xe020c1,'resource':_0x1116ba[_0x5d99c2(0x1f0)]||null,'formatKey':_0x1116ba[_0x5d99c2(0x250)]||null,'format':_0x1116ba['format']||null,'prefix':_0x1116ba['prefix']||'','separator':_0x1116ba['separator']||'','numDigits':_0x1116ba['numDigits']?parseInt(_0x1116ba['numDigits'],0xa):null,'datePrefix':_0x1116ba[_0x5d99c2(0x26d)]||'','counter':_0x1116ba[_0x5d99c2(0x1e9)]?parseInt(_0x1116ba[_0x5d99c2(0x1e9)],0xa):null,'value':_0x1116ba['value']||null,'isReused':_0x1116ba['isReused']==='1'||_0x32e8de['vvjME'](_0x1116ba['isReused'],0x1),'createdAt':_0x1116ba['createdAt']||null,'expiresAt':_0x1116ba[_0x5d99c2(0x2a0)]||null,'ttlRemainingMs':_0x32e8de['vvjME'](typeof _0x22118d,_0x32e8de[_0x5d99c2(0x1bd)])&&_0x22118d>=0x0?_0x22118d:null};}async[a0_0x570cb3(0x2ae)](_0x2f52c4){const _0x2536d2=a0_0x570cb3,_0xefbb70={'vLiey':'resource'},_0x5dd721=this[_0x2536d2(0x1a3)](_0x2f52c4),_0x25fdc6=redisClient[_0x2536d2(0x1dc)](),_0x1c8086=await _0x25fdc6[_0x2536d2(0x21c)](_0x5dd721,_0xefbb70[_0x2536d2(0x214)],_0x2536d2(0x250)),_0x7dd58a=_0x1c8086&&_0x1c8086[0x0],_0x2ee855=_0x1c8086&&_0x1c8086[0x1];if(!_0x7dd58a||!_0x2ee855)throw new IdGeneratorError(_0x2536d2(0x254),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x2f52c4,{'token':_0x2f52c4});return{'resource':_0x7dd58a,'formatKey':_0x2ee855,'rsvKey':_0x5dd721,'rsvIdxKey':this[_0x2536d2(0x238)](_0x7dd58a,_0x2ee855)};}async['random'](_0x1b4c37){const _0x180b3d=a0_0x570cb3,_0x413874={'zxDIS':_0x180b3d(0x22a),'JTbhA':_0x180b3d(0x266),'rLrvZ':function(_0x4c5353,_0x564e9b){return _0x4c5353<_0x564e9b;},'zEiHK':_0x180b3d(0x231),'QSzso':'idgen_random_generated','imrJu':function(_0x140ff0,_0x4ff496){return _0x140ff0||_0x4ff496;}};if(!this['enabled'])throw new IdGeneratorError(_0x180b3d(0x285),_0x413874[_0x180b3d(0x211)]);this['_validateResource'](_0x1b4c37['resource']),this[_0x180b3d(0x1ba)](_0x1b4c37[_0x180b3d(0x259)]);const _0x1c68b8=this['_validateTTL'](_0x1b4c37[_0x180b3d(0x1e1)]),_0x2247a4=this[_0x180b3d(0x27b)](_0x1b4c37[_0x180b3d(0x1ca)]),_0x22be40=this['_validateIdempotencyKey'](_0x1b4c37[_0x180b3d(0x1fd)]),_0x1d8ecb=_0x1b4c37[_0x180b3d(0x1db)]===!![],{resource:_0x18c913,pattern:_0x677e0e}=_0x1b4c37;let _0x267184=null;if(_0x22be40){_0x267184=this[_0x180b3d(0x297)](_0x413874[_0x180b3d(0x19b)],_0x18c913,null,_0x22be40);const _0x282733=await this[_0x180b3d(0x27d)](_0x267184);if(_0x282733)return _0x282733;}const _0x26ae99=redisClient['getClient']();let _0x20a994=null,_0x5ae8b1=0x0;if(!_0x1d8ecb)_0x20a994=this[_0x180b3d(0x1a4)](_0x677e0e),_0x5ae8b1=0x1;else{for(let _0xbcb11=0x0;_0x413874['rLrvZ'](_0xbcb11,_0x2247a4);_0xbcb11++){_0x5ae8b1++;const _0x41cba0=this[_0x180b3d(0x1a4)](_0x677e0e);if(_0x1c68b8){const _0x6e7ecb=this['_buildActiveKey'](_0x18c913,_0x41cba0),_0x5490bd=await _0x26ae99[_0x180b3d(0x20f)](_0x6e7ecb,'1','EX',_0x1c68b8,'NX');if(_0x5490bd==='OK'){_0x20a994=_0x41cba0;break;}}else{const _0x488bc6=this['_buildIssuedKey'](_0x18c913),_0x60bec1=await _0x26ae99[_0x180b3d(0x1bf)](_0x488bc6,_0x41cba0);if(_0x60bec1===0x1){_0x20a994=_0x41cba0;break;}}}if(_0x20a994===null)throw new IdGeneratorError(_0x413874['zEiHK'],_0x180b3d(0x22e)+_0x2247a4+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x18c913,'pattern':_0x677e0e,'maxRetry':_0x2247a4});}const _0x51e967={'value':_0x20a994,'resource':_0x18c913,'pattern':_0x677e0e,'attemptCount':_0x5ae8b1,'generatedAt':new Date()['toISOString']()};_0x1c68b8&&_0x1d8ecb&&(_0x51e967['expiresAt']=new Date(Date[_0x180b3d(0x1c2)]()+_0x1c68b8*0x3e8)['toISOString']());const _0x56898a=await this[_0x180b3d(0x2bc)](_0x267184,_0x51e967);if(!_0x56898a['stored'])return _0x1d8ecb&&await this['_undoRandomReservation'](_0x18c913,_0x20a994,_0x1c68b8),logger['info']({'event':_0x180b3d(0x19a),'resource':_0x18c913,'pattern':_0x677e0e,'value':_0x20a994},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x56898a[_0x180b3d(0x253)];return logger['info']({'event':_0x413874[_0x180b3d(0x22c)],'resource':_0x18c913,'pattern':_0x677e0e,'attemptCount':_0x5ae8b1,'ensureUnique':_0x1d8ecb,'ttl':_0x413874['imrJu'](_0x1c68b8,0x0)},_0x180b3d(0x26a)+_0x20a994),_0x51e967;}async[a0_0x570cb3(0x28b)](_0x2c121f){const _0x32c0d4=a0_0x570cb3,_0x4ec847={'WZeFI':function(_0x2ae6c5,_0x3655f8){return _0x2ae6c5==_0x3655f8;},'HobVq':function(_0x4680af,_0x279a34){return _0x4680af<_0x279a34;},'DtbIk':function(_0x4181bf,_0xb7c706){return _0x4181bf>_0xb7c706;}},_0x41a72b=_0x4ec847['WZeFI'](_0x2c121f['digits'],null)?this[_0x32c0d4(0x240)]:_0x2c121f[_0x32c0d4(0x200)];if(!Number['isInteger'](_0x41a72b)||_0x4ec847['HobVq'](_0x41a72b,MIN_PIN_DIGITS)||_0x4ec847['DtbIk'](_0x41a72b,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x32c0d4(0x258),_0x32c0d4(0x1e4)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x41a72b+')');const _0x4c11a3='9'[_0x32c0d4(0x1de)](_0x41a72b);return this['random']({'resource':_0x2c121f['resource'],'pattern':_0x4c11a3,'ensureUnique':_0x2c121f['ensureUnique']===!![],'ttl':_0x2c121f[_0x32c0d4(0x1e1)],'maxRetry':_0x2c121f[_0x32c0d4(0x1ca)],'idempotencyKey':_0x2c121f[_0x32c0d4(0x1fd)]});}async[a0_0x570cb3(0x24a)](_0xc96715){const _0x5d8aa1=a0_0x570cb3,_0x29e487=_0xc96715[_0x5d8aa1(0x259)]||this['defaultSerialPattern'];return this['random']({'resource':_0xc96715['resource'],'pattern':_0x29e487,'ensureUnique':_0xc96715[_0x5d8aa1(0x1db)]!==![],'ttl':_0xc96715['ttl'],'maxRetry':_0xc96715['maxRetry'],'idempotencyKey':_0xc96715[_0x5d8aa1(0x1fd)]});}async[a0_0x570cb3(0x26e)](_0x14cbca){const _0x218276=a0_0x570cb3,_0x401a2f=_0x14cbca['pattern']||this['defaultCodePattern'];return this[_0x218276(0x266)]({'resource':_0x14cbca[_0x218276(0x1f0)],'pattern':_0x401a2f,'ensureUnique':_0x14cbca['ensureUnique']!==![],'ttl':_0x14cbca['ttl'],'maxRetry':_0x14cbca[_0x218276(0x1ca)],'idempotencyKey':_0x14cbca['idempotencyKey']});}async['consume'](_0x3a7ace){const _0x2bf6cf=a0_0x570cb3,_0x50fe64={'Ijbbl':'ID\x20Generator\x20is\x20disabled','SICbZ':'IDGEN_INVALID_NUMBER','vVOOZ':function(_0x595b0b,_0x359858){return _0x595b0b>_0x359858;}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x50fe64[_0x2bf6cf(0x28d)]);this['_validateResource'](_0x3a7ace[_0x2bf6cf(0x1f0)]);if(typeof _0x3a7ace['value']!==_0x2bf6cf(0x1eb)||_0x3a7ace[_0x2bf6cf(0x215)]['length']===0x0)throw new IdGeneratorError(_0x50fe64[_0x2bf6cf(0x292)],'value\x20is\x20required');const {resource:_0xeaa2c1,value:_0x59d055}=_0x3a7ace,_0x116149=redisClient['getClient'](),_0x4e44d2=this[_0x2bf6cf(0x291)](_0xeaa2c1,_0x59d055),_0x85c79a=this[_0x2bf6cf(0x22d)](_0xeaa2c1),[_0x356146,_0x45df11]=await Promise[_0x2bf6cf(0x230)]([_0x116149[_0x2bf6cf(0x1f6)](_0x4e44d2),_0x116149[_0x2bf6cf(0x21f)](_0x85c79a,_0x59d055)]),_0x158e43=_0x50fe64[_0x2bf6cf(0x272)](_0x356146+_0x45df11,0x0);return logger[_0x2bf6cf(0x2aa)]({'event':_0x2bf6cf(0x247),'resource':_0xeaa2c1,'value':_0x59d055,'consumed':_0x158e43},_0x2bf6cf(0x20a)+_0x59d055),{'consumed':_0x158e43,'resource':_0xeaa2c1,'value':_0x59d055,'consumedAt':new Date()[_0x2bf6cf(0x1c4)]()};}async['peek'](_0x5077c3){const _0x21abec=a0_0x570cb3,_0x26e6a8={'svpek':_0x21abec(0x1ee),'WXgGR':function(_0x344ed1,_0x523ffb){return _0x344ed1||_0x523ffb;},'wbGXe':_0x21abec(0x266)};if(!this['enabled'])throw new IdGeneratorError(_0x21abec(0x285),'ID\x20Generator\x20is\x20disabled');this[_0x21abec(0x25c)](_0x5077c3['resource']);const _0x132ba2=_0x5077c3['mode']||_0x26e6a8['svpek'],_0x25c8a6=redisClient[_0x21abec(0x1dc)]();if(_0x132ba2==='number'){const _0x441f17=(_0x5077c3['format']||_0x21abec(0x295))['toLowerCase']();if(!ALLOWED_FORMATS[_0x21abec(0x260)](_0x441f17))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x21abec(0x275)+_0x5077c3[_0x21abec(0x1bc)]);const {formatKey:_0x1d84b7}=this['_buildFormatKey'](_0x441f17,_0x5077c3[_0x21abec(0x23f)]||''),_0x12af0b=this['_buildSeqKey'](_0x5077c3[_0x21abec(0x1f0)],_0x1d84b7),_0x1dc894=this['_buildReuseKey'](_0x5077c3['resource'],_0x1d84b7),[_0x519994,_0x2299c0]=await Promise[_0x21abec(0x230)]([_0x25c8a6[_0x21abec(0x242)](_0x12af0b),_0x25c8a6['zcard'](_0x1dc894)]);return{'resource':_0x5077c3['resource'],'mode':_0x26e6a8[_0x21abec(0x198)],'formatKey':_0x1d84b7,'currentCounter':parseInt(_0x519994,0xa)||0x0,'reusePoolSize':_0x26e6a8[_0x21abec(0x2b0)](_0x2299c0,0x0)};}if(_0x132ba2==='random'){const _0x1144fb=this['_buildIssuedKey'](_0x5077c3['resource']),_0x511626=await _0x25c8a6[_0x21abec(0x217)](_0x1144fb);return{'resource':_0x5077c3[_0x21abec(0x1f0)],'mode':_0x26e6a8[_0x21abec(0x1cf)],'issuedCount':_0x26e6a8[_0x21abec(0x2b0)](_0x511626,0x0)};}throw new IdGeneratorError(_0x21abec(0x1d9),_0x21abec(0x23b)+_0x132ba2);}async['getInfo'](_0x573b39){const _0x30b7c3=a0_0x570cb3,_0x231268={'szAZA':_0x30b7c3(0x1ee)},_0x26d3f5=await this[_0x30b7c3(0x228)](_0x573b39);if(_0x26d3f5[_0x30b7c3(0x1c9)]===_0x231268[_0x30b7c3(0x1aa)]){const _0x1b33e4=redisClient[_0x30b7c3(0x1dc)](),_0x59dc44=this[_0x30b7c3(0x208)](_0x573b39[_0x30b7c3(0x1f0)],_0x26d3f5['formatKey']),_0x1b8ae7=this['_buildReuseKey'](_0x573b39[_0x30b7c3(0x1f0)],_0x26d3f5['formatKey']),[_0x2d02f0,_0x7b9c60]=await Promise['all']([_0x1b33e4[_0x30b7c3(0x2b1)](_0x59dc44),_0x1b33e4['zrange'](_0x1b8ae7,0x0,-0x1)]);return{..._0x26d3f5,'reusePoolValues':_0x7b9c60[_0x30b7c3(0x25d)](_0x1f4f10=>parseInt(_0x1f4f10,0xa)),'meta':_0x2d02f0&&Object[_0x30b7c3(0x274)](_0x2d02f0)[_0x30b7c3(0x20c)]>0x0?_0x2d02f0:null};}return _0x26d3f5;}async[a0_0x570cb3(0x2a5)](_0x2d6efb){const _0x3d7e92=a0_0x570cb3,_0x5d5324={'SGHEI':_0x3d7e92(0x285),'tmgIM':_0x3d7e92(0x22a),'sCNaH':_0x3d7e92(0x210),'pulKR':function(_0x254393,_0x417245){return _0x254393===_0x417245;},'kdYxf':'number','RFxTv':_0x3d7e92(0x207),'zETtl':_0x3d7e92(0x1b4),'BnDtX':_0x3d7e92(0x236),'RzzzI':function(_0x323ba4,_0x4230a4){return _0x323ba4===_0x4230a4;},'YRskE':'idgen_reset','YpmpV':_0x3d7e92(0x1d9)};if(!this[_0x3d7e92(0x1ec)])throw new IdGeneratorError(_0x5d5324[_0x3d7e92(0x1b3)],_0x5d5324['tmgIM']);if(!this['allowReset'])throw new IdGeneratorError(_0x3d7e92(0x25f),_0x5d5324[_0x3d7e92(0x193)]);this['_validateResource'](_0x2d6efb[_0x3d7e92(0x1f0)]);const _0xa2653d=_0x2d6efb[_0x3d7e92(0x1c9)]||_0x3d7e92(0x1ee),_0x9fc8d=redisClient[_0x3d7e92(0x1dc)]();if(_0x5d5324['pulKR'](_0xa2653d,_0x5d5324[_0x3d7e92(0x1a7)])){const _0x1cd6fc=(_0x2d6efb['format']||_0x3d7e92(0x295))[_0x3d7e92(0x1fa)]();if(!ALLOWED_FORMATS[_0x3d7e92(0x260)](_0x1cd6fc))throw new IdGeneratorError(_0x5d5324['RFxTv'],_0x3d7e92(0x275)+_0x2d6efb['format']);const {formatKey:_0x23c85d}=this[_0x3d7e92(0x25b)](_0x1cd6fc,_0x2d6efb['prefix']||''),_0x4ef3c7=this['_buildSeqKey'](_0x2d6efb['resource'],_0x23c85d),_0x288d9f=this[_0x3d7e92(0x2bb)](_0x2d6efb['resource'],_0x23c85d),_0x253e19=this[_0x3d7e92(0x208)](_0x2d6efb['resource'],_0x23c85d);return await _0x9fc8d[_0x3d7e92(0x1f6)](_0x4ef3c7,_0x288d9f,_0x253e19),logger['warn']({'event':'idgen_reset','resource':_0x2d6efb['resource'],'mode':_0x5d5324[_0x3d7e92(0x1a7)],'formatKey':_0x23c85d},_0x3d7e92(0x1e2)+_0x2d6efb['resource']+':'+_0x23c85d),{'reset':!![],'resource':_0x2d6efb['resource'],'mode':_0x5d5324['kdYxf'],'formatKey':_0x23c85d,'deletedKeys':[_0x3d7e92(0x1a6),_0x5d5324[_0x3d7e92(0x227)],_0x5d5324['BnDtX']]};}if(_0x5d5324[_0x3d7e92(0x244)](_0xa2653d,'random')){const _0xa14b37=this['_buildIssuedKey'](_0x2d6efb[_0x3d7e92(0x1f0)]);return await _0x9fc8d['del'](_0xa14b37),logger[_0x3d7e92(0x222)]({'event':_0x5d5324[_0x3d7e92(0x205)],'resource':_0x2d6efb['resource'],'mode':'random'},'ID\x20Generator\x20reset:\x20random:'+_0x2d6efb[_0x3d7e92(0x1f0)]),{'reset':!![],'resource':_0x2d6efb[_0x3d7e92(0x1f0)],'mode':'random','deletedKeys':[_0x3d7e92(0x2a2)]};}throw new IdGeneratorError(_0x5d5324['YpmpV'],'Unknown\x20mode:\x20'+_0xa2653d);}}function a0_0x15de(_0xb33517,_0x534973){_0xb33517=_0xb33517-0x193;const _0x12f32a=a0_0x12f3();let _0x15dea9=_0x12f32a[_0xb33517];if(a0_0x15de['ZZQZKe']===undefined){var _0x20d701=function(_0x25d538){const _0x4c4d65='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29acd2='',_0x61f010='';for(let _0x266167=0x0,_0x34d192,_0x5aacb0,_0x1a6b5f=0x0;_0x5aacb0=_0x25d538['charAt'](_0x1a6b5f++);~_0x5aacb0&&(_0x34d192=_0x266167%0x4?_0x34d192*0x40+_0x5aacb0:_0x5aacb0,_0x266167++%0x4)?_0x29acd2+=String['fromCharCode'](0xff&_0x34d192>>(-0x2*_0x266167&0x6)):0x0){_0x5aacb0=_0x4c4d65['indexOf'](_0x5aacb0);}for(let _0x47d27e=0x0,_0x1f95df=_0x29acd2['length'];_0x47d27e<_0x1f95df;_0x47d27e++){_0x61f010+='%'+('00'+_0x29acd2['charCodeAt'](_0x47d27e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x61f010);};a0_0x15de['IYNOtL']=_0x20d701,a0_0x15de['qhQXKK']={},a0_0x15de['ZZQZKe']=!![];}const _0x3e4a2a=_0x12f32a[0x0],_0x356fd5=_0xb33517+_0x3e4a2a,_0x3f8182=a0_0x15de['qhQXKK'][_0x356fd5];return!_0x3f8182?(_0x15dea9=a0_0x15de['IYNOtL'](_0x15dea9),a0_0x15de['qhQXKK'][_0x356fd5]=_0x15dea9):_0x15dea9=_0x3f8182,_0x15dea9;}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x570cb3(0x1d8)][a0_0x570cb3(0x23a)]=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0x3089b3=a0_0x3ce4;(function(_0x56ccef,_0x564b18){const _0xc09072=a0_0x3ce4,_0x4284e3=_0x56ccef();while(!![]){try{const _0x1cd128=-parseInt(_0xc09072(0x152))/0x1+-parseInt(_0xc09072(0x176))/0x2*(-parseInt(_0xc09072(0x16c))/0x3)+parseInt(_0xc09072(0x173))/0x4+parseInt(_0xc09072(0x174))/0x5+-parseInt(_0xc09072(0x179))/0x6*(parseInt(_0xc09072(0x16f))/0x7)+parseInt(_0xc09072(0x17c))/0x8+parseInt(_0xc09072(0x17f))/0x9*(-parseInt(_0xc09072(0x162))/0xa);if(_0x1cd128===_0x564b18)break;else _0x4284e3['push'](_0x4284e3['shift']());}catch(_0x1465a5){_0x4284e3['push'](_0x4284e3['shift']());}}}(a0_0x160b,0x18835));const redisClient=require(a0_0x3089b3(0x15a)),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x2aaca7=a0_0x3089b3;this[_0x2aaca7(0x15f)]=null,this[_0x2aaca7(0x17a)]=null,this[_0x2aaca7(0x15e)]=![];}[a0_0x3089b3(0x182)](){const _0xdc8877=a0_0x3089b3,_0x572f0f={'RiINA':function(_0xddc7d9,_0x14cc70,_0x1ceb1d){return _0xddc7d9(_0x14cc70,_0x1ceb1d);}};this[_0xdc8877(0x15f)]=process[_0xdc8877(0x178)][_0xdc8877(0x172)]===_0xdc8877(0x16d),this[_0xdc8877(0x17a)]=_0x572f0f[_0xdc8877(0x163)](parseInt,process[_0xdc8877(0x178)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0xdc8877(0x17b)]({'event':_0xdc8877(0x169),'enabled':this['_enabled'],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20TTL:\x20'+this[_0xdc8877(0x17a)]+'s');}['_ensureInitialized'](){const _0x3272b0=a0_0x3089b3;!this['_initialized']&&this[_0x3272b0(0x182)]();}get[a0_0x3089b3(0x181)](){const _0x4d38d1=a0_0x3089b3;return this['_ensureInitialized'](),this[_0x4d38d1(0x15f)];}get['ttl'](){const _0x4a1da3=a0_0x3089b3;return this[_0x4a1da3(0x170)](),this[_0x4a1da3(0x17a)];}[a0_0x3089b3(0x17d)](){return this['enabled'];}[a0_0x3089b3(0x171)](_0x4d5c8c,_0x39a071){const _0x71337f=a0_0x3089b3,_0x25fc8d={'glwXN':_0x71337f(0x158),'dJAdH':'unknown'},_0x8ce80d=_0x39a071[_0x71337f(0x156)][_0x71337f(0x177)]('/')['filter'](Boolean),_0x475bc2=_0x8ce80d[0x0]||_0x25fc8d[_0x71337f(0x167)],_0x54f1aa=_0x8ce80d[0x1]||_0x25fc8d[_0x71337f(0x180)],_0x595db6=_0x8ce80d[0x2]||_0x71337f(0x157);return'rf:idem:'+_0x475bc2+':'+_0x54f1aa+':'+_0x595db6+':'+_0x4d5c8c;}async['store'](_0xdae735,_0x25e50a){const _0x4deb90=a0_0x3089b3,_0x1146af={'nLzwH':_0x4deb90(0x16e),'FJQWM':_0x4deb90(0x15d),'RHAur':_0x4deb90(0x155)};if(!this['enabled'])return![];try{const _0x13304d=redisClient[_0x4deb90(0x15b)]();return await _0x13304d[_0x4deb90(0x175)](_0xdae735,this['ttl'],JSON['stringify'](_0x25e50a)),logger[_0x4deb90(0x16b)]({'event':_0x1146af['nLzwH'],'key':_0xdae735,'ttl':this['ttl'],'statusCode':_0x25e50a[_0x4deb90(0x161)]},_0x1146af[_0x4deb90(0x164)]),!![];}catch(_0x9fcd2f){return logger[_0x4deb90(0x168)]({'event':_0x1146af[_0x4deb90(0x17e)],'key':_0xdae735,'error':_0x9fcd2f[_0x4deb90(0x159)]},_0x4deb90(0x160)+_0x9fcd2f['message']),![];}}async[a0_0x3089b3(0x165)](_0x56b31d){const _0x1d5230=a0_0x3089b3,_0xd31c28={'bMpDd':'Idempotency\x20cache\x20HIT','sqjHv':'idempotency_miss','djASx':'Idempotency\x20cache\x20MISS'};if(!this['enabled'])return null;try{const _0x4e948c=redisClient[_0x1d5230(0x15b)](),_0x133ba1=await _0x4e948c['get'](_0x56b31d);if(_0x133ba1)return logger['info']({'event':'idempotency_hit','key':_0x56b31d},_0xd31c28[_0x1d5230(0x184)]),JSON['parse'](_0x133ba1);return logger['debug']({'event':_0xd31c28[_0x1d5230(0x166)],'key':_0x56b31d},_0xd31c28[_0x1d5230(0x15c)]),null;}catch(_0x547c7b){return logger['error']({'event':_0x1d5230(0x153),'key':_0x56b31d,'error':_0x547c7b[_0x1d5230(0x159)]},'Idempotency\x20retrieve\x20error:\x20'+_0x547c7b[_0x1d5230(0x159)]),null;}}[a0_0x3089b3(0x16a)](_0x172416='req'){const _0x585a80=a0_0x3089b3;return _0x172416+'_'+crypto[_0x585a80(0x154)]();}[a0_0x3089b3(0x183)](_0xc3fb1c,_0xfce0c8,_0x4d23b4){return _0xc3fb1c+':'+_0xfce0c8+':'+_0x4d23b4;}}module['exports']=new IdempotencyManager();function a0_0x3ce4(_0x3f0450,_0x4065bd){_0x3f0450=_0x3f0450-0x152;const _0x160be1=a0_0x160b();let _0x3ce422=_0x160be1[_0x3f0450];if(a0_0x3ce4['IzRmEl']===undefined){var _0x38e301=function(_0x56161e){const _0x7b9ad1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4279f0='',_0x1f89e1='';for(let _0x3f65a4=0x0,_0x5dd656,_0x1eaf84,_0x23c1dd=0x0;_0x1eaf84=_0x56161e['charAt'](_0x23c1dd++);~_0x1eaf84&&(_0x5dd656=_0x3f65a4%0x4?_0x5dd656*0x40+_0x1eaf84:_0x1eaf84,_0x3f65a4++%0x4)?_0x4279f0+=String['fromCharCode'](0xff&_0x5dd656>>(-0x2*_0x3f65a4&0x6)):0x0){_0x1eaf84=_0x7b9ad1['indexOf'](_0x1eaf84);}for(let _0x1851c5=0x0,_0x22bf96=_0x4279f0['length'];_0x1851c5<_0x22bf96;_0x1851c5++){_0x1f89e1+='%'+('00'+_0x4279f0['charCodeAt'](_0x1851c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f89e1);};a0_0x3ce4['Jipxal']=_0x38e301,a0_0x3ce4['XVPTQK']={},a0_0x3ce4['IzRmEl']=!![];}const _0x2843bb=_0x160be1[0x0],_0xe58fcf=_0x3f0450+_0x2843bb,_0x4df6a4=a0_0x3ce4['XVPTQK'][_0xe58fcf];return!_0x4df6a4?(_0x3ce422=a0_0x3ce4['Jipxal'](_0x3ce422),a0_0x3ce4['XVPTQK'][_0xe58fcf]=_0x3ce422):_0x3ce422=_0x4df6a4,_0x3ce422;}function a0_0x160b(){const _0x4d1f37=['Cgf0Aa','Dw5RBM93BG','zgvMyxvSDa','BwvZC2fNzq','lI9YzwrPCY1JBgLLBNq','z2v0q2XPzw50','zgPbu3G','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','x2LUAxrPywXPEMvK','x2vUywjSzwq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','C3rHDhvZq29Kzq','mtGXmffkDLfRra','uMLjtKe','rKPrv00','CMv0CMLLDMu','C3fQshy','z2X3we4','zxjYB3i','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','z2vUzxjHDgvlzxK','zgvIDwC','nZGZvKzVwgfW','Dhj1zq','AwrLBxbVDgvUy3LFC3rVCMu','mJqXoti3s0r0Eg1o','x2vUC3vYzuLUAxrPywXPEMvK','yNvPBgrlzxK','surftvbpvevoq1LFru5bqKXfra','mtu3nJq0yMzNB2XR','odGYnJm1y1LeyMjp','C2v0zxG','otqYr2DYDM5W','C3bSAxq','zw52','mtjvuevkwK8','x3r0Ba','Aw5MBW','mtuYndG0me5HuwnrvW','AxnfBMfIBgvK','uKHbDxi','mtqZmZDkDND2CvG','zePbzeG','zw5HyMXLza','x2LUAxrdB25MAwC','yNvPBgrezxrLCM1PBMLZDgLJs2v5','yK1Wrgq','nZe2mtrJvg9mzeW','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','CMfUzg9Tvvvjra','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i'];a0_0x160b=function(){return _0x4d1f37;};return a0_0x160b();}
1
+ 'use strict';const a0_0x16f659=a0_0x8f6d;(function(_0x35d6b8,_0x3bcf21){const _0x456a7f=a0_0x8f6d,_0x53fe89=_0x35d6b8();while(!![]){try{const _0x2b74f6=parseInt(_0x456a7f(0x1f1))/0x1+parseInt(_0x456a7f(0x202))/0x2*(parseInt(_0x456a7f(0x1df))/0x3)+parseInt(_0x456a7f(0x1dd))/0x4*(-parseInt(_0x456a7f(0x1e5))/0x5)+-parseInt(_0x456a7f(0x1ee))/0x6+parseInt(_0x456a7f(0x1e7))/0x7+-parseInt(_0x456a7f(0x1e3))/0x8+-parseInt(_0x456a7f(0x1fd))/0x9*(-parseInt(_0x456a7f(0x1e0))/0xa);if(_0x2b74f6===_0x3bcf21)break;else _0x53fe89['push'](_0x53fe89['shift']());}catch(_0x46458f){_0x53fe89['push'](_0x53fe89['shift']());}}}(a0_0x5cc8,0xe00d0));const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){const _0xb6f144=a0_0x8f6d;this[_0xb6f144(0x1fb)]=null,this[_0xb6f144(0x1ea)]=null,this[_0xb6f144(0x1fe)]=![];}['_initConfig'](){const _0x5d9cb4=a0_0x8f6d,_0x4e4232={'zGAKm':function(_0x5bbc8b,_0x3132b2){return _0x5bbc8b===_0x3132b2;}};this[_0x5d9cb4(0x1fb)]=_0x4e4232[_0x5d9cb4(0x1f3)](process['env'][_0x5d9cb4(0x1de)],'true'),this[_0x5d9cb4(0x1ea)]=parseInt(process[_0x5d9cb4(0x1eb)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x5d9cb4(0x1f2),'enabled':this['_enabled'],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}[a0_0x16f659(0x1f7)](){const _0x465d7d=a0_0x16f659;!this[_0x465d7d(0x1fe)]&&this['_initConfig']();}get['enabled'](){const _0x18f99e=a0_0x16f659;return this[_0x18f99e(0x1f7)](),this['_enabled'];}get['ttl'](){const _0x2640ee=a0_0x16f659;return this[_0x2640ee(0x1f7)](),this[_0x2640ee(0x1ea)];}['isEnabled'](){return this['enabled'];}[a0_0x16f659(0x201)](_0xb0ee7e,_0x2420bf){const _0x43009a=a0_0x16f659,_0x15761f=_0x2420bf[_0x43009a(0x1e1)][_0x43009a(0x1e9)]('/')['filter'](Boolean),_0x2b01da=_0x15761f[0x0]||'default',_0x5c96e6=_0x15761f[0x1]||_0x43009a(0x200),_0x3b2998=_0x15761f[0x2]||'unknown';return _0x43009a(0x1ec)+_0x2b01da+':'+_0x5c96e6+':'+_0x3b2998+':'+_0xb0ee7e;}async[a0_0x16f659(0x1e2)](_0x4b1355,_0x2f9633){const _0x419a8e=a0_0x16f659,_0x54dd44={'yZIrx':_0x419a8e(0x1f8)};if(!this['enabled'])return![];try{const _0x4d0e0d=redisClient[_0x419a8e(0x1ed)]();return await _0x4d0e0d['setex'](_0x4b1355,this['ttl'],JSON['stringify'](_0x2f9633)),logger[_0x419a8e(0x1e8)]({'event':_0x419a8e(0x1f6),'key':_0x4b1355,'ttl':this['ttl'],'statusCode':_0x2f9633['statusCode']},_0x419a8e(0x1ff)),!![];}catch(_0x449b94){return logger[_0x419a8e(0x1ef)]({'event':_0x54dd44['yZIrx'],'key':_0x4b1355,'error':_0x449b94['message']},'Idempotency\x20store\x20error:\x20'+_0x449b94[_0x419a8e(0x1f0)]),![];}}async[a0_0x16f659(0x1fa)](_0x4f7a43){const _0x4b4068=a0_0x16f659;if(!this['enabled'])return null;try{const _0x349929=redisClient['getClient'](),_0x4f20a0=await _0x349929[_0x4b4068(0x1f5)](_0x4f7a43);if(_0x4f20a0)return logger['info']({'event':_0x4b4068(0x1e6),'key':_0x4f7a43},'Idempotency\x20cache\x20HIT'),JSON[_0x4b4068(0x1f9)](_0x4f20a0);return logger[_0x4b4068(0x1e8)]({'event':'idempotency_miss','key':_0x4f7a43},_0x4b4068(0x1fc)),null;}catch(_0x5619a5){return logger['error']({'event':_0x4b4068(0x1e4),'key':_0x4f7a43,'error':_0x5619a5[_0x4b4068(0x1f0)]},_0x4b4068(0x1f4)+_0x5619a5['message']),null;}}['generateKey'](_0x336f63='req'){return _0x336f63+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0x258181,_0x402cc6,_0x23cd42){return _0x258181+':'+_0x402cc6+':'+_0x23cd42;}}function a0_0x5cc8(){const _0x375aa9=['C3rVCMu','ntiWotm4ngrgvhnUBW','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','mtbJuuLXq0e','AwrLBxbVDgvUy3LFAgL0','mtGXodC3nujQz3rguG','zgvIDwC','C3bSAxq','x3r0Ba','zw52','CMy6AwrLBtO','z2v0q2XPzw50','nZe5nJuYme16EKDRzW','zxjYB3i','BwvZC2fNzq','mty5ntu4n1DjEKHrAW','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','EKDbs20','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i6ia','z2v0','AwrLBxbVDgvUy3LFC3rVCMu','x2vUC3vYzuLUAxrPywXPEMvK','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','CgfYC2u','CMv0CMLLDMu','x2vUywjSzwq','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','mZC3mtbdBMvewfi','x2LUAxrPywXPEMvK','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','Dw5RBM93BG','yNvPBgrlzxK','mLbhufnYDW','mtK3otGZnKf6wgjsEG','surftvbpvevoq1LFru5bqKXfra','nde3nJu3m0vRAeHbEq','otGWrenVuNjd','Cgf0Aa'];a0_0x5cc8=function(){return _0x375aa9;};return a0_0x5cc8();}function a0_0x8f6d(_0x137e2a,_0x5f510d){_0x137e2a=_0x137e2a-0x1dd;const _0x5cc883=a0_0x5cc8();let _0x8f6d3c=_0x5cc883[_0x137e2a];if(a0_0x8f6d['CozTjS']===undefined){var _0x538613=function(_0x48aed7){const _0x939c7d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6e743e='',_0x409ed1='';for(let _0xb24597=0x0,_0x404fd4,_0x1a4528,_0x4775f5=0x0;_0x1a4528=_0x48aed7['charAt'](_0x4775f5++);~_0x1a4528&&(_0x404fd4=_0xb24597%0x4?_0x404fd4*0x40+_0x1a4528:_0x1a4528,_0xb24597++%0x4)?_0x6e743e+=String['fromCharCode'](0xff&_0x404fd4>>(-0x2*_0xb24597&0x6)):0x0){_0x1a4528=_0x939c7d['indexOf'](_0x1a4528);}for(let _0x5732ee=0x0,_0x1c6af6=_0x6e743e['length'];_0x5732ee<_0x1c6af6;_0x5732ee++){_0x409ed1+='%'+('00'+_0x6e743e['charCodeAt'](_0x5732ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x409ed1);};a0_0x8f6d['PXbjuX']=_0x538613,a0_0x8f6d['qjzMQc']={},a0_0x8f6d['CozTjS']=!![];}const _0x36a052=_0x5cc883[0x0],_0x1f34b6=_0x137e2a+_0x36a052,_0x468eb7=a0_0x8f6d['qjzMQc'][_0x1f34b6];return!_0x468eb7?(_0x8f6d3c=a0_0x8f6d['PXbjuX'](_0x8f6d3c),a0_0x8f6d['qjzMQc'][_0x1f34b6]=_0x8f6d3c):_0x8f6d3c=_0x468eb7,_0x8f6d3c;}module['exports']=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x24e522=a0_0x148e;(function(_0x5707b1,_0x2b26a5){const _0x1f5eae=a0_0x148e,_0x54ec1c=_0x5707b1();while(!![]){try{const _0x25d476=parseInt(_0x1f5eae(0x1a7))/0x1*(-parseInt(_0x1f5eae(0x1b7))/0x2)+parseInt(_0x1f5eae(0x1ae))/0x3+-parseInt(_0x1f5eae(0x1a3))/0x4*(parseInt(_0x1f5eae(0x1ad))/0x5)+-parseInt(_0x1f5eae(0x1a5))/0x6+parseInt(_0x1f5eae(0x1b4))/0x7*(-parseInt(_0x1f5eae(0x1b3))/0x8)+parseInt(_0x1f5eae(0x1bb))/0x9*(parseInt(_0x1f5eae(0x199))/0xa)+parseInt(_0x1f5eae(0x19f))/0xb;if(_0x25d476===_0x2b26a5)break;else _0x54ec1c['push'](_0x54ec1c['shift']());}catch(_0x111560){_0x54ec1c['push'](_0x54ec1c['shift']());}}}(a0_0x5cb4,0xea045));const {logger}=require(a0_0x24e522(0x1a2));class ImportValidator{['validateRow'](_0x374067,_0xe59b8b=[],_0x3d6149={}){const _0x5abcdc=a0_0x24e522,_0x3c5620={'rqYry':function(_0x3bebf9,_0xe21faf){return _0x3bebf9===_0xe21faf;},'BQqlU':function(_0x2f13b7,_0x4a6417){return _0x2f13b7===_0x4a6417;},'fbgyn':'required'},_0x322cc1=[];return _0xe59b8b[_0x5abcdc(0x1ac)](_0x25f307=>{const _0x38be79=_0x5abcdc,_0x467247=_0x374067[_0x25f307];(_0x3c5620['rqYry'](_0x467247,null)||_0x3c5620['rqYry'](_0x467247,undefined)||_0x3c5620['BQqlU'](_0x467247,''))&&_0x322cc1[_0x38be79(0x19e)]({'field':_0x25f307,'type':_0x3c5620['fbgyn'],'message':_0x38be79(0x1a6)});}),Object[_0x5abcdc(0x1bf)](_0x3d6149)['forEach'](_0x23f613=>{const _0x479165=_0x5abcdc,_0x2be98b=_0x374067[_0x23f613],_0x260c72=_0x3d6149[_0x23f613];if(_0x2be98b===null||_0x3c5620[_0x479165(0x1b9)](_0x2be98b,undefined)||_0x3c5620[_0x479165(0x1b0)](_0x2be98b,''))return;const _0x3d5604=this[_0x479165(0x1a4)](_0x23f613,_0x2be98b,_0x260c72);_0x3d5604&&_0x322cc1['push'](_0x3d5604);}),_0x322cc1;}[a0_0x24e522(0x1a4)](_0x238592,_0x32b766,_0x2c2dde){const _0x309aac=a0_0x24e522,_0x241e99={'keJrC':_0x309aac(0x1a0),'NgtHw':'phone'};switch(_0x2c2dde){case _0x241e99[_0x309aac(0x1ab)]:return this[_0x309aac(0x1af)](_0x238592,_0x32b766);case _0x241e99['NgtHw']:return this['validatePhone'](_0x238592,_0x32b766);case _0x309aac(0x1ba):return this[_0x309aac(0x1bc)](_0x238592,_0x32b766);case'number':return this[_0x309aac(0x1b6)](_0x238592,_0x32b766);default:return null;}}['validateEmail'](_0x494309,_0xd1fc37){const _0x2a3a94=a0_0x24e522,_0x3e87f4={'wuYZy':function(_0x3c28f8,_0x9c118d){return _0x3c28f8(_0x9c118d);},'RYWdQ':'format','DiLjZ':'Invalid\x20email\x20format'},_0x3cdbdf=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x3cdbdf['test'](_0x3e87f4[_0x2a3a94(0x1b8)](String,_0xd1fc37)))return{'field':_0x494309,'type':_0x3e87f4['RYWdQ'],'message':_0x3e87f4[_0x2a3a94(0x1a1)]};return null;}[a0_0x24e522(0x19b)](_0x161d01,_0x426233){const _0x367902=a0_0x24e522,_0x32628f={'acgla':_0x367902(0x1a8)},_0x511093=String(_0x426233)[_0x367902(0x1b1)](/\s+/g,''),_0x242d2e=/^[\d\+\-\(\)]+$/;if(!_0x242d2e[_0x367902(0x1a9)](_0x511093)||_0x511093['length']<0x8)return{'field':_0x161d01,'type':_0x32628f['acgla'],'message':'Invalid\x20phone\x20format'};return null;}[a0_0x24e522(0x1bc)](_0x222a9c,_0x4848dc){const _0x39b7cd=a0_0x24e522,_0x175478={'RHOYe':_0x39b7cd(0x19c)};try{return new URL(String(_0x4848dc)),null;}catch(_0x349471){return{'field':_0x222a9c,'type':_0x39b7cd(0x1a8),'message':_0x175478['RHOYe']};}}[a0_0x24e522(0x1b6)](_0x44995e,_0x2daade){const _0x11a16d=a0_0x24e522;if(isNaN(_0x2daade))return{'field':_0x44995e,'type':'format','message':_0x11a16d(0x19a)};return null;}[a0_0x24e522(0x1bd)](_0x1ac09f,_0x1b5920){const _0x33e697=a0_0x24e522,_0x4b42dd=new Map(),_0x1ab0ce=[];return _0x1ac09f[_0x33e697(0x1ac)]((_0x528c06,_0x5dc987)=>{const _0x2bb61d=_0x33e697,_0x2e3ec4=_0x1b5920['map'](_0x8c3e39=>_0x528c06[_0x8c3e39])[_0x2bb61d(0x1c0)]('|');_0x4b42dd[_0x2bb61d(0x1b2)](_0x2e3ec4)?_0x1ab0ce['push']({'rowIndex':_0x5dc987,'duplicateOf':_0x4b42dd['get'](_0x2e3ec4),'key':_0x2e3ec4}):_0x4b42dd['set'](_0x2e3ec4,_0x5dc987);}),_0x1ab0ce;}[a0_0x24e522(0x1aa)](_0x59be2c,_0x2da575,_0x22b404){const _0x85c256=a0_0x24e522,_0x3a665a={'ZgeAA':function(_0x2bdad1,_0x24c037){return _0x2bdad1>_0x24c037;}},_0x138e4e=[];return _0x59be2c['forEach']((_0x521f3f,_0x56e324)=>{const _0x49fcf7=a0_0x148e,_0x52c801=this['validateRow'](_0x521f3f,_0x2da575,_0x22b404);_0x3a665a[_0x49fcf7(0x1b5)](_0x52c801['length'],0x0)&&_0x138e4e[_0x49fcf7(0x19e)]({'rowIndex':_0x56e324,'rowData':_0x521f3f,'errors':_0x52c801});}),logger['info']({'event':_0x85c256(0x19d),'totalRows':_0x59be2c['length'],'errorCount':_0x138e4e['length']},_0x85c256(0x1be)),_0x138e4e;}}function a0_0x5cb4(){const _0x6562cf=['zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','A2v5CW','AM9PBG','mJaWr0HNDMDO','sw52ywXPzcbUDw1IzxiGzM9YBwf0','DMfSAwrHDgvqAg9Uzq','sw52ywXPzcbvuKWGzM9YBwf0','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','ChvZAa','ndu3nJe2ntbIvuLWwxe','zw1HAwW','rgLmALO','lI9SB2DNzxi','nti3mtKYrLnZzfHv','DMfSAwrHDgvgAwvSzezVCM1HDa','mZCXndK1nfDsvxvuzG','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','mta0ow5UtgvstW','zM9YBwf0','DgvZDa','yMf0y2HwywXPzgf0zvjVD3m','A2vkCKm','zM9YrwfJAa','nZb0tvLOvei','mtiZmJy3m2vnufnpBG','DMfSAwrHDgvfBwfPBa','qLfXBfu','CMvWBgfJzq','AgfZ','mZqXmtm2BKjHC013','mJaZtw1xA1vL','wMDLque','DMfSAwrHDgvoDw1Izxi','mJu4mMfZC3HTEa','D3vzwNK','CNfzCNK','DxjS','nJq5mJe1zvbQsxfh','DMfSAwrHDgvvCMW'];a0_0x5cb4=function(){return _0x6562cf;};return a0_0x5cb4();}function a0_0x148e(_0x368a7b,_0x104475){_0x368a7b=_0x368a7b-0x199;const _0x5cb47c=a0_0x5cb4();let _0x148e96=_0x5cb47c[_0x368a7b];if(a0_0x148e['LVRJOQ']===undefined){var _0x332aba=function(_0x42e8d6){const _0x284474='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28088f='',_0x13bba5='';for(let _0x49f17f=0x0,_0x476d3c,_0xef914d,_0x2ebf2a=0x0;_0xef914d=_0x42e8d6['charAt'](_0x2ebf2a++);~_0xef914d&&(_0x476d3c=_0x49f17f%0x4?_0x476d3c*0x40+_0xef914d:_0xef914d,_0x49f17f++%0x4)?_0x28088f+=String['fromCharCode'](0xff&_0x476d3c>>(-0x2*_0x49f17f&0x6)):0x0){_0xef914d=_0x284474['indexOf'](_0xef914d);}for(let _0x209d56=0x0,_0x14580f=_0x28088f['length'];_0x209d56<_0x14580f;_0x209d56++){_0x13bba5+='%'+('00'+_0x28088f['charCodeAt'](_0x209d56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13bba5);};a0_0x148e['kLoAkh']=_0x332aba,a0_0x148e['IIvooi']={},a0_0x148e['LVRJOQ']=!![];}const _0x4276a4=_0x5cb47c[0x0],_0x202e8c=_0x368a7b+_0x4276a4,_0x1d64cd=a0_0x148e['IIvooi'][_0x202e8c];return!_0x1d64cd?(_0x148e96=a0_0x148e['kLoAkh'](_0x148e96),a0_0x148e['IIvooi'][_0x202e8c]=_0x148e96):_0x148e96=_0x1d64cd,_0x148e96;}module['exports']=new ImportValidator();
1
+ const a0_0x1dce30=a0_0x5737;function a0_0x449d(){const _0xc5ef96=['BNvTyMvY','sw52ywXPzcbUDw1IzxiGzM9YBwf0','nKz5BMDezG','mtK5nZq2wMz5A2rm','ovvPzxzZsq','ChvZAa','mtC5mtK0mfDUEgfTra','DMfSAwrHDgvoDw1Izxi','mti0mJuYvvzJEgrW','DMfSAwrHDgvqAg9Uzq','mJeWmJrfvKrewvq','zw1HAwW','CeLks3G','BgvUz3rO','zM9YBwf0','DMfSAwrHDgvfBwfPBa','BhrADeW','Aw5MBW','AM9PBG','ody5Dfj2CM94','n2LztxDXEa','DMfSAwrHDgvvCMW','sw52ywXPzcbvuKWGzM9YBwf0','mtCYmtGYuKHrs0PX','nuPoCNzrqq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','DgvZDa','zxHWB3j0CW','DxjS','sw52ywXPzcbWAg9UzsbMB3jTyxq','mte4odK1DfzRz25Y','A2v5CW','DMfSAwrHDgvsB3C','mtq2mdi0mezlzw1Lwq','DMfSAwrHDgvgAwvSzezVCM1HDa','D3biDwu','BwfW'];a0_0x449d=function(){return _0xc5ef96;};return a0_0x449d();}(function(_0x4162df,_0x40d088){const _0x560750=a0_0x5737,_0x1444ec=_0x4162df();while(!![]){try{const _0x5d699c=-parseInt(_0x560750(0x1cf))/0x1+-parseInt(_0x560750(0x1d9))/0x2*(parseInt(_0x560750(0x1d8))/0x3)+-parseInt(_0x560750(0x1b9))/0x4*(parseInt(_0x560750(0x1c9))/0x5)+-parseInt(_0x560750(0x1c8))/0x6+parseInt(_0x560750(0x1c5))/0x7*(parseInt(_0x560750(0x1d2))/0x8)+-parseInt(_0x560750(0x1b5))/0x9*(-parseInt(_0x560750(0x1b7))/0xa)+-parseInt(_0x560750(0x1c4))/0xb*(-parseInt(_0x560750(0x1bb))/0xc);if(_0x5d699c===_0x40d088)break;else _0x1444ec['push'](_0x1444ec['shift']());}catch(_0x3cc905){_0x1444ec['push'](_0x1444ec['shift']());}}}(a0_0x449d,0x1db83));const {logger}=require('./logger');class ImportValidator{[a0_0x1dce30(0x1d1)](_0xb5d7e9,_0x4515a1=[],_0x3e7485={}){const _0x3c8b4d=a0_0x1dce30,_0x1e4f6c={'RdWzz':function(_0x5df4e1,_0x185609){return _0x5df4e1===_0x185609;},'wpHue':function(_0x3e38c3,_0x42402d){return _0x3e38c3===_0x42402d;},'pIJKx':function(_0x318801,_0x44759f){return _0x318801===_0x44759f;}},_0x389739=[];return _0x4515a1['forEach'](_0x4061f2=>{const _0x4d85f9=a0_0x5737,_0x18f520=_0xb5d7e9[_0x4061f2];(_0x18f520===null||_0x18f520===undefined||_0x1e4f6c['RdWzz'](_0x18f520,''))&&_0x389739[_0x4d85f9(0x1b6)]({'field':_0x4061f2,'type':'required','message':'Required\x20field\x20is\x20empty'});}),Object[_0x3c8b4d(0x1d0)](_0x3e7485)['forEach'](_0x32c3f0=>{const _0x3c4075=_0x3c8b4d,_0x199aa0=_0xb5d7e9[_0x32c3f0],_0x2c059e=_0x3e7485[_0x32c3f0];if(_0x1e4f6c[_0x3c4075(0x1d4)](_0x199aa0,null)||_0x1e4f6c[_0x3c4075(0x1bd)](_0x199aa0,undefined)||_0x199aa0==='')return;const _0x5867d8=this[_0x3c4075(0x1d3)](_0x32c3f0,_0x199aa0,_0x2c059e);_0x5867d8&&_0x389739[_0x3c4075(0x1b6)](_0x5867d8);}),_0x389739;}[a0_0x1dce30(0x1d3)](_0xa8834c,_0x12e373,_0x1ebce2){const _0x559b17=a0_0x1dce30,_0x5e3f37={'NKMKk':_0x559b17(0x1bc),'AnIDD':'phone','JSMPj':_0x559b17(0x1d6)};switch(_0x1ebce2){case _0x5e3f37['NKMKk']:return this[_0x559b17(0x1c0)](_0xa8834c,_0x12e373);case _0x5e3f37['AnIDD']:return this['validatePhone'](_0xa8834c,_0x12e373);case _0x559b17(0x1cd):return this[_0x559b17(0x1c6)](_0xa8834c,_0x12e373);case _0x5e3f37['JSMPj']:return this[_0x559b17(0x1b8)](_0xa8834c,_0x12e373);default:return null;}}['validateEmail'](_0xe867e6,_0x3b2063){const _0x510e6a=a0_0x1dce30,_0x14d7e9=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x14d7e9[_0x510e6a(0x1cb)](String(_0x3b2063)))return{'field':_0xe867e6,'type':'format','message':'Invalid\x20email\x20format'};return null;}[a0_0x1dce30(0x1ba)](_0x2665e0,_0x47e764){const _0x590d41=a0_0x1dce30,_0x52be32={'ugwQh':function(_0x1eed84,_0x1c30a9){return _0x1eed84<_0x1c30a9;},'ltZtL':_0x590d41(0x1bf)},_0x196f05=String(_0x47e764)['replace'](/\s+/g,''),_0x3a2326=/^[\d\+\-\(\)]+$/;if(!_0x3a2326['test'](_0x196f05)||_0x52be32['ugwQh'](_0x196f05['length'],0x8))return{'field':_0x2665e0,'type':_0x52be32[_0x590d41(0x1c1)],'message':_0x590d41(0x1ce)};return null;}[a0_0x1dce30(0x1c6)](_0x53b678,_0x4c5240){const _0x239578=a0_0x1dce30,_0x5c2f23={'mwRkM':function(_0x2220c6,_0x44cbfa){return _0x2220c6(_0x44cbfa);},'pYdvQ':'format','NlaUy':_0x239578(0x1c7)};try{return new URL(_0x5c2f23['mwRkM'](String,_0x4c5240)),null;}catch(_0x1b2558){return{'field':_0x53b678,'type':_0x5c2f23['pYdvQ'],'message':_0x5c2f23['NlaUy']};}}[a0_0x1dce30(0x1b8)](_0x336bc5,_0x21e424){const _0x2d15f3=a0_0x1dce30,_0x3d78a8={'OkaHS':function(_0x3834dd,_0x3d12b1){return _0x3834dd(_0x3d12b1);},'kytjM':_0x2d15f3(0x1d7)};if(_0x3d78a8['OkaHS'](isNaN,_0x21e424))return{'field':_0x336bc5,'type':_0x2d15f3(0x1bf),'message':_0x3d78a8['kytjM']};return null;}['detectDuplicatesInFile'](_0x2ba465,_0x3aae4c){const _0x3647ce=new Map(),_0x25d81e=[];return _0x2ba465['forEach']((_0x249c84,_0x2aeaab)=>{const _0x4d7461=a0_0x5737,_0x116435=_0x3aae4c[_0x4d7461(0x1d5)](_0x26546e=>_0x249c84[_0x26546e])[_0x4d7461(0x1c3)]('|');_0x3647ce['has'](_0x116435)?_0x25d81e['push']({'rowIndex':_0x2aeaab,'duplicateOf':_0x3647ce['get'](_0x116435),'key':_0x116435}):_0x3647ce['set'](_0x116435,_0x2aeaab);}),_0x25d81e;}['batchValidateRows'](_0x288834,_0x104028,_0x29910a){const _0x24b7f2=a0_0x1dce30,_0x43a196={'VqRVz':function(_0x567077,_0x5684fd){return _0x567077>_0x5684fd;},'JFCJc':_0x24b7f2(0x1ca)},_0x1ae1c0=[];return _0x288834['forEach']((_0x2e1354,_0x3831e3)=>{const _0x3c1c4e=_0x24b7f2,_0x1b767d=this[_0x3c1c4e(0x1d1)](_0x2e1354,_0x104028,_0x29910a);_0x43a196['VqRVz'](_0x1b767d[_0x3c1c4e(0x1be)],0x0)&&_0x1ae1c0['push']({'rowIndex':_0x3831e3,'rowData':_0x2e1354,'errors':_0x1b767d});}),logger[_0x24b7f2(0x1c2)]({'event':'batch_validation_complete','totalRows':_0x288834[_0x24b7f2(0x1be)],'errorCount':_0x1ae1c0[_0x24b7f2(0x1be)]},_0x43a196['JFCJc']),_0x1ae1c0;}}function a0_0x5737(_0x2003a1,_0x1a8a5e){_0x2003a1=_0x2003a1-0x1b5;const _0x449d35=a0_0x449d();let _0x573799=_0x449d35[_0x2003a1];if(a0_0x5737['NaJZyF']===undefined){var _0x355ba5=function(_0x2168af){const _0x372f09='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x270869='',_0x424c13='';for(let _0x33b163=0x0,_0x264fd6,_0x133e5b,_0x5418da=0x0;_0x133e5b=_0x2168af['charAt'](_0x5418da++);~_0x133e5b&&(_0x264fd6=_0x33b163%0x4?_0x264fd6*0x40+_0x133e5b:_0x133e5b,_0x33b163++%0x4)?_0x270869+=String['fromCharCode'](0xff&_0x264fd6>>(-0x2*_0x33b163&0x6)):0x0){_0x133e5b=_0x372f09['indexOf'](_0x133e5b);}for(let _0x3d6de4=0x0,_0x20c69b=_0x270869['length'];_0x3d6de4<_0x20c69b;_0x3d6de4++){_0x424c13+='%'+('00'+_0x270869['charCodeAt'](_0x3d6de4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x424c13);};a0_0x5737['scSXhv']=_0x355ba5,a0_0x5737['ofIgWz']={},a0_0x5737['NaJZyF']=!![];}const _0x12a58c=_0x449d35[0x0],_0x541c5d=_0x2003a1+_0x12a58c,_0x31b28c=a0_0x5737['ofIgWz'][_0x541c5d];return!_0x31b28c?(_0x573799=a0_0x5737['scSXhv'](_0x573799),a0_0x5737['ofIgWz'][_0x541c5d]=_0x573799):_0x573799=_0x31b28c,_0x573799;}module[a0_0x1dce30(0x1cc)]=new ImportValidator();