@evomap/evolver 1.89.11 → 1.89.12

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 (100) 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 +1367 -0
  9. package/README.md +90 -537
  10. package/README.public.md +578 -0
  11. package/SECURITY.md +108 -0
  12. package/assets/gep/events.jsonl +3 -0
  13. package/examples/atp-consumer-quickstart.md +100 -0
  14. package/examples/hello-world.md +38 -0
  15. package/package.json +6 -18
  16. package/proxy-package.json +39 -0
  17. package/public.manifest.json +145 -0
  18. package/src/evolve/guards.js +721 -1
  19. package/src/evolve/pipeline/collect.js +1283 -1
  20. package/src/evolve/pipeline/dispatch.js +421 -1
  21. package/src/evolve/pipeline/enrich.js +440 -1
  22. package/src/evolve/pipeline/hub.js +319 -1
  23. package/src/evolve/pipeline/select.js +274 -1
  24. package/src/evolve/pipeline/signals.js +206 -1
  25. package/src/evolve/utils.js +264 -1
  26. package/src/evolve.js +350 -1
  27. package/src/gep/a2aProtocol.js +4463 -1
  28. package/src/gep/antiAbuseTelemetry.js +233 -1
  29. package/src/gep/autoDistillConv.js +205 -1
  30. package/src/gep/autoDistillLlm.js +315 -1
  31. package/src/gep/candidateEval.js +92 -1
  32. package/src/gep/candidates.js +198 -1
  33. package/src/gep/contentHash.js +30 -1
  34. package/src/gep/conversationDistiller.js +270 -0
  35. package/src/gep/conversationSniffer.js +266 -1
  36. package/src/gep/crypto.js +89 -1
  37. package/src/gep/curriculum.js +163 -1
  38. package/src/gep/deviceId.js +218 -1
  39. package/src/gep/envFingerprint.js +118 -1
  40. package/src/gep/epigenetics.js +31 -1
  41. package/src/gep/execBridge.js +712 -1
  42. package/src/gep/explore.js +289 -1
  43. package/src/gep/hash.js +15 -1
  44. package/src/gep/hubFetch.js +608 -1
  45. package/src/gep/hubReview.js +207 -1
  46. package/src/gep/hubSearch.js +526 -1
  47. package/src/gep/hubVerify.js +306 -1
  48. package/src/gep/learningSignals.js +89 -1
  49. package/src/gep/memoryGraph.js +1449 -1
  50. package/src/gep/memoryGraphAdapter.js +203 -1
  51. package/src/gep/mutation.js +203 -1
  52. package/src/gep/narrativeMemory.js +108 -1
  53. package/src/gep/openPRRegistry.js +205 -1
  54. package/src/gep/personality.js +423 -1
  55. package/src/gep/policyCheck.js +599 -1
  56. package/src/gep/prompt.js +836 -1
  57. package/src/gep/questionGenerator.js +103 -0
  58. package/src/gep/recallInject.js +409 -1
  59. package/src/gep/recallVerifier.js +318 -1
  60. package/src/gep/reflection.js +177 -1
  61. package/src/gep/savingsCore.js +112 -1
  62. package/src/gep/selector.js +602 -1
  63. package/src/gep/skillDistiller.js +1294 -1
  64. package/src/gep/solidify.js +1699 -1
  65. package/src/gep/strategy.js +136 -1
  66. package/src/gep/tokenSavings.js +95 -1
  67. package/src/gep/workspaceKeychain.js +174 -1
  68. package/src/proxy/extensions/traceControl.js +109 -1
  69. package/src/proxy/inject.js +52 -1
  70. package/src/proxy/lifecycle/manager.js +108 -7
  71. package/src/proxy/server/routes.js +31 -0
  72. package/src/proxy/server/settings.js +6 -2
  73. package/src/proxy/sync/engine.js +31 -15
  74. package/src/proxy/sync/inbound.js +87 -9
  75. package/src/proxy/sync/outbound.js +57 -4
  76. package/src/proxy/trace/extractor.js +1403 -1
  77. package/src/proxy/trace/usage.js +105 -1
  78. package/CONTRIBUTING.md +0 -19
  79. package/assets/cover.png +0 -0
  80. package/scripts/a2a_export.js +0 -63
  81. package/scripts/a2a_ingest.js +0 -79
  82. package/scripts/a2a_promote.js +0 -118
  83. package/scripts/analyze_by_skill.js +0 -121
  84. package/scripts/build_binaries.js +0 -479
  85. package/scripts/check-changelog.js +0 -166
  86. package/scripts/extract_log.js +0 -85
  87. package/scripts/generate_history.js +0 -75
  88. package/scripts/gep_append_event.js +0 -96
  89. package/scripts/gep_personality_report.js +0 -234
  90. package/scripts/human_report.js +0 -147
  91. package/scripts/recall-verify-report.js +0 -234
  92. package/scripts/recover_loop.js +0 -61
  93. package/scripts/refresh_stars_badge.js +0 -168
  94. package/scripts/seed-merchants.js +0 -91
  95. package/scripts/suggest_version.js +0 -89
  96. package/scripts/validate-modules.js +0 -38
  97. package/scripts/validate-suite.js +0 -78
  98. package/skills/index.json +0 -14
  99. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  100. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,409 @@
1
- const _0x4d4c78=_0x55e5;function _0x4cc5(){const _0x51866b=['\x74\x6d\x6b\x78\x57\x36\x4a\x63\x51\x6d\x6b\x4e','\x62\x6d\x6f\x47\x57\x36\x56\x64\x4f\x43\x6f\x46','\x57\x51\x4e\x64\x4b\x31\x57\x4a\x57\x50\x65\x32\x57\x50\x57','\x57\x35\x72\x6f\x78\x43\x6f\x71\x78\x59\x4a\x63\x51\x4a\x6d','\x74\x76\x4a\x63\x56\x58\x4a\x63\x49\x68\x4e\x63\x4f\x59\x65','\x6e\x43\x6f\x4d\x57\x50\x76\x55\x62\x43\x6b\x4b\x64\x74\x47','\x65\x53\x6f\x62\x77\x74\x62\x71\x57\x37\x48\x75\x57\x35\x61','\x57\x51\x52\x64\x51\x53\x6b\x74\x68\x57','\x57\x52\x31\x35\x57\x37\x37\x64\x4f\x47','\x57\x4f\x31\x78\x7a\x43\x6b\x71\x69\x53\x6b\x6f\x57\x4f\x34\x56','\x68\x77\x76\x49\x43\x53\x6b\x52','\x43\x71\x69\x48\x57\x4f\x64\x64\x54\x61','\x70\x43\x6f\x36\x57\x4f\x48\x51\x68\x43\x6b\x4b\x63\x64\x6d','\x75\x38\x6b\x65\x66\x59\x6c\x63\x55\x49\x53','\x57\x51\x37\x64\x4a\x43\x6b\x56\x57\x36\x43','\x57\x52\x31\x6f\x57\x50\x54\x53\x57\x51\x4b\x50\x77\x71','\x64\x43\x6f\x45\x57\x52\x33\x64\x55\x6d\x6f\x4e\x78\x38\x6b\x67\x57\x37\x4e\x63\x54\x74\x4b\x53\x57\x34\x37\x63\x4e\x61','\x57\x4f\x31\x72\x77\x38\x6b\x62\x70\x38\x6b\x73\x57\x50\x71\x66','\x72\x53\x6b\x7a\x63\x74\x46\x63\x51\x5a\x5a\x63\x4a\x49\x57','\x73\x71\x4b\x34\x57\x50\x4a\x64\x54\x43\x6b\x62\x57\x37\x37\x63\x56\x61','\x57\x52\x42\x64\x4f\x4b\x56\x64\x54\x53\x6b\x30\x74\x33\x6c\x64\x47\x47','\x6f\x53\x6f\x41\x79\x74\x50\x70','\x57\x37\x37\x64\x4c\x30\x42\x63\x52\x76\x47','\x78\x43\x6b\x6d\x63\x61','\x57\x35\x74\x64\x50\x30\x74\x64\x48\x4e\x43','\x57\x4f\x6e\x78\x57\x50\x58\x70\x57\x52\x6e\x4b\x57\x35\x70\x64\x53\x47','\x57\x36\x42\x63\x49\x43\x6f\x54\x57\x52\x4e\x64\x51\x67\x33\x63\x53\x6d\x6f\x68\x65\x53\x6b\x46\x57\x52\x62\x52','\x57\x50\x31\x44\x76\x43\x6b\x6e\x6e\x6d\x6b\x63\x57\x4f\x71','\x73\x4c\x33\x63\x54\x57','\x6d\x53\x6b\x79\x57\x37\x64\x64\x4d\x53\x6f\x38','\x41\x6d\x6b\x6a\x6c\x64\x42\x63\x54\x61\x75','\x57\x34\x5a\x64\x48\x32\x68\x63\x52\x76\x74\x63\x4d\x53\x6b\x64\x41\x71','\x6d\x6d\x6f\x36\x57\x50\x65','\x69\x74\x6a\x71\x57\x51\x76\x75','\x76\x53\x6b\x56\x6a\x72\x52\x63\x4f\x57','\x62\x57\x50\x62\x57\x50\x62\x41\x57\x37\x78\x63\x48\x76\x4b','\x6d\x6d\x6f\x49\x43\x49\x39\x4c','\x57\x50\x39\x79\x57\x52\x35\x66\x57\x50\x57','\x44\x71\x6d\x59\x57\x50\x37\x64\x4f\x53\x6b\x6d\x57\x37\x5a\x63\x56\x61','\x41\x66\x47\x75\x79\x73\x76\x6f\x76\x78\x53','\x45\x38\x6f\x62\x57\x51\x53\x47\x57\x37\x2f\x63\x48\x38\x6b\x74\x57\x4f\x53','\x57\x36\x75\x72\x6f\x57','\x77\x72\x47\x77\x64\x38\x6b\x4d','\x63\x53\x6f\x50\x57\x34\x74\x64\x50\x6d\x6f\x54','\x57\x34\x61\x79\x73\x38\x6b\x4e\x57\x36\x38','\x77\x72\x6d\x6b\x6f\x6d\x6b\x50\x57\x50\x69','\x57\x51\x2f\x64\x52\x67\x5a\x64\x4f\x43\x6b\x55','\x46\x58\x38\x62\x57\x50\x37\x64\x54\x43\x6b\x62\x57\x36\x71','\x57\x35\x5a\x64\x47\x68\x74\x64\x56\x68\x57','\x57\x50\x38\x37\x57\x52\x56\x63\x53\x43\x6b\x49','\x57\x34\x37\x64\x54\x58\x64\x63\x56\x38\x6f\x44\x57\x35\x50\x2b','\x73\x38\x6f\x35\x57\x4f\x47\x35','\x57\x36\x48\x62\x57\x37\x4a\x64\x53\x6d\x6b\x32\x67\x71\x61\x4a\x73\x48\x30','\x57\x36\x4f\x43\x66\x6d\x6b\x52\x57\x52\x30','\x67\x4a\x5a\x63\x53\x6d\x6b\x54\x57\x34\x4f','\x75\x49\x71\x6b\x62\x38\x6b\x46','\x67\x43\x6f\x46\x57\x4f\x69\x50\x74\x47','\x7a\x4e\x61\x70\x65\x43\x6b\x68','\x57\x37\x71\x68\x6d\x6d\x6b\x58\x57\x52\x44\x56','\x74\x6d\x6b\x37\x57\x36\x64\x63\x53\x61\x47','\x69\x38\x6f\x35\x57\x51\x30\x32\x57\x50\x44\x68\x6c\x58\x57','\x57\x37\x70\x64\x55\x6d\x6f\x38\x57\x50\x44\x6d\x57\x52\x56\x64\x50\x38\x6b\x47','\x57\x37\x30\x44\x44\x64\x76\x6d\x57\x37\x2f\x63\x53\x5a\x4b','\x43\x43\x6b\x71\x57\x50\x6d\x6b\x57\x4f\x58\x65\x63\x63\x30','\x77\x6d\x6b\x48\x67\x71\x70\x63\x52\x71','\x57\x51\x4a\x64\x53\x43\x6b\x2f\x68\x38\x6b\x42\x57\x4f\x47','\x6c\x43\x6b\x75\x77\x53\x6f\x2b','\x69\x6d\x6b\x6e\x73\x74\x4f\x4f','\x57\x52\x56\x64\x52\x6d\x6b\x74\x65\x53\x6b\x67\x57\x51\x6e\x2b\x64\x47','\x57\x35\x46\x64\x49\x4d\x4e\x63\x4c\x31\x6c\x63\x49\x57','\x57\x4f\x31\x78\x72\x6d\x6b\x62','\x57\x50\x2f\x64\x50\x77\x6c\x63\x53\x47\x43','\x57\x34\x6a\x39\x70\x43\x6f\x76\x57\x36\x68\x64\x4a\x43\x6b\x2b\x63\x61','\x57\x35\x56\x64\x51\x77\x70\x64\x53\x32\x53','\x61\x6d\x6f\x64\x57\x52\x57\x4d\x41\x61','\x57\x37\x52\x64\x51\x64\x56\x63\x51\x53\x6f\x36','\x57\x52\x74\x63\x53\x6d\x6f\x47','\x57\x51\x58\x6f\x57\x50\x39\x54\x57\x51\x57\x69\x73\x43\x6b\x39','\x63\x6d\x6f\x6b\x57\x4f\x53\x76\x79\x47','\x63\x6d\x6b\x6f\x57\x35\x56\x64\x47\x43\x6f\x42','\x57\x35\x72\x4e\x6e\x38\x6f\x77\x57\x36\x4b','\x7a\x71\x75\x4e\x57\x4f\x6c\x64\x50\x53\x6b\x6d\x57\x36\x34','\x57\x51\x79\x41\x57\x52\x2f\x63\x51\x38\x6b\x63','\x57\x34\x52\x64\x4d\x67\x70\x64\x56\x47','\x6a\x31\x7a\x51\x46\x38\x6b\x54','\x57\x34\x66\x7a\x6a\x43\x6f\x39\x57\x37\x79','\x57\x52\x47\x75\x6e\x38\x6f\x63\x66\x4e\x54\x4c\x57\x51\x69','\x57\x52\x4b\x64\x6c\x6d\x6f\x49','\x57\x37\x61\x37\x44\x53\x6b\x49\x57\x36\x35\x45\x57\x50\x56\x64\x4f\x71','\x57\x35\x78\x64\x4a\x33\x4a\x63\x51\x31\x70\x63\x56\x38\x6b\x77\x75\x61','\x57\x51\x33\x64\x4b\x6d\x6b\x5a\x57\x37\x33\x63\x50\x71\x70\x63\x47\x38\x6f\x68','\x57\x51\x5a\x63\x53\x6d\x6f\x6d\x75\x38\x6b\x6e','\x6c\x43\x6f\x70\x57\x52\x61','\x6b\x38\x6b\x68\x79\x64\x43\x6f','\x57\x50\x33\x63\x49\x38\x6f\x46\x7a\x53\x6b\x2b\x61\x43\x6f\x50\x6f\x61','\x6d\x43\x6f\x75\x57\x4f\x79\x6a\x57\x51\x53','\x66\x43\x6b\x54\x57\x37\x64\x64\x56\x38\x6f\x46','\x7a\x53\x6f\x6c\x57\x4f\x65\x49\x57\x37\x33\x63\x4c\x53\x6b\x34\x57\x4f\x61','\x57\x34\x37\x64\x4b\x62\x78\x63\x4c\x43\x6f\x34','\x79\x4d\x43\x4d\x66\x53\x6b\x78\x57\x35\x35\x55\x57\x35\x43','\x79\x43\x6b\x4c\x70\x74\x6c\x63\x52\x4a\x37\x64\x54\x58\x6d','\x43\x33\x4f\x38\x62\x38\x6b\x6a','\x6a\x38\x6f\x38\x57\x4f\x54\x49\x68\x43\x6b\x41\x66\x4a\x75','\x57\x50\x74\x64\x4a\x43\x6b\x6b\x70\x53\x6b\x62','\x72\x74\x78\x64\x55\x48\x5a\x63\x4a\x43\x6b\x4c','\x57\x51\x30\x46\x57\x52\x37\x63\x54\x53\x6b\x53\x6e\x5a\x4b\x37','\x64\x4a\x7a\x68\x57\x50\x58\x78\x57\x52\x46\x64\x4b\x75\x75','\x57\x36\x56\x64\x53\x53\x6f\x54\x57\x50\x48\x30\x57\x37\x4a\x63\x4c\x6d\x6b\x38','\x6e\x43\x6b\x31\x7a\x6d\x6f\x47\x57\x34\x75','\x74\x4c\x64\x63\x50\x48\x4b','\x57\x4f\x6e\x74\x57\x50\x50\x45\x57\x51\x69','\x57\x51\x64\x64\x55\x68\x46\x63\x4e\x61\x30\x76\x57\x35\x68\x63\x48\x71','\x57\x37\x47\x6b\x57\x34\x75\x31\x57\x52\x65\x71\x72\x53\x6b\x53\x69\x57\x30','\x57\x50\x42\x64\x4d\x66\x64\x63\x4e\x47\x4f','\x79\x38\x6f\x77\x57\x50\x57\x4d\x57\x34\x75','\x6a\x43\x6b\x4e\x57\x34\x4e\x64\x50\x6d\x6f\x34','\x67\x43\x6f\x62\x57\x36\x42\x64\x50\x43\x6f\x69','\x6a\x38\x6f\x47\x57\x4f\x54\x4d\x65\x6d\x6b\x6a\x68\x71','\x57\x34\x44\x45\x73\x53\x6f\x7a\x78\x64\x42\x64\x4a\x57','\x6a\x43\x6f\x45\x57\x51\x4f\x54\x57\x50\x54\x6e\x6e\x59\x34','\x57\x52\x64\x64\x51\x67\x4a\x64\x52\x53\x6b\x4e\x72\x78\x4b','\x67\x38\x6f\x46\x57\x35\x46\x64\x4b\x6d\x6f\x38','\x67\x53\x6f\x4d\x57\x50\x79\x44\x75\x43\x6b\x61\x57\x37\x56\x63\x48\x71','\x57\x52\x52\x63\x53\x6d\x6f\x48\x57\x4f\x68\x64\x51\x53\x6b\x33','\x57\x37\x5a\x64\x4c\x53\x6f\x51\x6f\x6d\x6f\x34','\x6e\x53\x6b\x61\x76\x71','\x57\x52\x65\x45\x6e\x61','\x69\x38\x6f\x69\x57\x52\x69\x51\x57\x51\x53','\x41\x43\x6f\x45\x57\x51\x34\x47\x57\x37\x70\x63\x47\x38\x6b\x56\x57\x4f\x30','\x77\x43\x6b\x62\x57\x4f\x33\x63\x48\x38\x6b\x55\x6c\x4a\x46\x64\x49\x31\x75\x4f\x41\x38\x6f\x30\x75\x71','\x6c\x71\x53\x48\x79\x73\x79\x68','\x78\x6d\x6b\x33\x57\x37\x78\x63\x55\x61\x68\x63\x49\x4e\x37\x64\x4c\x47','\x6b\x6d\x6f\x70\x57\x37\x34\x49\x57\x36\x4e\x63\x47\x6d\x6b\x47\x57\x4f\x57','\x57\x37\x57\x39\x57\x52\x74\x63\x55\x5a\x4c\x4f\x57\x50\x37\x64\x52\x6d\x6b\x6d\x77\x57','\x68\x38\x6b\x66\x57\x51\x5a\x64\x53\x53\x6f\x59\x66\x53\x6f\x5a\x6f\x61','\x68\x43\x6f\x70\x73\x74\x72\x67','\x57\x51\x5a\x63\x4c\x43\x6f\x6f\x76\x43\x6b\x73','\x57\x50\x4c\x43\x57\x52\x7a\x74\x57\x51\x7a\x7a\x57\x34\x56\x64\x56\x47','\x57\x52\x4f\x49\x6a\x53\x6f\x49\x68\x4e\x54\x63\x57\x51\x69','\x57\x52\x70\x63\x56\x43\x6f\x4f\x57\x51\x52\x64\x50\x53\x6b\x48','\x57\x4f\x38\x4d\x57\x51\x74\x63\x4c\x6d\x6b\x76','\x71\x48\x34\x5a\x6b\x43\x6b\x34\x57\x4f\x39\x72\x41\x47','\x57\x37\x43\x62\x6f\x53\x6b\x53\x57\x52\x71','\x44\x43\x6f\x36\x57\x52\x6a\x4e\x68\x6d\x6f\x43','\x57\x4f\x6e\x6b\x57\x50\x35\x71\x57\x51\x7a\x6a\x57\x35\x34','\x57\x37\x57\x74\x79\x5a\x44\x69\x57\x34\x78\x63\x50\x32\x79','\x76\x66\x37\x63\x55\x58\x38','\x66\x43\x6f\x72\x57\x50\x7a\x61\x6e\x57','\x57\x4f\x31\x6b\x78\x38\x6b\x6a','\x57\x36\x4a\x64\x52\x38\x6f\x4e\x57\x50\x35\x58\x57\x52\x4f','\x57\x4f\x52\x63\x4c\x53\x6f\x66\x7a\x6d\x6b\x54\x61\x43\x6f\x73','\x6f\x62\x2f\x63\x51\x43\x6b\x51\x57\x35\x48\x69\x57\x35\x46\x63\x49\x61','\x57\x35\x4a\x64\x4d\x68\x4e\x64\x55\x4d\x66\x6d\x57\x50\x6c\x63\x50\x57','\x57\x4f\x54\x44\x72\x53\x6b\x69\x6d\x43\x6b\x65\x57\x4f\x75','\x57\x36\x64\x64\x55\x6d\x6f\x36\x57\x52\x44\x33\x57\x52\x64\x64\x4b\x43\x6b\x61','\x57\x34\x6c\x64\x55\x38\x6f\x45\x76\x6d\x6b\x49','\x67\x6d\x6f\x46\x57\x34\x46\x64\x4d\x53\x6f\x33\x45\x63\x61','\x57\x52\x4e\x63\x53\x43\x6f\x51\x57\x52\x4e\x64\x54\x38\x6b\x37','\x57\x52\x4a\x64\x4b\x43\x6b\x57\x57\x37\x56\x63\x54\x63\x34','\x57\x36\x37\x64\x51\x65\x78\x63\x52\x4c\x69','\x66\x43\x6b\x6c\x79\x74\x61\x67\x57\x36\x46\x63\x4a\x57','\x6b\x43\x6b\x6a\x57\x35\x52\x64\x4b\x6d\x6f\x74\x57\x4f\x42\x63\x55\x6d\x6f\x78','\x57\x52\x2f\x64\x50\x38\x6b\x71\x67\x6d\x6b\x61\x57\x4f\x48\x4b','\x78\x53\x6b\x75\x57\x37\x46\x63\x50\x6d\x6b\x4e\x72\x57','\x46\x43\x6f\x43\x57\x52\x57\x45\x57\x34\x71','\x68\x2b\x6b\x64\x53\x38\x6b\x4b','\x6d\x38\x6f\x44\x57\x52\x69\x74\x46\x57','\x44\x31\x70\x63\x4e\x57','\x78\x74\x70\x64\x48\x72\x4c\x74\x57\x35\x64\x64\x4b\x38\x6f\x6d','\x57\x51\x42\x64\x55\x78\x46\x63\x4c\x4a\x71','\x57\x37\x74\x64\x4e\x38\x6f\x52\x44\x43\x6b\x36\x61\x43\x6b\x75\x6b\x71','\x57\x34\x56\x64\x4d\x4e\x37\x63\x4f\x76\x78\x63\x49\x61','\x57\x4f\x5a\x64\x54\x67\x6c\x63\x47\x72\x6d\x76\x57\x34\x64\x63\x4d\x61','\x57\x34\x66\x37\x6a\x38\x6f\x43\x57\x37\x68\x64\x4d\x53\x6b\x49\x64\x47','\x41\x4c\x78\x63\x48\x43\x6b\x47\x57\x52\x44\x34\x57\x36\x79\x78','\x62\x53\x6b\x65\x57\x4f\x64\x64\x52\x6d\x6f\x49','\x63\x38\x6b\x6c\x46\x5a\x53\x74\x57\x36\x57','\x57\x35\x38\x39\x77\x53\x6b\x56\x57\x35\x69','\x76\x49\x4a\x64\x4c\x48\x68\x63\x4b\x6d\x6b\x6f\x78\x65\x34','\x57\x51\x48\x56\x57\x37\x4e\x64\x4e\x47\x76\x75\x57\x50\x4f','\x6c\x62\x70\x63\x53\x6d\x6b\x6f\x57\x35\x76\x72\x57\x36\x5a\x63\x4a\x57','\x41\x43\x6f\x45\x57\x51\x34\x2b\x57\x36\x75','\x62\x77\x50\x52\x7a\x53\x6b\x36','\x42\x6d\x6f\x31\x57\x51\x31\x53\x65\x53\x6f\x45\x69\x61','\x57\x50\x74\x64\x56\x38\x6b\x69\x57\x37\x52\x63\x4b\x57','\x57\x34\x78\x64\x4f\x58\x4b','\x57\x52\x65\x62\x6e\x53\x6f\x54\x65\x33\x58\x66\x57\x51\x6d','\x74\x38\x6f\x6c\x57\x52\x61\x33\x57\x52\x5a\x64\x47\x61','\x64\x38\x6f\x44\x57\x35\x2f\x64\x4e\x38\x6f\x51','\x63\x5a\x50\x48\x57\x50\x6e\x41\x57\x37\x4e\x63\x4e\x76\x75','\x57\x34\x56\x64\x4f\x72\x53','\x72\x71\x75\x62\x6c\x38\x6b\x2b\x57\x50\x76\x4f\x7a\x61','\x57\x50\x76\x7a\x76\x6d\x6b\x73\x69\x57','\x57\x4f\x34\x4e\x6e\x43\x6f\x6b\x57\x37\x42\x64\x4f\x6d\x6b\x2f\x6b\x71','\x45\x38\x6f\x63\x57\x52\x43\x58\x57\x37\x4b','\x78\x5a\x52\x64\x4c\x47','\x57\x35\x75\x77\x66\x38\x6b\x79\x57\x50\x6d','\x73\x6d\x6f\x56\x57\x50\x71\x4a\x57\x37\x52\x63\x51\x53\x6f\x53\x57\x36\x4f','\x57\x37\x43\x54\x43\x43\x6b\x4b\x57\x37\x6a\x73\x57\x50\x46\x64\x51\x61','\x6b\x43\x6f\x7a\x46\x62\x7a\x63','\x57\x51\x58\x74\x42\x38\x6b\x4e\x62\x61','\x72\x4b\x34\x38\x42\x71','\x57\x50\x58\x41\x57\x50\x31\x41\x57\x52\x6e\x74','\x57\x36\x44\x61\x43\x53\x6b\x35\x72\x49\x72\x58\x57\x51\x6a\x43\x65\x53\x6b\x2b\x57\x35\x65','\x57\x4f\x78\x64\x4b\x31\x65\x49\x57\x4f\x61\x48','\x57\x36\x56\x64\x47\x74\x56\x63\x48\x6d\x6f\x4c','\x69\x43\x6b\x58\x57\x34\x64\x64\x4d\x43\x6f\x75','\x6c\x6d\x6f\x68\x57\x37\x33\x64\x48\x38\x6f\x38','\x57\x52\x44\x54\x57\x51\x44\x5a\x57\x52\x61','\x6d\x5a\x50\x53\x57\x52\x4c\x56','\x57\x51\x52\x64\x4c\x38\x6b\x41\x57\x36\x42\x63\x51\x74\x4e\x63\x4b\x57','\x57\x51\x74\x64\x55\x68\x42\x64\x4f\x43\x6b\x59\x74\x33\x70\x64\x49\x57','\x61\x5a\x35\x63\x57\x50\x4c\x62','\x57\x52\x4c\x2b\x57\x36\x74\x64\x50\x57','\x57\x51\x68\x63\x4c\x53\x6f\x66\x72\x53\x6b\x6f','\x57\x4f\x72\x77\x57\x4f\x44\x72\x57\x51\x69','\x6f\x53\x6f\x35\x57\x52\x4c\x34\x62\x6d\x6b\x77\x63\x74\x30','\x6b\x38\x6b\x43\x57\x51\x56\x64\x49\x53\x6f\x62','\x57\x35\x48\x41\x78\x43\x6f\x42\x77\x61','\x57\x37\x69\x41\x44\x4a\x31\x6f\x57\x37\x2f\x63\x56\x74\x47','\x6c\x62\x78\x63\x51\x6d\x6b\x76\x57\x35\x50\x76\x57\x34\x68\x63\x49\x61','\x57\x52\x37\x64\x53\x67\x4f','\x57\x34\x6d\x58\x78\x64\x31\x6a','\x57\x34\x31\x50\x69\x6d\x6f\x41\x57\x36\x33\x64\x49\x43\x6b\x4b\x63\x71','\x57\x4f\x70\x64\x53\x31\x78\x63\x4e\x63\x71','\x57\x35\x6e\x44\x79\x43\x6f\x41\x79\x71','\x41\x65\x71\x38\x41\x73\x44\x34\x74\x78\x65','\x78\x38\x6b\x62\x71\x5a\x44\x78\x57\x34\x44\x71\x57\x34\x75','\x57\x51\x4f\x46\x57\x50\x4a\x63\x53\x6d\x6b\x39\x6f\x57\x47\x59','\x78\x74\x74\x64\x4a\x62\x4f','\x71\x6d\x6b\x49\x6c\x57\x42\x63\x4b\x61','\x57\x52\x72\x6c\x57\x52\x62\x6a\x57\x51\x69','\x45\x6d\x6b\x63\x57\x36\x52\x63\x50\x6d\x6f\x5a\x72\x71','\x63\x53\x6f\x36\x57\x4f\x75\x76\x73\x38\x6b\x36\x57\x37\x78\x63\x4d\x61','\x57\x35\x79\x66\x6b\x53\x6b\x69\x57\x4f\x38','\x64\x43\x6b\x6a\x65\x38\x6f\x48\x57\x36\x78\x63\x47\x38\x6b\x54\x57\x34\x71','\x57\x35\x52\x64\x53\x61\x5a\x63\x50\x57','\x6b\x61\x52\x63\x50\x43\x6b\x43\x57\x51\x31\x5a\x57\x35\x38\x55','\x57\x52\x4b\x48\x69\x53\x6f\x2f\x6f\x47','\x6e\x48\x33\x63\x53\x38\x6b\x67\x57\x35\x76\x64\x57\x34\x37\x63\x4b\x57','\x57\x52\x30\x72\x57\x51\x43','\x73\x31\x69\x58\x7a\x47\x75','\x57\x37\x61\x43\x79\x33\x72\x71\x57\x35\x6c\x63\x56\x74\x6d','\x57\x50\x74\x63\x47\x4d\x70\x64\x53\x32\x4c\x48\x57\x4f\x74\x63\x53\x71','\x57\x34\x5a\x64\x54\x58\x64\x63\x4f\x47','\x6d\x38\x6f\x6b\x57\x52\x43\x38\x57\x50\x38','\x57\x34\x58\x54\x6f\x53\x6f\x45\x57\x37\x68\x64\x52\x71','\x57\x52\x65\x32\x57\x52\x56\x63\x52\x6d\x6b\x43','\x6c\x73\x50\x6d\x57\x4f\x39\x53','\x57\x51\x66\x42\x57\x36\x46\x64\x4a\x71\x4b','\x57\x35\x4e\x64\x49\x4d\x47','\x43\x38\x6b\x49\x70\x64\x42\x63\x52\x47\x74\x64\x55\x71\x71','\x57\x37\x57\x63\x57\x34\x38\x34\x57\x37\x58\x4a\x67\x6d\x6b\x73\x63\x58\x74\x63\x53\x64\x69\x63','\x6a\x38\x6f\x77\x57\x4f\x53\x33\x57\x50\x34','\x79\x38\x6b\x2b\x42\x4a\x52\x63\x55\x58\x4a\x63\x56\x48\x53','\x57\x34\x4e\x64\x4d\x68\x33\x64\x55\x32\x72\x32\x57\x50\x34','\x75\x53\x6f\x2b\x57\x52\x39\x31\x65\x53\x6f\x42\x6b\x53\x6b\x51','\x62\x43\x6b\x65\x57\x52\x70\x64\x50\x43\x6f\x59\x62\x57','\x57\x35\x74\x64\x49\x32\x6c\x63\x52\x30\x2f\x63\x48\x57','\x41\x53\x6f\x56\x57\x52\x72\x4a\x63\x43\x6f\x6d\x6b\x43\x6b\x61','\x57\x35\x37\x64\x51\x4a\x4e\x63\x50\x53\x6f\x76\x57\x35\x50\x2b','\x57\x51\x31\x74\x57\x50\x44\x4f\x57\x51\x79\x65\x73\x43\x6b\x2b','\x57\x52\x4e\x63\x4b\x53\x6f\x6c\x46\x43\x6b\x6e','\x64\x61\x54\x45\x57\x4f\x31\x6b','\x46\x6d\x6f\x31\x57\x51\x62\x54\x64\x38\x6f\x6b\x6b\x57','\x73\x43\x6f\x77\x57\x52\x4b\x42\x57\x37\x69','\x57\x36\x4a\x64\x49\x53\x6f\x65\x73\x38\x6b\x6f','\x57\x4f\x2f\x63\x4c\x38\x6f\x7a\x43\x43\x6b\x50\x6f\x38\x6f\x46\x6d\x47','\x44\x30\x5a\x63\x4e\x43\x6b\x52\x57\x52\x44\x57\x57\x36\x43\x77','\x77\x5a\x37\x64\x49\x58\x70\x63\x4b\x6d\x6b\x35','\x57\x51\x70\x64\x48\x68\x42\x64\x4d\x6d\x6b\x2f','\x76\x49\x4a\x64\x4c\x48\x68\x63\x4b\x6d\x6f\x58','\x78\x38\x6f\x2b\x57\x50\x71\x48\x57\x36\x2f\x63\x49\x6d\x6f\x54','\x57\x35\x37\x64\x51\x49\x5a\x63\x55\x38\x6f\x46\x57\x35\x7a\x30\x6e\x57','\x62\x43\x6f\x68\x72\x49\x44\x41\x57\x36\x66\x62\x57\x36\x4b','\x6a\x53\x6b\x62\x57\x52\x39\x47\x57\x37\x33\x63\x53\x53\x6b\x2b\x57\x4f\x4f','\x45\x47\x4b\x55\x57\x4f\x56\x64\x53\x38\x6b\x69','\x57\x51\x64\x64\x55\x68\x33\x63\x4d\x57\x61\x79\x57\x35\x61','\x57\x36\x79\x61\x6e\x53\x6b\x57\x57\x51\x6e\x73\x71\x49\x65','\x73\x38\x6b\x6f\x57\x36\x56\x63\x52\x38\x6b\x47','\x57\x52\x39\x56\x57\x36\x75','\x42\x65\x4f\x51','\x57\x35\x75\x30\x6c\x53\x6b\x70\x57\x52\x34','\x57\x36\x37\x49\x47\x6b\x2f\x64\x4c\x4e\x70\x63\x52\x74\x44\x66\x57\x51\x57','\x75\x43\x6b\x76\x57\x36\x2f\x63\x55\x38\x6b\x34','\x65\x6d\x6f\x50\x57\x52\x69\x6a\x57\x52\x4b','\x6b\x49\x68\x63\x48\x67\x54\x77','\x61\x53\x6f\x41\x73\x4a\x62\x62\x57\x36\x44\x49\x57\x34\x30','\x76\x38\x6f\x4a\x57\x50\x47\x57\x57\x37\x6d','\x57\x37\x61\x77\x43\x57','\x44\x58\x38\x5a\x57\x4f\x4e\x64\x53\x38\x6b\x2f\x57\x37\x74\x63\x52\x61','\x6e\x38\x6b\x30\x57\x51\x44\x58\x64\x53\x6f\x6d\x6f\x53\x6b\x51','\x42\x43\x6f\x6c\x57\x4f\x66\x68\x6b\x47','\x57\x34\x78\x64\x4d\x43\x6f\x50\x57\x4f\x50\x72','\x57\x50\x78\x64\x49\x6d\x6b\x71\x57\x34\x56\x63\x48\x71','\x57\x52\x4b\x45\x57\x51\x52\x63\x51\x6d\x6b\x38','\x57\x4f\x6e\x78\x57\x50\x6a\x7a\x57\x51\x48\x6d','\x6d\x72\x56\x63\x53\x43\x6b\x52\x57\x35\x62\x64\x57\x36\x4f','\x57\x51\x57\x66\x57\x51\x78\x63\x4a\x43\x6b\x52','\x72\x72\x4b\x66\x6f\x43\x6f\x51\x57\x4f\x44\x6d\x46\x47','\x42\x43\x6f\x61\x57\x52\x47\x39\x57\x36\x37\x63\x47\x43\x6b\x50','\x44\x6d\x6b\x4b\x6a\x5a\x4f','\x62\x53\x6b\x63\x76\x59\x75\x78','\x46\x48\x4b\x49','\x64\x5a\x5a\x63\x48\x66\x76\x37\x57\x34\x46\x63\x4e\x43\x6f\x6a','\x57\x34\x56\x64\x47\x4d\x78\x63\x51\x31\x34','\x57\x51\x52\x64\x4e\x43\x6b\x4b\x57\x37\x53','\x69\x43\x6f\x6b\x57\x52\x69','\x57\x35\x70\x64\x4d\x76\x37\x63\x47\x68\x47','\x57\x51\x34\x66\x57\x52\x4a\x63\x52\x61','\x57\x37\x4f\x37\x42\x6d\x6b\x4d\x57\x37\x6a\x4c','\x6a\x43\x6f\x32\x41\x61\x44\x78','\x66\x68\x31\x75\x71\x6d\x6b\x41','\x46\x38\x6b\x33\x57\x37\x52\x63\x55\x71','\x57\x36\x47\x41\x6f\x6d\x6b\x76\x57\x51\x4c\x58\x73\x73\x47','\x57\x37\x5a\x64\x48\x31\x42\x63\x52\x33\x47','\x57\x37\x61\x62\x7a\x64\x66\x75\x57\x37\x2f\x63\x56\x74\x47','\x57\x34\x48\x39\x6e\x47','\x57\x34\x39\x36\x70\x43\x6f\x45\x57\x36\x5a\x64\x51\x57','\x76\x53\x6b\x37\x66\x5a\x2f\x63\x4a\x57','\x57\x36\x70\x64\x54\x6d\x6f\x39\x57\x4f\x31\x58\x57\x52\x4a\x64\x4d\x6d\x6b\x53','\x6c\x57\x71\x48\x79\x73\x58\x6a\x71\x68\x69','\x57\x36\x5a\x64\x4e\x77\x37\x63\x50\x30\x34','\x6b\x6d\x6f\x74\x57\x52\x57\x61\x57\x4f\x4c\x6c\x6c\x48\x57','\x57\x35\x6e\x52\x6f\x38\x6f\x6c\x57\x36\x64\x64\x47\x53\x6b\x55\x62\x61','\x57\x4f\x46\x63\x4b\x6d\x6b\x6b\x79\x6d\x6b\x31\x64\x43\x6f\x66\x44\x47','\x57\x4f\x57\x53\x57\x37\x33\x64\x55\x61\x4c\x64\x57\x50\x5a\x63\x54\x61','\x6c\x53\x6f\x4c\x57\x4f\x38\x50\x57\x51\x6d','\x6b\x6d\x6b\x7a\x57\x35\x42\x64\x52\x6d\x6f\x4c\x57\x4f\x4f','\x57\x4f\x64\x64\x4d\x31\x64\x64\x4d\x53\x6b\x70','\x6c\x62\x70\x63\x55\x53\x6b\x6a\x57\x35\x48\x43\x57\x36\x33\x63\x55\x71','\x57\x35\x4e\x64\x56\x33\x33\x63\x4a\x65\x47','\x57\x4f\x2f\x64\x4e\x33\x4f\x52\x57\x52\x30','\x42\x38\x6b\x4b\x6a\x5a\x64\x63\x53\x57\x38','\x61\x4a\x2f\x63\x49\x78\x31\x74\x57\x34\x75','\x57\x51\x39\x6c\x57\x4f\x7a\x5a\x57\x51\x43\x36\x71\x38\x6b\x59','\x57\x50\x2f\x64\x56\x6d\x6b\x79\x57\x34\x74\x63\x4d\x71','\x57\x50\x52\x63\x49\x38\x6f\x4d\x45\x38\x6b\x51\x61\x43\x6f\x65\x66\x71','\x57\x36\x74\x64\x49\x6d\x6f\x4a\x46\x61','\x57\x4f\x4e\x63\x4e\x64\x2f\x64\x56\x61\x5a\x64\x4e\x53\x6f\x6f\x74\x6d\x6f\x6c\x61\x43\x6b\x58\x57\x37\x54\x63','\x6c\x38\x6b\x6c\x43\x64\x47\x63\x57\x37\x42\x63\x4d\x71','\x64\x43\x6f\x33\x57\x4f\x43\x76\x71\x43\x6b\x61\x57\x37\x47','\x57\x51\x2f\x64\x4e\x53\x6b\x50\x69\x43\x6b\x49','\x57\x36\x66\x6d\x6a\x6d\x6f\x59\x57\x34\x6d','\x57\x51\x42\x63\x55\x6d\x6f\x54\x57\x52\x33\x64\x50\x47','\x57\x35\x6c\x64\x4b\x6d\x6f\x67\x57\x4f\x62\x50','\x76\x6d\x6b\x45\x63\x64\x70\x63\x51\x57\x42\x63\x47\x64\x65','\x57\x52\x5a\x63\x4d\x53\x6f\x35\x45\x6d\x6b\x37\x73\x61','\x57\x51\x62\x42\x57\x36\x64\x64\x52\x71\x30','\x46\x6d\x6f\x6c\x57\x51\x30\x4d','\x57\x52\x6d\x72\x57\x52\x2f\x63\x50\x38\x6b\x4e\x6e\x58\x76\x56','\x74\x4d\x43\x57\x43\x72\x65','\x65\x6d\x6f\x73\x57\x37\x52\x64\x4f\x43\x6f\x46','\x66\x6d\x6b\x41\x43\x64\x34\x6c\x57\x36\x68\x63\x54\x76\x79','\x57\x52\x68\x64\x4e\x6d\x6b\x35\x57\x35\x64\x63\x55\x64\x47','\x57\x52\x78\x64\x56\x43\x6b\x6b\x65\x53\x6b\x72\x57\x4f\x47','\x57\x37\x74\x64\x51\x6d\x6f\x4a\x57\x50\x72\x35\x57\x51\x42\x64\x4a\x71','\x57\x4f\x33\x63\x4c\x5a\x78\x64\x55\x57\x33\x64\x4e\x53\x6f\x68\x71\x53\x6f\x30\x69\x43\x6b\x35\x57\x34\x72\x30','\x46\x65\x78\x63\x4d\x71\x74\x63\x51\x71','\x57\x36\x52\x64\x4a\x31\x2f\x64\x56\x30\x61','\x57\x4f\x31\x7a\x72\x43\x6b\x70\x64\x38\x6b\x76\x57\x4f\x75\x52','\x74\x67\x78\x63\x53\x57\x6c\x63\x4a\x57','\x6d\x53\x6f\x70\x57\x51\x4f\x4d','\x65\x64\x58\x68\x57\x50\x58\x78\x57\x37\x46\x63\x54\x31\x38','\x57\x35\x53\x43\x6d\x43\x6b\x4f\x57\x51\x6a\x50\x71\x49\x4f','\x57\x37\x70\x64\x53\x53\x6f\x44\x57\x4f\x31\x51\x57\x52\x33\x64\x4d\x53\x6b\x55','\x6c\x53\x6f\x33\x57\x4f\x4f\x7a','\x44\x38\x6b\x50\x68\x63\x78\x63\x4c\x47','\x57\x4f\x62\x6b\x57\x4f\x62\x76','\x69\x53\x6f\x57\x57\x4f\x50\x38\x6e\x71','\x57\x4f\x42\x64\x4b\x30\x30\x79\x57\x4f\x79\x48\x57\x4f\x5a\x64\x47\x57','\x46\x64\x34\x52\x63\x53\x6b\x4a','\x74\x53\x6f\x65\x57\x50\x34\x38\x57\x36\x34','\x57\x50\x50\x71\x57\x50\x50\x74','\x57\x37\x48\x2b\x6f\x38\x6f\x59\x57\x36\x30','\x42\x65\x71\x32\x42\x71','\x57\x50\x48\x75\x43\x43\x6b\x62\x70\x53\x6b\x63\x57\x50\x6d','\x57\x51\x30\x43\x57\x51\x6c\x63\x50\x38\x6b\x51','\x57\x52\x68\x63\x4c\x53\x6f\x70\x79\x43\x6b\x55\x61\x43\x6b\x77\x41\x47','\x62\x53\x6b\x44\x79\x4a\x4b\x74\x57\x35\x56\x63\x47\x30\x53','\x57\x50\x62\x6c\x43\x6d\x6b\x6e\x70\x53\x6b\x6f\x57\x50\x71\x54','\x42\x6d\x6b\x4e\x57\x34\x46\x63\x4d\x5a\x53','\x57\x51\x70\x64\x56\x4e\x30','\x62\x73\x42\x63\x49\x31\x6a\x69\x57\x34\x56\x63\x4e\x6d\x6f\x63','\x57\x37\x38\x6b\x57\x34\x38\x57\x57\x50\x65\x46\x75\x6d\x6b\x49\x6a\x62\x71','\x57\x34\x35\x54\x63\x38\x6f\x6a\x57\x36\x74\x64\x53\x43\x6b\x2f\x64\x57','\x75\x71\x79\x6c\x57\x52\x56\x64\x4e\x71','\x63\x38\x6f\x4a\x57\x51\x64\x64\x52\x62\x78\x63\x51\x65\x4e\x64\x51\x43\x6b\x71\x57\x50\x69','\x61\x6d\x6b\x36\x43\x59\x79\x5a','\x74\x77\x47\x53\x6f\x38\x6b\x4c','\x70\x53\x6f\x36\x57\x4f\x39\x4c','\x74\x78\x5a\x63\x48\x65\x6a\x70\x57\x34\x46\x63\x48\x38\x6f\x56','\x57\x35\x4f\x48\x79\x57\x72\x54','\x41\x53\x6b\x33\x57\x37\x70\x63\x55\x72\x75','\x67\x6d\x6b\x51\x41\x53\x6f\x2b\x57\x35\x61','\x6e\x53\x6f\x6c\x72\x73\x43','\x70\x38\x6b\x72\x79\x6d\x6f\x45\x57\x34\x71','\x57\x51\x64\x64\x54\x67\x4e\x63\x48\x47\x47\x42\x57\x34\x33\x63\x50\x71','\x68\x38\x6b\x67\x57\x52\x64\x64\x4f\x38\x6f\x30','\x62\x43\x6f\x70\x77\x63\x4b\x42\x57\x52\x72\x30\x57\x34\x61','\x57\x52\x54\x50\x57\x37\x2f\x64\x4f\x57\x7a\x76\x57\x34\x37\x64\x54\x47','\x57\x4f\x46\x64\x56\x68\x64\x64\x52\x38\x6b\x4c','\x6d\x38\x6b\x79\x57\x34\x68\x64\x4e\x43\x6f\x79\x57\x4f\x68\x63\x47\x53\x6f\x7a','\x57\x51\x33\x64\x4c\x6d\x6b\x31\x57\x36\x5a\x63\x54\x61','\x57\x52\x43\x65\x69\x71','\x57\x36\x30\x67\x68\x53\x6b\x55\x57\x52\x76\x36\x76\x71','\x68\x43\x6f\x43\x57\x4f\x61\x5a\x79\x61','\x41\x53\x6f\x59\x57\x51\x66\x53\x68\x6d\x6f\x66\x70\x71','\x57\x52\x68\x64\x49\x53\x6b\x31\x57\x36\x4a\x63\x55\x64\x69','\x57\x35\x42\x64\x49\x68\x37\x64\x53\x78\x66\x53','\x42\x6d\x6b\x4d\x61\x73\x74\x63\x4b\x57','\x64\x61\x78\x64\x4f\x30\x78\x64\x4b\x76\x78\x63\x48\x59\x2f\x64\x53\x43\x6b\x56\x57\x36\x43','\x57\x34\x7a\x48\x6f\x6d\x6f\x6e\x57\x36\x64\x64\x54\x57','\x77\x74\x46\x64\x55\x47\x64\x63\x4a\x43\x6b\x4c\x77\x75\x38','\x64\x64\x46\x63\x47\x67\x35\x76\x57\x34\x79','\x65\x38\x6b\x6c\x41\x73\x47','\x41\x43\x6b\x4c\x63\x64\x37\x63\x54\x61\x4a\x64\x51\x48\x47','\x57\x52\x42\x64\x50\x67\x5a\x64\x52\x53\x6b\x4a','\x57\x37\x68\x63\x55\x63\x37\x63\x53\x6d\x6f\x2b\x43\x67\x2f\x64\x4f\x43\x6f\x72\x6b\x38\x6f\x58','\x7a\x78\x34\x78\x42\x71\x30','\x57\x35\x37\x64\x4c\x74\x4a\x63\x49\x53\x6f\x36','\x57\x36\x75\x7a\x6d\x38\x6b\x71\x57\x51\x48\x38','\x76\x49\x4a\x64\x47\x61','\x57\x35\x58\x76\x71\x38\x6f\x44\x75\x59\x34','\x70\x38\x6b\x35\x71\x74\x47\x58','\x57\x4f\x64\x64\x4d\x65\x4b\x55\x57\x50\x43\x77\x57\x4f\x52\x64\x4b\x71','\x57\x51\x68\x63\x51\x38\x6f\x37\x72\x43\x6b\x4f','\x63\x5a\x44\x6f\x57\x50\x48\x79\x57\x36\x38','\x61\x53\x6b\x6c\x57\x52\x74\x64\x50\x71','\x42\x31\x38\x37\x41\x58\x72\x70\x73\x68\x4b','\x57\x4f\x2f\x64\x50\x65\x43\x33\x57\x4f\x75','\x77\x38\x6b\x63\x57\x4f\x52\x63\x47\x38\x6f\x48\x76\x66\x46\x64\x55\x76\x57\x37','\x57\x37\x44\x42\x61\x53\x6f\x72\x57\x35\x38','\x57\x34\x7a\x73\x74\x53\x6f\x77\x75\x74\x42\x63\x48\x47\x69','\x78\x6d\x6b\x45\x6f\x49\x74\x63\x52\x74\x4a\x63\x4b\x61','\x6d\x58\x78\x63\x56\x53\x6b\x67\x57\x35\x76\x56\x57\x37\x4e\x63\x47\x57','\x57\x51\x39\x43\x44\x6d\x6f\x34','\x6a\x38\x6f\x45\x57\x4f\x34\x57\x44\x71','\x57\x52\x70\x64\x53\x43\x6b\x6b\x65\x53\x6b\x72\x57\x4f\x47','\x57\x35\x4e\x64\x49\x6d\x6f\x52\x73\x38\x6b\x38','\x6e\x6d\x6b\x67\x79\x62\x47\x50','\x57\x52\x33\x63\x4c\x38\x6f\x66\x76\x43\x6b\x59','\x43\x38\x6b\x49\x67\x64\x74\x63\x4a\x57','\x57\x52\x70\x64\x52\x6d\x6b\x4d\x68\x53\x6b\x43\x57\x50\x76\x4a\x64\x57','\x46\x57\x65\x4c\x57\x4f\x42\x64\x53\x71','\x64\x4a\x52\x63\x49\x57','\x70\x6d\x6f\x7a\x57\x50\x34\x6b\x7a\x57','\x73\x38\x6b\x49\x57\x37\x4a\x63\x54\x72\x4b','\x57\x4f\x74\x63\x47\x43\x6f\x6a\x79\x61','\x6e\x43\x6b\x64\x78\x43\x6f\x30\x57\x37\x74\x63\x4e\x47','\x75\x43\x6b\x54\x57\x35\x64\x63\x4b\x43\x6b\x48','\x74\x43\x6f\x4f\x57\x52\x6d\x79\x57\x36\x38','\x57\x37\x76\x73\x44\x49\x72\x71\x57\x35\x6c\x63\x55\x5a\x30','\x57\x52\x42\x64\x51\x67\x64\x64\x54\x47','\x61\x53\x6f\x77\x57\x35\x33\x64\x48\x57','\x62\x43\x6b\x7a\x57\x4f\x52\x64\x50\x43\x6f\x38\x65\x53\x6f\x63\x69\x47','\x73\x32\x4a\x63\x48\x4a\x6c\x63\x4b\x57','\x73\x43\x6f\x56\x57\x50\x6d','\x6a\x33\x72\x30\x74\x6d\x6b\x6f\x71\x63\x44\x75','\x67\x6d\x6b\x74\x57\x51\x4e\x64\x50\x71','\x6a\x77\x58\x51\x74\x6d\x6b\x71','\x57\x51\x7a\x6f\x57\x52\x66\x6e\x57\x4f\x75','\x63\x53\x6b\x35\x57\x34\x50\x4f\x57\x34\x56\x63\x48\x53\x6f\x6f\x57\x35\x37\x63\x4d\x43\x6b\x32','\x57\x52\x6c\x63\x53\x43\x6f\x57\x57\x50\x42\x64\x54\x53\x6b\x58\x7a\x4b\x53','\x57\x51\x4e\x64\x55\x76\x64\x64\x4c\x53\x6b\x59','\x57\x51\x2f\x64\x52\x67\x5a\x64\x4f\x43\x6b\x55\x44\x4e\x33\x64\x4b\x71','\x64\x53\x6b\x44\x71\x4a\x4b\x6b\x57\x36\x78\x63\x48\x66\x65','\x72\x64\x37\x64\x48\x61\x42\x63\x48\x38\x6b\x35\x46\x76\x38','\x76\x38\x6f\x78\x57\x51\x58\x6f\x6c\x71','\x57\x36\x6c\x64\x4f\x6d\x6f\x48\x72\x43\x6b\x56','\x62\x6d\x6b\x62\x79\x5a\x4b','\x63\x77\x6a\x43\x71\x61','\x42\x6d\x6f\x6c\x57\x52\x30\x37\x57\x37\x4a\x63\x48\x38\x6b\x4f','\x57\x37\x61\x41\x65\x38\x6b\x5a\x57\x52\x62\x2b\x78\x47\x47','\x76\x72\x78\x64\x47\x59\x74\x63\x52\x57','\x70\x77\x48\x68\x76\x38\x6b\x64\x74\x61\x58\x46','\x57\x4f\x75\x59\x69\x43\x6f\x44\x66\x47','\x57\x36\x65\x75\x77\x5a\x50\x6c','\x62\x43\x6f\x73\x57\x34\x34','\x76\x6d\x6f\x4f\x57\x51\x47\x2f\x57\x37\x47','\x68\x38\x6b\x70\x57\x52\x4a\x64\x53\x53\x6f\x59\x67\x57','\x57\x52\x4c\x47\x57\x36\x47','\x6b\x38\x6b\x79\x57\x35\x33\x64\x4c\x6d\x6f\x34\x57\x4f\x79','\x75\x38\x6b\x65\x57\x37\x5a\x63\x47\x38\x6b\x31','\x63\x43\x6f\x61\x57\x34\x33\x64\x4c\x53\x6f\x54\x71\x67\x46\x64\x48\x57','\x57\x34\x7a\x70\x74\x6d\x6f\x69\x71\x57','\x57\x51\x50\x41\x6c\x6d\x6b\x35\x57\x51\x54\x2b\x74\x5a\x38','\x7a\x6d\x6b\x68\x68\x64\x37\x63\x54\x61','\x57\x51\x66\x46\x57\x50\x6e\x45\x57\x51\x65\x2f','\x57\x50\x33\x63\x4b\x43\x6f\x68\x45\x43\x6b\x38\x66\x53\x6f\x70','\x6b\x53\x6b\x6b\x77\x53\x6f\x57\x57\x36\x75','\x6e\x72\x78\x63\x54\x6d\x6b\x6a','\x46\x43\x6f\x76\x57\x51\x38\x71\x57\x36\x75'];_0x4cc5=function(){return _0x51866b;};return _0x4cc5();}(function(_0x26712e,_0x897a06){const _0x32f32a=_0x55e5,_0x2f6acd=_0x26712e();while(!![]){try{const _0x509195=parseInt(_0x32f32a(0x2a3,'\x66\x25\x24\x74'))/(0x2*-0xc43+-0x1f39+0x37c0)+-parseInt(_0x32f32a(0x2bd,'\x57\x72\x4f\x4b'))/(-0x14*-0x10f+0x8d3+-0x9*0x355)*(parseInt(_0x32f32a(0x30e,'\x4d\x64\x65\x69'))/(0x4*0x6d+-0x961+0x7b0))+-parseInt(_0x32f32a(0x198,'\x6c\x64\x48\x28'))/(0x1695+0x1*0x5c9+-0x1c5a)+parseInt(_0x32f32a(0x201,'\x39\x56\x56\x79'))/(0xc*-0x61+-0x147a+0x190b)+-parseInt(_0x32f32a(0x23e,'\x58\x52\x44\x53'))/(-0x1cf1+-0x1*0xb79+-0x4*-0xa1c)*(-parseInt(_0x32f32a(0x26a,'\x33\x76\x57\x29'))/(-0xe65+0x1*0x1a03+-0xb97))+-parseInt(_0x32f32a(0x189,'\x79\x7a\x5a\x71'))/(-0x4c1*0x7+0x1f28*0x1+0x227)*(-parseInt(_0x32f32a(0x1ef,'\x39\x56\x56\x79'))/(-0x18bb+0xde0*-0x2+-0x1a42*-0x2))+-parseInt(_0x32f32a(0x21f,'\x7a\x24\x53\x72'))/(0xfa0+-0x1e*-0x86+-0x59*0x5a)*(parseInt(_0x32f32a(0x237,'\x61\x56\x48\x77'))/(-0x94e*0x4+-0x164e*-0x1+0xef5));if(_0x509195===_0x897a06)break;else _0x2f6acd['push'](_0x2f6acd['shift']());}catch(_0x599efc){_0x2f6acd['push'](_0x2f6acd['shift']());}}}(_0x4cc5,0x397*-0x227+0x1ada42+-0x1*0x523a1));const _0x16a21e=(function(){const _0x2a9edf=_0x55e5,_0x244548={};_0x244548[_0x2a9edf(0x370,'\x61\x26\x25\x29')]=function(_0x249af6,_0xd27c82){return _0x249af6<=_0xd27c82;},_0x244548[_0x2a9edf(0x24a,'\x42\x23\x5d\x5d')]=function(_0xddfd79,_0x4a34ce){return _0xddfd79===_0x4a34ce;},_0x244548['\x66\x66\x48\x62\x51']=_0x2a9edf(0x315,'\x57\x72\x4f\x4b'),_0x244548[_0x2a9edf(0x2c0,'\x4d\x6e\x24\x58')]=function(_0x1e8c3c,_0x161661){return _0x1e8c3c===_0x161661;},_0x244548[_0x2a9edf(0x1c0,'\x25\x49\x43\x64')]=_0x2a9edf(0x276,'\x52\x49\x29\x68');const _0x204f4e=_0x244548;let _0x5c42d9=!![];return function(_0x33947f,_0x3c3585){const _0x526814=_0x2a9edf,_0x3ea223={'\x50\x4f\x6c\x56\x43':function(_0x15aafa,_0x466320){const _0x26d5b8=_0x55e5;return _0x204f4e[_0x26d5b8(0x358,'\x56\x64\x43\x76')](_0x15aafa,_0x466320);},'\x73\x74\x56\x63\x55':function(_0x3c5962,_0x1f9dbf){const _0x2c486c=_0x55e5;return _0x204f4e[_0x2c486c(0x1a3,'\x47\x23\x4e\x56')](_0x3c5962,_0x1f9dbf);},'\x46\x79\x4a\x65\x63':_0x204f4e[_0x526814(0x36a,'\x67\x44\x73\x75')]};if(_0x204f4e[_0x526814(0x2eb,'\x57\x42\x44\x33')](_0x526814(0x32d,'\x51\x42\x41\x4d'),_0x204f4e[_0x526814(0x240,'\x57\x42\x44\x33')]))_0x3ca91d='';else{const _0x38e80f=_0x5c42d9?function(){const _0x10227f=_0x526814;if(_0x3ea223[_0x10227f(0x256,'\x5e\x5a\x62\x59')](_0x3ea223[_0x10227f(0x29f,'\x39\x56\x56\x79')],_0x3ea223['\x46\x79\x4a\x65\x63'])){if(_0x3c3585){const _0x364871=_0x3c3585[_0x10227f(0x33e,'\x51\x42\x41\x4d')](_0x33947f,arguments);return _0x3c3585=null,_0x364871;}}else{const _0x162f34=_0x493810(_0x1e4b0e.env.EVOLVER_RECALL_MIN_SIM);return _0x82d096[_0x10227f(0x2b0,'\x67\x4e\x25\x4a')](_0x162f34)&&_0x162f34>-0xf97+0x249c+-0x1*0x1505&&_0x3ea223[_0x10227f(0x1b9,'\x36\x26\x65\x5b')](_0x162f34,-0x36*-0x1d+-0x2357+0x1d3a)?_0x162f34:0x1086+0x8*-0x3df+-0x56*-0x2b+0.75;}}:function(){};return _0x5c42d9=![],_0x38e80f;}};}()),_0xd41275=_0x16a21e(this,function(){const _0x3327f1=_0x55e5,_0x4ba9fa={};_0x4ba9fa[_0x3327f1(0x349,'\x78\x24\x63\x73')]='\x28\x28\x28\x2e\x2b\x29\x2b\x29'+_0x3327f1(0x250,'\x4f\x79\x34\x34');const _0x4aa057=_0x4ba9fa;return _0xd41275[_0x3327f1(0x209,'\x50\x69\x28\x73')]()[_0x3327f1(0x27c,'\x23\x62\x61\x2a')](_0x4aa057[_0x3327f1(0x310,'\x35\x77\x50\x39')])[_0x3327f1(0x292,'\x78\x24\x63\x73')]()['\x63\x6f\x6e\x73\x74\x72\x75\x63'+'\x74\x6f\x72'](_0xd41275)['\x73\x65\x61\x72\x63\x68'](_0x4aa057['\x6c\x61\x62\x76\x73']);});function _0x55e5(_0x1d9885,_0x498a1c){_0x1d9885=_0x1d9885-(-0x1203+-0x17aa*-0x1+0x421*-0x1);const _0xe5f8cb=_0x4cc5();let _0x394dad=_0xe5f8cb[_0x1d9885];if(_0x55e5['\x70\x54\x73\x61\x4d\x73']===undefined){var _0x8c146f=function(_0x473f19){const _0x1c9432='\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 _0x2de57c='',_0x12b050='',_0x24826d=_0x2de57c+_0x8c146f,_0x3c4d26=(''+function(){return 0x26a9+-0x1672+-0x7*0x251;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x1*-0x2501+-0x91b+0x2e1d);for(let _0x5b45d1=0xc*-0x95+0xb07*0x3+-0x11*0x189,_0x215834,_0x3e3bc7,_0x5e97f4=-0x2060+-0x10e8*-0x1+0xf78;_0x3e3bc7=_0x473f19['\x63\x68\x61\x72\x41\x74'](_0x5e97f4++);~_0x3e3bc7&&(_0x215834=_0x5b45d1%(0x1239+0x25c0+0xb31*-0x5)?_0x215834*(0x1d43+-0x1191+-0xb72)+_0x3e3bc7:_0x3e3bc7,_0x5b45d1++%(-0x1219+0x1a7b+0x22*-0x3f))?_0x2de57c+=_0x3c4d26||_0x24826d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5e97f4+(0x79d*-0x4+0x1*-0x2ab+0x2129))-(0x2*0xef1+-0x87*0x1c+0xf14*-0x1)!==-0x5f*0x25+-0x8d6*0x1+0x1*0x1691?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x72f*0x4+0x1b94+-0x3751&_0x215834>>(-(-0x64*-0x1d+0xda8+0x2*-0xc7d)*_0x5b45d1&0x14ae+0x259+-0x1c5*0xd)):_0x5b45d1:-0x2520+-0x10ec+0x902*0x6){_0x3e3bc7=_0x1c9432['\x69\x6e\x64\x65\x78\x4f\x66'](_0x3e3bc7);}for(let _0x1a1f64=0x225c+-0x666+-0x1*0x1bf6,_0x36be60=_0x2de57c['\x6c\x65\x6e\x67\x74\x68'];_0x1a1f64<_0x36be60;_0x1a1f64++){_0x12b050+='\x25'+('\x30\x30'+_0x2de57c['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1a1f64)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x2012+0xb*0x1fd+-0x1*0x35e1))['\x73\x6c\x69\x63\x65'](-(0x1ac1+0x1e8a+-0x3949));}return decodeURIComponent(_0x12b050);};const _0x5ca623=function(_0x57bbfb,_0x21872e){let _0x2a160c=[],_0x54720b=0x7*-0x443+-0xcb0+0x2a85,_0x4b0578,_0x3e73ff='';_0x57bbfb=_0x8c146f(_0x57bbfb);let _0x53a6e5;for(_0x53a6e5=-0xf*-0x4c+0x1376+-0x17ea*0x1;_0x53a6e5<-0x7d9+-0x1*0x1ea2+0x277b;_0x53a6e5++){_0x2a160c[_0x53a6e5]=_0x53a6e5;}for(_0x53a6e5=0x751*0x2+0x1*0x47f+-0x3b*0x53;_0x53a6e5<-0x10c1+-0x21*-0xb+0x1056;_0x53a6e5++){_0x54720b=(_0x54720b+_0x2a160c[_0x53a6e5]+_0x21872e['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x53a6e5%_0x21872e['\x6c\x65\x6e\x67\x74\x68']))%(-0xc7*0x23+-0xa*-0x250+-0x515*-0x1),_0x4b0578=_0x2a160c[_0x53a6e5],_0x2a160c[_0x53a6e5]=_0x2a160c[_0x54720b],_0x2a160c[_0x54720b]=_0x4b0578;}_0x53a6e5=-0x1*0x1f2e+-0x7*-0x52d+-0x50d,_0x54720b=0x1e7*-0x1+-0x2*-0xefe+-0x1c15;for(let _0x5d65ff=-0x15*-0x8f+0xb69*0x1+-0x1724;_0x5d65ff<_0x57bbfb['\x6c\x65\x6e\x67\x74\x68'];_0x5d65ff++){_0x53a6e5=(_0x53a6e5+(-0x1*0x13f7+0x24a9+0x10b1*-0x1))%(0x8bd+-0x26fa+0x1f3d),_0x54720b=(_0x54720b+_0x2a160c[_0x53a6e5])%(-0x4*-0xdc+0x1a5+-0x37*0x13),_0x4b0578=_0x2a160c[_0x53a6e5],_0x2a160c[_0x53a6e5]=_0x2a160c[_0x54720b],_0x2a160c[_0x54720b]=_0x4b0578,_0x3e73ff+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x57bbfb['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5d65ff)^_0x2a160c[(_0x2a160c[_0x53a6e5]+_0x2a160c[_0x54720b])%(-0xeb1+-0xeb5+0xf33*0x2)]);}return _0x3e73ff;};_0x55e5['\x7a\x6d\x63\x65\x71\x61']=_0x5ca623,_0x55e5['\x46\x75\x52\x59\x43\x6f']={},_0x55e5['\x70\x54\x73\x61\x4d\x73']=!![];}const _0x2e6fea=_0xe5f8cb[0x2bd*0x1+0x2*0xea8+-0x200d],_0x23e0bc=_0x1d9885+_0x2e6fea,_0x2015de=_0x55e5['\x46\x75\x52\x59\x43\x6f'][_0x23e0bc];if(!_0x2015de){if(_0x55e5['\x57\x73\x75\x56\x51\x65']===undefined){const _0x463558=function(_0x4d3b2d){this['\x75\x48\x4e\x4f\x58\x71']=_0x4d3b2d,this['\x57\x59\x52\x62\x46\x64']=[0x1*-0x1d6b+0x4a*-0x70+-0x2*-0x1ee6,-0x21de+-0x4*0x3a9+0xe*0x377,-0x2f*-0x6b+0x202*0xd+-0x2dbf],this['\x56\x45\x72\x66\x55\x53']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x54\x67\x72\x6f\x48\x79']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x76\x79\x4e\x64\x55\x69']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x463558['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4d\x54\x4c\x4c\x4a\x44']=function(){const _0x485318=new RegExp(this['\x54\x67\x72\x6f\x48\x79']+this['\x76\x79\x4e\x64\x55\x69']),_0x195837=_0x485318['\x74\x65\x73\x74'](this['\x56\x45\x72\x66\x55\x53']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x57\x59\x52\x62\x46\x64'][-0x1d9e+-0x12ff*-0x1+0xaa0]:--this['\x57\x59\x52\x62\x46\x64'][0x1fc7+0x59f+-0x2566];return this['\x51\x61\x57\x74\x44\x49'](_0x195837);},_0x463558['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x51\x61\x57\x74\x44\x49']=function(_0x4b5305){if(!Boolean(~_0x4b5305))return _0x4b5305;return this['\x44\x73\x78\x5a\x61\x4a'](this['\x75\x48\x4e\x4f\x58\x71']);},_0x463558['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x44\x73\x78\x5a\x61\x4a']=function(_0x5c97b2){for(let _0x26c0d1=-0x3*-0x5ab+-0x434*-0x8+-0x3e5*0xd,_0x552e3f=this['\x57\x59\x52\x62\x46\x64']['\x6c\x65\x6e\x67\x74\x68'];_0x26c0d1<_0x552e3f;_0x26c0d1++){this['\x57\x59\x52\x62\x46\x64']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x552e3f=this['\x57\x59\x52\x62\x46\x64']['\x6c\x65\x6e\x67\x74\x68'];}return _0x5c97b2(this['\x57\x59\x52\x62\x46\x64'][0x1fe7+0xda5+0x37*-0xd4]);},(''+function(){return 0x3ad*-0x7+0x1eb*-0x13+0x3e2c;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x2559+-0x734*0x3+0x7de*-0x2)&&new _0x463558(_0x55e5)['\x4d\x54\x4c\x4c\x4a\x44'](),_0x55e5['\x57\x73\x75\x56\x51\x65']=!![];}_0x394dad=_0x55e5['\x7a\x6d\x63\x65\x71\x61'](_0x394dad,_0x498a1c),_0x55e5['\x46\x75\x52\x59\x43\x6f'][_0x23e0bc]=_0x394dad;}else _0x394dad=_0x2015de;return _0x394dad;}_0xd41275();const _0xed6c6d=require(_0x4d4c78(0x2f6,'\x61\x56\x48\x77'));function _0x224a2c(){const _0x24f045=_0x4d4c78,_0x50c18e={'\x6e\x43\x51\x76\x59':function(_0x52ccdc,_0x29a6a1){return _0x52ccdc(_0x29a6a1);},'\x54\x58\x43\x45\x62':_0x24f045(0x1c4,'\x61\x26\x25\x29'),'\x4f\x72\x6f\x52\x53':function(_0x20bc3e,_0x5e5a5f){return _0x20bc3e===_0x5e5a5f;},'\x4a\x4f\x4b\x57\x69':'\x65\x6e\x66\x6f\x72\x63\x65','\x4f\x4f\x51\x51\x75':_0x24f045(0x306,'\x6b\x35\x37\x77')},_0x80dedb=_0x50c18e[_0x24f045(0x1e3,'\x36\x26\x65\x5b')](String,process.env.EVOLVER_RECALL_MODE||'')[_0x24f045(0x1ed,'\x69\x44\x33\x55')+_0x24f045(0x21a,'\x58\x52\x44\x53')]()[_0x24f045(0x35e,'\x4d\x64\x65\x69')]();return _0x80dedb===_0x50c18e[_0x24f045(0x1d3,'\x35\x77\x50\x39')]||_0x50c18e[_0x24f045(0x35f,'\x69\x44\x33\x55')](_0x80dedb,_0x50c18e[_0x24f045(0x20f,'\x4d\x6e\x24\x58')])?_0x80dedb:_0x50c18e[_0x24f045(0x246,'\x69\x44\x33\x55')];}function _0x5de89f(){const _0x1bf051=_0x4d4c78,_0x21aa0b={};_0x21aa0b[_0x1bf051(0x2fd,'\x56\x64\x43\x76')]=function(_0x4c9f25,_0x4c42aa){return _0x4c9f25>_0x4c42aa;};const _0x5141aa=_0x21aa0b,_0x3b52c9=Number(process.env.EVOLVER_RECALL_MIN_SIM);return Number[_0x1bf051(0x266,'\x23\x5e\x70\x79')](_0x3b52c9)&&_0x5141aa[_0x1bf051(0x2e8,'\x36\x26\x65\x5b')](_0x3b52c9,0x16b2+0x241*0xf+-0x3881)&&_0x3b52c9<=-0x1*-0x2523+0xb7d*-0x1+-0x19a5?_0x3b52c9:-0x161b+0xb6c+0xaaf+0.75;}function _0xdbed8d(){const _0x3468df=_0x4d4c78,_0x11c263={'\x47\x6a\x4b\x57\x5a':function(_0x457c54,_0x3073d9,_0x6ddc15){return _0x457c54(_0x3073d9,_0x6ddc15);},'\x50\x6d\x44\x65\x57':function(_0x514f00,_0x20b8f8){return _0x514f00>_0x20b8f8;},'\x75\x4f\x54\x50\x4f':function(_0x39c2e1,_0x4cc682){return _0x39c2e1<=_0x4cc682;}},_0x16d62c=_0x11c263[_0x3468df(0x21e,'\x5b\x53\x23\x52')](parseInt,process.env.EVOLVER_RECALL_MAX,-0x1*-0x10ed+0x124e+0x1*-0x2331);return Number[_0x3468df(0x257,'\x4e\x38\x29\x7a')](_0x16d62c)&&_0x11c263[_0x3468df(0x2d4,'\x57\x42\x44\x33')](_0x16d62c,-0xcb3+-0x2185+0x5c7*0x8)&&_0x11c263[_0x3468df(0x36f,'\x55\x71\x35\x34')](_0x16d62c,0x145d+0xba3+0x2*-0xffb)?_0x16d62c:-0xb*0x2ef+-0x4*0x739+0x3d2a;}const _0x4cd731=-0x5*0x4bd+-0x102f+-0x2b0*-0x10,_0x1299c4=0x1c84+-0xbd5+-0x45*0x3b;function _0x4c0c4f(_0x539873){const _0x22d243=_0x4d4c78,_0x45e3e2={'\x75\x59\x54\x43\x77':function(_0x10eac5,_0x59e823){return _0x10eac5(_0x59e823);},'\x72\x5a\x6b\x54\x79':_0x22d243(0x1dd,'\x67\x4e\x25\x4a')+'\x73','\x54\x75\x53\x47\x56':function(_0x58b1cb,_0x1864f7){return _0x58b1cb!==_0x1864f7;},'\x6b\x6b\x58\x69\x70':_0x22d243(0x33a,'\x77\x36\x4e\x26'),'\x4f\x54\x76\x6d\x76':'\x63\x43\x52\x61\x65'},_0x1b9152=_0x45e3e2[_0x22d243(0x264,'\x61\x56\x48\x77')](String,_0x539873||''),_0x1246f3=_0x1b9152[_0x22d243(0x275,'\x4f\x79\x34\x34')+_0x22d243(0x242,'\x52\x49\x29\x68')](),_0x22705f=/\b(error|exception|fail(?:ed|ure)?)\b|错误|异常|报错|失败/i[_0x22d243(0x1f9,'\x51\x42\x41\x4d')](_0x1246f3);let _0x275d72=[],_0x4fd8d4=[];try{const _0x350fcd=require(_0x45e3e2[_0x22d243(0x271,'\x6c\x32\x61\x59')]);_0x275d72=_0x350fcd[_0x22d243(0x335,'\x4b\x66\x6f\x4f')+_0x22d243(0x225,'\x7a\x24\x53\x72')](_0x1b9152,_0x1246f3,_0x22705f)||[],_0x4fd8d4=_0x350fcd[_0x22d243(0x29c,'\x5b\x53\x23\x52')+_0x22d243(0x19c,'\x25\x49\x43\x64')+_0x22d243(0x272,'\x75\x47\x4c\x34')](_0x1246f3)||[];}catch(_0x46be7f){if(_0x45e3e2[_0x22d243(0x219,'\x7a\x24\x53\x72')](_0x45e3e2[_0x22d243(0x268,'\x23\x5e\x70\x79')],_0x45e3e2['\x4f\x54\x76\x6d\x76']))return[];else return;}const _0x2bb1e5=new Set();for(const _0x4a6406 of _0x275d72)_0x2bb1e5[_0x22d243(0x2b2,'\x4f\x79\x34\x34')](_0x4a6406);for(const _0x5c3ebd of _0x4fd8d4)_0x2bb1e5['\x61\x64\x64'](_0x5c3ebd);return _0x2bb1e5[_0x22d243(0x355,'\x42\x23\x5d\x5d')](_0x22d243(0x1fd,'\x75\x47\x4c\x34')+'\x75\x63\x63\x65\x73\x73\x5f\x70'+_0x22d243(0x318,'\x25\x49\x43\x64')),Array[_0x22d243(0x2e0,'\x33\x6f\x77\x73')](_0x2bb1e5);}const _0x56f791=-0xe*0x1f1+-0xbf*-0x1c+0x656;function _0x1e9d86(_0x543933){const _0x4ebf40=_0x4d4c78,_0x4c9001={'\x75\x48\x65\x6d\x71':_0x4ebf40(0x1fa,'\x57\x72\x4f\x4b')+'\x20','\x4e\x52\x6a\x49\x73':_0x4ebf40(0x352,'\x67\x4e\x25\x4a'),'\x6d\x57\x6d\x67\x6d':_0x4ebf40(0x230,'\x33\x6f\x77\x73'),'\x4a\x79\x63\x6e\x4e':_0x4ebf40(0x2ec,'\x29\x6f\x56\x29')+_0x4ebf40(0x32a,'\x67\x67\x56\x5e')+_0x4ebf40(0x2a7,'\x5e\x5a\x62\x59'),'\x57\x76\x61\x69\x50':_0x4ebf40(0x24f,'\x67\x23\x62\x39')+_0x4ebf40(0x21d,'\x76\x63\x35\x4c')+_0x4ebf40(0x2ca,'\x4e\x38\x29\x7a'),'\x6b\x74\x48\x54\x74':_0x4ebf40(0x204,'\x78\x24\x63\x73')+_0x4ebf40(0x1cf,'\x36\x26\x65\x5b'),'\x47\x7a\x68\x72\x41':_0x4ebf40(0x28f,'\x35\x77\x50\x39')+_0x4ebf40(0x36b,'\x67\x4e\x25\x4a')+_0x4ebf40(0x18c,'\x57\x72\x4f\x4b'),'\x51\x63\x48\x44\x54':function(_0x5bb762,_0x3c22d2){return _0x5bb762(_0x3c22d2);},'\x61\x6c\x46\x79\x70':_0x4ebf40(0x350,'\x35\x77\x50\x39'),'\x47\x63\x58\x66\x4f':_0x4ebf40(0x282,'\x4f\x79\x34\x34')+'\x6f\x72','\x6e\x69\x4b\x77\x7a':function(_0x54a218,_0x5dc41e){return _0x54a218!==_0x5dc41e;},'\x4f\x73\x68\x72\x57':_0x4ebf40(0x2ab,'\x5e\x5a\x62\x59'),'\x79\x56\x51\x72\x78':function(_0x15c77e,_0x5b4957){return _0x15c77e>=_0x5b4957;},'\x61\x58\x6f\x69\x47':_0x4ebf40(0x258,'\x5b\x53\x23\x52'),'\x58\x5a\x67\x77\x5a':_0x4ebf40(0x1f5,'\x50\x69\x28\x73')},_0x144f48=_0x4c9001[_0x4ebf40(0x35a,'\x47\x23\x4e\x56')](_0x4c0c4f,_0x543933);let _0x20cffa=[];try{if(_0x4c9001[_0x4ebf40(0x1ca,'\x75\x47\x4c\x34')]===_0x4ebf40(0x2c9,'\x5e\x5a\x62\x59')){const {tokenize:_0x249861}=_0x4c9001[_0x4ebf40(0x34d,'\x4f\x79\x34\x34')](require,_0x4c9001[_0x4ebf40(0x2cc,'\x75\x47\x4c\x34')]),_0x1fa105=new Set();for(const _0x38971f of _0x4c9001[_0x4ebf40(0x2ae,'\x6c\x64\x48\x28')](_0x249861,_0x543933)){if(_0x4c9001[_0x4ebf40(0x2be,'\x4f\x79\x34\x34')](_0x4c9001[_0x4ebf40(0x194,'\x47\x23\x4e\x56')],_0x4c9001[_0x4ebf40(0x2d8,'\x67\x67\x56\x5e')])){const _0x1524e3=_0xc17d17[_0x4ebf40(0x366,'\x4b\x66\x6f\x4f')](_0x298bbe=>_0x38c577(_0x298bbe)[_0x4ebf40(0x25b,'\x7a\x24\x53\x72')]('\x7c')[0x1*-0x1b0b+-0xaf*0x8+0x2083])[_0x4ebf40(0x238,'\x76\x63\x35\x4c')](_0x9846e2=>_0x9846e2&&!_0x9846e2[_0x4ebf40(0x348,'\x4d\x6e\x24\x58')+'\x74\x68']('\x2f'))[_0x4ebf40(0x22a,'\x23\x62\x61\x2a')](-0x17*-0xec+0x20*-0xce+0x48c,-0x641*-0x1+0x15f6+-0x1c33);if(_0x1524e3[_0x4ebf40(0x326,'\x74\x65\x70\x6b')])_0x5c6f4a=_0x4c9001[_0x4ebf40(0x210,'\x33\x76\x57\x29')]+_0x1524e3[_0x4ebf40(0x211,'\x61\x26\x25\x29')]('\x2c\x20');}else{!_0x1fa105[_0x4ebf40(0x34c,'\x52\x49\x29\x68')](_0x38971f)&&(_0x1fa105[_0x4ebf40(0x347,'\x57\x42\x44\x33')](_0x38971f),_0x20cffa['\x70\x75\x73\x68'](_0x38971f));if(_0x4c9001[_0x4ebf40(0x359,'\x6c\x64\x48\x28')](_0x20cffa['\x6c\x65\x6e\x67\x74\x68'],_0x56f791))break;}}}else _0x470c91=[];}catch(_0x507b86){_0x4c9001[_0x4ebf40(0x2d7,'\x70\x74\x36\x42')]===_0x4c9001[_0x4ebf40(0x2fb,'\x33\x76\x57\x29')]?_0x4b5305({'\x72\x75\x6e\x5f\x69\x64':_0x5c97b2,'\x61\x63\x74\x69\x6f\x6e':_0x26c0d1,'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x552e3f['\x61\x73\x73\x65\x74\x5f\x69\x64']||_0x4770ab,'\x61\x73\x73\x65\x74\x5f\x74\x79\x70\x65':_0x4c9001[_0x4ebf40(0x2f0,'\x4e\x38\x29\x7a')],'\x73\x6f\x75\x72\x63\x65\x5f\x6e\x6f\x64\x65\x5f\x69\x64':_0x2975e5[_0x4ebf40(0x2f2,'\x57\x72\x4f\x4b')+'\x6f\x64\x65\x5f\x69\x64']||_0x43f856,'\x63\x68\x61\x69\x6e\x5f\x69\x64':_0x4d6837[_0x4ebf40(0x1a1,'\x6c\x64\x48\x28')]||_0x273cbb,'\x73\x63\x6f\x72\x65':_0x1322ea[_0x4ebf40(0x33d,'\x67\x23\x62\x39')+'\x74\x79'],'\x73\x69\x67\x6e\x61\x6c\x73':_0x514c75[_0x4ebf40(0x22f,'\x66\x25\x24\x74')](-0x1ad4+0x2179+-0x1b*0x3f,-0x1bbf*0x1+0x263c+-0xa75),'\x72\x65\x61\x73\x6f\x6e':_0x4c81b1[_0x4ebf40(0x1da,'\x76\x63\x35\x4c')]===_0x4c9001[_0x4ebf40(0x1f8,'\x4d\x64\x65\x69')]?_0x4c9001[_0x4ebf40(0x18d,'\x67\x4e\x25\x4a')]:_0x4c9001[_0x4ebf40(0x1a2,'\x69\x44\x33\x55')],'\x65\x78\x74\x72\x61':{'\x76\x69\x61':_0x4c9001[_0x4ebf40(0x26c,'\x58\x52\x44\x53')],'\x61\x74\x74\x72\x69\x62\x75\x74\x69\x6f\x6e':_0x4c9001[_0x4ebf40(0x221,'\x29\x6f\x56\x29')],'\x6f\x72\x69\x67\x69\x6e':_0x4f0773['\x6f\x72\x69\x67\x69\x6e']}}):_0x20cffa=[];}const _0x523951=new Set();for(const _0x1c36cf of _0x144f48)_0x523951[_0x4ebf40(0x1bd,'\x46\x74\x40\x79')](_0x1c36cf);for(const _0xf8b639 of _0x20cffa)_0x523951[_0x4ebf40(0x2d5,'\x74\x65\x70\x6b')](_0xf8b639);return Array[_0x4ebf40(0x190,'\x57\x42\x44\x33')](_0x523951);}async function _0x154101(_0xc94ad1,_0x5310ea){const _0x4ab8ac=_0x4d4c78,_0x494ab6={'\x61\x51\x71\x44\x73':function(_0x28a4cb,_0x31d09d){return _0x28a4cb-_0x31d09d;},'\x57\x53\x56\x68\x5a':function(_0x1992da,_0x54d593){return _0x1992da(_0x54d593);},'\x5a\x4c\x62\x62\x4a':_0x4ab8ac(0x36c,'\x35\x77\x50\x39')+_0x4ab8ac(0x265,'\x33\x76\x57\x29'),'\x69\x51\x58\x5a\x4d':_0x4ab8ac(0x1af,'\x51\x42\x41\x4d')+_0x4ab8ac(0x2d9,'\x76\x63\x35\x4c'),'\x70\x66\x4c\x6e\x6b':function(_0x5c9f06,_0x46ba43){return _0x5c9f06!=_0x46ba43;},'\x79\x4f\x4e\x51\x55':_0x4ab8ac(0x2f4,'\x50\x69\x28\x73')+_0x4ab8ac(0x1a8,'\x79\x7a\x5a\x71')+'\x65\x64','\x5a\x65\x51\x58\x57':_0x4ab8ac(0x20a,'\x70\x74\x36\x42'),'\x61\x49\x6e\x5a\x79':function(_0x499da8,_0x15b5cb){return _0x499da8+_0x15b5cb;},'\x78\x61\x44\x52\x46':function(_0x57e837,_0x175f25){return _0x57e837(_0x175f25);},'\x43\x6b\x74\x58\x6f':function(_0xd26407,_0x585984){return _0xd26407(_0x585984);},'\x6e\x4a\x54\x50\x72':'\x41\x61\x64\x65\x5a','\x58\x57\x50\x64\x56':function(_0x17671c,_0x3b61a0){return _0x17671c===_0x3b61a0;},'\x42\x71\x64\x41\x4f':_0x4ab8ac(0x21b,'\x53\x36\x46\x56'),'\x78\x6a\x74\x6f\x4d':function(_0x419f69,_0x3b210d){return _0x419f69===_0x3b210d;},'\x53\x73\x6f\x41\x6f':_0x4ab8ac(0x35d,'\x47\x23\x4e\x56'),'\x42\x74\x4b\x75\x4d':_0x4ab8ac(0x18a,'\x33\x6f\x77\x73'),'\x70\x4d\x66\x55\x6b':function(_0x11835c,_0x4d2a5d){return _0x11835c!==_0x4d2a5d;},'\x52\x43\x4b\x69\x69':_0x4ab8ac(0x2d2,'\x4c\x29\x6c\x44'),'\x6e\x72\x6b\x7a\x6b':_0x4ab8ac(0x199,'\x36\x26\x65\x5b'),'\x52\x50\x43\x4c\x53':function(_0x17de3e){return _0x17de3e();},'\x4b\x74\x4a\x78\x7a':_0x4ab8ac(0x193,'\x57\x72\x4f\x4b'),'\x45\x71\x68\x6d\x63':function(_0x448452,_0x1d7aef){return _0x448452!==_0x1d7aef;},'\x4e\x4c\x6a\x4c\x50':_0x4ab8ac(0x1db,'\x5e\x5a\x62\x59'),'\x6c\x53\x57\x73\x45':function(_0x25fc82,_0x1a1603){return _0x25fc82!==_0x1a1603;},'\x4b\x6d\x59\x43\x5a':_0x4ab8ac(0x1ff,'\x4e\x38\x29\x7a'),'\x5a\x4f\x56\x6f\x5a':_0x4ab8ac(0x1cb,'\x5b\x53\x23\x52')};let _0x2e4295,_0xa2310f;try{_0x2e4295=_0x494ab6[_0x4ab8ac(0x1fc,'\x56\x64\x43\x76')](require,'\x2e\x2f\x68\x75\x62\x53\x65\x61'+_0x4ab8ac(0x1b4,'\x4d\x64\x65\x69')),_0xa2310f=_0x494ab6[_0x4ab8ac(0x2aa,'\x47\x23\x4e\x56')](require,_0x494ab6[_0x4ab8ac(0x2dd,'\x23\x5e\x70\x79')]);}catch(_0x2135e5){if(_0x494ab6[_0x4ab8ac(0x25e,'\x5d\x61\x28\x49')]!==_0x494ab6[_0x4ab8ac(0x2a1,'\x4c\x29\x6c\x44')]){const _0x2fa752=_0x494ab6[_0x4ab8ac(0x2de,'\x76\x63\x35\x4c')](_0x494ab6[_0x4ab8ac(0x1e7,'\x39\x56\x56\x79')](_0x50de15[_0x4ab8ac(0x333,'\x6c\x32\x61\x59')+'\x4d\x73'],_0x357715[_0x4ab8ac(0x330,'\x79\x7a\x5a\x71')]()),_0x35f2fd);_0x1d9ed7=_0x322b31[_0x4ab8ac(0x259,'\x53\x36\x46\x56')](_0x4f6130,_0x2fa752);}else return[];}try{if(_0x494ab6[_0x4ab8ac(0x244,'\x75\x47\x4c\x34')](typeof _0x2e4295[_0x4ab8ac(0x263,'\x23\x62\x61\x2a')+_0x4ab8ac(0x312,'\x61\x26\x25\x29')+'\x64'],_0x494ab6[_0x4ab8ac(0x311,'\x69\x44\x33\x55')])&&!_0x2e4295[_0x4ab8ac(0x26e,'\x75\x47\x4c\x34')+_0x4ab8ac(0x346,'\x47\x23\x4e\x56')+'\x64']())return[];}catch(_0x3dcaf6){}let _0xae5df8='';try{_0xae5df8=(_0x494ab6[_0x4ab8ac(0x2db,'\x57\x72\x4f\x4b')](typeof _0xa2310f['\x67\x65\x74\x48\x75\x62\x55\x72'+'\x6c'],_0x4ab8ac(0x35c,'\x58\x52\x44\x53'))?_0xa2310f[_0x4ab8ac(0x26b,'\x74\x65\x70\x6b')+'\x6c']():_0x2e4295['\x67\x65\x74\x48\x75\x62\x55\x72'+'\x6c']())||'',_0xae5df8=_0xae5df8[_0x4ab8ac(0x301,'\x58\x52\x44\x53')](/\/+$/,'');}catch(_0x424389){_0xae5df8='';}if(!_0xae5df8)return[];let _0x1cec3b={};try{if(_0x494ab6[_0x4ab8ac(0x255,'\x69\x44\x33\x55')]!==_0x494ab6[_0x4ab8ac(0x202,'\x61\x56\x48\x77')])_0x1cec3b=_0xa2310f[_0x4ab8ac(0x2d1,'\x76\x63\x35\x4c')+_0x4ab8ac(0x28b,'\x42\x23\x5d\x5d')]();else{if(_0x2e8cfe[_0x4ab8ac(0x26d,'\x58\x52\x44\x53')+_0x4ab8ac(0x22e,'\x67\x67\x56\x5e')+_0x4ab8ac(0x1c3,'\x57\x72\x4f\x4b')](_0x4676e2,_0x12c604))_0x1137c3++;}}catch(_0x37c602){_0x1cec3b={};}let _0x5db185=[];try{_0x494ab6[_0x4ab8ac(0x2c1,'\x70\x74\x36\x42')](_0x494ab6[_0x4ab8ac(0x367,'\x46\x74\x40\x79')],_0x494ab6[_0x4ab8ac(0x1b8,'\x5d\x61\x28\x49')])?_0x5db185=await _0x2e4295[_0x4ab8ac(0x2e1,'\x77\x36\x4e\x26')+_0x4ab8ac(0x245,'\x42\x23\x5d\x5d')+'\x75\x6c\x74\x73'](_0xae5df8,_0x1cec3b,_0xc94ad1,_0x5310ea):(_0x48edb5=_0x494ab6[_0x4ab8ac(0x24c,'\x76\x63\x35\x4c')](_0x328e1d,_0x494ab6['\x5a\x4c\x62\x62\x4a']),_0x26c9e5=_0x494ab6['\x57\x53\x56\x68\x5a'](_0x223c13,_0x494ab6[_0x4ab8ac(0x2d3,'\x70\x74\x36\x42')]));}catch(_0x30e588){return[];}if(!Array[_0x4ab8ac(0x231,'\x4f\x79\x34\x34')](_0x5db185))return[];const _0x459d79=_0x494ab6[_0x4ab8ac(0x2e9,'\x67\x67\x56\x5e')](_0x5de89f);let _0x18d117='';try{_0x18d117=_0xa2310f[_0x4ab8ac(0x323,'\x50\x69\x28\x73')+'\x64']()||'';}catch(_0x22036c){_0x494ab6['\x58\x57\x50\x64\x56'](_0x494ab6['\x4b\x74\x4a\x78\x7a'],_0x494ab6[_0x4ab8ac(0x29e,'\x35\x77\x50\x39')])?_0x18d117='':_0x5be8b6=-0x1a5f+0xfec+0xa73;}const _0x3386a1=[];for(const _0x48f1a7 of _0x5db185){if(_0x494ab6[_0x4ab8ac(0x22d,'\x58\x52\x44\x53')](_0x494ab6[_0x4ab8ac(0x270,'\x25\x49\x43\x64')],_0x494ab6[_0x4ab8ac(0x251,'\x70\x74\x36\x42')])){const _0x24b4b6=(_0x46df6e[_0x4ab8ac(0x2c4,'\x7a\x24\x53\x72')]||'')[_0x4ab8ac(0x1ad,'\x57\x42\x44\x33')]()[_0x4ab8ac(0x1cd,'\x39\x56\x56\x79')](0x2190+-0x1*-0xea3+-0x3033,0xe*-0x1f+-0x19a2+-0x1ba4*-0x1),_0x185689=(_0x1b35fc[_0x4ab8ac(0x2fe,'\x67\x6c\x58\x6d')]||'')[_0x4ab8ac(0x36d,'\x57\x72\x4f\x4b')]()[_0x4ab8ac(0x329,'\x75\x47\x4c\x34')](/\s+/g,'\x20')['\x74\x72\x69\x6d']()[_0x4ab8ac(0x302,'\x56\x64\x43\x76')](0x493*-0x1+0x14ff+-0x106c,_0x3d6a9a),_0x3be1a9=_0x494ab6[_0x4ab8ac(0x279,'\x46\x74\x40\x79')](_0x58ff16[_0x4ab8ac(0x2f8,'\x4b\x66\x6f\x4f')+'\x74\x79'],null)?_0x23d0cc[_0x4ab8ac(0x28d,'\x61\x56\x48\x77')+'\x74\x79'][_0x4ab8ac(0x35b,'\x66\x25\x24\x74')](-0x2*-0x7eb+0x1de*-0x10+0xe0c):'\x3f',_0xebe3bb=_0x5679ad[_0x4ab8ac(0x33b,'\x52\x49\x29\x68')]?_0x4ab8ac(0x1ab,'\x52\x49\x29\x68')+_0x368bf9[_0x4ab8ac(0x336,'\x76\x63\x35\x4c')]:_0x494ab6['\x79\x4f\x4e\x51\x55'];if(_0x1e98d9[_0x4ab8ac(0x2cd,'\x4e\x38\x29\x7a')])_0x1489d5=!![];_0x41134a[_0x4ab8ac(0x290,'\x4e\x38\x29\x7a')]('\x2d\x20'+(_0x24b4b6?_0x4ab8ac(0x371,'\x5d\x61\x28\x49')+_0x24b4b6+'\x22':_0x494ab6['\x5a\x65\x51\x58\x57'])+'\x20\x28'+_0xebe3bb+_0x4ab8ac(0x1f7,'\x6c\x32\x61\x59')+_0x3be1a9+'\x29'+(_0x185689?_0x494ab6[_0x4ab8ac(0x1aa,'\x58\x52\x44\x53')]('\x3a\x20',_0x185689):''));}else{if(!_0x48f1a7||_0x494ab6[_0x4ab8ac(0x2f5,'\x6b\x35\x37\x77')](typeof _0x48f1a7,_0x494ab6[_0x4ab8ac(0x33f,'\x23\x5e\x70\x79')]))continue;const _0x3f1dc7=Number(_0x48f1a7['\x5f\x73\x65\x6d\x61\x6e\x74\x69'+_0x4ab8ac(0x2c5,'\x36\x26\x65\x5b')+_0x4ab8ac(0x206,'\x36\x26\x65\x5b')]);if(!Number[_0x4ab8ac(0x218,'\x78\x24\x63\x73')](_0x3f1dc7)||_0x3f1dc7<_0x459d79)continue;if(_0x18d117&&_0x48f1a7[_0x4ab8ac(0x30f,'\x23\x62\x61\x2a')+_0x4ab8ac(0x23a,'\x53\x36\x46\x56')]&&_0x48f1a7[_0x4ab8ac(0x277,'\x23\x5e\x70\x79')+_0x4ab8ac(0x1fe,'\x66\x25\x24\x74')]===_0x18d117)continue;const _0x15b5b5={};_0x15b5b5['\x61\x73\x73\x65\x74\x5f\x69\x64']=_0x48f1a7[_0x4ab8ac(0x1be,'\x5b\x53\x23\x52')]||_0x48f1a7['\x61\x73\x73\x65\x74\x49\x64']||'',_0x15b5b5[_0x4ab8ac(0x2e7,'\x69\x44\x33\x55')+_0x4ab8ac(0x1e4,'\x67\x67\x56\x5e')]=_0x48f1a7[_0x4ab8ac(0x2e7,'\x69\x44\x33\x55')+_0x4ab8ac(0x2ce,'\x39\x56\x56\x79')]||'',_0x15b5b5['\x63\x68\x61\x69\x6e\x5f\x69\x64']=_0x48f1a7[_0x4ab8ac(0x364,'\x46\x74\x40\x79')]||'',_0x15b5b5[_0x4ab8ac(0x2ef,'\x67\x6c\x58\x6d')+'\x74\x79']=_0x3f1dc7,_0x15b5b5[_0x4ab8ac(0x23d,'\x58\x52\x44\x53')]=_0x48f1a7[_0x4ab8ac(0x2a2,'\x61\x26\x25\x29')+_0x4ab8ac(0x27d,'\x4d\x64\x65\x69')]||_0x48f1a7[_0x4ab8ac(0x239,'\x52\x49\x29\x68')]||_0x48f1a7[_0x4ab8ac(0x248,'\x23\x62\x61\x2a')]||'',_0x15b5b5[_0x4ab8ac(0x285,'\x69\x44\x33\x55')]=_0x48f1a7[_0x4ab8ac(0x361,'\x67\x6c\x58\x6d')+'\x72\x79']||_0x48f1a7[_0x4ab8ac(0x319,'\x61\x26\x25\x29')]||'',_0x15b5b5[_0x4ab8ac(0x31e,'\x50\x69\x28\x73')]=_0x494ab6[_0x4ab8ac(0x32f,'\x70\x74\x36\x42')],_0x3386a1[_0x4ab8ac(0x2bc,'\x33\x76\x57\x29')](_0x15b5b5);}}return _0x3386a1;}function _0xfe4eb8(_0x334281){const _0x4c113b=_0x4d4c78,_0x383c07={'\x49\x72\x61\x5a\x6a':function(_0x481902,_0x254c53){return _0x481902(_0x254c53);},'\x53\x62\x50\x57\x4b':_0x4c113b(0x223,'\x53\x36\x46\x56')+_0x4c113b(0x241,'\x4f\x79\x34\x34'),'\x62\x5a\x7a\x57\x74':_0x4c113b(0x224,'\x46\x74\x40\x79'),'\x47\x76\x72\x4a\x50':function(_0x5021d9,_0x49bdd6){return _0x5021d9!==_0x49bdd6;},'\x75\x68\x6d\x63\x55':_0x4c113b(0x28a,'\x56\x64\x43\x76'),'\x53\x68\x71\x44\x4e':_0x4c113b(0x228,'\x6b\x35\x37\x77'),'\x42\x44\x67\x73\x49':function(_0x5c481c,_0x375e3a){return _0x5c481c!==_0x375e3a;},'\x66\x4c\x73\x6a\x58':_0x4c113b(0x227,'\x35\x77\x50\x39'),'\x75\x41\x49\x56\x50':function(_0x30746d,_0x44e67e){return _0x30746d<_0x44e67e;},'\x46\x59\x54\x41\x7a':_0x4c113b(0x338,'\x23\x62\x61\x2a'),'\x41\x78\x67\x49\x6e':_0x4c113b(0x220,'\x75\x47\x4c\x34'),'\x7a\x43\x62\x4f\x73':_0x4c113b(0x2b6,'\x4d\x6e\x24\x58'),'\x4e\x77\x77\x72\x4c':_0x4c113b(0x2e4,'\x69\x44\x33\x55'),'\x5a\x43\x62\x52\x69':function(_0x41f3d8,_0x461200){return _0x41f3d8===_0x461200;},'\x5a\x7a\x66\x65\x7a':_0x4c113b(0x32e,'\x5d\x61\x28\x49'),'\x41\x44\x44\x4b\x48':function(_0x108b4a,_0x5e1307){return _0x108b4a+_0x5e1307;},'\x66\x6d\x64\x6a\x79':_0x4c113b(0x31a,'\x46\x74\x40\x79')+'\x20','\x78\x70\x4e\x5a\x58':function(_0x21e808,_0x259e44){return _0x21e808*_0x259e44;},'\x4a\x56\x70\x67\x69':_0x4c113b(0x1bc,'\x33\x76\x57\x29')};let _0x422739=[],_0x1a9fff;try{_0x383c07[_0x4c113b(0x2b4,'\x56\x64\x43\x76')]===_0x383c07[_0x4c113b(0x2fc,'\x67\x67\x56\x5e')]?(_0x422739=_0x383c07[_0x4c113b(0x253,'\x6c\x32\x61\x59')](require,_0x4c113b(0x1bf,'\x25\x49\x43\x64')+_0x4c113b(0x2cf,'\x78\x24\x63\x73'))[_0x4c113b(0x1cc,'\x53\x36\x46\x56')+'\x73']()||[],_0x1a9fff=require(_0x4c113b(0x18f,'\x4c\x29\x6c\x44')+'\x6f\x72')):_0x24cfdb=_0x505736[_0x4c113b(0x321,'\x4c\x29\x6c\x44')+_0x4c113b(0x1f0,'\x75\x47\x4c\x34')]();}catch(_0x29a3f5){if(_0x383c07[_0x4c113b(0x362,'\x23\x62\x61\x2a')](_0x383c07[_0x4c113b(0x332,'\x4b\x66\x6f\x4f')],_0x383c07[_0x4c113b(0x254,'\x75\x47\x4c\x34')]))return[];else try{if(_0x352d6e[_0x4c113b(0x2e2,'\x39\x56\x56\x79')+_0x4c113b(0x2c6,'\x50\x69\x28\x73')+_0x4c113b(0x345,'\x56\x64\x43\x76')](_0x490352,_0x485dd6))_0x48a0c4++;}catch(_0x2889f8){}}if(!Array['\x69\x73\x41\x72\x72\x61\x79'](_0x422739)||_0x422739[_0x4c113b(0x1b0,'\x5b\x53\x23\x52')]===0x1bab+0x3c0+-0x1f6b||!_0x1a9fff)return[];const _0x399a54=[];for(const _0x122262 of _0x422739){if(!_0x122262||_0x383c07[_0x4c113b(0x1c1,'\x50\x69\x28\x73')](_0x122262[_0x4c113b(0x267,'\x23\x62\x61\x2a')],_0x383c07[_0x4c113b(0x357,'\x67\x67\x56\x5e')]))continue;const _0x1d9ec7=Array[_0x4c113b(0x2b8,'\x5b\x53\x23\x52')](_0x122262[_0x4c113b(0x24d,'\x67\x44\x73\x75')+_0x4c113b(0x363,'\x67\x44\x73\x75')])?_0x122262[_0x4c113b(0x1e6,'\x67\x23\x62\x39')+_0x4c113b(0x2b7,'\x58\x52\x44\x53')]:[];let _0x1fd542=0x257*-0x9+0x74*0x23+0x533;for(const _0x2e14b1 of _0x1d9ec7){try{if(_0x1a9fff['\x6d\x61\x74\x63\x68\x50\x61\x74'+'\x74\x65\x72\x6e\x54\x6f\x53\x69'+_0x4c113b(0x294,'\x5b\x53\x23\x52')](_0x2e14b1,_0x334281))_0x1fd542++;}catch(_0x580379){}}if(_0x383c07[_0x4c113b(0x1f2,'\x4e\x38\x29\x7a')](_0x1fd542,0x580+-0x6*-0x396+-0x1b03))continue;let _0x4440b9=-0x1dd9+0x140e+0x9cb;try{_0x4440b9=_0x1a9fff[_0x4c113b(0x1e0,'\x76\x63\x35\x4c')+_0x4c113b(0x313,'\x33\x6f\x77\x73')+'\x63'](_0x122262,_0x334281)||0x3be+-0xd52+-0x1*-0x994;}catch(_0xe63554){_0x383c07[_0x4c113b(0x288,'\x33\x76\x57\x29')]===_0x383c07[_0x4c113b(0x1a5,'\x51\x42\x41\x4d')]?_0x5d077e=_0x23cb3b[_0x4c113b(0x34e,'\x33\x76\x57\x29')+_0x4c113b(0x2ac,'\x47\x23\x4e\x56')+'\x63'](_0x4ed1f0,_0xb4d3c9)||0x999+0x16ed+-0xb5*0x2e:_0x4440b9=0x13*-0x1c1+-0x39b*-0xa+-0x3*0xe9;}let _0x4f60c2=(_0x122262['\x73\x75\x6d\x6d\x61\x72\x79']||'')['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x4c113b(0x1ee,'\x6c\x32\x61\x59')]();if(!_0x4f60c2&&_0x122262[_0x4c113b(0x29b,'\x55\x71\x35\x34')]&&typeof _0x122262['\x73\x74\x72\x61\x74\x65\x67\x79']===_0x383c07['\x7a\x43\x62\x4f\x73']){if(_0x383c07[_0x4c113b(0x20b,'\x55\x71\x35\x34')](_0x4c113b(0x1e5,'\x58\x52\x44\x53'),_0x383c07['\x4e\x77\x77\x72\x4c'])){const _0x2e2165=[];if(Array[_0x4c113b(0x24e,'\x55\x71\x35\x34')](_0x122262[_0x4c113b(0x303,'\x70\x74\x36\x42')][_0x4c113b(0x317,'\x4f\x79\x34\x34')]))_0x2e2165[_0x4c113b(0x2dc,'\x4c\x29\x6c\x44')](_0x122262[_0x4c113b(0x29b,'\x55\x71\x35\x34')][_0x4c113b(0x281,'\x67\x44\x73\x75')][_0x4c113b(0x215,'\x57\x72\x4f\x4b')](-0x36*-0x2+0x33*0x7c+-0x1920,-0xfad*-0x1+-0x17cb+0x1*0x821)[_0x4c113b(0x287,'\x67\x23\x62\x39')]('\x3b\x20'));if(_0x383c07[_0x4c113b(0x278,'\x33\x6f\x77\x73')](typeof _0x122262[_0x4c113b(0x19f,'\x25\x49\x43\x64')][_0x4c113b(0x309,'\x51\x42\x41\x4d')],_0x4c113b(0x334,'\x39\x56\x56\x79')))_0x2e2165[_0x4c113b(0x297,'\x66\x25\x24\x74')](_0x122262[_0x4c113b(0x197,'\x5e\x5a\x62\x59')][_0x4c113b(0x1eb,'\x6c\x64\x48\x28')]);_0x4f60c2=_0x2e2165[_0x4c113b(0x314,'\x74\x65\x70\x6b')](Boolean)[_0x4c113b(0x31b,'\x61\x56\x48\x77')](_0x383c07[_0x4c113b(0x1d4,'\x23\x5e\x70\x79')])[_0x4c113b(0x31d,'\x78\x24\x63\x73')]();}else({logAssetCall:_0x4be832}=_0x383c07[_0x4c113b(0x1ba,'\x53\x36\x46\x56')](_0xebaded,_0x383c07[_0x4c113b(0x293,'\x23\x5e\x70\x79')]));}if(!_0x4f60c2){const _0x13e4f2=_0x1d9ec7[_0x4c113b(0x27a,'\x56\x64\x43\x76')](_0x376f21=>String(_0x376f21)[_0x4c113b(0x289,'\x5d\x61\x28\x49')]('\x7c')[0x89*-0x9+-0x6d*-0x19+-0x5d4])[_0x4c113b(0x327,'\x66\x25\x24\x74')](_0x82bd40=>_0x82bd40&&!_0x82bd40[_0x4c113b(0x1bb,'\x35\x77\x50\x39')+'\x74\x68']('\x2f'))[_0x4c113b(0x1f4,'\x74\x65\x70\x6b')](-0x2097+0x40+-0x1*-0x2057,-0x4*-0x5ad+-0x1986+0x2d6);if(_0x13e4f2[_0x4c113b(0x235,'\x4c\x29\x6c\x44')])_0x4f60c2=_0x383c07[_0x4c113b(0x1ec,'\x66\x25\x24\x74')](_0x383c07[_0x4c113b(0x2b9,'\x4c\x29\x6c\x44')],_0x13e4f2[_0x4c113b(0x222,'\x67\x6c\x58\x6d')]('\x2c\x20'));}_0x399a54[_0x4c113b(0x290,'\x4e\x38\x29\x7a')]({'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x122262[_0x4c113b(0x1f6,'\x55\x71\x35\x34')]||'','\x73\x6f\x75\x72\x63\x65\x5f\x6e\x6f\x64\x65\x5f\x69\x64':_0x122262[_0x4c113b(0x2b1,'\x51\x42\x41\x4d')+_0x4c113b(0x284,'\x6c\x64\x48\x28')]||_0x122262[_0x4c113b(0x28c,'\x67\x44\x73\x75')+'\x6f\x64\x65\x5f\x69\x64']||'','\x63\x68\x61\x69\x6e\x5f\x69\x64':_0x122262[_0x4c113b(0x372,'\x70\x74\x36\x42')]||'','\x73\x69\x6d\x69\x6c\x61\x72\x69\x74\x79':Math['\x6d\x69\x6e'](-0x1f50+0x2384+-0x433,_0x383c07[_0x4c113b(0x356,'\x57\x42\x44\x33')](-0x2387+-0x1db1+0x2*0x209c+0.75,_0x383c07[_0x4c113b(0x1a6,'\x6c\x32\x61\x59')](0x18e4+0xa13*0x1+0x22f7*-0x1+0.05,_0x1fd542))+(-0x11d+-0x40+0x15d*0x1+0.1)*_0x4440b9),'\x74\x69\x74\x6c\x65':_0x122262['\x69\x64']||_0x122262[_0x4c113b(0x2e3,'\x66\x25\x24\x74')+_0x4c113b(0x2a5,'\x61\x56\x48\x77')]||'','\x73\x75\x6d\x6d\x61\x72\x79':_0x4f60c2,'\x6f\x72\x69\x67\x69\x6e':_0x383c07['\x4a\x56\x70\x67\x69'],'\x5f\x68\x69\x74\x73':_0x1fd542});}return _0x399a54;}function _0x25ff2b(_0x42fc33){const _0x3a1e1a=_0x4d4c78,_0xa2e06c={'\x51\x41\x71\x53\x79':function(_0x13cfba,_0x204da1){return _0x13cfba(_0x204da1);},'\x4b\x70\x4c\x44\x54':function(_0x34a567,_0x402318){return _0x34a567||_0x402318;}},_0x39ab71=(_0x42fc33&&_0x42fc33[_0x3a1e1a(0x360,'\x61\x26\x25\x29')]?_0xa2e06c['\x51\x41\x71\x53\x79'](String,_0x42fc33['\x74\x69\x74\x6c\x65']):'')[_0x3a1e1a(0x2cb,'\x6b\x35\x37\x77')](),_0x35719c=(_0x42fc33&&_0x42fc33[_0x3a1e1a(0x19b,'\x4c\x29\x6c\x44')]?_0xa2e06c[_0x3a1e1a(0x1b6,'\x4f\x79\x34\x34')](String,_0x42fc33[_0x3a1e1a(0x298,'\x6c\x64\x48\x28')]):'')[_0x3a1e1a(0x1c9,'\x5e\x5a\x62\x59')]();return!!_0xa2e06c[_0x3a1e1a(0x1c2,'\x66\x25\x24\x74')](_0x39ab71,_0x35719c);}function _0x2eaa7a(_0x2b6cb0){const _0x274d12=_0x4d4c78,_0x294cdb={};_0x294cdb[_0x274d12(0x20d,'\x67\x6c\x58\x6d')]='\x5b\x45\x76\x6f\x6c\x76\x65\x72'+_0x274d12(0x1b7,'\x6c\x64\x48\x28')+_0x274d12(0x18e,'\x46\x74\x40\x79')+'\x72\x20\x63\x61\x70\x61\x62\x69'+'\x6c\x69\x74\x79\x5d',_0x294cdb[_0x274d12(0x226,'\x6b\x35\x37\x77')]=function(_0x220267,_0x2af6f3){return _0x220267!=_0x2af6f3;},_0x294cdb['\x6f\x64\x53\x6e\x67']=_0x274d12(0x2f3,'\x47\x23\x4e\x56')+_0x274d12(0x343,'\x33\x6f\x77\x73')+'\x65\x64',_0x294cdb['\x52\x41\x54\x45\x74']=_0x274d12(0x1d5,'\x7a\x24\x53\x72'),_0x294cdb[_0x274d12(0x2c2,'\x29\x6f\x56\x29')]=function(_0x3f4aad,_0xfba24d){return _0x3f4aad+_0xfba24d;},_0x294cdb[_0x274d12(0x25f,'\x51\x42\x41\x4d')]=_0x274d12(0x1e2,'\x4d\x64\x65\x69')+_0x274d12(0x1dc,'\x50\x69\x28\x73')+_0x274d12(0x260,'\x46\x74\x40\x79')+_0x274d12(0x19a,'\x5e\x5a\x62\x59')+_0x274d12(0x1e1,'\x69\x44\x33\x55')+_0x274d12(0x22b,'\x35\x77\x50\x39')+'\x61\x70\x74\x20\x69\x74\x3b\x20'+_0x274d12(0x22c,'\x4d\x64\x65\x69')+'\x65\x66\x6f\x72\x65\x20\x61\x70'+_0x274d12(0x325,'\x56\x64\x43\x76'),_0x294cdb[_0x274d12(0x328,'\x39\x56\x56\x79')]=_0x274d12(0x187,'\x6b\x35\x37\x77')+_0x274d12(0x30d,'\x51\x42\x41\x4d')+_0x274d12(0x1c7,'\x4d\x6e\x24\x58')+'\x65\x74\x3a\x20\x60\x67\x65\x70'+_0x274d12(0x216,'\x69\x44\x33\x55')+_0x274d12(0x280,'\x56\x64\x43\x76')+_0x274d12(0x331,'\x53\x36\x46\x56')+_0x274d12(0x20e,'\x42\x23\x5d\x5d')+_0x274d12(0x305,'\x6c\x32\x61\x59');const _0x571876=_0x294cdb,_0x2e6c2e=(_0x2b6cb0||[])[_0x274d12(0x296,'\x55\x71\x35\x34')](_0x25ff2b);if(!_0x2e6c2e[_0x274d12(0x353,'\x61\x26\x25\x29')])return'';const _0x5d7cc1=[_0x571876['\x76\x65\x6c\x77\x44']];let _0x253aa4=![];for(const _0x179fc0 of _0x2e6c2e){const _0x2fbdc0=(_0x179fc0['\x74\x69\x74\x6c\x65']||'')[_0x274d12(0x316,'\x4d\x6e\x24\x58')]()[_0x274d12(0x34b,'\x51\x42\x41\x4d')](-0x5*-0x4cf+0x13*0x1eb+-0x3c7c,-0x95a+0x15e+0x84c),_0x309ec0=(_0x179fc0[_0x274d12(0x200,'\x50\x69\x28\x73')]||'')[_0x274d12(0x29d,'\x58\x52\x44\x53')]()[_0x274d12(0x322,'\x78\x24\x63\x73')](/\s+/g,'\x20')[_0x274d12(0x1ee,'\x6c\x32\x61\x59')]()[_0x274d12(0x2f7,'\x61\x26\x25\x29')](0x4*-0x863+0xb*-0x2f6+-0xb6*-0x5d,_0x1299c4),_0x1eef5f=_0x571876[_0x274d12(0x2ad,'\x35\x77\x50\x39')](_0x179fc0[_0x274d12(0x337,'\x79\x7a\x5a\x71')+'\x74\x79'],null)?_0x179fc0[_0x274d12(0x2f8,'\x4b\x66\x6f\x4f')+'\x74\x79'][_0x274d12(0x1a0,'\x57\x42\x44\x33')](-0x1e00+0x202b+-0x229):'\x3f',_0x14ffba=_0x179fc0[_0x274d12(0x28e,'\x67\x6c\x58\x6d')]?_0x274d12(0x32c,'\x5d\x61\x28\x49')+_0x179fc0[_0x274d12(0x1a7,'\x69\x44\x33\x55')]:_0x571876[_0x274d12(0x27b,'\x33\x76\x57\x29')];if(_0x179fc0[_0x274d12(0x1d8,'\x46\x74\x40\x79')])_0x253aa4=!![];_0x5d7cc1[_0x274d12(0x1d1,'\x57\x72\x4f\x4b')]('\x2d\x20'+(_0x2fbdc0?_0x274d12(0x344,'\x51\x42\x41\x4d')+_0x2fbdc0+'\x22':_0x571876[_0x274d12(0x324,'\x6c\x32\x61\x59')])+'\x20\x28'+_0x14ffba+_0x274d12(0x30b,'\x67\x4e\x25\x4a')+_0x1eef5f+'\x29'+(_0x309ec0?_0x571876['\x6c\x62\x4b\x58\x63']('\x3a\x20',_0x309ec0):''));}_0x5d7cc1[_0x274d12(0x188,'\x57\x42\x44\x33')](_0x571876[_0x274d12(0x2bf,'\x67\x23\x62\x39')]);if(_0x253aa4)_0x5d7cc1[_0x274d12(0x291,'\x4d\x64\x65\x69')](_0x571876[_0x274d12(0x2b5,'\x77\x36\x4e\x26')]);const _0x14723a=_0x5d7cc1[_0x274d12(0x36e,'\x52\x49\x29\x68')]('\x0a');return _0x14723a[_0x274d12(0x1d2,'\x77\x36\x4e\x26')]>_0x4cd731?_0x14723a[_0x274d12(0x286,'\x6b\x35\x37\x77')](-0x1369*-0x1+0x1*0x2174+-0x34dd,_0x4cd731):_0x14723a;}function _0x522ac5(_0x18f644,_0x33b47f,_0x161f9d,_0x558dd5){const _0x1e1e06=_0x4d4c78,_0x21f242={'\x4a\x47\x54\x75\x42':function(_0x1da778,_0x3daa07){return _0x1da778(_0x3daa07);},'\x74\x4e\x64\x4f\x45':_0x1e1e06(0x34a,'\x76\x63\x35\x4c')+_0x1e1e06(0x1ea,'\x53\x36\x46\x56'),'\x64\x55\x45\x65\x46':function(_0x43f449,_0x4e7870){return _0x43f449===_0x4e7870;},'\x4f\x4c\x62\x79\x5a':_0x1e1e06(0x1c8,'\x51\x42\x41\x4d'),'\x64\x51\x52\x69\x6e':_0x1e1e06(0x217,'\x75\x47\x4c\x34')+_0x1e1e06(0x25c,'\x69\x44\x33\x55'),'\x45\x49\x4a\x6b\x6b':_0x1e1e06(0x2ed,'\x5e\x5a\x62\x59')+'\x6a\x65\x63\x74\x5f\x73\x68\x61'+_0x1e1e06(0x2a9,'\x67\x6c\x58\x6d'),'\x41\x44\x70\x4b\x46':_0x1e1e06(0x1d7,'\x39\x56\x56\x79'),'\x75\x65\x43\x69\x70':function(_0x5c24ef,_0x3261a8){return _0x5c24ef(_0x3261a8);},'\x58\x76\x6f\x4b\x68':_0x1e1e06(0x273,'\x23\x5e\x70\x79'),'\x6f\x69\x76\x52\x6c':function(_0x3f1565,_0x12cb45){return _0x3f1565===_0x12cb45;},'\x6c\x63\x78\x42\x66':_0x1e1e06(0x1d9,'\x76\x63\x35\x4c'),'\x4c\x74\x78\x47\x66':_0x1e1e06(0x2c7,'\x46\x74\x40\x79')+_0x1e1e06(0x2ea,'\x51\x42\x41\x4d')+_0x1e1e06(0x2f1,'\x52\x49\x29\x68'),'\x54\x73\x62\x6f\x75':'\x74\x61\x73\x6b\x5f\x72\x65\x63'+'\x61\x6c\x6c','\x4c\x69\x71\x6b\x69':_0x1e1e06(0x2af,'\x5b\x53\x23\x52')+_0x1e1e06(0x295,'\x67\x6c\x58\x6d')+'\x63\x61\x6c'};let _0x3f106d;try{({logAssetCall:_0x3f106d}=_0x21f242[_0x1e1e06(0x341,'\x66\x25\x24\x74')](require,_0x21f242[_0x1e1e06(0x232,'\x70\x74\x36\x42')]));}catch(_0x8e3bf0){return;}const _0x57b25c=_0x21f242[_0x1e1e06(0x23f,'\x67\x4e\x25\x4a')](_0x33b47f,_0x21f242[_0x1e1e06(0x1fb,'\x67\x4e\x25\x4a')])?_0x21f242[_0x1e1e06(0x283,'\x5e\x5a\x62\x59')]:_0x21f242[_0x1e1e06(0x2fa,'\x4b\x66\x6f\x4f')];for(const _0x4d22bd of _0x18f644){try{_0x21f242[_0x1e1e06(0x31c,'\x67\x6c\x58\x6d')]!==_0x21f242[_0x1e1e06(0x1f3,'\x76\x63\x35\x4c')]?_0x2a176c={}:_0x21f242[_0x1e1e06(0x2a6,'\x67\x67\x56\x5e')](_0x3f106d,{'\x72\x75\x6e\x5f\x69\x64':_0x161f9d,'\x61\x63\x74\x69\x6f\x6e':_0x57b25c,'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x4d22bd[_0x1e1e06(0x34f,'\x77\x36\x4e\x26')]||undefined,'\x61\x73\x73\x65\x74\x5f\x74\x79\x70\x65':_0x21f242[_0x1e1e06(0x212,'\x76\x63\x35\x4c')],'\x73\x6f\x75\x72\x63\x65\x5f\x6e\x6f\x64\x65\x5f\x69\x64':_0x4d22bd[_0x1e1e06(0x365,'\x67\x23\x62\x39')+_0x1e1e06(0x304,'\x74\x65\x70\x6b')]||undefined,'\x63\x68\x61\x69\x6e\x5f\x69\x64':_0x4d22bd[_0x1e1e06(0x372,'\x70\x74\x36\x42')]||undefined,'\x73\x63\x6f\x72\x65':_0x4d22bd[_0x1e1e06(0x337,'\x79\x7a\x5a\x71')+'\x74\x79'],'\x73\x69\x67\x6e\x61\x6c\x73':_0x558dd5[_0x1e1e06(0x215,'\x57\x72\x4f\x4b')](-0x12f7*0x1+0x31*0x12+0x1d*0x89,-0x1ced+0x1f72+-0x27d*0x1),'\x72\x65\x61\x73\x6f\x6e':_0x21f242[_0x1e1e06(0x2b3,'\x4d\x6e\x24\x58')](_0x4d22bd['\x6f\x72\x69\x67\x69\x6e'],_0x21f242[_0x1e1e06(0x27f,'\x5d\x61\x28\x49')])?_0x1e1e06(0x1df,'\x36\x26\x65\x5b')+_0x1e1e06(0x249,'\x67\x4e\x25\x4a')+'\x68\x5f\x62\x61\x6e\x64':_0x21f242[_0x1e1e06(0x2d0,'\x4b\x66\x6f\x4f')],'\x65\x78\x74\x72\x61':{'\x76\x69\x61':_0x21f242[_0x1e1e06(0x1de,'\x39\x56\x56\x79')],'\x61\x74\x74\x72\x69\x62\x75\x74\x69\x6f\x6e':_0x21f242[_0x1e1e06(0x2e6,'\x75\x47\x4c\x34')],'\x6f\x72\x69\x67\x69\x6e':_0x4d22bd[_0x1e1e06(0x1e9,'\x5e\x5a\x62\x59')]}});}catch(_0x109176){}}}async function _0x23ceef(_0x38936d){const _0x3fa4ae=_0x4d4c78,_0x40f546={'\x52\x70\x75\x54\x48':function(_0x4fef02,_0x1ac3f5){return _0x4fef02||_0x1ac3f5;},'\x63\x6e\x6c\x75\x51':function(_0x3fa738){return _0x3fa738();},'\x79\x68\x78\x4e\x6d':function(_0x4b73a9,_0x338d66){return _0x4b73a9(_0x338d66);},'\x50\x62\x4f\x69\x45':function(_0x415ac2,_0x15850a){return _0x415ac2-_0x15850a;},'\x59\x4b\x7a\x72\x4c':function(_0x2fd82f,_0x128db0){return _0x2fd82f-_0x128db0;},'\x6e\x69\x47\x6c\x49':function(_0x442f5b,_0x2d3f53){return _0x442f5b>=_0x2d3f53;},'\x55\x4b\x7a\x76\x42':function(_0xb0abdf,_0x139413,_0x5e770b){return _0xb0abdf(_0x139413,_0x5e770b);},'\x41\x4b\x70\x75\x6d':function(_0x5e0995){return _0x5e0995();},'\x68\x75\x47\x4c\x4d':function(_0x5b8b6c,_0xb7b369){return _0x5b8b6c+_0xb7b369;},'\x73\x69\x51\x63\x72':_0x3fa4ae(0x2ff,'\x67\x44\x73\x75'),'\x6c\x57\x6a\x47\x69':_0x3fa4ae(0x340,'\x25\x49\x43\x64'),'\x6b\x77\x52\x48\x43':function(_0x449696,_0x46e406,_0x537720,_0x5b175f,_0x5d579d){return _0x449696(_0x46e406,_0x537720,_0x5b175f,_0x5d579d);},'\x55\x6b\x59\x43\x54':function(_0x43c731,_0x9cc10b){return _0x43c731===_0x9cc10b;},'\x59\x74\x44\x6a\x68':_0x3fa4ae(0x1a4,'\x25\x49\x43\x64')},_0x32f58b=_0x40f546[_0x3fa4ae(0x186,'\x4f\x79\x34\x34')](_0x38936d,{}),_0x374a65=_0x32f58b[_0x3fa4ae(0x213,'\x67\x4e\x25\x4a')]||_0x40f546[_0x3fa4ae(0x308,'\x36\x26\x65\x5b')](_0x224a2c),_0x4db6d5={};_0x4db6d5[_0x3fa4ae(0x243,'\x67\x44\x73\x75')]=![],_0x4db6d5[_0x3fa4ae(0x1ce,'\x66\x25\x24\x74')]=null,_0x4db6d5[_0x3fa4ae(0x274,'\x51\x42\x41\x4d')]=[],_0x4db6d5[_0x3fa4ae(0x31f,'\x69\x44\x33\x55')]=0x0,_0x4db6d5['\x73\x69\x67\x6e\x61\x6c\x73']=[];if(_0x374a65===_0x3fa4ae(0x342,'\x57\x42\x44\x33'))return _0x4db6d5;const _0x108ec7=_0x40f546[_0x3fa4ae(0x2ee,'\x29\x6f\x56\x29')](_0x1e9d86,_0x32f58b[_0x3fa4ae(0x2c3,'\x4f\x79\x34\x34')]),_0x4c78f2={};_0x4c78f2[_0x3fa4ae(0x247,'\x47\x23\x4e\x56')]=![],_0x4c78f2['\x74\x65\x78\x74']=null,_0x4c78f2['\x64\x65\x63\x69\x64\x65\x64']=[],_0x4c78f2[_0x3fa4ae(0x1ac,'\x33\x76\x57\x29')]=0x0,_0x4c78f2[_0x3fa4ae(0x233,'\x25\x49\x43\x64')]=[];if(!_0x108ec7[_0x3fa4ae(0x19e,'\x39\x56\x56\x79')])return _0x4c78f2;const _0x8d39a0=_0xfe4eb8(_0x108ec7),_0x5975c4=-0x24c5*-0x1+-0x1645*-0x1+-0x3a74;let _0x3ae289=Number[_0x3fa4ae(0x23c,'\x5e\x5a\x62\x59')](_0x32f58b[_0x3fa4ae(0x2a8,'\x39\x56\x56\x79')+'\x73'])&&_0x32f58b[_0x3fa4ae(0x29a,'\x78\x24\x63\x73')+'\x73']>-0x3e0+-0x2a*-0xbb+0xd67*-0x2?_0x32f58b[_0x3fa4ae(0x1ae,'\x35\x77\x50\x39')+'\x73']:-0x1408+-0x4*0xd7+-0x4*-0x7cd;if(Number[_0x3fa4ae(0x266,'\x23\x5e\x70\x79')](_0x32f58b[_0x3fa4ae(0x30c,'\x7a\x24\x53\x72')+'\x4d\x73'])){const _0x59c36b=_0x40f546[_0x3fa4ae(0x369,'\x4b\x66\x6f\x4f')](_0x40f546[_0x3fa4ae(0x236,'\x55\x71\x35\x34')](_0x32f58b['\x64\x65\x61\x64\x6c\x69\x6e\x65'+'\x4d\x73'],Date[_0x3fa4ae(0x307,'\x33\x6f\x77\x73')]()),_0x5975c4);_0x3ae289=Math[_0x3fa4ae(0x2e5,'\x36\x26\x65\x5b')](_0x3ae289,_0x59c36b);}const _0x43bc2b=_0x40f546[_0x3fa4ae(0x1e8,'\x42\x23\x5d\x5d')](_0x3ae289,-0x5ff*-0x4+0x7*0x1f7+-0x2491)?await _0x40f546[_0x3fa4ae(0x25a,'\x70\x74\x36\x42')](_0x154101,_0x108ec7,_0x3ae289):[],_0x23a919=new Set(),_0x2920d9=[];let _0x475316=0x162*0x4+0xb0*-0x17+0xa48;for(const _0x596349 of[..._0x43bc2b,..._0x8d39a0]){const _0x10c2f9=_0x596349['\x61\x73\x73\x65\x74\x5f\x69\x64']||_0x596349[_0x3fa4ae(0x234,'\x66\x25\x24\x74')]+'\x3a'+_0x596349['\x74\x69\x74\x6c\x65'];if(_0x10c2f9&&_0x23a919[_0x3fa4ae(0x2a0,'\x55\x71\x35\x34')](_0x10c2f9)){_0x475316++;continue;}if(_0x10c2f9)_0x23a919[_0x3fa4ae(0x196,'\x39\x56\x56\x79')](_0x10c2f9);_0x2920d9[_0x3fa4ae(0x20c,'\x61\x26\x25\x29')](_0x596349);}_0x2920d9['\x73\x6f\x72\x74']((_0x5770a1,_0x197614)=>(_0x197614['\x73\x69\x6d\x69\x6c\x61\x72\x69'+'\x74\x79']||0x5c0+0x22*-0x97+0xe4e)-(_0x5770a1['\x73\x69\x6d\x69\x6c\x61\x72\x69'+'\x74\x79']||-0x2492+-0x15*-0x49+0x1e95*0x1));const _0x1756a6=_0x2920d9[_0x3fa4ae(0x191,'\x36\x26\x65\x5b')](-0x1705+-0x3*0x10e+0x1a2f,_0x40f546[_0x3fa4ae(0x2ba,'\x57\x72\x4f\x4b')](_0xdbed8d));_0x475316+=Math[_0x3fa4ae(0x1b5,'\x67\x4e\x25\x4a')](0xc*-0x222+-0x145c+0xad*0x44,_0x2920d9[_0x3fa4ae(0x339,'\x75\x47\x4c\x34')]-_0x1756a6[_0x3fa4ae(0x1a9,'\x52\x49\x29\x68')]);const _0x489104=_0x1756a6['\x66\x69\x6c\x74\x65\x72'](_0x25ff2b);_0x475316+=_0x40f546[_0x3fa4ae(0x203,'\x4c\x29\x6c\x44')](_0x1756a6[_0x3fa4ae(0x27e,'\x67\x67\x56\x5e')],_0x489104[_0x3fa4ae(0x25d,'\x6b\x35\x37\x77')]);const _0x2f3d75={};_0x2f3d75[_0x3fa4ae(0x252,'\x4e\x38\x29\x7a')]=![],_0x2f3d75[_0x3fa4ae(0x261,'\x58\x52\x44\x53')]=null,_0x2f3d75[_0x3fa4ae(0x1f1,'\x70\x74\x36\x42')]=[],_0x2f3d75[_0x3fa4ae(0x1ac,'\x33\x76\x57\x29')]=_0x475316,_0x2f3d75[_0x3fa4ae(0x1b1,'\x4b\x66\x6f\x4f')]=_0x108ec7;if(!_0x489104[_0x3fa4ae(0x192,'\x76\x63\x35\x4c')])return _0x2f3d75;const _0xa0373b=_0x2eaa7a(_0x489104),_0xbc72cd={};_0xbc72cd[_0x3fa4ae(0x19d,'\x23\x62\x61\x2a')]=![],_0xbc72cd[_0x3fa4ae(0x23b,'\x75\x47\x4c\x34')]=null,_0xbc72cd[_0x3fa4ae(0x2a4,'\x78\x24\x63\x73')]=[],_0xbc72cd[_0x3fa4ae(0x2bb,'\x57\x42\x44\x33')]=_0x475316,_0xbc72cd[_0x3fa4ae(0x2da,'\x5b\x53\x23\x52')]=_0x108ec7;if(!_0xa0373b)return _0xbc72cd;const _0x3ee2a7=_0x32f58b[_0x3fa4ae(0x1c6,'\x57\x72\x4f\x4b')]||_0x40f546[_0x3fa4ae(0x269,'\x6c\x64\x48\x28')](_0x40f546['\x73\x69\x51\x63\x72'],_0x32f58b[_0x3fa4ae(0x229,'\x4b\x66\x6f\x4f')+'\x64']||_0x40f546[_0x3fa4ae(0x195,'\x4d\x64\x65\x69')]);return _0x40f546[_0x3fa4ae(0x1d0,'\x39\x56\x56\x79')](_0x522ac5,_0x489104,_0x374a65,_0x3ee2a7,_0x108ec7),{'\x69\x6e\x6a\x65\x63\x74':_0x40f546[_0x3fa4ae(0x351,'\x78\x24\x63\x73')](_0x374a65,_0x40f546['\x59\x74\x44\x6a\x68']),'\x74\x65\x78\x74':_0xa0373b,'\x64\x65\x63\x69\x64\x65\x64':_0x489104,'\x64\x72\x6f\x70\x70\x65\x64':_0x475316,'\x73\x69\x67\x6e\x61\x6c\x73':_0x108ec7};}const _0x41d13e={};_0x41d13e[_0x4d4c78(0x26f,'\x52\x49\x29\x68')+'\x62']=_0x154101,_0x41d13e[_0x4d4c78(0x368,'\x76\x63\x35\x4c')+_0x4d4c78(0x214,'\x78\x24\x63\x73')]=_0xfe4eb8,_0x41d13e[_0x4d4c78(0x1d6,'\x4f\x79\x34\x34')+_0x4d4c78(0x1b3,'\x5d\x61\x28\x49')]=_0x522ac5;const _0x3dd872={};_0x3dd872[_0x4d4c78(0x207,'\x47\x23\x4e\x56')+_0x4d4c78(0x205,'\x61\x56\x48\x77')]=_0x23ceef,_0x3dd872['\x67\x65\x74\x4d\x6f\x64\x65']=_0x224a2c,_0x3dd872[_0x4d4c78(0x2df,'\x33\x6f\x77\x73')+'\x6d']=_0x5de89f,_0x3dd872[_0x4d4c78(0x320,'\x67\x23\x62\x39')+_0x4d4c78(0x262,'\x56\x64\x43\x76')]=_0xdbed8d,_0x3dd872[_0x4d4c78(0x300,'\x36\x26\x65\x5b')+_0x4d4c78(0x18b,'\x67\x23\x62\x39')+'\x72\x65']=_0x4c0c4f,_0x3dd872[_0x4d4c78(0x2d6,'\x6c\x64\x48\x28')+_0x4d4c78(0x1c5,'\x67\x23\x62\x39')]=_0x1e9d86,_0x3dd872[_0x4d4c78(0x1b2,'\x4f\x79\x34\x34')+_0x4d4c78(0x33c,'\x4d\x64\x65\x69')]=_0x2eaa7a,_0x3dd872[_0x4d4c78(0x208,'\x4f\x79\x34\x34')+'\x6c\x73']=_0x41d13e,module[_0x4d4c78(0x32b,'\x4e\x38\x29\x7a')]=_0x3dd872;
1
+ // recallInject.js
2
+ // Harness-agnostic core for "runtime asset injection" (P4-c): when a general
3
+ // agent is about to work on a task, find GEP assets (Hub genes + local genes)
4
+ // that match the task and surface a distilled hint the agent can use.
5
+ //
6
+ // This module is PURE: no stdin/stdout, no process.exit. It is driven by the
7
+ // per-harness hook entrypoint (src/adapters/scripts/evolver-task-recall.js) and
8
+ // is unit-testable in isolation. The entrypoint owns the fail-open latch +
9
+ // watchdog + stdout shape; this module owns the matching/gating/logging.
10
+ //
11
+ // HARD INVARIANTS (do not regress — these are the P4-c scope contract):
12
+ // 1. SEARCH-ONLY. We call fetchSemanticResults (a free GET
13
+ // /a2a/assets/semantic-search) and NEVER hubSearch()/fetchAssetById() —
14
+ // Phase-2 fetch SPENDS CREDITS (hubSearch.js:379 logs "Fetch cost"). The
15
+ // recall path must never spend a credit, in any mode. No money surface.
16
+ // 2. LLM-FREE / NO CHILD PROCESS. We extract signals with ONLY the pure
17
+ // extractors _extractRegex + _extractKeywordScore. We must NOT call
18
+ // extractSignals() — it calls _extractLLM(), a SYNC execFileSync('curl',
19
+ // ['-m','10',...]) that (a) blocks the event loop for up to 10s so the
20
+ // entrypoint watchdog can't fire, and (b) ships a raw-prompt corpus to the
21
+ // Hub. Both are forbidden here.
22
+ // 3. SHADOW-FIRST. In 'shadow' we compute + log what WOULD inject but return
23
+ // inject:false (the entrypoint injects nothing). In 'off' the entrypoint
24
+ // never calls us. Only 'enforce' returns inject:true.
25
+ // 4. HIGH-CONFIDENCE ONLY. Hub rows must clear the similarity HIGH band
26
+ // (>= EVOLVER_RECALL_MIN_SIM, default 0.75). Local genes must have >=1
27
+ // real signal-pattern hit (not bag-of-words noise).
28
+ // 5. NO Hub used_asset_ids / reuse-credit reporting. Attribution is a LOCAL
29
+ // JSONL artifact only (assetCallLog). Promoting it to Hub credit needs a
30
+ // stronger usage signal AND team sign-off (it changes money).
31
+
32
+ const path = require('path');
33
+
34
+ // ---------------------------------------------------------------------------
35
+ // Mode parsing: EVOLVER_RECALL_MODE ∈ off (default) | shadow | enforce.
36
+ // Anything unknown/absent -> off (safest). Mirrors the conv-distill/P3 cadence
37
+ // of a single 3-state env var.
38
+ // ---------------------------------------------------------------------------
39
+ function getMode() {
40
+ const v = String(process.env.EVOLVER_RECALL_MODE || '').toLowerCase().trim();
41
+ return v === 'shadow' || v === 'enforce' ? v : 'off';
42
+ }
43
+
44
+ // Similarity HIGH band. Ported as an in-repo literal from
45
+ // gep-mcp-server/src/searchEnrich.js (SIMILARITY_BAND_HIGH = 0.75) — that file
46
+ // is a separate ESM repo and must NOT be imported. Operator-tunable.
47
+ function getMinSim() {
48
+ const n = Number(process.env.EVOLVER_RECALL_MIN_SIM);
49
+ return Number.isFinite(n) && n > 0 && n <= 1 ? n : 0.75;
50
+ }
51
+
52
+ // Max assets injected per turn. Default 1 (top hit only) to minimise context
53
+ // pollution; the entrypoint blocks every prompt, so we stay terse.
54
+ function getMaxInject() {
55
+ const n = parseInt(process.env.EVOLVER_RECALL_MAX, 10);
56
+ return Number.isFinite(n) && n > 0 && n <= 10 ? n : 1;
57
+ }
58
+
59
+ // Hard ceiling on injected text length (defense against a giant nl_summary
60
+ // bloating the agent's context window).
61
+ const INJECT_CHAR_CEILING = 800;
62
+ const SUMMARY_CLIP = 200;
63
+
64
+ // ---------------------------------------------------------------------------
65
+ // LLM-free signal extraction. Uses ONLY the pure extractors. We deliberately
66
+ // do NOT call signals.extractSignals (curl/event-loop-block, see invariant 2)
67
+ // and do NOT call _mergeSignals (it console.log()s to STDOUT — which would
68
+ // corrupt the hook's single-JSON stdout contract; we inline a Set-merge).
69
+ // ---------------------------------------------------------------------------
70
+ function extractSignalsPure(prompt) {
71
+ const corpus = String(prompt || '');
72
+ const lower = corpus.toLowerCase();
73
+ const errorHit = /\b(error|exception|fail(?:ed|ure)?)\b|错误|异常|报错|失败/i.test(lower);
74
+
75
+ let regexSignals = [];
76
+ let scoreSignals = [];
77
+ try {
78
+ const sig = require('./signals');
79
+ regexSignals = sig._extractRegex(corpus, lower, errorHit) || [];
80
+ scoreSignals = sig._extractKeywordScore(lower) || [];
81
+ } catch (_) {
82
+ // signals.js unreachable — degrade to no signals (local/Hub then no-op).
83
+ return [];
84
+ }
85
+
86
+ // Inline Set-merge (do NOT use sig._mergeSignals — it writes to stdout).
87
+ const merged = new Set();
88
+ for (const s of regexSignals) merged.add(s);
89
+ for (const s of scoreSignals) merged.add(s);
90
+ // 'stable_success_plateau' is the extractor's "nothing interesting" default;
91
+ // it carries no task content, so drop it to avoid a noise query.
92
+ merged.delete('stable_success_plateau');
93
+ return Array.from(merged);
94
+ }
95
+
96
+ // The closed-vocabulary extractors above only fire on the evolver's own corpus
97
+ // shapes (errors, specific feature-request phrasings). A normal task prompt
98
+ // ("add retry with backoff to the http client") yields NO closed-vocab signal,
99
+ // so on its own the recall hook would almost never fire for real coding work.
100
+ // Embedding-based semantic search wants the actual task WORDS, so we also add a
101
+ // token projection of the prompt. tokenize() drops stop-words and short tokens;
102
+ // buildSemanticQuery (inside fetchSemanticResults) caps the outgoing query to
103
+ // 12 terms, so this stays a bounded token-projection — never the verbatim
104
+ // prompt. Capped here too as defense-in-depth.
105
+ const MAX_QUERY_TOKENS = 12;
106
+ function buildSignalList(prompt) {
107
+ const coreSignals = extractSignalsPure(prompt);
108
+ let tokens = [];
109
+ try {
110
+ const { tokenize } = require('./selector');
111
+ // De-dup while preserving order, then cap.
112
+ const seen = new Set();
113
+ for (const t of tokenize(prompt)) {
114
+ if (!seen.has(t)) { seen.add(t); tokens.push(t); }
115
+ if (tokens.length >= MAX_QUERY_TOKENS) break;
116
+ }
117
+ } catch (_) { tokens = []; }
118
+
119
+ const merged = new Set();
120
+ for (const s of coreSignals) merged.add(s);
121
+ for (const t of tokens) merged.add(t);
122
+ return Array.from(merged);
123
+ }
124
+
125
+ // ---------------------------------------------------------------------------
126
+ // Hub search — SEARCH-ONLY, credit-free. Returns the rows that clear the HIGH
127
+ // similarity band, best-effort self-suppressed, never spending a credit.
128
+ // ---------------------------------------------------------------------------
129
+ async function searchHub(signalList, timeoutMs) {
130
+ let hs, a2a;
131
+ try {
132
+ hs = require('./hubSearch');
133
+ a2a = require('./a2aProtocol');
134
+ } catch (_) {
135
+ return [];
136
+ }
137
+ // Honor the HUBSEARCH_SEMANTIC kill-switch the same way hubSearch() does:
138
+ // an operator who set it to false/0 to stop semantic Hub traffic must not
139
+ // have this hook keep issuing semantic GETs on every prompt (Bugbot #183
140
+ // medium). When disabled -> no Hub call, local genes only.
141
+ try { if (typeof hs.isSemanticEnabled === 'function' && !hs.isSemanticEnabled()) return []; } catch (_) {}
142
+ // Resolve the Hub URL via a2aProtocol.getHubUrl(), the canonical resolver
143
+ // that honors BOTH A2A_HUB_URL and the legacy EVOMAP_HUB_URL fallback.
144
+ // hubSearch.getHubUrl() reads only A2A_HUB_URL, so a node configured with the
145
+ // legacy var alone would silently skip recall while every other Hub feature
146
+ // (auth, heartbeat, memory) still worked (Bugbot #183 medium). Strip trailing
147
+ // slashes to match hubSearch's own normalization. Fall back to hs.getHubUrl()
148
+ // only if a2a is unavailable.
149
+ let hubUrl = '';
150
+ try {
151
+ hubUrl = (typeof a2a.getHubUrl === 'function' ? a2a.getHubUrl() : hs.getHubUrl()) || '';
152
+ hubUrl = hubUrl.replace(/\/+$/, '');
153
+ } catch (_) { hubUrl = ''; }
154
+ // Air-gapped / no Hub configured -> zero egress, local genes only.
155
+ if (!hubUrl) return [];
156
+
157
+ let headers = {};
158
+ try { headers = a2a.buildHubHeaders(); } catch (_) { headers = {}; }
159
+
160
+ let rows = [];
161
+ try {
162
+ // fetchSemanticResults already owns an AbortController bound to timeoutMs
163
+ // and returns [] on timeout/error/non-200 (hubSearch.js:160). It hits
164
+ // GET /a2a/assets/semantic-search?...&type=Gene -> genes only, no fetch,
165
+ // no credit. The query is a token-trimmed projection of the signals
166
+ // (buildSemanticQuery), NOT the verbatim prompt.
167
+ rows = await hs.fetchSemanticResults(hubUrl, headers, signalList, timeoutMs);
168
+ } catch (_) {
169
+ return [];
170
+ }
171
+ if (!Array.isArray(rows)) return [];
172
+
173
+ const minSim = getMinSim();
174
+ let selfId = '';
175
+ try { selfId = a2a.getNodeId() || ''; } catch (_) { selfId = ''; }
176
+
177
+ const out = [];
178
+ for (const r of rows) {
179
+ if (!r || typeof r !== 'object') continue;
180
+ const sim = Number(r._semantic_similarity);
181
+ if (!Number.isFinite(sim) || sim < minSim) continue; // drop drag-net matches
182
+ // Best-effort self-suppression: only when source_node_id is present (the
183
+ // semantic endpoint often omits it — do NOT treat absence as a hard gate).
184
+ if (selfId && r.source_node_id && r.source_node_id === selfId) continue;
185
+ out.push({
186
+ asset_id: r.asset_id || r.assetId || '',
187
+ source_node_id: r.source_node_id || '',
188
+ chain_id: r.chain_id || '',
189
+ similarity: sim,
190
+ title: r.short_title || r.nl_title || r.name || '',
191
+ summary: r.nl_summary || r.summary || '',
192
+ origin: 'hub',
193
+ });
194
+ }
195
+ return out;
196
+ }
197
+
198
+ // ---------------------------------------------------------------------------
199
+ // Local genes — match against on-disk genes with a real signal-pattern hit.
200
+ // We use the EXPORTED scorers (scoreGene is NOT exported, and selectGene uses
201
+ // Math.random + env I/O so it's unsuitable). Require >=1 pattern hit so we
202
+ // inject only genes whose signals_match actually fire for this task, not
203
+ // bag-of-words near-misses.
204
+ // ---------------------------------------------------------------------------
205
+ function matchLocalGenes(signalList) {
206
+ let genes = [];
207
+ let sel;
208
+ try {
209
+ genes = require('./assetStore').loadGenes() || [];
210
+ sel = require('./selector');
211
+ } catch (_) {
212
+ return [];
213
+ }
214
+ if (!Array.isArray(genes) || genes.length === 0 || !sel) return [];
215
+
216
+ const out = [];
217
+ for (const gene of genes) {
218
+ if (!gene || gene.type !== 'Gene') continue;
219
+ const patterns = Array.isArray(gene.signals_match) ? gene.signals_match : [];
220
+ let hits = 0;
221
+ for (const p of patterns) {
222
+ try { if (sel.matchPatternToSignals(p, signalList)) hits++; } catch (_) { /* skip */ }
223
+ }
224
+ if (hits < 1) continue; // require a real pattern hit, not noise
225
+ let sem = 0;
226
+ try { sem = sel.scoreGeneSemantic(gene, signalList) || 0; } catch (_) { sem = 0; }
227
+ // Many genes (incl. genesis genes) carry no `summary`. Fall back to a terse
228
+ // projection of the strategy/avoid text or the matched signal patterns so
229
+ // the injected line is actionable rather than a dangling "...: " (caught by
230
+ // real-gene E2E where synthetic fixtures had summaries).
231
+ let summary = (gene.summary || '').toString().trim();
232
+ if (!summary && gene.strategy && typeof gene.strategy === 'object') {
233
+ const pieces = [];
234
+ if (Array.isArray(gene.strategy.steps)) pieces.push(gene.strategy.steps.slice(0, 3).join('; '));
235
+ if (typeof gene.strategy.approach === 'string') pieces.push(gene.strategy.approach);
236
+ summary = pieces.filter(Boolean).join(' — ').trim();
237
+ }
238
+ if (!summary) {
239
+ const pats = patterns
240
+ .map(p => String(p).split('|')[0]) // first alias of each multi-lang pattern
241
+ .filter(p => p && !p.startsWith('/'))
242
+ .slice(0, 4);
243
+ if (pats.length) summary = 'matches: ' + pats.join(', ');
244
+ }
245
+ out.push({
246
+ asset_id: gene.asset_id || '',
247
+ source_node_id: gene.source_node_id || gene.author_node_id || '',
248
+ chain_id: gene.chain_id || '',
249
+ // Map local score into a 0..1-ish band for ranking next to Hub similarity.
250
+ // hits dominate; semantic cosine breaks ties.
251
+ similarity: Math.min(1, 0.75 + 0.05 * hits + 0.1 * sem),
252
+ title: gene.id || gene.short_title || '',
253
+ summary,
254
+ origin: 'local',
255
+ _hits: hits,
256
+ });
257
+ }
258
+ return out;
259
+ }
260
+
261
+ // ---------------------------------------------------------------------------
262
+ // Build the injected text. Distilled hint, NOT raw JSON. Each line uses
263
+ // nl_summary/title (always present in list/search responses) — never
264
+ // payload.strategy (often empty for distilled/sybil assets). Hard char ceiling.
265
+ // ---------------------------------------------------------------------------
266
+ // A candidate is "hollow" when it has neither a title nor a summary: there is
267
+ // nothing actionable to render (a dangling "Gene "": " helps no one). Hollow
268
+ // candidates are excluded from BOTH the injected text and the attribution log,
269
+ // so the log can never claim an asset was injected that never appeared in the
270
+ // hook context (Bugbot #183 low: log/inject must agree by construction).
271
+ function isRenderable(d) {
272
+ const title = (d && d.title ? String(d.title) : '').trim();
273
+ const summary = (d && d.summary ? String(d.summary) : '').trim();
274
+ return !!(title || summary);
275
+ }
276
+
277
+ function buildInjectText(decided) {
278
+ const renderable = (decided || []).filter(isRenderable);
279
+ if (!renderable.length) return '';
280
+ const lines = ['[Evolver — relevant prior capability]'];
281
+ let anyPublished = false;
282
+ for (const d of renderable) {
283
+ const title = (d.title || '').toString().slice(0, 80);
284
+ const summary = (d.summary || '').toString().replace(/\s+/g, ' ').trim().slice(0, SUMMARY_CLIP);
285
+ const sim = d.similarity != null ? d.similarity.toFixed(2) : '?';
286
+ const idTag = d.asset_id ? `asset ${d.asset_id}` : 'local, unpublished';
287
+ if (d.asset_id) anyPublished = true;
288
+ lines.push(`- ${title ? `Gene "${title}"` : 'Gene'} (${idTag}, sim ${sim})${summary ? ': ' + summary : ''}`);
289
+ }
290
+ lines.push('A prior distilled approach may fit this task. Adapt it; verify before applying.');
291
+ if (anyPublished) lines.push('To reuse a published asset: `gep_reuse <asset_id>` (or `gep_recall`).');
292
+ const text = lines.join('\n');
293
+ return text.length > INJECT_CHAR_CEILING ? text.slice(0, INJECT_CHAR_CEILING) : text;
294
+ }
295
+
296
+ // ---------------------------------------------------------------------------
297
+ // Local reuse logging. Records WHICH assets were (would be) injected, keyed by
298
+ // a stable run_id derived from the session, so a later Stop hook can correlate
299
+ // "asset injected -> session outcome" LOCALLY. This is correlational/local
300
+ // only — it is NOT Hub credit and must not be promoted to one without sign-off.
301
+ // ---------------------------------------------------------------------------
302
+ function logInjections(decided, mode, runId, signalList) {
303
+ let logAssetCall;
304
+ try { ({ logAssetCall } = require('./assetCallLog')); } catch (_) { return; }
305
+ const action = mode === 'enforce' ? 'asset_inject' : 'asset_inject_shadow';
306
+ for (const d of decided) {
307
+ try {
308
+ logAssetCall({
309
+ run_id: runId,
310
+ action,
311
+ asset_id: d.asset_id || undefined,
312
+ asset_type: 'Gene',
313
+ source_node_id: d.source_node_id || undefined,
314
+ chain_id: d.chain_id || undefined,
315
+ score: d.similarity,
316
+ signals: signalList.slice(0, 8),
317
+ reason: d.origin === 'hub' ? 'hub_semantic_high_band' : 'local_gene_pattern_hit',
318
+ extra: { via: 'task_recall', attribution: 'correlational_local', origin: d.origin },
319
+ });
320
+ } catch (_) { /* logging is best-effort; never block injection */ }
321
+ }
322
+ }
323
+
324
+ // ---------------------------------------------------------------------------
325
+ // Entry point of the core. Returns:
326
+ // { inject: bool, text: string|null, decided: [], dropped: number, signals: [] }
327
+ // inject is true ONLY in enforce mode with >=1 decided asset. In shadow we log
328
+ // but return inject:false. Throwing is acceptable — the hook entrypoint wraps
329
+ // this in try/.catch -> finish({}) (fail-open).
330
+ // ---------------------------------------------------------------------------
331
+ async function recallForTask(opts) {
332
+ const o = opts || {};
333
+ const mode = o.mode || getMode();
334
+ if (mode === 'off') return { inject: false, text: null, decided: [], dropped: 0, signals: [] };
335
+
336
+ const signalList = buildSignalList(o.prompt);
337
+ if (!signalList.length) return { inject: false, text: null, decided: [], dropped: 0, signals: [] };
338
+
339
+ // Do LOCAL gene work (synchronous disk I/O via loadGenes + ranking) BEFORE
340
+ // the Hub await, so it runs while the full budget is available — never after
341
+ // the Hub search has consumed most of the watchdog window (Bugbot #183
342
+ // medium: post-await local work could overrun the watchdog and spuriously
343
+ // skip injection). After the Hub await, only in-memory merge/text/log remain.
344
+ const localRows = matchLocalGenes(signalList);
345
+
346
+ // Bound the Hub call by the time REMAINING until the entrypoint's absolute
347
+ // deadline (passed as deadlineMs, ms-since-epoch), minus a safety margin for
348
+ // the in-memory post-processing + finish(). If too little remains, skip the
349
+ // Hub call (local genes still apply). Falls back to the static timeoutMs when
350
+ // no deadline is supplied (e.g. unit tests / non-hook callers).
351
+ const POST_AWAIT_SAFETY_MS = 150;
352
+ let hubBudget = Number.isFinite(o.timeoutMs) && o.timeoutMs > 0 ? o.timeoutMs : 2000;
353
+ if (Number.isFinite(o.deadlineMs)) {
354
+ const remaining = o.deadlineMs - Date.now() - POST_AWAIT_SAFETY_MS;
355
+ hubBudget = Math.min(hubBudget, remaining);
356
+ }
357
+
358
+ // Hub (search-only, credit-free), only if there's a usable budget left.
359
+ const hubRows = hubBudget >= 300 ? await searchHub(signalList, hubBudget) : [];
360
+
361
+ const seen = new Set();
362
+ const candidates = [];
363
+ let dropped = 0;
364
+ for (const r of [...hubRows, ...localRows]) {
365
+ const key = r.asset_id || `${r.origin}:${r.title}`;
366
+ if (key && seen.has(key)) { dropped++; continue; } // de-dup local vs hub
367
+ if (key) seen.add(key);
368
+ candidates.push(r);
369
+ }
370
+ candidates.sort((a, b) => (b.similarity || 0) - (a.similarity || 0));
371
+
372
+ const topN = candidates.slice(0, getMaxInject());
373
+ dropped += Math.max(0, candidates.length - topN.length);
374
+
375
+ // Filter out hollow candidates ONCE, so the injected text and the attribution
376
+ // log operate on the exact same set — the log can never claim an asset was
377
+ // injected that wasn't rendered into the hook context (Bugbot #183 low).
378
+ const decided = topN.filter(isRenderable);
379
+ dropped += topN.length - decided.length;
380
+ if (!decided.length) return { inject: false, text: null, decided: [], dropped, signals: signalList };
381
+
382
+ const text = buildInjectText(decided);
383
+ if (!text) return { inject: false, text: null, decided: [], dropped, signals: signalList };
384
+
385
+ const runId = o.runId || ('recall:' + (o.sessionId || 'unknown'));
386
+ logInjections(decided, mode, runId, signalList);
387
+
388
+ // SHADOW returns the computed text (for tests/inspection) but inject:false —
389
+ // the entrypoint only injects when inject is true (enforce).
390
+ return {
391
+ inject: mode === 'enforce',
392
+ text,
393
+ decided,
394
+ dropped,
395
+ signals: signalList,
396
+ };
397
+ }
398
+
399
+ module.exports = {
400
+ recallForTask,
401
+ // exported for unit tests:
402
+ getMode,
403
+ getMinSim,
404
+ getMaxInject,
405
+ extractSignalsPure,
406
+ buildSignalList,
407
+ buildInjectText,
408
+ _internals: { searchHub, matchLocalGenes, logInjections },
409
+ };