@evomap/evolver 1.90.0 → 2.0.0-beta.1
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/README.md +27 -564
- package/bin/evolver-llm-proxy.js +3 -0
- package/bin/evolver-mcp.js +2 -0
- package/bin/evolver-proxy.js +3 -0
- package/bin/evolver.js +4 -0
- package/index.js +1 -3670
- package/package.json +32 -62
- package/CONTRIBUTING.md +0 -19
- package/LICENSE +0 -641
- package/README.ja-JP.md +0 -521
- package/README.ko-KR.md +0 -520
- package/README.zh-CN.md +0 -531
- package/SKILL.md +0 -365
- package/assets/cover.png +0 -0
- package/assets/gep/genes.seed.json +0 -496
- package/conformance/savings-core/constants.json +0 -30
- package/conformance/savings-core/golden-vectors.json +0 -333
- 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/skill2recipes.js +0 -118
- package/scripts/suggest_version.js +0 -89
- package/scripts/validate-modules.js +0 -38
- package/scripts/validate-suite.js +0 -78
- package/src/adapters/claudeCode.js +0 -194
- package/src/adapters/codex.js +0 -216
- package/src/adapters/cursor.js +0 -91
- package/src/adapters/hookAdapter.js +0 -469
- package/src/adapters/kiro.js +0 -195
- package/src/adapters/opencode.js +0 -326
- package/src/adapters/scripts/_lockPaths.js +0 -74
- package/src/adapters/scripts/_memoryFiltering.js +0 -35
- package/src/adapters/scripts/_runtimePaths.js +0 -440
- package/src/adapters/scripts/evolver-session-end.js +0 -321
- package/src/adapters/scripts/evolver-session-start.js +0 -587
- package/src/adapters/scripts/evolver-signal-detect.js +0 -98
- package/src/adapters/scripts/evolver-task-recall.js +0 -173
- package/src/atp/atpExecute.js +0 -283
- package/src/atp/atpTaskPickup.js +0 -233
- package/src/atp/autoBuyer.js +0 -382
- package/src/atp/autoDeliver.js +0 -215
- package/src/atp/cli.js +0 -354
- package/src/atp/cliAutobuyPrompt.js +0 -154
- package/src/atp/consumerAgent.js +0 -157
- package/src/atp/defaultHandler.js +0 -69
- package/src/atp/heartbeatSignalsHandler.js +0 -254
- package/src/atp/hubClient.js +0 -317
- package/src/atp/index.js +0 -38
- package/src/atp/merchantAgent.js +0 -118
- package/src/atp/protocol.js +0 -41
- package/src/atp/questionComposer.js +0 -133
- package/src/atp/serviceHelper.js +0 -92
- package/src/canary.js +0 -13
- package/src/config.js +0 -351
- package/src/evolve/guards.js +0 -1
- package/src/evolve/pipeline/collect.js +0 -1
- package/src/evolve/pipeline/dispatch.js +0 -1
- package/src/evolve/pipeline/enrich.js +0 -1
- package/src/evolve/pipeline/hub.js +0 -1
- package/src/evolve/pipeline/select.js +0 -1
- package/src/evolve/pipeline/signals.js +0 -1
- package/src/evolve/utils.js +0 -1
- package/src/evolve.js +0 -1
- package/src/experiment/agentRunner.js +0 -229
- package/src/experiment/cli.js +0 -159
- package/src/experiment/comparison.js +0 -233
- package/src/experiment/metrics.js +0 -75
- package/src/forceUpdate.js +0 -991
- package/src/gep/a2a.js +0 -173
- package/src/gep/a2aProtocol.js +0 -1
- package/src/gep/analyzer.js +0 -35
- package/src/gep/antiAbuseTelemetry.js +0 -1
- package/src/gep/assetCallLog.js +0 -197
- package/src/gep/assetStore.js +0 -723
- package/src/gep/assets.js +0 -36
- package/src/gep/autoDistillConv.js +0 -1
- package/src/gep/autoDistillLlm.js +0 -1
- package/src/gep/bridge.js +0 -138
- package/src/gep/candidateEval.js +0 -1
- package/src/gep/candidates.js +0 -1
- package/src/gep/claimNudge.js +0 -121
- package/src/gep/cliContracts.js +0 -1190
- package/src/gep/contentHash.js +0 -1
- package/src/gep/conversationDistiller.js +0 -1
- package/src/gep/conversationSniffer.js +0 -1
- package/src/gep/crypto.js +0 -1
- package/src/gep/curriculum.js +0 -1
- package/src/gep/deviceId.js +0 -1
- package/src/gep/directoryClient.js +0 -115
- package/src/gep/envFingerprint.js +0 -1
- package/src/gep/epigenetics.js +0 -1
- package/src/gep/execBridge.js +0 -1
- package/src/gep/executionTrace.js +0 -291
- package/src/gep/explore.js +0 -1
- package/src/gep/featureFlags.js +0 -121
- package/src/gep/gitOps.js +0 -265
- package/src/gep/hash.js +0 -1
- package/src/gep/hostErrorClassifier.js +0 -34
- package/src/gep/hubFetch.js +0 -1
- package/src/gep/hubReview.js +0 -1
- package/src/gep/hubSearch.js +0 -1
- package/src/gep/hubVerify.js +0 -1
- package/src/gep/idleScheduler.js +0 -400
- package/src/gep/issueReporter.js +0 -416
- package/src/gep/learningSignals.js +0 -1
- package/src/gep/llmReview.js +0 -92
- package/src/gep/localStateAwareness.js +0 -243
- package/src/gep/mailboxTransport.js +0 -119
- package/src/gep/memoryGraph.js +0 -1
- package/src/gep/memoryGraphAdapter.js +0 -1
- package/src/gep/mutation.js +0 -1
- package/src/gep/narrativeMemory.js +0 -1
- package/src/gep/oauthLogin.js +0 -181
- package/src/gep/openPRRegistry.js +0 -1
- package/src/gep/paths.js +0 -522
- package/src/gep/personality.js +0 -1
- package/src/gep/policyCheck.js +0 -1
- package/src/gep/portable.js +0 -103
- package/src/gep/privacyClient.js +0 -235
- package/src/gep/prompt.js +0 -1
- package/src/gep/questionGenerator.js +0 -518
- package/src/gep/recallInject.js +0 -1
- package/src/gep/recallVerifier.js +0 -1
- package/src/gep/reflection.js +0 -1
- package/src/gep/sanitize.js +0 -264
- package/src/gep/savingsCore.js +0 -1
- package/src/gep/schemas/capsule.js +0 -170
- package/src/gep/schemas/gene.js +0 -154
- package/src/gep/schemas/index.js +0 -8
- package/src/gep/schemas/protocol.js +0 -51
- package/src/gep/schemas/task.js +0 -74
- package/src/gep/selector.js +0 -1
- package/src/gep/selfPR.js +0 -469
- package/src/gep/signals.js +0 -776
- package/src/gep/skill2gep.js +0 -1056
- package/src/gep/skill2gepAudit.js +0 -303
- package/src/gep/skill2recipes.js +0 -511
- package/src/gep/skillDistiller.js +0 -1
- package/src/gep/skillPublisher.js +0 -358
- package/src/gep/solidify.js +0 -1
- package/src/gep/strategy.js +0 -1
- package/src/gep/taskReceiver.js +0 -575
- package/src/gep/tokenSavings.js +0 -1
- package/src/gep/trajectoryExport.js +0 -1
- package/src/gep/validationReport.js +0 -55
- package/src/gep/validator/index.js +0 -411
- package/src/gep/validator/reporter.js +0 -210
- package/src/gep/validator/sandboxExecutor.js +0 -480
- package/src/gep/validator/stakeBootstrap.js +0 -357
- package/src/gep/workspaceKeychain.js +0 -1
- package/src/ops/cleanup.js +0 -80
- package/src/ops/commentary.js +0 -60
- package/src/ops/health_check.js +0 -104
- package/src/ops/index.js +0 -11
- package/src/ops/innovation.js +0 -67
- package/src/ops/lifecycle.js +0 -798
- package/src/ops/self_repair.js +0 -76
- package/src/ops/skills_monitor.js +0 -147
- package/src/ops/trigger.js +0 -33
- package/src/proxy/clientSettings.js +0 -405
- package/src/proxy/envelope.js +0 -59
- package/src/proxy/extensions/dmHandler.js +0 -45
- package/src/proxy/extensions/sessionHandler.js +0 -141
- package/src/proxy/extensions/skillUpdater.js +0 -64
- package/src/proxy/extensions/traceControl.js +0 -1
- package/src/proxy/index.js +0 -1395
- package/src/proxy/inject.js +0 -1
- package/src/proxy/lifecycle/manager.js +0 -1568
- package/src/proxy/mailbox/state.js +0 -207
- package/src/proxy/mailbox/store.js +0 -602
- package/src/proxy/router/cache_passthrough.js +0 -26
- package/src/proxy/router/features.js +0 -84
- package/src/proxy/router/gemini_route.js +0 -154
- package/src/proxy/router/messages_route.js +0 -535
- package/src/proxy/router/model_router.js +0 -113
- package/src/proxy/router/models_route.js +0 -52
- package/src/proxy/router/ollama_route.js +0 -103
- package/src/proxy/router/responses_route.js +0 -170
- package/src/proxy/router/vertex_route.js +0 -110
- package/src/proxy/server/http.js +0 -363
- package/src/proxy/server/routes.js +0 -558
- package/src/proxy/server/settings.js +0 -115
- package/src/proxy/sync/engine.js +0 -179
- package/src/proxy/sync/inbound.js +0 -211
- package/src/proxy/sync/outbound.js +0 -361
- package/src/proxy/task/monitor.js +0 -131
- package/src/proxy/trace/extractor.js +0 -1
- package/src/proxy/trace/usage.js +0 -1
- package/src/solo/breaker.js +0 -25
- package/src/solo/gitGuard.js +0 -65
- package/src/webui/client/clientJs/assets.js +0 -111
- package/src/webui/client/clientJs/bootstrap.js +0 -92
- package/src/webui/client/clientJs/common.js +0 -77
- package/src/webui/client/clientJs/i18n.js +0 -366
- package/src/webui/client/clientJs/index.js +0 -35
- package/src/webui/client/clientJs/interactions.js +0 -351
- package/src/webui/client/clientJs/overview.js +0 -152
- package/src/webui/client/clientJs/personality.js +0 -285
- package/src/webui/client/clientJs/pipelines.js +0 -330
- package/src/webui/client/indexHtml.js +0 -221
- package/src/webui/client/static.js +0 -23
- package/src/webui/client/stylesCss.js +0 -639
- package/src/webui/client/vendor/README.md +0 -15
- package/src/webui/client/vendor/echarts.min.js +0 -45
- package/src/webui/index.js +0 -14
- package/src/webui/observer/assets.js +0 -146
- package/src/webui/observer/index.js +0 -37
- package/src/webui/observer/interactions.js +0 -127
- package/src/webui/observer/jsonl.js +0 -75
- package/src/webui/observer/paths.js +0 -46
- package/src/webui/observer/personality.js +0 -43
- package/src/webui/observer/pipelineEvents.js +0 -58
- package/src/webui/observer/redact.js +0 -63
- package/src/webui/observer/runs.js +0 -356
- package/src/webui/observer/safety.js +0 -57
- package/src/webui/observer/skills.js +0 -70
- package/src/webui/observer/status.js +0 -71
- package/src/webui/server/http.js +0 -138
- package/src/webui/server/routes.js +0 -41
package/src/gep/hubVerify.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const _0x2c5d1e=_0x2371;(function(_0xd372bc,_0x3744e6){const _0x5d9db4=_0x2371,_0x19d4b3=_0xd372bc();while(!![]){try{const _0x1e2c6d=-parseInt(_0x5d9db4(0x236,'\x56\x50\x54\x36'))/(-0x86*0xd+0xba2+-0x4d3)+parseInt(_0x5d9db4(0x20f,'\x51\x6a\x43\x63'))/(-0x1e39+-0x1*-0xe35+-0x803*-0x2)*(-parseInt(_0x5d9db4(0x1ff,'\x48\x61\x5d\x57'))/(-0x17e7+0x6a7+0x1143))+-parseInt(_0x5d9db4(0x233,'\x75\x38\x48\x28'))/(0xa6*0x3+0xd+-0xa9*0x3)*(parseInt(_0x5d9db4(0x244,'\x72\x40\x25\x35'))/(0x32*0x69+0xff5+0x26e*-0xf))+-parseInt(_0x5d9db4(0x1de,'\x72\x79\x65\x75'))/(0x4f2+-0x2482+0x1a*0x137)+parseInt(_0x5d9db4(0x20c,'\x6f\x59\x30\x23'))/(0x1*0xc35+0x3*-0x7af+-0xadf*-0x1)+parseInt(_0x5d9db4(0x24a,'\x45\x63\x43\x41'))/(-0x3a*-0x68+0x55a*-0x7+0xdee*0x1)+parseInt(_0x5d9db4(0x22f,'\x6e\x49\x45\x49'))/(0x836*0x2+-0xcfc+0x43*-0xd);if(_0x1e2c6d===_0x3744e6)break;else _0x19d4b3['push'](_0x19d4b3['shift']());}catch(_0x4ed540){_0x19d4b3['push'](_0x19d4b3['shift']());}}}(_0x5c69,-0x1*0x2fc03+0x11941b+-0x74*0x451));const _0x31bd32=(function(){const _0x2ad278=_0x2371,_0x36055e={};_0x36055e[_0x2ad278(0x23c,'\x37\x71\x2a\x48')]=function(_0x1f1706,_0x4eaffc){return _0x1f1706===_0x4eaffc;},_0x36055e[_0x2ad278(0x21d,'\x72\x79\x65\x75')]=_0x2ad278(0x1ef,'\x33\x36\x50\x44');const _0x4f3c6a=_0x36055e;let _0x3ee917=!![];return function(_0x816e7b,_0x9263fc){const _0x404980=_0x2ad278,_0x4316b1={'\x6d\x66\x43\x68\x47':function(_0x1bca78,_0x2f1054){return _0x1bca78(_0x2f1054);},'\x68\x42\x4f\x6d\x77':function(_0x3749df,_0x245ec4){const _0x2c2c13=_0x2371;return _0x4f3c6a[_0x2c2c13(0x23c,'\x37\x71\x2a\x48')](_0x3749df,_0x245ec4);},'\x4e\x53\x6d\x56\x67':_0x4f3c6a[_0x404980(0x20a,'\x6f\x59\x30\x23')]},_0x172ffd=_0x3ee917?function(){const _0x5237bb=_0x404980,_0x4cdcf5={'\x4e\x41\x7a\x47\x56':function(_0x452dde,_0x84b639){const _0x187b6f=_0x2371;return _0x4316b1[_0x187b6f(0x181,'\x5b\x6f\x35\x6a')](_0x452dde,_0x84b639);}};if(_0x4316b1['\x68\x42\x4f\x6d\x77'](_0x4316b1[_0x5237bb(0x298,'\x72\x79\x65\x75')],_0x5237bb(0x186,'\x65\x2a\x6e\x6b'))){if(_0x1ebe2e.env.A2A_NODE_SECRET)return _0x5e4558.env.A2A_NODE_SECRET;try{return _0x4cdcf5[_0x5237bb(0x2b1,'\x65\x61\x6f\x48')](_0xce3fa3,_0x5237bb(0x2fb,'\x30\x57\x28\x55')+_0x5237bb(0x2d7,'\x69\x32\x5e\x53'))[_0x5237bb(0x2a5,'\x76\x52\x35\x64')+_0x5237bb(0x2c5,'\x71\x5e\x33\x64')]()||null;}catch(_0x5f5287){return null;}}else{if(_0x9263fc){const _0x15dd8e=_0x9263fc[_0x5237bb(0x2b6,'\x65\x61\x6f\x48')](_0x816e7b,arguments);return _0x9263fc=null,_0x15dd8e;}}}:function(){};return _0x3ee917=![],_0x172ffd;};}()),_0x2e448=_0x31bd32(this,function(){const _0x5773c1=_0x2371,_0x246085={};_0x246085[_0x5773c1(0x2e6,'\x48\x6b\x35\x4f')]=_0x5773c1(0x24d,'\x75\x38\x48\x28')+_0x5773c1(0x1fc,'\x37\x71\x2a\x48');const _0x8cbea6=_0x246085;return _0x2e448[_0x5773c1(0x187,'\x6e\x49\x45\x49')]()[_0x5773c1(0x2ef,'\x6f\x59\x30\x23')](_0x5773c1(0x2ea,'\x65\x2a\x6e\x6b')+_0x5773c1(0x225,'\x70\x6c\x63\x6c'))['\x74\x6f\x53\x74\x72\x69\x6e\x67']()['\x63\x6f\x6e\x73\x74\x72\x75\x63'+_0x5773c1(0x25c,'\x5e\x54\x46\x7a')](_0x2e448)[_0x5773c1(0x27d,'\x49\x4d\x36\x48')](_0x8cbea6[_0x5773c1(0x29d,'\x5e\x54\x46\x7a')]);});_0x2e448();const _0x345bc9=require(_0x2c5d1e(0x2d6,'\x51\x6a\x43\x63')),_0x3bd0a7=require('\x66\x73'),_0x16bac3=require(_0x2c5d1e(0x23f,'\x5b\x6f\x35\x6a')),{hubFetch:_0xee353f}=require(_0x2c5d1e(0x29a,'\x79\x30\x42\x6d')+'\x63\x68'),{withFileLock:_0xd90192}=require(_0x2c5d1e(0x1cf,'\x51\x6a\x43\x63')+_0x2c5d1e(0x310,'\x49\x6e\x5d\x37'));function _0x508141(_0x462630,_0x2868d9){const _0x55c29b=_0x2c5d1e,_0x1d3a5a={};_0x1d3a5a[_0x55c29b(0x272,'\x5b\x23\x4a\x5a')]=_0x55c29b(0x19f,'\x44\x49\x78\x30'),_0x1d3a5a[_0x55c29b(0x2a6,'\x32\x4c\x66\x59')]='\x68\x65\x78';const _0xcb0aa7=_0x1d3a5a;return _0x345bc9[_0x55c29b(0x235,'\x69\x48\x77\x54')+'\x61\x63'](_0xcb0aa7['\x69\x6c\x7a\x64\x43'],_0x462630)[_0x55c29b(0x1aa,'\x7a\x4c\x45\x73')](_0x2868d9)[_0x55c29b(0x189,'\x21\x4a\x5e\x46')](_0xcb0aa7[_0x55c29b(0x2d2,'\x72\x40\x25\x35')]);}function _0x2faa58(_0x2eecf5){const _0x3a218d=_0x2c5d1e,_0x49465c={'\x66\x50\x73\x7a\x41':'\x73\x68\x61\x32\x35\x36','\x69\x6b\x54\x57\x47':function(_0x58f9e0,_0x2c3eb6){return _0x58f9e0(_0x2c3eb6);},'\x61\x76\x6c\x50\x6e':function(_0x492802,_0x1ac8d0){return _0x492802||_0x1ac8d0;},'\x65\x5a\x58\x68\x54':_0x3a218d(0x254,'\x6c\x55\x7a\x78')};return _0x345bc9[_0x3a218d(0x1cd,'\x33\x63\x4d\x76')+'\x73\x68'](_0x49465c[_0x3a218d(0x300,'\x78\x4c\x75\x24')])[_0x3a218d(0x2c0,'\x48\x6b\x35\x4f')](_0x49465c[_0x3a218d(0x301,'\x62\x24\x40\x62')](String,_0x49465c[_0x3a218d(0x2e4,'\x71\x5e\x33\x64')](_0x2eecf5,'')))[_0x3a218d(0x1fe,'\x45\x63\x43\x41')](_0x49465c['\x65\x5a\x58\x68\x54'])[_0x3a218d(0x190,'\x56\x48\x4c\x61')](0x3df+0x29*0xe9+0x10*-0x293,0xc3+-0x1eb4+0x1e01);}function _0x1181eb({geneId:_0x3a73fd,signals:_0x242667,mutation:_0x48960b}){const _0x1f7ebe=_0x2c5d1e,_0x1a7fd6={'\x52\x5a\x48\x57\x72':_0x1f7ebe(0x224,'\x5e\x54\x46\x7a'),'\x70\x42\x4a\x67\x68':function(_0x8848f6,_0x4034d8){return _0x8848f6(_0x4034d8);},'\x78\x65\x4b\x52\x79':_0x1f7ebe(0x2a0,'\x70\x6c\x63\x6c')+_0x1f7ebe(0x182,'\x28\x25\x23\x38'),'\x71\x55\x4f\x6a\x56':function(_0x5a6e18,_0x2da25c){return _0x5a6e18===_0x2da25c;},'\x46\x4c\x62\x70\x4c':_0x1f7ebe(0x23e,'\x28\x25\x23\x38'),'\x45\x61\x6f\x69\x4c':_0x1f7ebe(0x200,'\x75\x38\x48\x28'),'\x4c\x43\x45\x48\x52':_0x1f7ebe(0x24f,'\x5e\x54\x46\x7a'),'\x75\x67\x69\x58\x75':function(_0x4a086e,_0x172177){return _0x4a086e(_0x172177);},'\x7a\x42\x67\x50\x7a':function(_0x2c459e,_0x238cc1,_0x1709b6){return _0x2c459e(_0x238cc1,_0x1709b6);},'\x55\x59\x6d\x74\x4c':function(_0x5c5d51,_0x4e891e){return _0x5c5d51||_0x4e891e;}};let _0x38ded7=null;try{_0x38ded7=_0x1a7fd6[_0x1f7ebe(0x242,'\x72\x40\x25\x35')](require,_0x1a7fd6[_0x1f7ebe(0x263,'\x2a\x4c\x68\x53')])[_0x1f7ebe(0x262,'\x6c\x37\x4d\x65')+_0x1f7ebe(0x26a,'\x72\x40\x25\x35')]();}catch(_0x2dff2c){}if(!_0x38ded7)return null;let _0xf2e327=null;try{if(_0x1a7fd6[_0x1f7ebe(0x2a9,'\x49\x6e\x5d\x37')](_0x1f7ebe(0x2d3,'\x51\x6a\x43\x63'),_0x1a7fd6[_0x1f7ebe(0x1a4,'\x30\x57\x28\x55')]))return!_0x49e065&&(_0xb26d5c=_0x4c88db[_0x1f7ebe(0x1bf,'\x7a\x4c\x45\x73')](_0x515279(),_0x1a7fd6[_0x1f7ebe(0x205,'\x56\x48\x4c\x61')])),_0x3a4a5f;else _0xf2e327=require(_0x1a7fd6[_0x1f7ebe(0x1c2,'\x77\x54\x43\x34')])[_0x1f7ebe(0x306,'\x45\x63\x43\x41')+'\x64']();}catch(_0xf346c5){}if(!_0xf2e327)return null;const _0x24092a=_0x345bc9[_0x1f7ebe(0x2ec,'\x6d\x28\x34\x34')+'\x73\x68'](_0x1a7fd6[_0x1f7ebe(0x21f,'\x78\x4c\x75\x24')])[_0x1f7ebe(0x2f4,'\x5b\x23\x4a\x5a')](_0x38ded7)[_0x1f7ebe(0x1c4,'\x49\x4d\x36\x48')](_0x1a7fd6['\x4c\x43\x45\x48\x52']),_0x350a87=Date[_0x1f7ebe(0x2e3,'\x65\x2a\x6e\x6b')](),_0x5e81fe=_0x2faa58(JSON[_0x1f7ebe(0x303,'\x32\x4c\x66\x59')+'\x79'](Array[_0x1f7ebe(0x29c,'\x6e\x49\x45\x49')](_0x242667)?_0x242667[_0x1f7ebe(0x22d,'\x70\x58\x21\x21')](0x2538+-0xed1+-0x1667,-0xae8+0x1*-0xa65+-0x2b*-0x7f):[])),_0x506acc=_0x1a7fd6[_0x1f7ebe(0x278,'\x6c\x37\x4d\x65')](_0x2faa58,JSON[_0x1f7ebe(0x1b4,'\x4c\x48\x29\x53')+'\x79'](_0x48960b||{})),_0xffd105=[_0xf2e327,_0x3a73fd||'',_0x5e81fe,_0x506acc,_0x1a7fd6[_0x1f7ebe(0x2f0,'\x49\x6e\x5d\x37')](String,_0x350a87)][_0x1f7ebe(0x21b,'\x49\x6e\x5d\x37')]('\x7c'),_0x32c71c=_0x1a7fd6['\x7a\x42\x67\x50\x7a'](_0x508141,_0x24092a,_0xffd105);return{'\x6e\x6f\x64\x65\x49\x64':_0xf2e327,'\x6e\x6f\x64\x65\x53\x65\x63\x72\x65\x74':_0x38ded7,'\x62\x6f\x64\x79':{'\x73\x65\x6e\x64\x65\x72\x5f\x69\x64':_0xf2e327,'\x67\x65\x6e\x65\x5f\x69\x64':_0x1a7fd6['\x55\x59\x6d\x74\x4c'](_0x3a73fd,''),'\x73\x69\x67\x6e\x61\x6c\x73\x5f\x68\x61\x73\x68':_0x5e81fe,'\x6d\x75\x74\x61\x74\x69\x6f\x6e\x5f\x68\x61\x73\x68':_0x506acc,'\x74\x73':_0x350a87,'\x63\x6c\x69\x65\x6e\x74\x5f\x73\x69\x67\x6e\x61\x74\x75\x72\x65':_0x32c71c}};}function _0x5761f2({geneId:_0x500d08,signals:_0x2db82a,mutation:_0x3c6875}){const _0x1a86d4=_0x2c5d1e,_0x18e203={'\x45\x49\x46\x68\x66':_0x1a86d4(0x1a2,'\x6c\x55\x7a\x78')+'\x74\x6f\x63\x6f\x6c','\x65\x79\x63\x41\x75':function(_0x50c300){return _0x50c300();},'\x73\x75\x68\x74\x55':function(_0x3fc3,_0x3f6065){return _0x3fc3(_0x3f6065);},'\x71\x6f\x79\x71\x4d':function(_0x40898b,_0x196eac){return _0x40898b!==_0x196eac;},'\x64\x4e\x67\x72\x76':_0x1a86d4(0x249,'\x75\x38\x48\x28'),'\x69\x4e\x73\x77\x78':function(_0x520d3a,_0x232f44){return _0x520d3a<_0x232f44;},'\x42\x56\x4b\x7a\x48':'\x6e\x6f\x5f\x68\x75\x62\x5f\x75'+'\x72\x6c','\x61\x50\x48\x4d\x73':function(_0x18ab0e,_0x51b2d1){return _0x18ab0e(_0x51b2d1);},'\x55\x61\x7a\x63\x6d':_0x1a86d4(0x2b9,'\x49\x4d\x36\x48')+_0x1a86d4(0x1b3,'\x70\x58\x21\x21'),'\x46\x5a\x71\x44\x4e':function(_0x1e4578,_0x4f7202){return _0x1e4578+_0x4f7202;},'\x4c\x46\x66\x4e\x72':function(_0x4b3614,_0x1325fd){return _0x4b3614(_0x1325fd);},'\x74\x6a\x4b\x53\x6d':_0x1a86d4(0x2fe,'\x51\x6a\x43\x63')+_0x1a86d4(0x1d6,'\x76\x52\x35\x64'),'\x61\x4d\x56\x52\x6c':function(_0x7b7034,_0x441e1e){return _0x7b7034+_0x441e1e;},'\x46\x54\x6e\x6a\x58':_0x1a86d4(0x1e6,'\x41\x62\x75\x45'),'\x4f\x7a\x7a\x58\x79':function(_0x55f441,_0x4b9a23,_0x447e0a){return _0x55f441(_0x4b9a23,_0x447e0a);},'\x77\x48\x43\x5a\x43':_0x1a86d4(0x2f3,'\x6e\x49\x45\x49')},_0x120a67=(process.env.A2A_HUB_URL||'')[_0x1a86d4(0x229,'\x6c\x37\x4d\x65')](/\/+$/,''),_0x321477={};_0x321477['\x6f\x6b']=![],_0x321477[_0x1a86d4(0x2ad,'\x33\x63\x4d\x76')]=_0x18e203[_0x1a86d4(0x2f2,'\x5e\x79\x5e\x6e')],_0x321477[_0x1a86d4(0x1ec,'\x41\x62\x75\x45')]=!![];if(!_0x120a67)return Promise[_0x1a86d4(0x29b,'\x56\x50\x54\x36')](_0x321477);const _0x2b5105={};_0x2b5105[_0x1a86d4(0x2a1,'\x65\x25\x58\x25')]=_0x500d08,_0x2b5105[_0x1a86d4(0x1f4,'\x72\x40\x25\x35')]=_0x2db82a,_0x2b5105[_0x1a86d4(0x2bc,'\x65\x61\x6f\x48')]=_0x3c6875;const _0x103667=_0x18e203[_0x1a86d4(0x197,'\x70\x58\x21\x21')](_0x1181eb,_0x2b5105),_0x3cbfc7={};_0x3cbfc7['\x6f\x6b']=![],_0x3cbfc7[_0x1a86d4(0x2cd,'\x28\x25\x23\x38')]=_0x18e203[_0x1a86d4(0x2db,'\x71\x5e\x33\x64')],_0x3cbfc7[_0x1a86d4(0x2c8,'\x62\x24\x40\x62')]=!![];if(!_0x103667)return Promise[_0x1a86d4(0x19b,'\x76\x52\x35\x64')](_0x3cbfc7);const _0x4e0e44=_0x18e203[_0x1a86d4(0x192,'\x33\x36\x50\x44')](_0x120a67,_0x1a86d4(0x207,'\x30\x57\x28\x55')+_0x1a86d4(0x1b8,'\x49\x4d\x36\x48')+'\x64\x69\x66\x79'),_0x7d870a=_0x18e203['\x4c\x46\x66\x4e\x72'](require,_0x1a86d4(0x1fb,'\x72\x79\x65\x75')+'\x67')[_0x1a86d4(0x239,'\x56\x48\x4c\x61')+_0x1a86d4(0x221,'\x45\x63\x43\x41')+_0x1a86d4(0x2de,'\x75\x38\x48\x28')+'\x53']||0x6b*-0x95+-0x355*0x8+-0x7fff*-0x1,_0x1f882f={'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x18e203[_0x1a86d4(0x1ab,'\x5e\x54\x46\x7a')],'\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':_0x18e203[_0x1a86d4(0x283,'\x65\x25\x58\x25')](_0x18e203[_0x1a86d4(0x275,'\x37\x71\x2a\x48')],_0x103667[_0x1a86d4(0x28c,'\x77\x54\x43\x34')+'\x65\x74'])};return _0x18e203[_0x1a86d4(0x2a4,'\x46\x78\x65\x4e')](_0xee353f,_0x4e0e44,{'\x6d\x65\x74\x68\x6f\x64':_0x18e203[_0x1a86d4(0x2cc,'\x49\x4d\x36\x48')],'\x68\x65\x61\x64\x65\x72\x73':_0x1f882f,'\x62\x6f\x64\x79':JSON['\x73\x74\x72\x69\x6e\x67\x69\x66'+'\x79'](_0x103667[_0x1a86d4(0x18a,'\x65\x2a\x6e\x6b')]),'\x73\x69\x67\x6e\x61\x6c':AbortSignal[_0x1a86d4(0x1d4,'\x6d\x28\x34\x34')](_0x7d870a)})[_0x1a86d4(0x22b,'\x76\x4d\x57\x35')](function(_0x2ae9df){const _0xd14cb7=_0x1a86d4,_0x4a9e17={'\x53\x5a\x73\x71\x6e':function(_0x3cf7b0,_0x3c2018){return _0x3cf7b0>=_0x3c2018;},'\x58\x6c\x49\x6d\x41':function(_0x28931a,_0x5b7e46){return _0x28931a+_0x5b7e46;},'\x4d\x47\x52\x6b\x73':function(_0x39358d){const _0x7928b8=_0x2371;return _0x18e203[_0x7928b8(0x215,'\x48\x6b\x35\x4f')](_0x39358d);},'\x69\x48\x59\x46\x65':_0xd14cb7(0x30c,'\x70\x58\x21\x21'),'\x57\x68\x47\x69\x44':function(_0x1049df,_0x3b76de){const _0xa23969=_0xd14cb7;return _0x18e203[_0xa23969(0x2ca,'\x62\x24\x40\x62')](_0x1049df,_0x3b76de);}};if(_0x18e203[_0xd14cb7(0x1d2,'\x75\x38\x48\x28')](_0xd14cb7(0x1d1,'\x6b\x23\x59\x34'),_0x18e203['\x64\x4e\x67\x72\x76']))return _0x4acf01(_0x18e203[_0xd14cb7(0x1b6,'\x56\x48\x4c\x61')])[_0xd14cb7(0x1af,'\x37\x71\x2a\x48')+_0xd14cb7(0x305,'\x33\x36\x50\x44')]()||null;else{_0x18e203[_0xd14cb7(0x217,'\x65\x25\x58\x25')](_0x2ae9df[_0xd14cb7(0x284,'\x48\x6b\x35\x4f')],0x13*0x106+-0x4*-0x94b+-0x36aa*0x1)&&_0x2305f9();if(!_0x2ae9df['\x6f\x6b'])return _0x2ae9df['\x74\x65\x78\x74']()[_0xd14cb7(0x240,'\x48\x61\x5d\x57')](function(_0x3c4f63){const _0x4618c5=_0xd14cb7,_0x1c90b4=_0x4a9e17[_0x4618c5(0x1c7,'\x6c\x37\x4d\x65')](_0x2ae9df[_0x4618c5(0x2c6,'\x65\x2a\x6e\x6b')],0x2*-0xac6+-0x38*0x38+0x20*0x11e);return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x4a9e17[_0x4618c5(0x2e0,'\x49\x6e\x5d\x37')](_0x4a9e17[_0x4618c5(0x304,'\x6e\x49\x45\x49')](_0x4a9e17['\x58\x6c\x49\x6d\x41'](_0x4618c5(0x293,'\x5e\x54\x46\x7a'),_0x2ae9df['\x73\x74\x61\x74\x75\x73']),'\x3a\x20'),_0x3c4f63[_0x4618c5(0x2dd,'\x48\x61\x5d\x57')](-0x1cdf+0x23d9+-0x6fa,-0xde0+0x9a5+0x503*0x1)),'\x6f\x66\x66\x6c\x69\x6e\x65':_0x1c90b4};});return _0x2ae9df[_0xd14cb7(0x19c,'\x49\x4d\x36\x48')]()[_0xd14cb7(0x1ed,'\x72\x40\x25\x35')](function(_0x1b0b8a){const _0x278322=_0xd14cb7;return _0x1b0b8a&&_0x1b0b8a['\x6f\x6b']&&_0x1b0b8a[_0x278322(0x1f3,'\x28\x25\x23\x38')+_0x278322(0x18f,'\x32\x4c\x66\x59')]&&(_0x278322(0x183,'\x32\x4c\x66\x59')===_0x4a9e17[_0x278322(0x2c3,'\x62\x24\x40\x62')]?_0x4a9e17[_0x278322(0x1b1,'\x71\x5e\x33\x64')](_0x150531):_0x4a9e17[_0x278322(0x1f1,'\x33\x36\x50\x44')](_0x349c4d,_0x1b0b8a['\x6f\x66\x66\x6c\x69\x6e\x65\x5f'+_0x278322(0x212,'\x28\x25\x23\x38')])),_0x1b0b8a;});}})[_0x1a86d4(0x30b,'\x76\x52\x35\x64')](function(_0xe029a1){const _0x5f2619=_0x1a86d4,_0x587039={};return _0x587039['\x6f\x6b']=![],_0x587039[_0x5f2619(0x223,'\x72\x40\x25\x35')]=_0xe029a1[_0x5f2619(0x203,'\x6f\x59\x30\x23')],_0x587039[_0x5f2619(0x22c,'\x78\x4c\x75\x24')]=!![],_0x587039;});}function _0x5c69(){const _0x43af31=['\x57\x36\x34\x58\x72\x6d\x6f\x53\x57\x51\x79','\x57\x4f\x47\x57\x78\x33\x35\x74\x72\x47','\x57\x34\x53\x2f\x57\x34\x62\x56\x41\x61','\x57\x52\x5a\x64\x48\x31\x46\x63\x4c\x76\x79\x7a\x57\x37\x53','\x63\x33\x64\x63\x4a\x38\x6b\x74\x74\x61','\x57\x4f\x75\x69\x6e\x6d\x6b\x41','\x57\x50\x43\x44\x64\x43\x6b\x38\x66\x53\x6f\x56','\x75\x78\x4f\x65\x77\x33\x4f','\x57\x36\x2f\x63\x53\x74\x34\x69\x57\x51\x75','\x57\x36\x52\x63\x4f\x53\x6b\x43\x57\x4f\x39\x72\x57\x51\x79\x44\x57\x36\x57','\x6d\x6d\x6f\x4c\x43\x61\x47\x5a','\x73\x76\x37\x63\x52\x61','\x57\x34\x79\x70\x57\x35\x39\x47\x46\x47','\x6f\x4c\x5a\x63\x4a\x6d\x6f\x76\x57\x4f\x70\x64\x47\x57\x58\x58','\x73\x31\x6c\x64\x50\x59\x42\x63\x50\x43\x6f\x41\x6c\x53\x6f\x64','\x57\x36\x57\x48\x7a\x53\x6f\x31\x57\x50\x4b','\x57\x52\x74\x64\x4d\x38\x6b\x53\x63\x6d\x6b\x2f\x57\x4f\x39\x48\x77\x47','\x57\x52\x61\x36\x7a\x65\x50\x61','\x77\x77\x33\x64\x56\x5a\x4e\x63\x49\x47','\x57\x37\x54\x64\x57\x35\x4a\x64\x4d\x38\x6f\x77','\x57\x50\x53\x74\x57\x51\x52\x63\x4a\x6d\x6b\x65','\x57\x34\x6d\x4a\x70\x43\x6b\x38\x57\x37\x68\x63\x50\x30\x64\x63\x53\x57','\x57\x4f\x30\x52\x6c\x53\x6b\x4a\x57\x52\x47','\x57\x4f\x4f\x2b\x46\x43\x6b\x70\x57\x51\x71\x51\x6f\x43\x6f\x68','\x69\x53\x6b\x39\x79\x53\x6b\x42\x57\x52\x5a\x63\x47\x4a\x34\x61','\x57\x36\x72\x33\x76\x38\x6f\x36\x57\x34\x5a\x64\x56\x68\x4e\x64\x55\x43\x6b\x56\x57\x51\x65\x33\x42\x64\x71\x67','\x68\x53\x6b\x6f\x66\x53\x6b\x6f\x57\x34\x65','\x6a\x6d\x6b\x44\x46\x53\x6b\x59\x57\x4f\x53\x48\x57\x4f\x42\x63\x4b\x57','\x57\x37\x56\x64\x48\x6d\x6b\x4f','\x57\x4f\x65\x31\x74\x63\x39\x4e','\x57\x51\x64\x64\x49\x74\x7a\x52\x57\x34\x4f','\x57\x51\x4e\x64\x54\x43\x6f\x70\x57\x34\x69\x78\x57\x36\x62\x66\x57\x37\x78\x64\x4f\x53\x6b\x63\x46\x30\x64\x63\x4f\x47','\x57\x51\x43\x36\x57\x50\x78\x63\x48\x6d\x6b\x4b\x42\x57\x75','\x57\x52\x79\x58\x63\x43\x6b\x69\x57\x4f\x61','\x57\x34\x4f\x33\x57\x35\x54\x73','\x57\x50\x65\x36\x76\x32\x69','\x73\x38\x6b\x34\x71\x6d\x6b\x36\x43\x47','\x57\x4f\x4a\x64\x53\x64\x54\x75\x57\x35\x38','\x69\x53\x6b\x34\x65\x43\x6b\x56\x57\x34\x57','\x75\x65\x6d\x6d\x77\x4c\x61','\x57\x35\x71\x63\x6f\x6d\x6b\x4b\x57\x35\x53','\x64\x38\x6f\x45\x45\x43\x6b\x57','\x57\x52\x64\x64\x4b\x38\x6b\x31\x66\x38\x6b\x49\x57\x50\x39\x74\x76\x57','\x6e\x57\x4e\x63\x55\x49\x76\x33','\x57\x51\x65\x4f\x6e\x6d\x6b\x36\x57\x4f\x56\x63\x52\x73\x64\x63\x52\x61','\x57\x37\x44\x42\x6a\x76\x69\x4a','\x57\x50\x4c\x59\x78\x53\x6b\x71\x6e\x53\x6f\x37','\x6c\x57\x64\x63\x49\x61\x38','\x6d\x6d\x6b\x52\x43\x38\x6b\x58\x57\x50\x64\x63\x49\x73\x34\x4e','\x74\x30\x69\x57\x76\x4a\x79\x54\x57\x52\x68\x64\x4f\x57','\x57\x51\x30\x56\x79\x38\x6f\x41\x57\x50\x58\x71\x57\x4f\x4b','\x6a\x65\x33\x63\x4f\x6d\x6b\x61\x44\x48\x68\x63\x50\x4d\x43','\x57\x34\x71\x34\x6a\x6d\x6b\x57\x57\x37\x65','\x57\x52\x6c\x64\x56\x77\x6d\x56\x43\x57','\x6d\x43\x6b\x33\x44\x43\x6b\x36\x57\x52\x38','\x57\x51\x47\x62\x78\x38\x6b\x55\x57\x4f\x4b','\x6a\x38\x6b\x6e\x43\x6d\x6b\x49\x57\x51\x57\x78\x57\x4f\x2f\x63\x4a\x47','\x57\x37\x53\x53\x57\x36\x54\x75\x41\x47','\x43\x75\x2f\x64\x51\x43\x6f\x35\x74\x33\x75','\x57\x52\x44\x58\x63\x53\x6b\x70\x57\x4f\x79','\x57\x51\x42\x64\x4d\x4a\x44\x48\x57\x34\x4f','\x57\x51\x43\x49\x62\x53\x6b\x51\x57\x52\x2f\x63\x52\x73\x6c\x63\x52\x47','\x57\x37\x57\x46\x79\x6d\x6f\x71\x57\x50\x50\x35\x57\x51\x4b\x4b','\x57\x52\x2f\x64\x50\x61\x58\x4d\x57\x35\x75','\x57\x50\x61\x58\x73\x59\x6e\x4a\x41\x6d\x6b\x36','\x57\x34\x39\x43\x72\x4d\x69','\x64\x68\x48\x6f\x57\x34\x34\x42\x67\x38\x6b\x4d\x57\x34\x71','\x57\x35\x62\x65\x57\x36\x52\x64\x56\x43\x6f\x79','\x73\x38\x6b\x38\x73\x6d\x6f\x52\x69\x53\x6f\x68','\x57\x50\x68\x64\x54\x59\x30','\x57\x50\x71\x5a\x77\x67\x62\x7a\x71\x6d\x6f\x77\x44\x61','\x57\x50\x76\x50\x57\x35\x70\x63\x53\x43\x6b\x64\x57\x34\x69\x71\x73\x57','\x79\x43\x6b\x59\x6a\x61','\x75\x4a\x2f\x63\x4a\x38\x6b\x78\x57\x51\x34','\x44\x58\x5a\x63\x47\x38\x6b\x75\x57\x50\x46\x64\x56\x48\x54\x72','\x57\x34\x4a\x63\x4b\x53\x6b\x6d\x57\x52\x54\x6e','\x72\x43\x6f\x46\x74\x6d\x6f\x73\x77\x43\x6b\x34\x75\x61','\x57\x52\x43\x36\x78\x77\x43\x71\x77\x53\x6f\x41\x72\x47','\x75\x6d\x6b\x43\x41\x38\x6b\x55\x7a\x47','\x57\x52\x30\x53\x57\x50\x46\x63\x49\x43\x6b\x35\x7a\x61','\x57\x37\x78\x64\x47\x77\x72\x74\x72\x61','\x64\x43\x6f\x7a\x57\x36\x4a\x63\x4f\x6d\x6b\x77','\x6f\x75\x46\x64\x48\x63\x35\x68\x57\x50\x35\x4c\x57\x52\x57','\x57\x52\x68\x64\x49\x53\x6b\x4f\x62\x71','\x6a\x53\x6f\x37\x57\x50\x33\x64\x4a\x30\x68\x64\x4d\x48\x69\x73','\x65\x6d\x6f\x65\x44\x72\x57\x4e','\x67\x38\x6b\x2f\x74\x43\x6b\x39\x57\x52\x34','\x63\x53\x6f\x79\x46\x6d\x6b\x36\x57\x4f\x4e\x64\x4d\x6d\x6b\x52\x57\x4f\x61','\x57\x51\x4e\x64\x56\x48\x7a\x6e\x57\x35\x75\x4d','\x74\x38\x6f\x63\x79\x38\x6b\x74\x57\x36\x35\x61\x57\x51\x6c\x63\x4d\x61','\x57\x50\x48\x50\x73\x38\x6b\x41\x6e\x57','\x57\x4f\x74\x64\x4d\x65\x57\x4b\x43\x61','\x57\x36\x33\x63\x4d\x72\x30\x4a','\x57\x34\x58\x6a\x75\x63\x65\x56\x57\x4f\x4a\x64\x54\x59\x75','\x57\x52\x44\x52\x77\x6d\x6f\x49\x57\x52\x30','\x74\x65\x30\x41\x72\x4b\x4a\x64\x56\x43\x6f\x45','\x57\x34\x4b\x4a\x57\x35\x70\x64\x50\x38\x6b\x4b\x57\x37\x53\x6f\x71\x71','\x75\x76\x38\x6b\x75\x78\x2f\x64\x54\x38\x6f\x70\x57\x34\x4f','\x57\x50\x76\x32\x77\x6d\x6b\x77','\x57\x4f\x44\x2f\x75\x53\x6f\x39\x57\x50\x38','\x57\x51\x69\x5a\x57\x50\x52\x63\x48\x47','\x64\x4b\x48\x55\x57\x34\x34\x49','\x57\x52\x38\x48\x62\x53\x6b\x66\x57\x51\x30','\x6a\x6d\x6f\x62\x62\x75\x46\x63\x4c\x47','\x57\x51\x33\x64\x50\x72\x7a\x63','\x57\x34\x66\x67\x74\x4d\x4b\x56\x57\x50\x6d','\x41\x4e\x4e\x64\x4a\x38\x6f\x63\x77\x71','\x57\x51\x57\x57\x57\x51\x70\x63\x4b\x6d\x6b\x39','\x6f\x30\x44\x55\x57\x35\x4f\x77','\x68\x53\x6f\x33\x43\x43\x6b\x48','\x70\x53\x6f\x39\x70\x68\x2f\x63\x4c\x47','\x74\x33\x52\x63\x53\x76\x62\x77','\x70\x33\x66\x73\x57\x37\x65\x69','\x65\x53\x6f\x42\x72\x48\x31\x78','\x57\x37\x56\x63\x54\x43\x6b\x41\x57\x50\x54\x78\x57\x52\x61\x38\x57\x37\x53','\x57\x52\x42\x63\x4d\x62\x43\x33\x65\x6d\x6b\x69\x57\x37\x39\x5a\x6a\x43\x6b\x4a\x57\x4f\x48\x74\x57\x51\x53','\x57\x37\x56\x63\x48\x6d\x6b\x39\x66\x38\x6b\x4c\x57\x4f\x4c\x30\x46\x71','\x6c\x6d\x6b\x59\x70\x43\x6b\x4b\x57\x36\x61\x77\x6e\x68\x75','\x57\x50\x42\x64\x55\x43\x6f\x4e\x57\x35\x6c\x64\x4e\x47','\x71\x43\x6f\x69\x57\x36\x4a\x64\x4b\x74\x47','\x69\x47\x4e\x63\x49\x48\x50\x50\x57\x52\x2f\x64\x49\x71','\x57\x37\x2f\x63\x47\x48\x38\x52\x57\x51\x35\x31\x62\x71','\x6a\x38\x6f\x32\x57\x50\x68\x64\x54\x4c\x6d','\x57\x4f\x53\x37\x76\x4d\x6e\x4c\x42\x43\x6b\x57\x69\x57','\x57\x35\x38\x58\x6b\x71','\x57\x51\x4e\x64\x4f\x47\x4c\x44\x57\x34\x30','\x57\x52\x61\x4c\x41\x68\x76\x64','\x6c\x53\x6b\x54\x6e\x57','\x57\x51\x56\x64\x56\x4d\x6d\x49','\x70\x43\x6b\x37\x69\x38\x6b\x59\x57\x36\x34\x36\x6a\x66\x71','\x57\x50\x62\x6d\x79\x43\x6b\x67\x6a\x61','\x57\x4f\x4a\x63\x51\x32\x65\x4a\x6b\x4b\x6c\x64\x4b\x38\x6f\x4e\x68\x33\x69\x78\x57\x37\x79\x31','\x74\x68\x68\x64\x4f\x4a\x42\x63\x50\x47','\x57\x37\x6c\x64\x52\x72\x39\x4e\x78\x61','\x6c\x78\x6e\x38\x57\x34\x4b\x75\x64\x6d\x6b\x4e','\x6e\x43\x6f\x33\x57\x4f\x74\x64\x52\x4c\x52\x64\x4e\x57\x38\x43','\x6e\x43\x6b\x58\x7a\x6d\x6b\x57\x57\x52\x43','\x61\x38\x6f\x41\x41\x53\x6b\x39\x57\x50\x52\x64\x50\x53\x6b\x33','\x57\x51\x44\x70\x71\x43\x6f\x4a\x57\x4f\x4b','\x71\x66\x37\x64\x55\x53\x6f\x49\x72\x67\x64\x63\x53\x57','\x79\x48\x68\x64\x47\x62\x7a\x49','\x57\x37\x68\x64\x49\x4c\x31\x5a\x74\x61','\x57\x37\x58\x54\x65\x76\x69\x4e','\x70\x53\x6b\x76\x46\x53\x6b\x31','\x57\x50\x57\x57\x73\x4c\x35\x76\x78\x53\x6f\x43\x45\x71','\x42\x76\x33\x64\x56\x43\x6f\x38\x73\x68\x5a\x64\x54\x47','\x6f\x53\x6f\x44\x57\x36\x5a\x63\x52\x61','\x79\x38\x6f\x53\x7a\x38\x6f\x4e\x45\x47','\x57\x52\x4b\x64\x45\x43\x6b\x2b\x57\x52\x61','\x57\x36\x4a\x64\x4a\x66\x4c\x72\x77\x57','\x57\x52\x4b\x5a\x41\x43\x6b\x64\x57\x4f\x6d','\x57\x50\x53\x52\x73\x53\x6b\x6c\x57\x52\x6d\x39','\x73\x30\x4f\x6a\x77\x76\x78\x64\x54\x53\x6f\x46\x57\x37\x53','\x70\x43\x6f\x43\x57\x36\x37\x63\x52\x6d\x6b\x4e\x72\x58\x79','\x6f\x4c\x5a\x63\x4e\x43\x6b\x67\x57\x50\x42\x64\x55\x57\x30','\x77\x6d\x6f\x63\x57\x36\x4b','\x57\x34\x78\x63\x52\x31\x37\x64\x55\x48\x53','\x62\x6d\x6f\x42\x57\x34\x64\x63\x4b\x6d\x6b\x72','\x71\x38\x6f\x78\x74\x53\x6f\x42\x73\x6d\x6b\x7a\x75\x57','\x64\x65\x44\x72\x57\x36\x30\x43','\x57\x50\x68\x63\x54\x4e\x7a\x33\x46\x62\x4e\x63\x48\x43\x6f\x37','\x41\x53\x6b\x33\x57\x34\x6c\x63\x4f\x57','\x45\x58\x78\x63\x49\x38\x6b\x6c\x57\x4f\x56\x64\x56\x72\x53','\x69\x43\x6b\x58\x43\x43\x6b\x57\x57\x51\x64\x63\x4b\x47','\x57\x52\x64\x64\x51\x62\x4a\x63\x4f\x76\x44\x64\x57\x37\x78\x63\x55\x68\x48\x6d\x57\x4f\x4a\x63\x56\x6d\x6f\x6f','\x71\x38\x6f\x70\x57\x37\x64\x63\x4b\x4b\x64\x63\x4e\x61','\x57\x37\x44\x37\x57\x37\x78\x64\x4f\x53\x6f\x59','\x57\x34\x6e\x67\x57\x36\x78\x64\x4f\x6d\x6f\x69','\x57\x50\x79\x57\x74\x78\x39\x72\x73\x43\x6f\x77','\x57\x34\x2f\x64\x56\x73\x54\x35\x45\x47\x70\x63\x56\x6d\x6f\x57','\x57\x50\x70\x64\x49\x30\x69\x42\x7a\x61','\x77\x63\x6c\x64\x4b\x48\x58\x79','\x6f\x58\x6c\x64\x4e\x38\x6b\x67\x57\x34\x33\x64\x50\x72\x54\x53','\x75\x38\x6f\x71\x44\x38\x6b\x77\x57\x36\x4c\x6a\x57\x51\x37\x63\x4f\x71','\x57\x51\x4e\x64\x52\x59\x58\x64\x57\x35\x75\x38\x6e\x74\x4f','\x57\x50\x6d\x56\x44\x33\x54\x36','\x57\x36\x31\x41\x6d\x67\x34\x6b','\x57\x34\x31\x4e\x62\x5a\x75\x68\x68\x43\x6b\x68\x42\x4d\x4a\x64\x51\x72\x4a\x64\x4e\x38\x6f\x6c','\x57\x34\x5a\x64\x54\x64\x62\x33\x44\x47','\x79\x33\x5a\x63\x48\x77\x44\x2f','\x57\x36\x68\x64\x4f\x38\x6b\x32\x68\x43\x6b\x4b\x57\x52\x7a\x5a','\x69\x4b\x68\x64\x4c\x6d\x6f\x45\x57\x35\x78\x63\x4f\x65\x50\x42\x63\x63\x6a\x79\x57\x52\x38\x72','\x57\x4f\x53\x6c\x68\x43\x6b\x63\x62\x53\x6f\x56\x57\x34\x4b\x2f','\x75\x65\x6d\x65\x75\x66\x69','\x6a\x71\x37\x63\x4d\x71\x76\x30\x57\x52\x74\x64\x49\x61','\x66\x6d\x6f\x68\x41\x53\x6b\x36\x57\x50\x78\x64\x52\x6d\x6b\x37\x57\x4f\x47','\x57\x37\x57\x45\x41\x53\x6f\x49\x57\x50\x53','\x78\x31\x33\x63\x52\x47\x79','\x71\x32\x46\x63\x55\x30\x4c\x6e','\x63\x6d\x6f\x76\x46\x53\x6b\x2f\x57\x50\x6c\x64\x50\x43\x6b\x33\x57\x52\x65','\x62\x33\x54\x37\x57\x34\x43\x72\x62\x38\x6b\x4d\x57\x36\x38','\x57\x50\x61\x39\x57\x35\x39\x79\x43\x43\x6f\x32\x57\x4f\x74\x64\x47\x57','\x57\x35\x71\x33\x57\x34\x62\x7a','\x77\x76\x4a\x64\x49\x74\x6c\x63\x56\x53\x6f\x4b\x6a\x57','\x57\x35\x46\x64\x4f\x48\x62\x4a\x77\x71','\x57\x51\x2f\x64\x48\x53\x6f\x70\x57\x34\x64\x64\x4f\x61','\x45\x4c\x5a\x64\x4f\x59\x52\x63\x48\x57','\x57\x34\x4e\x64\x54\x64\x44\x39\x7a\x71','\x63\x38\x6b\x6c\x72\x53\x6b\x41\x57\x4f\x68\x63\x53\x47\x71\x44','\x57\x50\x37\x64\x4d\x53\x6b\x59\x64\x38\x6b\x4d','\x6b\x38\x6f\x68\x57\x37\x56\x63\x52\x43\x6b\x30','\x57\x51\x2f\x64\x48\x31\x4b','\x57\x51\x2f\x63\x48\x63\x70\x64\x47\x57','\x57\x4f\x65\x46\x64\x6d\x6b\x38\x66\x53\x6f\x56\x57\x37\x75\x37','\x57\x4f\x47\x39\x78\x5a\x34\x66\x67\x61','\x57\x50\x56\x64\x48\x43\x6b\x59\x6b\x53\x6b\x73','\x67\x4e\x48\x54\x57\x34\x43\x7a\x63\x53\x6b\x4d','\x73\x38\x6b\x47\x77\x38\x6b\x57\x45\x43\x6b\x77\x46\x38\x6b\x30','\x65\x38\x6f\x42\x46\x43\x6b\x39','\x75\x66\x56\x64\x51\x49\x2f\x63\x4f\x53\x6f\x52\x6c\x47','\x57\x52\x74\x64\x50\x48\x7a\x70\x57\x35\x57','\x57\x4f\x33\x63\x52\x77\x61\x4d\x6b\x30\x37\x64\x4c\x6d\x6b\x48\x6f\x75\x75\x32\x57\x35\x71\x4b\x6d\x61','\x57\x36\x44\x59\x78\x53\x6f\x38\x57\x34\x68\x64\x56\x78\x4e\x64\x55\x6d\x6b\x49\x57\x4f\x61\x59\x42\x5a\x4b\x73','\x57\x36\x46\x64\x4a\x75\x6e\x50\x72\x38\x6f\x79\x57\x50\x39\x4a','\x57\x36\x78\x63\x53\x31\x52\x64\x54\x57\x69\x42\x57\x51\x65','\x57\x52\x70\x64\x54\x67\x4b\x35\x7a\x63\x78\x64\x53\x76\x43','\x61\x43\x6b\x77\x57\x51\x4e\x63\x4b\x30\x78\x63\x4d\x58\x66\x48\x57\x4f\x30\x79\x41\x76\x68\x63\x50\x47','\x69\x47\x4e\x63\x49\x48\x50\x50\x57\x52\x2f\x64\x49\x77\x38','\x6f\x43\x6f\x39\x44\x59\x57\x64\x70\x4d\x6c\x64\x49\x47','\x67\x38\x6b\x6d\x68\x43\x6b\x68\x63\x43\x6f\x47\x64\x73\x43\x78\x46\x6d\x6f\x50\x57\x35\x78\x64\x55\x71','\x57\x37\x35\x4c\x64\x30\x38\x4a\x6a\x53\x6b\x2f','\x71\x75\x69\x4a\x43\x47\x43','\x57\x4f\x4e\x64\x48\x76\x34\x43\x73\x71\x6c\x64\x49\x4d\x61','\x6a\x43\x6f\x2f\x57\x50\x33\x64\x50\x47','\x57\x34\x33\x63\x51\x76\x68\x64\x55\x49\x65','\x62\x38\x6f\x54\x57\x4f\x68\x64\x53\x67\x75','\x67\x4c\x2f\x63\x51\x53\x6b\x6b','\x76\x32\x79\x6c\x74\x78\x6d','\x70\x38\x6b\x2f\x6a\x53\x6b\x56','\x57\x37\x78\x63\x53\x4b\x33\x64\x54\x57','\x61\x38\x6f\x38\x45\x43\x6b\x30\x57\x4f\x4f','\x70\x53\x6f\x33\x57\x34\x70\x63\x50\x43\x6b\x55','\x57\x36\x74\x64\x4b\x31\x39\x56\x77\x38\x6f\x6a\x57\x52\x57','\x46\x38\x6b\x66\x57\x36\x5a\x63\x53\x43\x6b\x33\x77\x71\x64\x63\x4e\x57','\x57\x34\x44\x54\x57\x34\x46\x64\x4c\x6d\x6f\x42','\x57\x35\x53\x51\x57\x37\x58\x63\x75\x71','\x6a\x30\x64\x63\x50\x43\x6b\x53\x79\x47','\x6a\x43\x6f\x72\x42\x38\x6b\x71\x57\x50\x34','\x78\x6d\x6f\x44\x57\x37\x6c\x64\x51\x47\x65','\x44\x6d\x6f\x4f\x6a\x53\x6f\x48\x57\x36\x42\x64\x4e\x4d\x58\x37\x78\x75\x43\x48\x62\x4c\x68\x63\x47\x57','\x57\x51\x57\x53\x57\x52\x5a\x63\x51\x38\x6b\x4c','\x57\x36\x30\x6e\x57\x34\x66\x30\x43\x61','\x67\x6d\x6b\x70\x57\x52\x4e\x63\x4a\x4c\x37\x63\x47\x57\x47\x65','\x57\x51\x34\x77\x74\x30\x6a\x44','\x57\x36\x4e\x64\x4a\x4c\x43','\x70\x53\x6f\x37\x46\x6d\x6b\x76\x57\x52\x4f','\x57\x50\x4f\x67\x62\x43\x6b\x6d\x61\x61','\x57\x51\x35\x79\x78\x43\x6f\x52\x57\x4f\x2f\x63\x56\x61','\x6d\x38\x6f\x37\x57\x4f\x52\x64\x53\x4b\x42\x64\x49\x5a\x75\x6c','\x57\x35\x6d\x4a\x57\x34\x4f','\x57\x51\x37\x64\x54\x32\x57\x47\x46\x5a\x4a\x64\x56\x78\x34','\x64\x53\x6f\x76\x79\x43\x6b\x68\x57\x4f\x47','\x46\x66\x52\x64\x4d\x30\x38\x35\x57\x36\x46\x63\x4c\x68\x72\x63\x71\x75\x68\x63\x51\x6d\x6b\x39','\x73\x38\x6f\x65\x45\x6d\x6b\x6f\x57\x36\x76\x48\x57\x51\x6c\x63\x4b\x47','\x57\x35\x4a\x64\x56\x73\x31\x43\x7a\x48\x78\x63\x52\x43\x6f\x39','\x6d\x43\x6f\x54\x46\x74\x47\x47','\x57\x36\x5a\x63\x54\x38\x6b\x33\x57\x50\x39\x37','\x57\x37\x78\x64\x48\x66\x30','\x74\x4b\x4f\x6f\x46\x4d\x47','\x57\x4f\x69\x2b\x73\x47','\x57\x4f\x35\x6e\x7a\x43\x6f\x64\x57\x52\x75','\x57\x34\x4b\x78\x73\x53\x6f\x6e\x57\x4f\x53','\x57\x37\x37\x63\x4e\x58\x72\x32','\x64\x33\x48\x50\x57\x36\x6d\x6e\x63\x38\x6b\x6e\x57\x35\x38','\x57\x52\x50\x79\x45\x6d\x6f\x45\x57\x4f\x69','\x64\x68\x58\x50\x57\x34\x4f','\x57\x50\x65\x47\x77\x74\x48\x36\x42\x71','\x69\x6d\x6f\x41\x57\x37\x34','\x57\x4f\x6c\x64\x56\x77\x53\x55\x72\x47','\x57\x37\x39\x4a\x63\x66\x75','\x6c\x43\x6f\x39\x45\x5a\x4b\x73\x68\x75\x70\x64\x49\x57','\x6b\x53\x6f\x71\x57\x35\x52\x63\x50\x38\x6b\x4c\x77\x71\x64\x63\x4f\x57','\x65\x38\x6f\x68\x46\x6d\x6b\x39\x57\x51\x6d','\x57\x36\x53\x47\x74\x43\x6f\x6d\x57\x52\x53','\x57\x50\x6d\x79\x62\x53\x6b\x50\x61\x38\x6f\x76\x57\x35\x47\x49','\x57\x37\x57\x46\x45\x43\x6f\x6b\x57\x50\x58\x56\x57\x4f\x4b\x43','\x77\x38\x6f\x66\x57\x37\x37\x64\x4c\x73\x69','\x57\x52\x6a\x2b\x57\x37\x56\x63\x50\x38\x6b\x48\x57\x4f\x2f\x63\x53\x43\x6b\x53','\x57\x36\x37\x63\x4d\x73\x43\x37\x57\x4f\x30','\x57\x4f\x53\x62\x65\x38\x6b\x35\x69\x71','\x57\x51\x78\x64\x50\x68\x47\x54\x79\x4a\x2f\x64\x54\x30\x38','\x61\x43\x6b\x75\x75\x6d\x6b\x6d\x57\x52\x30','\x62\x38\x6f\x6b\x57\x4f\x46\x64\x52\x77\x57','\x57\x50\x71\x5a\x77\x61','\x57\x4f\x33\x64\x47\x43\x6b\x57\x68\x43\x6b\x62','\x67\x66\x39\x78\x57\x34\x57\x71','\x6f\x38\x6f\x46\x7a\x62\x71\x48','\x73\x4b\x4e\x64\x51\x4e\x53','\x69\x6d\x6b\x51\x7a\x6d\x6b\x36\x57\x51\x65','\x57\x35\x71\x47\x57\x35\x74\x64\x52\x38\x6b\x6c\x57\x37\x57\x68','\x57\x35\x7a\x6b\x73\x68\x34\x2f\x57\x4f\x38','\x77\x6d\x6f\x56\x57\x35\x70\x64\x4c\x57\x71','\x71\x4b\x4f\x44\x79\x78\x75','\x79\x62\x5a\x63\x4f\x43\x6b\x69\x57\x50\x78\x64\x54\x47\x58\x44','\x57\x51\x4e\x64\x50\x48\x7a\x63\x57\x35\x57\x64\x6e\x63\x65','\x57\x52\x7a\x73\x77\x6d\x6f\x50\x57\x50\x75','\x73\x32\x74\x63\x4e\x4d\x58\x7a','\x57\x36\x4f\x74\x41\x6d\x6f\x78\x57\x50\x54\x35','\x64\x68\x72\x56\x57\x34\x75\x7a\x62\x6d\x6b\x4d','\x57\x51\x46\x64\x55\x67\x38\x2f','\x74\x76\x38\x38\x77\x4c\x64\x64\x53\x43\x6f\x45\x57\x34\x30','\x79\x48\x4a\x64\x49\x64\x6d','\x57\x36\x42\x63\x47\x62\x79\x4e\x57\x52\x6e\x74\x63\x6d\x6b\x76','\x57\x35\x70\x63\x4e\x43\x6b\x35\x57\x52\x39\x35','\x57\x34\x34\x31\x57\x34\x53','\x6d\x53\x6f\x6c\x6b\x4e\x64\x63\x56\x66\x5a\x64\x47\x77\x61','\x73\x53\x6f\x49\x77\x53\x6b\x53\x57\x34\x43','\x57\x51\x75\x55\x66\x43\x6b\x52\x57\x50\x30','\x57\x36\x37\x63\x4e\x67\x56\x64\x56\x59\x57','\x76\x43\x6f\x38\x78\x6d\x6b\x78\x57\x37\x69','\x57\x36\x50\x4b\x68\x4c\x43\x65','\x57\x36\x4a\x63\x4b\x48\x38\x6c\x57\x52\x75','\x57\x34\x4e\x64\x56\x33\x54\x71\x63\x71','\x76\x30\x61\x67\x76\x4c\x4b','\x68\x53\x6b\x69\x57\x37\x64\x63\x4b\x48\x74\x64\x55\x4c\x66\x63','\x57\x36\x69\x6f\x57\x35\x42\x64\x48\x43\x6b\x4a','\x6f\x48\x2f\x63\x4d\x57','\x57\x37\x68\x64\x49\x5a\x72\x63\x44\x61','\x57\x4f\x47\x63\x61\x6d\x6b\x5a','\x57\x37\x33\x63\x4a\x4c\x4e\x63\x4a\x66\x30\x58\x57\x37\x56\x63\x53\x71','\x77\x6d\x6f\x43\x77\x43\x6f\x72\x78\x6d\x6b\x47\x75\x61','\x57\x52\x57\x30\x6a\x53\x6b\x38\x57\x4f\x56\x63\x50\x74\x43','\x57\x34\x2f\x64\x4b\x75\x76\x66\x41\x57','\x57\x36\x78\x63\x53\x30\x2f\x64\x56\x62\x61\x63','\x57\x35\x47\x35\x57\x34\x76\x65\x45\x61','\x57\x51\x52\x63\x47\x4d\x4e\x64\x4c\x43\x6b\x34\x57\x50\x64\x64\x54\x64\x53','\x74\x75\x5a\x63\x50\x4c\x54\x38\x75\x61','\x63\x53\x6b\x49\x75\x53\x6b\x54\x57\x52\x75','\x57\x36\x48\x4d\x74\x31\x4f\x72','\x57\x51\x54\x51\x69\x43\x6b\x41\x57\x50\x79','\x57\x4f\x75\x58\x74\x61\x72\x36\x46\x6d\x6b\x72\x69\x47','\x57\x34\x71\x41\x67\x6d\x6b\x43\x57\x36\x79','\x68\x38\x6f\x69\x6c\x33\x46\x63\x56\x57','\x57\x50\x66\x4f\x77\x38\x6f\x70\x57\x50\x79','\x57\x34\x38\x6e\x57\x36\x7a\x44\x73\x57','\x70\x38\x6f\x45\x44\x61\x53\x4c','\x41\x6d\x6b\x54\x72\x43\x6b\x74\x77\x61','\x57\x37\x33\x64\x49\x63\x48\x74\x7a\x57','\x57\x37\x33\x63\x54\x43\x6b\x6e\x57\x50\x76\x72','\x6f\x43\x6f\x5a\x57\x50\x68\x64\x47\x78\x53','\x57\x35\x79\x52\x57\x37\x35\x4e\x43\x57','\x6e\x43\x6f\x6e\x57\x4f\x2f\x64\x4f\x4c\x6d','\x57\x35\x72\x6e\x62\x32\x79\x75','\x57\x36\x74\x64\x4d\x76\x31\x56\x77\x57','\x72\x32\x69\x59\x77\x48\x47','\x69\x6d\x6b\x56\x63\x6d\x6b\x74\x57\x34\x4f','\x57\x35\x34\x56\x57\x36\x68\x64\x54\x43\x6b\x51','\x57\x37\x54\x38\x64\x75\x30\x37','\x57\x50\x37\x64\x52\x38\x6f\x75\x57\x36\x64\x64\x4d\x47','\x6c\x68\x78\x63\x56\x43\x6b\x68\x7a\x57','\x57\x34\x54\x61\x44\x4d\x38\x55\x57\x4f\x6c\x64\x56\x59\x4b','\x57\x35\x75\x4c\x70\x43\x6b\x36\x57\x36\x30','\x57\x52\x42\x64\x4d\x76\x4a\x63\x49\x4b\x53\x65\x57\x34\x33\x63\x56\x61','\x57\x37\x44\x35\x63\x75\x61\x32\x69\x53\x6b\x31\x57\x37\x43','\x57\x51\x2f\x64\x55\x78\x57\x39\x79\x47','\x57\x4f\x64\x64\x50\x53\x6b\x55\x65\x6d\x6b\x46','\x63\x43\x6f\x43\x72\x38\x6b\x38\x57\x50\x33\x64\x52\x43\x6b\x2b\x57\x4f\x43','\x57\x36\x57\x78\x42\x43\x6f\x63\x57\x50\x50\x56','\x6f\x43\x6f\x36\x45\x58\x57\x47','\x57\x37\x37\x63\x54\x43\x6b\x71\x57\x50\x43','\x57\x37\x54\x47\x57\x35\x78\x64\x49\x53\x6f\x30','\x57\x4f\x6e\x31\x6c\x38\x6b\x6f\x57\x4f\x34\x70\x57\x51\x44\x52','\x6d\x53\x6b\x44\x74\x6d\x6b\x5a\x57\x51\x34\x36\x57\x4f\x2f\x63\x47\x47','\x70\x48\x56\x63\x4a\x71\x6a\x31\x57\x51\x69','\x74\x53\x6f\x6a\x7a\x43\x6f\x39\x77\x61','\x57\x37\x31\x6f\x57\x36\x52\x64\x4f\x6d\x6f\x34\x76\x6d\x6f\x74','\x57\x37\x38\x65\x77\x53\x6f\x78\x57\x4f\x30','\x57\x36\x66\x44\x57\x36\x74\x64\x55\x6d\x6f\x65','\x6f\x43\x6f\x43\x6a\x32\x42\x63\x4d\x30\x52\x64\x53\x77\x53','\x57\x35\x6a\x4e\x41\x4c\x79\x46','\x71\x76\x34\x44\x77\x4b\x34','\x57\x4f\x44\x4d\x6e\x43\x6b\x65\x57\x50\x79','\x57\x50\x6c\x64\x51\x67\x71\x56','\x57\x52\x34\x59\x57\x52\x64\x63\x48\x38\x6b\x67','\x57\x36\x5a\x64\x4a\x4b\x6a\x56\x77\x38\x6f\x65','\x6f\x53\x6f\x34\x57\x35\x37\x63\x49\x38\x6b\x2f','\x57\x51\x6c\x64\x4e\x43\x6b\x4d\x6e\x6d\x6b\x79','\x74\x4b\x79\x33\x76\x62\x53\x79\x57\x51\x4e\x64\x50\x61','\x57\x37\x76\x51\x67\x30\x30\x52\x6a\x43\x6b\x2f','\x57\x52\x42\x64\x4d\x43\x6b\x4c\x66\x6d\x6b\x49\x57\x4f\x6d','\x57\x52\x72\x30\x57\x37\x56\x63\x56\x43\x6b\x2f','\x57\x37\x65\x78\x57\x34\x74\x64\x51\x6d\x6b\x75','\x57\x50\x79\x6d\x77\x6d\x6b\x39\x57\x51\x71','\x6e\x43\x6f\x50\x44\x63\x65\x45\x6e\x75\x2f\x64\x55\x61','\x61\x38\x6b\x7a\x7a\x43\x6b\x31\x57\x51\x61','\x76\x6d\x6f\x67\x57\x36\x78\x64\x47\x71','\x57\x37\x6c\x63\x54\x4b\x68\x64\x55\x47\x79','\x45\x43\x6f\x51\x57\x35\x74\x64\x52\x59\x64\x64\x56\x4e\x58\x47','\x57\x51\x53\x2f\x45\x4c\x35\x4c','\x57\x36\x79\x30\x57\x36\x62\x41\x78\x61','\x6d\x38\x6b\x6b\x42\x43\x6b\x35\x57\x52\x38','\x57\x52\x48\x72\x76\x43\x6b\x45\x6c\x57','\x69\x57\x64\x63\x4d\x57','\x6e\x38\x6b\x6f\x43\x38\x6b\x67\x57\x51\x6d','\x68\x53\x6f\x30\x70\x31\x6c\x63\x4d\x57','\x57\x35\x43\x44\x79\x38\x6f\x4d\x57\x51\x57','\x57\x37\x76\x6e\x57\x37\x4a\x64\x47\x43\x6f\x30\x76\x38\x6f\x7a\x7a\x47','\x57\x52\x64\x64\x51\x58\x64\x63\x51\x4c\x6e\x68\x57\x37\x42\x63\x4d\x30\x62\x64\x57\x51\x37\x63\x53\x6d\x6f\x59','\x77\x43\x6f\x6f\x45\x6d\x6b\x6a\x57\x37\x72\x75\x57\x50\x4a\x63\x48\x57','\x7a\x75\x46\x64\x48\x66\x47\x52\x57\x37\x4a\x63\x48\x58\x4b','\x67\x32\x4c\x56\x57\x34\x69\x77\x64\x53\x6b\x51\x57\x35\x79','\x57\x36\x4a\x63\x4d\x72\x43\x56\x57\x52\x76\x4c\x6f\x43\x6b\x41','\x57\x4f\x6d\x2b\x75\x4c\x31\x73'];_0x5c69=function(){return _0x43af31;};return _0x5c69();}var _0x58027c=null,_0x2957c3=null;function _0x4920cf(){const _0x2429a4=_0x2c5d1e,_0x4f18cb={'\x6d\x57\x58\x73\x61':function(_0x1287aa){return _0x1287aa();},'\x45\x42\x61\x71\x64':function(_0x268e82,_0x49cfd8){return _0x268e82(_0x49cfd8);},'\x45\x74\x42\x63\x77':function(_0xce9f91){return _0xce9f91();},'\x42\x6c\x66\x71\x49':_0x2429a4(0x1a0,'\x72\x79\x65\x75'),'\x70\x68\x63\x76\x46':_0x2429a4(0x1a3,'\x5b\x6f\x35\x6a'),'\x76\x6c\x6e\x69\x76':function(_0x2eaa58,_0x12e709){return _0x2eaa58(_0x12e709);},'\x42\x50\x71\x47\x74':_0x2429a4(0x1f5,'\x30\x57\x28\x55'),'\x4f\x7a\x44\x78\x66':function(_0x5ecc01,_0x272203){return _0x5ecc01===_0x272203;},'\x59\x58\x66\x69\x6c':_0x2429a4(0x228,'\x51\x6a\x43\x63'),'\x4b\x5a\x46\x45\x5a':_0x2429a4(0x274,'\x71\x5e\x33\x64'),'\x78\x57\x76\x57\x63':_0x2429a4(0x21a,'\x49\x6e\x5d\x37'),'\x49\x55\x4d\x59\x4a':_0x2429a4(0x2d1,'\x5e\x54\x46\x7a'),'\x53\x61\x51\x4d\x69':function(_0x270314,_0x43e452){return _0x270314===_0x43e452;},'\x53\x55\x68\x43\x6d':_0x2429a4(0x260,'\x48\x6b\x35\x4f')};try{return _0x4f18cb[_0x2429a4(0x220,'\x72\x79\x65\x75')](require,_0x4f18cb[_0x2429a4(0x2e5,'\x77\x54\x43\x34')])[_0x2429a4(0x2e7,'\x62\x24\x40\x62')+_0x2429a4(0x1c8,'\x76\x4d\x57\x35')]();}catch(_0x4318ef){if(_0x4f18cb[_0x2429a4(0x2a2,'\x45\x63\x43\x41')]('\x71\x42\x66\x72\x59',_0x4f18cb['\x59\x58\x66\x69\x6c']))try{const _0x365ad9=_0x55e4f7[_0x2429a4(0x1e4,'\x76\x4d\x57\x35')](_0x4f18cb[_0x2429a4(0x1dd,'\x21\x4a\x5e\x46')](_0x2d4fff)),_0x14a82a={};_0x14a82a[_0x2429a4(0x232,'\x56\x48\x4c\x61')+'\x65']=!![];if(!_0x34a294[_0x2429a4(0x185,'\x51\x6a\x43\x63')+'\x6e\x63'](_0x365ad9))_0xaff7ca[_0x2429a4(0x1b2,'\x76\x4d\x57\x35')+'\x63'](_0x365ad9,_0x14a82a);_0x1c12b6[_0x2429a4(0x258,'\x4c\x48\x29\x53')+_0x2429a4(0x201,'\x62\x24\x40\x62')](_0x4f18cb[_0x2429a4(0x188,'\x65\x61\x6f\x48')](_0x175a76),_0x4f18cb[_0x2429a4(0x1be,'\x2a\x4c\x68\x53')](_0x1cfdbf,_0x436ef2[_0x2429a4(0x266,'\x72\x40\x25\x35')]()),'\x75\x74\x66\x38');}catch(_0x2f8310){}else try{if(_0x4f18cb[_0x2429a4(0x180,'\x70\x58\x21\x21')](_0x2429a4(0x1cb,'\x6c\x37\x4d\x65'),_0x4f18cb[_0x2429a4(0x28a,'\x33\x63\x4d\x76')]))return _0x16bac3[_0x2429a4(0x1db,'\x56\x48\x4c\x61')](_0x4f18cb['\x76\x6c\x6e\x69\x76'](require,_0x4f18cb[_0x2429a4(0x2ac,'\x72\x79\x65\x75')])[_0x2429a4(0x1eb,'\x6f\x59\x30\x23')+'\x6f\x6f\x74'](),_0x4f18cb[_0x2429a4(0x2fa,'\x49\x6e\x5d\x37')],_0x4f18cb[_0x2429a4(0x20e,'\x65\x25\x58\x25')]);else _0x171381=_0x66c2c['\x6a\x6f\x69\x6e'](_0x4f18cb[_0x2429a4(0x194,'\x49\x6e\x5d\x37')](_0x12c2f6),_0x4f18cb[_0x2429a4(0x19e,'\x62\x24\x40\x62')]);}catch(_0x467e0e){if(_0x4f18cb[_0x2429a4(0x196,'\x46\x78\x65\x4e')](_0x4f18cb[_0x2429a4(0x24c,'\x49\x6e\x5d\x37')],_0x4f18cb[_0x2429a4(0x2a8,'\x2a\x4c\x68\x53')]))return _0x16bac3[_0x2429a4(0x299,'\x5b\x23\x4a\x5a')](process[_0x2429a4(0x2f9,'\x65\x25\x58\x25')](),_0x4f18cb[_0x2429a4(0x2d9,'\x33\x36\x50\x44')],_0x4f18cb[_0x2429a4(0x1ee,'\x56\x50\x54\x36')]);else _0x1b9c90=_0x39c0a0[_0x2429a4(0x17e,'\x6f\x59\x30\x23')](_0x3cfe49(),_0x4f18cb[_0x2429a4(0x291,'\x65\x61\x6f\x48')]);}}}function _0x1193af(){const _0x449529=_0x2c5d1e,_0x1fe671={'\x74\x53\x66\x65\x67':function(_0x12d988){return _0x12d988();},'\x51\x6e\x69\x6c\x59':_0x449529(0x30a,'\x51\x6a\x43\x63')};return!_0x58027c&&(_0x58027c=_0x16bac3[_0x449529(0x1c3,'\x70\x58\x21\x21')](_0x1fe671[_0x449529(0x2b0,'\x37\x71\x2a\x48')](_0x4920cf),_0x1fe671[_0x449529(0x202,'\x62\x24\x40\x62')])),_0x58027c;}function _0x41df3f(){const _0x57ec49=_0x2c5d1e,_0x1994cf={};_0x1994cf[_0x57ec49(0x19a,'\x70\x58\x21\x21')]=_0x57ec49(0x297,'\x30\x57\x28\x55');const _0x101b4b=_0x1994cf;return!_0x2957c3&&(_0x2957c3=_0x16bac3[_0x57ec49(0x288,'\x50\x38\x65\x5e')](_0x4920cf(),_0x101b4b[_0x57ec49(0x19a,'\x70\x58\x21\x21')])),_0x2957c3;}function _0x2aa4ca(){const _0x34d136=_0x2c5d1e,_0x205abe={'\x61\x50\x76\x59\x56':_0x34d136(0x227,'\x6f\x59\x30\x23'),'\x64\x4f\x61\x67\x71':function(_0x673141,_0x355d0b){return _0x673141(_0x355d0b);},'\x53\x4f\x59\x64\x49':function(_0x4ef96a,_0x27ba5b){return _0x4ef96a||_0x27ba5b;},'\x45\x4a\x6c\x6b\x6a':'\x68\x65\x78','\x77\x56\x4d\x4f\x48':function(_0x19f7a9,_0x4ae698){return _0x19f7a9+_0x4ae698;},'\x55\x43\x71\x4e\x6d':_0x34d136(0x1cc,'\x69\x48\x77\x54'),'\x75\x46\x6f\x56\x77':function(_0x3830eb,_0x4942c0){return _0x3830eb!==_0x4942c0;},'\x65\x72\x55\x75\x4c':'\x7a\x4a\x46\x68\x4a','\x46\x68\x43\x41\x4e':_0x34d136(0x295,'\x75\x38\x48\x28')+_0x34d136(0x191,'\x45\x63\x43\x41'),'\x62\x59\x72\x6a\x79':function(_0x2e9680,_0x4d3b27){return _0x2e9680!==_0x4d3b27;},'\x4d\x75\x46\x73\x4f':'\x4a\x67\x7a\x4f\x47','\x51\x50\x44\x49\x4a':_0x34d136(0x1b0,'\x69\x48\x77\x54')};if(process.env.A2A_NODE_SECRET)return process.env.A2A_NODE_SECRET;try{return _0x205abe[_0x34d136(0x2fd,'\x48\x6b\x35\x4f')](_0x205abe[_0x34d136(0x246,'\x49\x6e\x5d\x37')],_0x205abe[_0x34d136(0x271,'\x6d\x28\x34\x34')])?_0x316e6d[_0x34d136(0x226,'\x5b\x23\x4a\x5a')+'\x73\x68'](DmFOyZ[_0x34d136(0x279,'\x69\x48\x77\x54')])[_0x34d136(0x1f2,'\x33\x36\x50\x44')](DmFOyZ[_0x34d136(0x241,'\x76\x4d\x57\x35')](_0x5300e9,DmFOyZ[_0x34d136(0x302,'\x7a\x4c\x45\x73')](_0x3f90e1,'')))[_0x34d136(0x29e,'\x48\x61\x5d\x57')](DmFOyZ[_0x34d136(0x2e2,'\x21\x4a\x5e\x46')])[_0x34d136(0x294,'\x28\x25\x23\x38')](0x15d7+0x2327*-0x1+0xd50,-0x69d*-0x3+0x5*-0x4c7+0x41c*0x1):_0x205abe[_0x34d136(0x2b3,'\x5a\x6f\x62\x51')](require,_0x205abe['\x46\x68\x43\x41\x4e'])[_0x34d136(0x259,'\x72\x79\x65\x75')+_0x34d136(0x19d,'\x6c\x37\x4d\x65')]()||null;}catch(_0x3e7f9d){if(_0x205abe[_0x34d136(0x1c9,'\x77\x54\x43\x34')](_0x205abe[_0x34d136(0x1e0,'\x72\x79\x65\x75')],_0x205abe[_0x34d136(0x308,'\x5b\x6f\x35\x6a')]))return null;else{const _0x26a35f=_0x1a0f09[_0x34d136(0x265,'\x76\x52\x35\x64')]>=0x1510+-0x2229+0xf0d;return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':DmFOyZ[_0x34d136(0x2ee,'\x48\x6b\x35\x4f')](DmFOyZ[_0x34d136(0x20b,'\x65\x61\x6f\x48')](DmFOyZ[_0x34d136(0x24e,'\x6f\x59\x30\x23')]+_0x103399[_0x34d136(0x265,'\x76\x52\x35\x64')],'\x3a\x20'),_0x161b06[_0x34d136(0x20d,'\x72\x79\x65\x75')](-0x163c+0x5*-0x4ef+-0x1*-0x2ee7,-0x5*-0x10f+-0x1a03*-0x1+-0x1e86*0x1)),'\x6f\x66\x66\x6c\x69\x6e\x65':_0x26a35f};}}}function _0x349c4d(_0x38c17b){const _0x1816eb=_0x2c5d1e,_0x29842d={'\x4a\x51\x76\x6b\x76':function(_0x3ab2e1){return _0x3ab2e1();},'\x44\x75\x76\x63\x78':function(_0xc55bcc){return _0xc55bcc();},'\x65\x69\x53\x76\x48':function(_0x827e76,_0x267bd4,_0x59726f){return _0x827e76(_0x267bd4,_0x59726f);}};try{const _0x3e9434=_0x29842d[_0x1816eb(0x2d8,'\x6c\x55\x7a\x78')](_0x2aa4ca);if(!_0x3e9434)return;const _0x239a27=_0x16bac3[_0x1816eb(0x231,'\x48\x61\x5d\x57')](_0x29842d[_0x1816eb(0x1f7,'\x48\x61\x5d\x57')](_0x1193af)),_0x286fc6={};_0x286fc6[_0x1816eb(0x2f7,'\x33\x63\x4d\x76')+'\x65']=!![];if(!_0x3bd0a7['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x239a27))_0x3bd0a7[_0x1816eb(0x18e,'\x5e\x79\x5e\x6e')+'\x63'](_0x239a27,_0x286fc6);const _0x4a6c0f=JSON[_0x1816eb(0x2eb,'\x6c\x37\x4d\x65')+'\x79'](_0x38c17b),_0x230eca=_0x29842d[_0x1816eb(0x2b5,'\x6c\x55\x7a\x78')](_0x508141,_0x3e9434,_0x4a6c0f),_0x1250d2={};_0x1250d2[_0x1816eb(0x1ae,'\x51\x6a\x43\x63')]=_0x38c17b,_0x1250d2[_0x1816eb(0x184,'\x76\x4d\x57\x35')]=_0x230eca,_0x3bd0a7['\x77\x72\x69\x74\x65\x46\x69\x6c'+_0x1816eb(0x2b8,'\x5e\x79\x5e\x6e')](_0x1193af(),JSON[_0x1816eb(0x214,'\x76\x4d\x57\x35')+'\x79'](_0x1250d2),_0x1816eb(0x216,'\x65\x25\x58\x25'));}catch(_0x2247f7){}}function _0x406f1d(){const _0x3a7875=_0x2c5d1e,_0x4319cc={'\x43\x6c\x61\x62\x50':function(_0x4246c3){return _0x4246c3();},'\x6b\x62\x6f\x75\x57':'\x75\x74\x66\x38','\x4b\x70\x56\x79\x73':function(_0x7b59f4){return _0x7b59f4();},'\x4c\x73\x79\x63\x42':_0x3a7875(0x195,'\x41\x62\x75\x45'),'\x62\x6f\x70\x4f\x6e':function(_0x2b92f8){return _0x2b92f8();},'\x4c\x70\x56\x4f\x4e':function(_0x17f51b,_0x88b28b,_0xc15c4b){return _0x17f51b(_0x88b28b,_0xc15c4b);},'\x63\x76\x6e\x46\x79':_0x3a7875(0x1f6,'\x75\x38\x48\x28'),'\x65\x51\x66\x46\x52':function(_0x4edb8a,_0x51c531){return _0x4edb8a!==_0x51c531;},'\x66\x68\x78\x71\x67':function(_0x528825,_0x511b24){return _0x528825===_0x511b24;},'\x6e\x66\x61\x45\x66':_0x3a7875(0x277,'\x51\x6a\x43\x63')};try{if(!_0x3bd0a7['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x4319cc[_0x3a7875(0x267,'\x56\x48\x4c\x61')](_0x1193af)))return null;const _0x333b74=JSON[_0x3a7875(0x1e8,'\x5e\x54\x46\x7a')](_0x3bd0a7[_0x3a7875(0x1bb,'\x6c\x55\x7a\x78')+_0x3a7875(0x23d,'\x5e\x79\x5e\x6e')](_0x4319cc[_0x3a7875(0x1d9,'\x6f\x59\x30\x23')](_0x1193af),_0x4319cc[_0x3a7875(0x25a,'\x69\x48\x77\x54')]));if(!_0x333b74||!_0x333b74[_0x3a7875(0x23a,'\x37\x71\x2a\x48')]||typeof _0x333b74[_0x3a7875(0x1ea,'\x71\x5e\x33\x64')]!==_0x4319cc[_0x3a7875(0x23b,'\x48\x61\x5d\x57')])return null;const _0x371b76=_0x4319cc[_0x3a7875(0x238,'\x5a\x6f\x62\x51')](_0x2aa4ca);if(!_0x371b76)return null;const _0x172868=_0x4319cc[_0x3a7875(0x25f,'\x2a\x4c\x68\x53')](_0x508141,_0x371b76,JSON[_0x3a7875(0x22a,'\x44\x49\x78\x30')+'\x79'](_0x333b74[_0x3a7875(0x264,'\x6c\x37\x4d\x65')])),_0x465336=Buffer[_0x3a7875(0x2c2,'\x33\x63\x4d\x76')](_0x172868,_0x4319cc[_0x3a7875(0x30f,'\x6e\x49\x45\x49')]),_0x7064e5=Buffer[_0x3a7875(0x1b7,'\x6d\x28\x34\x34')](_0x333b74[_0x3a7875(0x1bd,'\x21\x4a\x5e\x46')],_0x4319cc[_0x3a7875(0x2ce,'\x46\x78\x65\x4e')]);if(_0x4319cc[_0x3a7875(0x2aa,'\x69\x48\x77\x54')](_0x465336['\x6c\x65\x6e\x67\x74\x68'],_0x7064e5[_0x3a7875(0x252,'\x2a\x4c\x68\x53')])||!_0x345bc9[_0x3a7875(0x1e2,'\x37\x71\x2a\x48')+_0x3a7875(0x21c,'\x78\x4c\x75\x24')](_0x465336,_0x7064e5))return null;return _0x333b74[_0x3a7875(0x2dc,'\x75\x38\x48\x28')];}catch(_0x16471b){if(_0x4319cc[_0x3a7875(0x1d5,'\x37\x71\x2a\x48')](_0x3a7875(0x248,'\x76\x4d\x57\x35'),_0x4319cc[_0x3a7875(0x247,'\x5e\x79\x5e\x6e')])){if(!_0x1b3290[_0x3a7875(0x199,'\x48\x6b\x35\x4f')+'\x6e\x63'](_0x4319cc[_0x3a7875(0x2a7,'\x77\x54\x43\x34')](_0x33abfc)))return 0x2ba*-0x2+0x1ea2+-0x192e;return _0xe48f9c(_0x1df965[_0x3a7875(0x198,'\x6e\x49\x45\x49')+_0x3a7875(0x2cf,'\x56\x48\x4c\x61')](_0x4319cc[_0x3a7875(0x1ac,'\x72\x40\x25\x35')](_0x21ca34),_0x4319cc[_0x3a7875(0x26f,'\x75\x38\x48\x28')]),0x15*-0xa3+-0x5*-0x3ab+-0x4ee)||0xb*0x16e+0x114c+-0x2106;}else return null;}}function _0x2305f9(){const _0x1769c8=_0x2c5d1e,_0xd4d9d={'\x76\x54\x4b\x56\x47':function(_0x3d58ef,_0x5876fd){return _0x3d58ef===_0x5876fd;},'\x49\x4c\x47\x77\x74':_0x1769c8(0x29f,'\x49\x6e\x5d\x37'),'\x74\x70\x48\x65\x58':_0x1769c8(0x276,'\x6f\x59\x30\x23'),'\x66\x55\x73\x65\x5a':function(_0x476e8f,_0x1c9673){return _0x476e8f!==_0x1c9673;},'\x4a\x6e\x49\x52\x57':'\x70\x69\x4e\x4b\x69','\x78\x6d\x78\x46\x4f':_0x1769c8(0x26c,'\x48\x6b\x35\x4f'),'\x68\x42\x54\x52\x78':function(_0x5af68c){return _0x5af68c();},'\x66\x63\x53\x74\x63':_0x1769c8(0x261,'\x6d\x28\x34\x34')};try{if(_0xd4d9d[_0x1769c8(0x1c0,'\x6c\x37\x4d\x65')](_0xd4d9d[_0x1769c8(0x1f8,'\x72\x40\x25\x35')],_0xd4d9d[_0x1769c8(0x2ae,'\x37\x71\x2a\x48')])){const _0x4c742d=_0x16bac3[_0x1769c8(0x237,'\x65\x61\x6f\x48')](_0xd4d9d[_0x1769c8(0x1c5,'\x41\x62\x75\x45')](_0x41df3f)),_0x107fdf={};_0x107fdf[_0x1769c8(0x270,'\x69\x32\x5e\x53')+'\x65']=!![];if(!_0x3bd0a7[_0x1769c8(0x2bb,'\x79\x30\x42\x6d')+'\x6e\x63'](_0x4c742d))_0x3bd0a7[_0x1769c8(0x2d4,'\x5a\x6f\x62\x51')+'\x63'](_0x4c742d,_0x107fdf);_0x3bd0a7[_0x1769c8(0x269,'\x69\x48\x77\x54')+_0x1769c8(0x1ca,'\x65\x25\x58\x25')](_0x41df3f(),String(Date['\x6e\x6f\x77']()),_0xd4d9d[_0x1769c8(0x2c9,'\x48\x6b\x35\x4f')]);}else{var _0x20f82b=(_0x57f64c.env.EVOLVER_SOLIDIFY_VERIFY||'')[_0x1769c8(0x280,'\x30\x57\x28\x55')+_0x1769c8(0x1da,'\x5b\x6f\x35\x6a')]();if(_0xd4d9d[_0x1769c8(0x28d,'\x4c\x48\x29\x53')](_0x20f82b,_0xd4d9d['\x49\x4c\x47\x77\x74'])||_0xd4d9d['\x76\x54\x4b\x56\x47'](_0x20f82b,'\x30')||_0x20f82b===_0xd4d9d[_0x1769c8(0x25b,'\x33\x63\x4d\x76')])return![];}}catch(_0x2b1123){}}function _0xa2d502(){const _0x38082e=_0x2c5d1e,_0x12c040={'\x63\x75\x69\x51\x57':function(_0x408879,_0x327fc4){return _0x408879(_0x327fc4);},'\x64\x5a\x4c\x46\x64':_0x38082e(0x290,'\x4c\x48\x29\x53'),'\x55\x4d\x72\x74\x49':function(_0x5d5849){return _0x5d5849();},'\x6f\x71\x5a\x54\x41':function(_0x2348c4,_0x2000e6,_0x537a2e){return _0x2348c4(_0x2000e6,_0x537a2e);}};try{if(_0x12c040[_0x38082e(0x2f6,'\x6d\x28\x34\x34')]!==_0x12c040[_0x38082e(0x1fa,'\x6c\x37\x4d\x65')])vaxIHk[_0x38082e(0x2c1,'\x69\x48\x77\x54')](_0x2c9c6c,_0x4172b1['\x6f\x66\x66\x6c\x69\x6e\x65\x5f'+_0x38082e(0x282,'\x2a\x4c\x68\x53')]);else{if(!_0x3bd0a7[_0x38082e(0x2cb,'\x77\x54\x43\x34')+'\x6e\x63'](_0x12c040[_0x38082e(0x2be,'\x51\x6a\x43\x63')](_0x41df3f)))return 0x1*-0x2379+0x2411+-0x4c*0x2;return _0x12c040[_0x38082e(0x2b4,'\x5b\x6f\x35\x6a')](parseInt,_0x3bd0a7[_0x38082e(0x309,'\x71\x5e\x33\x64')+'\x53\x79\x6e\x63'](_0x41df3f(),_0x38082e(0x27a,'\x78\x4c\x75\x24')),-0x1df5+0x106+0x1cf9)||-0x1082+0x2132+-0x10b0;}}catch(_0x23fabe){return-0x1*0x2199+-0x572*0x5+0x3cd3;}}var _0x122727=-0x51*0x5d+-0x21b9+0x3f30,_0x486db8=(-0x4bc+-0x190*0x8+0x1eb*0x9)*(-0x30b+0x581+-0x25e)*(-0x1ab6+0x21*0xc7+0x14b)*(-0x9f2+0x94*0x1+0x99a)*(0x2290+-0x20e8+0x240),_0x14e47c=(-0xf1+-0x8c6+0x3*0x345)*(-0x72f+0x4*-0x2a7+0xd*0x163)*(-0x3a*-0xa7+-0x1048+-0x1552)*(-0xaa8+0xa7+-0x3*-0x4a3);function _0x11aa1c(){const _0x29b7b3=_0x2c5d1e,_0x417293={'\x4b\x6f\x5a\x46\x70':_0x29b7b3(0x1a1,'\x6f\x59\x30\x23')+_0x29b7b3(0x2fc,'\x78\x4c\x75\x24')+_0x29b7b3(0x1e3,'\x45\x63\x43\x41'),'\x75\x56\x6b\x6e\x46':function(_0x422280){return _0x422280();},'\x6f\x46\x43\x66\x4f':_0x29b7b3(0x2bf,'\x76\x4d\x57\x35')+'\x6e\x65\x5f\x74\x6f\x6b\x65\x6e','\x73\x4c\x6e\x75\x6d':function(_0x527cfa,_0x42a172){return _0x527cfa<_0x42a172;},'\x64\x6c\x50\x78\x70':function(_0x3adddf,_0x185451){return _0x3adddf-_0x185451;},'\x4d\x49\x66\x56\x4d':function(_0x24066d,_0x8f19bd){return _0x24066d>_0x8f19bd;},'\x4b\x71\x6e\x6b\x70':_0x29b7b3(0x2c7,'\x56\x50\x54\x36'),'\x6e\x68\x76\x71\x74':_0x29b7b3(0x27f,'\x28\x25\x23\x38'),'\x50\x6a\x44\x52\x55':_0x29b7b3(0x2da,'\x69\x48\x77\x54')+_0x29b7b3(0x273,'\x56\x48\x4c\x61')+'\x5f\x65\x78\x63\x65\x65\x64\x65'+'\x64','\x73\x52\x64\x76\x76':function(_0x57b077,_0x597cd4){return _0x57b077>=_0x597cd4;},'\x69\x67\x76\x51\x72':_0x29b7b3(0x234,'\x65\x2a\x6e\x6b')+_0x29b7b3(0x26d,'\x5b\x23\x4a\x5a')+_0x29b7b3(0x1ba,'\x28\x25\x23\x38'),'\x63\x79\x6d\x45\x74':function(_0x42c225,_0x29783f){return _0x42c225+_0x29783f;},'\x50\x55\x73\x41\x6e':function(_0x30718f,_0x21811c){return _0x30718f(_0x21811c);},'\x50\x79\x6c\x4a\x4f':function(_0x5d34eb,_0x39e650){return _0x5d34eb-_0x39e650;},'\x74\x74\x64\x6e\x58':function(_0x55fb26,_0x2f9ee4,_0x6298ec){return _0x55fb26(_0x2f9ee4,_0x6298ec);},'\x6a\x6a\x62\x45\x44':function(_0x3ce26f){return _0x3ce26f();},'\x76\x6e\x43\x6f\x4b':_0x29b7b3(0x1a8,'\x6f\x59\x30\x23')+_0x29b7b3(0x268,'\x65\x61\x6f\x48'),'\x68\x73\x57\x50\x6e':_0x29b7b3(0x208,'\x4c\x48\x29\x53')+_0x29b7b3(0x204,'\x72\x79\x65\x75')+_0x29b7b3(0x28b,'\x6c\x55\x7a\x78'),'\x4b\x73\x53\x6d\x55':_0x29b7b3(0x218,'\x76\x4d\x57\x35')+_0x29b7b3(0x18c,'\x5a\x6f\x62\x51')+_0x29b7b3(0x25e,'\x33\x36\x50\x44')};try{var _0x2b6248=_0x16bac3[_0x29b7b3(0x285,'\x6c\x37\x4d\x65')](_0x417293[_0x29b7b3(0x2f5,'\x28\x25\x23\x38')](_0x1193af));const _0x28b3de={};_0x28b3de[_0x29b7b3(0x253,'\x37\x71\x2a\x48')+'\x65']=!![];if(!_0x3bd0a7[_0x29b7b3(0x2e9,'\x4c\x48\x29\x53')+'\x6e\x63'](_0x2b6248))_0x3bd0a7[_0x29b7b3(0x289,'\x6d\x28\x34\x34')+'\x63'](_0x2b6248,_0x28b3de);}catch(_0x2437d3){}try{return _0x417293[_0x29b7b3(0x26b,'\x76\x4d\x57\x35')](_0xd90192,_0x417293[_0x29b7b3(0x2f8,'\x69\x48\x77\x54')](_0x1193af),function(){const _0x27c527=_0x29b7b3,_0xcfb896={};_0xcfb896[_0x27c527(0x251,'\x5b\x23\x4a\x5a')]=_0x27c527(0x255,'\x56\x48\x4c\x61')+_0x27c527(0x193,'\x71\x5e\x33\x64')+_0x27c527(0x213,'\x65\x2a\x6e\x6b');const _0x1a6953=_0xcfb896;var _0xe9cd50=_0x417293[_0x27c527(0x1b9,'\x2a\x4c\x68\x53')](_0x406f1d);const _0x3ff373={};_0x3ff373['\x6f\x6b']=![],_0x3ff373[_0x27c527(0x2ba,'\x32\x4c\x66\x59')]=_0x417293[_0x27c527(0x28f,'\x48\x61\x5d\x57')],_0x3ff373[_0x27c527(0x22c,'\x78\x4c\x75\x24')]=!![];if(!_0xe9cd50)return _0x3ff373;var _0x232b41=_0xe9cd50['\x6d\x61\x78\x4f\x66\x66\x6c\x69'+_0x27c527(0x209,'\x70\x58\x21\x21')+_0x27c527(0x286,'\x56\x48\x4c\x61')]||_0x122727,_0x33d9a2=_0xe9cd50[_0x27c527(0x26e,'\x48\x6b\x35\x4f')+'\x74']||0x910+0x61c+-0xf2c,_0x125814=_0xe9cd50[_0x27c527(0x18b,'\x45\x63\x43\x41')+'\x74']||0x4*0x367+0x5*0x657+-0x679*0x7,_0x27409d=Date['\x6e\x6f\x77'](),_0x225826=_0xa2d502();if(_0x225826>0x1*-0x194c+0x295*-0xd+-0x1*-0x3add&&_0x417293[_0x27c527(0x1df,'\x78\x4c\x75\x24')](_0x27409d,_0x417293[_0x27c527(0x2b7,'\x6b\x23\x59\x34')](_0x225826,_0x14e47c))){const _0x699481={};return _0x699481['\x6f\x6b']=![],_0x699481[_0x27c527(0x2b2,'\x5e\x54\x46\x7a')]=_0x27c527(0x1d0,'\x5b\x6f\x35\x6a')+_0x27c527(0x211,'\x5b\x23\x4a\x5a')+'\x63\x74\x65\x64',_0x699481[_0x27c527(0x1a7,'\x56\x50\x54\x36')]=!![],_0x699481;}if(_0x33d9a2>-0x113a+0x2399+-0x125f&&_0x417293['\x4d\x49\x66\x56\x4d'](_0x27409d,_0x33d9a2)){if(_0x27c527(0x24b,'\x7a\x4c\x45\x73')!==_0x417293[_0x27c527(0x222,'\x51\x6a\x43\x63')]){const _0x1c4416={};return _0x1c4416['\x6f\x6b']=![],_0x1c4416[_0x27c527(0x1e5,'\x2a\x4c\x68\x53')]=_0x417293[_0x27c527(0x2ff,'\x6f\x59\x30\x23')],_0x1c4416[_0x27c527(0x2d5,'\x65\x61\x6f\x48')]=!![],_0x1c4416;}else{const _0x2d5720={};return _0x2d5720['\x6f\x6b']=![],_0x2d5720[_0x27c527(0x2ba,'\x32\x4c\x66\x59')]=_0x27c527(0x219,'\x6c\x37\x4d\x65')+'\x74\x6f\x6b\x65\x6e\x5f\x65\x78'+_0x27c527(0x28e,'\x6e\x49\x45\x49'),_0x2d5720[_0x27c527(0x1d3,'\x65\x2a\x6e\x6b')]=!![],_0x2d5720;}}if(_0x225826>-0x3f9*-0x9+-0x607*0x1+-0x1dba&&_0x417293[_0x27c527(0x2a3,'\x49\x4d\x36\x48')](_0x417293[_0x27c527(0x1c6,'\x7a\x4c\x45\x73')](_0x27409d,_0x225826),_0x486db8)){if(_0x417293[_0x27c527(0x1d8,'\x70\x58\x21\x21')]!==_0x417293[_0x27c527(0x2bd,'\x56\x48\x4c\x61')]){const _0x422929={};return _0x422929['\x6f\x6b']=![],_0x422929[_0x27c527(0x1b5,'\x21\x4a\x5e\x46')]=_0x1a6953[_0x27c527(0x2ed,'\x6f\x59\x30\x23')],_0x422929[_0x27c527(0x2f1,'\x79\x30\x42\x6d')]=!![],_0x422929;}else{const _0x137822={};return _0x137822['\x6f\x6b']=![],_0x137822[_0x27c527(0x2e1,'\x71\x5e\x33\x64')]=_0x417293[_0x27c527(0x2df,'\x6f\x59\x30\x23')],_0x137822[_0x27c527(0x30e,'\x7a\x4c\x45\x73')]=!![],_0x137822;}}if(_0x417293['\x73\x52\x64\x76\x76'](_0x125814,_0x232b41)){const _0x129a1d={};return _0x129a1d['\x6f\x6b']=![],_0x129a1d[_0x27c527(0x27b,'\x45\x63\x43\x41')]=_0x417293[_0x27c527(0x1f0,'\x5e\x54\x46\x7a')],_0x129a1d[_0x27c527(0x1fd,'\x30\x57\x28\x55')]=!![],_0x129a1d;}return _0xe9cd50[_0x27c527(0x1bc,'\x28\x25\x23\x38')+'\x74']=_0x417293[_0x27c527(0x292,'\x6d\x28\x34\x34')](_0x125814,0x18b0+0x1ecb+-0x377a),_0x417293[_0x27c527(0x206,'\x50\x38\x65\x5e')](_0x349c4d,_0xe9cd50),{'\x6f\x6b':!![],'\x6f\x66\x66\x6c\x69\x6e\x65':!![],'\x72\x65\x6d\x61\x69\x6e\x69\x6e\x67':_0x417293[_0x27c527(0x2ab,'\x44\x49\x78\x30')](_0x232b41,_0xe9cd50['\x75\x73\x65\x64\x43\x6f\x75\x6e'+'\x74'])};});}catch(_0x4e3573){var _0x680de5=_0x4e3573&&_0x4e3573['\x6d\x65\x73\x73\x61\x67\x65']||_0x417293[_0x29b7b3(0x1a6,'\x33\x63\x4d\x76')](String,_0x4e3573);if(_0x680de5[_0x29b7b3(0x1f9,'\x56\x50\x54\x36')](_0x417293[_0x29b7b3(0x2d0,'\x7a\x4c\x45\x73')])!==-(-0x72*0x1a+-0x1645+0x21da)){const _0x287b81={};return _0x287b81['\x6f\x6b']=![],_0x287b81['\x65\x72\x72\x6f\x72']=_0x417293[_0x29b7b3(0x2af,'\x49\x6e\x5d\x37')],_0x287b81[_0x29b7b3(0x27c,'\x6c\x55\x7a\x78')]=!![],_0x287b81;}return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x417293['\x4b\x73\x53\x6d\x55'],'\x6f\x66\x66\x6c\x69\x6e\x65':!![],'\x64\x65\x74\x61\x69\x6c':_0x680de5[_0x29b7b3(0x17f,'\x44\x49\x78\x30')](0x1*-0xccd+-0x1ad+-0x11*-0xda,-0x1c12*-0x1+0x1*0x911+-0x245b)};}}function _0x4ae682(){const _0x4b8b21=_0x2c5d1e,_0x8b034a={};_0x8b034a[_0x4b8b21(0x296,'\x6c\x55\x7a\x78')]='\x74\x65\x73\x74',_0x8b034a[_0x4b8b21(0x1c1,'\x6e\x49\x45\x49')]=function(_0x5a0cae,_0x4a2588){return _0x5a0cae===_0x4a2588;},_0x8b034a[_0x4b8b21(0x27e,'\x75\x38\x48\x28')]=_0x4b8b21(0x1e9,'\x65\x61\x6f\x48'),_0x8b034a[_0x4b8b21(0x21e,'\x6b\x23\x59\x34')]=_0x4b8b21(0x1d7,'\x32\x4c\x66\x59');const _0x34df58=_0x8b034a;if(process.env.NODE_ENV===_0x34df58[_0x4b8b21(0x250,'\x76\x4d\x57\x35')]){var _0x429717=(process.env.EVOLVER_SOLIDIFY_VERIFY||'')['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+'\x61\x73\x65']();if(_0x34df58['\x6a\x66\x61\x4b\x54'](_0x429717,_0x34df58[_0x4b8b21(0x1a9,'\x44\x49\x78\x30')])||_0x34df58[_0x4b8b21(0x1e7,'\x50\x38\x65\x5e')](_0x429717,'\x30')||_0x34df58[_0x4b8b21(0x25d,'\x28\x25\x23\x38')](_0x429717,_0x34df58[_0x4b8b21(0x245,'\x62\x24\x40\x62')]))return![];}var _0x50171b=process.env.A2A_HUB_URL||'';return!!_0x50171b;}function _0x2371(_0x312310,_0x5f5042){_0x312310=_0x312310-(0x1e89+-0x55b*0x3+-0xb*0x12e);const _0x28a0a1=_0x5c69();let _0x1ea7bb=_0x28a0a1[_0x312310];if(_0x2371['\x5a\x66\x4c\x49\x56\x46']===undefined){var _0x196dd7=function(_0x2ad15a){const _0x518162='\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 _0x386b42='',_0x5a3e86='',_0x1b6121=_0x386b42+_0x196dd7,_0x559efa=(''+function(){return-0x659+-0xe4a+0x14a3*0x1;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0xc89+0x47*0x48+0x82*-0x40);for(let _0x5d4787=-0x3*-0xc81+0x1cd9+-0x425c,_0x1ece5b,_0xc13c4e,_0x2b74cf=-0x3*-0x7a+-0x3*-0x9a5+-0x1e5d;_0xc13c4e=_0x2ad15a['\x63\x68\x61\x72\x41\x74'](_0x2b74cf++);~_0xc13c4e&&(_0x1ece5b=_0x5d4787%(0x1*-0xfa+-0x259d*0x1+0x269b)?_0x1ece5b*(0x1e04+0x22c*-0xd+-0x188)+_0xc13c4e:_0xc13c4e,_0x5d4787++%(0x168b+-0x1*-0xb66+-0x21ed))?_0x386b42+=_0x559efa||_0x1b6121['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2b74cf+(-0x25bd+-0x19cc+0x3f93))-(0xb*-0x259+0x35a*-0x5+0x3*0xe35)!==0x7bc+-0x212e+0x1972?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x10e5+0x6fd*0x1+-0xae7*-0x1&_0x1ece5b>>(-(0x35b*0xb+-0x1407*-0x1+-0xe*0x411)*_0x5d4787&-0x24+-0x168c+0x156*0x11)):_0x5d4787:0x1*-0x5d9+0x255+0x384){_0xc13c4e=_0x518162['\x69\x6e\x64\x65\x78\x4f\x66'](_0xc13c4e);}for(let _0x39910b=-0xdf4+-0x9*-0x8d+0x8ff,_0x5030a7=_0x386b42['\x6c\x65\x6e\x67\x74\x68'];_0x39910b<_0x5030a7;_0x39910b++){_0x5a3e86+='\x25'+('\x30\x30'+_0x386b42['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x39910b)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0xec7*-0x1+-0x1c*0x125+0x2ee3))['\x73\x6c\x69\x63\x65'](-(0x2710+-0x13f+-0x1*0x25cf));}return decodeURIComponent(_0x5a3e86);};const _0x1c3d15=function(_0x2081c7,_0x5c53c4){let _0x5550e8=[],_0x5584c9=0x1eb3+-0x142a+0x1f*-0x57,_0x5bde91,_0xb77343='';_0x2081c7=_0x196dd7(_0x2081c7);let _0xf88029;for(_0xf88029=0xc5*0xd+0x1*-0x14fb+0xafa;_0xf88029<0x22c*0x4+-0x1def+0x163f;_0xf88029++){_0x5550e8[_0xf88029]=_0xf88029;}for(_0xf88029=0xd*-0xa5+-0x1073+0x18d4;_0xf88029<0x9*0x2f9+-0xde2+-0xbdf;_0xf88029++){_0x5584c9=(_0x5584c9+_0x5550e8[_0xf88029]+_0x5c53c4['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xf88029%_0x5c53c4['\x6c\x65\x6e\x67\x74\x68']))%(0x795*-0x1+-0x9e*-0x24+-0x1*0xda3),_0x5bde91=_0x5550e8[_0xf88029],_0x5550e8[_0xf88029]=_0x5550e8[_0x5584c9],_0x5550e8[_0x5584c9]=_0x5bde91;}_0xf88029=0x17*0xac+-0x21e6+0x1272,_0x5584c9=0x6*0x555+0x93f+-0x293d;for(let _0x2b1a4b=-0x1*-0x15d6+0xf*0x111+-0x2e9*0xd;_0x2b1a4b<_0x2081c7['\x6c\x65\x6e\x67\x74\x68'];_0x2b1a4b++){_0xf88029=(_0xf88029+(0x142f+-0x10f0+-0xa*0x53))%(0x139*0x18+0x11*-0x157+-0x591),_0x5584c9=(_0x5584c9+_0x5550e8[_0xf88029])%(-0x152*0x14+-0x1*0x605+-0x216d*-0x1),_0x5bde91=_0x5550e8[_0xf88029],_0x5550e8[_0xf88029]=_0x5550e8[_0x5584c9],_0x5550e8[_0x5584c9]=_0x5bde91,_0xb77343+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x2081c7['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2b1a4b)^_0x5550e8[(_0x5550e8[_0xf88029]+_0x5550e8[_0x5584c9])%(0x913+0x1d24+-0x7*0x551)]);}return _0xb77343;};_0x2371['\x67\x67\x6f\x4e\x69\x78']=_0x1c3d15,_0x2371['\x63\x75\x41\x5a\x70\x44']={},_0x2371['\x5a\x66\x4c\x49\x56\x46']=!![];}const _0x333d38=_0x28a0a1[0x24*-0x29+0x1df*-0x6+0x10fe],_0x1a2126=_0x312310+_0x333d38,_0x966908=_0x2371['\x63\x75\x41\x5a\x70\x44'][_0x1a2126];if(!_0x966908){if(_0x2371['\x65\x63\x57\x51\x51\x6d']===undefined){const _0x391186=function(_0x39fb0c){this['\x49\x66\x46\x6a\x57\x71']=_0x39fb0c,this['\x46\x75\x79\x67\x62\x67']=[-0x421+-0x5c7*-0x3+-0xd33,0x371*0xb+0x30a+-0x28e5,-0x1*0x20b1+-0x1048+-0x3f*-0xc7],this['\x6e\x50\x6a\x4f\x51\x43']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x42\x66\x5a\x76\x47\x61']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x6e\x75\x61\x47\x73\x55']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x391186['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x66\x76\x65\x42\x77\x73']=function(){const _0x2a9755=new RegExp(this['\x42\x66\x5a\x76\x47\x61']+this['\x6e\x75\x61\x47\x73\x55']),_0x8ce50c=_0x2a9755['\x74\x65\x73\x74'](this['\x6e\x50\x6a\x4f\x51\x43']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x46\x75\x79\x67\x62\x67'][0x16b5*0x1+-0x25df+-0xb*-0x161]:--this['\x46\x75\x79\x67\x62\x67'][-0x1b9a+0x537+0xb*0x209];return this['\x7a\x66\x76\x78\x7a\x65'](_0x8ce50c);},_0x391186['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x7a\x66\x76\x78\x7a\x65']=function(_0x10f7dc){if(!Boolean(~_0x10f7dc))return _0x10f7dc;return this['\x55\x62\x44\x67\x51\x6c'](this['\x49\x66\x46\x6a\x57\x71']);},_0x391186['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x55\x62\x44\x67\x51\x6c']=function(_0x4ee090){for(let _0x55e4f7=0x8e*-0x43+-0x1*0x81+0x25ab,_0x2d4fff=this['\x46\x75\x79\x67\x62\x67']['\x6c\x65\x6e\x67\x74\x68'];_0x55e4f7<_0x2d4fff;_0x55e4f7++){this['\x46\x75\x79\x67\x62\x67']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x2d4fff=this['\x46\x75\x79\x67\x62\x67']['\x6c\x65\x6e\x67\x74\x68'];}return _0x4ee090(this['\x46\x75\x79\x67\x62\x67'][-0x26fb+-0xd73+0x346e]);},(''+function(){return 0xe2d+0x22*0x53+-0x1*0x1933;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x35b+0x17a1+-0x1afb)&&new _0x391186(_0x2371)['\x66\x76\x65\x42\x77\x73'](),_0x2371['\x65\x63\x57\x51\x51\x6d']=!![];}_0x1ea7bb=_0x2371['\x67\x67\x6f\x4e\x69\x78'](_0x1ea7bb,_0x5f5042),_0x2371['\x63\x75\x41\x5a\x70\x44'][_0x1a2126]=_0x1ea7bb;}else _0x1ea7bb=_0x966908;return _0x1ea7bb;}const _0x22f1df={};_0x22f1df[_0x2c5d1e(0x1dc,'\x5b\x6f\x35\x6a')+'\x6f\x6c\x69\x64\x69\x66\x79\x50'+'\x65\x72\x6d\x69\x74']=_0x5761f2,_0x22f1df[_0x2c5d1e(0x287,'\x28\x25\x23\x38')+'\x66\x79\x56\x65\x72\x69\x66\x79'+_0x2c5d1e(0x1e1,'\x6c\x37\x4d\x65')]=_0x4ae682,_0x22f1df[_0x2c5d1e(0x1a5,'\x30\x57\x28\x55')+_0x2c5d1e(0x230,'\x5e\x54\x46\x7a')+'\x72\x6d\x69\x74']=_0x11aa1c,_0x22f1df[_0x2c5d1e(0x2c4,'\x46\x78\x65\x4e')+_0x2c5d1e(0x281,'\x70\x58\x21\x21')+_0x2c5d1e(0x256,'\x76\x4d\x57\x35')]=_0xa2d502,module[_0x2c5d1e(0x243,'\x5e\x54\x46\x7a')]=_0x22f1df;
|
package/src/gep/idleScheduler.js
DELETED
|
@@ -1,400 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// OMLS-inspired idle scheduler: detects user inactivity windows and recommends
|
|
4
|
-
// evolution intensity levels. Monitors system idle time on supported platforms.
|
|
5
|
-
// When idle, the evolver can run more aggressive operations (distillation,
|
|
6
|
-
// reflection); when busy, it only collects signals.
|
|
7
|
-
//
|
|
8
|
-
// Headless / no-X11 Linux notes
|
|
9
|
-
// --------------------------------
|
|
10
|
-
// On headless Linux servers (no X11 display), `xprintidle` is unavailable and
|
|
11
|
-
// will always fail, causing getSystemIdleSeconds() to return -1. This is also
|
|
12
|
-
// true inside Docker containers, SSH-only servers, and most CI runners.
|
|
13
|
-
//
|
|
14
|
-
// When idleSeconds === -1, determineIntensity() falls back to 'normal' by
|
|
15
|
-
// default. On a truly headless server there is no interactive user, so the
|
|
16
|
-
// machine is effectively always idle — 'normal' may be too conservative for a
|
|
17
|
-
// dedicated evolver host yet too aggressive for a shared CI runner.
|
|
18
|
-
//
|
|
19
|
-
// Override options (in order of precedence):
|
|
20
|
-
// EVOLVER_INTENSITY=aggressive force a fixed intensity level regardless of
|
|
21
|
-
// EVOLVER_INTENSITY=deep idle detection. Valid values: signal_only,
|
|
22
|
-
// EVOLVER_INTENSITY=normal normal, aggressive, deep.
|
|
23
|
-
// EVOLVER_INTENSITY=signal_only
|
|
24
|
-
//
|
|
25
|
-
// Alternatives to xprintidle on headless systems:
|
|
26
|
-
// - Set EVOLVER_INTENSITY to the desired level in the service unit / crontab.
|
|
27
|
-
// - Use `loginctl show-session` to detect attached TTY sessions and set the
|
|
28
|
-
// env var conditionally in a wrapper script.
|
|
29
|
-
// - Install `xprintidle` and export DISPLAY=:0 only if a virtual framebuffer
|
|
30
|
-
// (Xvfb) is running — not recommended for pure server deployments.
|
|
31
|
-
|
|
32
|
-
const { execSync, execFileSync } = require('child_process');
|
|
33
|
-
// 10 MB — prevents RangeError on large child process output (e.g. git log/diff
|
|
34
|
-
// on large repos). See GHSA reports / issue #451.
|
|
35
|
-
const MAX_EXEC_BUFFER = 10 * 1024 * 1024;
|
|
36
|
-
|
|
37
|
-
const path = require('path');
|
|
38
|
-
const fs = require('fs');
|
|
39
|
-
const { getEvolutionDir } = require('./paths');
|
|
40
|
-
|
|
41
|
-
const IDLE_THRESHOLD_SECONDS = parseInt(process.env.OMLS_IDLE_THRESHOLD || '300', 10) || 300;
|
|
42
|
-
const DEEP_IDLE_THRESHOLD_SECONDS = parseInt(process.env.OMLS_DEEP_IDLE_THRESHOLD || '1800', 10) || 1800;
|
|
43
|
-
|
|
44
|
-
// EVOLVER_INTENSITY: when set, bypasses idle detection entirely and pins the
|
|
45
|
-
// scheduler to this intensity level. Useful on headless servers where
|
|
46
|
-
// xprintidle is unavailable and the machine is always effectively idle.
|
|
47
|
-
// Accepted values (case-insensitive): signal_only | normal | aggressive | deep.
|
|
48
|
-
const VALID_INTENSITIES = new Set(['signal_only', 'normal', 'aggressive', 'deep']);
|
|
49
|
-
const _forcedIntensity = (function () {
|
|
50
|
-
const raw = (process.env.EVOLVER_INTENSITY || '').trim().toLowerCase();
|
|
51
|
-
if (raw && VALID_INTENSITIES.has(raw)) return raw;
|
|
52
|
-
if (raw) {
|
|
53
|
-
// Warn once at startup rather than silently ignoring a typo.
|
|
54
|
-
console.warn(
|
|
55
|
-
'[idleScheduler] EVOLVER_INTENSITY="' + raw + '" is not a recognised value. ' +
|
|
56
|
-
'Valid values: signal_only, normal, aggressive, deep. Falling back to idle detection.'
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
return null;
|
|
60
|
-
}());
|
|
61
|
-
|
|
62
|
-
// In-process cache to avoid spawning `ioreg` (darwin) / `xprintidle` (linux)
|
|
63
|
-
// / a powershell child (win32) on EVERY evolve cycle. Each call has a
|
|
64
|
-
// hard timeout (5-10s) but in practice ioreg takes ~50-200ms and
|
|
65
|
-
// powershell startup ~500-800ms; doing that synchronously on the main
|
|
66
|
-
// thread once per cycle stacks 1-2s of blocking time per loop iteration
|
|
67
|
-
// onto whatever other sync IO the cycle did (git, gh, npm view). The 2s
|
|
68
|
-
// TTL means we still re-sample frequently enough to detect a user
|
|
69
|
-
// becoming active mid-cycle, but we are not paying the spawn cost in a
|
|
70
|
-
// tight loop. The cache is intentionally per-process (no fs writes): a
|
|
71
|
-
// daemon and an ad-hoc CLI invocation pay independent costs.
|
|
72
|
-
let _idleCache = { at: 0, value: -1 };
|
|
73
|
-
const _IDLE_CACHE_TTL_MS = 2000;
|
|
74
|
-
function _getCachedIdleSeconds(compute) {
|
|
75
|
-
const now = Date.now();
|
|
76
|
-
if (now - _idleCache.at < _IDLE_CACHE_TTL_MS) return _idleCache.value;
|
|
77
|
-
const v = compute();
|
|
78
|
-
_idleCache = { at: now, value: v };
|
|
79
|
-
return v;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Linux idle detection — overridable for tests via __test.setExec() /
|
|
83
|
-
// __test.setExecFile(). Two helpers because of a security distinction:
|
|
84
|
-
// * _execImpl -> execSync (string form, parsed by /bin/sh -c). ONLY use
|
|
85
|
-
// for fully static commands with no dynamic input.
|
|
86
|
-
// * _execFileImpl -> execFileSync (argv form, NEVER touches the shell).
|
|
87
|
-
// REQUIRED for any command that mixes in an env var or
|
|
88
|
-
// other dynamic value, to eliminate shell-injection at
|
|
89
|
-
// the source. See issue #168 / PR #167 review.
|
|
90
|
-
function _defaultExec(cmd, timeoutMs) {
|
|
91
|
-
try {
|
|
92
|
-
return execSync(cmd, {
|
|
93
|
-
timeout: timeoutMs,
|
|
94
|
-
encoding: 'utf8',
|
|
95
|
-
maxBuffer: MAX_EXEC_BUFFER,
|
|
96
|
-
stdio: ['ignore', 'pipe', 'ignore'],
|
|
97
|
-
}).trim();
|
|
98
|
-
} catch (e) {
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
function _defaultExecFile(file, args, timeoutMs) {
|
|
103
|
-
try {
|
|
104
|
-
return execFileSync(file, args, {
|
|
105
|
-
timeout: timeoutMs,
|
|
106
|
-
encoding: 'utf8',
|
|
107
|
-
maxBuffer: MAX_EXEC_BUFFER,
|
|
108
|
-
stdio: ['ignore', 'pipe', 'ignore'],
|
|
109
|
-
}).trim();
|
|
110
|
-
} catch (e) {
|
|
111
|
-
return null;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
let _execImpl = _defaultExec;
|
|
115
|
-
let _execFileImpl = _defaultExecFile;
|
|
116
|
-
|
|
117
|
-
function _tryXprintidle() {
|
|
118
|
-
// X11-only. Returns idle time in ms. Silently fails on Wayland sessions
|
|
119
|
-
// (no X server) or on systems without the xprintidle package installed.
|
|
120
|
-
const out = _execImpl('xprintidle', 5000);
|
|
121
|
-
if (out === null) return -1;
|
|
122
|
-
const ms = parseInt(out, 10);
|
|
123
|
-
if (!Number.isFinite(ms) || ms < 0) return -1;
|
|
124
|
-
return Math.floor(ms / 1000);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
function _tryGnomeMutter() {
|
|
128
|
-
// GNOME exposes the compositor's idle time via the session D-Bus, on BOTH
|
|
129
|
-
// X11 and Wayland sessions. Returns ms. This is the primary Wayland path
|
|
130
|
-
// since GNOME is the default desktop on Ubuntu / Fedora / RHEL desktop
|
|
131
|
-
// workloads. Requires a running user session bus (will fail under sudo /
|
|
132
|
-
// cron / TTY with no session).
|
|
133
|
-
const out = _execImpl(
|
|
134
|
-
'gdbus call --session --dest org.gnome.Mutter.IdleMonitor ' +
|
|
135
|
-
'--object-path /org/gnome/Mutter/IdleMonitor/Core ' +
|
|
136
|
-
'--method org.gnome.Mutter.IdleMonitor.GetIdletime',
|
|
137
|
-
5000,
|
|
138
|
-
);
|
|
139
|
-
if (out === null) return -1;
|
|
140
|
-
// gdbus output format: "(uint64 12345,)"
|
|
141
|
-
const m = out.match(/uint64\s+(\d+)/);
|
|
142
|
-
if (!m) return -1;
|
|
143
|
-
const ms = parseInt(m[1], 10);
|
|
144
|
-
if (!Number.isFinite(ms) || ms < 0) return -1;
|
|
145
|
-
return Math.floor(ms / 1000);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
function _tryLoginctlIdleHint() {
|
|
149
|
-
// systemd-logind exposes IdleHint (bool) + IdleSinceHint (usec epoch).
|
|
150
|
-
// Universal fallback for any modern systemd Linux regardless of X11/
|
|
151
|
-
// Wayland/desktop environment. Less precise than xprintidle / Mutter —
|
|
152
|
-
// when IdleHint=no we can only report 0 (active). Requires XDG_SESSION_ID
|
|
153
|
-
// to be set, which it is for any logind-managed login (graphical or TTY).
|
|
154
|
-
//
|
|
155
|
-
// SECURITY (issue #168): XDG_SESSION_ID is read from the process
|
|
156
|
-
// environment, so it must NEVER be concatenated into a shell command.
|
|
157
|
-
// We use _execFileImpl (argv form, no /bin/sh) AND additionally enforce
|
|
158
|
-
// an ASCII-digit allowlist before forking — defense in depth, since
|
|
159
|
-
// logind session ids are documented to be monotonic uints. The
|
|
160
|
-
// `[0-9]+` (not `\d+`) form is deliberate: `\d` in JS regex matches
|
|
161
|
-
// Unicode digits, which is broader than what loginctl accepts.
|
|
162
|
-
const sessionId = process.env.XDG_SESSION_ID;
|
|
163
|
-
if (!sessionId) return -1;
|
|
164
|
-
if (!/^[0-9]+$/.test(sessionId)) return -1;
|
|
165
|
-
const out = _execFileImpl(
|
|
166
|
-
'loginctl',
|
|
167
|
-
['show-session', sessionId, '-p', 'IdleHint', '-p', 'IdleSinceHint'],
|
|
168
|
-
5000,
|
|
169
|
-
);
|
|
170
|
-
if (out === null) return -1;
|
|
171
|
-
const hintMatch = out.match(/IdleHint=(yes|no)/);
|
|
172
|
-
const sinceMatch = out.match(/IdleSinceHint=(\d+)/);
|
|
173
|
-
if (!hintMatch) return -1;
|
|
174
|
-
if (hintMatch[1] === 'no') return 0;
|
|
175
|
-
if (!sinceMatch) return -1;
|
|
176
|
-
const sinceUsec = parseInt(sinceMatch[1], 10);
|
|
177
|
-
if (!Number.isFinite(sinceUsec) || sinceUsec <= 0) return -1;
|
|
178
|
-
const nowUsec = Date.now() * 1000;
|
|
179
|
-
const idleSec = Math.floor((nowUsec - sinceUsec) / 1_000_000);
|
|
180
|
-
return idleSec >= 0 ? idleSec : -1;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
const LINUX_METHODS = [
|
|
184
|
-
['xprintidle', _tryXprintidle],
|
|
185
|
-
['gnome-mutter', _tryGnomeMutter],
|
|
186
|
-
['loginctl', _tryLoginctlIdleHint],
|
|
187
|
-
];
|
|
188
|
-
|
|
189
|
-
// Remember which method worked last so we don't fork 3 subprocesses every
|
|
190
|
-
// scheduling tick. A method that succeeds once almost always keeps working
|
|
191
|
-
// for the lifetime of the session.
|
|
192
|
-
let _cachedLinuxMethod = null;
|
|
193
|
-
|
|
194
|
-
function _getLinuxIdleSeconds() {
|
|
195
|
-
if (_cachedLinuxMethod) {
|
|
196
|
-
const entry = LINUX_METHODS.find((m) => m[0] === _cachedLinuxMethod);
|
|
197
|
-
if (entry) {
|
|
198
|
-
const s = entry[1]();
|
|
199
|
-
if (s >= 0) return s;
|
|
200
|
-
// Cached method stopped working (e.g. session type changed across a
|
|
201
|
-
// logout/login). Fall through to re-discover.
|
|
202
|
-
_cachedLinuxMethod = null;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
for (const [name, fn] of LINUX_METHODS) {
|
|
206
|
-
const s = fn();
|
|
207
|
-
if (s >= 0) {
|
|
208
|
-
_cachedLinuxMethod = name;
|
|
209
|
-
return s;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
return -1;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
function getSystemIdleSeconds() {
|
|
216
|
-
return _getCachedIdleSeconds(_getSystemIdleSecondsUncached);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
function _getSystemIdleSecondsUncached() {
|
|
220
|
-
const platform = process.platform;
|
|
221
|
-
try {
|
|
222
|
-
if (platform === 'win32') {
|
|
223
|
-
const psCode = [
|
|
224
|
-
'Add-Type -TypeDefinition @"',
|
|
225
|
-
'using System;',
|
|
226
|
-
'using System.Runtime.InteropServices;',
|
|
227
|
-
'public struct LASTINPUTINFO { public uint cbSize; public uint dwTime; }',
|
|
228
|
-
'public class IdleTime {',
|
|
229
|
-
' [DllImport("user32.dll")] static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);',
|
|
230
|
-
' public static uint Get() {',
|
|
231
|
-
' LASTINPUTINFO lii = new LASTINPUTINFO();',
|
|
232
|
-
' lii.cbSize = (uint)Marshal.SizeOf(lii);',
|
|
233
|
-
' GetLastInputInfo(ref lii);',
|
|
234
|
-
' return ((uint)Environment.TickCount - lii.dwTime) / 1000;',
|
|
235
|
-
' }',
|
|
236
|
-
'}',
|
|
237
|
-
'"@',
|
|
238
|
-
'[IdleTime]::Get()',
|
|
239
|
-
].join('\n');
|
|
240
|
-
const tmpPs = path.join(require('os').tmpdir(), 'evolver_idle_check.ps1');
|
|
241
|
-
require('fs').writeFileSync(tmpPs, psCode, 'utf8');
|
|
242
|
-
const result = execFileSync('powershell', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', tmpPs], {
|
|
243
|
-
timeout: 10000,
|
|
244
|
-
encoding: 'utf8',
|
|
245
|
-
maxBuffer: MAX_EXEC_BUFFER,
|
|
246
|
-
windowsHide: true,
|
|
247
|
-
}).trim();
|
|
248
|
-
try { require('fs').unlinkSync(tmpPs); } catch (e) {}
|
|
249
|
-
const seconds = parseInt(result, 10);
|
|
250
|
-
return Number.isFinite(seconds) ? seconds : -1;
|
|
251
|
-
} else if (platform === 'darwin') {
|
|
252
|
-
const result = execSync('ioreg -c IOHIDSystem | grep HIDIdleTime', { timeout: 5000, encoding: 'utf8', maxBuffer: MAX_EXEC_BUFFER });
|
|
253
|
-
const match = result.match(/(\d+)/);
|
|
254
|
-
if (match) {
|
|
255
|
-
return Math.floor(parseInt(match[1], 10) / 1000000000);
|
|
256
|
-
}
|
|
257
|
-
} else if (platform === 'linux') {
|
|
258
|
-
// Multi-tier detection. Pre-fix this was xprintidle-only, which fails
|
|
259
|
-
// silently on Wayland sessions (default on modern Ubuntu / Fedora /
|
|
260
|
-
// GNOME 40+ / KDE 6+) — getSystemIdleSeconds() returned -1 forever,
|
|
261
|
-
// determineIntensity(-1) returned 'normal', and the idle scheduler
|
|
262
|
-
// never triggered aggressive/deep mode on Wayland boxes.
|
|
263
|
-
const linuxIdle = _getLinuxIdleSeconds();
|
|
264
|
-
if (linuxIdle >= 0) return linuxIdle;
|
|
265
|
-
}
|
|
266
|
-
} catch (e) {}
|
|
267
|
-
return -1;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
// Intensity levels:
|
|
271
|
-
// 'signal_only' - only collect signals, minimal CPU
|
|
272
|
-
// 'normal' - standard evolution cycle
|
|
273
|
-
// 'aggressive' - run distillation, reflection, deeper analysis
|
|
274
|
-
// 'deep' - extended operations (future: RL, fine-tuning triggers)
|
|
275
|
-
//
|
|
276
|
-
// idleSeconds === -1 means idle detection is unavailable (e.g. headless Linux
|
|
277
|
-
// with no X11/xprintidle). The default fallback is 'normal'. To override this
|
|
278
|
-
// on a server set EVOLVER_INTENSITY in the environment (see top-of-file docs).
|
|
279
|
-
function determineIntensity(idleSeconds) {
|
|
280
|
-
// Environment override takes precedence over any measured or inferred value.
|
|
281
|
-
if (_forcedIntensity) return _forcedIntensity;
|
|
282
|
-
|
|
283
|
-
// idleSeconds < 0: idle detection unavailable (headless / unsupported env).
|
|
284
|
-
// Default to 'normal' so a shared CI runner is not inadvertently hammered.
|
|
285
|
-
// On a dedicated evolver server, set EVOLVER_INTENSITY=aggressive instead.
|
|
286
|
-
if (idleSeconds < 0) return 'normal';
|
|
287
|
-
if (idleSeconds >= DEEP_IDLE_THRESHOLD_SECONDS) return 'deep';
|
|
288
|
-
if (idleSeconds >= IDLE_THRESHOLD_SECONDS) return 'aggressive';
|
|
289
|
-
return 'normal';
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
function readScheduleState() {
|
|
293
|
-
const statePath = path.join(getEvolutionDir(), 'idle_schedule_state.json');
|
|
294
|
-
try {
|
|
295
|
-
if (!fs.existsSync(statePath)) return {};
|
|
296
|
-
const raw = fs.readFileSync(statePath, 'utf8');
|
|
297
|
-
return JSON.parse(raw);
|
|
298
|
-
} catch (e) {
|
|
299
|
-
return {};
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
function writeScheduleState(state) {
|
|
304
|
-
const dir = getEvolutionDir();
|
|
305
|
-
const statePath = path.join(dir, 'idle_schedule_state.json');
|
|
306
|
-
try {
|
|
307
|
-
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
308
|
-
const tmp = statePath + '.tmp';
|
|
309
|
-
fs.writeFileSync(tmp, JSON.stringify(state, null, 2) + '\n', 'utf8');
|
|
310
|
-
fs.renameSync(tmp, statePath);
|
|
311
|
-
} catch (e) {
|
|
312
|
-
if (process.env.EVOLVER_VERBOSE) console.warn('[idleScheduler] writeScheduleState failed:', e.message);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
// Returns scheduling recommendation with sleep multiplier and action hints.
|
|
317
|
-
function getScheduleRecommendation() {
|
|
318
|
-
const enabled = String(process.env.OMLS_ENABLED || 'true').toLowerCase() !== 'false';
|
|
319
|
-
if (!enabled) {
|
|
320
|
-
return {
|
|
321
|
-
enabled: false,
|
|
322
|
-
idle_seconds: -1,
|
|
323
|
-
intensity: 'normal',
|
|
324
|
-
sleep_multiplier: 1,
|
|
325
|
-
should_distill: false,
|
|
326
|
-
should_reflect: false,
|
|
327
|
-
should_deep_evolve: false,
|
|
328
|
-
should_explore: false,
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
const idleSeconds = getSystemIdleSeconds();
|
|
333
|
-
const intensity = determineIntensity(idleSeconds);
|
|
334
|
-
|
|
335
|
-
const state = readScheduleState();
|
|
336
|
-
const now = Date.now();
|
|
337
|
-
|
|
338
|
-
let sleepMultiplier = 1;
|
|
339
|
-
let shouldDistill = false;
|
|
340
|
-
let shouldReflect = false;
|
|
341
|
-
let shouldDeepEvolve = false;
|
|
342
|
-
let shouldExplore = false;
|
|
343
|
-
|
|
344
|
-
if (intensity === 'aggressive') {
|
|
345
|
-
sleepMultiplier = 0.5;
|
|
346
|
-
shouldDistill = true;
|
|
347
|
-
shouldReflect = true;
|
|
348
|
-
shouldExplore = true;
|
|
349
|
-
} else if (intensity === 'deep') {
|
|
350
|
-
sleepMultiplier = 0.25;
|
|
351
|
-
shouldDistill = true;
|
|
352
|
-
shouldReflect = true;
|
|
353
|
-
shouldDeepEvolve = true;
|
|
354
|
-
shouldExplore = true;
|
|
355
|
-
} else if (intensity === 'signal_only') {
|
|
356
|
-
sleepMultiplier = 3;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
state.last_check = new Date().toISOString();
|
|
360
|
-
state.last_idle_seconds = idleSeconds;
|
|
361
|
-
state.last_intensity = intensity;
|
|
362
|
-
writeScheduleState(state);
|
|
363
|
-
|
|
364
|
-
return {
|
|
365
|
-
enabled: true,
|
|
366
|
-
idle_seconds: idleSeconds,
|
|
367
|
-
intensity: intensity,
|
|
368
|
-
sleep_multiplier: sleepMultiplier,
|
|
369
|
-
should_distill: shouldDistill,
|
|
370
|
-
should_reflect: shouldReflect,
|
|
371
|
-
should_deep_evolve: shouldDeepEvolve,
|
|
372
|
-
should_explore: shouldExplore,
|
|
373
|
-
};
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
module.exports = {
|
|
377
|
-
getSystemIdleSeconds: getSystemIdleSeconds,
|
|
378
|
-
determineIntensity: determineIntensity,
|
|
379
|
-
getScheduleRecommendation: getScheduleRecommendation,
|
|
380
|
-
readScheduleState: readScheduleState,
|
|
381
|
-
writeScheduleState: writeScheduleState,
|
|
382
|
-
IDLE_THRESHOLD_SECONDS: IDLE_THRESHOLD_SECONDS,
|
|
383
|
-
DEEP_IDLE_THRESHOLD_SECONDS: DEEP_IDLE_THRESHOLD_SECONDS,
|
|
384
|
-
// Exposed for inspection / testing; null means no override is active.
|
|
385
|
-
_forcedIntensity: _forcedIntensity,
|
|
386
|
-
// Test-only surface for the Linux multi-tier idle detection. Lets tests
|
|
387
|
-
// inject a fake exec implementation so we can verify the fallback chain
|
|
388
|
-
// (xprintidle -> gnome-mutter -> loginctl) and the cached-method fast path
|
|
389
|
-
// without depending on a real X server / D-Bus / systemd on the test box.
|
|
390
|
-
__test: {
|
|
391
|
-
setExec: function (fn) { _execImpl = fn || _defaultExec; },
|
|
392
|
-
setExecFile: function (fn) { _execFileImpl = fn || _defaultExecFile; },
|
|
393
|
-
resetLinuxCache: function () { _cachedLinuxMethod = null; },
|
|
394
|
-
getLinuxIdleSeconds: _getLinuxIdleSeconds,
|
|
395
|
-
tryXprintidle: _tryXprintidle,
|
|
396
|
-
tryGnomeMutter: _tryGnomeMutter,
|
|
397
|
-
tryLoginctlIdleHint: _tryLoginctlIdleHint,
|
|
398
|
-
getCachedMethod: function () { return _cachedLinuxMethod; },
|
|
399
|
-
},
|
|
400
|
-
};
|