@evomap/evolver 1.91.2 → 1.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/index.js +150 -71
  2. package/package.json +2 -1
  3. package/src/canonicalIdentityLock.js +455 -0
  4. package/src/evolve/guards.js +1 -1
  5. package/src/evolve/pipeline/collect.js +1 -1
  6. package/src/evolve/pipeline/dispatch.js +1 -1
  7. package/src/evolve/pipeline/enrich.js +1 -1
  8. package/src/evolve/pipeline/hub.js +1 -1
  9. package/src/evolve/pipeline/select.js +1 -1
  10. package/src/evolve/pipeline/signals.js +1 -1
  11. package/src/evolve/utils.js +1 -1
  12. package/src/evolve.js +1 -1
  13. package/src/gep/a2aProtocol.js +1 -5175
  14. package/src/gep/antiAbuseTelemetry.js +1 -233
  15. package/src/gep/assetStore.js +56 -12
  16. package/src/gep/autoDistillConv.js +1 -205
  17. package/src/gep/autoDistillLlm.js +1 -315
  18. package/src/gep/candidateEval.js +1 -92
  19. package/src/gep/candidates.js +1 -1
  20. package/src/gep/contentHash.js +1 -30
  21. package/src/gep/conversationDistiller.js +1 -270
  22. package/src/gep/conversationSniffer.js +1 -266
  23. package/src/gep/crypto.js +1 -93
  24. package/src/gep/curriculum.js +1 -1
  25. package/src/gep/deviceId.js +1 -218
  26. package/src/gep/envFingerprint.js +1 -118
  27. package/src/gep/epigenetics.js +1 -31
  28. package/src/gep/execBridge.js +1 -712
  29. package/src/gep/explore.js +1 -289
  30. package/src/gep/hash.js +1 -15
  31. package/src/gep/hubFetch.js +1 -672
  32. package/src/gep/hubReview.js +1 -212
  33. package/src/gep/hubSearch.js +1 -544
  34. package/src/gep/hubVerify.js +1 -306
  35. package/src/gep/learningSignals.js +1 -1
  36. package/src/gep/memoryGraph.js +1 -1449
  37. package/src/gep/memoryGraphAdapter.js +1 -203
  38. package/src/gep/mutation.js +1 -1
  39. package/src/gep/narrativeMemory.js +1 -1
  40. package/src/gep/openPRRegistry.js +1 -205
  41. package/src/gep/personality.js +1 -1
  42. package/src/gep/policyCheck.js +1 -599
  43. package/src/gep/prompt.js +1 -1
  44. package/src/gep/recallInject.js +1 -409
  45. package/src/gep/recallVerifier.js +1 -318
  46. package/src/gep/reflection.js +1 -1
  47. package/src/gep/savingsCore.js +1 -1
  48. package/src/gep/schemas/gene.js +2 -0
  49. package/src/gep/selector.js +1 -1
  50. package/src/gep/skillDistiller.js +1 -1294
  51. package/src/gep/solidify.js +1 -1
  52. package/src/gep/strategy.js +1 -136
  53. package/src/gep/syncAsset.js +1 -0
  54. package/src/gep/tokenSavings.js +1 -1
  55. package/src/gep/trajectoryExport.js +1 -3841
  56. package/src/gep/workspaceKeychain.js +1 -174
  57. package/src/proxy/extensions/traceControl.js +1 -123
  58. package/src/proxy/index.js +136 -8
  59. package/src/proxy/inject.js +1 -52
  60. package/src/proxy/lifecycle/manager.js +279 -18
  61. package/src/proxy/mailbox/state.js +60 -29
  62. package/src/proxy/trace/extractor.js +1 -2355
  63. package/src/proxy/trace/usage.js +1 -105
@@ -1,233 +1 @@
1
- 'use strict';
2
-
3
- const crypto = require('crypto');
4
- const fs = require('fs');
5
- const os = require('os');
6
- const path = require('path');
7
-
8
- const { captureEnvFingerprint, envFingerprintKey } = require('./envFingerprint');
9
-
10
- const SCHEMA_VERSION = 'anti_abuse.v1';
11
- const REDACTION_VERSION = 'anti_abuse_redaction.v1';
12
- const DEFAULT_TTL_DAYS = 90;
13
- const MAX_HASH_FILE_BYTES = 10 * 1024 * 1024;
14
-
15
- function nowIso(now) {
16
- if (now instanceof Date) return now.toISOString();
17
- if (typeof now === 'string' && now) return now;
18
- return new Date().toISOString();
19
- }
20
-
21
- function boolFromEnv(value) {
22
- const v = String(value || '').trim().toLowerCase();
23
- return v === '1' || v === 'true' || v === 'yes' || v === 'on';
24
- }
25
-
26
- function hmacPseudonym(value, opts) {
27
- const raw = value == null ? '' : String(value);
28
- const salt = opts && opts.salt ? String(opts.salt) : '';
29
- const purpose = opts && opts.purpose ? String(opts.purpose) : 'anti_abuse';
30
- if (!raw || !salt) return null;
31
- return crypto.createHmac('sha256', salt).update(purpose).update('\0').update(raw).digest('hex').slice(0, 32);
32
- }
33
-
34
- function sha256File(filePath) {
35
- let stat;
36
- try {
37
- stat = fs.statSync(filePath);
38
- } catch (_) {
39
- return null;
40
- }
41
- if (!stat.isFile() || stat.size > MAX_HASH_FILE_BYTES) return null;
42
- const hash = crypto.createHash('sha256');
43
- hash.update(fs.readFileSync(filePath));
44
- return hash.digest('hex');
45
- }
46
-
47
- function safeJsonFile(filePath) {
48
- try {
49
- return JSON.parse(fs.readFileSync(filePath, 'utf8'));
50
- } catch (_) {
51
- return null;
52
- }
53
- }
54
-
55
- function filePermissionClass(filePath) {
56
- let stat;
57
- try {
58
- stat = fs.statSync(filePath);
59
- } catch (_) {
60
- return 'missing';
61
- }
62
- if (!stat.isFile()) return 'not_file';
63
- const mode = stat.mode & 0o777;
64
- if ((mode & 0o077) === 0) return 'owner_only';
65
- if ((mode & 0o007) !== 0) return 'world_accessible';
66
- return 'group_accessible';
67
- }
68
-
69
- // The integrity envelope fingerprints the INSTALLED @evomap/evolver package
70
- // — its package.json, CLI entry, and lockfiles — not the user's project.
71
- // __dirname tracks this file inside the install (<pkg>/src/gep/), so two
72
- // levels up is the package root in every install mode (dev clone, npm
73
- // global, npx cache). Hashing getRepoRoot() (the user's project) here would
74
- // make hub-side integrity checks compare workspace files against
75
- // evolver_version, mismatching on every npm/global install.
76
- function getEvolverPackageRoot() {
77
- return path.resolve(__dirname, '..', '..');
78
- }
79
-
80
- // Containment gate for EVERY file the integrity envelope reads: resolve the
81
- // candidate through symlinks and require it to stay inside the package root.
82
- // Default-on heartbeat collection must not grow an out-of-tree file-read
83
- // side effect — not via a tampered bin.evolver, and not via a symlinked
84
- // package.json / lockfile either (each read is up to MAX_HASH_FILE_BYTES).
85
- // Returns the real path when contained, else null (missing files land here
86
- // too, matching sha256File's old null-on-ENOENT behavior).
87
- function containedRealPath(root, candidate) {
88
- try {
89
- const realRoot = fs.realpathSync(root);
90
- const real = fs.realpathSync(candidate);
91
- return real.startsWith(realRoot + path.sep) ? real : null;
92
- } catch (_) {
93
- return null;
94
- }
95
- }
96
-
97
- function collectIntegrityHashes(packageRoot) {
98
- const root = packageRoot || getEvolverPackageRoot();
99
- const pkgPath = containedRealPath(root, path.join(root, 'package.json'));
100
- const pkg = (pkgPath && safeJsonFile(pkgPath)) || {};
101
- const bin = pkg && pkg.bin && typeof pkg.bin.evolver === 'string' ? pkg.bin.evolver : null;
102
- const binPath = bin ? containedRealPath(root, path.resolve(root, bin)) : null;
103
- const lockfiles = ['package-lock.json', 'pnpm-lock.yaml', 'yarn.lock', 'bun.lockb'];
104
- const lockfile_hashes = {};
105
- for (const name of lockfiles) {
106
- const p = containedRealPath(root, path.join(root, name));
107
- const digest = p ? sha256File(p) : null;
108
- if (digest) lockfile_hashes[name] = digest;
109
- }
110
- return {
111
- package_json_hash: pkgPath ? sha256File(pkgPath) : null,
112
- cli_entry_hash: binPath ? sha256File(binPath) : null,
113
- lockfile_hashes,
114
- };
115
- }
116
-
117
- function settingsPermissionClass(env) {
118
- const e = env || process.env;
119
- const settingsDir = e.EVOLVER_SETTINGS_DIR || path.join(os.homedir(), '.evolver');
120
- return filePermissionClass(path.join(settingsDir, 'settings.json'));
121
- }
122
-
123
- function normalizeTaskMetrics(taskMeta) {
124
- const meta = taskMeta && typeof taskMeta === 'object' ? taskMeta : {};
125
- const metrics = meta.task_metrics && typeof meta.task_metrics === 'object' ? meta.task_metrics : null;
126
- if (!metrics) return null;
127
- return {
128
- pending: Number.isFinite(Number(metrics.pending)) ? Number(metrics.pending) : null,
129
- claimed: Number.isFinite(Number(metrics.claimed)) ? Number(metrics.claimed) : null,
130
- completed: Number.isFinite(Number(metrics.completed)) ? Number(metrics.completed) : null,
131
- failed: Number.isFinite(Number(metrics.failed)) ? Number(metrics.failed) : null,
132
- avg_completion_ms: Number.isFinite(Number(metrics.avg_completion_ms)) ? Number(metrics.avg_completion_ms) : null,
133
- };
134
- }
135
-
136
- function ttlDays(env) {
137
- const raw = Number(env && env.EVOLVER_ANTI_ABUSE_TTL_DAYS);
138
- return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) : DEFAULT_TTL_DAYS;
139
- }
140
-
141
- function unavailable(field, reason, expectedSource) {
142
- return {
143
- field,
144
- reason,
145
- expected_source: expectedSource || 'hub_server',
146
- };
147
- }
148
-
149
- function buildHeartbeatAntiAbuseTelemetry(opts) {
150
- const options = opts || {};
151
- const env = options.env || process.env;
152
- const fp = options.envFingerprint || captureEnvFingerprint();
153
- const salt = options.salt != null ? options.salt : env.EVOLVER_ANTI_ABUSE_SALT;
154
- const saltId = options.saltId || env.EVOLVER_ANTI_ABUSE_SALT_ID || (salt ? 'env' : null);
155
- const packageRoot = options.packageRoot || getEvolverPackageRoot();
156
- const devicePseudonym = hmacPseudonym(fp && fp.device_id, { salt, purpose: 'device' });
157
- const workspacePseudonym = hmacPseudonym(process.cwd(), { salt, purpose: 'workspace' });
158
- const missing = [];
159
- if (!devicePseudonym) missing.push(unavailable('device_pseudonym', 'anti_abuse_salt_missing', 'signed_policy_or_env'));
160
- if (!workspacePseudonym) missing.push(unavailable('workspace_pseudonym', 'anti_abuse_salt_missing', 'signed_policy_or_env'));
161
- missing.push(
162
- unavailable('client_ip', 'server_observed_required', 'hub_edge'),
163
- unavailable('asn', 'server_observed_required', 'hub_edge'),
164
- unavailable('proxy_vpn_tor_datacenter_class', 'server_observed_required', 'hub_edge'),
165
- unavailable('account_security', 'account_service_required', 'hub_account'),
166
- unavailable('payout_method_token', 'payments_service_required', 'hub_payments'),
167
- unavailable('risk_action_case', 'risk_engine_required', 'hub_risk')
168
- );
169
-
170
- return {
171
- schema_version: SCHEMA_VERSION,
172
- event_type: 'node.heartbeat',
173
- purpose: 'anti_abuse',
174
- pii_class: 'medium',
175
- consent_level: 'default',
176
- retention_ttl_days: ttlDays(env),
177
- policy_version: env.EVOLVER_ANTI_ABUSE_POLICY_VERSION || 'local-default',
178
- redaction_version: REDACTION_VERSION,
179
- source: options.source || 'evolver-client',
180
- generated_at: nowIso(options.now),
181
- source_confidence: {
182
- node_identity: 'client_attested',
183
- device_integrity: 'client_attested',
184
- task_metrics: 'client_attested',
185
- network_source: 'server_observed_required',
186
- account_security: 'server_observed_required',
187
- payout: 'server_observed_required',
188
- risk_decision: 'server_observed_required',
189
- },
190
- identity: {
191
- node_id: options.nodeId || null,
192
- account_id: null,
193
- org_id: null,
194
- },
195
- device: {
196
- device_pseudonym: devicePseudonym,
197
- workspace_pseudonym: workspacePseudonym,
198
- pseudonym_salt_id: saltId,
199
- env_fingerprint_key: envFingerprintKey(fp),
200
- platform: fp.platform || null,
201
- arch: fp.arch || null,
202
- os_release: fp.os_release || null,
203
- node_version: fp.node_version || null,
204
- evolver_version: fp.evolver_version || null,
205
- client: fp.client || null,
206
- client_version: fp.client_version || null,
207
- model: fp.model || null,
208
- region: fp.region || null,
209
- container: !!fp.container,
210
- },
211
- integrity: collectIntegrityHashes(packageRoot),
212
- local_security_boundary: {
213
- proxy_bind_address_class: 'loopback',
214
- // Env sniffing is only a fallback for the client heartbeat: the proxy
215
- // lifecycle heartbeat runs INSIDE the proxy process (which usually has
216
- // neither env var set) and passes its ground truth explicitly.
217
- proxy_port_configured: options.proxyPortConfigured != null
218
- ? !!options.proxyPortConfigured
219
- : (boolFromEnv(env.EVOMAP_PROXY) || !!env.EVOMAP_PROXY_PORT),
220
- settings_permission_class: settingsPermissionClass(env),
221
- },
222
- task_timing: normalizeTaskMetrics(options.taskMeta),
223
- unavailable_fields: missing,
224
- };
225
- }
226
-
227
- module.exports = {
228
- SCHEMA_VERSION,
229
- REDACTION_VERSION,
230
- buildHeartbeatAntiAbuseTelemetry,
231
- collectIntegrityHashes,
232
- hmacPseudonym,
233
- };
1
+ const _0x21ae84=_0x2884;(function(_0x3dc296,_0x50dd73){const _0x5a08a3=_0x2884,_0x2fdebc=_0x3dc296();while(!![]){try{const _0x332d7e=-parseInt(_0x5a08a3(0x316,'\x2a\x5a\x56\x47'))/(0x4f1+0x4*-0x818+-0x1b70*-0x1)+parseInt(_0x5a08a3(0x339,'\x49\x50\x45\x66'))/(-0x4b2+0x202+-0x2b2*-0x1)+parseInt(_0x5a08a3(0x31f,'\x4b\x25\x26\x26'))/(-0xfc9+-0x18cd+0x2899)+-parseInt(_0x5a08a3(0x1fe,'\x59\x51\x75\x74'))/(-0x11d5+-0x1c5d+-0x23*-0x152)+parseInt(_0x5a08a3(0x2a3,'\x5d\x66\x54\x59'))/(0x114c+-0x1*0x1c96+0xb4f)*(-parseInt(_0x5a08a3(0x1ea,'\x65\x4f\x6f\x72'))/(-0xa*-0x37a+-0x2*-0x88f+-0x33dc))+parseInt(_0x5a08a3(0x293,'\x46\x77\x4d\x2a'))/(0xb9*0x10+-0x15ad*-0x1+-0x2136)+-parseInt(_0x5a08a3(0x2c9,'\x6a\x4c\x32\x68'))/(-0x2cf*-0x2+0xcb3*0x1+-0x1249)*(-parseInt(_0x5a08a3(0x2b5,'\x6c\x57\x62\x56'))/(-0x4*-0x6d6+0x6*0x46a+-0x35cb));if(_0x332d7e===_0x50dd73)break;else _0x2fdebc['push'](_0x2fdebc['shift']());}catch(_0x1c48d7){_0x2fdebc['push'](_0x2fdebc['shift']());}}}(_0x26bd,0x7a3*-0x60+0x177*0xa06+-0x2*-0x13045));const _0x362fe3=(function(){const _0x2857db=_0x2884,_0x428d91={};_0x428d91[_0x2857db(0x336,'\x25\x42\x61\x6e')]=function(_0x3cd970,_0x547b9e){return _0x3cd970>_0x547b9e;},_0x428d91[_0x2857db(0x224,'\x4e\x59\x5d\x52')]=_0x2857db(0x304,'\x72\x62\x74\x42'),_0x428d91[_0x2857db(0x2a1,'\x25\x5a\x72\x40')]=function(_0x1438a0,_0x30a96d){return _0x1438a0!==_0x30a96d;},_0x428d91[_0x2857db(0x32b,'\x37\x4b\x55\x49')]=function(_0x2c5b37,_0x13fef8){return _0x2c5b37!==_0x13fef8;},_0x428d91[_0x2857db(0x1cc,'\x75\x44\x24\x49')]=_0x2857db(0x1dc,'\x43\x65\x4d\x24'),_0x428d91[_0x2857db(0x34d,'\x4f\x26\x71\x56')]=_0x2857db(0x289,'\x65\x4f\x6f\x72');const _0x24474c=_0x428d91;let _0x306db2=!![];return function(_0x18e9f1,_0xf9ce47){const _0x23cf32=_0x2857db,_0x25da38={'\x4f\x68\x54\x42\x4b':function(_0x33d7b1,_0x1e67b3){return _0x24474c['\x68\x70\x73\x59\x65'](_0x33d7b1,_0x1e67b3);},'\x59\x68\x6e\x42\x61':_0x24474c[_0x23cf32(0x32d,'\x24\x53\x35\x24')],'\x6f\x64\x48\x73\x71':_0x23cf32(0x2da,'\x4f\x26\x71\x56'),'\x49\x52\x56\x69\x72':function(_0x16dc44,_0x41f57e){const _0x436de2=_0x23cf32;return _0x24474c[_0x436de2(0x33d,'\x5d\x6e\x56\x7a')](_0x16dc44,_0x41f57e);},'\x51\x6e\x53\x59\x69':_0x23cf32(0x1eb,'\x65\x4f\x6f\x72')};if(_0x24474c[_0x23cf32(0x2b6,'\x73\x76\x66\x26')](_0x24474c[_0x23cf32(0x322,'\x5b\x4d\x7a\x50')],_0x24474c[_0x23cf32(0x340,'\x28\x47\x4a\x2a')])){const _0x32c299=_0x306db2?function(){const _0x6d42fe=_0x23cf32,_0x58c0f8={'\x4c\x78\x7a\x42\x58':function(_0x139b3d,_0x54d286){const _0x43b681=_0x2884;return _0x25da38[_0x43b681(0x346,'\x30\x51\x23\x42')](_0x139b3d,_0x54d286);},'\x51\x43\x6d\x64\x47':_0x25da38[_0x6d42fe(0x2ae,'\x21\x57\x51\x64')],'\x53\x4b\x79\x44\x5a':_0x25da38[_0x6d42fe(0x2c4,'\x4f\x4b\x4d\x72')]};if(_0xf9ce47){if(_0x25da38['\x49\x52\x56\x69\x72'](_0x25da38[_0x6d42fe(0x207,'\x72\x62\x74\x42')],_0x25da38[_0x6d42fe(0x300,'\x78\x69\x43\x66')])){let _0x350793;try{_0x350793=_0x54047d[_0x6d42fe(0x26e,'\x73\x41\x34\x7a')](_0x355d84);}catch(_0x413521){return null;}if(!_0x350793[_0x6d42fe(0x324,'\x59\x51\x75\x74')]()||_0x58c0f8[_0x6d42fe(0x1b6,'\x6b\x6e\x4b\x4e')](_0x350793[_0x6d42fe(0x275,'\x6c\x57\x62\x56')],_0x20e8b1))return null;const _0x210941=_0x374c03[_0x6d42fe(0x228,'\x59\x51\x75\x74')+'\x73\x68'](_0x58c0f8[_0x6d42fe(0x286,'\x6b\x6e\x4b\x4e')]);return _0x210941[_0x6d42fe(0x28b,'\x73\x41\x34\x7a')](_0x4d1966[_0x6d42fe(0x334,'\x33\x76\x49\x63')+_0x6d42fe(0x260,'\x43\x65\x4d\x24')](_0x5c6133)),_0x210941['\x64\x69\x67\x65\x73\x74'](_0x58c0f8['\x53\x4b\x79\x44\x5a']);}else{const _0x426fd5=_0xf9ce47[_0x6d42fe(0x1f4,'\x78\x69\x43\x66')](_0x18e9f1,arguments);return _0xf9ce47=null,_0x426fd5;}}}:function(){};return _0x306db2=![],_0x32c299;}else return _0x5f354d['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x23cf32(0x2b8,'\x4b\x25\x26\x26')](_0x23cf32(0x2fe,'\x25\x42\x61\x6e')+_0x23cf32(0x220,'\x5a\x67\x5a\x75'))[_0x23cf32(0x32e,'\x64\x77\x56\x74')]()[_0x23cf32(0x31b,'\x49\x50\x45\x66')+_0x23cf32(0x254,'\x6b\x42\x24\x6d')](_0x59f0ea)[_0x23cf32(0x33f,'\x42\x75\x39\x76')](_0x23cf32(0x22c,'\x5d\x66\x54\x59')+'\x2b\x29\x2b\x24');};}()),_0x1e23e1=_0x362fe3(this,function(){const _0x61fa71=_0x2884,_0xf7c80={};_0xf7c80[_0x61fa71(0x253,'\x6b\x42\x24\x6d')]=_0x61fa71(0x1e3,'\x6e\x76\x6b\x69')+_0x61fa71(0x1cf,'\x25\x5a\x72\x40');const _0x3ec041=_0xf7c80;return _0x1e23e1[_0x61fa71(0x2c3,'\x72\x4e\x65\x30')]()[_0x61fa71(0x235,'\x5d\x5a\x30\x68')](_0x3ec041[_0x61fa71(0x2c6,'\x25\x42\x61\x6e')])[_0x61fa71(0x21e,'\x6e\x76\x6b\x69')]()[_0x61fa71(0x211,'\x63\x71\x31\x30')+_0x61fa71(0x2f4,'\x4e\x59\x5d\x52')](_0x1e23e1)[_0x61fa71(0x2ed,'\x72\x4e\x65\x30')](_0x3ec041[_0x61fa71(0x2d4,'\x5d\x5a\x30\x68')]);});_0x1e23e1();'use strict';const _0x1f798c=require(_0x21ae84(0x1f2,'\x24\x53\x35\x24')),_0x2bcea6=require('\x66\x73'),_0x4e6975=require('\x6f\x73'),_0x412422=require(_0x21ae84(0x1de,'\x48\x21\x58\x59')),{captureEnvFingerprint:_0x5888ef,envFingerprintKey:_0x5665d6}=require('\x2e\x2f\x65\x6e\x76\x46\x69\x6e'+_0x21ae84(0x2c8,'\x49\x50\x45\x66')),_0x2a1134=_0x21ae84(0x1e0,'\x33\x76\x49\x63')+_0x21ae84(0x1fa,'\x72\x4e\x65\x30'),_0x4d065b=_0x21ae84(0x263,'\x28\x47\x4a\x2a')+_0x21ae84(0x241,'\x5d\x66\x54\x59')+_0x21ae84(0x2cd,'\x6e\x76\x6b\x69'),_0x211c7b=0x1590+-0x59b+-0xf9b,_0x428d16=(0xfe5*0x1+0x1343*-0x1+0xda*0x4)*(-0x10*-0x1d3+0x15*0x132+0x1*-0x324a)*(0x3*-0x3db+0x1f63+-0xfd2);function _0x1d783e(_0x558a23){const _0x4838b9=_0x21ae84,_0xc569b6={};_0xc569b6[_0x4838b9(0x344,'\x48\x21\x58\x59')]=function(_0x41b6bc,_0x520892){return _0x41b6bc instanceof _0x520892;},_0xc569b6['\x76\x76\x77\x7a\x5a']=function(_0xd62fe3,_0x32ef5f){return _0xd62fe3===_0x32ef5f;},_0xc569b6['\x42\x5a\x4b\x61\x41']=_0x4838b9(0x1ec,'\x63\x41\x37\x26');const _0x2e6854=_0xc569b6;if(_0x2e6854[_0x4838b9(0x2c0,'\x5a\x67\x5a\x75')](_0x558a23,Date))return _0x558a23[_0x4838b9(0x2aa,'\x78\x69\x43\x66')+_0x4838b9(0x1d3,'\x23\x75\x6f\x71')]();if(_0x2e6854[_0x4838b9(0x250,'\x33\x76\x49\x63')](typeof _0x558a23,_0x2e6854[_0x4838b9(0x2a9,'\x57\x26\x66\x4a')])&&_0x558a23)return _0x558a23;return new Date()[_0x4838b9(0x201,'\x74\x72\x51\x37')+_0x4838b9(0x1e7,'\x6a\x4c\x32\x68')]();}function _0x4a2779(_0x168303){const _0x55e24d=_0x21ae84,_0x25df5c={'\x4c\x72\x43\x59\x71':function(_0x329f6c,_0x2e1eea){return _0x329f6c(_0x2e1eea);},'\x77\x4a\x76\x6b\x4f':function(_0x487b06,_0xdafe77){return _0x487b06||_0xdafe77;},'\x6c\x4f\x54\x61\x6e':function(_0x24730e,_0x36b5fe){return _0x24730e===_0x36b5fe;},'\x6f\x46\x4c\x67\x52':_0x55e24d(0x31d,'\x6b\x6e\x4b\x4e'),'\x55\x52\x66\x4a\x76':function(_0x1e68b5,_0x727e17){return _0x1e68b5===_0x727e17;},'\x65\x41\x7a\x54\x44':_0x55e24d(0x206,'\x33\x76\x49\x63')},_0x4ac951=_0x25df5c['\x4c\x72\x43\x59\x71'](String,_0x25df5c[_0x55e24d(0x1ee,'\x23\x75\x6f\x71')](_0x168303,''))['\x74\x72\x69\x6d']()[_0x55e24d(0x332,'\x6b\x6e\x4b\x4e')+'\x61\x73\x65']();return _0x25df5c[_0x55e24d(0x2c7,'\x57\x26\x66\x4a')](_0x4ac951,'\x31')||_0x25df5c[_0x55e24d(0x231,'\x6e\x76\x6b\x69')](_0x4ac951,_0x25df5c['\x6f\x46\x4c\x67\x52'])||_0x25df5c[_0x55e24d(0x2a2,'\x42\x75\x39\x76')](_0x4ac951,_0x25df5c[_0x55e24d(0x29f,'\x4f\x26\x71\x56')])||_0x25df5c[_0x55e24d(0x24e,'\x30\x51\x23\x42')](_0x4ac951,'\x6f\x6e');}function _0x114149(_0x279a07,_0x80c809){const _0x530c9f=_0x21ae84,_0x9adeff={'\x62\x75\x59\x53\x56':function(_0x1de5e2,_0x1cc40c){return _0x1de5e2==_0x1cc40c;},'\x68\x46\x58\x62\x50':function(_0x2e21e6,_0x52b8ba){return _0x2e21e6(_0x52b8ba);},'\x76\x46\x61\x63\x55':function(_0x5d5e6d,_0x5a11ef){return _0x5d5e6d(_0x5a11ef);},'\x61\x56\x4d\x41\x68':_0x530c9f(0x2c5,'\x4b\x25\x26\x26')+'\x73\x65','\x43\x70\x64\x43\x72':function(_0x9e37e5,_0x4d4106){return _0x9e37e5||_0x4d4106;},'\x41\x57\x70\x4a\x6d':_0x530c9f(0x279,'\x5a\x67\x5a\x75'),'\x58\x44\x78\x43\x50':_0x530c9f(0x313,'\x63\x71\x31\x30')},_0x4ecedd=_0x9adeff[_0x530c9f(0x325,'\x59\x51\x75\x74')](_0x279a07,null)?'':String(_0x279a07),_0x3ccf5f=_0x80c809&&_0x80c809[_0x530c9f(0x255,'\x33\x76\x49\x63')]?_0x9adeff[_0x530c9f(0x29d,'\x6b\x42\x24\x6d')](String,_0x80c809[_0x530c9f(0x213,'\x72\x62\x74\x42')]):'',_0x43f708=_0x80c809&&_0x80c809[_0x530c9f(0x2ec,'\x2a\x5a\x56\x47')]?_0x9adeff['\x76\x46\x61\x63\x55'](String,_0x80c809['\x70\x75\x72\x70\x6f\x73\x65']):_0x9adeff[_0x530c9f(0x256,'\x28\x47\x4a\x2a')];if(_0x9adeff[_0x530c9f(0x2cc,'\x4f\x4b\x4d\x72')](!_0x4ecedd,!_0x3ccf5f))return null;return _0x1f798c[_0x530c9f(0x302,'\x70\x56\x64\x61')+'\x61\x63'](_0x9adeff[_0x530c9f(0x22e,'\x5b\x4d\x7a\x50')],_0x3ccf5f)[_0x530c9f(0x2dd,'\x43\x65\x4d\x24')](_0x43f708)[_0x530c9f(0x280,'\x46\x77\x4d\x2a')]('\x00')[_0x530c9f(0x2ef,'\x72\x4e\x65\x30')](_0x4ecedd)[_0x530c9f(0x27a,'\x78\x69\x43\x66')](_0x9adeff[_0x530c9f(0x1f1,'\x5d\x66\x54\x59')])[_0x530c9f(0x282,'\x57\x26\x66\x4a')](-0x1*-0x2649+0xe4e+-0x3497,0xa0*-0x1f+-0xcd9*-0x1+0x6a7);}function _0x3e42fc(_0x70d4e1){const _0x18aa0c=_0x21ae84,_0x15c3cf={};_0x15c3cf[_0x18aa0c(0x1c2,'\x72\x4e\x65\x30')]=function(_0x45a252,_0x795f5e){return _0x45a252===_0x795f5e;},_0x15c3cf['\x6d\x41\x44\x49\x4d']=_0x18aa0c(0x22a,'\x23\x75\x6f\x71'),_0x15c3cf[_0x18aa0c(0x305,'\x2a\x5a\x56\x47')]=_0x18aa0c(0x232,'\x73\x41\x34\x7a'),_0x15c3cf[_0x18aa0c(0x303,'\x63\x39\x31\x6d')]=_0x18aa0c(0x2ba,'\x72\x62\x74\x42');const _0x574c06=_0x15c3cf;let _0x30221d;try{_0x30221d=_0x2bcea6[_0x18aa0c(0x1f0,'\x72\x4e\x65\x30')](_0x70d4e1);}catch(_0x36b36b){return _0x574c06[_0x18aa0c(0x1d1,'\x6a\x4c\x32\x68')](_0x574c06[_0x18aa0c(0x28f,'\x73\x41\x34\x7a')],_0x18aa0c(0x22a,'\x23\x75\x6f\x71'))?null:null;}if(!_0x30221d[_0x18aa0c(0x317,'\x4f\x4b\x4d\x72')]()||_0x30221d['\x73\x69\x7a\x65']>_0x428d16)return null;const _0x49d39e=_0x1f798c[_0x18aa0c(0x21a,'\x57\x26\x66\x4a')+'\x73\x68'](_0x574c06[_0x18aa0c(0x2ab,'\x4b\x25\x26\x26')]);return _0x49d39e[_0x18aa0c(0x21f,'\x24\x53\x35\x24')](_0x2bcea6[_0x18aa0c(0x25f,'\x5a\x67\x5a\x75')+_0x18aa0c(0x2df,'\x23\x75\x6f\x71')](_0x70d4e1)),_0x49d39e['\x64\x69\x67\x65\x73\x74'](_0x574c06[_0x18aa0c(0x1f7,'\x4f\x4b\x4d\x72')]);}function _0x4808e1(_0x3ed785){const _0x3a40ea=_0x21ae84,_0xfa9dc={};_0xfa9dc['\x52\x55\x43\x6f\x59']=function(_0x8d02d1,_0xeb6d5c){return _0x8d02d1||_0xeb6d5c;},_0xfa9dc[_0x3a40ea(0x347,'\x25\x5a\x72\x40')]=_0x3a40ea(0x227,'\x25\x5a\x72\x40')+'\x65\x72',_0xfa9dc[_0x3a40ea(0x2f2,'\x6b\x6b\x66\x4a')]=_0x3a40ea(0x23d,'\x23\x75\x6f\x71'),_0xfa9dc[_0x3a40ea(0x1db,'\x23\x75\x6f\x71')]=_0x3a40ea(0x2c1,'\x63\x39\x31\x6d');const _0x138833=_0xfa9dc;try{return _0x138833[_0x3a40ea(0x321,'\x49\x50\x45\x66')]!==_0x138833[_0x3a40ea(0x2e7,'\x4f\x4b\x4d\x72')]?{'\x66\x69\x65\x6c\x64':_0x25ed10,'\x72\x65\x61\x73\x6f\x6e':_0x21c49b,'\x65\x78\x70\x65\x63\x74\x65\x64\x5f\x73\x6f\x75\x72\x63\x65':_0x138833['\x52\x55\x43\x6f\x59'](_0x7a77a4,_0x138833[_0x3a40ea(0x218,'\x73\x76\x66\x26')])}:JSON['\x70\x61\x72\x73\x65'](_0x2bcea6[_0x3a40ea(0x31c,'\x63\x41\x37\x26')+'\x53\x79\x6e\x63'](_0x3ed785,_0x138833[_0x3a40ea(0x225,'\x5d\x66\x54\x59')]));}catch(_0x51dcaf){return null;}}function _0x1b15cf(_0x2a9b86){const _0x103095=_0x21ae84,_0x202018={};_0x202018['\x70\x58\x65\x47\x66']=_0x103095(0x216,'\x6a\x4c\x32\x68'),_0x202018[_0x103095(0x1bb,'\x48\x21\x58\x59')]=_0x103095(0x1c0,'\x4e\x59\x5d\x52'),_0x202018[_0x103095(0x2bb,'\x78\x69\x43\x66')]=function(_0x207d05,_0xffa16a){return _0x207d05===_0xffa16a;},_0x202018[_0x103095(0x24d,'\x70\x56\x64\x61')]=function(_0x29819c,_0x9ffb6a){return _0x29819c&_0x9ffb6a;},_0x202018[_0x103095(0x30f,'\x6b\x6e\x4b\x4e')]=_0x103095(0x22b,'\x32\x71\x4a\x6c')+'\x6c\x79',_0x202018[_0x103095(0x2e1,'\x33\x76\x49\x63')]=function(_0x542ff4,_0x464197){return _0x542ff4!==_0x464197;},_0x202018[_0x103095(0x1c5,'\x6a\x4c\x32\x68')]=function(_0x60cd69,_0x29a1b7){return _0x60cd69&_0x29a1b7;},_0x202018[_0x103095(0x26f,'\x48\x21\x58\x59')]=_0x103095(0x2d6,'\x78\x69\x43\x66')+_0x103095(0x264,'\x25\x5a\x72\x40'),_0x202018[_0x103095(0x29b,'\x5d\x66\x54\x59')]=_0x103095(0x34b,'\x55\x56\x59\x71')+_0x103095(0x223,'\x5b\x4d\x7a\x50');const _0x2ba8bc=_0x202018;let _0x206e26;try{_0x206e26=_0x2bcea6[_0x103095(0x1cd,'\x46\x42\x7a\x70')](_0x2a9b86);}catch(_0x1271d8){return _0x2ba8bc[_0x103095(0x307,'\x48\x21\x58\x59')];}if(!_0x206e26['\x69\x73\x46\x69\x6c\x65']())return _0x2ba8bc[_0x103095(0x208,'\x37\x4b\x55\x49')];const _0x43f52a=_0x206e26[_0x103095(0x1e8,'\x46\x42\x7a\x70')]&0x77a*-0x5+-0x1f2+0x2953;if(_0x2ba8bc[_0x103095(0x23e,'\x73\x76\x66\x26')](_0x2ba8bc[_0x103095(0x30c,'\x30\x51\x23\x42')](_0x43f52a,-0x626*-0x5+0x846+-0x26c5),-0x1c83+0x31f*-0x3+0x65*0x60))return _0x2ba8bc[_0x103095(0x318,'\x72\x4e\x65\x30')];if(_0x2ba8bc[_0x103095(0x1bd,'\x21\x57\x51\x64')](_0x2ba8bc[_0x103095(0x329,'\x4f\x26\x71\x56')](_0x43f52a,0x16ae+-0x46+0x11*-0x151),-0xad*0x5+0xc22+-0x8c1))return _0x2ba8bc[_0x103095(0x277,'\x2a\x5a\x56\x47')];return _0x2ba8bc[_0x103095(0x2fd,'\x2a\x5a\x56\x47')];}function _0x6f7732(){const _0x48e937=_0x21ae84;return _0x412422[_0x48e937(0x2ac,'\x6b\x42\x24\x6d')](__dirname,'\x2e\x2e','\x2e\x2e');}function _0x5171ac(_0x46a83c,_0x56cb5f){const _0x1410c3=_0x21ae84,_0x4b4a23={};_0x4b4a23[_0x1410c3(0x2af,'\x42\x75\x39\x76')]=function(_0x493dc2,_0x3acb49){return _0x493dc2+_0x3acb49;};const _0xfc18f6=_0x4b4a23;try{const _0x455529=_0x2bcea6[_0x1410c3(0x2b0,'\x4f\x4b\x4d\x72')+_0x1410c3(0x2b9,'\x5b\x4d\x7a\x50')](_0x46a83c),_0x563d84=_0x2bcea6[_0x1410c3(0x338,'\x5a\x37\x66\x33')+_0x1410c3(0x328,'\x5a\x67\x5a\x75')](_0x56cb5f);return _0x563d84[_0x1410c3(0x278,'\x73\x76\x66\x26')+'\x74\x68'](_0xfc18f6[_0x1410c3(0x33a,'\x5d\x5a\x30\x68')](_0x455529,_0x412422[_0x1410c3(0x2d7,'\x28\x47\x4a\x2a')]))?_0x563d84:null;}catch(_0x17b661){return null;}}function _0x2657de(_0x21b4a6){const _0x584bbe=_0x21ae84,_0xaabc90={'\x6f\x61\x43\x56\x61':function(_0x538d07,_0x583113,_0x2a7dca){return _0x538d07(_0x583113,_0x2a7dca);},'\x76\x53\x4c\x44\x7a':_0x584bbe(0x271,'\x5a\x67\x5a\x75')+_0x584bbe(0x1d2,'\x6b\x6e\x4b\x4e'),'\x4a\x41\x49\x4a\x59':function(_0x64f009,_0x215feb){return _0x64f009===_0x215feb;},'\x69\x44\x68\x68\x4b':_0x584bbe(0x249,'\x4f\x4b\x4d\x72'),'\x71\x6a\x71\x77\x46':_0x584bbe(0x24f,'\x46\x42\x7a\x70')+_0x584bbe(0x20f,'\x72\x4e\x65\x30')+'\x6e','\x45\x50\x4c\x43\x56':_0x584bbe(0x290,'\x5a\x37\x66\x33')+_0x584bbe(0x1ff,'\x6c\x57\x62\x56'),'\x4a\x72\x4a\x66\x76':_0x584bbe(0x1e4,'\x5a\x37\x66\x33')+'\x62','\x79\x63\x47\x52\x57':'\x59\x5a\x52\x69\x41','\x68\x48\x74\x6c\x67':function(_0x229e74,_0x53f412,_0x302534){return _0x229e74(_0x53f412,_0x302534);},'\x47\x4d\x7a\x6e\x43':function(_0x35927c,_0x572f92){return _0x35927c(_0x572f92);},'\x6c\x73\x6a\x61\x4e':function(_0x452335,_0x536de6){return _0x452335(_0x536de6);}},_0x4b6bd7=_0x21b4a6||_0x6f7732(),_0x5206e3=_0x5171ac(_0x4b6bd7,_0x412422[_0x584bbe(0x24a,'\x46\x77\x4d\x2a')](_0x4b6bd7,_0xaabc90[_0x584bbe(0x2ca,'\x65\x4f\x6f\x72')])),_0x545998=_0x5206e3&&_0x4808e1(_0x5206e3)||{},_0x5cc682=_0x545998&&_0x545998['\x62\x69\x6e']&&_0xaabc90[_0x584bbe(0x230,'\x25\x42\x61\x6e')](typeof _0x545998[_0x584bbe(0x221,'\x2a\x5a\x56\x47')][_0x584bbe(0x1b7,'\x72\x62\x74\x42')],_0xaabc90[_0x584bbe(0x1dd,'\x6a\x4c\x32\x68')])?_0x545998[_0x584bbe(0x1b8,'\x5a\x67\x5a\x75')]['\x65\x76\x6f\x6c\x76\x65\x72']:null,_0x1d3c8d=_0x5cc682?_0x5171ac(_0x4b6bd7,_0x412422[_0x584bbe(0x268,'\x33\x76\x49\x63')](_0x4b6bd7,_0x5cc682)):null,_0x3d5e0b=[_0xaabc90[_0x584bbe(0x319,'\x74\x72\x51\x37')],_0xaabc90[_0x584bbe(0x29e,'\x70\x4a\x50\x75')],_0x584bbe(0x320,'\x4b\x25\x26\x26')+'\x6b',_0xaabc90[_0x584bbe(0x265,'\x6b\x42\x24\x6d')]],_0x56b824={};for(const _0x201441 of _0x3d5e0b){if(_0xaabc90[_0x584bbe(0x2de,'\x28\x47\x4a\x2a')]!==_0x584bbe(0x239,'\x6e\x76\x6b\x69')){const _0x242436=_0xaabc90[_0x584bbe(0x28d,'\x6a\x4c\x32\x68')](_0x32fbe2,_0x238ced,_0x1680ab[_0x584bbe(0x2d3,'\x49\x50\x45\x66')](_0x4a99ba,_0x51f72f)),_0x4ab762=_0x242436?_0x3e7755(_0x242436):null;if(_0x4ab762)_0x4e6d38[_0x225fd7]=_0x4ab762;}else{const _0x629173=_0xaabc90[_0x584bbe(0x24c,'\x48\x21\x58\x59')](_0x5171ac,_0x4b6bd7,_0x412422[_0x584bbe(0x2d3,'\x49\x50\x45\x66')](_0x4b6bd7,_0x201441)),_0x40a8bc=_0x629173?_0xaabc90[_0x584bbe(0x26b,'\x78\x69\x43\x66')](_0x3e42fc,_0x629173):null;if(_0x40a8bc)_0x56b824[_0x201441]=_0x40a8bc;}}return{'\x70\x61\x63\x6b\x61\x67\x65\x5f\x6a\x73\x6f\x6e\x5f\x68\x61\x73\x68':_0x5206e3?_0x3e42fc(_0x5206e3):null,'\x63\x6c\x69\x5f\x65\x6e\x74\x72\x79\x5f\x68\x61\x73\x68':_0x1d3c8d?_0xaabc90[_0x584bbe(0x2fa,'\x30\x51\x23\x42')](_0x3e42fc,_0x1d3c8d):null,'\x6c\x6f\x63\x6b\x66\x69\x6c\x65\x5f\x68\x61\x73\x68\x65\x73':_0x56b824};}function _0x2acb23(_0x21928b){const _0x12eb67=_0x21ae84,_0x126f50={'\x47\x4c\x70\x6a\x4c':'\x2e\x65\x76\x6f\x6c\x76\x65\x72','\x64\x44\x57\x44\x4c':function(_0x1faf3c,_0x40174b){return _0x1faf3c(_0x40174b);},'\x48\x51\x69\x51\x42':_0x12eb67(0x1d5,'\x57\x26\x66\x4a')+_0x12eb67(0x30e,'\x48\x21\x58\x59')},_0x337e14=_0x21928b||process.env,_0x2a4ecf=_0x337e14['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x12eb67(0x297,'\x5a\x67\x5a\x75')+_0x12eb67(0x1b9,'\x6a\x4c\x32\x68')]||_0x412422[_0x12eb67(0x23f,'\x78\x69\x43\x66')](_0x4e6975[_0x12eb67(0x2d0,'\x37\x4b\x55\x49')](),_0x126f50[_0x12eb67(0x226,'\x6a\x4c\x32\x68')]);return _0x126f50[_0x12eb67(0x266,'\x72\x62\x74\x42')](_0x1b15cf,_0x412422[_0x12eb67(0x1e6,'\x5a\x67\x5a\x75')](_0x2a4ecf,_0x126f50[_0x12eb67(0x2dc,'\x72\x4e\x65\x30')]));}function _0x12afaa(_0x573ad1){const _0x3f7ae8=_0x21ae84,_0x53a9b3={'\x78\x42\x58\x55\x6e':function(_0x7e42e7,_0x1be716){return _0x7e42e7===_0x1be716;},'\x44\x4c\x68\x6e\x6b':_0x3f7ae8(0x26d,'\x6b\x6e\x4b\x4e'),'\x67\x50\x43\x4f\x64':function(_0x1cfeea,_0x242b11){return _0x1cfeea(_0x242b11);},'\x4c\x63\x45\x43\x45':function(_0x4cd654,_0x2b69d0){return _0x4cd654(_0x2b69d0);},'\x41\x4f\x74\x70\x68':function(_0x31f734,_0x2284ec){return _0x31f734(_0x2284ec);},'\x41\x6e\x52\x45\x68':function(_0x37887b,_0x311fba){return _0x37887b(_0x311fba);},'\x67\x4c\x78\x66\x71':function(_0x2f26b6,_0x5a24c7){return _0x2f26b6(_0x5a24c7);},'\x73\x79\x58\x68\x6b':function(_0x51eea6,_0x5d034f){return _0x51eea6(_0x5d034f);}},_0x5b1958=_0x573ad1&&_0x53a9b3['\x78\x42\x58\x55\x6e'](typeof _0x573ad1,'\x6f\x62\x6a\x65\x63\x74')?_0x573ad1:{},_0xcafced=_0x5b1958[_0x3f7ae8(0x2a8,'\x24\x53\x35\x24')+'\x72\x69\x63\x73']&&typeof _0x5b1958[_0x3f7ae8(0x298,'\x49\x50\x45\x66')+_0x3f7ae8(0x234,'\x6b\x42\x24\x6d')]===_0x53a9b3[_0x3f7ae8(0x233,'\x5a\x37\x66\x33')]?_0x5b1958[_0x3f7ae8(0x272,'\x63\x71\x31\x30')+_0x3f7ae8(0x251,'\x75\x44\x24\x49')]:null;if(!_0xcafced)return null;return{'\x70\x65\x6e\x64\x69\x6e\x67':Number[_0x3f7ae8(0x20b,'\x70\x56\x64\x61')](_0x53a9b3[_0x3f7ae8(0x2d5,'\x6b\x42\x24\x6d')](Number,_0xcafced[_0x3f7ae8(0x23a,'\x74\x72\x51\x37')]))?_0x53a9b3[_0x3f7ae8(0x22f,'\x78\x69\x43\x66')](Number,_0xcafced['\x70\x65\x6e\x64\x69\x6e\x67']):null,'\x63\x6c\x61\x69\x6d\x65\x64':Number[_0x3f7ae8(0x32c,'\x73\x76\x66\x26')](_0x53a9b3[_0x3f7ae8(0x315,'\x63\x41\x37\x26')](Number,_0xcafced[_0x3f7ae8(0x1ba,'\x64\x77\x56\x74')]))?_0x53a9b3['\x41\x4f\x74\x70\x68'](Number,_0xcafced[_0x3f7ae8(0x292,'\x63\x41\x37\x26')]):null,'\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64':Number[_0x3f7ae8(0x23c,'\x64\x77\x56\x74')](_0x53a9b3[_0x3f7ae8(0x1f8,'\x49\x50\x45\x66')](Number,_0xcafced[_0x3f7ae8(0x2ce,'\x28\x47\x4a\x2a')+'\x64']))?Number(_0xcafced[_0x3f7ae8(0x258,'\x49\x50\x45\x66')+'\x64']):null,'\x66\x61\x69\x6c\x65\x64':Number[_0x3f7ae8(0x28e,'\x5a\x67\x5a\x75')](_0x53a9b3['\x67\x4c\x78\x66\x71'](Number,_0xcafced[_0x3f7ae8(0x2a4,'\x5d\x5a\x30\x68')]))?Number(_0xcafced[_0x3f7ae8(0x33b,'\x6c\x57\x62\x56')]):null,'\x61\x76\x67\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x69\x6f\x6e\x5f\x6d\x73':Number[_0x3f7ae8(0x30b,'\x74\x72\x51\x37')](_0x53a9b3['\x73\x79\x58\x68\x6b'](Number,_0xcafced[_0x3f7ae8(0x2d2,'\x21\x57\x51\x64')+_0x3f7ae8(0x214,'\x78\x69\x43\x66')+'\x73']))?Number(_0xcafced[_0x3f7ae8(0x310,'\x6e\x76\x6b\x69')+_0x3f7ae8(0x259,'\x63\x41\x37\x26')+'\x73']):null};}function _0x38e837(_0x17aca3){const _0x261ca8=_0x21ae84,_0x3dc86b={'\x44\x4d\x4d\x42\x74':function(_0x29f35d,_0x3184ba){return _0x29f35d(_0x3184ba);},'\x74\x58\x74\x55\x46':function(_0x55e51e,_0x3c73f1){return _0x55e51e>_0x3c73f1;}},_0x362e8c=_0x3dc86b[_0x261ca8(0x2e3,'\x43\x65\x4d\x24')](Number,_0x17aca3&&_0x17aca3['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x261ca8(0x205,'\x5d\x5a\x30\x68')+_0x261ca8(0x2d9,'\x4f\x26\x71\x56')+_0x261ca8(0x24b,'\x33\x76\x49\x63')]);return Number[_0x261ca8(0x288,'\x4b\x25\x26\x26')](_0x362e8c)&&_0x3dc86b[_0x261ca8(0x1e9,'\x4b\x25\x26\x26')](_0x362e8c,0x2*0x7bb+0x1270+-0x21e6)?Math[_0x261ca8(0x301,'\x32\x71\x4a\x6c')](_0x362e8c):_0x211c7b;}function _0x2884(_0x19ff58,_0x5d01e4){_0x19ff58=_0x19ff58-(-0x1935+0xc5b+-0x2*-0x748);const _0x2eaff0=_0x26bd();let _0x401951=_0x2eaff0[_0x19ff58];if(_0x2884['\x59\x4c\x46\x76\x50\x64']===undefined){var _0x335984=function(_0x21c49b){const _0x7a77a4='\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 _0x595420='',_0x7d5bf0='',_0x4344e5=_0x595420+_0x335984,_0x501d38=(''+function(){return 0x4*-0x178+0x1*-0xd03+0x12e3;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x2152+-0x1f*-0x63+-0xaab*-0x2);for(let _0x27f706=-0x31b+-0x1edf+0x21fa,_0x14bdd6,_0x10f27f,_0x4fe7c9=0x25*-0x50+0xfe4+-0x454;_0x10f27f=_0x21c49b['\x63\x68\x61\x72\x41\x74'](_0x4fe7c9++);~_0x10f27f&&(_0x14bdd6=_0x27f706%(0x8b0+0x4*0x8ef+0x196*-0x1c)?_0x14bdd6*(-0x14db+0x730+0x7*0x1fd)+_0x10f27f:_0x10f27f,_0x27f706++%(-0x39d*0x1+0x236e*0x1+-0x1fcd))?_0x595420+=_0x501d38||_0x4344e5['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4fe7c9+(0x58a+-0x1ca*0x4+0x1a8))-(0x824+0x713*0x3+-0x1d53)!==-0x1d76+0x332+0x1a44?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x351+0xd34+0x7c3*-0x2&_0x14bdd6>>(-(-0xda*-0x2b+0xfe*0x1e+-0x3b0*0x12)*_0x27f706&0x836+-0xb2b*-0x3+-0x29b1)):_0x27f706:-0x21f3*0x1+0x2359*0x1+-0x166){_0x10f27f=_0x7a77a4['\x69\x6e\x64\x65\x78\x4f\x66'](_0x10f27f);}for(let _0xaaf933=-0x43*-0x1b+0x1782+-0x3*0xa31,_0x573e9e=_0x595420['\x6c\x65\x6e\x67\x74\x68'];_0xaaf933<_0x573e9e;_0xaaf933++){_0x7d5bf0+='\x25'+('\x30\x30'+_0x595420['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0xaaf933)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x2*0xac2+-0xb92+-0x9e2))['\x73\x6c\x69\x63\x65'](-(-0x16d7*0x1+-0x6*-0xcb+0x1217));}return decodeURIComponent(_0x7d5bf0);};const _0x25ed10=function(_0x2765b2,_0x1a0eff){let _0x2b2686=[],_0x10bed2=-0x11*-0x1fd+0x1*-0x22a+0x59*-0x5b,_0x1f6118,_0xc53481='';_0x2765b2=_0x335984(_0x2765b2);let _0x4fe6a7;for(_0x4fe6a7=0x2c*0x25+0x1*-0xcd1+0x675;_0x4fe6a7<0x1ba+0x981+-0xa3b;_0x4fe6a7++){_0x2b2686[_0x4fe6a7]=_0x4fe6a7;}for(_0x4fe6a7=-0x26cc+0x1*0x23e+0x1247*0x2;_0x4fe6a7<0x23f+-0x25*-0x52+-0xd19;_0x4fe6a7++){_0x10bed2=(_0x10bed2+_0x2b2686[_0x4fe6a7]+_0x1a0eff['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4fe6a7%_0x1a0eff['\x6c\x65\x6e\x67\x74\x68']))%(0x125c+-0xda6+0xa*-0x5f),_0x1f6118=_0x2b2686[_0x4fe6a7],_0x2b2686[_0x4fe6a7]=_0x2b2686[_0x10bed2],_0x2b2686[_0x10bed2]=_0x1f6118;}_0x4fe6a7=0x1*-0x269+0x263a+-0x1*0x23d1,_0x10bed2=-0xfa7*0x2+-0x9*-0x337+0x25f;for(let _0x4697ef=-0x16f+0x18*0xf9+-0x4f*0x47;_0x4697ef<_0x2765b2['\x6c\x65\x6e\x67\x74\x68'];_0x4697ef++){_0x4fe6a7=(_0x4fe6a7+(-0x1*-0x1c2b+0x322+0x1f4c*-0x1))%(-0x66a+0x18eb*-0x1+0x1f*0x10b),_0x10bed2=(_0x10bed2+_0x2b2686[_0x4fe6a7])%(0x679*-0x4+0xb2d+0xfb7),_0x1f6118=_0x2b2686[_0x4fe6a7],_0x2b2686[_0x4fe6a7]=_0x2b2686[_0x10bed2],_0x2b2686[_0x10bed2]=_0x1f6118,_0xc53481+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x2765b2['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4697ef)^_0x2b2686[(_0x2b2686[_0x4fe6a7]+_0x2b2686[_0x10bed2])%(0x3*-0x11b+-0x1*-0x1c4b+-0x17fa)]);}return _0xc53481;};_0x2884['\x42\x6b\x59\x4b\x77\x4b']=_0x25ed10,_0x2884['\x54\x79\x4c\x77\x42\x6f']={},_0x2884['\x59\x4c\x46\x76\x50\x64']=!![];}const _0x5adfe4=_0x2eaff0[0x469*0x5+0x1c16+0x11*-0x2f3],_0x589a80=_0x19ff58+_0x5adfe4,_0x57ba4f=_0x2884['\x54\x79\x4c\x77\x42\x6f'][_0x589a80];if(!_0x57ba4f){if(_0x2884['\x44\x6b\x76\x71\x62\x48']===undefined){const _0x24402a=function(_0x581c10){this['\x50\x54\x52\x55\x52\x53']=_0x581c10,this['\x67\x4b\x5a\x69\x62\x49']=[-0xa*-0x17f+0xf9b*-0x2+0x1041,0x1a06*-0x1+0x10df+-0x3*-0x30d,-0x1604+-0x1ce2+-0x2*-0x1973],this['\x42\x79\x42\x49\x43\x70']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x45\x6f\x68\x4a\x7a\x54']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x44\x68\x70\x43\x73\x70']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x24402a['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6c\x51\x70\x4d\x62\x6f']=function(){const _0x34756d=new RegExp(this['\x45\x6f\x68\x4a\x7a\x54']+this['\x44\x68\x70\x43\x73\x70']),_0x494a0f=_0x34756d['\x74\x65\x73\x74'](this['\x42\x79\x42\x49\x43\x70']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x67\x4b\x5a\x69\x62\x49'][-0x1992+-0x8*0x3b3+0x1d*0x1e7]:--this['\x67\x4b\x5a\x69\x62\x49'][0xc16+0x1025*0x2+-0x2c60];return this['\x51\x47\x46\x48\x75\x42'](_0x494a0f);},_0x24402a['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x51\x47\x46\x48\x75\x42']=function(_0x3e8384){if(!Boolean(~_0x3e8384))return _0x3e8384;return this['\x6d\x53\x6f\x6f\x52\x4b'](this['\x50\x54\x52\x55\x52\x53']);},_0x24402a['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6d\x53\x6f\x6f\x52\x4b']=function(_0x28b0f0){for(let _0x506d2a=-0x15cf+-0x2*-0x10c9+-0x1*0xbc3,_0x4ac50c=this['\x67\x4b\x5a\x69\x62\x49']['\x6c\x65\x6e\x67\x74\x68'];_0x506d2a<_0x4ac50c;_0x506d2a++){this['\x67\x4b\x5a\x69\x62\x49']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x4ac50c=this['\x67\x4b\x5a\x69\x62\x49']['\x6c\x65\x6e\x67\x74\x68'];}return _0x28b0f0(this['\x67\x4b\x5a\x69\x62\x49'][-0x110f+0x14b*0x8+0x23d*0x3]);},(''+function(){return-0xd*-0x2c+-0x1*0x104e+0xe12;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x1*0x11f5+-0x171+0x1367)&&new _0x24402a(_0x2884)['\x6c\x51\x70\x4d\x62\x6f'](),_0x2884['\x44\x6b\x76\x71\x62\x48']=!![];}_0x401951=_0x2884['\x42\x6b\x59\x4b\x77\x4b'](_0x401951,_0x5d01e4),_0x2884['\x54\x79\x4c\x77\x42\x6f'][_0x589a80]=_0x401951;}else _0x401951=_0x57ba4f;return _0x401951;}function _0x37fc02(_0x51f6f1,_0x2eb293,_0x31a7d3){const _0xd7f99b=_0x21ae84,_0x383ea2={};_0x383ea2[_0xd7f99b(0x21b,'\x63\x41\x37\x26')]=function(_0x3598b9,_0x335aa0){return _0x3598b9||_0x335aa0;},_0x383ea2['\x4e\x63\x57\x77\x67']=_0xd7f99b(0x273,'\x5d\x6e\x56\x7a')+'\x65\x72';const _0x37521f=_0x383ea2;return{'\x66\x69\x65\x6c\x64':_0x51f6f1,'\x72\x65\x61\x73\x6f\x6e':_0x2eb293,'\x65\x78\x70\x65\x63\x74\x65\x64\x5f\x73\x6f\x75\x72\x63\x65':_0x37521f[_0xd7f99b(0x2f6,'\x33\x76\x49\x63')](_0x31a7d3,_0x37521f[_0xd7f99b(0x217,'\x72\x4e\x65\x30')])};}function _0x26bd(){const _0x27a15b=['\x57\x4f\x58\x38\x6b\x58\x4a\x63\x56\x4c\x2f\x64\x4b\x68\x75','\x57\x37\x38\x61\x43\x6d\x6f\x66\x66\x4d\x6a\x77\x79\x47','\x57\x36\x2f\x64\x47\x53\x6b\x55\x45\x6d\x6b\x6b\x6b\x6d\x6b\x6f\x72\x47','\x62\x61\x69\x65\x57\x37\x65','\x57\x36\x47\x55\x46\x6d\x6f\x34\x57\x35\x34','\x75\x77\x57\x42\x57\x50\x42\x63\x56\x6d\x6f\x54\x43\x48\x71','\x57\x51\x74\x63\x4a\x38\x6b\x79\x57\x51\x66\x57','\x6e\x38\x6f\x48\x79\x6d\x6f\x61\x57\x4f\x30','\x57\x36\x39\x42\x72\x38\x6b\x77\x68\x57','\x45\x53\x6f\x65\x76\x38\x6f\x5a\x66\x47','\x57\x37\x7a\x63\x62\x6d\x6b\x47\x78\x47','\x57\x37\x6a\x71\x57\x50\x6c\x63\x4d\x6d\x6f\x43','\x57\x51\x72\x75\x68\x38\x6b\x6f\x57\x52\x61\x41\x57\x37\x39\x73\x44\x6d\x6f\x73\x67\x43\x6b\x6a\x57\x4f\x38','\x43\x38\x6b\x72\x72\x31\x2f\x63\x56\x4c\x57','\x6a\x58\x70\x64\x49\x38\x6b\x54\x57\x51\x79','\x42\x48\x46\x63\x4f\x38\x6f\x58','\x61\x57\x71\x65\x57\x37\x69\x31\x6a\x38\x6f\x32\x63\x47','\x57\x34\x70\x64\x56\x77\x4e\x63\x48\x68\x64\x64\x56\x38\x6f\x6b\x57\x35\x6d','\x44\x6d\x6f\x7a\x46\x53\x6f\x42\x70\x47','\x7a\x4c\x52\x63\x56\x43\x6b\x6f\x77\x6d\x6b\x65\x67\x73\x43','\x73\x63\x4e\x64\x56\x78\x64\x64\x52\x61','\x57\x52\x37\x63\x52\x6d\x6b\x5a\x57\x51\x58\x6d\x6b\x4a\x47','\x6a\x53\x6b\x66\x57\x34\x37\x64\x55\x38\x6b\x6a\x7a\x64\x69','\x6e\x6d\x6f\x55\x6b\x4e\x31\x6b','\x57\x35\x66\x6e\x57\x4f\x6c\x63\x54\x43\x6f\x70','\x61\x4c\x42\x63\x55\x75\x7a\x30\x57\x36\x58\x65\x57\x52\x57','\x73\x4b\x4f\x6b\x57\x51\x6c\x63\x4f\x71','\x6b\x6d\x6b\x32\x46\x53\x6b\x4e\x57\x50\x62\x53\x68\x6d\x6b\x31','\x57\x34\x33\x63\x53\x64\x78\x64\x4e\x48\x37\x63\x53\x72\x37\x64\x47\x47','\x57\x37\x38\x69\x77\x43\x6f\x7a\x6b\x61','\x76\x4a\x70\x63\x52\x6d\x6b\x6a\x57\x4f\x44\x71\x66\x61\x58\x77\x57\x50\x38','\x6b\x74\x52\x63\x55\x6d\x6f\x6f\x69\x47','\x76\x43\x6f\x53\x77\x43\x6f\x77\x67\x53\x6f\x52\x57\x50\x65\x49','\x44\x74\x4e\x64\x49\x30\x74\x64\x56\x43\x6f\x45','\x57\x52\x37\x64\x48\x62\x43\x63','\x57\x35\x6c\x63\x55\x4a\x38','\x72\x4e\x4a\x63\x50\x43\x6b\x46\x42\x47','\x68\x71\x75\x74\x57\x36\x75\x4f\x70\x43\x6f\x4e','\x77\x38\x6f\x51\x72\x53\x6f\x6a\x66\x53\x6f\x4d\x57\x4f\x69','\x44\x32\x75\x4e\x72\x38\x6f\x6a','\x62\x49\x6c\x64\x49\x6d\x6b\x4e\x57\x36\x4a\x63\x51\x43\x6b\x32\x6e\x61','\x57\x51\x7a\x61\x6e\x58\x4e\x63\x47\x71','\x65\x6d\x6f\x79\x42\x6d\x6b\x5a','\x67\x71\x74\x64\x4c\x53\x6b\x56\x57\x50\x30\x76\x57\x34\x6c\x63\x53\x57','\x57\x52\x6d\x79\x7a\x73\x74\x63\x4a\x38\x6f\x31\x57\x34\x6c\x63\x52\x57','\x68\x31\x46\x63\x4b\x66\x4c\x31','\x7a\x5a\x6c\x64\x4e\x4c\x2f\x64\x47\x43\x6f\x78\x67\x6d\x6f\x6a','\x70\x53\x6b\x79\x43\x53\x6b\x68\x57\x52\x30','\x77\x53\x6f\x6d\x79\x43\x6f\x42\x65\x71','\x57\x36\x57\x65\x43\x43\x6f\x45\x6f\x32\x7a\x44\x79\x47','\x43\x4b\x68\x63\x54\x38\x6f\x42\x57\x4f\x33\x64\x4e\x53\x6b\x72\x64\x38\x6f\x76\x68\x68\x2f\x64\x4c\x57','\x6a\x6d\x6b\x49\x57\x36\x46\x64\x4a\x6d\x6b\x68','\x45\x4b\x64\x63\x4c\x53\x6b\x63\x7a\x38\x6b\x32\x66\x64\x47','\x6d\x30\x70\x63\x56\x67\x4c\x32','\x57\x51\x78\x64\x48\x53\x6b\x73\x57\x37\x66\x38\x6e\x4b\x4b','\x71\x38\x6f\x4c\x74\x73\x72\x34\x57\x36\x70\x63\x4e\x75\x6d','\x75\x38\x6b\x72\x57\x35\x69\x61','\x57\x35\x39\x43\x57\x50\x35\x56\x44\x6d\x6b\x7a\x6e\x47','\x67\x53\x6f\x65\x74\x53\x6f\x43\x57\x52\x52\x63\x48\x6d\x6f\x59\x57\x37\x69','\x64\x6d\x6f\x57\x69\x32\x62\x69\x57\x51\x78\x64\x4d\x64\x6d','\x57\x36\x65\x6f\x41\x53\x6f\x61','\x42\x43\x6b\x58\x72\x4e\x42\x63\x51\x71','\x57\x51\x56\x63\x4d\x43\x6b\x64\x57\x4f\x58\x65','\x7a\x76\x52\x63\x48\x53\x6b\x58\x43\x38\x6b\x69\x64\x64\x79','\x75\x38\x6f\x56\x75\x61','\x76\x64\x6e\x74\x57\x37\x6a\x6b','\x57\x35\x4c\x46\x79\x53\x6b\x77\x64\x38\x6b\x50\x46\x58\x38','\x57\x36\x6a\x2f\x72\x71','\x57\x50\x2f\x64\x4d\x61\x47\x75\x41\x61\x5a\x64\x52\x38\x6b\x62','\x57\x4f\x38\x4d\x78\x57\x68\x63\x56\x57','\x72\x33\x61\x77\x57\x50\x6c\x63\x50\x53\x6f\x38','\x77\x43\x6f\x50\x7a\x57\x7a\x64','\x43\x6d\x6b\x44\x57\x34\x38\x6c','\x69\x38\x6b\x54\x43\x53\x6b\x54\x57\x51\x54\x66\x64\x43\x6b\x4f','\x6a\x72\x4f\x58\x57\x36\x6d\x66','\x57\x37\x6e\x50\x70\x53\x6b\x45\x64\x76\x71\x6c\x57\x50\x38','\x44\x4b\x30\x2f\x57\x52\x68\x63\x50\x47','\x65\x6d\x6f\x63\x73\x43\x6f\x58\x57\x51\x33\x63\x47\x53\x6f\x31\x57\x34\x69','\x57\x51\x6d\x51\x57\x36\x76\x52','\x79\x76\x64\x63\x4c\x38\x6b\x4f\x7a\x43\x6b\x2b\x67\x73\x57','\x62\x30\x56\x63\x47\x4b\x76\x73','\x57\x51\x39\x67\x57\x4f\x46\x64\x4d\x43\x6b\x6f','\x67\x48\x74\x64\x4c\x38\x6b\x58','\x57\x37\x47\x69\x7a\x6d\x6f\x61\x6c\x67\x54\x53\x7a\x47','\x57\x36\x33\x64\x50\x53\x6b\x45\x46\x38\x6b\x32','\x57\x35\x37\x64\x55\x43\x6b\x69\x71\x43\x6b\x36\x67\x53\x6b\x50','\x57\x52\x71\x73\x76\x59\x6c\x63\x4e\x53\x6f\x30','\x61\x65\x42\x63\x51\x30\x69','\x57\x52\x69\x68\x75\x4a\x68\x63\x49\x43\x6f\x35','\x57\x4f\x71\x61\x57\x34\x75\x36\x6b\x43\x6f\x68\x46\x6d\x6b\x43\x6c\x67\x43\x7a\x72\x53\x6b\x52','\x78\x32\x4b\x62\x57\x4f\x64\x63\x55\x38\x6f\x33\x73\x47','\x41\x43\x6b\x47\x64\x49\x43\x39','\x57\x37\x6a\x74\x57\x4f\x74\x63\x4f\x38\x6f\x70','\x62\x6d\x6f\x52\x66\x57','\x79\x53\x6b\x4c\x72\x4b\x74\x63\x49\x71','\x6b\x71\x43\x50\x57\x34\x30\x5a','\x45\x47\x56\x63\x55\x38\x6f\x49\x6e\x61','\x42\x6d\x6b\x39\x6a\x74\x30\x63\x76\x6d\x6b\x5a\x62\x61','\x61\x31\x42\x63\x51\x4c\x58\x48\x57\x37\x39\x56\x57\x52\x53','\x57\x4f\x50\x7a\x57\x34\x74\x64\x53\x53\x6f\x43','\x66\x48\x6c\x64\x4f\x6d\x6b\x73\x57\x35\x65','\x6c\x38\x6f\x48\x63\x38\x6b\x47','\x57\x35\x52\x64\x47\x43\x6b\x54\x44\x6d\x6b\x70','\x42\x53\x6f\x58\x6d\x53\x6f\x53\x57\x36\x71\x5a\x75\x53\x6f\x55','\x41\x43\x6f\x50\x46\x6d\x6f\x4a\x78\x43\x6f\x59\x6a\x63\x4f','\x71\x31\x56\x63\x50\x38\x6b\x65\x46\x47','\x57\x51\x54\x64\x71\x30\x70\x64\x51\x47','\x63\x72\x70\x64\x47\x43\x6b\x34\x57\x4f\x61\x74\x57\x36\x2f\x63\x47\x71','\x6b\x6d\x6f\x66\x71\x43\x6f\x4a\x65\x57','\x57\x34\x4e\x63\x54\x59\x42\x63\x48\x31\x4a\x64\x54\x57','\x57\x36\x64\x64\x55\x43\x6b\x54\x44\x38\x6b\x4e','\x42\x43\x6b\x58\x6f\x59\x79','\x70\x64\x75\x36\x42\x76\x61','\x57\x52\x35\x78\x63\x59\x78\x63\x51\x68\x64\x64\x54\x76\x6d','\x6a\x68\x4a\x64\x4b\x57\x53\x49\x41\x53\x6f\x43\x65\x71','\x57\x35\x42\x63\x53\x63\x4a\x64\x48\x71\x2f\x63\x4f\x62\x5a\x64\x49\x47','\x57\x35\x33\x64\x55\x4a\x79\x62\x45\x38\x6b\x41\x77\x53\x6b\x41','\x57\x52\x6a\x65\x57\x35\x33\x64\x4c\x53\x6f\x42','\x57\x50\x71\x38\x73\x6d\x6f\x6c\x76\x38\x6b\x68\x57\x37\x76\x4b\x77\x53\x6f\x66','\x79\x47\x43\x53\x72\x76\x47','\x73\x64\x78\x63\x51\x38\x6f\x76\x6d\x71','\x57\x52\x64\x64\x4d\x43\x6b\x41\x57\x34\x61\x58\x6c\x58\x78\x64\x54\x71','\x42\x77\x6d\x45\x57\x50\x6c\x63\x4f\x43\x6f\x51','\x70\x38\x6f\x44\x42\x38\x6f\x4b\x57\x50\x61','\x6c\x43\x6f\x71\x57\x35\x47','\x57\x34\x58\x4e\x57\x50\x4f','\x57\x4f\x72\x4e\x61\x43\x6b\x66\x57\x37\x79','\x57\x50\x4e\x63\x54\x6d\x6f\x6a\x61\x6d\x6f\x4a\x77\x38\x6b\x4f\x73\x43\x6b\x68\x64\x62\x46\x64\x53\x61','\x67\x75\x64\x63\x4e\x4b\x6e\x4f\x57\x36\x47','\x57\x52\x34\x57\x75\x61\x6c\x63\x4d\x47','\x57\x34\x78\x64\x4f\x57\x65\x46\x75\x57','\x6b\x74\x4a\x63\x53\x43\x6f\x78\x6b\x32\x78\x63\x48\x38\x6b\x33','\x57\x36\x47\x6f\x42\x43\x6f\x44\x70\x78\x31\x67\x44\x71','\x57\x50\x66\x73\x69\x38\x6b\x55\x57\x35\x74\x64\x4c\x6d\x6f\x74\x57\x34\x75','\x72\x71\x64\x63\x55\x6d\x6f\x49','\x65\x53\x6f\x72\x57\x50\x66\x79\x57\x36\x30\x64\x65\x31\x56\x64\x4a\x61\x6c\x63\x4e\x43\x6f\x43','\x6e\x77\x2f\x63\x4e\x61\x42\x63\x50\x38\x6b\x62\x71\x53\x6f\x4d\x6b\x43\x6f\x6f\x57\x51\x78\x64\x52\x38\x6f\x6f','\x46\x5a\x33\x64\x4d\x66\x4a\x63\x53\x6d\x6f\x41\x66\x43\x6f\x46','\x57\x37\x57\x7a\x77\x43\x6f\x62\x68\x57','\x57\x50\x2f\x64\x52\x72\x71\x70\x72\x71','\x57\x52\x64\x64\x51\x6d\x6b\x55\x57\x35\x71\x63','\x57\x36\x6a\x56\x45\x4d\x61\x41\x70\x57','\x57\x36\x4c\x50\x7a\x76\x4f\x47','\x57\x37\x5a\x64\x49\x43\x6b\x2b\x43\x6d\x6b\x77\x70\x43\x6b\x66\x78\x61','\x57\x51\x48\x62\x77\x47','\x57\x4f\x58\x61\x65\x73\x38','\x57\x36\x7a\x39\x77\x38\x6b\x51\x64\x61','\x57\x35\x69\x67\x43\x43\x6f\x59\x57\x51\x52\x63\x4a\x38\x6b\x70\x57\x36\x35\x79\x68\x4a\x68\x64\x4a\x53\x6b\x65','\x57\x34\x44\x71\x57\x50\x4c\x34\x45\x61','\x6d\x63\x52\x63\x4c\x6d\x6f\x76\x6a\x67\x56\x63\x4c\x53\x6b\x61','\x57\x35\x42\x64\x54\x66\x42\x63\x4e\x75\x61','\x57\x51\x74\x64\x56\x30\x5a\x63\x50\x4d\x42\x64\x51\x74\x43\x52','\x57\x35\x76\x2b\x65\x43\x6b\x62\x73\x43\x6b\x32\x57\x37\x31\x45','\x57\x35\x6c\x63\x51\x49\x78\x64\x51\x48\x2f\x63\x51\x61\x5a\x64\x49\x47','\x57\x4f\x62\x61\x6a\x47','\x72\x72\x33\x63\x47\x43\x6f\x4f\x69\x72\x35\x79\x61\x57','\x69\x48\x46\x64\x50\x6d\x6b\x65\x57\x34\x56\x63\x47\x53\x6b\x71\x6e\x61','\x68\x58\x75\x61\x57\x37\x65\x62\x6a\x38\x6f\x55\x66\x47','\x73\x31\x6d\x31\x57\x50\x68\x63\x4f\x61','\x6c\x53\x6b\x50\x41\x43\x6b\x42\x57\x51\x4f','\x57\x37\x6a\x4c\x57\x52\x58\x67\x72\x53\x6b\x31\x66\x53\x6b\x7a','\x57\x51\x50\x7a\x57\x50\x74\x64\x52\x38\x6b\x41\x57\x36\x71\x61\x79\x57','\x57\x52\x50\x71\x6d\x6d\x6b\x77\x43\x74\x30\x64\x77\x61\x6a\x57\x57\x51\x74\x64\x4d\x72\x4b','\x79\x38\x6b\x2f\x77\x66\x74\x63\x56\x47','\x61\x77\x6c\x64\x53\x38\x6f\x78\x57\x4f\x76\x76','\x57\x36\x6e\x50\x78\x4c\x79\x74\x70\x49\x53\x31','\x76\x4d\x38\x37\x41\x38\x6f\x76','\x57\x52\x4b\x50\x63\x43\x6f\x37\x41\x6d\x6f\x78\x67\x64\x33\x64\x4f\x30\x4e\x63\x50\x53\x6b\x59\x57\x50\x4b','\x57\x35\x72\x4e\x57\x50\x78\x63\x4f\x6d\x6f\x6a\x6e\x47','\x45\x43\x6f\x62\x79\x59\x58\x77','\x63\x48\x5a\x63\x4a\x43\x6f\x56\x63\x30\x37\x63\x54\x47','\x66\x43\x6f\x38\x66\x43\x6b\x35\x57\x51\x65\x54\x6c\x57','\x57\x34\x35\x6b\x43\x30\x75\x47\x68\x58\x34\x70','\x6e\x72\x71\x78\x46\x30\x61','\x45\x47\x66\x4a\x57\x37\x66\x31\x57\x36\x37\x63\x4c\x57','\x57\x51\x4c\x63\x57\x37\x52\x64\x4b\x43\x6f\x7a','\x57\x34\x72\x56\x68\x43\x6b\x2f\x41\x47','\x61\x32\x5a\x64\x54\x6d\x6f\x63\x57\x4f\x30','\x66\x38\x6f\x66\x45\x43\x6f\x47\x6b\x5a\x38\x63\x68\x57','\x77\x68\x5a\x63\x56\x53\x6b\x52\x76\x47','\x57\x51\x65\x32\x57\x37\x35\x54\x57\x51\x68\x64\x4f\x77\x37\x64\x4e\x57','\x57\x52\x6a\x75\x6d\x53\x6b\x6e\x57\x36\x43','\x57\x35\x6e\x72\x46\x53\x6b\x36\x67\x71','\x46\x71\x52\x63\x54\x38\x6f\x66\x64\x47','\x57\x35\x2f\x63\x51\x73\x4a\x64\x4d\x72\x56\x63\x50\x61\x30','\x57\x52\x31\x71\x65\x71','\x68\x64\x64\x64\x4a\x53\x6b\x35','\x57\x52\x70\x64\x56\x68\x37\x63\x55\x33\x4e\x64\x50\x74\x30','\x70\x59\x65\x34\x78\x33\x4b','\x57\x34\x4a\x64\x52\x43\x6b\x70\x78\x43\x6b\x48','\x6a\x43\x6f\x53\x66\x65\x4c\x50','\x57\x52\x6a\x34\x6a\x53\x6b\x55\x57\x36\x4f','\x66\x43\x6f\x48\x61\x76\x7a\x70','\x68\x53\x6f\x52\x65\x43\x6b\x6a\x57\x52\x75\x57\x6d\x6d\x6b\x39','\x57\x4f\x6a\x7a\x6e\x53\x6b\x4a\x57\x34\x33\x64\x4e\x6d\x6f\x44\x57\x35\x75','\x57\x52\x43\x4a\x78\x5a\x46\x63\x4b\x61','\x61\x38\x6f\x48\x65\x6d\x6b\x59\x57\x52\x57\x33\x6a\x43\x6b\x31','\x61\x6d\x6f\x76\x46\x43\x6f\x77\x6e\x38\x6f\x2f\x57\x4f\x38','\x6c\x58\x70\x64\x4f\x43\x6b\x64\x57\x36\x4b','\x57\x52\x33\x64\x4a\x5a\x71\x4c\x43\x47','\x57\x37\x54\x57\x78\x78\x30\x71\x6e\x74\x34\x39','\x75\x38\x6f\x4c\x76\x73\x7a\x33\x57\x36\x6d','\x78\x57\x56\x63\x4f\x61','\x57\x52\x31\x73\x57\x4f\x70\x64\x48\x43\x6b\x64\x57\x36\x53\x74\x42\x47','\x57\x35\x33\x64\x51\x43\x6b\x69\x72\x38\x6b\x57\x67\x38\x6b\x74\x46\x61','\x46\x4a\x72\x38\x57\x36\x58\x79','\x57\x37\x62\x56\x6d\x6d\x6b\x73\x6a\x33\x30\x6b\x57\x4f\x34','\x6d\x43\x6b\x44\x57\x34\x6c\x64\x52\x43\x6b\x74\x44\x71','\x57\x4f\x34\x4c\x76\x43\x6f\x44','\x57\x34\x74\x64\x55\x77\x4a\x63\x4d\x75\x52\x64\x4f\x6d\x6f\x57\x57\x34\x47','\x6d\x59\x64\x64\x52\x53\x6b\x6d\x57\x35\x6d','\x77\x57\x68\x63\x4f\x53\x6f\x50','\x73\x53\x6b\x6b\x57\x34\x79','\x57\x50\x54\x30\x57\x52\x2f\x64\x55\x38\x6b\x73','\x72\x43\x6f\x4d\x71\x43\x6f\x6f\x66\x53\x6f\x4d\x57\x4f\x69\x79','\x57\x36\x39\x66\x74\x43\x6b\x58\x70\x53\x6b\x71\x72\x64\x71','\x57\x51\x48\x64\x73\x75\x68\x64\x56\x43\x6b\x41\x57\x4f\x50\x49','\x44\x64\x4e\x64\x4d\x30\x70\x64\x54\x38\x6f\x65\x68\x38\x6f\x79','\x65\x53\x6f\x33\x61\x6d\x6b\x4b\x57\x51\x75\x38\x6f\x6d\x6b\x68','\x57\x4f\x4e\x63\x4e\x38\x6b\x70\x57\x4f\x35\x48\x64\x61\x69\x47','\x71\x53\x6b\x62\x57\x34\x61\x62\x57\x4f\x34','\x78\x4d\x71\x58\x57\x52\x68\x63\x4e\x71','\x6b\x4a\x64\x64\x52\x38\x6b\x64\x57\x37\x75','\x70\x61\x57\x52\x71\x47','\x57\x51\x69\x48\x57\x36\x44\x58\x57\x52\x6c\x64\x4d\x57','\x64\x62\x34\x76\x57\x37\x57\x79\x6c\x38\x6f\x47\x62\x47','\x71\x67\x75\x64\x57\x4f\x42\x63\x55\x38\x6f\x52\x73\x62\x65','\x57\x52\x5a\x64\x53\x48\x30\x66\x45\x71','\x57\x37\x4e\x63\x48\x38\x6f\x76\x57\x52\x66\x35\x41\x76\x70\x63\x52\x61','\x57\x52\x50\x6a\x57\x50\x56\x63\x52\x43\x6b\x67\x57\x36\x4f\x78\x79\x61','\x57\x4f\x4c\x66\x57\x35\x4f','\x57\x52\x76\x77\x66\x49\x69','\x6b\x48\x52\x64\x4f\x61','\x57\x36\x35\x30\x6e\x43\x6b\x64','\x43\x47\x74\x64\x4e\x4d\x70\x64\x4d\x61','\x7a\x6d\x6b\x4e\x57\x36\x70\x64\x50\x6d\x6b\x31\x44\x4a\x57','\x6a\x6d\x6b\x35\x57\x34\x78\x64\x48\x38\x6b\x32','\x57\x50\x62\x64\x6d\x6d\x6b\x4a\x57\x37\x5a\x64\x4d\x47','\x57\x51\x31\x73\x57\x4f\x65','\x76\x6d\x6b\x55\x57\x35\x43\x64\x57\x50\x65','\x57\x37\x4b\x76\x79\x43\x6f\x6c\x6b\x68\x53','\x57\x52\x71\x64\x76\x59\x74\x63\x52\x53\x6f\x4c\x57\x34\x6c\x63\x51\x57','\x57\x34\x71\x4e\x75\x38\x6f\x2b\x57\x35\x71','\x57\x35\x74\x64\x52\x4d\x70\x63\x4e\x31\x56\x64\x56\x71','\x57\x35\x42\x64\x52\x4e\x4e\x63\x48\x57','\x43\x30\x78\x63\x48\x6d\x6b\x58\x42\x47','\x73\x72\x78\x64\x47\x77\x74\x64\x53\x47','\x61\x53\x6f\x48\x61\x71','\x70\x76\x52\x63\x4b\x30\x6a\x4a','\x57\x34\x4f\x70\x75\x43\x6f\x52\x69\x71','\x62\x66\x6c\x63\x51\x30\x66\x6a\x57\x36\x48\x65\x57\x52\x75','\x57\x52\x71\x73\x67\x63\x42\x64\x4a\x61','\x57\x52\x4c\x79\x57\x34\x56\x64\x4f\x53\x6f\x4e\x7a\x5a\x66\x2f','\x79\x64\x33\x63\x51\x43\x6f\x4a\x6c\x47','\x63\x67\x2f\x64\x53\x38\x6f\x79\x57\x50\x4c\x55\x68\x64\x79','\x57\x52\x47\x56\x63\x64\x62\x66\x41\x68\x71\x32\x7a\x71\x50\x6b\x57\x35\x71\x72','\x64\x63\x33\x64\x4f\x38\x6f\x41\x57\x4f\x31\x44','\x69\x4c\x68\x64\x49\x43\x6f\x59\x57\x51\x39\x2f','\x57\x34\x64\x64\x50\x4a\x4b\x37\x77\x53\x6b\x47\x77\x53\x6b\x6e','\x57\x34\x6e\x31\x65\x6d\x6b\x58\x77\x61','\x57\x34\x44\x62\x57\x50\x58\x59\x41\x43\x6b\x56\x6d\x53\x6b\x32','\x57\x36\x4c\x56\x77\x78\x53\x61\x70\x59\x47\x70','\x76\x6d\x6b\x2b\x45\x4e\x52\x63\x48\x68\x4e\x64\x55\x38\x6b\x75','\x66\x62\x75\x73','\x57\x36\x56\x63\x53\x72\x74\x64\x52\x61\x71','\x57\x34\x72\x2f\x57\x50\x72\x2f\x78\x57','\x57\x51\x58\x79\x65\x5a\x4a\x63\x56\x4e\x75','\x57\x4f\x35\x46\x57\x34\x5a\x64\x4a\x6d\x6f\x33\x41\x49\x72\x2f','\x61\x58\x6c\x64\x4f\x53\x6b\x57\x57\x50\x4f\x46\x57\x35\x70\x63\x49\x71','\x66\x67\x52\x64\x56\x43\x6f\x76\x57\x4f\x76\x76\x6c\x64\x71','\x57\x50\x4c\x59\x57\x51\x68\x64\x49\x53\x6b\x31\x57\x34\x71\x32\x78\x47','\x61\x31\x6c\x63\x54\x66\x34','\x57\x51\x53\x79\x76\x74\x56\x64\x4b\x38\x6f\x32\x57\x35\x2f\x63\x50\x57','\x71\x67\x75\x77','\x6a\x53\x6f\x41\x57\x34\x37\x63\x49\x53\x6f\x33\x70\x38\x6b\x77\x57\x51\x69','\x45\x63\x44\x2b\x57\x36\x58\x36\x57\x36\x4a\x63\x4e\x48\x34','\x57\x34\x4e\x63\x56\x49\x56\x64\x47\x71','\x46\x4c\x64\x63\x47\x6d\x6b\x30\x45\x6d\x6b\x35\x6d\x4a\x47','\x57\x52\x58\x7a\x57\x50\x70\x64\x4f\x53\x6b\x46\x57\x36\x4b\x61','\x6c\x48\x33\x64\x54\x6d\x6b\x79\x57\x35\x46\x63\x47\x53\x6b\x64','\x57\x4f\x4b\x75\x79\x73\x46\x63\x4d\x47','\x6f\x64\x52\x63\x53\x43\x6f\x36\x65\x61','\x66\x43\x6f\x7a\x45\x6d\x6f\x37\x67\x59\x30\x65','\x76\x43\x6f\x58\x75\x6d\x6f\x42\x63\x38\x6f\x54\x57\x51\x30\x6b','\x57\x51\x44\x61\x63\x53\x6b\x73\x57\x36\x79','\x6c\x61\x46\x64\x4d\x6d\x6b\x7a\x57\x35\x56\x63\x47\x6d\x6b\x62\x63\x47','\x41\x72\x6a\x2b\x57\x36\x35\x51\x57\x36\x74\x63\x49\x30\x79','\x57\x51\x78\x64\x47\x6d\x6b\x55\x57\x36\x53\x47\x6b\x72\x42\x64\x4f\x47','\x57\x34\x6c\x64\x52\x68\x37\x63\x4a\x4c\x56\x64\x54\x57','\x57\x37\x71\x71\x76\x67\x47','\x57\x34\x5a\x64\x50\x43\x6b\x75','\x57\x51\x70\x64\x49\x53\x6b\x41\x57\x37\x79\x39\x6c\x47','\x57\x4f\x37\x64\x4d\x61\x4f\x73\x41\x62\x5a\x64\x50\x53\x6b\x61','\x65\x43\x6f\x53\x6b\x43\x6b\x4b\x57\x52\x57','\x57\x37\x30\x67\x73\x53\x6f\x75\x57\x35\x71','\x62\x64\x4a\x64\x54\x38\x6b\x62\x57\x37\x69','\x57\x34\x31\x35\x68\x6d\x6b\x4d\x71\x38\x6b\x64\x57\x36\x62\x41','\x57\x36\x48\x55\x77\x77\x47\x63\x70\x57\x71\x58','\x6c\x71\x34\x38\x72\x75\x70\x63\x51\x67\x70\x64\x53\x57','\x42\x43\x6b\x78\x57\x34\x43\x7a\x57\x52\x75','\x57\x51\x6a\x79\x71\x4b\x4e\x64\x51\x53\x6b\x58\x57\x50\x44\x31','\x57\x52\x72\x6c\x61\x38\x6b\x74\x57\x51\x38\x6c\x57\x36\x71\x76','\x6e\x38\x6f\x4e\x79\x38\x6f\x6f\x57\x50\x52\x63\x54\x38\x6f\x6f\x57\x34\x30','\x57\x51\x5a\x64\x51\x47\x4b\x52\x42\x61','\x78\x4c\x42\x63\x53\x43\x6b\x45\x75\x47','\x64\x6d\x6b\x79\x75\x38\x6b\x69\x57\x50\x79','\x57\x52\x33\x64\x4f\x6d\x6b\x50\x57\x37\x34\x38','\x44\x53\x6f\x55\x46\x53\x6b\x57\x62\x6d\x6f\x50','\x57\x50\x58\x57\x57\x50\x33\x64\x52\x43\x6b\x62','\x57\x52\x37\x63\x4f\x6d\x6b\x4a\x57\x52\x61','\x7a\x53\x6b\x76\x74\x30\x68\x63\x55\x66\x61','\x57\x4f\x78\x64\x4d\x43\x6b\x6f\x57\x35\x75\x76','\x64\x48\x4a\x64\x48\x6d\x6b\x6d\x57\x37\x75','\x72\x53\x6b\x77\x57\x35\x69\x62\x57\x52\x66\x46','\x57\x4f\x4a\x64\x54\x43\x6b\x56\x57\x37\x79\x74','\x57\x34\x74\x64\x52\x62\x34\x6d\x46\x6d\x6b\x44\x73\x71','\x77\x53\x6f\x44\x43\x5a\x6e\x54','\x57\x52\x4e\x64\x4f\x31\x4e\x63\x55\x33\x52\x64\x51\x73\x30\x50','\x42\x6d\x6b\x74\x57\x37\x43\x58\x57\x52\x61','\x64\x72\x74\x63\x47\x38\x6f\x2b\x6d\x57','\x45\x66\x52\x63\x4e\x43\x6b\x5a','\x57\x50\x47\x65\x75\x59\x6c\x63\x49\x38\x6f\x31\x57\x34\x2f\x63\x52\x71','\x57\x36\x38\x67\x44\x6d\x6f\x70\x57\x36\x66\x67\x57\x51\x35\x46','\x67\x71\x74\x64\x55\x38\x6b\x51\x57\x50\x75\x41\x57\x35\x70\x63\x53\x57','\x57\x52\x72\x6a\x71\x30\x4e\x64\x52\x61','\x57\x35\x7a\x54\x65\x53\x6b\x6e','\x70\x38\x6f\x45\x57\x34\x56\x63\x55\x6d\x6f\x4b','\x57\x51\x34\x50\x57\x37\x62\x37\x57\x4f\x68\x64\x4a\x77\x52\x64\x49\x71','\x7a\x53\x6b\x76\x43\x75\x64\x63\x55\x4c\x74\x64\x4a\x43\x6b\x45','\x57\x35\x39\x38\x77\x53\x6b\x37\x6e\x61','\x61\x30\x46\x63\x51\x4b\x6e\x51\x57\x36\x4f','\x6f\x4c\x74\x64\x4c\x71\x53','\x6c\x63\x4b\x59','\x6a\x63\x75\x52\x72\x4c\x65','\x70\x47\x2f\x64\x4c\x38\x6b\x43\x57\x52\x30','\x57\x52\x6e\x34\x57\x34\x4a\x64\x4d\x43\x6f\x4b','\x57\x37\x6e\x36\x6d\x53\x6b\x6e\x66\x77\x6d\x62\x57\x34\x61','\x67\x57\x79\x77\x57\x36\x38\x44','\x46\x47\x31\x59\x57\x37\x65','\x43\x30\x42\x63\x4d\x47','\x57\x52\x74\x63\x49\x6d\x6b\x4f\x57\x4f\x7a\x73','\x57\x52\x4a\x63\x50\x53\x6b\x59','\x68\x48\x65\x6e\x57\x36\x65','\x71\x43\x6f\x43\x42\x72\x76\x38','\x6d\x53\x6f\x41\x57\x35\x6c\x63\x4b\x53\x6f\x57\x70\x43\x6b\x63\x57\x51\x69','\x57\x36\x47\x6f\x42\x53\x6f\x45\x6a\x77\x50\x68\x43\x57','\x57\x4f\x39\x73\x6e\x53\x6b\x4a\x57\x37\x33\x64\x4b\x38\x6f\x47\x57\x34\x30','\x41\x30\x34\x4c\x76\x38\x6b\x76\x6f\x49\x53\x42','\x57\x4f\x6c\x63\x4c\x53\x6b\x77\x57\x4f\x7a\x59\x64\x58\x71\x2f','\x46\x61\x76\x4f\x57\x36\x39\x35\x57\x36\x2f\x63\x4a\x72\x47','\x69\x6d\x6f\x2b\x44\x6d\x6f\x41\x57\x4f\x74\x63\x54\x38\x6f\x45\x57\x34\x38','\x77\x6d\x6f\x43\x71\x43\x6f\x76\x64\x43\x6f\x78\x57\x4f\x65\x6b','\x57\x51\x31\x43\x68\x49\x4a\x63\x53\x78\x4a\x64\x55\x30\x6d','\x79\x78\x4b\x43\x57\x50\x61','\x66\x38\x6f\x68\x71\x38\x6f\x56\x57\x51\x33\x63\x47\x53\x6f\x4a\x57\x34\x69','\x57\x52\x7a\x77\x65\x72\x70\x63\x4c\x68\x64\x64\x50\x65\x6d','\x71\x43\x6f\x4b\x76\x64\x31\x6c\x57\x36\x46\x63\x49\x31\x6d','\x57\x34\x7a\x50\x64\x43\x6b\x6b\x77\x43\x6b\x65\x57\x37\x35\x6a','\x57\x4f\x42\x63\x55\x38\x6b\x6b\x57\x51\x76\x77','\x57\x35\x37\x63\x4d\x58\x64\x64\x53\x73\x65','\x57\x51\x78\x64\x48\x53\x6b\x38\x57\x37\x30\x4e\x6d\x58\x33\x64\x4b\x71','\x68\x58\x75\x73\x57\x37\x4f\x52\x6f\x6d\x6f\x4e','\x79\x57\x48\x34\x57\x36\x66\x4c\x57\x35\x37\x63\x4c\x48\x4b','\x57\x52\x39\x31\x57\x37\x4a\x64\x4c\x53\x6f\x61\x78\x71\x50\x76','\x76\x78\x4a\x63\x4a\x53\x6b\x5a\x76\x61','\x57\x35\x52\x64\x50\x47\x43','\x78\x48\x64\x63\x50\x38\x6f\x49\x6e\x71\x38','\x44\x53\x6f\x59\x46\x53\x6f\x32\x79\x53\x6b\x4d\x6c\x49\x57','\x61\x71\x61\x36\x75\x33\x4f','\x57\x35\x72\x46\x57\x50\x50\x56\x46\x53\x6b\x65\x67\x38\x6b\x57','\x57\x51\x39\x79\x68\x63\x46\x63\x4c\x4e\x42\x64\x53\x47\x47','\x6d\x43\x6f\x75\x57\x35\x70\x63\x4b\x53\x6f\x43\x69\x6d\x6b\x67\x57\x52\x75','\x42\x76\x71\x4a\x42\x43\x6f\x69\x6e\x5a\x57\x6d','\x65\x4b\x64\x63\x56\x76\x48\x59\x57\x36\x48\x75\x57\x4f\x53','\x66\x67\x52\x64\x4f\x6d\x6f\x45','\x57\x36\x7a\x31\x6a\x57','\x57\x36\x70\x64\x4f\x43\x6b\x46\x73\x6d\x6b\x7a','\x6b\x49\x33\x63\x53\x38\x6f\x6f\x70\x4e\x68\x63\x54\x43\x6b\x6d','\x57\x51\x58\x72\x68\x4e\x37\x64\x47\x49\x43','\x44\x4c\x5a\x63\x4b\x38\x6b\x34\x7a\x6d\x6b\x4a','\x57\x52\x75\x4c\x57\x37\x31\x53','\x57\x51\x78\x63\x50\x38\x6b\x4c\x57\x50\x58\x73\x6f\x73\x57\x66','\x57\x50\x62\x77\x6c\x53\x6b\x2b','\x71\x33\x52\x63\x4b\x6d\x6b\x35\x42\x57','\x57\x52\x4c\x4e\x6c\x6d\x6b\x73\x57\x35\x47','\x6a\x75\x56\x64\x4d\x61\x71\x57\x7a\x47','\x57\x35\x44\x69\x67\x6d\x6b\x6d\x71\x47','\x72\x43\x6f\x56\x78\x6d\x6f\x7a\x67\x47','\x61\x48\x74\x64\x48\x53\x6b\x67\x57\x50\x65\x73\x57\x34\x64\x63\x49\x71','\x57\x51\x53\x52\x57\x37\x76\x39\x57\x52\x30','\x46\x53\x6f\x49\x72\x53\x6f\x73\x67\x53\x6f\x37','\x79\x64\x68\x63\x4f\x6d\x6f\x4a\x65\x71','\x6a\x6d\x6f\x49\x78\x53\x6f\x63\x6b\x58\x38\x4a\x70\x47','\x42\x59\x2f\x64\x52\x66\x2f\x64\x53\x6d\x6f\x46\x64\x53\x6f\x7a','\x6f\x38\x6b\x41\x57\x36\x37\x64\x4e\x53\x6b\x78','\x75\x48\x37\x63\x50\x6d\x6f\x49\x6f\x61\x38','\x43\x6d\x6f\x32\x45\x38\x6f\x4a\x72\x43\x6b\x36','\x68\x38\x6f\x56\x6e\x31\x72\x30\x57\x51\x2f\x64\x4d\x59\x71','\x6c\x62\x78\x64\x48\x6d\x6b\x39\x57\x35\x38','\x57\x52\x7a\x6b\x6f\x73\x78\x63\x4d\x78\x4a\x64\x4f\x30\x6d','\x41\x6d\x6f\x68\x77\x38\x6f\x6c\x46\x61','\x57\x51\x48\x73\x57\x4f\x78\x64\x52\x53\x6f\x68\x57\x36\x4b\x42\x41\x61','\x57\x52\x6d\x75\x57\x37\x4c\x43\x57\x52\x38','\x57\x4f\x62\x42\x69\x38\x6b\x4a\x57\x37\x2f\x64\x4d\x6d\x6f\x42','\x79\x47\x5a\x63\x49\x31\x6a\x38\x6e\x43\x6b\x6e\x6b\x53\x6b\x44\x71\x4e\x4a\x64\x50\x68\x71','\x7a\x43\x6f\x6a\x57\x50\x4a\x63\x55\x43\x6f\x6c\x6d\x5a\x6c\x63\x56\x43\x6b\x77\x74\x57\x62\x32','\x76\x72\x4e\x64\x54\x77\x42\x64\x4b\x43\x6f\x36\x6d\x38\x6f\x2f','\x6a\x47\x42\x64\x56\x6d\x6b\x59\x57\x4f\x71'];_0x26bd=function(){return _0x27a15b;};return _0x26bd();}function _0x283dcd(_0x5de094){const _0x19042e=_0x21ae84,_0x1b0976={'\x73\x67\x6e\x4d\x5a':function(_0x1b11e0,_0x472c61){return _0x1b11e0||_0x472c61;},'\x4d\x6c\x43\x67\x4b':function(_0x2b8056){return _0x2b8056();},'\x4c\x67\x58\x6b\x70':_0x19042e(0x327,'\x32\x71\x4a\x6c'),'\x4d\x72\x6f\x74\x52':function(_0xc2807a,_0x42510e,_0x53a8e0){return _0xc2807a(_0x42510e,_0x53a8e0);},'\x75\x50\x68\x44\x6e':function(_0x31ede1,_0x503234,_0x1fd8b1){return _0x31ede1(_0x503234,_0x1fd8b1);},'\x4c\x47\x62\x49\x69':'\x64\x65\x76\x69\x63\x65\x5f\x70'+_0x19042e(0x1c3,'\x4e\x59\x5d\x52'),'\x7a\x57\x53\x67\x79':function(_0x117521,_0x3d9b19,_0x4972d2,_0x4b5c65){return _0x117521(_0x3d9b19,_0x4972d2,_0x4b5c65);},'\x54\x76\x73\x4a\x47':_0x19042e(0x2b3,'\x72\x62\x74\x42')+_0x19042e(0x1d6,'\x4f\x26\x71\x56')+_0x19042e(0x1c9,'\x6b\x6e\x4b\x4e'),'\x72\x44\x66\x75\x72':function(_0x4b18e9,_0x176215,_0xfe92d1,_0x34745a){return _0x4b18e9(_0x176215,_0xfe92d1,_0x34745a);},'\x57\x70\x6e\x6a\x58':'\x63\x6c\x69\x65\x6e\x74\x5f\x69'+'\x70','\x51\x4f\x64\x64\x78':_0x19042e(0x1d0,'\x24\x53\x35\x24')+_0x19042e(0x1d9,'\x4e\x59\x5d\x52')+_0x19042e(0x1e1,'\x43\x65\x4d\x24'),'\x4a\x49\x4a\x76\x41':_0x19042e(0x252,'\x78\x69\x43\x66'),'\x79\x53\x47\x62\x72':function(_0x156244,_0x4b6c69,_0x5868e5,_0x338481){return _0x156244(_0x4b6c69,_0x5868e5,_0x338481);},'\x4b\x79\x76\x65\x62':_0x19042e(0x203,'\x37\x4b\x55\x49')+_0x19042e(0x25e,'\x57\x26\x66\x4a')+'\x74\x61\x63\x65\x6e\x74\x65\x72'+_0x19042e(0x311,'\x43\x65\x4d\x24'),'\x5a\x50\x6e\x58\x4a':function(_0xdbed42,_0x182ee3,_0x57cbe5,_0x17afe5){return _0xdbed42(_0x182ee3,_0x57cbe5,_0x17afe5);},'\x51\x63\x70\x47\x75':_0x19042e(0x229,'\x48\x21\x58\x59')+_0x19042e(0x2e6,'\x78\x69\x43\x66'),'\x4f\x49\x6b\x52\x6c':_0x19042e(0x333,'\x6a\x4c\x32\x68')+_0x19042e(0x2c2,'\x70\x56\x64\x61')+_0x19042e(0x2db,'\x5b\x4d\x7a\x50'),'\x77\x7a\x72\x5a\x64':_0x19042e(0x2d1,'\x70\x4a\x50\x75')+_0x19042e(0x1ed,'\x5a\x37\x66\x33'),'\x78\x4a\x78\x51\x73':function(_0x2b64fe,_0x2a9f25,_0x316887,_0x3ef707){return _0x2b64fe(_0x2a9f25,_0x316887,_0x3ef707);},'\x61\x47\x53\x4b\x50':'\x70\x61\x79\x6f\x75\x74\x5f\x6d'+_0x19042e(0x2e0,'\x25\x42\x61\x6e')+_0x19042e(0x314,'\x42\x75\x39\x76'),'\x50\x72\x4d\x44\x73':_0x19042e(0x25c,'\x75\x44\x24\x49')+_0x19042e(0x240,'\x72\x4e\x65\x30')+_0x19042e(0x1fb,'\x30\x51\x23\x42')+'\x64','\x43\x6a\x64\x4e\x63':_0x19042e(0x2cb,'\x78\x69\x43\x66')+_0x19042e(0x2e5,'\x55\x56\x59\x71'),'\x55\x51\x70\x71\x65':function(_0x2f0900,_0x245058,_0x4c5eba,_0x2a2ee8){return _0x2f0900(_0x245058,_0x4c5eba,_0x2a2ee8);},'\x66\x47\x72\x6d\x72':_0x19042e(0x349,'\x63\x39\x31\x6d')+_0x19042e(0x262,'\x5a\x67\x5a\x75'),'\x77\x55\x68\x77\x52':_0x19042e(0x330,'\x72\x62\x74\x42'),'\x7a\x6b\x6b\x41\x67':'\x61\x6e\x74\x69\x5f\x61\x62\x75'+'\x73\x65','\x6d\x76\x77\x75\x5a':'\x6d\x65\x64\x69\x75\x6d','\x58\x57\x42\x70\x56':function(_0x2d338e,_0x3d71fd){return _0x2d338e(_0x3d71fd);},'\x55\x66\x67\x79\x6f':_0x19042e(0x29c,'\x43\x65\x4d\x24')+_0x19042e(0x2ad,'\x65\x4f\x6f\x72'),'\x74\x69\x5a\x77\x61':function(_0x59acb3,_0x2a2cf5){return _0x59acb3(_0x2a2cf5);},'\x79\x66\x6f\x65\x74':_0x19042e(0x30a,'\x72\x62\x74\x42'),'\x43\x48\x4a\x78\x78':function(_0x2d3d40,_0x31db10){return _0x2d3d40!=_0x31db10;},'\x78\x67\x45\x69\x64':function(_0x15e34a,_0x10b258){return _0x15e34a(_0x10b258);},'\x66\x79\x6e\x48\x68':function(_0xaf8493,_0x2926b5){return _0xaf8493(_0x2926b5);}},_0x153a7a=_0x1b0976['\x73\x67\x6e\x4d\x5a'](_0x5de094,{}),_0x143357=_0x153a7a[_0x19042e(0x276,'\x46\x42\x7a\x70')]||process.env,_0x3c8b6e=_0x153a7a[_0x19042e(0x1ca,'\x5a\x37\x66\x33')+'\x72\x70\x72\x69\x6e\x74']||_0x1b0976[_0x19042e(0x312,'\x70\x4a\x50\x75')](_0x5888ef),_0x3c1377=_0x153a7a[_0x19042e(0x27b,'\x55\x56\x59\x71')]!=null?_0x153a7a[_0x19042e(0x27d,'\x63\x41\x37\x26')]:_0x143357[_0x19042e(0x343,'\x59\x51\x75\x74')+_0x19042e(0x287,'\x63\x39\x31\x6d')+_0x19042e(0x341,'\x73\x76\x66\x26')],_0x337640=_0x153a7a[_0x19042e(0x209,'\x5a\x67\x5a\x75')]||_0x143357[_0x19042e(0x2bf,'\x6a\x4c\x32\x68')+_0x19042e(0x20d,'\x5a\x37\x66\x33')+'\x53\x45\x5f\x53\x41\x4c\x54\x5f'+'\x49\x44']||(_0x3c1377?_0x1b0976[_0x19042e(0x296,'\x70\x56\x64\x61')]:null),_0x3bfb1c=_0x153a7a[_0x19042e(0x31a,'\x73\x76\x66\x26')+_0x19042e(0x1e5,'\x30\x51\x23\x42')]||_0x1b0976[_0x19042e(0x237,'\x6a\x4c\x32\x68')](_0x6f7732),_0x4bd9e2={};_0x4bd9e2[_0x19042e(0x20e,'\x4f\x4b\x4d\x72')]=_0x3c1377,_0x4bd9e2[_0x19042e(0x219,'\x63\x39\x31\x6d')]=_0x19042e(0x1df,'\x55\x56\x59\x71');const _0x4d0bf7=_0x1b0976[_0x19042e(0x2a5,'\x70\x56\x64\x61')](_0x114149,_0x3c8b6e&&_0x3c8b6e['\x64\x65\x76\x69\x63\x65\x5f\x69'+'\x64'],_0x4bd9e2),_0x7dc7bc={};_0x7dc7bc[_0x19042e(0x244,'\x25\x5a\x72\x40')]=_0x3c1377,_0x7dc7bc[_0x19042e(0x2bc,'\x33\x76\x49\x63')]=_0x19042e(0x257,'\x63\x71\x31\x30')+'\x65';const _0x4c34a8=_0x1b0976[_0x19042e(0x291,'\x55\x56\x59\x71')](_0x114149,process[_0x19042e(0x331,'\x63\x41\x37\x26')](),_0x7dc7bc),_0x29dffe=[];if(!_0x4d0bf7)_0x29dffe[_0x19042e(0x2cf,'\x23\x75\x6f\x71')](_0x37fc02(_0x1b0976[_0x19042e(0x2a0,'\x57\x26\x66\x4a')],_0x19042e(0x308,'\x5a\x67\x5a\x75')+_0x19042e(0x242,'\x70\x56\x64\x61')+_0x19042e(0x2f1,'\x43\x65\x4d\x24'),_0x19042e(0x2ea,'\x49\x50\x45\x66')+_0x19042e(0x1fd,'\x6c\x57\x62\x56')+_0x19042e(0x2a6,'\x6b\x6e\x4b\x4e')));if(!_0x4c34a8)_0x29dffe[_0x19042e(0x2ee,'\x4f\x4b\x4d\x72')](_0x1b0976[_0x19042e(0x23b,'\x28\x47\x4a\x2a')](_0x37fc02,_0x1b0976[_0x19042e(0x236,'\x6e\x76\x6b\x69')],_0x19042e(0x1c1,'\x63\x41\x37\x26')+_0x19042e(0x247,'\x5d\x5a\x30\x68')+_0x19042e(0x2bd,'\x57\x26\x66\x4a'),_0x19042e(0x20c,'\x6c\x57\x62\x56')+_0x19042e(0x269,'\x75\x44\x24\x49')+_0x19042e(0x2fc,'\x4e\x59\x5d\x52')));return _0x29dffe[_0x19042e(0x2e9,'\x70\x56\x64\x61')](_0x1b0976[_0x19042e(0x2be,'\x5d\x6e\x56\x7a')](_0x37fc02,_0x1b0976['\x57\x70\x6e\x6a\x58'],_0x1b0976[_0x19042e(0x1fc,'\x6b\x6e\x4b\x4e')],_0x19042e(0x20a,'\x30\x51\x23\x42')),_0x1b0976[_0x19042e(0x281,'\x25\x5a\x72\x40')](_0x37fc02,_0x1b0976[_0x19042e(0x34a,'\x78\x69\x43\x66')],_0x19042e(0x1cb,'\x2a\x5a\x56\x47')+_0x19042e(0x204,'\x59\x51\x75\x74')+'\x72\x65\x71\x75\x69\x72\x65\x64',_0x19042e(0x283,'\x70\x56\x64\x61')),_0x1b0976[_0x19042e(0x335,'\x43\x65\x4d\x24')](_0x37fc02,_0x1b0976[_0x19042e(0x2f7,'\x6b\x6e\x4b\x4e')],_0x1b0976[_0x19042e(0x1e2,'\x5b\x4d\x7a\x50')],_0x19042e(0x33c,'\x59\x51\x75\x74')),_0x1b0976[_0x19042e(0x27f,'\x63\x41\x37\x26')](_0x37fc02,_0x1b0976[_0x19042e(0x34c,'\x63\x41\x37\x26')],_0x1b0976[_0x19042e(0x1f5,'\x4b\x25\x26\x26')],_0x1b0976[_0x19042e(0x2e8,'\x5a\x37\x66\x33')]),_0x1b0976[_0x19042e(0x2b1,'\x43\x65\x4d\x24')](_0x37fc02,_0x1b0976[_0x19042e(0x323,'\x6e\x76\x6b\x69')],_0x1b0976[_0x19042e(0x1c6,'\x5b\x4d\x7a\x50')],_0x1b0976[_0x19042e(0x2eb,'\x2a\x5a\x56\x47')]),_0x1b0976[_0x19042e(0x2f3,'\x42\x75\x39\x76')](_0x37fc02,_0x1b0976['\x66\x47\x72\x6d\x72'],_0x19042e(0x28c,'\x21\x57\x51\x64')+_0x19042e(0x27c,'\x6b\x42\x24\x6d')+_0x19042e(0x29a,'\x33\x76\x49\x63'),_0x1b0976[_0x19042e(0x2f5,'\x5d\x5a\x30\x68')])),{'\x73\x63\x68\x65\x6d\x61\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x2a1134,'\x65\x76\x65\x6e\x74\x5f\x74\x79\x70\x65':_0x19042e(0x25a,'\x5d\x6e\x56\x7a')+_0x19042e(0x1ef,'\x49\x50\x45\x66'),'\x70\x75\x72\x70\x6f\x73\x65':_0x1b0976[_0x19042e(0x245,'\x63\x71\x31\x30')],'\x70\x69\x69\x5f\x63\x6c\x61\x73\x73':_0x1b0976['\x6d\x76\x77\x75\x5a'],'\x63\x6f\x6e\x73\x65\x6e\x74\x5f\x6c\x65\x76\x65\x6c':_0x19042e(0x215,'\x5a\x37\x66\x33'),'\x72\x65\x74\x65\x6e\x74\x69\x6f\x6e\x5f\x74\x74\x6c\x5f\x64\x61\x79\x73':_0x38e837(_0x143357),'\x70\x6f\x6c\x69\x63\x79\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x143357[_0x19042e(0x337,'\x37\x4b\x55\x49')+_0x19042e(0x299,'\x2a\x5a\x56\x47')+_0x19042e(0x295,'\x4b\x25\x26\x26')+_0x19042e(0x26a,'\x30\x51\x23\x42')+'\x4e']||_0x19042e(0x2ff,'\x73\x41\x34\x7a')+_0x19042e(0x1bc,'\x2a\x5a\x56\x47'),'\x72\x65\x64\x61\x63\x74\x69\x6f\x6e\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x4d065b,'\x73\x6f\x75\x72\x63\x65':_0x153a7a[_0x19042e(0x1c8,'\x28\x47\x4a\x2a')]||_0x19042e(0x21d,'\x75\x44\x24\x49')+_0x19042e(0x1ce,'\x65\x4f\x6f\x72'),'\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x5f\x61\x74':_0x1b0976[_0x19042e(0x2d8,'\x75\x44\x24\x49')](_0x1d783e,_0x153a7a[_0x19042e(0x26c,'\x74\x72\x51\x37')]),'\x73\x6f\x75\x72\x63\x65\x5f\x63\x6f\x6e\x66\x69\x64\x65\x6e\x63\x65':{'\x6e\x6f\x64\x65\x5f\x69\x64\x65\x6e\x74\x69\x74\x79':_0x1b0976[_0x19042e(0x248,'\x4f\x26\x71\x56')],'\x64\x65\x76\x69\x63\x65\x5f\x69\x6e\x74\x65\x67\x72\x69\x74\x79':_0x1b0976[_0x19042e(0x2fb,'\x6a\x4c\x32\x68')],'\x74\x61\x73\x6b\x5f\x6d\x65\x74\x72\x69\x63\x73':_0x1b0976['\x55\x66\x67\x79\x6f'],'\x6e\x65\x74\x77\x6f\x72\x6b\x5f\x73\x6f\x75\x72\x63\x65':_0x1b0976[_0x19042e(0x1be,'\x63\x41\x37\x26')],'\x61\x63\x63\x6f\x75\x6e\x74\x5f\x73\x65\x63\x75\x72\x69\x74\x79':'\x73\x65\x72\x76\x65\x72\x5f\x6f'+_0x19042e(0x274,'\x4f\x4b\x4d\x72')+_0x19042e(0x1d8,'\x4b\x25\x26\x26'),'\x70\x61\x79\x6f\x75\x74':_0x1b0976[_0x19042e(0x27e,'\x78\x69\x43\x66')],'\x72\x69\x73\x6b\x5f\x64\x65\x63\x69\x73\x69\x6f\x6e':_0x19042e(0x2f9,'\x4f\x4b\x4d\x72')+_0x19042e(0x2e4,'\x70\x4a\x50\x75')+_0x19042e(0x2f8,'\x6b\x6b\x66\x4a')},'\x69\x64\x65\x6e\x74\x69\x74\x79':{'\x6e\x6f\x64\x65\x5f\x69\x64':_0x153a7a['\x6e\x6f\x64\x65\x49\x64']||null,'\x61\x63\x63\x6f\x75\x6e\x74\x5f\x69\x64':null,'\x6f\x72\x67\x5f\x69\x64':null},'\x64\x65\x76\x69\x63\x65':{'\x64\x65\x76\x69\x63\x65\x5f\x70\x73\x65\x75\x64\x6f\x6e\x79\x6d':_0x4d0bf7,'\x77\x6f\x72\x6b\x73\x70\x61\x63\x65\x5f\x70\x73\x65\x75\x64\x6f\x6e\x79\x6d':_0x4c34a8,'\x70\x73\x65\x75\x64\x6f\x6e\x79\x6d\x5f\x73\x61\x6c\x74\x5f\x69\x64':_0x337640,'\x65\x6e\x76\x5f\x66\x69\x6e\x67\x65\x72\x70\x72\x69\x6e\x74\x5f\x6b\x65\x79':_0x1b0976[_0x19042e(0x2b4,'\x49\x50\x45\x66')](_0x5665d6,_0x3c8b6e),'\x70\x6c\x61\x74\x66\x6f\x72\x6d':_0x3c8b6e[_0x19042e(0x1c7,'\x59\x51\x75\x74')]||null,'\x61\x72\x63\x68':_0x3c8b6e[_0x19042e(0x1f3,'\x24\x53\x35\x24')]||null,'\x6f\x73\x5f\x72\x65\x6c\x65\x61\x73\x65':_0x3c8b6e[_0x19042e(0x21c,'\x6a\x4c\x32\x68')+'\x73\x65']||null,'\x6e\x6f\x64\x65\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x3c8b6e[_0x19042e(0x2b2,'\x25\x42\x61\x6e')+_0x19042e(0x306,'\x6b\x6b\x66\x4a')]||null,'\x65\x76\x6f\x6c\x76\x65\x72\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x3c8b6e[_0x19042e(0x261,'\x70\x4a\x50\x75')+_0x19042e(0x345,'\x75\x44\x24\x49')]||null,'\x63\x6c\x69\x65\x6e\x74':_0x3c8b6e[_0x19042e(0x28a,'\x6b\x6e\x4b\x4e')]||null,'\x63\x6c\x69\x65\x6e\x74\x5f\x76\x65\x72\x73\x69\x6f\x6e':_0x3c8b6e[_0x19042e(0x270,'\x37\x4b\x55\x49')+_0x19042e(0x238,'\x23\x75\x6f\x71')]||null,'\x6d\x6f\x64\x65\x6c':_0x3c8b6e[_0x19042e(0x284,'\x55\x56\x59\x71')]||null,'\x72\x65\x67\x69\x6f\x6e':_0x3c8b6e[_0x19042e(0x222,'\x6e\x76\x6b\x69')]||null,'\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72':!!_0x3c8b6e['\x63\x6f\x6e\x74\x61\x69\x6e\x65'+'\x72']},'\x69\x6e\x74\x65\x67\x72\x69\x74\x79':_0x2657de(_0x3bfb1c),'\x6c\x6f\x63\x61\x6c\x5f\x73\x65\x63\x75\x72\x69\x74\x79\x5f\x62\x6f\x75\x6e\x64\x61\x72\x79':{'\x70\x72\x6f\x78\x79\x5f\x62\x69\x6e\x64\x5f\x61\x64\x64\x72\x65\x73\x73\x5f\x63\x6c\x61\x73\x73':_0x1b0976[_0x19042e(0x243,'\x32\x71\x4a\x6c')],'\x70\x72\x6f\x78\x79\x5f\x70\x6f\x72\x74\x5f\x63\x6f\x6e\x66\x69\x67\x75\x72\x65\x64':_0x1b0976[_0x19042e(0x1d4,'\x5a\x37\x66\x33')](_0x153a7a[_0x19042e(0x32f,'\x25\x5a\x72\x40')+_0x19042e(0x212,'\x75\x44\x24\x49')+_0x19042e(0x1f6,'\x4e\x59\x5d\x52')],null)?!!_0x153a7a[_0x19042e(0x2e2,'\x46\x42\x7a\x70')+_0x19042e(0x309,'\x46\x77\x4d\x2a')+_0x19042e(0x210,'\x43\x65\x4d\x24')]:_0x4a2779(_0x143357[_0x19042e(0x22d,'\x70\x4a\x50\x75')+'\x52\x4f\x58\x59'])||!!_0x143357[_0x19042e(0x1da,'\x6b\x42\x24\x6d')+_0x19042e(0x25d,'\x70\x4a\x50\x75')+'\x54'],'\x73\x65\x74\x74\x69\x6e\x67\x73\x5f\x70\x65\x72\x6d\x69\x73\x73\x69\x6f\x6e\x5f\x63\x6c\x61\x73\x73':_0x1b0976[_0x19042e(0x1bf,'\x21\x57\x51\x64')](_0x2acb23,_0x143357)},'\x74\x61\x73\x6b\x5f\x74\x69\x6d\x69\x6e\x67':_0x1b0976[_0x19042e(0x202,'\x25\x5a\x72\x40')](_0x12afaa,_0x153a7a[_0x19042e(0x1f9,'\x4f\x4b\x4d\x72')]),'\x75\x6e\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x5f\x66\x69\x65\x6c\x64\x73':_0x29dffe};}const _0x40fe0c={};_0x40fe0c['\x53\x43\x48\x45\x4d\x41\x5f\x56'+_0x21ae84(0x200,'\x6c\x57\x62\x56')]=_0x2a1134,_0x40fe0c[_0x21ae84(0x326,'\x2a\x5a\x56\x47')+_0x21ae84(0x25b,'\x6b\x42\x24\x6d')+'\x4e']=_0x4d065b,_0x40fe0c['\x62\x75\x69\x6c\x64\x48\x65\x61'+'\x72\x74\x62\x65\x61\x74\x41\x6e'+_0x21ae84(0x267,'\x6e\x76\x6b\x69')+_0x21ae84(0x1d7,'\x32\x71\x4a\x6c')]=_0x283dcd,_0x40fe0c[_0x21ae84(0x2b7,'\x57\x26\x66\x4a')+_0x21ae84(0x2a7,'\x33\x76\x49\x63')+_0x21ae84(0x285,'\x57\x26\x66\x4a')]=_0x2657de,_0x40fe0c[_0x21ae84(0x246,'\x55\x56\x59\x71')+_0x21ae84(0x348,'\x6c\x57\x62\x56')]=_0x114149,module[_0x21ae84(0x342,'\x4e\x59\x5d\x52')]=_0x40fe0c;
@@ -4,6 +4,7 @@ const { getGepAssetsDir, getBundledGepAssetsDir, getRepoRoot, getSessionScope }
4
4
  const { computeAssetId, SCHEMA_VERSION } = require('./contentHash');
5
5
  const { validateGene } = require('./schemas/gene');
6
6
  const { validateCapsule } = require('./schemas/capsule');
7
+ const { validateSyncGene } = require('./syncAsset');
7
8
 
8
9
  // Run validateGene/validateCapsule before persisting. Warn-only -- never throw
9
10
  // because losing a write hurts more than persisting a slightly-malformed
@@ -271,6 +272,14 @@ function legacyGepAssetsDir() {
271
272
  return baseDir;
272
273
  }
273
274
 
275
+ function readOnlyRuntimeAssetPath(name) {
276
+ const target = path.join(getGepAssetsDir(), name);
277
+ if (fs.existsSync(target) || process.env.GEP_ASSETS_DIR) return target;
278
+ const legacy = path.join(legacyGepAssetsDir(), name);
279
+ if (path.resolve(target) !== path.resolve(legacy) && fs.existsSync(legacy)) return legacy;
280
+ return target;
281
+ }
282
+
274
283
  function migrateLegacyRuntimeAssets() {
275
284
  if (process.env.GEP_ASSETS_DIR) return;
276
285
  const targetDir = getGepAssetsDir();
@@ -317,13 +326,19 @@ function ensureGenesSeeded() {
317
326
  }
318
327
  }
319
328
 
320
- function loadGenes(opts) {
321
- const options = opts || {};
322
- if (options.seed !== false) ensureGenesSeeded();
323
- const jsonGenes = readJsonIfExists(genesPath(), getDefaultGenes()).genes || [];
329
+ function _loadGenes(options) {
330
+ const readOnly = options && options.readOnly === true;
331
+ const shouldSeed = !options || options.seed !== false;
332
+ if (!readOnly && shouldSeed) ensureGenesSeeded();
333
+ let jsonPath = readOnly ? readOnlyRuntimeAssetPath('genes.json') : genesPath();
334
+ if (readOnly && !fs.existsSync(jsonPath)) {
335
+ const seed = fs.existsSync(genesSeedPath()) ? genesSeedPath() : bundledGenesPath();
336
+ if (fs.existsSync(seed)) jsonPath = seed;
337
+ }
338
+ const jsonGenes = readJsonIfExists(jsonPath, getDefaultGenes()).genes || [];
324
339
  const jsonlGenes = [];
325
340
  try {
326
- const p = path.join(getGepAssetsDir(), 'genes.jsonl');
341
+ const p = readOnly ? readOnlyRuntimeAssetPath('genes.jsonl') : path.join(getGepAssetsDir(), 'genes.jsonl');
327
342
  if (fs.existsSync(p)) {
328
343
  const raw = fs.readFileSync(p, 'utf8');
329
344
  raw.split('\n').forEach(line => {
@@ -355,11 +370,21 @@ function loadGenes(opts) {
355
370
  return Array.from(unique.values());
356
371
  }
357
372
 
358
- function loadCapsules() {
359
- const legacy = readJsonIfExists(capsulesPath(), getDefaultCapsules()).capsules || [];
373
+ function loadGenes(options) {
374
+ return _loadGenes({ readOnly: false, seed: !options || options.seed !== false });
375
+ }
376
+
377
+ function loadGenesReadOnly() {
378
+ return _loadGenes({ readOnly: true });
379
+ }
380
+
381
+ function _loadCapsules(options) {
382
+ const readOnly = options && options.readOnly === true;
383
+ const jsonPath = readOnly ? readOnlyRuntimeAssetPath('capsules.json') : capsulesPath();
384
+ const legacy = readJsonIfExists(jsonPath, getDefaultCapsules()).capsules || [];
360
385
  const jsonlCapsules = [];
361
386
  try {
362
- const p = capsulesJsonlPath();
387
+ const p = readOnly ? readOnlyRuntimeAssetPath('capsules.jsonl') : capsulesJsonlPath();
363
388
  if (fs.existsSync(p)) {
364
389
  const raw = fs.readFileSync(p, 'utf8');
365
390
  raw.split('\n').forEach(line => {
@@ -381,6 +406,14 @@ function loadCapsules() {
381
406
  return Array.from(unique.values());
382
407
  }
383
408
 
409
+ function loadCapsules() {
410
+ return _loadCapsules({ readOnly: false });
411
+ }
412
+
413
+ function loadCapsulesReadOnly() {
414
+ return _loadCapsules({ readOnly: true });
415
+ }
416
+
384
417
  // Grow the tail chunk until it strictly contains the final newline-terminated
385
418
  // line, then JSON.parse it. A single event embeds the full ValidationReport
386
419
  // (up to ~4000 chars stdout + ~4000 chars stderr per command, plus blast
@@ -613,8 +646,8 @@ function recomputeAssetId(obj) {
613
646
  return obj;
614
647
  }
615
648
 
616
- function upsertGene(geneObj) {
617
- _validateAssetWarn('Gene', validateGene, geneObj);
649
+ function _upsertGene(geneObj, validatorFn) {
650
+ _validateAssetWarn('Gene', validatorFn, geneObj);
618
651
  ensureSchemaFields(geneObj);
619
652
  recomputeAssetId(geneObj);
620
653
  ensureGenesSeeded();
@@ -627,6 +660,17 @@ function upsertGene(geneObj) {
627
660
  });
628
661
  }
629
662
 
663
+ function upsertGene(geneObj) {
664
+ return _upsertGene(geneObj, validateGene);
665
+ }
666
+
667
+ // Hub sync payloads are prepared and validated by syncAsset.js. Keep that
668
+ // compatibility validator on this dedicated write path so Hub-only categories
669
+ // never weaken or produce warnings in the standard Gene persistence path.
670
+ function upsertSyncedGene(geneObj) {
671
+ return _upsertGene(geneObj, validateSyncGene);
672
+ }
673
+
630
674
  function appendCapsule(capsuleObj) {
631
675
  _validateAssetWarn('Capsule', validateCapsule, capsuleObj);
632
676
  ensureSchemaFields(capsuleObj);
@@ -710,10 +754,10 @@ function ensureAssetFiles() {
710
754
  }
711
755
 
712
756
  module.exports = {
713
- loadGenes, loadCapsules, readAllEvents, getLastEventId,
757
+ loadGenes, loadGenesReadOnly, loadCapsules, loadCapsulesReadOnly, readAllEvents, getLastEventId,
714
758
  appendEventJsonl, appendCandidateJsonl, appendExternalCandidateJsonl,
715
759
  readRecentCandidates, readRecentExternalCandidates,
716
- upsertGene, appendCapsule, upsertCapsule,
760
+ upsertGene, upsertSyncedGene, appendCapsule, upsertCapsule,
717
761
  appendFailedCapsule, readRecentFailedCapsules,
718
762
  genesPath, capsulesPath, eventsPath, candidatesPath, externalCandidatesPath, failedCapsulesPath,
719
763
  pendingSignalsPath, consumePendingSignals,