@evomap/evolver-core 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/algo/antiDistill.js +1 -167
  2. package/dist/algo/bans.js +1 -33
  3. package/dist/algo/candidateAssembly.js +1 -273
  4. package/dist/algo/capabilityCandidates.js +1 -146
  5. package/dist/algo/confidence.js +1 -196
  6. package/dist/algo/conversationSniffer.js +1 -149
  7. package/dist/algo/cycleEngine.js +1 -625
  8. package/dist/algo/cycleFailureClassifier.js +1 -112
  9. package/dist/algo/epigenetics.js +1 -41
  10. package/dist/algo/evolutionEvent.js +1 -24
  11. package/dist/algo/exploration.js +1 -68
  12. package/dist/algo/geneHealth.js +1 -17
  13. package/dist/algo/geneIntake.js +1 -128
  14. package/dist/algo/genePromotion.js +1 -53
  15. package/dist/algo/geneSelection.js +1 -546
  16. package/dist/algo/index.js +1 -22
  17. package/dist/algo/memoryGraph.js +1 -86
  18. package/dist/algo/mutation.js +1 -22
  19. package/dist/algo/orchestrator.js +1 -87
  20. package/dist/algo/publishEligibility.js +1 -52
  21. package/dist/algo/solidify.js +1 -63
  22. package/dist/algo/strategyPresets.js +1 -61
  23. package/dist/algo/ucb1.js +1 -156
  24. package/dist/benchmark/antiGeneBenchmark.js +1 -252
  25. package/dist/benchmark/antiGeneImpact.js +1 -34
  26. package/dist/benchmark/antiGeneRollout.js +1 -269
  27. package/dist/benchmark/benchmark.js +1 -26
  28. package/dist/benchmark/evolutionThesisSolver.js +1 -41
  29. package/dist/benchmark/index.js +1 -7
  30. package/dist/benchmark/selectionFlatAbstention.js +1 -481
  31. package/dist/benchmark/thesis.js +1 -150
  32. package/dist/benchmark/triggerShift.js +1 -106
  33. package/dist/cycle/cycleTimeline.js +1 -74
  34. package/dist/cycle/index.js +1 -2
  35. package/dist/cycle/stateMachine.js +1 -25
  36. package/dist/hub/agentDirectory.js +1 -104
  37. package/dist/hub/assetCallLog.js +1 -195
  38. package/dist/hub/bindings.js +1 -121
  39. package/dist/hub/capability.js +1 -1
  40. package/dist/hub/conversationDistiller.js +1 -264
  41. package/dist/hub/fake.js +1 -70
  42. package/dist/hub/hubReview.js +1 -106
  43. package/dist/hub/index.js +1 -11
  44. package/dist/hub/ingest.js +1 -15
  45. package/dist/hub/questionGenerator.js +1 -408
  46. package/dist/hub/reuseDecision.js +1 -127
  47. package/dist/hub/sanitize.js +1 -322
  48. package/dist/material/boundary.js +1 -14
  49. package/dist/material/consumer.js +1 -55
  50. package/dist/material/emit.js +1 -52
  51. package/dist/material/factory.js +1 -25
  52. package/dist/material/index.js +1 -9
  53. package/dist/material/materialArchive.js +1 -466
  54. package/dist/material/materialStore.js +1 -69
  55. package/dist/material/sampling.js +1 -39
  56. package/dist/material/sources.js +1 -33
  57. package/dist/material/watermark.js +1 -76
  58. package/dist/personality/drift.js +1 -106
  59. package/dist/personality/events.js +1 -37
  60. package/dist/personality/evolveOps.js +1 -93
  61. package/dist/personality/index.js +1 -11
  62. package/dist/personality/mutate.js +1 -39
  63. package/dist/personality/pivot.js +1 -22
  64. package/dist/personality/prompt.js +1 -62
  65. package/dist/personality/riskGate.js +1 -80
  66. package/dist/personality/schema.js +1 -119
  67. package/dist/personality/select.js +1 -71
  68. package/dist/personality/stats.js +1 -82
  69. package/dist/personality/store.js +1 -92
  70. package/dist/schema/common.js +1 -17
  71. package/dist/schema/evolutionGraph.js +1 -187
  72. package/dist/schema/index.js +1 -6
  73. package/dist/schema/material.js +1 -50
  74. package/dist/schema/problem.js +1 -45
  75. package/dist/schema/proofOfWork.js +1 -9
  76. package/dist/schema/signal.js +1 -19
  77. package/dist/signals/curriculum.js +1 -202
  78. package/dist/signals/cycleHistoryFromEvents.js +1 -105
  79. package/dist/signals/expand.js +1 -293
  80. package/dist/signals/extractor.js +1 -82
  81. package/dist/signals/index.js +1 -8
  82. package/dist/signals/metaSignals.js +1 -200
  83. package/dist/signals/signalGate.js +1 -40
  84. package/dist/signals/taskDomain.js +1 -43
  85. package/dist/signals/traceSignals.js +1 -123
  86. package/dist/strategy/constraintAblation.js +1 -2820
  87. package/dist/strategy/constraintAblationPredicates.js +1 -339
  88. package/dist/strategy/experiment.js +1 -63
  89. package/dist/strategy/index.js +1 -3
  90. package/dist/strategy/strategyPoint.js +1 -23
  91. package/package.json +1 -1
@@ -1,293 +1 @@
1
- import { createHash } from 'node:crypto';
2
- // Signal expansion & tag classification (ported from v1 src/gep/learningSignals.js).
3
- // Raw signals (e.g. '429') are expanded into broader semantic tags (e.g. 'problem:reliability',
4
- // 'action:repair') so gene selection can match by MEANING, not just literal string intersection —
5
- // closing the recall gap where a '429' signal could not reach a gene tagged for 'repair'.
6
- // Regex → semantic tags. A rule fires if its pattern matches anywhere in the lowercased signal text.
7
- // The reliability / protocol / performance / capability families also carry CN/JA/KO synonyms so a
8
- // non-Latin signal ('错误' / 'エラー' / '오류') expands to the same tags an English one would and can
9
- // reach an English-keyworded gene through tagOverlapScore. This is the v2-native port of v1 #99's
10
- // multilingual signals_match aliases: v1 attached `|`-pipe synonyms to shipped seed genes, but v2 has
11
- // no seed-gene catalog and no pipe-alias parsing — its expansion rules ARE the shared signal vocabulary.
12
- const SUCCESS_OUTCOME_TAGS = ['signal:success', 'action:optimize', 'action:innovate'];
13
- const EXPLICIT_SUCCESS_SIGNALS = new Set([
14
- 'issue_already_resolved',
15
- 'issue_resolved',
16
- 'openclaw_self_healed',
17
- 'resolved',
18
- 'self_healed',
19
- 'stable_success_plateau',
20
- 'success_prose',
21
- 'verified-success',
22
- 'verified_success',
23
- ]);
24
- const EXPANSION_RULES = [
25
- { re: /(error|exception|failed|unstable|log_error|runtime|429|错误|异常|エラー|오류|例外|예외|失败|失敗|실패|不稳定|不安定|불안정)/, tags: ['problem:reliability', 'action:repair'] },
26
- // Korean 감사 alone is a homograph (audit == "thank you"), so it is matched only via compounds / audit-context
27
- // phrases (감사로그 / 감사추적 / 감사 로그 / 감사 추적 / 코드 감사) — never bare 감사, so benign gratitude text like
28
- // '감사합니다' cannot fire. Bare CN 提示 (= hint/notice) is likewise omitted; only the unambiguous 提示词 (= prompt)
29
- // is matched. The 'reusable' cluster (可复用 / 再利用 / 재사용) recalls the optimize/protocol family (v1 #99).
30
- { re: /(protocol|prompt|audit|gep|schema|drift|reusable|协议|プロトコル|프로토콜|提示词|プロンプト|프롬프트|审计|監査|可复用|再利用|재사용|감사로그|감사추적|감사 로그|감사 추적|코드 감사)/, tags: ['problem:protocol', 'action:optimize', 'area:prompt'] },
31
- { re: /(perf|performance|bottleneck|latency|slow|throughput|性能|瓶颈|パフォーマンス|성능|병목)/, tags: ['problem:performance', 'action:optimize'] },
32
- // 功能/機能/기능 alone are too broad: as unanchored substrings they match the malfunction vocabulary
33
- // (機能不全 / 기능장애 / 功能障碍), which are reliability problems — use the v1 #99 feature-request compounds.
34
- { re: /(feature|capability_gap|user_feature_request|external_opportunity|stagnation recommendation|功能请求|機能リクエスト|기능요청|能力缺口|機能ギャップ|역량공백|改进建议|改善提案|개선제안|外部机会|外部機会|외부기회)/, tags: ['problem:capability', 'action:innovate'] },
35
- // Negative lookbehind on `plateau`: `stable_success_plateau` contains the substring `plateau`, but it is a
36
- // SUCCESS signal (#578), not a stagnation signal. Without (?<!success_) the stagnation rule would fire on it,
37
- // producing contradictory tags (problem:stagnation + signal:success) in a single expandSignals pass.
38
- { re: /(stagnation|(?<!success_)plateau|steady_state|saturation|empty_cycle_loop|loop_detected|recurring)/, tags: ['problem:stagnation', 'action:innovate'] },
39
- { re: /(task|worker|heartbeat|hub|commitment|assignment|orchestration)/, tags: ['area:orchestration'] },
40
- // Tool-integrity (ported from v1 #99 gene_tool_integrity): bypassing a registered tool or looping on raw
41
- // shell is an orchestration-discipline / validation risk. CN/JA/KO aliases included for recall parity.
42
- { re: /(tool_bypass|tool_loop|工具绕过|工具循环|ツール迂回|ツールループ|도구우회|도구반복)/, tags: ['area:orchestration', 'risk:validation'] },
43
- { re: /(memory|narrative|reflection)/, tags: ['area:memory'] },
44
- { re: /(skill|dashboard)/, tags: ['area:skills'] },
45
- // Harness context budget (v1 context-compression gene family port): an agent harness that injects large
46
- // tool/MCP schemas, long skill manuals, agent-type descriptions, a memory index, or a pasted transcript can
47
- // exhaust the model's context window before the task starts. That is a prompt-assembly (area:prompt) cost
48
- // problem, and shrinking it is an optimize action — NOT a reliability failure. v2 has no seed-gene catalog,
49
- // so these rules ARE the shared vocabulary that lets a context-bloat signal reach a compression strategy.
50
- { re: /(context_bloat|context_explosion|context window|token_budget|prompt_budget|上下文爆|上下文预算|token 超限|token超限)/, tags: ['problem:context_budget', 'action:optimize', 'area:prompt'] },
51
- // Tool/MCP schema weight is the always-on half of the budget; lazy-loading it is the corrective action.
52
- { re: /(tool_schema|schema_bloat|mcp_tool_schema|lazy_load_schema|just-in-time schema|工具 schema|工具schema)/, tags: ['problem:context_budget', 'action:optimize', 'area:prompt', 'area:orchestration'] },
53
- // Skill manuals / agent-type descriptions are the other always-on half (area:skills already exists above).
54
- { re: /(skill_list_bloat|skill_manual_bloat|agent type description|mcp server instructions|skill 列表太长|技能列表太长)/, tags: ['problem:context_budget', 'action:optimize', 'area:skills', 'area:prompt'] },
55
- // A pasted transcript / session handoff is the caller-supplied half — compressing it is a memory-shaped concern.
56
- { re: /(transcript_bloat|transcript_context_bloat|conversation_handoff|session handoff|pasted transcript|会话上下文就爆|完整转录)/, tags: ['problem:context_budget', 'action:optimize', 'area:memory'] },
57
- { re: /(validation|canary|rollback|constraint|blast radius|destructive)/, tags: ['risk:validation'] },
58
- ];
59
- /**
60
- * Expand a signal list into literal signals + namespace prefixes + semantic category tags.
61
- * e.g. ['429', 'auth:token'] → ['429', 'auth:token', 'auth', 'problem:reliability', 'action:repair'].
62
- */
63
- export function expandSignals(signals, extraText = '') {
64
- const tags = new Set();
65
- for (const s of signals) {
66
- const str = String(s);
67
- tags.add(str);
68
- const base = str.split(':')[0];
69
- if (base && base !== str)
70
- tags.add(base); // namespace prefix (e.g. 'auth:token' → 'auth')
71
- }
72
- // #578 success markers are structured signals; prose inference accepts negated forms too easily.
73
- if (signals.some((signal) => EXPLICIT_SUCCESS_SIGNALS.has(String(signal).trim().toLowerCase().normalize('NFKC')))) {
74
- for (const tag of SUCCESS_OUTCOME_TAGS)
75
- tags.add(tag);
76
- }
77
- const text = (signals.join(' ') + ' ' + extraText).toLowerCase().normalize('NFKC');
78
- for (const rule of EXPANSION_RULES) {
79
- if (rule.re.test(text))
80
- for (const t of rule.tags)
81
- tags.add(t);
82
- }
83
- return [...tags];
84
- }
85
- /**
86
- * Tokenize free text into a lowercased bag of words (letter/number runs of length >= 2).
87
- * Unicode-aware (`\p{L}\p{N}`): a Latin-only `[^a-z0-9]+` split silently dropped CJK / Cyrillic /
88
- * Arabic content, so CN/JA/KO signals like '错误' / 'タスク失敗' / '오류' tokenized to [] and the
89
- * {@link bagCosine} recall path scored 0 on every cycle for non-Latin users (ported from v1 #99,
90
- * which fixed the same Latin-only regex in selector.tokenize). Lowercased then NFKC-normalized before splitting (the established house idiom in
91
- * signatures.ts), so full-width / half-width IME forms ('429' / 'ERROR' / 'エラー') fold to the
92
- * normal forms the rules and gene text already use, and punctuation/symbols are stripped so
93
- * 'error.' and 'error' tokenize identically.
94
- */
95
- function tokenize(text) {
96
- return text.toLowerCase().normalize('NFKC').split(/[^\p{L}\p{N}]+/u).filter((t) => t.length >= 2);
97
- }
98
- /**
99
- * Bag-of-words cosine similarity (0..1) between two free-text strings (ported from v1 scoreGeneSemantic).
100
- * Term-frequency vectors, cosine of the angle. Returns 0 when either side has no tokens or they share none.
101
- * This is the lexical-similarity recall path that complements {@link tagOverlapScore}'s curated tags:
102
- * a signal 'timeout_slow' and a gene summarized "fix the slow timeout" share the 'timeout'/'slow' tokens
103
- * even when neither the literal signal nor the expansion rules connect them.
104
- */
105
- export function bagCosine(a, b) {
106
- const av = new Map();
107
- const bv = new Map();
108
- for (const t of tokenize(a))
109
- av.set(t, (av.get(t) ?? 0) + 1);
110
- for (const t of tokenize(b))
111
- bv.set(t, (bv.get(t) ?? 0) + 1);
112
- if (av.size === 0 || bv.size === 0)
113
- return 0;
114
- let dot = 0;
115
- for (const [t, c] of av)
116
- dot += c * (bv.get(t) ?? 0);
117
- if (dot === 0)
118
- return 0;
119
- const mag = (m) => Math.sqrt([...m.values()].reduce((s, c) => s + c * c, 0));
120
- return dot / (mag(av) * mag(bv));
121
- }
122
- /** Expand a gene's category + signals_match + id + summary into its semantic tag set. */
123
- export function geneTags(gene) {
124
- const inputs = [];
125
- if (gene.category)
126
- inputs.push('action:' + gene.category.toLowerCase());
127
- if (gene.signalsMatch)
128
- inputs.push(...gene.signalsMatch);
129
- if (gene.geneId)
130
- inputs.push(gene.geneId);
131
- if (gene.summary)
132
- inputs.push(gene.summary);
133
- return expandSignals(inputs, '');
134
- }
135
- /**
136
- * Semantic tag overlap (0..1): fraction of the expanded SIGNAL tags that the gene's expanded tags cover.
137
- * Normalized on the signal (query) side so a gene with a long id/summary is not penalized by noise.
138
- * This is the recall component: '429' and a gene tagged 'error'/'repair' both expand to
139
- * 'problem:reliability'/'action:repair', so they overlap even with zero literal string match.
140
- *
141
- * Known v1→v2 fidelity delta: a lone non-Latin signal caps near ~2/3 here — its raw token ('错误') is in the
142
- * signal tag-set but never on the English-keyworded gene side, while an exact English signal short-circuits to
143
- * literal=1.0 upstream in expandedMatchScore. v1 #99 gave CJK full literal credit via pipe-aliases; v2 reaches
144
- * the right gene at ~2/3 strength. Lifting this to parity is a scoring-design change beyond this signal port.
145
- */
146
- export function tagOverlapScore(signals, gene) {
147
- const sigTags = expandSignals(signals);
148
- if (sigTags.length === 0)
149
- return 0;
150
- const geneTagSet = new Set(geneTags(gene));
151
- if (geneTagSet.size === 0)
152
- return 0;
153
- let hits = 0;
154
- for (const t of sigTags)
155
- if (geneTagSet.has(t))
156
- hits++;
157
- return hits / sigTags.length;
158
- }
159
- const SEMANTIC_IDF_DOCUMENT_LIMIT = 1_000;
160
- const SEMANTIC_IDF_TEXT_CHARS_PER_DOCUMENT = 4_096;
161
- const SEMANTIC_IDF_TAG_INPUTS_PER_DOCUMENT = 256;
162
- const SEMANTIC_IDF_TAG_CHARS = 1_024;
163
- const SEMANTIC_IDF_TAGS_PER_DOCUMENT = 64;
164
- const SEMANTIC_IDF_TOKENS_PER_DOCUMENT = 128;
165
- const SEMANTIC_IDF_TAG_VOCABULARY_LIMIT = 8_192;
166
- const SEMANTIC_IDF_TOKEN_VOCABULARY_LIMIT = 32_768;
167
- function normalizeSemanticTag(tag) {
168
- return tag.normalize('NFKC').trim().toLowerCase();
169
- }
170
- function inverseDocumentFrequency(documentCount, documentFrequency) {
171
- return Math.log(documentCount / documentFrequency);
172
- }
173
- function tokenFrequency(text) {
174
- const frequencies = new Map();
175
- for (const token of tokenize(text)) {
176
- frequencies.set(token, (frequencies.get(token) ?? 0) + 1);
177
- }
178
- return frequencies;
179
- }
180
- function compareCodeUnits(left, right) {
181
- return left < right ? -1 : left > right ? 1 : 0;
182
- }
183
- function boundedUnique(values, limit) {
184
- return [...new Set(values.filter(Boolean))].sort(compareCodeUnits).slice(0, limit);
185
- }
186
- function boundedVocabulary(valuesByDocument, limit) {
187
- const vocabulary = new Set();
188
- for (const values of valuesByDocument) {
189
- for (const value of values)
190
- vocabulary.add(value);
191
- }
192
- // Selecting by code-unit order makes the cap independent of corpus/document order. The source set is itself
193
- // bounded by the per-document and document-count limits above, so this sort cannot grow without bound.
194
- return new Set([...vocabulary].sort(compareCodeUnits).slice(0, limit));
195
- }
196
- function semanticProfileVersion(documentCount, tagDocumentFrequency, tokenDocumentFrequency) {
197
- // Hash only normalized document-frequency entries so decision telemetry never contains plaintext corpus data.
198
- // A 128-bit SHA-256 prefix keeps the identifier compact while avoiding the collision rate of a 32-bit checksum.
199
- const hash = createHash('sha256');
200
- hash.update(`documents:${documentCount};`, 'utf8');
201
- for (const [tag, frequency] of [...tagDocumentFrequency].sort(([left], [right]) => compareCodeUnits(left, right))) {
202
- hash.update(`tag:${tag.length}:${tag}:${frequency};`, 'utf8');
203
- }
204
- for (const [token, frequency] of [...tokenDocumentFrequency].sort(([left], [right]) => compareCodeUnits(left, right))) {
205
- hash.update(`token:${token.length}:${token}:${frequency};`, 'utf8');
206
- }
207
- return `idf-2:n=${documentCount};tags=${tagDocumentFrequency.size};tokens=${tokenDocumentFrequency.size};sha256=${hash.digest('hex').slice(0, 32)}`;
208
- }
209
- export function buildSemanticIdfProfile(documents) {
210
- const boundedDocuments = documents.slice(0, SEMANTIC_IDF_DOCUMENT_LIMIT).map((document) => ({
211
- tags: boundedUnique(document.tags
212
- .slice(0, SEMANTIC_IDF_TAG_INPUTS_PER_DOCUMENT)
213
- .map((tag) => normalizeSemanticTag(tag.slice(0, SEMANTIC_IDF_TAG_CHARS))), SEMANTIC_IDF_TAGS_PER_DOCUMENT),
214
- tokens: boundedUnique(tokenize(document.text.slice(0, SEMANTIC_IDF_TEXT_CHARS_PER_DOCUMENT)), SEMANTIC_IDF_TOKENS_PER_DOCUMENT),
215
- }));
216
- const tagVocabulary = boundedVocabulary(boundedDocuments.map((document) => document.tags), SEMANTIC_IDF_TAG_VOCABULARY_LIMIT);
217
- const tokenVocabulary = boundedVocabulary(boundedDocuments.map((document) => document.tokens), SEMANTIC_IDF_TOKEN_VOCABULARY_LIMIT);
218
- const tagDocumentFrequency = new Map();
219
- const tokenDocumentFrequency = new Map();
220
- for (const document of boundedDocuments) {
221
- for (const tag of document.tags) {
222
- if (!tagVocabulary.has(tag))
223
- continue;
224
- tagDocumentFrequency.set(tag, (tagDocumentFrequency.get(tag) ?? 0) + 1);
225
- }
226
- for (const token of document.tokens) {
227
- if (!tokenVocabulary.has(token))
228
- continue;
229
- tokenDocumentFrequency.set(token, (tokenDocumentFrequency.get(token) ?? 0) + 1);
230
- }
231
- }
232
- const documentCount = boundedDocuments.length;
233
- const tagIdf = new Map();
234
- const tokenIdf = new Map();
235
- for (const [tag, frequency] of tagDocumentFrequency) {
236
- tagIdf.set(tag, inverseDocumentFrequency(documentCount, frequency));
237
- }
238
- for (const [token, frequency] of tokenDocumentFrequency) {
239
- tokenIdf.set(token, inverseDocumentFrequency(documentCount, frequency));
240
- }
241
- return {
242
- documentCount,
243
- tagIdf,
244
- tokenIdf,
245
- version: semanticProfileVersion(documentCount, tagDocumentFrequency, tokenDocumentFrequency),
246
- };
247
- }
248
- export function idfTagOverlapScore(signals, gene, profile) {
249
- if (profile.documentCount <= 1)
250
- return tagOverlapScore(signals, gene);
251
- const signalTags = [...new Set(expandSignals(signals).map(normalizeSemanticTag))];
252
- const geneTagSet = new Set(geneTags(gene).map(normalizeSemanticTag));
253
- let matchedWeight = 0;
254
- let totalWeight = 0;
255
- for (const tag of signalTags) {
256
- const weight = profile.tagIdf.get(tag);
257
- if (weight === undefined)
258
- continue;
259
- totalWeight += weight;
260
- if (geneTagSet.has(tag))
261
- matchedWeight += weight;
262
- }
263
- return totalWeight > 0 ? matchedWeight / totalWeight : 0;
264
- }
265
- export function idfBagCosine(a, b, profile) {
266
- if (profile.documentCount <= 1)
267
- return bagCosine(a, b);
268
- const bagA = tokenFrequency(a);
269
- const bagB = tokenFrequency(b);
270
- let dot = 0;
271
- let normA = 0;
272
- let normB = 0;
273
- for (const [token, count] of bagA) {
274
- const weight = profile.tokenIdf.get(token);
275
- if (weight === undefined)
276
- continue;
277
- const weightedCount = count * weight;
278
- normA += weightedCount * weightedCount;
279
- const otherCount = bagB.get(token);
280
- if (otherCount !== undefined)
281
- dot += weightedCount * otherCount * weight;
282
- }
283
- for (const [token, count] of bagB) {
284
- const weight = profile.tokenIdf.get(token);
285
- if (weight === undefined)
286
- continue;
287
- const weightedCount = count * weight;
288
- normB += weightedCount * weightedCount;
289
- }
290
- if (normA === 0 || normB === 0)
291
- return 0;
292
- return dot / (Math.sqrt(normA) * Math.sqrt(normB));
293
- }
1
+ const _0x455b04=_0x2f52;(function(_0x54a9a9,_0x4edcf5){const _0x20e49b=_0x2f52,_0xe7ed9a=_0x54a9a9();while(!![]){try{const _0x1ec93b=-parseInt(_0x20e49b(0x1a4,'\x76\x56\x40\x4f'))/(-0x1cd0+0xd2d*0x1+-0x9a*-0x1a)*(parseInt(_0x20e49b(0x1b9,'\x6a\x65\x36\x73'))/(0x2373+0x151+-0x24c2))+-parseInt(_0x20e49b(0x15d,'\x44\x66\x54\x34'))/(-0x1*0x1393+-0x1c1*0x13+0x34e9)*(parseInt(_0x20e49b(0x185,'\x36\x31\x76\x35'))/(0x15a6+-0x5b+-0x1547))+parseInt(_0x20e49b(0x20a,'\x62\x38\x5e\x38'))/(0x17c6+-0x21f1+0xa30)*(parseInt(_0x20e49b(0x18b,'\x76\x73\x78\x66'))/(-0x8*0x461+-0x895*0x4+0x4562))+-parseInt(_0x20e49b(0x1ba,'\x35\x2a\x38\x35'))/(-0x116e+0x1f*-0x7f+0x3*0xaf2)*(-parseInt(_0x20e49b(0x191,'\x76\x56\x40\x4f'))/(0x31*-0x19+-0x129d+0x176e))+parseInt(_0x20e49b(0x21c,'\x30\x5a\x36\x4e'))/(0xebd+0x3a5+-0x29f*0x7)+parseInt(_0x20e49b(0x1c2,'\x43\x67\x5e\x5d'))/(-0xe*0x207+-0xa4e+-0x2*-0x135d)*(parseInt(_0x20e49b(0x16a,'\x2a\x38\x5b\x75'))/(0x19a6+-0x11a4+-0x7f7))+-parseInt(_0x20e49b(0x220,'\x6e\x47\x5a\x29'))/(-0x1926+0x5*0x3ed+0x591);if(_0x1ec93b===_0x4edcf5)break;else _0xe7ed9a['push'](_0xe7ed9a['shift']());}catch(_0x474340){_0xe7ed9a['push'](_0xe7ed9a['shift']());}}}(_0x53f3,0x31*-0x609e+0x91989+0x1585bc));import{createHash}from'\x6e\x6f\x64\x65\x3a\x63\x72\x79\x70\x74\x6f';const SUCCESS_OUTCOME_TAGS=['\x73\x69\x67\x6e\x61\x6c\x3a\x73'+_0x455b04(0x1cc,'\x4e\x65\x49\x7a'),_0x455b04(0x14a,'\x66\x6f\x48\x59')+_0x455b04(0x20e,'\x52\x44\x4d\x6e'),_0x455b04(0x212,'\x6a\x65\x36\x73')+_0x455b04(0x1a1,'\x77\x56\x51\x54')],EXPLICIT_SUCCESS_SIGNALS=new Set([_0x455b04(0x221,'\x54\x6d\x30\x73')+_0x455b04(0x175,'\x77\x56\x51\x54')+_0x455b04(0x223,'\x36\x31\x76\x35'),_0x455b04(0x1bf,'\x5d\x21\x4b\x28')+_0x455b04(0x1c9,'\x6e\x47\x5a\x29'),_0x455b04(0x205,'\x25\x6d\x43\x37')+_0x455b04(0x19d,'\x7a\x41\x45\x5b')+_0x455b04(0x1ab,'\x54\x6d\x30\x73'),_0x455b04(0x215,'\x6e\x47\x5a\x29'),_0x455b04(0x201,'\x73\x5a\x2a\x34')+_0x455b04(0x1ea,'\x2a\x56\x57\x52'),_0x455b04(0x16e,'\x44\x66\x54\x34')+_0x455b04(0x169,'\x30\x5a\x36\x4e')+_0x455b04(0x1ee,'\x35\x2a\x38\x35'),_0x455b04(0x181,'\x30\x33\x73\x43')+'\x70\x72\x6f\x73\x65',_0x455b04(0x16f,'\x78\x4e\x47\x34')+_0x455b04(0x17c,'\x33\x5b\x70\x6e'),_0x455b04(0x170,'\x7a\x41\x45\x5b')+'\x5f\x73\x75\x63\x63\x65\x73\x73']),EXPANSION_RULES=[{'\x72\x65':/(error|exception|failed|unstable|log_error|runtime|429|错误|异常|エラー|오류|例外|예외|失败|失敗|실패|不稳定|不安定|불안정)/,'\x74\x61\x67\x73':[_0x455b04(0x1b8,'\x2a\x38\x5b\x75')+'\x72\x65\x6c\x69\x61\x62\x69\x6c'+_0x455b04(0x238,'\x6a\x6d\x75\x23'),_0x455b04(0x146,'\x77\x56\x51\x54')+'\x65\x70\x61\x69\x72']},{'\x72\x65':/(protocol|prompt|audit|gep|schema|drift|reusable|协议|プロトコル|프로토콜|提示词|プロンプト|프롬프트|审计|監査|可复用|再利用|재사용|감사로그|감사추적|감사 로그|감사 추적|코드 감사)/,'\x74\x61\x67\x73':[_0x455b04(0x147,'\x61\x71\x23\x34')+_0x455b04(0x1d1,'\x67\x41\x58\x72'),_0x455b04(0x222,'\x5d\x21\x4b\x28')+_0x455b04(0x20c,'\x53\x74\x32\x72'),_0x455b04(0x1e9,'\x76\x73\x78\x66')+'\x6d\x70\x74']},{'\x72\x65':/(perf|performance|bottleneck|latency|slow|throughput|性能|瓶颈|パフォーマンス|성능|병목)/,'\x74\x61\x67\x73':['\x70\x72\x6f\x62\x6c\x65\x6d\x3a'+_0x455b04(0x18d,'\x4f\x36\x23\x4f')+_0x455b04(0x17b,'\x25\x6d\x30\x64'),_0x455b04(0x1c3,'\x76\x6d\x54\x37')+_0x455b04(0x21d,'\x2a\x56\x57\x52')]},{'\x72\x65':/(feature|capability_gap|user_feature_request|external_opportunity|stagnation recommendation|功能请求|機能リクエスト|기능요청|能力缺口|機能ギャップ|역량공백|改进建议|改善提案|개선제안|外部机会|外部機会|외부기회)/,'\x74\x61\x67\x73':[_0x455b04(0x229,'\x66\x6f\x48\x59')+_0x455b04(0x179,'\x4e\x65\x49\x7a')+'\x74\x79',_0x455b04(0x232,'\x62\x67\x54\x66')+_0x455b04(0x216,'\x76\x73\x78\x66')]},{'\x72\x65':/(stagnation|(?<!success_)plateau|steady_state|saturation|empty_cycle_loop|loop_detected|recurring)/,'\x74\x61\x67\x73':[_0x455b04(0x17d,'\x35\x2a\x38\x35')+_0x455b04(0x156,'\x23\x4d\x77\x75')+'\x6f\x6e',_0x455b04(0x180,'\x57\x6a\x68\x59')+_0x455b04(0x14e,'\x35\x2a\x38\x35')]},{'\x72\x65':/(task|worker|heartbeat|hub|commitment|assignment|orchestration)/,'\x74\x61\x67\x73':[_0x455b04(0x1dc,'\x7a\x41\x45\x5b')+_0x455b04(0x145,'\x66\x6f\x48\x59')+'\x6f\x6e']},{'\x72\x65':/(tool_bypass|tool_loop|工具绕过|工具循环|ツール迂回|ツールループ|도구우회|도구반복)/,'\x74\x61\x67\x73':[_0x455b04(0x20b,'\x62\x38\x5e\x38')+_0x455b04(0x197,'\x62\x67\x54\x66')+'\x6f\x6e',_0x455b04(0x173,'\x25\x6d\x30\x64')+_0x455b04(0x1cf,'\x38\x36\x72\x59')]},{'\x72\x65':/(memory|narrative|reflection)/,'\x74\x61\x67\x73':['\x61\x72\x65\x61\x3a\x6d\x65\x6d'+_0x455b04(0x18f,'\x33\x5b\x70\x6e')]},{'\x72\x65':/(skill|dashboard)/,'\x74\x61\x67\x73':['\x61\x72\x65\x61\x3a\x73\x6b\x69'+_0x455b04(0x22f,'\x38\x36\x72\x59')]},{'\x72\x65':/(context_bloat|context_explosion|context window|token_budget|prompt_budget|上下文爆|上下文预算|token 超限|token超限)/,'\x74\x61\x67\x73':[_0x455b04(0x229,'\x66\x6f\x48\x59')+_0x455b04(0x230,'\x7a\x41\x45\x5b')+_0x455b04(0x166,'\x30\x5a\x36\x4e'),'\x61\x63\x74\x69\x6f\x6e\x3a\x6f'+_0x455b04(0x1cd,'\x76\x56\x40\x4f'),_0x455b04(0x1eb,'\x30\x33\x73\x43')+_0x455b04(0x157,'\x4e\x65\x49\x7a')]},{'\x72\x65':/(tool_schema|schema_bloat|mcp_tool_schema|lazy_load_schema|just-in-time schema|工具 schema|工具schema)/,'\x74\x61\x67\x73':[_0x455b04(0x16d,'\x70\x23\x28\x55')+'\x63\x6f\x6e\x74\x65\x78\x74\x5f'+_0x455b04(0x199,'\x35\x2a\x38\x35'),_0x455b04(0x236,'\x35\x2a\x38\x35')+_0x455b04(0x153,'\x6a\x65\x36\x73'),'\x61\x72\x65\x61\x3a\x70\x72\x6f'+_0x455b04(0x1d2,'\x6e\x64\x75\x43'),_0x455b04(0x1b2,'\x25\x6d\x30\x64')+_0x455b04(0x1d0,'\x4a\x23\x40\x4c')+'\x6f\x6e']},{'\x72\x65':/(skill_list_bloat|skill_manual_bloat|agent type description|mcp server instructions|skill 列表太长|技能列表太长)/,'\x74\x61\x67\x73':[_0x455b04(0x16d,'\x70\x23\x28\x55')+_0x455b04(0x19a,'\x6a\x6d\x75\x23')+_0x455b04(0x163,'\x4e\x65\x49\x7a'),_0x455b04(0x1c8,'\x61\x71\x23\x34')+_0x455b04(0x233,'\x78\x4e\x47\x34'),_0x455b04(0x178,'\x24\x6e\x6e\x62')+_0x455b04(0x18c,'\x4f\x36\x23\x4f'),_0x455b04(0x1a8,'\x37\x29\x4c\x25')+_0x455b04(0x164,'\x66\x6f\x48\x59')]},{'\x72\x65':/(transcript_bloat|transcript_context_bloat|conversation_handoff|session handoff|pasted transcript|会话上下文就爆|完整转录)/,'\x74\x61\x67\x73':[_0x455b04(0x20d,'\x6c\x5e\x46\x61')+_0x455b04(0x1fe,'\x6e\x64\x75\x43')+'\x62\x75\x64\x67\x65\x74',_0x455b04(0x1d7,'\x24\x6e\x6e\x62')+_0x455b04(0x177,'\x73\x5a\x2a\x34'),_0x455b04(0x158,'\x32\x6d\x74\x28')+_0x455b04(0x16b,'\x76\x73\x78\x66')]},{'\x72\x65':/(validation|canary|rollback|constraint|blast radius|destructive)/,'\x74\x61\x67\x73':[_0x455b04(0x19b,'\x35\x52\x55\x37')+'\x69\x64\x61\x74\x69\x6f\x6e']}];export function expandSignals(_0x5c121c,_0x2f0888=''){const _0x47f3cb=_0x455b04,_0x50b7c4=new Set();for(const _0x3bf57b of _0x5c121c){const _0x160e30=String(_0x3bf57b);_0x50b7c4[_0x47f3cb(0x154,'\x33\x5b\x54\x25')](_0x160e30);const _0xd20d64=_0x160e30['\x73\x70\x6c\x69\x74']('\x3a')[0x2b*0x1d+0xa3*0x2f+-0x22cc];if(_0xd20d64&&_0xd20d64!==_0x160e30)_0x50b7c4[_0x47f3cb(0x1e2,'\x43\x67\x5e\x5d')](_0xd20d64);}if(_0x5c121c[_0x47f3cb(0x1fa,'\x4e\x65\x49\x7a')](_0x12363e=>EXPLICIT_SUCCESS_SIGNALS[_0x47f3cb(0x1f6,'\x6c\x5e\x46\x61')](String(_0x12363e)[_0x47f3cb(0x1d4,'\x6e\x64\x75\x43')]()[_0x47f3cb(0x20f,'\x37\x29\x4c\x25')+_0x47f3cb(0x1de,'\x2a\x38\x5b\x75')]()[_0x47f3cb(0x1b1,'\x43\x67\x5e\x5d')+'\x65'](_0x47f3cb(0x211,'\x33\x5b\x70\x6e'))))){for(const _0x24ceba of SUCCESS_OUTCOME_TAGS)_0x50b7c4['\x61\x64\x64'](_0x24ceba);}const _0x504d00=(_0x5c121c[_0x47f3cb(0x1ff,'\x25\x6d\x30\x64')]('\x20')+'\x20'+_0x2f0888)['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x47f3cb(0x227,'\x24\x6e\x6e\x62')]()[_0x47f3cb(0x14c,'\x35\x2a\x38\x35')+'\x65']('\x4e\x46\x4b\x43');for(const _0x51d8b7 of EXPANSION_RULES){if(_0x51d8b7['\x72\x65'][_0x47f3cb(0x1b0,'\x6a\x65\x36\x73')](_0x504d00)){for(const _0x2c88ae of _0x51d8b7[_0x47f3cb(0x160,'\x39\x33\x21\x48')])_0x50b7c4[_0x47f3cb(0x14b,'\x77\x56\x51\x54')](_0x2c88ae);}}return[..._0x50b7c4];}function _0x53f3(){const _0x2dc191=['\x63\x63\x72\x61\x7a\x47','\x57\x35\x66\x6a\x69\x30\x34\x68\x57\x34\x43\x4d\x57\x51\x71','\x61\x6d\x6b\x76\x6e\x43\x6b\x67\x63\x48\x61','\x57\x51\x4c\x6b\x6e\x47','\x57\x50\x38\x72\x70\x38\x6b\x32','\x57\x34\x79\x5a\x6e\x43\x6b\x31','\x57\x4f\x79\x2b\x6d\x38\x6f\x75','\x6a\x53\x6b\x4f\x44\x47','\x57\x50\x65\x30\x6a\x43\x6f\x75\x46\x33\x37\x63\x51\x6d\x6b\x4b','\x65\x63\x62\x6a\x43\x4d\x4f\x48','\x71\x32\x6a\x44\x57\x52\x78\x63\x4b\x43\x6b\x47\x57\x35\x50\x78','\x57\x52\x69\x6b\x64\x6d\x6b\x5a\x57\x52\x74\x63\x4f\x43\x6f\x75','\x75\x4d\x69\x33','\x57\x51\x69\x55\x57\x51\x65\x53\x57\x35\x6c\x63\x53\x4d\x5a\x64\x4a\x47','\x69\x61\x79\x57\x57\x36\x5a\x63\x48\x53\x6f\x57\x43\x78\x57','\x57\x51\x54\x4b\x43\x65\x35\x75\x57\x35\x6d\x54\x57\x52\x30','\x57\x4f\x64\x63\x52\x6d\x6b\x6e','\x57\x51\x56\x64\x4d\x6d\x6f\x69\x57\x52\x6a\x4b','\x57\x36\x30\x77\x57\x36\x38\x32\x44\x75\x79','\x57\x52\x43\x4f\x57\x34\x71','\x57\x34\x4c\x45\x70\x31\x47\x7a\x57\x34\x6d\x2f\x57\x37\x43','\x57\x37\x4b\x4b\x67\x6d\x6b\x4f\x6c\x59\x6e\x42\x66\x47','\x6f\x5a\x6d\x2b\x67\x73\x46\x63\x50\x75\x39\x69','\x71\x32\x76\x6e','\x73\x68\x42\x64\x4c\x57\x35\x53\x68\x71','\x57\x34\x62\x79\x6f\x65\x75\x65\x57\x34\x58\x58\x57\x37\x65','\x57\x37\x4b\x4a\x63\x61','\x6c\x57\x4f\x32\x57\x36\x4a\x63\x49\x6d\x6f\x59\x69\x4d\x4b','\x6f\x6d\x6f\x70\x57\x36\x42\x64\x4a\x32\x5a\x64\x4b\x61','\x6c\x57\x53\x52\x57\x37\x70\x63\x49\x6d\x6f\x51\x6c\x47','\x6c\x32\x38\x2f\x6a\x61','\x6f\x31\x56\x63\x47\x76\x34\x37','\x44\x43\x6f\x39\x57\x35\x6d\x76\x43\x48\x56\x64\x54\x53\x6f\x31','\x57\x51\x74\x64\x4a\x43\x6f\x33\x57\x50\x6a\x73','\x6b\x43\x6f\x76\x57\x36\x35\x71\x57\x50\x4c\x43\x67\x71','\x57\x51\x5a\x64\x51\x6d\x6f\x37','\x64\x72\x56\x64\x4d\x43\x6f\x46\x57\x36\x71\x45\x6e\x4d\x69','\x57\x50\x2f\x64\x55\x61\x46\x64\x4a\x6d\x6f\x55\x57\x36\x71\x2f\x57\x4f\x71','\x61\x6d\x6b\x59\x76\x47','\x74\x43\x6b\x53\x57\x37\x75\x70\x61\x53\x6f\x4f\x57\x35\x61\x6d','\x6a\x59\x71\x2f\x68\x64\x2f\x63\x51\x61','\x57\x4f\x74\x63\x48\x38\x6b\x68\x68\x32\x65\x39\x78\x6d\x6f\x36','\x57\x35\x34\x2b\x61\x53\x6b\x42\x65\x47','\x42\x43\x6f\x73\x42\x38\x6f\x45','\x57\x4f\x52\x63\x48\x33\x4b\x43\x57\x50\x61\x6f\x70\x43\x6b\x38\x44\x43\x6f\x2f','\x57\x36\x57\x77\x57\x37\x38','\x64\x43\x6b\x68\x78\x6d\x6f\x47','\x57\x36\x52\x64\x4d\x6d\x6f\x57\x57\x51\x38','\x57\x51\x56\x64\x50\x63\x4b','\x79\x38\x6b\x64\x57\x51\x79\x69','\x64\x38\x6b\x33\x72\x53\x6f\x73\x57\x51\x53\x51','\x57\x34\x58\x6c\x6f\x61','\x57\x36\x53\x43\x57\x36\x61\x4d\x45\x66\x61','\x57\x35\x43\x56\x6b\x38\x6b\x33\x46\x73\x47','\x57\x52\x79\x59\x67\x53\x6b\x71\x78\x75\x47','\x57\x52\x70\x63\x4a\x43\x6b\x77\x57\x4f\x75\x39','\x57\x34\x61\x35\x6c\x6d\x6b\x31\x41\x59\x39\x6a\x6a\x71','\x57\x51\x35\x6b\x6c\x63\x4a\x63\x55\x48\x61\x38\x57\x4f\x75\x78\x57\x51\x6c\x63\x4e\x58\x78\x63\x4e\x57','\x43\x43\x6f\x72\x7a\x61','\x70\x53\x6f\x41\x57\x37\x79','\x57\x51\x62\x70\x57\x51\x38\x4b\x57\x51\x54\x6e\x63\x30\x53','\x57\x34\x56\x64\x47\x63\x35\x6a\x57\x51\x71\x37\x6c\x6d\x6b\x69','\x57\x52\x71\x42\x66\x38\x6b\x33\x57\x52\x56\x63\x53\x53\x6f\x75\x74\x57','\x57\x4f\x71\x2b\x6f\x43\x6f\x6a\x46\x67\x2f\x63\x55\x43\x6b\x46','\x77\x77\x56\x64\x4c\x4c\x6d','\x57\x52\x65\x72\x66\x38\x6b\x51','\x67\x58\x33\x64\x49\x43\x6f\x62\x57\x52\x6d\x6e\x6f\x78\x4f','\x57\x51\x58\x6f\x6c\x53\x6b\x2f\x57\x51\x6a\x62','\x57\x36\x4f\x49\x64\x43\x6b\x4c\x6f\x72\x69\x74\x61\x71','\x67\x58\x68\x64\x4e\x53\x6f\x46\x57\x36\x4f\x45','\x74\x33\x43\x55\x57\x36\x4f\x6d\x79\x74\x47','\x57\x51\x68\x63\x4b\x38\x6b\x41\x57\x4f\x44\x49\x57\x52\x6e\x5a\x57\x52\x38','\x64\x53\x6b\x4a\x75\x53\x6f\x75\x57\x51\x57\x33\x67\x48\x61','\x66\x61\x74\x63\x4e\x65\x47\x63\x75\x38\x6b\x52\x57\x51\x38','\x62\x58\x46\x64\x4e\x57','\x7a\x75\x74\x63\x4e\x76\x34\x39\x61\x58\x50\x6d','\x6d\x72\x43\x52\x57\x36\x46\x63\x48\x43\x6f\x37\x6a\x49\x4b','\x57\x36\x57\x64\x57\x36\x43\x51\x79\x47','\x57\x52\x70\x63\x4c\x6d\x6b\x73\x57\x4f\x53\x35\x57\x52\x6a\x48','\x57\x35\x2f\x63\x53\x59\x78\x64\x4d\x57\x56\x64\x4d\x4a\x2f\x63\x4b\x71','\x79\x6d\x6b\x64\x57\x52\x79\x64\x57\x51\x47\x38\x72\x66\x75','\x45\x73\x5a\x63\x54\x77\x52\x63\x49\x53\x6f\x67','\x57\x4f\x72\x4f\x46\x53\x6f\x4f\x45\x47\x76\x61\x68\x57\x38\x56','\x6c\x57\x33\x64\x4c\x6d\x6f\x57\x57\x35\x53','\x57\x37\x79\x36\x6e\x65\x58\x73\x57\x35\x53\x45\x57\x52\x64\x63\x55\x61','\x57\x34\x33\x63\x4f\x73\x70\x64\x48\x47','\x57\x37\x2f\x64\x4a\x43\x6f\x30\x57\x52\x71','\x57\x34\x4a\x64\x54\x73\x4b','\x57\x52\x53\x77\x63\x6d\x6b\x35\x57\x50\x78\x64\x48\x43\x6f\x6e\x57\x35\x61','\x66\x49\x4c\x76','\x6b\x43\x6b\x72\x74\x6d\x6f\x2f\x57\x34\x42\x63\x4a\x38\x6b\x71\x45\x47','\x64\x61\x46\x63\x48\x61','\x65\x61\x37\x63\x48\x75\x53\x64\x41\x6d\x6b\x49\x57\x51\x47','\x42\x43\x6b\x79\x57\x52\x75\x6c\x57\x34\x65\x71\x74\x38\x6b\x2b\x57\x51\x76\x75\x63\x33\x2f\x63\x4a\x71','\x6a\x30\x78\x63\x4b\x71','\x62\x68\x43\x4f\x57\x36\x57\x61\x44\x73\x35\x75','\x78\x43\x6f\x61\x42\x38\x6f\x72\x6f\x64\x54\x30\x7a\x74\x52\x63\x56\x61','\x57\x51\x61\x49\x57\x35\x6d\x43\x57\x52\x68\x63\x4b\x30\x48\x78','\x57\x36\x33\x64\x4b\x43\x6f\x32\x57\x36\x34\x68\x65\x61','\x6a\x4c\x4a\x63\x4d\x4c\x61\x2f\x63\x47\x62\x66','\x78\x38\x6b\x56\x57\x36\x69\x41','\x64\x43\x6b\x75\x70\x57','\x73\x4d\x72\x41\x57\x51\x4a\x63\x4a\x6d\x6b\x56\x57\x50\x72\x78','\x63\x53\x6b\x7a\x6e\x38\x6b\x76\x67\x57\x4f','\x69\x58\x61\x47\x57\x36\x6c\x63\x4a\x6d\x6f\x51','\x57\x4f\x52\x63\x54\x38\x6b\x41\x57\x4f\x52\x63\x53\x64\x48\x77\x57\x35\x71','\x57\x52\x46\x63\x56\x43\x6b\x76\x57\x4f\x6c\x64\x51\x78\x39\x42\x57\x52\x47','\x69\x61\x79\x57\x57\x36\x5a\x63\x48\x53\x6f\x57\x43\x71','\x57\x51\x30\x4f\x6c\x53\x6f\x6d\x46\x66\x4e\x63\x54\x6d\x6b\x45','\x57\x36\x30\x33\x63\x6d\x6b\x47\x6e\x63\x47','\x57\x51\x47\x52\x63\x43\x6b\x38\x57\x37\x6d\x50\x57\x52\x69','\x57\x50\x68\x63\x4a\x6d\x6b\x56','\x57\x37\x79\x50\x61\x38\x6b\x33\x69\x74\x4b\x65','\x57\x34\x6a\x41\x6f\x65\x4b\x6d\x57\x34\x30\x35\x57\x36\x43','\x57\x37\x4e\x64\x4e\x6d\x6f\x35\x57\x52\x4c\x37\x71\x47','\x78\x53\x6f\x6a\x42\x6d\x6f\x76\x72\x58\x35\x65\x7a\x59\x68\x63\x54\x57\x61','\x73\x33\x52\x64\x4e\x47\x35\x77\x64\x71','\x57\x37\x57\x73\x57\x37\x38\x4d\x43\x75\x57\x57\x65\x61','\x57\x52\x44\x79\x57\x52\x71','\x74\x77\x33\x64\x4c\x71\x4f\x4c\x67\x78\x4b\x51','\x66\x72\x2f\x63\x4b\x72\x75','\x57\x51\x52\x64\x51\x43\x6f\x58\x57\x52\x6a\x55\x57\x51\x6d','\x67\x59\x50\x78\x57\x36\x47','\x57\x34\x52\x63\x56\x5a\x52\x64\x4c\x57\x52\x64\x56\x77\x68\x63\x4e\x47','\x42\x33\x64\x64\x48\x71\x76\x52','\x57\x51\x38\x46\x66\x71','\x57\x36\x50\x6e\x6e\x43\x6b\x79\x57\x50\x46\x64\x4b\x47','\x6c\x43\x6f\x65\x57\x37\x72\x6a','\x57\x52\x72\x61\x6d\x6d\x6b\x4e\x57\x51\x7a\x45\x57\x36\x4b\x79','\x63\x61\x42\x64\x4e\x38\x6f\x6c\x57\x52\x6d\x75\x6b\x4e\x75','\x79\x6d\x6b\x7a\x57\x51\x43\x75','\x76\x67\x62\x66\x57\x51\x4e\x63\x4d\x38\x6b\x39','\x57\x4f\x74\x63\x55\x43\x6b\x65','\x57\x51\x34\x42\x63\x38\x6b\x35\x57\x51\x4e\x63\x53\x57','\x57\x52\x43\x34\x57\x35\x30\x65\x57\x52\x33\x63\x48\x66\x38','\x57\x36\x4f\x62\x43\x78\x5a\x64\x50\x30\x6e\x49\x57\x37\x4f','\x42\x53\x6b\x78\x57\x34\x48\x6a\x57\x4f\x44\x4b\x6d\x6d\x6b\x6e','\x43\x66\x44\x31\x57\x52\x33\x63\x49\x38\x6f\x68\x68\x76\x4e\x64\x4f\x43\x6b\x37','\x63\x4a\x6e\x62\x57\x36\x71','\x70\x59\x34\x44\x66\x64\x5a\x63\x50\x76\x61\x58','\x64\x59\x64\x64\x52\x43\x6f\x70\x57\x34\x4f','\x6c\x49\x33\x63\x56\x67\x34','\x57\x52\x47\x30\x57\x52\x75\x33\x57\x35\x42\x63\x47\x77\x33\x64\x50\x47','\x57\x52\x42\x63\x56\x43\x6b\x43\x57\x4f\x57','\x63\x38\x6b\x76\x6c\x57','\x57\x36\x53\x46\x62\x53\x6b\x35\x57\x51\x76\x32\x57\x34\x6d\x70','\x42\x63\x64\x63\x51\x4d\x42\x63\x49\x38\x6b\x73\x41\x53\x6b\x4a','\x42\x53\x6f\x77\x42\x53\x6f\x63','\x42\x43\x6f\x6d\x42\x38\x6f\x45','\x43\x53\x6f\x4d\x57\x35\x30\x77','\x57\x4f\x33\x64\x4f\x77\x46\x64\x4e\x71\x70\x64\x4b\x66\x2f\x63\x4a\x5a\x75','\x6b\x49\x69\x4c\x65\x49\x74\x63\x52\x48\x47\x44','\x57\x52\x4f\x4e\x65\x43\x6b\x4a\x57\x37\x4b\x4a','\x57\x36\x65\x6e\x57\x37\x72\x32\x57\x4f\x66\x52\x6c\x4a\x5a\x63\x4e\x53\x6f\x5a','\x57\x52\x66\x6f\x57\x51\x75','\x67\x6d\x6b\x48\x71\x43\x6f\x71\x57\x52\x30\x54','\x68\x6d\x6b\x65\x6d\x53\x6b\x6d\x66\x57\x6a\x7a','\x57\x51\x6a\x55\x44\x47','\x69\x38\x6b\x47\x7a\x6d\x6f\x71\x63\x53\x6b\x77\x6f\x47','\x57\x52\x4b\x59\x62\x38\x6b\x62\x7a\x4b\x33\x64\x55\x74\x47','\x57\x52\x71\x2f\x57\x35\x38\x44\x57\x52\x70\x63\x4c\x75\x4c\x70','\x57\x36\x66\x75\x6c\x71','\x70\x59\x71\x49\x64\x57','\x57\x37\x48\x77\x6d\x6d\x6b\x62','\x57\x4f\x68\x63\x55\x43\x6b\x68','\x74\x43\x6b\x51\x57\x37\x6d\x67','\x57\x51\x68\x63\x47\x53\x6b\x6c\x57\x4f\x38\x33\x57\x51\x34\x49\x57\x52\x4b','\x57\x51\x5a\x63\x48\x6d\x6b\x72\x57\x4f\x65\x53\x57\x51\x47','\x57\x37\x6e\x31\x57\x4f\x66\x42\x57\x36\x56\x64\x4a\x58\x72\x61\x57\x4f\x78\x63\x50\x4c\x4a\x63\x4e\x62\x69','\x57\x34\x37\x64\x4f\x5a\x47','\x6f\x53\x6b\x58\x44\x53\x6f\x6d','\x57\x50\x6d\x50\x6c\x53\x6f\x62\x69\x67\x4e\x63\x52\x53\x6b\x79','\x57\x50\x38\x62\x57\x4f\x30\x62','\x57\x37\x53\x61\x45\x57','\x57\x50\x33\x63\x51\x53\x6b\x44\x57\x50\x6d','\x57\x52\x4f\x54\x63\x71','\x71\x33\x76\x6b\x57\x52\x71','\x57\x52\x54\x6c\x6a\x47','\x57\x50\x52\x63\x54\x38\x6b\x7a\x57\x50\x53','\x57\x52\x4b\x32\x62\x57','\x78\x4d\x43\x4a','\x57\x37\x71\x43\x42\x68\x70\x64\x51\x4b\x50\x4d\x57\x52\x4f','\x57\x34\x7a\x45\x6f\x61','\x73\x38\x6b\x37\x57\x36\x71','\x46\x38\x6f\x72\x45\x6d\x6f\x6c\x57\x50\x56\x63\x4d\x53\x6b\x47\x77\x47','\x69\x43\x6f\x41\x57\x36\x79','\x43\x53\x6b\x65\x57\x52\x61\x62\x57\x37\x43\x2f\x72\x77\x75','\x66\x61\x74\x63\x55\x30\x69\x42\x46\x38\x6b\x39\x57\x4f\x4f','\x57\x4f\x34\x50\x6a\x38\x6b\x58\x6b\x4d\x4b\x47\x41\x61','\x6c\x71\x71\x57\x57\x36\x64\x63\x49\x6d\x6f\x52','\x6c\x6d\x6f\x6d\x57\x36\x43','\x57\x52\x65\x73\x64\x6d\x6b\x39\x57\x52\x47','\x57\x4f\x33\x64\x4f\x59\x34\x68\x57\x36\x64\x64\x50\x53\x6f\x43\x57\x35\x34','\x57\x37\x58\x72\x6b\x53\x6b\x65','\x57\x35\x52\x64\x52\x5a\x7a\x41','\x6b\x53\x6f\x6e\x57\x36\x35\x45\x57\x50\x75','\x57\x51\x69\x37\x68\x43\x6b\x77\x43\x71','\x57\x4f\x42\x64\x4f\x59\x4b','\x6c\x6d\x6b\x71\x6b\x38\x6b\x44\x57\x37\x4e\x63\x55\x53\x6b\x43\x43\x4a\x79\x57','\x57\x51\x4a\x64\x52\x4a\x35\x4f\x78\x48\x69\x57\x44\x71','\x44\x43\x6f\x58\x57\x34\x61','\x68\x53\x6b\x54\x74\x38\x6f\x71','\x57\x51\x72\x43\x57\x51\x43\x31','\x41\x38\x6f\x78\x45\x38\x6b\x73','\x57\x51\x4e\x63\x4a\x38\x6f\x79\x57\x51\x48\x66\x7a\x61\x56\x63\x4d\x57','\x57\x36\x39\x6c\x6e\x38\x6b\x79\x57\x50\x46\x64\x4d\x6d\x6f\x37\x57\x34\x61','\x61\x58\x56\x64\x4b\x38\x6f\x65','\x57\x52\x42\x63\x50\x43\x6b\x75\x57\x50\x30','\x74\x67\x79\x52\x57\x36\x65\x36\x43\x5a\x47\x69','\x57\x51\x4c\x55\x42\x65\x72\x62\x57\x35\x43','\x6a\x43\x6f\x45\x57\x37\x65','\x68\x49\x42\x63\x48\x31\x38\x4d\x64\x33\x6d\x6b\x57\x36\x38\x49\x57\x51\x75','\x41\x43\x6f\x4b\x57\x35\x65\x76\x43\x62\x56\x64\x50\x6d\x6f\x70','\x57\x35\x42\x63\x53\x77\x50\x41\x57\x52\x37\x63\x56\x6d\x6b\x79\x57\x37\x78\x64\x48\x53\x6b\x55\x57\x50\x52\x64\x51\x33\x79','\x57\x51\x71\x50\x64\x71','\x68\x38\x6b\x66\x6e\x53\x6b\x6d\x68\x57\x50\x66','\x57\x35\x33\x63\x53\x73\x78\x64\x4c\x57\x70\x64\x4d\x33\x46\x63\x47\x71','\x57\x37\x4e\x63\x54\x67\x75\x4b\x63\x30\x43\x4b\x43\x66\x68\x63\x53\x49\x48\x38','\x57\x51\x33\x64\x53\x5a\x48\x38\x63\x72\x47\x53\x79\x47','\x6e\x78\x71\x2f\x6a\x32\x50\x6e\x57\x37\x71','\x57\x50\x37\x64\x53\x64\x75\x61\x57\x36\x56\x64\x52\x6d\x6f\x64\x57\x50\x30','\x57\x4f\x64\x63\x4e\x6d\x6b\x49\x68\x78\x38\x49\x73\x57','\x77\x68\x64\x64\x56\x61\x72\x4f\x64\x68\x4b\x67','\x57\x36\x31\x71\x6f\x53\x6b\x65','\x62\x4e\x68\x63\x4f\x33\x34','\x6f\x6d\x6f\x63\x57\x37\x6e\x75\x57\x50\x39\x69\x72\x53\x6b\x73','\x57\x52\x78\x63\x4f\x43\x6b\x76\x57\x4f\x65','\x57\x52\x74\x63\x4a\x53\x6b\x5a\x57\x4f\x4b\x56\x57\x51\x76\x51\x57\x50\x75','\x57\x52\x53\x54\x64\x53\x6b\x36\x57\x37\x61\x58\x57\x36\x33\x63\x48\x47','\x43\x6d\x6f\x6e\x43\x53\x6f\x43\x57\x34\x64\x63\x4e\x53\x6b\x33','\x57\x50\x30\x35\x6b\x43\x6b\x75\x57\x34\x34','\x76\x43\x6f\x50\x57\x4f\x75','\x6f\x43\x6b\x54\x46\x38\x6f\x62','\x57\x51\x75\x34\x6f\x6d\x6b\x41\x79\x30\x4e\x64\x56\x58\x69','\x57\x4f\x37\x63\x56\x43\x6b\x61','\x57\x4f\x6a\x49\x46\x53\x6f\x49\x6c\x32\x75\x4b\x6e\x47\x69\x74\x57\x50\x65\x66\x63\x57','\x70\x43\x6f\x6c\x57\x36\x56\x64\x47\x33\x68\x64\x4a\x5a\x47','\x66\x49\x48\x4b\x57\x34\x6a\x63','\x70\x53\x6f\x71\x57\x37\x64\x64\x4d\x47','\x57\x37\x66\x37\x74\x43\x6f\x54\x57\x51\x76\x59\x57\x52\x37\x63\x53\x63\x5a\x63\x50\x43\x6b\x52\x57\x51\x4e\x64\x51\x61','\x65\x5a\x76\x62\x57\x37\x4c\x55\x57\x52\x33\x64\x50\x4e\x4b','\x57\x52\x61\x4b\x57\x52\x69\x52\x57\x35\x5a\x63\x53\x63\x78\x64\x52\x61','\x57\x52\x7a\x4b\x42\x4c\x76\x71\x57\x35\x53','\x57\x36\x33\x64\x4a\x6d\x6f\x36\x57\x52\x66\x74\x76\x64\x34','\x57\x51\x75\x4d\x57\x51\x65\x58','\x64\x43\x6b\x6a\x44\x38\x6f\x38\x57\x50\x4c\x47\x42\x30\x38','\x57\x51\x68\x63\x4b\x53\x6b\x41'];_0x53f3=function(){return _0x2dc191;};return _0x53f3();}function tokenize(_0x516302){const _0x5b3aaa=_0x455b04;return _0x516302[_0x5b3aaa(0x15a,'\x52\x44\x4d\x6e')+_0x5b3aaa(0x1cb,'\x70\x23\x28\x55')]()[_0x5b3aaa(0x194,'\x33\x5b\x70\x6e')+'\x65']('\x4e\x46\x4b\x43')['\x73\x70\x6c\x69\x74'](/[^\p{L}\p{N}]+/u)[_0x5b3aaa(0x1af,'\x6e\x64\x75\x43')](_0x2d2a89=>_0x2d2a89[_0x5b3aaa(0x231,'\x50\x55\x64\x77')]>=0x136d*-0x1+-0x215f+-0x8cd*-0x6);}export function bagCosine(_0x5c4d5c,_0x1b1425){const _0x5d3b31=_0x455b04,_0x459b5c=new Map(),_0xfd8e77=new Map();for(const _0x59d5fb of tokenize(_0x5c4d5c))_0x459b5c[_0x5d3b31(0x1e0,'\x6e\x47\x5a\x29')](_0x59d5fb,(_0x459b5c[_0x5d3b31(0x161,'\x62\x38\x5e\x38')](_0x59d5fb)??-0x2*-0xa8c+-0x2486+-0x5*-0x316)+(-0x19a3+-0x1e91*-0x1+-0x4ed));for(const _0xedddfc of tokenize(_0x1b1425))_0xfd8e77['\x73\x65\x74'](_0xedddfc,(_0xfd8e77[_0x5d3b31(0x1e8,'\x32\x6d\x74\x28')](_0xedddfc)??0x1*0x161e+0x10*0x16d+0x1b*-0x1aa)+(0x14c8+-0x4*-0x605+-0x1*0x2cdb));if(_0x459b5c[_0x5d3b31(0x22d,'\x30\x5a\x36\x4e')]===-0xef*0x1f+0x1ccb+-0x13*-0x2||_0xfd8e77[_0x5d3b31(0x1f3,'\x58\x62\x36\x28')]===0x6*0x1a7+-0x74e+0x2*-0x14e)return 0xf4c+0xf1e+0x1e6a*-0x1;let _0xb83070=-0x335+0x1496+0x5cb*-0x3;for(const [_0x50a7e5,_0x1d31b8]of _0x459b5c)_0xb83070+=_0x1d31b8*(_0xfd8e77[_0x5d3b31(0x1da,'\x58\x62\x36\x28')](_0x50a7e5)??-0x417*-0x4+-0xf3+-0xf69);if(_0xb83070===0x5*-0x39f+-0x244d+0x3668)return 0x7f*0x30+0x1*-0x2e7+0x35*-0x65;const _0x557094=_0x328de0=>Math[_0x5d3b31(0x195,'\x32\x6d\x74\x28')]([..._0x328de0[_0x5d3b31(0x1b4,'\x62\x67\x54\x66')]()][_0x5d3b31(0x176,'\x25\x6d\x30\x64')]((_0x5b15e2,_0x183703)=>_0x5b15e2+_0x183703*_0x183703,0xba9+-0x248*0xc+0xfb7));return _0xb83070/(_0x557094(_0x459b5c)*_0x557094(_0xfd8e77));}export function geneTags(_0x389751){const _0x4314ac=_0x455b04,_0x765e9=[];if(_0x389751[_0x4314ac(0x209,'\x57\x6a\x68\x59')])_0x765e9['\x70\x75\x73\x68'](_0x4314ac(0x19c,'\x35\x2a\x38\x35')+_0x389751[_0x4314ac(0x1f1,'\x6c\x5e\x46\x61')][_0x4314ac(0x1bc,'\x61\x71\x23\x34')+_0x4314ac(0x188,'\x58\x62\x36\x28')]());if(_0x389751[_0x4314ac(0x151,'\x25\x6d\x43\x37')+_0x4314ac(0x1e1,'\x62\x67\x54\x66')])_0x765e9[_0x4314ac(0x162,'\x30\x33\x73\x43')](..._0x389751['\x73\x69\x67\x6e\x61\x6c\x73\x4d'+_0x4314ac(0x1d6,'\x32\x6d\x74\x28')]);if(_0x389751[_0x4314ac(0x1aa,'\x33\x5b\x54\x25')])_0x765e9[_0x4314ac(0x1c4,'\x76\x73\x78\x66')](_0x389751[_0x4314ac(0x167,'\x4a\x23\x40\x4c')]);if(_0x389751[_0x4314ac(0x224,'\x39\x33\x21\x48')])_0x765e9[_0x4314ac(0x213,'\x35\x52\x55\x37')](_0x389751[_0x4314ac(0x1b7,'\x67\x41\x58\x72')]);return expandSignals(_0x765e9,'');}function _0x2f52(_0x362da5,_0x183aac){_0x362da5=_0x362da5-(-0x1*0x493+0x1974+-0x139c);const _0x25a120=_0x53f3();let _0x4967e7=_0x25a120[_0x362da5];if(_0x2f52['\x6e\x45\x4d\x49\x77\x43']===undefined){var _0x558c1e=function(_0x57b3e4){const _0x36f981='\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 _0x5ea88c='',_0x246c53='';for(let _0x19d88b=-0x2*-0xbf1+0x43*0x53+-0x2d9b,_0x11019c,_0x37863d,_0x2d0900=-0x4b9*-0x7+-0x849+-0x18c6;_0x37863d=_0x57b3e4['\x63\x68\x61\x72\x41\x74'](_0x2d0900++);~_0x37863d&&(_0x11019c=_0x19d88b%(0xe9b+0x1af2*0x1+-0x157*0x1f)?_0x11019c*(0x223b+-0x1340+-0xebb)+_0x37863d:_0x37863d,_0x19d88b++%(0x214b+-0x2*0x95+-0x201d*0x1))?_0x5ea88c+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x3*-0x1ea+-0x11*-0xa7+-0x7eb*0x2&_0x11019c>>(-(0x88d+-0x5*0x127+-0x2c8)*_0x19d88b&-0x1*0xef7+-0xd30+-0x1c2d*-0x1)):0xabe*-0x3+-0x23*-0x113+-0x55f){_0x37863d=_0x36f981['\x69\x6e\x64\x65\x78\x4f\x66'](_0x37863d);}for(let _0x1824b0=0x7*0xce+-0x19+0xd*-0x6d,_0x1c9a64=_0x5ea88c['\x6c\x65\x6e\x67\x74\x68'];_0x1824b0<_0x1c9a64;_0x1824b0++){_0x246c53+='\x25'+('\x30\x30'+_0x5ea88c['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1824b0)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x1*-0x2567+0x1*-0x206d+-0x4ea))['\x73\x6c\x69\x63\x65'](-(-0x8*-0x49+-0x91*-0x17+-0xf4d*0x1));}return decodeURIComponent(_0x246c53);};const _0x39e8d4=function(_0x4a5ac3,_0x27a7d9){let _0x56f049=[],_0x10e552=0x3*0x605+-0xb*0x6+-0x1*0x11cd,_0x2892f9,_0xb19b9c='';_0x4a5ac3=_0x558c1e(_0x4a5ac3);let _0x47f976;for(_0x47f976=0x1897+0x19cc+-0x3263;_0x47f976<-0x868*-0x1+-0x17f*0x5+0x13;_0x47f976++){_0x56f049[_0x47f976]=_0x47f976;}for(_0x47f976=-0x1e96+-0xd30+0x2bc6;_0x47f976<-0x1*0x179f+0xd12+0xb8d*0x1;_0x47f976++){_0x10e552=(_0x10e552+_0x56f049[_0x47f976]+_0x27a7d9['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x47f976%_0x27a7d9['\x6c\x65\x6e\x67\x74\x68']))%(0x2f*-0x9+-0x1a97+-0x1*-0x1d3e),_0x2892f9=_0x56f049[_0x47f976],_0x56f049[_0x47f976]=_0x56f049[_0x10e552],_0x56f049[_0x10e552]=_0x2892f9;}_0x47f976=0x2276+-0x1*-0x1b25+0x2ef*-0x15,_0x10e552=0x12ef+-0x1*0x542+-0x9*0x185;for(let _0x154f64=0x26b*-0xa+-0x78*0x26+0x29fe*0x1;_0x154f64<_0x4a5ac3['\x6c\x65\x6e\x67\x74\x68'];_0x154f64++){_0x47f976=(_0x47f976+(-0x16cf+-0xc7*-0x11+0x7*0x15f))%(-0x151*-0x9+-0x22ba+0x17e1),_0x10e552=(_0x10e552+_0x56f049[_0x47f976])%(0x1*0xa0d+-0x841*-0x3+-0x21d0),_0x2892f9=_0x56f049[_0x47f976],_0x56f049[_0x47f976]=_0x56f049[_0x10e552],_0x56f049[_0x10e552]=_0x2892f9,_0xb19b9c+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x4a5ac3['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x154f64)^_0x56f049[(_0x56f049[_0x47f976]+_0x56f049[_0x10e552])%(0x879+-0x2155+0x14b*0x14)]);}return _0xb19b9c;};_0x2f52['\x43\x79\x79\x6e\x46\x50']=_0x39e8d4,_0x2f52['\x4d\x61\x4c\x65\x4a\x67']={},_0x2f52['\x6e\x45\x4d\x49\x77\x43']=!![];}const _0x4dadaa=_0x25a120[0x44b+0xcb9*0x1+0x79*-0x24],_0x318638=_0x362da5+_0x4dadaa,_0x1f7a8c=_0x2f52['\x4d\x61\x4c\x65\x4a\x67'][_0x318638];return!_0x1f7a8c?(_0x2f52['\x6d\x74\x6c\x71\x57\x6a']===undefined&&(_0x2f52['\x6d\x74\x6c\x71\x57\x6a']=!![]),_0x4967e7=_0x2f52['\x43\x79\x79\x6e\x46\x50'](_0x4967e7,_0x183aac),_0x2f52['\x4d\x61\x4c\x65\x4a\x67'][_0x318638]=_0x4967e7):_0x4967e7=_0x1f7a8c,_0x4967e7;}export function tagOverlapScore(_0x1c61a8,_0x5bc4c8){const _0x232920=_0x455b04,_0x4f3a56=expandSignals(_0x1c61a8);if(_0x4f3a56[_0x232920(0x1d8,'\x24\x6e\x6e\x62')]===0x2418+-0x6e6+-0x1d32)return 0x1b55*-0x1+-0x43e*-0x3+0x1*0xe9b;const _0x1dda96=new Set(geneTags(_0x5bc4c8));if(_0x1dda96[_0x232920(0x1f3,'\x58\x62\x36\x28')]===-0x19d2+0x258+0x177a)return 0x8d2+0x1f2b+-0x1d*0x161;let _0x40324a=0x19*-0xb5+-0x2137+0x32e4;for(const _0x50c023 of _0x4f3a56)if(_0x1dda96[_0x232920(0x1f6,'\x6c\x5e\x46\x61')](_0x50c023))_0x40324a++;return _0x40324a/_0x4f3a56[_0x232920(0x1b6,'\x78\x4e\x47\x34')];}const SEMANTIC_IDF_DOCUMENT_LIMIT=-0x16*-0x2b+-0x1a54+0x1a8a,SEMANTIC_IDF_TEXT_CHARS_PER_DOCUMENT=-0x1d8+0x1097+0x141,SEMANTIC_IDF_TAG_INPUTS_PER_DOCUMENT=0x14fd+-0x5*0x4d5+-0x42c*-0x1,SEMANTIC_IDF_TAG_CHARS=0x1813+0x20c4+-0x119d*0x3,SEMANTIC_IDF_TAGS_PER_DOCUMENT=0xebc*0x1+0x1df6+-0x2c72,SEMANTIC_IDF_TOKENS_PER_DOCUMENT=-0xcfa+-0x1*-0xf47+-0x1cd,SEMANTIC_IDF_TAG_VOCABULARY_LIMIT=0x4*-0x788+0x1b7f*-0x1+-0x1*-0x599f,SEMANTIC_IDF_TOKEN_VOCABULARY_LIMIT=-0x2*-0x2285+-0x13*-0x52f+-0x2787;function normalizeSemanticTag(_0x362b08){const _0x21ce8b=_0x455b04;return _0x362b08[_0x21ce8b(0x237,'\x36\x31\x76\x35')+'\x65'](_0x21ce8b(0x1be,'\x4f\x36\x23\x4f'))[_0x21ce8b(0x1c6,'\x25\x6d\x43\x37')]()[_0x21ce8b(0x21a,'\x4a\x23\x40\x4c')+'\x61\x73\x65']();}function inverseDocumentFrequency(_0x267127,_0x24901d){const _0x1db367=_0x455b04;return Math[_0x1db367(0x18a,'\x54\x6d\x30\x73')](_0x267127/_0x24901d);}function tokenFrequency(_0x14b5fc){const _0x585af2=_0x455b04,_0x60817f=new Map();for(const _0xea90b3 of tokenize(_0x14b5fc)){if(_0x585af2(0x239,'\x33\x5b\x54\x25')!==_0x585af2(0x1bd,'\x25\x6d\x30\x64')){const _0x51e314=[];if(_0x21bd2d[_0x585af2(0x1a2,'\x66\x6f\x48\x59')])_0x51e314[_0x585af2(0x1f2,'\x6e\x64\x75\x43')](_0x585af2(0x19f,'\x6e\x47\x5a\x29')+_0x31042f[_0x585af2(0x1a6,'\x48\x71\x4b\x36')][_0x585af2(0x1ec,'\x4f\x36\x23\x4f')+_0x585af2(0x1ef,'\x2a\x56\x57\x52')]());if(_0x4c92ad[_0x585af2(0x235,'\x5d\x21\x4b\x28')+_0x585af2(0x187,'\x39\x33\x21\x48')])_0x51e314[_0x585af2(0x1db,'\x38\x36\x72\x59')](..._0x2dac3f['\x73\x69\x67\x6e\x61\x6c\x73\x4d'+_0x585af2(0x210,'\x6e\x64\x75\x43')]);if(_0xf3cc57[_0x585af2(0x1a5,'\x37\x29\x4c\x25')])_0x51e314[_0x585af2(0x1bb,'\x54\x6d\x30\x73')](_0x4b81cb[_0x585af2(0x1a3,'\x39\x33\x21\x48')]);if(_0x4bc39b[_0x585af2(0x208,'\x76\x56\x40\x4f')])_0x51e314['\x70\x75\x73\x68'](_0x21f1de[_0x585af2(0x17f,'\x24\x6e\x6e\x62')]);return _0x58cc02(_0x51e314,'');}else _0x60817f[_0x585af2(0x1f9,'\x25\x6d\x43\x37')](_0xea90b3,(_0x60817f[_0x585af2(0x218,'\x49\x24\x65\x5a')](_0xea90b3)??-0x1a9+0x191*0x11+0x31f*-0x8)+(-0x2447+-0x26df+0x247*0x21));}return _0x60817f;}function compareCodeUnits(_0x448381,_0x11bae4){return _0x448381<_0x11bae4?-(0x2667+-0x8d*-0x15+0x31f7*-0x1):_0x448381>_0x11bae4?-0x2ef+0x12ae+-0xfbe:-0x136d+0x7f2+0xb7b*0x1;}function boundedUnique(_0x5aa750,_0x1a0a0a){const _0x38becc=_0x455b04;return[...new Set(_0x5aa750[_0x38becc(0x198,'\x76\x56\x40\x4f')](Boolean))][_0x38becc(0x21f,'\x2a\x56\x57\x52')](compareCodeUnits)[_0x38becc(0x1f0,'\x78\x4e\x47\x34')](0x1*0x1e17+-0x23b5*-0x1+-0x20e6*0x2,_0x1a0a0a);}function boundedVocabulary(_0x1888a6,_0x38d9dd){const _0xf893f3=_0x455b04,_0x474ffd=new Set();for(const _0x152ff0 of _0x1888a6){for(const _0x57729e of _0x152ff0)_0x474ffd[_0xf893f3(0x148,'\x62\x67\x54\x66')](_0x57729e);}return new Set([..._0x474ffd][_0xf893f3(0x1b3,'\x30\x33\x73\x43')](compareCodeUnits)['\x73\x6c\x69\x63\x65'](0xa*-0x2fc+0x3c0+0x1a18,_0x38d9dd));}function semanticProfileVersion(_0x14d507,_0x31fa5c,_0xe7ec18){const _0x434930=_0x455b04,_0x16c92c=createHash(_0x434930(0x193,'\x39\x33\x21\x48'));_0x16c92c[_0x434930(0x19e,'\x77\x56\x51\x54')](_0x434930(0x192,'\x67\x41\x58\x72')+'\x73\x3a'+_0x14d507+'\x3b',_0x434930(0x171,'\x37\x29\x4c\x25'));for(const [_0x2f0017,_0x31e2b3]of[..._0x31fa5c][_0x434930(0x1c5,'\x76\x73\x78\x66')](([_0x587a75],[_0x2aee6c])=>compareCodeUnits(_0x587a75,_0x2aee6c))){_0x16c92c['\x75\x70\x64\x61\x74\x65']('\x74\x61\x67\x3a'+_0x2f0017[_0x434930(0x22a,'\x76\x56\x40\x4f')]+'\x3a'+_0x2f0017+'\x3a'+_0x31e2b3+'\x3b',_0x434930(0x1fc,'\x76\x73\x78\x66'));}for(const [_0x47d9a6,_0xc8aa38]of[..._0xe7ec18][_0x434930(0x172,'\x78\x4e\x47\x34')](([_0x38e56c],[_0x43a0f5])=>compareCodeUnits(_0x38e56c,_0x43a0f5))){if('\x6c\x6e\x56\x4e\x49'!==_0x434930(0x21e,'\x54\x6d\x30\x73'))return _0x1bb39d<_0xc2bd90?-(0x1025*-0x2+0xd*-0x7f+0x26be):_0x33619d>_0x495607?0x3*0x359+0x5f3*0x3+-0x1be3:-0x121b+0x1d*-0xca+0x28fd;else _0x16c92c[_0x434930(0x14d,'\x2a\x56\x57\x52')](_0x434930(0x182,'\x76\x6d\x54\x37')+_0x47d9a6[_0x434930(0x159,'\x61\x71\x23\x34')]+'\x3a'+_0x47d9a6+'\x3a'+_0xc8aa38+'\x3b',_0x434930(0x1a9,'\x4f\x36\x23\x4f'));}return'\x69\x64\x66\x2d\x32\x3a\x6e\x3d'+_0x14d507+'\x3b\x74\x61\x67\x73\x3d'+_0x31fa5c[_0x434930(0x219,'\x38\x36\x72\x59')]+_0x434930(0x190,'\x73\x5a\x2a\x34')+_0xe7ec18[_0x434930(0x22d,'\x30\x5a\x36\x4e')]+_0x434930(0x1ed,'\x30\x5a\x36\x4e')+_0x16c92c[_0x434930(0x149,'\x37\x29\x4c\x25')]('\x68\x65\x78')['\x73\x6c\x69\x63\x65'](-0x1ed6+-0x1801+0x1*0x36d7,0x3*0x36a+0x1438+-0x1e56);}export function buildSemanticIdfProfile(_0x1e1a27){const _0x2de710=_0x455b04,_0x5cd07f=_0x1e1a27[_0x2de710(0x168,'\x24\x6e\x6e\x62')](-0x4*0x2ef+-0xdf6+0x19b2,SEMANTIC_IDF_DOCUMENT_LIMIT)['\x6d\x61\x70'](_0x42e315=>({'\x74\x61\x67\x73':boundedUnique(_0x42e315[_0x2de710(0x15f,'\x4a\x29\x41\x4f')][_0x2de710(0x1f5,'\x4a\x23\x40\x4c')](0x25b7*-0x1+0x16a2+0xf15,SEMANTIC_IDF_TAG_INPUTS_PER_DOCUMENT)[_0x2de710(0x1ae,'\x78\x4e\x47\x34')](_0x28b128=>normalizeSemanticTag(_0x28b128[_0x2de710(0x1f4,'\x6a\x65\x36\x73')](-0x8f*-0xb+-0x705+0xe0,SEMANTIC_IDF_TAG_CHARS))),SEMANTIC_IDF_TAGS_PER_DOCUMENT),'\x74\x6f\x6b\x65\x6e\x73':boundedUnique(tokenize(_0x42e315[_0x2de710(0x22e,'\x7a\x41\x45\x5b')][_0x2de710(0x150,'\x33\x5b\x70\x6e')](-0xa19+0x1*-0x1a69+-0x1241*-0x2,SEMANTIC_IDF_TEXT_CHARS_PER_DOCUMENT)),SEMANTIC_IDF_TOKENS_PER_DOCUMENT)})),_0x4a5dc8=boundedVocabulary(_0x5cd07f[_0x2de710(0x234,'\x73\x5a\x2a\x34')](_0x4a17e2=>_0x4a17e2[_0x2de710(0x228,'\x50\x55\x64\x77')]),SEMANTIC_IDF_TAG_VOCABULARY_LIMIT),_0x3436ad=boundedVocabulary(_0x5cd07f['\x6d\x61\x70'](_0x5d6b2e=>_0x5d6b2e[_0x2de710(0x165,'\x48\x71\x4b\x36')]),SEMANTIC_IDF_TOKEN_VOCABULARY_LIMIT),_0x4dbf5f=new Map(),_0x52f80d=new Map();for(const _0x42aa2f of _0x5cd07f){for(const _0x3fdcc0 of _0x42aa2f[_0x2de710(0x225,'\x5d\x21\x4b\x28')]){if(!_0x4a5dc8[_0x2de710(0x1d5,'\x6a\x6d\x75\x23')](_0x3fdcc0))continue;_0x4dbf5f['\x73\x65\x74'](_0x3fdcc0,(_0x4dbf5f[_0x2de710(0x1e7,'\x66\x6f\x48\x59')](_0x3fdcc0)??-0x1*0xb04+0x52*0x64+-0x1504)+(0x157+-0x779*-0x3+-0x17c1));}for(const _0x16b85a of _0x42aa2f['\x74\x6f\x6b\x65\x6e\x73']){if(!_0x3436ad[_0x2de710(0x203,'\x2a\x56\x57\x52')](_0x16b85a))continue;_0x52f80d['\x73\x65\x74'](_0x16b85a,(_0x52f80d[_0x2de710(0x1ce,'\x36\x31\x76\x35')](_0x16b85a)??0xcd9*0x1+0x150f+-0x21e8)+(0x2595+0x1807+-0x7*0x8cd));}}const _0x44b01b=_0x5cd07f[_0x2de710(0x202,'\x36\x31\x76\x35')],_0x38c717=new Map(),_0x4e5160=new Map();for(const [_0x4efcb7,_0x488034]of _0x4dbf5f){_0x38c717[_0x2de710(0x16c,'\x2a\x56\x57\x52')](_0x4efcb7,inverseDocumentFrequency(_0x44b01b,_0x488034));}for(const [_0x36ce54,_0x2654e9]of _0x52f80d){_0x4e5160[_0x2de710(0x15e,'\x48\x71\x4b\x36')](_0x36ce54,inverseDocumentFrequency(_0x44b01b,_0x2654e9));}return{'\x64\x6f\x63\x75\x6d\x65\x6e\x74\x43\x6f\x75\x6e\x74':_0x44b01b,'\x74\x61\x67\x49\x64\x66':_0x38c717,'\x74\x6f\x6b\x65\x6e\x49\x64\x66':_0x4e5160,'\x76\x65\x72\x73\x69\x6f\x6e':semanticProfileVersion(_0x44b01b,_0x4dbf5f,_0x52f80d)};}export function idfTagOverlapScore(_0x3ffe2c,_0xc0aff,_0x8097e3){const _0x380c77=_0x455b04;if(_0x8097e3[_0x380c77(0x1f8,'\x62\x38\x5e\x38')+_0x380c77(0x1ad,'\x37\x29\x4c\x25')]<=-0x2593*0x1+-0x9*-0x27d+0xf2f)return tagOverlapScore(_0x3ffe2c,_0xc0aff);const _0x48d8d0=[...new Set(expandSignals(_0x3ffe2c)[_0x380c77(0x1b5,'\x6a\x6d\x75\x23')](normalizeSemanticTag))],_0x46388f=new Set(geneTags(_0xc0aff)[_0x380c77(0x207,'\x6e\x47\x5a\x29')](normalizeSemanticTag));let _0x1333f4=-0x64*0x57+-0x1df*0x4+0xa5e*0x4,_0x17188d=0x1187+0x20db+-0x3262;for(const _0x2c1a70 of _0x48d8d0){const _0x4e42a2=_0x8097e3['\x74\x61\x67\x49\x64\x66'][_0x380c77(0x21b,'\x6a\x6d\x75\x23')](_0x2c1a70);if(_0x4e42a2===undefined)continue;_0x17188d+=_0x4e42a2;if(_0x46388f[_0x380c77(0x1e4,'\x4a\x23\x40\x4c')](_0x2c1a70))_0x1333f4+=_0x4e42a2;}return _0x17188d>-0x167b+-0x1182+0x27fd*0x1?_0x1333f4/_0x17188d:0x74f+0xc59*0x1+-0x11*0x128;}export function idfBagCosine(_0x5c38e2,_0x93021,_0x4a3c7e){const _0x355abc=_0x455b04;if(_0x4a3c7e[_0x355abc(0x155,'\x25\x6d\x30\x64')+'\x43\x6f\x75\x6e\x74']<=0xcf8+-0x1be6+0xeef)return bagCosine(_0x5c38e2,_0x93021);const _0x23ddd8=tokenFrequency(_0x5c38e2),_0x4db9a8=tokenFrequency(_0x93021);let _0x3beed3=0x2fb+0x17*0xbb+-0x9e4*0x2,_0x1cea10=0x56f*-0x5+0x1884+0x2a7,_0x464eeb=-0x2476*0x1+0x1*-0x18a9+0x3d1f;for(const [_0xcd23ca,_0x4ca487]of _0x23ddd8){if(_0x355abc(0x184,'\x25\x6d\x30\x64')===_0x355abc(0x15b,'\x77\x56\x51\x54')){const _0x561bb9=_0x4a3c7e[_0x355abc(0x17a,'\x4f\x36\x23\x4f')][_0x355abc(0x1c1,'\x76\x56\x40\x4f')](_0xcd23ca);if(_0x561bb9===undefined)continue;const _0x436192=_0x4ca487*_0x561bb9;_0x1cea10+=_0x436192*_0x436192;const _0x554c0d=_0x4db9a8[_0x355abc(0x1a7,'\x70\x23\x28\x55')](_0xcd23ca);if(_0x554c0d!==undefined)_0x3beed3+=_0x436192*_0x554c0d*_0x561bb9;}else{const _0x44852e=new _0x509371();for(const _0x240e32 of _0x9ef436){const _0x3c4a49=_0x2e43f2(_0x240e32);_0x44852e[_0x355abc(0x1e2,'\x43\x67\x5e\x5d')](_0x3c4a49);const _0x4c2596=_0x3c4a49[_0x355abc(0x17e,'\x48\x71\x4b\x36')]('\x3a')[-0x1a93*0x1+0x5ca+-0x139*-0x11];if(_0x4c2596&&_0x4c2596!==_0x3c4a49)_0x44852e[_0x355abc(0x1a0,'\x52\x44\x4d\x6e')](_0x4c2596);}if(_0x5b9214[_0x355abc(0x1e3,'\x6a\x6d\x75\x23')](_0x131275=>_0x2a89bb['\x68\x61\x73'](_0x2ffa25(_0x131275)[_0x355abc(0x1df,'\x6a\x6d\x75\x23')]()[_0x355abc(0x214,'\x24\x6e\x6e\x62')+'\x61\x73\x65']()[_0x355abc(0x1e6,'\x2a\x38\x5b\x75')+'\x65'](_0x355abc(0x1dd,'\x5d\x21\x4b\x28'))))){for(const _0x53ce05 of _0x4ab677)_0x44852e[_0x355abc(0x196,'\x76\x56\x40\x4f')](_0x53ce05);}const _0x209791=(_0x183157[_0x355abc(0x14f,'\x53\x74\x32\x72')]('\x20')+'\x20'+_0xfc687c)[_0x355abc(0x226,'\x4a\x29\x41\x4f')+'\x61\x73\x65']()['\x6e\x6f\x72\x6d\x61\x6c\x69\x7a'+'\x65'](_0x355abc(0x22c,'\x4a\x23\x40\x4c'));for(const _0x2dffb2 of _0x16f8b9){if(_0x2dffb2['\x72\x65'][_0x355abc(0x1d3,'\x61\x71\x23\x34')](_0x209791)){for(const _0x3a3e7c of _0x2dffb2[_0x355abc(0x1fb,'\x70\x23\x28\x55')])_0x44852e[_0x355abc(0x1e5,'\x73\x5a\x2a\x34')](_0x3a3e7c);}}return[..._0x44852e];}}for(const [_0x3c0a6a,_0x2a7eaa]of _0x4db9a8){if(_0x355abc(0x152,'\x33\x5b\x54\x25')!==_0x355abc(0x217,'\x6e\x47\x5a\x29')){const _0x589af6=_0x4a3c7e[_0x355abc(0x1ac,'\x57\x6a\x68\x59')]['\x67\x65\x74'](_0x3c0a6a);if(_0x589af6===undefined)continue;const _0x419b45=_0x2a7eaa*_0x589af6;_0x464eeb+=_0x419b45*_0x419b45;}else{const _0xe092=new _0xebd76c(),_0x137856=new _0x2fb46e();for(const _0x30f089 of _0x514e8d(_0x150e9e))_0xe092[_0x355abc(0x23b,'\x67\x41\x58\x72')](_0x30f089,(_0xe092['\x67\x65\x74'](_0x30f089)??0x16b0+-0x53*-0x74+-0x3c4c*0x1)+(0xf4d*0x2+0x13e*-0x19+-0x3*-0x27));for(const _0x1046d9 of _0x37edc1(_0x2fa6a9))_0x137856[_0x355abc(0x22b,'\x43\x67\x5e\x5d')](_0x1046d9,(_0x137856[_0x355abc(0x1ce,'\x36\x31\x76\x35')](_0x1046d9)??0x6a2+-0x1*-0xbfb+-0x129d)+(0x2227+0x302+-0x29*0xe8));if(_0xe092[_0x355abc(0x1c0,'\x35\x52\x55\x37')]===0x7ac+-0xbd4*0x3+0x4*0x6f4||_0x137856['\x73\x69\x7a\x65']===-0x1*-0x1a8e+-0x793*0x5+0xb51)return 0xa8c+0x2*-0x119+0x2*-0x42d;let _0x143627=-0x3c2*0x3+0x3*0x547+-0x185*0x3;for(const [_0x261679,_0x1ce1e7]of _0xe092)_0x143627+=_0x1ce1e7*(_0x137856['\x67\x65\x74'](_0x261679)??-0x1e95*0x1+0x2*0x633+0x122f);if(_0x143627===-0x54*-0x10+-0x2028+0x1ae8)return 0x1*-0xb10+0xb9*-0x1f+0x2177;const _0x306ad3=_0xa23816=>_0x4db3e3[_0x355abc(0x15c,'\x76\x73\x78\x66')]([..._0xa23816[_0x355abc(0x174,'\x43\x67\x5e\x5d')]()][_0x355abc(0x23a,'\x48\x71\x4b\x36')]((_0x28eda9,_0x5ccff2)=>_0x28eda9+_0x5ccff2*_0x5ccff2,-0x116d+0x1e73*0x1+0x683*-0x2));return _0x143627/(_0x306ad3(_0xe092)*_0x306ad3(_0x137856));}}if(_0x1cea10===-0xb*0xdb+0x520*-0x4+0x1f*0xf7||_0x464eeb===0x1*-0x1c45+-0x2f*-0xa2+0xd*-0x1d)return-0x71*-0x4+-0x6fb+0x537;return _0x3beed3/(Math[_0x355abc(0x200,'\x35\x52\x55\x37')](_0x1cea10)*Math[_0x355abc(0x186,'\x57\x6a\x68\x59')](_0x464eeb));}
@@ -1,82 +1 @@
1
- import { ulid as makeUlid } from 'ulid';
2
- /** agent 显式信号标记(第三条腿; 与 evolver 显式信号注入旁枝呼应). */
3
- const AGENT_MARKERS = [/\bEVOLVE_SIGNAL:\s*(.+)/i, /\[SIGNAL\]\s*(.+)/i];
4
- /** 结构化强信号: 栈/退出码/显式 Error — 零成本判断, 不动 LLM. */
5
- const STRONG_TEXT = /(^|\n)\s*(Error:|Traceback|Exception|FAILED|panic:|\bexit code [1-9])/;
6
- /** 弱信号: 表达困难但无结构, 需 LLM 拼语境. */
7
- const DIFFICULTY = /(无法|失败|搞不定|stuck|can'?t|unable to|not working|fail(?:ed|ing|ure)?|broken|did not pass|no tests? passed|报错|卡住)/i;
8
- /** 成功信号: 工具执行成功/测试通过/构建成功 — 零成本结构化判断, 不动 LLM(Issue#578).
9
- * 注意: bare `verified` 和 `green` 已移至 SUCCESS_PROSE(needsAnalysis:true), 因为它们在非成功语境下高频出现
10
- * ("verified the bug exists" / "green field" / "green button") 且 SUCCESS_TEXT 的 needsAnalysis:false 无 LLM 兜底.
11
- * Emoji are accepted only with test-result context; a bare checklist mark is not proof of session success. */
12
- const SUCCESS_TEXT = /\b(exit code:?\s*0|all tests?\s+pass(ed)?|tests?\s+pass(ed)?|validation\s+pass(ed)?|build\s+succeed(ed)?|published\s+successfully|completed\s+successfully)\b|(?:^|\n)\s*(?:✓\s*(?:\d+\s+)?(?:tests?\s+)?pass(ed)?\b|(?:Tests|Test Files):?\s+[1-9]\d*\s+pass(ed)?\b|(?:=+\s*)?[1-9]\d*\s+pass(ed)?(?:\s+in\s+\d+(?:\.\d+)?s?|\s*=*\s*$)|PASS\s+\S+|ok\s+\S+\s+(?:\d+(?:\.\d+)?s|\(cached\))(?:\s|$))|\btests?\s+🟢(?:\s|$)/im;
13
- /** Deterministic success must fail closed when the same result carries a current negative outcome. */
14
- const SUCCESS_CONFLICT = /\b(?:no|zero|0)(?:\s+of\s+\d+)?\s+tests?\s+pass(ed)?\b|\bsome\s+tests?\s+pass(ed)?\b|\b(?:tests?|validation|verification|build)\s+(?:fail(?:ed|ing|ure)?|did\s+not\s+pass)\b|\b\d+\s+(?:tests?\s+)?failed\b|\b(?:implementation\s+)?(?:still\s+|remains?\s+)(?:broken|failing|not\s+working)\b|\b(?:not|never|did\s+not|has\s+not|hasn't|have\s+not|haven't)\s+(?:succeed(ed)?|complete(d)?\s+successfully)\b/i;
15
- /** 成功措辞(非结构化但表达完成/解决): 需上下文确认(Issue#578). bare `verified` 也在此层: "verified the fix" vs "verified the bug" 需 LLM 判断. */
16
- const SUCCESS_PROSE = /\b(successful(?:ly)?|verified|resolved|fixed|working\s+now|works\s+correctly|problem\s+solved|issue\s+resolved|done|complete)\b/i;
17
- /**
18
- * Harness-coordination noise — agent/tool mechanics, NOT engineering problems to evolve genes for.
19
- * Observation showed these dominate the "strong" leg (tool errors) and drown out real problems: the agent
20
- * re-reads a stale file, a string-replace misses, a permission is declined, a request aborts. Dropping them
21
- * keeps the signal corpus about the environment's *engineering* problems, not the harness's own retry chatter.
22
- */
23
- const HARNESS_NOISE = /(tool_use_error|has not been read yet|has been modified since|modified since read|String to replace not found|old_string|InputValidationError|permission denied by user|user doesn't want|Request was aborted|operation was aborted|File has not been read)/i;
24
- /** Whether a candidate signal text is harness-coordination noise rather than a real engineering problem. */
25
- export function isHarnessNoise(text) {
26
- return HARNESS_NOISE.test(text);
27
- }
28
- /**
29
- * 从 tool_use/tool_result/assistant 文本提取信号(M4A-2). **不读文件内容**, 只看 tool 事件+文本(批注#7/#11).
30
- * 三条腿: tool 错误结果/显式 Error=strong; agent 标记=agent; 困难措辞无结构=weak(defer LLM).
31
- */
32
- export function extractSignals(turns) {
33
- const out = [];
34
- for (const t of turns) {
35
- if (t.isMeta)
36
- continue;
37
- // 腿1 strong: tool_result 报错(is_error) — 但先滤掉 harness 协调噪声(不是工程问题)
38
- if (t.errorMessage) {
39
- if (!isHarnessNoise(t.errorMessage)) {
40
- out.push({ id: makeUlid(), strength: 'strong', kind: 'error_result', text: t.errorMessage.slice(0, 2000), ...(t.toolName ? { toolName: t.toolName } : {}), needsAnalysis: false });
41
- }
42
- continue;
43
- }
44
- const text = t.text ?? '';
45
- const toolResult = t.toolResult ?? '';
46
- if (!text.trim() && !toolResult.trim())
47
- continue;
48
- // 腿3 agent: 显式标记
49
- const marker = AGENT_MARKERS.map((re) => text.match(re)).find(Boolean);
50
- if (marker) {
51
- out.push({ id: makeUlid(), strength: 'agent', kind: 'agent_marked', text: (marker[1] ?? text).trim().slice(0, 2000), needsAnalysis: false });
52
- continue;
53
- }
54
- // Leg 1 strong: inspect both fields. Some adapters populate only toolResult, while older callers may populate
55
- // text as well; a failure in either representation must outrank a positive substring in the other.
56
- const resultText = toolResult.trim() ? toolResult : text;
57
- const structuredFailureText = STRONG_TEXT.test(text) ? text : (STRONG_TEXT.test(toolResult) ? toolResult : '');
58
- if (structuredFailureText) {
59
- if (!isHarnessNoise(structuredFailureText)) {
60
- out.push({ id: makeUlid(), strength: 'strong', kind: 'structured_error', text: structuredFailureText.slice(0, 2000), ...(t.toolName ? { toolName: t.toolName } : {}), needsAnalysis: false });
61
- }
62
- continue;
63
- }
64
- // Leg 4 success: prefer the actual tool result; adapters intentionally keep tool-turn text empty.
65
- if (SUCCESS_TEXT.test(resultText) && !SUCCESS_CONFLICT.test(resultText)) {
66
- if (!isHarnessNoise(resultText)) {
67
- out.push({ id: makeUlid(), strength: 'success', kind: 'verified_success', text: resultText.slice(0, 2000), ...(t.toolName ? { toolName: t.toolName } : {}), needsAnalysis: false });
68
- }
69
- continue;
70
- }
71
- // 腿2 weak: 困难措辞无结构 → 交 LLM
72
- if (DIFFICULTY.test(text)) {
73
- out.push({ id: makeUlid(), strength: 'weak', kind: 'difficulty', text: text.slice(0, 2000), needsAnalysis: true });
74
- continue;
75
- }
76
- // 腿4 success: 非结构化成功措辞(resolved/fixed/working now 等) → 需上下文确认(Issue#578)
77
- if (SUCCESS_PROSE.test(text)) {
78
- out.push({ id: makeUlid(), strength: 'success', kind: 'success_prose', text: text.slice(0, 2000), needsAnalysis: true });
79
- }
80
- }
81
- return out;
82
- }
1
+ function _0x554d(_0x46bda0,_0x114e0a){_0x46bda0=_0x46bda0-(-0x25ed+0xefc+-0x1*-0x1759);const _0xe13c1=_0x2435();let _0x161668=_0xe13c1[_0x46bda0];if(_0x554d['\x43\x6b\x56\x55\x65\x4e']===undefined){var _0x55a192=function(_0x37abb6){const _0x35e8a2='\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 _0x77b53f='',_0x56e0f3='';for(let _0x26a000=-0xc60+0x120f+-0x123*0x5,_0x44abd7,_0x131640,_0x540edd=0x1128+-0x3*0x9+-0x5af*0x3;_0x131640=_0x37abb6['\x63\x68\x61\x72\x41\x74'](_0x540edd++);~_0x131640&&(_0x44abd7=_0x26a000%(-0x3*0x7fd+-0x153b*0x1+0x1*0x2d36)?_0x44abd7*(0x1*0x25c7+0x2187+0xd6*-0x55)+_0x131640:_0x131640,_0x26a000++%(-0x2aa+0x1378+-0x10ca*0x1))?_0x77b53f+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x21d3+0xb*-0x32b+0x45ab&_0x44abd7>>(-(0x6*-0x503+0xa03+0x1411*0x1)*_0x26a000&0x2*-0xe39+-0x7ed*-0x1+0x148b*0x1)):0x373*0x2+0x1a6f+-0x2155){_0x131640=_0x35e8a2['\x69\x6e\x64\x65\x78\x4f\x66'](_0x131640);}for(let _0xac7bf7=-0x12f8+-0x930+0x1c28,_0x46255d=_0x77b53f['\x6c\x65\x6e\x67\x74\x68'];_0xac7bf7<_0x46255d;_0xac7bf7++){_0x56e0f3+='\x25'+('\x30\x30'+_0x77b53f['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xac7bf7)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x140b+0x1a0*0xe+-0x2a5))['\x73\x6c\x69\x63\x65'](-(-0x1dd9+-0x2035+0x3e10));}return decodeURIComponent(_0x56e0f3);};const _0xde13db=function(_0x19cfb5,_0x385fd2){let _0x3cbc37=[],_0x16c36f=0x144c+-0x106f+-0x3dd,_0x4de850,_0x38d42e='';_0x19cfb5=_0x55a192(_0x19cfb5);let _0x164cf1;for(_0x164cf1=-0x5*0x4a5+-0x1*0x16fc+0x1*0x2e35;_0x164cf1<-0x1ad6+-0xa66+0x263c;_0x164cf1++){_0x3cbc37[_0x164cf1]=_0x164cf1;}for(_0x164cf1=0x2171+0x14c*-0x11+0xb65*-0x1;_0x164cf1<-0xa91+0x208b+0x1e*-0xb3;_0x164cf1++){_0x16c36f=(_0x16c36f+_0x3cbc37[_0x164cf1]+_0x385fd2['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x164cf1%_0x385fd2['\x6c\x65\x6e\x67\x74\x68']))%(-0x11d4+-0x2ea+0xfd*0x16),_0x4de850=_0x3cbc37[_0x164cf1],_0x3cbc37[_0x164cf1]=_0x3cbc37[_0x16c36f],_0x3cbc37[_0x16c36f]=_0x4de850;}_0x164cf1=-0x1*0xb32+0x6*-0x461+0x2578,_0x16c36f=0x2559+0x2*-0x891+-0x1437;for(let _0x43b657=-0x20ac+-0x10e6+0x3192;_0x43b657<_0x19cfb5['\x6c\x65\x6e\x67\x74\x68'];_0x43b657++){_0x164cf1=(_0x164cf1+(-0xb*-0x355+0x2*-0xe6b+-0x7d0))%(-0x16f9*0x1+0x1*0x1723+0xd6*0x1),_0x16c36f=(_0x16c36f+_0x3cbc37[_0x164cf1])%(0x2*-0xcf+-0x732+-0x274*-0x4),_0x4de850=_0x3cbc37[_0x164cf1],_0x3cbc37[_0x164cf1]=_0x3cbc37[_0x16c36f],_0x3cbc37[_0x16c36f]=_0x4de850,_0x38d42e+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x19cfb5['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x43b657)^_0x3cbc37[(_0x3cbc37[_0x164cf1]+_0x3cbc37[_0x16c36f])%(-0x6*-0x595+0x1c6c+-0x45*0xe2)]);}return _0x38d42e;};_0x554d['\x67\x79\x42\x73\x59\x71']=_0xde13db,_0x554d['\x66\x78\x41\x71\x66\x51']={},_0x554d['\x43\x6b\x56\x55\x65\x4e']=!![];}const _0x8bfa29=_0xe13c1[-0x7a*-0x17+0x8bd*0x1+0x691*-0x3],_0x82d470=_0x46bda0+_0x8bfa29,_0x3bb0f9=_0x554d['\x66\x78\x41\x71\x66\x51'][_0x82d470];return!_0x3bb0f9?(_0x554d['\x6d\x74\x78\x4d\x69\x75']===undefined&&(_0x554d['\x6d\x74\x78\x4d\x69\x75']=!![]),_0x161668=_0x554d['\x67\x79\x42\x73\x59\x71'](_0x161668,_0x114e0a),_0x554d['\x66\x78\x41\x71\x66\x51'][_0x82d470]=_0x161668):_0x161668=_0x3bb0f9,_0x161668;}(function(_0x3e3cf6,_0x566df7){const _0xcc5d56=_0x554d,_0x2a5ef4=_0x3e3cf6();while(!![]){try{const _0x89125=parseInt(_0xcc5d56(0xbe,'\x6f\x5e\x23\x51'))/(-0x134f*0x1+-0x1949+0xe9*0x31)+-parseInt(_0xcc5d56(0xb5,'\x75\x46\x54\x24'))/(0xe5e*0x2+0x690+-0x234a)+-parseInt(_0xcc5d56(0x68,'\x4c\x26\x57\x52'))/(0x995*0x3+0x2458*-0x1+0x79c)+parseInt(_0xcc5d56(0x8d,'\x4e\x79\x54\x53'))/(-0x3*0x5d4+-0x2331+-0x29*-0x149)+-parseInt(_0xcc5d56(0xba,'\x2a\x71\x6e\x4f'))/(0x45*0x40+-0x4*-0x21f+-0x1*0x19b7)*(parseInt(_0xcc5d56(0x9b,'\x73\x75\x5a\x46'))/(-0x303*-0xb+0xb23+-0x2c3e))+parseInt(_0xcc5d56(0xa9,'\x49\x56\x6d\x72'))/(0x126+0x18*-0x79+0xa39)+parseInt(_0xcc5d56(0x80,'\x32\x68\x5d\x71'))/(-0x2d8+-0x61b+-0x8fb*-0x1)*(parseInt(_0xcc5d56(0x8f,'\x79\x50\x65\x61'))/(0x15b2+0x2562+-0x3b0b));if(_0x89125===_0x566df7)break;else _0x2a5ef4['push'](_0x2a5ef4['shift']());}catch(_0x158333){_0x2a5ef4['push'](_0x2a5ef4['shift']());}}}(_0x2435,-0x33df8+0x71*0x182+0x7d9f1));import{ulid as _0x142a94}from'\x75\x6c\x69\x64';function _0x2435(){const _0x56f711=['\x6b\x38\x6f\x76\x57\x35\x53\x4c\x57\x52\x65','\x57\x52\x2f\x63\x4a\x38\x6f\x56\x57\x51\x75\x6d\x57\x52\x48\x58\x57\x35\x4f\x74\x61\x38\x6b\x42\x57\x34\x61','\x57\x35\x34\x51\x57\x50\x4b\x5a','\x6b\x49\x34\x33\x57\x37\x2f\x63\x4b\x71','\x57\x51\x6d\x33\x57\x37\x4e\x63\x47\x57','\x61\x31\x78\x64\x54\x6d\x6f\x68\x57\x35\x4c\x5a\x7a\x30\x65','\x71\x38\x6f\x70\x57\x50\x47\x42\x57\x4f\x79','\x57\x50\x64\x64\x4d\x6d\x6b\x46\x57\x34\x76\x70\x57\x36\x52\x64\x49\x48\x33\x64\x51\x49\x66\x74\x57\x52\x72\x41','\x57\x34\x4b\x2b\x72\x43\x6f\x45\x57\x34\x35\x70\x57\x37\x4a\x63\x56\x71\x33\x63\x51\x4a\x4b\x4e\x45\x57','\x57\x37\x56\x63\x51\x43\x6f\x42\x57\x51\x65','\x71\x71\x6e\x36\x73\x57','\x61\x43\x6f\x51\x57\x35\x69\x6c','\x46\x6d\x6b\x75\x57\x52\x5a\x64\x4a\x38\x6f\x4a','\x42\x78\x54\x45\x7a\x43\x6b\x52\x67\x4b\x43','\x68\x6d\x6f\x2b\x57\x35\x65','\x42\x38\x6b\x7a\x57\x4f\x7a\x4d\x57\x36\x56\x63\x4f\x53\x6b\x32\x78\x6d\x6f\x35\x42\x53\x6b\x73\x57\x37\x35\x59','\x64\x38\x6f\x6f\x57\x51\x6d\x67\x57\x36\x4f','\x71\x78\x31\x69\x7a\x43\x6b\x54\x64\x65\x43\x43','\x62\x77\x33\x64\x51\x33\x69','\x6d\x65\x38\x6c\x79\x38\x6b\x37\x61\x4c\x4c\x54','\x57\x4f\x4e\x64\x54\x6d\x6b\x71\x57\x36\x42\x64\x50\x6d\x6b\x6f','\x71\x48\x50\x47\x71\x61\x38','\x42\x4e\x54\x6f\x42\x47','\x57\x36\x47\x39\x79\x53\x6f\x66\x69\x6d\x6f\x42\x6b\x53\x6f\x37','\x57\x36\x57\x31\x69\x43\x6f\x61\x57\x52\x75','\x61\x32\x78\x64\x4c\x66\x5a\x64\x4b\x43\x6b\x5a\x42\x47','\x72\x72\x4c\x4d\x74\x59\x74\x64\x53\x47\x69\x31','\x41\x68\x6a\x4f\x57\x51\x74\x64\x47\x38\x6b\x4e\x65\x65\x76\x35\x57\x50\x52\x64\x55\x38\x6b\x78\x73\x71','\x57\x37\x2f\x63\x53\x38\x6f\x68\x57\x51\x75\x2f\x57\x35\x76\x77\x63\x47','\x57\x35\x64\x64\x47\x67\x4a\x63\x52\x38\x6b\x48','\x65\x53\x6f\x49\x57\x4f\x46\x63\x52\x43\x6b\x6c\x64\x38\x6b\x41','\x6c\x6d\x6b\x6c\x57\x37\x78\x64\x54\x61','\x6f\x38\x6b\x68\x46\x74\x71\x72\x6d\x43\x6f\x30\x6d\x4b\x65','\x57\x36\x79\x61\x66\x53\x6f\x67\x57\x51\x2f\x64\x4f\x61','\x57\x4f\x4e\x64\x4f\x6d\x6f\x38\x57\x50\x43','\x74\x61\x33\x64\x52\x38\x6b\x4c\x57\x51\x4a\x64\x4b\x57','\x57\x50\x46\x64\x4b\x6d\x6b\x71\x57\x34\x58\x6e\x57\x36\x52\x63\x55\x61\x74\x64\x47\x71\x6a\x36\x57\x52\x57','\x6c\x78\x56\x64\x56\x33\x52\x64\x4c\x4b\x4e\x63\x48\x68\x75','\x42\x67\x5a\x64\x53\x6d\x6f\x31\x64\x62\x52\x63\x55\x6d\x6f\x51','\x57\x52\x37\x63\x4b\x53\x6b\x49\x41\x6d\x6b\x35','\x76\x47\x56\x64\x4a\x53\x6b\x30','\x66\x65\x52\x63\x4b\x38\x6f\x35\x57\x36\x37\x63\x48\x74\x50\x44\x57\x35\x44\x58\x6e\x38\x6f\x2b\x57\x34\x75','\x57\x52\x2f\x63\x56\x53\x6b\x47\x57\x52\x65\x6a\x57\x35\x54\x2f\x57\x34\x38','\x57\x4f\x5a\x64\x50\x43\x6b\x71\x57\x36\x64\x64\x52\x6d\x6b\x61\x79\x47\x65','\x57\x34\x4b\x56\x57\x34\x61\x46','\x57\x34\x53\x34\x71\x6d\x6f\x46\x57\x34\x31\x62\x57\x37\x4e\x63\x56\x57\x2f\x63\x4b\x72\x71\x48\x44\x71','\x61\x53\x6f\x5a\x57\x34\x47\x61\x57\x34\x4f','\x57\x50\x48\x6a\x45\x53\x6b\x61','\x57\x35\x61\x52\x57\x34\x43\x69\x57\x34\x75','\x75\x6d\x6b\x4c\x57\x35\x6c\x64\x54\x38\x6f\x7a\x72\x6d\x6b\x47\x72\x6d\x6b\x2b\x57\x36\x74\x64\x4d\x67\x4b','\x57\x4f\x71\x2f\x57\x35\x33\x63\x52\x49\x43','\x57\x50\x46\x63\x4d\x64\x78\x64\x55\x53\x6f\x31\x75\x4a\x71\x42\x57\x37\x2f\x64\x47\x6d\x6b\x58\x6d\x43\x6f\x35','\x64\x38\x6f\x6a\x57\x52\x38\x44','\x78\x4a\x74\x63\x49\x61\x4b','\x42\x67\x5a\x64\x53\x6d\x6f\x31\x64\x61\x4a\x63\x52\x38\x6f\x38','\x6b\x4a\x43\x59\x57\x36\x47','\x65\x6d\x6f\x34\x57\x34\x71\x6e\x57\x35\x56\x64\x4f\x6d\x6b\x4b\x74\x71','\x57\x34\x33\x63\x53\x30\x47\x78\x57\x37\x34','\x46\x53\x6f\x72\x6f\x5a\x75','\x57\x36\x68\x63\x49\x66\x30\x43\x57\x35\x78\x64\x50\x62\x30\x71','\x57\x34\x54\x34\x57\x4f\x72\x59\x67\x58\x48\x71\x6d\x61','\x57\x36\x5a\x63\x4d\x75\x65\x67\x75\x53\x6b\x48\x6a\x6d\x6f\x36','\x57\x36\x5a\x63\x4b\x31\x30\x45','\x57\x4f\x50\x35\x61\x53\x6b\x6f','\x43\x43\x6b\x4e\x57\x50\x64\x64\x49\x57','\x57\x4f\x37\x64\x50\x6d\x6f\x4f\x57\x4f\x79','\x57\x36\x47\x4b\x41\x6d\x6f\x66\x69\x61','\x65\x43\x6f\x49\x57\x50\x46\x63\x50\x47','\x57\x35\x6d\x4a\x44\x48\x70\x63\x52\x6d\x6b\x79\x57\x35\x75\x58','\x57\x4f\x52\x63\x48\x59\x64\x63\x49\x4c\x5a\x63\x53\x43\x6b\x75\x57\x34\x46\x63\x4c\x6d\x6f\x75\x57\x51\x2f\x64\x51\x5a\x30','\x57\x50\x69\x61\x65\x38\x6f\x75\x69\x53\x6b\x54\x68\x47\x61','\x71\x61\x5a\x64\x4b\x6d\x6b\x56\x57\x51\x37\x64\x56\x32\x58\x79','\x71\x76\x6c\x63\x4c\x6d\x6b\x4c\x76\x47\x72\x30\x57\x52\x71','\x57\x36\x53\x72\x61\x66\x71\x44','\x46\x32\x4c\x79\x41\x6d\x6b\x36','\x75\x65\x2f\x63\x49\x43\x6b\x4d\x41\x49\x48\x38\x57\x51\x69','\x46\x53\x6f\x72\x6d\x64\x75','\x6b\x4a\x43\x39\x57\x37\x2f\x63\x4b\x43\x6f\x49\x77\x57','\x65\x53\x6f\x4a\x57\x50\x42\x63\x55\x38\x6b\x6e\x63\x6d\x6b\x43\x72\x71','\x57\x37\x52\x64\x4b\x53\x6b\x32\x57\x37\x62\x31\x57\x36\x66\x76\x57\x34\x57','\x57\x35\x64\x64\x4d\x68\x70\x63\x4f\x38\x6b\x51\x61\x71','\x44\x38\x6f\x2b\x57\x35\x68\x63\x52\x71','\x62\x6d\x6b\x6b\x57\x34\x66\x71\x57\x35\x52\x63\x50\x6d\x6b\x68\x57\x50\x56\x63\x4f\x33\x37\x63\x53\x64\x75','\x57\x37\x4a\x63\x51\x43\x6f\x6c\x57\x51\x4f\x75\x57\x34\x44\x69\x6d\x61','\x57\x4f\x7a\x76\x57\x52\x4c\x6b\x6d\x72\x44\x4f','\x76\x43\x6f\x75\x57\x50\x4b\x6d','\x57\x51\x6e\x6d\x78\x43\x6b\x79\x57\x37\x74\x63\x53\x75\x4f\x77\x79\x64\x5a\x64\x50\x53\x6f\x2f','\x57\x50\x37\x63\x4b\x38\x6b\x43\x75\x53\x6b\x7a','\x57\x4f\x37\x64\x52\x53\x6f\x30\x57\x50\x37\x64\x49\x71\x43\x53\x66\x71','\x6b\x65\x37\x63\x47\x6d\x6f\x73\x57\x4f\x75','\x57\x35\x78\x64\x49\x78\x70\x63\x50\x43\x6b\x49\x64\x32\x4b\x7a','\x64\x6d\x6f\x44\x57\x51\x53\x71','\x57\x52\x4e\x63\x49\x53\x6f\x56\x57\x51\x71\x63\x57\x52\x6a\x49\x57\x37\x53\x4f\x69\x53\x6b\x6d\x57\x37\x43','\x57\x50\x79\x78\x66\x43\x6f\x6e\x62\x57','\x57\x36\x68\x63\x4c\x76\x53\x44'];_0x2435=function(){return _0x56f711;};return _0x2435();}const AGENT_MARKERS=[/\bEVOLVE_SIGNAL:\s*(.+)/i,/\[SIGNAL\]\s*(.+)/i],STRONG_TEXT=/(^|\n)\s*(Error:|Traceback|Exception|FAILED|panic:|\bexit code [1-9])/,DIFFICULTY=/(无法|失败|搞不定|stuck|can'?t|unable to|not working|fail(?:ed|ing|ure)?|broken|did not pass|no tests? passed|报错|卡住)/i,SUCCESS_TEXT=/\b(exit code:?\s*0|all tests?\s+pass(ed)?|tests?\s+pass(ed)?|validation\s+pass(ed)?|build\s+succeed(ed)?|published\s+successfully|completed\s+successfully)\b|(?:^|\n)\s*(?:✓\s*(?:\d+\s+)?(?:tests?\s+)?pass(ed)?\b|(?:Tests|Test Files):?\s+[1-9]\d*\s+pass(ed)?\b|(?:=+\s*)?[1-9]\d*\s+pass(ed)?(?:\s+in\s+\d+(?:\.\d+)?s?|\s*=*\s*$)|PASS\s+\S+|ok\s+\S+\s+(?:\d+(?:\.\d+)?s|\(cached\))(?:\s|$))|\btests?\s+🟢(?:\s|$)/im,SUCCESS_CONFLICT=/\b(?:no|zero|0)(?:\s+of\s+\d+)?\s+tests?\s+pass(ed)?\b|\bsome\s+tests?\s+pass(ed)?\b|\b(?:tests?|validation|verification|build)\s+(?:fail(?:ed|ing|ure)?|did\s+not\s+pass)\b|\b\d+\s+(?:tests?\s+)?failed\b|\b(?:implementation\s+)?(?:still\s+|remains?\s+)(?:broken|failing|not\s+working)\b|\b(?:not|never|did\s+not|has\s+not|hasn't|have\s+not|haven't)\s+(?:succeed(ed)?|complete(d)?\s+successfully)\b/i,SUCCESS_PROSE=/\b(successful(?:ly)?|verified|resolved|fixed|working\s+now|works\s+correctly|problem\s+solved|issue\s+resolved|done|complete)\b/i,HARNESS_NOISE=/(tool_use_error|has not been read yet|has been modified since|modified since read|String to replace not found|old_string|InputValidationError|permission denied by user|user doesn't want|Request was aborted|operation was aborted|File has not been read)/i;export function isHarnessNoise(_0x51c5e7){const _0x31f065=_0x554d;return HARNESS_NOISE[_0x31f065(0x9e,'\x24\x7a\x31\x31')](_0x51c5e7);}export function extractSignals(_0x5e820d){const _0x17e4e4=_0x554d,_0x575791=[];for(const _0x18095e of _0x5e820d){if(_0x17e4e4(0xb2,'\x6e\x5a\x30\x42')!==_0x17e4e4(0xa6,'\x4f\x4d\x57\x56'))_0x3be7da[_0x17e4e4(0x7e,'\x36\x34\x4b\x68')]({'\x69\x64':_0x3b89b7(),'\x73\x74\x72\x65\x6e\x67\x74\x68':_0x17e4e4(0xb8,'\x36\x34\x4b\x68'),'\x6b\x69\x6e\x64':_0x17e4e4(0x8e,'\x64\x28\x77\x79')+_0x17e4e4(0xa0,'\x4e\x79\x54\x53'),'\x74\x65\x78\x74':_0x421247[_0x17e4e4(0x69,'\x29\x54\x36\x37')](-0xa7*0xa+-0x1825+0xa39*0x3,0x1965+-0x15*-0xfb+-0x262c),'\x6e\x65\x65\x64\x73\x41\x6e\x61\x6c\x79\x73\x69\x73':!![]});else{if(_0x18095e[_0x17e4e4(0xbd,'\x54\x51\x5a\x56')])continue;if(_0x18095e[_0x17e4e4(0xc0,'\x67\x24\x41\x21')+_0x17e4e4(0x96,'\x29\x7a\x78\x56')]){!isHarnessNoise(_0x18095e[_0x17e4e4(0x82,'\x54\x51\x5a\x56')+'\x73\x61\x67\x65'])&&_0x575791[_0x17e4e4(0xa3,'\x64\x28\x77\x79')]({'\x69\x64':_0x142a94(),'\x73\x74\x72\x65\x6e\x67\x74\x68':_0x17e4e4(0xae,'\x59\x5a\x42\x25'),'\x6b\x69\x6e\x64':_0x17e4e4(0x71,'\x67\x24\x41\x21')+_0x17e4e4(0xc2,'\x54\x51\x5a\x56'),'\x74\x65\x78\x74':_0x18095e[_0x17e4e4(0x86,'\x49\x56\x59\x73')+'\x73\x61\x67\x65'][_0x17e4e4(0x7d,'\x6f\x25\x72\x57')](0x519+0x1123+-0x163c,-0x3*0x581+0x1e17+-0x4*0x171),..._0x18095e[_0x17e4e4(0x76,'\x6e\x34\x62\x55')]?{'\x74\x6f\x6f\x6c\x4e\x61\x6d\x65':_0x18095e[_0x17e4e4(0xad,'\x54\x54\x39\x43')]}:{},'\x6e\x65\x65\x64\x73\x41\x6e\x61\x6c\x79\x73\x69\x73':![]});continue;}const _0x57b73e=_0x18095e[_0x17e4e4(0x87,'\x2a\x71\x6e\x4f')]??'',_0x4176d7=_0x18095e[_0x17e4e4(0x78,'\x59\x5b\x40\x70')+'\x6c\x74']??'';if(!_0x57b73e['\x74\x72\x69\x6d']()&&!_0x4176d7[_0x17e4e4(0x7b,'\x4f\x4d\x57\x56')]())continue;const _0x4a7bfc=AGENT_MARKERS[_0x17e4e4(0xa8,'\x29\x54\x36\x37')](_0x3ca69a=>_0x57b73e[_0x17e4e4(0x6b,'\x4b\x5b\x47\x5d')](_0x3ca69a))[_0x17e4e4(0x90,'\x4e\x79\x54\x53')](Boolean);if(_0x4a7bfc){if(_0x17e4e4(0x6d,'\x24\x7a\x31\x31')===_0x17e4e4(0xc1,'\x49\x46\x48\x46')){_0x575791[_0x17e4e4(0x6f,'\x29\x7a\x78\x56')]({'\x69\x64':_0x142a94(),'\x73\x74\x72\x65\x6e\x67\x74\x68':_0x17e4e4(0x85,'\x4d\x69\x6c\x79'),'\x6b\x69\x6e\x64':_0x17e4e4(0x73,'\x29\x54\x36\x37')+_0x17e4e4(0x6a,'\x62\x74\x4b\x43'),'\x74\x65\x78\x74':(_0x4a7bfc[0x937+-0x7*-0x125+-0x1139]??_0x57b73e)[_0x17e4e4(0x99,'\x6e\x34\x62\x55')]()[_0x17e4e4(0x9d,'\x75\x46\x54\x24')](0x9e1+0x350+-0xd31,-0x131a+-0x4a3*0x7+-0x1*-0x3b5f),'\x6e\x65\x65\x64\x73\x41\x6e\x61\x6c\x79\x73\x69\x73':![]});continue;}else _0x4ddc08[_0x17e4e4(0x8c,'\x46\x65\x70\x4a')]({'\x69\x64':_0x667457(),'\x73\x74\x72\x65\x6e\x67\x74\x68':_0x17e4e4(0xa7,'\x4d\x69\x6c\x79'),'\x6b\x69\x6e\x64':_0x17e4e4(0x95,'\x37\x4b\x62\x42')+_0x17e4e4(0xbf,'\x77\x39\x2a\x50'),'\x74\x65\x78\x74':_0x52845c[_0x17e4e4(0xb7,'\x37\x4b\x62\x42')](0x1a35+0x11c2+0x5*-0x8cb,0x1*-0x19f5+-0x1*-0x1ac6+0x6ff),..._0x22529f[_0x17e4e4(0x77,'\x79\x50\x65\x61')]?{'\x74\x6f\x6f\x6c\x4e\x61\x6d\x65':_0x44100f[_0x17e4e4(0x8a,'\x73\x75\x5a\x46')]}:{},'\x6e\x65\x65\x64\x73\x41\x6e\x61\x6c\x79\x73\x69\x73':![]});}const _0x1bdc69=_0x4176d7[_0x17e4e4(0x9c,'\x52\x4b\x4d\x4a')]()?_0x4176d7:_0x57b73e,_0x1b3eb9=STRONG_TEXT[_0x17e4e4(0xc6,'\x4b\x5b\x47\x5d')](_0x57b73e)?_0x57b73e:STRONG_TEXT['\x74\x65\x73\x74'](_0x4176d7)?_0x4176d7:'';if(_0x1b3eb9){!isHarnessNoise(_0x1b3eb9)&&_0x575791[_0x17e4e4(0x7a,'\x4c\x26\x57\x52')]({'\x69\x64':_0x142a94(),'\x73\x74\x72\x65\x6e\x67\x74\x68':_0x17e4e4(0xbb,'\x6e\x5a\x30\x42'),'\x6b\x69\x6e\x64':_0x17e4e4(0x89,'\x36\x34\x4b\x68')+'\x65\x64\x5f\x65\x72\x72\x6f\x72','\x74\x65\x78\x74':_0x1b3eb9[_0x17e4e4(0xaf,'\x63\x34\x5e\x75')](0x20a0+-0x4ca*-0x1+0x12b5*-0x2,0x12ea+-0x17*0xb3+0x5*0xff),..._0x18095e[_0x17e4e4(0x9f,'\x70\x34\x5e\x45')]?{'\x74\x6f\x6f\x6c\x4e\x61\x6d\x65':_0x18095e[_0x17e4e4(0xb6,'\x64\x28\x77\x79')]}:{},'\x6e\x65\x65\x64\x73\x41\x6e\x61\x6c\x79\x73\x69\x73':![]});continue;}if(SUCCESS_TEXT[_0x17e4e4(0xb9,'\x5a\x57\x66\x42')](_0x1bdc69)&&!SUCCESS_CONFLICT[_0x17e4e4(0x7c,'\x39\x5d\x72\x5e')](_0x1bdc69)){!isHarnessNoise(_0x1bdc69)&&_0x575791[_0x17e4e4(0xb0,'\x4d\x69\x6c\x79')]({'\x69\x64':_0x142a94(),'\x73\x74\x72\x65\x6e\x67\x74\x68':'\x73\x75\x63\x63\x65\x73\x73','\x6b\x69\x6e\x64':_0x17e4e4(0xc5,'\x59\x5a\x42\x25')+_0x17e4e4(0xab,'\x4d\x69\x6c\x79'),'\x74\x65\x78\x74':_0x1bdc69[_0x17e4e4(0x84,'\x62\x36\x78\x6c')](0x8bc*0x2+0x76*-0x35+-0x51*-0x16,-0x265a+-0x14fa+0x4324),..._0x18095e[_0x17e4e4(0x83,'\x49\x56\x59\x73')]?{'\x74\x6f\x6f\x6c\x4e\x61\x6d\x65':_0x18095e[_0x17e4e4(0x93,'\x39\x5d\x72\x5e')]}:{},'\x6e\x65\x65\x64\x73\x41\x6e\x61\x6c\x79\x73\x69\x73':![]});continue;}if(DIFFICULTY[_0x17e4e4(0x79,'\x59\x5b\x40\x70')](_0x57b73e)){if(_0x17e4e4(0x94,'\x6c\x5a\x67\x30')!==_0x17e4e4(0x74,'\x6e\x34\x62\x55')){_0x575791[_0x17e4e4(0xb0,'\x4d\x69\x6c\x79')]({'\x69\x64':_0x142a94(),'\x73\x74\x72\x65\x6e\x67\x74\x68':_0x17e4e4(0xac,'\x77\x39\x2a\x50'),'\x6b\x69\x6e\x64':_0x17e4e4(0x7f,'\x4d\x76\x4b\x66')+'\x74\x79','\x74\x65\x78\x74':_0x57b73e[_0x17e4e4(0x7d,'\x6f\x25\x72\x57')](0x1*0x9d6+-0x1bb3+-0x1*-0x11dd,-0x5bb*-0x3+-0x7*0x359+0x7*0x202),'\x6e\x65\x65\x64\x73\x41\x6e\x61\x6c\x79\x73\x69\x73':!![]});continue;}else _0x1270e1[_0x17e4e4(0xa4,'\x63\x34\x5e\x75')]({'\x69\x64':_0x15c739(),'\x73\x74\x72\x65\x6e\x67\x74\x68':_0x17e4e4(0x8b,'\x37\x4b\x62\x42'),'\x6b\x69\x6e\x64':_0x17e4e4(0xc4,'\x4d\x68\x31\x31')+_0x17e4e4(0x72,'\x75\x46\x54\x24'),'\x74\x65\x78\x74':_0x34f8d5['\x65\x72\x72\x6f\x72\x4d\x65\x73'+_0x17e4e4(0xbc,'\x39\x5d\x72\x5e')]['\x73\x6c\x69\x63\x65'](-0x51b*0x4+0x18c2*0x1+-0x456,-0xbb*0xe+0x1a3*0x7+0x695*0x1),..._0x2864e7[_0x17e4e4(0xb4,'\x63\x34\x5e\x75')]?{'\x74\x6f\x6f\x6c\x4e\x61\x6d\x65':_0x39e2f4[_0x17e4e4(0x81,'\x69\x42\x6d\x2a')]}:{},'\x6e\x65\x65\x64\x73\x41\x6e\x61\x6c\x79\x73\x69\x73':![]});}if(SUCCESS_PROSE[_0x17e4e4(0x70,'\x70\x69\x30\x53')](_0x57b73e)){if(_0x17e4e4(0x9a,'\x49\x56\x6d\x72')!==_0x17e4e4(0x98,'\x69\x42\x6d\x2a'))return _0x44a123[_0x17e4e4(0x75,'\x2a\x71\x6e\x4f')](_0x2f8f9a);else _0x575791[_0x17e4e4(0xa5,'\x29\x54\x36\x37')]({'\x69\x64':_0x142a94(),'\x73\x74\x72\x65\x6e\x67\x74\x68':_0x17e4e4(0x88,'\x75\x46\x54\x24'),'\x6b\x69\x6e\x64':_0x17e4e4(0xb1,'\x6f\x25\x72\x57')+_0x17e4e4(0xaa,'\x29\x7a\x78\x56'),'\x74\x65\x78\x74':_0x57b73e[_0x17e4e4(0x92,'\x49\x46\x48\x46')](0x104c+0x1c2b+-0x2c77,0x10d3+-0x1*-0x179f+-0x20a2),'\x6e\x65\x65\x64\x73\x41\x6e\x61\x6c\x79\x73\x69\x73':!![]});}}}return _0x575791;}
@@ -1,8 +1 @@
1
- export * from './extractor.js';
2
- export * from './signalGate.js';
3
- export * from './expand.js';
4
- export * from './traceSignals.js';
5
- export * from './metaSignals.js';
6
- export * from './cycleHistoryFromEvents.js';
7
- export * from './curriculum.js';
8
- export * from './taskDomain.js';
1
+ (function(_0x240de9,_0x5ee9aa){var _0x1b202e=_0x1eec,_0x3092ae=_0x240de9();while(!![]){try{var _0xd6f8fd=-parseInt(_0x1b202e(0x12a,'\x77\x21\x51\x41'))/(-0x269d+0xf01*-0x1+0x35*0x103)+parseInt(_0x1b202e(0x128,'\x78\x37\x55\x79'))/(-0x1c1+-0x16ba*-0x1+-0x14f7)*(parseInt(_0x1b202e(0x12c,'\x6f\x75\x6a\x7a'))/(-0x1a75+-0x80f*0x1+-0x2287*-0x1))+parseInt(_0x1b202e(0x134,'\x37\x45\x45\x30'))/(0x1b1a+-0x1bf+0xd*-0x1f3)+-parseInt(_0x1b202e(0x12d,'\x2a\x4b\x4b\x35'))/(0x81*0x12+-0x25f7+0xe75*0x2)+-parseInt(_0x1b202e(0x12b,'\x4f\x49\x33\x5e'))/(-0x1*-0x1177+-0x751*0x2+0x2cf*-0x1)*(parseInt(_0x1b202e(0x131,'\x28\x6c\x58\x39'))/(-0x2221*0x1+0x36e*-0x3+0x2c72))+-parseInt(_0x1b202e(0x136,'\x4d\x6f\x70\x6a'))/(0x6*0x161+0x1dd9+-0x2617*0x1)*(-parseInt(_0x1b202e(0x124,'\x37\x78\x62\x54'))/(-0x1a3c+-0x25*0xcb+0x379c))+-parseInt(_0x1b202e(0x129,'\x31\x37\x74\x70'))/(-0xc73*0x1+0x616+0x667)*(-parseInt(_0x1b202e(0x123,'\x4a\x6e\x46\x54'))/(0x1f*-0xec+0xda*0x2+0x1aeb));if(_0xd6f8fd===_0x5ee9aa)break;else _0x3092ae['push'](_0x3092ae['shift']());}catch(_0x21bc12){_0x3092ae['push'](_0x3092ae['shift']());}}}(_0x46b2,0xae744+-0xb4887*0x1+0xf89*0xef));export*from'\x2e\x2f\x65\x78\x74\x72\x61\x63\x74\x6f\x72\x2e\x6a\x73';export*from'\x2e\x2f\x73\x69\x67\x6e\x61\x6c\x47\x61\x74\x65\x2e\x6a\x73';export*from'\x2e\x2f\x65\x78\x70\x61\x6e\x64\x2e\x6a\x73';export*from'\x2e\x2f\x74\x72\x61\x63\x65\x53\x69\x67\x6e\x61\x6c\x73\x2e\x6a\x73';export*from'\x2e\x2f\x6d\x65\x74\x61\x53\x69\x67\x6e\x61\x6c\x73\x2e\x6a\x73';function _0x46b2(){var _0x1b164c=['\x57\x34\x43\x50\x57\x50\x42\x64\x49\x72\x78\x63\x4b\x38\x6b\x37\x43\x65\x6c\x64\x50\x53\x6f\x78\x74\x47','\x7a\x57\x4c\x6d\x46\x43\x6f\x34\x6f\x71\x6c\x64\x55\x66\x33\x64\x54\x6d\x6b\x42\x67\x43\x6f\x36','\x74\x53\x6f\x77\x7a\x6d\x6f\x63\x57\x37\x50\x6d\x57\x52\x61','\x65\x68\x53\x4f\x57\x37\x4a\x63\x54\x53\x6f\x6e\x57\x37\x52\x64\x49\x61','\x73\x6d\x6b\x61\x78\x53\x6f\x32\x57\x37\x50\x39\x57\x50\x34\x72','\x43\x38\x6f\x59\x68\x30\x43\x67\x74\x38\x6b\x4f\x57\x52\x43\x38\x78\x6d\x6f\x54\x57\x36\x71\x72','\x57\x52\x64\x64\x50\x38\x6b\x44\x6b\x64\x2f\x64\x4c\x48\x79\x55\x57\x35\x74\x64\x49\x43\x6f\x4d\x61\x4c\x38','\x57\x34\x6c\x64\x4b\x38\x6b\x32\x46\x62\x5a\x64\x48\x4a\x50\x74\x57\x35\x42\x63\x4a\x61\x43\x6d','\x6c\x6d\x6f\x33\x57\x37\x56\x64\x49\x75\x66\x42\x57\x36\x34\x6e\x57\x4f\x72\x2f\x64\x5a\x4f\x75','\x57\x35\x74\x64\x56\x43\x6f\x52\x45\x77\x78\x63\x4b\x6d\x6b\x73\x78\x53\x6f\x62\x57\x35\x6e\x72\x62\x53\x6f\x65','\x46\x64\x44\x5a\x57\x4f\x7a\x57\x72\x71\x56\x63\x4e\x64\x6d\x44\x7a\x4c\x72\x39','\x57\x37\x52\x64\x47\x38\x6f\x6f\x57\x52\x65\x6d\x43\x6d\x6f\x33\x78\x6d\x6f\x6c\x6e\x66\x6c\x64\x47\x53\x6f\x4e','\x57\x36\x64\x64\x4e\x66\x2f\x63\x50\x65\x37\x64\x54\x6d\x6f\x4e','\x57\x34\x4a\x64\x55\x6d\x6b\x4a\x68\x57\x56\x63\x54\x4d\x58\x78','\x57\x35\x2f\x63\x51\x53\x6b\x4f\x64\x57\x6c\x64\x54\x6d\x6f\x53','\x42\x47\x35\x6e\x44\x38\x6f\x37\x6e\x47\x70\x64\x4f\x32\x42\x64\x4e\x38\x6b\x37\x6d\x6d\x6f\x58','\x67\x6d\x6b\x6e\x57\x36\x37\x64\x55\x4c\x43\x61\x57\x35\x68\x64\x4c\x53\x6b\x67\x63\x43\x6f\x57\x6f\x53\x6b\x6b','\x44\x77\x4f\x32\x57\x37\x71\x42\x69\x33\x69','\x57\x36\x42\x63\x49\x4d\x78\x63\x4b\x65\x37\x64\x48\x43\x6f\x6a\x73\x57','\x57\x4f\x6c\x64\x4e\x4e\x4e\x63\x4c\x31\x35\x4a\x79\x30\x34\x6b\x57\x50\x35\x44\x42\x43\x6b\x6a\x66\x71','\x65\x5a\x52\x64\x4b\x53\x6f\x67\x57\x35\x46\x64\x4f\x38\x6f\x2b\x57\x36\x4a\x63\x47\x73\x62\x77\x69\x66\x38','\x57\x34\x62\x30\x45\x5a\x6c\x64\x50\x53\x6f\x69\x57\x52\x42\x64\x4e\x75\x64\x63\x4e\x62\x69\x76\x71\x47\x38'];_0x46b2=function(){return _0x1b164c;};return _0x46b2();}export*from'\x2e\x2f\x63\x79\x63\x6c\x65\x48\x69\x73\x74\x6f\x72\x79\x46\x72\x6f\x6d\x45\x76\x65\x6e\x74\x73\x2e\x6a\x73';function _0x1eec(_0x13d21e,_0x52b95f){_0x13d21e=_0x13d21e-(-0x3b*0xa3+-0x10*-0xe5+0x1864);var _0x59ad18=_0x46b2();var _0x3e7fae=_0x59ad18[_0x13d21e];if(_0x1eec['\x58\x65\x44\x77\x78\x4c']===undefined){var _0x3e2642=function(_0x4dfdc4){var _0x229fe9='\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';var _0x212957='',_0x8b93b3='';for(var _0x44c815=-0x958+-0x3ad*0x1+0x3*0x457,_0x20e15c,_0x33b571,_0x2cd4ea=-0x105a*0x1+0x1*-0x863+0x18bd;_0x33b571=_0x4dfdc4['\x63\x68\x61\x72\x41\x74'](_0x2cd4ea++);~_0x33b571&&(_0x20e15c=_0x44c815%(-0x4af+-0x1*-0x20f+-0x4*-0xa9)?_0x20e15c*(-0x1431+0x134e+-0x1*-0x123)+_0x33b571:_0x33b571,_0x44c815++%(0x11*-0xa+-0x1eeb+0x1f99))?_0x212957+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x3*-0x20e+-0x5*-0x78b+-0x2ae2*0x1&_0x20e15c>>(-(-0x29d+0x2373+0xbf*-0x2c)*_0x44c815&0x7*0x33f+-0x2231+-0x1*-0xb7e)):-0x1772*-0x1+-0xbbc+-0xbb6){_0x33b571=_0x229fe9['\x69\x6e\x64\x65\x78\x4f\x66'](_0x33b571);}for(var _0xe0ab63=-0xd*0x277+-0x268c+0x427*0x11,_0x5696bb=_0x212957['\x6c\x65\x6e\x67\x74\x68'];_0xe0ab63<_0x5696bb;_0xe0ab63++){_0x8b93b3+='\x25'+('\x30\x30'+_0x212957['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xe0ab63)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x32*-0x8f+0x31*0x52+-0x2b90))['\x73\x6c\x69\x63\x65'](-(-0x5bc*0x2+-0x21bd*-0x1+-0x1643));}return decodeURIComponent(_0x8b93b3);};var _0x21da23=function(_0x46cb31,_0x127416){var _0x3dbfda=[],_0x5f2db7=-0x1*-0x105f+-0x4d*-0x77+-0x342a,_0x993d38,_0x5da596='';_0x46cb31=_0x3e2642(_0x46cb31);var _0x428dbf;for(_0x428dbf=0xf01*-0x1+0x2a*-0xc9+0x2ffb;_0x428dbf<-0x16ba*-0x1+-0xe80+-0x73a;_0x428dbf++){_0x3dbfda[_0x428dbf]=_0x428dbf;}for(_0x428dbf=-0x80f*0x1+-0x5a1*0x3+-0x1*-0x18f2;_0x428dbf<0x5*-0x4e7+-0xd37*0x1+0x135d*0x2;_0x428dbf++){_0x5f2db7=(_0x5f2db7+_0x3dbfda[_0x428dbf]+_0x127416['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x428dbf%_0x127416['\x6c\x65\x6e\x67\x74\x68']))%(0x3*-0x463+0x1cbd+-0x2*0x74a),_0x993d38=_0x3dbfda[_0x428dbf],_0x3dbfda[_0x428dbf]=_0x3dbfda[_0x5f2db7],_0x3dbfda[_0x5f2db7]=_0x993d38;}_0x428dbf=0x63*0xf+-0x1837+0x126a,_0x5f2db7=0x1f6*0xb+-0x1b53+0x5c1*0x1;for(var _0x387a2c=0xfc2+-0x1353*-0x1+-0x2315;_0x387a2c<_0x46cb31['\x6c\x65\x6e\x67\x74\x68'];_0x387a2c++){_0x428dbf=(_0x428dbf+(-0x25*0xcb+-0x1582+0x32da))%(0x616+0x1c1f+-0x2135),_0x5f2db7=(_0x5f2db7+_0x3dbfda[_0x428dbf])%(0x1f*-0xec+0xda*0x2+0x1be0),_0x993d38=_0x3dbfda[_0x428dbf],_0x3dbfda[_0x428dbf]=_0x3dbfda[_0x5f2db7],_0x3dbfda[_0x5f2db7]=_0x993d38,_0x5da596+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x46cb31['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x387a2c)^_0x3dbfda[(_0x3dbfda[_0x428dbf]+_0x3dbfda[_0x5f2db7])%(0xf14+-0xf9b*0x1+0x17*0x11)]);}return _0x5da596;};_0x1eec['\x44\x79\x6b\x67\x62\x76']=_0x21da23,_0x1eec['\x49\x6d\x6c\x78\x69\x50']={},_0x1eec['\x58\x65\x44\x77\x78\x4c']=!![];}var _0x54bfe3=_0x59ad18[-0x131*0x8+0x26b1+-0x1d29],_0x68cb7f=_0x13d21e+_0x54bfe3,_0x5082ea=_0x1eec['\x49\x6d\x6c\x78\x69\x50'][_0x68cb7f];return!_0x5082ea?(_0x1eec['\x71\x57\x6f\x50\x76\x6d']===undefined&&(_0x1eec['\x71\x57\x6f\x50\x76\x6d']=!![]),_0x3e7fae=_0x1eec['\x44\x79\x6b\x67\x62\x76'](_0x3e7fae,_0x52b95f),_0x1eec['\x49\x6d\x6c\x78\x69\x50'][_0x68cb7f]=_0x3e7fae):_0x3e7fae=_0x5082ea,_0x3e7fae;}export*from'\x2e\x2f\x63\x75\x72\x72\x69\x63\x75\x6c\x75\x6d\x2e\x6a\x73';export*from'\x2e\x2f\x74\x61\x73\x6b\x44\x6f\x6d\x61\x69\x6e\x2e\x6a\x73';