@ai-jshook/mcp 0.1.4 → 0.1.6
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/.env.example +36 -34
- package/.npm-cache/_cacache/content-v2/sha512/1e/d1/168b583afafd2ea61626a6a093168f62ac229c5dd33fc684ded516523e88516bd8534281cda479883b2fe15aacf54d1ed53d6797cd5f20077afb2d945e0e +1 -0
- package/.npm-cache/_cacache/content-v2/sha512/91/7d/40cd5c038ce53f2b06fc56228a9edeb6b230422345ce4bef406bcfd02a7cafd9c9ee5c2b5b847dbfea4aa613a5bce2e627a1d49da3a384778dfb449a5556 +1 -0
- package/.npm-cache/_cacache/index-v5/15/d9/194d43eab35f6c6ae53f97fdefb37d458017cbde3674961cf93f341001ad +2 -0
- package/.npm-cache/_cacache/index-v5/9a/5d/18b734f038b4b4e0f36a1c1d9c852b951409916ab3205e88ac3cab28e02b +2 -0
- package/.npm-cache/_update-notifier-last-checked +0 -0
- package/README.md +11 -11
- package/dist/modules/collector/CodeCollector.d.ts.map +1 -1
- package/dist/modules/collector/CodeCollector.js +5 -8
- package/dist/modules/collector/CodeCollector.js.map +1 -1
- package/dist/utils/config.js +2 -2
- package/dist/utils/config.js.map +1 -1
- package/package.json +13 -10
- package/server.json +10 -7
package/.env.example
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
|
-
# OpenAI API配置
|
|
2
|
-
OPENAI_API_KEY=your-openai-api-key-here
|
|
3
|
-
OPENAI_MODEL=gpt-4-turbo-preview
|
|
4
|
-
OPENAI_BASE_URL=https://api.openai.com/v1
|
|
5
|
-
|
|
6
|
-
# Anthropic API配置
|
|
7
|
-
ANTHROPIC_API_KEY=your-anthropic-api-key-here
|
|
8
|
-
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022
|
|
9
|
-
|
|
10
|
-
# 默认使用的LLM
|
|
11
|
-
DEFAULT_LLM_PROVIDER=openai
|
|
12
|
-
|
|
13
|
-
# Puppeteer配置
|
|
14
|
-
PUPPETEER_HEADLESS=true
|
|
15
|
-
PUPPETEER_TIMEOUT=30000
|
|
16
|
-
|
|
17
|
-
# MCP
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
# OpenAI API配置
|
|
2
|
+
OPENAI_API_KEY=your-openai-api-key-here
|
|
3
|
+
OPENAI_MODEL=gpt-4-turbo-preview
|
|
4
|
+
OPENAI_BASE_URL=https://api.openai.com/v1
|
|
5
|
+
|
|
6
|
+
# Anthropic API配置
|
|
7
|
+
ANTHROPIC_API_KEY=your-anthropic-api-key-here
|
|
8
|
+
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022
|
|
9
|
+
|
|
10
|
+
# 默认使用的LLM提供商 (openai | anthropic)
|
|
11
|
+
DEFAULT_LLM_PROVIDER=openai
|
|
12
|
+
|
|
13
|
+
# Puppeteer配置
|
|
14
|
+
PUPPETEER_HEADLESS=true
|
|
15
|
+
PUPPETEER_TIMEOUT=30000
|
|
16
|
+
|
|
17
|
+
# MCP服务器配置
|
|
18
|
+
MCP_SERVER_NAME=jshook-reverse-tool
|
|
19
|
+
MCP_SERVER_VERSION=0.1.0
|
|
20
|
+
|
|
21
|
+
# 日志配置
|
|
22
|
+
LOG_LEVEL=info
|
|
23
|
+
LOG_FILE=logs/jshook.log
|
|
24
|
+
|
|
25
|
+
# 缓存配置
|
|
26
|
+
ENABLE_CACHE=true
|
|
27
|
+
CACHE_DIR=.cache
|
|
28
|
+
CACHE_TTL=3600
|
|
29
|
+
|
|
30
|
+
# 性能配置
|
|
31
|
+
MAX_CONCURRENT_ANALYSIS=3
|
|
32
|
+
MAX_CODE_SIZE_MB=10
|
|
33
|
+
|
|
34
|
+
# 验证码检测配置
|
|
35
|
+
CAPTCHA_SCREENSHOT_DIR=./screenshots
|
|
36
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"_id":"@ai-jshook/mcp","_rev":"5-586ef3216df888d8bc7111e8d28cbc67","name":"@ai-jshook/mcp","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.1":{"name":"@ai-jshook/mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","javascript","reverse-engineering","hook","hooking","deobfuscation","ai","claude","puppeteer","chrome-devtools","debugger","web-scraping","anti-detection","captcha","browser-automation","network-monitoring","ast","obfuscation","cryptography-detection","code-analysis"],"author":{"url":"https://github.com/715494637","name":"op要喝op果奶"},"license":"MIT","_id":"@ai-jshook/mcp@0.1.1","maintainers":[{"name":"opooo1830","email":"dypbing2@outlook.com"}],"homepage":"https://github.com/715494637/jshook-reverse-tool#readme","bugs":{"url":"https://github.com/715494637/jshook-reverse-tool/issues"},"bin":{"ai-jshook-mcp":"dist/index.js"},"dist":{"shasum":"e10fc99a8ba69e1c1ea79485bfd3aac81fac0039","tarball":"https://registry.npmjs.org/@ai-jshook/mcp/-/mcp-0.1.1.tgz","fileCount":271,"integrity":"sha512-oUtQFgn2UCSdJezXK7E21U7t1L/+JcVxjCMxTyPTAGQHvmLkiqqGcbGQURLOPdJ/3K09bSCVpBo1yeAw8WIPlw==","signatures":[{"sig":"MEYCIQC1pN0QXwYxdnrEMAnzEoWQSxORTO7I0khZ8gDBxe+w4wIhALkap3jM1yGD1xItkkT9Q1413vgPUNsU6s2z3ZwmnAcg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2155823},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"bcf27c5fe3fcc51258d95b9c6109e4fac42167ff","mcpName":"io.github.715494637/ai-jshook","scripts":{"dev":"tsx watch src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"tsc","check":"npm run lint && npm run build && npm run verify","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","verify":"tsx scripts/verify-modules.ts","package":"npm run build && npm pack","test:watch":"jest --watch","verify:build":"npm run build && npm run verify","test:integration":"jest tests/integration"},"_npmUser":{"name":"opooo1830","email":"dypbing2@outlook.com"},"repository":{"url":"git+https://github.com/715494637/jshook-reverse-tool.git","type":"git"},"_npmVersion":"10.9.3","description":"AI-powered JavaScript reverse engineering tool with 80+ MCP tools for browser automation, debugging, network monitoring, and intelligent hooking","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ora":"^8.1.1","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^4.73.0","commander":"^12.1.0","puppeteer":"^23.10.4","@babel/types":"^7.26.3","@babel/parser":"^7.26.3","@babel/traverse":"^7.26.5","puppeteer-extra":"^3.3.6","@babel/generator":"^7.26.5","@anthropic-ai/sdk":"^0.32.1","@modelcontextprotocol/sdk":"^1.0.4","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","jest":"^29.7.0","eslint":"^9.17.0","nodemon":"^3.1.9","ts-jest":"^29.2.5","prettier":"^3.4.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.1_1770052408283_0.5220915907496415","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ai-jshook/mcp","version":"0.1.2","keywords":["mcp","model-context-protocol","javascript","reverse-engineering","hook","hooking","deobfuscation","ai","claude","puppeteer","chrome-devtools","debugger","web-scraping","anti-detection","captcha","browser-automation","network-monitoring","ast","obfuscation","cryptography-detection","code-analysis"],"author":{"url":"https://github.com/wuji1","name":"wuji1"},"license":"MIT","_id":"@ai-jshook/mcp@0.1.2","maintainers":[{"name":"opooo1830","email":"dypbing2@outlook.com"}],"homepage":"https://github.com/wuji1/jshook-reverse-tool#readme","bugs":{"url":"https://github.com/wuji1/jshook-reverse-tool/issues"},"bin":{"ai-jshook-mcp":"dist/index.js"},"dist":{"shasum":"20fcf33691ea0e4aacdd07c1678dabd83934fb24","tarball":"https://registry.npmjs.org/@ai-jshook/mcp/-/mcp-0.1.2.tgz","fileCount":269,"integrity":"sha512-Az9O83hyLbat/q52HoDMUdY68a324mapSqTaENChJhTZlY86jZDgF+oRLwFOx8CMoIjZx7nQ7UO3lkdlaSCFHA==","signatures":[{"sig":"MEYCIQDoTd6/ErENS5NjYtbNgARmJGljKvqarliyqlMegKPnUAIhAJCFHY2YXBk1YikYdhlsFkFipHHWVd9XQCFcyq/4dMrw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1980608},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"mcpName":"io.github.wuji1/jshook-reverse-tool","scripts":{"dev":"tsx watch src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"node ./node_modules/typescript/bin/tsc","check":"npm run lint && npm run build && npm run verify","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","verify":"tsx scripts/verify-modules.ts","package":"npm run build && npm pack","prepare":"npm run build","test:watch":"jest --watch","verify:build":"npm run build && npm run verify","prepublishOnly":"npm run build","test:integration":"jest tests/integration"},"_npmUser":{"name":"opooo1830","email":"dypbing2@outlook.com"},"repository":{"url":"git+https://github.com/wuji1/jshook-reverse-tool.git","type":"git"},"_npmVersion":"10.9.3","description":"AI-powered JavaScript reverse engineering tool with 80+ MCP tools for browser automation, debugging, network monitoring, and intelligent hooking","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ora":"^8.1.1","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^4.73.0","commander":"^12.1.0","puppeteer":"^23.10.4","@babel/types":"^7.26.3","@babel/parser":"^7.26.3","@babel/traverse":"^7.26.5","puppeteer-extra":"^3.3.6","@babel/generator":"^7.26.5","@anthropic-ai/sdk":"^0.32.1","@modelcontextprotocol/sdk":"^1.0.4","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","jest":"^29.7.0","eslint":"^9.17.0","nodemon":"^3.1.9","ts-jest":"^29.2.5","prettier":"^3.4.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.2_1772120997684_0.26648400528341765","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ai-jshook/mcp","version":"0.1.3","keywords":["mcp","model-context-protocol","javascript","reverse-engineering","hook","hooking","deobfuscation","ai","claude","puppeteer","chrome-devtools","debugger","web-scraping","anti-detection","captcha","browser-automation","network-monitoring","ast","obfuscation","cryptography-detection","code-analysis"],"author":{"url":"https://www.npmjs.com/~opooo1830","name":"opooo1830"},"license":"MIT","_id":"@ai-jshook/mcp@0.1.3","maintainers":[{"name":"opooo1830","email":"dypbing2@outlook.com"}],"homepage":"https://github.com/715494637/jshook-reverse-tool#readme","bugs":{"url":"https://github.com/715494637/jshook-reverse-tool/issues"},"bin":{"ai-jshook-mcp":"dist/index.js"},"dist":{"shasum":"5a4e9c7f0296804078d6fbb21aa009c6bf52528f","tarball":"https://registry.npmjs.org/@ai-jshook/mcp/-/mcp-0.1.3.tgz","fileCount":269,"integrity":"sha512-Pbs4os9JX4g5WaS6ihSRa8c3ZUp5GRjrJp6v3KMd4fQqZtjeXxkvp/8+Sdsg2BGuEf6lgMbbC9Exq0RCvgzGPg==","signatures":[{"sig":"MEYCIQDs1ACf5yX/fr6NQA9heTuQsJ73F/lU4tRQddYul6EnlAIhANJutusmyf0N2kJZ3JuSVs4SE8t7dDmhlv3qUfDAiKVh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1980351},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"mcpName":"io.github.ai-jshook.mcp","scripts":{"dev":"tsx watch src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"node ./node_modules/typescript/bin/tsc","check":"npm run lint && npm run build && npm run verify","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","verify":"tsx scripts/verify-modules.ts","package":"npm run build && npm pack","prepare":"npm run build","test:watch":"jest --watch","verify:build":"npm run build && npm run verify","prepublishOnly":"npm run build","test:integration":"jest tests/integration"},"_npmUser":{"name":"opooo1830","email":"dypbing2@outlook.com"},"repository":{"url":"git+https://github.com/715494637/jshook-reverse-tool.git","type":"git"},"_npmVersion":"10.9.3","description":"AI-powered JavaScript reverse engineering tool with 80+ MCP tools for browser automation, debugging, network monitoring, and intelligent hooking","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ora":"^8.1.1","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^4.73.0","commander":"^12.1.0","puppeteer":"^23.10.4","@babel/types":"^7.26.3","@babel/parser":"^7.26.3","@babel/traverse":"^7.26.5","puppeteer-extra":"^3.3.6","@babel/generator":"^7.26.5","@anthropic-ai/sdk":"^0.32.1","@modelcontextprotocol/sdk":"^1.0.4","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","jest":"^29.7.0","eslint":"^9.17.0","nodemon":"^3.1.9","ts-jest":"^29.2.5","prettier":"^3.4.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.3_1772121329947_0.7653262708012505","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ai-jshook/mcp","version":"0.1.4","keywords":["mcp","model-context-protocol","javascript","reverse-engineering","hook","hooking","deobfuscation","ai","claude","puppeteer","chrome-devtools","debugger","web-scraping","anti-detection","captcha","browser-automation","network-monitoring","ast","obfuscation","cryptography-detection","code-analysis"],"author":{"url":"https://www.npmjs.com/~opooo1830","name":"opooo1830"},"license":"MIT","_id":"@ai-jshook/mcp@0.1.4","maintainers":[{"name":"opooo1830","email":"dypbing2@outlook.com"}],"homepage":"https://github.com/715494637/jshook-reverse-tool#readme","bugs":{"url":"https://github.com/715494637/jshook-reverse-tool/issues"},"bin":{"ai-jshook-mcp":"dist/index.js"},"dist":{"shasum":"1159098f9eeb298762522d075e71bac37280e983","tarball":"https://registry.npmjs.org/@ai-jshook/mcp/-/mcp-0.1.4.tgz","fileCount":269,"integrity":"sha512-WbEVKf1bxk+tgUo543jKpbRdsqk6/CZWbxNnnMqpilQPYeyfPLw8dMaAKyDnp8xNT88M1RTL5EM4aTEc8Ha5WA==","signatures":[{"sig":"MEYCIQDSZe5n0KzGuBvYOp+sSh2R3iQMzK/zXwe+PpHx6pDKGAIhAP6upoC5ifhG3AYK85ecAX56Pl73dkdmzkxCR77ge2qy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1976777},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"5e6c46e08d008405facfe05420faf614aa3c7470","mcpName":"io.github.ai-jshook.mcp","scripts":{"dev":"tsx watch src/index.ts","lint":"eslint src --ext .ts","test":"jest","build":"node ./node_modules/typescript/lib/tsc.js","check":"npm run lint && npm run build && npm run verify","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","verify":"tsx scripts/verify-modules.ts","package":"npm run build && npm pack","prepare":"npm run build","test:watch":"jest --watch","verify:build":"npm run build && npm run verify","prepublishOnly":"npm run build","test:integration":"jest tests/integration"},"_npmUser":{"name":"opooo1830","email":"dypbing2@outlook.com"},"repository":{"url":"git+https://github.com/715494637/jshook-reverse-tool.git","type":"git"},"_npmVersion":"10.9.3","description":"AI-powered JavaScript reverse engineering tool with 80+ MCP tools for browser automation, debugging, network monitoring, and intelligent hooking","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ora":"^8.1.1","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^4.73.0","commander":"^12.1.0","puppeteer":"^23.10.4","@babel/types":"^7.26.3","@babel/parser":"^7.26.3","@babel/traverse":"^7.26.5","puppeteer-extra":"^3.3.6","@babel/generator":"^7.26.5","@anthropic-ai/sdk":"^0.32.1","@modelcontextprotocol/sdk":"^1.0.4","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","jest":"^29.7.0","eslint":"^9.17.0","nodemon":"^3.1.9","ts-jest":"^29.2.5","prettier":"^3.4.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.4_1772279722300_0.10094111033585573","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ai-jshook/mcp","version":"0.1.5","description":"AI-powered JavaScript reverse engineering tool with 80+ MCP tools for browser automation, debugging, network monitoring, and intelligent hooking","mcpName":"io.github.ai-jshook.mcp","main":"dist/index.js","type":"module","bin":{"ai-jshook-mcp":"dist/index.js"},"repository":{"type":"git","url":"git+https://github.com/715494637/jshook-reverse-tool.git"},"bugs":{"url":"https://github.com/715494637/jshook-reverse-tool/issues"},"homepage":"https://github.com/715494637/jshook-reverse-tool#readme","scripts":{"build":"node ./node_modules/typescript/lib/tsc.js","dev":"tsx watch src/index.ts","start":"node dist/index.js","test":"jest","test:integration":"jest tests/integration","test:watch":"jest --watch","verify":"tsx scripts/verify-modules.ts","verify:build":"npm run build && npm run verify","lint":"eslint src --ext .ts","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","check":"npm run lint && npm run build && npm run verify","package":"npm run build && npm pack","prepublishOnly":"npm run build"},"keywords":["mcp","model-context-protocol","javascript","reverse-engineering","hook","hooking","deobfuscation","ai","claude","puppeteer","chrome-devtools","debugger","web-scraping","anti-detection","captcha","browser-automation","network-monitoring","ast","obfuscation","cryptography-detection","code-analysis"],"author":{"name":"opooo1830","url":"https://www.npmjs.com/~opooo1830"},"license":"MIT","dependencies":{"@anthropic-ai/sdk":"^0.32.1","@babel/generator":"^7.26.5","@babel/parser":"^7.26.3","@babel/traverse":"^7.26.5","@babel/types":"^7.26.3","@modelcontextprotocol/sdk":"^1.0.4","chalk":"^5.4.1","commander":"^12.1.0","dotenv":"^16.4.7","openai":"^4.73.0","ora":"^8.1.1","puppeteer":"^23.10.4","puppeteer-extra":"^3.3.6","puppeteer-extra-plugin-user-preferences":"^2.4.1","puppeteer-extra-plugin-stealth":"^2.11.2"},"devDependencies":{"@types/babel__generator":"^7.6.8","@types/babel__traverse":"^7.20.6","@types/jest":"^29.5.14","@types/node":"^22.10.2","@typescript-eslint/eslint-plugin":"^8.19.1","@typescript-eslint/parser":"^8.19.1","eslint":"^9.17.0","jest":"^29.7.0","nodemon":"^3.1.9","prettier":"^3.4.2","ts-jest":"^29.2.5","tsx":"^4.20.6","typescript":"^5.7.2"},"engines":{"node":">=18.0.0"},"types":"./dist/index.d.ts","_id":"@ai-jshook/mcp@0.1.5","gitHead":"5e6c46e08d008405facfe05420faf614aa3c7470","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-NmzU5cHjOEg8AuRZ+3kWm/gr0mK0TnVTiSXQyYfcP0FvFkv4h75tzCoDm/my5q6OdZSHglhHwh6GcXldzbd2GQ==","shasum":"93c99d68c797e747c5b0bb31c132d1eb48e53396","tarball":"https://registry.npmjs.org/@ai-jshook/mcp/-/mcp-0.1.5.tgz","fileCount":269,"unpackedSize":1976838,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDLZZ9Av8qymcZgIJFaG3X06ZGvovUfODil9MSPmgzbwAIgJDoJw3ZF2IiERRwqEoE5rMptctqBdMsDCOFXyVwF4Sk="}]},"_npmUser":{"name":"opooo1830","email":"dypbing2@outlook.com"},"directories":{},"maintainers":[{"name":"opooo1830","email":"dypbing2@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.1.5_1772282816766_0.6603868553255527"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-02T17:13:28.175Z","modified":"2026-02-28T12:46:57.141Z","0.1.1":"2026-02-02T17:13:28.497Z","0.1.2":"2026-02-26T15:49:57.895Z","0.1.3":"2026-02-26T15:55:30.336Z","0.1.4":"2026-02-28T11:55:22.488Z","0.1.5":"2026-02-28T12:46:57.015Z"},"bugs":{"url":"https://github.com/715494637/jshook-reverse-tool/issues"},"author":{"name":"opooo1830","url":"https://www.npmjs.com/~opooo1830"},"license":"MIT","homepage":"https://github.com/715494637/jshook-reverse-tool#readme","keywords":["mcp","model-context-protocol","javascript","reverse-engineering","hook","hooking","deobfuscation","ai","claude","puppeteer","chrome-devtools","debugger","web-scraping","anti-detection","captcha","browser-automation","network-monitoring","ast","obfuscation","cryptography-detection","code-analysis"],"repository":{"type":"git","url":"git+https://github.com/715494637/jshook-reverse-tool.git"},"description":"AI-powered JavaScript reverse engineering tool with 80+ MCP tools for browser automation, debugging, network monitoring, and intelligent hooking","maintainers":[{"name":"opooo1830","email":"dypbing2@outlook.com"}],"readme":"# JSHook Reverse Tool\n\n<div align=\"center\">\n\n** AI-Powered JavaScript Reverse Engineering Tool**\n\n让 AI 助手成为你的浏览器逆向专家 | Let AI be your browser reverse engineering expert\n\n[](https://www.npmjs.com/package/@ai-jshook/mcp)\n[](https://www.npmjs.com/package/@ai-jshook/mcp)\n[](https://registry.modelcontextprotocol.io/servers/io.github.ai-jshook.mcp)\n[](https://opensource.org/licenses/MIT)\n[](https://nodejs.org/)\n[](https://www.typescriptlang.org/)\n[](https://modelcontextprotocol.io/)\n\n[快速开始](#快速开始) • [核心功能](#核心功能) • [使用场景](#使用场景) • [文档](#文档)\n\n</div>\n\n---\n\n## ⚡ 一键安装\n\n### 从 npm 安装\n\n```bash\n# 使用 npx(无需安装)\nnpx -y @ai-jshook/mcp\n\n# 或全局安装\nnpm install -g @ai-jshook/mcp\n```\n\n### 从 MCP Registry 安装(推荐)\n\n本工具已发布到 [MCP 官方注册表](https://registry.modelcontextprotocol.io/servers/io.github.ai-jshook.mcp),支持 Claude Desktop 等 MCP 客户端直接发现和安装。\n\n在支持 MCP Registry 的客户端中搜索 `ai-jshook-mcp` 即可找到并安装。\n\n配置 Claude Desktop 后即可使用 80+ 专业逆向工具 → [查看配置教程](#快速开始)\n\n---\n\n## 什么是 JSHook?\n\nJSHook 是一个基于 **MCP (Model Context Protocol)** 的 JavaScript 逆向工程工具,通过 **80+ 个专业工具**,让 Claude、ChatGPT 等 AI 助手能够自动化完成复杂的网页分析、调试和逆向任务。\n\n### 为什么选择 JSHook?\n\n- **AI 原生设计** - 专为 AI 助手优化,自然语言即可操作\n- **反检测能力** - 集成 2024-2025 最新反爬虫技术\n- **深度调试** - Chrome DevTools Protocol 完整集成\n- **网络拦截** - 捕获所有 HTTP 请求/响应\n- **智能 Hook** - AI 自动生成 Hook 代码\n- **验证码识别** - AI 视觉识别各类验证码\n\n---\n\n## 核心功能\n\n### 1. 浏览器自动化 (35 个工具)\n\n完整的浏览器控制能力,从页面导航到 DOM 操作,从截图到设备模拟。\n\n```javascript\n// 示例:自动化登录流程\nbrowser_launch()\nstealth_inject() // 注入反检测脚本\npage_navigate(url=\"https://example.com/login\")\npage_type(selector=\"#username\", text=\"user@example.com\")\npage_type(selector=\"#password\", text=\"********\")\npage_click(selector=\"#loginBtn\")\n```\n\n**亮点功能**:\n- ✅ 2024-2025 最新反检测技术(隐藏 webdriver、Canvas指纹处理)\n- ✅ AI 视觉验证码识别(滑块/图形/reCAPTCHA)\n- ✅ 智能等待和自动重试\n- ✅ 移动设备模拟\n\n### 2. 专业调试器 (38 个工具)\n\n基于 Chrome DevTools Protocol,提供 IDE 级别的调试能力。\n\n```javascript\n// 示例:调试加密算法\ndebugger_enable()\n\n// 在所有加密API调用处暂停\nxhr_breakpoint_set(urlPattern=\"*/api/sign*\")\nevent_breakpoint_set(eventName=\"fetch\")\n\n// 监控关键变量\nwatch_add(expression=\"window.crypto_params\", name=\"加密参数\")\n\n// 等待断点命中\ndebugger_wait_for_paused()\nget_call_stack() // 查看调用栈\nwatch_evaluate_all() // 查看所有监控变量\n```\n\n**亮点功能**:\n- ✅ 代码断点、条件断点、异常断点\n- ✅ XHR/Fetch 断点(拦截网络请求)\n- ✅ 事件断点(点击、定时器、WebSocket)\n- ✅ Watch 表达式、调用栈分析\n- ✅ Blackboxing(屏蔽第三方库)\n- ✅ 调试会话保存/加载\n\n### 3. 网络监控 (6 个工具)\n\n捕获和分析所有 HTTP 流量,支持请求过滤和响应解析。\n\n```javascript\n// 示例:分析 API 请求\nnetwork_enable()\npage_navigate(url=\"https://api.example.com\")\n\n// 过滤包含 \"api\" 的请求\nnetwork_get_requests(url=\"api\", method=\"POST\")\n\n// 查看响应体\nnetwork_get_response_body(requestId=\"xxx\")\n\n// 统计分析\nnetwork_get_stats()\n```\n\n**亮点功能**:\n- ✅ 捕获请求头、POST 数据、响应体\n- ✅ 智能过滤(URL、方法、类型)\n- ✅ 统计分析(请求数、失败率、耗时)\n\n### 4. AI Hook 生成器 (7 个工具)\n\n用自然语言描述需求,AI 自动生成专业的 Hook 代码。\n\n```javascript\n// 示例:Hook Fetch API\nai_hook_generate({\n description: \"监控所有 API 请求,记录 URL 和参数\",\n target: { type: \"api\", name: \"fetch\" },\n behavior: {\n captureArgs: true,\n captureReturn: true,\n logToConsole: true\n },\n condition: {\n urlPattern: \".*api.*\"\n }\n})\n\n// 注入 Hook(必须在页面加载前)\nai_hook_inject(hookId=\"fetch-hook\", method=\"evaluateOnNewDocument\")\n\n// 获取捕获的数据\nai_hook_get_data(hookId=\"fetch-hook\")\n```\n\n**支持的 Hook 类型**:\n- 🎯 函数 Hook(`btoa`, `atob`, `eval`)\n- 🎯 API Hook(`fetch`, `XMLHttpRequest`, `WebSocket`)\n- 🎯 对象方法(`crypto.subtle.encrypt`)\n- 🎯 属性拦截、事件监听\n\n### 5. 性能分析 (4 个工具)\n\nWeb Vitals 指标、代码覆盖率、内存快照。\n\n```javascript\nperformance_get_metrics(includeTimeline=true)\nperformance_start_coverage() // 启动覆盖率收集\n// ... 操作页面 ...\nperformance_stop_coverage() // 获取未使用的代码\nperformance_take_heap_snapshot() // 内存分析\n```\n\n### 6. 缓存与预算管理 (6 个工具)\n\n智能管理 Token 预算和缓存,防止上下文溢出。\n\n```javascript\nget_token_budget_stats() // 查看 Token 使用情况\nget_cache_stats() // 查看缓存统计\n\n// Token 使用率 > 80% 时\nmanual_token_cleanup() // 清理 Token\nsmart_cache_cleanup() // 智能清理缓存\n```\n\n---\n\n## 使用场景\n\n### 🔓 网页逆向\n\n- 分析混淆加密的 JavaScript 代码\n- 定位加密算法和签名生成逻辑\n- 提取 API 请求参数\n\n### 🕷️ 爬虫开发\n\n- 突破反爬虫检测(webdriver、Canvas指纹)\n- 自动处理验证码(滑块/图形/reCAPTCHA)\n- 捕获动态加载数据\n\n### 🛡️ 安全测试\n\n- 漏洞挖掘和渗透测试\n- XSS/CSRF 检测\n- API 安全分析\n\n### ⚡ 性能优化\n\n- 识别无用代码(代码覆盖率)\n- 分析加载性能(Web Vitals)\n- 内存泄漏检测\n\n---\n\n## 快速开始\n\n### 环境要求\n\n- **Node.js**: >= 18.0.0\n- **操作系统**: Windows / macOS / Linux\n- **LLM API**: OpenAI 或 Anthropic API Key\n\n### 安装方式\n\n#### 方式一:直接使用 npx(推荐)⭐\n\n无需安装,直接配置即可使用。编辑 Claude Desktop 配置文件 `claude_desktop_config.json`:\n\n```json\n{\n \"mcpServers\": {\n \"jshook\": {\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@ai-jshook/mcp\"],\n \"env\": {\n \"OPENAI_API_KEY\": \"sk-...\",\n \"DEFAULT_LLM_PROVIDER\": \"openai\"\n }\n }\n }\n}\n```\n\n#### 方式二:全局安装\n\n```bash\nnpm install -g @ai-jshook/mcp\n```\n\n配置文件:\n```json\n{\n \"mcpServers\": {\n \"jshook\": {\n \"command\": \"ai-jshook-mcp\",\n \"env\": {\n \"OPENAI_API_KEY\": \"sk-...\",\n \"DEFAULT_LLM_PROVIDER\": \"openai\"\n }\n }\n }\n}\n```\n\n#### 方式三:从源码安装(开发者)\n\n```bash\ngit clone https://github.com/715494637/jshook-reverse-tool.git\ncd jshook-reverse-tool\nnpm install\nnpm run build\n```\n\n配置文件:\n```json\n{\n \"mcpServers\": {\n \"jshook\": {\n \"command\": \"node\",\n \"args\": [\"C:/path/to/jshook/dist/index.js\"],\n \"env\": {\n \"OPENAI_API_KEY\": \"sk-...\",\n \"DEFAULT_LLM_PROVIDER\": \"openai\"\n }\n }\n }\n}\n```\n\n### 环境变量配置\n\n在 MCP 配置的 `env` 字段中设置以下变量:\n\n**必需配置**:\n```json\n{\n \"OPENAI_API_KEY\": \"sk-...\", // OpenAI API Key\n \"DEFAULT_LLM_PROVIDER\": \"openai\" // 使用 openai\n}\n```\n\n或使用 Anthropic:\n```json\n{\n \"ANTHROPIC_API_KEY\": \"sk-ant-...\", // Anthropic API Key\n \"DEFAULT_LLM_PROVIDER\": \"anthropic\" // 使用 anthropic\n}\n```\n\n**可选配置**:\n```json\n{\n \"PUPPETEER_HEADLESS\": \"false\", // 是否无头模式\n \"PUPPETEER_TIMEOUT\": \"30000\", // 超时时间(毫秒)\n \"ENABLE_CACHE\": \"true\", // 启用缓存\n \"LOG_LEVEL\": \"info\" // 日志级别\n}\n```\n\n### 启动使用\n\n重启 Claude Desktop,现在可以使用自然语言调用 JSHook 的所有工具了!\n\n```\n你:帮我分析 https://example.com 的加密算法\n\nClaude:\n1. 启动浏览器并注入反检测脚本\n2. 访问目标网站\n3. 获取所有脚本,查找加密相关代码\n4. 设置断点拦截加密函数调用\n5. 分析加密逻辑...\n```\n\n---\n\n## 典型工作流\n\n### 场景 1: 分析加密算法\n\n```\n用户:帮我分析 https://api.example.com 的签名算法\n\nAI 自动执行:\n1. browser_launch() + stealth_inject()\n2. network_enable() + debugger_enable()\n3. page_navigate(\"https://api.example.com\")\n4. get_all_scripts() → 找到可疑脚本\n5. xhr_breakpoint_set(urlPattern=\"*/api/*\") → 拦截 API 请求\n6. watch_add(\"window.signParams\") → 监控签名参数\n7. 触发请求 → debugger_wait_for_paused()\n8. 分析调用栈和变量 → 定位签名算法\n```\n\n### 场景 2: 验证码自动检测\n\n```\n用户:访问 https://login.example.com 并告诉我是否有验证码\n\nAI 自动执行:\n1. browser_launch()\n2. page_navigate(\"https://login.example.com\")\n3. captcha_detect() → AI 视觉识别\n → 返回: { detected: true, type: \"slider\", vendor: \"geetest\" }\n4. captcha_wait(timeout=300000) → 等待用户完成\n```\n\n### 场景 3: Hook API 调用\n\n```\n用户:监控所有 Fetch 请求,记录 URL 和参数\n\nAI 自动执行:\n1. ai_hook_generate({\n description: \"监控所有 Fetch 请求\",\n target: { type: \"api\", name: \"fetch\" },\n behavior: { captureArgs: true, captureReturn: true }\n })\n2. ai_hook_inject(method=\"evaluateOnNewDocument\")\n3. page_navigate(\"https://target.com\")\n4. 用户操作页面...\n5. ai_hook_get_data() → 获取所有捕获的请求\n```\n\n---\n\n## 项目结构\n\n```\njshook-reverse-tool/\n├── src/\n│ ├── index.ts # MCP 服务器入口\n│ ├── server/\n│ │ ├── MCPServer.ts # 主服务器类\n│ │ ├── *ToolDefinitions.ts # 工具定义\n│ │ └── *ToolHandlers.ts # 工具实现\n│ ├── modules/ # 核心模块\n│ │ ├── collector/ # 浏览器自动化\n│ │ ├── debugger/ # 调试器\n│ │ ├── hook/ # Hook 管理\n│ │ ├── crypto/ # 加密检测\n│ │ └── captcha/ # 验证码识别\n│ ├── services/\n│ │ └── LLMService.ts # AI 服务封装\n│ └── utils/ # 工具函数\n├── docs/ # 文档\n│ ├── MCP功能介绍.md # 完整功能文档\n│ ├── 技术文档.md # 技术实现细节\n│ └── 浏览器逆向实战教程.md # 实战案例\n├── test/ # 测试用例\n└── package.json\n```\n\n---\n\n## 开发命令\n\n```bash\n# 开发模式(自动重启)\nnpm run dev\n\n# 构建项目\nnpm run build\n\n# 运行测试\nnpm test\n\n# 代码检查\nnpm run lint\n\n# 格式化代码\nnpm run format\n\n# 完整检查(lint + build + verify)\nnpm run check\n```\n\n---\n\n## 文档\n\n- 📘 [MCP 功能介绍](./docs/MCP功能介绍.md) - 80+ 工具完整说明\n- 📗 [浏览器逆向实战教程](./docs/浏览器逆向实战教程.md) - 实战案例\n\n---\n\n## 常见问题\n\n### Q: 网络监控没有捕获到请求?\n\n**A**: 必须在 `page_navigate` **前**调用 `network_enable()`,或使用:\n```javascript\npage_navigate(url=\"...\", enableNetworkMonitoring=true)\n```\n\n### Q: 验证码检测失败?\n\n**A**: 确保使用支持 Vision API 的模型(GPT-4o、Claude 3.5 Sonnet)。如果使用不支持视觉的模型(如 DeepSeek),会返回截图让你手动分析。\n\n### Q: Token 用完了怎么办?\n\n**A**:\n```javascript\nmanual_token_cleanup() // 清理 Token\nsmart_cache_cleanup() // 智能清理缓存\nclear_all_caches() // 完全重置(慎用)\n```\n\n### Q: 如何跳过第三方库代码?\n\n**A**:\n```javascript\nblackbox_add_common() // 一键屏蔽常见库\n// 或手动添加\nblackbox_add(urlPattern=\"*jquery*\")\n```\n\n---\n\n## 安全与法律\n\nJSHook 是一个**合法的逆向工程和安全研究工具**。\n\n### ✅ 合法使用场景\n\n- 渗透测试授权项目\n- 安全研究和漏洞分析\n- CTF 竞赛和教育培训\n- 自己网站的性能优化\n- 爬虫开发和调试\n\n### ❌ 禁止用途\n\n- 未授权的攻击和破解\n- 大规模爬取他人数据\n- 绕过付费墙和版权保护\n- DoS 攻击和供应链投毒\n\n**使用本工具即表示你理解并遵守相关法律法规。**\n\n---\n\n## 技术栈\n\n- **运行时**: Node.js 18+, TypeScript 5.0+\n- **浏览器自动化**: Puppeteer, Chrome DevTools Protocol\n- **AI 集成**: OpenAI API, Anthropic API\n- **MCP 协议**: @modelcontextprotocol/sdk\n- **AST 处理**: @babel/parser, @babel/traverse\n- **测试**: Jest\n\n---\n\n## 贡献\n\n欢迎贡献代码、报告问题或提出建议!\n\n\n\n\n1. Fork 本仓库\n2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\n5. 打开 Pull Request\n\n---\n\n## 许可证\n\n本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件\n\n---\n\n## 致谢\n\n- [Puppeteer](https://github.com/puppeteer/puppeteer) - 浏览器自动化\n- [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) - 调试协议\n- [Model Context Protocol](https://modelcontextprotocol.io/) - AI 工具协议\n- [Babel](https://babeljs.io/) - JavaScript 编译器\n\n---\n\n<div align=\"center\">\n\n**如果这个项目对你有帮助,请给一个 ⭐ Star!**\n\nMade with ❤️ by JSHook Team\n\n</div>\n","readmeFilename":"README.md"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"username":"opooo1830"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
|
|
2
|
+
9048394b5c5b913313170efca8d0a16f79c60e5e {"key":"make-fetch-happen:request-cache:https://registry.npmjs.org/@ai-jshook%2fmcp","integrity":"sha512-HtEWi1g6+v0uphYmpqCTFo9irCKcXdM/xoTe1RZSPohRa9hTQoHNpHmIOy/hWqz1TR7VPWeXzV8gB3r7LZReDg==","time":1772289899767,"size":31871,"metadata":{"time":1772289898942,"url":"https://registry.npmjs.org/@ai-jshook%2fmcp","reqHeaders":{"accept":"application/json"},"resHeaders":{"cache-control":"public, max-age=300","content-encoding":"gzip","content-type":"application/json","date":"Sat, 28 Feb 2026 14:45:00 GMT","etag":"W/\"b7ed5cfa39ba817da927983214bc73b1\"","last-modified":"Sat, 28 Feb 2026 12:46:58 GMT","vary":"accept-encoding, accept"},"options":{"compress":true}}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
|
|
2
|
+
e1771189aba05c5a533ae0e89fb5a9203b24ce1c {"key":"make-fetch-happen:request-cache:https://registry.npmjs.org/-/whoami","integrity":"sha512-kX1AzVwDjOU/Kwb8ViKKnt62sjBCI0XOS+9Aa8/QKnyv2cnuXCtbhH2/6kqmE6W84uYnodSdo6OEd437RJpVVg==","time":1772289899030,"size":24,"metadata":{"time":1772289899007,"url":"https://registry.npmjs.org/-/whoami","reqHeaders":{},"resHeaders":{"content-type":"application/json","date":"Sat, 28 Feb 2026 14:45:00 GMT","vary":"Accept-Encoding"},"options":{"compress":true}}}
|
|
File without changes
|
package/README.md
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
让 AI 助手成为你的浏览器逆向专家 | Let AI be your browser reverse engineering expert
|
|
8
8
|
|
|
9
|
-
[](https://registry.modelcontextprotocol.io/servers/io.github.
|
|
9
|
+
[](https://www.npmjs.com/package/jshook-reverse-tool)
|
|
10
|
+
[](https://www.npmjs.com/package/jshook-reverse-tool)
|
|
11
|
+
[](https://registry.modelcontextprotocol.io/servers/io.github.wuji1.jshook-reverse-tool)
|
|
12
12
|
[](https://opensource.org/licenses/MIT)
|
|
13
13
|
[](https://nodejs.org/)
|
|
14
14
|
[](https://www.typescriptlang.org/)
|
|
@@ -26,17 +26,17 @@
|
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
28
|
# 使用 npx(无需安装)
|
|
29
|
-
npx -
|
|
29
|
+
npx jshook-reverse-tool
|
|
30
30
|
|
|
31
31
|
# 或全局安装
|
|
32
|
-
npm install -g
|
|
32
|
+
npm install -g jshook-reverse-tool
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
### 从 MCP Registry 安装(推荐)
|
|
36
36
|
|
|
37
|
-
本工具已发布到 [MCP 官方注册表](https://registry.modelcontextprotocol.io/servers/io.github.
|
|
37
|
+
本工具已发布到 [MCP 官方注册表](https://registry.modelcontextprotocol.io/servers/io.github.wuji1.jshook-reverse-tool),支持 Claude Desktop 等 MCP 客户端直接发现和安装。
|
|
38
38
|
|
|
39
|
-
在支持 MCP Registry 的客户端中搜索 `
|
|
39
|
+
在支持 MCP Registry 的客户端中搜索 `jshook-reverse-tool` 即可找到并安装。
|
|
40
40
|
|
|
41
41
|
配置 Claude Desktop 后即可使用 80+ 专业逆向工具 → [查看配置教程](#快速开始)
|
|
42
42
|
|
|
@@ -238,7 +238,7 @@ smart_cache_cleanup() // 智能清理缓存
|
|
|
238
238
|
"mcpServers": {
|
|
239
239
|
"jshook": {
|
|
240
240
|
"command": "npx",
|
|
241
|
-
"args": ["-y", "
|
|
241
|
+
"args": ["-y", "jshook-reverse-tool"],
|
|
242
242
|
"env": {
|
|
243
243
|
"OPENAI_API_KEY": "sk-...",
|
|
244
244
|
"DEFAULT_LLM_PROVIDER": "openai"
|
|
@@ -251,7 +251,7 @@ smart_cache_cleanup() // 智能清理缓存
|
|
|
251
251
|
#### 方式二:全局安装
|
|
252
252
|
|
|
253
253
|
```bash
|
|
254
|
-
npm install -g
|
|
254
|
+
npm install -g jshook-reverse-tool
|
|
255
255
|
```
|
|
256
256
|
|
|
257
257
|
配置文件:
|
|
@@ -259,7 +259,7 @@ npm install -g @ai-jshook/mcp
|
|
|
259
259
|
{
|
|
260
260
|
"mcpServers": {
|
|
261
261
|
"jshook": {
|
|
262
|
-
"command": "
|
|
262
|
+
"command": "jshook-reverse-tool",
|
|
263
263
|
"env": {
|
|
264
264
|
"OPENAI_API_KEY": "sk-...",
|
|
265
265
|
"DEFAULT_LLM_PROVIDER": "openai"
|
|
@@ -272,7 +272,7 @@ npm install -g @ai-jshook/mcp
|
|
|
272
272
|
#### 方式三:从源码安装(开发者)
|
|
273
273
|
|
|
274
274
|
```bash
|
|
275
|
-
git clone https://github.com/
|
|
275
|
+
git clone https://github.com/wuji1/jshook-reverse-tool.git
|
|
276
276
|
cd jshook-reverse-tool
|
|
277
277
|
npm install
|
|
278
278
|
npm run build
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeCollector.d.ts","sourceRoot":"","sources":["../../../src/modules/collector/CodeCollector.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAc,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,aAAa,CAA0B;IAI/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAGnC,OAAO,CAAC,mBAAmB,CAAoC;IAG/D,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAiB;IAGrC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,UAAU,CAAiB;IAInC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,YAAY,CAEb;gBAEK,MAAM,EAAE,eAAe;IA4BnC,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQjC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B,iBAAiB;;;;;IAOjB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB7B,WAAW;;;;;;;;;;;;;;;;;;;;;IAoBV,QAAQ,IAAI,SAAS;IAOrB,aAAa,IAAI,cAAc;IAOtC,OAAO,CAAC,oBAAoB;IAetB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"CodeCollector.d.ts","sourceRoot":"","sources":["../../../src/modules/collector/CodeCollector.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,7 +90,7 @@ export class CodeCollector {
|
|
|
90
90
|
}
|
|
91
91
|
logger.info('Initializing browser with anti-detection...');
|
|
92
92
|
const isHeadless = this.config.headless;
|
|
93
|
-
const
|
|
93
|
+
const baseArgs = [
|
|
94
94
|
'--no-sandbox',
|
|
95
95
|
'--disable-setuid-sandbox',
|
|
96
96
|
'--disable-dev-shm-usage',
|
|
@@ -99,15 +99,12 @@ export class CodeCollector {
|
|
|
99
99
|
'--disable-features=IsolateOrigins,site-per-process',
|
|
100
100
|
'--ignore-certificate-errors',
|
|
101
101
|
];
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
else {
|
|
106
|
-
launchArgs.push('--start-maximized', '--window-position=0,0', '--force-device-scale-factor=1');
|
|
107
|
-
}
|
|
102
|
+
const modeArgs = isHeadless
|
|
103
|
+
? [`--window-size=${this.viewport.width},${this.viewport.height}`]
|
|
104
|
+
: ['--start-maximized'];
|
|
108
105
|
this.browser = await puppeteer.launch({
|
|
109
106
|
headless: isHeadless,
|
|
110
|
-
args:
|
|
107
|
+
args: [...(this.config.args || []), ...baseArgs, ...modeArgs],
|
|
111
108
|
defaultViewport: isHeadless ? this.viewport : null,
|
|
112
109
|
});
|
|
113
110
|
this.browser.on('disconnected', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeCollector.js","sourceRoot":"","sources":["../../../src/modules/collector/CodeCollector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CodeCollector.js","sourceRoot":"","sources":["../../../src/modules/collector/CodeCollector.ts"],"names":[],"mappings":"AAYA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAS3D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAA4B,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;AAE/B,MAAM,OAAO,aAAa;IAChB,MAAM,CAAkB;IACxB,OAAO,GAAmB,IAAI,CAAC;IAC/B,aAAa,GAAgB,IAAI,GAAG,EAAE,CAAC;IAI9B,kBAAkB,CAAS;IAC3B,qBAAqB,CAAS;IAC9B,iBAAiB,CAAS;IAC1B,oBAAoB,CAAS;IAC7B,QAAQ,CAAoC;IAC5C,SAAS,CAAS;IAG3B,mBAAmB,GAA0B,IAAI,GAAG,EAAE,CAAC;IAGvD,KAAK,CAAY;IACjB,YAAY,GAAY,IAAI,CAAC;IAG7B,cAAc,CAAqB;IACnC,UAAU,CAAiB;IAI3B,UAAU,GAAsB,IAAI,CAAC;IACrC,YAAY,GAEhB,EAAE,CAAC;IAEP,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAKrB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAC3D,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,kBAAkB,IAAI,GAAG,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,IAAI,GAAG,GAAG,IAAI,CAAC;QAClE,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,IAAI,GAAG,GAAG,IAAI,CAAC;QAEnE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;YAC/B,iHAAiH,CAAC;QAGpH,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;QAGvC,MAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,qBAAqB,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClN,MAAM,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;IACxG,CAAC;IAKD,eAAe,CAAC,OAAgB;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IAKD,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAKD,KAAK,CAAC,iBAAiB;QACrB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;IAKD,KAAK,CAAC,YAAY;QAChB,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAGjD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAGzB,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAG7B,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAG7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvC,CAAC;IAKD,KAAK,CAAC,WAAW;QACf,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEpD,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE;gBACX,GAAG,gBAAgB;gBACnB,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;aAC1C;YACD,SAAS,EAAE;gBACT,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;gBACtC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;aAC1C;SACF,CAAC;IACJ,CAAC;IAKM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAKM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAKO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,kBAAkB,eAAe,CAAC,CAAC;YAE/E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CACjE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACxC,MAAM,QAAQ,GAAG;YACf,cAAc;YACd,0BAA0B;YAC1B,yBAAyB;YACzB,+CAA+C;YAC/C,wBAAwB;YACxB,oDAAoD;YACpD,6BAA6B;SAC9B,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU;YACzB,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;YACpC,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC;YAE7D,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;SACnD,CAAC,CAAC;QAGH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IAKD,KAAK,CAAC,KAAK;QAET,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAG1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAEvB,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;QAGD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAKD,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC;QAG3C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAGxC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnB,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,KAAK,CAAC,kBAAkB,CAAC,IAAU;QACzC,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE;YAEpC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;gBAC5C,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK;aACjB,CAAC,CAAC;YAGH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE;gBAC1C,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAC3B,CAAC,CAAC;YAGH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;gBAC5C,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;aAC3B,CAAC,CAAC;YAGH,IAAI,CAAE,MAAc,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAc,CAAC,MAAM,GAAG;oBACvB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,cAAY,CAAC;oBACxB,GAAG,EAAE,cAAY,CAAC;oBAClB,GAAG,EAAE,EAAE;iBACR,CAAC;YACJ,CAAC;YAGD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;YACzD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,UAAe,EAAE,EAAE;gBACvD,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACxC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAsB,CAAC,CAAC;gBAClE,CAAC;gBACD,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC,CAAC;QAIJ,CAAC,CAAC,CAAC;IACL,CAAC;IAQD,KAAK,CAAC,SAAS;QAMb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,CAAC;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAE7C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,OAAO;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,CAAC;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAYD,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAGpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAc,CAAC,CAAC;YACjE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC/C,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAI1C,IAAI,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAG/D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAGxC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAGpC,MAAM,KAAK,GAAe,EAAE,CAAC;YAG7B,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAG7C,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;gBACzD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;gBAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAGzB,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBAChD,MAAM,CAAC,IAAI,CAAC,gCAAgC,IAAI,CAAC,qBAAqB,8BAA8B,CAAC,CAAC;oBACxG,CAAC;oBACD,OAAO;gBACT,CAAC;gBAGD,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAG5B,IACE,IAAI,KAAK,QAAQ;oBACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;oBACzC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EACnB,CAAC;oBACD,IAAI,CAAC;wBAEH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,IAAI,CAAC,yBAAyB,EAAE;4BACrF,SAAS;yBACV,CAAC,CAAC;wBAEH,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAGrF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;wBAEnC,IAAI,YAAY,GAAG,OAAO,CAAC;wBAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;wBAEtB,IAAI,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BAE5C,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;4BAC/D,SAAS,GAAG,IAAI,CAAC;4BACjB,MAAM,CAAC,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBACnJ,CAAC;wBAGD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BAC5B,MAAM,IAAI,GAAa;gCACrB,GAAG;gCACH,OAAO,EAAE,YAAY;gCACrB,IAAI,EAAE,YAAY,CAAC,MAAM;gCACzB,IAAI,EAAE,UAAU;gCAChB,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;oCACpB,SAAS,EAAE,IAAI;oCACf,YAAY,EAAE,WAAW;oCACzB,aAAa,EAAE,YAAY,CAAC,MAAM;iCACnC,CAAC,CAAC,CAAC,SAAS;6BACd,CAAC;4BACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAEjB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;4BAExC,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,qBAAqB,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC5K,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,IAAI,CAAC,0CAA0C,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAGF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAGnF,MAAM,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC3B,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;aAChD,CAAC,CAAC;YAGH,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YAC/B,CAAC;YAGD,IAAI,OAAO,CAAC,oBAAoB,KAAK,KAAK,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YAChC,CAAC;YAGD,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACtD,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAC5B,CAAC;YAGD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;YAGD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAEpB,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;oBACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBACtF,CAAC;gBAED,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACzB,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAGlE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAChE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,MAAM,0CAA0C,CAAC,CAAC;gBACpF,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,CAAE,CAAC,CAAC,QAAQ,EAAE,YAAuB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAClI,CAAC,CAAC,CAAC;YACL,CAAC;YAGD,IAAI,cAAc,GAAG,KAAK,CAAC;YAE3B,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACtD,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,sCAAsC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;oBAEvE,MAAM,YAAY,GAAwB;wBACxC,IAAI,EAAE,OAAO,CAAC,SAAS;wBACvB,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;qBAC/B,CAAC;oBAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;oBAGtF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC;wBAGjE,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,eAAe,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;4BAChH,OAAO;gCACL,KAAK,EAAE,EAAE;gCACT,SAAS,EAAE,WAUT;gCACF,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;gCACtC,SAAS,EAAE,CAAC;gCACZ,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;6BACpC,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAGD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChH,cAAc,GAAG,WAAyB,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;wBAC/E,cAAc,GAAG,KAAK,CAAC;oBACzB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;oBACtE,cAAc,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC;YAGD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,oBAAoB,cAAc,CAAC,MAAM,oCAAoC,CAAC,CAAC;oBAG3F,MAAM,eAAe,GAAG,cAAc;yBACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACZ,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,OAAO,EAAE,IAAI,CAAC,OAAO;qBACtB,CAAC,CAAC,CAAC;oBAEN,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBACjE,CAAC;yBAAM,CAAC;wBAEN,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,EAAE;4BAC7E,KAAK,EAAE,SAAS;4BAChB,QAAQ,EAAE,IAAI;4BACd,UAAU,EAAE,CAAC;4BACb,WAAW,EAAE,CAAC;4BACd,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;gCACvB,IAAI,QAAQ,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;oCACxB,MAAM,CAAC,KAAK,CAAC,yBAAyB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gCAChE,CAAC;4BACH,CAAC;yBACF,CAAC,CAAC;wBAGH,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CACvC,CAAC;wBAEF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;4BAClC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BAC/C,IAAI,UAAU,EAAE,CAAC;gCACf,IAAI,CAAC,QAAQ,GAAG;oCACd,GAAG,IAAI,CAAC,QAAQ;oCAChB,UAAU,EAAE,IAAI;oCAChB,YAAY,EAAE,UAAU,CAAC,YAAY;oCACrC,cAAc,EAAE,UAAU,CAAC,cAAc;oCACzC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;iCAC9C,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAGD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC,gBAAgB,iBAAiB,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,QAAQ,CAAC,CAAC;wBACvF,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;wBAC5L,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,SAAS,UAAU,KAAK,CAAC,WAAW,YAAY,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBACrM,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;gBAE7C,CAAC;YACH,CAAC;YAGD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAE9D,MAAM,CAAC,OAAO,CACZ,aAAa,cAAc,CAAC,MAAM,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,WAAW,IAAI,CACrG,CAAC;YAEF,MAAM,MAAM,GAAsB;gBAChC,KAAK,EAAE,cAAc;gBACrB,YAAY;gBACZ,SAAS;gBACT,WAAW;aACZ,CAAC;YAGF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAc,CAAC,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAOO,KAAK,CAAC,oBAAoB,CAAC,IAAU;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAqB,EAAE,EAAE;YAC5D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAwB,CAAC;YAC9F,OAAO,cAAc;iBAClB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC;iBACrD,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACrB,IAAI,OAAO,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;gBACpC,IAAI,SAAS,GAAG,KAAK,CAAC;gBAGtB,IAAI,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;oBACnC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;oBAC9C,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;gBAED,OAAO;oBACL,GAAG,EAAE,iBAAiB,KAAK,EAAE;oBAC7B,OAAO;oBACP,IAAI,EAAE,OAAO,CAAC,MAAM;oBACpB,IAAI,EAAE,QAAiB;oBAEvB,QAAQ,EAAE;wBACR,UAAU,EAAE,MAAM,CAAC,IAAI,IAAI,iBAAiB;wBAC5C,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;wBACxC,SAAS;wBACT,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;qBACnD;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAG9B,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEpE,IAAI,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,gCAAgC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC;QAChF,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,mDAAmD,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,aAAa,cAAc,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAClE,OAAO,cAAc,CAAC;IACxB,CAAC;IAKO,KAAK,CAAC,qBAAqB,CAAC,IAAU;QAC5C,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;gBACpD,IAAI,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACvE,MAAM,OAAO,GAAyD,EAAE,CAAC;gBAEzE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,OAAO,CAAC;oBACtF,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBAC/B,OAAO,CAAC,IAAI,CAAC;4BACX,GAAG,EAAE,MAAM,CAAC,SAAS;4BACrB,KAAK,EAAE,YAAY,CAAC,KAAK;4BACzB,KAAK,EAAE,MAAM,CAAC,KAAK;yBACpB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAe,EAAE,CAAC;YAG7B,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACpC,IAAI,CAAC;oBAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;wBAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC/B,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;oBAEf,IAAI,OAAO,EAAE,CAAC;wBACZ,KAAK,CAAC,IAAI,CAAC;4BACT,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,OAAO;4BACP,IAAI,EAAE,OAAO,CAAC,MAAM;4BACpB,IAAI,EAAE,gBAAgB;yBACvB,CAAC,CAAC;wBACH,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,qCAAqC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,iBAAiB,CAAC,IAAU;QACxC,IAAI,CAAC;YAEH,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBACpC,MAAM,cAAc,GAAI,MAAc,CAAC,MAAM,CAAC;gBAC9C,MAAM,UAAU,GAAa,EAAE,CAAC;gBAE/B,MAAc,CAAC,MAAM,GAAG,UAAU,SAAiB,EAAE,OAAuB;oBAC3E,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC1B,MAAc,CAAC,YAAY,GAAG,UAAU,CAAC;oBAC1C,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAChD,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YAGH,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,MAAc,CAAC,YAAY,IAAI,EAAE,CAAC,CAAa,CAAC;YAE/F,MAAM,KAAK,GAAe,EAAE,CAAC;YAG7B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC;oBAGlD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;wBACtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;wBACxC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC/B,CAAC,EAAE,WAAW,CAAC,CAAC;oBAEhB,IAAI,OAAO,EAAE,CAAC;wBACZ,KAAK,CAAC,IAAI,CAAC;4BACT,GAAG,EAAE,WAAW;4BAChB,OAAO;4BACP,IAAI,EAAE,OAAO,CAAC,MAAM;4BACpB,IAAI,EAAE,YAAY;yBACnB,CAAC,CAAC;wBACH,MAAM,CAAC,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,iCAAiC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAKO,mBAAmB,CAAC,KAAiB;QAC3C,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,MAAM,KAAK,GAA6B,EAAE,CAAC;QAG3C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,IAAI,CAAC,GAAG;gBACZ,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAGH,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE5D,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,CAC1E,CAAC;gBAEF,IAAI,UAAU,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,GAAG;wBACd,EAAE,EAAE,UAAU,CAAC,GAAG;wBAClB,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC/E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;IAKO,mBAAmB,CAAC,IAAY;QACtC,MAAM,YAAY,GAAa,EAAE,CAAC;QAGlC,MAAM,WAAW,GAAG,yCAAyC,CAAC;QAC9D,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,CAAC,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QAGD,MAAM,YAAY,GAAG,uCAAuC,CAAC;QAC7D,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,CAAC,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QAGD,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;QAClE,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxD,IAAI,KAAK,CAAC,CAAC,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACpC,CAAC;IAKD,gBAAgB,CAAC,GAAW,EAAE,WAAsB;QAClD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAKD,KAAK,CAAC,iBAAiB,CACrB,IAAU,EACV,GAAW,EACX,OAA8C,EAC9C,UAAU,GAAG,CAAC;QAEd,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAc,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,UAAU,YAAY,KAAK,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAClE,CAAC;IAKD,KAAK,CAAC,qBAAqB,CAAC,IAAU;QACpC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACvC,MAAM,IAAI,GAAG,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAgC,CAAC;gBAC1F,OAAO;oBACL,gBAAgB,EAAE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,0BAA0B;oBACjF,YAAY,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc;oBACrD,cAAc,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU;oBACrD,SAAS,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU;iBAC/C,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,mBAAmB,CAAC,IAAU;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACxC,OAAO;oBACL,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;oBACzB,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,QAAQ,EAAE;wBACR,KAAK,EAAE,MAAM,CAAC,UAAU;wBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;qBAC3B;oBACD,OAAO,EAAE,QAAQ,CAAC,MAAM;oBACxB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM;oBAC9C,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM;iBACnD,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAKD,kBAAkB;QAIhB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YACvC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;SACpC,CAAC;IACJ,CAAC;IAKD,UAAU;QACR,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IASD,wBAAwB;QAOtB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3E,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9F,YAAY,EAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SACvG,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC3E,OAAO,SAAS,CAAC;IACnB,CAAC;IAQD,YAAY,CAAC,GAAW;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IASD,iBAAiB,CACf,OAAe,EACf,QAAgB,EAAE,EAClB,eAAuB,IAAI,CAAC,iBAAiB;QAQ7C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAe,EAAE,CAAC;QAG/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAGD,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;gBAClD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,gBAAgB,OAAO,aAAa,OAAO,CAAC,MAAM,qBAAqB,QAAQ,CAAC,MAAM,0BAA0B,CAAC,CAAC;QAChI,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,cAAc,OAAO,CAAC,MAAM,eAAe,QAAQ,CAAC,MAAM,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE5I,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,SAAS;YACT,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,SAAS;SACV,CAAC;IACJ,CAAC;IAQD,mBAAmB,CACjB,OAAe,EAAE,EACjB,eAAuB,IAAI,CAAC,iBAAiB;QAM7C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QAG/D,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;SACzC,CAAC,CAAC,CAAC;QAGJ,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAG9C,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;gBACpE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,oBAAoB,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE1H,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,SAAS;YACT,UAAU,EAAE,QAAQ,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC;IAKO,sBAAsB,CAAC,IAAc;QAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;QAGd,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,KAAK,IAAI,EAAE,CAAC;aACnC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;YAAE,KAAK,IAAI,CAAC,CAAC;QAG9C,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI;YAAE,KAAK,IAAI,EAAE,CAAC;aAClC,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI;YAAE,KAAK,IAAI,EAAE,CAAC;aACvC,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI;YAAE,KAAK,IAAI,EAAE,CAAC;QAG7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QACtF,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QAC3F,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QACxF,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QAGxF,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QAClH,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QAExE,OAAO,KAAK,CAAC;IACf,CAAC;IAKD,wBAAwB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,qCAAqC,KAAK,SAAS,CAAC,CAAC;IACnE,CAAC;CACF"}
|
package/dist/utils/config.js
CHANGED
|
@@ -41,8 +41,8 @@ export function getConfig() {
|
|
|
41
41
|
timeout: parseInt(process.env.PUPPETEER_TIMEOUT || '30000', 10),
|
|
42
42
|
},
|
|
43
43
|
mcp: {
|
|
44
|
-
name: process.env.MCP_SERVER_NAME || '
|
|
45
|
-
version: process.env.MCP_SERVER_VERSION || '0.1.
|
|
44
|
+
name: process.env.MCP_SERVER_NAME || 'jshook-reverse-tool',
|
|
45
|
+
version: process.env.MCP_SERVER_VERSION || '0.1.0',
|
|
46
46
|
},
|
|
47
47
|
cache: {
|
|
48
48
|
enabled: process.env.ENABLE_CACHE === 'true',
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMhD,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAIrD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAG/C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC,mDAAmD,OAAO,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;AACvE,CAAC;KAAM,CAAC;IAEN,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,uCAAuC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,SAAS;IAEvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,QAAQ,CAAC;IACnD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QAC/E,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEhC,OAAO;QACL,GAAG,EAAE;YACH,QAAQ,EAAG,OAAO,CAAC,GAAG,CAAC,oBAA+C,IAAI,QAAQ;YAClF,MAAM,EAAE;gBACN,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;gBACxC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,qBAAqB;gBACxD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;aACrC;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;gBAC3C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,4BAA4B;aACnE;SACF;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM;YACnD,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,EAAE,EAAE,CAAC;SAChE;QACD,GAAG,EAAE;YACH,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-jshook/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "AI-powered JavaScript reverse engineering tool with 80+ MCP tools for browser automation, debugging, network monitoring, and intelligent hooking",
|
|
5
|
-
"mcpName": "io.github.
|
|
5
|
+
"mcpName": "io.github.wuji1/jshook-reverse-tool",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"bin": {
|
|
9
|
-
"
|
|
9
|
+
"jshook-reverse-tool": "dist/index.js"
|
|
10
10
|
},
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
|
-
"url": "https://github.com/
|
|
13
|
+
"url": "https://github.com/wuji1/jshook-reverse-tool.git"
|
|
14
14
|
},
|
|
15
15
|
"bugs": {
|
|
16
|
-
"url": "https://github.com/
|
|
16
|
+
"url": "https://github.com/wuji1/jshook-reverse-tool/issues"
|
|
17
17
|
},
|
|
18
|
-
"homepage": "https://github.com/
|
|
18
|
+
"homepage": "https://github.com/wuji1/jshook-reverse-tool#readme",
|
|
19
19
|
"scripts": {
|
|
20
|
-
"build": "
|
|
20
|
+
"build": "tsc",
|
|
21
21
|
"dev": "tsx watch src/index.ts",
|
|
22
22
|
"start": "node dist/index.js",
|
|
23
23
|
"test": "jest",
|
|
@@ -55,7 +55,10 @@
|
|
|
55
55
|
"cryptography-detection",
|
|
56
56
|
"code-analysis"
|
|
57
57
|
],
|
|
58
|
-
"author":
|
|
58
|
+
"author": {
|
|
59
|
+
"name": "wuji1",
|
|
60
|
+
"url": "https://github.com/wuji1"
|
|
61
|
+
},
|
|
59
62
|
"license": "MIT",
|
|
60
63
|
"dependencies": {
|
|
61
64
|
"@anthropic-ai/sdk": "^0.32.1",
|
|
@@ -67,6 +70,7 @@
|
|
|
67
70
|
"chalk": "^5.4.1",
|
|
68
71
|
"commander": "^12.1.0",
|
|
69
72
|
"dotenv": "^16.4.7",
|
|
73
|
+
"jshook-reverse-tool": "^0.1.1",
|
|
70
74
|
"openai": "^4.73.0",
|
|
71
75
|
"ora": "^8.1.1",
|
|
72
76
|
"puppeteer": "^23.10.4",
|
|
@@ -90,6 +94,5 @@
|
|
|
90
94
|
},
|
|
91
95
|
"engines": {
|
|
92
96
|
"node": ">=18.0.0"
|
|
93
|
-
}
|
|
94
|
-
"types": "./dist/index.d.ts"
|
|
97
|
+
}
|
|
95
98
|
}
|
package/server.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
|
|
3
|
-
"name": "io.github.
|
|
3
|
+
"name": "io.github.wuji1/jshook-reverse-tool",
|
|
4
4
|
"description": "AI-powered JavaScript reverse engineering tool with 80+ MCP tools for browser automation, debugging, network monitoring, and intelligent hooking",
|
|
5
|
-
"version": "0.1.
|
|
6
|
-
"homepage": "https://github.com/
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"homepage": "https://github.com/wuji1/jshook-reverse-tool",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"mcp",
|
|
@@ -24,13 +24,16 @@
|
|
|
24
24
|
"packages": [
|
|
25
25
|
{
|
|
26
26
|
"registry_type": "npm",
|
|
27
|
-
"identifier": "
|
|
28
|
-
"version": "0.1.
|
|
27
|
+
"identifier": "jshook-reverse-tool",
|
|
28
|
+
"version": "0.1.0"
|
|
29
29
|
}
|
|
30
30
|
],
|
|
31
|
-
"author":
|
|
31
|
+
"author": {
|
|
32
|
+
"name": "wuji1",
|
|
33
|
+
"url": "https://github.com/wuji1"
|
|
34
|
+
},
|
|
32
35
|
"repository": {
|
|
33
36
|
"type": "git",
|
|
34
|
-
"url": "https://github.com/
|
|
37
|
+
"url": "https://github.com/wuji1/jshook-reverse-tool.git"
|
|
35
38
|
}
|
|
36
39
|
}
|