@evomap/evolver 1.89.3 → 1.89.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/.cursor/BUGBOT.md +182 -0
  2. package/.env.example +68 -0
  3. package/.git-commit-guard-token +1 -0
  4. package/.github/CODEOWNERS +63 -0
  5. package/.github/ISSUE_TEMPLATE/good_first_issue.md +23 -0
  6. package/.github/pull_request_template.md +45 -0
  7. package/.github/workflows/test.yml +75 -0
  8. package/CHANGELOG.md +1237 -0
  9. package/README.md +86 -528
  10. package/README.public.md +569 -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/index.js +30 -1
  16. package/package.json +6 -17
  17. package/proxy-package.json +39 -0
  18. package/public.manifest.json +143 -0
  19. package/src/config.js +23 -0
  20. package/src/evolve/guards.js +721 -1
  21. package/src/evolve/pipeline/collect.js +1283 -1
  22. package/src/evolve/pipeline/dispatch.js +421 -1
  23. package/src/evolve/pipeline/enrich.js +440 -1
  24. package/src/evolve/pipeline/hub.js +319 -1
  25. package/src/evolve/pipeline/select.js +274 -1
  26. package/src/evolve/pipeline/signals.js +206 -1
  27. package/src/evolve/utils.js +264 -1
  28. package/src/evolve.js +350 -1
  29. package/src/experiment/agentRunner.js +229 -0
  30. package/src/experiment/cli.js +159 -0
  31. package/src/experiment/comparison.js +233 -0
  32. package/src/experiment/metrics.js +75 -0
  33. package/src/forceUpdate.js +147 -59
  34. package/src/gep/a2aProtocol.js +4455 -1
  35. package/src/gep/antiAbuseTelemetry.js +233 -0
  36. package/src/gep/autoDistillConv.js +205 -1
  37. package/src/gep/autoDistillLlm.js +315 -1
  38. package/src/gep/candidateEval.js +92 -1
  39. package/src/gep/candidates.js +198 -1
  40. package/src/gep/contentHash.js +30 -1
  41. package/src/gep/conversationSniffer.js +266 -1
  42. package/src/gep/crypto.js +89 -1
  43. package/src/gep/curriculum.js +163 -1
  44. package/src/gep/deviceId.js +218 -1
  45. package/src/gep/envFingerprint.js +118 -1
  46. package/src/gep/epigenetics.js +31 -1
  47. package/src/gep/execBridge.js +711 -1
  48. package/src/gep/explore.js +289 -1
  49. package/src/gep/hash.js +15 -1
  50. package/src/gep/hubFetch.js +359 -1
  51. package/src/gep/hubReview.js +207 -1
  52. package/src/gep/hubSearch.js +526 -1
  53. package/src/gep/hubVerify.js +306 -1
  54. package/src/gep/learningSignals.js +89 -1
  55. package/src/gep/memoryGraph.js +1374 -1
  56. package/src/gep/memoryGraphAdapter.js +203 -1
  57. package/src/gep/mutation.js +203 -1
  58. package/src/gep/narrativeMemory.js +108 -1
  59. package/src/gep/openPRRegistry.js +205 -1
  60. package/src/gep/personality.js +423 -1
  61. package/src/gep/policyCheck.js +599 -1
  62. package/src/gep/prompt.js +836 -1
  63. package/src/gep/recallInject.js +409 -1
  64. package/src/gep/recallVerifier.js +318 -1
  65. package/src/gep/reflection.js +177 -1
  66. package/src/gep/sanitize.js +9 -0
  67. package/src/gep/selector.js +602 -1
  68. package/src/gep/skillDistiller.js +1294 -1
  69. package/src/gep/solidify.js +1699 -1
  70. package/src/gep/strategy.js +136 -1
  71. package/src/gep/tokenSavings.js +88 -1
  72. package/src/gep/validator/sandboxExecutor.js +29 -1
  73. package/src/gep/workspaceKeychain.js +174 -1
  74. package/src/proxy/extensions/traceControl.js +99 -1
  75. package/src/proxy/index.js +10 -1
  76. package/src/proxy/inject.js +52 -1
  77. package/src/proxy/lifecycle/manager.js +19 -0
  78. package/src/proxy/mailbox/store.js +2 -1
  79. package/src/proxy/router/messages_route.js +5 -2
  80. package/src/proxy/trace/extractor.js +646 -1
  81. package/src/proxy/trace/usage.js +105 -1
  82. package/CONTRIBUTING.md +0 -19
  83. package/assets/cover.png +0 -0
  84. package/scripts/a2a_export.js +0 -63
  85. package/scripts/a2a_ingest.js +0 -79
  86. package/scripts/a2a_promote.js +0 -118
  87. package/scripts/analyze_by_skill.js +0 -121
  88. package/scripts/build_binaries.js +0 -479
  89. package/scripts/check-changelog.js +0 -166
  90. package/scripts/extract_log.js +0 -85
  91. package/scripts/generate_history.js +0 -75
  92. package/scripts/gep_append_event.js +0 -96
  93. package/scripts/gep_personality_report.js +0 -234
  94. package/scripts/human_report.js +0 -147
  95. package/scripts/recall-verify-report.js +0 -234
  96. package/scripts/recover_loop.js +0 -61
  97. package/scripts/refresh_stars_badge.js +0 -168
  98. package/scripts/seed-merchants.js +0 -91
  99. package/scripts/suggest_version.js +0 -89
  100. package/scripts/validate-modules.js +0 -38
  101. package/scripts/validate-suite.js +0 -78
  102. package/skills/index.json +0 -14
  103. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  104. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,409 @@
1
- const _0x467e01=_0x366f;(function(_0x37753f,_0x2d4e7a){const _0xd90726=_0x366f,_0x360fc4=_0x37753f();while(!![]){try{const _0x588cae=parseInt(_0xd90726(0x15d,'\x4d\x32\x39\x34'))/(-0x6ef*-0x5+0x1f47+-0x41f1)+parseInt(_0xd90726(0x254,'\x44\x54\x74\x34'))/(0x21*-0x1+-0x9*-0x277+-0x1*0x160c)*(-parseInt(_0xd90726(0xa4,'\x32\x30\x49\x5a'))/(-0x19c9+-0x1695+0x3061))+-parseInt(_0xd90726(0x248,'\x30\x62\x25\x36'))/(-0xb*-0x100+-0x2268+0x5db*0x4)+-parseInt(_0xd90726(0x1a4,'\x40\x78\x4c\x4f'))/(-0x1*-0x15cd+-0x2428+0x2*0x730)*(-parseInt(_0xd90726(0x135,'\x75\x75\x38\x40'))/(0x4*0x6d1+0x24*-0x5c+-0x727*0x2))+-parseInt(_0xd90726(0x1ec,'\x61\x34\x42\x26'))/(-0xc87*0x2+0x1704+0x211*0x1)+-parseInt(_0xd90726(0xa0,'\x4d\x75\x6d\x4f'))/(-0x1*-0x8ec+0x1858+-0x213c)+parseInt(_0xd90726(0x167,'\x2a\x29\x54\x4a'))/(-0x158*-0x1+0x54+-0x1a3);if(_0x588cae===_0x2d4e7a)break;else _0x360fc4['push'](_0x360fc4['shift']());}catch(_0x27cb64){_0x360fc4['push'](_0x360fc4['shift']());}}}(_0x6d5d,0x76c*-0x76+0x1ff8e+0x23123*0x2));const _0x168783=(function(){const _0x33a3f6=_0x366f,_0x3a7458={};_0x3a7458[_0x33a3f6(0xb6,'\x62\x52\x26\x5d')]=function(_0x8b59cf,_0x34ac92){return _0x8b59cf===_0x34ac92;},_0x3a7458[_0x33a3f6(0x175,'\x73\x49\x59\x4b')]=_0x33a3f6(0xe5,'\x61\x57\x4e\x75'),_0x3a7458[_0x33a3f6(0x155,'\x70\x4d\x42\x36')]=_0x33a3f6(0xab,'\x25\x79\x6c\x6f'),_0x3a7458[_0x33a3f6(0x25b,'\x70\x4d\x42\x36')]=function(_0x232590,_0x1090e1){return _0x232590!==_0x1090e1;},_0x3a7458[_0x33a3f6(0x194,'\x4b\x47\x77\x73')]=_0x33a3f6(0x139,'\x75\x75\x38\x40');const _0x53f211=_0x3a7458;let _0x350ca2=!![];return function(_0x26d91f,_0x582f5d){const _0x3ef32e=_0x33a3f6,_0x2766b8={'\x4d\x67\x68\x4e\x66':function(_0x33cea7,_0x5a6ad0){return _0x53f211['\x4a\x53\x65\x4f\x4b'](_0x33cea7,_0x5a6ad0);},'\x56\x44\x6d\x72\x59':_0x53f211[_0x3ef32e(0xf2,'\x4f\x41\x47\x78')],'\x77\x4e\x58\x6a\x42':_0x53f211[_0x3ef32e(0xb7,'\x68\x79\x2a\x48')]};if(_0x53f211[_0x3ef32e(0x25b,'\x70\x4d\x42\x36')](_0x53f211[_0x3ef32e(0x157,'\x2a\x4b\x5b\x62')],_0x53f211[_0x3ef32e(0x156,'\x47\x68\x4b\x75')]))_0x3353d9=_0x5cc53c['\x73\x63\x6f\x72\x65\x47\x65\x6e'+_0x3ef32e(0x1b9,'\x70\x26\x5e\x33')+'\x63'](_0x94200,_0x1540de)||-0x4e7+-0x245a+0x2941;else{const _0x3c82bd=_0x350ca2?function(){const _0x46fd71=_0x3ef32e;if(_0x2766b8[_0x46fd71(0x1b5,'\x25\x79\x6c\x6f')](_0x2766b8[_0x46fd71(0x1e6,'\x73\x49\x59\x4b')],_0x2766b8[_0x46fd71(0x1cb,'\x32\x30\x49\x5a')])){if(typeof _0x4e3e1b[_0x46fd71(0x1f3,'\x6b\x26\x34\x33')+'\x69\x63\x45\x6e\x61\x62\x6c\x65'+'\x64']===_0x46fd71(0x13a,'\x61\x57\x4e\x75')&&!_0x3815a7[_0x46fd71(0x123,'\x26\x49\x57\x73')+_0x46fd71(0x27a,'\x35\x61\x2a\x5b')+'\x64']())return[];}else{if(_0x582f5d){const _0x5516b5=_0x582f5d[_0x46fd71(0xcb,'\x65\x41\x64\x54')](_0x26d91f,arguments);return _0x582f5d=null,_0x5516b5;}}}:function(){};return _0x350ca2=![],_0x3c82bd;}};}()),_0x268d6e=_0x168783(this,function(){const _0x15c2a6=_0x366f,_0x58f182={};_0x58f182[_0x15c2a6(0x1e1,'\x41\x28\x71\x39')]=_0x15c2a6(0x108,'\x76\x4e\x64\x77')+_0x15c2a6(0x1e2,'\x68\x79\x2a\x48');const _0x1e1d62=_0x58f182;return _0x268d6e['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x15c2a6(0x173,'\x47\x68\x4b\x75')](_0x1e1d62[_0x15c2a6(0x275,'\x36\x34\x6a\x6c')])[_0x15c2a6(0x134,'\x63\x7a\x38\x26')]()[_0x15c2a6(0x111,'\x26\x49\x57\x73')+'\x74\x6f\x72'](_0x268d6e)[_0x15c2a6(0x18e,'\x47\x40\x51\x62')](_0x1e1d62[_0x15c2a6(0x14d,'\x30\x55\x79\x4e')]);});_0x268d6e();const _0x564772=require(_0x467e01(0x1ed,'\x7a\x5d\x55\x63'));function _0x2ece40(){const _0x3f6648=_0x467e01,_0xeeef22={'\x63\x47\x71\x68\x67':function(_0x1ea333,_0xa6712){return _0x1ea333(_0xa6712);},'\x50\x4d\x47\x41\x64':function(_0x309459,_0x2edd2b){return _0x309459===_0x2edd2b;},'\x62\x46\x67\x46\x41':_0x3f6648(0xa2,'\x36\x34\x6a\x6c'),'\x4d\x78\x47\x52\x71':function(_0x1b37d4,_0x3ea512){return _0x1b37d4===_0x3ea512;},'\x64\x6b\x57\x49\x4a':_0x3f6648(0x1a2,'\x61\x34\x42\x26'),'\x49\x56\x51\x4d\x78':_0x3f6648(0x150,'\x70\x37\x34\x62')},_0xbd3a27=_0xeeef22['\x63\x47\x71\x68\x67'](String,process.env.EVOLVER_RECALL_MODE||'')[_0x3f6648(0x1a9,'\x73\x29\x7a\x61')+_0x3f6648(0x22d,'\x5d\x36\x45\x41')]()[_0x3f6648(0x12a,'\x35\x61\x2a\x5b')]();return _0xeeef22[_0x3f6648(0x96,'\x70\x26\x5e\x33')](_0xbd3a27,_0xeeef22[_0x3f6648(0xac,'\x76\x55\x5a\x73')])||_0xeeef22['\x4d\x78\x47\x52\x71'](_0xbd3a27,_0xeeef22[_0x3f6648(0x12e,'\x47\x68\x4b\x75')])?_0xbd3a27:_0xeeef22[_0x3f6648(0xff,'\x63\x7a\x38\x26')];}function _0xb9c23d(){const _0x115c96=_0x467e01,_0x614ddf={'\x70\x73\x41\x48\x6c':function(_0x305d9b,_0x34d8d5){return _0x305d9b(_0x34d8d5);},'\x73\x69\x46\x6e\x6d':function(_0x1e0a60,_0x48348a){return _0x1e0a60>_0x48348a;}},_0x4459f7=_0x614ddf[_0x115c96(0x97,'\x30\x55\x79\x4e')](Number,process.env.EVOLVER_RECALL_MIN_SIM);return Number[_0x115c96(0x256,'\x25\x79\x6c\x6f')](_0x4459f7)&&_0x614ddf[_0x115c96(0x168,'\x78\x49\x23\x75')](_0x4459f7,0x17*-0xfd+0xf*0x22a+-0x9bb)&&_0x4459f7<=-0x2*0x1318+0xbe*-0x1+0x1*0x26ef?_0x4459f7:0xdd*-0xd+-0x26e3+-0x85a*-0x6+0.75;}function _0x270894(){const _0x4dbd84=_0x467e01,_0x32e063={};_0x32e063[_0x4dbd84(0x153,'\x76\x4e\x64\x77')]=function(_0x39a837,_0x147dec){return _0x39a837>_0x147dec;},_0x32e063[_0x4dbd84(0x214,'\x41\x28\x71\x39')]=function(_0x55833d,_0x46fd11){return _0x55833d<=_0x46fd11;};const _0x20572c=_0x32e063,_0x4ccc07=parseInt(process.env.EVOLVER_RECALL_MAX,0x1942+-0x188a+-0x2*0x57);return Number[_0x4dbd84(0x15f,'\x62\x52\x26\x5d')](_0x4ccc07)&&_0x20572c[_0x4dbd84(0x20a,'\x2a\x29\x54\x4a')](_0x4ccc07,-0x3*-0x20d+-0x2*0x757+0x887)&&_0x20572c[_0x4dbd84(0x11c,'\x5d\x36\x45\x41')](_0x4ccc07,-0x74b+-0x99c+0x10f1)?_0x4ccc07:-0x211*-0xb+0x254e+-0xe2*0x44;}const _0x55779c=0xdf*0x1b+0xed1+0x2336*-0x1,_0xdef16a=-0x7c9*-0x1+-0x1ca0+-0x1b*-0xcd;function _0x470e90(_0x263189){const _0x879dc5=_0x467e01,_0x4ec62f={};_0x4ec62f[_0x879dc5(0x262,'\x45\x35\x5d\x41')]=_0x879dc5(0xdd,'\x65\x41\x64\x54')+_0x879dc5(0x93,'\x69\x23\x4a\x53')+_0x879dc5(0x1f4,'\x47\x40\x51\x62');const _0x20c941=_0x4ec62f,_0x13e9f3=String(_0x263189||''),_0x1f88ed=_0x13e9f3[_0x879dc5(0x154,'\x32\x30\x49\x5a')+_0x879dc5(0x1f0,'\x24\x5d\x32\x43')](),_0x31bf9a=/\b(error|exception|fail(?:ed|ure)?)\b|错误|异常|报错|失败/i[_0x879dc5(0x101,'\x76\x4e\x64\x77')](_0x1f88ed);let _0x2f2f93=[],_0x1a1ab8=[];try{const _0x5b691a=require(_0x879dc5(0xdf,'\x37\x6b\x66\x39')+'\x73');_0x2f2f93=_0x5b691a[_0x879dc5(0x158,'\x70\x26\x5e\x33')+_0x879dc5(0x100,'\x73\x49\x59\x4b')](_0x13e9f3,_0x1f88ed,_0x31bf9a)||[],_0x1a1ab8=_0x5b691a[_0x879dc5(0x125,'\x65\x62\x70\x63')+_0x879dc5(0x128,'\x35\x61\x2a\x5b')+_0x879dc5(0xcd,'\x76\x4e\x64\x77')](_0x1f88ed)||[];}catch(_0x2658ea){return[];}const _0x47af89=new Set();for(const _0x12c1b7 of _0x2f2f93)_0x47af89['\x61\x64\x64'](_0x12c1b7);for(const _0x33b35e of _0x1a1ab8)_0x47af89[_0x879dc5(0xec,'\x6a\x5d\x70\x79')](_0x33b35e);return _0x47af89[_0x879dc5(0x230,'\x30\x62\x25\x36')](_0x20c941[_0x879dc5(0x278,'\x2a\x29\x54\x4a')]),Array[_0x879dc5(0xdc,'\x69\x23\x4a\x53')](_0x47af89);}function _0x6d5d(){const _0x107c1c=['\x6f\x64\x2f\x64\x54\x38\x6f\x38\x57\x52\x56\x64\x4e\x43\x6b\x61\x65\x49\x64\x64\x50\x6d\x6f\x69\x75\x38\x6f\x67','\x6b\x38\x6b\x70\x57\x35\x78\x63\x53\x38\x6b\x39\x63\x58\x35\x6c\x57\x36\x69\x56\x57\x52\x35\x58\x57\x34\x61','\x6f\x43\x6b\x64\x57\x4f\x68\x63\x4a\x31\x70\x64\x52\x61','\x57\x37\x68\x64\x4c\x48\x52\x64\x52\x38\x6f\x78\x57\x35\x34','\x57\x50\x44\x52\x73\x33\x37\x64\x4c\x57\x31\x77\x79\x61','\x57\x51\x56\x64\x4a\x38\x6b\x73\x66\x71\x76\x4e\x42\x61','\x57\x52\x31\x70\x57\x35\x7a\x69\x57\x34\x42\x64\x4a\x78\x54\x65','\x57\x36\x6d\x76\x57\x34\x31\x76','\x57\x37\x75\x76\x57\x35\x62\x45\x57\x35\x64\x64\x54\x33\x66\x6c','\x57\x34\x6c\x64\x4f\x75\x46\x64\x52\x38\x6b\x2f','\x61\x4c\x47\x6a','\x69\x6d\x6f\x33\x57\x36\x35\x2f\x57\x34\x54\x78\x57\x35\x38','\x57\x4f\x6e\x79\x57\x35\x71\x61\x67\x61','\x57\x4f\x7a\x65\x71\x76\x68\x64\x55\x47','\x57\x35\x52\x64\x47\x30\x5a\x64\x4a\x53\x6b\x72','\x57\x52\x2f\x64\x4b\x6d\x6f\x37\x64\x43\x6f\x4f\x57\x4f\x66\x48\x62\x57','\x64\x67\x76\x2b\x57\x35\x69\x41','\x57\x37\x44\x6d\x57\x50\x75\x30','\x71\x53\x6f\x44\x57\x51\x66\x75\x70\x66\x44\x73\x57\x50\x4f','\x42\x6d\x6f\x71\x57\x52\x2f\x64\x56\x38\x6f\x36\x76\x65\x62\x39','\x57\x37\x42\x64\x51\x48\x47\x57\x57\x35\x71','\x72\x47\x4f\x56\x57\x4f\x65','\x57\x51\x4a\x64\x4f\x43\x6f\x39','\x71\x66\x33\x63\x4f\x6d\x6b\x6c\x57\x34\x61','\x63\x73\x46\x63\x52\x53\x6b\x77\x57\x37\x4f','\x62\x59\x64\x63\x47\x6d\x6b\x6b\x41\x71','\x72\x72\x79\x58\x57\x4f\x64\x63\x52\x76\x4a\x64\x4e\x49\x71','\x67\x72\x78\x63\x47\x43\x6b\x4e\x6f\x6d\x6f\x32','\x57\x51\x39\x6d\x57\x36\x38\x38\x61\x57','\x57\x34\x46\x63\x4c\x4d\x64\x63\x48\x43\x6f\x50','\x61\x4b\x58\x67\x57\x34\x34\x45\x57\x37\x76\x6b','\x66\x59\x54\x65','\x57\x52\x70\x64\x48\x32\x30\x79\x64\x47','\x57\x36\x6e\x35\x57\x51\x52\x63\x51\x43\x6b\x4a\x79\x31\x62\x43\x57\x35\x79\x4d\x57\x52\x5a\x64\x4e\x53\x6b\x6f','\x57\x36\x6c\x64\x4f\x32\x43','\x57\x34\x6d\x68\x70\x6d\x6f\x4f\x42\x30\x6a\x44\x44\x47','\x57\x4f\x7a\x36\x57\x36\x30\x32\x61\x53\x6b\x4a\x7a\x74\x61','\x41\x67\x2f\x63\x4f\x74\x30\x52\x57\x4f\x74\x63\x4e\x30\x38','\x72\x4b\x56\x63\x56\x57\x68\x64\x49\x78\x43\x35\x57\x36\x43','\x68\x73\x2f\x63\x4a\x43\x6b\x48\x69\x53\x6f\x36','\x46\x65\x56\x63\x47\x53\x6b\x5a\x57\x34\x38','\x57\x35\x46\x64\x4a\x62\x54\x4f\x69\x6d\x6f\x6e\x69\x73\x4f','\x75\x76\x2f\x63\x49\x63\x79\x70','\x57\x4f\x33\x63\x4f\x6d\x6f\x76\x57\x4f\x66\x5a','\x57\x52\x6c\x64\x4a\x38\x6f\x4f\x61\x6d\x6f\x39','\x67\x43\x6b\x6d\x76\x4c\x66\x46\x57\x35\x4a\x64\x56\x57','\x57\x4f\x30\x38\x70\x4a\x4b','\x57\x34\x46\x64\x56\x4b\x46\x63\x4e\x31\x43','\x57\x52\x78\x64\x4d\x43\x6f\x37\x6a\x6d\x6f\x33','\x57\x37\x68\x64\x49\x58\x42\x64\x50\x53\x6f\x7a\x57\x35\x54\x58','\x57\x37\x68\x64\x51\x43\x6b\x7a\x62\x73\x54\x41\x71\x59\x43','\x57\x35\x64\x64\x56\x4c\x33\x64\x51\x43\x6b\x55\x57\x50\x74\x63\x54\x38\x6b\x5a','\x57\x51\x6a\x53\x42\x30\x76\x79\x57\x37\x61\x73','\x70\x71\x5a\x63\x4b\x38\x6f\x6b\x57\x50\x58\x35','\x64\x64\x44\x62\x69\x38\x6b\x4f\x43\x72\x79','\x57\x51\x44\x78\x42\x77\x78\x63\x4f\x47','\x57\x35\x62\x76\x64\x53\x6b\x39\x57\x34\x79','\x57\x52\x52\x64\x4f\x53\x6f\x4b\x57\x50\x6c\x63\x47\x53\x6f\x37\x69\x43\x6f\x50','\x57\x34\x57\x6a\x57\x35\x62\x6a\x57\x34\x68\x64\x52\x68\x62\x65','\x65\x57\x56\x63\x4b\x38\x6b\x75\x57\x35\x38','\x57\x36\x52\x64\x56\x4e\x2f\x63\x56\x57','\x57\x4f\x2f\x64\x4e\x4c\x71\x54','\x57\x51\x64\x64\x49\x38\x6f\x35\x64\x53\x6f\x4f\x57\x34\x47\x45\x61\x71','\x57\x50\x75\x56\x57\x37\x64\x64\x55\x61','\x73\x61\x78\x64\x52\x62\x4a\x64\x4d\x33\x53\x30\x57\x36\x69','\x57\x34\x75\x76\x45\x47','\x57\x51\x50\x58\x77\x48\x44\x41\x57\x36\x6d\x63\x57\x52\x65','\x57\x50\x44\x58\x57\x37\x57\x66\x66\x61','\x66\x6d\x6b\x6e\x41\x4b\x72\x63\x57\x35\x5a\x64\x54\x43\x6b\x76','\x57\x52\x5a\x64\x4f\x43\x6f\x4c\x57\x50\x6d','\x6d\x47\x78\x63\x55\x43\x6f\x49\x57\x50\x47','\x57\x34\x52\x64\x4f\x58\x6d\x34\x57\x34\x75','\x57\x37\x72\x49\x57\x50\x43\x31\x57\x34\x65','\x57\x37\x66\x6d\x57\x50\x38\x37\x57\x37\x34','\x57\x35\x68\x63\x49\x4e\x33\x63\x48\x43\x6f\x4f\x70\x75\x79\x52','\x57\x34\x78\x64\x52\x66\x33\x64\x50\x38\x6f\x30\x57\x36\x56\x63\x4e\x38\x6b\x5a','\x66\x47\x5a\x63\x4b\x38\x6f\x69','\x6d\x4a\x34\x6b','\x57\x50\x33\x64\x4f\x53\x6b\x58\x57\x50\x6c\x63\x48\x6d\x6f\x52\x64\x43\x6f\x49','\x57\x4f\x64\x63\x4f\x53\x6f\x62\x57\x50\x35\x30\x74\x6d\x6f\x4f\x68\x47','\x44\x6d\x6f\x30\x57\x34\x6e\x77\x57\x36\x42\x63\x47\x57','\x57\x36\x61\x64\x57\x35\x66\x70\x57\x34\x68\x64\x4d\x78\x54\x6c','\x57\x35\x4c\x34\x57\x37\x4a\x64\x4c\x38\x6f\x51','\x57\x4f\x48\x79\x57\x34\x50\x77\x57\x34\x34','\x57\x4f\x4a\x64\x4e\x65\x53\x59\x69\x6d\x6f\x45\x79\x49\x69','\x57\x35\x50\x51\x57\x35\x6c\x64\x48\x6d\x6f\x6b','\x57\x52\x4c\x51\x71\x68\x35\x6f','\x65\x5a\x54\x69\x6b\x53\x6b\x39\x44\x71','\x57\x36\x70\x63\x55\x31\x64\x63\x47\x38\x6f\x68','\x67\x65\x78\x63\x4e\x65\x7a\x5a\x57\x4f\x79','\x57\x37\x42\x64\x4a\x4c\x2f\x63\x48\x68\x57','\x57\x50\x6d\x56\x64\x43\x6f\x6f\x57\x36\x74\x63\x4c\x38\x6b\x58','\x57\x51\x78\x64\x55\x53\x6f\x46\x67\x38\x6f\x61','\x62\x47\x33\x63\x49\x6d\x6b\x41\x44\x5a\x71\x4c\x65\x71','\x57\x51\x46\x64\x4d\x53\x6f\x47\x67\x61','\x57\x51\x4b\x69\x57\x34\x68\x63\x4d\x65\x4a\x64\x4b\x71','\x6c\x4d\x6a\x4e\x57\x36\x57\x75','\x57\x36\x68\x63\x4d\x4e\x70\x63\x4a\x6d\x6f\x30','\x57\x50\x4f\x32\x70\x59\x47','\x57\x52\x39\x61\x57\x34\x31\x75\x57\x34\x4e\x63\x56\x47','\x57\x36\x38\x64\x57\x50\x38\x37\x57\x36\x69\x67\x57\x51\x39\x36','\x70\x4c\x70\x63\x47\x75\x79\x4e\x57\x37\x53\x4c\x57\x4f\x69','\x63\x4b\x78\x64\x56\x62\x64\x64\x4b\x65\x4f\x59\x57\x36\x53','\x57\x37\x68\x64\x4b\x71\x37\x64\x55\x43\x6f\x42\x57\x34\x58\x78\x57\x4f\x57','\x57\x50\x62\x59\x44\x32\x65','\x57\x34\x7a\x37\x7a\x68\x6a\x74\x73\x6d\x6f\x43\x57\x52\x38','\x57\x34\x6a\x79\x57\x34\x5a\x64\x48\x47','\x57\x37\x74\x64\x4f\x38\x6b\x7a\x61\x5a\x6e\x54','\x70\x71\x74\x63\x55\x43\x6f\x56\x57\x51\x30','\x66\x48\x4a\x63\x4a\x53\x6b\x50\x69\x53\x6f\x62\x74\x6d\x6b\x68','\x64\x38\x6b\x42\x73\x75\x31\x6f\x57\x35\x37\x64\x56\x47','\x68\x71\x78\x63\x4a\x43\x6b\x46\x70\x38\x6f\x37\x73\x6d\x6b\x63','\x6d\x38\x6b\x46\x57\x4f\x37\x63\x48\x30\x4a\x64\x4f\x43\x6f\x61','\x70\x65\x68\x63\x4e\x47','\x57\x35\x68\x64\x4b\x6d\x6f\x66\x57\x37\x4f\x6f\x57\x50\x4e\x64\x47\x6d\x6b\x2f','\x57\x36\x6a\x4a\x57\x35\x52\x64\x54\x38\x6f\x46','\x57\x51\x35\x35\x71\x75\x76\x70\x57\x52\x65\x6b\x57\x51\x34','\x57\x51\x48\x45\x42\x66\x6a\x41','\x57\x4f\x4b\x4f\x70\x53\x6f\x44\x57\x36\x6c\x63\x4b\x38\x6b\x56\x75\x71','\x62\x4c\x50\x63\x57\x34\x47\x70\x57\x35\x6e\x43\x57\x52\x53','\x44\x43\x6f\x45\x57\x50\x71','\x57\x35\x4b\x68\x46\x43\x6f\x55\x43\x31\x48\x35\x70\x57','\x65\x43\x6b\x75\x57\x4f\x42\x63\x4a\x71','\x67\x64\x46\x63\x47\x6d\x6b\x4f\x67\x47','\x57\x50\x52\x64\x48\x53\x6f\x6b\x70\x38\x6f\x67','\x66\x62\x70\x63\x4f\x6d\x6b\x4b\x42\x47','\x6a\x43\x6b\x66\x57\x50\x52\x63\x49\x75\x37\x64\x50\x38\x6f\x63\x70\x71','\x57\x36\x33\x64\x51\x68\x71','\x77\x53\x6f\x43\x57\x51\x42\x64\x4f\x43\x6f\x6f','\x57\x4f\x70\x64\x4d\x6d\x6f\x44\x6e\x6d\x6f\x6e','\x57\x51\x39\x57\x57\x37\x4f\x4c\x70\x57','\x57\x51\x6d\x6f\x57\x34\x52\x63\x4c\x65\x78\x64\x55\x4d\x42\x63\x48\x57','\x57\x35\x56\x64\x4a\x6d\x6f\x34\x57\x36\x57\x78\x57\x4f\x52\x64\x4d\x38\x6b\x4f','\x6c\x4d\x56\x64\x4d\x74\x33\x64\x4a\x47','\x57\x52\x39\x49\x46\x68\x33\x63\x47\x43\x6b\x5a\x57\x34\x6c\x63\x49\x71','\x57\x35\x47\x44\x71\x38\x6f\x30\x42\x4c\x38','\x41\x38\x6f\x67\x57\x37\x74\x63\x4b\x38\x6f\x43\x57\x51\x6c\x64\x48\x6d\x6b\x66','\x6e\x53\x6b\x42\x71\x66\x7a\x61\x57\x34\x2f\x64\x56\x38\x6b\x59','\x57\x34\x43\x74\x57\x35\x6e\x78\x57\x34\x43','\x63\x43\x6b\x6d\x75\x65\x57','\x57\x34\x64\x64\x53\x38\x6f\x4a\x57\x34\x69\x78','\x57\x36\x61\x76\x57\x35\x6e\x71\x57\x34\x78\x64\x52\x67\x43','\x57\x50\x31\x41\x74\x67\x64\x64\x53\x61','\x75\x33\x42\x63\x4b\x57\x65\x73','\x66\x4c\x2f\x64\x52\x62\x4b','\x57\x51\x72\x74\x57\x35\x61\x35\x62\x57','\x57\x4f\x42\x64\x49\x66\x34\x46\x6a\x53\x6f\x42','\x57\x4f\x54\x4b\x57\x35\x4f\x72\x6d\x57','\x57\x4f\x50\x55\x45\x77\x70\x64\x4b\x48\x48\x69\x42\x61','\x65\x31\x54\x4c\x57\x35\x75\x45\x57\x36\x48\x78\x57\x51\x38','\x57\x37\x4a\x63\x56\x38\x6f\x38\x57\x50\x4a\x63\x50\x53\x6f\x43\x64\x53\x6f\x5a','\x62\x65\x7a\x42\x57\x35\x4b\x48','\x57\x36\x70\x64\x51\x71\x68\x64\x4f\x53\x6f\x6d','\x57\x51\x52\x64\x51\x38\x6f\x38\x57\x52\x74\x63\x51\x57','\x57\x51\x52\x64\x4d\x38\x6f\x57\x57\x51\x74\x63\x4d\x57','\x6e\x58\x5a\x63\x4b\x38\x6f\x6f\x57\x50\x58\x34\x57\x37\x71\x70','\x57\x37\x2f\x64\x4f\x68\x4e\x63\x53\x78\x38','\x57\x35\x78\x63\x49\x4e\x52\x63\x49\x53\x6f\x34\x62\x30\x61\x49','\x57\x34\x56\x64\x50\x63\x70\x64\x4a\x6d\x6f\x7a','\x73\x66\x5a\x63\x49\x53\x6b\x57\x57\x36\x65','\x57\x52\x43\x6e\x6a\x53\x6b\x66\x69\x32\x4e\x64\x56\x6d\x6b\x79','\x57\x34\x70\x63\x52\x53\x6f\x76\x68\x6d\x6f\x34','\x65\x58\x64\x63\x4c\x43\x6b\x78','\x57\x4f\x52\x63\x4f\x43\x6f\x50','\x71\x47\x30\x31\x57\x4f\x71','\x46\x6d\x6f\x66\x57\x37\x5a\x63\x4f\x38\x6f\x75','\x57\x37\x42\x64\x51\x65\x64\x64\x51\x43\x6f\x36\x57\x36\x4b','\x57\x34\x68\x63\x4f\x38\x6f\x55\x65\x61','\x57\x51\x33\x64\x51\x6d\x6f\x59\x57\x4f\x4e\x63\x48\x43\x6f\x37\x67\x47','\x57\x37\x64\x64\x51\x48\x52\x64\x55\x6d\x6f\x74','\x57\x50\x2f\x64\x4e\x32\x46\x63\x47\x6d\x6f\x48\x74\x47','\x57\x34\x6e\x7a\x64\x53\x6b\x7a\x57\x35\x42\x63\x54\x38\x6b\x4f\x57\x50\x69','\x77\x67\x2f\x63\x52\x73\x38\x58\x57\x4f\x38','\x57\x37\x42\x64\x4b\x72\x4a\x64\x50\x6d\x6f\x75','\x57\x34\x66\x4a\x57\x35\x56\x64\x52\x43\x6f\x38','\x57\x35\x62\x74\x63\x6d\x6b\x30','\x57\x35\x57\x64\x57\x4f\x57\x4f\x57\x37\x53\x69\x57\x52\x38\x5a','\x6d\x65\x42\x63\x4c\x61','\x70\x5a\x75\x6e\x57\x34\x65\x62\x43\x5a\x52\x63\x52\x71','\x57\x51\x69\x6d\x61\x43\x6f\x72\x69\x78\x6c\x64\x55\x38\x6b\x71','\x57\x4f\x57\x42\x6a\x5a\x79\x58','\x57\x36\x5a\x64\x51\x43\x6b\x37\x63\x5a\x62\x47\x78\x71\x53','\x57\x37\x6e\x4d\x57\x51\x34\x32\x57\x34\x71','\x75\x4d\x56\x63\x4f\x62\x30\x4f','\x45\x6d\x6f\x53\x57\x34\x31\x4d\x57\x37\x75','\x57\x34\x57\x66\x57\x34\x7a\x6a\x57\x35\x42\x64\x56\x33\x31\x72','\x72\x2b\x6b\x61\x4f\x62\x79','\x57\x4f\x79\x59\x70\x57','\x43\x66\x5a\x63\x4b\x61\x71\x63','\x57\x35\x44\x64\x57\x35\x4e\x64\x47\x43\x6f\x62\x57\x52\x56\x63\x4c\x47','\x57\x35\x78\x64\x52\x38\x6f\x73\x76\x58\x47\x4c\x57\x50\x43\x7a\x74\x48\x47\x52\x69\x47','\x43\x43\x6f\x2f\x57\x34\x44\x75\x57\x37\x68\x63\x4e\x57','\x79\x33\x33\x63\x47\x38\x6b\x54\x57\x36\x78\x63\x48\x53\x6f\x6d\x66\x61','\x57\x34\x7a\x6d\x57\x34\x5a\x64\x48\x43\x6f\x53\x57\x51\x52\x63\x4c\x49\x69','\x57\x51\x54\x36\x57\x52\x79\x44\x57\x34\x6e\x2b\x71\x65\x6d','\x6d\x49\x4b\x44\x57\x34\x75\x7a\x61\x68\x70\x63\x56\x61','\x57\x34\x70\x63\x56\x38\x6f\x50\x61\x71','\x57\x50\x53\x56\x70\x38\x6f\x7a\x57\x36\x6c\x63\x51\x43\x6b\x48\x74\x61','\x7a\x4d\x56\x63\x51\x38\x6b\x4a\x57\x37\x2f\x63\x48\x57','\x6b\x66\x66\x75\x57\x34\x4f\x79','\x57\x52\x56\x63\x56\x73\x78\x64\x4f\x49\x69\x32\x62\x76\x6c\x64\x4c\x4e\x31\x44\x43\x43\x6f\x33','\x57\x52\x6d\x70\x57\x36\x33\x63\x4b\x30\x79','\x57\x50\x6a\x49\x7a\x32\x4a\x63\x4e\x38\x6b\x2b\x57\x36\x46\x63\x4b\x47','\x44\x6d\x6f\x67\x57\x36\x33\x63\x47\x38\x6f\x54','\x57\x50\x72\x52\x79\x71','\x57\x35\x4b\x67\x43\x43\x6f\x58\x7a\x4c\x4c\x78','\x70\x5a\x75\x70\x57\x34\x71\x51\x6f\x4e\x74\x63\x56\x71','\x57\x50\x4f\x4a\x57\x4f\x46\x64\x49\x4c\x38','\x57\x51\x64\x64\x4c\x53\x6f\x2f\x61\x53\x6f\x4c\x57\x34\x65\x59','\x46\x6d\x6f\x31\x57\x34\x58\x36\x57\x36\x53','\x76\x72\x61\x55\x57\x50\x56\x63\x50\x66\x78\x64\x4a\x74\x4b','\x57\x34\x64\x63\x50\x43\x6f\x56\x67\x38\x6f\x2b\x77\x6d\x6f\x31\x57\x51\x65','\x72\x68\x4a\x63\x50\x74\x4f\x37\x57\x4f\x4b','\x64\x30\x33\x64\x53\x72\x64\x64\x4b\x67\x79\x66\x57\x37\x53','\x57\x37\x78\x63\x51\x76\x6c\x63\x47\x53\x6f\x48','\x57\x34\x7a\x63\x57\x36\x5a\x64\x4d\x53\x6f\x62\x57\x52\x68\x63\x4e\x73\x79','\x57\x50\x39\x70\x57\x35\x47\x4b\x68\x57','\x57\x34\x69\x34\x42\x43\x6f\x31\x43\x61','\x57\x51\x7a\x37\x57\x36\x34','\x57\x35\x33\x63\x4d\x4b\x56\x63\x4d\x43\x6f\x54\x67\x4c\x53\x50','\x44\x38\x6f\x42\x57\x4f\x4e\x64\x4c\x6d\x6f\x48\x77\x71','\x45\x6d\x6f\x47\x57\x35\x48\x33\x57\x36\x4b','\x57\x4f\x71\x38\x6a\x74\x69','\x63\x74\x54\x75\x6a\x6d\x6b\x56\x7a\x65\x78\x64\x47\x47','\x57\x34\x66\x62\x57\x35\x42\x64\x4a\x43\x6f\x77','\x57\x50\x33\x63\x50\x38\x6f\x5a\x57\x4f\x72\x54\x71\x6d\x6f\x33\x66\x47','\x69\x6d\x6b\x79\x57\x51\x64\x64\x49\x6d\x6b\x67\x57\x37\x70\x64\x48\x43\x6b\x49\x57\x36\x4a\x64\x4e\x67\x74\x63\x48\x71','\x57\x35\x2f\x63\x4f\x38\x6f\x55\x65\x6d\x6f\x61','\x57\x36\x64\x64\x51\x78\x37\x63\x54\x77\x35\x4e','\x57\x37\x42\x64\x54\x53\x6b\x63\x62\x49\x54\x53\x78\x63\x61','\x76\x53\x6f\x6e\x57\x52\x48\x33\x6d\x4b\x66\x6f','\x57\x36\x78\x64\x4d\x57\x2f\x64\x48\x53\x6f\x7a\x57\x35\x66\x62\x57\x4f\x57','\x57\x4f\x47\x62\x57\x36\x4e\x63\x55\x32\x37\x64\x4f\x53\x6b\x56\x67\x71','\x71\x32\x2f\x63\x52\x73\x75','\x41\x43\x6f\x31\x57\x36\x39\x41\x57\x37\x33\x63\x4b\x48\x34','\x62\x6d\x6b\x71\x57\x52\x2f\x63\x55\x4c\x30','\x57\x51\x71\x36\x6f\x38\x6f\x39\x61\x61','\x74\x6d\x6f\x42\x57\x50\x62\x30\x6d\x4c\x66\x42\x57\x52\x79','\x44\x43\x6f\x67\x57\x37\x43','\x65\x4c\x57\x65\x76\x76\x61\x36','\x57\x36\x56\x64\x51\x53\x6b\x45\x62\x59\x69','\x46\x38\x6f\x38\x57\x4f\x76\x2b\x69\x71','\x57\x50\x79\x6d\x57\x34\x5a\x64\x54\x53\x6f\x35','\x57\x4f\x44\x51\x72\x33\x37\x64\x4c\x74\x6e\x6e\x42\x71','\x57\x50\x6c\x63\x52\x72\x43','\x57\x52\x6d\x76\x6e\x53\x6f\x57\x69\x57','\x57\x51\x4a\x64\x56\x53\x6f\x49\x57\x4f\x78\x63\x4c\x43\x6f\x62\x66\x38\x6f\x4a','\x57\x35\x70\x64\x4a\x6d\x6f\x79\x57\x36\x57\x6f\x57\x52\x74\x64\x4e\x6d\x6b\x34','\x57\x36\x37\x64\x4d\x58\x78\x64\x52\x6d\x6f\x6d\x57\x34\x65','\x57\x51\x39\x36\x74\x31\x6e\x67\x57\x37\x47\x66\x57\x52\x53','\x57\x52\x52\x64\x4f\x43\x6f\x34\x57\x4f\x70\x63\x48\x61','\x57\x36\x4a\x63\x52\x68\x68\x63\x4f\x4d\x50\x39\x78\x68\x71','\x61\x66\x70\x63\x4c\x30\x34\x59\x57\x34\x4f\x34\x57\x4f\x38','\x65\x5a\x56\x63\x53\x53\x6f\x7a\x57\x4f\x69','\x57\x50\x4b\x62\x57\x51\x42\x64\x47\x32\x47','\x6f\x6d\x6b\x37\x57\x51\x78\x63\x49\x4b\x69','\x57\x52\x61\x57\x57\x34\x4e\x64\x4d\x43\x6f\x76','\x57\x52\x47\x4c\x57\x37\x46\x64\x53\x57','\x63\x71\x4a\x63\x4a\x38\x6f\x76\x57\x50\x53','\x57\x52\x43\x4b\x57\x37\x4a\x64\x53\x53\x6f\x50\x6d\x47\x30','\x57\x36\x56\x64\x53\x38\x6b\x41\x63\x73\x7a\x33\x76\x47','\x74\x75\x46\x64\x4c\x53\x6f\x59\x45\x53\x6b\x55\x76\x53\x6b\x54\x69\x31\x71\x37\x57\x37\x69','\x76\x73\x61\x56\x57\x4f\x64\x63\x52\x66\x64\x64\x47\x63\x57','\x57\x52\x33\x64\x50\x6d\x6f\x4c\x57\x4f\x5a\x63\x48\x61','\x6b\x4d\x2f\x64\x50\x43\x6b\x30\x57\x37\x37\x63\x4a\x43\x6f\x75\x67\x61','\x70\x61\x4a\x63\x49\x43\x6f\x6f\x57\x4f\x62\x62\x57\x37\x4f\x76','\x69\x53\x6b\x45\x57\x51\x74\x63\x48\x30\x33\x64\x50\x38\x6f\x78\x62\x57','\x57\x34\x70\x63\x50\x53\x6f\x4a\x61\x6d\x6f\x5a\x77\x53\x6b\x65','\x57\x36\x54\x74\x42\x6d\x6f\x55\x42\x4b\x72\x43\x44\x47','\x57\x50\x44\x52\x71\x78\x4e\x64\x4d\x47\x62\x78\x76\x47','\x57\x4f\x37\x64\x54\x4c\x71\x54\x70\x71','\x61\x66\x66\x63\x57\x36\x4b\x7a\x57\x36\x6e\x53\x57\x52\x4f','\x57\x34\x53\x61\x42\x38\x6f\x35\x43\x33\x72\x68\x6d\x47','\x69\x59\x38\x44\x57\x34\x47','\x57\x34\x46\x63\x55\x6d\x6f\x5a\x62\x61','\x57\x36\x56\x64\x4b\x62\x68\x64\x52\x53\x6f\x42\x57\x35\x30','\x57\x35\x2f\x64\x51\x68\x68\x64\x56\x6d\x6b\x37\x57\x52\x2f\x63\x51\x53\x6b\x59','\x57\x35\x64\x64\x55\x32\x70\x64\x51\x6d\x6b\x44','\x57\x51\x50\x55\x57\x37\x79\x44\x65\x61','\x61\x58\x64\x63\x4b\x38\x6b\x6b\x57\x35\x5a\x64\x55\x53\x6f\x47','\x57\x52\x53\x35\x57\x35\x2f\x64\x52\x38\x6f\x50\x6d\x62\x65','\x68\x63\x46\x63\x51\x53\x6b\x66\x43\x57','\x57\x37\x79\x5a\x57\x35\x54\x71\x57\x34\x78\x64\x53\x67\x50\x6d','\x57\x36\x46\x63\x49\x43\x6f\x7a\x68\x43\x6f\x65','\x57\x50\x52\x64\x47\x30\x4b\x30','\x57\x36\x2f\x64\x4e\x57\x2f\x64\x51\x6d\x6f\x71\x57\x36\x76\x4e\x57\x4f\x65','\x57\x37\x37\x63\x56\x6d\x6b\x4b\x57\x35\x64\x64\x4d\x43\x6b\x4e\x73\x6d\x6f\x61\x57\x4f\x65\x67\x68\x61\x68\x64\x56\x57','\x78\x38\x6f\x77\x57\x52\x33\x64\x47\x38\x6f\x72','\x57\x34\x75\x62\x44\x43\x6f\x37\x42\x4b\x75','\x66\x76\x37\x64\x55\x47\x68\x64\x4a\x57','\x45\x43\x6f\x47\x57\x36\x39\x50\x57\x35\x6d','\x6e\x38\x6b\x62\x57\x50\x5a\x64\x49\x66\x70\x64\x54\x53\x6b\x45\x7a\x61','\x57\x4f\x43\x37\x57\x37\x70\x64\x52\x53\x6f\x4a','\x57\x52\x7a\x52\x79\x4d\x37\x64\x4a\x61','\x57\x34\x68\x64\x49\x38\x6f\x7a\x57\x36\x47\x6f\x57\x4f\x37\x64\x4b\x53\x6b\x4c','\x57\x37\x75\x6a\x57\x35\x6a\x6a\x57\x34\x68\x64\x52\x61','\x61\x4c\x79\x78\x76\x76\x79\x2b\x67\x38\x6b\x48','\x57\x4f\x69\x68\x57\x52\x52\x64\x56\x67\x46\x64\x51\x57','\x57\x4f\x6e\x37\x57\x37\x65\x4a\x62\x53\x6b\x7a\x41\x61','\x57\x52\x75\x56\x57\x36\x37\x64\x47\x53\x6f\x50\x6e\x61\x54\x7a','\x57\x36\x2f\x64\x49\x6d\x6b\x56\x64\x47\x75','\x57\x52\x6e\x6a\x7a\x77\x42\x63\x4f\x71','\x57\x34\x4e\x63\x51\x76\x5a\x63\x48\x53\x6f\x76','\x57\x34\x31\x69\x77\x53\x6b\x4c\x57\x34\x56\x63\x56\x6d\x6b\x6f\x57\x34\x61','\x71\x48\x4f\x4b\x57\x50\x30','\x57\x35\x66\x73\x65\x43\x6b\x2f\x57\x34\x5a\x63\x4f\x53\x6b\x74','\x57\x52\x31\x36\x57\x37\x35\x75\x57\x34\x31\x2b','\x6e\x38\x6b\x65\x57\x50\x5a\x63\x47\x66\x78\x64\x53\x6d\x6f\x36\x6b\x47','\x57\x50\x69\x50\x6c\x53\x6f\x4a\x57\x36\x78\x63\x4b\x38\x6b\x4c\x73\x71','\x57\x36\x4a\x64\x47\x72\x34\x37\x57\x36\x43','\x6d\x53\x6f\x54\x57\x37\x50\x30\x57\x35\x35\x4b\x57\x34\x76\x77','\x66\x76\x66\x67\x57\x34\x30\x6e\x57\x36\x6a\x43','\x74\x6d\x6f\x6c\x57\x50\x6e\x5a\x70\x76\x50\x64\x57\x52\x79','\x69\x53\x6b\x75\x57\x50\x64\x63\x4e\x61','\x57\x51\x72\x39\x72\x66\x6a\x6a\x57\x36\x75','\x57\x35\x69\x4b\x73\x53\x6f\x2f\x41\x61','\x57\x35\x50\x4b\x57\x37\x5a\x64\x50\x6d\x6f\x71','\x57\x4f\x46\x63\x50\x49\x64\x63\x4e\x53\x6b\x72\x57\x52\x48\x72\x57\x51\x38','\x57\x37\x69\x65\x57\x35\x4f','\x57\x4f\x64\x64\x4a\x59\x33\x64\x4b\x43\x6b\x35\x77\x62\x38\x44\x57\x51\x52\x64\x4f\x6d\x6f\x37\x75\x6d\x6f\x4e','\x46\x4b\x64\x63\x50\x53\x6b\x58\x57\x37\x65','\x57\x4f\x64\x63\x56\x71\x68\x63\x49\x38\x6b\x78\x57\x52\x72\x79\x57\x52\x65','\x57\x34\x64\x63\x48\x6d\x6f\x2b\x6b\x53\x6f\x73','\x74\x65\x56\x64\x4c\x38\x6f\x45','\x57\x34\x34\x77\x46\x38\x6f\x31\x79\x30\x35\x6b','\x57\x51\x74\x64\x4e\x53\x6f\x73\x57\x50\x4e\x63\x55\x71','\x57\x35\x44\x75\x68\x38\x6b\x31\x57\x4f\x70\x63\x54\x6d\x6b\x6f\x57\x50\x6d','\x57\x36\x78\x63\x55\x33\x4e\x63\x4d\x38\x6f\x76','\x45\x43\x6f\x6d\x57\x50\x2f\x64\x52\x53\x6f\x38\x79\x4b\x44\x2b','\x62\x63\x42\x63\x4a\x53\x6b\x72\x41\x47','\x57\x50\x74\x63\x55\x6d\x6b\x71\x66\x30\x6a\x36\x57\x52\x38\x45','\x66\x66\x54\x64\x57\x35\x6d\x70\x57\x36\x72\x4d\x57\x51\x79','\x57\x52\x4b\x72\x68\x53\x6f\x58\x57\x35\x30','\x57\x36\x62\x37\x57\x51\x5a\x63\x50\x43\x6b\x52\x79\x31\x62\x42\x57\x36\x57\x4b\x57\x51\x78\x64\x55\x53\x6b\x51','\x69\x38\x6f\x2f\x57\x37\x31\x35','\x6a\x5a\x38\x43\x57\x34\x34\x35\x6d\x65\x4e\x63\x53\x71','\x57\x4f\x71\x77\x57\x50\x42\x64\x54\x77\x2f\x64\x50\x38\x6b\x4d\x64\x61','\x68\x49\x31\x64','\x46\x4e\x5a\x63\x52\x6d\x6b\x50','\x57\x34\x6a\x76\x66\x53\x6b\x4c\x57\x34\x42\x63\x50\x57','\x74\x6d\x6f\x6c\x57\x4f\x7a\x2f\x70\x4c\x6a\x7a\x57\x51\x43','\x64\x76\x47\x72\x71\x4c\x69\x4e','\x57\x37\x4e\x64\x51\x4d\x78\x63\x51\x4c\x69','\x57\x36\x31\x70\x57\x4f\x75\x5a\x57\x37\x57\x61\x57\x36\x6d','\x6f\x6d\x6b\x57\x42\x31\x44\x66','\x44\x53\x6f\x6b\x57\x34\x70\x63\x4c\x6d\x6f\x4c','\x62\x48\x2f\x63\x4d\x53\x6b\x59\x6c\x38\x6f\x37\x45\x53\x6b\x6e','\x66\x62\x46\x63\x4c\x53\x6b\x77\x42\x58\x57\x5a','\x57\x35\x48\x63\x57\x35\x42\x64\x47\x61','\x57\x50\x4f\x48\x6a\x74\x65','\x57\x35\x6c\x63\x4a\x67\x46\x63\x4a\x6d\x6f\x34\x6d\x75\x79\x4f','\x57\x4f\x31\x58\x44\x78\x6c\x64\x4c\x47\x31\x6b\x46\x71','\x66\x76\x79\x32\x75\x30\x65\x37\x66\x6d\x6b\x59','\x57\x37\x6c\x64\x49\x57\x4a\x64\x4f\x57','\x57\x35\x6e\x45\x57\x34\x5a\x64\x49\x38\x6f\x68\x57\x4f\x46\x63\x4d\x49\x75','\x57\x37\x65\x32\x41\x53\x6f\x5a\x41\x31\x31\x6c\x6a\x61','\x57\x34\x33\x49\x47\x41\x68\x64\x53\x38\x6f\x50\x41\x38\x6f\x50\x57\x51\x38\x46','\x74\x58\x79\x65\x66\x76\x69\x63\x63\x6d\x6b\x36','\x70\x72\x7a\x4f\x6a\x53\x6b\x71','\x57\x34\x42\x64\x4b\x6d\x6f\x34\x57\x37\x30\x69\x57\x4f\x6c\x64\x4d\x38\x6b\x37','\x57\x35\x5a\x63\x4d\x33\x68\x63\x54\x53\x6f\x4c\x63\x47','\x69\x62\x47\x69\x57\x35\x4b\x75','\x57\x34\x30\x77\x41\x6d\x6f\x75\x43\x4b\x4c\x37\x6a\x61','\x57\x36\x37\x64\x48\x68\x56\x63\x55\x66\x6d','\x57\x34\x7a\x6d\x57\x34\x5a\x64\x48\x43\x6b\x44\x57\x37\x4a\x63\x53\x49\x75','\x57\x35\x44\x71\x65\x38\x6b\x59\x57\x34\x79','\x57\x36\x64\x64\x4f\x33\x70\x63\x53\x33\x79\x4a\x65\x32\x61','\x7a\x32\x2f\x63\x53\x43\x6b\x4e\x57\x36\x6d','\x66\x74\x54\x66\x6f\x71','\x64\x76\x57\x6c\x71\x65\x43\x36','\x57\x50\x6e\x56\x41\x33\x56\x63\x48\x38\x6b\x6e\x57\x35\x78\x63\x4c\x61','\x6c\x58\x50\x49\x6a\x38\x6b\x63','\x57\x51\x65\x4d\x57\x37\x46\x64\x56\x53\x6f\x2b','\x57\x35\x6c\x63\x56\x43\x6f\x46\x70\x53\x6f\x4f','\x57\x34\x66\x63\x57\x34\x52\x64\x4e\x6d\x6f\x71\x57\x52\x33\x63\x52\x63\x38','\x44\x38\x6f\x44\x57\x37\x64\x63\x4e\x43\x6f\x7a\x57\x51\x30','\x57\x35\x62\x76\x66\x38\x6b\x30\x57\x34\x5a\x63\x4f\x6d\x6b\x6a\x57\x51\x30','\x57\x50\x53\x46\x57\x51\x56\x64\x4b\x32\x71','\x41\x33\x33\x63\x54\x53\x6b\x48\x57\x37\x2f\x64\x4a\x57','\x57\x50\x33\x63\x55\x38\x6f\x5a\x57\x4f\x62\x47\x75\x38\x6f\x38','\x57\x35\x42\x63\x4e\x38\x6f\x6b\x57\x37\x4b\x6b\x57\x50\x4e\x64\x4d\x53\x6b\x39','\x57\x50\x76\x61\x74\x78\x78\x64\x49\x47','\x57\x36\x56\x64\x54\x47\x71\x58\x57\x35\x31\x6e\x6f\x62\x38','\x69\x64\x79\x68\x57\x34\x6d\x69','\x45\x78\x52\x63\x4f\x6d\x6b\x30\x57\x37\x47','\x57\x35\x2f\x63\x4f\x43\x6f\x71\x6d\x6d\x6f\x6c','\x57\x50\x4e\x64\x4d\x75\x47\x4f','\x57\x51\x34\x56\x69\x43\x6f\x77\x57\x37\x75','\x57\x4f\x69\x72\x57\x52\x42\x64\x48\x67\x46\x64\x4f\x71','\x57\x36\x46\x63\x4f\x53\x6f\x57\x57\x50\x70\x63\x4b\x53\x6f\x37\x63\x53\x6f\x75','\x57\x52\x31\x36\x57\x37\x35\x43\x57\x35\x44\x38\x71\x4b\x4f','\x57\x37\x4a\x64\x56\x4e\x4e\x63\x56\x57','\x57\x34\x42\x64\x4c\x53\x6f\x46\x57\x36\x75\x46','\x57\x4f\x37\x64\x49\x75\x53\x46\x70\x43\x6f\x41\x79\x49\x53','\x57\x37\x33\x64\x4f\x6d\x6b\x79\x66\x49\x69\x4c\x74\x4a\x47','\x57\x37\x4c\x6b\x57\x4f\x38\x55\x57\x37\x53\x6c\x57\x51\x66\x32','\x57\x4f\x4f\x50\x70\x38\x6f\x75','\x76\x68\x78\x64\x50\x63\x75\x35\x57\x50\x4a\x63\x4e\x58\x75','\x66\x62\x46\x63\x47\x61','\x57\x51\x46\x64\x56\x43\x6f\x4b\x57\x4f\x6c\x63\x4a\x43\x6f\x33\x64\x43\x6f\x56','\x66\x4c\x4a\x64\x53\x62\x5a\x64\x4a\x67\x65','\x57\x36\x68\x64\x4f\x58\x30\x32\x57\x34\x76\x62','\x57\x35\x64\x63\x50\x6d\x6f\x72\x62\x43\x6f\x56','\x75\x43\x6f\x78\x57\x4f\x7a\x55\x69\x76\x50\x7a\x57\x52\x71','\x46\x38\x6f\x52\x57\x4f\x6e\x55\x69\x57','\x57\x50\x34\x43\x57\x52\x37\x64\x53\x4d\x6c\x64\x50\x6d\x6b\x34\x61\x61','\x66\x65\x66\x42\x57\x34\x57\x6e\x57\x37\x6e\x61','\x72\x78\x4a\x63\x54\x63\x71\x35\x57\x4f\x6c\x64\x4d\x47','\x57\x50\x70\x63\x53\x53\x6b\x4c\x64\x76\x6e\x57\x57\x52\x75','\x65\x4b\x56\x64\x52\x62\x52\x64\x4f\x32\x43\x57\x57\x36\x30','\x57\x37\x4b\x70\x57\x35\x44\x74','\x57\x50\x70\x63\x55\x6d\x6b\x42\x65\x61','\x57\x4f\x64\x64\x4a\x38\x6f\x6e\x70\x38\x6f\x6f','\x6a\x6d\x6b\x75\x57\x50\x4a\x63\x48\x66\x56\x64\x4f\x43\x6f\x61','\x69\x47\x78\x63\x4c\x6d\x6f\x6f\x57\x4f\x30','\x57\x52\x52\x64\x50\x43\x6f\x2b\x57\x50\x6c\x63\x4c\x43\x6f\x62\x63\x53\x6f\x55','\x57\x37\x64\x64\x4e\x72\x6d','\x77\x53\x6f\x2f\x57\x34\x44\x77','\x57\x34\x76\x70\x63\x43\x6b\x30\x57\x35\x46\x63\x49\x53\x6b\x75\x57\x4f\x34','\x79\x4d\x47\x64\x57\x35\x47\x51\x68\x77\x52\x63\x52\x61','\x6b\x57\x50\x75\x6b\x43\x6b\x44','\x57\x50\x64\x63\x55\x58\x37\x63\x4b\x53\x6b\x55','\x57\x50\x33\x64\x48\x75\x38\x53\x6b\x47','\x63\x4c\x54\x73\x57\x34\x71','\x57\x35\x42\x64\x4f\x30\x2f\x64\x4f\x6d\x6b\x50','\x57\x52\x74\x63\x54\x75\x76\x4e\x57\x4f\x4b\x77\x43\x58\x6e\x38\x57\x37\x6d\x72\x57\x34\x4f\x56','\x57\x50\x6e\x57\x57\x36\x34\x32','\x57\x37\x58\x74\x57\x4f\x48\x36\x57\x37\x53\x74\x57\x37\x79\x5a','\x6f\x65\x78\x63\x48\x4d\x34\x36\x57\x34\x4f\x46\x57\x4f\x38','\x57\x4f\x54\x4d\x71\x30\x4a\x64\x4b\x47\x47','\x64\x43\x6b\x6c\x73\x4b\x4b','\x6e\x78\x4f\x4d\x75\x32\x4f','\x57\x51\x62\x56\x57\x36\x62\x58\x57\x34\x50\x51\x75\x71','\x57\x51\x62\x53\x57\x37\x61\x32\x76\x53\x6f\x45','\x57\x51\x72\x2b\x71\x4e\x35\x55','\x57\x36\x70\x64\x4a\x43\x6f\x4b\x57\x36\x53\x33','\x57\x51\x75\x55\x6b\x43\x6f\x6a\x57\x36\x78\x63\x4b\x38\x6f\x4f\x66\x61','\x57\x50\x79\x66\x73\x38\x6f\x4f\x57\x50\x74\x64\x4f\x43\x6b\x6b\x57\x4f\x75\x55\x57\x4f\x43\x31\x72\x57','\x57\x50\x33\x63\x51\x38\x6f\x2f\x57\x50\x39\x49\x73\x43\x6f\x6e\x63\x47','\x57\x4f\x35\x36\x57\x35\x47\x36\x67\x6d\x6b\x76\x45\x64\x65','\x64\x31\x47\x69\x71\x47','\x57\x51\x79\x77\x70\x74\x6d\x6e','\x7a\x68\x52\x63\x52\x6d\x6b\x4e\x57\x35\x74\x63\x48\x38\x6f\x72\x66\x47','\x57\x37\x56\x63\x52\x38\x6f\x37\x64\x43\x6f\x34\x74\x38\x6f\x7a','\x57\x35\x44\x6d\x57\x52\x79\x64\x57\x35\x57','\x42\x53\x6f\x5a\x57\x34\x35\x44\x57\x36\x74\x63\x4d\x57\x4b','\x57\x34\x50\x7a\x69\x6d\x6b\x2f\x57\x37\x79','\x57\x50\x48\x6b\x6c\x43\x6b\x4c\x6d\x62\x39\x7a\x6d\x59\x70\x63\x50\x53\x6b\x6c\x7a\x71','\x57\x50\x30\x2f\x6a\x74\x38\x44','\x57\x52\x6c\x64\x49\x38\x6f\x2b\x61\x38\x6f\x43','\x57\x52\x46\x63\x48\x6d\x6b\x48\x69\x33\x38','\x57\x50\x47\x6f\x6a\x6d\x6f\x71\x57\x37\x57','\x57\x36\x61\x6a\x57\x35\x6e\x75\x57\x34\x4a\x64\x56\x32\x58\x6d','\x77\x48\x61\x2f\x57\x4f\x4a\x63\x52\x77\x42\x64\x49\x59\x47','\x77\x48\x4f\x59\x57\x4f\x37\x63\x54\x76\x65','\x41\x38\x6f\x41\x57\x37\x74\x63\x4c\x38\x6f\x72\x57\x52\x68\x64\x4a\x57','\x63\x68\x47\x6f\x73\x67\x61','\x57\x4f\x34\x44\x57\x37\x70\x64\x54\x4d\x2f\x64\x56\x6d\x6f\x51\x64\x57','\x57\x35\x39\x65\x57\x35\x65','\x57\x36\x61\x31\x77\x6d\x6f\x31\x78\x71','\x57\x4f\x66\x4a\x79\x61','\x75\x68\x4a\x63\x53\x61\x75\x33\x57\x4f\x78\x64\x4d\x47','\x66\x76\x2f\x64\x53\x48\x5a\x64\x4e\x77\x43\x53','\x57\x50\x34\x35\x6c\x38\x6f\x76\x57\x37\x6c\x63\x4b\x38\x6b\x53','\x57\x35\x62\x71\x68\x57','\x57\x51\x57\x6a\x57\x34\x5a\x63\x54\x65\x78\x64\x4a\x32\x52\x63\x47\x61','\x66\x58\x46\x63\x4a\x38\x6b\x73','\x62\x30\x42\x64\x53\x5a\x33\x64\x4b\x33\x69','\x6a\x72\x56\x63\x4c\x6d\x6f\x61','\x68\x61\x70\x63\x52\x53\x6b\x59\x70\x53\x6f\x2f\x78\x61','\x57\x37\x68\x64\x53\x62\x2f\x64\x49\x6d\x6f\x33','\x57\x35\x6c\x64\x53\x62\x37\x64\x4b\x53\x6f\x75','\x57\x4f\x39\x74\x44\x77\x78\x64\x52\x61','\x57\x36\x37\x64\x4e\x4e\x4a\x63\x56\x4e\x61','\x57\x50\x70\x63\x54\x6d\x6b\x6f\x61\x75\x72\x47\x57\x51\x75\x41','\x66\x6d\x6b\x44\x46\x65\x39\x6f\x57\x35\x2f\x64\x54\x38\x6b\x65','\x68\x62\x50\x4c\x62\x38\x6b\x58','\x67\x66\x61\x56\x57\x4f\x5a\x63\x52\x76\x5a\x64\x4a\x5a\x4b','\x57\x50\x70\x64\x4f\x31\x4f\x56\x69\x61','\x57\x35\x35\x4e\x6a\x63\x68\x63\x4e\x6d\x6b\x47\x57\x4f\x68\x63\x4e\x71','\x57\x50\x5a\x64\x4a\x31\x47\x4c\x70\x6d\x6f\x6d\x78\x4a\x4f','\x62\x47\x42\x63\x4d\x61','\x57\x4f\x35\x4e\x57\x37\x71\x32\x66\x43\x6b\x69','\x57\x34\x6d\x54\x57\x37\x4c\x38\x57\x34\x61','\x57\x34\x6a\x45\x57\x37\x37\x64\x50\x53\x6f\x46','\x57\x52\x4f\x52\x57\x36\x30','\x62\x4c\x57\x72\x42\x30\x79\x57\x6c\x38\x6b\x4e','\x57\x51\x74\x64\x52\x6d\x6f\x4c\x57\x4f\x70\x63\x49\x71','\x46\x6d\x6f\x6b\x57\x37\x4a\x63\x4e\x53\x6f\x43\x57\x51\x52\x64\x4d\x6d\x6b\x6a','\x57\x4f\x39\x4d\x41\x65\x64\x63\x54\x57','\x57\x51\x4b\x76\x57\x36\x33\x63\x4c\x65\x78\x64\x4a\x68\x56\x63\x48\x47','\x57\x50\x44\x51\x71\x33\x70\x63\x4d\x57\x31\x78\x45\x47'];_0x6d5d=function(){return _0x107c1c;};return _0x6d5d();}const _0x12b5e5=-0x19c+0x5d9*-0x1+0x1*0x781;function _0x2f9ff7(_0x3c0bda){const _0x1c4e49=_0x467e01,_0x1bd454={'\x76\x45\x47\x77\x44':function(_0x17ebff,_0x52c38d){return _0x17ebff===_0x52c38d;},'\x64\x53\x51\x76\x57':_0x1c4e49(0xa7,'\x70\x26\x5e\x33'),'\x74\x7a\x54\x78\x64':function(_0x57597c,_0x43082e){return _0x57597c(_0x43082e);},'\x6d\x47\x6f\x68\x56':_0x1c4e49(0xe2,'\x25\x79\x6c\x6f'),'\x7a\x42\x4f\x56\x66':function(_0x346b7b,_0x2aea2e){return _0x346b7b(_0x2aea2e);},'\x7a\x56\x48\x6f\x59':_0x1c4e49(0x90,'\x79\x74\x37\x5b')+'\x6f\x72','\x4f\x77\x41\x79\x46':function(_0x3d11d4,_0x2fd6f7){return _0x3d11d4(_0x2fd6f7);},'\x47\x50\x69\x6c\x51':function(_0x2a17d0,_0x53ec64){return _0x2a17d0>=_0x53ec64;}},_0x26c240=_0x1bd454['\x74\x7a\x54\x78\x64'](_0x470e90,_0x3c0bda);let _0x5cb039=[];try{if(_0x1bd454[_0x1c4e49(0xc7,'\x62\x52\x26\x5d')](_0x1bd454[_0x1c4e49(0x11a,'\x40\x78\x4c\x4f')],_0x1bd454[_0x1c4e49(0x1d4,'\x30\x62\x25\x36')])){const {tokenize:_0x56f3c9}=_0x1bd454[_0x1c4e49(0xf9,'\x2a\x29\x54\x4a')](require,_0x1bd454[_0x1c4e49(0x1cd,'\x73\x49\x59\x4b')]),_0x109717=new Set();for(const _0x10bf0a of _0x1bd454['\x4f\x77\x41\x79\x46'](_0x56f3c9,_0x3c0bda)){!_0x109717[_0x1c4e49(0x98,'\x61\x34\x42\x26')](_0x10bf0a)&&(_0x109717[_0x1c4e49(0x11e,'\x2a\x29\x54\x4a')](_0x10bf0a),_0x5cb039[_0x1c4e49(0x163,'\x41\x28\x71\x39')](_0x10bf0a));if(_0x1bd454[_0x1c4e49(0xd6,'\x65\x62\x70\x63')](_0x5cb039[_0x1c4e49(0x15e,'\x2a\x4b\x5b\x62')],_0x12b5e5))break;}}else _0x4ac7cf=(_0x1bd454[_0x1c4e49(0xfb,'\x65\x41\x64\x54')](typeof _0x8c5876['\x67\x65\x74\x48\x75\x62\x55\x72'+'\x6c'],_0x1bd454['\x64\x53\x51\x76\x57'])?_0x23a414[_0x1c4e49(0x209,'\x78\x6d\x53\x6f')+'\x6c']():_0x9f741d['\x67\x65\x74\x48\x75\x62\x55\x72'+'\x6c']())||'',_0x1089a1=_0x589328[_0x1c4e49(0x1d6,'\x63\x7a\x38\x26')](/\/+$/,'');}catch(_0x3f42a1){_0x5cb039=[];}const _0x2c7865=new Set();for(const _0x2f2bc5 of _0x26c240)_0x2c7865[_0x1c4e49(0x94,'\x68\x79\x2a\x48')](_0x2f2bc5);for(const _0x5b93c6 of _0x5cb039)_0x2c7865[_0x1c4e49(0x26b,'\x65\x62\x70\x63')](_0x5b93c6);return Array[_0x1c4e49(0xdb,'\x2a\x29\x54\x4a')](_0x2c7865);}async function _0x272e4f(_0x22cab4,_0x5d6685){const _0x17af43=_0x467e01,_0x21cfe4={'\x52\x61\x57\x52\x67':'\x5b\x45\x76\x6f\x6c\x76\x65\x72'+_0x17af43(0x203,'\x30\x66\x41\x23')+_0x17af43(0xe1,'\x40\x6b\x35\x4f')+_0x17af43(0x103,'\x70\x4d\x42\x36')+_0x17af43(0x182,'\x41\x28\x71\x39'),'\x48\x41\x46\x4c\x72':function(_0x280076,_0x20f562){return _0x280076!=_0x20f562;},'\x49\x79\x52\x53\x42':_0x17af43(0xed,'\x75\x75\x38\x40')+_0x17af43(0x1a7,'\x62\x52\x26\x5d')+_0x17af43(0x1e5,'\x44\x54\x74\x34')+_0x17af43(0x161,'\x4f\x41\x47\x78')+_0x17af43(0xc4,'\x47\x68\x4b\x75')+_0x17af43(0x1d5,'\x7a\x5d\x55\x63')+_0x17af43(0xc8,'\x69\x23\x4a\x53')+_0x17af43(0x228,'\x69\x23\x4a\x53')+'\x6c\x6c\x60\x29\x2e','\x58\x61\x72\x78\x73':function(_0x53f5c1,_0x57cbb5){return _0x53f5c1>_0x57cbb5;},'\x50\x4e\x65\x59\x6c':function(_0x57f04f,_0x5159a6){return _0x57f04f(_0x5159a6);},'\x6b\x4f\x6b\x71\x54':_0x17af43(0xa5,'\x70\x26\x5e\x33')+_0x17af43(0x23f,'\x36\x34\x6a\x6c'),'\x67\x5a\x6f\x6d\x72':_0x17af43(0x204,'\x47\x40\x51\x62')+_0x17af43(0x14c,'\x36\x34\x6a\x6c'),'\x56\x71\x50\x45\x78':_0x17af43(0x13c,'\x73\x49\x59\x4b'),'\x68\x47\x6d\x6a\x79':_0x17af43(0x208,'\x6a\x5d\x70\x79'),'\x55\x62\x55\x49\x54':_0x17af43(0x12b,'\x26\x49\x57\x73'),'\x63\x41\x42\x65\x70':_0x17af43(0xaf,'\x63\x7a\x38\x26'),'\x5a\x53\x56\x74\x70':function(_0x5b7b5b,_0x519e83){return _0x5b7b5b===_0x519e83;},'\x7a\x4f\x61\x6f\x6f':_0x17af43(0x19e,'\x73\x29\x7a\x61'),'\x48\x79\x64\x76\x49':_0x17af43(0x19f,'\x61\x34\x42\x26'),'\x4e\x73\x66\x43\x67':function(_0x2e384f){return _0x2e384f();},'\x51\x4c\x6d\x64\x43':function(_0x5c9f6f,_0x40197d){return _0x5c9f6f!==_0x40197d;},'\x6f\x4c\x7a\x53\x6b':function(_0x4f0a18,_0x5e506f){return _0x4f0a18(_0x5e506f);},'\x54\x54\x72\x64\x54':function(_0x1ae173,_0xb64be4){return _0x1ae173===_0xb64be4;},'\x63\x66\x6d\x54\x4a':'\x68\x75\x62'};let _0x48d801,_0x1a0b3d;try{_0x48d801=_0x21cfe4[_0x17af43(0x276,'\x36\x34\x6a\x6c')](require,_0x21cfe4['\x6b\x4f\x6b\x71\x54']),_0x1a0b3d=_0x21cfe4[_0x17af43(0x112,'\x30\x55\x79\x4e')](require,_0x21cfe4[_0x17af43(0x1ad,'\x69\x23\x4a\x53')]);}catch(_0x4e9a34){return[];}try{if(typeof _0x48d801[_0x17af43(0xe3,'\x35\x61\x2a\x5b')+_0x17af43(0x18c,'\x6b\x26\x34\x33')+'\x64']===_0x21cfe4['\x56\x71\x50\x45\x78']&&!_0x48d801[_0x17af43(0x1fe,'\x76\x55\x5a\x73')+_0x17af43(0x1ef,'\x30\x66\x41\x23')+'\x64']())return[];}catch(_0x1d807c){}let _0x43a1a4='';try{_0x43a1a4=(typeof _0x1a0b3d[_0x17af43(0x99,'\x47\x40\x51\x62')+'\x6c']===_0x21cfe4['\x56\x71\x50\x45\x78']?_0x1a0b3d[_0x17af43(0x1ae,'\x63\x7a\x38\x26')+'\x6c']():_0x48d801[_0x17af43(0x14a,'\x44\x54\x74\x34')+'\x6c']())||'',_0x43a1a4=_0x43a1a4[_0x17af43(0x236,'\x47\x68\x4b\x75')](/\/+$/,'');}catch(_0x557c5d){_0x43a1a4='';}if(!_0x43a1a4)return[];let _0x2ecbfb={};try{_0x21cfe4[_0x17af43(0xf4,'\x30\x55\x79\x4e')]!==_0x21cfe4['\x55\x62\x55\x49\x54']?_0x2ecbfb=_0x1a0b3d['\x62\x75\x69\x6c\x64\x48\x75\x62'+_0x17af43(0x25a,'\x41\x28\x71\x39')]():(_0x3b59d0[_0x17af43(0x1dd,'\x70\x26\x5e\x33')](_0x2faae9),_0x4872db[_0x17af43(0x221,'\x69\x23\x4a\x53')](_0x5897e8));}catch(_0x1b716b){_0x2ecbfb={};}let _0x62d56=[];try{if(_0x21cfe4[_0x17af43(0x114,'\x40\x6b\x35\x4f')]===_0x21cfe4['\x63\x41\x42\x65\x70'])_0x62d56=await _0x48d801['\x66\x65\x74\x63\x68\x53\x65\x6d'+_0x17af43(0x116,'\x63\x7a\x38\x26')+_0x17af43(0xe4,'\x75\x75\x38\x40')](_0x43a1a4,_0x2ecbfb,_0x22cab4,_0x5d6685);else{const _0x27702f=(_0x4c344e||[])['\x66\x69\x6c\x74\x65\x72'](_0x4c8729);if(!_0x27702f[_0x17af43(0xf6,'\x24\x5d\x32\x43')])return'';const _0x1ab195=[_0x21cfe4[_0x17af43(0x18a,'\x73\x29\x7a\x61')]];let _0x200398=![];for(const _0x6ec824 of _0x27702f){const _0x453209=(_0x6ec824['\x74\x69\x74\x6c\x65']||'')[_0x17af43(0x1ff,'\x47\x40\x51\x62')]()[_0x17af43(0xa8,'\x21\x63\x4d\x7a')](-0x1314+0x1755+0x63*-0xb,0x1*0xda0+-0x1d5b*-0x1+-0x21*0x14b),_0x1ff921=(_0x6ec824[_0x17af43(0xd0,'\x36\x34\x6a\x6c')]||'')[_0x17af43(0x1dc,'\x47\x24\x26\x4a')]()[_0x17af43(0x23c,'\x73\x29\x7a\x61')](/\s+/g,'\x20')[_0x17af43(0x1b1,'\x41\x28\x71\x39')]()[_0x17af43(0xb3,'\x30\x62\x25\x36')](-0x151*-0x13+0x831*-0x3+0x2*-0x38,_0x49699b),_0x2fc425=_0x21cfe4[_0x17af43(0x124,'\x37\x6b\x66\x39')](_0x6ec824['\x73\x69\x6d\x69\x6c\x61\x72\x69'+'\x74\x79'],null)?_0x6ec824[_0x17af43(0x127,'\x75\x35\x34\x23')+'\x74\x79'][_0x17af43(0x237,'\x4d\x32\x39\x34')](0x6c4*0x1+0x250e+-0x2bd0):'\x3f',_0x2b5e80=_0x6ec824[_0x17af43(0x201,'\x30\x55\x79\x4e')]?'\x61\x73\x73\x65\x74\x20'+_0x6ec824[_0x17af43(0x1e7,'\x4d\x75\x6d\x4f')]:_0x17af43(0x151,'\x6a\x5d\x70\x79')+_0x17af43(0x22e,'\x75\x75\x38\x40')+'\x65\x64';if(_0x6ec824[_0x17af43(0xc3,'\x25\x79\x6c\x6f')])_0x200398=!![];_0x1ab195[_0x17af43(0x12f,'\x37\x6b\x66\x39')]('\x2d\x20'+(_0x453209?_0x17af43(0x145,'\x21\x63\x4d\x7a')+_0x453209+'\x22':_0x17af43(0x240,'\x2a\x4b\x5b\x62'))+'\x20\x28'+_0x2b5e80+_0x17af43(0x102,'\x70\x26\x5e\x33')+_0x2fc425+'\x29'+(_0x1ff921?'\x3a\x20'+_0x1ff921:''));}_0x1ab195[_0x17af43(0x200,'\x36\x34\x6a\x6c')](_0x17af43(0x14f,'\x70\x4d\x42\x36')+_0x17af43(0x22a,'\x70\x4d\x42\x36')+_0x17af43(0x19a,'\x2a\x29\x54\x4a')+_0x17af43(0x22c,'\x47\x68\x4b\x75')+_0x17af43(0x1ce,'\x44\x54\x74\x34')+_0x17af43(0x20b,'\x30\x55\x79\x4e')+_0x17af43(0x1c2,'\x73\x29\x7a\x61')+_0x17af43(0x17e,'\x24\x5d\x32\x43')+_0x17af43(0x113,'\x40\x6b\x35\x4f')+_0x17af43(0x1aa,'\x41\x28\x71\x39'));if(_0x200398)_0x1ab195[_0x17af43(0xb4,'\x79\x74\x37\x5b')](_0x21cfe4[_0x17af43(0x11b,'\x65\x41\x64\x54')]);const _0x23b47e=_0x1ab195[_0x17af43(0xb0,'\x70\x4d\x42\x36')]('\x0a');return _0x21cfe4[_0x17af43(0x1a1,'\x61\x57\x4e\x75')](_0x23b47e[_0x17af43(0x210,'\x47\x40\x51\x62')],_0x450689)?_0x23b47e[_0x17af43(0x213,'\x61\x34\x42\x26')](-0x16d9+0x243+0x1496,_0x248282):_0x23b47e;}}catch(_0x3197d6){return _0x21cfe4[_0x17af43(0x233,'\x6b\x26\x34\x33')](_0x21cfe4[_0x17af43(0x91,'\x69\x23\x4a\x53')],_0x21cfe4[_0x17af43(0x121,'\x25\x79\x6c\x6f')])?[]:[];}if(!Array[_0x17af43(0xfa,'\x45\x35\x5d\x41')](_0x62d56))return[];const _0x4adbc8=_0x21cfe4['\x4e\x73\x66\x43\x67'](_0xb9c23d);let _0x4f2fc6='';try{_0x4f2fc6=_0x1a0b3d[_0x17af43(0xb1,'\x6b\x26\x34\x33')+'\x64']()||'';}catch(_0x2d5f5a){_0x4f2fc6='';}const _0x23a644=[];for(const _0x4552fe of _0x62d56){if(!_0x4552fe||_0x21cfe4['\x51\x4c\x6d\x64\x43'](typeof _0x4552fe,'\x6f\x62\x6a\x65\x63\x74'))continue;const _0x361c98=_0x21cfe4['\x6f\x4c\x7a\x53\x6b'](Number,_0x4552fe[_0x17af43(0x19b,'\x70\x37\x34\x62')+_0x17af43(0x1a5,'\x79\x74\x37\x5b')+_0x17af43(0x146,'\x41\x28\x71\x39')]);if(!Number[_0x17af43(0x1d7,'\x6b\x26\x34\x33')](_0x361c98)||_0x361c98<_0x4adbc8)continue;if(_0x4f2fc6&&_0x4552fe[_0x17af43(0x215,'\x30\x55\x79\x4e')+_0x17af43(0x17b,'\x4d\x75\x6d\x4f')]&&_0x21cfe4[_0x17af43(0x243,'\x24\x5d\x32\x43')](_0x4552fe['\x73\x6f\x75\x72\x63\x65\x5f\x6e'+'\x6f\x64\x65\x5f\x69\x64'],_0x4f2fc6))continue;const _0x58f238={};_0x58f238[_0x17af43(0x196,'\x26\x49\x57\x73')]=_0x4552fe[_0x17af43(0x195,'\x75\x75\x38\x40')]||_0x4552fe[_0x17af43(0x1fa,'\x5d\x36\x45\x41')]||'',_0x58f238[_0x17af43(0xd8,'\x75\x75\x38\x40')+_0x17af43(0x131,'\x69\x23\x4a\x53')]=_0x4552fe[_0x17af43(0x172,'\x41\x28\x71\x39')+_0x17af43(0x24c,'\x76\x55\x5a\x73')]||'',_0x58f238[_0x17af43(0x122,'\x78\x49\x23\x75')]=_0x4552fe['\x63\x68\x61\x69\x6e\x5f\x69\x64']||'',_0x58f238[_0x17af43(0x234,'\x30\x66\x41\x23')+'\x74\x79']=_0x361c98,_0x58f238[_0x17af43(0x245,'\x69\x23\x4a\x53')]=_0x4552fe[_0x17af43(0x211,'\x65\x62\x70\x63')+_0x17af43(0x26f,'\x44\x54\x74\x34')]||_0x4552fe[_0x17af43(0x133,'\x76\x55\x5a\x73')]||_0x4552fe[_0x17af43(0x257,'\x47\x40\x51\x62')]||'',_0x58f238[_0x17af43(0x21a,'\x59\x78\x6d\x5d')]=_0x4552fe[_0x17af43(0xee,'\x59\x78\x6d\x5d')+'\x72\x79']||_0x4552fe[_0x17af43(0x16c,'\x78\x6d\x53\x6f')]||'',_0x58f238[_0x17af43(0xa1,'\x73\x29\x7a\x61')]=_0x21cfe4[_0x17af43(0x138,'\x75\x75\x38\x40')],_0x23a644[_0x17af43(0x1b0,'\x6a\x5d\x70\x79')](_0x58f238);}return _0x23a644;}function _0x2874a9(_0x55f99b){const _0x16233a=_0x467e01,_0x36eafe={'\x54\x43\x43\x74\x59':function(_0x112c63,_0x472e2d){return _0x112c63(_0x472e2d);},'\x63\x72\x6d\x78\x4d':_0x16233a(0xde,'\x61\x34\x42\x26'),'\x61\x67\x55\x67\x7a':function(_0x27dec0,_0x5691f8){return _0x27dec0===_0x5691f8;},'\x74\x4e\x63\x75\x7a':_0x16233a(0xbe,'\x24\x5d\x32\x43'),'\x68\x49\x43\x4a\x63':_0x16233a(0x264,'\x79\x74\x37\x5b')+_0x16233a(0x1b3,'\x21\x63\x4d\x7a')+'\x72\x6e\x5f\x68\x69\x74','\x79\x58\x6a\x77\x4b':_0x16233a(0x238,'\x37\x6b\x66\x39')+_0x16233a(0xb5,'\x75\x75\x38\x40'),'\x64\x6a\x65\x59\x64':function(_0x3466a9,_0x1021e7){return _0x3466a9(_0x1021e7);},'\x61\x76\x4d\x64\x47':'\x2e\x2f\x73\x65\x6c\x65\x63\x74'+'\x6f\x72','\x4b\x72\x57\x4d\x4d':function(_0x3783c1,_0x418535){return _0x3783c1===_0x418535;},'\x61\x74\x66\x6f\x58':'\x65\x5a\x48\x76\x48','\x77\x56\x54\x74\x70':_0x16233a(0x177,'\x25\x79\x6c\x6f'),'\x61\x6f\x65\x49\x6e':function(_0x2e3e88,_0x4d97a7){return _0x2e3e88===_0x4d97a7;},'\x72\x44\x65\x79\x72':function(_0x55f091,_0x2b5f83){return _0x55f091!==_0x2b5f83;},'\x6b\x55\x47\x79\x59':_0x16233a(0x27b,'\x24\x5d\x32\x43'),'\x5a\x6b\x56\x58\x41':'\x63\x77\x48\x47\x72','\x4a\x62\x4b\x6e\x65':function(_0x210782,_0x57cba0){return _0x210782<_0x57cba0;},'\x42\x63\x4a\x6a\x46':function(_0x1c9dea,_0x146923){return _0x1c9dea===_0x146923;},'\x50\x67\x45\x58\x49':_0x16233a(0x1d9,'\x40\x6b\x35\x4f'),'\x45\x4e\x56\x76\x6a':function(_0x56e341,_0x3426ad){return _0x56e341===_0x3426ad;},'\x42\x48\x4e\x6b\x59':_0x16233a(0x1d1,'\x4f\x41\x47\x78'),'\x78\x57\x56\x63\x6f':_0x16233a(0x159,'\x63\x7a\x38\x26'),'\x47\x41\x54\x4c\x5a':function(_0x4bde6c,_0x4fc04c){return _0x4bde6c+_0x4fc04c;},'\x6c\x6d\x44\x42\x45':function(_0xa3d29d,_0x3a5fb3){return _0xa3d29d*_0x3a5fb3;}};let _0x2e68d3=[],_0x3a2b28;try{_0x2e68d3=_0x36eafe[_0x16233a(0x24e,'\x47\x40\x51\x62')](require,_0x16233a(0x224,'\x75\x75\x38\x40')+_0x16233a(0x14e,'\x44\x54\x74\x34'))[_0x16233a(0x16d,'\x6a\x5d\x70\x79')+'\x73']()||[],_0x3a2b28=_0x36eafe[_0x16233a(0x144,'\x75\x35\x34\x23')](require,_0x36eafe[_0x16233a(0x1b4,'\x21\x63\x4d\x7a')]);}catch(_0x1efe0e){if(_0x36eafe[_0x16233a(0xce,'\x2a\x29\x54\x4a')](_0x36eafe[_0x16233a(0x260,'\x65\x41\x64\x54')],_0x36eafe['\x77\x56\x54\x74\x70']))_0x36eafe[_0x16233a(0x1ba,'\x41\x28\x71\x39')](_0x49d07f,{'\x72\x75\x6e\x5f\x69\x64':_0x4df584,'\x61\x63\x74\x69\x6f\x6e':_0x49e47a,'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x5f57c1[_0x16233a(0x1d5,'\x7a\x5d\x55\x63')]||_0x23962d,'\x61\x73\x73\x65\x74\x5f\x74\x79\x70\x65':_0x36eafe[_0x16233a(0x136,'\x63\x7a\x38\x26')],'\x73\x6f\x75\x72\x63\x65\x5f\x6e\x6f\x64\x65\x5f\x69\x64':_0x2668d8[_0x16233a(0x1ea,'\x63\x7a\x38\x26')+_0x16233a(0x207,'\x73\x49\x59\x4b')]||_0x138d09,'\x63\x68\x61\x69\x6e\x5f\x69\x64':_0x23169f[_0x16233a(0x192,'\x76\x55\x5a\x73')]||_0x1dbc54,'\x73\x63\x6f\x72\x65':_0x1f7a06[_0x16233a(0x180,'\x59\x78\x6d\x5d')+'\x74\x79'],'\x73\x69\x67\x6e\x61\x6c\x73':_0x2019a0[_0x16233a(0x25f,'\x76\x4e\x64\x77')](0xe39*0x1+0xd5*-0x7+-0x866,-0x5*-0x239+-0x100d+0x4f8),'\x72\x65\x61\x73\x6f\x6e':_0x36eafe['\x61\x67\x55\x67\x7a'](_0x4eebc7[_0x16233a(0x14b,'\x47\x68\x4b\x75')],_0x36eafe[_0x16233a(0x1df,'\x62\x52\x26\x5d')])?_0x16233a(0x1d3,'\x45\x35\x5d\x41')+_0x16233a(0x259,'\x62\x52\x26\x5d')+'\x68\x5f\x62\x61\x6e\x64':_0x36eafe[_0x16233a(0x1db,'\x30\x55\x79\x4e')],'\x65\x78\x74\x72\x61':{'\x76\x69\x61':_0x36eafe[_0x16233a(0x12d,'\x76\x55\x5a\x73')],'\x61\x74\x74\x72\x69\x62\x75\x74\x69\x6f\x6e':_0x16233a(0x171,'\x79\x74\x37\x5b')+_0x16233a(0xd1,'\x32\x30\x49\x5a')+_0x16233a(0xa9,'\x47\x40\x51\x62'),'\x6f\x72\x69\x67\x69\x6e':_0x51bb17[_0x16233a(0x216,'\x75\x35\x34\x23')]}});else return[];}if(!Array[_0x16233a(0x1b7,'\x61\x34\x42\x26')](_0x2e68d3)||_0x36eafe[_0x16233a(0x170,'\x2a\x4b\x5b\x62')](_0x2e68d3['\x6c\x65\x6e\x67\x74\x68'],-0x1*-0x26b+-0x1fb9+-0x1*-0x1d4e)||!_0x3a2b28)return[];const _0x563ab5=[];for(const _0x675b56 of _0x2e68d3){if(_0x36eafe[_0x16233a(0xb8,'\x5d\x36\x45\x41')](_0x36eafe[_0x16233a(0xf1,'\x30\x55\x79\x4e')],_0x36eafe[_0x16233a(0xbf,'\x69\x23\x4a\x53')])){if(!_0x675b56||_0x675b56[_0x16233a(0x249,'\x25\x79\x6c\x6f')]!==_0x36eafe[_0x16233a(0x244,'\x47\x24\x26\x4a')])continue;const _0x3a4e5b=Array[_0x16233a(0x274,'\x40\x78\x4c\x4f')](_0x675b56['\x73\x69\x67\x6e\x61\x6c\x73\x5f'+_0x16233a(0x9a,'\x75\x75\x38\x40')])?_0x675b56[_0x16233a(0x1ac,'\x76\x55\x5a\x73')+_0x16233a(0x20e,'\x62\x52\x26\x5d')]:[];let _0x1ad847=-0x2318+-0x16*0x1+0x232e;for(const _0x18c067 of _0x3a4e5b){try{if(_0x3a2b28[_0x16233a(0x1a8,'\x61\x57\x4e\x75')+_0x16233a(0x1ee,'\x6a\x5d\x70\x79')+_0x16233a(0x247,'\x21\x63\x4d\x7a')](_0x18c067,_0x55f99b))_0x1ad847++;}catch(_0x3aa349){}}if(_0x36eafe['\x4a\x62\x4b\x6e\x65'](_0x1ad847,-0xb*0x3+-0x1*0x4be+0x4e0))continue;let _0x31f573=-0x1baf+-0x2358+0x7*0x901;try{_0x31f573=_0x3a2b28[_0x16233a(0xf0,'\x70\x26\x5e\x33')+'\x65\x53\x65\x6d\x61\x6e\x74\x69'+'\x63'](_0x675b56,_0x55f99b)||-0x2*-0xd1f+-0x52*-0x11+-0x1fb0;}catch(_0x2eeffe){_0x31f573=-0x12c7+0xf4a+0x1*0x37d;}let _0x3267b5=(_0x675b56[_0x16233a(0x185,'\x6b\x26\x34\x33')]||'')[_0x16233a(0x152,'\x4b\x47\x77\x73')]()[_0x16233a(0x188,'\x47\x68\x4b\x75')]();if(!_0x3267b5&&_0x675b56[_0x16233a(0x11d,'\x73\x29\x7a\x61')]&&_0x36eafe[_0x16233a(0x11f,'\x4d\x75\x6d\x4f')](typeof _0x675b56[_0x16233a(0x1e0,'\x47\x24\x26\x4a')],_0x36eafe[_0x16233a(0x120,'\x65\x41\x64\x54')])){const _0x57c162=[];if(Array[_0x16233a(0xd3,'\x40\x6b\x35\x4f')](_0x675b56[_0x16233a(0x225,'\x4f\x41\x47\x78')][_0x16233a(0x1c0,'\x37\x6b\x66\x39')]))_0x57c162['\x70\x75\x73\x68'](_0x675b56[_0x16233a(0x11d,'\x73\x29\x7a\x61')][_0x16233a(0x21f,'\x62\x52\x26\x5d')][_0x16233a(0x13b,'\x2a\x29\x54\x4a')](0x1845+0x93a+-0x217f,0x5e7*0x3+-0x1dfa+0xc48)[_0x16233a(0x1fb,'\x30\x55\x79\x4e')]('\x3b\x20'));if(_0x36eafe[_0x16233a(0x1f7,'\x35\x61\x2a\x5b')](typeof _0x675b56[_0x16233a(0x115,'\x45\x35\x5d\x41')]['\x61\x70\x70\x72\x6f\x61\x63\x68'],_0x36eafe[_0x16233a(0x205,'\x24\x5d\x32\x43')]))_0x57c162[_0x16233a(0x22b,'\x45\x35\x5d\x41')](_0x675b56[_0x16233a(0x1c5,'\x26\x49\x57\x73')][_0x16233a(0xf3,'\x69\x23\x4a\x53')]);_0x3267b5=_0x57c162[_0x16233a(0x1c6,'\x70\x26\x5e\x33')](Boolean)[_0x16233a(0x1a0,'\x61\x34\x42\x26')](_0x36eafe[_0x16233a(0x1da,'\x78\x6d\x53\x6f')])[_0x16233a(0x273,'\x61\x57\x4e\x75')]();}if(!_0x3267b5){const _0x323d66=_0x3a4e5b['\x6d\x61\x70'](_0x5b6732=>String(_0x5b6732)['\x73\x70\x6c\x69\x74']('\x7c')[-0xd58+0x14ee+-0x796*0x1])['\x66\x69\x6c\x74\x65\x72'](_0x9e931d=>_0x9e931d&&!_0x9e931d[_0x16233a(0x118,'\x78\x6d\x53\x6f')+'\x74\x68']('\x2f'))[_0x16233a(0x17f,'\x30\x55\x79\x4e')](-0x23e9+0xe02+0x15e7,-0x27*0xf9+-0x15ff*0x1+0x3bf2*0x1);if(_0x323d66['\x6c\x65\x6e\x67\x74\x68'])_0x3267b5='\x6d\x61\x74\x63\x68\x65\x73\x3a'+'\x20'+_0x323d66[_0x16233a(0x17d,'\x76\x4e\x64\x77')]('\x2c\x20');}_0x563ab5[_0x16233a(0x109,'\x30\x55\x79\x4e')]({'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x675b56[_0x16233a(0xd2,'\x21\x63\x4d\x7a')]||'','\x73\x6f\x75\x72\x63\x65\x5f\x6e\x6f\x64\x65\x5f\x69\x64':_0x675b56[_0x16233a(0x1f9,'\x40\x78\x4c\x4f')+_0x16233a(0x131,'\x69\x23\x4a\x53')]||_0x675b56[_0x16233a(0x1d2,'\x73\x29\x7a\x61')+_0x16233a(0x131,'\x69\x23\x4a\x53')]||'','\x63\x68\x61\x69\x6e\x5f\x69\x64':_0x675b56['\x63\x68\x61\x69\x6e\x5f\x69\x64']||'','\x73\x69\x6d\x69\x6c\x61\x72\x69\x74\x79':Math[_0x16233a(0x269,'\x30\x55\x79\x4e')](-0x19d*0x4+-0x1*0x149f+0x1b14,_0x36eafe[_0x16233a(0x15b,'\x47\x68\x4b\x75')](-0x1556+0x10b7+0x49f+0.75+_0x36eafe[_0x16233a(0x132,'\x25\x79\x6c\x6f')](-0xdfa+-0x18b5+0x1*0x26af+0.05,_0x1ad847),_0x36eafe[_0x16233a(0x10b,'\x61\x57\x4e\x75')](-0xe20+-0x9f1+0x1811+0.1,_0x31f573))),'\x74\x69\x74\x6c\x65':_0x675b56['\x69\x64']||_0x675b56[_0x16233a(0x23e,'\x75\x75\x38\x40')+_0x16233a(0x16b,'\x65\x62\x70\x63')]||'','\x73\x75\x6d\x6d\x61\x72\x79':_0x3267b5,'\x6f\x72\x69\x67\x69\x6e':_0x16233a(0xe8,'\x70\x4d\x42\x36'),'\x5f\x68\x69\x74\x73':_0x1ad847});}else _0x17d821='';}return _0x563ab5;}function _0x27a990(_0xb15517){const _0x3735de=_0x467e01,_0x54d3a7={'\x63\x6e\x4b\x6c\x72':function(_0x7a8cc0,_0x3f17c9){return _0x7a8cc0(_0x3f17c9);},'\x6b\x51\x53\x72\x57':function(_0x48b95d,_0x17a702){return _0x48b95d||_0x17a702;}},_0x3f4d94=(_0xb15517&&_0xb15517[_0x3735de(0xbc,'\x73\x49\x59\x4b')]?_0x54d3a7[_0x3735de(0xca,'\x59\x78\x6d\x5d')](String,_0xb15517['\x74\x69\x74\x6c\x65']):'')[_0x3735de(0x141,'\x68\x79\x2a\x48')](),_0x58ab50=(_0xb15517&&_0xb15517[_0x3735de(0x235,'\x63\x7a\x38\x26')]?_0x54d3a7[_0x3735de(0x231,'\x41\x28\x71\x39')](String,_0xb15517[_0x3735de(0x1a3,'\x32\x30\x49\x5a')]):'')[_0x3735de(0x226,'\x2a\x29\x54\x4a')]();return!!_0x54d3a7[_0x3735de(0x277,'\x76\x55\x5a\x73')](_0x3f4d94,_0x58ab50);}function _0x2c243c(_0x1aee08){const _0x59e38a=_0x467e01,_0x151ff0={};_0x151ff0['\x75\x66\x75\x78\x48']=_0x59e38a(0x202,'\x78\x6d\x53\x6f')+'\x20\u2014\x20\x72\x65\x6c\x65\x76'+_0x59e38a(0x13f,'\x4b\x47\x77\x73')+'\x72\x20\x63\x61\x70\x61\x62\x69'+_0x59e38a(0x16a,'\x75\x35\x34\x23'),_0x151ff0[_0x59e38a(0x25d,'\x44\x54\x74\x34')]=function(_0x50ab56,_0x23c5b4){return _0x50ab56!=_0x23c5b4;},_0x151ff0[_0x59e38a(0x19c,'\x61\x57\x4e\x75')]=_0x59e38a(0xeb,'\x61\x57\x4e\x75'),_0x151ff0[_0x59e38a(0x9c,'\x65\x62\x70\x63')]=_0x59e38a(0x1ab,'\x78\x6d\x53\x6f')+'\x64\x69\x73\x74\x69\x6c\x6c\x65'+_0x59e38a(0x21b,'\x26\x49\x57\x73')+_0x59e38a(0x268,'\x30\x66\x41\x23')+_0x59e38a(0xc2,'\x78\x6d\x53\x6f')+_0x59e38a(0xea,'\x21\x63\x4d\x7a')+_0x59e38a(0x24a,'\x70\x4d\x42\x36')+'\x76\x65\x72\x69\x66\x79\x20\x62'+_0x59e38a(0x229,'\x32\x30\x49\x5a')+_0x59e38a(0x1f6,'\x70\x4d\x42\x36'),_0x151ff0[_0x59e38a(0x212,'\x24\x5d\x32\x43')]='\x54\x6f\x20\x72\x65\x75\x73\x65'+_0x59e38a(0xc5,'\x37\x6b\x66\x39')+_0x59e38a(0x9e,'\x76\x55\x5a\x73')+_0x59e38a(0x187,'\x30\x66\x41\x23')+_0x59e38a(0x253,'\x45\x35\x5d\x41')+_0x59e38a(0x162,'\x6a\x5d\x70\x79')+_0x59e38a(0x92,'\x65\x62\x70\x63')+_0x59e38a(0x1ca,'\x61\x34\x42\x26')+'\x6c\x6c\x60\x29\x2e',_0x151ff0[_0x59e38a(0x267,'\x47\x40\x51\x62')]=function(_0x154e62,_0x3cdf94){return _0x154e62>_0x3cdf94;};const _0x367169=_0x151ff0,_0x5dc520=(_0x1aee08||[])[_0x59e38a(0x1f2,'\x44\x54\x74\x34')](_0x27a990);if(!_0x5dc520[_0x59e38a(0xd4,'\x61\x57\x4e\x75')])return'';const _0x1dc7db=[_0x367169[_0x59e38a(0x1f5,'\x2a\x29\x54\x4a')]];let _0x4ea995=![];for(const _0x198d7d of _0x5dc520){const _0x45e996=(_0x198d7d[_0x59e38a(0x227,'\x26\x49\x57\x73')]||'')[_0x59e38a(0xb2,'\x4d\x75\x6d\x4f')]()[_0x59e38a(0x199,'\x75\x75\x38\x40')](0xecb*-0x2+0x4*-0x471+0x2f5a,0x1d4+-0xaa4+-0x1*-0x920),_0x23c4ab=(_0x198d7d[_0x59e38a(0x12c,'\x70\x26\x5e\x33')]||'')[_0x59e38a(0x232,'\x6b\x26\x34\x33')]()['\x72\x65\x70\x6c\x61\x63\x65'](/\s+/g,'\x20')[_0x59e38a(0x143,'\x79\x74\x37\x5b')]()[_0x59e38a(0x23d,'\x61\x57\x4e\x75')](0xd5*0x7+0x2700+-0x2cd3,_0xdef16a),_0x2e4c9c=_0x367169[_0x59e38a(0x1f8,'\x75\x35\x34\x23')](_0x198d7d[_0x59e38a(0xa3,'\x76\x55\x5a\x73')+'\x74\x79'],null)?_0x198d7d[_0x59e38a(0xfc,'\x5d\x36\x45\x41')+'\x74\x79'][_0x59e38a(0x189,'\x2a\x4b\x5b\x62')](0x1a75+0x15a7+-0x301a):'\x3f',_0x15d344=_0x198d7d[_0x59e38a(0x201,'\x30\x55\x79\x4e')]?_0x59e38a(0x219,'\x62\x52\x26\x5d')+_0x198d7d[_0x59e38a(0x1af,'\x78\x6d\x53\x6f')]:_0x59e38a(0xae,'\x65\x41\x64\x54')+_0x59e38a(0x21d,'\x30\x62\x25\x36')+'\x65\x64';if(_0x198d7d[_0x59e38a(0x1fd,'\x73\x49\x59\x4b')])_0x4ea995=!![];_0x1dc7db[_0x59e38a(0xa6,'\x70\x26\x5e\x33')]('\x2d\x20'+(_0x45e996?_0x59e38a(0xf8,'\x70\x37\x34\x62')+_0x45e996+'\x22':_0x367169[_0x59e38a(0x13e,'\x62\x52\x26\x5d')])+'\x20\x28'+_0x15d344+_0x59e38a(0x149,'\x73\x49\x59\x4b')+_0x2e4c9c+'\x29'+(_0x23c4ab?'\x3a\x20'+_0x23c4ab:''));}_0x1dc7db[_0x59e38a(0x24d,'\x35\x61\x2a\x5b')](_0x367169[_0x59e38a(0x251,'\x40\x6b\x35\x4f')]);if(_0x4ea995)_0x1dc7db[_0x59e38a(0x107,'\x65\x62\x70\x63')](_0x367169[_0x59e38a(0xf7,'\x73\x49\x59\x4b')]);const _0x413c81=_0x1dc7db[_0x59e38a(0x239,'\x70\x26\x5e\x33')]('\x0a');return _0x367169[_0x59e38a(0xe7,'\x70\x4d\x42\x36')](_0x413c81[_0x59e38a(0x265,'\x79\x74\x37\x5b')],_0x55779c)?_0x413c81[_0x59e38a(0x20c,'\x44\x54\x74\x34')](-0x15e0+0x1c21+-0x641,_0x55779c):_0x413c81;}function _0x366f(_0x27cf35,_0x13deb9){_0x27cf35=_0x27cf35-(-0x19b*0x5+-0x1731+0x1fc8);const _0x53a488=_0x6d5d();let _0x3fa28a=_0x53a488[_0x27cf35];if(_0x366f['\x49\x6f\x71\x67\x6e\x75']===undefined){var _0x51b8e8=function(_0x2f602a){const _0x2758a2='\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 _0x2ddad0='',_0x7bd838='',_0x4f6811=_0x2ddad0+_0x51b8e8,_0x2aaf57=(''+function(){return 0x587+-0x26fe*-0x1+-0x2c85;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x3*-0x2d+0x877+0x1*-0x8fd);for(let _0x577ffb=0x4b1+-0xbed*0x1+0x39e*0x2,_0x1ec050,_0x5e6c93,_0x5771bd=-0x2e*0xc5+-0x4b8*0x1+0x281e;_0x5e6c93=_0x2f602a['\x63\x68\x61\x72\x41\x74'](_0x5771bd++);~_0x5e6c93&&(_0x1ec050=_0x577ffb%(0x132a+0x47*0x59+0xe5*-0x31)?_0x1ec050*(-0x103e+-0x6fb*-0x2+-0x51*-0x8)+_0x5e6c93:_0x5e6c93,_0x577ffb++%(0x15d9+0x1007*0x2+-0x35e3))?_0x2ddad0+=_0x2aaf57||_0x4f6811['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5771bd+(-0x114f+0x178d+-0x634))-(0x1*0x1b67+0x145+-0x1ca2)!==0x252a+-0xddc+-0x174e?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x5f5+-0x19a1+0x14ab&_0x1ec050>>(-(-0x23ca*0x1+0x123a*-0x1+0x1e*0x1cd)*_0x577ffb&0x5*-0x114+-0xe3*-0x9+-0x49*0x9)):_0x577ffb:0x1*0x1da7+-0x1bce+-0xb*0x2b){_0x5e6c93=_0x2758a2['\x69\x6e\x64\x65\x78\x4f\x66'](_0x5e6c93);}for(let _0x3c947c=-0x18a4+-0x13bb*0x1+0x2c5f,_0x6b711b=_0x2ddad0['\x6c\x65\x6e\x67\x74\x68'];_0x3c947c<_0x6b711b;_0x3c947c++){_0x7bd838+='\x25'+('\x30\x30'+_0x2ddad0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3c947c)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x8*-0x3dd+-0x42*0x63+0x812*0x7))['\x73\x6c\x69\x63\x65'](-(0x18af+0x10c3+-0x2970));}return decodeURIComponent(_0x7bd838);};const _0x5a1462=function(_0x5dc4a9,_0x86263f){let _0x1bd755=[],_0x5f3320=-0x11ab*0x1+0x6d5+0xad6,_0x5d448e,_0x2104ea='';_0x5dc4a9=_0x51b8e8(_0x5dc4a9);let _0x6bad77;for(_0x6bad77=-0xdf4+-0x1126+0x1f1a;_0x6bad77<-0x5*-0x77b+-0x17*0xca+-0x1241;_0x6bad77++){_0x1bd755[_0x6bad77]=_0x6bad77;}for(_0x6bad77=0xadc+0x1*-0x2c+0x1c8*-0x6;_0x6bad77<0xec8+-0x1*0x6ac+-0xb6*0xa;_0x6bad77++){_0x5f3320=(_0x5f3320+_0x1bd755[_0x6bad77]+_0x86263f['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x6bad77%_0x86263f['\x6c\x65\x6e\x67\x74\x68']))%(-0x123*0x18+0x2*-0x1238+-0x40b8*-0x1),_0x5d448e=_0x1bd755[_0x6bad77],_0x1bd755[_0x6bad77]=_0x1bd755[_0x5f3320],_0x1bd755[_0x5f3320]=_0x5d448e;}_0x6bad77=-0x15a9+-0xa56+0x1fff*0x1,_0x5f3320=-0x325*-0x5+-0x26c5+0x14*0x127;for(let _0x37fdd4=0x14c*0x3+-0x3*0xacd+0x1c83;_0x37fdd4<_0x5dc4a9['\x6c\x65\x6e\x67\x74\x68'];_0x37fdd4++){_0x6bad77=(_0x6bad77+(-0x180b+-0x113f+0x3c1*0xb))%(-0x255+0x2190+0x47*-0x6d),_0x5f3320=(_0x5f3320+_0x1bd755[_0x6bad77])%(0x74b+0x265*0x9+-0x1bd8),_0x5d448e=_0x1bd755[_0x6bad77],_0x1bd755[_0x6bad77]=_0x1bd755[_0x5f3320],_0x1bd755[_0x5f3320]=_0x5d448e,_0x2104ea+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x5dc4a9['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x37fdd4)^_0x1bd755[(_0x1bd755[_0x6bad77]+_0x1bd755[_0x5f3320])%(-0xf*0x260+-0x2084+0x3c*0x127)]);}return _0x2104ea;};_0x366f['\x64\x74\x47\x61\x75\x66']=_0x5a1462,_0x366f['\x6c\x47\x53\x71\x63\x7a']={},_0x366f['\x49\x6f\x71\x67\x6e\x75']=!![];}const _0x3594fe=_0x53a488[-0x7f2+-0x207a*-0x1+-0x1888],_0x5c4a2f=_0x27cf35+_0x3594fe,_0x51da91=_0x366f['\x6c\x47\x53\x71\x63\x7a'][_0x5c4a2f];if(!_0x51da91){if(_0x366f['\x5a\x6a\x54\x59\x49\x49']===undefined){const _0x4fcba0=function(_0x38abea){this['\x78\x63\x69\x6e\x69\x6a']=_0x38abea,this['\x55\x78\x6c\x44\x6a\x58']=[0x175d+-0x17a1*-0x1+-0x2efd,-0x11c*-0x13+-0x2182+0x2*0x637,0x1*0x254b+0xd20+-0x1*0x326b],this['\x42\x48\x68\x4c\x4e\x72']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x4c\x61\x67\x71\x68\x6a']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x6a\x56\x50\x76\x62\x6a']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x4fcba0['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x61\x49\x6b\x46\x42\x49']=function(){const _0x2e6b43=new RegExp(this['\x4c\x61\x67\x71\x68\x6a']+this['\x6a\x56\x50\x76\x62\x6a']),_0x4c460c=_0x2e6b43['\x74\x65\x73\x74'](this['\x42\x48\x68\x4c\x4e\x72']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x55\x78\x6c\x44\x6a\x58'][-0x1921+-0xcbd+0x25df]:--this['\x55\x78\x6c\x44\x6a\x58'][-0x1*0x20cf+0x16b1+0xa1e];return this['\x6f\x54\x66\x4a\x52\x47'](_0x4c460c);},_0x4fcba0['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6f\x54\x66\x4a\x52\x47']=function(_0x3b9e0e){if(!Boolean(~_0x3b9e0e))return _0x3b9e0e;return this['\x44\x50\x4f\x53\x67\x52'](this['\x78\x63\x69\x6e\x69\x6a']);},_0x4fcba0['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x44\x50\x4f\x53\x67\x52']=function(_0x102d7c){for(let _0x1505ba=-0x122*0x1+-0x2702+0x5bc*0x7,_0x15911c=this['\x55\x78\x6c\x44\x6a\x58']['\x6c\x65\x6e\x67\x74\x68'];_0x1505ba<_0x15911c;_0x1505ba++){this['\x55\x78\x6c\x44\x6a\x58']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x15911c=this['\x55\x78\x6c\x44\x6a\x58']['\x6c\x65\x6e\x67\x74\x68'];}return _0x102d7c(this['\x55\x78\x6c\x44\x6a\x58'][0x16a1+0x657*0x1+-0x1cf8]);},(''+function(){return 0x1dc8*0x1+-0x13e7+-0x9e1;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x15*-0x165+-0xceb+0x1*0x2a35)&&new _0x4fcba0(_0x366f)['\x61\x49\x6b\x46\x42\x49'](),_0x366f['\x5a\x6a\x54\x59\x49\x49']=!![];}_0x3fa28a=_0x366f['\x64\x74\x47\x61\x75\x66'](_0x3fa28a,_0x13deb9),_0x366f['\x6c\x47\x53\x71\x63\x7a'][_0x5c4a2f]=_0x3fa28a;}else _0x3fa28a=_0x51da91;return _0x3fa28a;}function _0x15fc20(_0x63d5e7,_0x173f16,_0xa70558,_0xd77f41){const _0x5a70e8=_0x467e01,_0x99aada={'\x76\x57\x76\x50\x6e':function(_0x5af050,_0x324693){return _0x5af050!=_0x324693;},'\x43\x5a\x4e\x6a\x71':_0x5a70e8(0x119,'\x73\x29\x7a\x61'),'\x52\x69\x44\x79\x77':function(_0x54a031,_0x4ce21f){return _0x54a031+_0x4ce21f;},'\x48\x45\x71\x6f\x75':function(_0x18da4b,_0x3b77c9){return _0x18da4b(_0x3b77c9);},'\x64\x7a\x46\x5a\x56':'\x2e\x2f\x61\x73\x73\x65\x74\x43'+_0x5a70e8(0x272,'\x37\x6b\x66\x39'),'\x6c\x6b\x4a\x59\x56':function(_0x34f31c,_0x4bd370){return _0x34f31c===_0x4bd370;},'\x66\x66\x63\x48\x73':_0x5a70e8(0x166,'\x63\x7a\x38\x26'),'\x72\x59\x69\x58\x53':function(_0x127d7c,_0x74411e){return _0x127d7c===_0x74411e;},'\x55\x71\x6d\x73\x78':_0x5a70e8(0x15c,'\x30\x55\x79\x4e'),'\x74\x74\x75\x58\x66':_0x5a70e8(0x241,'\x44\x54\x74\x34')+_0x5a70e8(0x20f,'\x24\x5d\x32\x43'),'\x44\x46\x52\x6b\x62':'\x61\x73\x73\x65\x74\x5f\x69\x6e'+'\x6a\x65\x63\x74\x5f\x73\x68\x61'+_0x5a70e8(0x142,'\x59\x78\x6d\x5d'),'\x5a\x44\x50\x64\x72':_0x5a70e8(0x261,'\x4d\x32\x39\x34'),'\x70\x64\x4f\x75\x65':_0x5a70e8(0x1b8,'\x5d\x36\x45\x41'),'\x49\x5a\x58\x47\x61':_0x5a70e8(0x105,'\x37\x6b\x66\x39')+_0x5a70e8(0x17a,'\x73\x49\x59\x4b')+_0x5a70e8(0x126,'\x78\x6d\x53\x6f'),'\x76\x6a\x78\x48\x6a':_0x5a70e8(0x160,'\x30\x55\x79\x4e')+'\x61\x6c\x6c','\x65\x56\x4d\x68\x44':_0x5a70e8(0x1c7,'\x47\x40\x51\x62')+'\x69\x6f\x6e\x61\x6c\x5f\x6c\x6f'+_0x5a70e8(0x110,'\x70\x37\x34\x62')};let _0x476a34;try{({logAssetCall:_0x476a34}=require(_0x99aada[_0x5a70e8(0x1c1,'\x2a\x4b\x5b\x62')]));}catch(_0x3d4d42){if(_0x99aada[_0x5a70e8(0x220,'\x41\x28\x71\x39')](_0x99aada[_0x5a70e8(0xcf,'\x65\x41\x64\x54')],_0x5a70e8(0xe6,'\x30\x62\x25\x36')))return;else{const _0x524678=(_0x4b62b9[_0x5a70e8(0x1a6,'\x75\x75\x38\x40')]||'')[_0x5a70e8(0x176,'\x30\x55\x79\x4e')]()[_0x5a70e8(0x21e,'\x6a\x5d\x70\x79')](0x145f+-0x246b+0x100c,-0x50e*-0x1+-0x1d5a+0x189c),_0x5b7cb6=(_0x4e20a8['\x73\x75\x6d\x6d\x61\x72\x79']||'')[_0x5a70e8(0x206,'\x26\x49\x57\x73')]()[_0x5a70e8(0x10d,'\x35\x61\x2a\x5b')](/\s+/g,'\x20')[_0x5a70e8(0x1fc,'\x76\x4e\x64\x77')]()['\x73\x6c\x69\x63\x65'](0x7ef+-0x45+-0x9*0xda,_0x2dda76),_0x5999df=wCzdkc['\x76\x57\x76\x50\x6e'](_0x1d5258[_0x5a70e8(0x263,'\x70\x26\x5e\x33')+'\x74\x79'],null)?_0x288e8e[_0x5a70e8(0xb9,'\x79\x74\x37\x5b')+'\x74\x79']['\x74\x6f\x46\x69\x78\x65\x64'](-0x1b6d+-0x4*-0x19d+0x14fb):'\x3f',_0x49946a=_0x2e4e15['\x61\x73\x73\x65\x74\x5f\x69\x64']?'\x61\x73\x73\x65\x74\x20'+_0x138bb[_0x5a70e8(0x164,'\x45\x35\x5d\x41')]:_0x5a70e8(0x20d,'\x2a\x29\x54\x4a')+_0x5a70e8(0x184,'\x32\x30\x49\x5a')+'\x65\x64';if(_0x5568c7[_0x5a70e8(0x201,'\x30\x55\x79\x4e')])_0x130adc=!![];_0x4502e8[_0x5a70e8(0x221,'\x69\x23\x4a\x53')]('\x2d\x20'+(_0x524678?_0x5a70e8(0x250,'\x25\x79\x6c\x6f')+_0x524678+'\x22':wCzdkc[_0x5a70e8(0x130,'\x25\x79\x6c\x6f')])+'\x20\x28'+_0x49946a+'\x2c\x20\x73\x69\x6d\x20'+_0x5999df+'\x29'+(_0x5b7cb6?wCzdkc[_0x5a70e8(0x1c4,'\x76\x55\x5a\x73')]('\x3a\x20',_0x5b7cb6):''));}}const _0x657e1a=_0x99aada[_0x5a70e8(0x18b,'\x4b\x47\x77\x73')](_0x173f16,_0x99aada[_0x5a70e8(0x1c3,'\x61\x34\x42\x26')])?_0x99aada[_0x5a70e8(0x19d,'\x30\x66\x41\x23')]:_0x99aada[_0x5a70e8(0x191,'\x61\x34\x42\x26')];for(const _0x2016ca of _0x63d5e7){if(_0x99aada[_0x5a70e8(0x190,'\x6b\x26\x34\x33')]===_0x99aada[_0x5a70e8(0x140,'\x41\x28\x71\x39')]){const _0x3a6d93=(_0x4d2944&&_0x1444c1[_0x5a70e8(0xd7,'\x44\x54\x74\x34')]?wCzdkc[_0x5a70e8(0x258,'\x76\x4e\x64\x77')](_0x434b44,_0x800e13['\x74\x69\x74\x6c\x65']):'')[_0x5a70e8(0x1f1,'\x62\x52\x26\x5d')](),_0x4d28c5=(_0x5ccef4&&_0x26539e[_0x5a70e8(0x266,'\x75\x35\x34\x23')]?_0x586194(_0x53117b[_0x5a70e8(0x26d,'\x37\x6b\x66\x39')]):'')[_0x5a70e8(0x143,'\x79\x74\x37\x5b')]();return!!(_0x3a6d93||_0x4d28c5);}else try{_0x99aada[_0x5a70e8(0xbb,'\x25\x79\x6c\x6f')](_0x476a34,{'\x72\x75\x6e\x5f\x69\x64':_0xa70558,'\x61\x63\x74\x69\x6f\x6e':_0x657e1a,'\x61\x73\x73\x65\x74\x5f\x69\x64':_0x2016ca[_0x5a70e8(0x104,'\x70\x37\x34\x62')]||undefined,'\x61\x73\x73\x65\x74\x5f\x74\x79\x70\x65':'\x47\x65\x6e\x65','\x73\x6f\x75\x72\x63\x65\x5f\x6e\x6f\x64\x65\x5f\x69\x64':_0x2016ca[_0x5a70e8(0x106,'\x36\x34\x6a\x6c')+_0x5a70e8(0x223,'\x30\x66\x41\x23')]||undefined,'\x63\x68\x61\x69\x6e\x5f\x69\x64':_0x2016ca[_0x5a70e8(0x10c,'\x40\x78\x4c\x4f')]||undefined,'\x73\x63\x6f\x72\x65':_0x2016ca[_0x5a70e8(0x127,'\x75\x35\x34\x23')+'\x74\x79'],'\x73\x69\x67\x6e\x61\x6c\x73':_0xd77f41[_0x5a70e8(0x18f,'\x32\x30\x49\x5a')](0x188b+0x17d7+0x16*-0x233,-0x4d*0x3b+0x40f*0x1+0xdb8),'\x72\x65\x61\x73\x6f\x6e':_0x99aada[_0x5a70e8(0x220,'\x41\x28\x71\x39')](_0x2016ca[_0x5a70e8(0x14b,'\x47\x68\x4b\x75')],_0x5a70e8(0x179,'\x4f\x41\x47\x78'))?_0x5a70e8(0x10e,'\x40\x78\x4c\x4f')+'\x6e\x74\x69\x63\x5f\x68\x69\x67'+_0x5a70e8(0xc6,'\x40\x78\x4c\x4f'):_0x99aada[_0x5a70e8(0x13d,'\x36\x34\x6a\x6c')],'\x65\x78\x74\x72\x61':{'\x76\x69\x61':_0x99aada[_0x5a70e8(0x218,'\x30\x66\x41\x23')],'\x61\x74\x74\x72\x69\x62\x75\x74\x69\x6f\x6e':_0x99aada['\x65\x56\x4d\x68\x44'],'\x6f\x72\x69\x67\x69\x6e':_0x2016ca[_0x5a70e8(0x1bf,'\x78\x6d\x53\x6f')]}});}catch(_0x207712){}}}async function _0x23b6a8(_0x34c3cf){const _0x2f444c=_0x467e01,_0xb9478f={'\x49\x46\x68\x4f\x53':function(_0x3d2d2b,_0x240a1b){return _0x3d2d2b||_0x240a1b;},'\x6b\x4e\x62\x42\x4b':function(_0x105d76){return _0x105d76();},'\x65\x7a\x71\x44\x6c':function(_0x45daf7,_0x22a26){return _0x45daf7===_0x22a26;},'\x68\x4b\x71\x69\x77':_0x2f444c(0xe0,'\x78\x6d\x53\x6f'),'\x54\x73\x6d\x6a\x63':function(_0x15166e,_0x382a35){return _0x15166e(_0x382a35);},'\x77\x56\x54\x51\x51':function(_0x51bdeb,_0x5065e5){return _0x51bdeb>_0x5065e5;},'\x71\x42\x6b\x62\x71':function(_0x156233,_0x467dc8){return _0x156233-_0x467dc8;},'\x56\x76\x45\x71\x4e':function(_0x2aeebe,_0x1b10f1){return _0x2aeebe>=_0x1b10f1;},'\x6d\x53\x43\x79\x58':function(_0x95a2d0,_0x4ed5bb,_0x430f39){return _0x95a2d0(_0x4ed5bb,_0x430f39);},'\x4a\x46\x44\x69\x5a':function(_0x252ac7,_0x1f1f2f){return _0x252ac7!==_0x1f1f2f;},'\x47\x69\x51\x48\x59':_0x2f444c(0x252,'\x26\x49\x57\x73'),'\x45\x4f\x51\x6f\x77':function(_0x5b5c77){return _0x5b5c77();},'\x53\x70\x55\x53\x4a':function(_0x568539,_0x2e7488){return _0x568539(_0x2e7488);},'\x50\x4c\x79\x4f\x73':function(_0x32e11a,_0x47a751){return _0x32e11a+_0x47a751;},'\x66\x42\x4c\x6e\x57':_0x2f444c(0x1d0,'\x44\x54\x74\x34'),'\x61\x57\x7a\x69\x74':function(_0x435275,_0x5e8bb3,_0x23b542,_0x154384,_0xf20307){return _0x435275(_0x5e8bb3,_0x23b542,_0x154384,_0xf20307);},'\x53\x4e\x61\x6f\x52':_0x2f444c(0x10f,'\x73\x29\x7a\x61')},_0x459d55=_0xb9478f['\x49\x46\x68\x4f\x53'](_0x34c3cf,{}),_0x515202=_0x459d55[_0x2f444c(0x246,'\x63\x7a\x38\x26')]||_0xb9478f[_0x2f444c(0xad,'\x21\x63\x4d\x7a')](_0x2ece40),_0x158534={};_0x158534[_0x2f444c(0xfe,'\x78\x49\x23\x75')]=![],_0x158534[_0x2f444c(0xfd,'\x65\x41\x64\x54')]=null,_0x158534[_0x2f444c(0x147,'\x75\x75\x38\x40')]=[],_0x158534[_0x2f444c(0xcc,'\x35\x61\x2a\x5b')]=0x0,_0x158534[_0x2f444c(0x25c,'\x2a\x4b\x5b\x62')]=[];if(_0xb9478f['\x65\x7a\x71\x44\x6c'](_0x515202,_0xb9478f[_0x2f444c(0x178,'\x78\x6d\x53\x6f')]))return _0x158534;const _0x2f3dd7=_0xb9478f[_0x2f444c(0x222,'\x45\x35\x5d\x41')](_0x2f9ff7,_0x459d55[_0x2f444c(0x22f,'\x37\x6b\x66\x39')]),_0x28154e={};_0x28154e[_0x2f444c(0x1b2,'\x36\x34\x6a\x6c')]=![],_0x28154e[_0x2f444c(0x1d8,'\x73\x29\x7a\x61')]=null,_0x28154e[_0x2f444c(0x1e3,'\x78\x6d\x53\x6f')]=[],_0x28154e[_0x2f444c(0x1c9,'\x25\x79\x6c\x6f')]=0x0,_0x28154e[_0x2f444c(0x16f,'\x65\x41\x64\x54')]=[];if(!_0x2f3dd7[_0x2f444c(0xba,'\x40\x78\x4c\x4f')])return _0x28154e;const _0x15302a=_0xb9478f[_0x2f444c(0x129,'\x70\x26\x5e\x33')](_0x2874a9,_0x2f3dd7),_0x598014=-0x53d*0x1+-0x5*-0x79d+-0x203e*0x1;let _0x26255f=Number[_0x2f444c(0x9d,'\x78\x49\x23\x75')](_0x459d55[_0x2f444c(0x217,'\x44\x54\x74\x34')+'\x73'])&&_0xb9478f[_0x2f444c(0x16e,'\x30\x66\x41\x23')](_0x459d55['\x74\x69\x6d\x65\x6f\x75\x74\x4d'+'\x73'],0xae*0x20+-0xae3*-0x1+-0x20a3*0x1)?_0x459d55[_0x2f444c(0x279,'\x4d\x32\x39\x34')+'\x73']:0x1*-0x8b9+0x1*0x1709+-0x680;if(Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x459d55[_0x2f444c(0x9b,'\x75\x35\x34\x23')+'\x4d\x73'])){const _0x2470fd=_0xb9478f[_0x2f444c(0x21c,'\x76\x55\x5a\x73')](_0x459d55[_0x2f444c(0x198,'\x40\x6b\x35\x4f')+'\x4d\x73']-Date[_0x2f444c(0xc1,'\x2a\x29\x54\x4a')](),_0x598014);_0x26255f=Math[_0x2f444c(0x18d,'\x75\x35\x34\x23')](_0x26255f,_0x2470fd);}const _0x363904=_0xb9478f['\x56\x76\x45\x71\x4e'](_0x26255f,-0x236f+-0x791*0x4+0x42df)?await _0xb9478f[_0x2f444c(0x1e4,'\x75\x75\x38\x40')](_0x272e4f,_0x2f3dd7,_0x26255f):[],_0x348693=new Set(),_0x4f7d84=[];let _0x225266=-0xefd+0x11b0+0x2b3*-0x1;for(const _0x2be5d6 of[..._0x363904,..._0x15302a]){const _0x248d2d=_0x2be5d6[_0x2f444c(0x1d5,'\x7a\x5d\x55\x63')]||_0x2be5d6[_0x2f444c(0x1c8,'\x30\x66\x41\x23')]+'\x3a'+_0x2be5d6[_0x2f444c(0x1a6,'\x75\x75\x38\x40')];if(_0x248d2d&&_0x348693[_0x2f444c(0x15a,'\x76\x4e\x64\x77')](_0x248d2d)){if(_0xb9478f[_0x2f444c(0x26a,'\x78\x6d\x53\x6f')](_0xb9478f[_0x2f444c(0x1be,'\x4d\x75\x6d\x4f')],_0x2f444c(0x1eb,'\x45\x35\x5d\x41'))){_0x225266++;continue;}else return[];}if(_0x248d2d)_0x348693[_0x2f444c(0x193,'\x47\x24\x26\x4a')](_0x248d2d);_0x4f7d84[_0x2f444c(0x271,'\x68\x79\x2a\x48')](_0x2be5d6);}_0x4f7d84[_0x2f444c(0x1bb,'\x69\x23\x4a\x53')]((_0x4ff7f3,_0x10c3c0)=>(_0x10c3c0['\x73\x69\x6d\x69\x6c\x61\x72\x69'+'\x74\x79']||0x178*0x3+0x250b+-0x2973)-(_0x4ff7f3[_0x2f444c(0xa3,'\x76\x55\x5a\x73')+'\x74\x79']||0xb02*0x1+-0x1a1d+0xf1b*0x1));const _0x58d9fe=_0x4f7d84[_0x2f444c(0x25f,'\x76\x4e\x64\x77')](0x6*-0x10f+-0x3e6+0xa40,_0xb9478f['\x45\x4f\x51\x6f\x77'](_0x270894));_0x225266+=Math[_0x2f444c(0x117,'\x4d\x75\x6d\x4f')](0xfb1+0x355*-0x3+-0x5b2,_0xb9478f[_0x2f444c(0x1e8,'\x5d\x36\x45\x41')](_0x4f7d84[_0x2f444c(0x165,'\x62\x52\x26\x5d')],_0x58d9fe[_0x2f444c(0x197,'\x36\x34\x6a\x6c')]));const _0x17f09b=_0x58d9fe['\x66\x69\x6c\x74\x65\x72'](_0x27a990);_0x225266+=_0x58d9fe[_0x2f444c(0x10a,'\x32\x30\x49\x5a')]-_0x17f09b[_0x2f444c(0x15e,'\x2a\x4b\x5b\x62')];const _0x3cbfe1={};_0x3cbfe1[_0x2f444c(0xef,'\x2a\x4b\x5b\x62')]=![],_0x3cbfe1[_0x2f444c(0x23a,'\x4d\x32\x39\x34')]=null,_0x3cbfe1['\x64\x65\x63\x69\x64\x65\x64']=[],_0x3cbfe1[_0x2f444c(0x1b6,'\x68\x79\x2a\x48')]=_0x225266,_0x3cbfe1[_0x2f444c(0xd5,'\x24\x5d\x32\x43')]=_0x2f3dd7;if(!_0x17f09b[_0x2f444c(0x183,'\x2a\x29\x54\x4a')])return _0x3cbfe1;const _0x2b5718=_0xb9478f[_0x2f444c(0x23b,'\x65\x41\x64\x54')](_0x2c243c,_0x17f09b),_0x4074e6={};_0x4074e6[_0x2f444c(0x95,'\x25\x79\x6c\x6f')]=![],_0x4074e6[_0x2f444c(0x1cf,'\x79\x74\x37\x5b')]=null,_0x4074e6[_0x2f444c(0x26e,'\x45\x35\x5d\x41')]=[],_0x4074e6[_0x2f444c(0xcc,'\x35\x61\x2a\x5b')]=_0x225266,_0x4074e6[_0x2f444c(0xaa,'\x7a\x5d\x55\x63')]=_0x2f3dd7;if(!_0x2b5718)return _0x4074e6;const _0x3c1ea6=_0x459d55[_0x2f444c(0xf5,'\x40\x6b\x35\x4f')]||_0xb9478f['\x50\x4c\x79\x4f\x73']('\x72\x65\x63\x61\x6c\x6c\x3a',_0x459d55[_0x2f444c(0x1e9,'\x4d\x32\x39\x34')+'\x64']||_0xb9478f[_0x2f444c(0xc9,'\x47\x68\x4b\x75')]);return _0xb9478f[_0x2f444c(0x137,'\x36\x34\x6a\x6c')](_0x15fc20,_0x17f09b,_0x515202,_0x3c1ea6,_0x2f3dd7),{'\x69\x6e\x6a\x65\x63\x74':_0xb9478f[_0x2f444c(0x17c,'\x2a\x4b\x5b\x62')](_0x515202,_0xb9478f[_0x2f444c(0x1cc,'\x65\x62\x70\x63')]),'\x74\x65\x78\x74':_0x2b5718,'\x64\x65\x63\x69\x64\x65\x64':_0x17f09b,'\x64\x72\x6f\x70\x70\x65\x64':_0x225266,'\x73\x69\x67\x6e\x61\x6c\x73':_0x2f3dd7};}const _0x561617={};_0x561617[_0x467e01(0x255,'\x59\x78\x6d\x5d')+'\x62']=_0x272e4f,_0x561617[_0x467e01(0x1bc,'\x36\x34\x6a\x6c')+'\x61\x6c\x47\x65\x6e\x65\x73']=_0x2874a9,_0x561617[_0x467e01(0x270,'\x78\x49\x23\x75')+_0x467e01(0xda,'\x68\x79\x2a\x48')]=_0x15fc20;const _0x4cf39e={};_0x4cf39e[_0x467e01(0x169,'\x65\x62\x70\x63')+_0x467e01(0x148,'\x36\x34\x6a\x6c')]=_0x23b6a8,_0x4cf39e[_0x467e01(0x26c,'\x47\x68\x4b\x75')]=_0x2ece40,_0x4cf39e[_0x467e01(0x24b,'\x70\x37\x34\x62')+'\x6d']=_0xb9c23d,_0x4cf39e[_0x467e01(0x186,'\x36\x34\x6a\x6c')+'\x6a\x65\x63\x74']=_0x270894,_0x4cf39e['\x65\x78\x74\x72\x61\x63\x74\x53'+_0x467e01(0x174,'\x37\x6b\x66\x39')+'\x72\x65']=_0x470e90,_0x4cf39e[_0x467e01(0xe9,'\x73\x49\x59\x4b')+_0x467e01(0x24f,'\x4f\x41\x47\x78')]=_0x2f9ff7,_0x4cf39e['\x62\x75\x69\x6c\x64\x49\x6e\x6a'+'\x65\x63\x74\x54\x65\x78\x74']=_0x2c243c,_0x4cf39e[_0x467e01(0xd9,'\x70\x26\x5e\x33')+'\x6c\x73']=_0x561617,module[_0x467e01(0xbd,'\x63\x7a\x38\x26')]=_0x4cf39e;
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
+ };