@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.
- package/.cursor/BUGBOT.md +182 -0
- package/.env.example +68 -0
- package/.git-commit-guard-token +1 -0
- package/.github/CODEOWNERS +63 -0
- package/.github/ISSUE_TEMPLATE/good_first_issue.md +23 -0
- package/.github/pull_request_template.md +45 -0
- package/.github/workflows/test.yml +75 -0
- package/CHANGELOG.md +1237 -0
- package/README.md +86 -528
- package/README.public.md +569 -0
- package/SECURITY.md +108 -0
- package/assets/gep/events.jsonl +3 -0
- package/examples/atp-consumer-quickstart.md +100 -0
- package/examples/hello-world.md +38 -0
- package/index.js +30 -1
- package/package.json +6 -17
- package/proxy-package.json +39 -0
- package/public.manifest.json +143 -0
- package/src/config.js +23 -0
- package/src/evolve/guards.js +721 -1
- package/src/evolve/pipeline/collect.js +1283 -1
- package/src/evolve/pipeline/dispatch.js +421 -1
- package/src/evolve/pipeline/enrich.js +440 -1
- package/src/evolve/pipeline/hub.js +319 -1
- package/src/evolve/pipeline/select.js +274 -1
- package/src/evolve/pipeline/signals.js +206 -1
- package/src/evolve/utils.js +264 -1
- package/src/evolve.js +350 -1
- package/src/experiment/agentRunner.js +229 -0
- package/src/experiment/cli.js +159 -0
- package/src/experiment/comparison.js +233 -0
- package/src/experiment/metrics.js +75 -0
- package/src/forceUpdate.js +147 -59
- package/src/gep/a2aProtocol.js +4455 -1
- package/src/gep/antiAbuseTelemetry.js +233 -0
- package/src/gep/autoDistillConv.js +205 -1
- package/src/gep/autoDistillLlm.js +315 -1
- package/src/gep/candidateEval.js +92 -1
- package/src/gep/candidates.js +198 -1
- package/src/gep/contentHash.js +30 -1
- package/src/gep/conversationSniffer.js +266 -1
- package/src/gep/crypto.js +89 -1
- package/src/gep/curriculum.js +163 -1
- package/src/gep/deviceId.js +218 -1
- package/src/gep/envFingerprint.js +118 -1
- package/src/gep/epigenetics.js +31 -1
- package/src/gep/execBridge.js +711 -1
- package/src/gep/explore.js +289 -1
- package/src/gep/hash.js +15 -1
- package/src/gep/hubFetch.js +359 -1
- package/src/gep/hubReview.js +207 -1
- package/src/gep/hubSearch.js +526 -1
- package/src/gep/hubVerify.js +306 -1
- package/src/gep/learningSignals.js +89 -1
- package/src/gep/memoryGraph.js +1374 -1
- package/src/gep/memoryGraphAdapter.js +203 -1
- package/src/gep/mutation.js +203 -1
- package/src/gep/narrativeMemory.js +108 -1
- package/src/gep/openPRRegistry.js +205 -1
- package/src/gep/personality.js +423 -1
- package/src/gep/policyCheck.js +599 -1
- package/src/gep/prompt.js +836 -1
- package/src/gep/recallInject.js +409 -1
- package/src/gep/recallVerifier.js +318 -1
- package/src/gep/reflection.js +177 -1
- package/src/gep/sanitize.js +9 -0
- package/src/gep/selector.js +602 -1
- package/src/gep/skillDistiller.js +1294 -1
- package/src/gep/solidify.js +1699 -1
- package/src/gep/strategy.js +136 -1
- package/src/gep/tokenSavings.js +88 -1
- package/src/gep/validator/sandboxExecutor.js +29 -1
- package/src/gep/workspaceKeychain.js +174 -1
- package/src/proxy/extensions/traceControl.js +99 -1
- package/src/proxy/index.js +10 -1
- package/src/proxy/inject.js +52 -1
- package/src/proxy/lifecycle/manager.js +19 -0
- package/src/proxy/mailbox/store.js +2 -1
- package/src/proxy/router/messages_route.js +5 -2
- package/src/proxy/trace/extractor.js +646 -1
- package/src/proxy/trace/usage.js +105 -1
- package/CONTRIBUTING.md +0 -19
- package/assets/cover.png +0 -0
- package/scripts/a2a_export.js +0 -63
- package/scripts/a2a_ingest.js +0 -79
- package/scripts/a2a_promote.js +0 -118
- package/scripts/analyze_by_skill.js +0 -121
- package/scripts/build_binaries.js +0 -479
- package/scripts/check-changelog.js +0 -166
- package/scripts/extract_log.js +0 -85
- package/scripts/generate_history.js +0 -75
- package/scripts/gep_append_event.js +0 -96
- package/scripts/gep_personality_report.js +0 -234
- package/scripts/human_report.js +0 -147
- package/scripts/recall-verify-report.js +0 -234
- package/scripts/recover_loop.js +0 -61
- package/scripts/refresh_stars_badge.js +0 -168
- package/scripts/seed-merchants.js +0 -91
- package/scripts/suggest_version.js +0 -89
- package/scripts/validate-modules.js +0 -38
- package/scripts/validate-suite.js +0 -78
- package/skills/index.json +0 -14
- /package/assets/gep/{genes.seed.json → genes.json} +0 -0
- /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
|
@@ -1 +1,118 @@
|
|
|
1
|
-
const _0x5219d4=_0x1671;(function(_0x48813a,_0x4d2a03){const _0x2d4d8f=_0x1671,_0x510f08=_0x48813a();while(!![]){try{const _0x30aee1=-parseInt(_0x2d4d8f(0xe5,'\x6f\x56\x6b\x65'))/(-0x12d*0x2+0x8d7+-0x67c)*(parseInt(_0x2d4d8f(0xf4,'\x70\x64\x61\x5d'))/(-0x1e8c+0x129+0x1d65))+parseInt(_0x2d4d8f(0xcb,'\x6d\x66\x56\x4c'))/(0x172*-0x6+0x897*-0x4+-0x2b0b*-0x1)*(parseInt(_0x2d4d8f(0xfe,'\x56\x24\x77\x67'))/(-0x2*-0x10b2+0x5*0x2af+0xf99*-0x3))+parseInt(_0x2d4d8f(0xd7,'\x46\x5b\x47\x37'))/(-0xb*0x9d+-0x9de+0x851*0x2)+parseInt(_0x2d4d8f(0xa2,'\x48\x73\x66\x43'))/(0x1*-0xdd3+0x3*-0xa31+0x2c6c)+-parseInt(_0x2d4d8f(0xea,'\x73\x51\x39\x6d'))/(0x848+0x17*-0xd0+0xa6f)+parseInt(_0x2d4d8f(0xce,'\x2a\x50\x4f\x23'))/(0x61*-0x1f+-0x26f0+0x32b7*0x1)*(parseInt(_0x2d4d8f(0xe6,'\x36\x61\x40\x61'))/(0x254*0x4+-0x1eb6*-0x1+-0x27fd*0x1))+parseInt(_0x2d4d8f(0xe1,'\x72\x73\x31\x26'))/(-0x17b*0xf+0xc41+-0x1*-0x9fe);if(_0x30aee1===_0x4d2a03)break;else _0x510f08['push'](_0x510f08['shift']());}catch(_0x4cc019){_0x510f08['push'](_0x510f08['shift']());}}}(_0x1fc7,0x1c682+0x40171*-0x3+-0x18d0be*-0x1));const _0x417787=(function(){let _0x115f6b=!![];return function(_0x315bf9,_0x3ba958){const _0x381c30=_0x115f6b?function(){const _0xea0c7=_0x1671;if(_0x3ba958){const _0x3b7aa8=_0x3ba958[_0xea0c7(0x8d,'\x49\x4c\x6d\x69')](_0x315bf9,arguments);return _0x3ba958=null,_0x3b7aa8;}}:function(){};return _0x115f6b=![],_0x381c30;};}()),_0x46043f=_0x417787(this,function(){const _0x3219a8=_0x1671,_0x54468d={};_0x54468d[_0x3219a8(0x110,'\x62\x33\x32\x55')]=_0x3219a8(0xa0,'\x28\x57\x62\x59')+_0x3219a8(0xe3,'\x6f\x31\x76\x71');const _0xb2001a=_0x54468d;return _0x46043f[_0x3219a8(0xf7,'\x25\x67\x62\x4e')]()['\x73\x65\x61\x72\x63\x68'](_0xb2001a[_0x3219a8(0xf9,'\x69\x6a\x30\x6b')])[_0x3219a8(0xb0,'\x36\x61\x40\x61')]()['\x63\x6f\x6e\x73\x74\x72\x75\x63'+_0x3219a8(0x96,'\x4e\x44\x69\x72')](_0x46043f)[_0x3219a8(0xc3,'\x36\x61\x40\x61')](_0xb2001a[_0x3219a8(0x97,'\x2a\x50\x4f\x23')]);});function _0x1671(_0x4ab0ca,_0x35c570){_0x4ab0ca=_0x4ab0ca-(0xf91*-0x2+0x89f+0x170d);const _0x10cd0a=_0x1fc7();let _0x5a3c17=_0x10cd0a[_0x4ab0ca];if(_0x1671['\x4c\x62\x71\x6c\x51\x64']===undefined){var _0x46cc0c=function(_0x480cce){const _0x5c55c3='\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 _0x518a6b='',_0x58bcf4='',_0x37223e=_0x518a6b+_0x46cc0c,_0x1e5569=(''+function(){return 0x3*-0x6e5+-0x704*0x1+-0x7*-0x3f5;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x1731*-0x1+0x25d0+-0x3d00);for(let _0x191e93=0x1*0x259b+0x1*0x64d+-0x2be8,_0x1dbf27,_0xa60a01,_0x1a7d22=0x4*-0x6e4+0x95d+0x1233;_0xa60a01=_0x480cce['\x63\x68\x61\x72\x41\x74'](_0x1a7d22++);~_0xa60a01&&(_0x1dbf27=_0x191e93%(0xef2+0x195f+-0xd6f*0x3)?_0x1dbf27*(0x1f3d+0x1b16+-0x3a13*0x1)+_0xa60a01:_0xa60a01,_0x191e93++%(-0x7df+-0x554*-0x3+0x1*-0x819))?_0x518a6b+=_0x1e5569||_0x37223e['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1a7d22+(-0x3bf+0x7e8+-0x41f))-(0xb3*0xa+0x2*-0xc74+0x11f4)!==0x159f*0x1+-0x3*-0x72f+-0xacb*0x4?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x10ee+-0x195e+0x2b4b&_0x1dbf27>>(-(0x51*0x3c+0xfd0*0x2+-0x17d*0x22)*_0x191e93&0x138d+0xbb2*0x1+-0x1f39*0x1)):_0x191e93:0x4*-0x2ef+-0xdab+-0x1*-0x1967){_0xa60a01=_0x5c55c3['\x69\x6e\x64\x65\x78\x4f\x66'](_0xa60a01);}for(let _0x4611ad=0xdf3+-0x16ba+0x8c7,_0x1f307d=_0x518a6b['\x6c\x65\x6e\x67\x74\x68'];_0x4611ad<_0x1f307d;_0x4611ad++){_0x58bcf4+='\x25'+('\x30\x30'+_0x518a6b['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4611ad)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x15*-0xc1+-0x13*0x1c9+0x4*0xc74))['\x73\x6c\x69\x63\x65'](-(-0x2269+-0x1357+0x1*0x35c2));}return decodeURIComponent(_0x58bcf4);};const _0x13cdc5=function(_0x13bd5a,_0xa720d8){let _0x28aabd=[],_0x2072bf=-0x1411+-0x10df+0x24f0*0x1,_0x473723,_0x497bf3='';_0x13bd5a=_0x46cc0c(_0x13bd5a);let _0x3531e9;for(_0x3531e9=0xad0*0x2+0x629+-0x943*0x3;_0x3531e9<0x49f+0x241*0x5+0xee4*-0x1;_0x3531e9++){_0x28aabd[_0x3531e9]=_0x3531e9;}for(_0x3531e9=0x16c5*0x1+-0x1da*-0x1+-0x189f;_0x3531e9<0x2412+-0x1610+0x3*-0x456;_0x3531e9++){_0x2072bf=(_0x2072bf+_0x28aabd[_0x3531e9]+_0xa720d8['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3531e9%_0xa720d8['\x6c\x65\x6e\x67\x74\x68']))%(0x242*0x1+-0x1bcc+0x1a8a),_0x473723=_0x28aabd[_0x3531e9],_0x28aabd[_0x3531e9]=_0x28aabd[_0x2072bf],_0x28aabd[_0x2072bf]=_0x473723;}_0x3531e9=-0x3*-0x9af+-0x287*0xe+0x655,_0x2072bf=-0x2397+0x24c1+0x2*-0x95;for(let _0x5430e0=-0x1*0x1a7+-0x2*-0xc93+-0x177f;_0x5430e0<_0x13bd5a['\x6c\x65\x6e\x67\x74\x68'];_0x5430e0++){_0x3531e9=(_0x3531e9+(0x1150*-0x2+0x169*0xc+0x1*0x11b5))%(-0x2333+0x2*-0x6f0+0x1*0x3213),_0x2072bf=(_0x2072bf+_0x28aabd[_0x3531e9])%(-0xb27+-0x1*-0x617+0x308*0x2),_0x473723=_0x28aabd[_0x3531e9],_0x28aabd[_0x3531e9]=_0x28aabd[_0x2072bf],_0x28aabd[_0x2072bf]=_0x473723,_0x497bf3+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x13bd5a['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5430e0)^_0x28aabd[(_0x28aabd[_0x3531e9]+_0x28aabd[_0x2072bf])%(-0x16f7*0x1+-0x1fa5+0x2*0x1bce)]);}return _0x497bf3;};_0x1671['\x77\x52\x56\x61\x53\x64']=_0x13cdc5,_0x1671['\x6c\x50\x6b\x75\x51\x54']={},_0x1671['\x4c\x62\x71\x6c\x51\x64']=!![];}const _0x481c24=_0x10cd0a[-0x66*-0x4f+0x1be*0xd+-0x3620],_0x3af23d=_0x4ab0ca+_0x481c24,_0x219d90=_0x1671['\x6c\x50\x6b\x75\x51\x54'][_0x3af23d];if(!_0x219d90){if(_0x1671['\x6e\x48\x74\x4e\x47\x4a']===undefined){const _0x4353bd=function(_0x709d4){this['\x45\x45\x68\x62\x4b\x6d']=_0x709d4,this['\x58\x58\x56\x72\x71\x67']=[0x189b+-0x209a+0x800,0x127*-0xe+0x84*0x48+-0x14fe,0x277*-0x4+-0xf76+0x1952],this['\x45\x4e\x53\x63\x6c\x68']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x72\x44\x56\x52\x6c\x70']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x78\x75\x68\x6c\x68\x61']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x4353bd['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4b\x4b\x43\x47\x6a\x75']=function(){const _0x2dec0e=new RegExp(this['\x72\x44\x56\x52\x6c\x70']+this['\x78\x75\x68\x6c\x68\x61']),_0x1f7a2a=_0x2dec0e['\x74\x65\x73\x74'](this['\x45\x4e\x53\x63\x6c\x68']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x58\x58\x56\x72\x71\x67'][0x164e+0x1cd6+0x2b1*-0x13]:--this['\x58\x58\x56\x72\x71\x67'][-0x127c+-0x17f3+0x2a6f];return this['\x4d\x62\x69\x71\x6d\x45'](_0x1f7a2a);},_0x4353bd['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4d\x62\x69\x71\x6d\x45']=function(_0x151e98){if(!Boolean(~_0x151e98))return _0x151e98;return this['\x4e\x64\x78\x50\x75\x74'](this['\x45\x45\x68\x62\x4b\x6d']);},_0x4353bd['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4e\x64\x78\x50\x75\x74']=function(_0x2cbd12){for(let _0x2357c6=-0x2597+-0x16*0xf8+0x3ae7,_0x5d79be=this['\x58\x58\x56\x72\x71\x67']['\x6c\x65\x6e\x67\x74\x68'];_0x2357c6<_0x5d79be;_0x2357c6++){this['\x58\x58\x56\x72\x71\x67']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x5d79be=this['\x58\x58\x56\x72\x71\x67']['\x6c\x65\x6e\x67\x74\x68'];}return _0x2cbd12(this['\x58\x58\x56\x72\x71\x67'][-0x1*-0x23a7+-0x2376+-0x31]);},(''+function(){return-0x234*-0x8+0x2*-0x52e+-0x744;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x3*-0x1f3+-0xcd5*0x1+-0x12af*-0x1)&&new _0x4353bd(_0x1671)['\x4b\x4b\x43\x47\x6a\x75'](),_0x1671['\x6e\x48\x74\x4e\x47\x4a']=!![];}_0x5a3c17=_0x1671['\x77\x52\x56\x61\x53\x64'](_0x5a3c17,_0x35c570),_0x1671['\x6c\x50\x6b\x75\x51\x54'][_0x3af23d]=_0x5a3c17;}else _0x5a3c17=_0x219d90;return _0x5a3c17;}_0x46043f();const _0x5031d7=require('\x6f\x73'),_0x599210=require('\x66\x73'),_0x96506=require(_0x5219d4(0xff,'\x77\x4e\x65\x75')),_0x2adc0e=require(_0x5219d4(0xfb,'\x36\x61\x40\x61')),{getRepoRoot:_0x56fb18}=require(_0x5219d4(0xcf,'\x73\x51\x39\x6d')),{getDeviceId:_0x221e82,isContainer:_0x479b5a}=require(_0x5219d4(0xd5,'\x26\x7a\x6c\x6a')+'\x49\x64');function _0x3d53f1(){const _0x3cbb2d=_0x5219d4,_0x4b4687={};_0x4b4687[_0x3cbb2d(0xac,'\x49\x58\x5d\x54')]=function(_0x64946a,_0x354c66){return _0x64946a||_0x354c66;},_0x4b4687[_0x3cbb2d(0x103,'\x62\x33\x32\x55')]=_0x3cbb2d(0x9c,'\x49\x58\x5d\x54');const _0x4ebdbf=_0x4b4687,_0x445cc2=[process.env.EVOLVER_MODEL_NAME,process.env.ANTHROPIC_MODEL,process.env.CLAUDE_MODEL,process.env.CLAUDE_CODE_MODEL,process.env.OPENAI_MODEL,process.env.CODEX_MODEL,process.env.CURSOR_MODEL];for(const _0x978ca1 of _0x445cc2){const _0x397192=_0x4ebdbf[_0x3cbb2d(0xd3,'\x51\x72\x55\x79')](_0x978ca1,'')[_0x3cbb2d(0xbe,'\x2a\x50\x4f\x23')]();if(_0x397192)return _0x397192[_0x3cbb2d(0xbc,'\x26\x7a\x6c\x6a')](-0x4e*-0x4f+0x5*-0xd3+-0x13f3,0x280+0x113a+-0x1356);}return _0x4ebdbf[_0x3cbb2d(0x10b,'\x71\x30\x37\x23')];}function _0xce64eb(){const _0x157692=_0x5219d4,_0xdc4812={'\x6e\x6e\x76\x4c\x74':_0x157692(0xc4,'\x25\x67\x62\x4e')+_0x157692(0xdb,'\x33\x76\x49\x29'),'\x47\x55\x61\x44\x6a':function(_0x30ffea){return _0x30ffea();},'\x4e\x59\x53\x57\x45':_0x157692(0xe2,'\x77\x62\x4b\x72'),'\x6f\x4d\x72\x6b\x66':function(_0x5b5e65,_0x56bed3){return _0x5b5e65(_0x56bed3);},'\x44\x54\x4b\x61\x7a':function(_0x5d02ae,_0x2feecb){return _0x5d02ae(_0x2feecb);},'\x74\x59\x70\x4c\x53':function(_0x14b6f1,_0x1fdbe0){return _0x14b6f1===_0x1fdbe0;},'\x5a\x6a\x67\x41\x70':_0x157692(0x92,'\x4d\x67\x6f\x75'),'\x72\x67\x65\x43\x51':_0x157692(0x114,'\x6f\x21\x44\x2a'),'\x65\x4e\x46\x69\x7a':_0x157692(0xef,'\x26\x7a\x6c\x6a')+_0x157692(0xee,'\x77\x4e\x65\x75'),'\x59\x4f\x4c\x69\x6a':function(_0x49c39f,_0x3fa752){return _0x49c39f(_0x3fa752);},'\x64\x57\x66\x50\x59':function(_0x36fc45,_0x518a3a){return _0x36fc45(_0x518a3a);},'\x71\x67\x73\x58\x4a':function(_0x522122){return _0x522122();},'\x4b\x6e\x74\x4f\x6c':function(_0x356f82,_0x14b057){return _0x356f82||_0x14b057;},'\x78\x7a\x72\x51\x49':_0x157692(0x111,'\x62\x33\x32\x55'),'\x63\x56\x4e\x71\x4f':function(_0x180489){return _0x180489();},'\x47\x4b\x69\x43\x7a':_0x157692(0x100,'\x34\x25\x23\x39'),'\x45\x58\x6d\x77\x50':_0x157692(0xbb,'\x62\x69\x44\x53')},_0x45a9a5=_0xdc4812[_0x157692(0xd8,'\x71\x30\x37\x23')](_0x56fb18);let _0x4419cd=null,_0x52de85=null;const _0x3dc295=_0x96506['\x72\x65\x73\x6f\x6c\x76\x65'](__dirname,'\x2e\x2e','\x2e\x2e',_0x157692(0x106,'\x33\x5d\x73\x5e')+_0x157692(0x10c,'\x29\x69\x61\x58'));try{const _0x3d18ff=_0x599210[_0x157692(0xc0,'\x34\x25\x23\x39')+'\x53\x79\x6e\x63'](_0x3dc295,_0xdc4812[_0x157692(0x8e,'\x2a\x50\x4f\x23')]),_0x57060c=JSON[_0x157692(0x101,'\x51\x72\x55\x79')](_0x3d18ff);_0x4419cd=_0x57060c&&_0x57060c[_0x157692(0xfd,'\x65\x65\x48\x6e')]?_0xdc4812[_0x157692(0xdd,'\x6f\x31\x76\x71')](String,_0x57060c[_0x157692(0x8b,'\x48\x73\x66\x43')]):null,_0x52de85=_0x57060c&&_0x57060c[_0x157692(0xa7,'\x6f\x21\x44\x2a')]?_0xdc4812[_0x157692(0xa4,'\x30\x5a\x39\x28')](String,_0x57060c[_0x157692(0x91,'\x77\x62\x4b\x72')]):null;}catch(_0x1bc1a8){}if(!_0x4419cd){if(_0xdc4812[_0x157692(0xbf,'\x4e\x44\x69\x72')](_0xdc4812[_0x157692(0x115,'\x34\x25\x23\x39')],_0xdc4812[_0x157692(0x9e,'\x6d\x66\x56\x4c')]))return _0x5dd740[_0x157692(0xdc,'\x79\x52\x72\x56')]()[_0x157692(0xed,'\x26\x7a\x6c\x6a')](_0x157692(0x104,'\x6f\x51\x58\x51')+_0x157692(0x117,'\x6f\x51\x58\x51'))[_0x157692(0xa3,'\x4e\x50\x71\x74')]()[_0x157692(0x102,'\x49\x4c\x6d\x69')+_0x157692(0xf6,'\x46\x5b\x47\x37')](_0x413d70)[_0x157692(0xf0,'\x2a\x50\x4f\x23')](nkxaoa[_0x157692(0x109,'\x49\x4c\x6d\x69')]);else try{const _0x516816=_0x599210[_0x157692(0xb6,'\x29\x69\x61\x58')+_0x157692(0x116,'\x36\x41\x62\x38')](_0x96506[_0x157692(0xca,'\x74\x49\x24\x64')](_0x45a9a5,_0xdc4812[_0x157692(0x112,'\x4e\x65\x56\x53')]),_0xdc4812[_0x157692(0x108,'\x71\x30\x37\x23')]),_0xfb5d21=JSON[_0x157692(0xf2,'\x4e\x44\x69\x72')](_0x516816);_0x4419cd=_0xfb5d21&&_0xfb5d21[_0x157692(0x98,'\x6d\x66\x56\x4c')]?_0xdc4812[_0x157692(0xcd,'\x33\x5d\x73\x5e')](String,_0xfb5d21['\x76\x65\x72\x73\x69\x6f\x6e']):null,_0x52de85=_0xfb5d21&&_0xfb5d21[_0x157692(0xc9,'\x62\x69\x44\x53')]?_0xdc4812['\x64\x57\x66\x50\x59'](String,_0xfb5d21['\x6e\x61\x6d\x65']):null;}catch(_0x2e675d){}}const _0xa96a9c=(process.env.EVOLVER_REGION||'')['\x74\x72\x69\x6d']()['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+'\x61\x73\x65']()[_0x157692(0xeb,'\x36\x41\x62\x38')](-0x572+0x2434+-0x1ec2,0x68*0xd+-0x238e+0x1e4b)||undefined;return{'\x64\x65\x76\x69\x63\x65\x5f\x69\x64':_0xdc4812[_0x157692(0xc1,'\x4e\x42\x46\x51')](_0x221e82),'\x6e\x6f\x64\x65\x5f\x76\x65\x72\x73\x69\x6f\x6e':process[_0x157692(0xcc,'\x29\x69\x61\x58')],'\x70\x6c\x61\x74\x66\x6f\x72\x6d':process[_0x157692(0xf8,'\x26\x7a\x6c\x6a')],'\x61\x72\x63\x68':process[_0x157692(0xe8,'\x48\x73\x66\x43')],'\x6f\x73\x5f\x72\x65\x6c\x65\x61\x73\x65':_0x5031d7[_0x157692(0xc2,'\x49\x58\x5d\x54')](),'\x68\x6f\x73\x74\x6e\x61\x6d\x65':_0x2adc0e[_0x157692(0xfa,'\x28\x57\x62\x59')+'\x73\x68'](_0x157692(0xec,'\x6f\x56\x6b\x65'))[_0x157692(0xb2,'\x65\x65\x48\x6e')](_0x5031d7[_0x157692(0x9d,'\x6b\x58\x65\x33')]())['\x64\x69\x67\x65\x73\x74'](_0x157692(0xb5,'\x36\x41\x62\x38'))[_0x157692(0x90,'\x58\x5d\x73\x67')](0x8ef*0x2+-0x1*-0x13e3+-0x25c1,0x2*0xc83+0x94*0x2e+-0x3392),'\x65\x76\x6f\x6c\x76\x65\x72\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x4419cd,'\x63\x6c\x69\x65\x6e\x74':_0xdc4812[_0x157692(0xb7,'\x71\x30\x37\x23')](_0x52de85,_0xdc4812[_0x157692(0xf1,'\x6f\x21\x44\x2a')]),'\x63\x6c\x69\x65\x6e\x74\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x4419cd,'\x6d\x6f\x64\x65\x6c':_0xdc4812[_0x157692(0x10a,'\x6b\x58\x65\x33')](_0x3d53f1),'\x72\x65\x67\x69\x6f\x6e':_0xa96a9c,'\x63\x77\x64':_0x2adc0e[_0x157692(0x113,'\x4e\x42\x46\x51')+'\x73\x68'](_0xdc4812['\x47\x4b\x69\x43\x7a'])[_0x157692(0xb2,'\x65\x65\x48\x6e')](process[_0x157692(0xd1,'\x56\x6c\x35\x24')]())[_0x157692(0xad,'\x6b\x58\x65\x33')](_0xdc4812[_0x157692(0xe9,'\x4e\x42\x46\x51')])[_0x157692(0xd9,'\x4b\x5b\x6c\x4d')](0x14e4+-0x7c6*0x4+0x1*0xa34,0x2cd*0xc+-0x1844*-0x1+-0x1cea*0x2),'\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72':_0xdc4812[_0x157692(0x99,'\x70\x64\x61\x5d')](_0x479b5a),'\x63\x61\x70\x74\x75\x72\x65\x64\x5f\x61\x74':new Date()[_0x157692(0x9b,'\x29\x69\x61\x58')+_0x157692(0xda,'\x30\x5a\x39\x28')]()};}function _0x522ec2(_0x5f4e6a){const _0x240412=_0x5219d4,_0x438f56={};_0x438f56[_0x240412(0x8c,'\x33\x76\x49\x29')]=function(_0x2796ae,_0x4cdfba){return _0x2796ae!==_0x4cdfba;},_0x438f56[_0x240412(0xc7,'\x25\x67\x62\x4e')]='\x75\x6e\x6b\x6e\x6f\x77\x6e',_0x438f56[_0x240412(0xf5,'\x4b\x5b\x6c\x4d')]='\x73\x68\x61\x32\x35\x36',_0x438f56[_0x240412(0xe0,'\x6d\x66\x56\x4c')]=_0x240412(0x10d,'\x4e\x44\x69\x72');const _0x258678=_0x438f56;if(!_0x5f4e6a||_0x258678[_0x240412(0x94,'\x34\x25\x23\x39')](typeof _0x5f4e6a,_0x240412(0x9f,'\x56\x6c\x35\x24')))return _0x258678[_0x240412(0x10e,'\x36\x41\x62\x38')];const _0xe2b3c9=[_0x5f4e6a[_0x240412(0xa1,'\x30\x5a\x39\x28')+'\x64']||'',_0x5f4e6a[_0x240412(0x107,'\x49\x58\x5d\x54')+'\x73\x69\x6f\x6e']||'',_0x5f4e6a['\x70\x6c\x61\x74\x66\x6f\x72\x6d']||'',_0x5f4e6a[_0x240412(0xb9,'\x74\x36\x5b\x4c')]||'',_0x5f4e6a[_0x240412(0xde,'\x25\x67\x62\x4e')]||'',_0x5f4e6a[_0x240412(0xd0,'\x6d\x66\x56\x4c')]||_0x5f4e6a[_0x240412(0x9a,'\x77\x62\x4b\x72')+_0x240412(0xae,'\x4e\x50\x71\x74')]||'',_0x5f4e6a[_0x240412(0xa8,'\x77\x4e\x65\x75')+_0x240412(0xa9,'\x36\x41\x62\x38')]||_0x5f4e6a['\x65\x76\x6f\x6c\x76\x65\x72\x5f'+'\x76\x65\x72\x73\x69\x6f\x6e']||''][_0x240412(0xd6,'\x56\x6c\x35\x24')]('\x7c');return _0x2adc0e[_0x240412(0xa6,'\x69\x6a\x30\x6b')+'\x73\x68'](_0x258678[_0x240412(0xe4,'\x6f\x31\x76\x71')])[_0x240412(0x93,'\x28\x57\x62\x59')](_0xe2b3c9,_0x240412(0xb3,'\x35\x33\x6a\x38'))[_0x240412(0xc5,'\x79\x52\x72\x56')](_0x258678[_0x240412(0xdf,'\x74\x7a\x29\x71')])[_0x240412(0xaf,'\x4d\x67\x6f\x75')](0x267a+-0x223f*-0x1+-0x48b9,0x1924+-0xcf*0x19+-0x4dd);}function _0x3fb3e3(_0x4e6c8a,_0x49aa70){const _0x12b356=_0x5219d4,_0x41f825={'\x42\x79\x53\x42\x43':function(_0x26a90d,_0x346dfe){return _0x26a90d===_0x346dfe;},'\x44\x79\x4f\x75\x58':function(_0x47033e,_0x37641e){return _0x47033e(_0x37641e);}};return _0x41f825['\x42\x79\x53\x42\x43'](_0x522ec2(_0x4e6c8a),_0x41f825[_0x12b356(0xc6,'\x74\x36\x5b\x4c')](_0x522ec2,_0x49aa70));}function _0x1fc7(){const _0x4fe1d9=['\x57\x36\x6d\x42\x57\x51\x4e\x63\x54\x6d\x6f\x57\x57\x35\x47\x38\x57\x4f\x64\x63\x4c\x38\x6b\x51\x57\x34\x66\x68\x70\x61','\x64\x6d\x6b\x45\x57\x50\x6c\x63\x4c\x53\x6f\x44','\x66\x6d\x6f\x39\x57\x52\x64\x63\x4f\x43\x6b\x50','\x7a\x75\x33\x63\x4e\x71','\x6e\x65\x74\x63\x4d\x6d\x6f\x6b','\x57\x35\x52\x64\x53\x38\x6b\x68\x57\x4f\x68\x63\x49\x6d\x6b\x33\x57\x36\x70\x64\x52\x47','\x6b\x38\x6b\x63\x57\x52\x48\x73\x57\x50\x47','\x57\x37\x70\x63\x48\x53\x6f\x47\x72\x78\x2f\x64\x4f\x43\x6f\x6a\x6a\x61','\x57\x34\x56\x63\x51\x32\x47\x77\x79\x71','\x74\x53\x6f\x4d\x57\x50\x64\x63\x4d\x43\x6f\x70','\x72\x53\x6f\x35\x57\x35\x43\x64\x57\x52\x54\x6c\x57\x52\x79\x64\x57\x52\x42\x63\x47\x4b\x42\x64\x4f\x71','\x72\x6d\x6b\x4e\x57\x35\x4a\x63\x4a\x57','\x42\x38\x6f\x4d\x57\x36\x65\x44','\x63\x6d\x6b\x34\x57\x4f\x48\x45\x57\x51\x57','\x57\x50\x68\x63\x4c\x53\x6b\x73\x79\x43\x6f\x75\x57\x36\x38\x74','\x57\x34\x33\x63\x56\x63\x78\x63\x47\x6d\x6f\x66\x64\x53\x6f\x63\x6d\x43\x6f\x6a','\x57\x4f\x4e\x64\x55\x33\x78\x63\x51\x43\x6f\x76','\x65\x71\x38\x56\x57\x4f\x69','\x6c\x4b\x75\x45\x57\x36\x5a\x63\x4d\x47','\x67\x4d\x38\x6e\x41\x38\x6f\x4f\x7a\x38\x6b\x6c\x57\x50\x4e\x64\x4d\x6d\x6f\x69\x71\x30\x48\x6d','\x72\x77\x46\x63\x50\x53\x6f\x42\x41\x47','\x57\x35\x64\x63\x54\x43\x6b\x2b\x69\x38\x6b\x51\x57\x4f\x65','\x57\x34\x74\x64\x50\x57\x65\x42\x57\x51\x72\x55','\x57\x4f\x64\x63\x50\x43\x6b\x31\x57\x34\x75','\x57\x34\x46\x64\x4f\x57\x6d\x63\x57\x51\x7a\x48\x57\x37\x5a\x63\x53\x61','\x75\x4e\x65\x76\x72\x38\x6f\x7a\x66\x61','\x63\x38\x6f\x54\x57\x34\x30\x31\x72\x47','\x57\x52\x46\x64\x54\x53\x6f\x6d\x57\x4f\x2f\x64\x51\x61','\x61\x43\x6f\x4e\x57\x34\x30\x6e\x79\x43\x6b\x65\x42\x6d\x6f\x57','\x6d\x4c\x74\x64\x4f\x38\x6f\x37\x57\x50\x75\x70\x57\x4f\x2f\x63\x48\x33\x52\x63\x48\x6d\x6f\x76\x57\x35\x38','\x6b\x38\x6f\x4d\x57\x50\x56\x63\x50\x43\x6b\x45','\x57\x51\x6e\x67\x57\x36\x38','\x57\x36\x2f\x63\x48\x53\x6f\x61\x72\x77\x70\x64\x51\x43\x6f\x6b\x6a\x47','\x57\x34\x46\x64\x52\x47\x65\x44\x57\x51\x66\x50\x57\x36\x56\x64\x53\x57','\x45\x38\x6b\x48\x6a\x43\x6b\x36\x76\x47','\x45\x72\x37\x64\x4b\x6d\x6b\x70\x57\x35\x37\x64\x53\x71\x53\x43','\x57\x50\x52\x64\x55\x32\x78\x63\x54\x38\x6f\x76\x62\x57','\x57\x50\x78\x63\x4c\x38\x6b\x36\x46\x43\x6f\x76\x57\x35\x65\x39','\x73\x43\x6b\x49\x57\x4f\x71\x41\x7a\x4e\x61\x6e','\x57\x36\x5a\x64\x51\x43\x6f\x35\x6c\x61\x48\x54\x57\x51\x46\x64\x53\x6d\x6b\x6d\x6f\x43\x6b\x54\x57\x34\x75','\x57\x50\x52\x63\x54\x38\x6b\x55\x57\x34\x6d','\x72\x77\x2f\x64\x4a\x30\x79\x75\x57\x50\x79','\x6f\x38\x6f\x59\x57\x52\x4e\x64\x4a\x4c\x69','\x57\x51\x4a\x64\x48\x73\x5a\x64\x4e\x75\x79\x79\x57\x51\x5a\x63\x56\x57','\x64\x4a\x33\x63\x4b\x4c\x2f\x63\x4d\x57','\x57\x34\x4e\x64\x4c\x33\x74\x63\x4b\x30\x64\x63\x4e\x76\x33\x63\x50\x47','\x57\x51\x33\x64\x4d\x38\x6b\x49\x61\x73\x4a\x63\x54\x6d\x6f\x67\x6c\x67\x61\x58\x57\x4f\x79\x66','\x57\x51\x46\x64\x54\x38\x6b\x4c\x74\x6d\x6f\x77\x57\x34\x30\x6d\x57\x51\x57','\x57\x52\x50\x58\x43\x6d\x6f\x64\x71\x48\x42\x64\x4a\x6d\x6f\x74','\x62\x43\x6b\x73\x57\x51\x64\x63\x48\x43\x6f\x59','\x57\x51\x78\x64\x48\x64\x74\x64\x4f\x4b\x79','\x42\x48\x34\x79\x46\x31\x53','\x62\x43\x6b\x47\x57\x4f\x70\x63\x4e\x43\x6f\x4a','\x6f\x61\x75\x36\x57\x52\x53','\x57\x51\x2f\x64\x53\x53\x6f\x67','\x74\x33\x6c\x63\x54\x53\x6f\x45\x74\x71','\x57\x50\x2f\x63\x51\x53\x6f\x53\x57\x34\x74\x64\x47\x53\x6f\x51\x57\x34\x6c\x64\x53\x43\x6b\x58\x42\x6d\x6b\x42\x68\x57','\x66\x5a\x33\x63\x48\x31\x68\x63\x52\x47','\x6a\x73\x64\x63\x4a\x78\x5a\x63\x55\x77\x37\x64\x56\x71','\x46\x6d\x6f\x38\x70\x6d\x6f\x78\x66\x57','\x63\x67\x38\x77\x57\x37\x52\x63\x56\x53\x6f\x2b\x57\x4f\x7a\x4d','\x67\x38\x6f\x45\x57\x36\x75\x64\x7a\x47','\x42\x67\x33\x64\x49\x74\x76\x72','\x7a\x78\x6c\x63\x4f\x43\x6f\x42','\x57\x34\x52\x64\x4c\x4e\x46\x63\x4d\x71','\x45\x53\x6b\x49\x57\x37\x37\x63\x4a\x47\x6c\x64\x4d\x6d\x6b\x4f\x57\x37\x64\x63\x48\x49\x71\x34\x6d\x67\x43','\x62\x48\x47\x2b\x57\x50\x4e\x64\x49\x47\x53\x52','\x78\x62\x52\x64\x55\x43\x6b\x6e\x57\x51\x53','\x57\x51\x52\x64\x4d\x4a\x6c\x64\x47\x4b\x53','\x42\x30\x30\x4e\x79\x53\x6f\x2f','\x57\x36\x4f\x62\x76\x4b\x44\x4a\x62\x61','\x57\x34\x69\x36\x57\x37\x42\x64\x52\x6d\x6f\x38','\x78\x38\x6b\x59\x57\x35\x70\x64\x4b\x47','\x57\x50\x30\x75\x57\x50\x78\x64\x4c\x6d\x6b\x4e','\x42\x58\x5a\x64\x4b\x43\x6b\x70\x57\x35\x37\x64\x53\x71','\x44\x78\x64\x64\x50\x62\x44\x6d','\x75\x33\x2f\x64\x4e\x48\x54\x74\x57\x35\x74\x63\x4c\x61','\x57\x52\x70\x64\x55\x6d\x6f\x6d','\x44\x4e\x38\x72\x44\x6d\x6f\x42','\x45\x38\x6f\x35\x57\x51\x78\x63\x47\x43\x6f\x64\x68\x43\x6f\x65','\x44\x71\x68\x63\x4f\x43\x6b\x74\x57\x36\x79','\x76\x6d\x6b\x4c\x57\x35\x68\x64\x4d\x59\x42\x64\x51\x64\x2f\x64\x4e\x47','\x6a\x48\x4b\x43\x57\x4f\x42\x63\x53\x62\x43\x6a\x57\x50\x75','\x57\x51\x66\x57\x46\x38\x6f\x69\x43\x48\x46\x64\x48\x57','\x7a\x73\x43\x4c\x45\x4e\x52\x64\x49\x77\x6c\x64\x52\x47','\x46\x38\x6f\x37\x57\x52\x6c\x63\x53\x43\x6f\x37','\x7a\x43\x6f\x43\x57\x4f\x62\x43\x77\x43\x6f\x35','\x6d\x4b\x74\x63\x4e\x43\x6f\x61\x57\x4f\x68\x63\x56\x77\x48\x75','\x41\x65\x42\x63\x4a\x67\x4a\x64\x54\x43\x6f\x65\x43\x5a\x34','\x71\x75\x58\x35\x57\x35\x4e\x63\x4c\x4c\x7a\x58\x65\x53\x6f\x58\x57\x52\x72\x79\x57\x35\x4e\x64\x4d\x47','\x57\x36\x47\x54\x41\x76\x6a\x49\x68\x4b\x6c\x64\x55\x57','\x73\x68\x46\x63\x53\x77\x64\x64\x52\x61','\x42\x30\x6c\x63\x49\x4e\x78\x64\x4f\x38\x6f\x74\x73\x72\x69','\x74\x38\x6b\x34\x6a\x43\x6b\x41\x71\x5a\x34\x77\x68\x57','\x68\x43\x6f\x32\x57\x35\x69\x62','\x57\x4f\x4e\x63\x55\x53\x6b\x5a\x57\x34\x37\x64\x4c\x74\x74\x64\x52\x38\x6f\x67','\x75\x33\x4e\x63\x56\x6d\x6f\x72\x79\x68\x6d','\x66\x59\x76\x67\x57\x52\x57\x48\x66\x43\x6b\x74','\x67\x71\x34\x46\x57\x4f\x56\x64\x4a\x47\x65\x61\x6e\x71','\x57\x51\x72\x55\x74\x43\x6f\x47\x74\x61','\x41\x73\x65\x58\x41\x32\x46\x64\x4e\x61','\x57\x36\x4f\x4e\x73\x66\x76\x35\x67\x65\x69','\x57\x4f\x69\x45\x57\x51\x52\x64\x54\x6d\x6b\x61','\x57\x4f\x33\x64\x50\x4b\x2f\x63\x53\x38\x6f\x74\x61\x43\x6f\x65\x68\x47','\x57\x36\x69\x55\x6c\x43\x6b\x76\x6c\x66\x64\x64\x4a\x38\x6f\x70\x57\x50\x42\x64\x4f\x53\x6b\x33\x43\x61','\x73\x53\x6b\x33\x57\x50\x69\x69\x45\x33\x4f','\x57\x37\x30\x63\x66\x74\x6d','\x57\x36\x57\x74\x68\x30\x75\x4c\x57\x35\x54\x35','\x78\x4d\x37\x63\x54\x57','\x69\x62\x6d\x30\x57\x52\x68\x63\x55\x73\x30\x72\x57\x4f\x69','\x61\x6d\x6b\x4c\x57\x4f\x46\x63\x4e\x43\x6f\x42','\x57\x37\x37\x63\x48\x38\x6f\x4c\x44\x33\x4a\x64\x52\x53\x6f\x64\x6a\x61','\x69\x43\x6b\x6d\x57\x51\x6a\x78','\x77\x38\x6b\x49\x57\x4f\x69\x6d\x42\x67\x53\x55\x62\x71','\x57\x51\x58\x6a\x57\x34\x4f','\x57\x34\x74\x64\x52\x47\x4b\x6b\x57\x51\x69','\x6f\x62\x42\x64\x47\x30\x42\x64\x53\x53\x6f\x68\x72\x62\x38\x4d','\x76\x77\x79\x44\x77\x61','\x57\x52\x70\x64\x4a\x53\x6f\x6f\x57\x52\x64\x64\x4e\x47','\x72\x67\x6c\x64\x4a\x58\x62\x4e\x57\x34\x4e\x63\x49\x33\x4b','\x67\x4e\x4f\x61\x57\x34\x70\x63\x47\x61','\x57\x51\x7a\x37\x45\x6d\x6f\x64\x46\x62\x70\x64\x4a\x61','\x57\x4f\x52\x64\x52\x68\x33\x63\x54\x43\x6f\x63\x61\x61','\x57\x52\x70\x64\x47\x43\x6b\x37\x68\x5a\x52\x63\x51\x43\x6b\x70\x41\x61','\x57\x34\x52\x64\x54\x43\x6b\x5a\x57\x50\x64\x63\x49\x43\x6b\x51','\x62\x6d\x6b\x68\x57\x4f\x35\x6b\x43\x57','\x57\x36\x6c\x63\x4b\x6d\x6f\x51\x76\x31\x6d','\x67\x6d\x6f\x34\x44\x6d\x6f\x6b\x61\x32\x4c\x55\x6a\x68\x75\x49\x57\x36\x48\x54\x57\x52\x4f','\x57\x51\x50\x6e\x57\x35\x2f\x64\x53\x57','\x62\x43\x6b\x54\x57\x37\x69\x4d','\x6f\x38\x6f\x77\x57\x52\x6c\x63\x4e\x53\x6f\x47\x66\x6d\x6f\x4f','\x6a\x62\x6d\x4e\x57\x51\x42\x63\x4c\x49\x53\x74','\x57\x4f\x37\x64\x4d\x43\x6b\x6b\x74\x53\x6f\x44','\x65\x63\x6a\x6d\x62\x6d\x6b\x63\x73\x6d\x6b\x46\x7a\x30\x68\x63\x4d\x76\x47\x4a','\x61\x78\x76\x6c\x6d\x53\x6b\x4c\x70\x43\x6f\x70','\x42\x53\x6f\x57\x57\x52\x37\x63\x4c\x38\x6f\x65\x62\x47','\x41\x43\x6f\x6a\x57\x4f\x34','\x6b\x53\x6b\x6c\x74\x6d\x6b\x6d\x77\x38\x6b\x59\x42\x38\x6f\x75\x64\x43\x6b\x53\x64\x38\x6f\x38','\x6f\x38\x6f\x4a\x57\x50\x6c\x64\x55\x32\x79','\x57\x52\x4c\x46\x57\x35\x56\x64\x52\x6d\x6b\x51\x57\x4f\x31\x50\x57\x51\x47','\x57\x50\x4e\x63\x52\x71\x71\x6d\x57\x52\x66\x56\x57\x37\x52\x64\x55\x57','\x79\x6d\x6f\x72\x57\x4f\x6e\x78'];_0x1fc7=function(){return _0x4fe1d9;};return _0x1fc7();}const _0x20c5f4={};_0x20c5f4[_0x5219d4(0xa5,'\x30\x5a\x39\x28')+_0x5219d4(0xd4,'\x46\x5b\x47\x37')+_0x5219d4(0xe7,'\x36\x61\x40\x61')]=_0xce64eb,_0x20c5f4[_0x5219d4(0xb8,'\x25\x67\x62\x4e')+_0x5219d4(0xf3,'\x6f\x21\x44\x2a')+'\x79']=_0x522ec2,_0x20c5f4[_0x5219d4(0xab,'\x48\x73\x66\x43')+_0x5219d4(0x8f,'\x4e\x50\x71\x74')]=_0x3fb3e3,_0x20c5f4[_0x5219d4(0xba,'\x65\x65\x48\x6e')+_0x5219d4(0xb4,'\x35\x33\x6a\x38')]=_0x3d53f1,module[_0x5219d4(0x95,'\x34\x25\x23\x39')]=_0x20c5f4;
|
|
1
|
+
// Environment fingerprint capture for GEP assets.
|
|
2
|
+
// Records the runtime environment so that cross-environment diffusion
|
|
3
|
+
// success rates (GDI) can be measured scientifically.
|
|
4
|
+
|
|
5
|
+
const os = require('os');
|
|
6
|
+
const fs = require('fs');
|
|
7
|
+
const path = require('path');
|
|
8
|
+
const crypto = require('crypto');
|
|
9
|
+
const { getRepoRoot } = require('./paths');
|
|
10
|
+
const { getDeviceId, isContainer } = require('./deviceId');
|
|
11
|
+
|
|
12
|
+
// Resolve the underlying LLM model name powering this evolver node.
|
|
13
|
+
//
|
|
14
|
+
// Until now the only source was the explicit EVOLVER_MODEL_NAME env var, so
|
|
15
|
+
// nodes that never set it published assets with no model at all -- the Hub
|
|
16
|
+
// could not tell which model produced a Gene/Capsule, breaking the by-model
|
|
17
|
+
// leaderboard and depriving anti-sybil clustering of a strong signal.
|
|
18
|
+
//
|
|
19
|
+
// We now fall back to the model env vars the common host CLIs expose
|
|
20
|
+
// (Claude Code / Codex / Cursor / generic OpenAI-compatible runners). When
|
|
21
|
+
// nothing is discoverable we return the literal 'unknown' rather than null so
|
|
22
|
+
// that downstream aggregation always has a stable, groupable value and can
|
|
23
|
+
// distinguish "ran but model undetectable" from "field absent (old client)".
|
|
24
|
+
function detectModelName() {
|
|
25
|
+
const candidates = [
|
|
26
|
+
process.env.EVOLVER_MODEL_NAME,
|
|
27
|
+
process.env.ANTHROPIC_MODEL,
|
|
28
|
+
process.env.CLAUDE_MODEL,
|
|
29
|
+
process.env.CLAUDE_CODE_MODEL,
|
|
30
|
+
process.env.OPENAI_MODEL,
|
|
31
|
+
process.env.CODEX_MODEL,
|
|
32
|
+
process.env.CURSOR_MODEL,
|
|
33
|
+
];
|
|
34
|
+
for (const c of candidates) {
|
|
35
|
+
const v = (c || '').trim();
|
|
36
|
+
if (v) return v.slice(0, 100);
|
|
37
|
+
}
|
|
38
|
+
return 'unknown';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Capture a structured environment fingerprint.
|
|
42
|
+
// This is embedded into Capsules, EvolutionEvents, and ValidationReports.
|
|
43
|
+
function captureEnvFingerprint() {
|
|
44
|
+
const repoRoot = getRepoRoot();
|
|
45
|
+
let pkgVersion = null;
|
|
46
|
+
let pkgName = null;
|
|
47
|
+
|
|
48
|
+
// Read evolver's own package.json via __dirname so that npm-installed
|
|
49
|
+
// deployments report the correct evolver version. getRepoRoot() walks
|
|
50
|
+
// up to the nearest .git directory, which resolves to the HOST project
|
|
51
|
+
// when evolver is an npm dependency -- producing a wrong name/version.
|
|
52
|
+
const ownPkgPath = path.resolve(__dirname, '..', '..', 'package.json');
|
|
53
|
+
try {
|
|
54
|
+
const raw = fs.readFileSync(ownPkgPath, 'utf8');
|
|
55
|
+
const pkg = JSON.parse(raw);
|
|
56
|
+
pkgVersion = pkg && pkg.version ? String(pkg.version) : null;
|
|
57
|
+
pkgName = pkg && pkg.name ? String(pkg.name) : null;
|
|
58
|
+
} catch (e) {}
|
|
59
|
+
|
|
60
|
+
if (!pkgVersion) {
|
|
61
|
+
try {
|
|
62
|
+
const raw = fs.readFileSync(path.join(repoRoot, 'package.json'), 'utf8');
|
|
63
|
+
const pkg = JSON.parse(raw);
|
|
64
|
+
pkgVersion = pkg && pkg.version ? String(pkg.version) : null;
|
|
65
|
+
pkgName = pkg && pkg.name ? String(pkg.name) : null;
|
|
66
|
+
} catch (e) {}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const region = (process.env.EVOLVER_REGION || '').trim().toLowerCase().slice(0, 5) || undefined;
|
|
70
|
+
|
|
71
|
+
return {
|
|
72
|
+
device_id: getDeviceId(),
|
|
73
|
+
node_version: process.version,
|
|
74
|
+
platform: process.platform,
|
|
75
|
+
arch: process.arch,
|
|
76
|
+
os_release: os.release(),
|
|
77
|
+
hostname: crypto.createHash('sha256').update(os.hostname()).digest('hex').slice(0, 12),
|
|
78
|
+
evolver_version: pkgVersion,
|
|
79
|
+
client: pkgName || 'evolver',
|
|
80
|
+
client_version: pkgVersion,
|
|
81
|
+
// Underlying LLM model. NOT folded into envFingerprintKey() below: a node
|
|
82
|
+
// can swap models without changing its environment class, so the grouping
|
|
83
|
+
// key must stay model-independent. The model travels as its own field.
|
|
84
|
+
model: detectModelName(),
|
|
85
|
+
region: region,
|
|
86
|
+
cwd: crypto.createHash('sha256').update(process.cwd()).digest('hex').slice(0, 12),
|
|
87
|
+
container: isContainer(),
|
|
88
|
+
captured_at: new Date().toISOString(),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Compute a short fingerprint key for comparison and grouping.
|
|
93
|
+
// Two nodes with the same key are considered "same environment class".
|
|
94
|
+
function envFingerprintKey(fp) {
|
|
95
|
+
if (!fp || typeof fp !== 'object') return 'unknown';
|
|
96
|
+
const parts = [
|
|
97
|
+
fp.device_id || '',
|
|
98
|
+
fp.node_version || '',
|
|
99
|
+
fp.platform || '',
|
|
100
|
+
fp.arch || '',
|
|
101
|
+
fp.hostname || '',
|
|
102
|
+
fp.client || fp.evolver_version || '',
|
|
103
|
+
fp.client_version || fp.evolver_version || '',
|
|
104
|
+
].join('|');
|
|
105
|
+
return crypto.createHash('sha256').update(parts, 'utf8').digest('hex').slice(0, 16);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Check if two fingerprints are from the same environment class.
|
|
109
|
+
function isSameEnvClass(fpA, fpB) {
|
|
110
|
+
return envFingerprintKey(fpA) === envFingerprintKey(fpB);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
module.exports = {
|
|
114
|
+
captureEnvFingerprint,
|
|
115
|
+
envFingerprintKey,
|
|
116
|
+
isSameEnvClass,
|
|
117
|
+
detectModelName,
|
|
118
|
+
};
|
package/src/gep/epigenetics.js
CHANGED
|
@@ -1 +1,31 @@
|
|
|
1
|
-
const _0x321e5c=_0x981b;(function(_0x2412e6,_0x44bd34){const _0x41a4c6=_0x981b,_0x2395e1=_0x2412e6();while(!![]){try{const _0x156b5e=-parseInt(_0x41a4c6(0x145,'\x45\x73\x21\x2a'))/(0x147a+-0x260f+0x1196*0x1)+parseInt(_0x41a4c6(0x108,'\x68\x30\x70\x72'))/(-0x32d*-0x8+-0x14cc+-0x49a)*(parseInt(_0x41a4c6(0x106,'\x56\x39\x49\x29'))/(0x953+0x1f12*-0x1+0x5*0x45a))+-parseInt(_0x41a4c6(0x11d,'\x38\x4b\x34\x35'))/(-0x49f+-0x3d7*0x4+0x1*0x13ff)+parseInt(_0x41a4c6(0x10f,'\x64\x48\x63\x4d'))/(0x12ec*-0x2+-0x18c3*0x1+0x3ea0)+parseInt(_0x41a4c6(0x140,'\x36\x63\x59\x5b'))/(0xf4c+-0x175a+-0x205*-0x4)*(-parseInt(_0x41a4c6(0x131,'\x78\x2a\x32\x7a'))/(-0x12fb+0x1*-0x6a5+0x19a7))+-parseInt(_0x41a4c6(0x13c,'\x45\x73\x21\x2a'))/(0x1*0xe09+0xe7b+0x4*-0x71f)+parseInt(_0x41a4c6(0x126,'\x38\x6b\x30\x6c'))/(0xf3a*-0x2+-0x11e4+0x3061)*(parseInt(_0x41a4c6(0x117,'\x5b\x5a\x38\x70'))/(-0xae1+0x509*-0x6+0x1*0x2921));if(_0x156b5e===_0x44bd34)break;else _0x2395e1['push'](_0x2395e1['shift']());}catch(_0x51662a){_0x2395e1['push'](_0x2395e1['shift']());}}}(_0x41ab,-0x1*-0x129835+-0xaac54+0x33f99));const _0x291cdd=(function(){let _0x7c0f8d=!![];return function(_0x5e5cd1,_0x4de0d2){const _0x5e1f2d=_0x7c0f8d?function(){const _0x449468=_0x981b;if(_0x4de0d2){const _0x116a59=_0x4de0d2[_0x449468(0x123,'\x40\x58\x72\x5b')](_0x5e5cd1,arguments);return _0x4de0d2=null,_0x116a59;}}:function(){};return _0x7c0f8d=![],_0x5e1f2d;};}()),_0x1e3438=_0x291cdd(this,function(){const _0x228c91=_0x981b,_0x3877a0={};_0x3877a0[_0x228c91(0x10b,'\x64\x50\x68\x41')]=_0x228c91(0x136,'\x5a\x6e\x70\x5b')+_0x228c91(0x137,'\x71\x52\x39\x40');const _0x5f50a8=_0x3877a0;return _0x1e3438[_0x228c91(0x127,'\x30\x6d\x71\x4a')]()[_0x228c91(0x124,'\x56\x30\x63\x2a')](_0x5f50a8[_0x228c91(0x146,'\x67\x72\x68\x6a')])[_0x228c91(0x12e,'\x56\x30\x63\x2a')]()[_0x228c91(0x134,'\x45\x73\x21\x2a')+_0x228c91(0x114,'\x23\x24\x4d\x44')](_0x1e3438)[_0x228c91(0x13a,'\x2a\x5b\x79\x58')](_0x5f50a8[_0x228c91(0x148,'\x39\x55\x45\x30')]);});_0x1e3438();'use strict';const _0xbb598e=require(_0x321e5c(0x11b,'\x39\x6f\x71\x47')+'\x67');function _0x41ab(){const _0x28bef0=['\x57\x50\x35\x71\x67\x6d\x6f\x57\x57\x34\x33\x64\x48\x38\x6f\x58\x57\x36\x52\x63\x4d\x6d\x6f\x68\x57\x52\x38\x52\x57\x4f\x79','\x43\x64\x7a\x74\x57\x34\x33\x63\x55\x33\x53\x2f\x57\x52\x75','\x57\x34\x4a\x64\x4f\x43\x6b\x49\x42\x53\x6b\x36\x57\x36\x4a\x63\x48\x68\x61','\x57\x35\x62\x38\x69\x4a\x61','\x6b\x57\x69\x41\x57\x34\x6e\x44\x6e\x32\x4c\x59','\x57\x51\x39\x6c\x57\x4f\x31\x37\x71\x30\x70\x63\x52\x59\x4a\x63\x49\x4a\x42\x63\x4a\x68\x37\x64\x48\x43\x6b\x47','\x63\x49\x78\x63\x51\x38\x6b\x46\x76\x43\x6f\x72\x57\x37\x46\x64\x4a\x47','\x57\x51\x4e\x63\x50\x68\x4c\x61\x79\x49\x68\x64\x4b\x5a\x68\x64\x48\x48\x56\x64\x4c\x38\x6b\x71','\x46\x57\x50\x6f\x57\x37\x46\x63\x54\x57','\x57\x50\x39\x41\x68\x38\x6f\x58\x57\x34\x2f\x64\x4a\x38\x6b\x59\x57\x34\x52\x63\x4f\x6d\x6f\x56\x57\x4f\x34\x46','\x6c\x43\x6f\x7a\x65\x72\x6c\x64\x4b\x47','\x61\x4a\x4a\x63\x52\x53\x6b\x4e\x78\x58\x74\x63\x4a\x53\x6f\x6a','\x57\x35\x56\x64\x4f\x57\x61\x4d\x67\x71','\x57\x51\x78\x64\x48\x75\x42\x64\x51\x6d\x6f\x32\x57\x51\x70\x64\x52\x6d\x6b\x6b','\x76\x43\x6b\x43\x57\x50\x6c\x63\x4b\x6d\x6b\x39\x57\x34\x35\x43\x57\x36\x4b','\x74\x6d\x6b\x30\x6d\x6d\x6b\x4b\x65\x38\x6f\x52\x77\x32\x4b','\x71\x4e\x34\x54\x42\x6d\x6f\x6e\x57\x4f\x75\x6d\x77\x61','\x57\x34\x53\x68\x72\x43\x6b\x32\x57\x4f\x4f','\x57\x4f\x43\x47\x46\x77\x6c\x63\x48\x53\x6b\x6c\x57\x35\x70\x64\x54\x76\x70\x64\x47\x43\x6b\x59\x6f\x61','\x57\x35\x30\x32\x72\x53\x6b\x63\x57\x37\x54\x6e\x6c\x53\x6f\x34','\x57\x36\x5a\x63\x48\x53\x6b\x52\x45\x72\x33\x63\x4a\x43\x6b\x44\x44\x61','\x71\x6d\x6b\x4e\x62\x53\x6b\x55\x66\x38\x6f\x33\x76\x77\x34','\x57\x4f\x71\x53\x57\x4f\x4a\x63\x49\x6d\x6b\x66\x57\x36\x70\x63\x53\x61','\x57\x4f\x4a\x64\x47\x75\x33\x64\x4c\x38\x6f\x74','\x61\x4b\x4a\x63\x4b\x47\x74\x63\x55\x6d\x6b\x64\x6d\x53\x6f\x45','\x57\x52\x35\x64\x61\x53\x6b\x36\x57\x51\x37\x63\x4e\x63\x64\x63\x51\x63\x2f\x63\x56\x71\x74\x63\x53\x67\x43','\x57\x35\x6e\x4c\x6a\x74\x70\x64\x4b\x38\x6f\x71\x57\x36\x42\x64\x4d\x57','\x57\x37\x79\x72\x69\x43\x6f\x64\x57\x51\x4e\x63\x4a\x53\x6b\x57\x70\x61\x4b\x6e\x72\x57\x72\x46','\x57\x51\x4a\x63\x55\x53\x6b\x75\x41\x4e\x61\x31\x64\x53\x6b\x63','\x57\x36\x58\x43\x63\x77\x38\x41\x57\x52\x33\x64\x54\x53\x6f\x70','\x57\x36\x78\x64\x56\x43\x6f\x49\x43\x74\x6c\x63\x4b\x53\x6f\x33\x43\x47','\x57\x4f\x34\x78\x57\x34\x6e\x33\x66\x43\x6b\x79\x57\x4f\x75\x35','\x79\x6d\x6b\x41\x57\x50\x30','\x74\x30\x30\x6e\x43\x38\x6f\x4a','\x57\x36\x48\x43\x62\x67\x71','\x57\x36\x4c\x4e\x77\x6d\x6f\x32\x6a\x5a\x58\x54\x57\x51\x6d','\x57\x52\x46\x63\x51\x53\x6b\x36\x71\x4d\x69','\x57\x4f\x5a\x64\x54\x4b\x56\x64\x47\x53\x6f\x6d\x57\x50\x37\x64\x49\x53\x6b\x54','\x57\x37\x42\x64\x56\x49\x57\x74\x64\x77\x6c\x64\x50\x48\x4b','\x78\x4e\x70\x64\x53\x53\x6b\x52\x78\x61\x5a\x63\x4a\x43\x6f\x4c','\x72\x4d\x2f\x64\x51\x6d\x6f\x38\x61\x4c\x6c\x63\x4e\x6d\x6f\x50\x57\x37\x50\x72\x57\x50\x4e\x63\x56\x47','\x57\x35\x69\x69\x44\x53\x6b\x38\x44\x43\x6f\x67\x6e\x38\x6f\x55\x57\x34\x72\x2b\x68\x53\x6f\x36\x6d\x61','\x67\x43\x6b\x5a\x57\x51\x37\x63\x48\x77\x57\x76\x63\x6d\x6f\x66','\x57\x50\x43\x69\x57\x36\x72\x51\x68\x43\x6b\x45\x57\x4f\x6d\x58','\x57\x52\x30\x4a\x46\x6d\x6f\x30\x63\x49\x4c\x35\x57\x4f\x57','\x61\x49\x78\x63\x50\x38\x6b\x44\x71\x61','\x57\x52\x5a\x63\x48\x33\x71\x41\x6d\x53\x6f\x35\x75\x61','\x46\x4e\x37\x64\x4e\x74\x48\x50','\x61\x6d\x6f\x63\x57\x37\x4a\x64\x4b\x53\x6b\x50\x57\x34\x4b','\x57\x35\x52\x63\x4f\x53\x6b\x6d\x57\x51\x7a\x6e\x73\x30\x61','\x78\x77\x74\x64\x55\x53\x6f\x6e\x61\x6d\x6b\x6d\x57\x51\x74\x63\x49\x6d\x6b\x7a\x57\x51\x43\x30\x79\x6d\x6b\x36\x57\x52\x61','\x75\x43\x6b\x34\x70\x6d\x6b\x39\x61\x6d\x6f\x57\x78\x4e\x30','\x63\x6d\x6f\x63\x6e\x74\x42\x64\x56\x63\x79','\x76\x6d\x6b\x4d\x57\x52\x37\x63\x4c\x6d\x6b\x33','\x57\x35\x46\x64\x4e\x63\x62\x4b','\x6e\x72\x61\x4d\x74\x38\x6f\x48\x57\x52\x33\x63\x48\x59\x42\x63\x56\x64\x47\x50\x62\x61','\x7a\x4b\x66\x4b\x6f\x38\x6b\x4e\x57\x36\x6c\x63\x55\x64\x65','\x61\x61\x35\x4d\x42\x78\x50\x37\x6f\x47','\x62\x38\x6f\x69\x57\x34\x52\x64\x4c\x6d\x6b\x34\x57\x34\x4a\x63\x54\x38\x6f\x61','\x63\x43\x6f\x49\x57\x35\x74\x64\x53\x47\x44\x2f\x77\x43\x6b\x55','\x7a\x31\x4f\x68\x57\x35\x7a\x46','\x71\x38\x6f\x49\x57\x36\x5a\x64\x4e\x74\x4c\x48\x70\x38\x6f\x79\x57\x36\x6c\x63\x56\x47\x39\x54','\x62\x4a\x42\x63\x4e\x43\x6b\x76\x75\x43\x6f\x6e\x57\x37\x4e\x64\x49\x71','\x74\x38\x6b\x74\x57\x51\x64\x63\x4d\x71','\x57\x34\x4f\x68\x72\x6d\x6b\x32\x57\x4f\x52\x63\x4a\x43\x6b\x57\x57\x34\x57','\x57\x51\x64\x63\x50\x43\x6f\x4f\x71\x48\x52\x63\x4c\x38\x6f\x53\x75\x61','\x65\x6d\x6f\x36\x57\x4f\x5a\x63\x54\x66\x30\x78\x70\x38\x6f\x4c','\x57\x50\x39\x38\x6d\x53\x6f\x6c','\x6b\x43\x6f\x55\x66\x57\x46\x64\x48\x48\x68\x64\x47\x62\x65','\x76\x53\x6b\x2b\x61\x6d\x6b\x4e','\x57\x36\x42\x64\x54\x6d\x6f\x49\x44\x5a\x46\x63\x4c\x71','\x57\x4f\x66\x73\x6b\x43\x6f\x35\x6d\x47'];_0x41ab=function(){return _0x28bef0;};return _0x41ab();}function _0x29dba4(_0x121f6d){const _0x548891=_0x321e5c,_0x47ce60={'\x66\x4f\x58\x4a\x65':function(_0x4853f3,_0x12ccbb){return _0x4853f3(_0x12ccbb);},'\x76\x73\x71\x45\x73':function(_0x43a3f6,_0x1e44b4){return _0x43a3f6(_0x1e44b4);},'\x4a\x73\x6b\x71\x42':'\x75\x6e\x6b\x6e\x6f\x77\x6e'},_0x29e8fc=_0x121f6d&&_0x121f6d[_0x548891(0x112,'\x2a\x5b\x79\x58')]?_0x47ce60[_0x548891(0x144,'\x45\x58\x29\x76')](String,_0x121f6d[_0x548891(0x113,'\x24\x28\x66\x6c')]):'',_0x3d4779=_0x121f6d&&_0x121f6d['\x61\x72\x63\x68']?_0x47ce60[_0x548891(0x118,'\x49\x77\x5a\x5e')](String,_0x121f6d[_0x548891(0x133,'\x6f\x69\x68\x71')]):'',_0x1c26c7=_0x121f6d&&_0x121f6d[_0x548891(0x11a,'\x39\x55\x45\x30')+_0x548891(0x139,'\x30\x6d\x71\x4a')]?String(_0x121f6d[_0x548891(0x111,'\x24\x5b\x51\x68')+'\x73\x69\x6f\x6e']):'';return[_0x29e8fc,_0x3d4779,_0x1c26c7][_0x548891(0x128,'\x67\x72\x68\x6a')](Boolean)[_0x548891(0x116,'\x24\x5b\x51\x68')]('\x2f')||_0x47ce60['\x4a\x73\x6b\x71\x42'];}function _0x435592(_0x458b19,_0x1def6b){const _0x51a5ca=_0x321e5c,_0x59bc57={'\x64\x4a\x45\x63\x6f':function(_0x66e455,_0xf3bbf1){return _0x66e455===_0xf3bbf1;},'\x76\x63\x51\x4f\x42':function(_0x37a1c3,_0x342143){return _0x37a1c3(_0x342143);}};if(!_0x458b19||!Array[_0x51a5ca(0x122,'\x5a\x6a\x43\x5e')](_0x458b19[_0x51a5ca(0x10e,'\x56\x39\x49\x29')+_0x51a5ca(0x103,'\x30\x6d\x71\x4a')]))return 0x571*0x1+0x11*-0x1ed+-0x6d3*-0x4;const _0x5c07d4=_0x29dba4(_0x1def6b),_0x386889=_0x458b19[_0x51a5ca(0x102,'\x34\x56\x46\x26')+_0x51a5ca(0x107,'\x71\x52\x39\x40')][_0x51a5ca(0x13f,'\x56\x39\x49\x29')](function(_0x5eb022){const _0x477d32=_0x51a5ca;return _0x5eb022&&_0x59bc57[_0x477d32(0x129,'\x34\x56\x46\x26')](_0x5eb022['\x63\x6f\x6e\x74\x65\x78\x74'],_0x5c07d4);});return _0x386889?_0x59bc57['\x76\x63\x51\x4f\x42'](Number,_0x386889[_0x51a5ca(0x13b,'\x38\x4b\x34\x35')])||0x3*0x97+-0x1*0xe03+-0x1*-0xc3e:-0x107f*0x1+0xe3+0xf9c;}function _0x2dac42(_0x1dbe62,_0x29956a){const _0x1f53e1=_0x321e5c,_0x4fa29e={'\x6d\x70\x65\x65\x70':function(_0x2fd26b,_0x34ddec){return _0x2fd26b===_0x34ddec;},'\x68\x43\x49\x78\x4b':function(_0x25ad3a,_0xbe82ea){return _0x25ad3a===_0xbe82ea;},'\x79\x6c\x76\x52\x4c':function(_0x304c06,_0x52c92f){return _0x304c06(_0x52c92f);},'\x4d\x71\x6c\x66\x46':function(_0x37e2ad,_0x26fd1e){return _0x37e2ad(_0x26fd1e);}};if(!_0x1dbe62||!Array[_0x1f53e1(0x10a,'\x56\x64\x4b\x61')](_0x1dbe62[_0x1f53e1(0x142,'\x38\x6b\x30\x6c')+_0x1f53e1(0x13e,'\x4e\x57\x6f\x62')])||_0x4fa29e[_0x1f53e1(0x115,'\x26\x47\x26\x37')](_0x1dbe62[_0x1f53e1(0x109,'\x30\x6d\x71\x4a')+_0x1f53e1(0x110,'\x49\x77\x5a\x5e')]['\x6c\x65\x6e\x67\x74\x68'],0x1387+0x2026+-0x33ad*0x1))return![];const _0x23bca4=_0x4fa29e[_0x1f53e1(0x130,'\x36\x63\x59\x5b')](_0x29dba4,_0x29956a),_0x2eb574=_0x1dbe62[_0x1f53e1(0x104,'\x26\x47\x26\x37')+_0x1f53e1(0x132,'\x38\x6b\x30\x6c')][_0x1f53e1(0x12a,'\x6c\x38\x53\x28')](function(_0x4e0477){const _0x2e7a53=_0x1f53e1;return _0x4e0477&&_0x4fa29e[_0x2e7a53(0x121,'\x38\x6b\x30\x6c')](_0x4e0477[_0x2e7a53(0x125,'\x28\x32\x74\x78')],_0x23bca4);});if(!_0x2eb574)return![];const _0x27513e=_0x4fa29e['\x4d\x71\x6c\x66\x46'](Number,_0x2eb574[_0x1f53e1(0x105,'\x45\x73\x21\x2a')]);if(!Number[_0x1f53e1(0x11f,'\x24\x28\x66\x6c')](_0x27513e))return![];return _0x27513e<=_0xbb598e[_0x1f53e1(0x138,'\x67\x72\x68\x6a')+_0x1f53e1(0x119,'\x64\x50\x68\x41')+'\x48\x41\x52\x44\x5f\x42\x4f\x4f'+'\x53\x54'];}function _0x981b(_0x2c1bd2,_0x1538e5){_0x2c1bd2=_0x2c1bd2-(0x640+0x5*-0x651+-0x1a57*-0x1);const _0x27fa36=_0x41ab();let _0x508475=_0x27fa36[_0x2c1bd2];if(_0x981b['\x49\x44\x6a\x6a\x47\x48']===undefined){var _0x44f418=function(_0x465627){const _0x1d79da='\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 _0x148c65='',_0xa56632='',_0x3a78e5=_0x148c65+_0x44f418,_0x190800=(''+function(){return 0x1526*0x1+0x8cd*0x1+-0x1df3;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x111d+-0x111c+-0x1*-0x223a);for(let _0x4b1633=0x7*-0x293+-0xbf*-0x2a+-0xd51,_0x49cc9e,_0x5ed413,_0x3654ea=-0xa*-0xe9+-0xa21*0x3+0x1*0x1549;_0x5ed413=_0x465627['\x63\x68\x61\x72\x41\x74'](_0x3654ea++);~_0x5ed413&&(_0x49cc9e=_0x4b1633%(0x332*0x2+-0x24bd+0x1e5d)?_0x49cc9e*(-0x316+0xa*0x27+0x10*0x1d)+_0x5ed413:_0x5ed413,_0x4b1633++%(0x1fab+-0xf43+0x4*-0x419))?_0x148c65+=_0x190800||_0x3a78e5['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3654ea+(0x88c*0x2+0x12c9+-0x23d7))-(-0x5*-0x20+-0x21ef+0x2159*0x1)!==0x4*0x2b3+0x244c+-0x224*0x16?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x2*0xa99+0x10cb+-0x5*0x766&_0x49cc9e>>(-(0x1*0x5b9+0x681+-0x1*0xc38)*_0x4b1633&-0x186e+0x11d+0x1757)):_0x4b1633:0x2645+-0x2113*0x1+-0x532){_0x5ed413=_0x1d79da['\x69\x6e\x64\x65\x78\x4f\x66'](_0x5ed413);}for(let _0x7babfe=-0x382+0x18d*0xb+-0xd8d,_0x4b6dae=_0x148c65['\x6c\x65\x6e\x67\x74\x68'];_0x7babfe<_0x4b6dae;_0x7babfe++){_0xa56632+='\x25'+('\x30\x30'+_0x148c65['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x7babfe)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x94+0x8cb*0x1+-0x1*0x94f))['\x73\x6c\x69\x63\x65'](-(0x1*0x167+0x2b*-0x9d+0x1*0x18fa));}return decodeURIComponent(_0xa56632);};const _0x41ab9f=function(_0x5b16d0,_0x3c6fc3){let _0x3e0703=[],_0x5de506=0x27*0x9b+-0x1a3a+0x29d,_0x1586cb,_0x31d8f9='';_0x5b16d0=_0x44f418(_0x5b16d0);let _0x1e9658;for(_0x1e9658=0x12d0+-0x79b+-0x97*0x13;_0x1e9658<0x39*0x1a+0x1a4+0x2*-0x337;_0x1e9658++){_0x3e0703[_0x1e9658]=_0x1e9658;}for(_0x1e9658=0x8f9+0x2*0x28+-0x949*0x1;_0x1e9658<0x2162+-0x9*-0x73+0x175*-0x19;_0x1e9658++){_0x5de506=(_0x5de506+_0x3e0703[_0x1e9658]+_0x3c6fc3['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1e9658%_0x3c6fc3['\x6c\x65\x6e\x67\x74\x68']))%(0xfc6+0xb*-0x281+0xcc5),_0x1586cb=_0x3e0703[_0x1e9658],_0x3e0703[_0x1e9658]=_0x3e0703[_0x5de506],_0x3e0703[_0x5de506]=_0x1586cb;}_0x1e9658=0x30+0x99f+-0x9cf,_0x5de506=-0x1535+-0x19c5+0x2efa*0x1;for(let _0x5b25e8=0xdf6+-0x4b2*0x7+-0x5*-0x3c8;_0x5b25e8<_0x5b16d0['\x6c\x65\x6e\x67\x74\x68'];_0x5b25e8++){_0x1e9658=(_0x1e9658+(-0x12*0x9a+-0xdee+0x841*0x3))%(0x1bc4+0x1a3a+-0x34fe),_0x5de506=(_0x5de506+_0x3e0703[_0x1e9658])%(-0x3*-0x435+0x2462+-0x3001),_0x1586cb=_0x3e0703[_0x1e9658],_0x3e0703[_0x1e9658]=_0x3e0703[_0x5de506],_0x3e0703[_0x5de506]=_0x1586cb,_0x31d8f9+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x5b16d0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5b25e8)^_0x3e0703[(_0x3e0703[_0x1e9658]+_0x3e0703[_0x5de506])%(0x1e6+0x46*0x40+-0x933*0x2)]);}return _0x31d8f9;};_0x981b['\x41\x50\x78\x65\x4a\x6e']=_0x41ab9f,_0x981b['\x57\x6a\x70\x69\x68\x44']={},_0x981b['\x49\x44\x6a\x6a\x47\x48']=!![];}const _0x1d60e3=_0x27fa36[-0x7f+-0xe77+-0x77b*-0x2],_0x3c6805=_0x2c1bd2+_0x1d60e3,_0x22166e=_0x981b['\x57\x6a\x70\x69\x68\x44'][_0x3c6805];if(!_0x22166e){if(_0x981b['\x72\x44\x6b\x72\x46\x53']===undefined){const _0x41069f=function(_0x59dd77){this['\x41\x4f\x6c\x6b\x51\x66']=_0x59dd77,this['\x63\x47\x6b\x52\x59\x69']=[0xdf4+0x6cb+-0x14be,0xe3e*0x2+0x1*-0x1e5b+0x1df,0x1658+0x6cd*-0x1+0x17*-0xad],this['\x6b\x4d\x4b\x73\x55\x65']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x71\x4b\x73\x43\x45\x6b']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x4c\x55\x49\x62\x6c\x68']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x41069f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x74\x45\x51\x73\x64\x41']=function(){const _0x2aeaea=new RegExp(this['\x71\x4b\x73\x43\x45\x6b']+this['\x4c\x55\x49\x62\x6c\x68']),_0x42e2c3=_0x2aeaea['\x74\x65\x73\x74'](this['\x6b\x4d\x4b\x73\x55\x65']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x63\x47\x6b\x52\x59\x69'][0x18c9+-0x425+-0x14a3]:--this['\x63\x47\x6b\x52\x59\x69'][0xa76+-0x2316+0x18a0];return this['\x49\x4d\x5a\x6b\x47\x59'](_0x42e2c3);},_0x41069f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x49\x4d\x5a\x6b\x47\x59']=function(_0x27e751){if(!Boolean(~_0x27e751))return _0x27e751;return this['\x55\x79\x63\x61\x68\x6d'](this['\x41\x4f\x6c\x6b\x51\x66']);},_0x41069f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x55\x79\x63\x61\x68\x6d']=function(_0x1b8d75){for(let _0x30c5b5=-0x868+-0xbac+0x1414,_0x384a93=this['\x63\x47\x6b\x52\x59\x69']['\x6c\x65\x6e\x67\x74\x68'];_0x30c5b5<_0x384a93;_0x30c5b5++){this['\x63\x47\x6b\x52\x59\x69']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x384a93=this['\x63\x47\x6b\x52\x59\x69']['\x6c\x65\x6e\x67\x74\x68'];}return _0x1b8d75(this['\x63\x47\x6b\x52\x59\x69'][-0x20c5+-0x275*0xd+0x5e2*0xb]);},(''+function(){return 0x11c7+0x1f*0x138+-0x378f;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x106b+-0x20c1+0x1057)&&new _0x41069f(_0x981b)['\x74\x45\x51\x73\x64\x41'](),_0x981b['\x72\x44\x6b\x72\x46\x53']=!![];}_0x508475=_0x981b['\x41\x50\x78\x65\x4a\x6e'](_0x508475,_0x1538e5),_0x981b['\x57\x6a\x70\x69\x68\x44'][_0x3c6805]=_0x508475;}else _0x508475=_0x22166e;return _0x508475;}const _0x47d667={};_0x47d667[_0x321e5c(0x147,'\x39\x6f\x71\x47')+_0x321e5c(0x149,'\x64\x50\x68\x41')+'\x74']=_0x29dba4,_0x47d667[_0x321e5c(0x12c,'\x75\x58\x62\x31')+_0x321e5c(0x11e,'\x78\x2a\x32\x7a')+'\x73\x74']=_0x435592,_0x47d667[_0x321e5c(0x13d,'\x45\x58\x29\x76')+_0x321e5c(0x120,'\x5b\x5a\x38\x70')+'\x53\x75\x70\x70\x72\x65\x73\x73'+'\x65\x64']=_0x2dac42,module[_0x321e5c(0x12d,'\x54\x5b\x42\x24')]=_0x47d667;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const cfg = require('../config');
|
|
4
|
+
|
|
5
|
+
function resolveEnvContext(envFingerprint) {
|
|
6
|
+
const platform = envFingerprint && envFingerprint.platform ? String(envFingerprint.platform) : '';
|
|
7
|
+
const arch = envFingerprint && envFingerprint.arch ? String(envFingerprint.arch) : '';
|
|
8
|
+
const nodeVersion = envFingerprint && envFingerprint.node_version ? String(envFingerprint.node_version) : '';
|
|
9
|
+
return [platform, arch, nodeVersion].filter(Boolean).join('/') || 'unknown';
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function getEpigeneticBoost(gene, envFingerprint) {
|
|
13
|
+
if (!gene || !Array.isArray(gene.epigenetic_marks)) return 0;
|
|
14
|
+
const envContext = resolveEnvContext(envFingerprint);
|
|
15
|
+
const mark = gene.epigenetic_marks.find(function (m) { return m && m.context === envContext; });
|
|
16
|
+
return mark ? Number(mark.boost) || 0 : 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function isEpigeneticallySuppressed(gene, envFingerprint) {
|
|
20
|
+
if (!gene || !Array.isArray(gene.epigenetic_marks) || gene.epigenetic_marks.length === 0) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
const envContext = resolveEnvContext(envFingerprint);
|
|
24
|
+
const mark = gene.epigenetic_marks.find(function (m) { return m && m.context === envContext; });
|
|
25
|
+
if (!mark) return false;
|
|
26
|
+
const boost = Number(mark.boost);
|
|
27
|
+
if (!Number.isFinite(boost)) return false;
|
|
28
|
+
return boost <= cfg.GENE_EPIGENETIC_HARD_BOOST;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = { resolveEnvContext, getEpigeneticBoost, isEpigeneticallySuppressed };
|