@evomap/evolver-proxy 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.
- package/dist/lifecycle/claimNudge.js +1 -124
- package/dist/lifecycle/deployGuard.js +1 -53
- package/dist/lifecycle/legacyNodeId.js +1 -178
- package/dist/lifecycle/manager.js +1 -403
- package/dist/llm/bodyCapture.js +1 -293
- package/dist/llm/index.js +1 -3
- package/dist/llm/server.js +1 -379
- package/dist/llm/traceBackfill.js +1 -525
- package/dist/llm/traceConfig.js +1 -44
- package/dist/llm/traceControl.js +1 -85
- package/dist/llm/traceEnvelope.js +1 -286
- package/dist/llm/traceSink.js +1 -278
- package/dist/llm/traceUploadPayload.js +1 -27
- package/dist/llm/upstream.js +1 -514
- package/dist/router/cachePassthrough.js +1 -13
- package/dist/router/features.js +1 -52
- package/dist/router/index.js +1 -6
- package/dist/router/messagesRoute.js +1 -809
- package/dist/router/modelRouter.js +1 -66
- package/dist/router/providerRoutes.js +1 -1579
- package/dist/router/sseScan.js +1 -543
- package/dist/sync/engine.js +1 -696
- package/package.json +3 -3
|
@@ -1,809 +1 @@
|
|
|
1
|
-
// /v1/messages handler (ported from v1 proxy/router/messages_route.js). Wraps an injected upstream callable
|
|
2
|
-
// with three stages — extract features → pick tier → cache-preserving model rewrite — each with its own
|
|
3
|
-
// fallback so a single bad input never breaks passthrough: classifier throw → forward unmodified; rewriter
|
|
4
|
-
// throw → forward unmodified; upstream 5xx on a rewritten request → one retry with the client's original model.
|
|
5
|
-
// The actual network call is the `anthropicProxy` seam, so the whole handler is unit-testable with a fake.
|
|
6
|
-
import { randomUUID } from 'node:crypto';
|
|
7
|
-
import { pickForTurn } from './modelRouter.js';
|
|
8
|
-
import { rewriteModel } from './cachePassthrough.js';
|
|
9
|
-
import { extractFeatures } from './features.js';
|
|
10
|
-
import { SseUsageScanner, teeStreamForScan } from './sseScan.js';
|
|
11
|
-
import { captureBodiesEnabled, captureBody, REDACTION_VERSION, redactText, stableUserIdHash } from '../llm/bodyCapture.js';
|
|
12
|
-
export function captureTraceMetadata(value, env = process.env) {
|
|
13
|
-
const captured = captureBody(value, env);
|
|
14
|
-
if (!captured)
|
|
15
|
-
return undefined;
|
|
16
|
-
try {
|
|
17
|
-
return JSON.parse(captured.body);
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
return captured.body;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
// Tier → concrete model is OPERATOR CONFIG, never hardcoded — model IDs go stale fast (opus-4-7 → 4-8 → …),
|
|
24
|
-
// so a baked-in default would silently route to a dead/old model. Each tier is read from env; an unset tier
|
|
25
|
-
// has NO model, and the handler then leaves the client's model untouched (transparent passthrough). The
|
|
26
|
-
// operator opts a tier into routing by setting EVOMAP_MODEL_{CHEAP,MID,EXPENSIVE}.
|
|
27
|
-
export function resolveTierModels(env = process.env) {
|
|
28
|
-
const out = {};
|
|
29
|
-
if (env['EVOMAP_MODEL_CHEAP'])
|
|
30
|
-
out.cheap = env['EVOMAP_MODEL_CHEAP'];
|
|
31
|
-
if (env['EVOMAP_MODEL_MID'])
|
|
32
|
-
out.mid = env['EVOMAP_MODEL_MID'];
|
|
33
|
-
if (env['EVOMAP_MODEL_EXPENSIVE'])
|
|
34
|
-
out.expensive = env['EVOMAP_MODEL_EXPENSIVE'];
|
|
35
|
-
return out;
|
|
36
|
-
}
|
|
37
|
-
const TIER_ORDER = ['cheap', 'mid', 'expensive'];
|
|
38
|
-
export function detectTierModelConfigWarnings(models) {
|
|
39
|
-
const configuredTiers = TIER_ORDER.filter((tier) => {
|
|
40
|
-
const model = models[tier];
|
|
41
|
-
return typeof model === 'string' && model.length > 0;
|
|
42
|
-
});
|
|
43
|
-
if (configuredTiers.length === 0)
|
|
44
|
-
return [];
|
|
45
|
-
const warnings = [];
|
|
46
|
-
const missingTiers = TIER_ORDER.filter((tier) => !configuredTiers.includes(tier));
|
|
47
|
-
if (missingTiers.length > 0) {
|
|
48
|
-
warnings.push({
|
|
49
|
-
event: 'router_config_warning',
|
|
50
|
-
reason: 'missing_tier_models',
|
|
51
|
-
message: 'Router tier config is partial; unset tiers will pass the client model through.',
|
|
52
|
-
configured_tiers: configuredTiers,
|
|
53
|
-
missing_tiers: missingTiers,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
const byModel = new Map();
|
|
57
|
-
for (const tier of configuredTiers) {
|
|
58
|
-
const model = models[tier];
|
|
59
|
-
if (!model)
|
|
60
|
-
continue;
|
|
61
|
-
byModel.set(model, [...(byModel.get(model) ?? []), tier]);
|
|
62
|
-
}
|
|
63
|
-
const duplicateModels = Array.from(byModel.entries())
|
|
64
|
-
.filter(([, tiers]) => tiers.length > 1)
|
|
65
|
-
.map(([model, tiers]) => ({ model, tiers }));
|
|
66
|
-
const allSame = configuredTiers.length === TIER_ORDER.length
|
|
67
|
-
&& duplicateModels.length === 1
|
|
68
|
-
&& duplicateModels[0].tiers.length === TIER_ORDER.length;
|
|
69
|
-
if (allSame) {
|
|
70
|
-
warnings.push({
|
|
71
|
-
event: 'router_config_warning',
|
|
72
|
-
reason: 'all_tier_models_same',
|
|
73
|
-
message: 'All router tiers resolve to the same model; routing will still run but cannot change cost/latency tiers.',
|
|
74
|
-
configured_tiers: configuredTiers,
|
|
75
|
-
duplicate_models: duplicateModels,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
else if (duplicateModels.length > 0) {
|
|
79
|
-
warnings.push({
|
|
80
|
-
event: 'router_config_warning',
|
|
81
|
-
reason: 'duplicate_tier_models',
|
|
82
|
-
message: 'Multiple router tiers resolve to the same model; routing will still run but tier separation is degraded.',
|
|
83
|
-
configured_tiers: configuredTiers,
|
|
84
|
-
duplicate_models: duplicateModels,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
return warnings;
|
|
88
|
-
}
|
|
89
|
-
export function parseClaudeId(modelId) {
|
|
90
|
-
if (typeof modelId !== 'string')
|
|
91
|
-
return null;
|
|
92
|
-
const m = /claude-(opus|sonnet|haiku)-(\d+)-(\d+)/i.exec(modelId);
|
|
93
|
-
if (!m)
|
|
94
|
-
return null;
|
|
95
|
-
const major = Number(m[2]);
|
|
96
|
-
const minor = Number(m[3]);
|
|
97
|
-
if (!Number.isFinite(major) || !Number.isFinite(minor))
|
|
98
|
-
return null;
|
|
99
|
-
return { family: m[1].toLowerCase(), major, minor };
|
|
100
|
-
}
|
|
101
|
-
/** Block an intra-family generational DOWNGRADE (opus-4-7 → opus-4-1). Cross-family (opus→haiku) is allowed. */
|
|
102
|
-
export function isIntraFamilyDowngrade(chosen, original) {
|
|
103
|
-
const c = parseClaudeId(chosen);
|
|
104
|
-
const o = parseClaudeId(original);
|
|
105
|
-
if (!c || !o || c.family !== o.family)
|
|
106
|
-
return false;
|
|
107
|
-
if (c.major !== o.major)
|
|
108
|
-
return c.major < o.major;
|
|
109
|
-
return c.minor < o.minor;
|
|
110
|
-
}
|
|
111
|
-
// Bedrock InvokeModel rejects bare short IDs and needs ARN-shaped aliases. Keep the v1 known-safe defaults so
|
|
112
|
-
// existing clients that send short Claude IDs keep working in bedrock mode, while still letting operators override
|
|
113
|
-
// any stale target with EVOMAP_BEDROCK_ALIASES.
|
|
114
|
-
const DEFAULT_BEDROCK_ALIASES = Object.freeze({
|
|
115
|
-
'opus/4/7': 'global.anthropic.claude-opus-4-7',
|
|
116
|
-
'haiku/4/5': 'global.anthropic.claude-haiku-4-5-20251001-v1:0',
|
|
117
|
-
'sonnet/4/6': 'global.anthropic.claude-sonnet-4-6',
|
|
118
|
-
});
|
|
119
|
-
// EVOMAP_BEDROCK_ALIASES is a JSON object keyed by `family/major/minor`
|
|
120
|
-
// (e.g. {"haiku/4/5":"global.anthropic.claude-haiku-4-5-...-v1:0"}).
|
|
121
|
-
export function resolveBedrockAliases(env = process.env) {
|
|
122
|
-
const out = { ...DEFAULT_BEDROCK_ALIASES };
|
|
123
|
-
const raw = env['EVOMAP_BEDROCK_ALIASES'];
|
|
124
|
-
if (!raw)
|
|
125
|
-
return out;
|
|
126
|
-
try {
|
|
127
|
-
const o = JSON.parse(raw);
|
|
128
|
-
if (o && typeof o === 'object' && !Array.isArray(o)) {
|
|
129
|
-
for (const [k, v] of Object.entries(o))
|
|
130
|
-
if (typeof v === 'string')
|
|
131
|
-
out[k] = v;
|
|
132
|
-
return out;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
catch { /* malformed → defaults only */ }
|
|
136
|
-
return out;
|
|
137
|
-
}
|
|
138
|
-
/** Canonicalize a short Claude ID to its operator-configured Bedrock alias. Unmapped/unknown → unchanged. */
|
|
139
|
-
export function canonicalizeForBedrock(modelId, aliases) {
|
|
140
|
-
const parsed = parseClaudeId(modelId);
|
|
141
|
-
if (!parsed)
|
|
142
|
-
return modelId;
|
|
143
|
-
return aliases[`${parsed.family}/${parsed.major}/${parsed.minor}`] ?? modelId;
|
|
144
|
-
}
|
|
145
|
-
export function supportsAdaptiveThinking(modelId) {
|
|
146
|
-
const parsed = parseClaudeId(modelId);
|
|
147
|
-
if (!parsed)
|
|
148
|
-
return false;
|
|
149
|
-
if (parsed.major > 4)
|
|
150
|
-
return true;
|
|
151
|
-
return parsed.major === 4 && parsed.minor >= 7;
|
|
152
|
-
}
|
|
153
|
-
const j = (o) => JSON.stringify(o);
|
|
154
|
-
async function drain(text, log, ctx) {
|
|
155
|
-
if (!text)
|
|
156
|
-
return '';
|
|
157
|
-
let timer;
|
|
158
|
-
try {
|
|
159
|
-
return await Promise.race([
|
|
160
|
-
Promise.resolve(text()),
|
|
161
|
-
new Promise((_, reject) => { timer = setTimeout(() => reject(new Error('response drain timeout')), 10_000); }),
|
|
162
|
-
]);
|
|
163
|
-
}
|
|
164
|
-
catch (e) {
|
|
165
|
-
if (e instanceof Error && e.message.includes('timeout'))
|
|
166
|
-
log.warn?.(j({ event: 'router_fallback', reason: 'upstream_5xx_drain_timeout', ...ctx }));
|
|
167
|
-
return '';
|
|
168
|
-
}
|
|
169
|
-
finally {
|
|
170
|
-
if (timer)
|
|
171
|
-
clearTimeout(timer);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
function getHeader(headers, name) {
|
|
175
|
-
const want = name.toLowerCase();
|
|
176
|
-
for (const [key, value] of Object.entries(headers)) {
|
|
177
|
-
if (key.toLowerCase() === want && value)
|
|
178
|
-
return value;
|
|
179
|
-
}
|
|
180
|
-
return '';
|
|
181
|
-
}
|
|
182
|
-
function clip(value, max = 128) {
|
|
183
|
-
return value.length <= max ? value : value.slice(0, max);
|
|
184
|
-
}
|
|
185
|
-
function safeTraceError(value, max = 256) {
|
|
186
|
-
return clip(redactText(value).replace(/\s+/g, ' ').trim(), max);
|
|
187
|
-
}
|
|
188
|
-
function safePlainSessionId(value) {
|
|
189
|
-
const s = value.trim();
|
|
190
|
-
if (s !== value)
|
|
191
|
-
return '';
|
|
192
|
-
if (s.length < 4 || s.length > 128)
|
|
193
|
-
return '';
|
|
194
|
-
if (s.includes('@') || /\s/.test(s))
|
|
195
|
-
return '';
|
|
196
|
-
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*[A-Za-z0-9]$/.test(s))
|
|
197
|
-
return '';
|
|
198
|
-
if (/^(?:bearer|basic|sk-|ghp_|github_pat_|gho_|ghu_|ghs_|glpat-|xox[baprs]-)/i.test(s))
|
|
199
|
-
return '';
|
|
200
|
-
if (/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(s))
|
|
201
|
-
return '';
|
|
202
|
-
if (/(?:^|[-_.])(?:token|secret|apikey|api[_-]?key|password|passwd|credential|auth)(?:$|[-_.])/i.test(s))
|
|
203
|
-
return '';
|
|
204
|
-
if (/^[a-f0-9]{32,}$/i.test(s))
|
|
205
|
-
return '';
|
|
206
|
-
if (/^[A-Za-z0-9_-]{40,}$/.test(s) && !/[-_.]/.test(s))
|
|
207
|
-
return '';
|
|
208
|
-
if (/(?:session|sess)/i.test(s))
|
|
209
|
-
return s;
|
|
210
|
-
return /[-_.]/.test(s) ? s : '';
|
|
211
|
-
}
|
|
212
|
-
function sessionIdFromPlainField(value) {
|
|
213
|
-
return typeof value === 'string' ? safePlainSessionId(value) : '';
|
|
214
|
-
}
|
|
215
|
-
function sessionIdFromClaudeUserId(value) {
|
|
216
|
-
const marker = '__session_';
|
|
217
|
-
const index = value.indexOf(marker);
|
|
218
|
-
if (index < 0)
|
|
219
|
-
return '';
|
|
220
|
-
return safePlainSessionId(value.slice(index + marker.length));
|
|
221
|
-
}
|
|
222
|
-
function sessionIdFromUserField(value) {
|
|
223
|
-
if (!value)
|
|
224
|
-
return '';
|
|
225
|
-
let parsed = value;
|
|
226
|
-
if (typeof value === 'string') {
|
|
227
|
-
const s = value.trim();
|
|
228
|
-
if (!s.startsWith('{'))
|
|
229
|
-
return sessionIdFromClaudeUserId(s) || safePlainSessionId(s);
|
|
230
|
-
try {
|
|
231
|
-
parsed = JSON.parse(s);
|
|
232
|
-
}
|
|
233
|
-
catch {
|
|
234
|
-
return '';
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
if (parsed && typeof parsed === 'object') {
|
|
238
|
-
const sid = parsed['session_id'];
|
|
239
|
-
if (typeof sid === 'string' && sid.length > 0)
|
|
240
|
-
return safePlainSessionId(sid);
|
|
241
|
-
}
|
|
242
|
-
return '';
|
|
243
|
-
}
|
|
244
|
-
function extractSessionId(headers, body) {
|
|
245
|
-
for (const name of ['x-session-id', 'x-cursor-session-id', 'x-conversation-id']) {
|
|
246
|
-
const value = getHeader(headers, name).trim();
|
|
247
|
-
const sid = sessionIdFromPlainField(value);
|
|
248
|
-
if (sid)
|
|
249
|
-
return clip(sid);
|
|
250
|
-
}
|
|
251
|
-
const metadata = body['metadata'];
|
|
252
|
-
if (metadata && typeof metadata === 'object') {
|
|
253
|
-
const m = metadata;
|
|
254
|
-
const sid = sessionIdFromUserField(m['user_id']) || sessionIdFromPlainField(m['session_id']);
|
|
255
|
-
if (sid)
|
|
256
|
-
return clip(sid);
|
|
257
|
-
}
|
|
258
|
-
const sid = sessionIdFromUserField(body['user']);
|
|
259
|
-
if (sid)
|
|
260
|
-
return clip(sid);
|
|
261
|
-
return null;
|
|
262
|
-
}
|
|
263
|
-
function extractTopLevelUserIdHash(body) {
|
|
264
|
-
const metadata = body['metadata'];
|
|
265
|
-
if (metadata && typeof metadata === 'object' && !Array.isArray(metadata)) {
|
|
266
|
-
const userId = metadata['user_id'];
|
|
267
|
-
if (typeof userId === 'string' || typeof userId === 'number')
|
|
268
|
-
return stableUserIdHash(userId);
|
|
269
|
-
}
|
|
270
|
-
const user = body['user'];
|
|
271
|
-
if (typeof user === 'string' || typeof user === 'number')
|
|
272
|
-
return stableUserIdHash(user);
|
|
273
|
-
return undefined;
|
|
274
|
-
}
|
|
275
|
-
function isThinkingEffortRecord(value) {
|
|
276
|
-
return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
|
|
277
|
-
}
|
|
278
|
-
// FIX-9: normalize "how hard should the model think" across provider request shapes into one top-level field.
|
|
279
|
-
// Anthropic: body.thinking = { type:'enabled', budget_tokens:N }
|
|
280
|
-
// OpenAI: body.reasoning = { effort:'low'|'medium'|'high'|'minimal' }
|
|
281
|
-
// OpenAI alt: body.output_config = { effort:'...' } / body.reasoning_effort = '...'
|
|
282
|
-
// Fallback: body.metadata.{thinking_effort|reasoning_effort|effort}
|
|
283
|
-
// Returns undefined when no effort signal is present.
|
|
284
|
-
export function extractThinkingEffort(body) {
|
|
285
|
-
if (!isThinkingEffortRecord(body))
|
|
286
|
-
return undefined;
|
|
287
|
-
const out = {};
|
|
288
|
-
const thinking = body['thinking'];
|
|
289
|
-
if (isThinkingEffortRecord(thinking)) {
|
|
290
|
-
if (typeof thinking['type'] === 'string')
|
|
291
|
-
out.type = thinking['type'];
|
|
292
|
-
if (typeof thinking['budget_tokens'] === 'number' && Number.isFinite(thinking['budget_tokens']))
|
|
293
|
-
out.budget_tokens = thinking['budget_tokens'];
|
|
294
|
-
if (typeof thinking['effort'] === 'string')
|
|
295
|
-
out.effort = thinking['effort'];
|
|
296
|
-
}
|
|
297
|
-
const reasoning = body['reasoning'];
|
|
298
|
-
if (out.effort === undefined && isThinkingEffortRecord(reasoning) && typeof reasoning['effort'] === 'string') {
|
|
299
|
-
out.effort = reasoning['effort'];
|
|
300
|
-
}
|
|
301
|
-
const outputConfig = body['output_config'];
|
|
302
|
-
if (out.effort === undefined && isThinkingEffortRecord(outputConfig) && typeof outputConfig['effort'] === 'string') {
|
|
303
|
-
out.effort = outputConfig['effort'];
|
|
304
|
-
}
|
|
305
|
-
if (out.effort === undefined && typeof body['reasoning_effort'] === 'string')
|
|
306
|
-
out.effort = body['reasoning_effort'];
|
|
307
|
-
const metadata = body['metadata'];
|
|
308
|
-
if (out.effort === undefined && isThinkingEffortRecord(metadata)) {
|
|
309
|
-
for (const key of ['thinking_effort', 'reasoning_effort', 'effort']) {
|
|
310
|
-
if (typeof metadata[key] === 'string') {
|
|
311
|
-
out.effort = metadata[key];
|
|
312
|
-
break;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
return out.effort !== undefined || out.budget_tokens !== undefined || out.type !== undefined ? out : undefined;
|
|
317
|
-
}
|
|
318
|
-
function detectClient(headers) {
|
|
319
|
-
const text = [
|
|
320
|
-
getHeader(headers, 'user-agent'),
|
|
321
|
-
getHeader(headers, 'x-client-name'),
|
|
322
|
-
getHeader(headers, 'x-stainless-package-version'),
|
|
323
|
-
getHeader(headers, 'x-app'),
|
|
324
|
-
].filter(Boolean).join(' ').toLowerCase();
|
|
325
|
-
if (text.includes('cursor'))
|
|
326
|
-
return 'cursor';
|
|
327
|
-
if (text.includes('codex'))
|
|
328
|
-
return 'codex';
|
|
329
|
-
if (text.includes('claude'))
|
|
330
|
-
return 'claude-code';
|
|
331
|
-
return 'unknown';
|
|
332
|
-
}
|
|
333
|
-
function wireApiForRoute(route) {
|
|
334
|
-
if (route === '/v1/responses')
|
|
335
|
-
return 'openai_responses';
|
|
336
|
-
if (route === '/v1/chat/completions')
|
|
337
|
-
return 'openai_chat_completions';
|
|
338
|
-
return 'anthropic_messages';
|
|
339
|
-
}
|
|
340
|
-
function defaultUpstreamMode(route) {
|
|
341
|
-
return route === '/v1/messages' ? 'anthropic' : 'openai';
|
|
342
|
-
}
|
|
343
|
-
function resolveUpstreamMode(route, env) {
|
|
344
|
-
const routeSpecific = route === '/v1/messages' ? env['EVOMAP_UPSTREAM'] : undefined;
|
|
345
|
-
return (routeSpecific || defaultUpstreamMode(route)).toLowerCase();
|
|
346
|
-
}
|
|
347
|
-
function providerForTrace(route, upstreamMode, env) {
|
|
348
|
-
if (upstreamMode === 'bedrock')
|
|
349
|
-
return 'aws-bedrock';
|
|
350
|
-
if (route === '/v1/responses' || route === '/v1/chat/completions') {
|
|
351
|
-
return (env['EVOLVER_LLM_OPENAI_UPSTREAM'] || env['EVOMAP_OPENAI_UPSTREAM'] || 'openai').toLowerCase();
|
|
352
|
-
}
|
|
353
|
-
return upstreamMode;
|
|
354
|
-
}
|
|
355
|
-
function streamResponse(up) {
|
|
356
|
-
const headers = {};
|
|
357
|
-
const ct = up.headers?.['content-type'];
|
|
358
|
-
if (ct)
|
|
359
|
-
headers['Content-Type'] = ct;
|
|
360
|
-
return { status: up.status, stream: up.stream, headers };
|
|
361
|
-
}
|
|
362
|
-
/** Pull usage/stop_reason out of a parsed non-stream response body. Tolerant: anything malformed → {}. */
|
|
363
|
-
function extractResponseMeta(respBody) {
|
|
364
|
-
if (!respBody || typeof respBody !== 'object')
|
|
365
|
-
return {};
|
|
366
|
-
const o = respBody;
|
|
367
|
-
const out = {};
|
|
368
|
-
const usageSource = o['usage']
|
|
369
|
-
?? (o['response'] && typeof o['response'] === 'object' ? o['response']['usage'] : undefined);
|
|
370
|
-
if (usageSource && typeof usageSource === 'object') {
|
|
371
|
-
const u = usageSource;
|
|
372
|
-
const usage = {};
|
|
373
|
-
for (const k of ['input_tokens', 'output_tokens', 'cache_creation_input_tokens', 'cache_read_input_tokens']) {
|
|
374
|
-
if (typeof u[k] === 'number')
|
|
375
|
-
usage[k] = u[k];
|
|
376
|
-
}
|
|
377
|
-
if (typeof u['prompt_tokens'] === 'number')
|
|
378
|
-
usage.input_tokens = u['prompt_tokens'];
|
|
379
|
-
if (typeof u['completion_tokens'] === 'number')
|
|
380
|
-
usage.output_tokens = u['completion_tokens'];
|
|
381
|
-
const tokenDetails = u['input_tokens_details'] ?? u['prompt_tokens_details'];
|
|
382
|
-
if (tokenDetails && typeof tokenDetails === 'object') {
|
|
383
|
-
const cached = tokenDetails['cached_tokens'];
|
|
384
|
-
if (typeof cached === 'number')
|
|
385
|
-
usage.cache_read_input_tokens = cached;
|
|
386
|
-
}
|
|
387
|
-
if (Object.keys(usage).length > 0)
|
|
388
|
-
out.usage = usage;
|
|
389
|
-
}
|
|
390
|
-
let choiceFinish;
|
|
391
|
-
if (Array.isArray(o['choices']) && o['choices'][0] && typeof o['choices'][0] === 'object') {
|
|
392
|
-
const finish = o['choices'][0]['finish_reason'];
|
|
393
|
-
if (typeof finish === 'string' || finish === null)
|
|
394
|
-
choiceFinish = finish;
|
|
395
|
-
}
|
|
396
|
-
let incompleteReason;
|
|
397
|
-
if (o['incomplete_details'] && typeof o['incomplete_details'] === 'object') {
|
|
398
|
-
const reason = o['incomplete_details']['reason'];
|
|
399
|
-
if (typeof reason === 'string')
|
|
400
|
-
incompleteReason = reason;
|
|
401
|
-
}
|
|
402
|
-
if (typeof o['stop_reason'] === 'string' || o['stop_reason'] === null)
|
|
403
|
-
out.stop_reason = o['stop_reason'];
|
|
404
|
-
else if (typeof o['finish_reason'] === 'string' || o['finish_reason'] === null)
|
|
405
|
-
out.stop_reason = o['finish_reason'];
|
|
406
|
-
else if (choiceFinish !== undefined)
|
|
407
|
-
out.stop_reason = choiceFinish;
|
|
408
|
-
else if (incompleteReason)
|
|
409
|
-
out.stop_reason = incompleteReason;
|
|
410
|
-
else if (typeof o['status'] === 'string')
|
|
411
|
-
out.stop_reason = o['status'];
|
|
412
|
-
const response = o['response'];
|
|
413
|
-
const rid = typeof o['id'] === 'string'
|
|
414
|
-
? o['id']
|
|
415
|
-
: response && typeof response === 'object' && typeof response['id'] === 'string'
|
|
416
|
-
? String(response['id'])
|
|
417
|
-
: '';
|
|
418
|
-
if (rid)
|
|
419
|
-
out.response_id = rid;
|
|
420
|
-
return out;
|
|
421
|
-
}
|
|
422
|
-
function hasAnthropicProxyCredentials(env) {
|
|
423
|
-
return !!(env['EVOMAP_ANTHROPIC_API_KEY']
|
|
424
|
-
|| env['ANTHROPIC_API_KEY']
|
|
425
|
-
|| env['EVOMAP_ANTHROPIC_AUTH_TOKEN']
|
|
426
|
-
|| (env['EVOMAP_PROXY_AUTO_INJECTED'] === '1' ? '' : env['ANTHROPIC_AUTH_TOKEN']));
|
|
427
|
-
}
|
|
428
|
-
function hasOpenAIProxyCredentials(env) {
|
|
429
|
-
return !!(env['EVOLVER_LLM_OPENAI_API_KEY'] || env['EVOMAP_OPENAI_API_KEY'] || env['OPENAI_API_KEY']);
|
|
430
|
-
}
|
|
431
|
-
/**
|
|
432
|
-
* Build the /v1/messages handler. `enabled` (env EVOMAP_ROUTER_ENABLED, or the explicit override) gates the
|
|
433
|
-
* whole router — when off, the body forwards unmodified (a pure passthrough). Returns {status, body|stream}.
|
|
434
|
-
*/
|
|
435
|
-
export function buildMessagesHandler(opts) {
|
|
436
|
-
if (typeof opts.anthropicProxy !== 'function')
|
|
437
|
-
throw new Error('buildMessagesHandler requires anthropicProxy(path, body, opts)');
|
|
438
|
-
const log = opts.logger ?? console;
|
|
439
|
-
const env = opts.env ?? process.env;
|
|
440
|
-
const enabled = typeof opts.routerEnabled === 'boolean' ? opts.routerEnabled : env['EVOMAP_ROUTER_ENABLED'] === '1';
|
|
441
|
-
if (enabled) {
|
|
442
|
-
for (const warning of detectTierModelConfigWarnings(resolveTierModels(env)))
|
|
443
|
-
log.warn?.(j(warning));
|
|
444
|
-
}
|
|
445
|
-
// Native body capture defaults to v1-compatible full trace mode. Operators that need metadata-only rows must
|
|
446
|
-
// explicitly disable it (a compliance decision; see bodyCapture.ts and docs/trace-body-capture.md).
|
|
447
|
-
const captureBodies = captureBodiesEnabled(env);
|
|
448
|
-
return async (req) => {
|
|
449
|
-
const clock = opts.clock ?? (() => Date.now());
|
|
450
|
-
const t0 = clock();
|
|
451
|
-
const inboundHeaders = req.headers ?? {};
|
|
452
|
-
const route = req.route ?? '/v1/messages';
|
|
453
|
-
const body = req.body;
|
|
454
|
-
const upstreamMode = resolveUpstreamMode(route, env);
|
|
455
|
-
const sessionId = extractSessionId(inboundHeaders, body);
|
|
456
|
-
const previousResponseId = typeof body['previous_response_id'] === 'string' && body['previous_response_id'].length > 0
|
|
457
|
-
? clip(body['previous_response_id'])
|
|
458
|
-
: null;
|
|
459
|
-
const routeAllowsRouting = route === '/v1/messages';
|
|
460
|
-
// Model/decision fields live above the credential gate (all pure computation) so the trace closure can
|
|
461
|
-
// read them on every exit path, including the 401 throw.
|
|
462
|
-
const rawInboundModel = typeof body?.model === 'string' ? body.model : null;
|
|
463
|
-
const originalModel = upstreamMode === 'bedrock' ? canonicalizeForBedrock(rawInboundModel, resolveBedrockAliases(env)) : rawInboundModel;
|
|
464
|
-
let chosenModel = originalModel;
|
|
465
|
-
let decisionTier = null;
|
|
466
|
-
let decisionReason = null;
|
|
467
|
-
let fallback = null;
|
|
468
|
-
let ttfb = null;
|
|
469
|
-
let traced = false;
|
|
470
|
-
let traceRequestBody = body;
|
|
471
|
-
let bodyCaptureAllowed = false;
|
|
472
|
-
const attempts = [];
|
|
473
|
-
const parseUpstreamBody = (raw, status) => {
|
|
474
|
-
if (raw.length === 0)
|
|
475
|
-
return {};
|
|
476
|
-
try {
|
|
477
|
-
return JSON.parse(raw);
|
|
478
|
-
}
|
|
479
|
-
catch {
|
|
480
|
-
log.warn?.(j({
|
|
481
|
-
event: 'router_fallback',
|
|
482
|
-
reason: 'upstream_non_json',
|
|
483
|
-
upstream_status: status,
|
|
484
|
-
preview: redactText(raw).slice(0, 200),
|
|
485
|
-
}));
|
|
486
|
-
return { error: raw };
|
|
487
|
-
}
|
|
488
|
-
};
|
|
489
|
-
const responseBodyIndicatesTruncation = (responseBody) => {
|
|
490
|
-
const responseObject = responseBody && typeof responseBody === 'object'
|
|
491
|
-
? responseBody
|
|
492
|
-
: undefined;
|
|
493
|
-
return responseObject?.content_truncated === true
|
|
494
|
-
|| responseObject?.raw_stream_truncated === true
|
|
495
|
-
|| typeof responseObject?.dropped_event_count === 'number';
|
|
496
|
-
};
|
|
497
|
-
const captureAttemptBodies = () => {
|
|
498
|
-
return attempts.map((attempt) => {
|
|
499
|
-
const record = {
|
|
500
|
-
attempt_index: attempt.attempt_index,
|
|
501
|
-
model: attempt.model,
|
|
502
|
-
provider: attempt.provider,
|
|
503
|
-
upstream_mode: attempt.upstream_mode,
|
|
504
|
-
status: attempt.status,
|
|
505
|
-
...(attempt.error !== undefined ? { error: attempt.error } : {}),
|
|
506
|
-
...(attempt.body_truncated === true ? { body_truncated: true } : {}),
|
|
507
|
-
};
|
|
508
|
-
const reqCap = captureBodies ? captureBody(attempt.requestBody, env) : undefined;
|
|
509
|
-
const respCap = captureBodies && attempt.responseBody !== undefined ? captureBody(attempt.responseBody, env) : undefined;
|
|
510
|
-
if (reqCap)
|
|
511
|
-
record.requestBody = reqCap.body;
|
|
512
|
-
if (respCap)
|
|
513
|
-
record.responseBody = respCap.body;
|
|
514
|
-
if (reqCap?.truncated
|
|
515
|
-
|| respCap?.truncated
|
|
516
|
-
|| attempt.body_truncated === true
|
|
517
|
-
|| responseBodyIndicatesTruncation(attempt.responseBody))
|
|
518
|
-
record.body_truncated = true;
|
|
519
|
-
return record;
|
|
520
|
-
});
|
|
521
|
-
};
|
|
522
|
-
const capturedStreamResponseBody = (scanner) => {
|
|
523
|
-
return captureBodies && (scanner.result.content_events !== undefined
|
|
524
|
-
|| scanner.result.semantic_tail_events !== undefined
|
|
525
|
-
|| scanner.result.raw_stream_body !== undefined
|
|
526
|
-
|| scanner.result.content_text !== undefined
|
|
527
|
-
|| scanner.result.content_truncated === true
|
|
528
|
-
|| scanner.result.raw_stream_truncated === true
|
|
529
|
-
|| scanner.result.dropped_event_count !== undefined)
|
|
530
|
-
? {
|
|
531
|
-
reconstructed: true,
|
|
532
|
-
...(scanner.result.content_events !== undefined ? { events: scanner.result.content_events } : {}),
|
|
533
|
-
...(scanner.result.semantic_tail_events !== undefined ? { semantic_tail_events: scanner.result.semantic_tail_events } : {}),
|
|
534
|
-
...(scanner.result.raw_stream_body !== undefined ? { raw_stream_body: scanner.result.raw_stream_body } : {}),
|
|
535
|
-
...(scanner.result.content_text !== undefined ? { content_text: scanner.result.content_text } : {}),
|
|
536
|
-
...(scanner.result.content_truncated ? { content_truncated: true } : {}),
|
|
537
|
-
...(scanner.result.raw_stream_truncated ? { raw_stream_truncated: true } : {}),
|
|
538
|
-
...(scanner.result.dropped_event_count ? { dropped_event_count: scanner.result.dropped_event_count } : {}),
|
|
539
|
-
}
|
|
540
|
-
: undefined;
|
|
541
|
-
};
|
|
542
|
-
const trace = (last) => {
|
|
543
|
-
if (!opts.onTrace || traced)
|
|
544
|
-
return;
|
|
545
|
-
traced = true;
|
|
546
|
-
let features;
|
|
547
|
-
try {
|
|
548
|
-
if (routeAllowsRouting)
|
|
549
|
-
features = extractFeatures(body);
|
|
550
|
-
}
|
|
551
|
-
catch { /* a malformed body must not break trace emission */ }
|
|
552
|
-
const record = {
|
|
553
|
-
ts: new Date(t0).toISOString(),
|
|
554
|
-
event: 'llm_turn',
|
|
555
|
-
id: `llm_${randomUUID()}`,
|
|
556
|
-
request_id: getHeader(inboundHeaders, 'x-request-id') ? clip(getHeader(inboundHeaders, 'x-request-id')) : null,
|
|
557
|
-
route,
|
|
558
|
-
provider: providerForTrace(route, upstreamMode, env),
|
|
559
|
-
wire_api: wireApiForRoute(route),
|
|
560
|
-
client: detectClient(inboundHeaders),
|
|
561
|
-
...(getHeader(inboundHeaders, 'user-agent') ? { user_agent: clip(getHeader(inboundHeaders, 'user-agent')) } : {}),
|
|
562
|
-
...(() => {
|
|
563
|
-
try {
|
|
564
|
-
const hash = extractTopLevelUserIdHash(body);
|
|
565
|
-
return hash ? { user_id_hash: hash } : {};
|
|
566
|
-
}
|
|
567
|
-
catch {
|
|
568
|
-
return {};
|
|
569
|
-
}
|
|
570
|
-
})(),
|
|
571
|
-
...(() => {
|
|
572
|
-
try {
|
|
573
|
-
const effort = extractThinkingEffort(body);
|
|
574
|
-
return effort ? { thinking_effort: effort } : {};
|
|
575
|
-
}
|
|
576
|
-
catch {
|
|
577
|
-
return {};
|
|
578
|
-
}
|
|
579
|
-
})(),
|
|
580
|
-
session_id: sessionId,
|
|
581
|
-
original_model: typeof originalModel === 'string' ? originalModel : null,
|
|
582
|
-
chosen_model: typeof chosenModel === 'string' ? chosenModel : null,
|
|
583
|
-
tier: decisionTier,
|
|
584
|
-
reason: decisionReason,
|
|
585
|
-
fallback,
|
|
586
|
-
router_enabled: enabled && routeAllowsRouting,
|
|
587
|
-
upstream_mode: upstreamMode,
|
|
588
|
-
status: last.status,
|
|
589
|
-
stream: last.stream,
|
|
590
|
-
ttfb_ms: ttfb,
|
|
591
|
-
latency_ms: clock() - t0,
|
|
592
|
-
...(features ? { features } : {}),
|
|
593
|
-
...(last.usage ? { usage: last.usage } : {}),
|
|
594
|
-
...(last.stop_reason !== undefined ? { stop_reason: last.stop_reason } : {}),
|
|
595
|
-
...(last.response_id ? { response_id: last.response_id } : {}),
|
|
596
|
-
...(previousResponseId ? { previous_response_id: previousResponseId } : {}),
|
|
597
|
-
// clip(): the trace is shipped as evolution material on the documented promise that NO prompt/completion
|
|
598
|
-
// content enters it (see traceSink.ts). A raw upstream/exception error can echo request fragments and is
|
|
599
|
-
// unbounded, so bound+truncate it here — the single choke point every error path flows through.
|
|
600
|
-
...(last.error !== undefined ? { error: safeTraceError(last.error) } : {}),
|
|
601
|
-
...(captureBodies && bodyCaptureAllowed ? { request_headers: captureTraceMetadata(inboundHeaders, env) } : {}),
|
|
602
|
-
...(captureBodies && bodyCaptureAllowed && last.responseHeaders ? { response_headers: captureTraceMetadata(last.responseHeaders, env) } : {}),
|
|
603
|
-
...(captureBodies && bodyCaptureAllowed && last.transportMetadata !== undefined ? { transport_metadata: captureTraceMetadata(last.transportMetadata, env) } : {}),
|
|
604
|
-
};
|
|
605
|
-
if (attempts.length > 0) {
|
|
606
|
-
try {
|
|
607
|
-
record.attempts = captureAttemptBodies();
|
|
608
|
-
}
|
|
609
|
-
catch { /* attempt capture must never break trace emission */ }
|
|
610
|
-
}
|
|
611
|
-
// OPT-IN body capture: only when explicitly enabled. Redacted + size-capped. This is the ONLY place
|
|
612
|
-
// prompt/completion content can enter a record, and only behind the flag — capture must never throw.
|
|
613
|
-
if (captureBodies && bodyCaptureAllowed) {
|
|
614
|
-
try {
|
|
615
|
-
const reqCap = captureBody(traceRequestBody, env);
|
|
616
|
-
const respCap = last.responseBody !== undefined ? captureBody(last.responseBody, env) : undefined;
|
|
617
|
-
if (reqCap)
|
|
618
|
-
record.requestBody = reqCap.body;
|
|
619
|
-
if (respCap)
|
|
620
|
-
record.responseBody = respCap.body;
|
|
621
|
-
record.redaction = REDACTION_VERSION;
|
|
622
|
-
if (reqCap?.truncated
|
|
623
|
-
|| respCap?.truncated
|
|
624
|
-
|| responseBodyIndicatesTruncation(last.responseBody)
|
|
625
|
-
|| record.attempts?.some((attempt) => attempt.body_truncated === true))
|
|
626
|
-
record.body_truncated = true;
|
|
627
|
-
}
|
|
628
|
-
catch { /* capture must never break trace emission */ }
|
|
629
|
-
}
|
|
630
|
-
else if (record.attempts?.some((attempt) => attempt.body_truncated === true)) {
|
|
631
|
-
record.body_truncated = true;
|
|
632
|
-
}
|
|
633
|
-
try {
|
|
634
|
-
opts.onTrace(record);
|
|
635
|
-
}
|
|
636
|
-
catch { /* sink errors never break serving */ }
|
|
637
|
-
};
|
|
638
|
-
// Relay a streaming upstream; with a trace sink attached, tee the bytes through a passive SSE scanner and
|
|
639
|
-
// emit the turn record when the stream finishes (or the client cancels).
|
|
640
|
-
const relayStream = (up) => {
|
|
641
|
-
if (opts.onTrace) {
|
|
642
|
-
const scanner = new SseUsageScanner({ captureContent: captureBodies, env });
|
|
643
|
-
const teed = teeStreamForScan(up.stream, (c) => scanner.push(c), (info) => {
|
|
644
|
-
scanner.finish();
|
|
645
|
-
const streamError = scanner.result.error ?? info?.error ?? (info?.cancelled ? 'stream cancelled' : undefined);
|
|
646
|
-
const responseBody = capturedStreamResponseBody(scanner);
|
|
647
|
-
const finalAttempt = attempts.find((attempt) => attempt.attempt_index === 1 && attempt.responseBody === undefined);
|
|
648
|
-
if (finalAttempt && responseBody !== undefined) {
|
|
649
|
-
finalAttempt.responseBody = responseBody;
|
|
650
|
-
finalAttempt.body_truncated = responseBodyIndicatesTruncation(responseBody);
|
|
651
|
-
}
|
|
652
|
-
trace({
|
|
653
|
-
status: up.status,
|
|
654
|
-
stream: true,
|
|
655
|
-
...(scanner.result.usage ? { usage: scanner.result.usage } : {}),
|
|
656
|
-
...(scanner.result.stop_reason !== undefined ? { stop_reason: scanner.result.stop_reason } : {}),
|
|
657
|
-
...(scanner.result.response_id ? { response_id: scanner.result.response_id } : {}),
|
|
658
|
-
...(streamError ? { error: streamError } : {}),
|
|
659
|
-
// Streamed completion is reconstructed from parsed SSE events only when body capture is on.
|
|
660
|
-
...(responseBody !== undefined ? { responseBody } : {}),
|
|
661
|
-
...(up.headers ? { responseHeaders: up.headers } : {}),
|
|
662
|
-
...(up.transportMetadata !== undefined ? { transportMetadata: up.transportMetadata } : {}),
|
|
663
|
-
});
|
|
664
|
-
});
|
|
665
|
-
return streamResponse({ ...up, stream: teed });
|
|
666
|
-
}
|
|
667
|
-
return streamResponse(up);
|
|
668
|
-
};
|
|
669
|
-
try {
|
|
670
|
-
if (route === '/v1/messages' && upstreamMode !== 'bedrock') {
|
|
671
|
-
const hasInboundKey = !!inboundHeaders['x-api-key'];
|
|
672
|
-
const hasProxyEnvCreds = hasAnthropicProxyCredentials(env);
|
|
673
|
-
if (!hasInboundKey && !hasProxyEnvCreds)
|
|
674
|
-
throw Object.assign(new Error('x-api-key required'), { statusCode: 401 });
|
|
675
|
-
}
|
|
676
|
-
else if (route !== '/v1/messages') {
|
|
677
|
-
const hasOpenAiCreds = hasOpenAIProxyCredentials(env);
|
|
678
|
-
if (!hasOpenAiCreds)
|
|
679
|
-
throw Object.assign(new Error('OpenAI upstream API key required'), { statusCode: 401 });
|
|
680
|
-
}
|
|
681
|
-
if (enabled && routeAllowsRouting) {
|
|
682
|
-
try {
|
|
683
|
-
const decision = pickForTurn({
|
|
684
|
-
features: extractFeatures(body),
|
|
685
|
-
router_state: { history: [], pinned: null },
|
|
686
|
-
config: { default_tier: 'mid', disable: false, hard_pin_after_plan: false },
|
|
687
|
-
});
|
|
688
|
-
decisionTier = decision.tier;
|
|
689
|
-
decisionReason = decision.reason;
|
|
690
|
-
const tierModel = resolveTierModels(env)[decision.tier];
|
|
691
|
-
if (tierModel) {
|
|
692
|
-
if (isIntraFamilyDowngrade(tierModel, originalModel)) {
|
|
693
|
-
fallback = 'downgrade_blocked';
|
|
694
|
-
log.warn?.(j({ event: 'router_fallback', reason: 'downgrade_blocked', original_model: originalModel, would_have_been: tierModel }));
|
|
695
|
-
}
|
|
696
|
-
else {
|
|
697
|
-
chosenModel = tierModel;
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
}
|
|
701
|
-
catch (err) {
|
|
702
|
-
fallback = 'classifier_error';
|
|
703
|
-
log.warn?.(j({ event: 'router_fallback', reason: 'classifier_error', original_model: originalModel, error: err instanceof Error ? err.message : String(err) }));
|
|
704
|
-
}
|
|
705
|
-
}
|
|
706
|
-
let outboundBody = body;
|
|
707
|
-
// Rewrite when chosenModel differs from what the CLIENT sent (rawInboundModel), so a bedrock short-ID
|
|
708
|
-
// inbound that didn't change tier still gets canonicalized rather than leaking the short ID upstream.
|
|
709
|
-
if (enabled && routeAllowsRouting && typeof chosenModel === 'string' && chosenModel !== rawInboundModel) {
|
|
710
|
-
try {
|
|
711
|
-
outboundBody = rewriteModel(body, chosenModel);
|
|
712
|
-
}
|
|
713
|
-
catch (err) {
|
|
714
|
-
fallback = fallback ?? 'rewrite_error';
|
|
715
|
-
log.warn?.(j({ event: 'router_fallback', reason: 'rewrite_error', original_model: originalModel, would_have_been: chosenModel, error: err instanceof Error ? err.message : String(err) }));
|
|
716
|
-
outboundBody = body;
|
|
717
|
-
chosenModel = originalModel;
|
|
718
|
-
}
|
|
719
|
-
}
|
|
720
|
-
if (enabled && routeAllowsRouting) {
|
|
721
|
-
log.log?.(j({ event: 'router_decision', tier: decisionTier, reason: decisionReason, original_model: originalModel, chosen_model: chosenModel, fallback }));
|
|
722
|
-
}
|
|
723
|
-
traceRequestBody = outboundBody;
|
|
724
|
-
bodyCaptureAllowed = true;
|
|
725
|
-
const upstream = await opts.anthropicProxy(route, outboundBody, { inboundHeaders, upstreamMode });
|
|
726
|
-
if (upstream.traceRequestBody !== undefined)
|
|
727
|
-
traceRequestBody = upstream.traceRequestBody;
|
|
728
|
-
ttfb = clock() - t0;
|
|
729
|
-
if (upstream.stream)
|
|
730
|
-
return relayStream(upstream);
|
|
731
|
-
// 5xx on a router-rewritten request → retry once with the client's original model (a gateway may have no
|
|
732
|
-
// channel for the tier-target model; a successful slightly-pricier response beats a hard 503).
|
|
733
|
-
let finalUpstream = upstream;
|
|
734
|
-
if (enabled && routeAllowsRouting && upstream.status >= 500 && typeof chosenModel === 'string' && chosenModel !== originalModel) {
|
|
735
|
-
const ctx = { original_model: originalModel, would_have_been: chosenModel };
|
|
736
|
-
log.warn?.(j({ event: 'router_fallback', reason: 'upstream_5xx_retry', ...ctx, upstream_status: upstream.status }));
|
|
737
|
-
const drainedFirst = await drain(upstream.text, log, ctx); // release the socket before retrying
|
|
738
|
-
const firstResponseBody = parseUpstreamBody(drainedFirst, upstream.status);
|
|
739
|
-
const firstRequestBody = upstream.traceRequestBody !== undefined ? upstream.traceRequestBody : outboundBody;
|
|
740
|
-
let retryBody = body;
|
|
741
|
-
attempts.push({
|
|
742
|
-
attempt_index: 0,
|
|
743
|
-
model: chosenModel,
|
|
744
|
-
provider: providerForTrace(route, upstreamMode, env),
|
|
745
|
-
upstream_mode: upstreamMode,
|
|
746
|
-
status: upstream.status,
|
|
747
|
-
error: safeTraceError(`upstream ${upstream.status}`),
|
|
748
|
-
requestBody: firstRequestBody,
|
|
749
|
-
responseBody: firstResponseBody,
|
|
750
|
-
});
|
|
751
|
-
try {
|
|
752
|
-
retryBody = rewriteModel(body, String(originalModel));
|
|
753
|
-
finalUpstream = await opts.anthropicProxy(route, retryBody, { inboundHeaders, upstreamMode });
|
|
754
|
-
traceRequestBody = finalUpstream.traceRequestBody !== undefined ? finalUpstream.traceRequestBody : retryBody;
|
|
755
|
-
attempts.push({
|
|
756
|
-
attempt_index: 1,
|
|
757
|
-
model: typeof originalModel === 'string' ? originalModel : null,
|
|
758
|
-
provider: providerForTrace(route, upstreamMode, env),
|
|
759
|
-
upstream_mode: upstreamMode,
|
|
760
|
-
status: finalUpstream.status,
|
|
761
|
-
requestBody: traceRequestBody,
|
|
762
|
-
});
|
|
763
|
-
}
|
|
764
|
-
catch (err) {
|
|
765
|
-
attempts.push({
|
|
766
|
-
attempt_index: 1,
|
|
767
|
-
model: typeof originalModel === 'string' ? originalModel : null,
|
|
768
|
-
provider: providerForTrace(route, upstreamMode, env),
|
|
769
|
-
upstream_mode: upstreamMode,
|
|
770
|
-
status: 502,
|
|
771
|
-
error: safeTraceError(err instanceof Error ? err.message : String(err)),
|
|
772
|
-
requestBody: retryBody,
|
|
773
|
-
});
|
|
774
|
-
finalUpstream = { status: upstream.status, headers: upstream.headers, stream: null, text: () => drainedFirst };
|
|
775
|
-
log.warn?.(j({ event: 'router_fallback', reason: 'upstream_5xx_retry_failed', ...ctx, error: err instanceof Error ? err.message : String(err) }));
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
if (finalUpstream.stream)
|
|
779
|
-
return relayStream(finalUpstream);
|
|
780
|
-
// Upstream is normally JSON, but a misconfigured gateway/CDN/LB can return text/HTML. Read once, parse
|
|
781
|
-
// ourselves, and on failure wrap the raw text in an {error} envelope so the client sees the real status.
|
|
782
|
-
let raw = '';
|
|
783
|
-
if (finalUpstream.text) {
|
|
784
|
-
try {
|
|
785
|
-
raw = await Promise.resolve(finalUpstream.text());
|
|
786
|
-
}
|
|
787
|
-
catch { /* ignore */ }
|
|
788
|
-
}
|
|
789
|
-
const respBody = parseUpstreamBody(raw, finalUpstream.status);
|
|
790
|
-
const finalAttempt = attempts.find((attempt) => attempt.attempt_index === 1 && attempt.responseBody === undefined);
|
|
791
|
-
if (finalAttempt)
|
|
792
|
-
finalAttempt.responseBody = respBody;
|
|
793
|
-
trace({
|
|
794
|
-
status: finalUpstream.status,
|
|
795
|
-
stream: false,
|
|
796
|
-
...extractResponseMeta(respBody),
|
|
797
|
-
responseBody: respBody,
|
|
798
|
-
...(finalUpstream.headers ? { responseHeaders: finalUpstream.headers } : {}),
|
|
799
|
-
...(finalUpstream.transportMetadata !== undefined ? { transportMetadata: finalUpstream.transportMetadata } : {}),
|
|
800
|
-
});
|
|
801
|
-
return { status: finalUpstream.status, body: respBody };
|
|
802
|
-
}
|
|
803
|
-
catch (err) {
|
|
804
|
-
const sc = err.statusCode;
|
|
805
|
-
trace({ status: typeof sc === 'number' ? sc : null, stream: false, error: err instanceof Error ? err.message : String(err) });
|
|
806
|
-
throw err;
|
|
807
|
-
}
|
|
808
|
-
};
|
|
809
|
-
}
|
|
1
|
+
const _0x4f1acd=_0x2741;(function(_0x12751d,_0x3abcca){const _0x234598=_0x2741,_0x41c03b=_0x12751d();while(!![]){try{const _0x540bf6=parseInt(_0x234598(0x197,'\x51\x45\x26\x2a'))/(0x11cb*-0x2+0x2450+-0xb9)+-parseInt(_0x234598(0x269,'\x5b\x59\x21\x46'))/(-0x25b4+0x1d48+-0x53*-0x1a)+-parseInt(_0x234598(0x134,'\x53\x6e\x6f\x48'))/(-0x1e11+0x3d*0x29+0x144f)+-parseInt(_0x234598(0x3d7,'\x47\x6f\x44\x40'))/(-0x3de+-0x1d1a+-0x4*-0x83f)+-parseInt(_0x234598(0x3ba,'\x55\x59\x52\x55'))/(0x1417+-0x11fb+-0x217)+parseInt(_0x234598(0x416,'\x51\x45\x26\x2a'))/(-0x16d1+0x9*0x3d+-0x14b2*-0x1)+parseInt(_0x234598(0x3bc,'\x47\x38\x31\x37'))/(0x9d9+-0xb*-0x1e5+0x2f*-0xa7);if(_0x540bf6===_0x3abcca)break;else _0x41c03b['push'](_0x41c03b['shift']());}catch(_0x14bc8c){_0x41c03b['push'](_0x41c03b['shift']());}}}(_0x2004,-0x171670+0x4c423+0x1edadd));import{randomUUID}from'\x6e\x6f\x64\x65\x3a\x63\x72\x79\x70\x74\x6f';import{pickForTurn}from'\x2e\x2f\x6d\x6f\x64\x65\x6c\x52\x6f\x75\x74\x65\x72\x2e\x6a\x73';import{rewriteModel}from'\x2e\x2f\x63\x61\x63\x68\x65\x50\x61\x73\x73\x74\x68\x72\x6f\x75\x67\x68\x2e\x6a\x73';import{extractFeatures}from'\x2e\x2f\x66\x65\x61\x74\x75\x72\x65\x73\x2e\x6a\x73';import{SseUsageScanner,teeStreamForScan}from'\x2e\x2f\x73\x73\x65\x53\x63\x61\x6e\x2e\x6a\x73';import{captureBodiesEnabled,captureBody,REDACTION_VERSION,redactText,stableUserIdHash}from'\x2e\x2e\x2f\x6c\x6c\x6d\x2f\x62\x6f\x64\x79\x43\x61\x70\x74\x75\x72\x65\x2e\x6a\x73';export function captureTraceMetadata(_0x5b4f98,_0x310913=process.env){const _0x2ded8a=_0x2741,_0x5e097f=captureBody(_0x5b4f98,_0x310913);if(!_0x5e097f)return undefined;try{if(_0x2ded8a(0x24e,'\x33\x4f\x28\x26')!=='\x45\x5a\x71\x64\x54')return JSON[_0x2ded8a(0x1dd,'\x47\x38\x31\x37')](_0x5e097f[_0x2ded8a(0x3b0,'\x28\x56\x61\x26')]);else{for(const _0x5d9c56 of[_0x2ded8a(0x271,'\x5b\x24\x64\x71')+_0x2ded8a(0x157,'\x23\x32\x61\x5d'),_0x2ded8a(0x15e,'\x5e\x6b\x68\x37')+_0x2ded8a(0x1a3,'\x74\x38\x23\x24')+_0x2ded8a(0x321,'\x26\x40\x66\x40'),_0x2ded8a(0x2dd,'\x54\x76\x51\x34')+_0x2ded8a(0x2d6,'\x51\x45\x26\x2a')+'\x64']){const _0x469873=_0xe68e81(_0x585db9,_0x5d9c56)[_0x2ded8a(0x3cd,'\x28\x56\x61\x26')](),_0xbe04ab=_0x3599e3(_0x469873);if(_0xbe04ab)return _0x2219f4(_0xbe04ab);}const _0x391bfe=_0x22802b[_0x2ded8a(0x14b,'\x67\x76\x37\x36')];if(_0x391bfe&&typeof _0x391bfe==='\x6f\x62\x6a\x65\x63\x74'){const _0x34bba2=_0x391bfe,_0x116e07=_0x4e5cda(_0x34bba2[_0x2ded8a(0x11d,'\x29\x79\x78\x26')])||_0x173a0b(_0x34bba2[_0x2ded8a(0x2e9,'\x23\x32\x61\x5d')+'\x69\x64']);if(_0x116e07)return _0x16102f(_0x116e07);}const _0x196052=_0x396b09(_0x34772f['\x75\x73\x65\x72']);if(_0x196052)return _0x166e4b(_0x196052);return null;}}catch{if(_0x2ded8a(0x123,'\x5d\x50\x48\x4b')!==_0x2ded8a(0x253,'\x5b\x24\x64\x71'))return _0x5e097f[_0x2ded8a(0x45c,'\x53\x6a\x52\x69')];else{const _0x37662b=_0x53f748[_0x2ded8a(0x3d5,'\x55\x58\x67\x6f')+_0x2ded8a(0x37d,'\x51\x45\x26\x2a')+'\x6c\x73'][_0x2ded8a(0x42b,'\x7a\x5b\x4c\x42')];if(typeof _0x37662b===_0x2ded8a(0x457,'\x74\x38\x23\x24'))_0x152f5f=_0x37662b;}}}export function resolveTierModels(_0xf93dc1=process.env){const _0x2b5934=_0x2741,_0x27180b={};if(_0xf93dc1[_0x2b5934(0x283,'\x47\x38\x31\x37')+_0x2b5934(0x3ef,'\x47\x46\x69\x21')+'\x41\x50'])_0x27180b[_0x2b5934(0x315,'\x70\x69\x50\x66')]=_0xf93dc1[_0x2b5934(0x275,'\x36\x2a\x59\x75')+_0x2b5934(0x1d1,'\x53\x6e\x6f\x48')+'\x41\x50'];if(_0xf93dc1[_0x2b5934(0x301,'\x4d\x61\x5d\x4a')+_0x2b5934(0x32b,'\x50\x5d\x6d\x52')])_0x27180b[_0x2b5934(0x41a,'\x23\x32\x61\x5d')]=_0xf93dc1[_0x2b5934(0x3b8,'\x48\x41\x51\x5d')+_0x2b5934(0x2da,'\x5b\x24\x64\x71')];if(_0xf93dc1[_0x2b5934(0x1d2,'\x5d\x50\x48\x4b')+_0x2b5934(0x170,'\x33\x4f\x28\x26')+_0x2b5934(0x2b8,'\x40\x70\x5e\x50')])_0x27180b[_0x2b5934(0x3c7,'\x5d\x53\x63\x34')+'\x65']=_0xf93dc1[_0x2b5934(0x394,'\x5b\x72\x30\x4d')+'\x4f\x44\x45\x4c\x5f\x45\x58\x50'+_0x2b5934(0x193,'\x29\x79\x78\x26')];return _0x27180b;}const TIER_ORDER=[_0x4f1acd(0x3e0,'\x64\x77\x49\x72'),_0x4f1acd(0x147,'\x67\x76\x37\x36'),_0x4f1acd(0x422,'\x23\x32\x61\x5d')+'\x65'];export function detectTierModelConfigWarnings(_0x230c1c){const _0x11e3c9=_0x4f1acd,_0x298a9b=TIER_ORDER[_0x11e3c9(0x205,'\x7a\x5b\x4c\x42')](_0x10ef9b=>{const _0x405f40=_0x230c1c[_0x10ef9b];return typeof _0x405f40==='\x73\x74\x72\x69\x6e\x67'&&_0x405f40['\x6c\x65\x6e\x67\x74\x68']>0x23c2+-0x1ba*0xc+0x37*-0x46;});if(_0x298a9b[_0x11e3c9(0x415,'\x5b\x24\x64\x71')]===-0x17*0x180+-0x1d7*-0xd+0x3*0x387)return[];const _0x3d5d41=[],_0x3ff1fb=TIER_ORDER[_0x11e3c9(0x2fe,'\x24\x67\x23\x65')](_0x5013b5=>!_0x298a9b[_0x11e3c9(0x209,'\x51\x4d\x32\x49')](_0x5013b5));_0x3ff1fb[_0x11e3c9(0x211,'\x55\x59\x52\x55')]>0x1b61+0x2cf*0x2+-0x20ff*0x1&&_0x3d5d41[_0x11e3c9(0x35e,'\x24\x67\x23\x65')]({'\x65\x76\x65\x6e\x74':_0x11e3c9(0x378,'\x50\x5d\x6d\x52')+_0x11e3c9(0x175,'\x65\x6b\x4e\x66')+'\x72\x6e\x69\x6e\x67','\x72\x65\x61\x73\x6f\x6e':_0x11e3c9(0x372,'\x32\x46\x53\x2a')+_0x11e3c9(0x219,'\x5d\x50\x48\x4b')+_0x11e3c9(0x3e6,'\x47\x38\x31\x37'),'\x6d\x65\x73\x73\x61\x67\x65':'\x52\x6f\x75\x74\x65\x72\x20\x74'+'\x69\x65\x72\x20\x63\x6f\x6e\x66'+'\x69\x67\x20\x69\x73\x20\x70\x61'+_0x11e3c9(0x21a,'\x70\x69\x50\x66')+_0x11e3c9(0x24a,'\x70\x69\x50\x66')+'\x72\x73\x20\x77\x69\x6c\x6c\x20'+_0x11e3c9(0x1b0,'\x47\x6f\x44\x40')+_0x11e3c9(0x241,'\x63\x6e\x45\x68')+_0x11e3c9(0x3e4,'\x50\x5d\x6d\x52')+_0x11e3c9(0x31c,'\x5e\x6b\x68\x37'),'\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x5f\x74\x69\x65\x72\x73':_0x298a9b,'\x6d\x69\x73\x73\x69\x6e\x67\x5f\x74\x69\x65\x72\x73':_0x3ff1fb});const _0x545ccd=new Map();for(const _0x46775f of _0x298a9b){const _0x875d6f=_0x230c1c[_0x46775f];if(!_0x875d6f)continue;_0x545ccd[_0x11e3c9(0x401,'\x53\x6e\x6f\x48')](_0x875d6f,[..._0x545ccd[_0x11e3c9(0x1e5,'\x26\x40\x66\x40')](_0x875d6f)??[],_0x46775f]);}const _0x1b5c5f=Array[_0x11e3c9(0x3c0,'\x34\x23\x48\x5b')](_0x545ccd[_0x11e3c9(0x3e8,'\x42\x46\x72\x53')]())[_0x11e3c9(0x1a2,'\x5d\x50\x48\x4b')](([,_0x36d9b8])=>_0x36d9b8[_0x11e3c9(0x211,'\x55\x59\x52\x55')]>0x602+0x4*0x2a2+-0x1089)[_0x11e3c9(0x2bd,'\x5e\x6b\x68\x37')](([_0x200bd0,_0x134d5c])=>({'\x6d\x6f\x64\x65\x6c':_0x200bd0,'\x74\x69\x65\x72\x73':_0x134d5c})),_0x168b61=_0x298a9b['\x6c\x65\x6e\x67\x74\x68']===TIER_ORDER[_0x11e3c9(0x3f9,'\x51\x45\x26\x2a')]&&_0x1b5c5f[_0x11e3c9(0x199,'\x64\x77\x49\x72')]===-0x1*0x264a+-0x15e3+0x3c2e*0x1&&_0x1b5c5f[-0x1d08+-0x3*0xb96+-0x73*-0x8e][_0x11e3c9(0x300,'\x4d\x61\x5d\x4a')][_0x11e3c9(0x3ed,'\x70\x69\x50\x66')]===TIER_ORDER[_0x11e3c9(0x195,'\x50\x5d\x6d\x52')];if(_0x168b61){if('\x69\x69\x51\x4b\x4a'==='\x69\x69\x51\x4b\x4a')_0x3d5d41[_0x11e3c9(0x310,'\x64\x77\x49\x72')]({'\x65\x76\x65\x6e\x74':_0x11e3c9(0x120,'\x4f\x39\x6b\x39')+_0x11e3c9(0x33f,'\x47\x38\x31\x37')+'\x72\x6e\x69\x6e\x67','\x72\x65\x61\x73\x6f\x6e':_0x11e3c9(0x3b7,'\x55\x58\x67\x6f')+_0x11e3c9(0x2c3,'\x36\x2a\x59\x75')+_0x11e3c9(0x1bc,'\x4d\x61\x5d\x4a'),'\x6d\x65\x73\x73\x61\x67\x65':_0x11e3c9(0x256,'\x5e\x41\x48\x25')+_0x11e3c9(0x19d,'\x56\x34\x31\x39')+_0x11e3c9(0x20f,'\x32\x46\x53\x2a')+'\x20\x74\x6f\x20\x74\x68\x65\x20'+_0x11e3c9(0x1f1,'\x5b\x59\x21\x46')+_0x11e3c9(0x1cf,'\x50\x5d\x6d\x52')+_0x11e3c9(0x3dc,'\x5e\x6b\x68\x37')+_0x11e3c9(0x3e3,'\x47\x46\x69\x21')+_0x11e3c9(0x190,'\x24\x67\x23\x65')+_0x11e3c9(0x1bf,'\x5d\x50\x48\x4b')+_0x11e3c9(0x248,'\x5b\x72\x30\x4d')+_0x11e3c9(0x1ae,'\x67\x48\x57\x37')+_0x11e3c9(0x261,'\x32\x46\x53\x2a'),'\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x5f\x74\x69\x65\x72\x73':_0x298a9b,'\x64\x75\x70\x6c\x69\x63\x61\x74\x65\x5f\x6d\x6f\x64\x65\x6c\x73':_0x1b5c5f});else return _0x150d65[_0x11e3c9(0x3ce,'\x51\x4d\x32\x49')];}else _0x1b5c5f[_0x11e3c9(0x3b1,'\x53\x6e\x6f\x48')]>-0x18e5*-0x1+0x925*-0x2+-0x69b&&_0x3d5d41['\x70\x75\x73\x68']({'\x65\x76\x65\x6e\x74':'\x72\x6f\x75\x74\x65\x72\x5f\x63'+_0x11e3c9(0x33f,'\x47\x38\x31\x37')+_0x11e3c9(0x43a,'\x63\x6e\x45\x68'),'\x72\x65\x61\x73\x6f\x6e':_0x11e3c9(0x2c7,'\x5b\x59\x21\x46')+_0x11e3c9(0x25a,'\x53\x6a\x52\x69')+_0x11e3c9(0x348,'\x64\x77\x49\x72'),'\x6d\x65\x73\x73\x61\x67\x65':_0x11e3c9(0x466,'\x48\x41\x51\x5d')+_0x11e3c9(0x403,'\x48\x41\x51\x5d')+_0x11e3c9(0x319,'\x51\x4d\x32\x49')+_0x11e3c9(0x3ff,'\x53\x6a\x52\x69')+_0x11e3c9(0x3da,'\x4d\x61\x5d\x4a')+_0x11e3c9(0x2db,'\x5b\x72\x30\x4d')+_0x11e3c9(0x3d6,'\x36\x2a\x59\x75')+_0x11e3c9(0x3a0,'\x28\x56\x61\x26')+_0x11e3c9(0x28f,'\x47\x46\x69\x21')+'\x62\x75\x74\x20\x74\x69\x65\x72'+_0x11e3c9(0x393,'\x29\x79\x78\x26')+_0x11e3c9(0x356,'\x47\x38\x31\x37')+_0x11e3c9(0x446,'\x54\x76\x51\x34'),'\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x5f\x74\x69\x65\x72\x73':_0x298a9b,'\x64\x75\x70\x6c\x69\x63\x61\x74\x65\x5f\x6d\x6f\x64\x65\x6c\x73':_0x1b5c5f});return _0x3d5d41;}export function parseClaudeId(_0x4458d1){const _0x6100e9=_0x4f1acd;if(typeof _0x4458d1!==_0x6100e9(0x1ca,'\x25\x66\x77\x4a'))return null;const _0x510f23=/claude-(opus|sonnet|haiku)-(\d+)-(\d+)/i['\x65\x78\x65\x63'](_0x4458d1);if(!_0x510f23)return null;const _0x570c66=Number(_0x510f23[-0x2617+-0x2129+0x4742*0x1]),_0x2784c6=Number(_0x510f23[-0x1*-0x1455+-0x20eb+0xc99]);if(!Number[_0x6100e9(0x3cc,'\x64\x77\x49\x72')](_0x570c66)||!Number[_0x6100e9(0x41e,'\x5b\x59\x21\x46')](_0x2784c6))return null;return{'\x66\x61\x6d\x69\x6c\x79':_0x510f23[0x1158+0x618+-0x176f][_0x6100e9(0x30b,'\x5d\x53\x63\x34')+_0x6100e9(0x31e,'\x5e\x6b\x68\x37')](),'\x6d\x61\x6a\x6f\x72':_0x570c66,'\x6d\x69\x6e\x6f\x72':_0x2784c6};}export function isIntraFamilyDowngrade(_0x24c4c1,_0x19dd66){const _0x511848=_0x4f1acd,_0x371216=parseClaudeId(_0x24c4c1),_0x22d212=parseClaudeId(_0x19dd66);if(!_0x371216||!_0x22d212||_0x371216[_0x511848(0x3a2,'\x50\x5d\x6d\x52')]!==_0x22d212[_0x511848(0x11f,'\x55\x58\x67\x6f')])return![];if(_0x371216[_0x511848(0x30e,'\x56\x34\x31\x39')]!==_0x22d212[_0x511848(0x194,'\x32\x46\x53\x2a')])return _0x371216[_0x511848(0x112,'\x28\x56\x61\x26')]<_0x22d212[_0x511848(0x194,'\x32\x46\x53\x2a')];return _0x371216['\x6d\x69\x6e\x6f\x72']<_0x22d212[_0x511848(0x2ce,'\x63\x6e\x45\x68')];}const DEFAULT_BEDROCK_ALIASES=Object[_0x4f1acd(0x2a8,'\x53\x6b\x2a\x4b')]({'\x6f\x70\x75\x73\x2f\x34\x2f\x37':'\x67\x6c\x6f\x62\x61\x6c\x2e\x61'+_0x4f1acd(0x3ae,'\x5b\x59\x21\x46')+_0x4f1acd(0x344,'\x70\x4c\x35\x33')+_0x4f1acd(0x34a,'\x32\x46\x53\x2a'),'\x68\x61\x69\x6b\x75\x2f\x34\x2f\x35':_0x4f1acd(0x280,'\x55\x58\x67\x6f')+_0x4f1acd(0x152,'\x26\x40\x66\x40')+_0x4f1acd(0x27b,'\x63\x6e\x45\x68')+_0x4f1acd(0x12b,'\x51\x4d\x32\x49')+'\x35\x2d\x32\x30\x32\x35\x31\x30'+_0x4f1acd(0x138,'\x63\x6e\x45\x68'),'\x73\x6f\x6e\x6e\x65\x74\x2f\x34\x2f\x36':'\x67\x6c\x6f\x62\x61\x6c\x2e\x61'+_0x4f1acd(0x308,'\x53\x6b\x2a\x4b')+'\x2e\x63\x6c\x61\x75\x64\x65\x2d'+_0x4f1acd(0x1fb,'\x42\x46\x72\x53')+'\x2d\x36'});export function resolveBedrockAliases(_0x5f19bb=process.env){const _0x2ca9e4=_0x4f1acd,_0xa7f9b3={...DEFAULT_BEDROCK_ALIASES},_0x32e177=_0x5f19bb[_0x2ca9e4(0x1c0,'\x70\x69\x50\x66')+_0x2ca9e4(0x38b,'\x67\x76\x37\x36')+_0x2ca9e4(0x22f,'\x5b\x24\x64\x71')];if(!_0x32e177)return _0xa7f9b3;try{const _0x51ad4b=JSON[_0x2ca9e4(0x281,'\x67\x48\x57\x37')](_0x32e177);if(_0x51ad4b&&typeof _0x51ad4b===_0x2ca9e4(0x408,'\x70\x4c\x35\x33')&&!Array['\x69\x73\x41\x72\x72\x61\x79'](_0x51ad4b)){if('\x49\x74\x4b\x66\x78'===_0x2ca9e4(0x33e,'\x55\x59\x52\x55')){for(const [_0x552638,_0x4152af]of Object[_0x2ca9e4(0x166,'\x48\x41\x51\x5d')](_0x51ad4b))if(typeof _0x4152af==='\x73\x74\x72\x69\x6e\x67')_0xa7f9b3[_0x552638]=_0x4152af;return _0xa7f9b3;}else{const _0xbe0b20=_0x57da9f(_0x1a9ed2),_0x334ff1=_0x3d2739(_0x140672);if(!_0xbe0b20||!_0x334ff1||_0xbe0b20['\x66\x61\x6d\x69\x6c\x79']!==_0x334ff1[_0x2ca9e4(0x45f,'\x36\x2a\x59\x75')])return![];if(_0xbe0b20[_0x2ca9e4(0x288,'\x47\x6f\x44\x40')]!==_0x334ff1[_0x2ca9e4(0x458,'\x48\x21\x4e\x49')])return _0xbe0b20[_0x2ca9e4(0x2fc,'\x49\x43\x6c\x43')]<_0x334ff1[_0x2ca9e4(0x1b2,'\x53\x6b\x2a\x4b')];return _0xbe0b20[_0x2ca9e4(0x1de,'\x74\x4d\x54\x49')]<_0x334ff1[_0x2ca9e4(0x161,'\x40\x70\x5e\x50')];}}}catch{}return _0xa7f9b3;}export function canonicalizeForBedrock(_0x414f22,_0xe5d5e7){const _0x409afd=_0x4f1acd,_0x472961=parseClaudeId(_0x414f22);if(!_0x472961)return _0x414f22;return _0xe5d5e7[_0x472961[_0x409afd(0x251,'\x67\x48\x57\x37')]+'\x2f'+_0x472961[_0x409afd(0x340,'\x54\x26\x40\x41')]+'\x2f'+_0x472961[_0x409afd(0x179,'\x5e\x6b\x68\x37')]]??_0x414f22;}export function supportsAdaptiveThinking(_0x3b5f70){const _0x501094=_0x4f1acd,_0x1581a1=parseClaudeId(_0x3b5f70);if(!_0x1581a1)return![];if(_0x1581a1[_0x501094(0x13c,'\x51\x4d\x32\x49')]>0x13*-0x1bb+-0x46*0x24+0xe3f*0x3)return!![];return _0x1581a1[_0x501094(0x3e5,'\x53\x6a\x52\x69')]===0x189*-0xc+0x1*0x20c2+-0xe52&&_0x1581a1['\x6d\x69\x6e\x6f\x72']>=0xb30+-0xb8d+0x32*0x2;}const j=_0x1d3bd8=>JSON[_0x4f1acd(0x3e9,'\x70\x69\x50\x66')+'\x79'](_0x1d3bd8);async function drain(_0x5581ca,_0x448eda,_0x2fbba0){const _0x17466e=_0x4f1acd;if(!_0x5581ca)return'';let _0x1d1954;try{return await Promise[_0x17466e(0x2ff,'\x5b\x72\x30\x4d')]([Promise[_0x17466e(0x285,'\x26\x40\x66\x40')](_0x5581ca()),new Promise((_0x1630aa,_0x5b9d71)=>{const _0x11a465=_0x17466e;_0x1d1954=setTimeout(()=>_0x5b9d71(new Error(_0x11a465(0x184,'\x70\x69\x50\x66')+_0x11a465(0x298,'\x23\x32\x61\x5d')+_0x11a465(0x412,'\x5b\x24\x64\x71'))),0x1550+-0x4df*-0x3+0x323);})]);}catch(_0x56d9c1){if(_0x56d9c1 instanceof Error&&_0x56d9c1[_0x17466e(0x200,'\x39\x21\x79\x5b')]['\x69\x6e\x63\x6c\x75\x64\x65\x73']('\x74\x69\x6d\x65\x6f\x75\x74'))_0x448eda[_0x17466e(0x468,'\x65\x6b\x4e\x66')]?.(j({'\x65\x76\x65\x6e\x74':_0x17466e(0x3bd,'\x33\x4f\x28\x26')+_0x17466e(0x126,'\x28\x56\x61\x26'),'\x72\x65\x61\x73\x6f\x6e':'\x75\x70\x73\x74\x72\x65\x61\x6d'+_0x17466e(0x3a9,'\x34\x23\x48\x5b')+_0x17466e(0x3e1,'\x53\x6e\x6f\x48')+'\x75\x74',..._0x2fbba0}));return'';}finally{if(_0x1d1954)clearTimeout(_0x1d1954);}}function getHeader(_0x1a2a53,_0x1a3c3f){const _0x66a620=_0x4f1acd,_0xba6048=_0x1a3c3f[_0x66a620(0x2ad,'\x70\x69\x50\x66')+'\x61\x73\x65']();for(const [_0x1f782c,_0x4a75ef]of Object[_0x66a620(0x188,'\x5d\x53\x63\x34')](_0x1a2a53)){if(_0x1f782c['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x66a620(0x43d,'\x7a\x5b\x4c\x42')]()===_0xba6048&&_0x4a75ef)return _0x4a75ef;}return'';}function clip(_0x3d0261,_0x26c08e=-0x1d7+0x9e4+-0x78d*0x1){return _0x3d0261['\x6c\x65\x6e\x67\x74\x68']<=_0x26c08e?_0x3d0261:_0x3d0261['\x73\x6c\x69\x63\x65'](-0x672+-0x3*-0x15b+-0xcb*-0x3,_0x26c08e);}function safeTraceError(_0x52e781,_0x291608=-0x5c5+0x3*0x4e8+-0x7f3){const _0x3b1195=_0x4f1acd;return clip(redactText(_0x52e781)[_0x3b1195(0x414,'\x51\x4d\x32\x49')](/\s+/g,'\x20')[_0x3b1195(0x42f,'\x67\x76\x37\x36')](),_0x291608);}function safePlainSessionId(_0x464cb3){const _0x1166d7=_0x4f1acd,_0x291d62=_0x464cb3['\x74\x72\x69\x6d']();if(_0x291d62!==_0x464cb3)return'';if(_0x291d62[_0x1166d7(0x47e,'\x24\x67\x23\x65')]<-0x82e+-0x18e6*0x1+0x108c*0x2||_0x291d62[_0x1166d7(0x178,'\x7a\x5b\x4c\x42')]>-0x155d+0xa7f+-0x123*-0xa)return'';if(_0x291d62[_0x1166d7(0x42c,'\x63\x6e\x45\x68')]('\x40')||/\s/['\x74\x65\x73\x74'](_0x291d62))return'';if(!/^[A-Za-z0-9][A-Za-z0-9._-]*[A-Za-z0-9]$/[_0x1166d7(0x240,'\x47\x6f\x44\x40')](_0x291d62))return'';if(/^(?:bearer|basic|sk-|ghp_|github_pat_|gho_|ghu_|ghs_|glpat-|xox[baprs]-)/i[_0x1166d7(0x259,'\x26\x40\x66\x40')](_0x291d62))return'';if(/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/['\x74\x65\x73\x74'](_0x291d62))return'';if(/(?:^|[-_.])(?:token|secret|apikey|api[_-]?key|password|passwd|credential|auth)(?:$|[-_.])/i[_0x1166d7(0x373,'\x56\x34\x31\x39')](_0x291d62))return'';if(/^[a-f0-9]{32,}$/i[_0x1166d7(0x2f4,'\x5b\x72\x30\x4d')](_0x291d62))return'';if(/^[A-Za-z0-9_-]{40,}$/[_0x1166d7(0x1c1,'\x51\x45\x26\x2a')](_0x291d62)&&!/[-_.]/[_0x1166d7(0x367,'\x74\x38\x23\x24')](_0x291d62))return'';if(/(?:session|sess)/i[_0x1166d7(0x41c,'\x51\x4d\x32\x49')](_0x291d62))return _0x291d62;return/[-_.]/[_0x1166d7(0x18f,'\x54\x76\x51\x34')](_0x291d62)?_0x291d62:'';}function sessionIdFromPlainField(_0x134871){const _0x162509=_0x4f1acd;return typeof _0x134871===_0x162509(0x223,'\x4f\x39\x6b\x39')?safePlainSessionId(_0x134871):'';}function sessionIdFromClaudeUserId(_0x510c82){const _0x4bcc3f=_0x4f1acd,_0x243cf8='\x5f\x5f\x73\x65\x73\x73\x69\x6f'+'\x6e\x5f',_0x40bec8=_0x510c82[_0x4bcc3f(0x2ca,'\x70\x69\x50\x66')](_0x243cf8);if(_0x40bec8<0x263c+0x159f+-0x3bdb)return'';return safePlainSessionId(_0x510c82[_0x4bcc3f(0x2e3,'\x55\x58\x67\x6f')](_0x40bec8+_0x243cf8[_0x4bcc3f(0x2f2,'\x5d\x53\x63\x34')]));}function sessionIdFromUserField(_0x3cc31f){const _0x44c866=_0x4f1acd;if(!_0x3cc31f)return'';let _0x31ac62=_0x3cc31f;if(typeof _0x3cc31f===_0x44c866(0x246,'\x50\x5d\x6d\x52')){const _0x100652=_0x3cc31f[_0x44c866(0x46f,'\x74\x38\x23\x24')]();if(!_0x100652[_0x44c866(0x40b,'\x5b\x72\x30\x4d')+'\x74\x68']('\x7b'))return sessionIdFromClaudeUserId(_0x100652)||safePlainSessionId(_0x100652);try{_0x44c866(0x247,'\x53\x6a\x52\x69')===_0x44c866(0x291,'\x53\x6e\x6f\x48')?(_0x5b37e0[_0x44c866(0x292,'\x63\x6e\x45\x68')+_0x44c866(0x343,'\x51\x4d\x32\x49')]=_0x32dc22,_0x2a5ef4[_0x44c866(0x359,'\x47\x46\x69\x21')+_0x44c866(0x2c4,'\x54\x26\x40\x41')]=_0x2110cf(_0x1d0ece)):_0x31ac62=JSON[_0x44c866(0x11e,'\x25\x66\x77\x4a')](_0x100652);}catch{if(_0x44c866(0x110,'\x50\x5d\x6d\x52')==='\x6a\x69\x4f\x6a\x74')return'';else{const _0x56ba59=[_0x4c7e3b(_0x16fba1,_0x44c866(0x1b5,'\x5d\x53\x63\x34')+'\x6e\x74'),_0x5f162a(_0x430e18,_0x44c866(0x215,'\x48\x21\x4e\x49')+_0x44c866(0x16f,'\x5b\x24\x64\x71')),_0x505a4f(_0x1807a8,'\x78\x2d\x73\x74\x61\x69\x6e\x6c'+_0x44c866(0x464,'\x64\x77\x49\x72')+_0x44c866(0x273,'\x50\x5d\x6d\x52')+_0x44c866(0x2a0,'\x53\x6b\x2a\x4b')),_0x561e84(_0x462c42,_0x44c866(0x16c,'\x53\x6e\x6f\x48'))][_0x44c866(0x420,'\x28\x56\x61\x26')](_0xf4ae32)[_0x44c866(0x404,'\x5b\x72\x30\x4d')]('\x20')['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x44c866(0x398,'\x65\x6b\x4e\x66')]();if(_0x56ba59[_0x44c866(0x287,'\x53\x6a\x52\x69')](_0x44c866(0x1fd,'\x65\x6b\x4e\x66')))return _0x44c866(0x2c5,'\x47\x46\x69\x21');if(_0x56ba59[_0x44c866(0x185,'\x70\x4c\x35\x33')](_0x44c866(0x1cc,'\x23\x32\x61\x5d')))return _0x44c866(0x1ba,'\x39\x21\x79\x5b');if(_0x56ba59[_0x44c866(0x338,'\x26\x40\x66\x40')](_0x44c866(0x249,'\x47\x6f\x44\x40')))return _0x44c866(0x421,'\x39\x21\x79\x5b')+_0x44c866(0x1df,'\x32\x46\x53\x2a');return _0x44c866(0x320,'\x24\x67\x23\x65');}}}if(_0x31ac62&&typeof _0x31ac62===_0x44c866(0x36c,'\x40\x70\x5e\x50')){if(_0x44c866(0x39e,'\x51\x45\x26\x2a')!==_0x44c866(0x2df,'\x56\x34\x31\x39')){const _0x3966ee=_0x31ac62[_0x44c866(0x354,'\x64\x77\x49\x72')+'\x69\x64'];if(typeof _0x3966ee===_0x44c866(0x391,'\x32\x46\x53\x2a')&&_0x3966ee[_0x44c866(0x3d8,'\x33\x4f\x28\x26')]>-0x1719+-0x606+0x1d1f)return safePlainSessionId(_0x3966ee);}else{const _0x54f8c0=_0x32dd82(_0x5db850,_0x16a96c),_0xc089df=_0xd77555['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x44c866(0x3f0,'\x67\x76\x37\x36')]!==_0x2221f6?_0x3f8dc4(_0x5c6bb2[_0x44c866(0x3a8,'\x64\x77\x49\x72')+_0x44c866(0x343,'\x51\x4d\x32\x49')],_0x256bb0):_0x21b147;if(_0x54f8c0)_0x4e0635[_0x44c866(0x3d9,'\x53\x6e\x6f\x48')+_0x44c866(0x2fd,'\x50\x5d\x6d\x52')]=_0x54f8c0[_0x44c866(0x439,'\x5b\x24\x64\x71')];if(_0xc089df)_0x5c3f5f[_0x44c866(0x402,'\x29\x79\x78\x26')+_0x44c866(0x255,'\x35\x26\x5d\x42')]=_0xc089df[_0x44c866(0x478,'\x70\x69\x50\x66')];_0x2174bc[_0x44c866(0x20a,'\x5b\x59\x21\x46')+'\x6e']=_0x5a4d67;if(_0x54f8c0?.[_0x44c866(0x2d5,'\x5e\x41\x48\x25')+'\x64']||_0xc089df?.[_0x44c866(0x380,'\x74\x4d\x54\x49')+'\x64']||_0x51a378(_0x1fe0c8[_0x44c866(0x174,'\x5e\x6b\x68\x37')+_0x44c866(0x135,'\x42\x46\x72\x53')])||_0x10edda[_0x44c866(0x3d0,'\x34\x23\x48\x5b')]?.[_0x44c866(0x448,'\x32\x46\x53\x2a')](_0x5e014a=>_0x5e014a['\x62\x6f\x64\x79\x5f\x74\x72\x75'+_0x44c866(0x326,'\x51\x4d\x32\x49')]===!![]))_0x14ccb5[_0x44c866(0x44d,'\x5e\x6b\x68\x37')+_0x44c866(0x38f,'\x55\x58\x67\x6f')]=!![];}}return'';}function extractSessionId(_0x19fc5c,_0x31c484){const _0x1631e1=_0x4f1acd;for(const _0x6ba742 of[_0x1631e1(0x1f2,'\x5e\x41\x48\x25')+_0x1631e1(0x1fe,'\x53\x6e\x6f\x48'),_0x1631e1(0x38e,'\x28\x56\x61\x26')+_0x1631e1(0x1f4,'\x5b\x24\x64\x71')+_0x1631e1(0x226,'\x47\x46\x69\x21'),_0x1631e1(0x28a,'\x35\x26\x5d\x42')+'\x73\x61\x74\x69\x6f\x6e\x2d\x69'+'\x64']){const _0x3c4e15=getHeader(_0x19fc5c,_0x6ba742)[_0x1631e1(0x19c,'\x65\x6b\x4e\x66')](),_0x5b3eb0=sessionIdFromPlainField(_0x3c4e15);if(_0x5b3eb0)return clip(_0x5b3eb0);}const _0x10d884=_0x31c484[_0x1631e1(0x350,'\x70\x69\x50\x66')];if(_0x10d884&&typeof _0x10d884===_0x1631e1(0x3ab,'\x5b\x59\x21\x46')){if(_0x1631e1(0x454,'\x33\x4f\x28\x26')===_0x1631e1(0x1b1,'\x7a\x5b\x4c\x42')){const _0x190b87=_0x10d884,_0x4fb1d4=sessionIdFromUserField(_0x190b87[_0x1631e1(0x17c,'\x54\x76\x51\x34')])||sessionIdFromPlainField(_0x190b87[_0x1631e1(0x42e,'\x5b\x59\x21\x46')+'\x69\x64']);if(_0x4fb1d4)return clip(_0x4fb1d4);}else return _0x52b57(_0xe2cd1b(_0x354ab2)['\x72\x65\x70\x6c\x61\x63\x65'](/\s+/g,'\x20')[_0x1631e1(0x2a3,'\x70\x4c\x35\x33')](),_0x3b8328);}const _0x2eb989=sessionIdFromUserField(_0x31c484[_0x1631e1(0x154,'\x50\x5d\x6d\x52')]);if(_0x2eb989)return clip(_0x2eb989);return null;}function extractTopLevelUserIdHash(_0x4f6b7a){const _0x27cb24=_0x4f1acd,_0x11ea6a=_0x4f6b7a[_0x27cb24(0x3c8,'\x33\x4f\x28\x26')];if(_0x11ea6a&&typeof _0x11ea6a===_0x27cb24(0x163,'\x33\x4f\x28\x26')&&!Array[_0x27cb24(0x13d,'\x5d\x50\x48\x4b')](_0x11ea6a)){if(_0x27cb24(0x254,'\x32\x46\x53\x2a')===_0x27cb24(0x22c,'\x5e\x41\x48\x25'))_0x12a018=_0x9befcd;else{const _0x333708=_0x11ea6a[_0x27cb24(0x411,'\x49\x43\x6c\x43')];if(typeof _0x333708===_0x27cb24(0x223,'\x4f\x39\x6b\x39')||typeof _0x333708===_0x27cb24(0x25b,'\x29\x79\x78\x26'))return stableUserIdHash(_0x333708);}}const _0x2af658=_0x4f6b7a[_0x27cb24(0x224,'\x70\x4c\x35\x33')];if(typeof _0x2af658===_0x27cb24(0x35a,'\x51\x4d\x32\x49')||typeof _0x2af658===_0x27cb24(0x1f3,'\x48\x41\x51\x5d'))return stableUserIdHash(_0x2af658);return undefined;}function _0x2004(){const _0x4a0c85=['\x57\x36\x6e\x30\x57\x52\x74\x64\x4d\x6d\x6f\x4b\x67\x58\x57','\x76\x75\x52\x64\x54\x64\x6d\x32\x57\x35\x69\x75\x72\x61','\x63\x38\x6f\x65\x57\x36\x2f\x63\x4a\x38\x6b\x70\x57\x34\x74\x64\x4b\x73\x69','\x57\x50\x6c\x63\x4f\x43\x6f\x41','\x57\x52\x68\x64\x47\x58\x44\x7a\x57\x4f\x74\x64\x47\x31\x76\x52','\x57\x52\x4e\x64\x54\x33\x50\x66\x57\x50\x44\x2f\x57\x51\x31\x58','\x63\x30\x78\x63\x4f\x30\x4a\x64\x55\x43\x6f\x51','\x57\x52\x4c\x58\x57\x36\x75','\x57\x52\x74\x63\x4a\x6d\x6f\x79\x41\x4e\x61\x38\x68\x6d\x6f\x61','\x61\x53\x6f\x38\x57\x52\x75\x51\x57\x4f\x48\x39\x57\x37\x70\x64\x4c\x47','\x57\x51\x35\x63\x6b\x5a\x38','\x57\x4f\x71\x6f\x62\x49\x35\x66\x57\x52\x6a\x47\x57\x52\x6d','\x78\x30\x68\x63\x4c\x61\x48\x73\x41\x5a\x65\x4c','\x57\x4f\x4c\x59\x74\x6d\x6b\x73\x57\x37\x4a\x64\x4c\x47','\x69\x72\x4a\x63\x56\x58\x68\x64\x56\x59\x6d','\x57\x52\x4b\x58\x57\x37\x68\x63\x55\x49\x6c\x64\x4c\x67\x4f\x54\x68\x43\x6b\x35\x6c\x6d\x6f\x48\x57\x35\x38','\x57\x51\x72\x6f\x6c\x59\x64\x63\x4c\x6d\x6b\x4b\x78\x53\x6b\x73','\x57\x52\x44\x7a\x69\x59\x6e\x47\x57\x37\x62\x72\x41\x47','\x76\x75\x42\x63\x4e\x59\x44\x78\x57\x37\x70\x63\x52\x73\x75','\x74\x38\x6f\x38\x57\x50\x4e\x63\x4c\x61','\x57\x4f\x71\x49\x67\x43\x6f\x4a','\x68\x43\x6f\x6a\x74\x38\x6f\x42\x57\x50\x6d','\x57\x50\x79\x76\x57\x35\x42\x64\x49\x47\x6d','\x57\x4f\x42\x63\x4f\x43\x6f\x41\x69\x43\x6b\x59\x57\x51\x38\x69','\x57\x51\x52\x64\x49\x57\x66\x67\x57\x50\x37\x64\x4d\x71','\x7a\x31\x43\x53\x57\x50\x78\x64\x50\x53\x6b\x6d','\x57\x37\x53\x6f\x46\x62\x64\x63\x53\x71\x54\x4a','\x57\x51\x2f\x64\x47\x57\x50\x6f\x57\x50\x2f\x64\x48\x71','\x57\x36\x66\x6b\x57\x36\x56\x63\x4f\x43\x6f\x49\x57\x52\x62\x4e\x57\x51\x4a\x64\x47\x38\x6b\x6c\x57\x35\x42\x63\x47\x78\x38','\x57\x34\x33\x63\x49\x6d\x6b\x36\x77\x38\x6b\x32\x57\x35\x78\x64\x51\x75\x47','\x69\x72\x68\x63\x53\x62\x52\x64\x52\x57','\x57\x51\x72\x6f\x6c\x59\x78\x63\x4c\x38\x6b\x2b','\x63\x49\x42\x64\x56\x57','\x65\x71\x37\x64\x4b\x43\x6f\x51\x7a\x38\x6b\x50','\x57\x37\x30\x6f\x46\x57\x47','\x57\x37\x4b\x4d\x44\x61\x61\x56','\x78\x32\x46\x64\x4b\x53\x6b\x38\x57\x52\x5a\x63\x50\x53\x6f\x51\x42\x57','\x57\x51\x65\x6d\x57\x52\x68\x64\x4f\x53\x6b\x6f\x57\x37\x69\x36\x57\x4f\x30','\x57\x50\x61\x63\x63\x59\x4c\x70\x57\x51\x34','\x57\x52\x4c\x6b\x46\x38\x6b\x49\x57\x35\x33\x64\x56\x48\x64\x64\x49\x57','\x61\x4a\x46\x64\x51\x38\x6f\x78\x62\x38\x6b\x47\x57\x37\x62\x33','\x73\x4b\x46\x63\x4b\x61\x38','\x57\x52\x54\x76\x42\x43\x6b\x2b\x57\x35\x37\x64\x54\x71','\x57\x4f\x68\x63\x54\x38\x6f\x6d\x6a\x53\x6b\x62\x57\x52\x69','\x65\x53\x6f\x66\x57\x35\x48\x37','\x6a\x38\x6b\x6e\x65\x53\x6f\x6a\x57\x50\x52\x64\x54\x71','\x57\x50\x74\x63\x47\x6d\x6b\x6d\x57\x36\x4f\x6a\x6a\x53\x6f\x75\x46\x57','\x57\x4f\x71\x51\x74\x38\x6f\x69\x75\x68\x6d\x58\x57\x35\x53','\x44\x4c\x30\x37\x57\x4f\x78\x64\x53\x47','\x67\x53\x6f\x4a\x72\x6d\x6f\x4b\x57\x4f\x79\x6a','\x68\x71\x42\x64\x4c\x6d\x6f\x50\x79\x6d\x6b\x35\x73\x71\x4f','\x67\x67\x78\x63\x55\x38\x6f\x4d\x73\x6d\x6f\x75','\x72\x78\x68\x64\x50\x38\x6b\x4d\x57\x52\x56\x63\x4f\x6d\x6f\x57\x76\x71','\x57\x50\x61\x69\x57\x34\x52\x64\x4b\x57','\x6f\x6d\x6f\x56\x57\x36\x35\x41\x57\x50\x43','\x57\x51\x2f\x63\x47\x43\x6b\x41\x57\x34\x78\x64\x56\x6d\x6b\x34\x57\x50\x66\x32','\x57\x36\x31\x4b\x57\x51\x74\x64\x52\x68\x52\x63\x48\x5a\x4b','\x57\x50\x30\x54\x57\x4f\x52\x64\x4c\x38\x6b\x64\x57\x35\x38\x41\x57\x51\x69','\x6e\x53\x6b\x65\x61\x6d\x6f\x6a\x57\x50\x6c\x64\x50\x61','\x57\x51\x35\x64\x71\x43\x6b\x5a\x57\x35\x5a\x64\x52\x31\x5a\x64\x47\x71','\x73\x53\x6f\x52\x57\x52\x53\x37\x57\x50\x4c\x51\x57\x37\x69','\x57\x4f\x52\x64\x53\x53\x6f\x6e\x6e\x53\x6b\x43\x57\x52\x6d\x66\x69\x61','\x57\x51\x47\x74\x57\x52\x33\x64\x48\x6d\x6b\x48','\x57\x51\x68\x64\x49\x71\x62\x71','\x62\x47\x42\x64\x4e\x53\x6f\x52\x43\x47','\x57\x4f\x65\x50\x57\x34\x78\x63\x4e\x6d\x6f\x73\x6f\x71\x69\x6a','\x62\x4a\x56\x64\x56\x53\x6f\x77','\x63\x43\x6f\x31\x71\x61','\x75\x77\x33\x63\x49\x73\x35\x76\x57\x36\x64\x63\x53\x48\x38','\x46\x4d\x71\x6a\x57\x4f\x38\x32\x79\x5a\x66\x63','\x43\x4e\x4b\x73\x57\x50\x79\x47\x43\x48\x30','\x57\x51\x64\x63\x47\x6d\x6f\x66\x46\x47','\x57\x36\x71\x63\x79\x48\x70\x63\x4f\x47','\x57\x36\x76\x49\x57\x51\x64\x63\x53\x53\x6f\x57\x57\x50\x6e\x41\x57\x52\x6d','\x57\x51\x35\x37\x57\x36\x42\x64\x53\x38\x6f\x30\x57\x4f\x4c\x41\x57\x51\x6d','\x57\x50\x66\x79\x6a\x65\x50\x72\x72\x76\x4a\x63\x47\x61','\x57\x36\x4c\x56\x57\x52\x52\x64\x52\x33\x2f\x63\x47\x74\x7a\x47','\x57\x4f\x76\x39\x57\x51\x53\x51\x76\x38\x6b\x38\x57\x52\x35\x48','\x42\x65\x33\x64\x54\x53\x6b\x38','\x76\x38\x6b\x6f\x57\x36\x66\x6b\x57\x4f\x39\x6b','\x57\x51\x31\x68\x42\x6d\x6b\x35','\x57\x51\x76\x46\x6d\x59\x64\x63\x50\x6d\x6b\x34\x73\x6d\x6b\x77','\x57\x52\x37\x64\x51\x4d\x6e\x44\x57\x50\x65\x2b\x57\x51\x31\x37','\x57\x35\x5a\x63\x47\x53\x6b\x5a\x71\x38\x6b\x68\x57\x35\x78\x64\x53\x4c\x34','\x57\x52\x43\x6f\x57\x52\x56\x64\x56\x6d\x6b\x4c\x57\x35\x38\x38\x57\x4f\x6d','\x78\x78\x5a\x63\x4a\x4a\x48\x7a\x57\x37\x46\x63\x4f\x57','\x57\x34\x78\x64\x4f\x43\x6b\x6a\x79\x38\x6f\x79\x57\x37\x6e\x43\x68\x4b\x52\x63\x4a\x43\x6b\x78\x57\x52\x38\x70','\x71\x43\x6f\x4d\x57\x52\x75\x32\x57\x50\x39\x39\x57\x37\x69','\x72\x4b\x78\x64\x54\x57\x71\x33\x57\x34\x4b\x77\x73\x61','\x57\x50\x62\x63\x6c\x4c\x4c\x72\x78\x33\x70\x63\x51\x57','\x63\x38\x6f\x36\x57\x34\x76\x79\x57\x51\x6d','\x57\x50\x68\x63\x4f\x53\x6b\x49\x57\x36\x37\x64\x4c\x53\x6b\x41\x57\x50\x66\x77','\x6e\x58\x78\x64\x4c\x43\x6f\x71\x69\x71','\x73\x53\x6b\x7a\x57\x37\x6a\x78\x57\x4f\x72\x6a','\x78\x78\x4a\x63\x4c\x59\x72\x6b','\x67\x53\x6f\x4a\x76\x53\x6f\x4e\x57\x4f\x79\x6a\x67\x76\x47','\x57\x52\x78\x63\x4e\x43\x6f\x6b\x42\x4d\x4f\x48','\x57\x52\x68\x64\x49\x72\x66\x44\x57\x4f\x37\x64\x4e\x32\x6e\x47','\x57\x51\x4a\x64\x54\x33\x6a\x6b','\x67\x77\x6c\x63\x50\x43\x6f\x36\x57\x52\x2f\x63\x51\x53\x6f\x54\x45\x71','\x57\x36\x6a\x73\x6c\x53\x6b\x32\x7a\x67\x34','\x57\x50\x79\x36\x62\x6d\x6f\x56\x57\x37\x39\x45','\x57\x35\x71\x53\x77\x71\x75\x53\x57\x52\x78\x63\x4b\x38\x6b\x43','\x57\x50\x46\x63\x50\x43\x6b\x4c\x57\x37\x78\x64\x47\x38\x6b\x62\x57\x52\x44\x4f','\x57\x4f\x56\x64\x56\x38\x6f\x6e\x6e\x53\x6b\x43\x57\x52\x6d\x6a\x69\x71','\x46\x4b\x78\x64\x56\x53\x6b\x51','\x57\x35\x4c\x5a\x57\x51\x4a\x63\x4e\x53\x6f\x58\x66\x61\x57\x4e','\x57\x4f\x7a\x63\x6a\x49\x47','\x42\x38\x6f\x37\x57\x52\x79\x52\x57\x50\x76\x4f\x57\x36\x33\x63\x4b\x57','\x57\x50\x42\x63\x56\x53\x6b\x32\x57\x37\x33\x64\x4c\x47','\x57\x4f\x65\x55\x74\x53\x6f\x77','\x79\x6d\x6f\x75\x77\x6d\x6b\x44\x6a\x53\x6f\x48\x6f\x6d\x6f\x47','\x57\x4f\x2f\x63\x49\x38\x6b\x79\x57\x37\x43\x6e\x69\x53\x6f\x44\x72\x71','\x57\x51\x70\x63\x4d\x38\x6f\x7a\x44\x77\x30','\x57\x51\x66\x73\x6d\x38\x6b\x59\x45\x59\x6c\x63\x48\x53\x6f\x46','\x63\x71\x54\x65\x57\x52\x4a\x64\x4e\x6d\x6b\x65','\x57\x4f\x47\x4a\x57\x37\x4b\x4e\x73\x47','\x74\x43\x6b\x46\x57\x36\x4c\x74','\x57\x50\x46\x63\x56\x38\x6b\x32\x57\x37\x4e\x64\x4c\x53\x6b\x36\x57\x52\x66\x6a','\x57\x50\x5a\x64\x4a\x57\x61','\x78\x38\x6f\x58\x57\x37\x70\x64\x55\x47\x61','\x7a\x31\x43\x53\x57\x50\x64\x64\x50\x43\x6b\x77\x64\x53\x6f\x77','\x46\x4b\x2f\x64\x48\x6d\x6b\x37\x73\x38\x6b\x45\x57\x52\x57','\x78\x31\x52\x63\x4b\x62\x4b','\x57\x34\x33\x63\x4d\x43\x6b\x34\x73\x53\x6b\x68\x57\x35\x70\x64\x50\x75\x4f','\x57\x4f\x71\x6f\x66\x63\x31\x66\x57\x52\x6a\x36\x57\x52\x47','\x57\x35\x75\x53\x75\x57\x47','\x57\x51\x39\x76\x46\x38\x6b\x57\x57\x35\x57','\x79\x33\x34\x69\x57\x4f\x53\x4d\x7a\x74\x66\x68','\x71\x4e\x5a\x63\x49\x4a\x4c\x72\x57\x36\x74\x63\x4f\x58\x38','\x79\x4e\x34\x74','\x57\x37\x30\x65\x72\x73\x2f\x63\x4e\x5a\x54\x59\x6e\x47','\x78\x75\x43\x63\x57\x51\x6a\x42\x57\x4f\x65','\x57\x50\x5a\x63\x53\x6d\x6f\x76\x6e\x53\x6b\x6f\x57\x52\x69','\x57\x4f\x62\x63\x6c\x47','\x71\x43\x6f\x66\x57\x35\x42\x64\x55\x61\x74\x63\x4c\x57','\x65\x6d\x6f\x4a\x57\x36\x52\x64\x4c\x77\x6a\x7a\x46\x71\x53','\x57\x52\x6c\x63\x4d\x38\x6f\x45\x44\x68\x57\x5a\x67\x38\x6f\x61','\x41\x76\x78\x64\x47\x43\x6b\x62\x57\x50\x52\x63\x4b\x6d\x6f\x6b\x72\x71','\x45\x33\x52\x63\x51\x49\x62\x59\x79\x61','\x67\x43\x6f\x4c\x57\x34\x56\x64\x49\x33\x6d','\x57\x52\x43\x42\x57\x52\x46\x64\x4f\x43\x6b\x34\x57\x36\x38\x58','\x57\x50\x53\x6b\x64\x74\x6a\x79','\x71\x32\x33\x63\x4e\x64\x39\x6e\x57\x36\x70\x63\x48\x73\x38','\x61\x48\x48\x70\x57\x52\x78\x64\x49\x38\x6b\x63','\x57\x50\x43\x49\x79\x38\x6f\x41\x75\x68\x4b\x37','\x57\x52\x48\x58\x57\x36\x6c\x64\x52\x43\x6f\x38\x57\x50\x76\x69\x57\x51\x69','\x57\x52\x65\x75\x57\x52\x2f\x64\x4f\x43\x6b\x49\x57\x36\x4b\x35\x57\x4f\x75','\x57\x51\x61\x5a\x69\x43\x6f\x71\x57\x36\x4f','\x57\x37\x35\x54\x57\x52\x56\x64\x55\x33\x46\x63\x4b\x61','\x57\x35\x70\x63\x47\x53\x6b\x5a\x78\x38\x6b\x30','\x72\x68\x68\x64\x50\x38\x6b\x47\x57\x52\x37\x63\x55\x57','\x61\x4e\x2f\x63\x55\x43\x6f\x36\x75\x53\x6f\x53\x57\x51\x4a\x64\x55\x71','\x57\x52\x70\x63\x4d\x53\x6f\x6f\x41\x65\x61\x37\x63\x57','\x57\x51\x7a\x6b\x6c\x49\x70\x63\x4e\x47','\x6d\x38\x6b\x6a\x64\x6d\x6f\x76\x57\x50\x52\x64\x55\x61','\x66\x72\x66\x43\x57\x51\x37\x64\x4e\x6d\x6b\x65\x74\x6d\x6b\x62','\x57\x34\x39\x78\x57\x4f\x4e\x64\x4d\x30\x2f\x63\x52\x61\x30\x41','\x65\x6d\x6f\x75\x57\x37\x64\x63\x48\x6d\x6b\x70\x57\x35\x65','\x57\x4f\x54\x2b\x62\x38\x6b\x4d\x7a\x47','\x57\x51\x48\x6a\x41\x38\x6b\x4a\x57\x35\x5a\x64\x51\x77\x6c\x64\x4a\x47','\x46\x75\x33\x64\x56\x38\x6b\x47\x45\x38\x6b\x6f\x57\x52\x46\x63\x51\x47','\x57\x50\x43\x68\x63\x5a\x39\x6c\x57\x52\x39\x49','\x57\x34\x71\x45\x57\x35\x68\x64\x4e\x57\x39\x49\x6f\x38\x6b\x72','\x71\x32\x46\x64\x54\x43\x6b\x59\x57\x52\x43','\x57\x51\x64\x63\x53\x68\x46\x64\x49\x71\x42\x63\x51\x53\x6b\x4c\x67\x47','\x57\x35\x5a\x63\x49\x6d\x6b\x39\x75\x43\x6b\x50','\x57\x36\x65\x6b\x7a\x72\x46\x63\x50\x75\x75\x59\x41\x71','\x57\x52\x54\x6c\x71\x43\x6b\x4a\x57\x34\x56\x64\x52\x4c\x70\x64\x49\x57','\x69\x43\x6b\x4c\x62\x6d\x6f\x69\x57\x50\x46\x64\x50\x71\x39\x35','\x57\x50\x43\x79\x61\x47','\x78\x30\x65\x6e\x57\x52\x66\x6b\x57\x4f\x30','\x77\x33\x5a\x63\x48\x64\x47','\x46\x75\x4e\x64\x53\x5a\x34\x58','\x57\x51\x66\x6c\x6a\x64\x35\x4d\x57\x37\x43','\x65\x76\x74\x63\x4f\x31\x6c\x64\x52\x38\x6f\x2b\x57\x36\x58\x65','\x57\x37\x47\x54\x57\x51\x78\x63\x51\x53\x6b\x4b\x57\x34\x69\x70\x57\x4f\x53\x67\x57\x37\x71\x53\x75\x76\x4b','\x57\x52\x66\x63\x6a\x66\x71','\x57\x52\x61\x76\x57\x36\x52\x64\x4b\x59\x69','\x57\x4f\x46\x63\x49\x38\x6b\x70\x57\x37\x61\x73\x70\x43\x6f\x62\x73\x71','\x72\x66\x4e\x63\x4d\x53\x6f\x5a\x6a\x6d\x6f\x4e\x68\x61','\x57\x4f\x46\x63\x4e\x38\x6f\x41\x6a\x38\x6b\x6d\x57\x51\x69\x6e\x6a\x47','\x46\x6d\x6b\x59\x57\x34\x76\x2f\x44\x67\x43\x61','\x57\x36\x79\x6a\x7a\x48\x4e\x63\x53\x58\x57','\x57\x36\x71\x6b\x7a\x48\x70\x63\x4f\x47','\x57\x51\x54\x6f\x68\x38\x6b\x57\x7a\x73\x42\x63\x49\x57','\x66\x57\x74\x64\x4c\x53\x6f\x57\x43\x43\x6b\x34\x61\x72\x4f','\x57\x50\x43\x4a\x75\x6d\x6f\x41\x78\x4e\x34\x50','\x71\x6d\x6f\x75\x57\x34\x74\x64\x55\x72\x33\x63\x4b\x61','\x66\x38\x6f\x2b\x57\x36\x56\x64\x4b\x78\x44\x73\x42\x71\x53','\x45\x53\x6b\x56\x57\x35\x62\x2f\x7a\x32\x75\x43','\x78\x75\x2f\x64\x4e\x6d\x6b\x5a\x41\x71','\x57\x34\x39\x30\x57\x52\x74\x64\x47\x38\x6f\x45\x62\x57\x4f\x54','\x57\x52\x68\x63\x53\x67\x2f\x64\x4a\x71\x2f\x63\x56\x43\x6b\x6f\x66\x71','\x6b\x5a\x6a\x4b\x57\x4f\x78\x64\x54\x53\x6b\x4d\x76\x53\x6b\x53','\x57\x4f\x4b\x74\x57\x34\x43','\x42\x75\x46\x64\x52\x6d\x6b\x52\x74\x43\x6b\x6f\x57\x51\x64\x63\x47\x61','\x74\x43\x6b\x69\x57\x37\x48\x6b','\x57\x4f\x74\x63\x48\x53\x6f\x70\x79\x57','\x57\x4f\x4b\x46\x57\x35\x46\x64\x4e\x57\x6a\x54\x42\x38\x6b\x65','\x57\x52\x48\x31\x57\x36\x42\x64\x47\x53\x6f\x47\x57\x4f\x39\x6a\x57\x51\x69','\x43\x38\x6b\x4f\x57\x36\x50\x4b\x44\x77\x34\x4d\x75\x47','\x57\x52\x4e\x64\x52\x67\x72\x41\x57\x50\x57\x34','\x63\x53\x6b\x62\x62\x71','\x65\x57\x44\x7a\x57\x52\x38','\x57\x4f\x57\x2f\x57\x37\x38\x47\x73\x53\x6b\x33\x57\x52\x43\x4b','\x57\x4f\x33\x63\x55\x43\x6b\x2f\x57\x36\x4a\x64\x4e\x6d\x6b\x79\x57\x52\x31\x42','\x57\x4f\x4b\x46\x57\x35\x64\x64\x4a\x71\x44\x52\x46\x47','\x62\x53\x6f\x2f\x57\x36\x68\x64\x4b\x57','\x68\x71\x46\x64\x4b\x38\x6f\x43\x6b\x57','\x57\x52\x39\x65\x6d\x49\x6d','\x63\x77\x6c\x64\x53\x53\x6f\x77','\x44\x68\x71\x4a\x57\x4f\x48\x55\x57\x52\x4e\x63\x53\x43\x6f\x66','\x57\x51\x64\x64\x54\x48\x7a\x67\x57\x50\x70\x64\x4c\x61','\x57\x34\x71\x33\x76\x47\x75\x38\x57\x51\x47','\x6b\x57\x68\x64\x4b\x57','\x61\x43\x6b\x7a\x57\x50\x68\x63\x55\x4c\x2f\x64\x4d\x53\x6b\x4c\x57\x37\x71\x2b\x57\x52\x62\x45\x57\x4f\x75\x4f','\x64\x78\x64\x63\x50\x6d\x6f\x4d\x73\x53\x6f\x6b','\x57\x34\x42\x64\x47\x6d\x6b\x30\x74\x38\x6b\x51\x57\x35\x6c\x64\x52\x31\x4b','\x57\x52\x56\x63\x54\x38\x6f\x45\x6e\x38\x6b\x69\x57\x52\x71\x46','\x42\x66\x42\x64\x51\x43\x6b\x38\x72\x43\x6b\x78','\x57\x4f\x61\x34\x57\x36\x75\x4e\x73\x47','\x7a\x31\x30\x51\x57\x50\x74\x64\x52\x38\x6b\x6b\x69\x53\x6f\x76','\x6d\x53\x6f\x53\x57\x37\x44\x71\x57\x50\x4f\x61','\x57\x51\x6c\x64\x49\x47\x48\x6c\x57\x4f\x52\x64\x4a\x4b\x30','\x74\x53\x6f\x56\x44\x6d\x6f\x74\x70\x47','\x72\x38\x6f\x47\x57\x51\x34\x54\x57\x50\x76\x39\x57\x37\x69','\x57\x52\x39\x61\x45\x6d\x6b\x34\x57\x34\x56\x64\x52\x57','\x57\x4f\x43\x36\x67\x38\x6f\x4f','\x57\x4f\x79\x46\x57\x34\x46\x64\x4a\x61\x4c\x56\x43\x61','\x75\x4c\x43\x45\x57\x52\x7a\x61\x57\x50\x53','\x6a\x30\x4e\x63\x50\x4b\x75','\x57\x52\x69\x35\x57\x37\x64\x64\x52\x43\x6f\x4a','\x57\x4f\x7a\x55\x65\x48\x68\x63\x53\x53\x6b\x76\x42\x6d\x6b\x4e','\x57\x50\x48\x79\x67\x43\x6b\x6e\x78\x71','\x57\x36\x37\x64\x49\x61\x76\x65\x57\x4f\x34','\x65\x53\x6f\x6b\x57\x35\x48\x35\x57\x51\x79\x58\x57\x4f\x76\x34','\x57\x35\x4b\x47\x76\x47\x75\x53\x57\x52\x38','\x6b\x4e\x42\x63\x48\x33\x6c\x64\x4e\x43\x6f\x68\x57\x35\x58\x33','\x63\x49\x52\x64\x51\x6d\x6f\x62\x63\x6d\x6b\x30\x57\x37\x57','\x57\x34\x5a\x63\x49\x6d\x6b\x4b\x73\x53\x6b\x33\x57\x34\x2f\x64\x53\x30\x34','\x57\x50\x4b\x48\x77\x53\x6f\x72\x77\x65\x69\x31\x57\x35\x38','\x74\x38\x6f\x4e\x43\x6d\x6f\x6a\x6b\x6d\x6f\x47','\x57\x34\x71\x6e\x57\x34\x52\x64\x4b\x47\x4f\x53\x41\x6d\x6b\x72','\x62\x6d\x6f\x4a\x73\x38\x6f\x57\x57\x50\x30\x70','\x57\x35\x70\x63\x48\x6d\x6b\x35\x76\x43\x6b\x51','\x57\x36\x76\x4d\x57\x51\x56\x64\x4f\x4d\x37\x63\x47\x64\x43\x39','\x63\x68\x64\x63\x51\x53\x6f\x4e\x71\x38\x6f\x78\x57\x4f\x70\x64\x4f\x47','\x57\x37\x4c\x37\x57\x51\x33\x64\x56\x65\x74\x63\x4a\x74\x79','\x57\x50\x76\x38\x57\x36\x47\x4b\x75\x43\x6b\x39\x57\x51\x4b\x35','\x76\x68\x56\x64\x53\x6d\x6b\x53\x57\x4f\x33\x63\x55\x38\x6f\x53\x46\x57','\x57\x35\x68\x63\x49\x43\x6b\x55','\x70\x71\x37\x63\x50\x58\x33\x64\x53\x4a\x61','\x57\x52\x35\x4d\x57\x36\x74\x64\x53\x38\x6f\x57\x57\x50\x50\x70\x57\x51\x69','\x57\x51\x4c\x73\x42\x6d\x6b\x59\x57\x35\x4a\x64\x54\x47','\x46\x65\x37\x64\x55\x53\x6b\x51\x76\x38\x6b\x74\x57\x51\x70\x63\x54\x47','\x57\x34\x75\x4d\x72\x61\x65\x4d\x57\x52\x78\x63\x4c\x6d\x6b\x4d','\x6a\x58\x74\x63\x54\x48\x4a\x64\x51\x74\x70\x64\x4f\x32\x38','\x41\x43\x6f\x2f\x57\x50\x4a\x63\x4e\x5a\x37\x63\x50\x4a\x5a\x64\x51\x61','\x78\x43\x6f\x71\x57\x35\x64\x64\x55\x74\x46\x63\x4c\x38\x6f\x2b\x57\x35\x6d','\x57\x4f\x70\x63\x49\x38\x6b\x70\x57\x36\x4f\x6a\x6e\x38\x6f\x63','\x68\x32\x2f\x64\x4a\x67\x72\x76\x57\x37\x78\x63\x54\x74\x6d','\x57\x4f\x37\x63\x48\x4e\x4e\x64\x4c\x61\x47','\x45\x4b\x74\x64\x56\x43\x6b\x32\x76\x53\x6b\x6f','\x69\x38\x6f\x57\x44\x53\x6f\x6e\x57\x52\x4f','\x57\x4f\x6d\x4b\x57\x36\x79\x51\x78\x43\x6b\x51','\x57\x36\x71\x6f\x46\x57\x2f\x63\x53\x71\x39\x4a','\x57\x37\x48\x54\x57\x52\x56\x64\x55\x47','\x72\x65\x58\x6d\x57\x51\x44\x41\x57\x50\x33\x64\x4a\x53\x6f\x5a','\x62\x43\x6b\x73\x57\x50\x78\x63\x55\x66\x4e\x64\x4c\x38\x6f\x37\x57\x34\x34\x39\x57\x51\x44\x31\x57\x4f\x4b','\x57\x50\x78\x64\x52\x68\x44\x41\x57\x50\x34\x61\x57\x52\x58\x4f','\x57\x4f\x70\x63\x50\x38\x6f\x34\x75\x30\x4b\x78','\x43\x4b\x70\x64\x53\x43\x6b\x32\x76\x47','\x68\x38\x6f\x50\x57\x36\x52\x64\x48\x4e\x6e\x46','\x6f\x58\x74\x63\x4f\x71','\x57\x36\x50\x6a\x57\x36\x33\x63\x50\x43\x6f\x50\x57\x52\x75\x31\x57\x50\x42\x64\x53\x43\x6b\x46\x57\x36\x64\x63\x4d\x57','\x65\x4a\x5a\x64\x55\x53\x6f\x76\x64\x61','\x57\x35\x62\x4c\x57\x52\x78\x64\x4c\x6d\x6f\x31\x68\x71','\x57\x4f\x69\x31\x57\x37\x69','\x57\x52\x69\x34\x57\x36\x38','\x57\x4f\x69\x39\x76\x43\x6f\x76','\x41\x6d\x6f\x48\x57\x35\x33\x63\x4d\x78\x46\x63\x53\x73\x56\x64\x51\x47','\x6a\x4a\x44\x32\x57\x50\x56\x64\x51\x43\x6b\x2f\x74\x6d\x6b\x50','\x68\x6d\x6f\x49\x57\x36\x6c\x64\x49\x67\x62\x4f\x46\x4a\x75','\x74\x53\x6f\x30\x44\x6d\x6f\x74\x6c\x6d\x6f\x54','\x57\x50\x6e\x32\x57\x36\x52\x63\x4e\x6d\x6f\x5a\x65\x62\x57\x38','\x57\x51\x72\x75\x6d\x53\x6b\x32\x43\x4a\x75','\x66\x6d\x6b\x45\x57\x36\x76\x6e\x57\x50\x4c\x68\x44\x65\x30','\x45\x43\x6f\x48\x57\x4f\x4a\x63\x47\x33\x33\x63\x54\x73\x33\x64\x56\x61','\x66\x73\x52\x64\x51\x6d\x6f\x68\x62\x43\x6b\x4e','\x57\x50\x71\x47\x77\x6d\x6f\x62','\x57\x34\x65\x6f\x42\x72\x4a\x63\x54\x72\x50\x31','\x70\x47\x4a\x63\x53\x61\x6c\x64\x54\x74\x4a\x64\x53\x32\x38','\x71\x30\x30\x7a\x57\x52\x66\x6b\x57\x50\x56\x63\x53\x43\x6f\x32','\x64\x43\x6f\x74\x57\x36\x4e\x63\x4b\x43\x6b\x64\x57\x34\x56\x64\x4c\x49\x69','\x74\x38\x6f\x52\x57\x51\x34\x2b\x57\x50\x48\x35\x57\x37\x78\x63\x4c\x57','\x61\x48\x64\x64\x53\x53\x6f\x77','\x6a\x48\x2f\x63\x54\x62\x64\x64\x55\x73\x78\x64\x54\x71','\x57\x52\x46\x64\x53\x68\x42\x64\x4d\x62\x37\x63\x51\x53\x6b\x2f\x65\x61','\x57\x35\x31\x33\x57\x51\x4a\x63\x4e\x53\x6f\x4a\x65\x61\x53\x2b','\x57\x4f\x75\x36\x57\x35\x46\x63\x47\x43\x6b\x62\x70\x71\x75\x45','\x70\x53\x6f\x59\x46\x43\x6f\x36\x57\x52\x6d','\x45\x6d\x6b\x47\x57\x36\x35\x49\x44\x61','\x57\x36\x44\x36\x57\x37\x64\x64\x53\x6d\x6f\x32','\x57\x4f\x46\x63\x49\x6d\x6b\x4b\x57\x36\x57\x73\x6a\x38\x6f\x46\x71\x57','\x57\x50\x70\x63\x4c\x53\x6b\x45\x57\x36\x50\x6e\x6d\x38\x6f\x77\x72\x71','\x41\x30\x56\x64\x56\x53\x6b\x52\x76\x38\x6f\x41\x57\x52\x46\x63\x55\x47','\x72\x38\x6f\x38\x57\x51\x47\x57\x57\x4f\x34','\x57\x50\x6d\x6e\x61\x74\x6a\x79\x57\x51\x47','\x57\x52\x74\x63\x4a\x6d\x6f\x6b\x41\x78\x61\x38','\x57\x52\x4c\x6a\x45\x53\x6b\x59\x57\x34\x65','\x57\x51\x54\x72\x6d\x53\x6f\x49\x7a\x74\x6c\x63\x4e\x6d\x6b\x77','\x75\x53\x6f\x4c\x46\x6d\x6f\x79','\x75\x6d\x6f\x70\x57\x34\x56\x64\x55\x71\x33\x63\x4a\x43\x6f\x4c\x57\x36\x43','\x73\x53\x6b\x63\x57\x36\x34','\x57\x51\x6e\x74\x6d\x6d\x6b\x54\x79\x32\x46\x63\x4b\x43\x6f\x45','\x57\x37\x69\x76\x45\x64\x57\x69\x57\x4f\x56\x63\x55\x6d\x6b\x62','\x57\x51\x79\x44\x57\x51\x33\x64\x50\x47','\x57\x51\x54\x70\x6b\x64\x72\x33\x57\x37\x43','\x68\x43\x6f\x4a\x57\x37\x6d','\x57\x51\x69\x6b\x57\x52\x68\x64\x56\x38\x6b\x48\x57\x37\x71\x61\x57\x50\x47','\x75\x6d\x6f\x48\x57\x51\x38\x52\x57\x50\x4c\x51\x57\x35\x37\x63\x4b\x61','\x57\x50\x38\x47\x75\x53\x6f\x6c','\x57\x35\x66\x56\x57\x52\x2f\x64\x4c\x53\x6f\x54','\x7a\x38\x6f\x2b\x57\x52\x61\x4f\x57\x50\x43','\x57\x51\x5a\x64\x53\x78\x50\x68\x57\x50\x43\x54','\x57\x51\x76\x46\x6c\x4a\x4e\x63\x4c\x43\x6b\x54','\x57\x52\x6e\x69\x42\x53\x6b\x49\x57\x34\x33\x64\x48\x65\x4e\x64\x48\x57','\x62\x63\x64\x64\x56\x38\x6f\x78\x65\x71','\x79\x65\x69\x53\x57\x50\x74\x64\x55\x6d\x6b\x44\x68\x6d\x6f\x45','\x72\x53\x6f\x6f\x57\x35\x65','\x66\x53\x6f\x47\x57\x52\x2f\x63\x47\x78\x76\x79\x46\x63\x61','\x57\x37\x57\x42\x46\x57\x4a\x63\x4f\x47\x31\x4e\x6b\x71','\x57\x4f\x76\x71\x57\x35\x74\x64\x4b\x43\x6f\x6d\x57\x52\x48\x5a\x57\x4f\x69','\x57\x4f\x44\x52\x65\x43\x6b\x70\x76\x48\x46\x63\x52\x43\x6f\x37','\x61\x61\x70\x63\x4d\x62\x52\x64\x48\x71','\x74\x6d\x6f\x54\x57\x52\x53\x52\x57\x50\x4c\x38','\x7a\x4b\x79\x57\x57\x50\x64\x64\x4c\x43\x6b\x6b\x67\x6d\x6f\x73','\x57\x52\x62\x2f\x57\x37\x6c\x64\x49\x38\x6f\x4a','\x72\x38\x6b\x55\x57\x52\x43\x57\x57\x50\x48\x39\x57\x36\x33\x64\x4a\x71','\x68\x43\x6f\x56\x76\x38\x6f\x59\x57\x50\x50\x68\x63\x31\x6d','\x57\x4f\x64\x63\x56\x53\x6f\x77\x6d\x6d\x6b\x69','\x63\x4b\x74\x63\x51\x66\x4e\x64\x56\x38\x6f\x36','\x41\x4b\x46\x64\x51\x6d\x6b\x54\x7a\x53\x6b\x76\x57\x51\x68\x63\x50\x47','\x57\x34\x5a\x63\x49\x6d\x6b\x4d\x74\x38\x6b\x39\x57\x35\x6c\x64\x54\x67\x4b','\x79\x78\x61\x70\x57\x4f\x57\x4d','\x78\x53\x6f\x6a\x57\x34\x56\x64\x4f\x48\x4f','\x43\x65\x42\x64\x56\x47','\x71\x75\x52\x64\x54\x61','\x57\x51\x62\x73\x6f\x53\x6b\x37\x73\x64\x70\x63\x47\x6d\x6f\x64','\x61\x57\x4e\x64\x48\x43\x6f\x52','\x73\x38\x6b\x69\x57\x36\x72\x46\x57\x4f\x4c\x41\x43\x4b\x57','\x57\x34\x43\x32\x72\x62\x4b','\x57\x4f\x74\x63\x51\x6d\x6b\x4a','\x6f\x6d\x6b\x6a\x63\x38\x6f\x74\x57\x4f\x71','\x7a\x4b\x79\x2b\x57\x50\x74\x64\x56\x38\x6b\x6c','\x57\x4f\x66\x69\x69\x76\x35\x42\x78\x32\x37\x63\x4d\x47','\x62\x62\x2f\x64\x51\x43\x6f\x44\x65\x43\x6b\x51','\x71\x43\x6f\x66\x57\x34\x74\x64\x56\x47\x46\x63\x4a\x43\x6f\x34\x57\x35\x79','\x57\x51\x5a\x64\x48\x61\x35\x6d\x57\x4f\x4a\x64\x4d\x71','\x70\x62\x2f\x63\x4f\x47\x42\x64\x54\x73\x70\x64\x4f\x30\x6d','\x57\x50\x43\x48\x78\x38\x6f\x44\x75\x33\x65\x4e\x57\x35\x4f','\x70\x43\x6b\x6e\x61\x6d\x6f\x79\x57\x50\x70\x64\x53\x58\x30','\x70\x47\x70\x64\x48\x38\x6f\x77\x7a\x61','\x57\x50\x75\x6b\x62\x64\x76\x70\x57\x4f\x6e\x51\x57\x51\x38','\x72\x78\x78\x64\x55\x43\x6b\x57\x57\x37\x6c\x63\x4f\x53\x6f\x58\x42\x47','\x74\x61\x4e\x64\x53\x5a\x34\x33\x57\x34\x34\x6e\x71\x47','\x74\x6d\x6f\x37\x57\x52\x43\x39\x57\x50\x4c\x51','\x57\x36\x37\x64\x4c\x71\x66\x41\x57\x50\x4a\x64\x48\x65\x4c\x47','\x75\x53\x6f\x52\x46\x57','\x7a\x75\x61\x57\x57\x50\x42\x64\x4f\x38\x6b\x43\x67\x6d\x6f\x62','\x71\x53\x6f\x53\x46\x53\x6f\x75\x6c\x53\x6f\x48\x6d\x47','\x57\x50\x78\x63\x49\x53\x6b\x76','\x65\x31\x6e\x61\x57\x52\x34','\x71\x32\x33\x63\x4a\x59\x35\x7a\x57\x37\x33\x64\x50\x49\x6d','\x57\x4f\x62\x63\x6c\x4b\x6e\x72\x72\x73\x52\x64\x47\x61','\x6f\x57\x4e\x63\x54\x62\x70\x64\x55\x71','\x57\x50\x75\x36\x74\x53\x6f\x6c\x75\x67\x38','\x57\x51\x71\x35\x57\x37\x4a\x64\x55\x71','\x57\x51\x78\x64\x54\x4d\x76\x77\x57\x4f\x65','\x57\x52\x44\x64\x42\x43\x6b\x4b\x57\x35\x4a\x64\x56\x66\x47','\x6e\x6d\x6b\x65\x64\x43\x6f\x45\x57\x50\x46\x64\x4f\x47\x75','\x6a\x67\x2f\x63\x4e\x77\x4e\x64\x4a\x6d\x6f\x44\x57\x35\x44\x4b','\x62\x38\x6f\x49\x78\x61','\x65\x5a\x46\x64\x4b\x53\x6f\x4a\x43\x38\x6b\x59\x78\x47\x30','\x64\x53\x6f\x56\x73\x43\x6f\x4a\x57\x4f\x57\x76','\x57\x4f\x74\x63\x53\x38\x6f\x6e\x70\x71','\x57\x50\x42\x63\x48\x6d\x6b\x6a\x57\x36\x53\x66','\x57\x4f\x57\x32\x57\x36\x34\x37','\x57\x36\x61\x66\x42\x58\x64\x63\x50\x71\x58\x4a\x6e\x57','\x72\x68\x68\x64\x53\x6d\x6b\x30\x57\x52\x68\x63\x55\x38\x6f\x33\x7a\x71','\x69\x48\x42\x63\x55\x63\x53','\x79\x43\x6b\x4b\x57\x37\x58\x35','\x68\x48\x42\x64\x52\x43\x6f\x39\x6a\x71','\x57\x52\x64\x63\x53\x68\x71','\x70\x31\x64\x64\x56\x53\x6b\x51\x73\x38\x6b\x77\x57\x52\x70\x63\x55\x47','\x67\x78\x2f\x63\x4f\x6d\x6f\x48\x71\x71','\x63\x75\x70\x63\x52\x66\x56\x64\x51\x6d\x6f\x4d','\x57\x50\x69\x30\x64\x43\x6f\x2f','\x61\x43\x6f\x54\x57\x37\x70\x64\x56\x4e\x72\x64\x45\x5a\x65','\x74\x4d\x6d\x79\x57\x4f\x57\x5a\x45\x61\x62\x73','\x73\x64\x74\x63\x4e\x49\x44\x72\x57\x37\x78\x63\x51\x64\x71','\x57\x50\x61\x76\x57\x36\x2f\x64\x4b\x72\x66\x50\x41\x43\x6b\x4d','\x77\x4e\x64\x64\x48\x64\x71\x44','\x65\x5a\x5a\x63\x51\x6d\x6f\x2f\x74\x38\x6b\x45\x57\x52\x46\x64\x53\x57','\x57\x52\x7a\x75\x6f\x38\x6b\x57\x73\x63\x52\x63\x4e\x43\x6f\x73','\x57\x34\x75\x33\x78\x48\x61\x4c\x57\x36\x64\x64\x48\x38\x6b\x32','\x57\x52\x46\x63\x52\x78\x56\x64\x4d\x47\x2f\x63\x4e\x43\x6b\x30\x61\x47','\x72\x38\x6f\x34\x57\x52\x38\x58\x57\x4f\x48\x68\x57\x36\x6c\x63\x4d\x71','\x57\x4f\x43\x76\x57\x34\x33\x64\x49\x47\x6e\x49\x42\x38\x6b\x36','\x57\x51\x7a\x79\x6a\x4a\x7a\x58\x57\x37\x44\x7a\x44\x57','\x57\x4f\x46\x63\x47\x53\x6b\x45\x57\x36\x53','\x57\x52\x65\x7a\x57\x52\x33\x64\x55\x53\x6b\x30\x57\x35\x38\x54\x57\x4f\x4b','\x75\x6d\x6f\x52\x57\x51\x4b\x51\x57\x50\x62\x53','\x6a\x4b\x4e\x63\x52\x65\x4a\x64\x55\x43\x6f\x47\x57\x37\x43\x42','\x66\x61\x50\x42\x57\x52\x70\x64\x4c\x38\x6b\x72','\x6f\x57\x4e\x63\x53\x61\x79','\x57\x4f\x76\x73\x43\x43\x6b\x38\x57\x35\x5a\x64\x54\x75\x34','\x62\x4c\x52\x63\x4b\x71','\x43\x30\x6c\x64\x4d\x38\x6b\x79\x57\x50\x70\x63\x4e\x38\x6f\x62\x77\x61','\x57\x52\x72\x74\x43\x38\x6b\x31\x57\x35\x5a\x64\x51\x71','\x57\x50\x42\x63\x4c\x38\x6b\x45\x57\x36\x34\x6a\x70\x43\x6f\x65\x75\x57','\x78\x6d\x6b\x45\x57\x37\x6d\x74\x57\x50\x50\x70\x45\x65\x47','\x57\x4f\x69\x74\x57\x34\x33\x64\x4c\x58\x76\x4b\x72\x6d\x6b\x78','\x72\x67\x2f\x64\x49\x58\x75\x6c','\x78\x75\x33\x64\x56\x38\x6b\x47','\x75\x53\x6f\x48\x46\x6d\x6f\x43\x69\x38\x6f\x57\x6b\x6d\x6b\x4a','\x57\x4f\x2f\x64\x52\x59\x76\x36\x57\x51\x37\x64\x56\x47','\x57\x4f\x56\x63\x51\x6d\x6b\x32\x57\x37\x37\x64\x4c\x53\x6b\x41\x57\x51\x43','\x72\x68\x68\x64\x50\x38\x6b\x4c\x57\x52\x33\x63\x4f\x43\x6f\x54\x42\x57','\x57\x50\x6d\x7a\x6f\x64\x48\x79\x57\x51\x35\x4d\x57\x51\x38','\x78\x33\x56\x64\x55\x53\x6f\x31\x57\x52\x56\x63\x56\x6d\x6b\x2b\x42\x47','\x57\x35\x6a\x31\x57\x52\x42\x64\x4b\x43\x6f\x4b\x62\x57','\x71\x53\x6f\x4c\x46\x38\x6f\x45\x6b\x6d\x6f\x4f\x6c\x43\x6b\x4c','\x74\x4e\x47\x7a','\x72\x6d\x6f\x49\x44\x38\x6f\x73\x70\x38\x6f\x57','\x57\x50\x65\x6a\x57\x34\x6c\x64\x4d\x71\x6d','\x78\x72\x46\x64\x53\x71\x56\x63\x50\x6d\x6b\x37\x57\x36\x4c\x6d\x6f\x53\x6b\x70\x57\x34\x69\x51','\x62\x47\x33\x64\x48\x6d\x6f\x57\x45\x43\x6b\x50','\x6f\x6d\x6f\x47\x57\x36\x4c\x67','\x57\x51\x42\x63\x51\x78\x2f\x64\x4c\x58\x37\x63\x4b\x6d\x6b\x59\x68\x61','\x71\x6d\x6f\x4d\x46\x43\x6f\x79\x6b\x71','\x73\x4b\x64\x63\x48\x47\x6a\x71\x76\x57','\x57\x51\x48\x37\x57\x37\x37\x64\x53\x43\x6f\x32\x57\x50\x50\x76','\x57\x4f\x65\x2b\x57\x35\x46\x63\x48\x47','\x76\x61\x56\x64\x4d\x38\x6f\x53\x43\x6d\x6b\x5a\x77\x66\x4b','\x44\x53\x6f\x33\x57\x51\x4f\x36','\x79\x38\x6f\x50\x76\x53\x6f\x78\x61\x61','\x57\x4f\x68\x64\x4e\x76\x47','\x57\x35\x5a\x63\x47\x53\x6b\x5a\x71\x57','\x61\x6d\x6f\x34\x57\x37\x42\x64\x49\x67\x4c\x71','\x57\x50\x4e\x64\x4c\x32\x6e\x2b\x57\x51\x79','\x57\x51\x76\x64\x6a\x74\x71\x30\x57\x36\x62\x50\x43\x61','\x57\x50\x79\x33\x57\x34\x78\x63\x48\x38\x6f\x66\x6c\x61','\x57\x35\x4b\x57\x75\x47\x76\x50\x57\x51\x2f\x63\x4a\x53\x6b\x4d','\x57\x4f\x54\x77\x57\x35\x33\x64\x4d\x6d\x6f\x78','\x57\x52\x44\x7a\x69\x59\x76\x48\x57\x37\x61','\x62\x38\x6f\x54\x71\x6d\x6f\x35\x57\x50\x4f','\x70\x6d\x6f\x33\x57\x35\x35\x48\x57\x52\x79','\x74\x53\x6f\x49\x57\x52\x43\x61\x57\x4f\x48\x54\x57\x37\x70\x63\x4d\x61','\x72\x38\x6f\x4f\x57\x52\x57\x57\x57\x4f\x35\x53','\x57\x51\x78\x63\x56\x4e\x46\x64\x4b\x61\x42\x63\x54\x47','\x42\x32\x56\x63\x4d\x64\x48\x69\x57\x37\x2f\x63\x51\x64\x6d','\x57\x52\x64\x64\x4b\x61\x35\x4f\x57\x51\x61','\x73\x33\x4a\x64\x55\x6d\x6b\x36\x46\x47','\x70\x43\x6f\x7a\x57\x37\x37\x63\x4d\x61','\x44\x75\x4a\x64\x52\x68\x53\x32\x57\x35\x69\x72\x77\x71','\x57\x35\x65\x51\x77\x72\x47\x36\x57\x52\x70\x63\x55\x6d\x6b\x58','\x45\x43\x6f\x38\x57\x52\x68\x63\x47\x4d\x4e\x63\x53\x73\x56\x64\x4d\x47','\x57\x50\x46\x63\x51\x6d\x6b\x4b\x57\x36\x34','\x57\x51\x2f\x64\x48\x32\x6a\x41\x57\x50\x43\x54\x57\x4f\x7a\x5a','\x57\x51\x4a\x63\x4e\x6d\x6f\x67\x45\x68\x4f\x47','\x45\x53\x6f\x59\x57\x4f\x2f\x63\x47\x57','\x67\x57\x56\x64\x4e\x61','\x57\x4f\x79\x56\x57\x35\x42\x63\x4d\x38\x6f\x70\x6c\x47','\x62\x73\x64\x64\x56\x38\x6f\x6c\x6e\x53\x6b\x4e\x57\x36\x54\x30','\x57\x36\x6e\x54\x57\x52\x74\x64\x4c\x38\x6f\x4b','\x7a\x47\x6c\x64\x52\x38\x6b\x57\x71\x43\x6b\x69\x57\x52\x42\x64\x53\x71','\x73\x4c\x2f\x63\x4d\x71\x4c\x77\x77\x4a\x38','\x79\x4c\x6d\x54\x57\x4f\x34','\x57\x4f\x65\x69\x57\x37\x5a\x64\x4d\x58\x72\x2b\x44\x6d\x6b\x78','\x57\x51\x39\x4d\x57\x36\x70\x64\x53\x53\x6f\x48','\x72\x30\x68\x64\x52\x74\x4f\x51\x57\x34\x4b\x6e\x74\x47','\x42\x53\x6f\x38\x57\x50\x70\x63\x4d\x78\x56\x63\x55\x49\x33\x64\x48\x47','\x57\x52\x4f\x44\x57\x52\x2f\x64\x54\x53\x6b\x30\x57\x37\x69\x53','\x61\x63\x42\x63\x50\x6d\x6f\x47\x57\x36\x70\x64\x55\x38\x6f\x30\x46\x6d\x6b\x6c\x57\x4f\x7a\x52\x57\x51\x43','\x73\x6d\x6f\x51\x44\x43\x6f\x79\x6e\x71','\x79\x4e\x56\x64\x4e\x43\x6b\x34\x57\x50\x79','\x62\x65\x68\x63\x50\x58\x68\x64\x51\x53\x6f\x52\x57\x37\x66\x66','\x57\x51\x4c\x73\x42\x6d\x6b\x2b\x57\x35\x46\x64\x56\x61','\x57\x52\x7a\x63\x6f\x49\x47\x38\x57\x37\x6e\x4e\x44\x57','\x57\x51\x42\x63\x56\x4d\x4e\x64\x4c\x47\x71','\x57\x50\x47\x31\x62\x4c\x34\x4b\x57\x52\x37\x63\x4c\x6d\x6b\x57','\x57\x52\x56\x63\x49\x58\x44\x6d\x57\x50\x4a\x64\x4e\x4b\x39\x48','\x67\x43\x6f\x46\x57\x37\x74\x63\x49\x6d\x6b\x46\x57\x34\x30','\x65\x53\x6f\x52\x57\x36\x68\x63\x4a\x68\x66\x73\x45\x59\x43','\x57\x4f\x79\x30\x57\x34\x4f','\x57\x52\x75\x6e\x6a\x53\x6f\x6c\x57\x35\x6a\x33\x57\x37\x5a\x63\x52\x47','\x6a\x53\x6b\x43\x61\x6d\x6f\x69\x57\x4f\x70\x64\x53\x47','\x57\x50\x65\x56\x64\x6d\x6f\x49','\x57\x50\x69\x39\x75\x38\x6f\x69\x74\x33\x47\x4d\x57\x36\x65','\x57\x36\x4c\x50\x57\x52\x56\x64\x4f\x78\x75','\x72\x77\x64\x64\x50\x53\x6b\x57\x57\x52\x70\x63\x4f\x47','\x77\x47\x56\x64\x4d\x38\x6f\x4b\x79\x6d\x6b\x35\x73\x76\x71','\x57\x50\x61\x38\x57\x35\x42\x63\x4b\x38\x6f\x66\x6c\x61\x4c\x76','\x57\x51\x54\x36\x57\x37\x6c\x64\x55\x6d\x6f\x2f\x57\x50\x44\x45\x57\x51\x6d','\x57\x4f\x71\x51\x74\x38\x6f\x6e\x75\x32\x4b','\x61\x65\x64\x63\x50\x66\x70\x64\x52\x53\x6f\x36','\x6d\x53\x6b\x65\x64\x53\x6f\x45\x57\x50\x46\x64\x52\x75\x62\x53','\x57\x52\x70\x63\x56\x4d\x4a\x64\x49\x47\x38','\x57\x51\x64\x64\x4a\x47\x54\x61\x57\x4f\x4a\x64\x49\x66\x75','\x76\x65\x43\x59\x57\x52\x69\x63\x72\x5a\x66\x53','\x61\x62\x68\x64\x48\x38\x6f\x47','\x57\x50\x68\x63\x51\x6d\x6b\x4b\x57\x37\x78\x64\x4e\x38\x6b\x45\x57\x52\x65','\x6f\x6d\x6f\x38\x57\x36\x39\x41\x57\x4f\x53','\x57\x51\x70\x64\x54\x4e\x76\x46\x57\x4f\x43\x37\x57\x52\x58\x54','\x57\x50\x47\x36\x57\x34\x37\x63\x4e\x43\x6f\x74','\x57\x51\x74\x63\x4e\x6d\x6f\x70\x46\x78\x4f\x4d\x6d\x6d\x6f\x72','\x62\x38\x6b\x42\x57\x37\x4e\x63\x4a\x53\x6b\x63\x57\x35\x70\x64\x47\x64\x75','\x57\x4f\x2f\x64\x4a\x4c\x4c\x2b\x57\x52\x6d\x70\x57\x4f\x7a\x72','\x79\x53\x6f\x4a\x57\x50\x4a\x63\x47\x33\x2f\x63\x56\x71','\x57\x50\x68\x63\x54\x38\x6f\x42\x69\x43\x6b\x63\x57\x51\x75\x68','\x57\x37\x4e\x63\x51\x49\x6d\x61\x57\x34\x66\x56\x57\x36\x66\x41\x57\x50\x48\x66\x57\x37\x42\x64\x53\x43\x6f\x6e','\x71\x4c\x2f\x63\x4d\x75\x54\x66\x74\x64\x50\x30','\x57\x4f\x66\x69\x6d\x31\x31\x42\x78\x33\x74\x63\x4b\x71','\x57\x4f\x39\x74\x57\x35\x52\x64\x55\x43\x6f\x35','\x62\x47\x33\x64\x48\x6d\x6f\x31\x45\x53\x6b\x5a\x78\x58\x57','\x57\x51\x4c\x37\x57\x37\x2f\x64\x51\x43\x6f\x32\x57\x50\x76\x70\x57\x50\x47','\x72\x4b\x68\x64\x53\x59\x34\x4f\x57\x34\x4b','\x68\x53\x6b\x6e\x64\x6d\x6f\x70\x57\x4f\x61','\x57\x4f\x47\x2f\x57\x37\x30','\x57\x50\x79\x42\x57\x35\x74\x64\x4f\x72\x76\x34\x41\x43\x6b\x61','\x72\x59\x56\x64\x51\x43\x6f\x74\x61\x6d\x6b\x39\x57\x52\x4c\x31','\x57\x37\x39\x38\x57\x51\x46\x64\x56\x4b\x74\x63\x4c\x4a\x43\x56','\x57\x52\x4a\x64\x56\x77\x76\x64\x57\x50\x30\x58\x57\x51\x50\x37','\x57\x51\x6e\x52\x57\x51\x46\x64\x4f\x32\x56\x63\x49\x64\x43\x36','\x57\x50\x6d\x6c\x67\x38\x6f\x50\x57\x36\x54\x45','\x57\x52\x6e\x30\x6e\x74\x71','\x71\x4c\x33\x63\x48\x72\x35\x64\x7a\x49\x61\x37','\x57\x50\x43\x6f\x57\x34\x5a\x64\x4a\x4a\x4c\x2b\x46\x53\x6b\x65','\x46\x6d\x6b\x55\x57\x36\x4f','\x57\x50\x6c\x63\x4c\x38\x6b\x41\x57\x37\x53\x66\x61\x6d\x6f\x75\x75\x71','\x57\x52\x62\x79\x6b\x43\x6b\x57\x46\x4a\x70\x63\x4c\x38\x6f\x50','\x6f\x47\x4a\x63\x56\x62\x4b','\x75\x4e\x42\x63\x4d\x74\x6a\x4e\x57\x36\x74\x63\x54\x64\x75','\x71\x38\x6f\x52\x44\x43\x6f\x65\x65\x53\x6f\x57\x6d\x38\x6b\x31','\x57\x50\x38\x35\x61\x38\x6f\x4a\x57\x37\x62\x74','\x41\x31\x56\x64\x51\x38\x6b\x38','\x43\x38\x6b\x5a\x57\x36\x66\x4f\x46\x67\x6d','\x45\x75\x56\x64\x54\x43\x6b\x57\x76\x38\x6b\x73\x57\x50\x52\x63\x52\x71','\x57\x51\x44\x58\x57\x36\x6c\x64\x52\x53\x6f\x59\x57\x50\x58\x45','\x75\x33\x6c\x64\x53\x53\x6b\x36\x57\x51\x64\x63\x55\x57','\x44\x53\x6f\x71\x57\x34\x2f\x64\x55\x47\x6d','\x57\x34\x6d\x53\x45\x58\x34\x2b\x57\x52\x37\x63\x4c\x43\x6b\x61','\x62\x4e\x74\x63\x55\x53\x6f\x38\x72\x38\x6f\x75\x57\x52\x4b','\x79\x33\x71\x6f\x57\x50\x61\x56\x79\x71\x53','\x6f\x48\x2f\x63\x49\x48\x64\x64\x55\x73\x70\x64\x50\x33\x75','\x57\x51\x54\x44\x6a\x5a\x39\x31\x57\x36\x50\x7a\x79\x61','\x57\x50\x30\x6f\x63\x73\x35\x31\x57\x52\x48\x53\x57\x51\x4b','\x57\x35\x70\x63\x4f\x43\x6f\x41\x69\x38\x6b\x6d\x57\x52\x71\x6e\x6a\x47','\x57\x4f\x52\x63\x47\x6d\x6b\x70\x57\x37\x65\x70\x70\x6d\x6f\x63','\x79\x33\x71\x6f\x57\x4f\x38\x53\x45\x72\x31\x65','\x57\x35\x68\x63\x47\x38\x6b\x69\x74\x53\x6b\x33\x57\x34\x52\x64\x50\x75\x75','\x57\x50\x42\x63\x4c\x53\x6b\x70\x57\x36\x4f\x66\x6d\x38\x6f\x43\x61\x61','\x57\x51\x47\x46\x57\x35\x47\x62\x42\x53\x6b\x44','\x6b\x43\x6f\x38\x57\x36\x48\x42\x57\x50\x4f\x76\x57\x51\x4c\x6e','\x72\x53\x6f\x74\x57\x34\x74\x64\x51\x47\x30','\x57\x51\x42\x64\x54\x33\x66\x75\x57\x50\x43\x54','\x78\x33\x6c\x63\x4d\x63\x76\x6c','\x57\x35\x70\x63\x4a\x6d\x6b\x4e','\x72\x76\x61\x6e\x57\x51\x7a\x6b\x57\x52\x56\x63\x49\x38\x6f\x48','\x69\x48\x4e\x64\x4c\x6d\x6f\x2f\x6b\x6d\x6b\x64\x57\x34\x7a\x6f','\x57\x52\x62\x59\x61\x78\x31\x39\x42\x4b\x5a\x63\x53\x71','\x57\x52\x66\x6a\x6c\x6d\x6b\x52\x45\x73\x61','\x57\x35\x5a\x63\x50\x6d\x6b\x6f\x46\x6d\x6b\x61\x57\x51\x6d\x46\x69\x71','\x57\x51\x38\x32\x62\x53\x6f\x49\x57\x37\x7a\x6c\x57\x35\x64\x63\x56\x61','\x45\x31\x65\x2b\x57\x50\x74\x64\x52\x38\x6b\x43','\x73\x65\x42\x63\x48\x58\x48\x79\x73\x57','\x75\x76\x42\x64\x53\x4a\x71\x32','\x75\x4d\x68\x64\x50\x6d\x6b\x35\x57\x52\x56\x63\x52\x6d\x6f\x2f\x46\x47','\x74\x4c\x6c\x63\x47\x71\x6a\x79\x76\x57\x53\x39','\x57\x52\x57\x42\x57\x52\x2f\x64\x50\x53\x6b\x30\x57\x36\x71','\x57\x35\x34\x54\x75\x58\x71\x58\x57\x50\x74\x63\x47\x71','\x57\x50\x58\x78\x57\x35\x64\x64\x49\x47\x44\x4c\x44\x43\x6b\x6a','\x57\x35\x68\x63\x47\x38\x6b\x58\x75\x38\x6b\x2f','\x57\x52\x43\x4e\x57\x52\x5a\x64\x56\x53\x6b\x2b\x57\x36\x6d\x30\x57\x4f\x4b','\x67\x71\x68\x64\x4d\x43\x6f\x51\x7a\x57','\x63\x48\x39\x7a','\x76\x6d\x6f\x30\x79\x53\x6f\x6a\x70\x38\x6f\x48\x69\x6d\x6b\x54','\x57\x4f\x69\x49\x6e\x53\x6f\x47\x57\x37\x6a\x6f\x57\x34\x2f\x63\x48\x47','\x6e\x53\x6f\x41\x57\x34\x56\x64\x52\x65\x7a\x4e\x76\x48\x75','\x57\x51\x46\x64\x4c\x61\x54\x7a\x57\x50\x56\x64\x49\x65\x6a\x72','\x6f\x6d\x6f\x38\x57\x34\x6a\x71\x57\x4f\x53\x67\x57\x52\x6a\x41','\x71\x66\x42\x64\x54\x74\x75\x4e\x57\x35\x57\x71\x73\x61','\x57\x51\x65\x7a\x57\x51\x52\x64\x55\x38\x6b\x2b\x57\x36\x35\x59\x57\x4f\x75','\x46\x43\x6f\x4d\x57\x4f\x37\x63\x48\x71','\x6b\x6d\x6f\x2b\x57\x36\x35\x62\x57\x4f\x53\x72\x57\x52\x58\x66','\x57\x34\x4e\x63\x4b\x38\x6f\x6b\x57\x52\x43\x73\x6e\x38\x6f\x63\x75\x61','\x57\x4f\x5a\x64\x4f\x49\x66\x4c\x57\x52\x74\x64\x4f\x67\x39\x6b','\x57\x51\x65\x6e\x6c\x5a\x35\x57\x57\x36\x7a\x51\x6f\x61','\x62\x65\x6c\x63\x4e\x76\x78\x64\x53\x53\x6f\x2b\x57\x37\x7a\x63','\x57\x37\x71\x4c\x57\x51\x56\x64\x4f\x78\x78\x63\x4b\x4a\x43\x38','\x57\x35\x31\x30\x57\x51\x2f\x64\x4c\x53\x6f\x53\x62\x72\x53\x2f','\x77\x43\x6f\x73\x57\x50\x78\x63\x4c\x66\x69','\x57\x50\x61\x78\x57\x52\x52\x64\x51\x57','\x68\x53\x6f\x63\x57\x36\x37\x63\x48\x6d\x6b\x62\x57\x35\x78\x64\x4b\x72\x47','\x78\x76\x46\x64\x47\x73\x4b\x32\x57\x35\x57\x44','\x6a\x53\x6b\x65\x63\x6d\x6f\x46\x57\x50\x6d','\x57\x35\x79\x7a\x41\x71\x2f\x63\x4f\x61\x44\x4f\x6e\x57','\x76\x6d\x6b\x69\x57\x37\x6e\x6e\x57\x4f\x54\x6a\x46\x47','\x42\x75\x46\x64\x55\x53\x6b\x51\x73\x38\x6b\x75\x57\x51\x5a\x63\x53\x71','\x57\x51\x70\x64\x54\x4e\x6a\x77\x57\x4f\x4f','\x76\x53\x6f\x48\x57\x50\x79\x57\x57\x4f\x54\x39\x57\x37\x70\x63\x54\x71','\x66\x63\x52\x64\x51\x6d\x6f\x62\x61\x6d\x6b\x38\x57\x37\x44\x45','\x57\x4f\x43\x2b\x57\x35\x46\x63\x47\x53\x6f\x6f\x6a\x58\x34\x45','\x57\x52\x7a\x69\x6d\x73\x66\x37\x57\x36\x31\x31\x7a\x47','\x7a\x53\x6b\x31\x57\x36\x76\x35\x43\x33\x75','\x57\x52\x74\x63\x56\x4d\x4a\x64\x4c\x57','\x66\x38\x6b\x68\x62\x43\x6f\x66','\x64\x65\x78\x64\x48\x43\x6f\x47\x7a\x6d\x6b\x4f\x73\x71\x4f','\x57\x34\x33\x63\x47\x53\x6b\x35','\x63\x72\x31\x69\x57\x51\x37\x64\x4e\x6d\x6b\x73','\x57\x4f\x52\x63\x47\x6d\x6b\x76\x57\x37\x38\x75\x6f\x47','\x57\x34\x4c\x4c\x57\x51\x4a\x64\x48\x38\x6f\x64\x67\x47\x53\x31','\x57\x52\x62\x69\x6d\x73\x75','\x73\x66\x2f\x63\x4d\x47\x48\x43','\x57\x52\x46\x63\x55\x4d\x6c\x64\x4a\x71','\x57\x51\x58\x36\x57\x51\x46\x64\x55\x32\x2f\x63\x4a\x74\x57\x50','\x63\x67\x74\x63\x55\x38\x6f\x38\x73\x43\x6f\x62','\x6d\x74\x37\x64\x55\x6d\x6f\x6a\x71\x38\x6b\x79\x46\x49\x79','\x72\x76\x61\x7a\x57\x51\x54\x6d\x57\x4f\x4a\x63\x4d\x53\x6f\x31','\x57\x4f\x57\x4c\x57\x37\x38\x54\x76\x43\x6b\x4f\x57\x52\x6d\x2b','\x57\x50\x37\x63\x53\x38\x6f\x76\x70\x6d\x6b\x46','\x68\x6d\x6f\x4f\x57\x37\x30','\x76\x30\x53\x61\x57\x52\x66\x6b\x57\x50\x53','\x57\x52\x7a\x6d\x69\x74\x71','\x76\x43\x6f\x54\x44\x6d\x6f\x70\x70\x47','\x7a\x6d\x6f\x73\x78\x53\x6f\x57\x64\x6d\x6f\x75\x68\x53\x6b\x6e','\x61\x6d\x6f\x4a\x57\x36\x4f','\x77\x65\x46\x63\x48\x57\x6a\x7a\x78\x47','\x57\x52\x6e\x79\x6c\x64\x2f\x63\x4c\x43\x6b\x35\x73\x6d\x6b\x65','\x76\x68\x30\x66\x57\x51\x65','\x57\x51\x6c\x63\x53\x33\x42\x64\x4d\x57\x56\x63\x52\x6d\x6b\x36','\x57\x51\x48\x37\x57\x37\x78\x64\x50\x61','\x45\x38\x6b\x31\x57\x36\x58\x2f\x41\x78\x79\x71\x71\x57','\x57\x50\x61\x50\x57\x35\x42\x63\x4e\x43\x6f\x74','\x57\x34\x69\x4d\x72\x61\x75\x6c\x57\x52\x74\x63\x47\x38\x6b\x36','\x57\x50\x6c\x63\x49\x53\x6b\x33\x57\x37\x43\x78\x6e\x38\x6f\x64\x79\x57','\x57\x34\x5a\x63\x47\x53\x6b\x49\x74\x53\x6b\x39\x57\x35\x70\x64\x4e\x30\x30','\x57\x50\x71\x38\x57\x34\x68\x63\x47\x71','\x79\x6d\x6f\x59\x57\x50\x46\x63\x47\x4d\x57','\x57\x52\x37\x64\x4c\x78\x6e\x68\x57\x50\x6d\x37\x57\x52\x48\x51','\x57\x34\x58\x31\x57\x51\x4a\x64\x4d\x57','\x45\x33\x34\x75\x57\x50\x65','\x57\x52\x74\x63\x4a\x6d\x6f\x70\x45\x33\x57\x4d\x62\x53\x6f\x6b','\x74\x38\x6f\x58\x46\x6d\x6f\x46\x6b\x6d\x6f\x32','\x57\x34\x39\x30\x57\x51\x4e\x64\x4d\x53\x6f\x56\x65\x47','\x57\x35\x71\x52\x75\x48\x61\x35','\x57\x35\x79\x7a\x63\x63\x48\x45\x57\x52\x4c\x37\x57\x37\x30','\x57\x50\x43\x76\x57\x34\x30','\x57\x52\x4e\x64\x55\x78\x66\x77\x57\x4f\x65\x78\x57\x52\x48\x57','\x57\x37\x30\x63\x41\x71\x37\x63\x4f\x30\x48\x30\x69\x71','\x71\x67\x4e\x64\x50\x73\x38\x4c\x57\x35\x4b\x66\x77\x71','\x77\x65\x46\x63\x4c\x62\x39\x63\x73\x47','\x57\x34\x5a\x63\x47\x53\x6b\x49\x78\x43\x6b\x57\x57\x4f\x38','\x75\x53\x6f\x57\x79\x38\x6f\x79\x6c\x6d\x6f\x50\x79\x43\x6b\x4a','\x57\x35\x2f\x63\x4e\x53\x6b\x59','\x71\x53\x6f\x52\x46\x38\x6f\x6a\x6b\x6d\x6f\x51\x6e\x43\x6b\x46','\x72\x65\x57\x68\x57\x51\x54\x61\x57\x50\x37\x63\x47\x61','\x57\x34\x37\x63\x50\x6d\x6b\x5a','\x57\x52\x39\x66\x70\x5a\x5a\x63\x4a\x53\x6b\x55\x73\x6d\x6b\x65','\x66\x30\x70\x63\x53\x75\x4e\x64\x53\x6d\x6f\x36','\x45\x43\x6f\x45\x57\x50\x4a\x63\x4d\x78\x2f\x63\x53\x64\x4a\x64\x52\x71','\x57\x35\x72\x4c\x57\x52\x52\x64\x4c\x38\x6f\x4b\x62\x58\x57','\x57\x36\x43\x69\x42\x71\x4a\x63\x54\x71\x57','\x57\x4f\x74\x63\x4b\x53\x6b\x59\x57\x37\x5a\x64\x4c\x43\x6b\x68\x57\x51\x7a\x6d','\x77\x31\x6c\x63\x48\x58\x48\x73','\x77\x33\x68\x64\x50\x38\x6b\x4d\x57\x52\x70\x63\x51\x6d\x6f\x37','\x57\x52\x4b\x42\x61\x4a\x6e\x52\x57\x50\x75\x50\x57\x51\x47','\x70\x6d\x6f\x69\x57\x34\x68\x64\x52\x76\x48\x36\x71\x62\x61','\x76\x38\x6b\x35\x57\x34\x72\x72\x57\x52\x6d','\x57\x51\x68\x63\x4f\x53\x6b\x5a\x57\x36\x6d','\x6f\x53\x6f\x74\x57\x34\x2f\x64\x50\x66\x34','\x72\x68\x78\x64\x4f\x38\x6b\x6b\x57\x51\x68\x63\x55\x38\x6f\x53\x42\x57','\x78\x33\x6c\x63\x4d\x63\x76\x6c\x57\x34\x2f\x63\x4f\x49\x75','\x65\x63\x37\x64\x51\x43\x6f\x43','\x46\x53\x6f\x57\x43\x6d\x6f\x75\x69\x43\x6f\x42\x6a\x6d\x6b\x32','\x57\x4f\x4c\x63\x6f\x61','\x65\x61\x46\x64\x47\x6d\x6f\x52\x43\x53\x6b\x56\x74\x72\x30','\x6f\x48\x2f\x63\x52\x71\x61','\x72\x65\x57\x79','\x57\x50\x68\x63\x51\x6d\x6b\x4b\x57\x36\x52\x64\x4e\x6d\x6b\x67\x57\x51\x44\x44','\x57\x4f\x52\x63\x4f\x38\x6b\x30\x57\x37\x42\x64\x48\x53\x6b\x6d\x57\x52\x66\x6c','\x76\x4c\x68\x64\x51\x74\x43\x47\x57\x37\x61\x62\x78\x47','\x57\x51\x4e\x63\x48\x38\x6f\x2f\x41\x68\x34\x58\x63\x47','\x57\x4f\x69\x70\x57\x34\x33\x64\x4e\x72\x6a\x4c\x44\x6d\x6b\x6c','\x46\x38\x6f\x32\x57\x4f\x37\x63\x4e\x78\x68\x63\x55\x49\x52\x64\x56\x61','\x57\x52\x46\x63\x52\x78\x56\x64\x4c\x58\x4e\x63\x56\x38\x6b\x2b\x61\x71','\x6c\x66\x6c\x63\x49\x76\x52\x64\x50\x61','\x46\x4e\x38\x42\x57\x50\x79\x4b\x73\x62\x4c\x61','\x45\x66\x6d\x31\x57\x4f\x2f\x64\x55\x61','\x66\x30\x70\x63\x53\x30\x4e\x64\x55\x43\x6f\x39\x57\x37\x44\x30','\x57\x50\x74\x63\x47\x6d\x6b\x69\x57\x36\x47\x70\x70\x6d\x6f\x63\x72\x71','\x57\x34\x53\x65\x41\x61\x75','\x79\x62\x4e\x63\x55\x72\x78\x64\x51\x74\x70\x64\x4f\x5a\x65','\x73\x4c\x68\x63\x4d\x71\x35\x74','\x44\x38\x6b\x55\x57\x36\x62\x30','\x57\x51\x66\x42\x6a\x5a\x39\x47\x57\x35\x58\x4c\x42\x61','\x57\x35\x6e\x4b\x57\x52\x37\x64\x4e\x38\x6f\x59','\x57\x4f\x69\x74\x57\x34\x33\x64\x4d\x47','\x43\x66\x6c\x64\x52\x53\x6b\x51\x63\x43\x6f\x6f\x57\x36\x4a\x64\x51\x61','\x57\x50\x38\x2b\x57\x37\x34\x38\x78\x43\x6b\x51\x57\x50\x47\x50','\x57\x51\x31\x64\x69\x74\x31\x48\x57\x36\x44\x4a\x43\x61','\x79\x75\x61\x51\x57\x4f\x37\x64\x51\x43\x6b\x7a\x63\x43\x6f\x77','\x57\x50\x54\x4f\x73\x53\x6b\x46\x57\x36\x56\x64\x4c\x67\x33\x64\x4f\x71','\x61\x43\x6f\x50\x57\x37\x46\x64\x4b\x77\x48\x7a\x45\x4a\x65','\x57\x35\x4f\x4d\x71\x58\x61\x54\x57\x52\x52\x63\x4b\x38\x6b\x49','\x57\x50\x71\x4f\x57\x34\x65','\x57\x50\x75\x48\x57\x36\x4e\x64\x50\x43\x6f\x6d\x57\x4f\x4c\x45\x57\x52\x6d','\x57\x36\x65\x6b\x45\x63\x70\x63\x53\x57\x44\x52\x6e\x61','\x57\x34\x39\x4c\x57\x51\x4a\x64\x47\x6d\x6f\x4f\x67\x47\x65\x74','\x45\x53\x6b\x45\x75\x6d\x6b\x74\x57\x50\x56\x64\x50\x62\x31\x2b','\x45\x68\x34\x74\x57\x35\x38\x51\x7a\x65\x35\x66','\x57\x51\x39\x49\x57\x37\x74\x64\x53\x38\x6f\x4e\x57\x4f\x47','\x64\x59\x52\x64\x55\x53\x6f\x77\x64\x6d\x6b\x48\x57\x36\x4f','\x73\x76\x5a\x63\x4b\x72\x6a\x4f\x74\x73\x79\x48','\x57\x37\x4f\x46\x46\x48\x78\x63\x56\x47\x38','\x79\x38\x6f\x57\x57\x50\x5a\x63\x4d\x78\x56\x63\x53\x61','\x74\x43\x6b\x75\x57\x37\x62\x42','\x57\x51\x74\x64\x52\x78\x54\x72\x57\x50\x43\x54','\x71\x76\x43\x46\x57\x51\x30','\x57\x4f\x65\x6d\x57\x34\x42\x64\x4b\x62\x6a\x2f','\x75\x43\x6f\x36\x57\x52\x53\x52\x57\x4f\x4c\x52','\x67\x58\x33\x64\x47\x38\x6f\x31\x79\x6d\x6b\x50\x43\x57\x30','\x57\x51\x65\x6d\x57\x51\x5a\x64\x54\x38\x6b\x57\x57\x36\x30','\x45\x31\x46\x63\x56\x62\x66\x5a','\x57\x36\x4f\x6b\x79\x48\x2f\x63\x54\x71\x72\x51\x69\x71','\x46\x4c\x42\x64\x56\x53\x6b\x39','\x76\x75\x56\x64\x55\x43\x6b\x57\x57\x51\x68\x63\x56\x6d\x6f\x2f\x42\x71','\x74\x43\x6b\x69\x57\x37\x6e\x6b','\x63\x43\x6f\x59\x75\x43\x6f\x59\x57\x4f\x71\x78\x68\x4d\x69','\x57\x52\x48\x6a\x45\x53\x6b\x55','\x57\x51\x4c\x79\x6d\x6d\x6b\x58','\x57\x4f\x74\x63\x49\x53\x6b\x46\x57\x36\x65\x2f\x6a\x53\x6f\x64\x76\x71','\x57\x4f\x69\x5a\x57\x36\x65\x54\x77\x38\x6b\x53','\x65\x66\x78\x63\x50\x30\x37\x64\x47\x38\x6f\x4e\x57\x36\x43','\x72\x68\x68\x64\x50\x43\x6b\x47\x57\x52\x46\x63\x56\x6d\x6f\x51\x73\x61','\x79\x77\x6d\x79\x57\x4f\x4b\x51\x45\x62\x54\x73','\x69\x48\x78\x63\x53\x47','\x57\x34\x35\x4c\x57\x51\x4a\x64\x48\x53\x6f\x54\x61\x71','\x43\x4b\x56\x64\x51\x6d\x6b\x51\x74\x43\x6b\x75\x57\x51\x6c\x63\x47\x61','\x45\x43\x6f\x32\x57\x4f\x37\x63\x4d\x71','\x57\x4f\x58\x50\x66\x53\x6b\x71\x77\x62\x46\x63\x55\x38\x6f\x31','\x44\x66\x33\x63\x4d\x47\x76\x4f\x75\x59\x43\x37','\x57\x36\x4c\x36\x57\x52\x52\x64\x4f\x77\x4b','\x6a\x57\x7a\x4f\x57\x35\x64\x63\x55\x43\x6f\x6e\x73\x38\x6b\x65\x57\x52\x69\x5a\x76\x6d\x6b\x75\x57\x52\x42\x64\x4d\x47','\x61\x43\x6f\x4a\x57\x37\x68\x64\x4c\x77\x6a\x66\x76\x4a\x43','\x57\x52\x42\x63\x4f\x6d\x6b\x31\x57\x35\x4b\x50\x64\x43\x6f\x4b\x43\x61','\x6f\x4b\x70\x63\x50\x66\x52\x64\x53\x38\x6f\x38\x57\x37\x43','\x41\x6d\x6f\x48\x57\x4f\x2f\x63\x47\x4d\x57','\x44\x75\x2f\x63\x53\x47\x7a\x35\x57\x34\x64\x63\x4d\x72\x61','\x57\x51\x79\x44\x57\x4f\x68\x64\x54\x53\x6b\x30\x57\x37\x71\x2b\x57\x4f\x75','\x57\x52\x35\x4d\x57\x37\x64\x64\x56\x53\x6f\x32\x57\x51\x4c\x45\x57\x52\x79','\x71\x4e\x5a\x63\x4a\x4a\x35\x75\x57\x36\x71','\x72\x38\x6f\x73\x57\x35\x64\x64\x4f\x57\x56\x63\x47\x53\x6f\x4c\x57\x35\x30','\x57\x4f\x52\x63\x4f\x38\x6b\x5a\x57\x37\x2f\x64\x49\x57','\x6e\x38\x6b\x6e\x62\x43\x6f\x6f\x57\x50\x4e\x64\x4f\x47\x75','\x6b\x49\x44\x43\x57\x52\x4a\x64\x52\x47','\x44\x4b\x56\x64\x50\x63\x69','\x6c\x6d\x6f\x76\x75\x6d\x6f\x42\x57\x52\x4b','\x57\x52\x42\x63\x4e\x6d\x6f\x79\x43\x47','\x57\x4f\x61\x31\x57\x35\x61','\x57\x51\x72\x48\x57\x37\x5a\x64\x56\x38\x6f\x32\x57\x4f\x4b','\x79\x76\x4f\x32\x57\x4f\x37\x64\x4f\x43\x6b\x72\x65\x38\x6f\x75','\x57\x4f\x4f\x70\x57\x34\x37\x64\x4e\x61\x6e\x2b','\x57\x51\x65\x2b\x57\x37\x68\x64\x53\x73\x76\x68\x72\x6d\x6b\x4b','\x79\x77\x6d\x73\x57\x50\x69\x5a\x79\x5a\x66\x76','\x7a\x38\x6f\x79\x57\x50\x75\x74\x57\x51\x50\x44\x57\x35\x70\x63\x51\x71','\x57\x4f\x35\x67\x62\x63\x48\x79\x57\x51\x39\x4d\x57\x51\x38','\x6f\x38\x6b\x6c\x61\x6d\x6f\x69\x57\x50\x70\x64\x50\x71','\x42\x75\x46\x64\x51\x6d\x6b\x53\x73\x6d\x6b\x6f','\x42\x66\x42\x64\x51\x43\x6b\x57\x73\x53\x6b\x44','\x78\x30\x68\x63\x4c\x61\x76\x65\x73\x74\x53\x4d','\x57\x36\x42\x63\x4d\x53\x6f\x6f\x41\x4e\x34\x47\x64\x53\x6f\x72','\x57\x4f\x66\x37\x64\x72\x58\x76\x57\x35\x6e\x7a\x74\x47','\x6c\x72\x78\x63\x53\x72\x68\x64\x50\x61','\x57\x37\x39\x38\x57\x51\x4e\x64\x55\x4d\x37\x63\x4c\x57','\x7a\x43\x6b\x30\x57\x37\x44\x4c','\x57\x50\x43\x38\x77\x71','\x44\x33\x47\x74\x57\x50\x79\x57\x46\x57','\x76\x43\x6b\x69\x57\x36\x35\x7a\x57\x50\x35\x67','\x66\x53\x6f\x74\x57\x37\x64\x64\x49\x67\x6a\x66\x76\x4a\x4b','\x73\x38\x6b\x69\x57\x37\x6e\x6f\x57\x4f\x76\x61\x41\x65\x79','\x57\x50\x61\x31\x57\x35\x43','\x57\x4f\x6d\x61\x57\x50\x78\x64\x53\x43\x6b\x33','\x57\x52\x70\x63\x48\x38\x6f\x61\x44\x68\x61\x4c\x61\x71','\x57\x35\x79\x43\x64\x4a\x66\x67\x57\x37\x58\x36\x57\x51\x4b','\x71\x33\x42\x63\x4b\x74\x31\x44\x57\x52\x64\x63\x53\x49\x38','\x66\x43\x6f\x54\x57\x36\x4e\x64\x49\x67\x54\x6f','\x75\x53\x6f\x57\x43\x6d\x6f\x6a\x6f\x6d\x6f\x33','\x76\x77\x56\x63\x4f\x49\x35\x6b\x57\x36\x6c\x63\x51\x74\x69','\x76\x67\x56\x63\x4b\x4a\x54\x69\x57\x37\x78\x63\x4f\x48\x38','\x6f\x57\x4e\x63\x53\x61\x42\x63\x53\x74\x42\x64\x4f\x78\x4b','\x57\x36\x31\x6c\x42\x38\x6f\x54\x44\x63\x2f\x63\x4b\x38\x6f\x63','\x57\x34\x35\x4c\x57\x51\x4a\x64\x47\x38\x6f\x55\x67\x58\x57\x50','\x6e\x63\x74\x63\x53\x43\x6f\x33\x45\x43\x6f\x78\x57\x51\x37\x64\x54\x57','\x57\x50\x6d\x50\x77\x53\x6f\x78\x74\x77\x4b','\x77\x78\x42\x64\x56\x53\x6b\x57\x57\x52\x68\x63\x55\x57','\x78\x33\x52\x64\x54\x38\x6b\x36\x57\x52\x2f\x63\x56\x38\x6f\x59\x42\x57','\x6a\x38\x6b\x6e\x66\x53\x6f\x6f\x57\x50\x2f\x64\x54\x71\x54\x73','\x77\x67\x64\x64\x56\x6d\x6b\x4e\x57\x52\x33\x63\x56\x38\x6f\x33\x41\x71','\x73\x53\x6b\x7a\x57\x36\x39\x6f\x57\x52\x76\x43\x46\x4b\x69','\x57\x50\x71\x65\x61\x59\x71','\x57\x51\x7a\x58\x57\x37\x2f\x64\x55\x53\x6f\x4e\x57\x50\x6d','\x57\x50\x34\x4c\x57\x37\x4b\x54\x77\x43\x6b\x31','\x57\x4f\x75\x77\x57\x34\x2f\x64\x4e\x61\x44\x56\x43\x61','\x72\x6d\x6f\x32\x79\x38\x6f\x73\x70\x57','\x66\x73\x64\x64\x52\x53\x6f\x67\x64\x6d\x6b\x48\x57\x34\x7a\x49','\x45\x6d\x6f\x66\x57\x34\x4a\x64\x56\x48\x34','\x6e\x6d\x6b\x65\x64\x43\x6f\x4a\x57\x4f\x6c\x64\x51\x61\x54\x2f','\x7a\x38\x6f\x79\x57\x50\x75\x73\x57\x52\x31\x69\x57\x35\x37\x63\x55\x57','\x57\x50\x34\x4c\x57\x37\x4b\x48\x76\x53\x6b\x2f','\x75\x58\x78\x64\x54\x61\x5a\x63\x51\x43\x6b\x37\x57\x52\x6e\x36\x66\x53\x6b\x41\x57\x37\x43\x46\x65\x47','\x57\x50\x38\x30\x57\x37\x47\x39\x76\x6d\x6b\x53','\x69\x59\x76\x6b\x57\x34\x39\x57\x69\x4c\x47\x77\x79\x43\x6b\x55\x6e\x68\x62\x42\x57\x36\x57','\x6c\x38\x6f\x48\x57\x36\x48\x62\x57\x50\x57\x67\x57\x4f\x6a\x6f','\x74\x43\x6b\x46\x57\x37\x76\x71\x57\x4f\x4c\x70\x42\x30\x79','\x57\x34\x48\x42\x57\x52\x33\x64\x47\x4b\x53','\x64\x77\x70\x63\x50\x53\x6f\x49','\x70\x62\x2f\x63\x50\x47\x68\x64\x53\x63\x6d','\x75\x53\x6f\x75\x57\x35\x68\x64\x51\x61\x78\x63\x4b\x38\x6f\x4c\x57\x34\x53','\x71\x38\x6f\x58\x7a\x43\x6b\x44\x6f\x43\x6f\x54\x6a\x6d\x6b\x59','\x76\x38\x6f\x39\x57\x52\x38\x54\x57\x35\x66\x35\x57\x36\x42\x63\x4b\x57','\x57\x52\x66\x6a\x6d\x43\x6b\x59\x73\x64\x78\x63\x4c\x38\x6f\x78','\x57\x4f\x46\x64\x47\x78\x76\x45\x57\x50\x61','\x57\x4f\x70\x63\x4e\x43\x6b\x6c\x57\x37\x30\x6f\x69\x43\x6f\x79\x76\x47','\x6d\x6d\x6f\x52\x57\x36\x4c\x75\x57\x50\x30\x76\x57\x51\x4c\x6a','\x57\x4f\x69\x6f\x68\x59\x4b','\x75\x75\x6c\x64\x50\x4a\x71\x32\x57\x34\x4b','\x71\x76\x46\x64\x50\x73\x4c\x50\x57\x35\x57\x64\x73\x61','\x57\x35\x76\x5a\x57\x50\x33\x64\x4d\x53\x6f\x56\x68\x62\x53\x50','\x57\x4f\x69\x7a\x64\x4a\x61','\x57\x36\x53\x65\x41\x61\x75','\x77\x68\x46\x64\x54\x43\x6b\x48\x57\x52\x46\x63\x51\x57','\x63\x4d\x78\x63\x56\x43\x6f\x51\x73\x38\x6f\x64\x57\x51\x4a\x64\x50\x71','\x57\x50\x79\x46\x57\x35\x64\x64\x4a\x47\x4c\x49\x41\x6d\x6b\x61','\x57\x51\x70\x63\x4a\x38\x6f\x6e\x44\x77\x30\x4d','\x57\x50\x42\x63\x54\x6d\x6f\x7a\x70\x6d\x6b\x46\x57\x52\x69','\x71\x43\x6f\x48\x57\x52\x71\x52\x57\x50\x4c\x32\x57\x37\x78\x64\x4d\x57','\x70\x6d\x6b\x67\x61\x53\x6f\x74\x57\x50\x56\x64\x53\x71\x6a\x4f','\x57\x35\x61\x50\x62\x53\x6f\x5a\x57\x36\x44\x6f\x57\x34\x33\x63\x48\x61','\x57\x34\x62\x49\x57\x50\x33\x64\x48\x53\x6b\x79\x45\x76\x75\x79\x57\x52\x56\x63\x4f\x77\x2f\x63\x51\x49\x4b','\x6d\x43\x6f\x52\x57\x37\x6e\x73\x57\x4f\x30\x43','\x57\x52\x48\x58\x57\x36\x64\x64\x51\x6d\x6f\x32\x57\x4f\x48\x70\x57\x4f\x75','\x61\x43\x6f\x57\x45\x43\x6f\x79\x42\x43\x6f\x33\x69\x6d\x6b\x54','\x57\x51\x76\x6a\x68\x74\x48\x36\x57\x37\x6e\x5a\x44\x57','\x57\x35\x46\x63\x47\x38\x6b\x57\x67\x53\x6b\x56\x57\x34\x4a\x64\x52\x65\x43','\x71\x75\x68\x64\x53\x59\x38\x67\x57\x35\x69\x61\x76\x61','\x62\x68\x78\x63\x52\x61','\x6b\x47\x54\x66\x57\x51\x37\x64\x4b\x6d\x6b\x67\x46\x38\x6b\x68','\x57\x35\x39\x4f\x57\x52\x37\x64\x4b\x53\x6f\x58','\x57\x51\x6e\x36\x57\x34\x37\x64\x51\x43\x6f\x36\x57\x50\x7a\x45\x57\x51\x47','\x57\x51\x5a\x63\x54\x68\x2f\x64\x4c\x58\x4b','\x63\x30\x64\x63\x47\x71\x6a\x42\x76\x78\x71\x4d','\x68\x53\x6f\x4a\x57\x36\x64\x64\x48\x67\x53\x78\x46\x74\x57','\x57\x51\x46\x64\x55\x78\x58\x43\x57\x4f\x61','\x44\x68\x30\x6f','\x45\x53\x6b\x30\x57\x37\x62\x39\x43\x33\x69\x4d\x76\x61','\x57\x50\x7a\x64\x6e\x66\x39\x44\x76\x68\x71','\x57\x34\x71\x33\x72\x72\x47\x4e\x57\x52\x5a\x63\x4a\x53\x6b\x4c','\x57\x51\x5a\x64\x47\x47\x66\x66\x57\x50\x47','\x74\x43\x6f\x61\x57\x36\x4c\x41','\x61\x47\x58\x42\x57\x52\x78\x64\x49\x57','\x57\x35\x53\x4d\x77\x72\x79\x39\x57\x52\x6d','\x57\x4f\x66\x69\x6d\x31\x48\x79\x72\x71','\x7a\x68\x46\x63\x53\x63\x44\x4f\x45\x48\x57\x72','\x57\x51\x79\x76\x57\x34\x46\x64\x48\x57','\x57\x51\x4a\x64\x4c\x31\x6e\x67\x57\x52\x30','\x57\x51\x56\x63\x49\x6d\x6f\x62\x44\x77\x30','\x71\x65\x33\x64\x50\x73\x4b','\x75\x78\x64\x63\x4b\x74\x47','\x66\x53\x6f\x49\x57\x37\x64\x64\x4b\x47','\x57\x51\x4c\x6a\x43\x38\x6b\x59','\x57\x50\x65\x46\x57\x35\x64\x64\x49\x49\x72\x4a\x46\x38\x6b\x43','\x57\x37\x39\x38\x57\x52\x52\x64\x50\x33\x78\x63\x47\x57','\x57\x52\x34\x44\x57\x52\x64\x64\x54\x43\x6b\x4c\x57\x36\x47'];_0x2004=function(){return _0x4a0c85;};return _0x2004();}function isThinkingEffortRecord(_0x5dc50f){const _0xf9ee50=_0x4f1acd;return Boolean(_0x5dc50f)&&typeof _0x5dc50f===_0xf9ee50(0x1c2,'\x5b\x72\x30\x4d')&&!Array[_0xf9ee50(0x13a,'\x53\x6b\x2a\x4b')](_0x5dc50f);}export function extractThinkingEffort(_0x5e3af9){const _0x36aebe=_0x4f1acd;if(!isThinkingEffortRecord(_0x5e3af9))return undefined;const _0xcf8fe2={},_0x23e736=_0x5e3af9[_0x36aebe(0x389,'\x54\x26\x40\x41')];if(isThinkingEffortRecord(_0x23e736)){if(_0x36aebe(0x472,'\x74\x4d\x54\x49')===_0x36aebe(0x18c,'\x7a\x5b\x4c\x42'))return _0xc2a8de[_0x36aebe(0x207,'\x5d\x53\x63\x34')](_0x2bcade['\x62\x6f\x64\x79']);else{if(typeof _0x23e736[_0x36aebe(0x150,'\x4f\x39\x6b\x39')]===_0x36aebe(0x25e,'\x47\x6f\x44\x40'))_0xcf8fe2[_0x36aebe(0x2a7,'\x32\x46\x53\x2a')]=_0x23e736[_0x36aebe(0x40e,'\x36\x2a\x59\x75')];if(typeof _0x23e736[_0x36aebe(0x445,'\x42\x46\x72\x53')+'\x6f\x6b\x65\x6e\x73']===_0x36aebe(0x388,'\x53\x6e\x6f\x48')&&Number[_0x36aebe(0x41e,'\x5b\x59\x21\x46')](_0x23e736[_0x36aebe(0x21e,'\x5b\x72\x30\x4d')+'\x6f\x6b\x65\x6e\x73']))_0xcf8fe2[_0x36aebe(0x289,'\x29\x79\x78\x26')+_0x36aebe(0x165,'\x4d\x61\x5d\x4a')]=_0x23e736['\x62\x75\x64\x67\x65\x74\x5f\x74'+'\x6f\x6b\x65\x6e\x73'];if(typeof _0x23e736[_0x36aebe(0x167,'\x39\x21\x79\x5b')]===_0x36aebe(0x180,'\x70\x4c\x35\x33'))_0xcf8fe2[_0x36aebe(0x167,'\x39\x21\x79\x5b')]=_0x23e736[_0x36aebe(0x3d3,'\x49\x43\x6c\x43')];}}const _0x3cc570=_0x5e3af9[_0x36aebe(0x1ea,'\x74\x4d\x54\x49')+'\x67'];_0xcf8fe2[_0x36aebe(0x18b,'\x32\x46\x53\x2a')]===undefined&&isThinkingEffortRecord(_0x3cc570)&&typeof _0x3cc570['\x65\x66\x66\x6f\x72\x74']==='\x73\x74\x72\x69\x6e\x67'&&(_0xcf8fe2[_0x36aebe(0x237,'\x4d\x61\x5d\x4a')]=_0x3cc570[_0x36aebe(0x41b,'\x63\x6e\x45\x68')]);const _0x1a1f14=_0x5e3af9[_0x36aebe(0x43f,'\x47\x38\x31\x37')+_0x36aebe(0x2cc,'\x5e\x6b\x68\x37')];if(_0xcf8fe2[_0x36aebe(0x3d3,'\x49\x43\x6c\x43')]===undefined&&isThinkingEffortRecord(_0x1a1f14)&&typeof _0x1a1f14[_0x36aebe(0x250,'\x48\x41\x51\x5d')]===_0x36aebe(0x3f8,'\x54\x76\x51\x34')){if(_0x36aebe(0x3bf,'\x54\x76\x51\x34')===_0x36aebe(0x385,'\x7a\x5b\x4c\x42'))_0xcf8fe2['\x65\x66\x66\x6f\x72\x74']=_0x1a1f14[_0x36aebe(0x27f,'\x55\x59\x52\x55')];else{const _0x492e97=_0x1e586a(_0x2daa2c);if(!_0x492e97)return _0x3803ca;return _0x2e5f9e[_0x492e97[_0x36aebe(0x15d,'\x34\x23\x48\x5b')]+'\x2f'+_0x492e97[_0x36aebe(0x112,'\x28\x56\x61\x26')]+'\x2f'+_0x492e97['\x6d\x69\x6e\x6f\x72']]??_0xe1d6b6;}}if(_0xcf8fe2[_0x36aebe(0x132,'\x5b\x72\x30\x4d')]===undefined&&typeof _0x5e3af9[_0x36aebe(0x405,'\x28\x56\x61\x26')+_0x36aebe(0x327,'\x26\x40\x66\x40')]===_0x36aebe(0x2c1,'\x5d\x50\x48\x4b'))_0xcf8fe2[_0x36aebe(0x1b8,'\x28\x56\x61\x26')]=_0x5e3af9[_0x36aebe(0x1e8,'\x42\x46\x72\x53')+'\x67\x5f\x65\x66\x66\x6f\x72\x74'];const _0x2a898b=_0x5e3af9[_0x36aebe(0x1ab,'\x48\x41\x51\x5d')];if(_0xcf8fe2[_0x36aebe(0x167,'\x39\x21\x79\x5b')]===undefined&&isThinkingEffortRecord(_0x2a898b))for(const _0x210df7 of['\x74\x68\x69\x6e\x6b\x69\x6e\x67'+_0x36aebe(0x37a,'\x55\x59\x52\x55'),_0x36aebe(0x2e6,'\x32\x46\x53\x2a')+_0x36aebe(0x204,'\x63\x6e\x45\x68'),_0x36aebe(0x3ca,'\x5e\x41\x48\x25')]){if(_0x36aebe(0x2ac,'\x74\x4d\x54\x49')===_0x36aebe(0x1c8,'\x48\x41\x51\x5d')){if(typeof _0x2a898b[_0x210df7]===_0x36aebe(0x3b9,'\x40\x70\x5e\x50')){if(_0x36aebe(0x32c,'\x74\x38\x23\x24')===_0x36aebe(0x217,'\x5e\x41\x48\x25')){_0xcf8fe2[_0x36aebe(0x2ab,'\x5b\x59\x21\x46')]=_0x2a898b[_0x210df7];break;}else{if(_0x4d15e4)_0x2b4907(_0x379823);}}}else{const _0xdaee57=_0x5f1883(_0x2aa83d);if(!_0xdaee57)return![];if(_0xdaee57[_0x36aebe(0x3f2,'\x29\x79\x78\x26')]>-0xb0e+0x1568+0x1b9*-0x6)return!![];return _0xdaee57[_0x36aebe(0x1e6,'\x55\x58\x67\x6f')]===0x1d55+0x222b*0x1+-0x3f7c&&_0xdaee57[_0x36aebe(0x442,'\x51\x4d\x32\x49')]>=-0x906*0x2+0x147e+0x1*-0x26b;}}return _0xcf8fe2[_0x36aebe(0x114,'\x4f\x39\x6b\x39')]!==undefined||_0xcf8fe2['\x62\x75\x64\x67\x65\x74\x5f\x74'+_0x36aebe(0x24d,'\x7a\x5b\x4c\x42')]!==undefined||_0xcf8fe2[_0x36aebe(0x284,'\x63\x6e\x45\x68')]!==undefined?_0xcf8fe2:undefined;}function detectClient(_0x196d23){const _0x56e884=_0x4f1acd,_0x411b75=[getHeader(_0x196d23,_0x56e884(0x3cb,'\x5e\x41\x48\x25')+'\x6e\x74'),getHeader(_0x196d23,_0x56e884(0x17d,'\x40\x70\x5e\x50')+_0x56e884(0x1b3,'\x53\x6e\x6f\x48')),getHeader(_0x196d23,_0x56e884(0x2cb,'\x67\x76\x37\x36')+_0x56e884(0x22a,'\x74\x38\x23\x24')+_0x56e884(0x26c,'\x55\x59\x52\x55')+_0x56e884(0x2a0,'\x53\x6b\x2a\x4b')),getHeader(_0x196d23,'\x78\x2d\x61\x70\x70')][_0x56e884(0x1c9,'\x53\x6a\x52\x69')](Boolean)[_0x56e884(0x311,'\x47\x38\x31\x37')]('\x20')[_0x56e884(0x258,'\x56\x34\x31\x39')+_0x56e884(0x12e,'\x28\x56\x61\x26')]();if(_0x411b75[_0x56e884(0x34c,'\x5b\x72\x30\x4d')](_0x56e884(0x16a,'\x24\x67\x23\x65')))return _0x56e884(0x2f8,'\x34\x23\x48\x5b');if(_0x411b75[_0x56e884(0x17a,'\x54\x76\x51\x34')](_0x56e884(0x395,'\x70\x4c\x35\x33')))return _0x56e884(0x42a,'\x54\x26\x40\x41');if(_0x411b75[_0x56e884(0x322,'\x25\x66\x77\x4a')](_0x56e884(0x434,'\x55\x58\x67\x6f')))return _0x56e884(0x13e,'\x63\x6e\x45\x68')+_0x56e884(0x3de,'\x34\x23\x48\x5b');return _0x56e884(0x39f,'\x29\x79\x78\x26');}function _0x2741(_0x58388a,_0x3efa26){_0x58388a=_0x58388a-(-0x1cde+0x1c59+0x1*0x195);const _0x4697d9=_0x2004();let _0x4d15e4=_0x4697d9[_0x58388a];if(_0x2741['\x4f\x50\x68\x58\x64\x47']===undefined){var _0x2b4907=function(_0x27f898){const _0x16a794='\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 _0x209e27='',_0x425d00='';for(let _0xd95a93=-0xe*-0xde+0x653*0x1+-0x1277,_0xbeb4be,_0x1db1c6,_0x3e5345=-0x23fb*-0x1+-0x4e1*-0x1+0x28dc*-0x1;_0x1db1c6=_0x27f898['\x63\x68\x61\x72\x41\x74'](_0x3e5345++);~_0x1db1c6&&(_0xbeb4be=_0xd95a93%(-0x152*0x13+-0x628+-0xfa1*-0x2)?_0xbeb4be*(0xb86+-0x115*0xd+0x2cb)+_0x1db1c6:_0x1db1c6,_0xd95a93++%(0xec*-0x2+-0x2*0x263+0x6a2*0x1))?_0x209e27+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x1*0x1c5b+0x1019*-0x1+-0x5d*0x1f&_0xbeb4be>>(-(-0xd3f*-0x1+0x21eb+-0x2f28)*_0xd95a93&-0xd8e*-0x1+0x13*-0x6b+-0x597)):0x1d5f+-0x18*-0x84+-0x1*0x29bf){_0x1db1c6=_0x16a794['\x69\x6e\x64\x65\x78\x4f\x66'](_0x1db1c6);}for(let _0x47620b=-0x11e9+0x269a+-0x14b1*0x1,_0x1be490=_0x209e27['\x6c\x65\x6e\x67\x74\x68'];_0x47620b<_0x1be490;_0x47620b++){_0x425d00+='\x25'+('\x30\x30'+_0x209e27['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x47620b)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x1f1d+0x23dd+-0x4b0))['\x73\x6c\x69\x63\x65'](-(-0x1*0xfb3+-0xb5*0x27+0x2b48));}return decodeURIComponent(_0x425d00);};const _0x107138=function(_0x36db49,_0x4ab580){let _0x49023d=[],_0x5e0801=0x1510+0x1*0x104e+-0x255e,_0x1846db,_0x555185='';_0x36db49=_0x2b4907(_0x36db49);let _0x4d3c1c;for(_0x4d3c1c=0x8d9*-0x1+-0x1*-0xbd5+-0x2fc;_0x4d3c1c<-0xb73+-0xff5+0x38d*0x8;_0x4d3c1c++){_0x49023d[_0x4d3c1c]=_0x4d3c1c;}for(_0x4d3c1c=-0x1100+0x1*-0x12d7+-0x19*-0x16f;_0x4d3c1c<0x9e2*-0x2+-0x60*0x42+-0x2*-0x16c2;_0x4d3c1c++){_0x5e0801=(_0x5e0801+_0x49023d[_0x4d3c1c]+_0x4ab580['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4d3c1c%_0x4ab580['\x6c\x65\x6e\x67\x74\x68']))%(-0x1169*0x2+0x12ac+-0x1126*-0x1),_0x1846db=_0x49023d[_0x4d3c1c],_0x49023d[_0x4d3c1c]=_0x49023d[_0x5e0801],_0x49023d[_0x5e0801]=_0x1846db;}_0x4d3c1c=0x1d0+-0x25c8+0x23f8,_0x5e0801=-0x1bda+0x5*0x3c7+0x8f7;for(let _0x3fbd41=-0x617*-0x1+0x8*0x121+-0x31*0x4f;_0x3fbd41<_0x36db49['\x6c\x65\x6e\x67\x74\x68'];_0x3fbd41++){_0x4d3c1c=(_0x4d3c1c+(-0x1a8+0x6d2+-0x529*0x1))%(0x234+-0x2c*-0xe2+-0x280c),_0x5e0801=(_0x5e0801+_0x49023d[_0x4d3c1c])%(-0x350*0x2+-0x228e*-0x1+0x47d*-0x6),_0x1846db=_0x49023d[_0x4d3c1c],_0x49023d[_0x4d3c1c]=_0x49023d[_0x5e0801],_0x49023d[_0x5e0801]=_0x1846db,_0x555185+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x36db49['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3fbd41)^_0x49023d[(_0x49023d[_0x4d3c1c]+_0x49023d[_0x5e0801])%(-0x1c34+0x74+0x1cc0)]);}return _0x555185;};_0x2741['\x45\x53\x6d\x41\x59\x49']=_0x107138,_0x2741['\x4f\x67\x48\x42\x48\x65']={},_0x2741['\x4f\x50\x68\x58\x64\x47']=!![];}const _0x379823=_0x4697d9[-0x4c*-0x39+0x11c*-0x7+-0x928],_0x27f65f=_0x58388a+_0x379823,_0xd17f8b=_0x2741['\x4f\x67\x48\x42\x48\x65'][_0x27f65f];return!_0xd17f8b?(_0x2741['\x42\x4f\x46\x52\x62\x65']===undefined&&(_0x2741['\x42\x4f\x46\x52\x62\x65']=!![]),_0x4d15e4=_0x2741['\x45\x53\x6d\x41\x59\x49'](_0x4d15e4,_0x3efa26),_0x2741['\x4f\x67\x48\x42\x48\x65'][_0x27f65f]=_0x4d15e4):_0x4d15e4=_0xd17f8b,_0x4d15e4;}function wireApiForRoute(_0x155146){const _0x3d615f=_0x4f1acd;if(_0x155146===_0x3d615f(0x2d9,'\x5d\x53\x63\x34')+_0x3d615f(0x1ff,'\x53\x6a\x52\x69'))return'\x6f\x70\x65\x6e\x61\x69\x5f\x72'+_0x3d615f(0x304,'\x25\x66\x77\x4a');if(_0x155146===_0x3d615f(0x443,'\x53\x6e\x6f\x48')+_0x3d615f(0x29b,'\x54\x76\x51\x34')+_0x3d615f(0x1c6,'\x65\x6b\x4e\x66'))return _0x3d615f(0x2b1,'\x5b\x72\x30\x4d')+_0x3d615f(0x353,'\x51\x4d\x32\x49')+_0x3d615f(0x2b4,'\x5d\x53\x63\x34');return _0x3d615f(0x151,'\x40\x70\x5e\x50')+_0x3d615f(0x366,'\x5b\x59\x21\x46')+'\x65\x73';}function defaultUpstreamMode(_0xb0fe56){const _0x142861=_0x4f1acd;return _0xb0fe56===_0x142861(0x45d,'\x5b\x59\x21\x46')+_0x142861(0x21f,'\x5d\x53\x63\x34')?'\x61\x6e\x74\x68\x72\x6f\x70\x69'+'\x63':_0x142861(0x1a0,'\x4d\x61\x5d\x4a');}function resolveUpstreamMode(_0x3c278e,_0x523544){const _0x54837d=_0x4f1acd,_0x59786c=_0x3c278e==='\x2f\x76\x31\x2f\x6d\x65\x73\x73'+'\x61\x67\x65\x73'?_0x523544[_0x54837d(0x158,'\x24\x67\x23\x65')+'\x50\x53\x54\x52\x45\x41\x4d']:undefined;return(_0x59786c||defaultUpstreamMode(_0x3c278e))[_0x54837d(0x2e8,'\x48\x41\x51\x5d')+_0x54837d(0x3fd,'\x49\x43\x6c\x43')]();}function providerForTrace(_0xc299f3,_0x40bd65,_0x9de75d){const _0x1490b6=_0x4f1acd;if(_0x40bd65===_0x1490b6(0x382,'\x55\x58\x67\x6f'))return _0x1490b6(0x1af,'\x64\x77\x49\x72')+_0x1490b6(0x25d,'\x63\x6e\x45\x68');if(_0xc299f3===_0x1490b6(0x1a1,'\x64\x77\x49\x72')+'\x6f\x6e\x73\x65\x73'||_0xc299f3===_0x1490b6(0x3a7,'\x5d\x50\x48\x4b')+'\x2f\x63\x6f\x6d\x70\x6c\x65\x74'+_0x1490b6(0x156,'\x25\x66\x77\x4a'))return(_0x9de75d[_0x1490b6(0x2f9,'\x63\x6e\x45\x68')+_0x1490b6(0x431,'\x26\x40\x66\x40')+_0x1490b6(0x202,'\x55\x59\x52\x55')+'\x45\x41\x4d']||_0x9de75d[_0x1490b6(0x2bf,'\x23\x32\x61\x5d')+_0x1490b6(0x379,'\x5d\x53\x63\x34')+_0x1490b6(0x407,'\x39\x21\x79\x5b')]||_0x1490b6(0x28c,'\x56\x34\x31\x39'))[_0x1490b6(0x216,'\x67\x76\x37\x36')+_0x1490b6(0x351,'\x47\x6f\x44\x40')]();return _0x40bd65;}function streamResponse(_0x56fded){const _0x52bb20=_0x4f1acd,_0x60c0ed={},_0x1d460a=_0x56fded['\x68\x65\x61\x64\x65\x72\x73']?.[_0x52bb20(0x3d4,'\x48\x41\x51\x5d')+_0x52bb20(0x35c,'\x74\x38\x23\x24')];if(_0x1d460a)_0x60c0ed[_0x52bb20(0x222,'\x55\x59\x52\x55')+_0x52bb20(0x242,'\x48\x41\x51\x5d')]=_0x1d460a;return{'\x73\x74\x61\x74\x75\x73':_0x56fded[_0x52bb20(0x2ec,'\x53\x6b\x2a\x4b')],'\x73\x74\x72\x65\x61\x6d':_0x56fded[_0x52bb20(0x27a,'\x5b\x59\x21\x46')],'\x68\x65\x61\x64\x65\x72\x73':_0x60c0ed};}function extractResponseMeta(_0x1d0a6a){const _0x49b9cd=_0x4f1acd;if(!_0x1d0a6a||typeof _0x1d0a6a!==_0x49b9cd(0x47f,'\x49\x43\x6c\x43'))return{};const _0x53f37d=_0x1d0a6a,_0x5b37c8={},_0x281d9d=_0x53f37d[_0x49b9cd(0x467,'\x26\x40\x66\x40')]??(_0x53f37d[_0x49b9cd(0x174,'\x5e\x6b\x68\x37')]&&typeof _0x53f37d[_0x49b9cd(0x3fe,'\x5b\x24\x64\x71')]===_0x49b9cd(0x13b,'\x51\x4d\x32\x49')?_0x53f37d['\x72\x65\x73\x70\x6f\x6e\x73\x65'][_0x49b9cd(0x1fc,'\x70\x4c\x35\x33')]:undefined);if(_0x281d9d&&typeof _0x281d9d===_0x49b9cd(0x13b,'\x51\x4d\x32\x49')){const _0x4742de=_0x281d9d,_0x3256d4={};for(const _0x15a106 of[_0x49b9cd(0x29e,'\x47\x46\x69\x21')+_0x49b9cd(0x36a,'\x5d\x50\x48\x4b'),_0x49b9cd(0x3e7,'\x53\x6b\x2a\x4b')+_0x49b9cd(0x3e2,'\x67\x48\x57\x37'),_0x49b9cd(0x1f0,'\x28\x56\x61\x26')+_0x49b9cd(0x2c8,'\x47\x46\x69\x21')+_0x49b9cd(0x187,'\x74\x4d\x54\x49')+_0x49b9cd(0x39d,'\x47\x6f\x44\x40'),_0x49b9cd(0x220,'\x51\x45\x26\x2a')+_0x49b9cd(0x2dc,'\x55\x59\x52\x55')+_0x49b9cd(0x225,'\x39\x21\x79\x5b')]){if('\x72\x4c\x51\x6e\x67'===_0x49b9cd(0x456,'\x23\x32\x61\x5d'))_0x56df82=_0x301d1f['\x70\x61\x72\x73\x65'](_0x3693f0);else{if(typeof _0x4742de[_0x15a106]==='\x6e\x75\x6d\x62\x65\x72')_0x3256d4[_0x15a106]=_0x4742de[_0x15a106];}}if(typeof _0x4742de[_0x49b9cd(0x1c4,'\x51\x45\x26\x2a')+_0x49b9cd(0x2bc,'\x48\x21\x4e\x49')]==='\x6e\x75\x6d\x62\x65\x72')_0x3256d4[_0x49b9cd(0x11c,'\x34\x23\x48\x5b')+'\x6b\x65\x6e\x73']=_0x4742de[_0x49b9cd(0x38c,'\x47\x38\x31\x37')+_0x49b9cd(0x24d,'\x7a\x5b\x4c\x42')];if(typeof _0x4742de[_0x49b9cd(0x46c,'\x5d\x50\x48\x4b')+_0x49b9cd(0x2b6,'\x5e\x6b\x68\x37')+'\x73']===_0x49b9cd(0x46d,'\x4f\x39\x6b\x39'))_0x3256d4[_0x49b9cd(0x361,'\x63\x6e\x45\x68')+_0x49b9cd(0x418,'\x70\x4c\x35\x33')]=_0x4742de[_0x49b9cd(0x129,'\x67\x48\x57\x37')+'\x6f\x6e\x5f\x74\x6f\x6b\x65\x6e'+'\x73'];const _0x186eb3=_0x4742de[_0x49b9cd(0x1cb,'\x39\x21\x79\x5b')+_0x49b9cd(0x2b2,'\x28\x56\x61\x26')+_0x49b9cd(0x3f4,'\x48\x21\x4e\x49')]??_0x4742de['\x70\x72\x6f\x6d\x70\x74\x5f\x74'+_0x49b9cd(0x330,'\x48\x21\x4e\x49')+'\x74\x61\x69\x6c\x73'];if(_0x186eb3&&typeof _0x186eb3===_0x49b9cd(0x1eb,'\x5b\x24\x64\x71')){const _0x43a96b=_0x186eb3[_0x49b9cd(0x17b,'\x34\x23\x48\x5b')+_0x49b9cd(0x2bc,'\x48\x21\x4e\x49')];if(typeof _0x43a96b===_0x49b9cd(0x313,'\x4d\x61\x5d\x4a'))_0x3256d4['\x63\x61\x63\x68\x65\x5f\x72\x65'+_0x49b9cd(0x3db,'\x5b\x72\x30\x4d')+_0x49b9cd(0x3fa,'\x64\x77\x49\x72')]=_0x43a96b;}if(Object[_0x49b9cd(0x130,'\x48\x21\x4e\x49')](_0x3256d4)[_0x49b9cd(0x39a,'\x74\x38\x23\x24')]>0xfeb+-0x1*-0xc45+-0x1c30)_0x5b37c8[_0x49b9cd(0x238,'\x67\x76\x37\x36')]=_0x3256d4;}let _0x111c83;if(Array[_0x49b9cd(0x2e2,'\x5e\x41\x48\x25')](_0x53f37d[_0x49b9cd(0x1f7,'\x4d\x61\x5d\x4a')])&&_0x53f37d[_0x49b9cd(0x440,'\x47\x38\x31\x37')][-0x1*0x14dd+-0x2b7+0x1794]&&typeof _0x53f37d[_0x49b9cd(0x451,'\x48\x41\x51\x5d')][0x5*0x52+0x1656+0x4*-0x5fc]===_0x49b9cd(0x1da,'\x55\x59\x52\x55')){if(_0x49b9cd(0x143,'\x32\x46\x53\x2a')!==_0x49b9cd(0x243,'\x4d\x61\x5d\x4a'))_0x3f0158=_0x4ee7b5(()=>_0x403ec9(new _0x50ddfa(_0x49b9cd(0x337,'\x26\x40\x66\x40')+_0x49b9cd(0x127,'\x67\x76\x37\x36')+'\x69\x6d\x65\x6f\x75\x74')),0x189*-0x1b+0x15cb+0x757*0x8);else{const _0x4bed1c=_0x53f37d[_0x49b9cd(0x282,'\x5b\x24\x64\x71')][-0x1a88+0xf57+0x1*0xb31][_0x49b9cd(0x22b,'\x67\x76\x37\x36')+_0x49b9cd(0x430,'\x33\x4f\x28\x26')];if(typeof _0x4bed1c===_0x49b9cd(0x314,'\x64\x77\x49\x72')||_0x4bed1c===null)_0x111c83=_0x4bed1c;}}let _0x218494;if(_0x53f37d[_0x49b9cd(0x3d5,'\x55\x58\x67\x6f')+_0x49b9cd(0x2b0,'\x70\x4c\x35\x33')+'\x6c\x73']&&typeof _0x53f37d[_0x49b9cd(0x3ac,'\x5b\x59\x21\x46')+_0x49b9cd(0x435,'\x39\x21\x79\x5b')+'\x6c\x73']==='\x6f\x62\x6a\x65\x63\x74'){const _0x1440ba=_0x53f37d[_0x49b9cd(0x46a,'\x5d\x53\x63\x34')+'\x74\x65\x5f\x64\x65\x74\x61\x69'+'\x6c\x73'][_0x49b9cd(0x1b9,'\x29\x79\x78\x26')];if(typeof _0x1440ba==='\x73\x74\x72\x69\x6e\x67')_0x218494=_0x1440ba;}if(typeof _0x53f37d[_0x49b9cd(0x3c5,'\x5d\x50\x48\x4b')+_0x49b9cd(0x1f5,'\x4d\x61\x5d\x4a')]===_0x49b9cd(0x246,'\x50\x5d\x6d\x52')||_0x53f37d[_0x49b9cd(0x1d5,'\x54\x26\x40\x41')+_0x49b9cd(0x317,'\x67\x76\x37\x36')]===null)_0x5b37c8[_0x49b9cd(0x3c5,'\x5d\x50\x48\x4b')+_0x49b9cd(0x1f5,'\x4d\x61\x5d\x4a')]=_0x53f37d['\x73\x74\x6f\x70\x5f\x72\x65\x61'+_0x49b9cd(0x1be,'\x74\x38\x23\x24')];else{if(typeof _0x53f37d[_0x49b9cd(0x257,'\x70\x69\x50\x66')+'\x65\x61\x73\x6f\x6e']===_0x49b9cd(0x14e,'\x53\x6a\x52\x69')||_0x53f37d[_0x49b9cd(0x2a9,'\x32\x46\x53\x2a')+_0x49b9cd(0x26f,'\x67\x48\x57\x37')]===null)_0x5b37c8[_0x49b9cd(0x299,'\x54\x76\x51\x34')+_0x49b9cd(0x20e,'\x67\x48\x57\x37')]=_0x53f37d[_0x49b9cd(0x14d,'\x53\x6b\x2a\x4b')+_0x49b9cd(0x279,'\x54\x76\x51\x34')];else{if(_0x111c83!==undefined)_0x5b37c8[_0x49b9cd(0x3af,'\x74\x38\x23\x24')+_0x49b9cd(0x1f8,'\x5d\x53\x63\x34')]=_0x111c83;else{if(_0x218494)_0x5b37c8[_0x49b9cd(0x41f,'\x51\x45\x26\x2a')+'\x73\x6f\x6e']=_0x218494;else{if(typeof _0x53f37d['\x73\x74\x61\x74\x75\x73']==='\x73\x74\x72\x69\x6e\x67')_0x5b37c8[_0x49b9cd(0x476,'\x5e\x6b\x68\x37')+_0x49b9cd(0x480,'\x42\x46\x72\x53')]=_0x53f37d[_0x49b9cd(0x2ec,'\x53\x6b\x2a\x4b')];}}}}const _0x5480a8=_0x53f37d[_0x49b9cd(0x29a,'\x53\x6a\x52\x69')],_0x2df810=typeof _0x53f37d['\x69\x64']==='\x73\x74\x72\x69\x6e\x67'?_0x53f37d['\x69\x64']:_0x5480a8&&typeof _0x5480a8===_0x49b9cd(0x2a6,'\x36\x2a\x59\x75')&&typeof _0x5480a8['\x69\x64']===_0x49b9cd(0x2c1,'\x5d\x50\x48\x4b')?String(_0x5480a8['\x69\x64']):'';if(_0x2df810)_0x5b37c8[_0x49b9cd(0x116,'\x53\x6e\x6f\x48')+_0x49b9cd(0x15b,'\x63\x6e\x45\x68')]=_0x2df810;return _0x5b37c8;}function hasAnthropicProxyCredentials(_0x1f29c7){const _0x490fad=_0x4f1acd;return!!(_0x1f29c7['\x45\x56\x4f\x4d\x41\x50\x5f\x41'+'\x4e\x54\x48\x52\x4f\x50\x49\x43'+'\x5f\x41\x50\x49\x5f\x4b\x45\x59']||_0x1f29c7['\x41\x4e\x54\x48\x52\x4f\x50\x49'+_0x490fad(0x2c0,'\x42\x46\x72\x53')+'\x59']||_0x1f29c7[_0x490fad(0x2d2,'\x50\x5d\x6d\x52')+_0x490fad(0x374,'\x5d\x50\x48\x4b')+_0x490fad(0x484,'\x5b\x59\x21\x46')+_0x490fad(0x244,'\x53\x6a\x52\x69')]||(_0x1f29c7[_0x490fad(0x37c,'\x48\x21\x4e\x49')+'\x52\x4f\x58\x59\x5f\x41\x55\x54'+'\x4f\x5f\x49\x4e\x4a\x45\x43\x54'+'\x45\x44']==='\x31'?'':_0x1f29c7[_0x490fad(0x34e,'\x39\x21\x79\x5b')+_0x490fad(0x121,'\x54\x76\x51\x34')+_0x490fad(0x426,'\x33\x4f\x28\x26')]));}function hasOpenAIProxyCredentials(_0x16e6d4){const _0x2687f2=_0x4f1acd;return!!(_0x16e6d4[_0x2687f2(0x38d,'\x48\x41\x51\x5d')+_0x2687f2(0x146,'\x4f\x39\x6b\x39')+_0x2687f2(0x19e,'\x4f\x39\x6b\x39')+'\x45\x59']||_0x16e6d4[_0x2687f2(0x28b,'\x53\x6a\x52\x69')+_0x2687f2(0x16d,'\x25\x66\x77\x4a')+_0x2687f2(0x32e,'\x50\x5d\x6d\x52')]||_0x16e6d4[_0x2687f2(0x172,'\x55\x59\x52\x55')+_0x2687f2(0x485,'\x47\x46\x69\x21')]);}export function buildMessagesHandler(_0x3e97dc){const _0x3be273=_0x4f1acd;if(typeof _0x3e97dc['\x61\x6e\x74\x68\x72\x6f\x70\x69'+_0x3be273(0x159,'\x5b\x24\x64\x71')]!==_0x3be273(0x33b,'\x67\x76\x37\x36'))throw new Error(_0x3be273(0x339,'\x5e\x41\x48\x25')+_0x3be273(0x318,'\x53\x6a\x52\x69')+_0x3be273(0x186,'\x56\x34\x31\x39')+_0x3be273(0x1d8,'\x7a\x5b\x4c\x42')+_0x3be273(0x461,'\x26\x40\x66\x40')+_0x3be273(0x26e,'\x5b\x72\x30\x4d')+_0x3be273(0x447,'\x40\x70\x5e\x50')+_0x3be273(0x45e,'\x5d\x50\x48\x4b'));const _0x16025f=_0x3e97dc[_0x3be273(0x2bb,'\x53\x6a\x52\x69')]??console,_0x37d957=_0x3e97dc[_0x3be273(0x296,'\x40\x70\x5e\x50')]??process.env,_0x33634d=typeof _0x3e97dc[_0x3be273(0x455,'\x26\x40\x66\x40')+_0x3be273(0x23d,'\x4d\x61\x5d\x4a')]===_0x3be273(0x23f,'\x53\x6e\x6f\x48')?_0x3e97dc[_0x3be273(0x45b,'\x5b\x24\x64\x71')+_0x3be273(0x345,'\x47\x46\x69\x21')]:_0x37d957[_0x3be273(0x227,'\x5b\x59\x21\x46')+_0x3be273(0x433,'\x51\x45\x26\x2a')+_0x3be273(0x24b,'\x53\x6e\x6f\x48')]==='\x31';if(_0x33634d){for(const _0x14ed4a of detectTierModelConfigWarnings(resolveTierModels(_0x37d957)))_0x16025f[_0x3be273(0x2ed,'\x67\x48\x57\x37')]?.(j(_0x14ed4a));}const _0x28e156=captureBodiesEnabled(_0x37d957);return async _0x21e5f9=>{const _0x1da4a9=_0x3be273;if(_0x1da4a9(0x3b6,'\x74\x4d\x54\x49')===_0x1da4a9(0x295,'\x55\x58\x67\x6f')){const _0x43a912=_0x3e97dc[_0x1da4a9(0x2f5,'\x47\x46\x69\x21')]??(()=>Date[_0x1da4a9(0x1c3,'\x50\x5d\x6d\x52')]()),_0x525994=_0x43a912(),_0xe99554=_0x21e5f9[_0x1da4a9(0x1ee,'\x55\x58\x67\x6f')]??{},_0x26fd87=_0x21e5f9[_0x1da4a9(0x410,'\x67\x76\x37\x36')]??_0x1da4a9(0x189,'\x48\x21\x4e\x49')+_0x1da4a9(0x463,'\x32\x46\x53\x2a'),_0x44aa3d=_0x21e5f9[_0x1da4a9(0x245,'\x5e\x6b\x68\x37')],_0x497809=resolveUpstreamMode(_0x26fd87,_0x37d957),_0x20bad0=extractSessionId(_0xe99554,_0x44aa3d),_0x52d7fb=typeof _0x44aa3d[_0x1da4a9(0x229,'\x5d\x53\x63\x34')+_0x1da4a9(0x252,'\x48\x21\x4e\x49')+_0x1da4a9(0x1ac,'\x23\x32\x61\x5d')]===_0x1da4a9(0x25e,'\x47\x6f\x44\x40')&&_0x44aa3d[_0x1da4a9(0x1a8,'\x70\x4c\x35\x33')+_0x1da4a9(0x214,'\x47\x38\x31\x37')+_0x1da4a9(0x305,'\x24\x67\x23\x65')][_0x1da4a9(0x178,'\x7a\x5b\x4c\x42')]>-0x22cf+-0x1*0x25c7+-0x26*-0x1e9?clip(_0x44aa3d[_0x1da4a9(0x36f,'\x47\x38\x31\x37')+_0x1da4a9(0x2e4,'\x51\x4d\x32\x49')+_0x1da4a9(0x29d,'\x25\x66\x77\x4a')]):null,_0x40e8f5=_0x26fd87===_0x1da4a9(0x270,'\x70\x69\x50\x66')+_0x1da4a9(0x30d,'\x47\x6f\x44\x40'),_0x5e909b=typeof _0x44aa3d?.['\x6d\x6f\x64\x65\x6c']===_0x1da4a9(0x42d,'\x34\x23\x48\x5b')?_0x44aa3d[_0x1da4a9(0x11a,'\x5e\x6b\x68\x37')]:null,_0x3eedbc=_0x497809===_0x1da4a9(0x169,'\x67\x76\x37\x36')?canonicalizeForBedrock(_0x5e909b,resolveBedrockAliases(_0x37d957)):_0x5e909b;let _0x18dd97=_0x3eedbc,_0x27719a=null,_0x3e37f7=null,_0x216b92=null,_0x158734=null,_0x9186c1=![],_0xf96077=_0x44aa3d,_0x4a35e6=![];const _0x24b3f4=[],_0x1af08b=(_0x4e5afc,_0x905e1f)=>{const _0x825386=_0x1da4a9;if(_0x825386(0x118,'\x36\x2a\x59\x75')===_0x825386(0x1d3,'\x70\x4c\x35\x33')){const _0x59cbd3=new _0x30448d({'\x63\x61\x70\x74\x75\x72\x65\x43\x6f\x6e\x74\x65\x6e\x74':_0x133c71,'\x65\x6e\x76':_0x103dd7}),_0x1f5c5e=_0x40bc0e(_0x1cc57e[_0x825386(0x160,'\x32\x46\x53\x2a')],_0x4e8a7a=>_0x59cbd3['\x70\x75\x73\x68'](_0x4e8a7a),_0x4e6652=>{const _0x1ef885=_0x825386;_0x59cbd3[_0x1ef885(0x399,'\x47\x38\x31\x37')]();const _0x303227=_0x59cbd3['\x72\x65\x73\x75\x6c\x74']['\x65\x72\x72\x6f\x72']??_0x4e6652?.[_0x1ef885(0x46b,'\x29\x79\x78\x26')]??(_0x4e6652?.[_0x1ef885(0x235,'\x4d\x61\x5d\x4a')+'\x64']?_0x1ef885(0x1fa,'\x48\x21\x4e\x49')+_0x1ef885(0x1ed,'\x65\x6b\x4e\x66'):_0x4f3731),_0x2b0ccf=_0x60bd6e(_0x59cbd3),_0x467b14=_0x4a5080[_0x1ef885(0x349,'\x67\x76\x37\x36')](_0x29d444=>_0x29d444[_0x1ef885(0x43e,'\x48\x21\x4e\x49')+_0x1ef885(0x381,'\x26\x40\x66\x40')]===0x11e2+-0x2*0xaab+0x375&&_0x29d444['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x1ef885(0x465,'\x5b\x72\x30\x4d')]===_0x542efe);_0x467b14&&_0x2b0ccf!==_0x132f0a&&(_0x467b14[_0x1ef885(0x33c,'\x56\x34\x31\x39')+_0x1ef885(0x22d,'\x32\x46\x53\x2a')]=_0x2b0ccf,_0x467b14[_0x1ef885(0x36b,'\x5d\x53\x63\x34')+_0x1ef885(0x171,'\x70\x69\x50\x66')]=_0x56fe5e(_0x2b0ccf)),_0x1ec64a({'\x73\x74\x61\x74\x75\x73':_0x43228b['\x73\x74\x61\x74\x75\x73'],'\x73\x74\x72\x65\x61\x6d':!![],..._0x59cbd3[_0x1ef885(0x413,'\x54\x26\x40\x41')][_0x1ef885(0x2ba,'\x74\x4d\x54\x49')]?{'\x75\x73\x61\x67\x65':_0x59cbd3[_0x1ef885(0x11b,'\x5b\x59\x21\x46')][_0x1ef885(0x128,'\x5b\x59\x21\x46')]}:{},..._0x59cbd3[_0x1ef885(0x11b,'\x5b\x59\x21\x46')][_0x1ef885(0x1d5,'\x54\x26\x40\x41')+_0x1ef885(0x47c,'\x47\x38\x31\x37')]!==_0x51c8a6?{'\x73\x74\x6f\x70\x5f\x72\x65\x61\x73\x6f\x6e':_0x59cbd3['\x72\x65\x73\x75\x6c\x74'][_0x1ef885(0x3c5,'\x5d\x50\x48\x4b')+_0x1ef885(0x2f0,'\x5e\x6b\x68\x37')]}:{},..._0x59cbd3[_0x1ef885(0x3ee,'\x42\x46\x72\x53')][_0x1ef885(0x2ea,'\x47\x6f\x44\x40')+_0x1ef885(0x236,'\x47\x38\x31\x37')]?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x69\x64':_0x59cbd3[_0x1ef885(0x3bb,'\x40\x70\x5e\x50')][_0x1ef885(0x290,'\x42\x46\x72\x53')+_0x1ef885(0x19b,'\x40\x70\x5e\x50')]}:{},..._0x303227?{'\x65\x72\x72\x6f\x72':_0x303227}:{},..._0x2b0ccf!==_0x2149eb?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x42\x6f\x64\x79':_0x2b0ccf}:{},..._0x4b0da7[_0x1ef885(0x268,'\x51\x45\x26\x2a')]?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73':_0xb52579[_0x1ef885(0x325,'\x64\x77\x49\x72')]}:{},..._0x1ee99f[_0x1ef885(0x392,'\x47\x46\x69\x21')+_0x1ef885(0x324,'\x56\x34\x31\x39')+'\x61']!==_0x2d3969?{'\x74\x72\x61\x6e\x73\x70\x6f\x72\x74\x4d\x65\x74\x61\x64\x61\x74\x61':_0x22e72f[_0x1ef885(0x43b,'\x47\x6f\x44\x40')+_0x1ef885(0x30f,'\x53\x6a\x52\x69')+'\x61']}:{}});});return _0x191908({..._0x293b9c,'\x73\x74\x72\x65\x61\x6d':_0x1f5c5e});}else{if(_0x4e5afc['\x6c\x65\x6e\x67\x74\x68']===0xd88*-0x1+-0x1*-0x12+0xd76)return{};try{return JSON[_0x825386(0x328,'\x47\x46\x69\x21')](_0x4e5afc);}catch{return _0x16025f[_0x825386(0x331,'\x23\x32\x61\x5d')]?.(j({'\x65\x76\x65\x6e\x74':_0x825386(0x145,'\x67\x48\x57\x37')+_0x825386(0x164,'\x5b\x24\x64\x71'),'\x72\x65\x61\x73\x6f\x6e':_0x825386(0x1cd,'\x54\x26\x40\x41')+_0x825386(0x375,'\x47\x46\x69\x21')+'\x6e','\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x73\x74\x61\x74\x75\x73':_0x905e1f,'\x70\x72\x65\x76\x69\x65\x77':redactText(_0x4e5afc)[_0x825386(0x1d9,'\x49\x43\x6c\x43')](0x37+0x2148+-0x217f,-0x634*0x6+0x53*0x62+-0x31d*-0x2)})),{'\x65\x72\x72\x6f\x72':_0x4e5afc};}}},_0x54e082=_0x118fc4=>{const _0x3e42a1=_0x1da4a9,_0x1059f5=_0x118fc4&&typeof _0x118fc4===_0x3e42a1(0x2a6,'\x36\x2a\x59\x75')?_0x118fc4:undefined;return _0x1059f5?.[_0x3e42a1(0x460,'\x70\x69\x50\x66')+_0x3e42a1(0x44c,'\x53\x6a\x52\x69')+'\x64']===!![]||_0x1059f5?.[_0x3e42a1(0x14c,'\x53\x6e\x6f\x48')+'\x61\x6d\x5f\x74\x72\x75\x6e\x63'+_0x3e42a1(0x365,'\x32\x46\x53\x2a')]===!![]||typeof _0x1059f5?.[_0x3e42a1(0x2d3,'\x5b\x24\x64\x71')+_0x3e42a1(0x23c,'\x67\x48\x57\x37')+_0x3e42a1(0x387,'\x47\x6f\x44\x40')]===_0x3e42a1(0x18d,'\x40\x70\x5e\x50');},_0x917e74=()=>{const _0x24679d=_0x1da4a9;return _0x24b3f4[_0x24679d(0x2cf,'\x4f\x39\x6b\x39')](_0x4d58ae=>{const _0x494144=_0x24679d,_0x5a1c6d={'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':_0x4d58ae[_0x494144(0x2e1,'\x35\x26\x5d\x42')+'\x69\x6e\x64\x65\x78'],'\x6d\x6f\x64\x65\x6c':_0x4d58ae[_0x494144(0x1c7,'\x64\x77\x49\x72')],'\x70\x72\x6f\x76\x69\x64\x65\x72':_0x4d58ae[_0x494144(0x1f6,'\x54\x26\x40\x41')],'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x4d58ae[_0x494144(0x1d0,'\x51\x4d\x32\x49')+_0x494144(0x260,'\x64\x77\x49\x72')],'\x73\x74\x61\x74\x75\x73':_0x4d58ae[_0x494144(0x15a,'\x70\x69\x50\x66')],..._0x4d58ae['\x65\x72\x72\x6f\x72']!==undefined?{'\x65\x72\x72\x6f\x72':_0x4d58ae[_0x494144(0x309,'\x47\x6f\x44\x40')]}:{},..._0x4d58ae[_0x494144(0x2a5,'\x4d\x61\x5d\x4a')+_0x494144(0x176,'\x4d\x61\x5d\x4a')]===!![]?{'\x62\x6f\x64\x79\x5f\x74\x72\x75\x6e\x63\x61\x74\x65\x64':!![]}:{}},_0x373bb5=_0x28e156?captureBody(_0x4d58ae[_0x494144(0x341,'\x55\x59\x52\x55')+_0x494144(0x19a,'\x40\x70\x5e\x50')],_0x37d957):undefined,_0x5bf8b0=_0x28e156&&_0x4d58ae[_0x494144(0x342,'\x5d\x53\x63\x34')+_0x494144(0x32d,'\x26\x40\x66\x40')]!==undefined?captureBody(_0x4d58ae[_0x494144(0x40a,'\x25\x66\x77\x4a')+_0x494144(0x32d,'\x26\x40\x66\x40')],_0x37d957):undefined;if(_0x373bb5)_0x5a1c6d['\x72\x65\x71\x75\x65\x73\x74\x42'+_0x494144(0x17f,'\x5e\x6b\x68\x37')]=_0x373bb5[_0x494144(0x346,'\x53\x6b\x2a\x4b')];if(_0x5bf8b0)_0x5a1c6d['\x72\x65\x73\x70\x6f\x6e\x73\x65'+'\x42\x6f\x64\x79']=_0x5bf8b0['\x62\x6f\x64\x79'];if(_0x373bb5?.[_0x494144(0x34d,'\x54\x26\x40\x41')+'\x64']||_0x5bf8b0?.[_0x494144(0x3fc,'\x35\x26\x5d\x42')+'\x64']||_0x4d58ae[_0x494144(0x25f,'\x23\x32\x61\x5d')+_0x494144(0x2f1,'\x4f\x39\x6b\x39')]===!![]||_0x54e082(_0x4d58ae[_0x494144(0x2b5,'\x47\x38\x31\x37')+'\x42\x6f\x64\x79']))_0x5a1c6d[_0x494144(0x1e1,'\x5d\x50\x48\x4b')+_0x494144(0x2c9,'\x51\x45\x26\x2a')]=!![];return _0x5a1c6d;});},_0x262d4b=_0x4ae904=>{const _0x72f21e=_0x1da4a9;return _0x28e156&&(_0x4ae904['\x72\x65\x73\x75\x6c\x74']['\x63\x6f\x6e\x74\x65\x6e\x74\x5f'+_0x72f21e(0x35f,'\x67\x76\x37\x36')]!==undefined||_0x4ae904['\x72\x65\x73\x75\x6c\x74'][_0x72f21e(0x266,'\x5e\x41\x48\x25')+'\x5f\x74\x61\x69\x6c\x5f\x65\x76'+_0x72f21e(0x3f5,'\x50\x5d\x6d\x52')]!==undefined||_0x4ae904[_0x72f21e(0x371,'\x64\x77\x49\x72')][_0x72f21e(0x297,'\x67\x76\x37\x36')+_0x72f21e(0x115,'\x65\x6b\x4e\x66')]!==undefined||_0x4ae904[_0x72f21e(0x27e,'\x65\x6b\x4e\x66')][_0x72f21e(0x31f,'\x4d\x61\x5d\x4a')+_0x72f21e(0x2f6,'\x67\x48\x57\x37')]!==undefined||_0x4ae904['\x72\x65\x73\x75\x6c\x74'][_0x72f21e(0x267,'\x56\x34\x31\x39')+_0x72f21e(0x2fa,'\x24\x67\x23\x65')+'\x64']===!![]||_0x4ae904[_0x72f21e(0x371,'\x64\x77\x49\x72')]['\x72\x61\x77\x5f\x73\x74\x72\x65'+_0x72f21e(0x12c,'\x39\x21\x79\x5b')+_0x72f21e(0x277,'\x36\x2a\x59\x75')]===!![]||_0x4ae904[_0x72f21e(0x3c1,'\x70\x4c\x35\x33')][_0x72f21e(0x141,'\x50\x5d\x6d\x52')+'\x65\x76\x65\x6e\x74\x5f\x63\x6f'+_0x72f21e(0x336,'\x24\x67\x23\x65')]!==undefined)?{'\x72\x65\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x65\x64':!![],..._0x4ae904[_0x72f21e(0x425,'\x49\x43\x6c\x43')][_0x72f21e(0x482,'\x50\x5d\x6d\x52')+_0x72f21e(0x357,'\x53\x6e\x6f\x48')]!==undefined?{'\x65\x76\x65\x6e\x74\x73':_0x4ae904[_0x72f21e(0x221,'\x48\x41\x51\x5d')][_0x72f21e(0x21d,'\x67\x76\x37\x36')+_0x72f21e(0x35f,'\x67\x76\x37\x36')]}:{},..._0x4ae904[_0x72f21e(0x37f,'\x48\x21\x4e\x49')][_0x72f21e(0x417,'\x5e\x6b\x68\x37')+_0x72f21e(0x192,'\x53\x6a\x52\x69')+'\x65\x6e\x74\x73']!==undefined?{'\x73\x65\x6d\x61\x6e\x74\x69\x63\x5f\x74\x61\x69\x6c\x5f\x65\x76\x65\x6e\x74\x73':_0x4ae904[_0x72f21e(0x23a,'\x63\x6e\x45\x68')][_0x72f21e(0x22e,'\x4d\x61\x5d\x4a')+_0x72f21e(0x332,'\x4d\x61\x5d\x4a')+_0x72f21e(0x23b,'\x33\x4f\x28\x26')]}:{},..._0x4ae904[_0x72f21e(0x119,'\x54\x76\x51\x34')][_0x72f21e(0x452,'\x5e\x41\x48\x25')+'\x61\x6d\x5f\x62\x6f\x64\x79']!==undefined?{'\x72\x61\x77\x5f\x73\x74\x72\x65\x61\x6d\x5f\x62\x6f\x64\x79':_0x4ae904['\x72\x65\x73\x75\x6c\x74'][_0x72f21e(0x32f,'\x5b\x59\x21\x46')+_0x72f21e(0x474,'\x32\x46\x53\x2a')]}:{},..._0x4ae904[_0x72f21e(0x1a5,'\x23\x32\x61\x5d')][_0x72f21e(0x1bd,'\x74\x4d\x54\x49')+_0x72f21e(0x149,'\x74\x38\x23\x24')]!==undefined?{'\x63\x6f\x6e\x74\x65\x6e\x74\x5f\x74\x65\x78\x74':_0x4ae904[_0x72f21e(0x427,'\x55\x58\x67\x6f')][_0x72f21e(0x453,'\x42\x46\x72\x53')+_0x72f21e(0x3c9,'\x28\x56\x61\x26')]}:{},..._0x4ae904[_0x72f21e(0x419,'\x25\x66\x77\x4a')]['\x63\x6f\x6e\x74\x65\x6e\x74\x5f'+_0x72f21e(0x3be,'\x74\x38\x23\x24')+'\x64']?{'\x63\x6f\x6e\x74\x65\x6e\x74\x5f\x74\x72\x75\x6e\x63\x61\x74\x65\x64':!![]}:{},..._0x4ae904[_0x72f21e(0x221,'\x48\x41\x51\x5d')][_0x72f21e(0x297,'\x67\x76\x37\x36')+'\x61\x6d\x5f\x74\x72\x75\x6e\x63'+_0x72f21e(0x43c,'\x23\x32\x61\x5d')]?{'\x72\x61\x77\x5f\x73\x74\x72\x65\x61\x6d\x5f\x74\x72\x75\x6e\x63\x61\x74\x65\x64':!![]}:{},..._0x4ae904[_0x72f21e(0x294,'\x5e\x41\x48\x25')]['\x64\x72\x6f\x70\x70\x65\x64\x5f'+_0x72f21e(0x44e,'\x51\x45\x26\x2a')+_0x72f21e(0x1e0,'\x5e\x41\x48\x25')]?{'\x64\x72\x6f\x70\x70\x65\x64\x5f\x65\x76\x65\x6e\x74\x5f\x63\x6f\x75\x6e\x74':_0x4ae904[_0x72f21e(0x3ee,'\x42\x46\x72\x53')][_0x72f21e(0x3a5,'\x48\x21\x4e\x49')+_0x72f21e(0x21c,'\x48\x41\x51\x5d')+_0x72f21e(0x1ce,'\x74\x4d\x54\x49')]}:{}}:undefined;},_0x114662=_0x520c08=>{const _0x1a4521=_0x1da4a9;if(!_0x3e97dc[_0x1a4521(0x33a,'\x29\x79\x78\x26')]||_0x9186c1)return;_0x9186c1=!![];let _0x4dee86;try{if(_0x1a4521(0x3c6,'\x53\x6a\x52\x69')===_0x1a4521(0x18a,'\x67\x48\x57\x37')){if(_0x40e8f5)_0x4dee86=extractFeatures(_0x44aa3d);}else _0x2fb268=_0x1a4521(0x183,'\x32\x46\x53\x2a')+_0x1a4521(0x2d4,'\x33\x4f\x28\x26'),_0x451522[_0x1a4521(0x263,'\x54\x26\x40\x41')]?.(_0x5ba4c2({'\x65\x76\x65\x6e\x74':_0x1a4521(0x124,'\x39\x21\x79\x5b')+'\x61\x6c\x6c\x62\x61\x63\x6b','\x72\x65\x61\x73\x6f\x6e':_0x1a4521(0x117,'\x51\x45\x26\x2a')+_0x1a4521(0x232,'\x28\x56\x61\x26'),'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x5a17dc,'\x65\x72\x72\x6f\x72':_0x281dfa instanceof _0x185406?_0x1dec4a[_0x1a4521(0x2ae,'\x34\x23\x48\x5b')]:_0x5bb270(_0x106b18)}));}catch{}const _0x123ccc={'\x74\x73':new Date(_0x525994)[_0x1a4521(0x47d,'\x51\x4d\x32\x49')+'\x69\x6e\x67'](),'\x65\x76\x65\x6e\x74':_0x1a4521(0x24f,'\x48\x41\x51\x5d'),'\x69\x64':_0x1a4521(0x20b,'\x70\x4c\x35\x33')+randomUUID(),'\x72\x65\x71\x75\x65\x73\x74\x5f\x69\x64':getHeader(_0xe99554,_0x1a4521(0x462,'\x49\x43\x6c\x43')+_0x1a4521(0x1f9,'\x4f\x39\x6b\x39'))?clip(getHeader(_0xe99554,_0x1a4521(0x2ef,'\x63\x6e\x45\x68')+_0x1a4521(0x3eb,'\x74\x38\x23\x24'))):null,'\x72\x6f\x75\x74\x65':_0x26fd87,'\x70\x72\x6f\x76\x69\x64\x65\x72':providerForTrace(_0x26fd87,_0x497809,_0x37d957),'\x77\x69\x72\x65\x5f\x61\x70\x69':wireApiForRoute(_0x26fd87),'\x63\x6c\x69\x65\x6e\x74':detectClient(_0xe99554),...getHeader(_0xe99554,_0x1a4521(0x3a6,'\x70\x4c\x35\x33')+'\x6e\x74')?{'\x75\x73\x65\x72\x5f\x61\x67\x65\x6e\x74':clip(getHeader(_0xe99554,_0x1a4521(0x3c4,'\x48\x41\x51\x5d')+'\x6e\x74'))}:{},...((()=>{try{const _0x340709=extractTopLevelUserIdHash(_0x44aa3d);return _0x340709?{'\x75\x73\x65\x72\x5f\x69\x64\x5f\x68\x61\x73\x68':_0x340709}:{};}catch{return{};}})()),...((()=>{const _0x53a25b=_0x1a4521;try{const _0x22fd1a=extractThinkingEffort(_0x44aa3d);return _0x22fd1a?{'\x74\x68\x69\x6e\x6b\x69\x6e\x67\x5f\x65\x66\x66\x6f\x72\x74':_0x22fd1a}:{};}catch{if(_0x53a25b(0x1d6,'\x53\x6e\x6f\x48')===_0x53a25b(0x438,'\x51\x45\x26\x2a'))return{};else _0x11ad93=_0x3de2c9??_0x53a25b(0x2a2,'\x5d\x50\x48\x4b')+'\x65\x72\x72\x6f\x72',_0x174fee['\x77\x61\x72\x6e']?.(_0x16aa15({'\x65\x76\x65\x6e\x74':_0x53a25b(0x47a,'\x47\x38\x31\x37')+_0x53a25b(0x432,'\x54\x76\x51\x34'),'\x72\x65\x61\x73\x6f\x6e':_0x53a25b(0x47b,'\x48\x21\x4e\x49')+_0x53a25b(0x3ec,'\x4f\x39\x6b\x39'),'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x5db698,'\x77\x6f\x75\x6c\x64\x5f\x68\x61\x76\x65\x5f\x62\x65\x65\x6e':_0x40e154,'\x65\x72\x72\x6f\x72':_0xfca2e6 instanceof _0x284b1d?_0x14fc3f[_0x53a25b(0x18e,'\x51\x4d\x32\x49')]:_0x3df1c7(_0xfc34aa)})),_0x42c194=_0x4e7098,_0x51a092=_0x2c9746;}})()),'\x73\x65\x73\x73\x69\x6f\x6e\x5f\x69\x64':_0x20bad0,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':typeof _0x3eedbc==='\x73\x74\x72\x69\x6e\x67'?_0x3eedbc:null,'\x63\x68\x6f\x73\x65\x6e\x5f\x6d\x6f\x64\x65\x6c':typeof _0x18dd97===_0x1a4521(0x2c1,'\x5d\x50\x48\x4b')?_0x18dd97:null,'\x74\x69\x65\x72':_0x27719a,'\x72\x65\x61\x73\x6f\x6e':_0x3e37f7,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x216b92,'\x72\x6f\x75\x74\x65\x72\x5f\x65\x6e\x61\x62\x6c\x65\x64':_0x33634d&&_0x40e8f5,'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x497809,'\x73\x74\x61\x74\x75\x73':_0x520c08['\x73\x74\x61\x74\x75\x73'],'\x73\x74\x72\x65\x61\x6d':_0x520c08[_0x1a4521(0x160,'\x32\x46\x53\x2a')],'\x74\x74\x66\x62\x5f\x6d\x73':_0x158734,'\x6c\x61\x74\x65\x6e\x63\x79\x5f\x6d\x73':_0x43a912()-_0x525994,..._0x4dee86?{'\x66\x65\x61\x74\x75\x72\x65\x73':_0x4dee86}:{},..._0x520c08[_0x1a4521(0x2ba,'\x74\x4d\x54\x49')]?{'\x75\x73\x61\x67\x65':_0x520c08[_0x1a4521(0x479,'\x39\x21\x79\x5b')]}:{},..._0x520c08[_0x1a4521(0x29f,'\x67\x76\x37\x36')+_0x1a4521(0x47c,'\x47\x38\x31\x37')]!==undefined?{'\x73\x74\x6f\x70\x5f\x72\x65\x61\x73\x6f\x6e':_0x520c08['\x73\x74\x6f\x70\x5f\x72\x65\x61'+_0x1a4521(0x302,'\x50\x5d\x6d\x52')]}:{},..._0x520c08['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x1a4521(0x14f,'\x55\x58\x67\x6f')]?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x69\x64':_0x520c08[_0x1a4521(0x39c,'\x74\x38\x23\x24')+_0x1a4521(0x333,'\x25\x66\x77\x4a')]}:{},..._0x52d7fb?{'\x70\x72\x65\x76\x69\x6f\x75\x73\x5f\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x69\x64':_0x52d7fb}:{},..._0x520c08[_0x1a4521(0x265,'\x53\x6e\x6f\x48')]!==undefined?{'\x65\x72\x72\x6f\x72':safeTraceError(_0x520c08[_0x1a4521(0x2c6,'\x5e\x41\x48\x25')])}:{},..._0x28e156&&_0x4a35e6?{'\x72\x65\x71\x75\x65\x73\x74\x5f\x68\x65\x61\x64\x65\x72\x73':captureTraceMetadata(_0xe99554,_0x37d957)}:{},..._0x28e156&&_0x4a35e6&&_0x520c08['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x1a4521(0x1a7,'\x51\x4d\x32\x49')]?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x68\x65\x61\x64\x65\x72\x73':captureTraceMetadata(_0x520c08[_0x1a4521(0x34f,'\x50\x5d\x6d\x52')+_0x1a4521(0x15f,'\x49\x43\x6c\x43')],_0x37d957)}:{},..._0x28e156&&_0x4a35e6&&_0x520c08[_0x1a4521(0x392,'\x47\x46\x69\x21')+_0x1a4521(0x139,'\x49\x43\x6c\x43')+'\x61']!==undefined?{'\x74\x72\x61\x6e\x73\x70\x6f\x72\x74\x5f\x6d\x65\x74\x61\x64\x61\x74\x61':captureTraceMetadata(_0x520c08[_0x1a4521(0x33d,'\x67\x48\x57\x37')+_0x1a4521(0x31a,'\x5e\x41\x48\x25')+'\x61'],_0x37d957)}:{}};if(_0x24b3f4[_0x1a4521(0x211,'\x55\x59\x52\x55')]>0x92c*-0x1+-0x557+-0xe83*-0x1)try{_0x123ccc[_0x1a4521(0x3d0,'\x34\x23\x48\x5b')]=_0x917e74();}catch{}if(_0x28e156&&_0x4a35e6)try{if(_0x1a4521(0x3f1,'\x53\x6a\x52\x69')===_0x1a4521(0x155,'\x23\x32\x61\x5d')){if(_0x3a70e5)_0x4958a1=_0x2b28dd(_0x52d5ee);}else{const _0x4e78c0=captureBody(_0xf96077,_0x37d957),_0x4d3fb4=_0x520c08[_0x1a4521(0x3d1,'\x67\x76\x37\x36')+_0x1a4521(0x384,'\x5e\x41\x48\x25')]!==undefined?captureBody(_0x520c08['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x1a4521(0x2ee,'\x55\x58\x67\x6f')],_0x37d957):undefined;if(_0x4e78c0)_0x123ccc[_0x1a4521(0x1dc,'\x5e\x6b\x68\x37')+_0x1a4521(0x203,'\x7a\x5b\x4c\x42')]=_0x4e78c0[_0x1a4521(0x1a6,'\x65\x6b\x4e\x66')];if(_0x4d3fb4)_0x123ccc['\x72\x65\x73\x70\x6f\x6e\x73\x65'+_0x1a4521(0x40d,'\x56\x34\x31\x39')]=_0x4d3fb4[_0x1a4521(0x212,'\x36\x2a\x59\x75')];_0x123ccc[_0x1a4521(0x1e3,'\x74\x38\x23\x24')+'\x6e']=REDACTION_VERSION;if(_0x4e78c0?.[_0x1a4521(0x1a4,'\x56\x34\x31\x39')+'\x64']||_0x4d3fb4?.[_0x1a4521(0x2b9,'\x33\x4f\x28\x26')+'\x64']||_0x54e082(_0x520c08[_0x1a4521(0x3d1,'\x67\x76\x37\x36')+_0x1a4521(0x343,'\x51\x4d\x32\x49')])||_0x123ccc[_0x1a4521(0x2fb,'\x40\x70\x5e\x50')]?.[_0x1a4521(0x3f6,'\x39\x21\x79\x5b')](_0x41c737=>_0x41c737['\x62\x6f\x64\x79\x5f\x74\x72\x75'+_0x1a4521(0x3cf,'\x5b\x59\x21\x46')]===!![]))_0x123ccc['\x62\x6f\x64\x79\x5f\x74\x72\x75'+_0x1a4521(0x1d4,'\x48\x41\x51\x5d')]=!![];}}catch{}else _0x123ccc[_0x1a4521(0x2de,'\x64\x77\x49\x72')]?.[_0x1a4521(0x3f6,'\x39\x21\x79\x5b')](_0x1b93a0=>_0x1b93a0['\x62\x6f\x64\x79\x5f\x74\x72\x75'+_0x1a4521(0x449,'\x74\x38\x23\x24')]===!![])&&(_0x123ccc[_0x1a4521(0x2a4,'\x48\x21\x4e\x49')+_0x1a4521(0x400,'\x55\x59\x52\x55')]=!![]);try{if(_0x1a4521(0x41d,'\x70\x69\x50\x66')===_0x1a4521(0x1ef,'\x63\x6e\x45\x68')){const _0x5e0b0c=_0x32724a['\x73\x74\x61\x74\x75\x73\x43\x6f'+'\x64\x65'];_0x301313({'\x73\x74\x61\x74\x75\x73':typeof _0x5e0b0c===_0x1a4521(0x234,'\x64\x77\x49\x72')?_0x5e0b0c:null,'\x73\x74\x72\x65\x61\x6d':![],'\x65\x72\x72\x6f\x72':_0x14f1ca instanceof _0x5b9294?_0x2a4865[_0x1a4521(0x2e5,'\x74\x38\x23\x24')]:_0x53f6e7(_0x1269b0)});throw _0x285a5d;}else _0x3e97dc[_0x1a4521(0x142,'\x53\x6b\x2a\x4b')](_0x123ccc);}catch{}},_0x1d5b13=_0xab25c9=>{const _0x3e338c=_0x1da4a9;if(_0x3e97dc['\x6f\x6e\x54\x72\x61\x63\x65']){if(_0x3e338c(0x20d,'\x23\x32\x61\x5d')!=='\x79\x59\x76\x4f\x4c')_0x12ab45[_0x3e338c(0x3aa,'\x65\x6b\x4e\x66')]=_0x3c818a[_0x3e338c(0x3d2,'\x29\x79\x78\x26')];else{const _0xed7a9d=new SseUsageScanner({'\x63\x61\x70\x74\x75\x72\x65\x43\x6f\x6e\x74\x65\x6e\x74':_0x28e156,'\x65\x6e\x76':_0x37d957}),_0x58fa43=teeStreamForScan(_0xab25c9[_0x3e338c(0x182,'\x39\x21\x79\x5b')],_0x5368d2=>_0xed7a9d[_0x3e338c(0x397,'\x53\x6b\x2a\x4b')](_0x5368d2),_0x3f0e10=>{const _0x14390b=_0x3e338c;if(_0x14390b(0x383,'\x4f\x39\x6b\x39')===_0x14390b(0x16e,'\x5d\x50\x48\x4b'))try{const _0x34ec0a=_0x23a387(_0x2296ec,_0x233c8a),_0x5c1d1b=_0x38f015[_0x14390b(0x3a8,'\x64\x77\x49\x72')+_0x14390b(0x16b,'\x55\x59\x52\x55')]!==_0xfef5fa?_0x221051(_0x25bace[_0x14390b(0x459,'\x7a\x5b\x4c\x42')+_0x14390b(0x2ee,'\x55\x58\x67\x6f')],_0x5e0896):_0xe0fa06;if(_0x34ec0a)_0x10e6e5[_0x14390b(0x36e,'\x5b\x59\x21\x46')+'\x6f\x64\x79']=_0x34ec0a[_0x14390b(0x369,'\x39\x21\x79\x5b')];if(_0x5c1d1b)_0x335acc[_0x14390b(0x3a8,'\x64\x77\x49\x72')+_0x14390b(0x465,'\x5b\x72\x30\x4d')]=_0x5c1d1b[_0x14390b(0x307,'\x53\x6e\x6f\x48')];_0x6c6b19[_0x14390b(0x312,'\x29\x79\x78\x26')+'\x6e']=_0x30ab79;if(_0x34ec0a?.[_0x14390b(0x483,'\x29\x79\x78\x26')+'\x64']||_0x5c1d1b?.[_0x14390b(0x181,'\x53\x6e\x6f\x48')+'\x64']||_0x24a197(_0x1c0172[_0x14390b(0x477,'\x28\x56\x61\x26')+_0x14390b(0x2e0,'\x51\x45\x26\x2a')])||_0x1a82af[_0x14390b(0x3c2,'\x74\x4d\x54\x49')]?.['\x73\x6f\x6d\x65'](_0x34355f=>_0x34355f[_0x14390b(0x17e,'\x5b\x59\x21\x46')+_0x14390b(0x35b,'\x56\x34\x31\x39')]===!![]))_0x5369fc[_0x14390b(0x36b,'\x5d\x53\x63\x34')+_0x14390b(0x1d4,'\x48\x41\x51\x5d')]=!![];}catch{}else{_0xed7a9d[_0x14390b(0x272,'\x35\x26\x5d\x42')]();const _0x4a2e81=_0xed7a9d[_0x14390b(0x323,'\x55\x59\x52\x55')][_0x14390b(0x376,'\x54\x76\x51\x34')]??_0x3f0e10?.[_0x14390b(0x37b,'\x56\x34\x31\x39')]??(_0x3f0e10?.[_0x14390b(0x364,'\x51\x4d\x32\x49')+'\x64']?_0x14390b(0x31d,'\x4d\x61\x5d\x4a')+_0x14390b(0x27d,'\x53\x6e\x6f\x48'):undefined),_0x22da8c=_0x262d4b(_0xed7a9d),_0x27f79e=_0x24b3f4[_0x14390b(0x441,'\x29\x79\x78\x26')](_0xec914d=>_0xec914d[_0x14390b(0x368,'\x7a\x5b\x4c\x42')+_0x14390b(0x2e7,'\x53\x6a\x52\x69')]===0xc03*-0x3+-0x7f3*-0x2+0x1424*0x1&&_0xec914d[_0x14390b(0x292,'\x63\x6e\x45\x68')+_0x14390b(0x465,'\x5b\x72\x30\x4d')]===undefined);_0x27f79e&&_0x22da8c!==undefined&&(_0x27f79e[_0x14390b(0x231,'\x5b\x59\x21\x46')+_0x14390b(0x16b,'\x55\x59\x52\x55')]=_0x22da8c,_0x27f79e[_0x14390b(0x125,'\x32\x46\x53\x2a')+_0x14390b(0x12f,'\x24\x67\x23\x65')]=_0x54e082(_0x22da8c)),_0x114662({'\x73\x74\x61\x74\x75\x73':_0xab25c9[_0x14390b(0x360,'\x48\x41\x51\x5d')],'\x73\x74\x72\x65\x61\x6d':!![],..._0xed7a9d['\x72\x65\x73\x75\x6c\x74'][_0x14390b(0x198,'\x23\x32\x61\x5d')]?{'\x75\x73\x61\x67\x65':_0xed7a9d[_0x14390b(0x481,'\x74\x4d\x54\x49')]['\x75\x73\x61\x67\x65']}:{},..._0xed7a9d['\x72\x65\x73\x75\x6c\x74'][_0x14390b(0x44b,'\x25\x66\x77\x4a')+_0x14390b(0x274,'\x47\x6f\x44\x40')]!==undefined?{'\x73\x74\x6f\x70\x5f\x72\x65\x61\x73\x6f\x6e':_0xed7a9d['\x72\x65\x73\x75\x6c\x74'][_0x14390b(0x144,'\x64\x77\x49\x72')+_0x14390b(0x1f5,'\x4d\x61\x5d\x4a')]}:{},..._0xed7a9d[_0x14390b(0x3c1,'\x70\x4c\x35\x33')][_0x14390b(0x429,'\x65\x6b\x4e\x66')+'\x5f\x69\x64']?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x5f\x69\x64':_0xed7a9d[_0x14390b(0x390,'\x32\x46\x53\x2a')][_0x14390b(0x2eb,'\x5b\x72\x30\x4d')+_0x14390b(0x471,'\x5b\x24\x64\x71')]}:{},..._0x4a2e81?{'\x65\x72\x72\x6f\x72':_0x4a2e81}:{},..._0x22da8c!==undefined?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x42\x6f\x64\x79':_0x22da8c}:{},..._0xab25c9['\x68\x65\x61\x64\x65\x72\x73']?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73':_0xab25c9[_0x14390b(0x358,'\x23\x32\x61\x5d')]}:{},..._0xab25c9['\x74\x72\x61\x6e\x73\x70\x6f\x72'+_0x14390b(0x12d,'\x55\x58\x67\x6f')+'\x61']!==undefined?{'\x74\x72\x61\x6e\x73\x70\x6f\x72\x74\x4d\x65\x74\x61\x64\x61\x74\x61':_0xab25c9['\x74\x72\x61\x6e\x73\x70\x6f\x72'+'\x74\x4d\x65\x74\x61\x64\x61\x74'+'\x61']}:{}});}});return streamResponse({..._0xab25c9,'\x73\x74\x72\x65\x61\x6d':_0x58fa43});}}return streamResponse(_0xab25c9);};try{if(_0x26fd87===_0x1da4a9(0x355,'\x55\x58\x67\x6f')+_0x1da4a9(0x208,'\x40\x70\x5e\x50')&&_0x497809!==_0x1da4a9(0x28d,'\x49\x43\x6c\x43')){const _0x4116dd=!!_0xe99554[_0x1da4a9(0x218,'\x34\x23\x48\x5b')+'\x79'],_0x3228bc=hasAnthropicProxyCredentials(_0x37d957);if(!_0x4116dd&&!_0x3228bc)throw Object[_0x1da4a9(0x424,'\x39\x21\x79\x5b')](new Error(_0x1da4a9(0x218,'\x34\x23\x48\x5b')+_0x1da4a9(0x437,'\x49\x43\x6c\x43')+'\x65\x64'),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x191});}else{if(_0x26fd87!==_0x1da4a9(0x2c2,'\x49\x43\x6c\x43')+_0x1da4a9(0x21f,'\x5d\x53\x63\x34')){if(_0x1da4a9(0x26b,'\x5b\x59\x21\x46')!==_0x1da4a9(0x136,'\x67\x76\x37\x36'))_0x470083[_0x1da4a9(0x386,'\x29\x79\x78\x26')]({'\x65\x76\x65\x6e\x74':_0x1da4a9(0x3b5,'\x23\x32\x61\x5d')+_0x1da4a9(0x19f,'\x50\x5d\x6d\x52')+_0x1da4a9(0x210,'\x34\x23\x48\x5b'),'\x72\x65\x61\x73\x6f\x6e':'\x64\x75\x70\x6c\x69\x63\x61\x74'+_0x1da4a9(0x39b,'\x50\x5d\x6d\x52')+_0x1da4a9(0x3ea,'\x5b\x24\x64\x71'),'\x6d\x65\x73\x73\x61\x67\x65':_0x1da4a9(0x3df,'\x4f\x39\x6b\x39')+_0x1da4a9(0x316,'\x28\x56\x61\x26')+_0x1da4a9(0x1b6,'\x32\x46\x53\x2a')+_0x1da4a9(0x3a1,'\x48\x21\x4e\x49')+'\x20\x74\x68\x65\x20\x73\x61\x6d'+_0x1da4a9(0x1d7,'\x48\x41\x51\x5d')+_0x1da4a9(0x2f7,'\x54\x76\x51\x34')+_0x1da4a9(0x177,'\x67\x76\x37\x36')+_0x1da4a9(0x1bb,'\x5d\x50\x48\x4b')+_0x1da4a9(0x3c3,'\x4d\x61\x5d\x4a')+_0x1da4a9(0x2b3,'\x49\x43\x6c\x43')+_0x1da4a9(0x233,'\x5b\x59\x21\x46')+_0x1da4a9(0x27c,'\x47\x6f\x44\x40'),'\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64\x5f\x74\x69\x65\x72\x73':_0x3ada9d,'\x64\x75\x70\x6c\x69\x63\x61\x74\x65\x5f\x6d\x6f\x64\x65\x6c\x73':_0x5388ff});else{const _0x3da5c8=hasOpenAIProxyCredentials(_0x37d957);if(!_0x3da5c8)throw Object[_0x1da4a9(0x23e,'\x47\x46\x69\x21')](new Error(_0x1da4a9(0x32a,'\x28\x56\x61\x26')+_0x1da4a9(0x2b7,'\x5d\x53\x63\x34')+_0x1da4a9(0x469,'\x4d\x61\x5d\x4a')+'\x72\x65\x71\x75\x69\x72\x65\x64'),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x191});}}}if(_0x33634d&&_0x40e8f5){if('\x67\x68\x68\x55\x67'===_0x1da4a9(0x12a,'\x5e\x6b\x68\x37')){for(const _0x35b91e of _0x2fc946(_0x15fcd8(_0x3e34eb)))_0x39045e[_0x1da4a9(0x206,'\x49\x43\x6c\x43')]?.(_0x1b4153(_0x35b91e));}else try{if('\x65\x72\x46\x77\x63'!=='\x65\x72\x46\x77\x63'){const _0x118489=_0x48f2dd(_0x2f5605);return _0x118489?{'\x74\x68\x69\x6e\x6b\x69\x6e\x67\x5f\x65\x66\x66\x6f\x72\x74':_0x118489}:{};}else{const _0x1dabe9=pickForTurn({'\x66\x65\x61\x74\x75\x72\x65\x73':extractFeatures(_0x44aa3d),'\x72\x6f\x75\x74\x65\x72\x5f\x73\x74\x61\x74\x65':{'\x68\x69\x73\x74\x6f\x72\x79':[],'\x70\x69\x6e\x6e\x65\x64':null},'\x63\x6f\x6e\x66\x69\x67':{'\x64\x65\x66\x61\x75\x6c\x74\x5f\x74\x69\x65\x72':'\x6d\x69\x64','\x64\x69\x73\x61\x62\x6c\x65':![],'\x68\x61\x72\x64\x5f\x70\x69\x6e\x5f\x61\x66\x74\x65\x72\x5f\x70\x6c\x61\x6e':![]}});_0x27719a=_0x1dabe9[_0x1da4a9(0x3f3,'\x5e\x41\x48\x25')],_0x3e37f7=_0x1dabe9['\x72\x65\x61\x73\x6f\x6e'];const _0x158c12=resolveTierModels(_0x37d957)[_0x1dabe9[_0x1da4a9(0x475,'\x47\x46\x69\x21')]];_0x158c12&&(isIntraFamilyDowngrade(_0x158c12,_0x3eedbc)?(_0x216b92=_0x1da4a9(0x334,'\x63\x6e\x45\x68')+_0x1da4a9(0x2cd,'\x51\x45\x26\x2a')+'\x64',_0x16025f[_0x1da4a9(0x168,'\x36\x2a\x59\x75')]?.(j({'\x65\x76\x65\x6e\x74':_0x1da4a9(0x1a9,'\x24\x67\x23\x65')+_0x1da4a9(0x201,'\x55\x58\x67\x6f'),'\x72\x65\x61\x73\x6f\x6e':_0x1da4a9(0x444,'\x53\x6e\x6f\x48')+_0x1da4a9(0x40c,'\x48\x21\x4e\x49')+'\x64','\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x3eedbc,'\x77\x6f\x75\x6c\x64\x5f\x68\x61\x76\x65\x5f\x62\x65\x65\x6e':_0x158c12}))):_0x18dd97=_0x158c12);}}catch(_0x13b67c){if(_0x1da4a9(0x131,'\x5e\x41\x48\x25')==='\x49\x6d\x73\x65\x75')_0x216b92='\x63\x6c\x61\x73\x73\x69\x66\x69'+_0x1da4a9(0x3a4,'\x48\x21\x4e\x49'),_0x16025f['\x77\x61\x72\x6e']?.(j({'\x65\x76\x65\x6e\x74':_0x1da4a9(0x47a,'\x47\x38\x31\x37')+_0x1da4a9(0x3b3,'\x67\x76\x37\x36'),'\x72\x65\x61\x73\x6f\x6e':'\x63\x6c\x61\x73\x73\x69\x66\x69'+_0x1da4a9(0x264,'\x67\x76\x37\x36'),'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x3eedbc,'\x65\x72\x72\x6f\x72':_0x13b67c instanceof Error?_0x13b67c[_0x1da4a9(0x329,'\x5b\x59\x21\x46')]:String(_0x13b67c)}));else{const _0x4cf132=_0x23a488[_0x1da4a9(0x36d,'\x55\x59\x52\x55')];if(typeof _0x4cf132===_0x1da4a9(0x1ca,'\x25\x66\x77\x4a')||typeof _0x4cf132===_0x1da4a9(0x228,'\x39\x21\x79\x5b'))return _0x3aff5f(_0x4cf132);}}}let _0xa9dbb8=_0x44aa3d;if(_0x33634d&&_0x40e8f5&&typeof _0x18dd97===_0x1da4a9(0x2c1,'\x5d\x50\x48\x4b')&&_0x18dd97!==_0x5e909b)try{_0xa9dbb8=rewriteModel(_0x44aa3d,_0x18dd97);}catch(_0x321ff5){_0x216b92=_0x216b92??_0x1da4a9(0x148,'\x32\x46\x53\x2a')+_0x1da4a9(0x286,'\x33\x4f\x28\x26'),_0x16025f[_0x1da4a9(0x44a,'\x39\x21\x79\x5b')]?.(j({'\x65\x76\x65\x6e\x74':_0x1da4a9(0x30c,'\x5e\x6b\x68\x37')+'\x61\x6c\x6c\x62\x61\x63\x6b','\x72\x65\x61\x73\x6f\x6e':_0x1da4a9(0x3ad,'\x55\x58\x67\x6f')+_0x1da4a9(0x1b7,'\x48\x41\x51\x5d'),'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x3eedbc,'\x77\x6f\x75\x6c\x64\x5f\x68\x61\x76\x65\x5f\x62\x65\x65\x6e':_0x18dd97,'\x65\x72\x72\x6f\x72':_0x321ff5 instanceof Error?_0x321ff5['\x6d\x65\x73\x73\x61\x67\x65']:String(_0x321ff5)})),_0xa9dbb8=_0x44aa3d,_0x18dd97=_0x3eedbc;}_0x33634d&&_0x40e8f5&&_0x16025f[_0x1da4a9(0x370,'\x70\x4c\x35\x33')]?.(j({'\x65\x76\x65\x6e\x74':_0x1da4a9(0x34b,'\x40\x70\x5e\x50')+_0x1da4a9(0x111,'\x51\x45\x26\x2a'),'\x74\x69\x65\x72':_0x27719a,'\x72\x65\x61\x73\x6f\x6e':_0x3e37f7,'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x3eedbc,'\x63\x68\x6f\x73\x65\x6e\x5f\x6d\x6f\x64\x65\x6c':_0x18dd97,'\x66\x61\x6c\x6c\x62\x61\x63\x6b':_0x216b92}));_0xf96077=_0xa9dbb8,_0x4a35e6=!![];const _0x153d32=await _0x3e97dc[_0x1da4a9(0x137,'\x5d\x53\x63\x34')+_0x1da4a9(0x29c,'\x36\x2a\x59\x75')](_0x26fd87,_0xa9dbb8,{'\x69\x6e\x62\x6f\x75\x6e\x64\x48\x65\x61\x64\x65\x72\x73':_0xe99554,'\x75\x70\x73\x74\x72\x65\x61\x6d\x4d\x6f\x64\x65':_0x497809});if(_0x153d32[_0x1da4a9(0x406,'\x47\x46\x69\x21')+'\x75\x65\x73\x74\x42\x6f\x64\x79']!==undefined)_0xf96077=_0x153d32[_0x1da4a9(0x21b,'\x67\x48\x57\x37')+_0x1da4a9(0x3f7,'\x67\x76\x37\x36')];_0x158734=_0x43a912()-_0x525994;if(_0x153d32[_0x1da4a9(0x362,'\x51\x45\x26\x2a')])return _0x1d5b13(_0x153d32);let _0x1a607a=_0x153d32;if(_0x33634d&&_0x40e8f5&&_0x153d32['\x73\x74\x61\x74\x75\x73']>=-0x2e*-0xcc+0x665+-0x2919&&typeof _0x18dd97===_0x1da4a9(0x303,'\x47\x46\x69\x21')&&_0x18dd97!==_0x3eedbc){if(_0x1da4a9(0x363,'\x48\x21\x4e\x49')!==_0x1da4a9(0x40f,'\x7a\x5b\x4c\x42')){const _0x41f663={'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x3eedbc,'\x77\x6f\x75\x6c\x64\x5f\x68\x61\x76\x65\x5f\x62\x65\x65\x6e':_0x18dd97};_0x16025f[_0x1da4a9(0x25c,'\x56\x34\x31\x39')]?.(j({'\x65\x76\x65\x6e\x74':_0x1da4a9(0x1c5,'\x48\x41\x51\x5d')+_0x1da4a9(0x13f,'\x65\x6b\x4e\x66'),'\x72\x65\x61\x73\x6f\x6e':_0x1da4a9(0x2d0,'\x4d\x61\x5d\x4a')+'\x5f\x35\x78\x78\x5f\x72\x65\x74'+'\x72\x79',..._0x41f663,'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x73\x74\x61\x74\x75\x73':_0x153d32[_0x1da4a9(0x1e7,'\x54\x26\x40\x41')]}));const _0x387023=await drain(_0x153d32[_0x1da4a9(0x20c,'\x53\x6b\x2a\x4b')],_0x16025f,_0x41f663),_0x15dd99=_0x1af08b(_0x387023,_0x153d32[_0x1da4a9(0x24c,'\x5b\x72\x30\x4d')]),_0xf2f7fb=_0x153d32[_0x1da4a9(0x37e,'\x53\x6e\x6f\x48')+_0x1da4a9(0x30a,'\x70\x69\x50\x66')]!==undefined?_0x153d32[_0x1da4a9(0x2a1,'\x5d\x53\x63\x34')+_0x1da4a9(0x3dd,'\x5e\x41\x48\x25')]:_0xa9dbb8;let _0x374211=_0x44aa3d;_0x24b3f4[_0x1da4a9(0x35e,'\x24\x67\x23\x65')]({'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':0x0,'\x6d\x6f\x64\x65\x6c':_0x18dd97,'\x70\x72\x6f\x76\x69\x64\x65\x72':providerForTrace(_0x26fd87,_0x497809,_0x37d957),'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x497809,'\x73\x74\x61\x74\x75\x73':_0x153d32[_0x1da4a9(0x276,'\x55\x58\x67\x6f')],'\x65\x72\x72\x6f\x72':safeTraceError(_0x1da4a9(0x2d8,'\x33\x4f\x28\x26')+'\x20'+_0x153d32['\x73\x74\x61\x74\x75\x73']),'\x72\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0xf2f7fb,'\x72\x65\x73\x70\x6f\x6e\x73\x65\x42\x6f\x64\x79':_0x15dd99});try{_0x374211=rewriteModel(_0x44aa3d,String(_0x3eedbc)),_0x1a607a=await _0x3e97dc[_0x1da4a9(0x3fb,'\x5e\x41\x48\x25')+_0x1da4a9(0x1e9,'\x23\x32\x61\x5d')](_0x26fd87,_0x374211,{'\x69\x6e\x62\x6f\x75\x6e\x64\x48\x65\x61\x64\x65\x72\x73':_0xe99554,'\x75\x70\x73\x74\x72\x65\x61\x6d\x4d\x6f\x64\x65':_0x497809}),_0xf96077=_0x1a607a[_0x1da4a9(0x470,'\x26\x40\x66\x40')+_0x1da4a9(0x2f3,'\x64\x77\x49\x72')]!==undefined?_0x1a607a[_0x1da4a9(0x2be,'\x24\x67\x23\x65')+_0x1da4a9(0x1db,'\x32\x46\x53\x2a')]:_0x374211,_0x24b3f4[_0x1da4a9(0x2d7,'\x56\x34\x31\x39')]({'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':0x1,'\x6d\x6f\x64\x65\x6c':typeof _0x3eedbc===_0x1da4a9(0x26d,'\x39\x21\x79\x5b')?_0x3eedbc:null,'\x70\x72\x6f\x76\x69\x64\x65\x72':providerForTrace(_0x26fd87,_0x497809,_0x37d957),'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x497809,'\x73\x74\x61\x74\x75\x73':_0x1a607a[_0x1da4a9(0x396,'\x54\x76\x51\x34')],'\x72\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0xf96077});}catch(_0x19275f){_0x24b3f4[_0x1da4a9(0x1e4,'\x70\x69\x50\x66')]({'\x61\x74\x74\x65\x6d\x70\x74\x5f\x69\x6e\x64\x65\x78':0x1,'\x6d\x6f\x64\x65\x6c':typeof _0x3eedbc===_0x1da4a9(0x42d,'\x34\x23\x48\x5b')?_0x3eedbc:null,'\x70\x72\x6f\x76\x69\x64\x65\x72':providerForTrace(_0x26fd87,_0x497809,_0x37d957),'\x75\x70\x73\x74\x72\x65\x61\x6d\x5f\x6d\x6f\x64\x65':_0x497809,'\x73\x74\x61\x74\x75\x73':0x1f6,'\x65\x72\x72\x6f\x72':safeTraceError(_0x19275f instanceof Error?_0x19275f[_0x1da4a9(0x173,'\x23\x32\x61\x5d')]:String(_0x19275f)),'\x72\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x374211}),_0x1a607a={'\x73\x74\x61\x74\x75\x73':_0x153d32[_0x1da4a9(0x45a,'\x29\x79\x78\x26')],'\x68\x65\x61\x64\x65\x72\x73':_0x153d32[_0x1da4a9(0x230,'\x26\x40\x66\x40')],'\x73\x74\x72\x65\x61\x6d':null,'\x74\x65\x78\x74':()=>_0x387023},_0x16025f['\x77\x61\x72\x6e']?.(j({'\x65\x76\x65\x6e\x74':_0x1da4a9(0x162,'\x54\x26\x40\x41')+_0x1da4a9(0x306,'\x67\x48\x57\x37'),'\x72\x65\x61\x73\x6f\x6e':'\x75\x70\x73\x74\x72\x65\x61\x6d'+_0x1da4a9(0x352,'\x53\x6e\x6f\x48')+_0x1da4a9(0x2d1,'\x36\x2a\x59\x75')+'\x64',..._0x41f663,'\x65\x72\x72\x6f\x72':_0x19275f instanceof Error?_0x19275f[_0x1da4a9(0x153,'\x67\x76\x37\x36')]:String(_0x19275f)}));}}else try{_0x199564=_0x25fcdb(_0x20edd8,_0x429f64);}catch(_0x16f4f2){_0x508127=_0x1e2b23??_0x1da4a9(0x428,'\x5d\x53\x63\x34')+_0x1da4a9(0x3b4,'\x4d\x61\x5d\x4a'),_0x21acf8[_0x1da4a9(0x1e2,'\x63\x6e\x45\x68')]?.(_0x20d17b({'\x65\x76\x65\x6e\x74':_0x1da4a9(0x3bd,'\x33\x4f\x28\x26')+_0x1da4a9(0x262,'\x47\x46\x69\x21'),'\x72\x65\x61\x73\x6f\x6e':_0x1da4a9(0x1ec,'\x70\x4c\x35\x33')+_0x1da4a9(0x46e,'\x40\x70\x5e\x50'),'\x6f\x72\x69\x67\x69\x6e\x61\x6c\x5f\x6d\x6f\x64\x65\x6c':_0x536a13,'\x77\x6f\x75\x6c\x64\x5f\x68\x61\x76\x65\x5f\x62\x65\x65\x6e':_0x3d6249,'\x65\x72\x72\x6f\x72':_0x16f4f2 instanceof _0x321c55?_0x16f4f2[_0x1da4a9(0x44f,'\x48\x21\x4e\x49')]:_0x1145a0(_0x16f4f2)})),_0x36d395=_0x51534d,_0x4a506f=_0x36edd8;}}if(_0x1a607a[_0x1da4a9(0x3b2,'\x40\x70\x5e\x50')])return _0x1d5b13(_0x1a607a);let _0x259b5d='';if(_0x1a607a['\x74\x65\x78\x74'])try{_0x259b5d=await Promise[_0x1da4a9(0x2af,'\x47\x38\x31\x37')](_0x1a607a[_0x1da4a9(0x335,'\x70\x4c\x35\x33')]());}catch{}const _0x358fc5=_0x1af08b(_0x259b5d,_0x1a607a[_0x1da4a9(0x3a3,'\x4d\x61\x5d\x4a')]),_0x282202=_0x24b3f4['\x66\x69\x6e\x64'](_0x2bc01c=>_0x2bc01c['\x61\x74\x74\x65\x6d\x70\x74\x5f'+_0x1da4a9(0x26a,'\x4d\x61\x5d\x4a')]===0x44+0x1ca6+-0x1ce9*0x1&&_0x2bc01c[_0x1da4a9(0x473,'\x54\x26\x40\x41')+_0x1da4a9(0x16b,'\x55\x59\x52\x55')]===undefined);if(_0x282202)_0x282202[_0x1da4a9(0x1aa,'\x35\x26\x5d\x42')+_0x1da4a9(0x14a,'\x29\x79\x78\x26')]=_0x358fc5;return _0x114662({'\x73\x74\x61\x74\x75\x73':_0x1a607a[_0x1da4a9(0x31b,'\x47\x46\x69\x21')],'\x73\x74\x72\x65\x61\x6d':![],...extractResponseMeta(_0x358fc5),'\x72\x65\x73\x70\x6f\x6e\x73\x65\x42\x6f\x64\x79':_0x358fc5,..._0x1a607a[_0x1da4a9(0x1ad,'\x70\x4c\x35\x33')]?{'\x72\x65\x73\x70\x6f\x6e\x73\x65\x48\x65\x61\x64\x65\x72\x73':_0x1a607a[_0x1da4a9(0x436,'\x48\x41\x51\x5d')]}:{},..._0x1a607a[_0x1da4a9(0x133,'\x55\x59\x52\x55')+_0x1da4a9(0x12d,'\x55\x58\x67\x6f')+'\x61']!==undefined?{'\x74\x72\x61\x6e\x73\x70\x6f\x72\x74\x4d\x65\x74\x61\x64\x61\x74\x61':_0x1a607a['\x74\x72\x61\x6e\x73\x70\x6f\x72'+_0x1da4a9(0x31a,'\x5e\x41\x48\x25')+'\x61']}:{}}),{'\x73\x74\x61\x74\x75\x73':_0x1a607a[_0x1da4a9(0x140,'\x74\x4d\x54\x49')],'\x62\x6f\x64\x79':_0x358fc5};}catch(_0x2e1531){const _0x3f1eba=_0x2e1531[_0x1da4a9(0x113,'\x48\x21\x4e\x49')+'\x64\x65'];_0x114662({'\x73\x74\x61\x74\x75\x73':typeof _0x3f1eba===_0x1da4a9(0x38a,'\x67\x76\x37\x36')?_0x3f1eba:null,'\x73\x74\x72\x65\x61\x6d':![],'\x65\x72\x72\x6f\x72':_0x2e1531 instanceof Error?_0x2e1531[_0x1da4a9(0x2aa,'\x53\x6e\x6f\x48')]:String(_0x2e1531)});throw _0x2e1531;}}else{const _0x43bae1=_0x28c0b1&&typeof _0x41164d===_0x1da4a9(0x122,'\x35\x26\x5d\x42')?_0x36675e:_0x2eda0d;return _0x43bae1?.[_0x1da4a9(0x293,'\x53\x6e\x6f\x48')+_0x1da4a9(0x44c,'\x53\x6a\x52\x69')+'\x64']===!![]||_0x43bae1?.[_0x1da4a9(0x213,'\x50\x5d\x6d\x52')+_0x1da4a9(0x1b4,'\x5d\x53\x63\x34')+_0x1da4a9(0x423,'\x47\x46\x69\x21')]===!![]||typeof _0x43bae1?.[_0x1da4a9(0x278,'\x65\x6b\x4e\x66')+_0x1da4a9(0x347,'\x5b\x72\x30\x4d')+_0x1da4a9(0x196,'\x70\x4c\x35\x33')]===_0x1da4a9(0x35d,'\x53\x6a\x52\x69');}};}
|