@evomap/evolver 1.89.20 → 2.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -3586
- 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/skills/_meta/SKILL.md +0 -41
- package/skills/index.json +0 -14
- 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 -590
- 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 -320
- 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/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 _0x83241d=_0x299c;(function(_0x425aec,_0x164896){const _0x549c14=_0x299c,_0x265807=_0x425aec();while(!![]){try{const _0x38c931=-parseInt(_0x549c14(0x188,'\x54\x39\x21\x78'))/(-0x21af+0x26a5+-0x4f5)+-parseInt(_0x549c14(0x24b,'\x35\x26\x26\x47'))/(-0xfa4+-0x1f58+-0x177f*-0x2)+parseInt(_0x549c14(0x1b4,'\x39\x67\x46\x77'))/(0x1cce+0x1314+-0x2fdf)+parseInt(_0x549c14(0x24d,'\x21\x6d\x6a\x68'))/(-0x4e3+0xf4a+-0x1*0xa63)+-parseInt(_0x549c14(0x178,'\x50\x5a\x31\x30'))/(-0xb*-0x3e+0xb3*-0x13+0xaa4)+parseInt(_0x549c14(0x24c,'\x4f\x39\x6e\x63'))/(-0x965*0x1+0x96d*-0x4+0x2f1f)*(-parseInt(_0x549c14(0x128,'\x50\x5a\x31\x30'))/(0x1b94+0x1af+0x4*-0x74f))+parseInt(_0x549c14(0xf2,'\x50\x55\x31\x65'))/(-0x962*0x2+-0x1fab+-0x3277*-0x1)*(parseInt(_0x549c14(0x224,'\x36\x32\x6a\x52'))/(0x1374+0xdc7+-0x2132));if(_0x38c931===_0x164896)break;else _0x265807['push'](_0x265807['shift']());}catch(_0x33e4f8){_0x265807['push'](_0x265807['shift']());}}}(_0x35e3,-0x38b05+0x1e8bf+-0x10c*-0x394));const _0x5b63ae=(function(){const _0x2e375a=_0x299c,_0x58330f={};_0x58330f[_0x2e375a(0x100,'\x61\x71\x70\x39')]=_0x2e375a(0x151,'\x77\x52\x44\x33'),_0x58330f[_0x2e375a(0x165,'\x32\x6d\x45\x24')]=_0x2e375a(0x22f,'\x77\x4b\x39\x28');const _0x18fcf0=_0x58330f;let _0x285f58=!![];return function(_0x45cf1c,_0x51d2ed){const _0x25ee65=_0x285f58?function(){const _0x172d3e=_0x299c;if(_0x51d2ed){if(_0x18fcf0[_0x172d3e(0x131,'\x49\x33\x40\x61')]===_0x18fcf0[_0x172d3e(0x18c,'\x77\x52\x44\x33')]){var _0x19732a=_0x664e29['\x64\x69\x72\x6e\x61\x6d\x65'](_0x47c43d());const _0x4a4a38={};_0x4a4a38[_0x172d3e(0x1ba,'\x31\x65\x49\x43')+'\x65']=!![];if(!_0x490b7f[_0x172d3e(0x209,'\x25\x6a\x30\x7a')+'\x6e\x63'](_0x19732a))_0x92dc30[_0x172d3e(0x107,'\x77\x4b\x39\x28')+'\x63'](_0x19732a,_0x4a4a38);}else{const _0x507548=_0x51d2ed[_0x172d3e(0x192,'\x49\x33\x40\x61')](_0x45cf1c,arguments);return _0x51d2ed=null,_0x507548;}}}:function(){};return _0x285f58=![],_0x25ee65;};}()),_0x22151f=_0x5b63ae(this,function(){const _0x2fde8e=_0x299c,_0x35bfc1={};_0x35bfc1['\x42\x42\x75\x49\x55']=_0x2fde8e(0x1d3,'\x4f\x78\x67\x51')+_0x2fde8e(0x1e5,'\x35\x54\x7a\x5a');const _0xb2cc77=_0x35bfc1;return _0x22151f[_0x2fde8e(0x174,'\x32\x6d\x45\x24')]()[_0x2fde8e(0xe8,'\x4f\x78\x67\x51')](_0xb2cc77[_0x2fde8e(0x126,'\x35\x54\x7a\x5a')])[_0x2fde8e(0x1f7,'\x77\x52\x44\x33')]()['\x63\x6f\x6e\x73\x74\x72\x75\x63'+_0x2fde8e(0x1ac,'\x5b\x33\x5d\x36')](_0x22151f)[_0x2fde8e(0x1b2,'\x54\x39\x21\x78')](_0xb2cc77[_0x2fde8e(0x23a,'\x6c\x58\x77\x54')]);});function _0x35e3(){const _0x2d79a2=['\x57\x37\x4b\x54\x57\x36\x53\x30\x57\x35\x47','\x78\x65\x64\x63\x48\x38\x6b\x72\x57\x4f\x43','\x57\x50\x6d\x46\x79\x64\x38\x6c\x57\x37\x50\x5a\x6f\x57','\x42\x33\x48\x56','\x57\x50\x78\x64\x55\x53\x6b\x76\x57\x37\x70\x64\x52\x57','\x66\x43\x6b\x39\x68\x49\x52\x64\x4c\x47','\x77\x77\x5a\x63\x4d\x59\x64\x63\x56\x47','\x79\x58\x68\x63\x49\x78\x4c\x74\x57\x52\x52\x63\x52\x4d\x43','\x64\x4b\x6d\x4a\x71\x57','\x57\x35\x5a\x64\x47\x47\x68\x64\x47\x6d\x6b\x50\x57\x34\x37\x64\x49\x72\x69','\x57\x52\x39\x48\x57\x50\x6e\x73\x57\x37\x57','\x57\x36\x58\x62\x57\x34\x43\x47\x66\x61','\x57\x36\x5a\x64\x4f\x48\x64\x64\x4a\x53\x6b\x67','\x57\x50\x2f\x64\x4a\x53\x6b\x31\x57\x35\x4e\x64\x47\x61','\x65\x33\x78\x64\x47\x6d\x6f\x75\x64\x38\x6f\x71\x57\x35\x70\x63\x4a\x57','\x57\x34\x65\x36\x57\x37\x6d\x6b\x57\x35\x37\x63\x56\x64\x4a\x64\x48\x61','\x6a\x32\x57\x46\x75\x32\x34','\x7a\x67\x4c\x59\x41\x71','\x57\x4f\x62\x46\x57\x37\x34\x4d\x57\x4f\x56\x64\x4d\x59\x72\x30','\x7a\x33\x43\x6b\x6d\x32\x4a\x64\x55\x53\x6b\x6a\x69\x53\x6f\x47\x57\x50\x6a\x76\x57\x51\x6d','\x79\x62\x33\x63\x4d\x30\x47','\x57\x51\x74\x63\x4e\x6d\x6f\x2b\x57\x35\x61\x46\x64\x43\x6b\x6b\x57\x37\x6d','\x78\x43\x6f\x35\x57\x35\x4e\x63\x53\x61\x5a\x64\x47\x4a\x46\x64\x48\x47','\x68\x62\x72\x53\x44\x72\x61','\x57\x52\x47\x79\x57\x52\x68\x63\x4d\x43\x6b\x44\x57\x35\x61\x42\x57\x34\x57','\x76\x53\x6b\x4e\x57\x34\x33\x63\x52\x53\x6f\x45','\x41\x53\x6f\x6a\x67\x43\x6b\x42\x57\x36\x70\x63\x50\x5a\x38\x67\x57\x50\x76\x75\x57\x4f\x6e\x64','\x78\x66\x6c\x64\x4c\x78\x48\x7a','\x79\x58\x68\x63\x49\x78\x58\x64\x57\x52\x78\x63\x4a\x33\x4f','\x57\x4f\x47\x6f\x75\x62\x43\x2f','\x65\x67\x69\x2b\x45\x75\x53\x78\x6f\x53\x6b\x67','\x65\x38\x6b\x33\x62\x49\x64\x64\x4c\x6d\x6f\x35\x65\x47','\x70\x73\x76\x7a\x41\x49\x37\x63\x4e\x6d\x6b\x51\x68\x47','\x57\x35\x46\x64\x4a\x53\x6f\x38','\x57\x52\x7a\x4d\x75\x53\x6b\x59\x64\x47','\x41\x77\x44\x78\x57\x51\x38\x61\x57\x51\x75\x73\x77\x38\x6b\x79\x77\x33\x57','\x67\x53\x6f\x61\x57\x37\x76\x6c\x6f\x66\x71','\x57\x36\x31\x37\x57\x35\x69\x59\x6a\x71','\x62\x6d\x6f\x38\x57\x37\x69\x33\x57\x52\x37\x63\x49\x38\x6f\x72\x76\x47','\x66\x6d\x6b\x67\x79\x53\x6f\x49\x57\x51\x61','\x57\x34\x6d\x6b\x57\x34\x31\x52\x78\x71','\x43\x74\x52\x64\x56\x64\x54\x46\x77\x4c\x64\x64\x55\x57','\x57\x51\x70\x63\x47\x38\x6b\x6d\x70\x74\x43\x48','\x57\x50\x79\x47\x57\x34\x71','\x57\x4f\x39\x6a\x57\x52\x43\x52\x45\x61','\x57\x34\x50\x41\x57\x50\x58\x63\x75\x57','\x76\x57\x33\x63\x4b\x31\x69','\x46\x67\x4a\x63\x51\x6d\x6b\x46\x57\x50\x61','\x57\x50\x68\x63\x51\x5a\x61\x2b','\x73\x6d\x6b\x46\x57\x37\x46\x63\x52\x38\x6f\x55','\x76\x6d\x6b\x6b\x57\x52\x65','\x57\x36\x74\x64\x4c\x68\x31\x58\x68\x71','\x57\x51\x42\x63\x4b\x43\x6f\x38\x57\x35\x75\x65\x6d\x6d\x6b\x77\x57\x34\x69','\x7a\x43\x6b\x61\x57\x52\x35\x6f\x57\x36\x5a\x63\x47\x33\x66\x62','\x46\x76\x78\x63\x48\x53\x6f\x72\x57\x51\x69\x4e','\x57\x4f\x33\x64\x53\x6d\x6b\x35\x57\x35\x74\x64\x4a\x31\x30\x57\x57\x50\x71','\x57\x37\x33\x64\x56\x61\x42\x64\x48\x38\x6b\x70','\x41\x53\x6f\x6c\x67\x43\x6b\x79\x57\x36\x68\x63\x4f\x72\x69\x38\x57\x52\x58\x36\x57\x52\x44\x5a','\x6b\x38\x6b\x4d\x46\x5a\x4e\x64\x47\x71','\x57\x34\x71\x4e\x6f\x4b\x4c\x31\x57\x34\x71\x53\x57\x52\x43','\x57\x51\x74\x63\x4e\x38\x6b\x69\x6a\x57','\x66\x6d\x6b\x64\x70\x47','\x6e\x33\x46\x64\x47\x53\x6f\x43','\x76\x77\x44\x44\x57\x50\x48\x43','\x76\x73\x57\x71\x61\x6d\x6f\x57\x57\x50\x70\x63\x52\x57','\x67\x68\x6c\x64\x55\x53\x6b\x6a\x63\x43\x6b\x38\x57\x37\x4f\x30','\x57\x50\x68\x64\x48\x6d\x6f\x57','\x62\x6d\x6b\x6a\x41\x48\x34','\x57\x35\x31\x77\x57\x34\x62\x45','\x46\x65\x78\x63\x50\x6d\x6b\x66\x57\x52\x57','\x57\x37\x35\x6b\x57\x50\x70\x64\x53\x71','\x41\x4c\x42\x63\x50\x71','\x46\x31\x4e\x63\x50\x6d\x6f\x66\x57\x51\x71\x59\x71\x57','\x79\x74\x5a\x64\x4e\x73\x66\x6d\x78\x4c\x53','\x57\x4f\x38\x4e\x46\x65\x4b','\x76\x4e\x6c\x63\x4a\x71\x56\x63\x4c\x61','\x57\x35\x4f\x5a\x57\x34\x79\x73\x57\x34\x78\x63\x55\x5a\x70\x64\x56\x61','\x69\x5a\x71\x6f\x57\x36\x31\x77\x57\x4f\x6d','\x57\x37\x6a\x4d\x57\x36\x69\x6e\x61\x57','\x57\x36\x6c\x64\x47\x6d\x6f\x44\x45\x4e\x76\x47\x66\x6d\x6f\x44\x57\x34\x48\x77\x57\x50\x72\x69','\x6b\x43\x6f\x47\x69\x61','\x57\x36\x65\x6a\x57\x36\x44\x76','\x71\x72\x64\x64\x50\x48\x31\x35','\x57\x50\x6c\x63\x53\x74\x57\x4b\x57\x4f\x76\x6e\x57\x36\x69\x46','\x77\x53\x6f\x37\x61\x62\x42\x63\x51\x61','\x57\x52\x57\x7a\x57\x34\x33\x63\x4c\x6d\x6b\x49\x44\x53\x6f\x59\x57\x35\x57','\x63\x67\x53\x62\x75\x38\x6b\x58\x57\x34\x30','\x70\x59\x69\x31\x57\x35\x48\x77','\x57\x50\x34\x33\x42\x30\x65\x2f','\x6a\x53\x6f\x59\x69\x61','\x45\x4e\x37\x64\x4e\x32\x58\x53\x44\x4c\x64\x63\x56\x47','\x57\x51\x68\x64\x54\x43\x6f\x48\x43\x4d\x35\x68\x57\x52\x71','\x57\x35\x4c\x4c\x57\x36\x75\x59\x62\x61','\x57\x36\x66\x2f\x57\x52\x74\x64\x50\x53\x6b\x4d','\x57\x36\x31\x36\x57\x36\x53\x43\x66\x47','\x57\x52\x38\x6a\x57\x34\x68\x63\x4c\x43\x6b\x58\x77\x53\x6f\x2b\x57\x35\x69','\x57\x4f\x48\x6f\x73\x43\x6b\x67\x65\x6d\x6f\x48\x57\x35\x57','\x57\x36\x6d\x64\x57\x37\x79','\x57\x51\x30\x48\x45\x5a\x71\x6b','\x57\x51\x38\x58\x57\x36\x4a\x63\x48\x38\x6b\x34','\x57\x51\x2f\x63\x4b\x38\x6f\x2f\x57\x35\x4b\x66\x66\x57','\x67\x62\x50\x50\x75\x33\x57','\x57\x34\x4b\x48\x57\x34\x39\x50\x44\x71','\x57\x52\x42\x64\x56\x6d\x6b\x37\x57\x35\x52\x64\x55\x57','\x62\x32\x79\x34\x71\x4c\x53','\x57\x35\x5a\x64\x4e\x48\x6c\x63\x4d\x38\x6f\x59\x57\x50\x38','\x68\x4e\x71\x7a\x78\x4c\x69\x43\x65\x6d\x6b\x61','\x57\x52\x6a\x6c\x57\x51\x50\x64','\x65\x53\x6f\x42\x57\x37\x4b\x57\x57\x52\x6d','\x74\x38\x6b\x44\x57\x4f\x6e\x55\x57\x37\x61','\x57\x36\x70\x64\x4b\x53\x6b\x57\x57\x50\x6a\x44\x73\x53\x6f\x65\x57\x4f\x75','\x78\x38\x6b\x47\x57\x51\x48\x57\x57\x37\x56\x64\x48\x43\x6b\x74\x67\x71','\x57\x4f\x7a\x46\x57\x36\x57\x76\x57\x4f\x42\x64\x4b\x64\x76\x6f','\x57\x36\x76\x51\x57\x36\x34\x6a\x70\x61','\x57\x34\x6d\x38\x57\x37\x50\x45\x74\x61','\x74\x4b\x78\x64\x47\x66\x76\x42','\x57\x34\x4a\x64\x56\x4c\x6e\x69','\x57\x34\x58\x64\x57\x35\x69\x68','\x43\x67\x64\x64\x4b\x61','\x57\x34\x52\x64\x48\x61\x68\x64\x48\x53\x6b\x31','\x57\x52\x4f\x2b\x57\x35\x4e\x63\x4c\x43\x6b\x48','\x57\x34\x42\x64\x56\x74\x37\x64\x4d\x43\x6b\x6b','\x57\x52\x57\x7a\x57\x34\x2f\x63\x48\x43\x6b\x77\x42\x6d\x6f\x33\x57\x34\x38','\x57\x51\x56\x64\x4d\x74\x70\x63\x4b\x48\x38','\x57\x4f\x71\x7a\x45\x62\x38\x4d','\x57\x36\x5a\x64\x54\x6d\x6f\x54\x57\x50\x50\x66','\x79\x63\x33\x64\x48\x4a\x58\x7a\x71\x67\x33\x64\x50\x71','\x42\x65\x4a\x63\x48\x38\x6b\x6d','\x65\x43\x6f\x6d\x57\x36\x30\x6a','\x6e\x74\x58\x70\x42\x63\x34','\x57\x37\x30\x77\x57\x34\x72\x4a\x44\x47','\x70\x43\x6b\x67\x71\x6d\x6f\x42\x57\x51\x64\x64\x50\x4a\x71\x4d','\x79\x58\x68\x63\x49\x77\x6e\x64\x57\x51\x4a\x63\x4a\x31\x4f','\x57\x35\x6e\x53\x57\x50\x33\x64\x53\x5a\x6d','\x57\x35\x54\x64\x57\x50\x35\x6c\x74\x47','\x57\x37\x38\x6a\x57\x37\x58\x45','\x43\x65\x6a\x42\x57\x52\x54\x36','\x57\x35\x56\x64\x4a\x4e\x58\x54\x44\x72\x66\x36\x57\x37\x79','\x63\x53\x6f\x63\x57\x36\x6e\x66\x70\x47','\x57\x34\x56\x64\x4b\x59\x64\x64\x4a\x6d\x6b\x4b\x57\x35\x56\x64\x48\x71\x61','\x42\x76\x70\x63\x47\x53\x6f\x42\x57\x52\x30','\x73\x30\x7a\x79\x57\x50\x6e\x45','\x75\x6d\x6b\x6a\x57\x34\x78\x63\x54\x6d\x6f\x70\x43\x61','\x6c\x43\x6b\x30\x74\x53\x6f\x6f\x57\x50\x61','\x57\x4f\x31\x6b\x74\x38\x6b\x67\x62\x43\x6f\x4a\x57\x35\x30','\x6e\x31\x68\x64\x48\x6d\x6f\x7a\x7a\x61','\x6c\x6d\x6b\x72\x45\x53\x6f\x43\x57\x51\x42\x64\x56\x61\x4b\x34','\x43\x4c\x52\x63\x4c\x48\x33\x63\x47\x57','\x57\x35\x5a\x64\x4e\x58\x74\x64\x48\x38\x6b\x4d\x57\x34\x78\x64\x4b\x57','\x57\x52\x54\x6c\x57\x51\x7a\x54\x57\x35\x43\x38\x57\x37\x6c\x63\x4c\x61','\x57\x34\x4f\x51\x57\x35\x66\x74\x79\x61\x5a\x63\x4c\x71\x65','\x65\x4e\x75\x34\x78\x4b\x57','\x43\x65\x2f\x63\x4f\x6d\x6f\x67\x57\x51\x6d\x59\x76\x47','\x57\x51\x74\x63\x52\x59\x38\x73\x57\x50\x65','\x57\x52\x74\x63\x4e\x53\x6b\x46\x6a\x59\x6d\x2f\x6b\x71','\x57\x34\x39\x46\x57\x50\x35\x70\x78\x53\x6b\x44\x57\x34\x4a\x63\x4c\x57','\x57\x50\x6e\x42\x74\x53\x6b\x43\x63\x53\x6f\x4a\x57\x35\x68\x63\x52\x57','\x57\x51\x65\x41\x57\x34\x4a\x63\x4a\x43\x6b\x35\x41\x38\x6f\x2b','\x57\x36\x48\x4f\x57\x50\x37\x64\x4e\x63\x53','\x41\x31\x2f\x64\x4d\x32\x50\x58','\x57\x34\x56\x64\x4b\x53\x6f\x70\x57\x4f\x62\x44','\x68\x4d\x38\x4d\x41\x78\x38','\x76\x38\x6b\x61\x57\x52\x76\x45\x57\x36\x4a\x63\x47\x78\x61','\x57\x37\x76\x65\x57\x50\x6d','\x57\x34\x4e\x64\x50\x30\x35\x41\x6d\x6d\x6f\x48\x74\x43\x6f\x32','\x57\x4f\x58\x62\x57\x37\x4f\x71\x57\x50\x33\x64\x4d\x59\x6e\x71','\x57\x35\x53\x50\x57\x35\x31\x56','\x6c\x43\x6b\x6f\x74\x43\x6f\x6a\x57\x51\x64\x64\x53\x61','\x6c\x6d\x6b\x42\x77\x53\x6f\x43','\x6f\x4d\x4a\x64\x4b\x43\x6f\x71\x78\x71','\x57\x34\x71\x55\x57\x37\x31\x47\x68\x38\x6b\x2b\x57\x36\x53\x4a','\x57\x34\x56\x64\x4a\x59\x56\x64\x52\x53\x6b\x6d','\x65\x38\x6b\x33\x66\x4a\x52\x64\x49\x53\x6f\x38\x68\x53\x6f\x56','\x57\x34\x46\x64\x55\x61\x52\x64\x50\x43\x6b\x4c','\x41\x4a\x70\x64\x49\x73\x6e\x65\x78\x76\x56\x64\x47\x57','\x57\x34\x2f\x64\x47\x32\x4b\x78\x6e\x75\x75','\x62\x6d\x6b\x47\x62\x59\x64\x64\x49\x47','\x61\x38\x6f\x46\x57\x37\x6a\x62\x65\x31\x46\x63\x55\x4e\x57','\x57\x51\x78\x63\x47\x38\x6b\x6c\x43\x71','\x57\x35\x61\x4d\x57\x34\x6a\x62\x73\x57','\x57\x52\x4f\x74\x57\x36\x6c\x63\x4a\x53\x6b\x4e\x79\x6d\x6f\x50\x57\x36\x4b','\x57\x50\x4c\x32\x57\x52\x65\x56\x71\x6d\x6f\x59','\x65\x53\x6f\x57\x6b\x43\x6b\x4b\x61\x71','\x57\x36\x43\x38\x57\x36\x72\x72\x76\x57','\x6d\x5a\x58\x79\x79\x49\x4a\x63\x51\x53\x6b\x42\x65\x71','\x67\x4b\x6d\x36\x43\x33\x65','\x57\x4f\x4e\x64\x55\x6d\x6b\x47\x57\x35\x75','\x57\x35\x4c\x44\x57\x52\x33\x64\x56\x5a\x43','\x72\x67\x56\x63\x4a\x6d\x6b\x57\x57\x4f\x5a\x64\x48\x6d\x6f\x43\x57\x36\x79','\x57\x51\x72\x58\x57\x50\x38\x75\x79\x57','\x57\x36\x57\x64\x57\x37\x50\x33\x7a\x6d\x6b\x55\x57\x35\x39\x39','\x57\x50\x42\x64\x4e\x5a\x64\x64\x52\x43\x6b\x4b\x57\x37\x52\x64\x54\x71','\x69\x64\x47\x44\x57\x37\x50\x72','\x77\x38\x6f\x35\x6f\x49\x52\x63\x4a\x71','\x74\x32\x52\x64\x52\x67\x48\x44','\x57\x34\x37\x64\x48\x4d\x66\x72','\x74\x43\x6b\x73\x57\x37\x56\x63\x52\x38\x6f\x43\x7a\x43\x6f\x6d\x57\x51\x6d','\x41\x67\x50\x5a\x45\x30\x75','\x68\x32\x4f\x68\x62\x6d\x6f\x33\x57\x4f\x38','\x57\x37\x4e\x64\x4d\x43\x6f\x62\x57\x37\x56\x63\x4b\x47','\x57\x4f\x69\x47\x43\x78\x57\x50','\x68\x4d\x2f\x64\x55\x43\x6b\x74\x63\x71','\x62\x38\x6f\x7a\x57\x37\x47\x78\x57\x51\x4b','\x46\x43\x6f\x64\x64\x71\x2f\x63\x52\x47','\x57\x35\x35\x7a\x57\x50\x75','\x70\x66\x75\x48\x44\x75\x53','\x57\x4f\x39\x37\x57\x35\x47\x2b\x57\x50\x53','\x57\x51\x33\x64\x55\x43\x6f\x72\x78\x76\x75','\x6d\x33\x2f\x64\x4a\x43\x6f\x79\x77\x38\x6f\x6d','\x57\x34\x4e\x64\x4a\x43\x6f\x78\x57\x4f\x66\x77\x6b\x43\x6b\x50\x6d\x47','\x57\x51\x46\x64\x51\x58\x68\x63\x53\x47\x71\x36\x73\x71','\x6e\x64\x47\x69\x57\x37\x50\x67\x57\x50\x38','\x57\x35\x78\x64\x56\x38\x6f\x62\x57\x35\x74\x63\x4b\x71','\x57\x37\x4f\x6e\x57\x34\x76\x2b\x43\x57','\x57\x51\x74\x64\x51\x62\x4e\x63\x55\x72\x4b\x38','\x65\x53\x6b\x2b\x68\x63\x5a\x64\x4e\x71','\x45\x75\x6a\x65\x57\x4f\x6a\x2b','\x57\x52\x2f\x63\x4b\x43\x6b\x6c\x6a\x73\x53\x38\x6b\x43\x6f\x42','\x74\x6d\x6b\x42\x57\x34\x6c\x63\x52\x6d\x6f\x74\x42\x43\x6f\x66\x57\x50\x75','\x61\x59\x47\x62\x57\x37\x57','\x57\x4f\x78\x63\x54\x38\x6f\x5a\x57\x35\x79\x66','\x57\x34\x6c\x64\x4e\x72\x46\x64\x47\x6d\x6b\x31\x57\x37\x52\x64\x4d\x72\x4f','\x57\x37\x42\x64\x47\x38\x6f\x75\x57\x37\x5a\x63\x49\x47','\x57\x52\x4c\x6d\x57\x52\x48\x6f\x57\x35\x47\x30\x57\x37\x53','\x57\x4f\x79\x6e\x57\x35\x79\x68\x61\x43\x6b\x58\x43\x71','\x57\x52\x39\x66\x57\x52\x61\x6e\x57\x35\x53\x50\x57\x37\x68\x63\x4b\x57','\x70\x59\x48\x42\x42\x5a\x78\x63\x4f\x43\x6b\x32','\x57\x34\x30\x37\x57\x35\x79\x70','\x65\x32\x34\x62\x61\x47','\x57\x52\x4a\x63\x4b\x53\x6b\x76','\x6d\x77\x5a\x63\x4c\x4e\x43\x41\x61\x30\x2f\x64\x56\x49\x47\x66\x42\x73\x38','\x65\x4a\x48\x75\x57\x52\x76\x68\x57\x52\x37\x64\x4b\x38\x6b\x6d','\x57\x36\x43\x44\x57\x36\x34\x77\x57\x36\x79\x6f\x57\x35\x33\x63\x54\x43\x6f\x79\x57\x52\x53','\x70\x4e\x72\x75\x73\x75\x53\x53\x6f\x71','\x57\x37\x6e\x4b\x57\x51\x6a\x61\x43\x47','\x6e\x4a\x61\x64\x57\x36\x58\x71','\x57\x50\x48\x51\x57\x50\x47\x46\x42\x47','\x57\x51\x6c\x63\x4b\x53\x6b\x6f\x70\x64\x61\x48\x6a\x43\x6f\x59','\x75\x6d\x6b\x64\x69\x38\x6b\x50','\x77\x6d\x6f\x69\x62\x71\x33\x63\x56\x57','\x57\x50\x2f\x63\x52\x30\x31\x52\x6d\x38\x6f\x30\x43\x43\x6f\x2f','\x57\x52\x76\x79\x57\x51\x44\x73\x57\x34\x75\x31','\x57\x35\x4f\x5a\x57\x34\x79\x73\x57\x34\x78\x63\x55\x5a\x6d','\x57\x37\x65\x4c\x57\x34\x48\x54\x42\x47','\x57\x50\x78\x64\x51\x43\x6b\x74\x57\x35\x2f\x64\x4d\x61','\x43\x38\x6f\x78\x61\x53\x6b\x6d','\x57\x35\x39\x67\x57\x4f\x6c\x64\x4e\x63\x75','\x57\x4f\x4e\x63\x4d\x43\x6f\x77\x57\x35\x71\x46','\x57\x50\x33\x64\x4b\x53\x6f\x66\x7a\x76\x43','\x67\x4b\x56\x64\x4e\x43\x6b\x69\x66\x57','\x57\x35\x6c\x64\x4c\x53\x6f\x55\x57\x35\x4f','\x45\x66\x2f\x63\x55\x5a\x52\x63\x4f\x57\x5a\x64\x55\x4d\x75','\x43\x76\x2f\x63\x53\x74\x2f\x63\x50\x61\x46\x64\x4a\x57','\x76\x43\x6f\x52\x74\x68\x46\x63\x4a\x38\x6b\x2f\x62\x53\x6f\x37\x6e\x4e\x75\x6f\x76\x57','\x44\x43\x6b\x72\x57\x4f\x62\x48\x57\x34\x69','\x57\x4f\x58\x62\x57\x36\x6d\x6b\x57\x50\x56\x64\x4a\x71\x6e\x4f','\x46\x30\x52\x63\x53\x47','\x57\x34\x76\x66\x57\x52\x6e\x67\x78\x38\x6b\x77\x57\x37\x4a\x63\x4a\x61','\x57\x50\x52\x64\x50\x64\x42\x63\x4a\x5a\x53','\x44\x63\x64\x64\x47\x59\x50\x67','\x57\x36\x58\x5a\x57\x52\x68\x64\x4f\x74\x47','\x61\x6d\x6b\x39\x6a\x57\x2f\x63\x4e\x4b\x65\x44\x65\x71','\x75\x67\x56\x63\x52\x43\x6b\x34\x57\x4f\x42\x64\x47\x53\x6f\x4d\x57\x37\x61','\x46\x74\x64\x63\x4c\x65\x6d','\x57\x51\x76\x62\x78\x43\x6b\x78\x63\x6d\x6f\x48\x57\x35\x57','\x57\x4f\x71\x6b\x7a\x4a\x43','\x57\x37\x5a\x64\x4c\x62\x64\x64\x52\x43\x6b\x76','\x71\x33\x5a\x63\x4c\x38\x6b\x50\x57\x4f\x64\x64\x54\x53\x6f\x51\x57\x36\x47','\x57\x52\x76\x41\x57\x52\x4c\x50\x57\x34\x6d','\x57\x35\x30\x57\x57\x35\x47','\x57\x52\x6e\x73\x57\x51\x35\x6e\x57\x34\x6d\x55\x57\x36\x30','\x57\x4f\x7a\x50\x57\x52\x57\x47','\x57\x51\x44\x6e\x57\x51\x38\x43\x7a\x61','\x71\x6d\x6f\x39\x6b\x58\x2f\x63\x52\x32\x69\x42\x66\x57','\x77\x6d\x6b\x4e\x57\x4f\x4c\x39\x57\x34\x6d','\x57\x34\x6a\x6d\x57\x51\x78\x64\x4b\x4a\x6d','\x6e\x43\x6b\x42\x72\x6d\x6f\x68\x57\x51\x42\x64\x52\x61','\x57\x34\x46\x64\x4e\x57\x4e\x64\x4f\x43\x6b\x44','\x57\x52\x42\x64\x51\x6d\x6f\x59\x41\x68\x50\x7a','\x57\x36\x65\x77\x57\x36\x66\x70\x79\x61','\x57\x51\x70\x64\x51\x43\x6f\x30\x45\x66\x53','\x57\x52\x4a\x63\x4e\x38\x6f\x35\x57\x34\x34\x76\x63\x57','\x57\x50\x72\x2b\x57\x51\x58\x34\x57\x36\x6d','\x6e\x4a\x58\x73\x42\x47','\x57\x36\x78\x64\x4c\x43\x6f\x4f\x57\x35\x30\x63\x63\x38\x6b\x43','\x57\x34\x54\x71\x57\x34\x6d\x68\x61\x43\x6b\x38\x73\x4c\x57','\x57\x36\x42\x63\x4f\x48\x42\x64\x52\x61\x57\x65\x78\x49\x75','\x70\x43\x6f\x73\x57\x34\x4c\x5a\x69\x47','\x7a\x65\x6e\x41\x57\x52\x35\x77','\x57\x51\x48\x37\x41\x6d\x6b\x4c\x6f\x38\x6f\x71\x57\x36\x52\x63\x49\x61','\x57\x36\x37\x64\x52\x38\x6f\x6e\x57\x51\x31\x58\x67\x6d\x6b\x73\x67\x47','\x57\x35\x35\x2b\x70\x48\x48\x4a\x57\x4f\x44\x37\x57\x4f\x74\x64\x4e\x6d\x6b\x30\x57\x34\x7a\x56\x44\x61','\x41\x65\x5a\x64\x4d\x75\x35\x62','\x6a\x53\x6f\x4e\x61\x38\x6b\x72\x69\x71','\x79\x53\x6b\x72\x57\x35\x37\x63\x47\x53\x6f\x6c','\x41\x4c\x42\x63\x56\x64\x42\x63\x4f\x5a\x42\x64\x4a\x33\x47','\x57\x35\x4b\x57\x57\x34\x34\x7a\x57\x35\x4a\x63\x56\x71','\x6d\x59\x66\x74\x43\x63\x4e\x63\x4f\x53\x6b\x32\x70\x57','\x68\x38\x6f\x70\x57\x34\x53\x4e\x57\x52\x57','\x6f\x77\x4a\x64\x4a\x6d\x6f\x73','\x75\x77\x68\x63\x47\x4a\x64\x63\x4f\x61','\x57\x50\x4f\x75\x43\x4d\x34\x6b','\x57\x35\x52\x64\x48\x72\x42\x64\x4a\x43\x6b\x65\x57\x34\x42\x64\x4c\x72\x4f','\x43\x38\x6b\x49\x57\x52\x58\x6f\x57\x34\x75','\x65\x43\x6f\x70\x57\x35\x4f\x6a\x57\x51\x4b','\x57\x35\x66\x36\x57\x37\x69\x56\x6a\x47','\x77\x38\x6f\x5a\x57\x35\x68\x63\x4f\x62\x64\x64\x52\x4a\x56\x64\x49\x61','\x57\x52\x4a\x63\x4a\x53\x6f\x51\x57\x35\x75\x79\x62\x6d\x6b\x67\x57\x34\x4f','\x69\x49\x54\x45\x44\x49\x37\x63\x56\x6d\x6b\x36\x62\x47','\x57\x52\x71\x66\x57\x34\x4a\x64\x53\x58\x64\x63\x4d\x38\x6b\x73\x57\x34\x43','\x78\x6d\x6b\x45\x6a\x43\x6b\x51','\x57\x37\x39\x72\x57\x51\x4e\x63\x48\x53\x6b\x70\x57\x36\x38\x66\x57\x34\x4f','\x67\x53\x6f\x4a\x57\x36\x71\x33\x57\x51\x6c\x63\x56\x38\x6f\x62\x78\x47','\x57\x37\x47\x6b\x57\x36\x44\x79\x79\x61','\x79\x43\x6f\x70\x57\x36\x52\x63\x49\x49\x5a\x64\x50\x71\x68\x64\x50\x61','\x57\x36\x62\x74\x57\x34\x2f\x63\x4b\x53\x6b\x4a\x79\x6d\x6f\x56\x57\x37\x4b','\x71\x4a\x39\x38\x61\x71\x44\x61\x72\x53\x6b\x4f\x69\x38\x6b\x4e\x76\x31\x76\x76','\x63\x38\x6b\x71\x71\x6d\x6f\x65\x57\x4f\x30','\x66\x4c\x68\x64\x4a\x38\x6f\x4d\x74\x47','\x57\x35\x34\x39\x57\x35\x39\x41','\x73\x62\x68\x64\x4d\x59\x54\x61','\x57\x35\x48\x70\x57\x4f\x31\x43\x73\x43\x6b\x43','\x57\x36\x35\x6f\x57\x50\x2f\x64\x50\x61','\x73\x38\x6f\x4c\x57\x36\x64\x63\x52\x57\x34','\x62\x38\x6f\x76\x57\x36\x4b','\x73\x43\x6b\x65\x6b\x38\x6f\x31\x46\x38\x6b\x56','\x67\x5a\x4c\x50\x41\x61\x79','\x57\x50\x6a\x53\x72\x43\x6b\x35\x6d\x61','\x42\x66\x70\x63\x4c\x4a\x46\x63\x47\x61','\x6d\x77\x70\x64\x47\x68\x62\x30\x43\x32\x42\x63\x54\x71','\x7a\x67\x6c\x63\x50\x6d\x6b\x51\x57\x51\x61','\x57\x35\x79\x51\x57\x36\x39\x64\x73\x71\x37\x63\x4e\x61\x4f','\x57\x4f\x75\x41\x57\x36\x78\x63\x52\x43\x6b\x4d','\x63\x43\x6b\x43\x79\x47\x37\x64\x4e\x38\x6b\x41\x74\x71\x75','\x62\x43\x6f\x6c\x57\x37\x4b\x73\x57\x4f\x71','\x57\x4f\x56\x64\x56\x6d\x6b\x31\x57\x35\x4e\x64\x50\x31\x6d\x70\x57\x50\x61','\x78\x43\x6f\x46\x57\x34\x70\x63\x49\x73\x4f','\x6f\x4a\x34\x67\x57\x37\x65','\x71\x30\x76\x43\x57\x50\x48\x7a','\x63\x53\x6b\x45\x6c\x64\x56\x64\x54\x47','\x57\x50\x78\x64\x56\x6d\x6b\x36\x57\x35\x52\x64\x4c\x76\x69','\x6e\x31\x4e\x64\x4f\x6d\x6b\x2b\x63\x57','\x57\x4f\x65\x50\x79\x75\x79','\x45\x6d\x6b\x4e\x57\x52\x6e\x4b\x57\x35\x57','\x57\x51\x66\x2b\x57\x50\x69\x64\x72\x61','\x79\x4e\x53\x6e\x6d\x32\x4e\x64\x55\x38\x6b\x4d\x65\x38\x6f\x51\x57\x50\x6a\x44\x57\x52\x65','\x6d\x5a\x58\x79\x79\x49\x4a\x63\x51\x53\x6b\x42\x68\x71','\x57\x52\x56\x63\x54\x38\x6f\x39\x57\x35\x71\x79','\x57\x52\x2f\x63\x4b\x38\x6f\x31\x57\x35\x4b\x7a\x66\x53\x6b\x42','\x57\x51\x5a\x64\x53\x6d\x6b\x38\x57\x37\x42\x64\x48\x47','\x57\x34\x70\x64\x49\x38\x6f\x36\x57\x4f\x58\x66\x69\x43\x6b\x4f','\x57\x35\x64\x64\x4a\x43\x6f\x49\x57\x35\x74\x63\x4a\x38\x6b\x65\x57\x36\x38','\x57\x51\x74\x64\x52\x6d\x6f\x4a\x43\x67\x7a\x6a\x57\x52\x61\x2b','\x79\x4a\x64\x64\x4d\x57\x66\x63\x76\x31\x56\x64\x4c\x71','\x57\x35\x6a\x59\x57\x52\x48\x4e\x45\x71','\x6b\x67\x4a\x64\x49\x53\x6f\x6c\x73\x53\x6f\x49\x57\x35\x70\x63\x4a\x47','\x61\x4a\x6d\x33\x57\x34\x7a\x42','\x57\x52\x30\x69\x57\x35\x5a\x63\x49\x6d\x6b\x2b\x79\x47','\x65\x49\x54\x43\x43\x74\x4e\x63\x56\x43\x6f\x5a','\x64\x4c\x46\x64\x53\x38\x6b\x43\x6f\x71','\x67\x38\x6b\x69\x43\x38\x6f\x68\x57\x50\x57','\x68\x4d\x57\x76\x66\x71','\x46\x53\x6b\x49\x57\x4f\x6e\x6a\x57\x37\x30','\x73\x6d\x6f\x5a\x69\x57\x4e\x63\x4d\x71','\x57\x52\x6e\x6d\x57\x36\x38\x70\x57\x4f\x34','\x57\x36\x2f\x64\x55\x4b\x50\x71\x75\x47','\x73\x38\x6b\x71\x57\x51\x50\x69\x57\x36\x69','\x57\x4f\x70\x63\x50\x48\x61\x48\x57\x50\x76\x51\x57\x36\x43','\x6b\x53\x6b\x42\x77\x53\x6f\x68\x57\x52\x4a\x64\x4f\x57\x69','\x72\x4d\x31\x6b\x57\x52\x50\x76\x57\x52\x78\x64\x4b\x38\x6b\x6f','\x57\x4f\x53\x72\x57\x34\x56\x63\x52\x43\x6b\x6b','\x46\x33\x74\x63\x4b\x74\x78\x63\x50\x71','\x66\x57\x58\x6a\x72\x5a\x79','\x63\x68\x43\x73\x63\x6d\x6f\x51\x57\x50\x5a\x63\x54\x72\x34','\x57\x4f\x79\x6e\x57\x34\x44\x75\x66\x6d\x6b\x6a\x43\x66\x69','\x41\x68\x54\x58\x79\x75\x65\x72\x63\x71','\x6d\x33\x6d\x77\x6a\x38\x6f\x51','\x6a\x38\x6f\x4a\x57\x37\x44\x74\x67\x71','\x57\x4f\x52\x64\x54\x43\x6b\x39\x57\x35\x37\x64\x48\x61','\x57\x34\x53\x67\x66\x38\x6f\x72','\x72\x33\x31\x7a\x57\x50\x6e\x4b','\x57\x4f\x71\x47\x42\x47','\x57\x37\x6a\x73\x57\x4f\x70\x64\x4a\x53\x6b\x46\x57\x37\x69\x6d\x57\x35\x43','\x43\x4d\x35\x59\x41\x77\x53\x71\x67\x43\x6f\x62','\x77\x53\x6f\x33\x57\x34\x2f\x63\x4c\x71\x38','\x64\x30\x47\x70\x61\x6d\x6f\x61','\x6f\x43\x6b\x58\x41\x53\x6f\x59\x57\x50\x53','\x70\x38\x6b\x42\x72\x38\x6f\x6e\x57\x50\x33\x64\x53\x71','\x42\x77\x70\x64\x48\x32\x50\x39\x44\x4e\x46\x63\x4c\x61','\x57\x36\x5a\x64\x48\x31\x6a\x73\x72\x71','\x57\x51\x2f\x63\x4d\x38\x6f\x53\x57\x35\x30','\x57\x34\x4c\x37\x57\x50\x46\x64\x4d\x72\x53','\x57\x50\x39\x4a\x57\x52\x71\x38\x76\x38\x6f\x2f','\x66\x43\x6b\x7a\x67\x49\x37\x64\x56\x61','\x57\x37\x58\x63\x57\x4f\x6c\x64\x4f\x57','\x57\x35\x74\x64\x4a\x53\x6f\x48\x57\x4f\x66\x62','\x46\x66\x4e\x63\x49\x53\x6b\x58\x57\x51\x6d','\x75\x53\x6b\x61\x57\x52\x34','\x57\x4f\x47\x67\x43\x5a\x75','\x57\x51\x30\x36\x7a\x62\x43\x54','\x61\x72\x53\x6b\x57\x35\x6e\x2f','\x57\x52\x46\x63\x51\x48\x71\x62\x57\x52\x79','\x78\x77\x48\x59\x45\x30\x4b','\x64\x33\x6c\x64\x54\x38\x6b\x76\x65\x71','\x67\x6d\x6b\x4c\x57\x4f\x33\x64\x54\x75\x52\x63\x48\x61\x74\x64\x4f\x4b\x74\x63\x4f\x78\x56\x64\x52\x57','\x57\x35\x37\x64\x51\x75\x44\x31\x73\x47'];_0x35e3=function(){return _0x2d79a2;};return _0x35e3();}_0x22151f();const _0x1e95ac=require(_0x83241d(0xc0,'\x21\x6d\x6a\x68')),_0x19c792=require('\x66\x73'),_0x1a5cb7=require(_0x83241d(0x21f,'\x4a\x65\x6c\x30')),{hubFetch:_0x36da3a}=require(_0x83241d(0xd4,'\x5e\x70\x4b\x38')+'\x63\x68'),{withFileLock:_0x3c6cd6}=require(_0x83241d(0x10a,'\x31\x65\x49\x43')+_0x83241d(0x1ec,'\x6e\x57\x66\x4b'));function _0x332f8d(_0x31e4db,_0x3ebb39){const _0x2cbed2=_0x83241d,_0x1c8320={};_0x1c8320[_0x2cbed2(0x1f4,'\x77\x52\x44\x33')]=_0x2cbed2(0x1c6,'\x6e\x57\x66\x4b');const _0x555573=_0x1c8320;return _0x1e95ac[_0x2cbed2(0x129,'\x50\x5a\x31\x30')+'\x61\x63'](_0x2cbed2(0x114,'\x43\x6d\x28\x77'),_0x31e4db)['\x75\x70\x64\x61\x74\x65'](_0x3ebb39)[_0x2cbed2(0x22b,'\x46\x32\x2a\x4b')](_0x555573[_0x2cbed2(0x136,'\x44\x71\x70\x74')]);}function _0x13d73d(_0x978d0e){const _0xccfaea=_0x83241d,_0x2527a9={'\x59\x59\x51\x78\x46':function(_0x1c2526,_0x46515c){return _0x1c2526(_0x46515c);},'\x48\x5a\x74\x65\x49':function(_0x14ce5b,_0x55d210){return _0x14ce5b||_0x55d210;},'\x55\x69\x68\x4b\x67':_0xccfaea(0x186,'\x36\x59\x4c\x45')};return _0x1e95ac[_0xccfaea(0x21d,'\x50\x5a\x31\x30')+'\x73\x68'](_0xccfaea(0x1bb,'\x46\x32\x2a\x4b'))[_0xccfaea(0x189,'\x35\x6d\x45\x77')](_0x2527a9[_0xccfaea(0xe6,'\x6c\x58\x77\x54')](String,_0x2527a9[_0xccfaea(0x1d7,'\x6e\x57\x66\x4b')](_0x978d0e,'')))[_0xccfaea(0x19b,'\x41\x25\x51\x64')](_0x2527a9[_0xccfaea(0x12c,'\x4a\x65\x6c\x30')])[_0xccfaea(0x23c,'\x24\x54\x7a\x79')](-0x1*0xb1e+-0x46f+-0x52f*-0x3,0x43d+0xcd*-0x6+0xa1);}function _0x5ea833({geneId:_0x1f9e77,signals:_0x1bb4d4,mutation:_0x3ffbfc}){const _0x45fbdb=_0x83241d,_0x49e7f8={'\x52\x69\x41\x51\x56':function(_0xb3b089,_0x5ba79f){return _0xb3b089(_0x5ba79f);},'\x6b\x4c\x59\x74\x4e':_0x45fbdb(0xed,'\x6f\x54\x73\x41')+_0x45fbdb(0x1f1,'\x41\x25\x51\x64'),'\x4d\x44\x74\x64\x6d':_0x45fbdb(0x1ce,'\x36\x32\x6a\x52'),'\x49\x4b\x6c\x59\x61':_0x45fbdb(0x113,'\x35\x6d\x45\x77'),'\x51\x43\x76\x4a\x43':function(_0x5c4848,_0x92bf0b){return _0x5c4848(_0x92bf0b);},'\x45\x4b\x64\x49\x66':function(_0x3f45f1,_0x45aec5){return _0x3f45f1||_0x45aec5;},'\x76\x5a\x4a\x77\x43':function(_0x150a08,_0x33f860,_0x2a4444){return _0x150a08(_0x33f860,_0x2a4444);}};let _0x5dfb52=null;try{_0x5dfb52=_0x49e7f8[_0x45fbdb(0xd1,'\x6f\x54\x73\x41')](require,_0x49e7f8['\x6b\x4c\x59\x74\x4e'])[_0x45fbdb(0x1ee,'\x35\x68\x78\x44')+_0x45fbdb(0x1f0,'\x36\x32\x6a\x52')]();}catch(_0x639e87){}if(!_0x5dfb52)return null;let _0x2c409e=null;try{_0x2c409e=_0x49e7f8[_0x45fbdb(0x160,'\x51\x5a\x26\x30')](require,_0x49e7f8[_0x45fbdb(0x122,'\x24\x54\x7a\x79')])[_0x45fbdb(0x130,'\x35\x26\x26\x47')+'\x64']();}catch(_0x1ee26c){}if(!_0x2c409e)return null;const _0xba16b7=_0x1e95ac[_0x45fbdb(0xec,'\x61\x71\x70\x39')+'\x73\x68'](_0x49e7f8[_0x45fbdb(0x10f,'\x35\x26\x26\x47')])[_0x45fbdb(0x21a,'\x35\x28\x50\x39')](_0x5dfb52)[_0x45fbdb(0x1c9,'\x4f\x78\x67\x51')](_0x49e7f8[_0x45fbdb(0x10d,'\x77\x36\x4b\x5e')]),_0x27474c=Date['\x6e\x6f\x77'](),_0x129ecf=_0x49e7f8['\x51\x43\x76\x4a\x43'](_0x13d73d,JSON[_0x45fbdb(0x16e,'\x36\x32\x6a\x52')+'\x79'](Array[_0x45fbdb(0x1fd,'\x41\x25\x51\x64')](_0x1bb4d4)?_0x1bb4d4[_0x45fbdb(0x108,'\x6e\x57\x66\x4b')](0x334+0x17dd*0x1+0x1b11*-0x1,0x1*-0x101+0x3*-0x167+0x53e):[])),_0x4d5425=_0x13d73d(JSON['\x73\x74\x72\x69\x6e\x67\x69\x66'+'\x79'](_0x3ffbfc||{})),_0x424763=[_0x2c409e,_0x49e7f8[_0x45fbdb(0xef,'\x4f\x39\x6e\x63')](_0x1f9e77,''),_0x129ecf,_0x4d5425,_0x49e7f8[_0x45fbdb(0x1d8,'\x51\x4f\x6e\x32')](String,_0x27474c)][_0x45fbdb(0x253,'\x43\x6d\x28\x77')]('\x7c'),_0x43fec4=_0x49e7f8[_0x45fbdb(0x254,'\x5e\x70\x4b\x38')](_0x332f8d,_0xba16b7,_0x424763);return{'\x6e\x6f\x64\x65\x49\x64':_0x2c409e,'\x6e\x6f\x64\x65\x53\x65\x63\x72\x65\x74':_0x5dfb52,'\x62\x6f\x64\x79':{'\x73\x65\x6e\x64\x65\x72\x5f\x69\x64':_0x2c409e,'\x67\x65\x6e\x65\x5f\x69\x64':_0x49e7f8['\x45\x4b\x64\x49\x66'](_0x1f9e77,''),'\x73\x69\x67\x6e\x61\x6c\x73\x5f\x68\x61\x73\x68':_0x129ecf,'\x6d\x75\x74\x61\x74\x69\x6f\x6e\x5f\x68\x61\x73\x68':_0x4d5425,'\x74\x73':_0x27474c,'\x63\x6c\x69\x65\x6e\x74\x5f\x73\x69\x67\x6e\x61\x74\x75\x72\x65':_0x43fec4}};}function _0x299c(_0x1d1e74,_0x2fa500){_0x1d1e74=_0x1d1e74-(-0x94*-0x16+0x268e+-0x2*0x1943);const _0x5026ed=_0x35e3();let _0x358d68=_0x5026ed[_0x1d1e74];if(_0x299c['\x4e\x4e\x55\x6d\x58\x51']===undefined){var _0x7ff347=function(_0x3188a5){const _0x2caac7='\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 _0x105cb2='',_0x15f8f3='',_0xcd2c10=_0x105cb2+_0x7ff347,_0x5be898=(''+function(){return 0x2*-0x1193+0x1273+-0x10b3*-0x1;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x1277+0xc25*-0x1+0x1cd*0x11);for(let _0x22b7b8=-0x796*-0x3+-0x44*0x6e+-0x676*-0x1,_0x26ec4b,_0x463cab,_0x5af1f5=-0x1c94*0x1+0x1a0a+-0x2*-0x145;_0x463cab=_0x3188a5['\x63\x68\x61\x72\x41\x74'](_0x5af1f5++);~_0x463cab&&(_0x26ec4b=_0x22b7b8%(0x1256+0x1c13+-0x2e65)?_0x26ec4b*(0x15*0x6d+-0x17d1+0xf20)+_0x463cab:_0x463cab,_0x22b7b8++%(0xb02*-0x2+-0x1bba*0x1+-0x243*-0x16))?_0x105cb2+=_0x5be898||_0xcd2c10['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5af1f5+(0x1b90+0x431*0x4+0x1625*-0x2))-(0xae7*0x1+0x1a*-0x8d+0x375)!==0xd1*0xd+-0x1d65+0x12c8?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x13a7+-0x1*-0x63b+0xe6b&_0x26ec4b>>(-(0x33*-0x89+-0x1884+-0x5*-0xa5d)*_0x22b7b8&-0x1e25+0x391+0x1a9a)):_0x22b7b8:0x1e*-0x45+0x29*-0x1f+-0xd0d*-0x1){_0x463cab=_0x2caac7['\x69\x6e\x64\x65\x78\x4f\x66'](_0x463cab);}for(let _0x485398=-0x10c+-0x1*0x161c+-0x27*-0x98,_0x41230d=_0x105cb2['\x6c\x65\x6e\x67\x74\x68'];_0x485398<_0x41230d;_0x485398++){_0x15f8f3+='\x25'+('\x30\x30'+_0x105cb2['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x485398)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x29a+0x12d2+-0x155c))['\x73\x6c\x69\x63\x65'](-(-0x2374+-0x10d0+-0x1a23*-0x2));}return decodeURIComponent(_0x15f8f3);};const _0x1d4c90=function(_0x2ec395,_0x4f1beb){let _0x26f8c0=[],_0x495b43=-0x9b*-0x35+-0x1*-0x23d8+-0x43ef,_0x11affd,_0x16ec14='';_0x2ec395=_0x7ff347(_0x2ec395);let _0x33d815;for(_0x33d815=0x50b*-0x1+0x25dc+-0x20d1;_0x33d815<0x109c+0x15c7+0x233*-0x11;_0x33d815++){_0x26f8c0[_0x33d815]=_0x33d815;}for(_0x33d815=-0xfb*0x24+0x17*0x9f+0x1503;_0x33d815<-0xa0c*-0x2+-0x89*0x41+0xfb1;_0x33d815++){_0x495b43=(_0x495b43+_0x26f8c0[_0x33d815]+_0x4f1beb['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x33d815%_0x4f1beb['\x6c\x65\x6e\x67\x74\x68']))%(-0x229a+0xecf+0x1*0x14cb),_0x11affd=_0x26f8c0[_0x33d815],_0x26f8c0[_0x33d815]=_0x26f8c0[_0x495b43],_0x26f8c0[_0x495b43]=_0x11affd;}_0x33d815=-0x13b2+-0x21*-0xca+-0xe*0x74,_0x495b43=-0x18a8+0x3a*0x1d+0x90b*0x2;for(let _0x33ef82=0x26a4+0x9b*-0x15+-0x1*0x19ed;_0x33ef82<_0x2ec395['\x6c\x65\x6e\x67\x74\x68'];_0x33ef82++){_0x33d815=(_0x33d815+(0xe*0x1e2+-0xd40+-0xd1b*0x1))%(0x10fd*0x1+0x1314+0xbf*-0x2f),_0x495b43=(_0x495b43+_0x26f8c0[_0x33d815])%(0x2b*0xb+0x1944+-0x1a1d),_0x11affd=_0x26f8c0[_0x33d815],_0x26f8c0[_0x33d815]=_0x26f8c0[_0x495b43],_0x26f8c0[_0x495b43]=_0x11affd,_0x16ec14+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x2ec395['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x33ef82)^_0x26f8c0[(_0x26f8c0[_0x33d815]+_0x26f8c0[_0x495b43])%(-0x99e*0x3+0x1*0x6b9+-0xbf*-0x1f)]);}return _0x16ec14;};_0x299c['\x72\x75\x6b\x65\x7a\x77']=_0x1d4c90,_0x299c['\x44\x7a\x6d\x45\x6b\x6c']={},_0x299c['\x4e\x4e\x55\x6d\x58\x51']=!![];}const _0x2718ab=_0x5026ed[-0xacc*-0x1+0x1*-0x17b3+-0x44d*-0x3],_0x3e3d01=_0x1d1e74+_0x2718ab,_0x28e62b=_0x299c['\x44\x7a\x6d\x45\x6b\x6c'][_0x3e3d01];if(!_0x28e62b){if(_0x299c['\x65\x6f\x6d\x6e\x71\x71']===undefined){const _0x7b344f=function(_0x26f63b){this['\x64\x65\x50\x5a\x64\x6e']=_0x26f63b,this['\x75\x61\x44\x41\x5a\x70']=[-0xf3d+-0x17*0x8a+-0x1d*-0xf4,-0x9eb+0x2567+-0x2*0xdbe,0x1e*0xa6+-0x1bb0+0x44*0x1f],this['\x4c\x59\x6f\x59\x6a\x53']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x66\x70\x47\x4e\x54\x49']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x5a\x62\x49\x48\x43\x72']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x7b344f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x54\x4c\x71\x79\x6d\x6a']=function(){const _0x48c0da=new RegExp(this['\x66\x70\x47\x4e\x54\x49']+this['\x5a\x62\x49\x48\x43\x72']),_0x78c8ac=_0x48c0da['\x74\x65\x73\x74'](this['\x4c\x59\x6f\x59\x6a\x53']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x75\x61\x44\x41\x5a\x70'][0x884+0xbf6+-0x6d3*0x3]:--this['\x75\x61\x44\x41\x5a\x70'][-0x1*-0x6d7+-0x998+0x2c1];return this['\x61\x46\x6c\x71\x76\x64'](_0x78c8ac);},_0x7b344f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x61\x46\x6c\x71\x76\x64']=function(_0x3f3dd3){if(!Boolean(~_0x3f3dd3))return _0x3f3dd3;return this['\x5a\x68\x41\x47\x5a\x56'](this['\x64\x65\x50\x5a\x64\x6e']);},_0x7b344f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x5a\x68\x41\x47\x5a\x56']=function(_0x5c63ec){for(let _0x4b1098=0x1dd8+-0x4*0x6ad+-0x3*0x10c,_0x4d94d3=this['\x75\x61\x44\x41\x5a\x70']['\x6c\x65\x6e\x67\x74\x68'];_0x4b1098<_0x4d94d3;_0x4b1098++){this['\x75\x61\x44\x41\x5a\x70']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x4d94d3=this['\x75\x61\x44\x41\x5a\x70']['\x6c\x65\x6e\x67\x74\x68'];}return _0x5c63ec(this['\x75\x61\x44\x41\x5a\x70'][0xde0+-0x6d0*-0x1+0x8*-0x296]);},(''+function(){return 0x19b0+-0x1734+-0x27c;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x7c*0x1e+0xe6d+-0x73d*0x4)&&new _0x7b344f(_0x299c)['\x54\x4c\x71\x79\x6d\x6a'](),_0x299c['\x65\x6f\x6d\x6e\x71\x71']=!![];}_0x358d68=_0x299c['\x72\x75\x6b\x65\x7a\x77'](_0x358d68,_0x2fa500),_0x299c['\x44\x7a\x6d\x45\x6b\x6c'][_0x3e3d01]=_0x358d68;}else _0x358d68=_0x28e62b;return _0x358d68;}function _0x271d7d({geneId:_0x1cd26d,signals:_0x53bd0d,mutation:_0x5929da}){const _0xed6561=_0x83241d,_0x51d1a3={'\x49\x68\x50\x44\x6c':function(_0x1eecce,_0x5dcb5f){return _0x1eecce>=_0x5dcb5f;},'\x45\x6d\x65\x4c\x5a':function(_0x3bc267,_0x40d26e){return _0x3bc267+_0x40d26e;},'\x58\x4e\x4e\x6e\x58':_0xed6561(0x1ca,'\x50\x5a\x31\x30'),'\x4b\x77\x54\x6b\x5a':function(_0x15b155,_0x23de15){return _0x15b155(_0x23de15);},'\x4f\x65\x6f\x67\x5a':function(_0x1f2f49,_0x42425a){return _0x1f2f49(_0x42425a);},'\x6c\x63\x41\x4e\x4e':function(_0x333bec,_0xa476ba){return _0x333bec===_0xa476ba;},'\x66\x47\x5a\x57\x79':'\x64\x79\x5a\x6a\x70','\x74\x69\x4f\x6c\x54':function(_0x258125,_0x5efe00){return _0x258125===_0x5efe00;},'\x5a\x52\x76\x46\x51':_0xed6561(0xe4,'\x36\x32\x6a\x52'),'\x4d\x78\x47\x4d\x70':_0xed6561(0xc6,'\x4f\x78\x67\x51'),'\x6c\x5a\x6a\x6a\x52':function(_0x3dd26a,_0x1ae602){return _0x3dd26a!==_0x1ae602;},'\x52\x62\x58\x59\x6e':_0xed6561(0x204,'\x51\x4f\x6e\x32'),'\x50\x52\x78\x6f\x69':function(_0x1b7118){return _0x1b7118();},'\x71\x75\x6c\x65\x6b':_0xed6561(0xd9,'\x36\x32\x6a\x52'),'\x44\x45\x49\x52\x54':_0xed6561(0xd0,'\x49\x33\x40\x61')+'\x72\x6c','\x48\x57\x74\x6c\x46':_0xed6561(0x1a0,'\x50\x55\x31\x65')+_0xed6561(0x106,'\x21\x46\x56\x41')+_0xed6561(0x179,'\x6d\x24\x24\x71'),'\x64\x79\x58\x47\x4b':_0xed6561(0x104,'\x6f\x5d\x6e\x4b')+'\x67','\x74\x42\x77\x74\x71':_0xed6561(0x12f,'\x37\x5a\x61\x5a')+_0xed6561(0x246,'\x21\x6d\x6a\x68'),'\x4d\x4a\x69\x62\x6f':function(_0x340ccc,_0x5adb0e){return _0x340ccc+_0x5adb0e;},'\x74\x6c\x4d\x51\x5a':_0xed6561(0x135,'\x50\x5a\x31\x30')},_0x7fcecb=(process.env.A2A_HUB_URL||'')['\x72\x65\x70\x6c\x61\x63\x65'](/\/+$/,''),_0x448654={};_0x448654['\x6f\x6b']=![],_0x448654['\x65\x72\x72\x6f\x72']=_0x51d1a3[_0xed6561(0x1b7,'\x35\x26\x26\x47')],_0x448654['\x6f\x66\x66\x6c\x69\x6e\x65']=!![];if(!_0x7fcecb)return Promise[_0xed6561(0x184,'\x24\x54\x7a\x79')](_0x448654);const _0x24d154={};_0x24d154[_0xed6561(0x152,'\x77\x52\x44\x33')]=_0x1cd26d,_0x24d154[_0xed6561(0x1f9,'\x36\x32\x6a\x52')]=_0x53bd0d,_0x24d154['\x6d\x75\x74\x61\x74\x69\x6f\x6e']=_0x5929da;const _0x572a4b=_0x5ea833(_0x24d154),_0x2fd9d5={};_0x2fd9d5['\x6f\x6b']=![],_0x2fd9d5[_0xed6561(0x1dc,'\x36\x32\x6a\x52')]=_0xed6561(0x236,'\x4d\x72\x48\x4a')+'\x6e\x74\x69\x61\x6c\x73',_0x2fd9d5[_0xed6561(0x247,'\x50\x5a\x31\x30')]=!![];if(!_0x572a4b)return Promise[_0xed6561(0x13f,'\x77\x52\x44\x33')](_0x2fd9d5);const _0xdfa0b1=_0x7fcecb+_0x51d1a3[_0xed6561(0x15b,'\x25\x57\x44\x49')],_0x2e8fca=require(_0x51d1a3[_0xed6561(0x210,'\x36\x32\x6a\x52')])[_0xed6561(0xf0,'\x29\x4f\x67\x49')+_0xed6561(0x109,'\x7a\x52\x59\x76')+_0xed6561(0xf1,'\x4d\x72\x48\x4a')+'\x53']||0x3974+-0x4c86+0x3a22,_0x2f2713={'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x51d1a3[_0xed6561(0x1dd,'\x31\x65\x49\x43')],'\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':_0x51d1a3[_0xed6561(0x1c7,'\x32\x6c\x77\x65')](_0x51d1a3[_0xed6561(0x251,'\x35\x28\x50\x39')],_0x572a4b[_0xed6561(0xe0,'\x5e\x70\x4b\x38')+'\x65\x74'])};return _0x36da3a(_0xdfa0b1,{'\x6d\x65\x74\x68\x6f\x64':_0xed6561(0x20b,'\x6e\x57\x66\x4b'),'\x68\x65\x61\x64\x65\x72\x73':_0x2f2713,'\x62\x6f\x64\x79':JSON[_0xed6561(0x18b,'\x77\x4b\x39\x28')+'\x79'](_0x572a4b['\x62\x6f\x64\x79']),'\x73\x69\x67\x6e\x61\x6c':AbortSignal[_0xed6561(0x12b,'\x4f\x78\x67\x51')](_0x2e8fca)})['\x74\x68\x65\x6e'](function(_0x5d5f60){const _0x3ebb0a=_0xed6561,_0x4d1b6a={'\x4b\x52\x6b\x44\x75':function(_0x21df3d,_0x2049f0){const _0x3b0f55=_0x299c;return _0x51d1a3[_0x3b0f55(0x1cc,'\x4a\x65\x6c\x30')](_0x21df3d,_0x2049f0);},'\x4d\x6b\x4d\x4d\x55':_0x3ebb0a(0x145,'\x61\x71\x70\x39')+_0x3ebb0a(0x162,'\x44\x71\x70\x74'),'\x42\x47\x41\x52\x70':function(_0xa3a287,_0x487462){const _0x482e8=_0x3ebb0a;return _0x51d1a3[_0x482e8(0x169,'\x4a\x65\x6c\x30')](_0xa3a287,_0x487462);},'\x4d\x48\x48\x6f\x49':_0x51d1a3[_0x3ebb0a(0xff,'\x77\x4b\x39\x28')]};if(_0x51d1a3[_0x3ebb0a(0x1b9,'\x5e\x70\x4b\x38')](_0x51d1a3['\x5a\x52\x76\x46\x51'],_0x51d1a3[_0x3ebb0a(0x127,'\x35\x28\x50\x39')]))return _0x4d1b6a[_0x3ebb0a(0x232,'\x59\x40\x21\x62')](_0x6322a5,_0x4d1b6a['\x4d\x6b\x4d\x4d\x55'])[_0x3ebb0a(0x16c,'\x6d\x24\x24\x71')+_0x3ebb0a(0xd5,'\x25\x57\x44\x49')]()||null;else{if(_0x5d5f60[_0x3ebb0a(0x18f,'\x39\x67\x46\x77')]<-0x1d5b+-0x1*-0x2121+-0x1d2){if(_0x51d1a3[_0x3ebb0a(0x21c,'\x6e\x57\x66\x4b')](_0x51d1a3[_0x3ebb0a(0xee,'\x35\x6d\x45\x77')],_0x51d1a3[_0x3ebb0a(0x133,'\x54\x39\x21\x78')]))return null;else _0x51d1a3['\x50\x52\x78\x6f\x69'](_0x2df179);}if(!_0x5d5f60['\x6f\x6b'])return _0x51d1a3[_0x3ebb0a(0x1f8,'\x5b\x33\x5d\x36')](_0x51d1a3[_0x3ebb0a(0x13d,'\x35\x54\x7a\x5a')],_0x51d1a3[_0x3ebb0a(0xd2,'\x35\x26\x26\x47')])?_0x5d5f60['\x74\x65\x78\x74']()[_0x3ebb0a(0x195,'\x51\x5a\x26\x30')](function(_0x20dfec){const _0x2a9ca2=_0x3ebb0a,_0x3099fa=_0x51d1a3[_0x2a9ca2(0x243,'\x36\x59\x4c\x45')](_0x5d5f60[_0x2a9ca2(0xe5,'\x37\x5a\x61\x5a')],-0x1ee2+-0x890+0x2f5*0xe);return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x51d1a3[_0x2a9ca2(0x141,'\x31\x65\x49\x43')](_0x51d1a3[_0x2a9ca2(0xc5,'\x6f\x5d\x6e\x4b')](_0x51d1a3[_0x2a9ca2(0x24f,'\x49\x33\x40\x61')]+_0x5d5f60[_0x2a9ca2(0x1f3,'\x75\x29\x54\x46')],'\x3a\x20'),_0x20dfec['\x73\x6c\x69\x63\x65'](0x1*0x1a26+0x13d4+-0x2dfa,-0x1*-0x964+0x1d3d+0x25d9*-0x1)),'\x6f\x66\x66\x6c\x69\x6e\x65':_0x3099fa};}):_0x51d1a3[_0x3ebb0a(0x115,'\x50\x5a\x31\x30')](_0x21d94f,_0x3ebb0a(0xeb,'\x4f\x78\x67\x51'))[_0x3ebb0a(0x140,'\x4f\x39\x6e\x63')+_0x3ebb0a(0x16d,'\x59\x40\x21\x62')]();return _0x5d5f60['\x6a\x73\x6f\x6e']()[_0x3ebb0a(0x1a1,'\x39\x67\x46\x77')](function(_0x4dd5a4){const _0x671fec=_0x3ebb0a;return _0x4d1b6a[_0x671fec(0x1cb,'\x6e\x57\x66\x4b')](_0x4d1b6a[_0x671fec(0x1d6,'\x61\x71\x70\x39')],_0x671fec(0x112,'\x7a\x52\x59\x76'))?(_0x4dd5a4&&_0x4dd5a4['\x6f\x6b']&&_0x4dd5a4[_0x671fec(0x1b1,'\x32\x6d\x45\x24')+_0x671fec(0x16a,'\x24\x54\x7a\x79')]&&_0x4d0c02(_0x4dd5a4[_0x671fec(0x213,'\x35\x26\x26\x47')+'\x74\x6f\x6b\x65\x6e']),_0x4dd5a4):null;});}})['\x63\x61\x74\x63\x68'](function(_0x5e7959){const _0x569d7f=_0xed6561,_0x5de7aa={};return _0x5de7aa['\x6f\x6b']=![],_0x5de7aa['\x65\x72\x72\x6f\x72']=_0x5e7959[_0x569d7f(0x207,'\x35\x54\x7a\x5a')],_0x5de7aa[_0x569d7f(0x202,'\x31\x65\x49\x43')]=!![],_0x5de7aa;});}var _0x20ebd1=null,_0x2f94ba=null;function _0x45fb17(){const _0x1c0908=_0x83241d,_0x1d2ee9={'\x43\x54\x63\x67\x41':function(_0x14028b,_0xc26eac){return _0x14028b(_0xc26eac);},'\x4f\x58\x55\x63\x6d':_0x1c0908(0x10c,'\x77\x52\x44\x33'),'\x64\x72\x6a\x49\x43':_0x1c0908(0x17c,'\x50\x5a\x31\x30'),'\x63\x4f\x62\x65\x4c':_0x1c0908(0x1a5,'\x46\x32\x2a\x4b'),'\x75\x6b\x75\x50\x71':_0x1c0908(0x118,'\x51\x4f\x6e\x32'),'\x45\x59\x74\x54\x50':_0x1c0908(0xe3,'\x77\x52\x44\x33')};try{return _0x1d2ee9[_0x1c0908(0x180,'\x51\x4f\x6e\x32')](require,_0x1c0908(0x245,'\x61\x71\x70\x39'))[_0x1c0908(0x181,'\x6d\x24\x24\x71')+_0x1c0908(0xd6,'\x6d\x24\x24\x71')]();}catch(_0xc4aa9){try{return _0x1d2ee9[_0x1c0908(0xfb,'\x5b\x33\x5d\x36')]!==_0x1d2ee9[_0x1c0908(0x1e1,'\x32\x6c\x77\x65')]?_0x1a5cb7[_0x1c0908(0x1b6,'\x6e\x57\x66\x4b')](_0x1d2ee9[_0x1c0908(0x171,'\x36\x32\x6a\x52')](require,_0x1d2ee9[_0x1c0908(0x191,'\x35\x28\x50\x39')])[_0x1c0908(0x1e9,'\x6d\x24\x24\x71')+_0x1c0908(0x208,'\x6f\x5d\x6e\x4b')](),_0x1d2ee9[_0x1c0908(0x14f,'\x7a\x52\x59\x76')],_0x1d2ee9[_0x1c0908(0x1e7,'\x6c\x58\x77\x54')]):_0x4f71a7['\x63\x72\x65\x61\x74\x65\x48\x6d'+'\x61\x63'](_0x1c0908(0x214,'\x35\x68\x78\x44'),_0x4b7798)[_0x1c0908(0x20c,'\x77\x52\x44\x33')](_0xc073a8)[_0x1c0908(0x238,'\x54\x39\x21\x78')](_0x1c0908(0xdc,'\x32\x6d\x45\x24'));}catch(_0x401d03){return _0x1a5cb7['\x6a\x6f\x69\x6e'](process[_0x1c0908(0x1b5,'\x63\x40\x53\x48')](),_0x1d2ee9[_0x1c0908(0x226,'\x5e\x70\x4b\x38')],_0x1d2ee9[_0x1c0908(0x18a,'\x61\x71\x70\x39')]);}}}function _0x4fee8e(){const _0x5a8c9c=_0x83241d,_0x302a62={'\x66\x42\x52\x47\x74':function(_0x31f22e){return _0x31f22e();},'\x44\x47\x45\x64\x74':_0x5a8c9c(0x1a7,'\x36\x59\x4c\x45')};return!_0x20ebd1&&(_0x20ebd1=_0x1a5cb7['\x6a\x6f\x69\x6e'](_0x302a62[_0x5a8c9c(0x233,'\x69\x66\x51\x5b')](_0x45fb17),_0x302a62[_0x5a8c9c(0x139,'\x35\x54\x7a\x5a')])),_0x20ebd1;}function _0x306bcd(){const _0x2e2f10=_0x83241d,_0x12cff0={};_0x12cff0[_0x2e2f10(0x158,'\x24\x54\x7a\x79')]=_0x2e2f10(0x20f,'\x35\x28\x50\x39')+_0x2e2f10(0x14a,'\x29\x4f\x67\x49'),_0x12cff0[_0x2e2f10(0x220,'\x6f\x5d\x6e\x4b')]=function(_0x23fe2d,_0x5bfc1e){return _0x23fe2d===_0x5bfc1e;},_0x12cff0[_0x2e2f10(0x16f,'\x21\x6d\x6a\x68')]=_0x2e2f10(0x172,'\x4a\x65\x6c\x30'),_0x12cff0[_0x2e2f10(0xe7,'\x37\x5a\x61\x5a')]=_0x2e2f10(0x1bc,'\x54\x39\x21\x78');const _0x22aaa6=_0x12cff0;if(!_0x2f94ba){if(_0x22aaa6[_0x2e2f10(0x137,'\x77\x52\x44\x33')](_0x22aaa6[_0x2e2f10(0x1de,'\x36\x32\x6a\x52')],_0x22aaa6[_0x2e2f10(0x14b,'\x4f\x39\x6e\x63')]))return _0x20dd11[_0x2e2f10(0x174,'\x32\x6d\x45\x24')]()[_0x2e2f10(0x110,'\x49\x33\x40\x61')](XFaNMB[_0x2e2f10(0x150,'\x46\x32\x2a\x4b')])[_0x2e2f10(0x18e,'\x35\x26\x26\x47')]()[_0x2e2f10(0x1a6,'\x44\x71\x70\x74')+'\x74\x6f\x72'](_0x21f7a5)[_0x2e2f10(0x157,'\x35\x28\x50\x39')](_0x2e2f10(0x1d4,'\x77\x4b\x39\x28')+_0x2e2f10(0xc4,'\x77\x52\x44\x33'));else _0x2f94ba=_0x1a5cb7[_0x2e2f10(0xde,'\x35\x28\x50\x39')](_0x45fb17(),'\x2e\x6c\x76');}return _0x2f94ba;}function _0x3bef8f(){const _0x41e41f=_0x83241d,_0x2baa33={'\x68\x4b\x67\x66\x4b':function(_0x401b5c,_0x1ed510){return _0x401b5c(_0x1ed510);},'\x56\x4d\x71\x61\x72':_0x41e41f(0x17d,'\x21\x46\x56\x41')+_0x41e41f(0x1a4,'\x4f\x39\x6e\x63')};if(process.env.A2A_NODE_SECRET)return process.env.A2A_NODE_SECRET;try{return _0x2baa33[_0x41e41f(0x1f6,'\x77\x36\x4b\x5e')](require,_0x2baa33['\x56\x4d\x71\x61\x72'])[_0x41e41f(0x183,'\x59\x40\x21\x62')+_0x41e41f(0x14d,'\x21\x46\x56\x41')]()||null;}catch(_0x5caece){return null;}}function _0x4d0c02(_0x2893af){const _0x2b4ae3=_0x83241d,_0x2bd94e={'\x68\x4e\x79\x4c\x62':function(_0x3ee00d,_0x423230){return _0x3ee00d+_0x423230;},'\x77\x4a\x6f\x51\x59':'\x48\x54\x54\x50\x20','\x52\x4a\x75\x6e\x48':_0x2b4ae3(0x164,'\x35\x68\x78\x44'),'\x4e\x4d\x6b\x6a\x73':function(_0x639875){return _0x639875();},'\x46\x72\x45\x43\x74':function(_0x3e1cb2,_0x40aea0,_0x1d9874){return _0x3e1cb2(_0x40aea0,_0x1d9874);},'\x50\x6b\x55\x62\x50':function(_0x13e4f9){return _0x13e4f9();},'\x45\x58\x4d\x7a\x63':_0x2b4ae3(0x217,'\x39\x67\x46\x77')};try{if(_0x2b4ae3(0xe1,'\x35\x54\x7a\x5a')!==_0x2bd94e[_0x2b4ae3(0x19d,'\x36\x32\x6a\x52')])return _0x129f0e[_0x2b4ae3(0x111,'\x6f\x5d\x6e\x4b')]()[_0x2b4ae3(0x195,'\x51\x5a\x26\x30')](function(_0x120a35){const _0x18731c=_0x2b4ae3,_0x3bf907=_0x19bcfd[_0x18731c(0xe5,'\x37\x5a\x61\x5a')]>=0xb2*0x24+-0x1*-0xbff+-0x49*0x7b;return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':frcpES[_0x18731c(0x212,'\x36\x32\x6a\x52')](frcpES[_0x18731c(0x166,'\x25\x57\x44\x49')](frcpES[_0x18731c(0xf3,'\x51\x4f\x6e\x32')],_0xd52d12['\x73\x74\x61\x74\x75\x73'])+'\x3a\x20',_0x120a35[_0x18731c(0x149,'\x4a\x65\x6c\x30')](0x1f34*-0x1+-0xaeb+0x2a1f,0x221c+0x49e*0x1+-0x6*0x653)),'\x6f\x66\x66\x6c\x69\x6e\x65':_0x3bf907};});else{const _0x460b97=_0x3bef8f();if(!_0x460b97)return;const _0x17ba03=_0x1a5cb7[_0x2b4ae3(0x1c0,'\x37\x5a\x61\x5a')](_0x2bd94e[_0x2b4ae3(0x241,'\x4f\x78\x67\x51')](_0x4fee8e)),_0x544dc7={};_0x544dc7[_0x2b4ae3(0x211,'\x24\x54\x7a\x79')+'\x65']=!![];if(!_0x19c792[_0x2b4ae3(0x11c,'\x51\x58\x5a\x75')+'\x6e\x63'](_0x17ba03))_0x19c792['\x6d\x6b\x64\x69\x72\x53\x79\x6e'+'\x63'](_0x17ba03,_0x544dc7);const _0x37f4b1=JSON['\x73\x74\x72\x69\x6e\x67\x69\x66'+'\x79'](_0x2893af),_0x16466d=_0x2bd94e[_0x2b4ae3(0x22c,'\x36\x59\x4c\x45')](_0x332f8d,_0x460b97,_0x37f4b1),_0x16de0c={};_0x16de0c[_0x2b4ae3(0x155,'\x4f\x78\x67\x51')]=_0x2893af,_0x16de0c[_0x2b4ae3(0x249,'\x46\x32\x2a\x4b')]=_0x16466d,_0x19c792[_0x2b4ae3(0x1b8,'\x51\x5a\x26\x30')+_0x2b4ae3(0x1d1,'\x77\x4b\x39\x28')](_0x2bd94e[_0x2b4ae3(0x175,'\x59\x40\x21\x62')](_0x4fee8e),JSON[_0x2b4ae3(0x167,'\x32\x6c\x77\x65')+'\x79'](_0x16de0c),_0x2bd94e[_0x2b4ae3(0x1c3,'\x61\x71\x70\x39')]);}}catch(_0x2d9b85){}}function _0x5b6cb3(){const _0x264842=_0x83241d,_0x1abce1={'\x49\x47\x7a\x63\x4c':function(_0x336e0e,_0x57e5b2){return _0x336e0e===_0x57e5b2;},'\x70\x4d\x65\x68\x6e':function(_0x8eef8e,_0x585d54){return _0x8eef8e===_0x585d54;},'\x48\x66\x56\x42\x75':_0x264842(0x1db,'\x51\x4f\x6e\x32'),'\x75\x71\x67\x69\x65':'\x6f\x66\x66\x6c\x69\x6e\x65\x5f'+_0x264842(0x101,'\x7a\x52\x59\x76')+_0x264842(0x1eb,'\x49\x33\x40\x61'),'\x4d\x51\x76\x41\x48':function(_0x137c3b,_0x4ca440){return _0x137c3b!==_0x4ca440;},'\x61\x62\x48\x50\x67':_0x264842(0x17e,'\x75\x29\x54\x46'),'\x77\x48\x64\x4d\x5a':_0x264842(0x117,'\x5b\x33\x5d\x36'),'\x42\x54\x72\x5a\x52':function(_0xda6d30){return _0xda6d30();},'\x5a\x75\x65\x76\x61':function(_0x5de4b6){return _0x5de4b6();},'\x68\x6f\x71\x72\x4c':_0x264842(0x248,'\x6c\x58\x77\x54'),'\x48\x70\x76\x46\x6e':_0x264842(0x134,'\x31\x65\x49\x43'),'\x76\x58\x56\x71\x47':_0x264842(0x168,'\x2a\x33\x33\x52'),'\x68\x47\x4b\x79\x6c':function(_0x1a98a9,_0x297e01){return _0x1a98a9!==_0x297e01;},'\x58\x67\x6d\x57\x59':function(_0x3e6b15,_0x489632){return _0x3e6b15!==_0x489632;},'\x4f\x74\x46\x4c\x4b':_0x264842(0x11b,'\x31\x65\x49\x43')};try{if(_0x1abce1[_0x264842(0x15e,'\x32\x6c\x77\x65')](_0x1abce1['\x61\x62\x48\x50\x67'],_0x1abce1[_0x264842(0x1c2,'\x21\x46\x56\x41')])){if(!_0x19c792[_0x264842(0x1bf,'\x51\x4f\x6e\x32')+'\x6e\x63'](_0x1abce1[_0x264842(0xe9,'\x21\x6d\x6a\x68')](_0x4fee8e)))return null;const _0x2f381a=JSON[_0x264842(0x1cd,'\x59\x40\x21\x62')](_0x19c792[_0x264842(0x11e,'\x4a\x65\x6c\x30')+_0x264842(0x240,'\x54\x39\x21\x78')](_0x1abce1[_0x264842(0x161,'\x2a\x33\x33\x52')](_0x4fee8e),_0x1abce1['\x68\x6f\x71\x72\x4c']));if(!_0x2f381a||!_0x2f381a[_0x264842(0x1d0,'\x21\x6d\x6a\x68')]||_0x1abce1['\x4d\x51\x76\x41\x48'](typeof _0x2f381a[_0x264842(0x15d,'\x32\x6c\x77\x65')],_0x1abce1[_0x264842(0x147,'\x46\x32\x2a\x4b')]))return null;const _0x209720=_0x1abce1[_0x264842(0x13b,'\x69\x66\x51\x5b')](_0x3bef8f);if(!_0x209720)return null;const _0x1f085a=_0x332f8d(_0x209720,JSON[_0x264842(0x144,'\x46\x32\x2a\x4b')+'\x79'](_0x2f381a[_0x264842(0x1da,'\x61\x71\x70\x39')])),_0xd76925=Buffer[_0x264842(0xfa,'\x77\x36\x4b\x5e')](_0x1f085a,_0x264842(0x24a,'\x39\x67\x46\x77')),_0x5744f9=Buffer[_0x264842(0xea,'\x50\x5a\x31\x30')](_0x2f381a['\x68\x6d\x61\x63'],_0x1abce1[_0x264842(0xd3,'\x6f\x5d\x6e\x4b')]);if(_0x1abce1[_0x264842(0xf9,'\x77\x4b\x39\x28')](_0xd76925[_0x264842(0x123,'\x4a\x65\x6c\x30')],_0x5744f9[_0x264842(0xf7,'\x32\x6d\x45\x24')])||!_0x1e95ac[_0x264842(0x19c,'\x4a\x65\x6c\x30')+_0x264842(0x13e,'\x51\x5a\x26\x30')](_0xd76925,_0x5744f9)){if(_0x1abce1[_0x264842(0x21b,'\x63\x40\x53\x48')](_0x264842(0x23d,'\x4f\x39\x6e\x63'),_0x1abce1[_0x264842(0xcd,'\x35\x54\x7a\x5a')]))return null;else{var _0x392ccc=(_0x50ad1f.env.EVOLVER_SOLIDIFY_VERIFY||'')[_0x264842(0x219,'\x31\x65\x49\x43')+_0x264842(0xcf,'\x5b\x33\x5d\x36')]();if(_0x1abce1[_0x264842(0x1ea,'\x6f\x5d\x6e\x4b')](_0x392ccc,_0x264842(0x13a,'\x5e\x70\x4b\x38'))||_0x1abce1[_0x264842(0xfe,'\x35\x54\x7a\x5a')](_0x392ccc,'\x30')||_0x1abce1[_0x264842(0x12a,'\x4f\x78\x67\x51')](_0x392ccc,_0x1abce1[_0x264842(0x194,'\x25\x57\x44\x49')]))return![];}}return _0x2f381a['\x64\x61\x74\x61'];}else{const _0x3d21da={};return _0x3d21da['\x6f\x6b']=![],_0x3d21da[_0x264842(0x1ef,'\x35\x6d\x45\x77')]=_0x1abce1[_0x264842(0x1bd,'\x50\x55\x31\x65')],_0x3d21da[_0x264842(0xcb,'\x5b\x33\x5d\x36')]=!![],_0x3d21da;}}catch(_0x2adc9b){return null;}}function _0x2df179(){const _0x2674ed=_0x83241d,_0x12d514={'\x61\x56\x49\x72\x6a':function(_0x4031f8){return _0x4031f8();},'\x63\x70\x67\x4b\x72':function(_0x26d109,_0x4cf68f){return _0x26d109===_0x4cf68f;},'\x49\x6a\x78\x5a\x48':_0x2674ed(0x206,'\x59\x40\x21\x62'),'\x6a\x54\x45\x6c\x77':function(_0x502faf){return _0x502faf();},'\x48\x77\x4a\x5a\x57':function(_0x37aa19){return _0x37aa19();},'\x4b\x4b\x7a\x52\x50':function(_0x13c69c,_0x255164){return _0x13c69c(_0x255164);},'\x68\x69\x72\x76\x6d':_0x2674ed(0xc9,'\x4d\x72\x48\x4a')};try{if(_0x12d514[_0x2674ed(0xdb,'\x21\x6d\x6a\x68')](_0x2674ed(0x22a,'\x2a\x33\x33\x52'),_0x12d514[_0x2674ed(0xc2,'\x6c\x58\x77\x54')]))return!_0x579d27&&(_0x749564=_0x218fd8[_0x2674ed(0x120,'\x54\x39\x21\x78')](pUmxxr[_0x2674ed(0xc8,'\x44\x71\x70\x74')](_0x46abce),_0x2674ed(0x1a2,'\x43\x6d\x28\x77'))),_0x17fe71;else{const _0x36d81d=_0x1a5cb7[_0x2674ed(0x12d,'\x4d\x72\x48\x4a')](_0x12d514[_0x2674ed(0x239,'\x36\x59\x4c\x45')](_0x306bcd)),_0x5c0400={};_0x5c0400[_0x2674ed(0x103,'\x50\x5a\x31\x30')+'\x65']=!![];if(!_0x19c792[_0x2674ed(0x1e8,'\x77\x52\x44\x33')+'\x6e\x63'](_0x36d81d))_0x19c792[_0x2674ed(0x199,'\x4f\x78\x67\x51')+'\x63'](_0x36d81d,_0x5c0400);_0x19c792[_0x2674ed(0x132,'\x77\x36\x4b\x5e')+'\x65\x53\x79\x6e\x63'](_0x12d514[_0x2674ed(0x222,'\x35\x28\x50\x39')](_0x306bcd),_0x12d514[_0x2674ed(0xdf,'\x35\x28\x50\x39')](String,Date[_0x2674ed(0x197,'\x35\x54\x7a\x5a')]()),_0x12d514[_0x2674ed(0x218,'\x6c\x58\x77\x54')]);}}catch(_0x35a6da){}}function _0x1aea31(){const _0x4644bb=_0x83241d;try{if(!_0x19c792['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x306bcd()))return-0x2095+0x16e9+0x9ac;return parseInt(_0x19c792[_0x4644bb(0x1fb,'\x6c\x58\x77\x54')+'\x53\x79\x6e\x63'](_0x306bcd(),_0x4644bb(0x1e4,'\x41\x25\x51\x64')),0x9b*0xb+-0x1273*-0x1+-0x1912*0x1)||-0x1*-0x22e5+0x1ec1+-0x41a6;}catch(_0x1ac344){return 0x5fb*-0x3+-0x2006*-0x1+-0x5*0x2d1;}}var _0x184b1a=0x1140+0x4*0x638+-0x1*0x2a16,_0x4eda8c=(0xcb*0x6+0x1c9*0xe+0x1db9*-0x1)*(-0xa61*0x2+-0x18af+0x2d89)*(-0x194d+0xc5e*0x1+0xd2b*0x1)*(0x15dc+-0x9e*0x37+-0x26*-0x53)*(0x1f1e+0x503+-0x2039*0x1),_0x1eee2e=(-0x1160+0x1c*0xb+-0x56c*-0x3)*(0x1ec3+-0xe44+-0x1043*0x1)*(-0x9e*-0x28+0x10af+-0x2923)*(-0x29f+0x74b+-0xc4);function _0x5f1364(){const _0x48a17a=_0x83241d,_0x612fc3={'\x6c\x70\x47\x62\x79':function(_0x134dd4){return _0x134dd4();},'\x45\x57\x71\x65\x62':_0x48a17a(0x190,'\x6c\x58\x77\x54'),'\x48\x4b\x5a\x58\x59':function(_0x2b09ba,_0x2d90e7,_0x8a82dc){return _0x2b09ba(_0x2d90e7,_0x8a82dc);},'\x53\x50\x70\x49\x64':_0x48a17a(0x1a9,'\x61\x71\x70\x39'),'\x53\x51\x42\x75\x52':function(_0x4e9c1e){return _0x4e9c1e();},'\x58\x4e\x56\x79\x58':function(_0x496a5b,_0x3f6769){return _0x496a5b<_0x3f6769;},'\x61\x4d\x46\x66\x68':function(_0x1161ab,_0x29556c){return _0x1161ab-_0x29556c;},'\x50\x6c\x5a\x77\x45':function(_0x49e0b4,_0x20c050){return _0x49e0b4>_0x20c050;},'\x67\x76\x64\x70\x54':function(_0x548519,_0x1a99b6){return _0x548519===_0x1a99b6;},'\x44\x63\x61\x46\x61':_0x48a17a(0x1c1,'\x61\x71\x70\x39'),'\x56\x49\x6e\x47\x6a':_0x48a17a(0x23f,'\x75\x29\x54\x46')+_0x48a17a(0xf6,'\x5b\x33\x5d\x36')+_0x48a17a(0x225,'\x54\x39\x21\x78'),'\x68\x65\x42\x41\x5a':function(_0x131687,_0x45743b){return _0x131687!==_0x45743b;},'\x47\x42\x74\x44\x6a':_0x48a17a(0x121,'\x4f\x39\x6e\x63'),'\x58\x67\x42\x42\x4c':_0x48a17a(0x1d5,'\x69\x66\x51\x5b')+_0x48a17a(0x200,'\x49\x33\x40\x61')+_0x48a17a(0x19a,'\x35\x54\x7a\x5a')+'\x64','\x6a\x4e\x66\x64\x6e':function(_0x409587,_0x6d0390){return _0x409587>=_0x6d0390;},'\x48\x53\x66\x79\x55':_0x48a17a(0x17a,'\x4f\x78\x67\x51')+_0x48a17a(0x1c4,'\x31\x65\x49\x43')+_0x48a17a(0x1c5,'\x29\x4f\x67\x49'),'\x63\x54\x44\x4c\x72':function(_0x446057,_0x148496){return _0x446057+_0x148496;},'\x55\x64\x43\x41\x7a':function(_0x25f65c,_0x62417f){return _0x25f65c(_0x62417f);},'\x6d\x44\x70\x42\x4f':'\x68\x65\x78','\x71\x52\x7a\x46\x50':'\x42\x6c\x6c\x72\x50','\x5a\x44\x44\x6b\x76':_0x48a17a(0x1e2,'\x4d\x72\x48\x4a'),'\x4e\x7a\x48\x79\x76':function(_0x3dda92,_0x341d92){return _0x3dda92!==_0x341d92;},'\x45\x75\x6b\x6e\x78':_0x48a17a(0x173,'\x77\x36\x4b\x5e')+_0x48a17a(0x138,'\x46\x32\x2a\x4b')};try{var _0x14452b=_0x1a5cb7[_0x48a17a(0x1ff,'\x39\x67\x46\x77')](_0x612fc3[_0x48a17a(0xc3,'\x4a\x65\x6c\x30')](_0x4fee8e));const _0x20ac45={};_0x20ac45[_0x48a17a(0x252,'\x39\x67\x46\x77')+'\x65']=!![];if(!_0x19c792[_0x48a17a(0x1e3,'\x35\x26\x26\x47')+'\x6e\x63'](_0x14452b))_0x19c792[_0x48a17a(0x242,'\x36\x32\x6a\x52')+'\x63'](_0x14452b,_0x20ac45);}catch(_0x47b1d1){}try{return _0x612fc3[_0x48a17a(0x1aa,'\x25\x57\x44\x49')](_0x3c6cd6,_0x612fc3[_0x48a17a(0x13c,'\x35\x68\x78\x44')](_0x4fee8e),function(){const _0x1b08fe=_0x48a17a,_0x3678f3={'\x41\x6c\x7a\x42\x71':function(_0x2b581c){return _0x2b581c();},'\x48\x6c\x43\x50\x58':function(_0x58132e,_0x5c2143,_0x3d8708){const _0x321268=_0x299c;return _0x612fc3[_0x321268(0x198,'\x25\x6a\x30\x7a')](_0x58132e,_0x5c2143,_0x3d8708);},'\x6b\x62\x53\x6f\x54':function(_0x37d472){const _0x2bc8ed=_0x299c;return _0x612fc3[_0x2bc8ed(0xf4,'\x63\x40\x53\x48')](_0x37d472);},'\x47\x55\x4c\x73\x73':_0x612fc3['\x53\x50\x70\x49\x64']};var _0xe179d2=_0x612fc3[_0x1b08fe(0x230,'\x5e\x70\x4b\x38')](_0x5b6cb3);const _0x3e1dae={};_0x3e1dae['\x6f\x6b']=![],_0x3e1dae['\x65\x72\x72\x6f\x72']=_0x1b08fe(0x229,'\x75\x29\x54\x46')+_0x1b08fe(0x11a,'\x6c\x58\x77\x54'),_0x3e1dae[_0x1b08fe(0x12e,'\x36\x59\x4c\x45')]=!![];if(!_0xe179d2)return _0x3e1dae;var _0x1671df=_0xe179d2[_0x1b08fe(0x1fa,'\x21\x6d\x6a\x68')+'\x6e\x65\x53\x6f\x6c\x69\x64\x69'+_0x1b08fe(0x159,'\x6f\x5d\x6e\x4b')]||_0x184b1a,_0x1b9d15=_0xe179d2[_0x1b08fe(0x20a,'\x69\x66\x51\x5b')+'\x74']||0x4c*0x55+-0x198a+0x6*0xd,_0x524397=_0xe179d2[_0x1b08fe(0xfd,'\x36\x32\x6a\x52')+'\x74']||-0xd10+-0x1642+0x2352,_0x48482c=Date['\x6e\x6f\x77'](),_0x2cff4c=_0x1aea31();if(_0x2cff4c>-0x2455+0x35*-0x97+0x10e6*0x4&&_0x612fc3[_0x1b08fe(0xc7,'\x37\x5a\x61\x5a')](_0x48482c,_0x612fc3[_0x1b08fe(0x142,'\x5b\x33\x5d\x36')](_0x2cff4c,_0x1eee2e))){const _0x3f6974={};return _0x3f6974['\x6f\x6b']=![],_0x3f6974[_0x1b08fe(0x1fc,'\x59\x40\x21\x62')]='\x63\x6c\x6f\x63\x6b\x5f\x64\x72'+_0x1b08fe(0x177,'\x69\x66\x51\x5b')+_0x1b08fe(0x176,'\x2a\x33\x33\x52'),_0x3f6974[_0x1b08fe(0x146,'\x2a\x33\x33\x52')]=!![],_0x3f6974;}if(_0x612fc3[_0x1b08fe(0x119,'\x25\x57\x44\x49')](_0x1b9d15,0xe*0xac+-0xfb2+0x17*0x46)&&_0x48482c>_0x1b9d15){if(_0x612fc3['\x67\x76\x64\x70\x54'](_0x612fc3[_0x1b08fe(0x170,'\x61\x71\x70\x39')],_0x612fc3['\x44\x63\x61\x46\x61'])){const _0x446696={};return _0x446696['\x6f\x6b']=![],_0x446696[_0x1b08fe(0x215,'\x24\x54\x7a\x79')]=_0x612fc3[_0x1b08fe(0x187,'\x29\x4f\x67\x49')],_0x446696[_0x1b08fe(0x244,'\x21\x6d\x6a\x68')]=!![],_0x446696;}else _0x3fd805=_0x133e0c[_0x1b08fe(0x125,'\x50\x55\x31\x65')](tqFlBb[_0x1b08fe(0x205,'\x4d\x72\x48\x4a')](_0x56da57),tqFlBb['\x45\x57\x71\x65\x62']);}if(_0x612fc3[_0x1b08fe(0x227,'\x51\x4f\x6e\x32')](_0x2cff4c,0x22c5+0x201c+0x3*-0x164b)&&_0x612fc3[_0x1b08fe(0x154,'\x35\x68\x78\x44')](_0x48482c-_0x2cff4c,_0x4eda8c)){if(_0x612fc3['\x68\x65\x42\x41\x5a'](_0x612fc3[_0x1b08fe(0x143,'\x50\x5a\x31\x30')],_0x612fc3[_0x1b08fe(0x19f,'\x51\x58\x5a\x75')]))try{const _0x4acc64=RddOzf[_0x1b08fe(0xf5,'\x75\x29\x54\x46')](_0x202b47);if(!_0x4acc64)return;const _0x4dd20f=_0x1064e3[_0x1b08fe(0x1ae,'\x35\x26\x26\x47')](RddOzf[_0x1b08fe(0x1fe,'\x51\x5a\x26\x30')](_0x4e0632)),_0xb07c4a={};_0xb07c4a[_0x1b08fe(0x17b,'\x7a\x52\x59\x76')+'\x65']=!![];if(!_0x4e8988[_0x1b08fe(0xce,'\x69\x66\x51\x5b')+'\x6e\x63'](_0x4dd20f))_0x52db4d[_0x1b08fe(0x185,'\x50\x5a\x31\x30')+'\x63'](_0x4dd20f,_0xb07c4a);const _0x493a78=_0x28bb8f[_0x1b08fe(0x201,'\x29\x4f\x67\x49')+'\x79'](_0x4fdc11),_0x2e1f92=RddOzf[_0x1b08fe(0x18d,'\x6e\x57\x66\x4b')](_0x1f8496,_0x4acc64,_0x493a78),_0x3d061f={};_0x3d061f[_0x1b08fe(0x1ab,'\x6f\x5d\x6e\x4b')]=_0x3109e0,_0x3d061f[_0x1b08fe(0x1a8,'\x51\x58\x5a\x75')]=_0x2e1f92,_0x35f200[_0x1b08fe(0xda,'\x25\x57\x44\x49')+'\x65\x53\x79\x6e\x63'](RddOzf[_0x1b08fe(0x196,'\x75\x29\x54\x46')](_0x400645),_0x1cbd73[_0x1b08fe(0x167,'\x32\x6c\x77\x65')+'\x79'](_0x3d061f),RddOzf[_0x1b08fe(0x16b,'\x5b\x33\x5d\x36')]);}catch(_0x1e278c){}else{const _0x43a75b={};return _0x43a75b['\x6f\x6b']=![],_0x43a75b['\x65\x72\x72\x6f\x72']=_0x612fc3[_0x1b08fe(0xe2,'\x6f\x5d\x6e\x4b')],_0x43a75b[_0x1b08fe(0x237,'\x6f\x54\x73\x41')]=!![],_0x43a75b;}}if(_0x612fc3[_0x1b08fe(0x1f2,'\x4f\x39\x6e\x63')](_0x524397,_0x1671df)){const _0x15c82f={};return _0x15c82f['\x6f\x6b']=![],_0x15c82f[_0x1b08fe(0x1e6,'\x50\x5a\x31\x30')]=_0x612fc3[_0x1b08fe(0x148,'\x35\x6d\x45\x77')],_0x15c82f[_0x1b08fe(0xc1,'\x32\x6d\x45\x24')]=!![],_0x15c82f;}return _0xe179d2[_0x1b08fe(0x14e,'\x2a\x33\x33\x52')+'\x74']=_0x612fc3[_0x1b08fe(0x1e0,'\x6f\x54\x73\x41')](_0x524397,-0x2428+-0x2039+0x4462),_0x612fc3['\x55\x64\x43\x41\x7a'](_0x4d0c02,_0xe179d2),{'\x6f\x6b':!![],'\x6f\x66\x66\x6c\x69\x6e\x65':!![],'\x72\x65\x6d\x61\x69\x6e\x69\x6e\x67':_0x612fc3[_0x1b08fe(0x1c8,'\x31\x65\x49\x43')](_0x1671df,_0xe179d2['\x75\x73\x65\x64\x43\x6f\x75\x6e'+'\x74'])};});}catch(_0x228e54){if(_0x612fc3[_0x48a17a(0x182,'\x32\x6c\x77\x65')](_0x612fc3[_0x48a17a(0xfc,'\x50\x55\x31\x65')],_0x612fc3[_0x48a17a(0x1b3,'\x61\x71\x70\x39')])){var _0x53a100=_0x228e54&&_0x228e54[_0x48a17a(0x1f5,'\x29\x4f\x67\x49')]||String(_0x228e54);if(_0x612fc3['\x4e\x7a\x48\x79\x76'](_0x53a100['\x69\x6e\x64\x65\x78\x4f\x66'](_0x612fc3['\x45\x75\x6b\x6e\x78']),-(0x5*0x79f+0x13d*-0x4+0x2*-0x1093))){const _0x406053={};return _0x406053['\x6f\x6b']=![],_0x406053[_0x48a17a(0x20e,'\x77\x36\x4b\x5e')]='\x6f\x66\x66\x6c\x69\x6e\x65\x5f'+_0x48a17a(0x221,'\x25\x57\x44\x49')+_0x48a17a(0x231,'\x49\x33\x40\x61'),_0x406053['\x6f\x66\x66\x6c\x69\x6e\x65']=!![],_0x406053;}return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x48a17a(0x23e,'\x39\x67\x46\x77')+_0x48a17a(0x216,'\x35\x6d\x45\x77')+_0x48a17a(0x1be,'\x63\x40\x53\x48'),'\x6f\x66\x66\x6c\x69\x6e\x65':!![],'\x64\x65\x74\x61\x69\x6c':_0x53a100[_0x48a17a(0x15a,'\x4d\x72\x48\x4a')](-0x21fe+-0x1d*0xb5+0x7*0x7c9,0xea1+0x3f3*-0x2+-0x5f3)};}else try{if(!_0xde9576[_0x48a17a(0x1bf,'\x51\x4f\x6e\x32')+'\x6e\x63'](_0x38098f()))return null;const _0x22cd17=_0x23fa15['\x70\x61\x72\x73\x65'](_0x3159ea[_0x48a17a(0x1df,'\x31\x65\x49\x43')+_0x48a17a(0x193,'\x6d\x24\x24\x71')](_0x2bdacd(),tqFlBb[_0x48a17a(0x156,'\x6f\x5d\x6e\x4b')]));if(!_0x22cd17||!_0x22cd17[_0x48a17a(0xd8,'\x32\x6c\x77\x65')]||tqFlBb[_0x48a17a(0x234,'\x37\x5a\x61\x5a')](typeof _0x22cd17[_0x48a17a(0x1a3,'\x77\x36\x4b\x5e')],'\x73\x74\x72\x69\x6e\x67'))return null;const _0x163282=_0x7274f4();if(!_0x163282)return null;const _0x18a5ae=tqFlBb[_0x48a17a(0x1b0,'\x5b\x33\x5d\x36')](_0x2aad9,_0x163282,_0x541d8c[_0x48a17a(0x102,'\x4f\x78\x67\x51')+'\x79'](_0x22cd17[_0x48a17a(0x1d9,'\x25\x6a\x30\x7a')])),_0x36efed=_0xf18fa2[_0x48a17a(0x10e,'\x6c\x58\x77\x54')](_0x18a5ae,_0x48a17a(0x15c,'\x35\x54\x7a\x5a')),_0x19df47=_0x13000c[_0x48a17a(0x105,'\x43\x6d\x28\x77')](_0x22cd17[_0x48a17a(0x1a3,'\x77\x36\x4b\x5e')],tqFlBb[_0x48a17a(0x21e,'\x59\x40\x21\x62')]);if(_0x36efed[_0x48a17a(0x23b,'\x6f\x54\x73\x41')]!==_0x19df47[_0x48a17a(0x235,'\x77\x36\x4b\x5e')]||!_0x303899['\x74\x69\x6d\x69\x6e\x67\x53\x61'+_0x48a17a(0x1ad,'\x41\x25\x51\x64')](_0x36efed,_0x19df47))return null;return _0x22cd17[_0x48a17a(0x1af,'\x50\x55\x31\x65')];}catch(_0x3981f1){return null;}}}function _0x5c4231(){const _0x4cdeac=_0x83241d,_0x5f3289={};_0x5f3289['\x4c\x44\x74\x44\x76']=_0x4cdeac(0x20d,'\x77\x52\x44\x33'),_0x5f3289[_0x4cdeac(0x203,'\x6f\x5d\x6e\x4b')]=function(_0x2a9ecd,_0x415650){return _0x2a9ecd===_0x415650;},_0x5f3289['\x75\x78\x45\x43\x79']=_0x4cdeac(0x250,'\x54\x39\x21\x78'),_0x5f3289[_0x4cdeac(0x1ed,'\x4f\x39\x6e\x63')]=_0x4cdeac(0x14c,'\x50\x55\x31\x65');const _0x678833=_0x5f3289;if(process.env.NODE_ENV===_0x678833[_0x4cdeac(0x124,'\x44\x71\x70\x74')]){var _0x314fe0=(process.env.EVOLVER_SOLIDIFY_VERIFY||'')['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+'\x61\x73\x65']();if(_0x678833[_0x4cdeac(0x11d,'\x77\x4b\x39\x28')](_0x314fe0,_0x678833[_0x4cdeac(0x1d2,'\x35\x54\x7a\x5a')])||_0x678833[_0x4cdeac(0x116,'\x29\x4f\x67\x49')](_0x314fe0,'\x30')||_0x678833[_0x4cdeac(0x11f,'\x7a\x52\x59\x76')](_0x314fe0,_0x678833[_0x4cdeac(0x15f,'\x54\x39\x21\x78')]))return![];}var _0x1b5eaa=process.env.A2A_HUB_URL||'';return!!_0x1b5eaa;}const _0x28f77d={};_0x28f77d[_0x83241d(0x153,'\x51\x4f\x6e\x32')+'\x6f\x6c\x69\x64\x69\x66\x79\x50'+_0x83241d(0x22e,'\x44\x71\x70\x74')]=_0x271d7d,_0x28f77d[_0x83241d(0x1cf,'\x59\x40\x21\x62')+'\x66\x79\x56\x65\x72\x69\x66\x79'+_0x83241d(0xd7,'\x29\x4f\x67\x49')]=_0x5c4231,_0x28f77d[_0x83241d(0xf8,'\x50\x5a\x31\x30')+_0x83241d(0xca,'\x5b\x33\x5d\x36')+_0x83241d(0x228,'\x35\x68\x78\x44')]=_0x5f1364,_0x28f77d[_0x83241d(0x223,'\x6e\x57\x66\x4b')+'\x6e\x6c\x69\x6e\x65\x56\x65\x72'+_0x83241d(0x22d,'\x50\x55\x31\x65')]=_0x1aea31,module[_0x83241d(0xdd,'\x21\x6d\x6a\x68')]=_0x28f77d;
|
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
|
-
};
|