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">125 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">6 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">02-11 09:55</span>
</div>
</div>
</div>
<div class="content">
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">ai 人工智能</div>
<div class="word-count ">4 条</div>
</div>
<div class="word-index">1/3</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">09时55分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3765438" target="_blank" class="news-link">美股遍寻“下一个AI受害者”,周一保险经纪崩了、周二财富管理崩了,嘉信理财盘中跌超9%</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 ">7</span><span class="time-info">09时55分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2286559" target="_blank" class="news-link">阿里AI战事再加码!千问支持买电影票,下一代模型亮相在即</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">3</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">微博</span><span class="rank-num ">10</span><span class="time-info">09时55分</span>
</div>
<div class="news-title"><a href="https://s.weibo.com/weibo?q=%23Seedance2.0%E5%B1%95%E7%8E%B0%E4%B8%AD%E5%9B%BDAI%E5%8E%9A%E5%9C%9F%E4%B8%8E%E9%AB%98%E5%85%89%23&t=31&band_rank=10&Refer=top" target="_blank" class="news-link">Seedance2.0展现中国AI厚土与高光</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">4</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">13</span><span class="time-info">09时55分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2286616" target="_blank" class="news-link">持股持基过节,都买什么?Seedance带疯AI应用,资金再流向红利</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/3</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 ">26</span><span class="time-info">09时55分</span>
</div>
<div class="news-title"><a href="https://www.douyin.com/hot/2396123" 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">3/3</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">bilibili 热搜</span><span class="rank-num ">8</span><span class="time-info">09时55分</span>
</div>
<div class="news-title"><a href="https://search.bilibili.com/all?keyword=%E4%B8%AD%E5%9B%BD%E5%95%86%E4%B8%9A%E8%88%AA%E5%A4%A9%E4%BC%B0%E5%80%BC%E8%BF%87%E4%B8%87%E4%BA%BF%E8%83%8C%E5%90%8E" target="_blank" class="news-link">中国商业航天估值过万亿背后</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">继续实施好适度宽松的货币政策</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>中国央行第四季度货币政策执行报告:继续实施好适度宽松的货币政策,将常态化开展国债买卖操作</li><li>央行:继续实施好适度宽松的货币政策</li><li>【早报】央行:继续实施好适度宽松的货币政策;美联储官员最新发声</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">太平年</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>人民日报评电视剧《太平年》:纯正历史剧回归,前景可期</li><li>如何评价电视剧《太平年》44 集?</li><li>《太平年》大背景五代十国,十个政权八种钱,集市交易怎么算?</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">AI</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>为什么 AI 会建议我走路去洗车?AI 还提出过什么壮举?</li><li>为什么 AI 会建议我走路去洗车?AI 还提出过什么壮举?</li><li>影视飓风深夜发视频,未收钱过往视频却被字节用于最新模型训练,个人声音环境等数据被 AI 训练会有哪些风险?</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">AMD</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,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" alt="AMD 趋势图" 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>