We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lizouzt/TrendRadar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>热点新闻分析</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js" integrity="sha512-BNaRQnYJYiPSqHHDb58B0yaPfCu+Wgds8Gp/gU33kqBtgNS4tSPHuGibyoeqMV/TJlSKda6FXzoEyYGjTe+vXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<style>
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
margin: 0;
padding: 16px;
background: #fafafa;
color: #333;
line-height: 1.5;
}
.container {
max-width: 600px;
margin: 0 auto;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.header {
background: linear-gradient(135deg, #7a72ff 0%, #3aafed 100%);
color: #fff;
padding: 32px 24px;
text-align: center;
position: relative;
}
.save-buttons {
position: absolute;
top: 16px;
right: 16px;
display: flex;
gap: 8px;
}
.save-btn {
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
color: white;
padding: 8px 16px;
border-radius: 6px;
cursor: pointer;
font-size: 13px;
font-weight: 500;
transition: all 0.2s ease;
backdrop-filter: blur(10px);
white-space: nowrap;
}
.save-btn:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
transform: translateY(-1px);
}
.save-btn:active {
transform: translateY(0);
}
.save-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.header-title {
font-size: 22px;
font-weight: 700;
margin: 0 0 20px 0;
}
.header-info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
font-size: 14px;
opacity: 0.95;
}
.info-item {
text-align: center;
}
.info-label {
display: block;
font-size: 12px;
opacity: 0.8;
margin-bottom: 4px;
}
.info-value {
font-weight: 600;
font-size: 16px;
}
.content {
padding: 24px;
}
.word-group {
margin-bottom: 40px;
}
.word-group:first-child {
margin-top: 0;
}
.word-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
padding-bottom: 8px;
border-bottom: 1px solid #f0f0f0;
}
.word-info {
display: flex;
align-items: center;
gap: 12px;
}
.word-name {
font-size: 17px;
font-weight: 600;
color: #1a1a1a;
}
.word-count {
color: #666;
font-size: 13px;
font-weight: 500;
}
.word-count.hot { color: #dc2626; font-weight: 600; }
.word-count.warm { color: #ea580c; font-weight: 600; }
.word-index {
color: #999;
font-size: 12px;
}
.news-item {
margin-bottom: 20px;
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
position: relative;
display: flex;
gap: 12px;
align-items: center;
}
.news-item:last-child {
border-bottom: none;
}
.news-item.new::after {
content: "NEW";
position: absolute;
top: 12px;
right: 0;
background: #fbbf24;
color: #92400e;
font-size: 9px;
font-weight: 700;
padding: 3px 6px;
border-radius: 4px;
letter-spacing: 0.5px;
}
.news-number {
color: #999;
font-size: 13px;
font-weight: 600;
min-width: 20px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
align-self: flex-start;
margin-top: 8px;
}
.news-content {
flex: 1;
min-width: 0;
padding-right: 40px;
}
.news-item.new .news-content {
padding-right: 50px;
}
.news-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
flex-wrap: wrap;
}
.source-name {
color: #666;
font-size: 12px;
font-weight: 500;
}
.rank-num {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.rank-num.top { background: #dc2626; }
.rank-num.high { background: #ea580c; }
.time-info {
color: #999;
font-size: 11px;
}
.count-info {
color: #059669;
font-size: 11px;
font-weight: 500;
}
.news-title {
font-size: 15px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.news-link {
color: #2563eb;
text-decoration: none;
}
.news-link:hover {
text-decoration: underline;
}
.news-link:visited {
color: #7c3aed;
}
.topic-trend-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.topic-trend-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.viral-topic-item {
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
}
.viral-topic-item:last-child {
border-bottom: none;
}
.viral-topic-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.viral-topic-keyword {
font-size: 16px;
font-weight: 600;
}
.topic-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.topic-item:last-child {
border-bottom: none;
}
.viral-topic-stats {
font-size: 12px;
color: #666;
}
.viral-topic-stats .new { color: #dc2626; font-weight: bold; }
.viral-topic-stats .up { color: #f59e0b; font-weight: bold; }
.viral-topic-stats .level-high { color: #dc2626; font-weight: bold; }
.viral-topic-stats .level-mid { color: #f59e0b; font-weight: bold; }
.viral-sample-titles {
list-style: none;
padding-left: 16px;
margin: 0;
font-size: 13px;
}
.viral-sample-titles li {
color: #666;
padding: 4px 0;
position: relative;
}
.viral-sample-titles li::before { content: '▪'; position: absolute; left: -14px; color: #ccc; }
.new-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.new-section-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.new-source-group {
margin-bottom: 24px;
}
.new-source-title {
color: #666;
font-size: 13px;
font-weight: 500;
margin: 0 0 12px 0;
padding-bottom: 6px;
border-bottom: 1px solid #f5f5f5;
}
.new-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.new-item:last-child {
border-bottom: none;
}
.new-item-number {
color: #999;
font-size: 12px;
font-weight: 600;
min-width: 18px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.new-item-rank {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 3px 6px;
border-radius: 8px;
min-width: 20px;
text-align: center;
flex-shrink: 0;
}
.new-item-rank.top { background: #dc2626; }
.new-item-rank.high { background: #ea580c; }
.new-item-content {
flex: 1;
min-width: 0;
}
.new-item-title {
font-size: 14px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.error-section {
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 8px;
padding: 16px;
margin-bottom: 24px;
}
.error-title {
color: #dc2626;
font-size: 14px;
font-weight: 600;
margin: 0 0 8px 0;
}
.error-list {
list-style: none;
padding: 0;
margin: 0;
}
.error-item {
color: #991b1b;
font-size: 13px;
padding: 2px 0;
font-family: 'SF Mono', Consolas, monospace;
}
.footer {
margin-top: 32px;
padding: 20px 24px;
background: #f8f9fa;
border-top: 1px solid #e5e7eb;
text-align: center;
}
.footer-content {
font-size: 13px;
color: #6b7280;
line-height: 1.6;
}
.footer-link {
color: #4f46e5;
text-decoration: none;
font-weight: 500;
transition: color 0.2s ease;
}
.footer-link:hover {
color: #7c3aed;
text-decoration: underline;
}
.project-name {
font-weight: 600;
color: #374151;
}
@media (max-width: 480px) {
body { padding: 12px; }
.header { padding: 24px 20px; }
.content { padding: 20px; }
.footer { padding: 16px 20px; }
.header-info { grid-template-columns: 1fr; gap: 12px; }
.news-header { gap: 6px; }
.news-content { padding-right: 45px; }
.news-item { gap: 8px; }
.new-item { gap: 8px; }
.news-number { width: 20px; height: 20px; font-size: 12px; }
.save-buttons {
position: static;
margin-bottom: 16px;
display: flex;
gap: 8px;
justify-content: center;
flex-direction: column;
width: 100%;
}
.save-btn {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="save-buttons">
<button class="save-btn" onclick="saveAsImage()">保存为图片</button>
<button class="save-btn" onclick="saveAsMultipleImages()">分段保存</button>
</div>
<div class="header-title">热点新闻分析</div>
<div class="header-info">
<div class="info-item">
<span class="info-label">报告类型</span>
<span class="info-value">实时分析</span>
</div>
<div class="info-item">
<span class="info-label">新闻总数</span>
<span class="info-value">132 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">5 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">12-23 11:56</span>
</div>
</div>
</div>
<div class="content">
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">英伟达 NVIDIA 黄仁勋</div>
<div class="word-count ">2 条</div>
</div>
<div class="word-index">1/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">凤凰网</span><span class="rank-num high">5</span><span class="time-info">11时56分</span>
</div>
<div class="news-title"><a href="https://news.ifeng.com/c/8pJTiSOSnTB" target="_blank" class="news-link">“英伟达想春节前对华出货,还得看中方意思”</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">百度热搜</span><span class="rank-num ">28</span><span class="time-info">11时56分</span>
</div>
<div class="news-title"><a href="https://www.baidu.com/s?wd=%E8%8B%B1%E4%BC%9F%E8%BE%BE%E5%91%8A%E7%9F%A5%E4%B8%AD%E5%9B%BD%E5%AE%A2%E6%88%B7%EF%BC%9A%E6%98%A5%E8%8A%82%E5%89%8D%E5%AF%B9%E5%8D%8E%E5%87%BA%E8%B4%A7" target="_blank" class="news-link">英伟达告知中国客户:春节前对华出货</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">特斯拉 马斯克</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">2/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">8</span><span class="time-info">11时56分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2237015" target="_blank" class="news-link">特斯拉股价逼近500美元创新高 马斯克薪酬案翻盘+FSD稳跑</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">芯片 光刻机 光模块</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">3/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">知乎</span><span class="rank-num high">5</span><span class="time-info">11时56分</span>
</div>
<div class="news-title"><a href="https://www.zhihu.com/question/1986356290876827296" target="_blank" class="news-link">三星推出全球首款 2nm 手机芯片 Exynos 2600,性能有多强?对半导体和手机行业有哪些影响?</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">股票 A股 上证 深证</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">4/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">百度热搜</span><span class="rank-num ">14</span><span class="time-info">11时56分</span>
</div>
<div class="news-title"><a href="https://www.baidu.com/s?wd=%E6%96%B0%E7%BA%AA%E5%BD%95%EF%BC%81A%E8%82%A1%E5%B9%B4%E6%88%90%E4%BA%A4%E9%A2%9D%E9%A6%96%E7%A0%B4400%E4%B8%87%E4%BA%BF%E5%85%83" target="_blank" class="news-link">新纪录!A股年成交额首破400万亿元</a>
</div>
</div>
</div>
</div>
<div class="topic-trend-section">
<div class="topic-trend-title">🔥 异常热度话题</div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">男子头孢停药72小时喝酒后休克</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>男子头孢停药72小时喝酒后休克</li><li>男子头孢停药72小时喝酒后休克</li><li>男子头孢停药72小时喝酒后休克</li></ul></div></div>
<div class="topic-trend-section">
<div class="topic-trend-title">✨ 关注话题趋势</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">自动驾驶</div>
<div class="word-count">8 条提及 <span style="color: #059669;">(↓100.00%)</span></div>
</div>
</div>
<div class="news-item">
<div class="news-content" style="padding-right: 0;">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAADICAYAAAA0n5+2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOiRJREFUeJztnXmYHFXVh987WyYrYQhLICxBQBYDIptQBlCQTaAHQSSIICKbClHADwFRUAGRHUERREQRIrJUy76TwABhh4QdSYBASAyVkIRkMtv9/jjVmZohk1n6dldV13mfp5+evr2d+6s7VafvPedcY61FURRFURRFcUdV3AYoiqIoiqJUGupgKYqiKIqiOEYdLEVRFEVRFMeog6UoiqIoiuIYdbAURVEURVEcow6WoiiKoiiKY9TBUhRFURRFcYw6WIqiKIqiKI5RB0tRFEVRFMUx6mApiqIoiqI4Rh0sRVEURVEUx6iDpSiKoiiK4hh1sBRFURRFURyTCAfLCCOMMSZuWxRFURRFUYqlJm4DQoYDnwCrAAtL8QX5fL4K2Ax4LZfLdZTiO7KCaukW1dMdqqVbVE93qJZuSYOezmewjDE/N8ZYY8ylrj+7SOqAE8N7pThUS7eonu5QLR3h+UH1FXaH3Z+yYy67wu6wu+cH1XHblHJ0bLol8Xo6dbCMMdsBxwIvu/xcRVEUpXx4fvBNYOYS6u6bwtjdllB3HzAzbFcUpQ84c7CMMcOAfwJHA/Ndfa6iKIpSPkIn6hZgnW5PrQPcok6WovQNlzNYVwJ3WWsfdPiZLrHA7PBeKQ7V0i2qpztUyyIIlwEvCx92TzoqPL5UlwsHhI5NtyReT2Nt8bYZYw4BzgC2s9Y2G2MeBV601v6kh9cPAgZFmoYDs8aPH7/GySefvChsa8/lcq35fL4WiP4zt+VyubZ8Pj+IrieAntpbcrlcRz6fr+9mRgtyYAZ1a18Wvr/Lum4ul2sOg+qi7TaXyy3L5/M1dE0Y6Kld+6R90j5pnxLbpyvsDruHy4G98dX/M489noY+UYHHSftUvj7lcrlmBkjRWYTGmHWRXzxft9b21ZDTgF91bzzqqKPOB1rDh03A34EJgBd52Z3AHcBxwOaR9n8Aj4efPTrSfjnwCvB7YH1gDnKQzwYCOn+tFZgINHSzrzls3wwJqiswGzgL+DLw3Uj7q+Hn7g3sG2l33afzgeggLlef9gPWRLR8vEL6FOdxMoiehyKZtJXQpwLlPk4GeDufz19cQX2CMh2nbfng/6Ywlj4wOi19IiHHKZ/PPwX8CWijc9Yl1X0i3uN0OJ3XoVdK2KdjGSAuyjRsA6wBPB8pY1UN7GyM+TEwyFrb3u095wEXRx4PB2Zde+21p0ZnsML7m4CbI69tC++vopvnGfnsLt50eH8mcBHwM8RjLnjTE7vZtgz4aAXtAK91ay/8kzwFPLuC9nuAByLtrvt0ajf7ytWnKXRquSRsT3uf4jxOgxA926mcPhUo93EaBFyAnNsqpU9R20vap2dZ5/fAbvTObFLSpxW0QzzHqSZ8X+EaVLAd0tsniO84TaPzOlSY3ClVnwZE0UuExpjhyMxQlOuA14HzrbXT+/AZIwjrYFlrS1UHqx7xcCcWM+WnqJauUT3doVoWh+cHOyG/4Hu7uJwLnNXU2NDay+uUEB2bbkmDnkUHuVtrF1lrp0dvwKfAx31xrhRFUZT48fxga+BuOp2r7r++o49PB6Z6frBpOWxTlDSSiK1yyoRF1p4Tm3GQIlRLt6ie7lAtB4DnB5sD9yMxgK8CvwHmdnvZXGQ55nRgMbA18ILnBz/2/EC3OesdHZtuSbyeTrIIizaiDEuEiqIoymfx/GAjJK5yNPAW8FMkJqYKcaJGAfOAF4DCliSrA79FYnABHgSOaGps+LB8litKssmMgxWmb+4N3JPL5dp6e73SM6qlW1RPd6iW/cPzg/UR52o9YCbiXL1feL6e1uq9eGune9n4iWZquycrgWS+/hhJpV8AHNPU2PDvUtudRnRsuiUNemZpibAGSd9MygbXaUa1dIvq6Q7Vso94fjAamXlaD5iFLP+9H31NPW3Va7F4fD1tPRUWvRFxst4CRgI3e37wT88PRpbK7hSjY9MtidczSw6WoiiKAnh+sDriXG2ELAeeCswY4MfNROosXY8sIR4KTPf8YNeiDVWUFKMOlqIoSoYIZ5fuQwoszgN+DrxR5Me2AX9A9qKdjexb+LDnBxd5ftC9oreiZIIsOVjtSFXXFcURKP1DtXSL6ukO1XIleH4wHCnGuDUSM3U60GM5nRaqO+ZT/1IL1R09vaYbLwEHI5WyDXAS8KznB1sWY3eFoGPTLYnXMzNB7oqiKFnG84PBSJ2rXYFFyHYgT5XwK3dFdtBYBanifSZwUVNjQ2IviIriksw4WOFmjxOAm3K5nFYfLgLV0i2qpztUyxXj+cEgwAf2Qra3OhOY3Nv7htBSsx+v73kHm963hLqBZGqtiuxBt1P4+HHgsKbGhncH8FmpRsemW9KgZ5aWCKuRzR57yoZR+o5q6RbV0x2qZTc8P6hB9mLbC9mz7df0wbkCqKO9alWat6qjfaDXivnIZr3nht/9FWCa5weHZ7A4qY5NtyRezyw5WIqiKJnC84NqJLvvAGSZ7lwke7Dc3AYcglTeHh7adKvnB6vFYIuilAV1sBRFUSqQcIboKqRsQjvweyTAPS5mAd8D/hzacwDwiucHe8Vok6KUjCw5WG1IZksiK76mDNXSLaqnO1RLljtXlwI/QGpTXQzk6ee+bc3UtH/EsMeaqXEVmN4BXAMcgRQ1XRO4x/ODP3l+MMTRdyQVHZtuSbyemQlyVxRFyQqeH5yLZAkCXA7cQOc+gklhEFLG4cDw8dvAoU2NDc/EZ5KiuCMzDlY+nx8EHAdclcvllpXiO7KCaukW1dMdqiV4fnAGshEzyHLcXxlgraARNNfmeO3APJvdupD6UmVq7YhkGjYgdv4GOKepsSGxMxMDQcemW9KgZ5aWCA1SuThrmSulQLV0i+rpjkxr6fnBT+h0rq4HrqOIQoxVWDOU1g2rsKXU80ngIOBRJCPsLOAJzw82LuF3xkGmx2YJSLyeWXKwFEVRKhbPD44BLgkfTgL+RILjU7qxEDgF+BXwKbAd8JLnB8dmsJyDUiGog6UoipJyPD84DMkYBLgduIz0OFdR7kK22nkJGIz06S7PD9aK1SpFGQBZcrDagH+QzpNO0lAt3aJ6uiNzWnp+cCCyHGiQrXAuAJzESzVT0z6DVe92mEXYF+Yg2Y+XI/3YG5ju+UFjGW0oBZkbmyUm8XpmJshdURSl0vD8YB9kC5xa4CEkfmlpjCa5ZiOkOOqG4ePrgROaGhsWxWeSovSNzDhYYcbBacB5Sc04SAuqpVtUT3dkSUvPD76GzFgNAh4DzkD2GXTGCJprD+KVI29hi+tKmEXYG7XACci+cwZ4F9nP8PGY7BkQWRqb5SANemZpidAAo0lwxkGKUC3donq6IxNaen6wE/AfxLmaCvwSx84VSBZhHe2jSpxF2ButSKHU45Dlw/WBKZ4f/M7zg7oY7eovmRibZSTxembJwVIURUk9nh9sg2x5MxR4AZm5ysKS2XNIAPy9yEX1VOAZzw+2iNUqRekBdbAURVFSgucHXwDuB0YA04GfAwvitKnMfAr8Aun3ImBL4DnPD37q+YFez5REkaUB2YJkpbTEbUgFoFq6RfV0R8Vq6fnBJsCDSMXzN5EZnI9L+Z2LqWudxpqTFlMXV/xVTzyIFCd9GlkmvRh40PODMbFatXIqdmzGROL1zEyQu6IoSlrx/GADJJB9DDAD+CkwK06bEsS3gRMRR+sT4Pimxoab4jVJUTLkYOXz+XrgfODUXC7XXIrvyAqqpVtUT3dUopaeH6wDTEFKFbyPOFczy/HdI1ladzDTT7yZL1y+gMGJnSkA1gPOAz4fPv4X4mjNj8+krlTi2IyTNOiZpSVCgPq4DaggVEu3qJ7uqBgtPT9YA1kO2xCYjSwLziynDVXYNGTqvQccgWxs3YHMar3i+cFusVr1WSpmbCaEROuZNQdLURQlFXh+0IAEtG8K/A8J7H4zVqOSTRvwR+D7wIdICv+Dnh9c6vnB4FgtUzKJOliKoigJw/ODEUgphq2A+cDpwCuxGpUepiPlHPLh44nA854fbB2fSUoWyZKD1QKcTYIzDlKEaukW1dMdqdfS84MhwJ3A9sBCpCzBC3HYspi61imsf3UCswh7oxn4DRKvNh+ZBZzq+cFpnh9Ux2RT6sdmwki8nllysCwQhPdKcaiWblE93ZFqLT0/GATcDoxHaj79EqnUHgsdGPshIxZ2YFKpJ5J5+S3gcWTLnXOBxzw/GBuDLakemwkk8XpmycEaBFwW3ivFoVq6RfV0R2q19PygFrgZ2APZsPlsxDGIjREsqzuEaaeMYFkaAt17YgHwE2RGaymwIzDN84MjPT8o5zYrqR2bCSXxembJwVIURUkk4bLVP4D9kSWPc4CHYzWq8sgj2YXTkW2G/gr4nh+sHqtVSsWiDpaiKEqMhFu8XINc/NuA3wH3xWpU5fIhkmX4R0Tr/YHpnh98I1arlIpEHSxFUZSYCJeoLgeOROo3XQzcQYLjSiqADmT26nDgXWAN4E7PD672/GBorJYpFUWWHKxlSLrusrgNqQBUS7eonu5IjZahc/U74EeIQ3U5cAsJcq4WMqhlEuMuXMigxGZqFcGbwAQk7g3gaOBlzw92KNH3pWZspoTE65klB8sgm6SWM6ixUlEt3aJ6uiNNWp4J/F/491XATcjsSmKowpq1WTiiCpsGPQdCC/B7xMmdh1TMb/L84Ndh0oFL0jQ200Di9cySg1UH/Cq8V4pDtXSL6umOVGjp+cHJSJYgyHLV9UB7fBatmGG01O7Mu8cMo8W1s5E0pgIHIdsSVSPO75OeH3x+pe/qH6kYmyki8XpmycFSFEWJHc8PjgcuDB/eCFyNBFwr8bIY2Y7oF+Hf2wAven7wwzKXc1AqBHWwFEVRyoTnB0cgGWwAtwF/QJ2rpHEvUpz0eWQz4SuBez0/GB2rVUrqyJqD1Ry3ARWEaukW1dMdidTS84ODkeVAgLuQWazEb0HTganEAPfe+B9wLHAJEqe1B/CK5wcHFvm5iRybKSbRehpr409YMcaMAD4BVrHWLozbHkVRFJd4frAfMmNVAzwAnEWCs5+ULmyIbLGzUfj4BuDHTY0Nn8RnkpIGMuNg5fP5KmAz4LVcLpeoTJ20oVq6RfV0RxK19Pxgd2TGqg6YgsT4LInVqD5SQ7vZgVljpzJmRhvV8V8s4qMG+CFwGLLy8z5wWFNjw5S+fkASx2aaSYOeWVoirANOJMEZBylCtXSL6umORGnp+cFXkC1a6oCnkM2bU+FcgWQRjmPOIRnIIuyNNqRO2THAR8C6wKOeH1wQbtDdFxI1NiuAxOuZJQdLURSlbHh+sB1wNzAECZguZKcp6eVF4GBkRtIApwDPen4wLk6jlGSiDpaiKIpjPD/YEtlPcDgwDUn/XxCnTYozliD1l36GhLZ8AXGyTgn3lVQUIFsOlgVmk6BtKFKMaukW1dMdsWvp+cGmSCD7qsAbwKlAEJc9xdCBsS1Uz+vA6Nj8LI8g5RyeRJapLgAe8fxgvR5eH/vYrDASr2dmgtwVRVFKjecHY4HHgHWA/wI/BT6M1SilHByIHOt6YBESEP/PpsaG+C+wSmxkxsHK5/M1wJeBp3K5nBb2KwLV0i2qpzvi1NLzgzGIc7UB8B7wk/A+tdTTWr0LM8dNZoNpzdQmbiufhDEGOA/JbAO4FTimqbEh8Pygupb2Xddnwfh3GflYK9WPNjU2qJ5FkIbzZtFLhMaY04wxzxhjFhlj5hpjfGOMy/2bXFEDfDe8V4pDtXSL6umOWLT0/GBN4CHEufoQ2cQ51c4VQD1t1WOZv089bdVx25ICZgHfA65B9pU8EClOejYws5XqB99mtV+1Uv0gMNPzg2/GZ2pFkPjzposYrF2QrQS+DHwdqAXuN8YMdfDZiqIoicbzg9WQmKtNgLlIzNXbsRqlxEU78GfgSMThWgspzTGm2+vWAW5RJ6uyKdrBstbuZa39m7X2FWvtS4gHvx6yUaaiKErF4vnBKsjedeOAj5FswddiNUpJAq8ChwJLe3i+sHn0pZ4f6OxghVKKqbVVwvses2aMMYOAaHG24QDjx48flM/n68O29lwu15rP52uB6ABsy+Vybfl8fhCdg3Rl7S1hldc64E2gLp/Pg+wvZbvZAbJ9haFb8bJcLtccVo6NtttcLrcsXAuu6UO70z5FtFreXqY+RbWslD7FeZwKetoV2J7WPhUo93GqA15HtCxpn+63nxtpGH2HxWwL9hMwZ9TQPm0YLcv71IGxC6lvrae1OrrM1lN7C9UdS6hrG0JLTR3ty38AN1PT3kxt+wiaa6uwprf2xdS1tlFtR7K0i+6LqWvtwNgRLOvSvpBBLVVY072gaAfGfkrNO0Mj7Wnv0wIGt9TQ3qW9FH1qpmZcCzWD6RmDFCwdn8/nn+r2XFL+nyC554jodahkfcrlcgPe79Cpg2WMqQIuBZqstdNX8tLTkDoiXTjqqKPOp3Pz0ybg78AEwIu87E7gDuA4YPNI+z+Ax8PPju56fjnwCvAbJMPjgrD9bMQJvKybGROBhm72NYftmyGVYwvMRvYU+zKyFlzg1fBz9wb2jbS77tP5YZ8KlLtPF1Rgn4ixTwZZUqikPsVynMKT7cRS9el9O2L0B4x4zGLWqaG9dTf+++J9bPLsDszacBxzDim8sIXqeX9lm6t3Yea4sczfp9D+KbXv/IOtJ+3FWzutxeLxhfb51L/0L7a8az9e33NVmrcqtH/EsMd8Nn8sx2sHDqV1w0L7DFa9+z42fvEgXjmyjvZRhfZprDmpifXfOZjpJ1Zhl1+gprD+1R8yYuEhTDsl2qFJjLtwbRaO2Jl3jym0dWBarma7C99htaf3442JldSnHZg1ttTH6b807PwE69MHRpPw/yeSfY64oMR9OpYB4noG60qk6NpXenndecDFkcfDgVnXXnvtqSeffPKisK2QYXETcHPktYVsgavo5nlGPruLNx3enw7siRT/a6fTm55IV5YhWyF0bweZ+o+2F1IwnwKeXUH7PUhsRgHXfTq1m33l6tPDdGpZsCXtfYrzOFUjerZROX0qUO7jVA3sHv6SLUmfrrbbdiyg/nIw64BdarBnT2XdKQBTGTPjFda4sPDaQv2oyWwwbSpjXu3efi8bP1FP29TOL6zuALiDTe+ro315X5upaQfIs9mt3Wd7AG5hi+u6z/YA3MwXLo/aXpjtmcS4C6PtCxnUsphRH3/IiC7t9bRWr87iMbex2SUt4XelvU9QnuPUTM0MYPvu370CZpPc/ydI7jniBTqvQwVbStWnAeGsTIMx5gogB+xsrZ3Rz/eWo0xDPeLhTixmyk9RLV2jerqj1Fp6flAD3IgUmGxBfk3f7/p7ksJIltYdwrRTJjHuwgUMbun9HUqEKmSWZA1WfrG+CziqqbFhTlmsqhDScN50UabBhM7VAcDX+utcKYqipIFwG5RrEeeqDfmVW7HOlVI0HUBhlqz7TEbhcTvwDWC65wf7l8swpTy4KNNwJXAYkjGxyBizVnhbWXCfoihKavD8wCDnusORi+KFSByHoqyMR5CaaHO7tc9F9jL8DjADGAXkPT/4i+cHw8trolIqXDhYxyOZg48ia8mF27cdfLZL2pGAN62eWzyqpVtUT3c41zJ0ri5EAmItsixxGwneA80VLVR3zKf+pULMkTIgHgH2q6b9h5sx55Zq2n8I7Be2v41MTtyIjKejgJc9P9gpNmvTQ+LPm5nZKkdRFGUgeH7wa+DM8OGVwPXI8o+iuGRbJNt9dWR8/Q44u6mxQWPfUkpmHKywDsYE4KZcLtfa2+uVnlEt3aJ6usO1lp4fnIpc6AD+Quc2KJlgCC01+/H6nnew6X1LqEvkfm9poY9aDkNKBOwZPn4ROLSpsUGL13YjDedNF0uEaaEaqYOhVXOLR7V0i+rpDmdaen5wAp3O1Q2Ig5UZ5wqgjvaqVWneKlpMUxkYfdRyMXAG4mQtAr4IPO/5wYlhkoXSSeLPm3rAFEVRuuH5wfeRgokA/wauoLNGjqKUmgeQbNVnkGKdlwH3e36wTqxWKf1CHSxFUZQInh9MQGarQOoYXYI6V0r5mYckkV2I1FzbDSnnkLQEMqUHsuRgtSFp1XqiLB7V0i2qpzuK0tLzg0ZkuwyDVIj+HZ2VqTNHMzXtHzHssUKFcmXgFKHlJCTW6E1gJDDJ84MbPT8Y6djEtJH482ZmgtwVRVFWhucHewL/QTaRfRTJHFwap02KEqEGKRVyODI58iHw3abGhodjtUrpkcw4WOHu2McBV+VyuWWl+I6soFq6RfV0x0C19PxgF+BeJN7lCWTv0sUlMTJFjKC5NsdrB+bZ7NaF1CcyUystONRyS+C3wNrh40uA05saGxK5XUypSMN5M0tLhAbZNbvoDRwV1dIxqqc7+q2l5wdfRpYa6pFNcX+BOlcAVGHNUFo3jG66rAwMh1q+DByMxAcC/BTJNNyqyM9NG4k/b2bJwVIURemC5wdfBO5B6g+9jMxcaZiCknSagbOBk4AFwGbAM54fnOr5QWLLFmQNdbAURckknh9sjqTDjwReA34OBHHapCj9ZApwELJlTC2SlDHZ84MN4jRKEbLkYLUh2UGJzThIEaqlW1RPd/RJS88PNgIeRDbZfZsVb8ibeZqpaZ/BqndrFmHxlFDLBcBE4BxkZssDpnl+cES4j2alkvjzZmaC3BVFUQA8P1gPeAxYD3gXiWF5L1ajFMUNawPnAVuEj33g6KbGhnmxWZRhMuNghRkHpwHnJTXjIC2olm5RPd3Rm5aeH4xGllU2AmYhztWMshqZIkbQXHsQrxx5C1tcp1mExVFGLauA7wM/QEo7zAW+19TYcE8Jv7PspOG8maUlQgOMJsEZBylCtXSL6umOHrX0/GAUsiy4ETAHiblS52olVGFNHe2jNIuweMqoZQeyE8H3kJnZNYC7PT+4yvODoSX+7nKS+PNmlhwsRVEySlj1+n4krXse4ly9HqdNilJiXkcqwP87fHws8KLnB9vHZ1K2UAdLUZSKxvODYcDdwNZIQPAZwLQ4bVKUMrEMOB/4EfAxMnv7hOcHZ3l+UBOrZRkgSw5WC3A5Gd5XzCGqpVtUT3d00dLzg8HI9jc7AouQIqLPxWZdylhMXes01py0mDqNvyqSmLWcipRzeBioBn4FPOn5wSYx2OKKxJ83MxPkrrghLGI3Hln7ng081tTYoCncSuysYGxOBW4F9gaWIHsLTo7NQEVJBvsApwJDkb02TwL+3NTYEL8zUGFkxsHK5/P1yFTpqblcLlN7NrnC84NvApcBYyLNs4CJTY0Nt8VjVfrRsVk8PYzNpcBgZJnkLKSoqNIPRrK07mCmn3gzX7h8AYMTO1OQBhKm5ZrIfoZbh4/vQzINP4rPpP6RhvNmlpYIQfYaUwZAeAG7BVin21PrALeEzysDR8fmAFnJ2Bwc3t+OOlcDpgpbF7cNlUKCtJwDHIP8KGkF9gReSeF5PNHnzaw5WMoACJdeLgsfdk+JLTy+VPfAUspNL2OzwFfRc52idMcildAPA94BGoBbPT+43vODEbFaViHoSUfpC+ORpZeeLmAGWDd8naKUk97GJshyyNYreV5Rssx/gUOBGxCn63Bkqx09nxdJlhysFmT38bjXvlNFmOJ+UB9f/qVS2lLB6NgcAGGGYK6PLx9VSlsqlcXUtU5h/as1i7B4Eq5lG3Apsmw4B9lGarLnB+d7fjAoTsNWQuLPm1mqg2GBILxXVkL4D7U3UqRuPzpjWXrjIs8PDgNuBP7V1NjwfolMrDR0bPaRsHbP7sjYPAAY3se36l5sA6ADYz9kxMIOjI7NIkmJli8AByOFePdGNkHf2/ODQ5saG6bHatlnSfx5M0szWIOQWI2keuOx4vlBtecHu3t+cC3yC+Z25B9tMPAhkpG1soHcgmzRsDVwAfCe5wdTPD84PtyiROkZHZsrwfODKs8PvuL5wZXIWLwHWcYYjuyztnQlb7fIeH6h5IZWICNYVncI004ZwbKkBGenlhRp+SlS0uRUYCEwDnjW84OTPD9Iks+Q+PNmlmawlG54fmCALyOzAQcjsSoF5gFPINuLPA94wO+RC1Y03qXgdJ0BvAh8A/g6spv7+PD2B88P7gduAvymxoZFpemRUimEY/OLyNg8BInxK/AJ0IQUTZyKjOHfh8+taGxeiDj/iqL0nYeQc/qvgR2Ai4D9PD84XFcn+oY6WBnE84NxdF64xkaeWoQ4VQ+H99GZgUeQ6eJT6OqIzUUuYI+Ej28Ib6OBfZHlnM8h0817A82eH9yJOFt3NzU2JLJ+iRIPnh9sjIzNCcCmkaeWIM7UI8AUYHHkub6OTUVR+sfHyDY7BwMTgV2B6Z4fHN/U2HBjnIalAXWwMoLnBxvSeeHaIvJUM50XrsmIk9UTjwCT62jbbls+OOJZ1rm+hZpnWPHswGzgmvA2Fonl2g2pVXRQeFvo+cFtiLP1cFNjQ1sRXVRSiucHY4BvI2Nzm8hTLcCzwKPI2Ju/ko/pz9hUFKV/3Aw8CZyH/PD5p+cHOeD4psaGIFbLEkyWKrkbZK12WS6Xi7/TZcDzg9HIL48JyBRvgVZkP7YpyDTwx/353Co6GMGyuoUMaunofxjfF5CZra8Cq0Xa/4f8E98EPNnU2JCZC2NGx+ZqiJM9AdiZzqW9DmRZYjLwIDIL1WdNihybSjdUT3dUiJbVwNHA95EY7tnA4U2NDQ+W25A0nDezNINlkEJqH5HgrINi8fxgVeBA5MK1K52JDB3ANOTC9QBF6FCFNWuzcMRiRn3c0f/PmB7ezge2Q2K2xgOrI1PRPwLe9/zgRsTZejkDe2RlZWwOR8oqTAD2oOv55xXgMSTmbxYDnHkqcmwq3VA93VEhWrYDVwGPA+cgKxIPeH7wB+DUpsaGlSWcuCbx583UutEDoA7ZQTzpGRz9xvODoZ4fTPD84D9IxtQ1wNeQ4/t6+PjbyC+PvyO/OgY8IIfRUrsz7x4zjJbaIsy2wNPIMdkDiZ95GFmyXBfJYHkReNXzgzM9P9ioiO9KOpU8Ngd5ftDo+cG/kLH5D2Sz2RqkwOHfkCKH3wf+ArxHEct6jsamEqJ6uqPCtJyOXFNuDx+fALzg+UE5ayEm/ryZpRmsisLzgzpk/6gJyKzAkMjTM5HZgPuAt5EickmmDYmzeRSZ8t0d6dt2yHr/r4Ffe37wHJ01tj6IxVKlV8JaVV9FxuY3gVUiT3+A/Pq9D3iV5I9NRVFWTDMyizUZcXQ+D0z1/OAs4HdNjQ3tMdqWCNTBShHhvmu7IBeuA4FVI09/hDhVDyBLgUmsFtwXlgF3hbdhwF6Is7UVEgC9DXCh5wdTEGfr1qbGhn7FkCnuiZT8OBSJ+1sj8vQ8pKzCA0jJj8RWXlYUpd88DnwL+CUST/lbYF/PD77T1NjwTqyWxUzWHKzUlQQIL1zbIU7Vt5HyBwXmI4P7QSTbalm57OrAlOMiuRi4JbytRmeNrc0QR3MX4ErPD+5D4rXyTY0Ni3v4rKST1rEZLfmxQeTphUjW0UPhfdliM8o0NjOD6umOCtZyAXASsD/wM+TH1sueH0wE/lrCONpEnzczk0WYNjw/2ILOC9fnIk8tAp5C4pWakPpAWWMM4mztTtc6XkuB/yDO1r1NjQ1lczizhOcHn6Oz5MfmkaeWInF1DyMZqlpQVlGyx2jgXOTHF8AdwA+aGhvmxmdSPGTGwcrn81XIzMdruVwukSUAPD/YAHGoDqVzcIJ46c8gtX4eRWYHYqOGdrMDs8ZOZcyMNqrjHkAbITW2vkbX2b0FQKHG1iNJjgdIydgcTWetqu0jTxVKfkxGHKtYl2sTNjZTj+rpjoxpWQV8D9k8ugYpw3NUU2PDHa6+IA3nzSwtEdYBJyLVaBMzrej5wZp01qraMfJUG7J/WqEeUGI2qx1GS+045hzyCmtcuIDBcU95vw1cEt62RGa2dkWWFL8f3uZ6fjAJcbamJrDsQ1LHZgNdS35Ea1W9TGfJjzkkJE06YWMz9aie7siYlh3AX5EQlvOA9YH/eH7wF+CnjkI5EnnejJIlBysxeH4wEjgAmakqlFMAuUhNQ5ZXHkA2tk3EhSslvBzefocUVt0HCbpcA/lHPBGY6fnBTcBNTY0N0+IyNKl4fjAUiaOYgCQYRFPKX6OzVlVR5RQURckEbyLnkonIRMIPgN3CAPgnY7WsDKiDVSY8PxiCVDCfgFz4o7U73qTzwjUTKeamDByLxKk9hYzxXRBnYUckEPs04DTPD14F/glMynK2S1jyYy9kbO5P15IfM+gcm2ko+aEoSrJoAS5AZrx/jcTNPu75wXnA2U2NDWnNeO+VLDlYliILbPYXzw9qkay3Q5FaVcMiT79HZ62qN0nRhasDY1uonteBScPsWhuSyfYQUI8Exu8FbIsEaJ8DnOP5wdNI2YebmxobZpfZxjjG5spKfsxGpvbvR2ZUdWxmFNXTHaolTyPbY52BXBfPAPbx/ODQpsaG1wfweWU/b/aXzAS5lwvPD6qQrV8mIIMput/eHDrrAb1IemtVVQLDgb2RGlvj6Lql0KOIs3VbU2PDyjYYThVhWYXtkbF5MF2TAgI6x+ZzlLHkh6IomWNPZCVhGBI/9TPgygTGxxZFZhysfD5fg9TmeCqXyzn9RR5euL6EzFR9G9mfqcB84AkkUP1pKuDCVU9r9S7MHDeZDaY1U1sJy5mr01n2YdNIeytwDxIcf0dTY8OnpfjyUo5NWF7y41AkQ3XDyFMVV/KjAsdmrKie7lAtP8PqSFHSbcLHDwJHNDU2fNiXN5f6vOmCLC0R1gDfRQpyOjkYnh9sSmc9oI0jT31K1wtXWotfrpB62qrHMn+fqYx5tUJOFP9D9sT7G7IP4r6Is7U+EpO0P/BpuNfjjcD9TY0NLrOASjE2xyIO1QQ+W/LjaaTkx2RiLvnhmgocm7GierpDtfwM/wOOQ378/Qg55073/ODYpsaGf/fh/c7Pm67JkoPlBM8P1qPzwvXFyFPLkAP9KHLxWlBm0xQ3vA/8KbxtgjhbXwPWotOZnu/5wS3IzNaUpNTY8vxgLTpLfnw58lQbskXNZCQWLTElPxRFyTQWSTR6AinnsBFws+cHNwI/bGps+CRO44pFHaw+4PnB6sheS4cCXuSpdqRWVaGswjwSHHCn9Js3gYvD29bIMuIuSED40eHto0iNrWfKHUMQlvz4JuJURUt+dNC15Eeig0EVRck0M4DDgB+G94cCO3t+8N2mxoZH4zSsGLLkYFngVfp4kfH8YARSq2oCMnVZHfmcV5AL1/1IrapM1QPqwNhPqX0nY9kwL4S3c5HZoW8AX0Fmtn4S3t4Ja2zd2NTY8Go/Pru/Y3MIUr1+AhKoHy358Qad2anvkbGSHxkdmyVD9XSHatkrbcDlyEz7OciWaA97fnAJcPoKtj7r13kzDjIR5B6mpI9HsqZmA4+taFnH84PBSI2qQ5EL6KDI028hqev3orWqFKEWqXC+N1LYNDpepiHxWpOaGhtm9vQB/RibtcAeiFPVCAyNPP0unU7VWyQ0HkFRFKWPDAZ+jlyHQSY1Dm1qbHgZ+n7ejBtnDpYx5kdIquVawEvACdbap/v43pI5WJ4ffBO4DPGGC8wCJjY1NtwWXrh2Qy5cByDp+9HXFYosvoZeuADJhtmLt3a6l42f0GDN5dQjqcd7Ihml0dnhp+issTWn0NiHsVmFVKIvlPxoiLzuI8ThfwCpXq8lP9Cx6RrV0x2q5YD4KvALYBWkYOmZwDvI1mgrPG+W3cKV4MTBMsZ8G/g7khEwFVku+RbweWttrztol8rBCi9gtxS+JvKUDR/fixScHBV5bi5da1VV+p5R/WYkS+sOYdopkxiXhT21BsIqyEzoHsAX6LqH30NIvFYr8j8Dnx2bIDvQb0OFl/xwjY5Nt6ie7lAtB8yqSAX46F69hWt49DHAQUlyslzFYJ0EXGOtvQ7AGHMcMrX3fWRfuLITTiFeFj403Z4uPN4rvP8EuXA9hDiIS0tuoFLJfII4UTcBa9JZY2sTpILx11fy3sLY3D+8X0xnyY/HqYBaVYqiKP1gPnACMot/KnKOXNE13QKXen6QT8pyYdEOljGmDvmlfV6hzVrbYYx5kK4eZ/Q9g+garzIcYPz48YPy+Xx92Naey+Va8/l8LZ0B5gBtuVyuLZ/PD6KryF3ah7DDzkuoi04hrpAq2q8fSusN1dhPARYyqKUKa4bREt3klgUMbqmhvUt7B8YupL61ntbqetqqe2tvobpjCXVtQ2ipqaO9kO1FMzXtzdS2j6C5tgpremtfTF1rG9V2JEujwc0spq61A2NHsKxLu+s+DWNZHdiqYSyrq5Q+lfA4zRnJ0huAG5ZRs94yqvfpwOwFZg16oYqOfw6m5Z+fUj830qe6BPQpsccpHJsGoFL6tDLbS90nwYa6Vkaf4jpOoZZVUS3T3qdyHqcl1L7fQk13xyqKAdYdQstu+Xx+SthWlB8BkMvlmlfynSvFxQzWKMTwOd3a59C1KnaU04BfdW886qijzqczlqQJWUKZQNfSCHciyyfHIXvJFfgH8gv/NGD0tnzwuSmM7dX47fhg683531qFxzcz7ppRfDr8a7xzSKGtA9NyPV/6yxbMXfdLfLhfoX0ZNfNvZKubtuHDzTZh3lcL7YsY9P4tfOGO8by73Rg+2a7QPo+hr93Bpo/sxjtfHcWnmxXaZ7HKMw+w0TN78PZ+w1m2bqH9TUY90sT6r+3LGxMG0bZ8r7jnWfuOlxj9fo7XflCFXT5YH2bDSfMYuugAXj062kfXfVqXT7avwo7eg/+e/j+GvloJfSrncfo3W9y2mPrj6IXtmDVuU+Ydn4Y+JeU4GTBLqF26lNq19uP1fSqhT3Eep0lsed18Bi/eg/+ebsNlmLT3Ka7j9CzrvGkxa0W1THufynmcXmX10VNZj97Ylg/+D9lfFYr0I8K2Y3v90h4oOgbLGLM28AGwk7X2yUj774FdrLU7rOA9K5rBmjV+/Pg1Tj755EVhW1Ge5xV2h52XUHdfb/bX03rwaBYtt3sWqyyrpd2syeIuXvYMGpYNoaVLeztV9j1GtqzGkuoRNNf01r6EuvY5DGtbk8U1Q2hZ3qeF1Ld9zJD29VhQV02H6a19DsNallBnxxJENWQOw1paqbZj+KRLu/YpWX16l5HbdlB1O71QGJtp6FMlHiftk/ZJ+5ScPs1m+I7N1N5MLwyhZc8fm6mJmMFy4WDVIXEhB1lr/Uj79cBIa22uD5/hPMg9jMGaiQQJr2ha0SKZB2OTsl6bFsLBOgG4KZfLafZaP9GxWTp0bLpF9XSHalkcaTxvVvX+kpVjrW0BnkNKHQBgjKkKHz/Z0/tKTSjwxPBhdy+y8PgnSTkQKaMamW6t7u2FymfRsVlSdGy6RfV0h2pZBGk8bxbtYIVcDBxtjDnCGLMZso/bUOA6R58/IMJ0zYOQJcwos0hYOqeSLXRsKoqi9I+0nTedlGmw1v7LGLM6UqtiLaR+1F7W2u6B770x3JiVJQkMiAcHr/v5cVud/Kddd2iwE6cG5rKXLjr+0aXvv9FhYITrL8sC48ePH3TUUUfVXnvttcMbGxvren+H0gM6Nh2jY9Mtqqc7VEtnxHHeXGQHEE+VlK1y1kE8UEVRFEVRlCQxoPjwpDhYBlgbWNTba4tgOOLEjSnx92QB1dItqqc7VEu3qJ7uUC3dUk49BzSD5aqSe1GEhndfU3VKZOlxUSk2lM4SqqVbVE93qJZuUT3doVq6JQ16ugpyVxRFURRFUULUwVIURVEURXFMlhysZcDZ4b1SHKqlW1RPd6iWblE93aFauiXxeiYiyF1RFEVRFKWSyNIMlqIoiqIoSllQB0tRFEVRFMUx6mApiqIoiqI4Rh0sRVEURVEUx6iDtRKMMVXRe0VRFEVRlL6gjkMPGGN+BkwGsNZ2xGxOqjHGbG6MqY/bjkrBGKMbQTvEGDMobhsqCRMpsa0oScEYM7zc36kOVjeMMQcaY+YA5wNjjTGbxG1TWjHG5Iwx04B/A08aY44L23XcDQBjTKMxZiowyRhzjjFm27BdL2gDINRzMnCDMeaEcNN5HZ8DwBjzdWPMGcaYVay1VsdkcRhj9jPG3GKMucIY8x1jzNCwXXXtJ+H/+SPIefNcY8xmYXvJtdQTSYgxZlNjzHPAX4HTgL2AOqA1VsNSijHmJODPwB+BE4ApwEXGmKE6I9g/jDFVxpgzgasQZ/V+4IvAf4wx6w9kE9KsY4w5GbgOeBT4GJgIXG+MGWyt7dALWd8wxqxmjPkzcB9wFLA3LN9fVuknxpi1jDG3AtcA7yIbGV8E/NgYU6269h1jzNrGmDuAq4GHgBeAfYATyqVlIjZ7jhtjzAbAZcB0YHdr7XxjzFqAAXYEZhhjjA7uvmGMGQk0Audaa/8Uti0DdgZWAT6Nzbh0sjqQA4631t4OYIy5HXgEuNQYc7S1dl6cBqaJcKlgf2R8XhC27QFcgjixR8RoXtr4MvB5RLPDgP2MMU9aa9/Vc2b/MMYMAY5Frsu7WmtfD9v/COwGXG6MaVZNeydc9j8YqfK+nbX23bB9LWB0+HfJx2emZ7AKv1KttTOBCdbaI6y188On64GPCA+GDup+sQzYolvbAcBcYDNjzBrlNynVjEJ+yUYd008Aizhe+8VhVIppQ5yCjyJtjwC/Ab5rjNlBl7n6zNPAhdbafyCz/5shP670nNlPrLVLkFWTv1hrXzfG1IVP3Q9sC1Sppn3DWrsMeBD4BfBe5Klq4HFgJKH/U8r/80w6WMaYLcOlAGuMqQaw1gbR14ROVyuwYfieTGrVGwUtw7+jGl2NzK5cYYyZAXwHWAL8AXjUGLNR+a1NPt30rA6bq4C3gZ0jAdlfBZ4BbgN+VnZDU4IxZntjzEHGmHHGmGFh8+rAK8C4yP9/K7LMdQ/w+7BNL2YRetAysNbeCWCt/RfwJrCnMWab8D163uyBbnquEjafb629I/y7EJ7yeeB5a63O/PdANy0LwexvWGtfD6/zuxhj3gIOBA5HflCV/P88U4PfGDPKGHMD8CJwZtj8mXigyElhMvAlY0ytxg11pQctAbDWLrXWnoYsCVYB04DNgW9ZazcHRgBHhp+jswT0qKcFsNZOA+4FDgXuN8Y8C9yI/LK9HFizcEFThDCW5S7gTuAk5IR6HoC19j1gJhLHNi7ytk+AG4B1jTFbldPeJNODlucCWGvbw9cUwk3+AKwJHGCMqdHz5mfpQc/fAFhrFxauP5EL/1jg+fC9er6M0IOW54D8aIrotQlwK+Ks7ouEBB1pjNk9/JyS6JoZB8sYszYSdD0auAn4hjFm0+gsVoHISaEZicPStPgIK9Gyo5uWTwO7AjeFS6+Fk/DjiPOlswT0qmdhmeBi4LtIssDdwAbW2r8iPxAWI8uvClIWBJgELAK2R06ovwV2MsYcFL7sD4Qn28Iv3vD/fjZQC7SX2+4kshItPWNMY+F11tq28L4JSRzYGfh6+Bk6Wx3SFz2jTmk4Y70X8Fz4nDVhRmHW6ePYLIQBXWOt/TnwkbX2feQatIBwhapU16HMOFjW2g+RZZbfIJlt85BsweW/wgpEZrAeBraJtOuvB/qmZajVEGAOnYO42RizJvKL7IbyW55MetGzJbxfEl68fmmt/aW1dk749u2RLLjFZTc8uayDzFD92lo7M1z+vxUYTOg4WWtfRE7O+yMzgwXqkaUZ1VNYmZZdzoeR8+bl4f0hxpirgNeMMXuXyd6k02c9Q7YFhgM+gDHmLOBBnWEF+qBl9xnUiCO1HvJ/3lRKAzORRWiMqQqFPjsMJMQYcydwrDFmL2vtvUbSNgsn38JB+Ri52O0M3K6zLX3WssZa22aMaQZeBo4OszfeQbJkPkRiXTLPAMamDeM1hgFfAX4MXBZJzlDgDeDM8JdqIVvofWNMLV0vYr9Fgl1/Y4zZAXgd0fNOZIwqfddy+XkzzCD8GJlxfQ34hrX2/jLbnVT6rGfI5kiJgf2MMRcg1+wjrbUvlc3i5NIvLY0Uu65CkoJ+hVyD/hu+ryTXdpM1n6FwQTPGfB6ZMWiw1i5fh40KbYzZGLgLiR3SAd2NXrQsOFljkPo4OyIlGm601v4hPquTS1/HpjFmR+AKYH3k19vlPX5oxinoZozZAlle3c5a+05kfA4FvoUsZ30OWc6+LE6bk0pPWnZ7zRrAE0gc1knW2mtiMDUV9KZnOCN4C5KVuQT5EXZBLMYmnD5ouR5SRuTrwJbAWeW4DmViibAQFxQehMKvrDeA/yABwj8M25anZocXu7eATdW56qSvWgId4WtmWWvPRrI3PHWuutIPPaNL1M8gQcaj1bnqSlRP6LIkMB6ZoXo/1LoQM/SptfZv1trvADuqc9VJX7WMvsdaOxdZ5h6lzlVX+qtneD5YgiRnrKrOVScD0PI9pHDrrcBa5boOVcQSoTFmX2AHJEV4iu0sKlbIxijEWA0GlhjJCmxFsrB2BL5njHkYyWybC1wUudhlKgumFFqG78tkinGJxmYbcqLIHEXouT3wXPg3xpifAP+1nSnxmUu4KJWW1tqLy9qRhOBYz3etFBX+gbW2ubw9iR/HWs6w1uaR2enyXs+ttam9IVP6k4H3gdvD+1eBId1etyXwFHJx6v4Z+wKzkOKDC4B94+6Xapn+m+qZHD2ReIxXkWysnZCEgnnAbnH3S7VM/031VC177E/cghZxIMYitYH+gqz31wBrA/8DfhK+phbZtHkRcCWwZreD8UVgKjINe2LcfVItK+OmeiZOz68ALciv4VYk/iL2fqmW6b+pnqrlym5pXiJcgFyI/mytnROut85GvN/NYXmhsTeAr9hucVTWWmuMORp4C9l/cFFZrU8WC1AtXbIA1dMlCyhCT6ABmQWcAmxrrV1YNsuTxwJUS5csQPV0xQIqTMvUZBEaY3ZG1lsfsmGAqjFmpLV2Qfh3IYtgKjDJWnvJSj6rkK01yMqeRZlCtXSL6ukWV3pGXrcB0GEl0DVTqJZuUT3dkQUtE59FaGQLkeuR6sDnA+sWnrPWLohmERhjVgNWQyqI94jtDGDP1AVMtXSL6ukW13ra8NejlSKEiTnplgPV0i2qpzuypGWiHSwj+1t9C1mPPQTYGPi26dw+ZLm4IVsja7RvRz6jyzY4WUW1dIvq6RbV0x2qpVtUT3dkTctEx2BZKQT4PDDLWnuHMWZTZEPHe5FNcQER3Era5teAN8P12zqkVtBHxpjLbJi2mVVUS7eonm5RPd2hWrpF9XRH1rRMfAxWYX018vgDZCuLU2y34F9jzL1I5du5wJ+QgLkDrLVTy2hyYlEt3aJ6ukX1dIdq6RbV0x2Z0tImID2zLzegLrz/FpKC+fXIcwbYBGhG0jQ/BX4Ut81JvamWqmeSb6qnapnUm+qpWvbnlvgZrBVhjHkCEfw71tq5xphRSDzZy8B11trTYjUwRaiWblE93aJ6ukO1dIvq6Y5K1TJVDpbp3KB1C+AlZO32c4CHbCj8ts3oliz9RbV0i+rpFtXTHaqlW1RPd1S6lqlysKIYY54GtkVK6R9jrb0vZpNSi2rpFtXTLaqnO1RLt6ie7qhELRNdpmFFGGM+Z4yZBmwBHG2tXb8SDkQcqJZuUT3donq6Q7V0i+rpjkrWMnUOFtAO3AqMstZeG7cxKUe1dIvq6RbV0x2qpVtUT3dUrJapXSJUFEVRFEVJKmmcwVIURVEURUk06mApiqIoiqI4Rh0sRVEURVEUx6iDpSiKoiiK4hh1sBRFURRFURyjDpaiKIqiKIpj1MFSFEVRFEVxjDpYiqIoiqIojlEHS1EURVEUxTHqYCmKoiiKojhGHSxFURRFURTHqIOlKIqiKIriGHWwFEVRFEVRHKMOlqIoiqIoimPUwVIURVEURXGMOliKoiiKoiiOUQdLURRFURTFMf8PrO5YntjVq34AAAAASUVORK5CYII=" alt="自动驾驶 趋势图" style="width: 100%; height: auto;" />
</div>
</div>
</div></div>
</div>
<div class="footer">
<div class="footer-content">
</div>
</div>
</div>
<script>
async function saveAsImage() {
const button = event.target;
const originalText = button.textContent;
try {
button.textContent = '生成中...';
button.disabled = true;
window.scrollTo(0, 0);
// 等待页面稳定
await new Promise(resolve => setTimeout(resolve, 200));
// 截图前隐藏按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 再次等待确保按钮完全隐藏
await new Promise(resolve => setTimeout(resolve, 100));
const container = document.querySelector('.container');
const canvas = await html2canvas(container, {
backgroundColor: '#ffffff',
scale: 1.5,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
removeContainer: false,
foreignObjectRendering: false,
logging: false,
width: container.offsetWidth,
height: container.offsetHeight,
x: 0,
y: 0,
scrollX: 0,
scrollY: 0,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
buttons.style.visibility = 'visible';
const link = document.createElement('a');
const now = new Date();
const filename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}.png`;
link.download = filename;
link.href = canvas.toDataURL('image/png', 1.0);
// 触发下载
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
button.textContent = '保存成功!';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
async function saveAsMultipleImages() {
const button = event.target;
const originalText = button.textContent;
const container = document.querySelector('.container');
const scale = 1.5;
const maxHeight = 5000 / scale;
try {
button.textContent = '分析中...';
button.disabled = true;
// 获取所有可能的分割元素
const newsItems = Array.from(container.querySelectorAll('.news-item'));
const wordGroups = Array.from(container.querySelectorAll('.word-group'));
const newSection = container.querySelector('.new-section');
const errorSection = container.querySelector('.error-section');
const header = container.querySelector('.header');
const footer = container.querySelector('.footer');
// 计算元素位置和高度
const containerRect = container.getBoundingClientRect();
const elements = [];
// 添加header作为必须包含的元素
elements.push({
type: 'header',
element: header,
top: 0,
bottom: header.offsetHeight,
height: header.offsetHeight
});
// 添加错误信息(如果存在)
if (errorSection) {
const rect = errorSection.getBoundingClientRect();
elements.push({
type: 'error',
element: errorSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 按word-group分组处理news-item
wordGroups.forEach(group => {
const groupRect = group.getBoundingClientRect();
const groupNewsItems = group.querySelectorAll('.news-item');
// 添加word-group的header部分
const wordHeader = group.querySelector('.word-header');
if (wordHeader) {
const headerRect = wordHeader.getBoundingClientRect();
elements.push({
type: 'word-header',
element: wordHeader,
parent: group,
top: groupRect.top - containerRect.top,
bottom: headerRect.bottom - containerRect.top,
height: headerRect.height
});
}
// 添加每个news-item
groupNewsItems.forEach(item => {
const rect = item.getBoundingClientRect();
elements.push({
type: 'news-item',
element: item,
parent: group,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
});
});
// 添加新增新闻部分
if (newSection) {
const rect = newSection.getBoundingClientRect();
elements.push({
type: 'new-section',
element: newSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 添加footer
const footerRect = footer.getBoundingClientRect();
elements.push({
type: 'footer',
element: footer,
top: footerRect.top - containerRect.top,
bottom: footerRect.bottom - containerRect.top,
height: footer.offsetHeight
});
// 计算分割点
const segments = [];
let currentSegment = { start: 0, end: 0, height: 0, includeHeader: true };
let headerHeight = header.offsetHeight;
currentSegment.height = headerHeight;
for (let i = 1; i < elements.length; i++) {
const element = elements[i];
const potentialHeight = element.bottom - currentSegment.start;
// 检查是否需要创建新分段
if (potentialHeight > maxHeight && currentSegment.height > headerHeight) {
// 在前一个元素结束处分割
currentSegment.end = elements[i - 1].bottom;
segments.push(currentSegment);
// 开始新分段
currentSegment = {
start: currentSegment.end,
end: 0,
height: element.bottom - currentSegment.end,
includeHeader: false
};
} else {
currentSegment.height = potentialHeight;
currentSegment.end = element.bottom;
}
}
// 添加最后一个分段
if (currentSegment.height > 0) {
currentSegment.end = container.offsetHeight;
segments.push(currentSegment);
}
button.textContent = `生成中 (0/${segments.length})...`;
// 隐藏保存按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 为每个分段生成图片
const images = [];
for (let i = 0; i < segments.length; i++) {
const segment = segments[i];
button.textContent = `生成中 (${i + 1}/${segments.length})...`;
// 创建临时容器用于截图
const tempContainer = document.createElement('div');
tempContainer.style.cssText = `
position: absolute;
left: -9999px;
top: 0;
width: ${container.offsetWidth}px;
background: white;
`;
tempContainer.className = 'container';
// 克隆容器内容
const clonedContainer = container.cloneNode(true);
// 移除克隆内容中的保存按钮
const clonedButtons = clonedContainer.querySelector('.save-buttons');
if (clonedButtons) {
clonedButtons.style.display = 'none';
}
tempContainer.appendChild(clonedContainer);
document.body.appendChild(tempContainer);
// 等待DOM更新
await new Promise(resolve => setTimeout(resolve, 100));
// 使用html2canvas截取特定区域
const canvas = await html2canvas(clonedContainer, {
backgroundColor: '#ffffff',
scale: scale,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
logging: false,
width: container.offsetWidth,
height: segment.end - segment.start,
x: 0,
y: segment.start,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
images.push(canvas.toDataURL('image/png', 1.0));
// 清理临时容器
document.body.removeChild(tempContainer);
}
// 恢复按钮显示
buttons.style.visibility = 'visible';
// 下载所有图片
const now = new Date();
const baseFilename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}`;
for (let i = 0; i < images.length; i++) {
const link = document.createElement('a');
link.download = `${baseFilename}_part${i + 1}.png`;
link.href = images[i];
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
// 延迟一下避免浏览器阻止多个下载
await new Promise(resolve => setTimeout(resolve, 100));
}
button.textContent = `已保存 ${segments.length} 张图片!`;
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
console.error('分段保存失败:', error);
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
document.addEventListener('DOMContentLoaded', function() {
window.scrollTo(0, 0);
});
</script>
</body>
</html>