@evomap/evolver 1.88.3 → 1.89.0

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 (94) 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 +1123 -0
  9. package/README.md +86 -543
  10. package/README.public.md +594 -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 +5 -15
  17. package/proxy-package.json +39 -0
  18. package/public.manifest.json +141 -0
  19. package/src/evolve/guards.js +721 -1
  20. package/src/evolve/pipeline/collect.js +1283 -1
  21. package/src/evolve/pipeline/dispatch.js +421 -1
  22. package/src/evolve/pipeline/enrich.js +434 -1
  23. package/src/evolve/pipeline/hub.js +319 -1
  24. package/src/evolve/pipeline/select.js +274 -1
  25. package/src/evolve/pipeline/signals.js +206 -1
  26. package/src/evolve/utils.js +264 -1
  27. package/src/evolve.js +350 -1
  28. package/src/gep/a2aProtocol.js +4395 -1
  29. package/src/gep/assetCallLog.js +30 -2
  30. package/src/gep/autoDistillConv.js +205 -1
  31. package/src/gep/autoDistillLlm.js +315 -1
  32. package/src/gep/candidateEval.js +92 -1
  33. package/src/gep/candidates.js +198 -1
  34. package/src/gep/contentHash.js +30 -1
  35. package/src/gep/conversationSniffer.js +266 -1
  36. package/src/gep/crypto.js +89 -1
  37. package/src/gep/curriculum.js +163 -1
  38. package/src/gep/deviceId.js +218 -1
  39. package/src/gep/envFingerprint.js +118 -1
  40. package/src/gep/epigenetics.js +31 -1
  41. package/src/gep/execBridge.js +711 -1
  42. package/src/gep/explore.js +289 -1
  43. package/src/gep/hash.js +15 -1
  44. package/src/gep/hubFetch.js +359 -1
  45. package/src/gep/hubReview.js +207 -1
  46. package/src/gep/hubSearch.js +526 -1
  47. package/src/gep/hubVerify.js +306 -1
  48. package/src/gep/learningSignals.js +89 -1
  49. package/src/gep/memoryGraph.js +1374 -1
  50. package/src/gep/memoryGraphAdapter.js +203 -1
  51. package/src/gep/mutation.js +203 -1
  52. package/src/gep/narrativeMemory.js +108 -1
  53. package/src/gep/oauthLogin.js +143 -0
  54. package/src/gep/openPRRegistry.js +205 -1
  55. package/src/gep/personality.js +423 -1
  56. package/src/gep/policyCheck.js +599 -1
  57. package/src/gep/prompt.js +836 -1
  58. package/src/gep/recallInject.js +409 -1
  59. package/src/gep/recallVerifier.js +318 -1
  60. package/src/gep/reflection.js +177 -1
  61. package/src/gep/schemas/capsule.js +26 -0
  62. package/src/gep/selector.js +602 -1
  63. package/src/gep/skillDistiller.js +1294 -1
  64. package/src/gep/solidify.js +1699 -1
  65. package/src/gep/strategy.js +136 -1
  66. package/src/gep/tokenSavings.js +88 -0
  67. package/src/gep/workspaceKeychain.js +174 -1
  68. package/src/proxy/extensions/traceControl.js +99 -1
  69. package/src/proxy/index.js +36 -6
  70. package/src/proxy/inject.js +52 -1
  71. package/src/proxy/trace/extractor.js +534 -1
  72. package/src/proxy/trace/usage.js +105 -0
  73. package/CONTRIBUTING.md +0 -11
  74. package/assets/cover.png +0 -0
  75. package/scripts/a2a_export.js +0 -63
  76. package/scripts/a2a_ingest.js +0 -79
  77. package/scripts/a2a_promote.js +0 -118
  78. package/scripts/analyze_by_skill.js +0 -121
  79. package/scripts/build_binaries.js +0 -479
  80. package/scripts/check-changelog.js +0 -166
  81. package/scripts/extract_log.js +0 -85
  82. package/scripts/generate_history.js +0 -75
  83. package/scripts/gep_append_event.js +0 -96
  84. package/scripts/gep_personality_report.js +0 -234
  85. package/scripts/human_report.js +0 -147
  86. package/scripts/recall-verify-report.js +0 -234
  87. package/scripts/recover_loop.js +0 -61
  88. package/scripts/seed-merchants.js +0 -91
  89. package/scripts/suggest_version.js +0 -89
  90. package/scripts/validate-modules.js +0 -38
  91. package/scripts/validate-suite.js +0 -78
  92. package/skills/index.json +0 -14
  93. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  94. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,203 @@
1
- const _0x524da8=_0x47d3;(function(_0x53e57a,_0x475a49){const _0x289987=_0x47d3,_0x1db6c5=_0x53e57a();while(!![]){try{const _0x497529=parseInt(_0x289987(0x123,'\x74\x59\x2a\x48'))/(-0x16e+-0x25af*0x1+-0x138f*-0x2)+-parseInt(_0x289987(0x11a,'\x77\x62\x4d\x64'))/(-0x1*-0x10cb+0x192a+-0x29f3*0x1)*(parseInt(_0x289987(0x165,'\x47\x21\x64\x65'))/(-0x296+0x2b1*0x7+0x9a*-0x1b))+-parseInt(_0x289987(0x156,'\x6d\x51\x64\x6b'))/(-0x7*-0x4b9+-0x10b2+-0x1059*0x1)+-parseInt(_0x289987(0xb8,'\x5a\x59\x62\x79'))/(0x34c+0x1f78+-0x251*0xf)+parseInt(_0x289987(0xcc,'\x53\x52\x54\x53'))/(0x22e1+-0x1d20+0xa3*-0x9)+-parseInt(_0x289987(0x137,'\x4e\x63\x35\x69'))/(0x1d21*-0x1+0x1974+0x1da*0x2)*(-parseInt(_0x289987(0xe4,'\x51\x6c\x35\x6e'))/(0x1488+0x188a+-0x2d0a))+parseInt(_0x289987(0x186,'\x61\x62\x67\x48'))/(0x9*0x2cd+0x1e76+-0x37a2);if(_0x497529===_0x475a49)break;else _0x1db6c5['push'](_0x1db6c5['shift']());}catch(_0x41f6a4){_0x1db6c5['push'](_0x1db6c5['shift']());}}}(_0x53de,-0xb108b*0x1+0x5a704+0xeb426));function _0x47d3(_0x114901,_0x4deea7){_0x114901=_0x114901-(-0x1*-0x1bd1+0x10e7*0x1+0x4*-0xb00);const _0x16fa26=_0x53de();let _0x145a57=_0x16fa26[_0x114901];if(_0x47d3['\x4f\x6c\x79\x52\x51\x56']===undefined){var _0x2c1fc4=function(_0xce0fd8){const _0x2d93c8='\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 _0x51540b='',_0x240be9='',_0x52ffc7=_0x51540b+_0x2c1fc4,_0x8f7f4=(''+function(){return 0x1f60+0xc1e+0x26*-0x125;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0xbb2+0x567*0x6+-0x7*0x64d);for(let _0xf677f3=-0x3ab+0x1*-0x22e1+0x268c,_0x3e75f1,_0x1c4f88,_0x5f5920=-0x2c8+-0xae*0x25+0x1bee;_0x1c4f88=_0xce0fd8['\x63\x68\x61\x72\x41\x74'](_0x5f5920++);~_0x1c4f88&&(_0x3e75f1=_0xf677f3%(-0x1068+0x1d04+-0xc98)?_0x3e75f1*(0x14f3+0xdbf+0x2272*-0x1)+_0x1c4f88:_0x1c4f88,_0xf677f3++%(0x65*0x49+0x2*-0x7c1+-0xd47))?_0x51540b+=_0x8f7f4||_0x52ffc7['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5f5920+(0x501+0x1a1a+-0x1f11))-(0x21f1+0x1f6*0x8+-0x3197)!==0x1e3*-0x13+0x1*0xb66+0x1873?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0xc41+-0x1e09+0x2b49&_0x3e75f1>>(-(0x2235+0x2*-0x2e7+-0x1c65)*_0xf677f3&-0x2*-0x97b+-0x2*-0xefd+-0x30ea*0x1)):_0xf677f3:0x116e*-0x2+-0x883*0x4+0x44e8){_0x1c4f88=_0x2d93c8['\x69\x6e\x64\x65\x78\x4f\x66'](_0x1c4f88);}for(let _0x237281=0x1487+-0x1c54+0x7cd,_0x105bb9=_0x51540b['\x6c\x65\x6e\x67\x74\x68'];_0x237281<_0x105bb9;_0x237281++){_0x240be9+='\x25'+('\x30\x30'+_0x51540b['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x237281)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1*-0x84e+-0x1*0x1145+0x19a3))['\x73\x6c\x69\x63\x65'](-(0x200c+-0x1e40+0xe5*-0x2));}return decodeURIComponent(_0x240be9);};const _0x58de82=function(_0x510d91,_0x58cb48){let _0x212b36=[],_0x479cea=0x2*-0x500+-0xa85+0x67*0x33,_0x466d93,_0x2b4c06='';_0x510d91=_0x2c1fc4(_0x510d91);let _0xb028c0;for(_0xb028c0=0x1*0x13d5+-0x11cb+-0x20a;_0xb028c0<0x1*-0xdc1+0x1786+0x5*-0x1c1;_0xb028c0++){_0x212b36[_0xb028c0]=_0xb028c0;}for(_0xb028c0=0x22*0x9e+0x676*0x2+-0x364*0xa;_0xb028c0<-0x1*-0x1e97+0x3df*-0x8+0x161;_0xb028c0++){_0x479cea=(_0x479cea+_0x212b36[_0xb028c0]+_0x58cb48['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xb028c0%_0x58cb48['\x6c\x65\x6e\x67\x74\x68']))%(0x33d+0x106*0x2+-0x449),_0x466d93=_0x212b36[_0xb028c0],_0x212b36[_0xb028c0]=_0x212b36[_0x479cea],_0x212b36[_0x479cea]=_0x466d93;}_0xb028c0=-0x4*-0x2d7+0x215*-0xd+0xfb5,_0x479cea=0x2063*0x1+-0x205b+-0x8;for(let _0x48c50e=-0x1a5a+-0x1b7c+0x35d6;_0x48c50e<_0x510d91['\x6c\x65\x6e\x67\x74\x68'];_0x48c50e++){_0xb028c0=(_0xb028c0+(-0x7f*0x40+-0x10a5+-0x15*-0x24e))%(0x29*0xbd+-0x25f+-0x1ae6),_0x479cea=(_0x479cea+_0x212b36[_0xb028c0])%(-0xfd2+-0x8f*-0x1+-0x17*-0xb5),_0x466d93=_0x212b36[_0xb028c0],_0x212b36[_0xb028c0]=_0x212b36[_0x479cea],_0x212b36[_0x479cea]=_0x466d93,_0x2b4c06+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x510d91['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x48c50e)^_0x212b36[(_0x212b36[_0xb028c0]+_0x212b36[_0x479cea])%(-0x5a*0x5+-0x20f*0xd+0x1d85)]);}return _0x2b4c06;};_0x47d3['\x58\x73\x46\x79\x4e\x6d']=_0x58de82,_0x47d3['\x72\x46\x48\x6f\x4e\x72']={},_0x47d3['\x4f\x6c\x79\x52\x51\x56']=!![];}const _0x54e3f7=_0x16fa26[0x1053+-0x6ad+0x1ee*-0x5],_0x46f5aa=_0x114901+_0x54e3f7,_0x354932=_0x47d3['\x72\x46\x48\x6f\x4e\x72'][_0x46f5aa];if(!_0x354932){if(_0x47d3['\x4e\x59\x6e\x66\x72\x74']===undefined){const _0x5645b5=function(_0x3a575a){this['\x41\x44\x46\x61\x49\x59']=_0x3a575a,this['\x71\x56\x56\x78\x4c\x4c']=[0xbfd+0x15d*-0xa+0x1a6,0x23be+0x2300+-0x5*0xe26,0x1*0x7c9+0xe1c+-0x5f*0x3b],this['\x77\x4e\x4a\x61\x6c\x4c']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x78\x57\x66\x79\x62\x77']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x4c\x6b\x74\x76\x45\x45']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x5645b5['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6c\x69\x59\x4d\x59\x65']=function(){const _0x384a2a=new RegExp(this['\x78\x57\x66\x79\x62\x77']+this['\x4c\x6b\x74\x76\x45\x45']),_0x52a8bd=_0x384a2a['\x74\x65\x73\x74'](this['\x77\x4e\x4a\x61\x6c\x4c']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x71\x56\x56\x78\x4c\x4c'][-0x8fe+-0x4*-0x179+0x31b]:--this['\x71\x56\x56\x78\x4c\x4c'][-0x35*0xb2+0x1*0x7b4+-0x23e*-0xd];return this['\x4f\x42\x63\x4c\x49\x69'](_0x52a8bd);},_0x5645b5['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4f\x42\x63\x4c\x49\x69']=function(_0x4a9e66){if(!Boolean(~_0x4a9e66))return _0x4a9e66;return this['\x4c\x7a\x77\x70\x46\x4e'](this['\x41\x44\x46\x61\x49\x59']);},_0x5645b5['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4c\x7a\x77\x70\x46\x4e']=function(_0x3f404a){for(let _0x28c254=-0x1*-0xed1+0xe5f+0x2*-0xe98,_0x29e9e2=this['\x71\x56\x56\x78\x4c\x4c']['\x6c\x65\x6e\x67\x74\x68'];_0x28c254<_0x29e9e2;_0x28c254++){this['\x71\x56\x56\x78\x4c\x4c']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x29e9e2=this['\x71\x56\x56\x78\x4c\x4c']['\x6c\x65\x6e\x67\x74\x68'];}return _0x3f404a(this['\x71\x56\x56\x78\x4c\x4c'][0x1583*-0x1+-0x1971+0x14*0x259]);},(''+function(){return 0x3f9+0x63*-0x5b+0x1f38;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x4c4+-0x1cc0+-0x17*-0x10b)&&new _0x5645b5(_0x47d3)['\x6c\x69\x59\x4d\x59\x65'](),_0x47d3['\x4e\x59\x6e\x66\x72\x74']=!![];}_0x145a57=_0x47d3['\x58\x73\x46\x79\x4e\x6d'](_0x145a57,_0x4deea7),_0x47d3['\x72\x46\x48\x6f\x4e\x72'][_0x46f5aa]=_0x145a57;}else _0x145a57=_0x354932;return _0x145a57;}const _0x71ccbf=require('\x2e\x2f\x6d\x65\x6d\x6f\x72\x79'+_0x524da8(0x124,'\x53\x52\x54\x53')),_0x3b23b4={'\x6e\x61\x6d\x65':'\x6c\x6f\x63\x61\x6c','\x67\x65\x74\x41\x64\x76\x69\x63\x65'(_0x3a6b1c){const _0x38d2ae=_0x524da8;return _0x71ccbf[_0x38d2ae(0x131,'\x63\x29\x34\x71')+_0x38d2ae(0xf5,'\x68\x38\x4a\x59')](_0x3a6b1c);},'\x72\x65\x63\x6f\x72\x64\x53\x69\x67\x6e\x61\x6c\x53\x6e\x61\x70\x73\x68\x6f\x74'(_0x532108){const _0x513994=_0x524da8;return _0x71ccbf[_0x513994(0x11b,'\x6f\x4d\x5b\x52')+_0x513994(0x104,'\x48\x5e\x79\x33')+_0x513994(0xc1,'\x62\x4b\x4a\x6a')](_0x532108);},'\x72\x65\x63\x6f\x72\x64\x48\x79\x70\x6f\x74\x68\x65\x73\x69\x73'(_0x40d341){const _0x152fc2=_0x524da8;return _0x71ccbf[_0x152fc2(0xfe,'\x5e\x59\x56\x4c')+_0x152fc2(0xd3,'\x49\x38\x4d\x41')](_0x40d341);},'\x72\x65\x63\x6f\x72\x64\x41\x74\x74\x65\x6d\x70\x74'(_0x132fe9){const _0x346d66=_0x524da8;return _0x71ccbf[_0x346d66(0x148,'\x34\x53\x5a\x39')+_0x346d66(0xcb,'\x50\x57\x70\x30')](_0x132fe9);},'\x72\x65\x63\x6f\x72\x64\x4f\x75\x74\x63\x6f\x6d\x65'(_0x5a824d){const _0x2368c9=_0x524da8;return _0x71ccbf[_0x2368c9(0xe0,'\x5a\x59\x62\x79')+_0x2368c9(0xc6,'\x53\x77\x25\x62')+'\x6d\x53\x74\x61\x74\x65'](_0x5a824d);},'\x72\x65\x63\x6f\x72\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x43\x61\x6e\x64\x69\x64\x61\x74\x65'(_0x171ddc){const _0x103155=_0x524da8;return _0x71ccbf[_0x103155(0x105,'\x34\x53\x5a\x39')+_0x103155(0x117,'\x33\x39\x2a\x4b')+'\x6e\x64\x69\x64\x61\x74\x65'](_0x171ddc);},'\x6d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x50\x61\x74\x68'(){const _0x7e456e=_0x524da8;return _0x71ccbf[_0x7e456e(0x106,'\x40\x45\x51\x72')+_0x7e456e(0x181,'\x63\x77\x50\x53')]();},'\x63\x6f\x6d\x70\x75\x74\x65\x53\x69\x67\x6e\x61\x6c\x4b\x65\x79'(_0x469159){const _0x759a9e=_0x524da8;return _0x71ccbf[_0x759a9e(0x191,'\x21\x23\x39\x61')+_0x759a9e(0xcf,'\x72\x24\x7a\x57')](_0x469159);},'\x74\x72\x79\x52\x65\x61\x64\x4d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x45\x76\x65\x6e\x74\x73'(_0x5162df){const _0x4c5e6e=_0x524da8;return _0x71ccbf[_0x4c5e6e(0x10d,'\x70\x2a\x54\x4a')+_0x4c5e6e(0x168,'\x62\x4b\x4a\x6a')+'\x70\x68\x45\x76\x65\x6e\x74\x73'](_0x5162df);}};function _0xb331fb(){const _0x2dc08b=_0x524da8,_0x32bcdd={'\x45\x6a\x6b\x71\x4c':function(_0x413a8c,_0x290fe5,_0x39b8a5){return _0x413a8c(_0x290fe5,_0x39b8a5);},'\x4b\x41\x59\x59\x78':_0x2dc08b(0x140,'\x79\x4a\x35\x31')+_0x2dc08b(0xbc,'\x51\x6c\x35\x6e')+'\x74\x65','\x53\x71\x4d\x68\x62':function(_0x64448,_0x28e620){return _0x64448!==_0x28e620;},'\x48\x4f\x48\x47\x49':_0x2dc08b(0x111,'\x68\x38\x4a\x59'),'\x69\x7a\x79\x44\x6d':'\x4d\x45\x4d\x4f\x52\x59\x5f\x47'+_0x2dc08b(0xd0,'\x34\x53\x5a\x39')+_0x2dc08b(0x16a,'\x34\x53\x5a\x39')+_0x2dc08b(0x136,'\x53\x4a\x26\x63')+_0x2dc08b(0x120,'\x62\x4b\x4a\x6a'),'\x69\x54\x6c\x57\x54':function(_0x5141d1,_0x322e2f){return _0x5141d1===_0x322e2f;},'\x75\x69\x49\x54\x6c':_0x2dc08b(0x18f,'\x62\x45\x73\x5b'),'\x45\x42\x4e\x67\x77':'\x61\x70\x70\x6c\x69\x63\x61\x74'+_0x2dc08b(0xdb,'\x68\x72\x31\x39'),'\x76\x48\x6c\x75\x79':function(_0x9d456,_0x1341a9){return _0x9d456(_0x1341a9);},'\x50\x66\x59\x44\x6c':_0x2dc08b(0x197,'\x34\x53\x5a\x39')+'\x73\x74','\x49\x59\x77\x6d\x76':function(_0x402b,_0x2c457b){return _0x402b===_0x2c457b;},'\x59\x41\x58\x52\x6d':_0x2dc08b(0x15a,'\x73\x62\x5a\x4f'),'\x52\x45\x67\x50\x68':_0x2dc08b(0x127,'\x68\x38\x4a\x59'),'\x71\x4c\x4f\x52\x61':function(_0x54a338,_0x45fd60){return _0x54a338!==_0x45fd60;},'\x6a\x61\x51\x62\x67':_0x2dc08b(0xdd,'\x35\x30\x6b\x25'),'\x71\x51\x49\x75\x49':_0x2dc08b(0x10a,'\x5e\x59\x56\x4c')+'\x63\x65','\x79\x58\x62\x61\x46':function(_0xe9f1c6,_0x52af80,_0x54f38a){return _0xe9f1c6(_0x52af80,_0x54f38a);},'\x53\x4e\x59\x63\x78':_0x2dc08b(0x180,'\x31\x51\x59\x24'),'\x71\x42\x4d\x55\x72':function(_0x18736a,_0x5dae68){return _0x18736a(_0x5dae68);},'\x4b\x59\x45\x41\x48':function(_0x15ae88,_0x3256b7){return _0x15ae88!==_0x3256b7;},'\x42\x50\x71\x57\x74':_0x2dc08b(0x198,'\x68\x38\x4a\x59'),'\x4a\x74\x4c\x41\x61':_0x2dc08b(0xd1,'\x46\x5a\x57\x34'),'\x6f\x47\x7a\x7a\x64':function(_0x34c541,_0x3291da,_0x3e1c57){return _0x34c541(_0x3291da,_0x3e1c57);},'\x73\x53\x45\x7a\x57':_0x2dc08b(0xe8,'\x4e\x63\x35\x69'),'\x70\x78\x41\x73\x6b':_0x2dc08b(0x157,'\x5e\x59\x56\x4c'),'\x42\x74\x6d\x71\x66':function(_0x56c728,_0x29b61b,_0x20c62a){return _0x56c728(_0x29b61b,_0x20c62a);},'\x65\x76\x43\x69\x7a':'\x48\x62\x4b\x6b\x75','\x73\x79\x70\x74\x70':function(_0x3c6baf,_0x16bcc6,_0x3fef47){return _0x3c6baf(_0x16bcc6,_0x3fef47);},'\x4e\x4b\x73\x4c\x6a':function(_0x2ccb6b,_0x394584){return _0x2ccb6b!==_0x394584;},'\x53\x57\x64\x67\x6f':_0x2dc08b(0xf6,'\x48\x5e\x79\x33'),'\x66\x42\x57\x59\x41':_0x2dc08b(0x13e,'\x5e\x59\x56\x4c'),'\x4d\x62\x48\x59\x67':function(_0x556c0e,_0x46fffe){return _0x556c0e(_0x46fffe);},'\x69\x6f\x6a\x67\x70':function(_0x5dcaac,_0xe10fa3,_0x3b4edb){return _0x5dcaac(_0xe10fa3,_0x3b4edb);}},_0x1566fc=process.env.MEMORY_GRAPH_REMOTE_URL||'',_0x58fbce=process.env.MEMORY_GRAPH_REMOTE_KEY||'',_0x3ee514=_0x32bcdd[_0x2dc08b(0x144,'\x34\x53\x5a\x39')](Number,process.env.MEMORY_GRAPH_REMOTE_TIMEOUT_MS)||-0xbe+-0x1*-0xf8f+0x4b7;async function _0x26cb2d(_0x511998,_0x4bf507){const _0x54e864=_0x2dc08b,_0x332928={'\x4b\x7a\x6e\x71\x49':function(_0x20c761,_0x421851,_0x18012b){const _0x46811e=_0x47d3;return _0x32bcdd[_0x46811e(0xeb,'\x6b\x45\x36\x63')](_0x20c761,_0x421851,_0x18012b);},'\x6b\x50\x67\x68\x4c':_0x32bcdd['\x4b\x41\x59\x59\x78']};if(_0x32bcdd[_0x54e864(0x129,'\x4b\x43\x5d\x71')](_0x32bcdd[_0x54e864(0x128,'\x53\x4a\x26\x63')],_0x54e864(0x112,'\x35\x30\x6b\x25')))return _0x508f39['\x74\x72\x79\x52\x65\x61\x64\x4d'+_0x54e864(0xfc,'\x49\x6d\x40\x21')+_0x54e864(0xbd,'\x53\x77\x25\x62')](_0x237c1b);else{if(!_0x1566fc)throw new Error(_0x32bcdd[_0x54e864(0x196,'\x48\x52\x38\x7a')]);const _0xeca0dd=''+_0x1566fc[_0x54e864(0x174,'\x48\x52\x38\x7a')](/\/+$/,'')+_0x511998,_0x4c03c6=new AbortController(),_0x5d3fad=_0x32bcdd['\x45\x6a\x6b\x71\x4c'](setTimeout,()=>_0x4c03c6[_0x54e864(0x121,'\x77\x62\x4d\x64')](),_0x3ee514);try{if(_0x32bcdd[_0x54e864(0xc5,'\x2a\x7a\x49\x55')](_0x54e864(0x194,'\x68\x47\x35\x5d'),_0x54e864(0xda,'\x31\x51\x59\x24'))){const _0x3aa5b0=await fetch(_0xeca0dd,{'\x6d\x65\x74\x68\x6f\x64':_0x32bcdd[_0x54e864(0xc3,'\x45\x21\x21\x7a')],'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x32bcdd[_0x54e864(0x13c,'\x62\x45\x73\x5b')],..._0x58fbce?{'\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':_0x54e864(0x133,'\x68\x47\x35\x5d')+_0x58fbce}:{}},'\x62\x6f\x64\x79':JSON[_0x54e864(0x108,'\x21\x23\x39\x61')+'\x79'](_0x4bf507),'\x73\x69\x67\x6e\x61\x6c':_0x4c03c6[_0x54e864(0x16e,'\x74\x59\x2a\x48')]});if(!_0x3aa5b0['\x6f\x6b'])throw new Error(_0x54e864(0x18d,'\x5d\x62\x41\x49')+_0x54e864(0xfd,'\x4b\x43\x5d\x71')+'\x20'+_0x3aa5b0[_0x54e864(0xc4,'\x47\x71\x68\x41')]);return await _0x3aa5b0['\x6a\x73\x6f\x6e']();}else _0x332928['\x4b\x7a\x6e\x71\x49'](_0x523eae,_0x54e864(0x12e,'\x68\x47\x35\x5d')+'\x73\x74',{'\x6b\x69\x6e\x64':_0x332928[_0x54e864(0x13a,'\x35\x30\x6b\x25')],'\x65\x76\x65\x6e\x74':_0x352dff})['\x63\x61\x74\x63\x68'](()=>{});}finally{_0x32bcdd[_0x54e864(0xc0,'\x51\x6c\x35\x6e')](clearTimeout,_0x5d3fad);}}}function _0x4e59e3(_0x42f88a,_0x26fa1d){const _0x191ed1=_0x2dc08b,_0x432c68={'\x53\x56\x71\x63\x44':function(_0xa5f1f3,_0x1cc2c2,_0x1af188){return _0xa5f1f3(_0x1cc2c2,_0x1af188);},'\x57\x62\x64\x5a\x4e':_0x32bcdd[_0x191ed1(0x12d,'\x63\x29\x34\x71')],'\x7a\x45\x4f\x73\x51':function(_0x5285bd,_0x346c68){const _0x37ba65=_0x191ed1;return _0x32bcdd[_0x37ba65(0xf3,'\x53\x52\x54\x53')](_0x5285bd,_0x346c68);},'\x48\x4d\x6c\x6d\x72':_0x32bcdd[_0x191ed1(0xd9,'\x6f\x4d\x5b\x52')],'\x74\x42\x6a\x51\x48':_0x32bcdd[_0x191ed1(0x17b,'\x47\x21\x64\x65')],'\x64\x76\x45\x56\x43':function(_0x18291a,..._0x16517b){const _0x14a307=_0x191ed1;return _0x32bcdd[_0x14a307(0x188,'\x77\x62\x4d\x64')](_0x18291a,..._0x16517b);}};return _0x32bcdd[_0x191ed1(0xdc,'\x79\x4a\x35\x31')](_0x32bcdd[_0x191ed1(0x114,'\x5a\x59\x62\x79')],_0x191ed1(0x134,'\x4b\x2a\x26\x55'))?async function(..._0x887129){const _0x273d4d=_0x191ed1,_0x2bc91d={'\x66\x46\x6f\x65\x4e':function(_0x4561f9,_0x3c1758,_0x2cc7d9){const _0xf34135=_0x47d3;return _0x432c68[_0xf34135(0x11d,'\x21\x23\x39\x61')](_0x4561f9,_0x3c1758,_0x2cc7d9);},'\x54\x41\x71\x73\x42':_0x432c68[_0x273d4d(0x185,'\x53\x4a\x26\x63')]};try{return await _0x26fa1d(..._0x887129);}catch(_0x4fcd03){if(_0x432c68[_0x273d4d(0x138,'\x33\x39\x2a\x4b')](_0x432c68[_0x273d4d(0x122,'\x47\x21\x64\x65')],_0x432c68[_0x273d4d(0x183,'\x47\x71\x68\x41')])){const _0x171caf=_0x48be98[_0x273d4d(0xd6,'\x74\x56\x50\x7a')+_0x273d4d(0xff,'\x34\x53\x5a\x39')+_0x273d4d(0x18a,'\x63\x77\x50\x53')](_0xd1cf4e);if(_0x171caf){const _0xda5d0e={};_0xda5d0e[_0x273d4d(0x12a,'\x61\x62\x67\x48')]=_0x273d4d(0x113,'\x53\x77\x25\x62')+_0x273d4d(0x190,'\x47\x21\x64\x65')+'\x74\x65',_0xda5d0e[_0x273d4d(0x166,'\x53\x4a\x26\x63')]=_0x171caf,_0x2bc91d['\x66\x46\x6f\x65\x4e'](_0xc1e85f,_0x2bc91d[_0x273d4d(0x11f,'\x50\x57\x70\x30')],_0xda5d0e)[_0x273d4d(0x177,'\x62\x45\x73\x5b')](()=>{});}return _0x171caf;}else return _0x432c68[_0x273d4d(0x12c,'\x61\x62\x67\x48')](_0x42f88a,..._0x887129);}}:_0x574094[_0x191ed1(0xbb,'\x49\x6d\x40\x21')+'\x79\x41\x64\x76\x69\x63\x65'](_0x11bcb5);}return{'\x6e\x61\x6d\x65':_0x2dc08b(0xc7,'\x76\x40\x5b\x4b'),'\x67\x65\x74\x41\x64\x76\x69\x63\x65':_0x32bcdd['\x69\x6f\x6a\x67\x70'](_0x4e59e3,_0x364fc9=>_0x71ccbf[_0x2dc08b(0x109,'\x5e\x59\x56\x4c')+_0x2dc08b(0xf0,'\x63\x77\x50\x53')](_0x364fc9),async _0x112c5a=>{const _0x43605c=_0x2dc08b,_0x2c97d0=await _0x26cb2d(_0x32bcdd[_0x43605c(0x11e,'\x62\x45\x73\x5b')],{'\x73\x69\x67\x6e\x61\x6c\x73':_0x112c5a[_0x43605c(0xe2,'\x6b\x45\x36\x63')],'\x67\x65\x6e\x65\x73':(_0x112c5a[_0x43605c(0x15d,'\x4e\x68\x68\x6a')]||[])[_0x43605c(0x184,'\x5a\x59\x62\x79')](_0x4bde2a=>({'\x69\x64':_0x4bde2a['\x69\x64'],'\x63\x61\x74\x65\x67\x6f\x72\x79':_0x4bde2a[_0x43605c(0xe9,'\x73\x35\x61\x51')],'\x74\x79\x70\x65':_0x4bde2a[_0x43605c(0x13f,'\x68\x72\x31\x39')]})),'\x64\x72\x69\x66\x74\x45\x6e\x61\x62\x6c\x65\x64':_0x112c5a[_0x43605c(0x125,'\x4b\x43\x5d\x71')+_0x43605c(0x14e,'\x72\x71\x65\x31')]});return{'\x63\x75\x72\x72\x65\x6e\x74\x53\x69\x67\x6e\x61\x6c\x4b\x65\x79':_0x2c97d0['\x63\x75\x72\x72\x65\x6e\x74\x53'+_0x43605c(0x10e,'\x40\x45\x51\x72')]||_0x71ccbf['\x63\x6f\x6d\x70\x75\x74\x65\x53'+_0x43605c(0xe7,'\x74\x56\x50\x7a')](_0x112c5a[_0x43605c(0x167,'\x79\x4a\x35\x31')]),'\x70\x72\x65\x66\x65\x72\x72\x65\x64\x47\x65\x6e\x65\x49\x64':_0x2c97d0[_0x43605c(0x130,'\x48\x5e\x79\x33')+'\x64\x47\x65\x6e\x65\x49\x64']||null,'\x62\x61\x6e\x6e\x65\x64\x47\x65\x6e\x65\x49\x64\x73':new Set(_0x2c97d0[_0x43605c(0x160,'\x4b\x2a\x26\x55')+_0x43605c(0x193,'\x68\x72\x31\x39')]||[]),'\x65\x78\x70\x6c\x61\x6e\x61\x74\x69\x6f\x6e':Array[_0x43605c(0x110,'\x4b\x2a\x26\x55')](_0x2c97d0[_0x43605c(0xb9,'\x72\x71\x65\x31')+_0x43605c(0x173,'\x77\x62\x4d\x64')])?_0x2c97d0[_0x43605c(0x17d,'\x62\x4b\x4a\x6a')+_0x43605c(0x12f,'\x62\x4b\x4a\x6a')]:[]};}),'\x72\x65\x63\x6f\x72\x64\x53\x69\x67\x6e\x61\x6c\x53\x6e\x61\x70\x73\x68\x6f\x74'(_0x12c041){const _0x1cf916=_0x2dc08b,_0x5ebcb2=_0x71ccbf[_0x1cf916(0x170,'\x49\x38\x4d\x41')+_0x1cf916(0x12b,'\x49\x38\x4d\x41')+'\x73\x68\x6f\x74'](_0x12c041);return _0x32bcdd[_0x1cf916(0x16f,'\x4b\x43\x5d\x71')](_0x26cb2d,_0x32bcdd[_0x1cf916(0x17c,'\x74\x56\x50\x7a')],{'\x6b\x69\x6e\x64':_0x32bcdd[_0x1cf916(0x162,'\x68\x38\x4a\x59')],'\x65\x76\x65\x6e\x74':_0x5ebcb2})[_0x1cf916(0xe6,'\x45\x21\x21\x7a')](()=>{}),_0x5ebcb2;},'\x72\x65\x63\x6f\x72\x64\x48\x79\x70\x6f\x74\x68\x65\x73\x69\x73'(_0x70b196){const _0x5e6c95=_0x2dc08b;if(_0x32bcdd['\x4b\x59\x45\x41\x48'](_0x32bcdd[_0x5e6c95(0x175,'\x40\x45\x51\x72')],_0x32bcdd[_0x5e6c95(0x164,'\x53\x77\x25\x62')]))_0x32bcdd[_0x5e6c95(0x18e,'\x74\x56\x50\x7a')](_0x1bb469,_0x97392e);else{const _0x266578=_0x71ccbf[_0x5e6c95(0x119,'\x70\x2a\x54\x4a')+_0x5e6c95(0x199,'\x62\x4b\x4a\x6a')](_0x70b196),_0x84037d={};return _0x84037d[_0x5e6c95(0x12a,'\x61\x62\x67\x48')]=_0x5e6c95(0x18b,'\x4b\x43\x5d\x71')+'\x69\x73',_0x84037d[_0x5e6c95(0x139,'\x44\x64\x4e\x48')]=_0x266578,_0x32bcdd[_0x5e6c95(0xd8,'\x51\x6c\x35\x6e')](_0x26cb2d,'\x2f\x6b\x67\x2f\x69\x6e\x67\x65'+'\x73\x74',_0x84037d)['\x63\x61\x74\x63\x68'](()=>{}),_0x266578;}},'\x72\x65\x63\x6f\x72\x64\x41\x74\x74\x65\x6d\x70\x74'(_0x1589fb){const _0x520553=_0x2dc08b;if(_0x32bcdd[_0x520553(0x169,'\x31\x51\x59\x24')](_0x32bcdd[_0x520553(0x102,'\x40\x45\x51\x72')],_0x32bcdd[_0x520553(0x195,'\x47\x71\x68\x41')]))return _0xac4008[_0x520553(0x176,'\x5e\x59\x56\x4c')+_0x520553(0x135,'\x61\x62\x67\x48')](_0x135729);else{const _0x305752=_0x71ccbf['\x72\x65\x63\x6f\x72\x64\x41\x74'+_0x520553(0xdf,'\x34\x53\x5a\x39')](_0x1589fb);return _0x32bcdd[_0x520553(0x17a,'\x74\x56\x50\x7a')](_0x26cb2d,_0x32bcdd[_0x520553(0x179,'\x47\x71\x68\x41')],{'\x6b\x69\x6e\x64':_0x32bcdd[_0x520553(0xef,'\x74\x56\x50\x7a')],'\x65\x76\x65\x6e\x74':_0x305752})[_0x520553(0xcd,'\x68\x38\x4a\x59')](()=>{}),_0x305752;}},'\x72\x65\x63\x6f\x72\x64\x4f\x75\x74\x63\x6f\x6d\x65'(_0x380dc9){const _0x103be7=_0x2dc08b,_0x79e5a1=_0x71ccbf[_0x103be7(0x16d,'\x6b\x45\x36\x63')+_0x103be7(0x10c,'\x4b\x43\x5d\x71')+_0x103be7(0x13b,'\x5e\x59\x56\x4c')](_0x380dc9);if(_0x79e5a1){const _0x21493a={};_0x21493a[_0x103be7(0xf4,'\x47\x21\x64\x65')]='\x6f\x75\x74\x63\x6f\x6d\x65',_0x21493a[_0x103be7(0x139,'\x44\x64\x4e\x48')]=_0x79e5a1,_0x26cb2d(_0x32bcdd[_0x103be7(0x171,'\x70\x2a\x54\x4a')],_0x21493a)['\x63\x61\x74\x63\x68'](()=>{});}return _0x79e5a1;},'\x72\x65\x63\x6f\x72\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x43\x61\x6e\x64\x69\x64\x61\x74\x65'(_0x399665){const _0x20cd69=_0x2dc08b,_0x7ecdc7=_0x71ccbf[_0x20cd69(0xc9,'\x48\x5e\x79\x33')+'\x74\x65\x72\x6e\x61\x6c\x43\x61'+'\x6e\x64\x69\x64\x61\x74\x65'](_0x399665);if(_0x7ecdc7){if(_0x32bcdd[_0x20cd69(0x118,'\x4e\x63\x35\x69')]===_0x32bcdd[_0x20cd69(0x158,'\x50\x57\x70\x30')]){const _0x2d252c={};_0x2d252c[_0x20cd69(0xbf,'\x74\x56\x50\x7a')]=_0x20cd69(0x14f,'\x48\x5e\x79\x33')+_0x20cd69(0x100,'\x73\x35\x61\x51')+'\x74\x65',_0x2d252c[_0x20cd69(0x14d,'\x76\x40\x5b\x4b')]=_0x7ecdc7,_0x26cb2d(_0x32bcdd[_0x20cd69(0xd5,'\x31\x51\x59\x24')],_0x2d252c)[_0x20cd69(0xfa,'\x36\x31\x54\x73')](()=>{});}else return _0x4941f1[_0x20cd69(0x141,'\x68\x47\x35\x5d')+_0x20cd69(0x149,'\x45\x21\x21\x7a')]();}return _0x7ecdc7;},'\x6d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x50\x61\x74\x68'(){const _0x163234=_0x2dc08b,_0x252740={'\x62\x71\x6c\x56\x48':function(_0xe5653b,_0x305893,_0x2b30b9){const _0x12ead5=_0x47d3;return _0x32bcdd[_0x12ead5(0x192,'\x49\x38\x4d\x41')](_0xe5653b,_0x305893,_0x2b30b9);},'\x77\x62\x57\x58\x47':_0x163234(0xed,'\x6d\x51\x64\x6b')+'\x69\x73'};if(_0x32bcdd[_0x163234(0x14b,'\x6b\x45\x36\x63')](_0x32bcdd[_0x163234(0x116,'\x62\x45\x73\x5b')],_0x32bcdd[_0x163234(0xf9,'\x77\x62\x4d\x64')]))return _0x71ccbf[_0x163234(0xf7,'\x68\x72\x31\x39')+_0x163234(0x19a,'\x77\x62\x4d\x64')]();else{const _0x3aaf3e=_0x20bb98[_0x163234(0xfb,'\x35\x30\x6b\x25')+_0x163234(0x18c,'\x21\x23\x39\x61')](_0xb07999);return zmJvya[_0x163234(0xe3,'\x73\x35\x61\x51')](_0x13e2be,'\x2f\x6b\x67\x2f\x69\x6e\x67\x65'+'\x73\x74',{'\x6b\x69\x6e\x64':zmJvya[_0x163234(0x189,'\x6f\x4d\x5b\x52')],'\x65\x76\x65\x6e\x74':_0x3aaf3e})[_0x163234(0xe6,'\x45\x21\x21\x7a')](()=>{}),_0x3aaf3e;}},'\x63\x6f\x6d\x70\x75\x74\x65\x53\x69\x67\x6e\x61\x6c\x4b\x65\x79'(_0x2323dd){const _0x5c2edb=_0x2dc08b;return _0x71ccbf[_0x5c2edb(0x15e,'\x36\x31\x54\x73')+_0x5c2edb(0x152,'\x6f\x4d\x5b\x52')](_0x2323dd);},'\x74\x72\x79\x52\x65\x61\x64\x4d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x45\x76\x65\x6e\x74\x73'(_0x58ddcf){const _0x1c19f1=_0x2dc08b,_0x1d19a3={'\x4e\x57\x61\x63\x72':function(_0x171875,_0xf6c47f,_0xb12204){const _0x3b7881=_0x47d3;return _0x32bcdd[_0x3b7881(0x161,'\x6b\x45\x36\x63')](_0x171875,_0xf6c47f,_0xb12204);},'\x6e\x6e\x45\x65\x50':_0x32bcdd['\x73\x53\x45\x7a\x57']};if(_0x32bcdd[_0x1c19f1(0x14a,'\x63\x77\x50\x53')](_0x32bcdd[_0x1c19f1(0x17f,'\x33\x39\x2a\x4b')],_0x32bcdd[_0x1c19f1(0xd4,'\x68\x38\x4a\x59')]))return _0x71ccbf[_0x1c19f1(0xd2,'\x33\x39\x2a\x4b')+'\x65\x6d\x6f\x72\x79\x47\x72\x61'+_0x1c19f1(0x14c,'\x50\x57\x70\x30')](_0x58ddcf);else{const _0x3fedb3=_0x85c3dd[_0x1c19f1(0x153,'\x68\x47\x35\x5d')+_0x1c19f1(0x103,'\x48\x5e\x79\x33')](_0x4e1bc9);return igggQz[_0x1c19f1(0x10b,'\x79\x4a\x35\x31')](_0x46b50f,_0x1c19f1(0xba,'\x79\x4a\x35\x31')+'\x73\x74',{'\x6b\x69\x6e\x64':igggQz[_0x1c19f1(0xf1,'\x5e\x59\x56\x4c')],'\x65\x76\x65\x6e\x74':_0x3fedb3})[_0x1c19f1(0x16b,'\x63\x29\x34\x71')](()=>{}),_0x3fedb3;}}};}function _0x41a6fe(){const _0x24d709=_0x524da8,_0x1f3253={'\x78\x6d\x63\x6b\x67':_0x24d709(0x143,'\x68\x38\x4a\x59'),'\x46\x4c\x79\x76\x53':_0x24d709(0x151,'\x76\x40\x5b\x4b')+_0x24d709(0xec,'\x72\x24\x7a\x57'),'\x65\x4c\x4e\x76\x4f':function(_0x129f51,_0x1b6b67,_0x2498ad){return _0x129f51(_0x1b6b67,_0x2498ad);},'\x6f\x7a\x6b\x65\x4e':function(_0x25e515){return _0x25e515();},'\x55\x73\x59\x44\x71':_0x24d709(0xde,'\x61\x62\x67\x48'),'\x67\x6c\x5a\x6a\x7a':_0x24d709(0x13d,'\x50\x57\x70\x30'),'\x55\x59\x74\x6b\x6c':function(_0x2838bd,_0x46a71b){return _0x2838bd===_0x46a71b;},'\x52\x54\x4b\x6e\x65':_0x24d709(0x154,'\x72\x71\x65\x31'),'\x57\x70\x72\x6a\x71':function(_0x49fda1){return _0x49fda1();}},_0x4ccc73=(function(){const _0x2d60b7=_0x24d709,_0x85a85e={};_0x85a85e[_0x2d60b7(0x107,'\x63\x29\x34\x71')]=_0x2d60b7(0x187,'\x50\x57\x70\x30');const _0x5f5555=_0x85a85e;if(_0x1f3253[_0x2d60b7(0x15f,'\x74\x56\x50\x7a')]===_0x1f3253[_0x2d60b7(0x132,'\x72\x24\x7a\x57')]){let _0x142bf2=!![];return function(_0x389572,_0x5077a0){const _0x51a156=_0x142bf2?function(){const _0x196eb8=_0x47d3;if(_0x5077a0){if(_0x5f5555['\x58\x77\x6a\x59\x43']===_0x196eb8(0xc8,'\x63\x29\x34\x71')){const _0x51e302=_0x5077a0[_0x196eb8(0x145,'\x68\x47\x35\x5d')](_0x389572,arguments);return _0x5077a0=null,_0x51e302;}else return _0x1da588['\x63\x6f\x6d\x70\x75\x74\x65\x53'+_0x196eb8(0xf2,'\x74\x59\x2a\x48')](_0x3e9ab1);}}:function(){};return _0x142bf2=![],_0x51a156;};}else return _0x10d508[_0x2d60b7(0xc2,'\x6d\x51\x64\x6b')+_0x2d60b7(0xe5,'\x34\x53\x5a\x39')+_0x2d60b7(0x142,'\x36\x31\x54\x73')](_0x65a438);}()),_0x3d7386=_0x1f3253[_0x24d709(0x15b,'\x70\x2a\x54\x4a')](_0x4ccc73,this,function(){const _0xc925e0=_0x24d709;return _0x3d7386[_0xc925e0(0x115,'\x4b\x43\x5d\x71')]()[_0xc925e0(0xce,'\x79\x4a\x35\x31')](_0xc925e0(0x146,'\x51\x6c\x35\x6e')+'\x2b\x29\x2b\x24')[_0xc925e0(0xd7,'\x46\x5a\x57\x34')]()[_0xc925e0(0xf8,'\x74\x59\x2a\x48')+_0xc925e0(0x147,'\x49\x6d\x40\x21')](_0x3d7386)[_0xc925e0(0xbe,'\x76\x40\x5b\x4b')](_0x1f3253[_0xc925e0(0x182,'\x5d\x62\x41\x49')]);});_0x1f3253[_0x24d709(0x155,'\x4b\x43\x5d\x71')](_0x3d7386);const _0x21bccc=(process.env.MEMORY_GRAPH_PROVIDER||_0x1f3253['\x55\x73\x59\x44\x71'])['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x24d709(0x11c,'\x51\x6c\x35\x6e')]()[_0x24d709(0x17e,'\x68\x72\x31\x39')]();if(_0x21bccc===_0x1f3253[_0x24d709(0x126,'\x63\x77\x50\x53')])return _0x1f3253[_0x24d709(0x150,'\x74\x59\x2a\x48')](_0x1f3253[_0x24d709(0x15c,'\x70\x2a\x54\x4a')],_0x24d709(0x163,'\x4e\x63\x35\x69'))?_0x2c4b27[_0x24d709(0x178,'\x40\x45\x51\x72')+_0x24d709(0x159,'\x45\x21\x21\x7a')](_0x10fe08):_0x1f3253[_0x24d709(0xea,'\x63\x77\x50\x53')](_0xb331fb);return _0x3b23b4;}function _0x53de(){const _0x1730fe=['\x57\x37\x66\x4d\x57\x37\x58\x66\x70\x71','\x57\x34\x43\x38\x71\x6d\x6b\x6a\x57\x4f\x53','\x57\x36\x54\x4a\x44\x53\x6f\x49\x57\x34\x30','\x57\x50\x6c\x63\x50\x6d\x6f\x65\x57\x36\x66\x37\x6f\x53\x6f\x66\x57\x35\x78\x64\x4d\x4b\x74\x64\x50\x53\x6b\x41','\x57\x52\x52\x63\x4d\x67\x56\x64\x51\x53\x6b\x6b','\x57\x34\x38\x39\x57\x36\x31\x6b\x75\x6d\x6f\x73\x57\x52\x57','\x57\x37\x64\x64\x4d\x38\x6b\x6a\x7a\x43\x6f\x35\x41\x43\x6f\x42\x57\x35\x38','\x57\x37\x4a\x64\x4b\x33\x56\x64\x4a\x71\x4f','\x6f\x32\x68\x63\x48\x43\x6f\x33\x57\x36\x43\x4c\x57\x50\x56\x63\x55\x61','\x57\x37\x37\x63\x49\x53\x6f\x7a\x44\x53\x6f\x30','\x57\x50\x68\x63\x4b\x53\x6f\x6d\x6b\x63\x70\x63\x51\x58\x38\x59\x57\x35\x6c\x64\x4a\x53\x6f\x6f\x57\x50\x72\x6e\x66\x57','\x57\x52\x69\x52\x57\x34\x43\x79\x6d\x53\x6f\x57\x79\x78\x4f','\x78\x31\x79\x32\x57\x34\x4a\x63\x49\x43\x6b\x41','\x62\x53\x6b\x64\x7a\x43\x6f\x6b\x57\x35\x75','\x57\x36\x72\x4b\x75\x6d\x6f\x69\x57\x52\x71\x64\x57\x37\x56\x63\x49\x47','\x78\x30\x75\x6f\x57\x51\x74\x64\x4a\x61','\x73\x38\x6f\x53\x6d\x43\x6b\x79\x57\x51\x76\x63\x57\x4f\x54\x76\x71\x6d\x6b\x6e\x71\x78\x34','\x57\x37\x78\x63\x53\x38\x6b\x4e','\x57\x35\x6c\x64\x47\x53\x6b\x6d\x44\x4e\x56\x64\x55\x75\x4b','\x61\x6d\x6b\x52\x42\x5a\x30\x35','\x45\x53\x6f\x2f\x6b\x43\x6b\x57\x57\x37\x4c\x6c\x6b\x43\x6f\x56','\x57\x52\x53\x73\x73\x43\x6f\x4c\x61\x57','\x6d\x6d\x6b\x45\x46\x71\x75\x2f\x76\x43\x6b\x62\x57\x51\x4f','\x43\x6d\x6f\x31\x57\x36\x62\x6e\x78\x61','\x64\x53\x6b\x69\x6e\x31\x38\x4e','\x57\x37\x68\x64\x4c\x53\x6b\x78\x57\x4f\x61\x4c','\x6d\x43\x6b\x50\x66\x67\x65\x56','\x57\x37\x64\x64\x4a\x53\x6b\x77\x45\x38\x6f\x48\x71\x6d\x6f\x69\x57\x34\x4f','\x57\x35\x31\x41\x44\x75\x43','\x64\x43\x6f\x65\x57\x37\x56\x63\x48\x38\x6f\x2b','\x57\x35\x4a\x64\x49\x31\x68\x64\x49\x57\x4b\x43','\x57\x51\x50\x51\x62\x5a\x6e\x4c\x57\x51\x6e\x36','\x57\x51\x4b\x65\x57\x4f\x2f\x63\x47\x78\x38','\x76\x6d\x6f\x72\x57\x35\x6e\x79\x45\x61','\x75\x30\x4b\x54','\x57\x4f\x4a\x63\x4a\x67\x52\x64\x4e\x53\x6b\x57','\x57\x35\x69\x42\x72\x6d\x6f\x39\x57\x36\x54\x45\x57\x51\x46\x63\x56\x4c\x33\x64\x4d\x38\x6b\x33\x57\x52\x79\x71\x64\x61','\x64\x38\x6b\x77\x57\x50\x62\x6c\x70\x61','\x57\x36\x52\x63\x4c\x6d\x6b\x4c\x57\x37\x75\x38','\x57\x37\x30\x49\x57\x35\x33\x64\x4f\x73\x71','\x57\x51\x76\x2b\x62\x47\x44\x4c\x57\x51\x6e\x33','\x66\x38\x6b\x49\x44\x38\x6f\x65\x57\x36\x43\x73\x57\x50\x72\x31','\x57\x35\x56\x63\x53\x38\x6f\x39\x57\x35\x35\x6b\x45\x75\x46\x64\x52\x61','\x57\x50\x30\x54\x57\x50\x56\x63\x4d\x66\x48\x5a\x61\x53\x6f\x77','\x65\x6d\x6b\x6e\x61\x68\x61\x58','\x57\x4f\x47\x38\x42\x53\x6f\x73','\x57\x37\x5a\x64\x53\x6d\x6b\x72\x57\x52\x34\x50\x7a\x53\x6f\x54\x57\x36\x71','\x57\x34\x4a\x63\x53\x38\x6f\x4b\x57\x34\x7a\x41\x46\x4b\x56\x64\x4a\x61','\x57\x35\x72\x31\x78\x53\x6f\x77\x57\x51\x61','\x57\x34\x44\x6e\x76\x75\x37\x64\x51\x57','\x57\x52\x37\x63\x51\x38\x6b\x77\x77\x5a\x38','\x41\x53\x6f\x4e\x57\x37\x76\x69\x75\x71','\x57\x34\x4e\x64\x4e\x43\x6b\x66\x78\x4e\x43','\x77\x31\x37\x63\x50\x38\x6b\x68\x57\x35\x53\x7a\x57\x52\x64\x64\x56\x71','\x57\x34\x44\x2f\x57\x34\x66\x33\x6e\x47','\x57\x36\x78\x64\x4d\x43\x6b\x73\x46\x38\x6f\x4c\x78\x43\x6f\x61\x57\x34\x30','\x57\x37\x33\x63\x52\x6d\x6b\x48\x57\x35\x61\x4b\x57\x4f\x31\x2f','\x64\x62\x66\x54\x57\x50\x44\x70\x6d\x4e\x6c\x63\x51\x6d\x6f\x4b\x6c\x74\x5a\x63\x51\x38\x6b\x71','\x57\x51\x70\x64\x56\x77\x34\x5a\x77\x5a\x2f\x63\x53\x73\x57','\x57\x50\x6d\x2f\x57\x36\x30\x6c\x77\x6d\x6f\x71\x57\x51\x4a\x64\x4f\x61','\x57\x4f\x6d\x53\x57\x51\x48\x64\x57\x4f\x4c\x61\x76\x43\x6f\x42','\x57\x52\x6c\x63\x54\x64\x56\x63\x50\x53\x6f\x36\x57\x34\x38\x42\x77\x57','\x57\x35\x4c\x42\x71\x53\x6f\x64\x57\x35\x57\x33\x57\x52\x56\x64\x4d\x61','\x44\x67\x34\x59\x61\x53\x6b\x6e\x57\x51\x43','\x63\x53\x6b\x4d\x69\x30\x65','\x57\x50\x56\x63\x4e\x5a\x42\x63\x56\x43\x6f\x4e','\x57\x36\x42\x64\x4e\x53\x6b\x6a\x79\x57','\x72\x71\x70\x64\x52\x53\x6f\x75\x57\x35\x71\x54\x57\x34\x70\x63\x47\x71','\x79\x32\x65\x31\x76\x71\x75','\x75\x38\x6f\x4e\x57\x35\x48\x39\x72\x43\x6b\x62','\x57\x34\x6d\x76\x72\x43\x6b\x6d\x6a\x61','\x57\x35\x31\x71\x41\x6d\x6f\x79\x57\x35\x57\x46\x57\x52\x33\x64\x48\x61','\x44\x77\x34\x2b\x68\x38\x6b\x41\x57\x51\x4f','\x57\x37\x68\x63\x47\x43\x6f\x4b\x71\x6d\x6f\x32','\x74\x30\x44\x6b\x6f\x43\x6b\x61\x6c\x38\x6b\x6b\x44\x47','\x57\x50\x5a\x64\x52\x6d\x6f\x44\x57\x37\x6a\x2f\x46\x76\x46\x64\x4b\x47','\x66\x38\x6b\x7a\x57\x52\x72\x55\x69\x47','\x57\x35\x33\x64\x52\x32\x43\x54\x76\x64\x52\x64\x56\x43\x6f\x49\x76\x59\x46\x64\x4a\x59\x37\x63\x56\x57','\x57\x34\x66\x6a\x57\x35\x66\x66\x6c\x71','\x57\x34\x38\x58\x57\x36\x54\x77\x75\x53\x6f\x77','\x57\x52\x46\x64\x48\x66\x52\x63\x55\x53\x6b\x4e\x61\x78\x70\x64\x48\x47','\x6a\x4e\x74\x63\x4b\x6d\x6f\x47\x57\x36\x30\x4c\x57\x50\x6c\x64\x4c\x71','\x78\x53\x6b\x2f\x57\x52\x2f\x63\x47\x58\x53','\x6b\x53\x6f\x48\x57\x36\x42\x63\x53\x53\x6f\x30\x57\x52\x64\x64\x50\x38\x6f\x55','\x57\x36\x7a\x55\x72\x38\x6f\x70\x57\x51\x6d\x75\x57\x34\x68\x63\x4b\x61','\x57\x34\x72\x51\x57\x37\x6a\x2f\x62\x61','\x57\x37\x56\x64\x48\x67\x2f\x64\x4f\x71\x71','\x65\x38\x6b\x51\x6c\x4b\x4f\x58\x79\x53\x6b\x38\x57\x34\x71','\x74\x38\x6b\x59\x57\x51\x46\x63\x47\x72\x68\x63\x50\x53\x6f\x66\x46\x47','\x57\x50\x74\x63\x4a\x5a\x4a\x63\x51\x43\x6f\x79','\x57\x35\x6d\x62\x57\x35\x6c\x64\x51\x57\x34','\x57\x36\x6c\x64\x53\x78\x33\x64\x51\x5a\x53','\x57\x34\x62\x68\x43\x47\x78\x64\x53\x53\x6f\x74\x45\x38\x6b\x4f','\x57\x34\x30\x79\x57\x34\x76\x32\x75\x61','\x57\x50\x6c\x63\x54\x6d\x6f\x34\x57\x36\x54\x62','\x57\x4f\x39\x62\x66\x38\x6b\x55\x57\x52\x34','\x61\x66\x64\x63\x52\x43\x6f\x79\x57\x34\x79','\x74\x65\x30\x2b\x57\x34\x53\x6c\x7a\x57\x4a\x63\x4d\x47','\x76\x6d\x6f\x70\x57\x36\x34\x52\x69\x6d\x6b\x55\x43\x4b\x44\x4c\x57\x34\x75','\x57\x52\x6d\x4e\x57\x34\x6d\x7a\x69\x43\x6f\x34\x78\x71','\x63\x6d\x6b\x49\x57\x35\x4c\x63\x57\x52\x71','\x57\x35\x4e\x64\x4f\x67\x5a\x64\x55\x38\x6b\x4f\x57\x50\x34\x66\x41\x43\x6b\x53\x66\x43\x6b\x62\x70\x61','\x61\x66\x42\x63\x52\x38\x6f\x66\x57\x35\x43\x58\x57\x51\x78\x64\x54\x57','\x44\x77\x4b\x69\x79\x47\x65','\x63\x6d\x6b\x4f\x69\x30\x71\x56\x74\x43\x6b\x43\x57\x34\x75','\x57\x37\x65\x47\x74\x43\x6b\x2f\x57\x50\x6c\x63\x4d\x4c\x61','\x63\x43\x6b\x59\x57\x34\x66\x58\x57\x50\x56\x63\x52\x47\x78\x63\x4f\x57','\x57\x50\x58\x51\x68\x71\x4c\x31','\x57\x4f\x75\x4b\x57\x34\x38\x67\x64\x61','\x57\x37\x78\x63\x49\x48\x2f\x64\x56\x57','\x78\x58\x2f\x64\x56\x43\x6f\x75\x57\x35\x69\x48\x57\x36\x4e\x63\x48\x57','\x57\x37\x6e\x35\x71\x38\x6f\x69\x57\x52\x71\x74\x57\x35\x53','\x65\x53\x6b\x43\x63\x66\x38\x75','\x57\x52\x6a\x42\x63\x58\x76\x54\x57\x52\x72\x33','\x44\x38\x6f\x2b\x61\x43\x6b\x4c\x57\x35\x57','\x72\x76\x47\x2f\x57\x34\x46\x63\x48\x6d\x6b\x39\x70\x31\x4b','\x57\x51\x42\x63\x47\x49\x76\x34\x65\x57','\x57\x34\x4a\x64\x55\x53\x6b\x45\x57\x52\x71','\x57\x35\x54\x50\x57\x34\x66\x71\x6c\x6d\x6f\x37\x57\x34\x34','\x78\x32\x72\x54\x69\x53\x6b\x35','\x57\x34\x72\x6e\x43\x75\x78\x64\x51\x53\x6f\x7a\x75\x38\x6b\x30','\x74\x31\x61\x2f\x57\x35\x78\x63\x4e\x6d\x6b\x65\x6c\x30\x6d','\x57\x37\x4e\x63\x51\x53\x6b\x6b\x57\x36\x4b\x2f','\x45\x6d\x6b\x33\x6e\x6d\x6f\x51\x42\x47','\x57\x50\x64\x63\x51\x38\x6f\x54\x57\x36\x66\x43\x6d\x75\x35\x68','\x57\x4f\x65\x4b\x57\x52\x6e\x38\x57\x50\x76\x51\x73\x6d\x6f\x69','\x67\x6d\x6b\x65\x79\x53\x6f\x7a\x57\x36\x65\x76\x57\x4f\x6d\x38','\x41\x38\x6f\x31\x6a\x38\x6b\x56\x57\x37\x35\x42\x62\x6d\x6f\x66','\x61\x66\x64\x63\x53\x53\x6f\x67\x57\x35\x6d\x42\x57\x50\x74\x64\x55\x71','\x6e\x43\x6b\x57\x57\x35\x72\x36\x57\x50\x4a\x63\x51\x62\x70\x63\x55\x57','\x6b\x38\x6b\x36\x68\x38\x6f\x56\x57\x51\x72\x57\x46\x38\x6b\x35\x57\x35\x79\x49\x42\x53\x6b\x62\x72\x61','\x63\x6d\x6b\x70\x75\x49\x53\x53','\x73\x75\x44\x65\x6a\x53\x6b\x67','\x77\x4b\x58\x69\x6f\x53\x6b\x48\x6a\x43\x6b\x55\x46\x47','\x62\x4c\x64\x63\x4f\x38\x6f\x68\x57\x34\x61\x74\x57\x50\x6c\x64\x4f\x61','\x6c\x38\x6b\x45\x43\x57\x75\x2f\x73\x6d\x6b\x68\x57\x51\x57','\x57\x34\x78\x63\x4e\x6d\x6f\x68\x74\x6d\x6f\x46','\x57\x35\x4a\x63\x51\x6d\x6f\x37\x57\x35\x39\x62\x42\x75\x46\x64\x55\x71','\x46\x53\x6f\x31\x6d\x6d\x6b\x6e\x57\x36\x4c\x73\x69\x38\x6f\x6f','\x6e\x53\x6f\x37\x69\x38\x6f\x56\x57\x36\x31\x42\x6f\x53\x6f\x76','\x57\x37\x69\x64\x57\x36\x54\x68\x71\x57','\x63\x38\x6b\x34\x41\x6d\x6f\x67\x57\x37\x79\x38\x57\x4f\x6e\x50','\x45\x31\x65\x55\x57\x52\x6c\x64\x48\x71\x6c\x64\x4b\x53\x6b\x61','\x6b\x38\x6b\x43\x43\x61\x53\x48\x45\x53\x6b\x4c\x57\x51\x43','\x6a\x74\x57\x74\x75\x61\x46\x63\x4b\x5a\x2f\x64\x52\x57','\x57\x35\x50\x2f\x57\x34\x4b\x70\x69\x47\x4f\x6a','\x57\x35\x48\x4c\x57\x37\x76\x71\x62\x47','\x57\x50\x4a\x63\x47\x38\x6f\x45\x57\x37\x48\x54','\x57\x34\x58\x6c\x43\x38\x6f\x71\x57\x34\x53\x33\x57\x51\x37\x64\x48\x57','\x76\x65\x4b\x6d\x57\x34\x79\x45','\x63\x38\x6b\x30\x76\x6d\x6f\x46\x57\x36\x65\x74\x57\x50\x39\x48','\x57\x52\x30\x66\x46\x53\x6f\x56\x65\x71','\x6b\x53\x6f\x32\x57\x36\x33\x63\x4a\x53\x6f\x57\x57\x52\x33\x64\x47\x6d\x6f\x63','\x57\x36\x61\x53\x45\x6d\x6b\x50\x57\x50\x71','\x46\x75\x79\x30\x57\x4f\x2f\x64\x4b\x47\x46\x64\x56\x53\x6b\x30','\x57\x51\x2f\x64\x51\x6d\x6b\x4d\x57\x35\x65\x52\x57\x51\x50\x32\x57\x36\x38','\x57\x37\x47\x4c\x57\x36\x4e\x64\x4c\x48\x65\x6d\x64\x6d\x6f\x54','\x57\x4f\x5a\x63\x50\x64\x38','\x57\x37\x4a\x63\x49\x53\x6f\x34\x57\x35\x76\x52','\x57\x51\x4b\x49\x44\x6d\x6f\x5a\x69\x47','\x6e\x38\x6b\x39\x57\x51\x48\x54\x66\x61','\x57\x37\x5a\x64\x4b\x43\x6b\x74\x7a\x43\x6f\x4c\x73\x47','\x57\x37\x33\x63\x56\x53\x6b\x4d\x57\x37\x69\x58','\x57\x36\x56\x64\x4e\x53\x6b\x43\x57\x52\x30\x2f','\x67\x57\x58\x4d\x57\x50\x70\x63\x4e\x53\x6b\x57\x6b\x68\x72\x6a\x6d\x57','\x57\x51\x4a\x63\x51\x74\x6e\x4c\x64\x71','\x67\x38\x6b\x50\x42\x53\x6f\x6e\x57\x36\x43\x2f\x57\x50\x39\x4e','\x57\x51\x58\x32\x6e\x71\x4c\x2b','\x57\x37\x44\x44\x57\x37\x6e\x64\x63\x47','\x57\x50\x46\x63\x4f\x75\x42\x64\x47\x38\x6b\x33','\x6c\x6d\x6b\x51\x73\x53\x6f\x64\x57\x37\x65','\x57\x4f\x48\x68\x67\x53\x6b\x52','\x57\x37\x66\x56\x75\x53\x6f\x6c\x57\x50\x75\x6a\x57\x34\x4e\x63\x4b\x57','\x57\x4f\x44\x79\x6d\x43\x6b\x7a\x57\x50\x65','\x57\x34\x33\x63\x4a\x43\x6f\x30\x75\x43\x6f\x57','\x57\x35\x4a\x63\x4b\x38\x6b\x36\x6f\x47\x78\x63\x53\x6d\x6b\x75\x78\x47','\x57\x37\x5a\x64\x4d\x43\x6b\x69','\x74\x76\x62\x6d\x6d\x6d\x6b\x78\x6f\x43\x6b\x39\x41\x57','\x57\x37\x52\x63\x4a\x53\x6f\x7a\x77\x6d\x6f\x35\x78\x4a\x33\x63\x49\x71','\x57\x51\x42\x64\x4a\x4c\x46\x63\x53\x6d\x6b\x53','\x57\x52\x78\x63\x4e\x43\x6b\x38\x7a\x57\x4e\x63\x52\x6d\x6f\x74','\x57\x37\x58\x47\x57\x36\x34\x37\x69\x57','\x57\x4f\x50\x6a\x67\x53\x6b\x55\x57\x52\x34\x4b\x57\x37\x68\x64\x53\x71','\x57\x52\x68\x63\x47\x78\x52\x63\x50\x6d\x6b\x44\x44\x71\x6a\x45','\x57\x51\x44\x4b\x42\x43\x6b\x45\x57\x51\x2f\x63\x4e\x76\x33\x64\x47\x57','\x6a\x6d\x6f\x77\x57\x35\x64\x63\x4b\x38\x6f\x61','\x46\x6d\x6f\x38\x73\x6d\x6b\x59\x57\x36\x6d','\x57\x4f\x4e\x63\x4e\x53\x6f\x50\x57\x36\x7a\x49','\x44\x6d\x6f\x64\x6d\x6d\x6b\x48\x57\x37\x48\x41','\x57\x50\x30\x58\x43\x38\x6f\x48\x68\x61','\x65\x43\x6b\x7a\x57\x52\x72\x58\x69\x53\x6b\x6e','\x77\x38\x6f\x75\x69\x38\x6b\x6b\x57\x34\x79','\x57\x35\x31\x72\x42\x65\x38','\x57\x35\x4b\x53\x57\x37\x35\x62\x71\x38\x6f\x71\x57\x51\x37\x64\x51\x71','\x57\x50\x52\x63\x4e\x43\x6b\x57\x45\x48\x37\x63\x50\x38\x6b\x30\x73\x71','\x44\x53\x6b\x66\x6e\x6d\x6f\x4f\x43\x48\x71','\x57\x34\x39\x53\x57\x34\x6a\x45\x6e\x47','\x6f\x76\x46\x63\x49\x6d\x6f\x58\x57\x35\x75','\x57\x50\x42\x63\x49\x6d\x6b\x54\x45\x72\x75','\x57\x34\x78\x64\x56\x33\x6c\x64\x50\x53\x6b\x31\x57\x4f\x39\x75\x65\x57','\x57\x50\x61\x4d\x57\x51\x34','\x62\x4c\x64\x63\x4f\x38\x6f\x68\x57\x34\x61\x74\x57\x50\x42\x64\x52\x61','\x44\x33\x47\x75\x75\x71\x4a\x63\x54\x64\x79','\x57\x4f\x76\x72\x68\x63\x39\x55','\x57\x4f\x4b\x78\x57\x35\x6d\x41\x6e\x47','\x65\x38\x6b\x75\x57\x50\x58\x4f\x6d\x38\x6b\x67\x44\x67\x61','\x79\x4e\x30\x32\x68\x53\x6b\x41','\x57\x51\x74\x64\x51\x78\x53\x37','\x77\x66\x50\x44\x6d\x38\x6b\x61\x6a\x43\x6b\x55\x79\x47','\x45\x77\x79\x4c\x57\x34\x33\x63\x48\x61','\x6c\x59\x6e\x37\x78\x53\x6f\x66\x57\x36\x79\x33\x6b\x61','\x57\x36\x6d\x4e\x57\x36\x74\x64\x4d\x61\x38\x4a\x6f\x53\x6f\x39','\x57\x4f\x78\x63\x4e\x43\x6b\x2b\x45\x48\x37\x63\x55\x53\x6b\x59\x74\x57','\x57\x51\x52\x64\x50\x30\x53\x73\x46\x47','\x65\x6d\x6b\x48\x42\x6d\x6f\x6f\x57\x35\x30','\x62\x76\x42\x63\x56\x38\x6b\x69\x57\x50\x76\x58\x57\x52\x74\x63\x47\x30\x6c\x64\x51\x53\x6f\x55\x57\x36\x58\x50','\x44\x43\x6f\x69\x68\x6d\x6b\x59\x57\x37\x75','\x65\x38\x6b\x65\x57\x50\x48\x54\x70\x71','\x79\x4d\x30\x72\x43\x72\x30','\x65\x6d\x6b\x6c\x68\x67\x53\x78','\x41\x4d\x38\x7a\x57\x50\x42\x64\x52\x57','\x78\x78\x43\x43\x57\x4f\x37\x64\x48\x71','\x64\x4d\x42\x63\x53\x6d\x6b\x51\x41\x47','\x45\x6d\x6b\x35\x6c\x43\x6f\x35\x43\x57\x78\x63\x4a\x6d\x6f\x39','\x67\x43\x6b\x49\x6c\x4b\x34\x4b','\x57\x35\x66\x54\x57\x36\x79\x74\x6e\x71\x38\x33\x57\x35\x75','\x57\x52\x6d\x33\x57\x35\x71\x64\x6d\x61'];_0x53de=function(){return _0x1730fe;};return _0x53de();}const _0x58ab42=_0x41a6fe();module[_0x524da8(0xee,'\x49\x38\x4d\x41')]=_0x58ab42;
1
+ // ---------------------------------------------------------------------------
2
+ // MemoryGraphAdapter -- stable interface boundary for memory graph operations.
3
+ //
4
+ // Default implementation delegates to the local JSONL-based memoryGraph.js.
5
+ // SaaS providers can supply a remote adapter by setting MEMORY_GRAPH_PROVIDER=remote
6
+ // and configuring MEMORY_GRAPH_REMOTE_URL / MEMORY_GRAPH_REMOTE_KEY.
7
+ //
8
+ // The adapter is designed so that the open-source evolver always works offline
9
+ // with the local implementation. Remote is optional and degrades gracefully.
10
+ // ---------------------------------------------------------------------------
11
+
12
+ const localGraph = require('./memoryGraph');
13
+
14
+ // ---------------------------------------------------------------------------
15
+ // Adapter interface contract (all methods must be implemented by providers):
16
+ //
17
+ // getAdvice({ signals, genes, driftEnabled }) => { preferredGeneId, bannedGeneIds, currentSignalKey, explanation }
18
+ // recordSignalSnapshot({ signals, observations }) => event
19
+ // recordHypothesis({ signals, mutation, personality_state, selectedGene, selector, driftEnabled, selectedBy, capsulesUsed, observations }) => { hypothesisId, signalKey }
20
+ // recordAttempt({ signals, mutation, personality_state, selectedGene, selector, driftEnabled, selectedBy, hypothesisId, capsulesUsed, observations }) => { actionId, signalKey }
21
+ // recordOutcome({ signals, observations }) => event | null
22
+ // recordExternalCandidate({ asset, source, signals }) => event | null
23
+ // memoryGraphPath() => string
24
+ // computeSignalKey(signals) => string
25
+ // tryReadMemoryGraphEvents(limit) => event[]
26
+ // ---------------------------------------------------------------------------
27
+
28
+ // ---------------------------------------------------------------------------
29
+ // Local adapter (default) -- wraps memoryGraph.js without any behavior change
30
+ // ---------------------------------------------------------------------------
31
+
32
+ const localAdapter = {
33
+ name: 'local',
34
+
35
+ getAdvice(opts) {
36
+ return localGraph.getMemoryAdvice(opts);
37
+ },
38
+
39
+ recordSignalSnapshot(opts) {
40
+ return localGraph.recordSignalSnapshot(opts);
41
+ },
42
+
43
+ recordHypothesis(opts) {
44
+ return localGraph.recordHypothesis(opts);
45
+ },
46
+
47
+ recordAttempt(opts) {
48
+ return localGraph.recordAttempt(opts);
49
+ },
50
+
51
+ recordOutcome(opts) {
52
+ return localGraph.recordOutcomeFromState(opts);
53
+ },
54
+
55
+ recordExternalCandidate(opts) {
56
+ return localGraph.recordExternalCandidate(opts);
57
+ },
58
+
59
+ memoryGraphPath() {
60
+ return localGraph.memoryGraphPath();
61
+ },
62
+
63
+ computeSignalKey(signals) {
64
+ return localGraph.computeSignalKey(signals);
65
+ },
66
+
67
+ tryReadMemoryGraphEvents(limit) {
68
+ return localGraph.tryReadMemoryGraphEvents(limit);
69
+ },
70
+ };
71
+
72
+ // ---------------------------------------------------------------------------
73
+ // Remote adapter (SaaS) -- calls external KG service with local fallback
74
+ // ---------------------------------------------------------------------------
75
+
76
+ function buildRemoteAdapter() {
77
+ const remoteUrl = process.env.MEMORY_GRAPH_REMOTE_URL || '';
78
+ const remoteKey = process.env.MEMORY_GRAPH_REMOTE_KEY || '';
79
+ const timeoutMs = Number(process.env.MEMORY_GRAPH_REMOTE_TIMEOUT_MS) || 5000;
80
+
81
+ async function remoteCall(endpoint, body) {
82
+ if (!remoteUrl) throw new Error('MEMORY_GRAPH_REMOTE_URL not configured');
83
+ const url = `${remoteUrl.replace(/\/+$/, '')}${endpoint}`;
84
+ const controller = new AbortController();
85
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
86
+ try {
87
+ const res = await fetch(url, {
88
+ method: 'POST',
89
+ headers: {
90
+ 'Content-Type': 'application/json',
91
+ ...(remoteKey ? { Authorization: `Bearer ${remoteKey}` } : {}),
92
+ },
93
+ body: JSON.stringify(body),
94
+ signal: controller.signal,
95
+ });
96
+ if (!res.ok) {
97
+ throw new Error(`remote_kg_error: ${res.status}`);
98
+ }
99
+ return await res.json();
100
+ } finally {
101
+ clearTimeout(timer);
102
+ }
103
+ }
104
+
105
+ // Wrap remote call with local fallback -- ensures offline resilience.
106
+ function withFallback(localFn, remoteFn) {
107
+ return async function (...args) {
108
+ try {
109
+ return await remoteFn(...args);
110
+ } catch (e) {
111
+ // Fallback to local on any remote failure (network, timeout, config).
112
+ return localFn(...args);
113
+ }
114
+ };
115
+ }
116
+
117
+ return {
118
+ name: 'remote',
119
+
120
+ // getAdvice is the primary candidate for remote enhancement (richer graph reasoning).
121
+ getAdvice: withFallback(
122
+ (opts) => localGraph.getMemoryAdvice(opts),
123
+ async (opts) => {
124
+ const result = await remoteCall('/kg/advice', {
125
+ signals: opts.signals,
126
+ genes: (opts.genes || []).map((g) => ({ id: g.id, category: g.category, type: g.type })),
127
+ driftEnabled: opts.driftEnabled,
128
+ });
129
+ // Normalize remote response to match local contract.
130
+ return {
131
+ currentSignalKey: result.currentSignalKey || localGraph.computeSignalKey(opts.signals),
132
+ preferredGeneId: result.preferredGeneId || null,
133
+ bannedGeneIds: new Set(result.bannedGeneIds || []),
134
+ explanation: Array.isArray(result.explanation) ? result.explanation : [],
135
+ };
136
+ }
137
+ ),
138
+
139
+ // Write operations: always write locally first, then async-sync to remote.
140
+ // This preserves the append-only local graph as source of truth.
141
+ recordSignalSnapshot(opts) {
142
+ const ev = localGraph.recordSignalSnapshot(opts);
143
+ remoteCall('/kg/ingest', { kind: 'signal', event: ev }).catch(() => {});
144
+ return ev;
145
+ },
146
+
147
+ recordHypothesis(opts) {
148
+ const result = localGraph.recordHypothesis(opts);
149
+ remoteCall('/kg/ingest', { kind: 'hypothesis', event: result }).catch(() => {});
150
+ return result;
151
+ },
152
+
153
+ recordAttempt(opts) {
154
+ const result = localGraph.recordAttempt(opts);
155
+ remoteCall('/kg/ingest', { kind: 'attempt', event: result }).catch(() => {});
156
+ return result;
157
+ },
158
+
159
+ recordOutcome(opts) {
160
+ const ev = localGraph.recordOutcomeFromState(opts);
161
+ if (ev) {
162
+ remoteCall('/kg/ingest', { kind: 'outcome', event: ev }).catch(() => {});
163
+ }
164
+ return ev;
165
+ },
166
+
167
+ recordExternalCandidate(opts) {
168
+ const ev = localGraph.recordExternalCandidate(opts);
169
+ if (ev) {
170
+ remoteCall('/kg/ingest', { kind: 'external_candidate', event: ev }).catch(() => {});
171
+ }
172
+ return ev;
173
+ },
174
+
175
+ memoryGraphPath() {
176
+ return localGraph.memoryGraphPath();
177
+ },
178
+
179
+ computeSignalKey(signals) {
180
+ return localGraph.computeSignalKey(signals);
181
+ },
182
+
183
+ tryReadMemoryGraphEvents(limit) {
184
+ return localGraph.tryReadMemoryGraphEvents(limit);
185
+ },
186
+ };
187
+ }
188
+
189
+ // ---------------------------------------------------------------------------
190
+ // Provider resolution
191
+ // ---------------------------------------------------------------------------
192
+
193
+ function resolveAdapter() {
194
+ const provider = (process.env.MEMORY_GRAPH_PROVIDER || 'local').toLowerCase().trim();
195
+ if (provider === 'remote') {
196
+ return buildRemoteAdapter();
197
+ }
198
+ return localAdapter;
199
+ }
200
+
201
+ const adapter = resolveAdapter();
202
+
203
+ module.exports = adapter;