You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
SoftwareEngineering/直播工具包/librtmp分析/rtmp协议规范详解 - HandsomeHong的博...

9520 lines
1.3 MiB

<!DOCTYPE html>
<html lang="zh-CN"><head><style>.login-box{position: fixed;display: none;left: 50%;top: 50%;z-index: 10000;-webkit-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%);-o-transform: translate(-50%, -50%);-moz-transform: translate(-50%, -50%);transform: translate(-50%, -50%);background-color: #fff;}.login-mark{position: fixed;top: 0;left: 0;z-index: 9999;background-color: rgba(0, 0, 0, 0.5);width: 100%;height: 100%;display: none;}</style><script type="text/javascript" async="" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/auto_dup"></script><script type="text/javascript" charset="utf-8" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/apiaccept"></script>
<meta charset="UTF-8">
<link rel="canonical" href="https://blog.csdn.net/handsomehong/article/details/79084967">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="renderer" content="webkit">
<meta name="force-rendering" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="referrer" content="always">
<meta http-equiv="Cache-Control" content="no-siteapp"><link rel="alternate" media="handheld" href="#">
<meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
<meta name="csdn-baidu-search" content="{&quot;autorun&quot;:true,&quot;install&quot;:true,&quot;keyword&quot;:&quot;rtmp协议规范详解 - HandsomeHong的博客&quot;}">
<link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON">
<title>rtmp协议规范详解 - HandsomeHong的博客 - CSDN博客</title>
<link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/detail-a0a545005c.css">
<script type="text/javascript" async="" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/icgkglf.js"></script><script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/hm.js"></script><script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/hm.js"></script><script type="application/ld+json">{"@context":"https:\/\/ziyuan.baidu.com\/contexts\/cambrian.jsonld","@id":"https:\/\/blog.csdn.net\/handsomehong\/article\/details\/79084967","appid":"1563894916825412","title":"rtmp\u534f\u8bae\u89c4\u8303\u8be6\u89e3 - HandsomeHong\u7684\u535a\u5ba2","images":["https:\/\/img-blog.csdn.net\/20140116115426000?watermark\/2\/text\/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzQ5MDU1Nw==\/font\/5a6L5L2T\/fontsize\/400\/fill\/I0JBQkFCMA==\/dissolve\/70\/gravity\/SouthEast","https:\/\/img-blog.csdn.net\/20170301092349308","https:\/\/dn-shimo-image.qbox.me\/snbWr8fGmW4I42aj\/image.png!thumbnail"],"pubDate":"2019-03-05T10:34:54"}</script>
<link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/skin3-template-9b39979775.css">
<script type="text/javascript">
var username = "HandsomeHong";
var blog_address = "https://blog.csdn.net/handsomehong";
var static_host = "https://csdnimg.cn/release/phoenix/";
var currentUserName = "";
var isShowAds = true;
var isOwner = false;
var loginUrl = "http://passport.csdn.net/account/login?from=https://blog.csdn.net/handsomehong/article/details/79084967"
var blogUrl = "https://blog.csdn.net/";
//页面皮肤样式
var curSkin = "skin3-template";
// 第四范式所需数据
var articleTitles = "rtmp协议规范详解 - HandsomeHong的博客";
var articleID = "79084967";
var nickName = "嵌入式挖掘机";
var isCorporate = false;
var subDomainBlogUrl = "https://blog.csdn.net/"
</script>
<script type="text/javascript">
// Traffic Stats of the entire Web site By baidu
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?6bcd52f51e9b3dce32bec4a3997715ac";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
// Traffic Stats of the entire Web site By baidu end
</script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/jquery-1.js" type="text/javascript"></script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/main-1.js"></script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/fixed-sidebar.js" type="text/javascript"></script>
<!-- 新版上报 -->
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/track.js" type="text/javascript"></script>
<!-- 新版上报end -->
<link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/sandalstrap.css">
<style>
.MathJax, .MathJax_Message, .MathJax_Preview{
display: none
}
</style>
<style type="text/css" id="QIHOO_FEED_CSS">newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551753296590_828 info-div{display:block}.QIHOO__WEB__SO__1551753296590_828
.singleImage{
background-color:#fff;
padding: 0px 0px 0px 0px;
overflow: hidden;
width: 852px;
height: 52px;
cursor: pointer;
position:relative;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .wrap{
position:relative;
width: 852px;
height: 52px;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .visited .singleImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-img{
width: 90px;
height: 52px;
padding: 0px 0px;
display: block;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-img-left{
float:left;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-img-right{
float:right;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-img-top{
position: absolute;
top : 0;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-img-bottom{
position: absolute;
bottom : 0;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-img .img{
width: 90px;
height: 52px;
border-radius: 3px;
position: relative;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-body{
width: 762px;
height: 52px;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-body-left{
float: left;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-body-right{
float: left;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-body-top{
position:absolute;
bottom:0;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-body-bottom{
position:absolute;
top:0;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-title{
font-size: 18px;
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
font-weight: bold;
color: #000;
padding: 0px 0px 5px 16px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-title:hover{
color: #000;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .singleImage-desc{
font-size: 14px;
font-family: Microsoft Yahei;
color: #8e959a;
display: block;
padding: 0px 0px 0px 16px;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296590_828
.singleImage .ads-tag{
position: absolute;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753296590_828 .mulImage .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage{.QIHOO__WEB__SO__1551753296590_828
padding: {paddingTop}.QIHOO__WEB__SO__1551753296590_828 px {paddingRight}.QIHOO__WEB__SO__1551753296590_828 px {paddingBottom}.QIHOO__WEB__SO__1551753296590_828 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296590_828
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296590_828
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296590_828
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296590_828
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296590_828
color: {titleFontColor};.QIHOO__WEB__SO__1551753296590_828
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296590_828 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296590_828 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296590_828 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551753296590_828
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296590_828
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551753296590_828
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296590_828
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296590_828
.mulImage .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296590_828 .mulImageWindow .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow{.QIHOO__WEB__SO__1551753296590_828
padding: {paddingTop}.QIHOO__WEB__SO__1551753296590_828 px {paddingRight}.QIHOO__WEB__SO__1551753296590_828 px {paddingBottom}.QIHOO__WEB__SO__1551753296590_828 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296590_828
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296590_828
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296590_828
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296590_828
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296590_828
color: {titleFontColor};.QIHOO__WEB__SO__1551753296590_828
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296590_828 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296590_828 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296590_828 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551753296590_828
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296590_828
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: 0px NaNpx;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-figure-img .img{
width:NaNpx;.QIHOO__WEB__SO__1551753296590_828
height:{imgH}px;.QIHOO__WEB__SO__1551753296590_828
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-figure-img .window-item__title{
display: block;
width: 100%;
position: absolute;
bottom: 0;
background-color: rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
color: #fff;.QIHOO__WEB__SO__1551753296590_828
font-size: {windowItemTitleFontSize}px;
line-height: 1.5;
text-align: center;
white-space: nowrap;
overflow:hidden;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296590_828
.mulImageWindow .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296590_828 .largeImage .visited .largeImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage{.QIHOO__WEB__SO__1551753296590_828
padding: {paddingTop}.QIHOO__WEB__SO__1551753296590_828 px {paddingRight}.QIHOO__WEB__SO__1551753296590_828 px {paddingBottom}.QIHOO__WEB__SO__1551753296590_828 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296590_828
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .largeImage-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .largeImage-title {
display: none;
overflow: hidden;.QIHOO__WEB__SO__1551753296590_828
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296590_828
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296590_828
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296590_828
color: {titleFontColor};.QIHOO__WEB__SO__1551753296590_828
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296590_828 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296590_828 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296590_828 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551753296590_828
color:{hoverColor};
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .largeImage-body{
position: relative;
vertical-align: top;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .largeImage-grid-wrap {
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551753296590_828
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296590_828
border-radius:{imageBorderRadius}px;
position: relative;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .largeImage-extra {
display: none;
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .largeImage-extra .largeImage-ad-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .largeImage-extra .largeImage-ad-src{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296590_828
.largeImage .ads-tag{
position: absolute;
display : block;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551753296671_524 info-div{display:block}.QIHOO__WEB__SO__1551753296671_524
.singleImage{
background-color:#fff;
padding: 10px 0px 0px 0px;
overflow: hidden;
width: 900px;
height: 74px;
cursor: pointer;
position:relative;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .wrap{
position:relative;
width: 900px;
height: 74px;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .visited .singleImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-img{
width: 90px;
height: 60px;
padding: 0px 0px;
display: block;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-img-left{
float:left;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-img-right{
float:right;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-img-top{
position: absolute;
top : 0;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-img-bottom{
position: absolute;
bottom : 0;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-img .img{
width: 90px;
height: 60px;
border-radius: 3px;
position: relative;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-body{
width: 810px;
height: 74px;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-body-left{
float: left;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-body-right{
float: left;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-body-top{
position:absolute;
bottom:0;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-body-bottom{
position:absolute;
top:0;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-title{
font-size: 18px;
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
font-weight: bold;
color: #000;
padding: 0px 0px 5px 16px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-title:hover{
color: #000;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .singleImage-desc{
font-size: 14px;
font-family: Microsoft Yahei;
color: #8e959a;
display: block;
padding: 0px 0px 0px 16px;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296671_524
.singleImage .ads-tag{
position: absolute;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753296671_524 .mulImage .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage{.QIHOO__WEB__SO__1551753296671_524
padding: {paddingTop}.QIHOO__WEB__SO__1551753296671_524 px {paddingRight}.QIHOO__WEB__SO__1551753296671_524 px {paddingBottom}.QIHOO__WEB__SO__1551753296671_524 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296671_524
background-color:{backgroundColor};
width: 900px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 900px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296671_524
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296671_524
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296671_524
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296671_524
color: {titleFontColor};.QIHOO__WEB__SO__1551753296671_524
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296671_524 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296671_524 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296671_524 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551753296671_524
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296671_524
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551753296671_524
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296671_524
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296671_524
.mulImage .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296671_524 .mulImageWindow .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow{.QIHOO__WEB__SO__1551753296671_524
padding: {paddingTop}.QIHOO__WEB__SO__1551753296671_524 px {paddingRight}.QIHOO__WEB__SO__1551753296671_524 px {paddingBottom}.QIHOO__WEB__SO__1551753296671_524 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296671_524
background-color:{backgroundColor};
width: 900px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 900px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296671_524
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296671_524
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296671_524
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296671_524
color: {titleFontColor};.QIHOO__WEB__SO__1551753296671_524
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296671_524 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296671_524 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296671_524 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551753296671_524
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296671_524
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: 0px NaNpx;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-figure-img .img{
width:NaNpx;.QIHOO__WEB__SO__1551753296671_524
height:{imgH}px;.QIHOO__WEB__SO__1551753296671_524
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-figure-img .window-item__title{
display: block;
width: 100%;
position: absolute;
bottom: 0;
background-color: rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
color: #fff;.QIHOO__WEB__SO__1551753296671_524
font-size: {windowItemTitleFontSize}px;
line-height: 1.5;
text-align: center;
white-space: nowrap;
overflow:hidden;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296671_524
.mulImageWindow .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296671_524 .largeImage .visited .largeImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage{.QIHOO__WEB__SO__1551753296671_524
padding: {paddingTop}.QIHOO__WEB__SO__1551753296671_524 px {paddingRight}.QIHOO__WEB__SO__1551753296671_524 px {paddingBottom}.QIHOO__WEB__SO__1551753296671_524 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296671_524
background-color:{backgroundColor};
width: 900px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .largeImage-wrapper {
position: relative;
vertical-align: top;
width: 900px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .largeImage-title {
display: none;
overflow: hidden;.QIHOO__WEB__SO__1551753296671_524
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296671_524
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296671_524
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296671_524
color: {titleFontColor};.QIHOO__WEB__SO__1551753296671_524
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296671_524 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296671_524 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296671_524 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551753296671_524
color:{hoverColor};
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .largeImage-body{
position: relative;
vertical-align: top;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .largeImage-grid-wrap {
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551753296671_524
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296671_524
border-radius:{imageBorderRadius}px;
position: relative;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .largeImage-extra {
display: none;
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .largeImage-extra .largeImage-ad-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .largeImage-extra .largeImage-ad-src{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296671_524
.largeImage .ads-tag{
position: absolute;
display : block;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551753296852_439 info-div{display:block}.QIHOO__WEB__SO__1551753296852_439
.singleImage{
background-color:#fff;
padding: 0px 0px 0px 0px;
overflow: hidden;
width: 852px;
height: 60px;
cursor: pointer;
position:relative;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .wrap{
position:relative;
width: 852px;
height: 60px;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .visited .singleImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-img{
width: 90px;
height: 60px;
padding: 0px 0px;
display: block;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-img-left{
float:left;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-img-right{
float:right;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-img-top{
position: absolute;
top : 0;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-img-bottom{
position: absolute;
bottom : 0;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-img .img{
width: 90px;
height: 60px;
border-radius: 3px;
position: relative;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-body{
width: 762px;
height: 60px;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-body-left{
float: left;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-body-right{
float: left;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-body-top{
position:absolute;
bottom:0;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-body-bottom{
position:absolute;
top:0;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-title{
font-size: 18px;
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
font-weight: bold;
color: #000;
padding: 0px 0px 5px 16px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-title:hover{
color: #000;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .singleImage-desc{
font-size: 14px;
font-family: Microsoft Yahei;
color: #8e959a;
display: block;
padding: 0px 0px 0px 16px;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296852_439
.singleImage .ads-tag{
position: absolute;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753296852_439 .mulImage .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage{.QIHOO__WEB__SO__1551753296852_439
padding: {paddingTop}.QIHOO__WEB__SO__1551753296852_439 px {paddingRight}.QIHOO__WEB__SO__1551753296852_439 px {paddingBottom}.QIHOO__WEB__SO__1551753296852_439 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296852_439
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296852_439
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296852_439
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296852_439
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296852_439
color: {titleFontColor};.QIHOO__WEB__SO__1551753296852_439
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296852_439 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296852_439 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296852_439 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551753296852_439
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296852_439
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551753296852_439
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296852_439
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296852_439
.mulImage .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296852_439 .mulImageWindow .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow{.QIHOO__WEB__SO__1551753296852_439
padding: {paddingTop}.QIHOO__WEB__SO__1551753296852_439 px {paddingRight}.QIHOO__WEB__SO__1551753296852_439 px {paddingBottom}.QIHOO__WEB__SO__1551753296852_439 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296852_439
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296852_439
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296852_439
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296852_439
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296852_439
color: {titleFontColor};.QIHOO__WEB__SO__1551753296852_439
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296852_439 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296852_439 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296852_439 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551753296852_439
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296852_439
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: 0px NaNpx;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-figure-img .img{
width:NaNpx;.QIHOO__WEB__SO__1551753296852_439
height:{imgH}px;.QIHOO__WEB__SO__1551753296852_439
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-figure-img .window-item__title{
display: block;
width: 100%;
position: absolute;
bottom: 0;
background-color: rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
color: #fff;.QIHOO__WEB__SO__1551753296852_439
font-size: {windowItemTitleFontSize}px;
line-height: 1.5;
text-align: center;
white-space: nowrap;
overflow:hidden;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296852_439
.mulImageWindow .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296852_439 .largeImage .visited .largeImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage{.QIHOO__WEB__SO__1551753296852_439
padding: {paddingTop}.QIHOO__WEB__SO__1551753296852_439 px {paddingRight}.QIHOO__WEB__SO__1551753296852_439 px {paddingBottom}.QIHOO__WEB__SO__1551753296852_439 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296852_439
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .largeImage-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .largeImage-title {
display: none;
overflow: hidden;.QIHOO__WEB__SO__1551753296852_439
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296852_439
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296852_439
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296852_439
color: {titleFontColor};.QIHOO__WEB__SO__1551753296852_439
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296852_439 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296852_439 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296852_439 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551753296852_439
color:{hoverColor};
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .largeImage-body{
position: relative;
vertical-align: top;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .largeImage-grid-wrap {
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551753296852_439
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296852_439
border-radius:{imageBorderRadius}px;
position: relative;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .largeImage-extra {
display: none;
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .largeImage-extra .largeImage-ad-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .largeImage-extra .largeImage-ad-src{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296852_439
.largeImage .ads-tag{
position: absolute;
display : block;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551753296923_62 info-div{display:block}.QIHOO__WEB__SO__1551753296923_62
.singleImage{
background-color:#fff;
padding: 0px 0px 0px 0px;
overflow: hidden;
width: 852px;
height: 60px;
cursor: pointer;
position:relative;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .wrap{
position:relative;
width: 852px;
height: 60px;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .visited .singleImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-img{
width: 90px;
height: 60px;
padding: 0px 0px;
display: block;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-img-left{
float:left;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-img-right{
float:right;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-img-top{
position: absolute;
top : 0;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-img-bottom{
position: absolute;
bottom : 0;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-img .img{
width: 90px;
height: 60px;
border-radius: 3px;
position: relative;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-body{
width: 762px;
height: 60px;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-body-left{
float: left;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-body-right{
float: left;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-body-top{
position:absolute;
bottom:0;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-body-bottom{
position:absolute;
top:0;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-title{
font-size: 18px;
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
font-weight: bold;
color: #000;
padding: 0px 0px 5px 16px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-title:hover{
color: #000;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .singleImage-desc{
font-size: 14px;
font-family: Microsoft Yahei;
color: #8e959a;
display: block;
padding: 0px 0px 0px 16px;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296923_62
.singleImage .ads-tag{
position: absolute;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753296923_62 .mulImage .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage{.QIHOO__WEB__SO__1551753296923_62
padding: {paddingTop}.QIHOO__WEB__SO__1551753296923_62 px {paddingRight}.QIHOO__WEB__SO__1551753296923_62 px {paddingBottom}.QIHOO__WEB__SO__1551753296923_62 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296923_62
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296923_62
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296923_62
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296923_62
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296923_62
color: {titleFontColor};.QIHOO__WEB__SO__1551753296923_62
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296923_62 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296923_62 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296923_62 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551753296923_62
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296923_62
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551753296923_62
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296923_62
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296923_62
.mulImage .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296923_62 .mulImageWindow .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow{.QIHOO__WEB__SO__1551753296923_62
padding: {paddingTop}.QIHOO__WEB__SO__1551753296923_62 px {paddingRight}.QIHOO__WEB__SO__1551753296923_62 px {paddingBottom}.QIHOO__WEB__SO__1551753296923_62 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296923_62
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296923_62
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296923_62
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296923_62
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296923_62
color: {titleFontColor};.QIHOO__WEB__SO__1551753296923_62
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296923_62 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296923_62 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296923_62 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551753296923_62
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296923_62
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: 0px NaNpx;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-figure-img .img{
width:NaNpx;.QIHOO__WEB__SO__1551753296923_62
height:{imgH}px;.QIHOO__WEB__SO__1551753296923_62
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-figure-img .window-item__title{
display: block;
width: 100%;
position: absolute;
bottom: 0;
background-color: rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
color: #fff;.QIHOO__WEB__SO__1551753296923_62
font-size: {windowItemTitleFontSize}px;
line-height: 1.5;
text-align: center;
white-space: nowrap;
overflow:hidden;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296923_62
.mulImageWindow .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296923_62 .largeImage .visited .largeImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage{.QIHOO__WEB__SO__1551753296923_62
padding: {paddingTop}.QIHOO__WEB__SO__1551753296923_62 px {paddingRight}.QIHOO__WEB__SO__1551753296923_62 px {paddingBottom}.QIHOO__WEB__SO__1551753296923_62 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296923_62
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .largeImage-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .largeImage-title {
display: none;
overflow: hidden;.QIHOO__WEB__SO__1551753296923_62
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296923_62
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296923_62
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296923_62
color: {titleFontColor};.QIHOO__WEB__SO__1551753296923_62
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296923_62 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296923_62 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296923_62 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551753296923_62
color:{hoverColor};
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .largeImage-body{
position: relative;
vertical-align: top;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .largeImage-grid-wrap {
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551753296923_62
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296923_62
border-radius:{imageBorderRadius}px;
position: relative;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .largeImage-extra {
display: none;
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .largeImage-extra .largeImage-ad-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .largeImage-extra .largeImage-ad-src{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296923_62
.largeImage .ads-tag{
position: absolute;
display : block;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551753296986_987 info-div{display:block}.QIHOO__WEB__SO__1551753296986_987
.singleImage{
background-color:#fff;
padding: 0px 0px 0px 0px;
overflow: hidden;
width: 852px;
height: 60px;
cursor: pointer;
position:relative;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .wrap{
position:relative;
width: 852px;
height: 60px;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .visited .singleImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-img{
width: 90px;
height: 60px;
padding: 0px 0px;
display: block;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-img-left{
float:left;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-img-right{
float:right;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-img-top{
position: absolute;
top : 0;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-img-bottom{
position: absolute;
bottom : 0;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-img .img{
width: 90px;
height: 60px;
border-radius: 3px;
position: relative;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-body{
width: 762px;
height: 60px;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-body-left{
float: left;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-body-right{
float: left;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-body-top{
position:absolute;
bottom:0;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-body-bottom{
position:absolute;
top:0;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-title{
font-size: 18px;
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
font-weight: bold;
color: #000;
padding: 0px 0px 5px 16px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-title:hover{
color: #000;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .singleImage-desc{
font-size: 14px;
font-family: Microsoft Yahei;
color: #8e959a;
display: block;
padding: 0px 0px 0px 16px;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296986_987
.singleImage .ads-tag{
position: absolute;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753296986_987 .mulImage .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage{.QIHOO__WEB__SO__1551753296986_987
padding: {paddingTop}.QIHOO__WEB__SO__1551753296986_987 px {paddingRight}.QIHOO__WEB__SO__1551753296986_987 px {paddingBottom}.QIHOO__WEB__SO__1551753296986_987 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296986_987
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296986_987
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296986_987
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296986_987
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296986_987
color: {titleFontColor};.QIHOO__WEB__SO__1551753296986_987
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296986_987 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296986_987 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296986_987 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551753296986_987
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296986_987
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551753296986_987
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296986_987
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296986_987
.mulImage .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296986_987 .mulImageWindow .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow{.QIHOO__WEB__SO__1551753296986_987
padding: {paddingTop}.QIHOO__WEB__SO__1551753296986_987 px {paddingRight}.QIHOO__WEB__SO__1551753296986_987 px {paddingBottom}.QIHOO__WEB__SO__1551753296986_987 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296986_987
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753296986_987
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296986_987
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296986_987
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296986_987
color: {titleFontColor};.QIHOO__WEB__SO__1551753296986_987
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296986_987 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296986_987 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296986_987 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551753296986_987
color: {hoverColor};
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753296986_987
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: 0px NaNpx;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-figure-img .img{
width:NaNpx;.QIHOO__WEB__SO__1551753296986_987
height:{imgH}px;.QIHOO__WEB__SO__1551753296986_987
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-figure-img .window-item__title{
display: block;
width: 100%;
position: absolute;
bottom: 0;
background-color: rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
color: #fff;.QIHOO__WEB__SO__1551753296986_987
font-size: {windowItemTitleFontSize}px;
line-height: 1.5;
text-align: center;
white-space: nowrap;
overflow:hidden;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296986_987
.mulImageWindow .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296986_987 .largeImage .visited .largeImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage{.QIHOO__WEB__SO__1551753296986_987
padding: {paddingTop}.QIHOO__WEB__SO__1551753296986_987 px {paddingRight}.QIHOO__WEB__SO__1551753296986_987 px {paddingBottom}.QIHOO__WEB__SO__1551753296986_987 px {paddingLeft}px;.QIHOO__WEB__SO__1551753296986_987
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .largeImage-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .largeImage-title {
display: none;
overflow: hidden;.QIHOO__WEB__SO__1551753296986_987
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753296986_987
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753296986_987
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753296986_987
color: {titleFontColor};.QIHOO__WEB__SO__1551753296986_987
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753296986_987 px {titlePaddingRight}.QIHOO__WEB__SO__1551753296986_987 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753296986_987 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551753296986_987
color:{hoverColor};
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .largeImage-body{
position: relative;
vertical-align: top;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .largeImage-grid-wrap {
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551753296986_987
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753296986_987
border-radius:{imageBorderRadius}px;
position: relative;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .largeImage-extra {
display: none;
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .largeImage-extra .largeImage-ad-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .largeImage-extra .largeImage-ad-src{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753296986_987
.largeImage .ads-tag{
position: absolute;
display : block;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}newsfeed{display:block;}newsfeed .img{background-size:cover;background-repeat:no-repeat;}.QIHOO__WEB__SO__1551753297058_508 info-div{display:block}.QIHOO__WEB__SO__1551753297058_508
.singleImage{
background-color:#fff;
padding: 0px 0px 0px 0px;
overflow: hidden;
width: 852px;
height: 60px;
cursor: pointer;
position:relative;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .wrap{
position:relative;
width: 852px;
height: 60px;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .visited .singleImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-img{
width: 90px;
height: 60px;
padding: 0px 0px;
display: block;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-img-left{
float:left;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-img-right{
float:right;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-img-top{
position: absolute;
top : 0;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-img-bottom{
position: absolute;
bottom : 0;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-img .img{
width: 90px;
height: 60px;
border-radius: 3px;
position: relative;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-body{
width: 762px;
height: 60px;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-body-left{
float: left;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-body-right{
float: left;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-body-top{
position:absolute;
bottom:0;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-body-bottom{
position:absolute;
top:0;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-title{
font-size: 18px;
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
font-weight: bold;
color: #000;
padding: 0px 0px 5px 16px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-title:hover{
color: #000;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .singleImage-desc{
font-size: 14px;
font-family: Microsoft Yahei;
color: #8e959a;
display: block;
padding: 0px 0px 0px 16px;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297058_508
.singleImage .ads-tag{
position: absolute;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753297058_508 .mulImage .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage{.QIHOO__WEB__SO__1551753297058_508
padding: {paddingTop}.QIHOO__WEB__SO__1551753297058_508 px {paddingRight}.QIHOO__WEB__SO__1551753297058_508 px {paddingBottom}.QIHOO__WEB__SO__1551753297058_508 px {paddingLeft}px;.QIHOO__WEB__SO__1551753297058_508
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753297058_508
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753297058_508
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753297058_508
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753297058_508
color: {titleFontColor};.QIHOO__WEB__SO__1551753297058_508
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753297058_508 px {titlePaddingRight}.QIHOO__WEB__SO__1551753297058_508 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753297058_508 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551753297058_508
color: {hoverColor};
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753297058_508
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551753297058_508
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753297058_508
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753297058_508
.mulImage .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753297058_508 .mulImageWindow .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow{.QIHOO__WEB__SO__1551753297058_508
padding: {paddingTop}.QIHOO__WEB__SO__1551753297058_508 px {paddingRight}.QIHOO__WEB__SO__1551753297058_508 px {paddingBottom}.QIHOO__WEB__SO__1551753297058_508 px {paddingLeft}px;.QIHOO__WEB__SO__1551753297058_508
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753297058_508
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753297058_508
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753297058_508
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753297058_508
color: {titleFontColor};.QIHOO__WEB__SO__1551753297058_508
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753297058_508 px {titlePaddingRight}.QIHOO__WEB__SO__1551753297058_508 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753297058_508 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551753297058_508
color: {hoverColor};
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753297058_508
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: 0px NaNpx;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-figure-img .img{
width:NaNpx;.QIHOO__WEB__SO__1551753297058_508
height:{imgH}px;.QIHOO__WEB__SO__1551753297058_508
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-figure-img .window-item__title{
display: block;
width: 100%;
position: absolute;
bottom: 0;
background-color: rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
color: #fff;.QIHOO__WEB__SO__1551753297058_508
font-size: {windowItemTitleFontSize}px;
line-height: 1.5;
text-align: center;
white-space: nowrap;
overflow:hidden;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753297058_508
.mulImageWindow .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753297058_508 .largeImage .visited .largeImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage{.QIHOO__WEB__SO__1551753297058_508
padding: {paddingTop}.QIHOO__WEB__SO__1551753297058_508 px {paddingRight}.QIHOO__WEB__SO__1551753297058_508 px {paddingBottom}.QIHOO__WEB__SO__1551753297058_508 px {paddingLeft}px;.QIHOO__WEB__SO__1551753297058_508
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .largeImage-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .largeImage-title {
display: none;
overflow: hidden;.QIHOO__WEB__SO__1551753297058_508
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753297058_508
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753297058_508
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753297058_508
color: {titleFontColor};.QIHOO__WEB__SO__1551753297058_508
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753297058_508 px {titlePaddingRight}.QIHOO__WEB__SO__1551753297058_508 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753297058_508 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551753297058_508
color:{hoverColor};
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .largeImage-body{
position: relative;
vertical-align: top;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .largeImage-grid-wrap {
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551753297058_508
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753297058_508
border-radius:{imageBorderRadius}px;
position: relative;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .largeImage-extra {
display: none;
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .largeImage-extra .largeImage-ad-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .largeImage-extra .largeImage-ad-src{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753297058_508
.largeImage .ads-tag{
position: absolute;
display : block;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753297074_741 info-div{display:block}.QIHOO__WEB__SO__1551753297074_741
.singleImage{
background-color:#fff;
padding: 0px 0px 0px 0px;
overflow: hidden;
width: 852px;
height: 60px;
cursor: pointer;
position:relative;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .wrap{
position:relative;
width: 852px;
height: 60px;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .visited .singleImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-img{
width: 90px;
height: 60px;
padding: 0px 0px;
display: block;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-img-left{
float:left;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-img-right{
float:right;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-img-top{
position: absolute;
top : 0;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-img-bottom{
position: absolute;
bottom : 0;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-img .img{
width: 90px;
height: 60px;
border-radius: 3px;
position: relative;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-body{
width: 762px;
height: 60px;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-body-left{
float: left;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-body-right{
float: left;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-body-top{
position:absolute;
bottom:0;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-body-bottom{
position:absolute;
top:0;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-title{
font-size: 18px;
font-family: Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;
font-weight: bold;
color: #000;
padding: 0px 0px 5px 16px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-title:hover{
color: #000;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .singleImage-desc{
font-size: 14px;
font-family: Microsoft Yahei;
color: #8e959a;
display: block;
padding: 0px 0px 0px 16px;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297074_741
.singleImage .ads-tag{
position: absolute;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753297074_741 .mulImage .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage{.QIHOO__WEB__SO__1551753297074_741
padding: {paddingTop}.QIHOO__WEB__SO__1551753297074_741 px {paddingRight}.QIHOO__WEB__SO__1551753297074_741 px {paddingBottom}.QIHOO__WEB__SO__1551753297074_741 px {paddingLeft}px;.QIHOO__WEB__SO__1551753297074_741
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753297074_741
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753297074_741
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753297074_741
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753297074_741
color: {titleFontColor};.QIHOO__WEB__SO__1551753297074_741
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753297074_741 px {titlePaddingRight}.QIHOO__WEB__SO__1551753297074_741 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753297074_741 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551753297074_741
color: {hoverColor};
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753297074_741
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551753297074_741
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753297074_741
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753297074_741
.mulImage .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753297074_741 .mulImageWindow .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow{.QIHOO__WEB__SO__1551753297074_741
padding: {paddingTop}.QIHOO__WEB__SO__1551753297074_741 px {paddingRight}.QIHOO__WEB__SO__1551753297074_741 px {paddingBottom}.QIHOO__WEB__SO__1551753297074_741 px {paddingLeft}px;.QIHOO__WEB__SO__1551753297074_741
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753297074_741
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753297074_741
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753297074_741
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753297074_741
color: {titleFontColor};.QIHOO__WEB__SO__1551753297074_741
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753297074_741 px {titlePaddingRight}.QIHOO__WEB__SO__1551753297074_741 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753297074_741 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551753297074_741
color: {hoverColor};
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753297074_741
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: 0px NaNpx;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-figure-img .img{
width:NaNpx;.QIHOO__WEB__SO__1551753297074_741
height:{imgH}px;.QIHOO__WEB__SO__1551753297074_741
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-figure-img .window-item__title{
display: block;
width: 100%;
position: absolute;
bottom: 0;
background-color: rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
color: #fff;.QIHOO__WEB__SO__1551753297074_741
font-size: {windowItemTitleFontSize}px;
line-height: 1.5;
text-align: center;
white-space: nowrap;
overflow:hidden;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753297074_741
.mulImageWindow .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753297074_741 .largeImage .visited .largeImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage{.QIHOO__WEB__SO__1551753297074_741
padding: {paddingTop}.QIHOO__WEB__SO__1551753297074_741 px {paddingRight}.QIHOO__WEB__SO__1551753297074_741 px {paddingBottom}.QIHOO__WEB__SO__1551753297074_741 px {paddingLeft}px;.QIHOO__WEB__SO__1551753297074_741
background-color:{backgroundColor};
width: 852px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .largeImage-wrapper {
position: relative;
vertical-align: top;
width: 852px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .largeImage-title {
display: none;
overflow: hidden;.QIHOO__WEB__SO__1551753297074_741
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753297074_741
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753297074_741
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753297074_741
color: {titleFontColor};.QIHOO__WEB__SO__1551753297074_741
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753297074_741 px {titlePaddingRight}.QIHOO__WEB__SO__1551753297074_741 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753297074_741 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551753297074_741
color:{hoverColor};
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .largeImage-body{
position: relative;
vertical-align: top;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .largeImage-grid-wrap {
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551753297074_741
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753297074_741
border-radius:{imageBorderRadius}px;
position: relative;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .largeImage-extra {
display: none;
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .largeImage-extra .largeImage-ad-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .largeImage-extra .largeImage-ad-src{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753297074_741
.largeImage .ads-tag{
position: absolute;
display : block;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753297100_165 info-div{display:block}.QIHOO__WEB__SO__1551753297100_165
.singleImage{
background-color:#fff;
padding: 10px 0px 0px 0px;
overflow: hidden;
width: 900px;
height: 74px;
cursor: pointer;
position:relative;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .wrap{
position:relative;
width: 900px;
height: 74px;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .visited .singleImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-img{
width: 90px;
height: 60px;
padding: 0px 0px;
display: block;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-img-left{
float:left;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-img-right{
float:right;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-img-top{
position: absolute;
top : 0;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-img-bottom{
position: absolute;
bottom : 0;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-img .img{
width: 90px;
height: 60px;
border-radius: 3px;
position: relative;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-body{
width: 810px;
height: 74px;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-body-left{
float: left;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-body-right{
float: left;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-body-top{
position:absolute;
bottom:0;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-body-bottom{
position:absolute;
top:0;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-title{
font-size: 16px;
font-family: Microsoft Yahei;
font-weight: bold;
color: #000;
padding: 0px 0px 5px 16px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-title:hover{
color: #000;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .singleImage-desc{
font-size: 14px;
font-family: Microsoft Yahei;
color: #8e959a;
display: block;
padding: 0px 0px 0px 16px;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297100_165
.singleImage .ads-tag{
position: absolute;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}.QIHOO__WEB__SO__1551753297100_165 .mulImage .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage{.QIHOO__WEB__SO__1551753297100_165
padding: {paddingTop}.QIHOO__WEB__SO__1551753297100_165 px {paddingRight}.QIHOO__WEB__SO__1551753297100_165 px {paddingBottom}.QIHOO__WEB__SO__1551753297100_165 px {paddingLeft}px;.QIHOO__WEB__SO__1551753297100_165
background-color:{backgroundColor};
width: 900px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 900px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753297100_165
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753297100_165
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753297100_165
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753297100_165
color: {titleFontColor};.QIHOO__WEB__SO__1551753297100_165
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753297100_165 px {titlePaddingRight}.QIHOO__WEB__SO__1551753297100_165 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753297100_165 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-title:hover {.QIHOO__WEB__SO__1551753297100_165
color: {hoverColor};
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753297100_165
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-figure-img .img{.QIHOO__WEB__SO__1551753297100_165
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753297100_165
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753297100_165
.mulImage .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753297100_165 .mulImageWindow .visited .mulimg-title{
color:#9e9e9e;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow{.QIHOO__WEB__SO__1551753297100_165
padding: {paddingTop}.QIHOO__WEB__SO__1551753297100_165 px {paddingRight}.QIHOO__WEB__SO__1551753297100_165 px {paddingBottom}.QIHOO__WEB__SO__1551753297100_165 px {paddingLeft}px;.QIHOO__WEB__SO__1551753297100_165
background-color:{backgroundColor};
width: 900px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-wrapper {
position: relative;
vertical-align: top;
width: 900px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-title {
overflow: hidden;.QIHOO__WEB__SO__1551753297100_165
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753297100_165
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753297100_165
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753297100_165
color: {titleFontColor};.QIHOO__WEB__SO__1551753297100_165
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753297100_165 px {titlePaddingRight}.QIHOO__WEB__SO__1551753297100_165 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753297100_165 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-title:hover {.QIHOO__WEB__SO__1551753297100_165
color: {hoverColor};
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-grid-wrap{
position: relative;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-figure-grid{
overflow: hidden;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-figure{
float: left;.QIHOO__WEB__SO__1551753297100_165
margin-right:{imageSplitWidth}px;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-figure-img {
overflow: hidden;
position: relative;
padding: 0px NaNpx;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-figure-img .img{
width:NaNpx;.QIHOO__WEB__SO__1551753297100_165
height:{imgH}px;.QIHOO__WEB__SO__1551753297100_165
border-radius:{imageBorderRadius}px;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-figure-img .window-item__title{
display: block;
width: 100%;
position: absolute;
bottom: 0;
background-color: rgba(0,0,0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000, endcolorstr=#88000000);
color: #fff;.QIHOO__WEB__SO__1551753297100_165
font-size: {windowItemTitleFontSize}px;
line-height: 1.5;
text-align: center;
white-space: nowrap;
overflow:hidden;
text-overflow: ellipsis;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-extra{
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-extra .mul-ads-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753297100_165
.mulImageWindow .mulimg-extra .ads-tag{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753297100_165 .largeImage .visited .largeImage-title{
color: #9e9e9e;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage{.QIHOO__WEB__SO__1551753297100_165
padding: {paddingTop}.QIHOO__WEB__SO__1551753297100_165 px {paddingRight}.QIHOO__WEB__SO__1551753297100_165 px {paddingBottom}.QIHOO__WEB__SO__1551753297100_165 px {paddingLeft}px;.QIHOO__WEB__SO__1551753297100_165
background-color:{backgroundColor};
width: 900px;
height: NaNpx;
overflow: hidden;
cursor: pointer;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .largeImage-wrapper {
position: relative;
vertical-align: top;
width: 900px;
height: NaNpx;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .largeImage-title {
display: none;
overflow: hidden;.QIHOO__WEB__SO__1551753297100_165
font-size: {titleFontSize}px;.QIHOO__WEB__SO__1551753297100_165
font-family: {titleFontFamily};.QIHOO__WEB__SO__1551753297100_165
font-weight: {titleFontWeight};.QIHOO__WEB__SO__1551753297100_165
color: {titleFontColor};.QIHOO__WEB__SO__1551753297100_165
padding: {titlePaddingTop}.QIHOO__WEB__SO__1551753297100_165 px {titlePaddingRight}.QIHOO__WEB__SO__1551753297100_165 px {titlePaddingBottom}.QIHOO__WEB__SO__1551753297100_165 px {titlePaddingLeft}px;
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
letter-spacing:0.05em;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .largeImage-title:hover {.QIHOO__WEB__SO__1551753297100_165
color:{hoverColor};
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .largeImage-body{
position: relative;
vertical-align: top;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .largeImage-grid-wrap {
position: relative;
padding: NaNpx 0px;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .largeImage-grid-wrap .img {.QIHOO__WEB__SO__1551753297100_165
width:{imgW}px;
height:NaNpx;.QIHOO__WEB__SO__1551753297100_165
border-radius:{imageBorderRadius}px;
position: relative;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .largeImage-extra {
display: none;
color: #999;
height: NaNpx;
line-height: NaNpx;
overflow: hidden;
white-space: nowrap;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .largeImage-extra .largeImage-ad-tag{
width: 30px;
color: #ddd;
font-size: 12px;
display: inline;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .largeImage-extra .largeImage-ad-src{
font-size: 12px;
color: #999;
display: inline;
}.QIHOO__WEB__SO__1551753297100_165
.largeImage .ads-tag{
position: absolute;
display : block;
top: 0;
right: 0;
width: 22px;
height: 12px;
background-image: url(//p0.ssl.qhimg.com/t01c5fc7f8612d6b610.png);
}</style><script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/share.js"></script><link rel="stylesheet" type="text/css" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/goTop.css"><style type="text/css">pre{position: relative}pre:hover .hljs-button{display: block}.hljs-button{display: none;position: absolute;right: 4px;top: 4px;font-size: 12px;color: #4d4d4d;background-color: white;padding: 2px 8px;margin: 8px;border-radius: 4px;cursor: pointer; box-shadow: 0 2px 4px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.05);}.hljs-button:after{content: attr(data-title)}</style><style type="text/css">.hljs-ln{border-collapse:collapse} .hljs-ln td{padding:0} .hljs-ln-n{text-align: right;padding-right: 8px;} .hljs-ln-n:before{content:attr(data-line-number)}</style><script charset="UTF-8" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/bwordcom"></script><script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/check-adb.js"></script><script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/baidu_opensug-1.js"></script><style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
.MathJax_Menu_Button .MathJax_Hover_Arrow {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; font-family: 'Courier New',Courier; font-size: 9px; color: #F0F0F0}
.MathJax_Menu_Button .MathJax_Hover_Arrow span {display: block; background-color: #AAA; border: 1px solid; border-radius: 3px; line-height: 0; padding: 4px}
.MathJax_Hover_Arrow:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_Hover_Arrow:hover span {background-color: #CCC!important}
</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_About.MathJax_MousePost {outline: none}
.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 2px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_MenuItem {padding: 2px 2em; background: transparent}
.MathJax_MenuArrow {position: absolute; right: .5em; padding-top: .25em; color: #666666; font-size: .75em}
.MathJax_MenuActive .MathJax_MenuArrow {color: white}
.MathJax_MenuArrow.RTL {left: .5em; right: auto}
.MathJax_MenuCheck {position: absolute; left: .7em}
.MathJax_MenuCheck.RTL {right: .7em; left: auto}
.MathJax_MenuRadioCheck {position: absolute; left: 1em}
.MathJax_MenuRadioCheck.RTL {right: 1em; left: auto}
.MathJax_MenuLabel {padding: 2px 2em 4px 1.33em; font-style: italic}
.MathJax_MenuRule {border-top: 1px solid #CCCCCC; margin: 4px 1px 0px}
.MathJax_MenuDisabled {color: GrayText}
.MathJax_MenuActive {background-color: Highlight; color: HighlightText}
.MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus {background-color: #E8E8E8}
.MathJax_ContextMenu:focus {outline: none}
.MathJax_ContextMenu .MathJax_MenuItem:focus {outline: none}
#MathJax_AboutClose {top: .2em; right: .2em}
.MathJax_Menu .MathJax_MenuClose {top: -10px; left: -10px}
.MathJax_MenuClose {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; font-family: 'Courier New',Courier; font-size: 24px; color: #F0F0F0}
.MathJax_MenuClose span {display: block; background-color: #AAA; border: 1.5px solid; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; line-height: 0; padding: 8px 0 6px}
.MathJax_MenuClose:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_MenuClose:hover span {background-color: #CCC!important}
.MathJax_MenuClose:hover:focus {outline: none}
</style><style type="text/css">.MathJax_Preview .MJXf-math {color: inherit!important}
</style><style type="text/css">.MJX_Assistive_MathML {position: absolute!important; top: 0; left: 0; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0 0 0!important; border: 0!important; height: 1px!important; width: 1px!important; overflow: hidden!important; display: block!important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none}
.MJX_Assistive_MathML.MJX_Assistive_MathML_Block {width: 100%!important}
</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
#MathJax_ZoomFrame {position: relative; display: inline-block; height: 0; width: 0}
#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
</style><style type="text/css">.MathJax_Preview {color: #888}
#MathJax_Message {position: fixed; left: 1px; bottom: 2px; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
.MathJax_Error {color: #CC0000; font-style: italic}
</style><link rel="stylesheet" type="text/css" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/check-adb.css"><script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/fuckadblock.js"></script><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><style type="text/css"></style><link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/share_style0_16.css"><style type="text/css">.MJXp-script {font-size: .8em}
.MJXp-right {-webkit-transform-origin: right; -moz-transform-origin: right; -ms-transform-origin: right; -o-transform-origin: right; transform-origin: right}
.MJXp-bold {font-weight: bold}
.MJXp-italic {font-style: italic}
.MJXp-scr {font-family: MathJax_Script,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-frak {font-family: MathJax_Fraktur,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-sf {font-family: MathJax_SansSerif,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-cal {font-family: MathJax_Caligraphic,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-mono {font-family: MathJax_Typewriter,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-largeop {font-size: 150%}
.MJXp-largeop.MJXp-int {vertical-align: -.2em}
.MJXp-math {display: inline-block; line-height: 1.2; text-indent: 0; font-family: 'Times New Roman',Times,STIXGeneral,serif; white-space: nowrap; border-collapse: collapse}
.MJXp-display {display: block; text-align: center; margin: 1em 0}
.MJXp-math span {display: inline-block}
.MJXp-box {display: block!important; text-align: center}
.MJXp-box:after {content: " "}
.MJXp-rule {display: block!important; margin-top: .1em}
.MJXp-char {display: block!important}
.MJXp-mo {margin: 0 .15em}
.MJXp-mfrac {margin: 0 .125em; vertical-align: .25em}
.MJXp-denom {display: inline-table!important; width: 100%}
.MJXp-denom > * {display: table-row!important}
.MJXp-surd {vertical-align: top}
.MJXp-surd > * {display: block!important}
.MJXp-script-box > * {display: table!important; height: 50%}
.MJXp-script-box > * > * {display: table-cell!important; vertical-align: top}
.MJXp-script-box > *:last-child > * {vertical-align: bottom}
.MJXp-script-box > * > * > * {display: block!important}
.MJXp-mphantom {visibility: hidden}
.MJXp-munderover {display: inline-table!important}
.MJXp-over {display: inline-block!important; text-align: center}
.MJXp-over > * {display: block!important}
.MJXp-munderover > * {display: table-row!important}
.MJXp-mtable {vertical-align: .25em; margin: 0 .125em}
.MJXp-mtable > * {display: inline-table!important; vertical-align: middle}
.MJXp-mtr {display: table-row!important}
.MJXp-mtd {display: table-cell!important; text-align: center; padding: .5em 0 0 .5em}
.MJXp-mtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-mlabeledtr {display: table-row!important}
.MJXp-mlabeledtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mlabeledtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 1px 3px; font-style: normal; font-size: 90%}
.MJXp-scale0 {-webkit-transform: scaleX(.0); -moz-transform: scaleX(.0); -ms-transform: scaleX(.0); -o-transform: scaleX(.0); transform: scaleX(.0)}
.MJXp-scale1 {-webkit-transform: scaleX(.1); -moz-transform: scaleX(.1); -ms-transform: scaleX(.1); -o-transform: scaleX(.1); transform: scaleX(.1)}
.MJXp-scale2 {-webkit-transform: scaleX(.2); -moz-transform: scaleX(.2); -ms-transform: scaleX(.2); -o-transform: scaleX(.2); transform: scaleX(.2)}
.MJXp-scale3 {-webkit-transform: scaleX(.3); -moz-transform: scaleX(.3); -ms-transform: scaleX(.3); -o-transform: scaleX(.3); transform: scaleX(.3)}
.MJXp-scale4 {-webkit-transform: scaleX(.4); -moz-transform: scaleX(.4); -ms-transform: scaleX(.4); -o-transform: scaleX(.4); transform: scaleX(.4)}
.MJXp-scale5 {-webkit-transform: scaleX(.5); -moz-transform: scaleX(.5); -ms-transform: scaleX(.5); -o-transform: scaleX(.5); transform: scaleX(.5)}
.MJXp-scale6 {-webkit-transform: scaleX(.6); -moz-transform: scaleX(.6); -ms-transform: scaleX(.6); -o-transform: scaleX(.6); transform: scaleX(.6)}
.MJXp-scale7 {-webkit-transform: scaleX(.7); -moz-transform: scaleX(.7); -ms-transform: scaleX(.7); -o-transform: scaleX(.7); transform: scaleX(.7)}
.MJXp-scale8 {-webkit-transform: scaleX(.8); -moz-transform: scaleX(.8); -ms-transform: scaleX(.8); -o-transform: scaleX(.8); transform: scaleX(.8)}
.MJXp-scale9 {-webkit-transform: scaleX(.9); -moz-transform: scaleX(.9); -ms-transform: scaleX(.9); -o-transform: scaleX(.9); transform: scaleX(.9)}
.MathJax_PHTML .noError {vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
</style></head>
<!-- nodata 第三栏接口无数据时样式不变 -->
<body class="nodata "><div id="BAIDU_DUP_fp_wrapper" style="position: absolute; left: -1px; bottom: -1px; z-index: 0; width: 0px; height: 0px; overflow: hidden; visibility: hidden; display: none;"><iframe id="BAIDU_DUP_fp_iframe" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/o.htm" style="width: 0px; height: 0px; visibility: hidden; display: none;"></iframe></div><div id="MathJax_Message" style="display: none;"></div><svg aria-hidden="true" style="position: absolute; width: 0px; height: 0px; overflow: hidden;"><symbol id="csdnc-zhifubao" viewBox="0 0 1756 1024"><path d="M1002.928571 659.892857c-85.285714 102.392857-173.5 165-307.214286 165s-221.892857-82.5-210.5-182c5.714286-65.392857 51.214286-173.5 247.5-156.392857 102.392857 8.5 150.785714 28.392857 236.107143 56.892857 22.785714-39.785714 39.785714-85.285714 54-130.785714L647.321429 412.607143l0-37 184.892857 0L832.214286 310 607.5 310 607.5 267.285714l224.714286 0L832.214286 170.607143c0 0 2.785714-14.214286 19.892857-14.214286l93.892857 0 0 110.892857 238.892857 0 0 39.785714-241.785714 0L943.107143 372.5l196.285714 0c-17.107143 74-45.5 142.214286-79.607143 199.107143 48.392857 17.107143 244.607143 76.785714 301.5 93.892857L1361.285714 167.785714c0-79.607143-65.392857-142.214286-142.214286-142.214286L533.607143 25.571429c-79.714286 0-142.285714 65.392857-142.285714 142.214286l0 688.392857c0 79.607143 65.392857 142.214286 142.214286 142.214286l688.392857 0c79.607143 0 142.214286-65.392857 142.214286-142.214286l0-34.214286C1315.714286 799.285714 1099.607143 705.392857 1002.928571 659.892857zM525 634.285714c-8.5 37 14.214286 125.214286 156.392857 125.214286 85.285714 0 170.714286-54 238.892857-142.214286-96.714286-48.392857-176.392857-71.107143-267.392857-71.107143C573.321429 549 533.5 597.285714 525 634.285714z"></path></symbol><symbol id="csdnc-alevel-3" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#83B53A"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2547.65059507 392.16068286v77.73361112c0 10.41846315-1.78139526 19.43340277-5.39816744 26.9908372 13.65736361 14.41310706 20.51303627 31.30937114 20.51303627 50.74277391v84.21141205c0 20.51303627-7.17956269 38.05708044-21.59266976 52.63213251s-31.84918789 21.86257812-52.36222415 21.86257812h-236.43973378c-20.51303627 0-38.05708044-7.28752604-52.63213254-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251v-23.21211998h70.71599345v23.21211998c0 2.5371387 1.24157852 3.7787172 3.77871721 3.7787172h236.43973378c2.15926698 0 3.23890047-1.24157852 3.23890047-3.7787172V547.62790509c0-2.5371387-1.07963349-3.7787172-3.23890047-3.7787172h-243.99716821V473.13319444h228.34248263c2.5371387 0 3.7787172-1.07963349 3.77871723-3.23890046V392.16068286c0-2.5371387-1.24157852-3.7787172-3.77871723-3.7787172h-220.7850482c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.7787172v28.07047069h-70.71599345v-28.07047069c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213254-21.86257812h220.7850482c20.51303627 0 38.05708044 7.28752604 52.63213254 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-2" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#94BF55"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2252.37083621 317.66597223h235.89991704c20.51303627 0 38.05708044 7.28752604 52.63213253 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251v86.37067902c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213252s-32.11909625 21.86257812-52.63213253 21.86257813h-235.89991704c-2.5371387 0-3.7787172 1.07963349-3.77871721 3.23890046v75.57434415c0 2.5371387 1.24157852 3.7787172 3.77871721 3.77871719h310.39462769v70.71599344h-384.88933835V556.26497299c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213252s32.11909625-21.86257812 52.63213254-21.86257813h235.89991704c2.5371387 0 3.7787172-1.07963349 3.77871721-3.23890046v-86.37067902c0-2.5371387-1.24157852-3.7787172-3.77871721-3.77871719h-235.89991704c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.77871719v29.15010417h-70.71599345v-29.15010417c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213254-21.86257812zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-4" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#74A828"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2500.68653836 537.9112037h54.52149113v70.71599346h-54.52149113v97.70683061h-70.71599344V608.62719716h-244.53698495V542.22973766l248.85551889-224.56376543h66.3974595v220.24523147z m-70.71599344-109.04298225l-134.41436921 109.04298225h134.41436921V428.86822145zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-1" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#9DC75F"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2272.61396409 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554H2397.31163192V420.77097029l-31.30937114 36.70753857zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-6" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#53840E"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2252.37083621 471.51374422h235.89991704c20.51303627 0 38.05708044 7.28752604 52.63213253 21.86257813s21.86257812 32.11909625 21.86257812 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213251s-32.11909625 21.86257812-52.63213253 21.86257812h-235.89991704c-20.51303627 0-38.05708044-7.28752604-52.63213254-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251V392.16068286c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213254-21.86257812h248.8555189v70.71599344h-248.8555189c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.77871719v76.11416089c0 2.15926698 1.24157852 3.23890047 3.77871721 3.23890047z m239.67863425 160.32557292V546.00845486c0-2.15926698-1.24157852-3.23890047-3.77871721-3.23890046h-239.67863425v89.06976274c0 2.5371387 1.24157852 3.7787172 3.77871721 3.7787172h235.89991704c2.5371387 0 3.7787172-1.24157852 3.77871721-3.7787172zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-8" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#BB8453"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#835327"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#835327"></path><path d="M2562.7654639 379.20508102v89.06976273c0 15.11486882-3.61677219 28.07047067-10.79633489 38.86680556 7.17956269 10.79633489 10.79633489 23.75193674 10.79633489 38.86680555v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213251s-32.11909625 21.86257812-52.63213253 21.86257812h-235.89991704c-20.51303627 0-38.05708044-7.28752604-52.63213254-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251V546.00845486c0-14.41310706 3.61677219-27.3687089 10.79633487-38.86680555a71.90359027 71.90359027 0 0 1-10.79633487-38.86680556V392.16068286c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213254-21.86257812h235.89991704c18.35376929 0 34.65623495 5.83002083 48.85341532 17.54404416s22.7802666 26.3430571 25.64129533 43.99506463z m-70.71599344 252.63423612V546.00845486c0-2.15926698-1.24157852-3.23890047-3.77871721-3.23890046h-235.89991704c-2.5371387 0-3.7787172 1.07963349-3.77871721 3.23890046v85.83086228c0 2.5371387 1.24157852 3.7787172 3.77871721 3.77871719h235.89991704c2.5371387 0 3.7787172-1.24157852 3.77871721-3.77871719z m0-158.16630596v-80.97251157c0-2.5371387-1.24157852-3.7787172-3.77871721-3.7787172h-235.89991704c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.7787172v80.97251157c0 2.5371387 1.24157852 3.7787172 3.77871721 3.77871722h235.89991704c2.5371387 0 3.7787172-1.24157852 3.77871721-3.77871722zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-9" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#A46F40"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#835327"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#835327"></path><path d="M2489.08047837 550.86680556h-236.43973379c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257813s-21.86257812-32.11909625-21.86257813-52.63213252V392.16068286c0-20.51303627 7.28752604-38.05708044 21.86257813-52.63213251s32.11909625-21.86257812 52.63213252-21.86257812h236.43973379c20.51303627 0 37.94911709 7.28752604 52.36222415 21.86257812s21.59266975 32.11909625 21.59266974 52.63213251v239.67863428c0 20.51303627-7.17956269 38.05708044-21.59266974 52.63213251s-31.84918789 21.86257812-52.36222415 21.86257812h-236.43973379c-18.35376929 0-34.5482716-6.7477093-48.58350695-20.24312789s-22.83424827-30.337701-26.45102045-50.47286554h311.47426119c2.15926698 0 3.23890047-1.24157852 3.23890046-3.7787172V554.10570602c0-2.15926698-1.07963349-3.23890047-3.23890046-3.23890046z m-239.67863426-158.7061227v84.21141205c0 2.15926698 1.07963349 3.23890047 3.23890047 3.23890045h239.67863425V392.16068286c0-2.5371387-1.07963349-3.7787172-3.23890046-3.7787172h-236.43973379c-2.15926698 0-3.23890047 1.24157852-3.23890047 3.7787172zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-5" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#65991A"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2248.592119 392.16068286v76.11416089c0 2.15926698 1.24157852 3.23890047 3.77871721 3.23890047h235.89991704c20.51303627 0 38.05708044 7.28752604 52.63213253 21.86257813s21.86257812 32.11909625 21.86257812 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213251s-32.11909625 21.86257812-52.63213253 21.86257812h-235.89991704c-20.51303627 0-38.05708044-7.28752604-52.63213254-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251v-29.15010417h70.71599345v29.15010417c0 2.5371387 1.24157852 3.7787172 3.77871721 3.7787172h235.89991704c2.5371387 0 3.7787172-1.24157852 3.77871721-3.7787172V546.00845486c0-2.15926698-1.24157852-3.23890047-3.77871721-3.23890046h-310.3946277V317.66597223h384.88933835v70.71599344h-310.39462769c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.77871719zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-7" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#CA9463"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#835327"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#835327"></path><path d="M2208.64567996 317.66597223h248.8555189c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251v314.17334491h-70.71599344V392.16068286c0-2.5371387-1.24157852-3.7787172-3.7787172-3.7787172h-248.8555189V317.66597223zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-10" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#E6A001"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#644600"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#644600"></path><path d="M2057.2270833 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857H2057.2270833z m315.79279514-139.81253663h235.89991706c20.51303627 0 38.05708044 7.55743442 52.63213252 22.67230324s21.86257812 32.92882137 21.86257813 53.44185763v235.89991706c0 20.51303627-7.28752604 38.43495215-21.86257813 53.71176601s-32.11909625 22.94221162-52.63213252 22.9422116h-235.89991706c-20.51303627 0-38.05708044-7.66539776-52.63213252-22.9422116s-21.86257812-33.19872974-21.86257812-53.71176601V393.7801331c0-20.51303627 7.28752604-38.32698882 21.86257812-53.44185763s32.11909625-22.67230325 52.63213252-22.67230324z m207.82944638 72.33544367h-207.82944638c-2.5371387 0-3.7787172 1.24157852-3.77871719 3.7787172v173.82099151l211.60816357-177.59970871z m-179.7589757 243.45735146h207.82944638c2.5371387 0 3.7787172-1.24157852 3.7787172-3.7787172V455.85905864l-211.60816358 177.59970872zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-11" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#CF9000"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#644600"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#644600"></path><path d="M2167.07979066 457.47850886l117.14023343-139.81253663h78.27342784v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857h-93.38829669z m211.06834685 0l117.14023341-139.81253663h78.27342785v388.66805554h-70.71599343V420.77097029l-31.30937116 36.70753857h-93.38829667zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-13" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#E65D00"></path><path d="M319.01716819 134.12827933h1619.45023148v53.98167437H319.01716819V134.12827933z" fill="#BE560F"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#853702"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2058.30671679 457.47850886l117.14023341-139.81253663h78.27342785v388.66805554h-70.71599343V420.77097029l-31.30937115 36.70753857h-93.38829668zM2667.22000383 392.16068286v77.73361112c0 10.41846315-1.78139526 19.43340277-5.39816744 26.9908372 13.65736361 14.41310706 20.51303627 31.30937114 20.51303627 50.74277391v84.21141205c0 20.51303627-7.17956269 38.05708044-21.59266975 52.63213251s-31.84918789 21.86257812-52.36222416 21.86257812h-236.4397338c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257812s-21.86257812-32.11909625-21.86257813-52.63213251v-23.21211998h70.71599345v23.21211998c0 2.5371387 1.24157852 3.7787172 3.7787172 3.7787172h236.4397338c2.15926698 0 3.23890047-1.24157852 3.23890046-3.7787172V547.62790509c0-2.5371387-1.07963349-3.7787172-3.23890046-3.7787172h-243.99716821V473.13319444h228.34248265c2.5371387 0 3.7787172-1.07963349 3.77871719-3.23890046V392.16068286c0-2.5371387-1.24157852-3.7787172-3.77871719-3.7787172h-220.78504824c-2.5371387 0-3.7787172 1.24157852-3.7787172 3.7787172v28.07047069h-70.71599345v-28.07047069c0-20.51303627 7.28752604-38.05708044 21.86257813-52.63213251s32.11909625-21.86257812 52.63213252-21.86257812h220.78504824c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-12" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#BB8200"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#644600"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#644600"></path><path d="M2057.2270833 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857H2057.2270833z m315.79279514-139.81253663h235.89991706c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257812s21.86257812 32.11909625 21.86257813 52.63213251v86.37067902c0 20.51303627-7.28752604 38.05708044-21.86257813 52.63213252s-32.11909625 21.86257812-52.63213252 21.86257813h-235.89991706c-2.5371387 0-3.7787172 1.07963349-3.77871719 3.23890046v75.57434415c0 2.5371387 1.24157852 3.7787172 3.77871719 3.77871719h310.39462771v70.71599344h-384.88933835V556.26497299c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213252s32.11909625-21.86257812 52.63213252-21.86257813h235.89991706c2.5371387 0 3.7787172-1.07963349 3.7787172-3.23890046v-86.37067902c0-2.5371387-1.24157852-3.7787172-3.7787172-3.77871719h-235.89991706c-2.5371387 0-3.7787172 1.24157852-3.77871719 3.77871719v29.15010417h-70.71599345v-29.15010417c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213252-21.86257812zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-15" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#BD4D00"></path><path d="M319.01716819 134.12827933h1619.45023148v53.98167437H319.01716819V134.12827933z" fill="#823500"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#853702"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2057.2270833 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857H2057.2270833z m312.01407794-65.317826v76.11416089c0 2.15926698 1.24157852 3.23890047 3.7787172 3.23890047h235.89991706c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257813s21.86257812 32.11909625 21.86257813 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257813 52.63213251s-32.11909625 21.86257812-52.63213252 21.86257812h-235.89991706c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251v-29.15010417h70.71599344v29.15010417c0 2.5371387 1.24157852 3.7787172 3.7787172 3.7787172h235.89991706c2.5371387 0 3.7787172-1.24157852 3.7787172-3.7787172V546.00845486c0-2.15926698-1.24157852-3.23890047-3.7787172-3.23890046h-310.3946277V317.66597223h384.88933835v70.71599344h-310.39462771c-2.5371387 0-3.7787172 1.24157852-3.7787172 3.77871719zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-14" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#D45600"></path><path d="M319.01716819 134.12827933h1619.45023148v53.98167437H319.01716819V134.12827933z" fill="#A44300"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#853702"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2078.54984469 457.47850886l117.1402334-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937115 36.70753857h-93.38829667z m529.02040894 80.43269484h54.52149113v70.71599346h-54.52149113v97.70683061h-70.71599343V608.62719716h-244.53698495V542.22973766l248.85551889-224.56376543h66.39745949v220.24523147z m-70.71599343-109.04298225l-134.41436922 109.04298225h134.41436922V428.86822145zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-16" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#BD4D00"></path><path d="M319.01716819 134.12827933h1619.45023148v53.98167437H319.01716819V134.12827933z" fill="#823500"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#853702"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2088.53645445 462.93065798l105.42621006-125.83128298h70.44608508v349.80125h-63.6443941V429.89387327l-28.17843403 33.03678471H2088.53645445z m284.21351562 12.63171181h212.30992535c18.46173264 0 34.27836323 6.58576427 47.34192844 19.64932948s19.64932948 28.88019579 19.64932946 47.3959101v77.24777605c0 18.46173264-6.5317826 34.22438156-19.64932946 47.34192843s-28.88019579 19.64932948-47.34192844 19.64932948h-212.30992535c-18.46173264 0-34.27836323-6.5317826-47.34192844-19.64932948s-19.64932948-28.93417747-19.64932946-47.34192843V404.14461458c0-18.46173264 6.5317826-34.27836323 19.64932946-47.34192843s28.88019579-19.64932948 47.34192844-19.64932948h223.96996702V400.79775076h-223.96996702c-2.26723033 0-3.40084548 1.13361515-3.40084548 3.40084549v68.5027448c0 1.94334027 1.13361515 2.91501042 3.40084548 2.91501041z m215.71077083 144.29301563V542.60760938c0-1.94334027-1.13361515-2.91501042-3.40084548-2.91501042h-215.71077083v80.16278646c0 2.26723033 1.13361515 3.40084548 3.40084548 3.40084548h212.30992535c2.26723033 0 3.40084548-1.13361515 3.40084548-3.40084548zM588.92554009 790.49145814V378.98915433h70.06821335v411.50230381H588.92554009zM593.08212901 274.48063271l51.06666398-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945448 38.59689718C662.55654395 351.67442708 622.17825152 306.5457473 593.08212901 274.48063271z m287.39843443 207.23564797H790.22320386v99.16433583h90.25735958V481.71628068z m68.28681809 162.10696816H790.22320386v33.25271142H726.68677311V418.77364834h222.08060842v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131616 69.47441494s-58.19224498 13.0635652-108.07131213 12.46976678a286.64269098 286.64269098 0 0 0-21.97054146-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116203-14.25116203V331.48528086H749.25111301V265.57365644h342.62168731z m441.78602315 76.59999595h-22.56433989c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170352 49.87906712a429.31625637 429.31625637 0 0 0-57.00464814-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542283 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976677 35.62790509h159.7317745v58.78604341h-88.47596432c12.46976679 17.22015413 23.75193674 33.84650985 29.68992092 47.50387346l-65.31782601 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.8170513 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.78604341-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736362 32.06511458h127.07286148v58.78604341h-77.19379435c11.28216995 18.40775097 20.78294463 36.22170352 26.12713039 51.06666395l-62.3488339 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890086 317.68215374H1325.23557867v54.03565604h215.54882581v-54.03565604z m-283.24184549 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201176v-16.0325573H1325.23557867v17.81395255h-67.69301967z m114.60309472-283.83564391h135.97983776c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123706 48.69147029z m51.06666396-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014198 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147029 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828839 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108294-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688503-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-19" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#BD4D00"></path><path d="M319.01716819 134.12827933h1619.45023148v53.98167437H319.01716819V134.12827933z" fill="#823500"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#853702"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818zM2089.77803296 462.93065798l105.42621007-125.83128298h70.44608506v349.80125h-63.64439409V429.89387327l-28.17843403 33.03678471h-84.04946701z m494.58010069 84.04946702h-212.79576042c-18.46173264 0-34.27836323-6.5317826-47.34192843-19.64932948s-19.64932948-28.88019579-19.64932948-47.34192843V404.19859625c0-18.46173264 6.5317826-34.27836323 19.64932948-47.34192842s28.88019579-19.64932948 47.34192843-19.64932948h212.79576042c18.46173264 0 34.17039988 6.58576427 47.12600173 19.64932948s19.43340277 28.88019579 19.43340279 47.34192842v215.71077084c0 18.46173264-6.47780092 34.22438156-19.43340279 47.34192843s-28.6642691 19.64932948-47.12600173 19.64932948h-212.79576042c-16.51839236 0-31.09344444-6.09992921-43.72515625-18.24580594s-20.56701794-27.26074555-23.80591839-45.39858816h280.32683506c1.94334027 0 2.91501042-1.13361515 2.91501042-3.40084548V549.89513542c0-1.94334027-0.97167014-2.91501042-2.91501042-2.91501042z m-215.7647525-142.83551042v75.79027084c0 1.94334027 0.97167014 2.91501042 2.91501041 2.91501041h215.71077084V404.14461458c0-2.26723033-0.97167014-3.40084548-2.91501042-3.40084548h-212.79576042c-1.94334027 0-2.91501042 1.13361515-2.91501041 3.40084548z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-17" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#BD4D00"></path><path d="M319.01716819 134.12827933h1619.45023148v53.98167437H319.01716819V134.12827933z" fill="#823500"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#853702"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818zM2129.34660028 462.93065798l105.42621006-125.83128298h70.44608508v349.80125h-63.6443941V429.89387327l-28.17843402 33.03678471h-84.04946702z m190.93318229-125.83128298h223.96996702c18.46173264 0 34.27836323 6.58576427 47.34192843 19.64932948s19.64932948 28.88019579 19.64932947 47.34192843v282.75601042h-63.6443941V404.09063291c0-2.26723033-1.13361515-3.40084548-3.40084548-3.40084548h-223.96996702V337.04539333z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-1" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#9DC75F"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2272.61396409 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554H2397.31163192V420.77097029l-31.30937114 36.70753857zM740.72200846 334.72418132l-46.31627661 54.03565606C671.24759354 361.44511014 621.96232482 319.28542245 585.14682288 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H553.62152504V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1285.82895638v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-20" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#BD4D00"></path><path d="M319.01716819 134.12827933h1619.45023148v53.98167437H319.01716819V134.12827933z" fill="#823500"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#853702"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2062.5172874 337.099375h212.30992535c18.46173264 0 34.27836323 6.58576427 47.34192842 19.64932948s19.64932948 28.88019579 19.64932948 47.34192843v77.73361112c0 18.46173264-6.5317826 34.22438156-19.64932948 47.34192842s-28.88019579 19.64932948-47.34192842 19.64932947h-212.30992535c-2.26723033 0-3.40084548 0.97167014-3.40084549 2.91501042v68.01690973c0 2.26723033 1.13361515 3.40084548 3.40084549 3.40084548h279.35516493v63.6443941h-346.40040452V551.73051234c0-18.46173264 6.5317826-34.22438156 19.64932947-47.34192844s28.88019579-19.64932948 47.34192844-19.64932945h212.30992535c2.26723033 0 3.40084548-0.97167014 3.40084548-2.91501042v-77.73361112c0-2.26723033-1.13361515-3.40084548-3.40084548-3.40084548h-212.30992535c-2.26723033 0-3.40084548 1.13361515-3.40084549 3.40084548v26.23509375h-63.6443941v-26.23509375c0-18.46173264 6.5317826-34.27836323 19.64932949-47.34192843s28.88019579-19.64932948 47.34192843-19.64932948z m403.29708931 0h212.30992534c18.46173264 0 34.27836323 6.80169098 47.34192844 20.40507292s19.64932948 29.63593923 19.64932948 48.09767187v212.30992535c0 18.46173264-6.5317826 34.5482716-19.64932948 48.36758025s-28.88019579 20.67498129-47.34192844 20.67498128h-212.30992534c-18.46173264 0-34.27836323-6.85567264-47.34192843-20.67498128s-19.64932948-29.85186594-19.64932949-48.36758025V405.60211979c0-18.46173264 6.5317826-34.49428993 19.64932949-48.09767187s28.88019579-20.40507292 47.34192843-20.40507292z m186.99252006 65.10189931h-187.04650173c-2.26723033 0-3.40084548 1.13361515-3.40084548 3.40084548v156.43889236l190.44734721-159.83973784z m-161.78307812 219.11161631h187.04650174c2.26723033 0 3.40084548-1.13361515 3.40084548-3.40084548V461.47315277l-190.44734722 159.83973786zM563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-alevel-18" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#BD4D00"></path><path d="M319.01716819 134.12827933h1619.45023148v53.98167437H319.01716819V134.12827933z" fill="#823500"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#853702"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M563.44618978 790.49145814V378.98915433h70.06821335v411.50230381H563.44618978zM567.60277872 274.48063271l51.06666396-34.44030824c29.0961225 30.28371932 70.66201177 73.03720544 91.44495641 99.16433583l-54.62945449 38.59689718C637.07719365 351.67442708 596.6989012 306.5457473 567.60277872 274.48063271z m287.39843441 207.23564797H764.74385356v99.16433583h90.25735957V481.71628068z m68.28681809 162.10696816H764.74385356v33.25271142H701.20742281V418.77364834h222.08060841v225.0496005z m143.10541879-378.2495924v440.00462789c0 39.1906956-8.31317785 58.19224498-31.47131617 69.47441494s-58.19224498 13.0635652-108.07131212 12.46976678a286.64269098 286.64269098 0 0 0-21.97054147-69.47441494c30.28371932 1.78139526 66.50542285 1.78139526 76.59999595 1.18759685 10.68837152 0 14.25116203-3.56279051 14.25116204-14.25116203V331.48528086H723.7717627V265.57365644h342.62168731z m441.78602315 76.59999595h-22.5643399c-11.28216995 19.5953478-23.75193674 36.22170352-36.22170349 49.87906712a429.31625637 429.31625637 0 0 0-57.00464816-37.40930034c30.28371932-29.6899209 55.22325289-76.59999595 68.28681809-122.32247415l66.50542284 15.43875887c-3.56279051 11.28216995-7.71937945 23.75193674-12.46976678 35.62790509h159.73177449v58.78604341H1585.96706594c12.46976679 17.22015413 23.75193674 33.84650985 29.68992091 47.50387346l-65.317826 23.75193672c-7.12558102-19.5953478-24.93953356-47.50387345-42.15968769-71.25581018z m-255.33331984-1.18759683h-10.68837152a532.90708951 532.90708951 0 0 1-55.81705131 74.81860069c-13.65736361-11.28216995-42.75348611-29.6899209-58.7860434-38.59689719 38.00309877-34.44030826 73.03720544-90.85115798 92.03875482-144.88681404l67.69301968 17.81395255a1290.70183449 1290.70183449 0 0 1-13.65736363 32.06511458h127.0728615v58.78604341h-77.19379437c11.28216995 18.40775097 20.78294463 36.22170352 26.12713041 51.06666395l-62.34883391 20.78294465c-5.93798418-19.00154938-20.18914622-46.91007504-34.44030827-71.8496086z m262.45890085 317.68215374h-215.5488258v54.03565604h215.5488258v-54.03565604z m-283.24184548 133.01084568V598.10077064h353.90385725v191.79688909h-70.66201177v-16.0325573h-215.5488258v17.81395255h-67.69301968z m114.60309471-283.83564391h135.97983777c-27.90852565-16.62635571-53.44185764-33.25271142-74.8186007-48.69147029-19.00154938 17.81395255-39.1906956 33.25271142-61.16123707 48.69147029z m51.06666398-134.19844251l62.34883391 27.31472723c-4.15658893 5.93798418-8.90697627 11.28216995-13.0635652 17.22015414 58.7860434 38.00309877 161.51316975 82.53798014 247.02014196 105.10232002-15.43875887 14.25116203-37.40930035 43.34728454-48.69147028 61.75503549a837.25576967 837.25576967 0 0 1-116.97828839-51.66046238v32.658913h-238.11316571V541.6899209a742.78783951 742.78783951 0 0 1-116.97828838 51.66046239c-8.90697627-16.03255729-29.6899209-45.12867979-43.94108296-57.59844655 112.22790104-33.84650985 216.14262424-93.22635166 268.39688505-162.10696818zM2088.53645445 462.93065798l105.42621006-125.83128298h70.44608508v349.80125h-63.6443941V429.89387327l-28.17843403 33.03678471H2088.53645445z m563.56868055-70.44608506v80.16278645c0 13.60338194-3.23890047 25.26342361-9.71670139 34.980125 6.47780092 9.71670139 9.71670139 21.37674306 9.71670139 34.980125v77.24777605c0 18.46173264-6.5317826 34.22438156-19.64932947 47.34192843s-28.88019579 19.64932948-47.34192844 19.64932948h-212.30992534c-18.46173264 0-34.27836323-6.5317826-47.34192844-19.64932948s-19.64932948-28.93417747-19.64932947-47.34192843V542.60760938c0-12.95560185 3.23890047-24.61564352 9.71670139-34.980125a64.61606423 64.61606423 0 0 1-9.71670139-34.980125V404.14461458c0-18.46173264 6.5317826-34.27836323 19.64932947-47.34192843s28.88019579-19.64932948 47.34192844-19.64932948h212.30992534c16.51839236 0 31.2014078 5.2902041 43.99506462 15.8166306s20.51303627 23.69795505 23.10415665 39.622549z m-63.6443941 227.3708125V542.60760938c0-1.94334027-1.13361515-2.91501042-3.40084548-2.91501042h-212.30992535c-2.26723033 0-3.40084548 0.97167014-3.40084548 2.91501042v77.24777604c0 2.26723033 1.13361515 3.40084548 3.40084548 3.40084548h212.30992535c2.26723033 0 3.40084548-1.13361515 3.40084548-3.40084548z m0-142.34967535v-72.87526042c0-2.26723033-1.13361515-3.40084548-3.40084548-3.40084548h-212.30992535c-2.26723033 0-3.40084548 1.13361515-3.40084548 3.40084548v72.87526042c0 2.26723033 1.13361515 3.40084548 3.40084548 3.40084549h212.30992535c2.26723033 0 3.40084548-1.13361515 3.40084548-3.40084549z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-3" viewBox="0 0 3072 1024"><path d="M379.80077493 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H379.80077493a107.96334877 107.96334877 0 0 1-107.96334878-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334878-107.96334877z" fill="#83B53A"></path><path d="M1945.26933204 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1945.26933204V134.12827933z" fill="#2D5315"></path><path d="M2554.45252744 392.16068286v77.73361112c0 10.41846315-1.78139526 19.43340277-5.39816745 26.9908372 13.65736361 14.41310706 20.51303627 31.30937114 20.51303628 50.74277391v84.21141205c0 20.51303627-7.17956269 38.05708045-21.59266976 52.63213251s-31.84918789 21.86257811-52.36222415 21.86257812h-236.43973379c-20.51303627 0-38.05708045-7.28752604-52.63213253-21.86257812s-21.86257811-32.11909625-21.86257813-52.63213251v-23.21211997h70.71599345v23.21211997c0 2.5371387 1.24157852 3.7787172 3.77871721 3.7787172h236.43973379c2.15926698 0 3.23890047-1.24157852 3.23890046-3.7787172V547.62790509c0-2.5371387-1.07963349-3.7787172-3.23890046-3.7787172h-243.99716821V473.13319444h228.34248263c2.5371387 0 3.7787172-1.07963349 3.77871722-3.23890046V392.16068286c0-2.5371387-1.24157852-3.7787172-3.77871722-3.7787172h-220.78504821c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.7787172v28.07047069h-70.71599345v-28.07047069c0-20.51303627 7.28752604-38.05708045 21.86257813-52.63213251s32.11909625-21.86257811 52.63213253-21.86257812h220.78504821c20.51303627 0 38.05708045 7.28752604 52.63213253 21.86257812s21.86257811 32.11909625 21.86257813 52.63213251zM747.52394083 334.72418133l-46.31627661 54.03565605C678.0495259 361.44511014 628.76425719 319.28542245 591.94875525 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.0387548z m-37.46328204 314.1733449l48.09767189-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170352-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.0961225-64.72402757V486.79055805H560.4234574V419.09753838h149.63720139v229.79998785z m190.60929226-413.87749748l74.81860069 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696819 179.32712229-16.62635571 11.87596835-39.1906956 38.00309877-50.47286555 55.22325289-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634761-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867978v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627662 59.97364023a1478.93593305 1478.93593305 0 0 1-185.8589049 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930036-83.13177854 15.43875887 11.87596835 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193268-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192863-217.92401948z m770.75034683 42.15968769v67.69301967h-287.39843441V277.17971644h287.39843441z m-323.56615624 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154939-73.03720544c19.59534781-6.5317826 42.75348611-16.03255729 68.88061651-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123706v67.09922125H1292.63088875v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061652 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533564 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.12713041-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301968-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937134a1135.28859394 1135.28859394 0 0 1-88.47596431 171.60774287l143.10541878-16.0325573c-11.87596835-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-5" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#65991A"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2248.592119 392.16068286v76.11416089c0 2.15926698 1.24157852 3.23890047 3.77871721 3.23890047h235.89991704c20.51303627 0 38.05708044 7.28752604 52.63213253 21.86257813s21.86257812 32.11909625 21.86257812 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213251s-32.11909625 21.86257812-52.63213253 21.86257812h-235.89991704c-20.51303627 0-38.05708044-7.28752604-52.63213254-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251v-29.15010417h70.71599345v29.15010417c0 2.5371387 1.24157852 3.7787172 3.77871721 3.7787172h235.89991704c2.5371387 0 3.7787172-1.24157852 3.77871721-3.7787172V546.00845486c0-2.15926698-1.24157852-3.23890047-3.77871721-3.23890046h-310.3946277V317.66597223h384.88933835v70.71599344h-310.39462769c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.77871719zM740.72200846 334.72418132l-46.31627661 54.03565606C671.24759354 361.44511014 621.96232482 319.28542245 585.14682288 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H553.62152504V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1285.82895638v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-2" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#94BF55"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2252.37083621 317.66597223h235.89991704c20.51303627 0 38.05708044 7.28752604 52.63213253 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251v86.37067902c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213252s-32.11909625 21.86257812-52.63213253 21.86257813h-235.89991704c-2.5371387 0-3.7787172 1.07963349-3.77871721 3.23890046v75.57434415c0 2.5371387 1.24157852 3.7787172 3.77871721 3.77871719h310.39462769v70.71599344h-384.88933835V556.26497299c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213252s32.11909625-21.86257812 52.63213254-21.86257813h235.89991704c2.5371387 0 3.7787172-1.07963349 3.77871721-3.23890046v-86.37067902c0-2.5371387-1.24157852-3.7787172-3.77871721-3.77871719h-235.89991704c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.77871719v29.15010417h-70.71599345v-29.15010417c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213254-21.86257812zM740.72200846 334.72418132l-46.31627661 54.03565606C671.24759354 361.44511014 621.96232482 319.28542245 585.14682288 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H553.62152504V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1285.82895638v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-4" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#74A828"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2500.68653836 537.9112037h54.52149113v70.71599346h-54.52149113v97.70683061h-70.71599344V608.62719716h-244.53698495V542.22973766l248.85551889-224.56376543h66.3974595v220.24523147z m-70.71599344-109.04298225l-134.41436921 109.04298225h134.41436921V428.86822145zM740.72200846 334.72418132l-46.31627661 54.03565606C671.24759354 361.44511014 621.96232482 319.28542245 585.14682288 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H553.62152504V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1285.82895638v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-6" viewBox="0 0 3072 1024"><path d="M372.99884256 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#53840E"></path><path d="M1938.46739967 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1938.46739967V134.12827933z" fill="#2D5315"></path><path d="M2252.37083621 471.51374422h235.89991704c20.51303627 0 38.05708044 7.28752604 52.63213253 21.86257813s21.86257812 32.11909625 21.86257812 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213251s-32.11909625 21.86257812-52.63213253 21.86257812h-235.89991704c-20.51303627 0-38.05708044-7.28752604-52.63213254-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251V392.16068286c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213254-21.86257812h248.8555189v70.71599344h-248.8555189c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.77871719v76.11416089c0 2.15926698 1.24157852 3.23890047 3.77871721 3.23890047z m239.67863425 160.32557292V546.00845486c0-2.15926698-1.24157852-3.23890047-3.77871721-3.23890046h-239.67863425v89.06976274c0 2.5371387 1.24157852 3.7787172 3.77871721 3.7787172h235.89991704c2.5371387 0 3.7787172-1.24157852 3.77871721-3.7787172zM740.72200846 334.72418132l-46.31627661 54.03565606C671.24759354 361.44511014 621.96232482 319.28542245 585.14682288 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H553.62152504V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1285.82895638v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-7" viewBox="0 0 3072 1024"><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#835327"></path><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#CA9463"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#835327"></path><path d="M2208.64567996 317.66597223h248.8555189c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251v314.17334491h-70.71599344V392.16068286c0-2.5371387-1.24157852-3.7787172-3.7787172-3.7787172h-248.8555189V317.66597223zM740.72200846 334.72418132l-46.31627661 54.03565606C671.24759354 361.44511014 621.96232482 319.28542245 585.14682288 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H553.62152504V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1285.82895638v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-8" viewBox="0 0 3072 1024"><path d="M319.72286544 135.18348298h1614.92793006v753.63303404H319.72286544V135.18348298z" fill="#BB8453"></path><path d="M1934.6507955 135.18348298h861.29489603v753.63303404H1934.6507955z" fill="#835327"></path><path d="M373.55379643 135.18348298a53.830931 53.830931 0 0 0-53.83093099 53.830931v645.97117203a53.830931 53.830931 0 0 0 53.83093101 53.83093101h2368.56096409a53.830931 53.830931 0 0 0 53.83093099-53.83093101V189.01441398a53.830931 53.830931 0 0 0-53.83093099-53.830931H373.55379643z m2e-8-53.830931h2368.56096409a107.66186201 107.66186201 0 0 1 107.66186199 107.661862v645.97117203a107.66186201 107.66186201 0 0 1-107.66186199 107.66186201H373.55379643a107.66186201 107.66186201 0 0 1-107.66186199-107.66186201V189.01441398a107.66186201 107.66186201 0 0 1 107.66186201-107.661862z" fill="#835327"></path><path d="M2557.20551255 379.57590974v88.82103615c0 15.07266068-3.60667238 27.99208412-10.76618621 38.75827032 7.15951383 10.7661862 10.7661862 23.68560964 10.76618621 38.75827032v85.5911803c0 20.45575377-7.26717569 37.95080636-21.80152706 52.48515772s-32.02940395 21.80152706-52.48515774 21.80152706h-235.24116847c-20.45575377 0-37.95080636-7.26717569-52.48515773-21.80152706s-21.80152706-32.02940395-21.80152705-52.48515772V545.91348653c0-14.37285859 3.60667238-27.29228202 10.7661862-38.75827032a71.70280009 71.70280009 0 0 1-10.7661862-38.75827032V392.49533317c0-20.45575377 7.26717569-37.95080636 21.80152705-52.48515772s32.02940395-21.80152706 52.48515773-21.80152706h235.24116847c18.30251654 0 34.5594577 5.81374055 48.71699256 17.49505257s22.71665288 26.26949432 25.56969224 43.87220878z m-70.51851962 251.92875709V545.91348653c0-2.15323724-1.23811143-3.22985586-3.76816518-3.22985586h-235.24116847c-2.53005376 0-3.76816517 1.07661862-3.76816517 3.22985586v85.5911803c0 2.53005376 1.23811143 3.76816517 3.76816517 3.76816517h235.24116847c2.53005376 0 3.76816517-1.23811143 3.76816518-3.76816517z m0-157.72462785v-80.74639649c0-2.53005376-1.23811143-3.76816517-3.76816518-3.76816518h-235.24116847c-2.53005376 0-3.76816517 1.23811143-3.76816517 3.76816518v80.74639649c0 2.53005376 1.23811143 3.76816517 3.76816517 3.76816518h235.24116847c2.53005376 0 3.76816517-1.23811143 3.76816518-3.76816518zM740.25009843 335.21922259l-46.1869388 53.88476194C670.96969022 361.86553343 621.82205022 319.82357632 585.10935529 290.21656427l43.22623759-46.77907904c36.71269495 26.64631085 87.63675567 65.72756677 111.91450555 91.78173736z m-37.35866612 313.29601843l47.96335953-38.48911567c5.92140241 18.94848771 17.172067 46.77907904 24.27774987 60.39830458-103.62454219 85.26819472-122.5730299 101.84812146-132.63941398 116.65162748-6.51354266-14.21136578-24.86989012-39.67339615-36.12055472-49.14764 13.0270853-10.65852434 29.01487181-32.56771326 29.01487184-64.54328628V486.86095522H553.67209157V419.35696774h149.21934074v229.15827328z m190.07701737-412.721748l74.60967037 13.61922555c-2.96070121 5.92140241-5.92140241 12.43494506-8.88210361 18.35634748 35.52841446 67.50398747 100.07170074 139.15295665 161.6542858 178.82635278-16.57992675 11.84280482-39.0812559 37.89697542-50.33192049 55.06904242-53.29262169-40.26553639-106.58524338-102.4402617-146.85077977-169.35210894-28.42273157 45.00265832-61.58258506 88.22889592-103.03240194 127.31015183h45.00265831v100.66384097c48.55549976-23.68560964 101.84812146-53.29262169 139.15295664-79.93893254l46.18693879 59.80616434a1474.80601666 1474.80601666 0 0 1-185.33989543 89.41317639v52.70048145c0 24.27774988 5.32926217 28.42273157 37.30483519 28.42273158h94.15029832c28.42273157 0 33.15985349-12.43494506 37.30483518-82.89963375 15.39564627 11.84280482 44.41051808 23.0934694 63.35900579 27.23845108-8.28996337 92.3738776-27.83059133 119.02018845-95.33457881 119.02018846h-107.17738362c-78.16251182 0-100.07170074-21.31704868-100.07170073-91.18959711V482.71597353c-10.0663841 8.28996337-20.72490844 16.57992675-30.79129254 24.86989012-10.0663841-16.57992675-31.97557301-43.22623759-47.37121927-54.47690217a511.50150639 511.50150639 0 0 0 176.45779181-217.31546846z m768.59803285 42.04195712v67.50398747h-286.59587665V277.83545014h286.59587665z m-322.66260043 296.66226076l15.39564627 62.1747253c-65.72756677 31.97557301-137.37653592 65.13542651-194.22199906 90.59745689l-18.94848771-72.83324967c19.54062796-6.51354266 42.63409735-15.98778651 68.68826796-26.05417059V440.67401642h-63.95114603V373.76216919h63.95114603V245.85987712h74.01753013v127.90229207h60.99044483v66.91184724H1283.83483969v157.5093041c18.35634747-7.69782312 36.71269495-15.98778651 55.06904241-23.68560963z m361.79768727 185.33989543l-68.68826797 28.42273157a978.64632561 978.64632561 0 0 0-21.31704868-56.25332289c-196.59056002 25.46203037-227.9739928 30.79129253-248.69890122 40.26553638v-1.18428048a694.365179 694.365179 0 0 0-26.05417061-72.83324964c14.80350603-4.14498169 25.46203037-17.76420723 39.67339615-39.67339615 12.43494506-18.35634747 43.81837783-78.75465207 67.50398749-144.48221881h-93.55815809V446.00327859h341.07277883v68.09612772h-160.47000532a1132.11830991 1132.11830991 0 0 1-88.2288959 171.12852966l142.70579808-15.98778653c-11.84280482-26.05417061-23.68560964-53.29262169-34.93627422-76.38609107l63.35900578-23.68560964c30.1991523 60.39830458 69.28040821 141.52151761 87.63675568 190.6691576z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-10" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#E6A001"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#644600"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#644600"></path><path d="M2057.2270833 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857H2057.2270833z m315.79279514-139.81253663h235.89991706c20.51303627 0 38.05708044 7.55743442 52.63213252 22.67230324s21.86257812 32.92882137 21.86257813 53.44185763v235.89991706c0 20.51303627-7.28752604 38.43495215-21.86257813 53.71176601s-32.11909625 22.94221162-52.63213252 22.9422116h-235.89991706c-20.51303627 0-38.05708044-7.66539776-52.63213252-22.9422116s-21.86257812-33.19872974-21.86257812-53.71176601V393.7801331c0-20.51303627 7.28752604-38.32698882 21.86257812-53.44185763s32.11909625-22.67230325 52.63213252-22.67230324z m207.82944638 72.33544367h-207.82944638c-2.5371387 0-3.7787172 1.24157852-3.77871719 3.7787172v173.82099151l211.60816357-177.59970871z m-179.7589757 243.45735146h207.82944638c2.5371387 0 3.7787172-1.24157852 3.7787172-3.7787172V455.85905864l-211.60816358 177.59970872zM740.72200846 334.72418132l-46.31627661 54.03565606C671.24759354 361.44511014 621.96232482 319.28542245 585.14682288 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H553.62152504V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1285.82895638v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-9" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#A46F40"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#835327"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#835327"></path><path d="M2489.08047837 550.86680556h-236.43973379c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257813s-21.86257812-32.11909625-21.86257813-52.63213252V392.16068286c0-20.51303627 7.28752604-38.05708044 21.86257813-52.63213251s32.11909625-21.86257812 52.63213252-21.86257812h236.43973379c20.51303627 0 37.94911709 7.28752604 52.36222415 21.86257812s21.59266975 32.11909625 21.59266974 52.63213251v239.67863428c0 20.51303627-7.17956269 38.05708044-21.59266974 52.63213251s-31.84918789 21.86257812-52.36222415 21.86257812h-236.43973379c-18.35376929 0-34.5482716-6.7477093-48.58350695-20.24312789s-22.83424827-30.337701-26.45102045-50.47286554h311.47426119c2.15926698 0 3.23890047-1.24157852 3.23890046-3.7787172V554.10570602c0-2.15926698-1.07963349-3.23890047-3.23890046-3.23890046z m-239.67863426-158.7061227v84.21141205c0 2.15926698 1.07963349 3.23890047 3.23890047 3.23890045h239.67863425V392.16068286c0-2.5371387-1.07963349-3.7787172-3.23890046-3.7787172h-236.43973379c-2.15926698 0-3.23890047 1.24157852-3.23890047 3.7787172zM740.72200846 334.72418132l-46.31627661 54.03565606C671.24759354 361.44511014 621.96232482 319.28542245 585.14682288 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H553.62152504V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1285.82895638v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-11" viewBox="0 0 3072 1024"><path d="M319.01716819 134.12827933h1619.45023148v755.74344134H319.01716819V134.12827933z" fill="#CF9000"></path><path d="M1938.46739967 134.12827933h863.70679011v755.74344134H1938.46739967z" fill="#644600"></path><path d="M372.99884256 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H372.99884256z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H372.99884256a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#644600"></path><path d="M2167.07979066 457.47850886l117.14023343-139.81253663h78.27342784v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857h-93.38829669z m211.06834685 0l117.14023341-139.81253663h78.27342785v388.66805554h-70.71599343V420.77097029l-31.30937116 36.70753857h-93.38829667zM740.72200846 334.72418132l-46.31627661 54.03565606C671.24759354 361.44511014 621.96232482 319.28542245 585.14682288 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H553.62152504V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1285.82895638v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-12" viewBox="0 0 3072 1024"><path d="M304.79494597 134.12827933h1619.45023148v755.74344134H304.79494597V134.12827933z" fill="#BB8200"></path><path d="M1924.24517745 134.12827933h863.70679011v755.74344134H1924.24517745z" fill="#644600"></path><path d="M358.77662034 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H358.77662034z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H358.77662034a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#644600"></path><path d="M2043.00486108 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857H2043.00486108z m315.79279514-139.81253663h235.89991706c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257812s21.86257812 32.11909625 21.86257813 52.63213251v86.37067902c0 20.51303627-7.28752604 38.05708044-21.86257813 52.63213252s-32.11909625 21.86257812-52.63213252 21.86257813h-235.89991706c-2.5371387 0-3.7787172 1.07963349-3.77871719 3.23890046v75.57434415c0 2.5371387 1.24157852 3.7787172 3.77871719 3.77871719h310.39462771v70.71599344h-384.88933835V556.26497299c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213252s32.11909625-21.86257812 52.63213252-21.86257813h235.89991706c2.5371387 0 3.7787172-1.07963349 3.7787172-3.23890046v-86.37067902c0-2.5371387-1.24157852-3.7787172-3.7787172-3.77871719h-235.89991706c-2.5371387 0-3.7787172 1.24157852-3.77871719 3.77871719v29.15010417h-70.71599345v-29.15010417c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213252-21.86257812zM726.49978624 334.72418132l-46.31627661 54.03565606C657.02537132 361.44511014 607.7401026 319.28542245 570.92460066 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H539.39930282V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1271.60673416v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-13" viewBox="0 0 3072 1024"><path d="M302.4245756 134.12827933h1619.45023148v755.74344134H302.4245756V134.12827933z" fill="#E65D00"></path><path d="M302.4245756 134.12827933h1619.45023148v53.98167437H302.4245756V134.12827933z" fill="#BE560F"></path><path d="M1921.87480708 134.12827933h863.70679011v755.74344134H1921.87480708z" fill="#853702"></path><path d="M356.40624997 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H356.40624997z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H356.40624997a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2041.7141242 457.47850886l117.14023341-139.81253663h78.27342785v388.66805554h-70.71599343V420.77097029l-31.30937115 36.70753857h-93.38829668zM2650.62741124 392.16068286v77.73361112c0 10.41846315-1.78139526 19.43340277-5.39816744 26.9908372 13.65736361 14.41310706 20.51303627 31.30937114 20.51303627 50.74277391v84.21141205c0 20.51303627-7.17956269 38.05708044-21.59266975 52.63213251s-31.84918789 21.86257812-52.36222416 21.86257812h-236.4397338c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257812s-21.86257812-32.11909625-21.86257813-52.63213251v-23.21211998h70.71599345v23.21211998c0 2.5371387 1.24157852 3.7787172 3.7787172 3.7787172h236.4397338c2.15926698 0 3.23890047-1.24157852 3.23890045-3.7787172V547.62790509c0-2.5371387-1.07963349-3.7787172-3.23890045-3.7787172h-243.99716821V473.13319444h228.34248265c2.5371387 0 3.7787172-1.07963349 3.77871719-3.23890046V392.16068286c0-2.5371387-1.24157852-3.7787172-3.77871719-3.7787172h-220.78504824c-2.5371387 0-3.7787172 1.24157852-3.7787172 3.7787172v28.07047069h-70.71599345v-28.07047069c0-20.51303627 7.28752604-38.05708044 21.86257813-52.63213251s32.11909625-21.86257812 52.63213252-21.86257812h220.78504824c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251zM724.12941587 334.72418132l-46.31627661 54.03565606C654.65500095 361.44511014 605.36973223 319.28542245 568.55423029 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H537.02893245V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1269.23636379v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-14" viewBox="0 0 3072 1024"><path d="M290.57272375 134.12827933h1619.45023148v755.74344134H290.57272375V134.12827933z" fill="#D45600"></path><path d="M290.57272375 134.12827933h1619.45023148v53.98167437H290.57272375V134.12827933z" fill="#A44300"></path><path d="M1910.02295523 134.12827933h863.70679011v755.74344134H1910.02295523z" fill="#853702"></path><path d="M344.55439812 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H344.55439812z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H344.55439812a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2050.10540025 457.47850886l117.1402334-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937115 36.70753857h-93.38829667z m529.02040894 80.43269484h54.52149113v70.71599346h-54.52149113v97.70683061h-70.71599343V608.62719716h-244.53698495V542.22973766l248.85551889-224.56376543h66.39745949v220.24523147z m-70.71599343-109.04298225l-134.41436922 109.04298225h134.41436922V428.86822145zM712.27756402 334.72418132l-46.31627661 54.03565606C642.8031491 361.44511014 593.51788038 319.28542245 556.70237844 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H525.1770806V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1257.38451194v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bbslevel-15" viewBox="0 0 3072 1024"><path d="M304.79494597 134.12827933h1619.45023148v755.74344134H304.79494597V134.12827933z" fill="#BD4D00"></path><path d="M304.79494597 134.12827933h1619.45023148v53.98167437H304.79494597V134.12827933z" fill="#823500"></path><path d="M1924.24517745 134.12827933h863.70679011v755.74344134H1924.24517745z" fill="#853702"></path><path d="M358.77662034 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H358.77662034z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H358.77662034a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2043.00486108 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857H2043.00486108z m312.01407794-65.317826v76.11416089c0 2.15926698 1.24157852 3.23890047 3.7787172 3.23890047h235.89991706c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257813s21.86257812 32.11909625 21.86257813 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257813 52.63213251s-32.11909625 21.86257812-52.63213252 21.86257812h-235.89991706c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251v-29.15010417h70.71599344v29.15010417c0 2.5371387 1.24157852 3.7787172 3.7787172 3.7787172h235.89991706c2.5371387 0 3.7787172-1.24157852 3.7787172-3.7787172V546.00845486c0-2.15926698-1.24157852-3.23890047-3.7787172-3.23890046h-310.3946277V317.66597223h384.88933835v70.71599344h-310.39462771c-2.5371387 0-3.7787172 1.24157852-3.7787172 3.77871719zM726.49978624 334.72418132l-46.31627661 54.03565606C657.02537132 361.44511014 607.7401026 319.28542245 570.92460066 289.59550154l43.34728454-46.91007503c36.81550192 26.72092882 87.88216591 65.91162443 112.22790104 92.03875481z m-37.46328203 314.17334491l48.09767188-38.59689718c5.93798418 19.00154938 17.22015413 46.91007504 24.34573515 60.56743866-103.9147232 85.50697223-122.91627257 102.13332793-133.01084568 116.97828838-6.5317826-14.25116203-24.93953356-39.78449403-36.22170351-49.28526871 13.0635652-10.68837152 29.0961225-32.65891301 29.09612249-64.72402758V486.79055805H539.39930282V419.09753838h149.63720139v229.79998785z m190.60929225-413.87749748l74.8186007 13.65736361c-2.96899209 5.93798418-5.93798418 12.46976679-8.90697628 18.40775097 35.62790509 67.69301967 100.35193268 139.54262829 162.10696818 179.32712229-16.62635571 11.87596836-39.1906956 38.00309877-50.47286555 55.2232529-53.44185764-40.37829243-106.88371527-102.72712635-147.26200772-169.82634762-28.50232408 45.12867979-61.75503549 88.4759643-103.32092477 127.66665993h45.12867979v100.9457311c48.6914703-23.75193674 102.13332793-53.44185764 139.54262828-80.16278646l46.31627661 59.97364023a1478.93593305 1478.93593305 0 0 1-185.85890489 89.66356115v52.84805922c0 24.34573514 5.34418577 28.50232408 37.40930035 28.50232407h94.41394849c28.50232408 0 33.25271142-12.46976679 37.40930035-83.13177854 15.43875887 11.87596836 44.53488137 23.15813831 63.53643074 27.31472724-8.31317785 92.63255325-27.90852565 119.35348206-95.60154533 119.35348206h-107.4775137c-78.3813912 0-100.35193268-21.37674306-100.35193267-91.44495641V482.63396914c-10.09457311 8.31317785-20.78294463 16.62635571-30.87751775 24.93953356-10.09457311-16.62635571-32.06511458-43.34728454-47.50387345-54.62945447a512.93386998 512.93386998 0 0 0 176.95192862-217.92401948z m770.75034684 42.15968769v67.69301967h-287.39843442V277.17971644h287.39843442z m-323.56615625 297.49300752l15.43875888 62.3488339c-65.91162443 32.06511458-137.76123302 65.317826-194.76588118 90.851158l-19.00154938-73.03720544c19.5953478-6.5317826 42.75348611-16.03255729 68.8806165-26.1271304V440.47428144h-64.13022916V373.37506019h64.13022916V245.11460185h74.22480229v128.26045834h61.16123707v67.09922125H1271.60673416v157.95037926c18.40775097-7.71937945 36.81550192-16.03255729 55.22325289-23.75193674z m362.81083353 185.8589049l-68.88061651 28.50232407a981.38684027 981.38684027 0 0 0-21.37674306-56.41084973c-197.14107484 25.53333198-228.61239102 30.87751775-249.39533565 40.37829244v-1.18759684a696.30961787 696.30961787 0 0 0-26.1271304-73.03720544c14.84496046-4.15658893 25.53333198-17.81395255 39.78449403-39.78449401 12.46976679-18.40775097 43.94108294-78.97518962 67.69301967-144.88681405h-93.82015007V445.8184672h342.02788888v68.2868181h-160.91937133a1135.28859394 1135.28859394 0 0 1-88.47596432 171.60774287l143.10541878-16.0325573c-11.87596836-26.1271304-23.75193674-53.44185764-35.03410667-76.59999594l63.53643075-23.75193674c30.28371932 60.56743866 69.47441493 141.91782195 87.8821659 191.20309067z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-1" viewBox="0 0 3072 1024"><path d="M358.77662034 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H358.77662034a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#9DC75F"></path><path d="M1924.24517745 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1924.24517745V134.12827933z" fill="#2D5315"></path><path d="M2258.39174187 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554H2383.0894097V420.77097029l-31.30937114 36.70753857zM999.0532602 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.80901717 85.45299056h61.75503549v-22.5643399h-61.75503549v22.5643399z m-125.88526465 0h62.3488339v-22.5643399h-62.3488339v22.5643399z m62.40281557-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514H725.3121894V294.34588889h148.44960455V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829243v54.03565606h-149.6372014v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881H873.76179395v-26.72092881h-62.34883391v35.62790509H750.84552138V372.72728009h122.91627257zM730.00859508 450.56885456H672.41014851v341.43409046H603.52953198V450.56885456H538.80550442V386.43862539h64.72402757V238.58281925H672.41014851v147.85580614h57.59844657v64.13022917zM1090.4982166 603.76884645v57.00464815h-71.8496086v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472725 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472724-30.28371933H709.87343053V603.76884645h242.86355306v-24.34573515h65.91162441V603.76884645h71.8496086z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395H1342.86254434z m194.7118995-55.87103299l48.09767188 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.50852161 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.0170432 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263232-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379435 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650985-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340703 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007503-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.26355709-118.75968366h-110.44650579v65.91162442h-69.47441493V286.62650945h220.89301158a1142.52213831 1142.52213831 0 0 0-19.59534781-38.59689718l70.66201178-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371933 55.81705131h207.23564795v130.04185358H1592.79769673V350.75673861h-247.02014197l66.50542283 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.00154937 24.34573514h132.41704725l11.87596837-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-2" viewBox="0 0 3072 1024"><path d="M358.77662034 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H358.77662034a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#94BF55"></path><path d="M1924.24517745 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1924.24517745V134.12827933z" fill="#2D5315"></path><path d="M2227.89209585 317.66597223h235.89991704c20.51303627 0 38.05708044 7.28752604 52.63213253 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251v86.37067902c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213252s-32.11909625 21.86257812-52.63213253 21.86257813h-235.89991704c-2.5371387 0-3.7787172 1.07963349-3.77871721 3.23890046v75.57434415c0 2.5371387 1.24157852 3.7787172 3.77871721 3.77871719h310.39462769v70.71599344h-384.88933834V556.26497299c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213252s32.11909625-21.86257812 52.63213253-21.86257813h235.89991704c2.5371387 0 3.7787172-1.07963349 3.77871722-3.23890046v-86.37067902c0-2.5371387-1.24157852-3.7787172-3.77871722-3.77871719h-235.89991704c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.77871719v29.15010417h-70.71599344v-29.15010417c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213253-21.86257812zM1000.51076541 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.75503551 85.45299056h61.75503551v-22.5643399h-61.75503551v22.5643399z m-125.88526465 0h62.34883391v-22.5643399h-62.34883391v22.5643399z m62.34883391-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514h-148.44960456V294.34588889h148.44960456V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829242v54.03565606h-149.63720139v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881h-63.53643074v-26.72092881h-62.34883391v35.62790509H752.30302659V372.72728009h122.91627257zM731.52008195 450.56885456H673.92163539v341.43409046H605.04101888V450.56885456H540.31699129V386.43862539h64.72402759V238.58281925h68.88061651v147.85580614h57.59844656v64.13022917zM1091.95572181 603.76884645v57.00464815h-71.84960861v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472724 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472723-30.28371933H711.33093574V603.76884645h242.86355305v-24.34573515h65.91162441V603.76884645h71.84960861z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395h-134.79224093z m194.76588117-55.87103299l48.09767187 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.5085216 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.01704322 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263233-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.8806165v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379439 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650983-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340702 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007504-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.2635571-118.75968366h-110.44650578v65.91162442h-69.47441493V286.62650945h220.89301157a1142.52213831 1142.52213831 0 0 0-19.5953478-38.59689718l70.66201177-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371932 55.81705131h207.23564796v130.04185358h-72.44340702V350.75673861h-247.02014198l66.50542285 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.0015494 24.34573514h132.41704726l11.87596836-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-3" viewBox="0 0 3072 1024"><path d="M358.77662034 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H358.77662034a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#83B53A"></path><path d="M1924.24517745 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1924.24517745V134.12827933z" fill="#2D5315"></path><path d="M2533.42837285 392.16068286v77.73361112c0 10.41846315-1.78139526 19.43340277-5.39816744 26.9908372 13.65736361 14.41310706 20.51303627 31.30937114 20.51303627 50.74277391v84.21141205c0 20.51303627-7.17956269 38.05708044-21.59266976 52.63213251s-31.84918789 21.86257812-52.36222415 21.86257812h-236.43973378c-20.51303627 0-38.05708044-7.28752604-52.63213254-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251v-23.21211998h70.71599345v23.21211998c0 2.5371387 1.24157852 3.7787172 3.77871721 3.7787172h236.43973378c2.15926698 0 3.23890047-1.24157852 3.23890047-3.7787172V547.62790509c0-2.5371387-1.07963349-3.7787172-3.23890047-3.7787172h-243.99716821V473.13319444h228.34248263c2.5371387 0 3.7787172-1.07963349 3.77871723-3.23890046V392.16068286c0-2.5371387-1.24157852-3.7787172-3.77871723-3.7787172h-220.7850482c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.7787172v28.07047069h-70.71599345v-28.07047069c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213254-21.86257812h220.7850482c20.51303627 0 38.05708044 7.28752604 52.63213254 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251zM1000.51076541 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.75503551 85.45299056h61.75503551v-22.5643399h-61.75503551v22.5643399z m-125.88526465 0h62.34883391v-22.5643399h-62.34883391v22.5643399z m62.34883391-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514h-148.44960456V294.34588889h148.44960456V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829242v54.03565606h-149.63720139v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881h-63.53643074v-26.72092881h-62.34883391v35.62790509H752.30302659V372.72728009h122.91627257zM731.52008195 450.56885456H673.92163539v341.43409046H605.04101888V450.56885456H540.31699129V386.43862539h64.72402759V238.58281925h68.88061651v147.85580614h57.59844656v64.13022917zM1091.95572181 603.76884645v57.00464815h-71.84960861v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472724 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472723-30.28371933H711.33093574V603.76884645h242.86355305v-24.34573515h65.91162441V603.76884645h71.84960861z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395h-134.79224093z m194.76588117-55.87103299l48.09767187 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.5085216 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.01704322 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263233-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.8806165v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379439 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650983-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340702 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007504-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.2635571-118.75968366h-110.44650578v65.91162442h-69.47441493V286.62650945h220.89301157a1142.52213831 1142.52213831 0 0 0-19.5953478-38.59689718l70.66201177-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371932 55.81705131h207.23564796v130.04185358h-72.44340702V350.75673861h-247.02014198l66.50542285 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.0015494 24.34573514h132.41704726l11.87596836-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-4" viewBox="0 0 3072 1024"><path d="M344.55439812 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H344.55439812a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#74A828"></path><path d="M1910.02295523 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1910.02295523V134.12827933z" fill="#2D5315"></path><path d="M2472.24209392 537.9112037h54.52149113v70.71599346h-54.52149113v97.70683061h-70.71599344V608.62719716h-244.53698495V542.22973766l248.85551889-224.56376543h66.3974595v220.24523147z m-70.71599344-109.04298225l-134.41436921 109.04298225h134.41436921V428.86822145zM984.83103798 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.80901717 85.45299056h61.75503549v-22.5643399h-61.75503549v22.5643399z m-125.88526465 0h62.3488339v-22.5643399h-62.3488339v22.5643399z m62.40281557-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514H711.08996718V294.34588889h148.44960455V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829243v54.03565606h-149.6372014v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881H859.53957173v-26.72092881h-62.34883391v35.62790509H736.62329916V372.72728009h122.91627257zM715.78637286 450.56885456H658.18792629v341.43409046H589.30730976V450.56885456H524.5832822V386.43862539h64.72402757V238.58281925H658.18792629v147.85580614h57.59844657v64.13022917zM1076.27599438 603.76884645v57.00464815h-71.8496086v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472725 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472724-30.28371933H695.65120831V603.76884645h242.86355306v-24.34573515h65.91162441V603.76884645h71.8496086z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395H1328.64032212z m194.7118995-55.87103299l48.09767188 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.50852161 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.0170432 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263232-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379435 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650985-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340703 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007503-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.26355709-118.75968366h-110.44650579v65.91162442h-69.47441493V286.62650945h220.89301158a1142.52213831 1142.52213831 0 0 0-19.59534781-38.59689718l70.66201178-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371933 55.81705131h207.23564795v130.04185358H1578.57547451V350.75673861h-247.02014197l66.50542283 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.00154937 24.34573514h132.41704725l11.87596837-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-6" viewBox="0 0 3072 1024"><path d="M355.81365737 80.14660493h2375.19367286a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H355.81365737a107.96334877 107.96334877 0 0 1-107.96334876-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334876-107.96334877z" fill="#53840E"></path><path d="M1921.28221448 134.12827933h809.72511575a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1921.28221448V134.12827933z" fill="#2D5315"></path><path d="M2235.18565102 471.51374422h235.89991705c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257813s21.86257812 32.11909625 21.86257813 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257813 52.63213251s-32.11909625 21.86257812-52.63213252 21.86257812h-235.89991705c-20.51303627 0-38.05708044-7.28752604-52.63213253-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251V392.16068286c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213253-21.86257812h248.8555189v70.71599344h-248.8555189c-2.5371387 0-3.7787172 1.24157852-3.7787172 3.77871719v76.11416089c0 2.15926698 1.24157852 3.23890047 3.7787172 3.23890047z m239.67863426 160.32557292V546.00845486c0-2.15926698-1.24157852-3.23890047-3.77871721-3.23890046h-239.67863425v89.06976274c0 2.5371387 1.24157852 3.7787172 3.7787172 3.7787172h235.89991705c2.5371387 0 3.7787172-1.24157852 3.77871721-3.7787172zM997.54780245 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.75503551 85.45299056h61.75503551v-22.5643399h-61.75503551v22.5643399z m-125.88526465 0h62.34883391v-22.5643399h-62.34883391v22.5643399z m62.34883391-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514h-148.44960456V294.34588889h148.44960456V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015413 27.90852566h40.37829243v54.03565606h-149.63720139v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881h-63.53643074v-26.72092881h-62.34883391v35.62790509H749.34006362V372.72728009h122.91627258zM728.55711899 450.56885456H670.95867243v341.43409046H602.07805592V450.56885456H537.35402833V386.43862539h64.72402759V238.58281925h68.88061651v147.85580614h57.59844656v64.13022917zM1088.99275885 603.76884645v57.00464815h-71.84960861v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472724 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457312-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.8496086 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472723-30.28371933H708.36797278V603.76884645h242.86355305v-24.34573515h65.91162441V603.76884645h71.84960861z m225.04960051 3.50880883h195.35967957a736.84985533 736.84985533 0 0 1-101.5395295-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.9689921 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301968-51.06666395h-134.79224093z m194.76588117-55.87103299l48.09767187 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.5085216 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.01704322 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263233-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379438 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650983-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340702 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007504-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.2635571-118.75968366h-110.44650578v65.91162442h-69.47441493V286.62650945h220.89301157a1142.52213831 1142.52213831 0 0 0-19.5953478-38.59689718l70.66201177-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371932 55.81705131h207.23564796v130.04185358h-72.44340703V350.75673861h-247.02014197l66.50542284 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.00154939 24.34573514h132.41704726l11.87596836-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-5" viewBox="0 0 3072 1024"><path d="M358.77662034 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H358.77662034a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#65991A"></path><path d="M1924.24517745 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1924.24517745V134.12827933z" fill="#2D5315"></path><path d="M2224.11337864 392.16068286v76.11416089c0 2.15926698 1.24157852 3.23890047 3.77871721 3.23890047h235.89991704c20.51303627 0 38.05708044 7.28752604 52.63213253 21.86257813s21.86257812 32.11909625 21.86257812 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213251s-32.11909625 21.86257812-52.63213253 21.86257812h-235.89991704c-20.51303627 0-38.05708044-7.28752604-52.63213253-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251v-29.15010417h70.71599344v29.15010417c0 2.5371387 1.24157852 3.7787172 3.77871721 3.7787172h235.89991704c2.5371387 0 3.7787172-1.24157852 3.77871722-3.7787172V546.00845486c0-2.15926698-1.24157852-3.23890047-3.77871722-3.23890046h-310.39462769V317.66597223h384.88933834v70.71599344h-310.39462769c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.77871719zM1000.51076541 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.75503551 85.45299056h61.75503551v-22.5643399h-61.75503551v22.5643399z m-125.88526465 0h62.34883391v-22.5643399h-62.34883391v22.5643399z m62.34883391-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514h-148.44960456V294.34588889h148.44960456V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829242v54.03565606h-149.63720139v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881h-63.53643074v-26.72092881h-62.34883391v35.62790509H752.30302659V372.72728009h122.91627257zM731.52008195 450.56885456H673.92163539v341.43409046H605.04101888V450.56885456H540.31699129V386.43862539h64.72402759V238.58281925h68.88061651v147.85580614h57.59844656v64.13022917zM1091.95572181 603.76884645v57.00464815h-71.84960861v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472724 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472723-30.28371933H711.33093574V603.76884645h242.86355305v-24.34573515h65.91162441V603.76884645h71.84960861z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395h-134.79224093z m194.76588117-55.87103299l48.09767187 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.5085216 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.01704322 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263233-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.8806165v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379439 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650983-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340702 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007504-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.2635571-118.75968366h-110.44650578v65.91162442h-69.47441493V286.62650945h220.89301157a1142.52213831 1142.52213831 0 0 0-19.5953478-38.59689718l70.66201177-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371932 55.81705131h207.23564796v130.04185358h-72.44340702V350.75673861h-247.02014198l66.50542285 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.0015494 24.34573514h132.41704726l11.87596836-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-7" viewBox="0 0 3072 1024"><path d="M1916.8248876 134.12827933h863.70679011v755.74344134H1916.8248876z" fill="#835327"></path><path d="M297.37465612 134.12827933h1619.45023148v755.74344134H297.37465612V134.12827933z" fill="#CA9463"></path><path d="M351.35633049 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H351.35633049z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H351.35633049a107.96334877 107.96334877 0 0 1-107.96334878-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334878-107.96334877z" fill="#835327"></path><path d="M2187.00316788 317.66597223h248.85551891c20.51303627 0 38.05708045 7.28752604 52.63213252 21.86257812s21.86257811 32.11909625 21.86257811 52.63213251v314.17334491h-70.71599343V392.16068286c0-2.5371387-1.24157852-3.7787172-3.7787172-3.7787172h-248.85551891V317.66597223zM991.63297035 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.80901718 85.45299056h61.7550355v-22.5643399h-61.7550355v22.5643399z m-125.88526465 0h62.34883391v-22.5643399h-62.34883391v22.5643399z m62.40281558-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514H717.89189955V294.34588889h148.44960455V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829243v54.03565606h-149.6372014v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881H866.3415041v-26.72092881h-62.34883391v35.62790509H743.42523153V372.72728009h122.91627257zM722.58830523 450.56885456H664.98985865v341.43409046H596.10924213V450.56885456H531.38521456V386.43862539h64.72402758V238.58281925H664.98985865v147.85580614h57.59844658v64.13022917zM1083.07792674 603.76884645v57.00464815h-71.8496086v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472724 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976273 8.90697627-2.37519368-17.81395255-10.68837152-40.37829243-18.40775096-56.41084973 24.34573514 0.59379843 51.06666397 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.59534781-17.22015413-58.78604341-45.12867979-87.28836748-65.317826l27.31472723-30.28371933H702.45314068V603.76884645h242.86355306v-24.34573515h65.9116244V603.76884645h71.8496086z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418576 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.9689921 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301968-51.06666395H1335.44225449z m194.7118995-55.87103299l48.09767188 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.50852161 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.01704319 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488136 68.28681808a992.12919347 992.12919347 0 0 1-62.94263232-10.68837152v166.2635571h-72.44340703v-17.22015413h-200.11006693v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666397 11.87596835-77.19379436 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650984-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805923-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472725-72.44340702 39.78449401-10.09457311-16.62635571-31.47131616-41.56588927-46.91007503-52.8480592 82.53798014-30.87751775 137.16743461-74.81860069 166.26355709-118.75968366h-110.44650579v65.91162442h-69.47441493V286.62650945h220.89301157a1142.52213831 1142.52213831 0 0 0-19.5953478-38.59689718l70.66201178-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371933 55.81705131h207.23564794v130.04185358H1585.37740688V350.75673861h-247.02014198l66.50542284 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.00154937 24.34573514h132.41704724l11.87596838-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-8" viewBox="0 0 3072 1024"><path d="M290.57272375 134.12827933h1619.45023148v755.74344134H290.57272375V134.12827933z" fill="#BB8453"></path><path d="M1910.02295523 134.12827933h863.70679011v755.74344134H1910.02295523z" fill="#835327"></path><path d="M344.55439812 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H344.55439812z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H344.55439812a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#835327"></path><path d="M2534.32101946 379.20508102v89.06976273c0 15.11486882-3.61677219 28.07047067-10.79633489 38.86680556 7.17956269 10.79633489 10.79633489 23.75193674 10.79633489 38.86680555v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257812 52.63213251s-32.11909625 21.86257812-52.63213253 21.86257812h-235.89991704c-20.51303627 0-38.05708044-7.28752604-52.63213254-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251V546.00845486c0-14.41310706 3.61677219-27.3687089 10.79633487-38.86680555a71.90359027 71.90359027 0 0 1-10.79633487-38.86680556V392.16068286c0-20.51303627 7.28752604-38.05708044 21.86257812-52.63213251s32.11909625-21.86257812 52.63213254-21.86257812h235.89991704c18.35376929 0 34.65623495 5.83002083 48.85341532 17.54404416s22.7802666 26.3430571 25.64129533 43.99506463z m-70.71599344 252.63423612V546.00845486c0-2.15926698-1.24157852-3.23890047-3.77871721-3.23890046h-235.89991704c-2.5371387 0-3.7787172 1.07963349-3.77871721 3.23890046v85.83086228c0 2.5371387 1.24157852 3.7787172 3.77871721 3.77871719h235.89991704c2.5371387 0 3.7787172-1.24157852 3.77871721-3.77871719z m0-158.16630596v-80.97251157c0-2.5371387-1.24157852-3.7787172-3.77871721-3.7787172h-235.89991704c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.7787172v80.97251157c0 2.5371387 1.24157852 3.7787172 3.77871721 3.77871722h235.89991704c2.5371387 0 3.7787172-1.24157852 3.77871721-3.77871722zM984.83103798 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.80901717 85.45299056h61.75503549v-22.5643399h-61.75503549v22.5643399z m-125.88526465 0h62.3488339v-22.5643399h-62.3488339v22.5643399z m62.40281557-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514H711.08996718V294.34588889h148.44960455V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829243v54.03565606h-149.6372014v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881H859.53957173v-26.72092881h-62.34883391v35.62790509H736.62329916V372.72728009h122.91627257zM715.78637286 450.56885456H658.18792629v341.43409046H589.30730976V450.56885456H524.5832822V386.43862539h64.72402757V238.58281925H658.18792629v147.85580614h57.59844657v64.13022917zM1076.27599438 603.76884645v57.00464815h-71.8496086v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472725 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472724-30.28371933H695.65120831V603.76884645h242.86355306v-24.34573515h65.91162441V603.76884645h71.8496086z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395H1328.64032212z m194.7118995-55.87103299l48.09767188 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.50852161 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.0170432 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263232-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379435 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650985-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340703 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007503-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.26355709-118.75968366h-110.44650579v65.91162442h-69.47441493V286.62650945h220.89301158a1142.52213831 1142.52213831 0 0 0-19.59534781-38.59689718l70.66201178-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371933 55.81705131h207.23564795v130.04185358H1578.57547451V350.75673861h-247.02014197l66.50542283 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.00154937 24.34573514h132.41704725l11.87596837-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-9" viewBox="0 0 3072 1024"><path d="M290.57272375 134.12827933h1619.45023148v755.74344134H290.57272375V134.12827933z" fill="#A46F40"></path><path d="M1910.02295523 134.12827933h863.70679011v755.74344134H1910.02295523z" fill="#835327"></path><path d="M344.55439812 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H344.55439812z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H344.55439812a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#835327"></path><path d="M2460.63603393 550.86680556h-236.43973379c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257813s-21.86257812-32.11909625-21.86257813-52.63213252V392.16068286c0-20.51303627 7.28752604-38.05708044 21.86257813-52.63213251s32.11909625-21.86257812 52.63213252-21.86257812h236.43973379c20.51303627 0 37.94911709 7.28752604 52.36222415 21.86257812s21.59266975 32.11909625 21.59266974 52.63213251v239.67863428c0 20.51303627-7.17956269 38.05708044-21.59266974 52.63213251s-31.84918789 21.86257812-52.36222415 21.86257812h-236.43973379c-18.35376929 0-34.5482716-6.7477093-48.58350695-20.24312789s-22.83424827-30.337701-26.45102045-50.47286554h311.47426119c2.15926698 0 3.23890047-1.24157852 3.23890046-3.7787172V554.10570602c0-2.15926698-1.07963349-3.23890047-3.23890046-3.23890046z m-239.67863426-158.7061227v84.21141205c0 2.15926698 1.07963349 3.23890047 3.23890047 3.23890045h239.67863425V392.16068286c0-2.5371387-1.07963349-3.7787172-3.23890046-3.7787172h-236.43973379c-2.15926698 0-3.23890047 1.24157852-3.23890047 3.7787172zM984.83103798 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.80901717 85.45299056h61.75503549v-22.5643399h-61.75503549v22.5643399z m-125.88526465 0h62.3488339v-22.5643399h-62.3488339v22.5643399z m62.40281557-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514H711.08996718V294.34588889h148.44960455V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829243v54.03565606h-149.6372014v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881H859.53957173v-26.72092881h-62.34883391v35.62790509H736.62329916V372.72728009h122.91627257zM715.78637286 450.56885456H658.18792629v341.43409046H589.30730976V450.56885456H524.5832822V386.43862539h64.72402757V238.58281925H658.18792629v147.85580614h57.59844657v64.13022917zM1076.27599438 603.76884645v57.00464815h-71.8496086v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472725 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472724-30.28371933H695.65120831V603.76884645h242.86355306v-24.34573515h65.91162441V603.76884645h71.8496086z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395H1328.64032212z m194.7118995-55.87103299l48.09767188 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.50852161 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.0170432 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263232-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379435 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650985-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340703 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007503-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.26355709-118.75968366h-110.44650579v65.91162442h-69.47441493V286.62650945h220.89301158a1142.52213831 1142.52213831 0 0 0-19.59534781-38.59689718l70.66201178-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371933 55.81705131h207.23564795v130.04185358H1578.57547451V350.75673861h-247.02014197l66.50542283 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.00154937 24.34573514h132.41704725l11.87596837-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-11" viewBox="0 0 3072 1024"><path d="M290.57272375 134.12827933h1619.45023148v755.74344134H290.57272375V134.12827933z" fill="#CF9000"></path><path d="M1910.02295523 134.12827933h863.70679011v755.74344134H1910.02295523z" fill="#644600"></path><path d="M344.55439812 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H344.55439812z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H344.55439812a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#644600"></path><path d="M2128.3788281 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857h-93.38829669z m211.06834684 0l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599345V420.77097029l-31.30937114 36.70753857h-93.38829668zM986.28854319 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.75503551 85.45299056h61.75503551v-22.5643399h-61.75503551v22.5643399z m-125.88526465 0h62.34883391v-22.5643399h-62.34883391v22.5643399z m62.34883391-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514h-148.44960456V294.34588889h148.44960456V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829242v54.03565606h-149.63720139v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881h-63.53643074v-26.72092881h-62.34883391v35.62790509H738.08080437V372.72728009h122.91627257zM717.29785973 450.56885456H659.69941317v341.43409046H590.81879666V450.56885456H526.09476907V386.43862539h64.72402759V238.58281925h68.88061651v147.85580614h57.59844656v64.13022917zM1077.73349959 603.76884645v57.00464815h-71.84960861v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472724 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472723-30.28371933H697.10871352V603.76884645h242.86355305v-24.34573515h65.91162441V603.76884645h71.84960861z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395h-134.79224093z m194.76588117-55.87103299l48.09767187 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.5085216 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.01704322 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263233-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.8806165v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379439 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650983-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340702 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007504-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.2635571-118.75968366h-110.44650578v65.91162442h-69.47441493V286.62650945h220.89301157a1142.52213831 1142.52213831 0 0 0-19.5953478-38.59689718l70.66201177-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371932 55.81705131h207.23564796v130.04185358h-72.44340702V350.75673861h-247.02014198l66.50542285 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.0015494 24.34573514h132.41704726l11.87596836-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-10" viewBox="0 0 3072 1024"><path d="M290.57272375 134.12827933h1619.45023148v755.74344134H290.57272375V134.12827933z" fill="#E6A001"></path><path d="M1910.02295523 134.12827933h863.70679011v755.74344134H1910.02295523z" fill="#644600"></path><path d="M344.55439812 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H344.55439812z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H344.55439812a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#644600"></path><path d="M2028.78263886 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857H2028.78263886z m315.79279514-139.81253663h235.89991706c20.51303627 0 38.05708044 7.55743442 52.63213252 22.67230324s21.86257812 32.92882137 21.86257813 53.44185763v235.89991706c0 20.51303627-7.28752604 38.43495215-21.86257813 53.71176601s-32.11909625 22.94221162-52.63213252 22.9422116h-235.89991706c-20.51303627 0-38.05708044-7.66539776-52.63213252-22.9422116s-21.86257812-33.19872974-21.86257812-53.71176601V393.7801331c0-20.51303627 7.28752604-38.32698882 21.86257812-53.44185763s32.11909625-22.67230325 52.63213252-22.67230324z m207.82944638 72.33544367h-207.82944638c-2.5371387 0-3.7787172 1.24157852-3.77871719 3.7787172v173.82099151l211.60816357-177.59970871z m-179.7589757 243.45735146h207.82944638c2.5371387 0 3.7787172-1.24157852 3.7787172-3.7787172V455.85905864l-211.60816358 177.59970872zM984.83103798 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.80901717 85.45299056h61.75503549v-22.5643399h-61.75503549v22.5643399z m-125.88526465 0h62.3488339v-22.5643399h-62.3488339v22.5643399z m62.40281557-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514H711.08996718V294.34588889h148.44960455V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829243v54.03565606h-149.6372014v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881H859.53957173v-26.72092881h-62.34883391v35.62790509H736.62329916V372.72728009h122.91627257zM715.78637286 450.56885456H658.18792629v341.43409046H589.30730976V450.56885456H524.5832822V386.43862539h64.72402757V238.58281925H658.18792629v147.85580614h57.59844657v64.13022917zM1076.27599438 603.76884645v57.00464815h-71.8496086v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472725 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472724-30.28371933H695.65120831V603.76884645h242.86355306v-24.34573515h65.91162441V603.76884645h71.8496086z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395H1328.64032212z m194.7118995-55.87103299l48.09767188 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.50852161 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.0170432 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263232-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379435 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650985-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340703 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007503-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.26355709-118.75968366h-110.44650579v65.91162442h-69.47441493V286.62650945h220.89301158a1142.52213831 1142.52213831 0 0 0-19.59534781-38.59689718l70.66201178-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371933 55.81705131h207.23564795v130.04185358H1578.57547451V350.75673861h-247.02014197l66.50542283 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.00154937 24.34573514h132.41704725l11.87596837-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-12" viewBox="0 0 3072 1024"><path d="M299.22972858 134.12827933h1619.45023148v755.74344134H299.22972858V134.12827933z" fill="#BB8200"></path><path d="M1918.67996006 134.12827933h863.70679011v755.74344134H1918.67996006z" fill="#644600"></path><path d="M353.21140295 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H353.21140295z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H353.21140295a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#644600"></path><path d="M2037.43964369 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857H2037.43964369z m315.79279514-139.81253663h235.89991706c20.51303627 0 38.05708045 7.28752604 52.63213252 21.86257812s21.86257811 32.11909625 21.86257813 52.63213251v86.37067902c0 20.51303627-7.28752604 38.05708045-21.86257813 52.63213252s-32.11909625 21.86257811-52.63213252 21.86257813h-235.89991706c-2.5371387 0-3.7787172 1.07963349-3.77871719 3.23890046v75.57434415c0 2.5371387 1.24157852 3.7787172 3.77871719 3.77871719h310.39462771v70.71599344h-384.88933835V556.26497299c0-20.51303627 7.28752604-38.05708045 21.86257812-52.63213252s32.11909625-21.86257811 52.63213252-21.86257813h235.89991706c2.5371387 0 3.7787172-1.07963349 3.7787172-3.23890046v-86.37067902c0-2.5371387-1.24157852-3.7787172-3.7787172-3.77871719h-235.89991706c-2.5371387 0-3.7787172 1.24157852-3.77871719 3.77871719v29.15010417h-70.71599345v-29.15010417c0-20.51303627 7.28752604-38.05708045 21.86257812-52.63213251s32.11909625-21.86257811 52.63213252-21.86257812zM994.94554801 419.09753838h-61.7550355v21.37674306h61.7550355v-21.37674306z m-61.7550355 85.45299056h61.7550355v-22.5643399h-61.7550355v22.5643399z m-125.88526466 0h62.34883392v-22.5643399h-62.34883392v22.5643399z m62.34883392-85.45299056h-62.34883392v21.37674306h62.34883392v-21.37674306z m0-46.37025829v-24.34573514h-148.44960457V294.34588889h148.44960456V238.52883757h63.53643075v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829242v54.03565606h-149.63720139v24.34573514h124.69766782v201.8914622h-62.94263232v-27.90852566h-61.7550355v26.72092881h-63.53643075v-26.72092881h-62.34883391v35.62790509H746.7378092V372.72728009h122.91627257zM725.95486456 450.56885456H668.356418v341.43409046H599.47580149V450.56885456H534.7517739V386.43862539h64.72402759V238.58281925h68.88061651v147.85580614h57.59844656v64.13022917zM1086.39050442 603.76884645v57.00464815h-71.84960861v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472725 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976271 8.90697627-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084973 24.34573514 0.59379843 51.06666397 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844253c26.1271304 16.03255729 55.22325289 35.03410667 71.8496086 48.09767188l-39.19069559 47.50387345c-19.59534781-17.22015413-58.78604341-45.12867979-87.28836749-65.317826l27.31472724-30.28371933H705.76571835V603.76884645h242.86355305v-24.34573515h65.91162441V603.76884645h71.84960861z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395h-134.79224093z m194.76588117-55.87103299l48.09767187 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.5085216 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.01704322 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263233-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666397 11.87596835-77.19379438 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650983-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805923-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472725-72.44340701 39.78449401-10.09457311-16.62635571-31.47131616-41.56588927-46.91007504-52.8480592 82.53798014-30.87751775 137.16743461-74.81860069 166.26355709-118.75968366h-110.44650577v65.91162442h-69.47441493V286.62650945h220.89301157a1142.52213831 1142.52213831 0 0 0-19.5953478-38.59689718l70.66201177-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371932 55.81705131h207.23564796v130.04185358h-72.44340702V350.75673861h-247.02014198l66.50542285 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.0015494 24.34573514h132.41704726l11.87596836-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-13" viewBox="0 0 3072 1024"><path d="M290.57272375 134.12827933h1619.45023148v755.74344134H290.57272375V134.12827933z" fill="#E65D00"></path><path d="M290.57272375 134.12827933h1619.45023148v53.98167437H290.57272375V134.12827933z" fill="#BE560F"></path><path d="M1910.02295523 134.12827933h863.70679011v755.74344134H1910.02295523z" fill="#853702"></path><path d="M344.55439812 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H344.55439812z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H344.55439812a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2029.86227235 457.47850886l117.14023341-139.81253663h78.27342785v388.66805554h-70.71599343V420.77097029l-31.30937115 36.70753857h-93.38829668zM2638.77555939 392.16068286v77.73361112c0 10.41846315-1.78139526 19.43340277-5.39816744 26.9908372 13.65736361 14.41310706 20.51303627 31.30937114 20.51303627 50.74277391v84.21141205c0 20.51303627-7.17956269 38.05708044-21.59266975 52.63213251s-31.84918789 21.86257812-52.36222416 21.86257812h-236.4397338c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257812s-21.86257812-32.11909625-21.86257813-52.63213251v-23.21211998h70.71599345v23.21211998c0 2.5371387 1.24157852 3.7787172 3.7787172 3.7787172h236.4397338c2.15926698 0 3.23890047-1.24157852 3.23890046-3.7787172V547.62790509c0-2.5371387-1.07963349-3.7787172-3.23890046-3.7787172h-243.99716821V473.13319444h228.34248265c2.5371387 0 3.7787172-1.07963349 3.77871719-3.23890046V392.16068286c0-2.5371387-1.24157852-3.7787172-3.77871719-3.7787172h-220.78504824c-2.5371387 0-3.7787172 1.24157852-3.7787172 3.7787172v28.07047069h-70.71599345v-28.07047069c0-20.51303627 7.28752604-38.05708044 21.86257813-52.63213251s32.11909625-21.86257812 52.63213252-21.86257812h220.78504824c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251zM984.83103798 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.80901717 85.45299056h61.75503549v-22.5643399h-61.75503549v22.5643399z m-125.88526465 0h62.3488339v-22.5643399h-62.3488339v22.5643399z m62.40281557-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514H711.08996718V294.34588889h148.44960455V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829243v54.03565606h-149.6372014v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881H859.53957173v-26.72092881h-62.34883391v35.62790509H736.62329916V372.72728009h122.91627257zM715.78637286 450.56885456H658.18792629v341.43409046H589.30730976V450.56885456H524.5832822V386.43862539h64.72402757V238.58281925H658.18792629v147.85580614h57.59844657v64.13022917zM1076.27599438 603.76884645v57.00464815h-71.8496086v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472725 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697628-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084974 24.34573514 0.59379843 51.06666396 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.5953478-17.22015413-58.7860434-45.12867979-87.28836748-65.317826l27.31472724-30.28371933H695.65120831V603.76884645h242.86355306v-24.34573515h65.91162441V603.76884645h71.8496086z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.658913-274.92866761l-2.96899209 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395H1328.64032212z m194.7118995-55.87103299l48.09767188 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.50852161 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.0170432 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488137 68.28681808a992.12919347 992.12919347 0 0 1-62.94263232-10.68837152v166.2635571h-72.44340702v-17.22015413h-200.11006694v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666396 11.87596836-77.19379435 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650985-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472724-72.44340703 39.78449402-10.09457311-16.62635571-31.47131616-41.56588927-46.91007503-52.84805921 82.53798014-30.87751775 137.16743461-74.81860069 166.26355709-118.75968366h-110.44650579v65.91162442h-69.47441493V286.62650945h220.89301158a1142.52213831 1142.52213831 0 0 0-19.59534781-38.59689718l70.66201178-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371933 55.81705131h207.23564795v130.04185358H1578.57547451V350.75673861h-247.02014197l66.50542283 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.00154937 24.34573514h132.41704725l11.87596837-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-1" viewBox="0 0 3072 1024"><path d="M353.21140295 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H353.21140295a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#9DC75F"></path><path d="M1918.67996006 134.12827933h809.72511574a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1918.67996006V134.12827933z" fill="#2D5315"></path><path d="M1076.88972974 346.92403974h-238.70696413v93.22635165l11.87596837-13.65736362c64.13022917 32.06511458 157.35658083 83.13177855 202.48526059 119.94728049l-52.25426078 64.72402758c-34.44030826-30.28371932-102.13332793-73.63100386-162.10696818-108.07131211v282.05424865H762.17656807V346.92403974H547.81533911v-71.25581018h529.07439063v71.25581018z m589.64182928-27.90852567l-54.62945449 36.22170352c-12.46976679-23.75193674-42.15968769-59.37984183-66.50542283-84.9131738l51.06666395-31.47131618c24.93953356 23.15813831 55.81705132 57.59844656 70.06821337 80.16278646z m-71.84960861 122.32247416l62.94263233 17.81395256c-21.37674306 75.41239912-50.47286555 142.51162036-87.8821659 201.29766377 11.87596835 33.84650985 26.1271304 53.44185764 42.15968769 53.44185763 10.68837152 0 16.62635571-24.34573514 19.59534781-86.10077064 13.65736361 15.43875887 36.81550192 30.28371932 52.84805922 36.81550192-9.50077469 92.03875482-29.6899209 116.38448997-78.97518963 116.38448998-34.44030826 0-60.56743866-21.97054148-81.35038329-58.7860434a492.90666879 492.90666879 0 0 1-71.84960861 68.88061651 213.60548554 213.60548554 0 0 0-46.91007504-48.69147029 413.98546084 413.98546084 0 0 0 92.03875484-90.25735958c-17.81395255-63.53643075-27.31472725-146.07441089-32.65891302-236.33177044h-198.92247009l46.91007503 12.46976679c-4.75038734 10.68837152-10.09457311 21.37674306-15.43875887 32.65891301h149.63720139v54.62945445h-179.92092071a477.35994656 477.35994656 0 0 1-30.87751775 48.09767188h56.41084972v-35.03410666h65.31782601v35.03410666h81.94418172l-0.59379842 57.59844657h-81.3503833v33.84650984l92.03875482-6.53178261-0.59379841 56.41084975c-29.6899209 2.96899209-61.16123708 5.93798418-91.44495641 8.90697626v70.66201177h-65.31782601v-65.31782599c-52.84805921 4.75038734-102.72712635 9.50077469-143.69921721 13.06356518l-5.34418576-62.94263232c39.78449403-2.37519368 92.03875482-5.93798418 149.04340297-10.09457312v-38.00309876H1221.77654376c-23.15813831 0-43.94108294 3.56279051-49.2852687 9.50077469a453.66199151 453.66199151 0 0 0-21.37674305-61.75503549c10.68837152-2.96899209 20.78294463-13.65736361 30.28371932-29.0961225 2.96899209-4.15658893 8.90697627-13.0635652 14.84496046-24.34573515h-50.47286555V460.93333603h78.3813912c6.5317826-14.84496046 12.46976679-29.6899209 17.22015413-45.12867978h-103.91472318V361.17520177h128.85425674v-35.03410667h-99.16433584v-53.44185764h99.16433584V232.91474344h67.69301967v39.78449402h96.78914218v53.44185764h-96.78914218v35.03410667h128.26045834a4544.50123958 4544.50123958 0 0 1-1.78139525-127.66665991h69.47441493a2279.64610918 2279.64610918 0 0 0 0.59379842 127.66665991h145.48061245v54.62945448h-143.6992172c3.56279051 56.41084972 8.90697627 108.66511054 16.03255729 152.60619347 19.00154938-39.1906956 34.44030826-81.94418173 46.31627663-127.07286149zM2252.82652448 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554H2377.52419231V420.77097029l-31.30937114 36.70753857z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-15" viewBox="0 0 3072 1024"><path d="M307.88673341 134.12827933h1619.45023147v755.74344134H307.88673341V134.12827933z" fill="#BD4D00"></path><path d="M307.88673341 134.12827933h1619.45023147v53.98167437H307.88673341V134.12827933z" fill="#823500"></path><path d="M1927.33696488 134.12827933h863.70679012v755.74344134H1927.33696488z" fill="#853702"></path><path d="M361.86840778 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H361.86840778z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H361.86840778a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2046.09664852 457.47850886l117.1402334-139.81253663h78.27342787v388.66805554h-70.71599344V420.77097029l-31.30937115 36.70753857H2046.09664852z m312.01407794-65.317826v76.11416089c0 2.15926698 1.24157852 3.23890047 3.7787172 3.23890047h235.89991706c20.51303627 0 38.05708045 7.28752604 52.63213252 21.86257813s21.86257811 32.11909625 21.86257812 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708045-21.86257812 52.63213251s-32.11909625 21.86257811-52.63213252 21.86257812h-235.89991706c-20.51303627 0-38.05708045-7.28752604-52.63213253-21.86257812s-21.86257811-32.11909625-21.86257811-52.63213251v-29.15010417h70.71599344v29.15010417c0 2.5371387 1.24157852 3.7787172 3.7787172 3.7787172h235.89991706c2.5371387 0 3.7787172-1.24157852 3.7787172-3.7787172V546.00845486c0-2.15926698-1.24157852-3.23890047-3.7787172-3.23890046h-310.3946277V317.66597223h384.88933834v70.71599344h-310.3946277c-2.5371387 0-3.7787172 1.24157852-3.7787172 3.77871719zM1002.14504764 419.09753838h-61.75503551v21.37674306h61.75503551v-21.37674306z m-61.80901717 85.45299056h61.75503549v-22.5643399h-61.75503549v22.5643399z m-125.88526465 0h62.3488339v-22.5643399h-62.3488339v22.5643399z m62.40281557-85.45299056h-62.34883391v21.37674306h62.34883391v-21.37674306z m0-46.37025829v-24.34573514H728.40397684V294.34588889h148.44960455V238.52883757h63.53643074v55.81705132h68.28681811c-16.03255729-7.71937945-33.84650985-15.43875887-47.50387346-21.37674306l26.1271304-39.1906956c24.93953356 8.90697627 60.56743866 23.75193674 79.56898804 32.658913l-17.22015412 27.90852566h40.37829243v54.03565606h-149.6372014v24.34573514h124.69766783v201.8914622h-62.94263232v-27.90852566h-61.75503551v26.72092881H876.85358139v-26.72092881h-62.34883391v35.62790509H753.93730882V372.72728009h122.91627257zM733.10038252 450.56885456H675.50193595v341.43409046H606.62131942V450.56885456H541.89729186V386.43862539h64.72402757V238.58281925H675.50193595v147.85580614h57.59844657v64.13022917zM1093.59000404 603.76884645v57.00464815h-71.8496086v67.09922126c0 30.28371932-5.34418577 44.53488137-27.31472725 54.03565606-20.78294463 8.31317785-49.28526871 8.90697627-89.06976272 8.90697627-2.37519368-17.81395255-10.68837152-40.37829243-18.40775097-56.41084973 24.34573514 0.59379843 51.06666397 1.18759683 58.7860434 0.59379842s10.09457311-2.37519368 10.09457313-8.90697628v-65.317826h-134.19844252c26.1271304 16.03255729 55.22325289 35.03410667 71.84960859 48.09767188l-39.19069559 47.50387345c-19.59534781-17.22015413-58.78604341-45.12867979-87.28836748-65.317826l27.31472724-30.28371933H712.96521797V603.76884645h242.86355306v-24.34573515h65.91162441V603.76884645h71.8496086z m225.04960051 3.50880883h195.35967958a736.84985533 736.84985533 0 0 1-101.53952951-39.78449401c-29.0961225 14.84496046-61.16123708 28.50232408-93.82015007 39.78449401z m-5.34418577 109.31289062h200.11006694v-51.06666396h-200.11006694v51.06666396z m32.65891299-274.92866761l-2.96899208 2.37519366a325.50949652 325.50949652 0 0 0 70.06821335 48.69147029c25.53333198-15.43875887 48.6914703-32.06511458 67.69301967-51.06666395H1345.95433177z m194.71189951-55.87103299l48.09767188 28.50232407c-26.72092882 42.75348611-62.3488339 78.97518962-104.50852161 109.85270736 61.16123708 21.37674306 132.41704727 36.81550192 209.0170432 43.94108296-15.43875887 16.03255729-35.03410667 48.09767188-44.53488138 68.28681808a992.12919347 992.12919347 0 0 1-62.94263232-10.68837152v166.2635571h-72.44340701v-17.22015413h-200.11006694v18.40775097h-68.88061651v-163.29456501c-25.53333198 6.5317826-51.06666397 11.87596835-77.19379435 16.6263557-6.5317826-17.81395255-21.37674306-46.91007504-33.84650985-62.94263232 73.63100386-10.09457311 147.26200771-29.0961225 211.39223688-57.00464815a460.78757253 460.78757253 0 0 1-52.84805922-43.94108295c-21.37674306 14.25116203-45.7224782 27.31472725-72.44340703 39.78449401-10.09457311-16.62635571-31.47131616-41.56588927-46.91007503-52.8480592 82.53798014-30.87751775 137.16743461-74.81860069 166.26355709-118.75968366h-110.44650579v65.91162442h-69.47441493V286.62650945h220.89301158a1142.52213831 1142.52213831 0 0 0-19.59534781-38.59689718l70.66201178-17.22015413c8.90697627 17.22015413 20.78294463 37.40930035 30.28371933 55.81705131h207.23564795v130.04185358H1595.88948417V350.75673861h-247.02014197l66.50542283 13.65736363c-5.93798418 7.71937945-12.46976679 16.03255729-19.00154937 24.34573514h132.41704725l11.87596837-2.96899208z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-2" viewBox="0 0 3072 1024"><path d="M361.86840778 80.14660493h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H361.86840778a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#94BF55"></path><path d="M1927.33696488 134.12827933h809.72511575a53.98167438 53.98167438 0 0 1 53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 1-53.98167437 53.98167437H1927.33696488V134.12827933z" fill="#2D5315"></path><path d="M1078.42115355 346.92403974h-238.70696412v93.22635165l11.87596834-13.65736362c64.13022917 32.06511458 157.35658083 83.13177855 202.48526061 119.94728049l-52.25426078 64.72402758c-34.44030826-30.28371932-102.13332793-73.63100386-162.10696817-108.07131211v282.05424865H763.70799189V346.92403974H549.34676291v-71.25581018h529.07439064v71.25581018z m589.64182928-27.90852567l-54.62945448 36.22170352c-12.46976679-23.75193674-42.15968769-59.37984183-66.50542284-84.9131738l51.06666396-31.47131618c24.93953356 23.15813831 55.81705132 57.59844656 70.06821336 80.16278646z m-71.84960861 122.32247416l62.94263233 17.81395256c-21.37674306 75.41239912-50.47286555 142.51162036-87.8821659 201.29766377 11.87596835 33.84650985 26.1271304 53.44185764 42.1596877 53.44185763 10.68837152 0 16.62635571-24.34573514 19.5953478-86.10077064 13.65736361 15.43875887 36.81550192 30.28371932 52.84805922 36.81550192-9.50077469 92.03875482-29.6899209 116.38448997-78.97518962 116.38448998-34.44030826 0-60.56743866-21.97054148-81.3503833-58.7860434a492.90666879 492.90666879 0 0 1-71.84960861 68.88061651 213.60548554 213.60548554 0 0 0-46.91007504-48.69147029 413.98546084 413.98546084 0 0 0 92.03875484-90.25735958c-17.81395255-63.53643075-27.31472725-146.07441089-32.65891301-236.33177044h-198.9224701l46.91007503 12.46976679c-4.75038734 10.68837152-10.09457311 21.37674306-15.43875886 32.65891301h149.63720139v54.62945445h-179.92092073a477.35994656 477.35994656 0 0 1-30.87751775 48.09767188h56.41084975v-35.03410666h65.31782599v35.03410666h81.94418171l-0.59379841 57.59844657h-81.3503833v33.84650984l92.03875482-6.53178261-0.59379841 56.41084975c-29.6899209 2.96899209-61.16123708 5.93798418-91.44495641 8.90697626v70.66201177h-65.31782599v-65.31782599c-52.84805921 4.75038734-102.72712635 9.50077469-143.69921723 13.06356518l-5.34418575-62.94263232c39.78449403-2.37519368 92.03875482-5.93798418 149.04340298-10.09457312v-38.00309876h-70.66201178c-23.15813831 0-43.94108294 3.56279051-49.28526871 9.50077469a453.66199151 453.66199151 0 0 0-21.37674306-61.75503549c10.68837152-2.96899209 20.78294463-13.65736361 30.28371933-29.0961225 2.96899209-4.15658893 8.90697627-13.0635652 14.84496047-24.34573515h-50.47286555V460.93333603h78.38139119c6.5317826-14.84496046 12.46976679-29.6899209 17.22015412-45.12867978h-103.91472317V361.17520177h128.85425674v-35.03410667h-99.16433584v-53.44185764h99.16433584V232.91474344h67.69301968v39.78449402h96.78914218v53.44185764h-96.78914218v35.03410667h128.26045834a4544.50123958 4544.50123958 0 0 1-1.78139528-127.66665991h69.47441495a2279.64610918 2279.64610918 0 0 0 0.59379842 127.66665991h145.48061247v54.62945448h-143.69921721c3.56279051 56.41084972 8.90697627 108.66511054 16.03255729 152.60619347 19.00154938-39.1906956 34.44030826-81.94418173 46.31627662-127.07286149zM2241.24040143 317.66597223h235.89991704c20.51303627 0 38.05708045 7.28752604 52.63213253 21.86257812s21.86257811 32.11909625 21.86257812 52.63213251v86.37067902c0 20.51303627-7.28752604 38.05708045-21.86257812 52.63213252s-32.11909625 21.86257811-52.63213253 21.86257813h-235.89991704c-2.5371387 0-3.7787172 1.07963349-3.77871721 3.23890046v75.57434415c0 2.5371387 1.24157852 3.7787172 3.77871721 3.77871719h310.39462769v70.71599344h-384.88933835V556.26497299c0-20.51303627 7.28752604-38.05708045 21.86257812-52.63213252s32.11909625-21.86257811 52.63213254-21.86257813h235.89991704c2.5371387 0 3.7787172-1.07963349 3.77871721-3.23890046v-86.37067902c0-2.5371387-1.24157852-3.7787172-3.77871721-3.77871719h-235.89991704c-2.5371387 0-3.7787172 1.24157852-3.77871721 3.77871719v29.15010417h-70.71599345v-29.15010417c0-20.51303627 7.28752604-38.05708045 21.86257812-52.63213251s32.11909625-21.86257811 52.63213254-21.86257812z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-bloglevel-14" viewBox="0 0 3072 1024"><path d="M357.28034173 149.87293436h1551.9731385v724.25413128H357.28034173V149.87293436z" fill="#D45600"></path><path d="M357.28034173 149.87293436h1551.9731385v51.73243794H357.28034173V149.87293436z" fill="#A44300"></path><path d="M1909.25348023 149.87293436h827.71900719v724.25413128H1909.25348023z" fill="#853702"></path><path d="M409.01277967 149.87293436a51.73243795 51.73243795 0 0 0-51.73243794 51.73243794v620.7892554a51.73243795 51.73243795 0 0 0 51.73243794 51.73243794h2276.22726982a51.73243795 51.73243795 0 0 0 51.73243793-51.73243794V201.6053723a51.73243795 51.73243795 0 0 0-51.73243793-51.73243794H409.01277967z m0-51.73243797h2276.22726982a103.4648759 103.4648759 0 0 1 103.46487589 103.46487591v620.7892554a103.4648759 103.4648759 0 0 1-103.46487589 103.46487591H409.01277967a103.4648759 103.4648759 0 0 1-103.4648759-103.46487591V201.6053723a103.4648759 103.4648759 0 0 1 103.4648759-103.46487591z" fill="#FFCC4C"></path><path d="M2033.66999349 459.75023766l112.25939037-133.98701427h75.01203502v372.47355322h-67.76949371V424.57217986l-30.00481401 35.1780578h-89.49711767z m506.97789192 77.08133255h52.24976234v67.76949373h-52.24976234v93.63571267h-67.76949372V604.60106394h-234.34794392V540.97016526l238.48653896-215.20694187h63.63089868v211.06834682z m-67.76949372-104.49952465l-128.8137705 104.49952465h128.8137705V432.33204556zM1022.6112262 422.96847428h-59.18190903v20.48604543h59.18190903v-20.48604543z m-59.23364145 81.89244929h59.18190901v-21.62415907h-59.18190901v21.62415907z m-120.64004529 0h59.75096582v-21.62415907h-59.75096582v21.62415907z m59.80269825-81.89244929h-59.75096583v20.48604543h59.75096583v-20.48604543z m0-44.43816419v-23.33132951H760.27603335V303.41481019h142.26420436V249.92346934h60.88907946v53.49134085h65.44153403c-15.36453407-7.39773864-32.43623861-14.79547725-45.5245454-20.48604544l25.03849996-37.55774995c23.90038633 8.53585226 58.04379538 22.76227271 76.25361354 31.29812496l-16.5026477 26.74567043h38.69586358v51.78417039h-143.40231801v23.33132951h119.50193167v193.47931794h-60.32002264v-26.74567043h-59.18190903v25.60755678H902.54023771v-25.60755678h-59.75096583v34.14340905H784.7454765V378.53031009h117.79476121zM764.77675546 453.12848562H709.57824417v327.20767002H643.56765333V453.12848562H581.54046025V391.67034933h62.02719309V249.97520178H709.57824417v141.69514755h55.19851129v61.45813629zM1110.24597609 599.94514451v54.62945448h-68.85587491v64.30342038c0 29.02189768-5.12151136 42.67926131-26.17661362 51.78417039-19.9169886 7.96679544-47.23171585 8.53585226-85.3585226 8.53585226-2.27622728-17.07170453-10.24302271-38.69586358-17.64076135-54.06039766 23.33132951 0.56905683 48.9388863 1.13811363 56.33662493 0.56905682s9.6739659-2.27622728 9.67396591-8.53585227v-62.59624992h-128.60684075c25.03849997 15.36453407 52.92228402 33.57435223 68.8558749 46.09360222l-37.55774994 45.52454539c-18.77887498-16.50264771-56.33662493-43.24831813-83.65135217-62.59624992l26.17661361-29.02189769H745.4805561V599.94514451h232.74423835v-23.33132951h63.16530673V599.94514451h68.85587491z m215.67253382 3.36260847h187.21969293a706.14777802 706.14777802 0 0 1-97.30871578-38.12680676c-27.88378406 14.22642044-58.6128522 27.31472724-89.91097715 38.12680676z m-5.12151136 104.75818684h191.77214748v-48.93888629h-191.77214748v48.93888629z m31.29812495-263.47330646l-2.84528408 2.27622726a311.94660083 311.94660083 0 0 0 67.14870446 46.66265903c24.46944315-14.79547725 46.66265904-30.72906814 64.87247718-48.93888629H1352.0951235z m186.59890369-53.54307328l46.09360222 27.31472723c-25.60755679 40.97209086-59.75096582 75.68455672-100.15399988 105.27551122 58.6128522 20.48604543 126.8996703 35.28152267 200.30799974 42.11020451-14.79547725 15.36453407-33.57435223 46.09360222-42.67926132 65.44153399a950.79047708 950.79047708 0 0 1-60.32002264-10.24302271v159.33590889h-69.42493172v-16.50264771h-191.77214749v17.64076135h-66.01059082v-156.4906248c-24.46944315 6.25962499-48.9388863 11.38113634-73.97738625 15.93359088-6.25962499-17.07170453-20.48604543-44.95548858-32.43623861-60.32002264 70.56304537-9.6739659 141.12609072-27.88378406 202.58422701-54.62945448a441.58809034 441.58809034 0 0 1-50.64605675-42.11020449c-20.48604543 13.65736361-43.81737494 26.17661361-69.42493174 38.12680676-9.6739659-15.93359089-30.16001132-39.83397722-44.95548857-50.64605674 79.09889763-29.59095451 131.45212483-71.70115899 159.33590888-113.81136351h-105.84456805v63.16530674h-66.57964764V296.01707156h211.6891361a1094.91704921 1094.91704921 0 0 0-18.77887499-36.98869313l67.71776129-16.50264771c8.53585226 16.50264771 19.9169886 35.8505795 29.02189769 53.49134084h198.60082929v124.62344301H1591.61631121V357.47520783h-236.72763605l63.73436354 13.08830682c-5.69056817 7.39773864-11.95019317 15.36453407-18.20981814 23.33132951h126.89967028l11.38113635-2.84528408z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-4" viewBox="0 0 3072 1024"><path d="M400.71648338 98.14049639h2276.22726981a103.4648759 103.4648759 0 0 1 103.4648759 103.46487591v620.7892554a103.4648759 103.4648759 0 0 1-103.4648759 103.46487591H400.71648338a103.4648759 103.4648759 0 0 1-103.46487591-103.46487591V201.6053723a103.4648759 103.4648759 0 0 1 103.46487591-103.46487591z" fill="#74A828"></path><path d="M1900.95718394 149.87293436h775.98656925a51.73243795 51.73243795 0 0 1 51.73243794 51.73243794v620.7892554a51.73243795 51.73243795 0 0 1-51.73243794 51.73243794H1900.95718394V149.87293436z" fill="#2D5315"></path><path d="M1087.41286474 353.80220475h-228.76084062v89.34192033l11.38113634-13.0883068c61.45813629 30.72906814 150.80005663 79.66795444 194.04837474 114.94947714l-50.07699991 62.02719309c-33.00529542-29.02189768-97.8777726-70.56304537-155.35251117-103.56834077v270.30198829H785.81275148V353.80220475H580.38324038v-68.28681809h507.02962436v68.28681809z m565.07341973-26.74567043l-52.35322721 34.71246587c-11.95019317-22.76227271-40.40303404-56.90568175-63.73436356-81.37512489l48.9388863-30.16001134c23.90038633 22.19321588 53.49134085 55.19851129 67.14870447 76.82267036z m-68.85587492 117.2257044l60.32002265 17.07170454c-20.48604543 72.27021582-48.36982949 136.57363618-84.22040898 192.91026111 11.38113634 32.43623861 25.03849997 51.21511357 40.40303404 51.21511356 10.24302271 0 15.93359089-23.33132951 18.77887497-82.51323853 13.08830679 14.79547725 35.28152267 29.02189768 50.64605675 35.28152268-9.10490908 88.2038067-28.45284086 111.53513622-75.68455672 111.53513623-33.00529542 0-58.04379538-21.05510225-77.96078399-56.33662493a472.36889092 472.36889092 0 0 1-68.85587491 66.01059082 204.70525698 204.70525698 0 0 0-44.95548859-46.66265902 396.73606664 396.73606664 0 0 0 88.20380672-86.49663627c-17.07170453-60.88907947-26.17661361-139.9879771-31.29812497-226.48461334h-190.63403384l44.95548857 11.95019318c-4.55245453 10.24302271-9.6739659 20.48604543-14.79547724 31.29812496h143.402318v52.35322719h-172.4242157a457.46994879 457.46994879 0 0 1-29.59095451 46.09360221h54.06039767v-33.57435221h62.59624991v33.57435221h78.52984081l-0.56905681 55.1985113h-77.960784v32.4362386l88.2038067-6.259625-0.56905681 54.06039767c-28.45284086 2.84528409-58.6128522 5.69056817-87.63474989 8.53585225v67.71776128h-62.59624991v-62.59624991c-50.64605674 4.55245453-98.44682942 9.10490908-137.71174984 12.51924997l-5.12151135-60.32002264c38.12680678-2.27622728 88.2038067-5.69056817 142.83326119-9.67396591v-36.41963631h-67.71776129c-22.19321588 0-42.11020448 3.41434091-47.23171584 9.10490908a434.75940853 434.75940853 0 0 0-20.48604544-59.18190901c10.24302271-2.84528409 19.9169886-13.08830679 29.0218977-27.88378407 2.84528409-3.98339772 8.53585226-12.51924998 14.22642045-23.33132951h-48.36982949V463.0611137h75.11549989c6.25962499-14.22642044 11.95019317-28.45284086 16.50264771-43.24831813h-99.58494305V367.45956836h123.48532938v-33.57435222h-95.03248852v-51.21511357h95.03248852V244.5432958h64.87247719v38.12680677h92.75626126v51.21511357h-92.75626126v33.57435222h122.91627258a4355.14702126 4355.14702126 0 0 1-1.70717047-122.34721574h66.57964765a2184.66085463 2184.66085463 0 0 0 0.56905683 122.34721574h139.41892027v52.35322721h-137.71174982c3.41434091 54.06039765 8.53585226 104.1373976 15.36453407 146.24760208 18.20981816-37.55774995 33.00529542-78.52984082 44.38643176-121.77815893zM2439.75052518 536.83157021h52.24976234v67.76949374h-52.24976234v93.63571266h-67.76949371V604.60106394h-234.34794391V540.97016526l238.48653894-215.20694187h63.63089868v211.06834682z m-67.76949371-104.49952465l-128.81377049 104.49952465h128.81377049V432.33204556z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-5" viewBox="0 0 3072 1024"><path d="M409.01277967 98.14049639h2276.22726982a103.4648759 103.4648759 0 0 1 103.46487589 103.46487591v620.7892554a103.4648759 103.4648759 0 0 1-103.46487589 103.46487591H409.01277967a103.4648759 103.4648759 0 0 1-103.4648759-103.46487591V201.6053723a103.4648759 103.4648759 0 0 1 103.4648759-103.46487591z" fill="#65991A"></path><path d="M1909.25348023 149.87293436h775.98656926a51.73243795 51.73243795 0 0 1 51.73243793 51.73243794v620.7892554a51.73243795 51.73243795 0 0 1-51.73243793 51.73243794H1909.25348023V149.87293436z" fill="#2D5315"></path><path d="M1095.70916103 353.80220475h-228.76084061v89.34192033l11.38113633-13.0883068c61.45813629 30.72906814 150.80005663 79.66795444 194.04837475 114.94947714l-50.07699992 62.02719309c-33.00529542-29.02189768-97.8777726-70.56304537-155.35251116-103.56834077v270.30198829H794.10904778V353.80220475H588.67953667v-68.28681809h507.02962436v68.28681809z m565.07341973-26.74567043l-52.35322721 34.71246587c-11.95019317-22.76227271-40.40303404-56.90568175-63.73436355-81.37512489l48.93888629-30.16001134c23.90038633 22.19321588 53.49134085 55.19851129 67.14870447 76.82267036z m-68.85587492 117.2257044l60.32002265 17.07170454c-20.48604543 72.27021582-48.36982949 136.57363618-84.22040898 192.91026111 11.38113634 32.43623861 25.03849997 51.21511357 40.40303404 51.21511356 10.24302271 0 15.93359089-23.33132951 18.77887498-82.51323853 13.08830679 14.79547725 35.28152267 29.02189768 50.64605675 35.28152268-9.10490908 88.2038067-28.45284086 111.53513622-75.68455672 111.53513623-33.00529542 0-58.04379538-21.05510225-77.960784-56.33662493a472.36889092 472.36889092 0 0 1-68.85587491 66.01059082 204.70525698 204.70525698 0 0 0-44.95548858-46.66265902 396.73606664 396.73606664 0 0 0 88.20380672-86.49663627c-17.07170453-60.88907947-26.17661361-139.9879771-31.29812497-226.48461334h-190.63403385l44.95548857 11.95019318c-4.55245453 10.24302271-9.6739659 20.48604543-14.79547724 31.29812496h143.402318v52.35322719h-172.4242157a457.46994879 457.46994879 0 0 1-29.59095451 46.09360221h54.06039768v-33.57435221h62.59624991v33.57435221h78.5298408l-0.56905681 55.1985113h-77.96078399v32.4362386l88.2038067-6.259625-0.56905681 54.06039767c-28.45284086 2.84528409-58.6128522 5.69056817-87.63474989 8.53585225v67.71776128h-62.59624991v-62.59624991c-50.64605674 4.55245453-98.44682942 9.10490908-137.71174985 12.51924997l-5.12151134-60.32002264c38.12680678-2.27622728 88.2038067-5.69056817 142.83326119-9.67396591v-36.41963631h-67.71776129c-22.19321588 0-42.11020448 3.41434091-47.23171585 9.10490908a434.75940853 434.75940853 0 0 0-20.48604543-59.18190901c10.24302271-2.84528409 19.9169886-13.08830679 29.02189769-27.88378407 2.84528409-3.98339772 8.53585226-12.51924998 14.22642045-23.33132951h-48.36982948V463.0611137h75.11549989c6.25962499-14.22642044 11.95019317-28.45284086 16.5026477-43.24831813h-99.58494304V367.45956836h123.48532937v-33.57435222h-95.03248851v-51.21511357h95.03248851V244.5432958h64.8724772v38.12680677h92.75626125v51.21511357h-92.75626125v33.57435222h122.91627257a4355.14702126 4355.14702126 0 0 1-1.70717047-122.34721574h66.57964766a2184.66085463 2184.66085463 0 0 0 0.56905682 122.34721574h139.41892028v52.35322721h-137.71174983c3.41434091 54.06039765 8.53585226 104.1373976 15.36453407 146.24760208 18.20981816-37.55774995 33.00529542-78.52984082 44.38643176-121.77815893zM2206.45633626 397.15398774v72.94273752c0 2.06929752 1.18984608 3.10394628 3.62127066 3.10394628h226.07075383c19.65832643 0 36.47136876 6.98387912 50.43912701 20.95163738s20.95163736 30.78080057 20.95163736 50.43912699v82.25457635c0 19.65832643-6.98387912 36.47136876-20.95163736 50.43912699s-30.78080057 20.95163736-50.43912701 20.95163736h-226.07075383c-19.65832643 0-36.47136876-6.98387912-50.43912702-20.95163736s-20.95163736-30.78080057-20.95163736-50.43912699v-27.9355165h67.76949372v27.9355165c0 2.43142459 1.18984608 3.62127065 3.62127066 3.62127065h226.07075383c2.43142459 0 3.62127065-1.18984608 3.62127066-3.62127065V544.59143591c0-2.06929752-1.18984608-3.10394628-3.62127066-3.10394628h-297.46151821V325.76322339h368.85228258v67.76949371h-297.4615182c-2.43142459 0-3.62127065 1.18984608-3.62127066 3.62127064z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-3" viewBox="0 0 3072 1024"><path d="M409.01277967 98.14049639h2276.22726982a103.4648759 103.4648759 0 0 1 103.46487589 103.46487591v620.7892554a103.4648759 103.4648759 0 0 1-103.46487589 103.46487591H409.01277967a103.4648759 103.4648759 0 0 1-103.4648759-103.46487591V201.6053723a103.4648759 103.4648759 0 0 1 103.4648759-103.46487591z" fill="#83B53A"></path><path d="M1909.25348023 149.87293436h775.98656926a51.73243795 51.73243795 0 0 1 51.73243793 51.73243794v620.7892554a51.73243795 51.73243795 0 0 1-51.73243793 51.73243794H1909.25348023V149.87293436z" fill="#2D5315"></path><path d="M1095.70916103 353.80220475h-228.76084061v89.34192033l11.38113633-13.0883068c61.45813629 30.72906814 150.80005663 79.66795444 194.04837475 114.94947714l-50.07699992 62.02719309c-33.00529542-29.02189768-97.8777726-70.56304537-155.35251116-103.56834077v270.30198829H794.10904778V353.80220475H588.67953667v-68.28681809h507.02962436v68.28681809z m565.07341973-26.74567043l-52.35322721 34.71246587c-11.95019317-22.76227271-40.40303404-56.90568175-63.73436355-81.37512489l48.93888629-30.16001134c23.90038633 22.19321588 53.49134085 55.19851129 67.14870447 76.82267036z m-68.85587492 117.2257044l60.32002265 17.07170454c-20.48604543 72.27021582-48.36982949 136.57363618-84.22040898 192.91026111 11.38113634 32.43623861 25.03849997 51.21511357 40.40303404 51.21511356 10.24302271 0 15.93359089-23.33132951 18.77887498-82.51323853 13.08830679 14.79547725 35.28152267 29.02189768 50.64605675 35.28152268-9.10490908 88.2038067-28.45284086 111.53513622-75.68455672 111.53513623-33.00529542 0-58.04379538-21.05510225-77.960784-56.33662493a472.36889092 472.36889092 0 0 1-68.85587491 66.01059082 204.70525698 204.70525698 0 0 0-44.95548858-46.66265902 396.73606664 396.73606664 0 0 0 88.20380672-86.49663627c-17.07170453-60.88907947-26.17661361-139.9879771-31.29812497-226.48461334h-190.63403385l44.95548857 11.95019318c-4.55245453 10.24302271-9.6739659 20.48604543-14.79547724 31.29812496h143.402318v52.35322719h-172.4242157a457.46994879 457.46994879 0 0 1-29.59095451 46.09360221h54.06039768v-33.57435221h62.59624991v33.57435221h78.5298408l-0.56905681 55.1985113h-77.96078399v32.4362386l88.2038067-6.259625-0.56905681 54.06039767c-28.45284086 2.84528409-58.6128522 5.69056817-87.63474989 8.53585225v67.71776128h-62.59624991v-62.59624991c-50.64605674 4.55245453-98.44682942 9.10490908-137.71174985 12.51924997l-5.12151134-60.32002264c38.12680678-2.27622728 88.2038067-5.69056817 142.83326119-9.67396591v-36.41963631h-67.71776129c-22.19321588 0-42.11020448 3.41434091-47.23171585 9.10490908a434.75940853 434.75940853 0 0 0-20.48604543-59.18190901c10.24302271-2.84528409 19.9169886-13.08830679 29.02189769-27.88378407 2.84528409-3.98339772 8.53585226-12.51924998 14.22642045-23.33132951h-48.36982948V463.0611137h75.11549989c6.25962499-14.22642044 11.95019317-28.45284086 16.5026477-43.24831813h-99.58494304V367.45956836h123.48532937v-33.57435222h-95.03248851v-51.21511357h95.03248851V244.5432958h64.8724772v38.12680677h92.75626125v51.21511357h-92.75626125v33.57435222h122.91627257a4355.14702126 4355.14702126 0 0 1-1.70717047-122.34721574h66.57964766a2184.66085463 2184.66085463 0 0 0 0.56905682 122.34721574h139.41892028v52.35322721h-137.71174983c3.41434091 54.06039765 8.53585226 104.1373976 15.36453407 146.24760208 18.20981816-37.55774995 33.00529542-78.52984082 44.38643176-121.77815893zM2493.05404249 397.15398774v74.49471066c0 9.98436052-1.70717046 18.62367765-5.17324379 25.86621898 13.08830679 13.81256093 19.65832643 30.00481401 19.65832642 48.62849166v80.70260322c0 19.65832643-6.88041424 36.47136876-20.69297518 50.43912699s-30.52213839 20.95163736-50.18046482 20.95163736h-226.5880782c-19.65832643 0-36.47136876-6.98387912-50.43912702-20.95163736s-20.95163736-30.78080057-20.95163736-50.43912699v-22.24494831h67.76949372v22.24494831c0 2.43142459 1.18984608 3.62127065 3.62127066 3.62127065h226.5880782c2.06929752 0 3.10394628-1.18984608 3.10394629-3.62127065V546.14340904c0-2.43142459-1.03464876-3.62127065-3.10394629-3.62127065h-233.83061953V474.75264467h218.82821252c2.43142459 0 3.62127065-1.03464876 3.62127068-3.10394627V397.15398774c0-2.43142459-1.18984608-3.62127065-3.62127068-3.62127065h-211.58567119c-2.43142459 0-3.62127065 1.18984608-3.62127066 3.62127065v26.90086775h-67.76949372v-26.90086775c0-19.65832643 6.98387912-36.47136876 20.95163736-50.43912699s30.78080057-20.95163736 50.43912702-20.95163736h211.58567119c19.65832643 0 36.47136876 6.98387912 50.43912702 20.95163736s20.95163736 30.78080057 20.95163736 50.43912699z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-6" viewBox="0 0 3072 1024"><path d="M400.71648338 98.14049639h2276.22726981a103.4648759 103.4648759 0 0 1 103.4648759 103.46487591v620.7892554a103.4648759 103.4648759 0 0 1-103.4648759 103.46487591H400.71648338a103.4648759 103.4648759 0 0 1-103.46487591-103.46487591V201.6053723a103.4648759 103.4648759 0 0 1 103.46487591-103.46487591z" fill="#53840E"></path><path d="M1900.95718394 149.87293436h775.98656925a51.73243795 51.73243795 0 0 1 51.73243794 51.73243794v620.7892554a51.73243795 51.73243795 0 0 1-51.73243794 51.73243794H1900.95718394V149.87293436z" fill="#2D5315"></path><path d="M1087.41286474 353.80220475h-228.76084062v89.34192033l11.38113634-13.0883068c61.45813629 30.72906814 150.80005663 79.66795444 194.04837474 114.94947714l-50.07699991 62.02719309c-33.00529542-29.02189768-97.8777726-70.56304537-155.35251117-103.56834077v270.30198829H785.81275148V353.80220475H580.38324038v-68.28681809h507.02962436v68.28681809z m565.07341973-26.74567043l-52.35322721 34.71246587c-11.95019317-22.76227271-40.40303404-56.90568175-63.73436356-81.37512489l48.9388863-30.16001134c23.90038633 22.19321588 53.49134085 55.19851129 67.14870447 76.82267036z m-68.85587492 117.2257044l60.32002265 17.07170454c-20.48604543 72.27021582-48.36982949 136.57363618-84.22040898 192.91026111 11.38113634 32.43623861 25.03849997 51.21511357 40.40303404 51.21511356 10.24302271 0 15.93359089-23.33132951 18.77887497-82.51323853 13.08830679 14.79547725 35.28152267 29.02189768 50.64605675 35.28152268-9.10490908 88.2038067-28.45284086 111.53513622-75.68455672 111.53513623-33.00529542 0-58.04379538-21.05510225-77.96078399-56.33662493a472.36889092 472.36889092 0 0 1-68.85587491 66.01059082 204.70525698 204.70525698 0 0 0-44.95548859-46.66265902 396.73606664 396.73606664 0 0 0 88.20380672-86.49663627c-17.07170453-60.88907947-26.17661361-139.9879771-31.29812497-226.48461334h-190.63403384l44.95548857 11.95019318c-4.55245453 10.24302271-9.6739659 20.48604543-14.79547724 31.29812496h143.402318v52.35322719h-172.4242157a457.46994879 457.46994879 0 0 1-29.59095451 46.09360221h54.06039767v-33.57435221h62.59624991v33.57435221h78.52984081l-0.56905681 55.1985113h-77.960784v32.4362386l88.2038067-6.259625-0.56905681 54.06039767c-28.45284086 2.84528409-58.6128522 5.69056817-87.63474989 8.53585225v67.71776128h-62.59624991v-62.59624991c-50.64605674 4.55245453-98.44682942 9.10490908-137.71174984 12.51924997l-5.12151135-60.32002264c38.12680678-2.27622728 88.2038067-5.69056817 142.83326119-9.67396591v-36.41963631h-67.71776129c-22.19321588 0-42.11020448 3.41434091-47.23171584 9.10490908a434.75940853 434.75940853 0 0 0-20.48604544-59.18190901c10.24302271-2.84528409 19.9169886-13.08830679 29.0218977-27.88378407 2.84528409-3.98339772 8.53585226-12.51924998 14.22642045-23.33132951h-48.36982949V463.0611137h75.11549989c6.25962499-14.22642044 11.95019317-28.45284086 16.50264771-43.24831813h-99.58494305V367.45956836h123.48532938v-33.57435222h-95.03248852v-51.21511357h95.03248852V244.5432958h64.87247719v38.12680677h92.75626126v51.21511357h-92.75626126v33.57435222h122.91627258a4355.14702126 4355.14702126 0 0 1-1.70717047-122.34721574h66.57964765a2184.66085463 2184.66085463 0 0 0 0.56905683 122.34721574h139.41892027v52.35322721h-137.71174982c3.41434091 54.06039765 8.53585226 104.1373976 15.36453407 146.24760208 18.20981816-37.55774995 33.00529542-78.52984082 44.38643176-121.77815893zM2201.78131062 473.20067154h226.07075383c19.65832643 0 36.47136876 6.98387912 50.43912701 20.95163738s20.95163736 30.78080057 20.95163737 50.43912699v82.25457635c0 19.65832643-6.98387912 36.47136876-20.95163737 50.43912699s-30.78080057 20.95163736-50.43912701 20.95163736h-226.07075383c-19.65832643 0-36.47136876-6.98387912-50.43912701-20.95163736s-20.95163736-30.78080057-20.95163737-50.43912699V397.15398774c0-19.65832643 6.98387912-36.47136876 20.95163737-50.43912699s30.78080057-20.95163736 50.43912701-20.95163736h238.48653895v67.76949371h-238.48653895c-2.43142459 0-3.62127065 1.18984608-3.62127066 3.62127064v72.94273752c0 2.06929752 1.18984608 3.10394628 3.62127066 3.10394628z m229.69202449 153.64534072V544.59143591c0-2.06929752-1.18984608-3.10394628-3.62127066-3.10394628h-229.69202449v85.35852263c0 2.43142459 1.18984608 3.62127065 3.62127066 3.62127065h226.07075383c2.43142459 0 3.62127065-1.18984608 3.62127066-3.62127065z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-7" viewBox="0 0 3072 1024"><path d="M1900.95718394 149.87293436h827.71900719v724.25413128H1900.95718394z" fill="#835327"></path><path d="M348.98404544 149.87293436h1551.9731385v724.25413128H348.98404544V149.87293436z" fill="#CA9463"></path><path d="M400.71648338 149.87293436a51.73243795 51.73243795 0 0 0-51.73243794 51.73243794v620.7892554a51.73243795 51.73243795 0 0 0 51.73243794 51.73243794h2276.22726981a51.73243795 51.73243795 0 0 0 51.73243794-51.73243794V201.6053723a51.73243795 51.73243795 0 0 0-51.73243794-51.73243794H400.71648338z m0-51.73243797h2276.22726981a103.4648759 103.4648759 0 0 1 103.4648759 103.46487591v620.7892554a103.4648759 103.4648759 0 0 1-103.4648759 103.46487591H400.71648338a103.4648759 103.4648759 0 0 1-103.46487591-103.46487591V201.6053723a103.4648759 103.4648759 0 0 1 103.46487591-103.46487591z" fill="#835327"></path><path d="M2159.87803588 325.76322339h238.48653895c19.65832643 0 36.47136876 6.98387912 50.439127 20.95163736s20.95163736 30.78080057 20.95163736 50.43912699v301.08278887h-67.76949371V397.15398774c0-2.43142459-1.18984608-3.62127065-3.62127065-3.62127065h-238.48653895V325.76322339zM1087.41286474 353.80220475h-228.76084062v89.34192033l11.38113634-13.0883068c61.45813629 30.72906814 150.80005663 79.66795444 194.04837474 114.94947714l-50.07699991 62.02719309c-33.00529542-29.02189768-97.8777726-70.56304537-155.35251117-103.56834077v270.30198829H785.81275148V353.80220475H580.38324038v-68.28681809h507.02962436v68.28681809z m565.07341973-26.74567043l-52.35322721 34.71246587c-11.95019317-22.76227271-40.40303404-56.90568175-63.73436356-81.37512489l48.9388863-30.16001134c23.90038633 22.19321588 53.49134085 55.19851129 67.14870447 76.82267036z m-68.85587492 117.2257044l60.32002265 17.07170454c-20.48604543 72.27021582-48.36982949 136.57363618-84.22040898 192.91026111 11.38113634 32.43623861 25.03849997 51.21511357 40.40303404 51.21511356 10.24302271 0 15.93359089-23.33132951 18.77887497-82.51323853 13.08830679 14.79547725 35.28152267 29.02189768 50.64605675 35.28152268-9.10490908 88.2038067-28.45284086 111.53513622-75.68455672 111.53513623-33.00529542 0-58.04379538-21.05510225-77.96078399-56.33662493a472.36889092 472.36889092 0 0 1-68.85587491 66.01059082 204.70525698 204.70525698 0 0 0-44.95548859-46.66265902 396.73606664 396.73606664 0 0 0 88.20380672-86.49663627c-17.07170453-60.88907947-26.17661361-139.9879771-31.29812497-226.48461334h-190.63403384l44.95548857 11.95019318c-4.55245453 10.24302271-9.6739659 20.48604543-14.79547724 31.29812496h143.402318v52.35322719h-172.4242157a457.46994879 457.46994879 0 0 1-29.59095451 46.09360221h54.06039767v-33.57435221h62.59624991v33.57435221h78.52984081l-0.56905681 55.1985113h-77.960784v32.4362386l88.2038067-6.259625-0.56905681 54.06039767c-28.45284086 2.84528409-58.6128522 5.69056817-87.63474989 8.53585225v67.71776128h-62.59624991v-62.59624991c-50.64605674 4.55245453-98.44682942 9.10490908-137.71174984 12.51924997l-5.12151135-60.32002264c38.12680678-2.27622728 88.2038067-5.69056817 142.83326119-9.67396591v-36.41963631h-67.71776129c-22.19321588 0-42.11020448 3.41434091-47.23171584 9.10490908a434.75940853 434.75940853 0 0 0-20.48604544-59.18190901c10.24302271-2.84528409 19.9169886-13.08830679 29.0218977-27.88378407 2.84528409-3.98339772 8.53585226-12.51924998 14.22642045-23.33132951h-48.36982949V463.0611137h75.11549989c6.25962499-14.22642044 11.95019317-28.45284086 16.50264771-43.24831813h-99.58494305V367.45956836h123.48532938v-33.57435222h-95.03248852v-51.21511357h95.03248852V244.5432958h64.87247719v38.12680677h92.75626126v51.21511357h-92.75626126v33.57435222h122.91627258a4355.14702126 4355.14702126 0 0 1-1.70717047-122.34721574h66.57964765a2184.66085463 2184.66085463 0 0 0 0.56905683 122.34721574h139.41892027v52.35322721h-137.71174982c3.41434091 54.06039765 8.53585226 104.1373976 15.36453407 146.24760208 18.20981816-37.55774995 33.00529542-78.52984082 44.38643176-121.77815893z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-9" viewBox="0 0 3072 1024"><path d="M357.28034173 149.87293436h1551.9731385v724.25413128H357.28034173V149.87293436z" fill="#A46F40"></path><path d="M1909.25348023 149.87293436h827.71900719v724.25413128H1909.25348023z" fill="#835327"></path><path d="M409.01277967 149.87293436a51.73243795 51.73243795 0 0 0-51.73243794 51.73243794v620.7892554a51.73243795 51.73243795 0 0 0 51.73243794 51.73243794h2276.22726982a51.73243795 51.73243795 0 0 0 51.73243793-51.73243794V201.6053723a51.73243795 51.73243795 0 0 0-51.73243793-51.73243794H409.01277967z m0-51.73243797h2276.22726982a103.4648759 103.4648759 0 0 1 103.46487589 103.46487591v620.7892554a103.4648759 103.4648759 0 0 1-103.46487589 103.46487591H409.01277967a103.4648759 103.4648759 0 0 1-103.4648759-103.46487591V201.6053723a103.4648759 103.4648759 0 0 1 103.4648759-103.46487591z" fill="#835327"></path><path d="M2436.92434732 549.24735533h-226.58807821c-19.65832643 0-36.47136876-6.98387912-50.439127-20.95163738s-20.95163736-30.78080057-20.95163738-50.43912699V397.15398774c0-19.65832643 6.98387912-36.47136876 20.95163738-50.43912699s30.78080057-20.95163736 50.439127-20.95163736h226.58807821c19.65832643 0 36.36790388 6.98387912 50.18046481 20.95163736s20.69297518 30.78080057 20.69297517 50.43912699v229.69202452c0 19.65832643-6.88041424 36.47136876-20.69297517 50.43912699s-30.52213839 20.95163736-50.18046481 20.95163736h-226.58807821c-17.5890289 0-33.10876028-6.46655475-46.55919416-19.39966422s-21.88282126-29.07363013-25.3488946-48.36982948h298.49616697c2.06929752 0 3.10394628-1.18984608 3.10394628-3.62127065V552.3513016c0-2.06929752-1.03464876-3.10394628-3.10394628-3.10394627z m-229.6920245-152.09336759v80.70260322c0 2.06929752 1.03464876 3.10394628 3.10394629 3.10394626h229.69202449V397.15398774c0-2.43142459-1.03464876-3.62127065-3.10394628-3.62127065h-226.58807821c-2.06929752 0-3.10394628 1.18984608-3.10394629 3.62127065zM1095.70916103 353.80220475h-228.76084061v89.34192033l11.38113633-13.0883068c61.45813629 30.72906814 150.80005663 79.66795444 194.04837475 114.94947714l-50.07699992 62.02719309c-33.00529542-29.02189768-97.8777726-70.56304537-155.35251116-103.56834077v270.30198829H794.10904778V353.80220475H588.67953667v-68.28681809h507.02962436v68.28681809z m565.07341973-26.74567043l-52.35322721 34.71246587c-11.95019317-22.76227271-40.40303404-56.90568175-63.73436355-81.37512489l48.93888629-30.16001134c23.90038633 22.19321588 53.49134085 55.19851129 67.14870447 76.82267036z m-68.85587492 117.2257044l60.32002265 17.07170454c-20.48604543 72.27021582-48.36982949 136.57363618-84.22040898 192.91026111 11.38113634 32.43623861 25.03849997 51.21511357 40.40303404 51.21511356 10.24302271 0 15.93359089-23.33132951 18.77887498-82.51323853 13.08830679 14.79547725 35.28152267 29.02189768 50.64605675 35.28152268-9.10490908 88.2038067-28.45284086 111.53513622-75.68455672 111.53513623-33.00529542 0-58.04379538-21.05510225-77.960784-56.33662493a472.36889092 472.36889092 0 0 1-68.85587491 66.01059082 204.70525698 204.70525698 0 0 0-44.95548858-46.66265902 396.73606664 396.73606664 0 0 0 88.20380672-86.49663627c-17.07170453-60.88907947-26.17661361-139.9879771-31.29812497-226.48461334h-190.63403385l44.95548857 11.95019318c-4.55245453 10.24302271-9.6739659 20.48604543-14.79547724 31.29812496h143.402318v52.35322719h-172.4242157a457.46994879 457.46994879 0 0 1-29.59095451 46.09360221h54.06039768v-33.57435221h62.59624991v33.57435221h78.5298408l-0.56905681 55.1985113h-77.96078399v32.4362386l88.2038067-6.259625-0.56905681 54.06039767c-28.45284086 2.84528409-58.6128522 5.69056817-87.63474989 8.53585225v67.71776128h-62.59624991v-62.59624991c-50.64605674 4.55245453-98.44682942 9.10490908-137.71174985 12.51924997l-5.12151134-60.32002264c38.12680678-2.27622728 88.2038067-5.69056817 142.83326119-9.67396591v-36.41963631h-67.71776129c-22.19321588 0-42.11020448 3.41434091-47.23171585 9.10490908a434.75940853 434.75940853 0 0 0-20.48604543-59.18190901c10.24302271-2.84528409 19.9169886-13.08830679 29.02189769-27.88378407 2.84528409-3.98339772 8.53585226-12.51924998 14.22642045-23.33132951h-48.36982948V463.0611137h75.11549989c6.25962499-14.22642044 11.95019317-28.45284086 16.5026477-43.24831813h-99.58494304V367.45956836h123.48532937v-33.57435222h-95.03248851v-51.21511357h95.03248851V244.5432958h64.8724772v38.12680677h92.75626125v51.21511357h-92.75626125v33.57435222h122.91627257a4355.14702126 4355.14702126 0 0 1-1.70717047-122.34721574h66.57964766a2184.66085463 2184.66085463 0 0 0 0.56905682 122.34721574h139.41892028v52.35322721h-137.71174983c3.41434091 54.06039765 8.53585226 104.1373976 15.36453407 146.24760208 18.20981816-37.55774995 33.00529542-78.52984082 44.38643176-121.77815893z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-8" viewBox="0 0 3072 1024"><path d="M342.46552692 149.87293436h1551.9731385v724.25413128H342.46552692V149.87293436z" fill="#BB8453"></path><path d="M1894.43866542 149.87293436h827.71900719v724.25413128H1894.43866542z" fill="#835327"></path><path d="M394.19796486 149.87293436a51.73243795 51.73243795 0 0 0-51.73243794 51.73243794v620.7892554a51.73243795 51.73243795 0 0 0 51.73243794 51.73243794h2276.22726981a51.73243795 51.73243795 0 0 0 51.73243794-51.73243794V201.6053723a51.73243795 51.73243795 0 0 0-51.73243794-51.73243794H394.19796486z m0-51.73243797h2276.22726981a103.4648759 103.4648759 0 0 1 103.4648759 103.46487591v620.7892554a103.4648759 103.4648759 0 0 1-103.4648759 103.46487591H394.19796486a103.4648759 103.4648759 0 0 1-103.46487591-103.46487591V201.6053723a103.4648759 103.4648759 0 0 1 103.46487591-103.46487591z" fill="#835327"></path><path d="M2492.72431031 384.73820264v85.35852262c0 14.48508262-3.46607335 26.90086773-10.3464876 37.24735533 6.88041424 10.3464876 10.3464876 22.76227271 10.3464876 37.24735532v82.25457635c0 19.65832643-6.98387912 36.47136876-20.95163737 50.43912699s-30.78080057 20.95163736-50.439127 20.95163736h-226.07075383c-19.65832643 0-36.47136876-6.98387912-50.43912702-20.95163736s-20.95163736-30.78080057-20.95163737-50.43912699V544.59143591c0-13.81256093 3.46607335-26.22834603 10.34648759-37.24735532a68.90760734 68.90760734 0 0 1-10.34648759-37.24735533V397.15398774c0-19.65832643 6.98387912-36.47136876 20.95163737-50.43912699s30.78080057-20.95163736 50.43912702-20.95163736h226.07075383c17.5890289 0 33.21222516 5.5871033 46.81785634 16.81304232s21.83108883 25.24542972 24.57290803 42.16193693z m-67.76949371 242.10780962V544.59143591c0-2.06929752-1.18984608-3.10394628-3.62127066-3.10394628h-226.07075383c-2.43142459 0-3.62127065 1.03464876-3.62127066 3.10394628v82.25457635c0 2.43142459 1.18984608 3.62127065 3.62127066 3.62127064h226.07075383c2.43142459 0 3.62127065-1.18984608 3.62127066-3.62127064z m0-151.57604321v-77.59865692c0-2.43142459-1.18984608-3.62127065-3.62127066-3.62127065h-226.07075383c-2.43142459 0-3.62127065 1.18984608-3.62127066 3.62127065v77.59865692c0 2.43142459 1.18984608 3.62127065 3.62127066 3.62127067h226.07075383c2.43142459 0 3.62127065-1.18984608 3.62127066-3.62127067zM1080.89434622 353.80220475h-228.76084061v89.34192033l11.38113633-13.0883068c61.45813629 30.72906814 150.80005663 79.66795444 194.04837474 114.94947714l-50.07699991 62.02719309c-33.00529542-29.02189768-97.8777726-70.56304537-155.35251116-103.56834077v270.30198829H779.29423296V353.80220475H573.86472186v-68.28681809h507.02962436v68.28681809z m565.07341973-26.74567043l-52.35322721 34.71246587c-11.95019317-22.76227271-40.40303404-56.90568175-63.73436356-81.37512489l48.9388863-30.16001134c23.90038633 22.19321588 53.49134085 55.19851129 67.14870447 76.82267036z m-68.85587492 117.2257044l60.32002265 17.07170454c-20.48604543 72.27021582-48.36982949 136.57363618-84.22040898 192.91026111 11.38113634 32.43623861 25.03849997 51.21511357 40.40303404 51.21511356 10.24302271 0 15.93359089-23.33132951 18.77887497-82.51323853 13.08830679 14.79547725 35.28152267 29.02189768 50.64605676 35.28152268-9.10490908 88.2038067-28.45284086 111.53513622-75.68455672 111.53513623-33.00529542 0-58.04379538-21.05510225-77.960784-56.33662493a472.36889092 472.36889092 0 0 1-68.85587491 66.01059082 204.70525698 204.70525698 0 0 0-44.95548859-46.66265902 396.73606664 396.73606664 0 0 0 88.20380672-86.49663627c-17.07170453-60.88907947-26.17661361-139.9879771-31.29812496-226.48461334h-190.63403385l44.95548857 11.95019318c-4.55245453 10.24302271-9.6739659 20.48604543-14.79547724 31.29812496h143.402318v52.35322719h-172.4242157a457.46994879 457.46994879 0 0 1-29.59095451 46.09360221h54.06039768v-33.57435221h62.5962499v33.57435221h78.52984081l-0.56905681 55.1985113h-77.960784v32.4362386l88.20380671-6.259625-0.56905681 54.06039767c-28.45284086 2.84528409-58.6128522 5.69056817-87.6347499 8.53585225v67.71776128h-62.5962499v-62.59624991c-50.64605674 4.55245453-98.44682942 9.10490908-137.71174985 12.51924997l-5.12151134-60.32002264c38.12680678-2.27622728 88.2038067-5.69056817 142.83326119-9.67396591v-36.41963631h-67.71776129c-22.19321588 0-42.11020448 3.41434091-47.23171585 9.10490908a434.75940853 434.75940853 0 0 0-20.48604543-59.18190901c10.24302271-2.84528409 19.9169886-13.08830679 29.02189769-27.88378407 2.84528409-3.98339772 8.53585226-12.51924998 14.22642045-23.33132951h-48.36982949V463.0611137h75.11549989c6.25962499-14.22642044 11.95019317-28.45284086 16.50264771-43.24831813h-99.58494305V367.45956836h123.48532938v-33.57435222h-95.03248851v-51.21511357h95.03248851V244.5432958h64.87247719v38.12680677h92.75626126v51.21511357h-92.75626126v33.57435222h122.91627258a4355.14702126 4355.14702126 0 0 1-1.70717047-122.34721574h66.57964765a2184.66085463 2184.66085463 0 0 0 0.56905683 122.34721574h139.41892028v52.35322721h-137.71174983c3.41434091 54.06039765 8.53585226 104.1373976 15.36453407 146.24760208 18.20981816-37.55774995 33.00529542-78.52984082 44.38643176-121.77815893z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-10" viewBox="0 0 3072 1024"><path d="M357.87293433 149.87293436h1551.9731385v724.25413128H357.87293433V149.87293436z" fill="#E6A001"></path><path d="M1909.84607283 149.87293436h827.71900719v724.25413128H1909.84607283z" fill="#644600"></path><path d="M409.60537226 149.87293436a51.73243795 51.73243795 0 0 0-51.73243793 51.73243794v620.7892554a51.73243795 51.73243795 0 0 0 51.73243793 51.73243794h2276.22726982a51.73243795 51.73243795 0 0 0 51.73243794-51.73243794V201.6053723a51.73243795 51.73243795 0 0 0-51.73243794-51.73243794H409.60537226z m0-51.73243797h2276.22726982a103.4648759 103.4648759 0 0 1 103.46487589 103.46487591v620.7892554a103.4648759 103.4648759 0 0 1-103.46487589 103.46487591H409.60537226a103.4648759 103.4648759 0 0 1-103.4648759-103.46487591V201.6053723a103.4648759 103.4648759 0 0 1 103.4648759-103.46487591z" fill="#644600"></path><path d="M2023.65743631 459.75023766l112.25939035-133.98701427h75.01203503v372.47355322h-67.76949371V424.57217986l-30.00481401 35.1780578H2023.65743631z m302.63476201-133.98701427h226.07075384c19.65832643 0 36.47136876 7.24254132 50.439127 21.72762394s20.95163736 31.55678715 20.95163738 51.21511356v226.07075385c0 19.65832643-6.98387912 36.83349581-20.95163738 51.47377576s-30.78080057 21.98628614-50.439127 21.98628611h-226.07075384c-19.65832643 0-36.47136876-7.34600619-50.439127-21.98628611s-20.95163736-31.81544933-20.95163737-51.47377576V398.70596089c0-19.65832643 6.98387912-36.73003095 20.95163737-51.21511356s30.78080057-21.72762395 50.439127-21.72762394z m199.16988611 69.32146685h-199.16988611c-2.43142459 0-3.62127065 1.18984608-3.62127065 3.62127065v166.57845019l202.79115676-170.19972084z m-172.26901838 233.31329515h199.16988611c2.43142459 0 3.62127065-1.18984608 3.62127065-3.62127065V458.19826453l-202.79115676 170.19972086zM1096.30175363 353.80220475h-228.76084062v89.34192033l11.38113634-13.0883068c61.45813629 30.72906814 150.80005663 79.66795444 194.04837474 114.94947714l-50.07699992 62.02719309c-33.00529542-29.02189768-97.8777726-70.56304537-155.35251116-103.56834077v270.30198829H794.70164037V353.80220475H589.27212926v-68.28681809h507.02962437v68.28681809z m565.07341972-26.74567043l-52.35322721 34.71246587c-11.95019317-22.76227271-40.40303404-56.90568175-63.73436355-81.37512489l48.93888629-30.16001134c23.90038633 22.19321588 53.49134085 55.19851129 67.14870447 76.82267036z m-68.85587491 117.2257044l60.32002264 17.07170454c-20.48604543 72.27021582-48.36982949 136.57363618-84.22040897 192.91026111 11.38113634 32.43623861 25.03849997 51.21511357 40.40303403 51.21511356 10.24302271 0 15.93359089-23.33132951 18.77887498-82.51323853 13.08830679 14.79547725 35.28152267 29.02189768 50.64605675 35.28152268-9.10490908 88.2038067-28.45284086 111.53513622-75.68455672 111.53513623-33.00529542 0-58.04379538-21.05510225-77.96078399-56.33662493a472.36889092 472.36889092 0 0 1-68.85587491 66.01059082 204.70525698 204.70525698 0 0 0-44.95548859-46.66265902 396.73606664 396.73606664 0 0 0 88.20380672-86.49663627c-17.07170453-60.88907947-26.17661361-139.9879771-31.29812497-226.48461334h-190.63403384l44.95548857 11.95019318c-4.55245453 10.24302271-9.6739659 20.48604543-14.79547724 31.29812496h143.40231799v52.35322719h-172.4242157a457.46994879 457.46994879 0 0 1-29.59095451 46.09360221h54.06039768v-33.57435221h62.59624991v33.57435221h78.5298408l-0.56905681 55.1985113h-77.96078399v32.4362386l88.2038067-6.259625-0.56905681 54.06039767c-28.45284086 2.84528409-58.6128522 5.69056817-87.63474989 8.53585225v67.71776128h-62.59624991v-62.59624991c-50.64605674 4.55245453-98.44682942 9.10490908-137.71174984 12.51924997l-5.12151135-60.32002264c38.12680678-2.27622728 88.2038067-5.69056817 142.83326119-9.67396591v-36.41963631h-67.71776129c-22.19321588 0-42.11020448 3.41434091-47.23171585 9.10490908a434.75940853 434.75940853 0 0 0-20.48604543-59.18190901c10.24302271-2.84528409 19.9169886-13.08830679 29.02189769-27.88378407 2.84528409-3.98339772 8.53585226-12.51924998 14.22642045-23.33132951h-48.36982948V463.0611137h75.11549989c6.25962499-14.22642044 11.95019317-28.45284086 16.50264771-43.24831813h-99.58494305V367.45956836h123.48532938v-33.57435222h-95.03248852v-51.21511357h95.03248852V244.5432958h64.87247719v38.12680677h92.75626125v51.21511357h-92.75626125v33.57435222h122.91627257a4355.14702126 4355.14702126 0 0 1-1.70717046-122.34721574h66.57964765a2184.66085463 2184.66085463 0 0 0 0.56905683 122.34721574h139.41892027v52.35322721h-137.71174983c3.41434091 54.06039765 8.53585226 104.1373976 15.36453407 146.24760208 18.20981816-37.55774995 33.00529542-78.52984082 44.38643177-121.77815893z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-11" viewBox="0 0 3072 1024"><path d="M336.64743873 146.31768968h1567.20990144v731.36462064H336.64743873V146.31768968z" fill="#CF9000"></path><path d="M1903.85734017 146.31768968h835.84528074v731.36462064H1903.85734017z" fill="#644600"></path><path d="M388.88776876 146.31768968a52.24033004 52.24033004 0 0 0-52.24033003 52.24033003v626.88396058a52.24033004 52.24033004 0 0 0 52.24033003 52.24033003h2298.57452212a52.24033004 52.24033004 0 0 0 52.24033003-52.24033003V198.55801971a52.24033004 52.24033004 0 0 0-52.24033003-52.24033003H388.88776876z m0-52.24033007h2298.57452212a104.4806601 104.4806601 0 0 1 104.48066009 104.4806601v626.88396058a104.4806601 104.4806601 0 0 1-104.48066009 104.4806601H388.88776876a104.4806601 104.4806601 0 0 1-104.4806601-104.4806601V198.55801971a104.4806601 104.4806601 0 0 1 104.4806601-104.4806601z" fill="#644600"></path><path d="M2125.0951379 459.23726664l113.36151622-135.30245481h75.74847856v376.13037634h-68.43483237V423.71384221l-30.29939143 35.52342443h-90.37577098z m204.25969049 0l113.36151621-135.30245481h75.74847857v376.13037634h-68.43483236V423.71384221l-30.29939144 35.52342443h-90.37577098zM1082.32590984 352.24907071h-231.00673947v90.21904999l11.49287259-13.21680351c62.0615121 31.03075604 152.2805621 80.45010828 195.95347801 116.07801339l-50.56863948 62.63615571c-33.32933058-29.30682515-98.83870445-71.25581018-156.87771112-104.58514075v272.9557245H777.76478565V352.24907071H570.31843503v-68.95723565h512.00747481v68.95723565z m570.62112511-27.00825064l-52.86721402 35.05326147c-12.06751625-22.98574523-40.79969777-57.46436306-64.36008662-82.17403916l49.41935223-30.45611244c24.13503247 22.41110159 54.01650128 55.74043216 67.80794841 77.57689013z m-69.5318793 118.3765879l60.91222484 17.23930893c-20.68717071 72.97974109-48.84470859 137.91447131-85.04725733 194.80419074 11.49287259 32.75468695 25.28431974 51.71792675 40.79969777 51.71792673 10.34358534 0 16.09002166-23.56038884 18.96323981-83.32332642 13.2168035 14.94073439 35.62790509 29.30682515 51.14328312 35.62790508-9.19429808 89.06976273-28.73218151 112.63015159-76.42760287 112.6301516-33.32933058 0-58.61365031-21.26181433-78.72617737-56.88971942a477.00645367 477.00645367 0 0 1-69.5318793 66.65866114 206.714986 206.714986 0 0 0-45.39684683-47.1207777 400.63109113 400.63109113 0 0 0 89.06976276-87.34583186c-17.23930892-61.48686847-26.43360701-141.36233312-31.6053997-228.70816493h-192.50561621l45.39684681 12.06751625c-4.59714904 10.34358534-9.76894172 20.68717071-14.94073439 31.60539968h144.81019489v52.86721399h-174.11702007a461.9612386 461.9612386 0 0 1-29.88146879 46.54613407h54.59114492v-33.90397418h63.21079935v33.90397418h79.30082102l-0.57464363 55.74043216h-78.72617739v32.75468695l89.06976273-6.32107994-0.57464363 54.59114491c-28.73218151 2.87321815-59.18829395 5.74643631-88.4951191 8.61965445v68.38259204h-63.21079935v-63.21079935c-51.1432831 4.59714904-99.41334808 9.19429808-139.0637586 12.64215985l-5.17179266-60.91222482c38.50112326-2.29857453 89.06976273-5.74643631 144.23555126-9.76894173v-36.77719236h-68.38259204c-22.41110159 0-42.52362865 3.44786179-47.69542133 9.1942981a439.02773372 439.02773372 0 0 0-20.68717069-59.76293758c10.34358534-2.87321815 20.11252706-13.2168035 29.30682515-28.1575379 2.87321815-4.02250541 8.61965446-12.64215987 14.36609077-23.56038885h-48.8447086V462.58064777h75.85295922c6.32107993-14.36609077 12.06751625-28.73218151 16.66466528-43.67291591h-100.56263533V366.04051784h124.69766782v-33.9039742h-95.9654863v-51.71792675h95.9654863V241.91749365h65.50937389v38.50112324h93.66691178v51.71792675h-93.66691178v33.9039742h124.12302419a4397.9044254 4397.9044254 0 0 1-1.7239309-123.54838055h67.23330477a2206.10913791 2206.10913791 0 0 0 0.57464365 123.54838055h140.78768947v52.86721402h-139.06375859c3.44786179 54.59114489 8.61965446 105.1597844 15.51537803 147.68341303 18.38859618-37.92647962 33.32933058-79.30082103 44.82220318-122.97373692z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-12" viewBox="0 0 3072 1024"><path d="M328.93344904 142.859375h1582.03125v738.28125H328.93344904V142.859375z" fill="#BB8200"></path><path d="M1910.96469904 142.859375h843.75v738.28125H1910.96469904z" fill="#644600"></path><path d="M381.66782404 142.859375a52.734375 52.734375 0 0 0-52.734375 52.734375v632.8125a52.734375 52.734375 0 0 0 52.734375 52.734375h2320.31250001a52.734375 52.734375 0 0 0 52.73437499-52.734375V195.59375a52.734375 52.734375 0 0 0-52.73437499-52.734375H381.66782404z m0-52.734375h2320.31250001a105.46875 105.46875 0 0 1 105.46874999 105.46875v632.8125a105.46875 105.46875 0 0 1-105.46874999 105.46875H381.66782404a105.46875 105.46875 0 0 1-105.46874999-105.46875V195.59375a105.46875 105.46875 0 0 1 105.46874999-105.46875z" fill="#644600"></path><path d="M2026.98032404 458.73828125l114.43359375-136.58203125h76.46484376v379.6875h-69.08203125V422.87890625l-30.5859375 35.859375H2026.98032404z m308.49609375-136.58203125h230.44921875c20.0390625 0 37.17773438 7.11914063 51.41601563 21.35742188s21.35742188 31.37695313 21.35742187 51.41601562v84.375c0 20.0390625-7.11914063 37.17773438-21.35742187 51.41601563s-31.37695313 21.35742188-51.41601563 21.35742187h-230.44921875c-2.47851563 0-3.69140625 1.0546875-3.69140624 3.1640625v73.828125c0 2.47851563 1.21289063 3.69140625 3.69140624 3.69140625h303.22265625v69.08203125h-375.99609375V555.2421875c0-20.0390625 7.11914063-37.17773438 21.35742188-51.41601563s31.37695313-21.35742188 51.41601562-21.35742187h230.44921875c2.47851563 0 3.69140625-1.0546875 3.69140626-3.1640625v-84.375c0-2.47851563-1.21289063-3.69140625-3.69140626-3.69140625h-230.44921875c-2.47851563 0-3.69140625 1.21289063-3.69140624 3.69140625v28.4765625h-69.08203126v-28.4765625c0-20.0390625 7.11914063-37.17773438 21.35742188-51.41601563s31.37695313-21.35742188 51.41601562-21.35742187zM1081.6639178 350.73828125h-233.19140626v91.07226563l11.6015625-13.34179688c62.6484375 31.32421875 153.72070313 81.2109375 197.80664064 117.17578125l-51.04687501 63.22851562c-33.64453125-29.58398438-99.7734375-71.9296875-158.36132813-105.57421875v275.53710938H774.22251154V350.73828125H564.81430842v-69.609375h516.84960938v69.609375z m576.01757812-27.26367188l-53.3671875 35.38476563c-12.18164063-23.203125-41.18554688-58.0078125-64.96875-82.95117188l49.88671875-30.74414062c24.36328125 22.62304688 54.52734375 56.26757813 68.44921875 78.31054688z m-70.18945312 119.49609376l61.48828124 17.40234375c-20.8828125 73.66992188-49.30664063 139.21875-85.8515625 196.64648437 11.6015625 33.06445313 25.5234375 52.20703125 41.18554688 52.20703125 10.44140625 0 16.2421875-23.78320313 19.14257813-84.11132813 13.34179688 15.08203125 35.96484375 29.58398438 51.62695312 35.96484376-9.28125 89.91210938-29.00390625 113.6953125-77.15039063 113.69531249-33.64453125 0-59.16796875-21.46289063-79.47070312-57.42773437a481.51757813 481.51757813 0 0 1-70.18945312 67.2890625 208.66992188 208.66992188 0 0 0-45.82617188-47.56640625 404.41992188 404.41992188 0 0 0 89.91210937-88.171875c-17.40234375-62.06835938-26.68359375-142.69921875-31.90429686-230.87109375h-194.32617189l45.82617189 12.18164063c-4.640625 10.44140625-9.86132813 20.8828125-15.08203125 31.90429687h146.1796875v53.3671875h-175.76367188a466.33007813 466.33007813 0 0 1-30.16406251 46.98632813h55.10742189v-34.22460938h63.80859374v34.22460938h80.05078126l-0.58007814 56.26757812h-79.47070312v33.06445313l89.91210938-6.38085938-0.58007812 55.10742188c-29.00390625 2.90039063-59.74804688 5.80078125-89.33203126 8.70117187v69.02929688h-63.80859374v-63.80859376c-51.62695313 4.640625-100.35351563 9.28125-140.37890625 12.76171875l-5.22070313-61.48828125c38.86523438-2.3203125 89.91210938-5.80078125 145.59960938-9.86132812v-37.125h-69.02929688c-22.62304688 0-42.92578125 3.48046875-48.14648438 9.28125a443.1796875 443.1796875 0 0 0-20.8828125-60.328125c10.44140625-2.90039063 20.30273438-13.34179688 29.58398437-28.42382813 2.90039063-4.06054688 8.70117188-12.76171875 14.50195313-23.78320312h-49.30664062V462.11328125h76.57031249c6.38085938-14.50195313 12.18164063-29.00390625 16.82226563-44.0859375h-101.51367187V364.66015625h125.87695312v-34.22460938h-96.87304687v-52.20703125h96.87304687V239.36328125h66.12890626v38.86523438h94.55273437v52.20703125h-94.55273437v34.22460937h125.296875a4439.49609375 4439.49609375 0 0 1-1.74023439-124.71679688h67.86914063a2226.97265625 2226.97265625 0 0 0 0.58007812 124.71679688h142.11914063v53.3671875h-140.37890625c3.48046875 55.10742188 8.70117188 106.15429688 15.66210937 149.08007813 18.5625-38.28515625 33.64453125-80.05078125 45.24609376-124.13671876z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-13" viewBox="0 0 3072 1024"><path d="M304.79494597 134.12827933h1619.45023148v755.74344134H304.79494597V134.12827933z" fill="#E65D00"></path><path d="M304.79494597 134.12827933h1619.45023148v53.98167437H304.79494597V134.12827933z" fill="#BE560F"></path><path d="M1924.24517745 134.12827933h863.70679011v755.74344134H1924.24517745z" fill="#853702"></path><path d="M358.77662034 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H358.77662034z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H358.77662034a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2044.08449457 457.47850886l117.14023341-139.81253663h78.27342785v388.66805554h-70.71599343V420.77097029l-31.30937115 36.70753857h-93.38829668zM2652.99778161 392.16068286v77.73361112c0 10.41846315-1.78139526 19.43340277-5.39816744 26.9908372 13.65736361 14.41310706 20.51303627 31.30937114 20.51303627 50.74277391v84.21141205c0 20.51303627-7.17956269 38.05708044-21.59266975 52.63213251s-31.84918789 21.86257812-52.36222416 21.86257812h-236.4397338c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257812s-21.86257812-32.11909625-21.86257813-52.63213251v-23.21211998h70.71599345v23.21211998c0 2.5371387 1.24157852 3.7787172 3.7787172 3.7787172h236.4397338c2.15926698 0 3.23890047-1.24157852 3.23890046-3.7787172V547.62790509c0-2.5371387-1.07963349-3.7787172-3.23890046-3.7787172h-243.99716821V473.13319444h228.34248265c2.5371387 0 3.7787172-1.07963349 3.77871719-3.23890046V392.16068286c0-2.5371387-1.24157852-3.7787172-3.77871719-3.7787172h-220.78504824c-2.5371387 0-3.7787172 1.24157852-3.7787172 3.7787172v28.07047069h-70.71599345v-28.07047069c0-20.51303627 7.28752604-38.05708044 21.86257813-52.63213251s32.11909625-21.86257812 52.63213252-21.86257812h220.78504824c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257812s21.86257812 32.11909625 21.86257812 52.63213251zM1075.32936611 346.92403974h-238.70696412v93.22635165l11.87596835-13.65736362c64.13022917 32.06511458 157.35658083 83.13177855 202.4852606 119.94728049l-52.25426078 64.72402758c-34.44030826-30.28371932-102.13332793-73.63100386-162.10696817-108.07131211v282.05424865H760.61620445V346.92403974H546.25497547v-71.25581018h529.07439064v71.25581018z m589.64182928-27.90852567l-54.62945448 36.22170352c-12.46976679-23.75193674-42.15968769-59.37984183-66.50542284-84.9131738l51.06666396-31.47131618c24.93953356 23.15813831 55.81705132 57.59844656 70.06821336 80.16278646z m-71.84960861 122.32247416l62.94263233 17.81395256c-21.37674306 75.41239912-50.47286555 142.51162036-87.88216589 201.29766377 11.87596836 33.84650985 26.1271304 53.44185764 42.15968769 53.44185763 10.68837152 0 16.62635571-24.34573514 19.5953478-86.10077064 13.65736361 15.43875887 36.81550192 30.28371932 52.84805922 36.81550192-9.50077469 92.03875482-29.6899209 116.38448997-78.97518962 116.38448998-34.44030826 0-60.56743866-21.97054148-81.3503833-58.7860434a492.90666879 492.90666879 0 0 1-71.8496086 68.88061651 213.60548554 213.60548554 0 0 0-46.91007505-48.69147029 413.98546084 413.98546084 0 0 0 92.03875484-90.25735958c-17.81395255-63.53643075-27.31472724-146.07441089-32.65891301-236.33177044h-198.9224701l46.91007503 12.46976679c-4.75038734 10.68837152-10.09457311 21.37674306-15.43875886 32.658913h149.63720139v54.62945446h-179.92092073a477.35994656 477.35994656 0 0 1-30.87751775 48.09767188h56.41084975v-35.03410666h65.31782599v35.03410666h81.94418171l-0.59379841 57.59844657h-81.3503833v33.84650984l92.03875482-6.53178261-0.59379841 56.41084975c-29.6899209 2.96899209-61.16123708 5.93798418-91.44495641 8.90697626v70.66201177h-65.31782599v-65.317826c-52.84805921 4.75038734-102.72712635 9.50077469-143.69921723 13.06356519l-5.34418575-62.94263232c39.78449403-2.37519368 92.03875482-5.93798418 149.04340298-10.09457312v-38.00309876h-70.66201178c-23.15813831 0-43.94108294 3.56279051-49.28526871 9.50077469a453.66199151 453.66199151 0 0 0-21.37674306-61.75503549c10.68837152-2.96899209 20.78294463-13.65736361 30.28371933-29.0961225 2.96899209-4.15658893 8.90697627-13.0635652 14.84496047-24.34573515h-50.47286555V460.93333604h78.38139119c6.5317826-14.84496046 12.46976679-29.6899209 17.22015413-45.12867979h-103.91472318V361.17520177h128.85425674v-35.03410667h-99.16433584v-53.44185764h99.16433584V232.91474344h67.69301968v39.78449402h96.78914218v53.44185764h-96.78914218v35.03410667h128.26045834a4544.50123958 4544.50123958 0 0 1-1.78139527-127.66665991h69.47441494a2279.64610918 2279.64610918 0 0 0 0.59379843 127.66665991h145.48061246v54.62945448h-143.69921721c3.56279051 56.41084972 8.90697627 108.66511054 16.03255729 152.60619347 19.00154938-39.1906956 34.44030826-81.94418172 46.31627662-127.07286149z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-14" viewBox="0 0 3072 1024"><path d="M290.57272375 134.12827933h1619.45023148v755.74344134H290.57272375V134.12827933z" fill="#D45600"></path><path d="M290.57272375 134.12827933h1619.45023148v53.98167437H290.57272375V134.12827933z" fill="#A44300"></path><path d="M1910.02295523 134.12827933h863.70679011v755.74344134H1910.02295523z" fill="#853702"></path><path d="M344.55439812 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H344.55439812z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H344.55439812a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2050.10540025 457.47850886l117.1402334-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937115 36.70753857h-93.38829667z m529.02040894 80.43269484h54.52149113v70.71599346h-54.52149113v97.70683061h-70.71599343V608.62719716h-244.53698495V542.22973766l248.85551889-224.56376543h66.39745949v220.24523147z m-70.71599343-109.04298225l-134.41436922 109.04298225h134.41436922V428.86822145zM1061.10714389 346.92403974h-238.70696412v93.22635165l11.87596835-13.65736362c64.13022917 32.06511458 157.35658083 83.13177855 202.4852606 119.94728049l-52.25426078 64.72402758c-34.44030826-30.28371932-102.13332793-73.63100386-162.10696817-108.07131211v282.05424865H746.39398223V346.92403974H532.03275325v-71.25581018h529.07439064v71.25581018z m589.64182928-27.90852567l-54.62945448 36.22170352c-12.46976679-23.75193674-42.15968769-59.37984183-66.50542284-84.9131738l51.06666396-31.47131618c24.93953356 23.15813831 55.81705132 57.59844656 70.06821336 80.16278646z m-71.84960861 122.32247416l62.94263233 17.81395256c-21.37674306 75.41239912-50.47286555 142.51162036-87.88216589 201.29766377 11.87596836 33.84650985 26.1271304 53.44185764 42.15968769 53.44185763 10.68837152 0 16.62635571-24.34573514 19.5953478-86.10077064 13.65736361 15.43875887 36.81550192 30.28371932 52.84805922 36.81550192-9.50077469 92.03875482-29.6899209 116.38448997-78.97518962 116.38448998-34.44030826 0-60.56743866-21.97054148-81.3503833-58.7860434a492.90666879 492.90666879 0 0 1-71.8496086 68.88061651 213.60548554 213.60548554 0 0 0-46.91007505-48.69147029 413.98546084 413.98546084 0 0 0 92.03875484-90.25735958c-17.81395255-63.53643075-27.31472724-146.07441089-32.65891301-236.33177044h-198.9224701l46.91007503 12.46976679c-4.75038734 10.68837152-10.09457311 21.37674306-15.43875886 32.658913h149.63720139v54.62945446h-179.92092073a477.35994656 477.35994656 0 0 1-30.87751775 48.09767188h56.41084975v-35.03410666h65.31782599v35.03410666h81.94418171l-0.59379841 57.59844657h-81.3503833v33.84650984l92.03875482-6.53178261-0.59379841 56.41084975c-29.6899209 2.96899209-61.16123708 5.93798418-91.44495641 8.90697626v70.66201177h-65.31782599v-65.317826c-52.84805921 4.75038734-102.72712635 9.50077469-143.69921723 13.06356519l-5.34418575-62.94263232c39.78449403-2.37519368 92.03875482-5.93798418 149.04340298-10.09457312v-38.00309876h-70.66201178c-23.15813831 0-43.94108294 3.56279051-49.28526871 9.50077469a453.66199151 453.66199151 0 0 0-21.37674306-61.75503549c10.68837152-2.96899209 20.78294463-13.65736361 30.28371933-29.0961225 2.96899209-4.15658893 8.90697627-13.0635652 14.84496047-24.34573515h-50.47286555V460.93333604h78.38139119c6.5317826-14.84496046 12.46976679-29.6899209 17.22015413-45.12867979h-103.91472318V361.17520177h128.85425674v-35.03410667h-99.16433584v-53.44185764h99.16433584V232.91474344h67.69301968v39.78449402h96.78914218v53.44185764h-96.78914218v35.03410667h128.26045834a4544.50123958 4544.50123958 0 0 1-1.78139527-127.66665991h69.47441494a2279.64610918 2279.64610918 0 0 0 0.59379843 127.66665991h145.48061246v54.62945448h-143.69921721c3.56279051 56.41084972 8.90697627 108.66511054 16.03255729 152.60619347 19.00154938-39.1906956 34.44030826-81.94418172 46.31627662-127.07286149z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-dlevel-15" viewBox="0 0 3072 1024"><path d="M290.57272375 134.12827933h1619.45023148v755.74344134H290.57272375V134.12827933z" fill="#BD4D00"></path><path d="M290.57272375 134.12827933h1619.45023148v53.98167437H290.57272375V134.12827933z" fill="#823500"></path><path d="M1910.02295523 134.12827933h863.70679011v755.74344134H1910.02295523z" fill="#853702"></path><path d="M344.55439812 134.12827933a53.98167438 53.98167438 0 0 0-53.98167437 53.98167437v647.7800926a53.98167438 53.98167438 0 0 0 53.98167437 53.98167437h2375.19367285a53.98167438 53.98167438 0 0 0 53.98167437-53.98167437V188.1099537a53.98167438 53.98167438 0 0 0-53.98167437-53.98167437H344.55439812z m0-53.9816744h2375.19367285a107.96334877 107.96334877 0 0 1 107.96334876 107.96334877v647.7800926a107.96334877 107.96334877 0 0 1-107.96334876 107.96334877H344.55439812a107.96334877 107.96334877 0 0 1-107.96334877-107.96334877V188.1099537a107.96334877 107.96334877 0 0 1 107.96334877-107.96334877z" fill="#FFCC4C"></path><path d="M2028.78263886 457.47850886l117.14023341-139.81253663h78.27342786v388.66805554h-70.71599344V420.77097029l-31.30937114 36.70753857H2028.78263886z m312.01407794-65.317826v76.11416089c0 2.15926698 1.24157852 3.23890047 3.7787172 3.23890047h235.89991706c20.51303627 0 38.05708044 7.28752604 52.63213252 21.86257813s21.86257812 32.11909625 21.86257813 52.63213251v85.83086228c0 20.51303627-7.28752604 38.05708044-21.86257813 52.63213251s-32.11909625 21.86257812-52.63213252 21.86257812h-235.89991706c-20.51303627 0-38.05708044-7.28752604-52.63213252-21.86257812s-21.86257812-32.11909625-21.86257812-52.63213251v-29.15010417h70.71599344v29.15010417c0 2.5371387 1.24157852 3.7787172 3.7787172 3.7787172h235.89991706c2.5371387 0 3.7787172-1.24157852 3.7787172-3.7787172V546.00845486c0-2.15926698-1.24157852-3.23890047-3.7787172-3.23890046h-310.3946277V317.66597223h384.88933835v70.71599344h-310.39462771c-2.5371387 0-3.7787172 1.24157852-3.7787172 3.77871719zM1061.10714389 346.92403974h-238.70696412v93.22635165l11.87596835-13.65736362c64.13022917 32.06511458 157.35658083 83.13177855 202.4852606 119.94728049l-52.25426078 64.72402758c-34.44030826-30.28371932-102.13332793-73.63100386-162.10696817-108.07131211v282.05424865H746.39398223V346.92403974H532.03275325v-71.25581018h529.07439064v71.25581018z m589.64182928-27.90852567l-54.62945448 36.22170352c-12.46976679-23.75193674-42.15968769-59.37984183-66.50542284-84.9131738l51.06666396-31.47131618c24.93953356 23.15813831 55.81705132 57.59844656 70.06821336 80.16278646z m-71.84960861 122.32247416l62.94263233 17.81395256c-21.37674306 75.41239912-50.47286555 142.51162036-87.88216589 201.29766377 11.87596836 33.84650985 26.1271304 53.44185764 42.15968769 53.44185763 10.68837152 0 16.62635571-24.34573514 19.5953478-86.10077064 13.65736361 15.43875887 36.81550192 30.28371932 52.84805922 36.81550192-9.50077469 92.03875482-29.6899209 116.38448997-78.97518962 116.38448998-34.44030826 0-60.56743866-21.97054148-81.3503833-58.7860434a492.90666879 492.90666879 0 0 1-71.8496086 68.88061651 213.60548554 213.60548554 0 0 0-46.91007505-48.69147029 413.98546084 413.98546084 0 0 0 92.03875484-90.25735958c-17.81395255-63.53643075-27.31472724-146.07441089-32.65891301-236.33177044h-198.9224701l46.91007503 12.46976679c-4.75038734 10.68837152-10.09457311 21.37674306-15.43875886 32.658913h149.63720139v54.62945446h-179.92092073a477.35994656 477.35994656 0 0 1-30.87751775 48.09767188h56.41084975v-35.03410666h65.31782599v35.03410666h81.94418171l-0.59379841 57.59844657h-81.3503833v33.84650984l92.03875482-6.53178261-0.59379841 56.41084975c-29.6899209 2.96899209-61.16123708 5.93798418-91.44495641 8.90697626v70.66201177h-65.31782599v-65.317826c-52.84805921 4.75038734-102.72712635 9.50077469-143.69921723 13.06356519l-5.34418575-62.94263232c39.78449403-2.37519368 92.03875482-5.93798418 149.04340298-10.09457312v-38.00309876h-70.66201178c-23.15813831 0-43.94108294 3.56279051-49.28526871 9.50077469a453.66199151 453.66199151 0 0 0-21.37674306-61.75503549c10.68837152-2.96899209 20.78294463-13.65736361 30.28371933-29.0961225 2.96899209-4.15658893 8.90697627-13.0635652 14.84496047-24.34573515h-50.47286555V460.93333604h78.38139119c6.5317826-14.84496046 12.46976679-29.6899209 17.22015413-45.12867979h-103.91472318V361.17520177h128.85425674v-35.03410667h-99.16433584v-53.44185764h99.16433584V232.91474344h67.69301968v39.78449402h96.78914218v53.44185764h-96.78914218v35.03410667h128.26045834a4544.50123958 4544.50123958 0 0 1-1.78139527-127.66665991h69.47441494a2279.64610918 2279.64610918 0 0 0 0.59379843 127.66665991h145.48061246v54.62945448h-143.69921721c3.56279051 56.41084972 8.90697627 108.66511054 16.03255729 152.60619347 19.00154938-39.1906956 34.44030826-81.94418172 46.31627662-127.07286149z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-blogstar" viewBox="0 0 1024 1024"><path d="M549.6 11.744l381.312 212.192a87.04 87.04 0 0 1 45.44 75.872v424.416a87.04 87.04 0 0 1-45.44 75.872l-381.312 212.192a93.824 93.824 0 0 1-90.88 0L77.408 800.096a87.04 87.04 0 0 1-45.44-75.872V299.808a87.04 87.04 0 0 1 45.44-75.872L458.72 11.744a93.824 93.824 0 0 1 90.88 0z" fill="#1B7DA3"></path><path d="M515.488 66.944a23.328 23.328 0 0 0-22.624 0L111.552 279.136a23.68 23.68 0 0 0-12.096 20.64v424.416c0 8.672 4.704 16.544 12.096 20.64l381.312 212.192c7.04 3.904 15.584 3.904 22.624 0l381.312-212.192a23.68 23.68 0 0 0 12.096-20.64V299.776a23.584 23.584 0 0 0-12.096-20.64L515.488 66.944zM549.6 11.744l381.312 212.192a87.04 87.04 0 0 1 45.44 75.872v424.416a87.04 87.04 0 0 1-45.44 75.872l-381.312 212.192a93.824 93.824 0 0 1-90.88 0L77.408 800.096a87.04 87.04 0 0 1-45.44-75.872V299.808a87.04 87.04 0 0 1 45.44-75.872L458.72 11.744a93.824 93.824 0 0 1 90.88 0z" fill="#61BEE3"></path><path d="M700.288 757.76l-196.096-98.112-196.096 98.112 37.44-207.84-158.656-147.2 219.232-30.336 98.048-189.088 75.328 145.312c-198.4 147.104-271.072 409.984-271.072 428.864 0-19.456 108.704-287.328 333.696-379.552l179.328 24.8-179.328 147.2 58.144 207.84z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-goldmoderator" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#CF893D"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#FFD255"></path><path d="M391.682482 633.480054c-54.014886 26.815447-87.966186 42.207129-101.8539 46.207047 17.375642-6.943857 83.262283-81.502319 104.029855-84.894249 11.327766-1.855962 18.879611 3.455929 22.655532 15.935672a38.399208 38.399208 0 0 1 3.519928-2.015959c19.327601-9.535803 33.087318-14.271706 41.311148-14.271705-3.487928 30.175378-13.503721 51.454939-30.015381 63.870682s-63.678687 47.967011-141.469082 106.653801c44.351085-62.238716 78.302385-106.045813 101.853899-131.485289z m268.762456-200.347867l2.975939 2.047957c41.759139 29.023401 88.702171 96.318013 140.861095 201.883837-85.34224-75.774437-142.141068-125.021421-170.428485-147.740953-28.063421-22.559535-48.606997-47.871013-61.59873-75.966433l-1.311973-0.447991-18.687614-6.975856c28.063421-29.919383 55.678852-43.455104 82.782292-40.575164 40.671161 4.319911 108.477763 67.262613 146.876971 98.685965-25.279479-9.599802-75.934434-21.087565-121.501494-30.911362z m-199.131893-265.050534c15.295685-6.367869 29.56739-9.919795 42.879116-10.719779 15.295685-0.895982 29.56739 0.95998 42.879116 5.631884v218.235499l-85.758232-5.82388v-207.355723z m0 218.267499l85.726232 7.295849v224.891362l-85.758231-14.783695v-217.371517z m0 234.299167l85.726232 7.167852v183.996205c-14.303705 4.735902-28.575411 6.751861-42.879115 6.047876s-28.575411-4.127915-42.879116-10.271789v-186.972143z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-silverface" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#A0A9AE"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#DCDFE1"></path><path d="M504.192161 800.420611c-94.270056 0-170.65248-75.998433-170.65248-169.724499v-35.775262H674.876641v35.775262c0 93.726067-76.414424 169.724499-170.652481 169.724499z m-53.118904-70.846538c11.519762 16.159667 29.695388 24.159502 53.086905 24.159501s41.567143-7.999835 53.086905-24.159501c4.095916-5.727882 2.751943-13.663718-3.039938-17.759634s-13.759716-2.719944-17.855631 3.007938c-6.367869 8.895817-16.639657 13.439723-32.223336 13.439723s-25.855467-4.511907-32.223335-13.439723c-4.095916-5.727882-12.095751-7.071854-17.855632-3.007938s-7.103853 12.031752-3.039937 17.759634z m-10.879776-92.222098c11.775757 0 21.34356-9.503804 21.34356-21.215563s-9.535803-21.215562-21.34356-21.215562c-11.775757 0-21.34356 9.503804-21.34356 21.215562s9.535803 21.215562 21.34356 21.215563z m127.99736 0c11.775757 0 21.34356-9.503804 21.34356-21.215563s-9.535803-21.215562-21.34356-21.215562c-11.775757 0-21.34356 9.503804-21.34356 21.215562s9.535803 21.215562 21.34356 21.215563zM810.64984 557.513621h-614.387328a5.695883 5.695883 0 0 1-5.695882-5.695882v-105.149832a5.695883 5.695883 0 0 1 7.711841-5.343889l162.044657 60.990742-22.75153-110.461722c-4.415909-21.471557 3.455929-32.255335 29.951382-47.807014 7.519845-4.415909 53.662893-29.183398 131.805281-29.183398s99.357951 12.543741 131.805282 29.183398c20.639574 12.991732 39.103193 27.391435 39.103193 39.679182 0 2.719944-0.287994 5.439888-0.831982 8.127832l-22.751531 110.461722 162.012658-60.990742a5.695883 5.695883 0 0 1 7.711841 5.343889v105.149832c0 3.135935-2.559947 5.695883-5.695882 5.695882zM503.424177 216.208661c67.678604 0 83.198284 31.679347 77.022411 46.303045l-7.135853 24.287499c-23.29552-7.839838-46.591039-11.743758-69.886558-11.743758s-46.591039 3.903919-69.886559 11.743758l-7.135853-24.287499c-5.919878-20.191584 9.343807-46.303045 77.022412-46.303045z m-33.375312 261.946597a5.695883 5.695883 0 0 0-5.695882 5.695883v28.319415c0 3.135935 2.559947 5.695883 5.695882 5.695883h66.846622c3.135935 0 5.695883-2.559947 5.695882-5.695883v-28.319415a5.695883 5.695883 0 0 0-5.695882-5.695883h-66.846622z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-lasting" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#4C585E"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#939FA6"></path><path d="M749.179108 294.447047v66.686625h-310.329599V294.447047h310.329599z m-220.411454 251.962803v34.623286h119.197542v-34.623286h-119.197542z m0-92.638089v34.111296h119.197542V453.771761h-119.197542z m-71.902517 2.559947l-40.063174 18.335622a476.182179 476.182179 0 0 0-14.399703-45.311065v327.289249H330.467744v-287.066079c-3.583926 22.399538-7.711841 43.775097-12.831735 61.598729l-58.046803-20.863569c11.295767-34.111296 20.031587-91.61411 23.647512-134.877218l47.263025 6.111874V273.135487h71.934517v98.749963l32.895321-13.727717c6.687862 15.263685 14.911692 33.599307 21.567555 50.91095v-18.847611h266.650501v254.490751h-266.650501v-188.316116z m-29.311395 213.755591h324.185313v68.190594H427.553742V670.087299z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-blogstar-l" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#1B7DA3"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#61BEE3"></path><path d="M310.468157 576.521229c0 7.679842-1.47197 14.879693-4.38391 21.599555a56.542834 56.542834 0 0 1-29.631389 29.631389 53.3109 53.3109 0 0 1-21.599554 4.383909H162.151216V446.731906h92.702088c7.679842 0 14.879693 1.47197 21.599554 4.38391a56.542834 56.542834 0 0 1 29.631389 29.631389c2.943939 6.751861 4.38391 13.919713 4.38391 21.599554 0 3.455929-0.47999 6.975856-1.407971 10.591782a50.046968 50.046968 0 0 1-10.20779 19.647594 34.463289 34.463289 0 0 1-8.031834 6.847859c3.007938 1.631966 5.727882 3.87192 8.159832 6.655863s4.479908 5.887879 6.207871 9.247809a47.99901 47.99901 0 0 1 5.279892 21.183563z m157.852744 55.614853H338.499578V446.731906h37.119235v148.284942h92.702088v37.119234z m372.760312-18.751613a94.974041 94.974041 0 0 1-87.326199 19.327601 93.822065 93.822065 0 0 1-22.81553-9.6958c-7.071854-4.191914-13.535721-9.183811-19.3916-15.00769a94.718046 94.718046 0 0 1-24.639491-42.335127 94.814044 94.814044 0 0 1-3.42393-25.471475c0-8.799819 1.151976-17.247644 3.42393-25.343477s5.503886-15.711676 9.631801-22.815529a97.341992 97.341992 0 0 1 34.39929-34.335292c7.071854-4.127915 14.687697-7.359848 22.81553-9.631802s16.607657-3.423929 25.407476-3.423929a95.358033 95.358033 0 0 1 61.918723 22.751531l-19.3916 32.319333c-5.599885-5.695883-12.063751-10.143791-19.3916-13.375724s-15.03969-4.8639-23.135523-4.8639-15.711676 1.567968-22.81553 4.639905a60.158759 60.158759 0 0 0-31.359353 31.231356c-3.103936 7.103853-4.639904 14.719696-4.639904 22.815529 0 8.191831 1.567968 15.871673 4.639904 23.007525a59.710768 59.710768 0 0 0 31.359353 31.423352 56.382837 56.382837 0 0 0 36.38325 2.94394c4.38391-1.151976 8.575823-2.687945 12.543741-4.639905v-52.766911h35.807262v73.18249z m-102.845879 34.335292l3.359931 19.615595-124.093441-65.246654-124.093441 65.246654 23.711511-138.17315-100.381929-97.853982 138.717139-20.159584 62.04672-125.725407 47.679017 96.606008c-125.56541 97.789983-171.516462 272.570378-171.516463 285.114119 0-12.927733 68.766582-191.03606 211.163645-252.346795l113.46966 16.47966-0.351993 0.351993c-89.758149-13.759716-153.660831 31.295355-153.660831 102.877878 0 67.006618 39.74318 93.662068 73.950475 113.181665zM199.27045 595.016848h55.582854a18.687615 18.687615 0 0 0 13.119729-5.34389 17.91963 17.91963 0 0 0 5.34389-13.119729 18.687615 18.687615 0 0 0-5.34389-13.11973 17.91963 17.91963 0 0 0-13.119729-5.34389H199.27045v36.991237z m0-74.078472h55.582854a18.687615 18.687615 0 0 0 13.119729-5.34389c1.695965-1.695965 3.007938-3.647925 3.935919-5.951877a19.231603 19.231603 0 0 0-3.935919-20.415579 17.91963 17.91963 0 0 0-13.119729-5.34389H199.27045v37.119234z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-redflower" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#B1193F"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#EB3966"></path><path d="M303.588298 355.117796a209.723674 209.723674 0 0 1-8.095833-73.182491c22.367539 4.607905 38.495206 8.319828 48.415002 11.13577 0.223995-10.239789 0.799984-26.879446 1.727964-49.886971 27.391435 6.911857 51.326941 17.631636 71.806519 32.127338a198.491906 198.491906 0 0 0-6.75186 51.774932c0 25.663471 4.735902 50.334962 14.111708 73.950475a200.571863 200.571863 0 0 0-66.39863-36.191254 202.363826 202.363826 0 0 0-54.81487-9.759799z m179.932289 125.789405l7.423847-3.35993a36.607245 36.607245 0 0 1 31.423352 0.543988l5.023897 2.495949 4.063916 3.903919a36.127255 36.127255 0 0 1 10.847776 30.655368l-0.927981 7.391848-3.775922 6.399868a36.607245 36.607245 0 0 1-24.831488 17.343642l-7.487845 1.375972-7.423847-1.695965a36.543246 36.543246 0 0 1-24.319499-18.879611l-2.655945-5.151894-0.895981-5.695882a35.935259 35.935259 0 0 1 8.22383-29.151399l5.31189-6.207872z m-233.787178 43.295107c15.071689 9.887796 31.423352 17.695635 48.95899 23.359519a201.275849 201.275849 0 0 0 62.814705 9.887796 200.635862 200.635862 0 0 0-44.447083 44.319086 199.707881 199.707881 0 0 0-28.383415 54.78287 215.995545 215.995545 0 0 1-72.990495-15.871673c12.831735-19.167605 22.207542-32.95932 28.095421-41.375147-9.6958-3.519927-24.959485-9.951795-45.759056-19.263602a210.619656 210.619656 0 0 1 51.710933-55.870848zM595.838271 270.479541a216.955525 216.955525 0 0 1 60.60675-25.727469c2.495949 22.559535 3.935919 38.975196 4.319911 49.214985 9.887796-2.975939 25.951465-7.551844 48.255004-13.759716 1.663966 25.599472-0.543989 49.47098-6.719861 71.550524a201.563843 201.563843 0 0 0-52.38292 9.663801 201.659841 201.659841 0 0 0-55.902847 28.12742 198.29991 198.29991 0 0 0 9.951795-62.462712c0-19.455599-2.719944-38.335209-8.127832-56.638832z m43.455104 283.386156a201.403846 201.403846 0 0 0 70.366548-9.759799 202.363826 202.363826 0 0 0 46.623039-21.855549c20.479578 14.943692 38.367209 34.43129 53.630894 58.430794-21.727552 7.999835-37.439228 13.695718-47.199027 17.055649 5.759881 8.511824 14.303705 22.623533 25.631471 42.335127a215.547554 215.547554 0 0 1-68.766581 14.847693 198.971896 198.971896 0 0 0-26.943445-50.654955 200.443866 200.443866 0 0 0-53.342899-50.43096z m-134.781221 97.341992c6.431867 23.807509 17.023649 45.823055 31.775345 66.014638 10.143791 13.855714 21.727552 26.143461 34.719284 36.831241-7.967836 24.191501-21.119564 47.263025-39.519185 69.278571a2870.468797 2870.468797 0 0 1-30.911362-39.327189c-6.367869 8.063834-17.215645 20.511577-32.575329 37.31123a210.491659 210.491659 0 0 1-36.703243-63.934681 200.475865 200.475865 0 0 0 42.175131-42.65512 199.067894 199.067894 0 0 0 31.071359-63.486691z" fill="#D62B56"></path><path d="M515.903919 563.049507c-6.495866 56.030844 4.927898 104.093853 34.207295 144.157027 26.431455 36.191254 63.614688 60.574751 111.5177 73.21449 2.495949-22.559535 3.935919-38.975196 4.319911-49.214985 9.887796 2.975939 25.951465 7.551844 48.255005 13.759716 3.295932-50.302963-8.511824-93.854064-35.42327-130.685305-29.119399-39.839178-71.26253-65.406651-126.429392-76.702418-7.74384 13.119729-20.991567 22.591534-36.447249 25.439476z m-57.598812-28.159419c-55.646852 11.199769-98.077977 36.83124-127.389372 76.894414-26.431455 36.191254-38.30321 78.878373-35.583266 128.061359 22.367539-4.607905 38.495206-8.319828 48.415001-11.135771 0.223995 10.239789 0.799984 26.879446 1.727965 49.886971 49.150986-12.447743 87.166202-37.055236 114.109646-73.886476 28.927403-39.583184 40.415166-86.942207 34.43129-142.141068a53.502897 53.502897 0 0 1-35.711264-27.679429z m101.021917-17.599637c50.366961 22.079545 98.717964 25.631471 145.053008 10.65578 43.551102-14.04771 78.878373-42.399126 105.949815-85.022246-21.727552-7.999835-37.439228-13.695718-47.199027-17.055649 5.759881-8.511824 14.303705-22.623533 25.631472-42.335126-46.239046-17.759634-90.750128-19.743593-133.533246-5.919878-46.751036 15.103688-84.030267 46.655038-111.805694 94.718046a53.022906 53.022906 0 0 1 15.903672 44.959073z m-29.279396-54.398878c37.887219-41.311148 56.798829-86.590214 56.798828-135.7732 0-45.503061-16.191666-87.646192-48.606997-126.429392-14.367704 18.047628-24.671491 31.167357-30.911363 39.327189a785.647796 785.647796 0 0 0-32.575328-37.311231c-31.295355 38.207212-46.943032 79.678357-46.943032 124.381435 0 48.862992 18.687615 93.854064 56.062844 134.973216 7.327849-3.327931 15.487681-5.055896 24.095503-4.735902 7.935836 0.287994 15.423682 2.239954 22.079545 5.567885z m-64.862662 13.247727c-27.807426-48.255005-65.150656-79.934351-112.02969-95.102039-42.783118-13.823715-87.2942-11.839756-133.533246 5.919878 11.327766 19.711593 19.87159 33.823302 25.631472 42.335127-9.727799 3.359931-25.471475 9.055813-47.199027 17.055648 27.071442 42.623121 62.398713 70.974536 105.949815 85.022246 47.583019 15.359683 97.277994 11.199769 149.084925-12.479742a53.214902 53.214902 0 0 1 12.095751-42.783118z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-goldflower" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#BA6E19"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#FFA33C"></path><path d="M303.588298 355.117796a209.723674 209.723674 0 0 1-8.095833-73.182491c22.367539 4.607905 38.495206 8.319828 48.415002 11.13577 0.223995-10.239789 0.799984-26.879446 1.727964-49.886971 27.391435 6.911857 51.326941 17.631636 71.806519 32.127338a198.491906 198.491906 0 0 0-6.75186 51.774932c0 25.663471 4.735902 50.334962 14.111708 73.950475a200.571863 200.571863 0 0 0-66.39863-36.191254 202.363826 202.363826 0 0 0-54.81487-9.759799z m179.932289 125.789405l7.423847-3.35993a36.607245 36.607245 0 0 1 31.423352 0.543988l5.023897 2.495949 4.063916 3.903919a36.127255 36.127255 0 0 1 10.847776 30.655368l-0.927981 7.391848-3.775922 6.399868a36.607245 36.607245 0 0 1-24.831488 17.343642l-7.487845 1.375972-7.423847-1.695965a36.543246 36.543246 0 0 1-24.319499-18.879611l-2.655945-5.151894-0.895981-5.695882a35.935259 35.935259 0 0 1 8.22383-29.151399l5.31189-6.207872z m-233.787178 43.295107c15.071689 9.887796 31.423352 17.695635 48.95899 23.359519a201.275849 201.275849 0 0 0 62.814705 9.887796 200.635862 200.635862 0 0 0-44.447083 44.319086 199.707881 199.707881 0 0 0-28.383415 54.78287 215.995545 215.995545 0 0 1-72.990495-15.871673c12.831735-19.167605 22.207542-32.95932 28.095421-41.375147-9.6958-3.519927-24.959485-9.951795-45.759056-19.263602a210.619656 210.619656 0 0 1 51.710933-55.870848zM595.838271 270.479541a216.955525 216.955525 0 0 1 60.60675-25.727469c2.495949 22.559535 3.935919 38.975196 4.319911 49.214985 9.887796-2.975939 25.951465-7.551844 48.255004-13.759716 1.663966 25.599472-0.543989 49.47098-6.719861 71.550524a201.563843 201.563843 0 0 0-52.38292 9.663801 201.659841 201.659841 0 0 0-55.902847 28.12742 198.29991 198.29991 0 0 0 9.951795-62.462712c0-19.455599-2.719944-38.335209-8.127832-56.638832z m43.455104 283.386156a201.403846 201.403846 0 0 0 70.366548-9.759799 202.363826 202.363826 0 0 0 46.623039-21.855549c20.479578 14.943692 38.367209 34.43129 53.630894 58.430794-21.727552 7.999835-37.439228 13.695718-47.199027 17.055649 5.759881 8.511824 14.303705 22.623533 25.631471 42.335127a215.547554 215.547554 0 0 1-68.766581 14.847693 198.971896 198.971896 0 0 0-26.943445-50.654955 200.443866 200.443866 0 0 0-53.342899-50.43096z m-134.781221 97.341992c6.431867 23.807509 17.023649 45.823055 31.775345 66.014638 10.143791 13.855714 21.727552 26.143461 34.719284 36.831241-7.967836 24.191501-21.119564 47.263025-39.519185 69.278571a2870.468797 2870.468797 0 0 1-30.911362-39.327189c-6.367869 8.063834-17.215645 20.511577-32.575329 37.31123a210.491659 210.491659 0 0 1-36.703243-63.934681 200.475865 200.475865 0 0 0 42.175131-42.65512 199.067894 199.067894 0 0 0 31.071359-63.486691z" fill="#E18825"></path><path d="M515.903919 563.049507c-6.495866 56.030844 4.927898 104.093853 34.207295 144.157027 26.431455 36.191254 63.614688 60.574751 111.5177 73.21449 2.495949-22.559535 3.935919-38.975196 4.319911-49.214985 9.887796 2.975939 25.951465 7.551844 48.255005 13.759716 3.295932-50.302963-8.511824-93.854064-35.42327-130.685305-29.119399-39.839178-71.26253-65.406651-126.429392-76.702418-7.74384 13.119729-20.991567 22.591534-36.447249 25.439476z m-57.598812-28.159419c-55.646852 11.199769-98.077977 36.83124-127.389372 76.894414-26.431455 36.191254-38.30321 78.878373-35.583266 128.061359 22.367539-4.607905 38.495206-8.319828 48.415001-11.135771 0.223995 10.239789 0.799984 26.879446 1.727965 49.886971 49.150986-12.447743 87.166202-37.055236 114.109646-73.886476 28.927403-39.583184 40.415166-86.942207 34.43129-142.141068a53.502897 53.502897 0 0 1-35.711264-27.679429z m101.021917-17.599637c50.366961 22.079545 98.717964 25.631471 145.053008 10.65578 43.551102-14.04771 78.878373-42.399126 105.949815-85.022246-21.727552-7.999835-37.439228-13.695718-47.199027-17.055649 5.759881-8.511824 14.303705-22.623533 25.631472-42.335126-46.239046-17.759634-90.750128-19.743593-133.533246-5.919878-46.751036 15.103688-84.030267 46.655038-111.805694 94.718046a53.022906 53.022906 0 0 1 15.903672 44.959073z m-29.279396-54.398878c37.887219-41.311148 56.798829-86.590214 56.798828-135.7732 0-45.503061-16.191666-87.646192-48.606997-126.429392-14.367704 18.047628-24.671491 31.167357-30.911363 39.327189a785.647796 785.647796 0 0 0-32.575328-37.311231c-31.295355 38.207212-46.943032 79.678357-46.943032 124.381435 0 48.862992 18.687615 93.854064 56.062844 134.973216 7.327849-3.327931 15.487681-5.055896 24.095503-4.735902 7.935836 0.287994 15.423682 2.239954 22.079545 5.567885z m-64.862662 13.247727c-27.807426-48.255005-65.150656-79.934351-112.02969-95.102039-42.783118-13.823715-87.2942-11.839756-133.533246 5.919878 11.327766 19.711593 19.87159 33.823302 25.631472 42.335127-9.727799 3.359931-25.471475 9.055813-47.199027 17.055648 27.071442 42.623121 62.398713 70.974536 105.949815 85.022246 47.583019 15.359683 97.277994 11.199769 149.084925-12.479742a53.214902 53.214902 0 0 1 12.095751-42.783118z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-goldmedal" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#CF893D"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#FFD255"></path><path d="M418.817922 258.44779v84.894249H342.563495c-9.567803 0-18.047628-3.903919-21.055566-9.663801l-29.59939-56.606833c-3.87192-7.423847 2.399951-15.423682 14.047711-17.887631 2.271953-0.47999 4.639904-0.735985 7.007855-0.735984h105.853817z m170.748478 0h105.853817c12.255747 0 22.207542 6.335869 22.207542 14.143708a9.439805 9.439805 0 0 1-1.151976 4.479907l-29.59939 56.606833c-3.007938 5.791881-11.519762 9.663801-21.055566 9.663801h-76.254427V258.44779z m-85.374239 551.860617c-117.885569 0-213.435598-95.03804-213.435598-212.251622s95.550029-212.251622 213.435598-212.251622c117.885569 0 213.435598 95.03804 213.435598 212.251622s-95.550029 212.251622-213.435598 212.251622zM461.505041 258.44779h85.37424v84.894249h-85.37424V258.44779z m42.68712 440.150921l91.64611 56.126843a11.967753 11.967753 0 0 0 8.927816 1.471969 12.863735 12.863735 0 0 0 9.375806-15.327683l-22.911527-108.15777 79.550359-73.470484a12.959733 12.959733 0 0 0 4.095916-8.383827 12.703738 12.703738 0 0 0-11.071772-14.047711l-105.789818-10.719779-42.495124-101.501906a12.159749 12.159749 0 0 0-22.623533 0l-42.495124 101.501906-105.789818 10.719779a12.095751 12.095751 0 0 0-8.031834 4.255913 13.215727 13.215727 0 0 0 1.055978 18.143625l79.55036 73.470485-22.911528 108.157769a13.343725 13.343725 0 0 0 1.407971 9.279809 12.095751 12.095751 0 0 0 16.895652 4.575905l91.646109-56.126842z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-tutor" viewBox="0 0 1024 1024"><path d="M545.92 12.896L930.464 226.56a84.736 84.736 0 0 1 43.712 73.984v422.88c0 30.688-16.704 59.008-43.712 73.984L545.92 1011.072a86.08 86.08 0 0 1-83.488 0L77.888 797.408a84.736 84.736 0 0 1-43.712-73.984V300.544c0-30.688 16.704-59.008 43.712-73.984L462.432 12.896a86.08 86.08 0 0 1 83.488 0z" fill="#27496E"></path><path d="M508.416 79.68a8.704 8.704 0 0 0-8.48 0L115.392 293.344a8.256 8.256 0 0 0-4.32 7.232v422.88a8.32 8.32 0 0 0 4.32 7.232l384.544 213.664a8.704 8.704 0 0 0 8.48 0l384.544-213.664a8.32 8.32 0 0 0 4.32-7.232V300.576a8.32 8.32 0 0 0-4.32-7.232L508.416 79.68zM545.92 12.896L930.464 226.56a84.736 84.736 0 0 1 43.712 73.984v422.88c0 30.688-16.704 59.008-43.712 73.984L545.92 1011.072a86.08 86.08 0 0 1-83.488 0L77.888 797.408a84.736 84.736 0 0 1-43.712-73.984V300.544c0-30.688 16.704-59.008 43.712-73.984L462.432 12.896a86.08 86.08 0 0 1 83.488 0z" fill="#6485AA"></path><path d="M333.408 422.048c-2.528 17.408-18.784 29.504-36.288 26.976s-29.664-18.688-27.136-36.096c8.8-60.544 34.624-114.464 77.088-161.024 11.872-13.024 32.16-14.016 45.28-2.208s14.112 31.968 2.208 45.024c-33.952 37.248-54.208 79.456-61.152 127.328z m207.84 26.816a32.032 32.032 0 0 1-61.728-17.12c24.8-88.608 75.136-154.912 150.208-197.248 15.392-8.672 34.944-3.296 43.68 12s3.328 34.752-12.064 43.424c-59.968 33.792-99.712 86.176-120.064 158.88z m-271.2 67.168c-11.776 0.48-21.728-8.64-22.24-20.352s8.672-21.632 20.448-22.112c194.56-8 315.552 12.448 365.76 65.728 8.064 8.576 7.616 22.016-0.992 30.016s-22.144 7.584-30.208-0.96c-38.56-40.928-150.464-59.84-332.832-52.352z m325.792 70.08c29.28 0 51.232 63.296 51.232 110.656 0 69.056-10.08 110.688-51.232 110.688-41.792 0-50.08-31.136-51.232-110.368-0.832-57.184 20.448-110.976 51.232-110.976z m-8.48 110.368c0.736 51.328 5.312 68.512 8.512 68.512 1.696 0 8.512-28.192 8.512-68.192 0-15.008-3.808-34.752-9.728-51.808a157.408 157.408 0 0 0-7.296 51.52z m-153.184-268.192a32.032 32.032 0 0 1-63.552-8.288c11.36-86.144 54.528-154.496 128.128-202.944 14.752-9.728 34.624-5.696 44.416 8.96s5.728 34.432-9.024 44.16c-58.144 38.304-91.008 90.304-99.968 158.112z m221.216 7.392a371.2 371.2 0 0 0-5.568 19.008l-5.088 19.136a32.064 32.064 0 0 1-61.952-16.416l5.088-19.2c2.368-8.832 4.352-15.616 6.56-22.336a252.16 252.16 0 0 1 17.184-40.32c19.328-36.48 64.288-69.504 99.136-69.504h5.024c38.08-0.096 63.36 16.48 63.36 61.344 0 41.024-28.288 74.176-78.08 93.984a32.128 32.128 0 0 1-43.936-30.848 196.384 196.384 0 0 0-1.76 5.184z m21.888-33.504c25.664-10.208 36.32-21.344 37.632-32.384h-4.16c-8.448 0-33.344 18.272-42.432 35.456l-2.272 4.416c3.072-3.168 6.848-5.76 11.2-7.52z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-blueface" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#677F99"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#95B1CD"></path><path d="M504.192161 749.221667c-94.270056 0-170.65248-75.998433-170.65248-169.724499v-35.775262H674.876641v35.775262c0 93.726067-76.414424 169.724499-170.652481 169.724499z m-53.118904-70.846538c11.519762 16.159667 29.695388 24.159502 53.086905 24.159501s41.567143-7.999835 53.086905-24.159501c4.095916-5.727882 2.751943-13.663718-3.039938-17.759634s-13.759716-2.719944-17.855631 3.007938c-6.367869 8.895817-16.639657 13.439723-32.223336 13.439723s-25.855467-4.511907-32.223335-13.439723c-4.095916-5.727882-12.095751-7.071854-17.855632-3.007938s-7.103853 12.031752-3.039937 17.759634z m-10.879776-92.222098c11.775757 0 21.34356-9.503804 21.34356-21.215563s-9.535803-21.215562-21.34356-21.215562c-11.775757 0-21.34356 9.503804-21.34356 21.215562s9.535803 21.215562 21.34356 21.215563z m127.99736 0c11.775757 0 21.34356-9.503804 21.34356-21.215563s-9.535803-21.215562-21.34356-21.215562c-11.775757 0-21.34356 9.503804-21.34356 21.215562s9.535803 21.215562 21.34356 21.215563zM621.949732 511.818564a26.975444 26.975444 0 0 1-3.231933 0.191996h-228.763282a26.975444 26.975444 0 0 1-3.231933-0.191996H311.236141a23.039525 23.039525 0 0 1-23.071524-22.943527 22.015546 22.015546 0 0 1 23.039524-21.887549l49.182986 2.207955-8.031834-59.582771c-6.719861-49.790973 30.431372-95.294035 82.974288-101.661903 4.031917-0.47999 8.095833-0.735985 12.15975-0.735985h113.661655c52.990907 0 95.934021 40.671161 95.934022 90.878125 0 3.839921-0.255995 7.711841-0.767985 11.519763l-8.031834 59.582771 49.182986-2.207955 0.991979-0.031999c12.191749 0 22.047545 9.823797 22.047546 21.919548a23.039525 23.039525 0 0 1-23.071525 22.943527h-75.486443z m-131.133295-61.182738c-7.455846 0-13.503721 6.879858-13.503722 15.359683s6.047875 15.359683 13.503722 15.359683h27.007443c7.455846 0 13.503721-6.879858 13.503721-15.359683s-6.047875-15.359683-13.503721-15.359683h-27.007443z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-celebrity" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#CF893D"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#FFD255"></path><path d="M723.86763 446.891903a42.015133 42.015133 0 0 1-5.82388-21.439558c0-23.487516 19.135605-42.527123 42.783118-42.527123s42.783118 19.039607 42.783118 42.527123-19.135605 42.527123-42.783118 42.527123h-1.023979l-26.17546 218.843486c-2.495949 20.735572-21.439558 36.415249-43.999093 36.415249H319.52397c-22.495536 0-41.439145-15.615678-43.967093-36.287251l-27.007443-218.971484h-1.023979c-23.615513 0-42.783118-19.039607-42.783118-42.527123s19.135605-42.527123 42.783118-42.527123c23.615513 0 42.783118 19.039607 42.783117 42.527123 0 7.839838-2.143956 15.199687-5.855879 21.503557l105.341827 64.92666 86.174223-182.076244a42.335127 42.335127 0 0 1-14.5597-31.967341c0-23.487516 19.135605-42.527123 42.783118-42.527123s42.783118 19.039607 42.783118 42.527123c0 12.799736-5.663883 24.2555-14.655698 32.063339l86.110224 181.980246 105.437825-64.990659z m-390.77594-0.863982l13.855714-60.702748a2.239954 2.239954 0 0 1 2.719944-1.695965 2.399951 2.399951 0 0 1 1.407971 0.95998l40.479165 61.438733-14.495701 28.511412-43.967093-28.511412z m340.760972 0l-43.967093 28.511412-14.495701-28.511412 40.479165-61.438733a2.303952 2.303952 0 0 1 1.407971-0.95998 2.239954 2.239954 0 0 1 2.719944 1.695965l13.855714 60.702748z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-blueflower" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#3A97D7"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#68B6ED"></path><path d="M303.588298 355.117796a209.723674 209.723674 0 0 1-8.095833-73.182491c22.367539 4.607905 38.495206 8.319828 48.415002 11.13577 0.223995-10.239789 0.799984-26.879446 1.727964-49.886971 27.391435 6.911857 51.326941 17.631636 71.806519 32.127338a198.491906 198.491906 0 0 0-6.75186 51.774932c0 25.663471 4.735902 50.334962 14.111708 73.950475a200.571863 200.571863 0 0 0-66.39863-36.191254 202.363826 202.363826 0 0 0-54.81487-9.759799z m179.932289 125.789405l7.423847-3.35993a36.607245 36.607245 0 0 1 31.423352 0.543988l5.023897 2.495949 4.063916 3.903919a36.127255 36.127255 0 0 1 10.847776 30.655368l-0.927981 7.391848-3.775922 6.399868a36.607245 36.607245 0 0 1-24.831488 17.343642l-7.487845 1.375972-7.423847-1.695965a36.543246 36.543246 0 0 1-24.319499-18.879611l-2.655945-5.151894-0.895981-5.695882a35.935259 35.935259 0 0 1 8.22383-29.151399l5.31189-6.207872z m-233.787178 43.295107c15.071689 9.887796 31.423352 17.695635 48.95899 23.359519a201.275849 201.275849 0 0 0 62.814705 9.887796 200.635862 200.635862 0 0 0-44.447083 44.319086 199.707881 199.707881 0 0 0-28.383415 54.78287 215.995545 215.995545 0 0 1-72.990495-15.871673c12.831735-19.167605 22.207542-32.95932 28.095421-41.375147-9.6958-3.519927-24.959485-9.951795-45.759056-19.263602a210.619656 210.619656 0 0 1 51.710933-55.870848zM595.838271 270.479541a216.955525 216.955525 0 0 1 60.60675-25.727469c2.495949 22.559535 3.935919 38.975196 4.319911 49.214985 9.887796-2.975939 25.951465-7.551844 48.255004-13.759716 1.663966 25.599472-0.543989 49.47098-6.719861 71.550524a201.563843 201.563843 0 0 0-52.38292 9.663801 201.659841 201.659841 0 0 0-55.902847 28.12742 198.29991 198.29991 0 0 0 9.951795-62.462712c0-19.455599-2.719944-38.335209-8.127832-56.638832z m43.455104 283.386156a201.403846 201.403846 0 0 0 70.366548-9.759799 202.363826 202.363826 0 0 0 46.623039-21.855549c20.479578 14.943692 38.367209 34.43129 53.630894 58.430794-21.727552 7.999835-37.439228 13.695718-47.199027 17.055649 5.759881 8.511824 14.303705 22.623533 25.631471 42.335127a215.547554 215.547554 0 0 1-68.766581 14.847693 198.971896 198.971896 0 0 0-26.943445-50.654955 200.443866 200.443866 0 0 0-53.342899-50.43096z m-134.781221 97.341992c6.431867 23.807509 17.023649 45.823055 31.775345 66.014638 10.143791 13.855714 21.727552 26.143461 34.719284 36.831241-7.967836 24.191501-21.119564 47.263025-39.519185 69.278571a2870.468797 2870.468797 0 0 1-30.911362-39.327189c-6.367869 8.063834-17.215645 20.511577-32.575329 37.31123a210.491659 210.491659 0 0 1-36.703243-63.934681 200.475865 200.475865 0 0 0 42.175131-42.65512 199.067894 199.067894 0 0 0 31.071359-63.486691z" fill="#53ACE9"></path><path d="M515.903919 563.049507c-6.495866 56.030844 4.927898 104.093853 34.207295 144.157027 26.431455 36.191254 63.614688 60.574751 111.5177 73.21449 2.495949-22.559535 3.935919-38.975196 4.319911-49.214985 9.887796 2.975939 25.951465 7.551844 48.255005 13.759716 3.295932-50.302963-8.511824-93.854064-35.42327-130.685305-29.119399-39.839178-71.26253-65.406651-126.429392-76.702418-7.74384 13.119729-20.991567 22.591534-36.447249 25.439476z m-57.598812-28.159419c-55.646852 11.199769-98.077977 36.83124-127.389372 76.894414-26.431455 36.191254-38.30321 78.878373-35.583266 128.061359 22.367539-4.607905 38.495206-8.319828 48.415001-11.135771 0.223995 10.239789 0.799984 26.879446 1.727965 49.886971 49.150986-12.447743 87.166202-37.055236 114.109646-73.886476 28.927403-39.583184 40.415166-86.942207 34.43129-142.141068a53.502897 53.502897 0 0 1-35.711264-27.679429z m101.021917-17.599637c50.366961 22.079545 98.717964 25.631471 145.053008 10.65578 43.551102-14.04771 78.878373-42.399126 105.949815-85.022246-21.727552-7.999835-37.439228-13.695718-47.199027-17.055649 5.759881-8.511824 14.303705-22.623533 25.631472-42.335126-46.239046-17.759634-90.750128-19.743593-133.533246-5.919878-46.751036 15.103688-84.030267 46.655038-111.805694 94.718046a53.022906 53.022906 0 0 1 15.903672 44.959073z m-29.279396-54.398878c37.887219-41.311148 56.798829-86.590214 56.798828-135.7732 0-45.503061-16.191666-87.646192-48.606997-126.429392-14.367704 18.047628-24.671491 31.167357-30.911363 39.327189a785.647796 785.647796 0 0 0-32.575328-37.311231c-31.295355 38.207212-46.943032 79.678357-46.943032 124.381435 0 48.862992 18.687615 93.854064 56.062844 134.973216 7.327849-3.327931 15.487681-5.055896 24.095503-4.735902 7.935836 0.287994 15.423682 2.239954 22.079545 5.567885z m-64.862662 13.247727c-27.807426-48.255005-65.150656-79.934351-112.02969-95.102039-42.783118-13.823715-87.2942-11.839756-133.533246 5.919878 11.327766 19.711593 19.87159 33.823302 25.631472 42.335127-9.727799 3.359931-25.471475 9.055813-47.199027 17.055648 27.071442 42.623121 62.398713 70.974536 105.949815 85.022246 47.583019 15.359683 97.277994 11.199769 149.084925-12.479742a53.214902 53.214902 0 0 1 12.095751-42.783118z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-helpful" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#C52543"></path><path d="M575.0067 440.460036a116.573596 116.573596 0 0 1 70.014556 20.127584H681.596502c13.439723 0 24.511494-10.17579 25.887466-23.23152h-64.638667a9.6958 9.6958 0 1 1 0-19.327602h77.502402a26.015463 26.015463 0 0 0 26.047463-25.951465h-93.08608a9.6958 9.6958 0 1 1 0-19.327601h105.565822c18.079627 0 33.279314-12.351745 37.599225-29.0874h-172.988432c-26.751448 0-48.447001 21.663553-48.447001 48.383002v48.447001z m-19.3596 2.367951V392.013035c0-37.407228 30.367374-67.742603 67.838601-67.742603h193.596007v9.663801c0 29.759386-22.399538 54.30288-51.294942 57.69481v0.351992c0 22.815529-16.863652 41.69514-38.8152 44.863075a45.407063 45.407063 0 0 1-45.375064 43.039112h-14.687697a113.91765 113.91765 0 0 1-5.759881 156.252778l-133.885239 132.34927a36.35125 36.35125 0 0 1-51.838931 0l-133.885238-132.477268a113.853652 113.853652 0 0 1-5.727882-156.12478h-9.023814c-24.319498 0-44.159089-19.071607-45.375064-43.039112a45.407063 45.407063 0 0 1-38.8152-44.863075 58.750788 58.750788 0 0 1-51.294942-58.046802v-9.663801h193.596007c37.471227 0 67.838601 30.335374 67.838601 67.742603v52.126925a115.965608 115.965608 0 0 1 48.606998 26.17546 116.125605 116.125605 0 0 1 54.30288-27.519433z m-197.979917 17.759633a116.733592 116.733592 0 0 1 75.678439-19.775592V392.013035c0-26.719449-21.695553-48.383002-48.447001-48.383002H211.910189c4.319911 16.735655 19.487598 29.0874 37.599225 29.0874h105.565823a9.6958 9.6958 0 1 1 0 19.327601H261.989156a26.015463 26.015463 0 0 0 26.047463 25.951465h77.502402a9.6958 9.6958 0 1 1 0 19.327601h-64.638667a26.015463 26.015463 0 0 0 25.887466 23.231521h30.911362z" fill="#FFFFFF"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#F85473"></path></symbol><symbol id="csdnc-m-bronzemedal" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#997B67"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#CDB595"></path><path d="M418.817922 258.44779v84.894249H342.563495c-9.567803 0-18.047628-3.903919-21.055566-9.663801l-29.59939-56.606833c-3.87192-7.423847 2.399951-15.423682 14.047711-17.887631 2.271953-0.47999 4.639904-0.735985 7.007855-0.735984h105.853817z m170.748478 0h105.853817c12.255747 0 22.207542 6.335869 22.207542 14.143708a9.439805 9.439805 0 0 1-1.151976 4.479907l-29.59939 56.606833c-3.007938 5.791881-11.519762 9.663801-21.055566 9.663801h-76.254427V258.44779z m-85.374239 551.860617c-117.885569 0-213.435598-95.03804-213.435598-212.251622s95.550029-212.251622 213.435598-212.251622c117.885569 0 213.435598 95.03804 213.435598 212.251622s-95.550029 212.251622-213.435598 212.251622zM461.505041 258.44779h85.37424v84.894249h-85.37424V258.44779z m42.68712 440.150921l91.64611 56.126843a11.967753 11.967753 0 0 0 8.927816 1.471969 12.863735 12.863735 0 0 0 9.375806-15.327683l-22.911527-108.15777 79.550359-73.470484a12.959733 12.959733 0 0 0 4.095916-8.383827 12.703738 12.703738 0 0 0-11.071772-14.047711l-105.789818-10.719779-42.495124-101.501906a12.159749 12.159749 0 0 0-22.623533 0l-42.495124 101.501906-105.789818 10.719779a12.095751 12.095751 0 0 0-8.031834 4.255913 13.215727 13.215727 0 0 0 1.055978 18.143625l79.55036 73.470485-22.911528 108.157769a13.343725 13.343725 0 0 0 1.407971 9.279809 12.095751 12.095751 0 0 0 16.895652 4.575905l91.646109-56.126842z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-bronzeface" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#997B67"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#CDB595"></path><path d="M504.192161 789.060846c-94.270056 0-170.65248-75.998433-170.65248-169.7245v-35.775262H674.876641v35.775262c0 93.726067-76.414424 169.724499-170.652481 169.7245z m-53.118904-70.846539c11.519762 16.159667 29.695388 24.159502 53.086905 24.159502s41.567143-7.999835 53.086905-24.159502c4.095916-5.727882 2.751943-13.663718-3.039938-17.759634s-13.759716-2.719944-17.855631 3.007938c-6.367869 8.895817-16.639657 13.439723-32.223336 13.439723s-25.855467-4.511907-32.223335-13.439723c-4.095916-5.727882-12.095751-7.071854-17.855632-3.007938s-7.103853 12.031752-3.039937 17.759634z m-10.879776-92.222098c11.775757 0 21.34356-9.503804 21.34356-21.215563s-9.535803-21.215562-21.34356-21.215562c-11.775757 0-21.34356 9.503804-21.34356 21.215562s9.535803 21.215562 21.34356 21.215563z m127.99736 0c11.775757 0 21.34356-9.503804 21.34356-21.215563s-9.535803-21.215562-21.34356-21.215562c-11.775757 0-21.34356 9.503804-21.34356 21.215562s9.535803 21.215562 21.34356 21.215563zM637.885404 546.153856H282.340737a5.695883 5.695883 0 0 1-5.695883-5.695883V458.571662a5.695883 5.695883 0 0 1 7.999835-5.215892l74.110472 32.735324-22.78353-116.157604c-4.479908-22.815529 3.519927-34.335292 30.367373-50.846951 7.615843-4.671904 54.430877-31.03936 133.661243-31.03936s100.797921 13.343725 133.661244 31.03936c20.927568 13.823715 39.679182 29.151399 39.679181 42.207129 0 2.91194-0.287994 5.791881-0.831982 8.639822l-22.783531 116.157604 74.078473-32.735324a5.727882 5.727882 0 0 1 7.999835 5.215892v81.886311c0 3.135935-2.559947 5.695883-5.695883 5.695883h-88.158182zM504.160162 204.816896c34.303292 0 42.17513 23.935506 39.071194 35.007278l-3.615926 18.367621h-70.878538l-3.615925-18.367621c-3.007938-15.263685 4.735902-35.007278 39.039195-35.007278z m-33.9513 256.890701a5.695883 5.695883 0 0 0-5.695883 5.695883v30.847364c0 3.135935 2.559947 5.695883 5.695883 5.695882h67.966598c3.135935 0 5.695883-2.559947 5.695883-5.695882v-30.847364a5.695883 5.695883 0 0 0-5.695883-5.695883h-67.966598z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-silvermedal" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#A0A9AE"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#DCDFE1"></path><path d="M418.817922 258.44779v84.894249H342.563495c-9.567803 0-18.047628-3.903919-21.055566-9.663801l-29.59939-56.606833c-3.87192-7.423847 2.399951-15.423682 14.047711-17.887631 2.271953-0.47999 4.639904-0.735985 7.007855-0.735984h105.853817z m170.748478 0h105.853817c12.255747 0 22.207542 6.335869 22.207542 14.143708a9.439805 9.439805 0 0 1-1.151976 4.479907l-29.59939 56.606833c-3.007938 5.791881-11.519762 9.663801-21.055566 9.663801h-76.254427V258.44779z m-85.374239 551.860617c-117.885569 0-213.435598-95.03804-213.435598-212.251622s95.550029-212.251622 213.435598-212.251622c117.885569 0 213.435598 95.03804 213.435598 212.251622s-95.550029 212.251622-213.435598 212.251622zM461.505041 258.44779h85.37424v84.894249h-85.37424V258.44779z m42.68712 440.150921l91.64611 56.126843a11.967753 11.967753 0 0 0 8.927816 1.471969 12.863735 12.863735 0 0 0 9.375806-15.327683l-22.911527-108.15777 79.550359-73.470484a12.959733 12.959733 0 0 0 4.095916-8.383827 12.703738 12.703738 0 0 0-11.071772-14.047711l-105.789818-10.719779-42.495124-101.501906a12.159749 12.159749 0 0 0-22.623533 0l-42.495124 101.501906-105.789818 10.719779a12.095751 12.095751 0 0 0-8.031834 4.255913 13.215727 13.215727 0 0 0 1.055978 18.143625l79.55036 73.470485-22.911528 108.157769a13.343725 13.343725 0 0 0 1.407971 9.279809 12.095751 12.095751 0 0 0 16.895652 4.575905l91.646109-56.126842z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-greenmoderator" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#459C6F"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#71CC9C"></path><path d="M391.682482 633.480054c-54.014886 26.815447-87.966186 42.207129-101.8539 46.207047 17.375642-6.943857 83.262283-81.502319 104.029855-84.894249 11.327766-1.855962 18.879611 3.455929 22.655532 15.935672a38.399208 38.399208 0 0 1 3.519928-2.015959c19.327601-9.535803 33.087318-14.271706 41.311148-14.271705-3.487928 30.175378-13.503721 51.454939-30.015381 63.870682s-63.678687 47.967011-141.469082 106.653801c44.351085-62.238716 78.302385-106.045813 101.853899-131.485289z m268.762456-200.347867l2.975939 2.047957c41.759139 29.023401 88.702171 96.318013 140.861095 201.883837-85.34224-75.774437-142.141068-125.021421-170.428485-147.740953-28.063421-22.559535-48.606997-47.871013-61.59873-75.966433l-1.311973-0.447991-18.687614-6.975856c28.063421-29.919383 55.678852-43.455104 82.782292-40.575164 40.671161 4.319911 108.477763 67.262613 146.876971 98.685965-25.279479-9.599802-75.934434-21.087565-121.501494-30.911362z m-199.131893-265.050534c15.295685-6.367869 29.56739-9.919795 42.879116-10.719779 15.295685-0.895982 29.56739 0.95998 42.879116 5.631884v218.235499l-85.758232-5.82388v-207.355723z m0 218.267499l85.726232 7.295849v224.891362l-85.758231-14.783695v-217.371517z m0 234.299167l85.726232 7.167852v183.996205c-14.303705 4.735902-28.575411 6.751861-42.879115 6.047876s-28.575411-4.127915-42.879116-10.271789v-186.972143z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-msmvp-l" viewBox="0 0 1024 1024"><path d="M512.273131 494.320884H85.566732V258.20041L512.273131 16.608111z" fill="#F25022"></path><path d="M512.273131 467.665733V1008.3205L75.935039 757.704488v-290.038755z" fill="#01A4EF"></path><path d="M512.273131 467.665733h441.521926v283.350968L512.273131 1008.3205z" fill="#FFB901"></path><path d="M943.427388 262.136284v215.577129H511.953141V26.303802c0-9.119709 143.835415 69.469786 431.474247 235.832482z" fill="#7FB900"></path><path d="M45.792 467.665733h169.530596v42.36665H45.792zM808.647684 467.665733h169.530596v42.36665H808.647684zM533.168465 1.504592v169.530596h-42.36665V1.504592zM533.168465 827.91025v169.530597h-42.36665v-169.530597z" fill="#FFFFFF"></path><path d="M540.592228 132.060431l282.167006 164.218765c17.503442 10.175676 28.287098 28.927078 28.287099 49.182432v329.205507a56.958184 56.958184 0 0 1-28.287099 49.182432l-282.167006 164.218766a56.79819 56.79819 0 0 1-57.214176 0L201.211046 723.849567a56.926185 56.926185 0 0 1-28.287098-49.182432V345.461628c0-20.255354 10.783656-38.974758 28.287098-49.182432l282.167006-164.218765a56.79819 56.79819 0 0 1 57.214176 0z" fill="#3B3B3B"></path><path d="M332.022876 301.239038l28.287099 10.65566c-12.607598 19.807369-31.327001 40.926695-48.542453 54.398266a191.769887 191.769887 0 0 0-15.455507-24.383222c13.50357-10.239674 28.511091-27.423126 35.678862-40.702703z m139.29156 68.541815h-11.327638c-0.63998 1.727945-1.087965 3.263896-1.727945 4.991841 1.727945 12.415604 3.903876 24.575217 6.975777 35.902856 2.81591-12.607598 4.799847-26.111168 6.079806-40.926696z m34.142912 0h-7.167771c-3.263896 31.135008-8.927715 57.662162-18.271418 80.285441 7.391764 13.50357 17.183452 24.383223 29.599057 31.99898-6.303799 5.439827-15.6795 17.183452-19.807369 25.023203a94.42899 94.42899 0 0 1-25.247195-28.735085 120.15617 120.15617 0 0 1-31.327002 30.687022 120.636155 120.636155 0 0 0-16.767465-22.847271c9.791688-6.079806 18.047425-13.279577 24.799209-21.9833-28.735084 16.959459-34.398904 22.623279-37.854793 26.97514a96.092937 96.092937 0 0 0-10.239674-25.023202c3.711882-2.399924 7.167772-7.167772 7.167772-16.095487v-10.431667h-10.431668v1.535951c0 20.223355-3.711882 47.454487-20.031361 64.861932a118.26823 118.26823 0 0 0-19.359383-20.671341c11.967619-13.279577 13.055584-30.687022 13.055584-44.606578v-24.575217h60.926058v31.550995l13.503569-6.975778c1.311958 6.527792 3.487889 15.231514 5.439827 20.671341 2.81591-3.903876 5.439827-8.063743 7.83975-12.415604a281.271034 281.271034 0 0 1-9.791688-39.166752c-1.311958 1.727945-2.399924 3.487889-3.711882 5.215834a92.797042 92.797042 0 0 0-7.83975-11.743626v8.255737H356.3741v-26.33516h65.725905c1.727945-2.623916 3.263896-5.439827 4.575854-8.255737H357.462066v-9.343702c-2.623916 5.215834-5.439827 10.431667-8.47973 15.455507v125.340005h-28.511091v-84.221316a193.913819 193.913819 0 0 1-8.927716 9.791688 196.185747 196.185747 0 0 0-16.31948-29.151071 188.921978 188.921978 0 0 0 39.614738-56.350203l22.623279 8.063742v-36.350841h19.583375v32.222973h5.215834V301.527029h22.399286v50.910377h6.303799v-32.190974h20.447348v46.142529c7.167772-18.719403 11.519633-41.342682 14.14355-64.637939l28.511091 4.575854c-1.727945 12.607598-3.903876 25.023202-6.751785 37.214814h38.078786v26.33516z m184.762111-10.65566h-38.750765c-5.215834 17.407445-11.743626 32.862952-20.031361 44.830571a181.978199 181.978199 0 0 0-25.247196-18.271418c14.591535-19.13539 22.623279-51.358363 26.111168-84.445308l30.239036 4.351861a317.941866 317.941866 0 0 1-4.127868 25.471188h39.390744l4.575854-0.863972 21.311321 4.799847c-4.127868 22.399286-9.791688 47.454487-14.591535 63.965961l-25.247195-5.887812c1.951938-8.927715 4.351861-21.311321 6.303799-33.950918z m-134.26772 31.774987h9.791688v-24.15923c-3.263896 8.47973-6.527792 16.543473-9.791688 24.15923z m60.286078 69.181795l-22.399286 3.903875v43.966599h-28.063105v-39.166752c-15.871494 2.81591-30.911015 5.215834-43.966599 7.391765l-6.527792-31.99898c13.695563-1.535951 31.327001-3.711882 50.494391-6.079806v-18.943397h-19.359383c-7.167772 0-16.543473 1.311958-18.495411 3.487889a257.399795 257.399795 0 0 0-9.567695-26.559153c5.215834-1.727945 8.703723-7.167772 12.831591-16.767466a241.592299 241.592299 0 0 0 9.151708-25.663182h-21.759306v-29.823049h30.015043a371.188168 371.188168 0 0 0 4.575854-21.983299l30.463029 5.887812c-1.311958 5.439827-2.623916 10.65566-3.903875 16.095487h35.038883v29.823049h-44.382585l-2.815911 8.255737h26.335161v28.959077h18.49541l-0.223992 28.287098h-18.271418v15.007522l20.895334-2.81591 1.535951 28.735084z m62.877996-81.597399v11.103646c0 6.751785-0.223993 14.591535-1.087966 22.847272 7.391764 30.463029 21.983299 56.574197 48.31846 68.989801a116.796277 116.796277 0 0 0-20.671341 26.559153c-18.271418-10.431667-30.911015-26.559153-40.030724-46.782509a123.644059 123.644059 0 0 1-36.766828 47.454488 110.300484 110.300484 0 0 0-23.487251-21.535314c39.83873-30.015043 43.742606-72.253697 43.742606-98.364865v-10.239673h30.047042z m-265.911524 255.511855l-30.463029 54.398266h-30.463029l-30.463029-54.398266v84.861295H282.64845v-152.347144h41.342682l43.518613 80.509434 43.518613-80.509434h41.342682v152.347144h-39.166751v-84.861295z m129.467873 39.166752l36.990821-106.620602h42.430647l-57.662162 152.347144h-43.518612l-57.662162-152.347144h42.430647l36.990821 106.620602z m90.301122-106.620602h91.389087c15.231514 0 26.303162 3.45589 33.182942 10.335671s10.335671 17.951428 10.33567 33.182942v21.759307c0 15.231514-3.45589 26.303162-10.33567 33.182942s-17.951428 10.335671-33.182942 10.335671h-52.222336v43.518612H632.973284v-152.347144z m95.772947 43.518613c0-8.703723-4.351861-13.055584-13.055584-13.055584h-43.518613v47.870475h43.518613c8.703723 0 13.055584-4.351861 13.055584-13.055584v-21.759307z" fill="#FFFFFF"></path><path d="M536.528358 40.607346a48.478455 48.478455 0 0 0-48.510454 0L115.677772 255.128508c-15.6795 9.023712-25.40719 26.079169-25.40719 44.574579v424.594466c0 18.49541 9.695691 35.550867 25.40719 44.574579l372.340132 214.521162a48.478455 48.478455 0 0 0 48.510454 0l372.340131-214.521162c15.6795-9.023712 25.40719-26.079169 25.407191-44.574579V299.703087c0-18.49541-9.695691-35.550867-25.407191-44.574579L536.528358 40.607346z m16.159485-29.727053l372.340131 214.521162A85.629271 85.629271 0 0 1 967.362625 299.703087v424.594466c0 30.815018-16.191484 59.230112-42.334651 74.301632L552.687843 1013.120347a80.765426 80.765426 0 0 1-80.861423 0L99.486288 798.599185a85.629271 85.629271 0 0 1-42.33465-74.301632V299.703087c0-30.815018 16.191484-59.230112 42.33465-74.301632L471.82642 10.880293a80.765426 80.765426 0 0 1 80.861423 0z" fill="#3B3B3B"></path></symbol><symbol id="csdnc-m-columns" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#1C9192"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#3ABCBD"></path><path d="M418.785923 339.37412h341.496956c23.583514 0 42.68712 19.007608 42.68712 42.463125s-19.103606 42.463124-42.68712 42.463124H418.785923c-23.583514 0-42.68712-19.007608-42.68712-42.463124s19.103606-42.463124 42.68712-42.463125z m0 127.357374h341.496956c23.583514 0 42.68712 19.007608 42.68712 42.463124s-19.103606 42.463124-42.68712 42.463124H418.785923c-23.583514 0-42.68712-19.007608-42.68712-42.463124s19.103606-42.463124 42.68712-42.463124z m0 127.357373h341.496956c23.583514 0 42.68712 19.007608 42.68712 42.463124s-19.103606 42.463124-42.68712 42.463124H418.785923c-23.583514 0-42.68712-19.007608-42.68712-42.463124s19.103606-42.463124 42.68712-42.463124z m-170.748479-169.820498c-23.583514 0-42.68712-19.007608-42.687119-42.463124s19.103606-42.463124 42.687119-42.463124c23.583514 0 42.68712 19.007608 42.68712 42.463124s-19.103606 42.463124-42.68712 42.463124z m0 127.357374c-23.583514 0-42.68712-19.007608-42.687119-42.463124s19.103606-42.463124 42.687119-42.463125c23.583514 0 42.68712 19.007608 42.68712 42.463125s-19.103606 42.463124-42.68712 42.463124z m0 127.357373c-23.583514 0-42.68712-19.007608-42.687119-42.463124s19.103606-42.463124 42.687119-42.463124c23.583514 0 42.68712 19.007608 42.68712 42.463124s-19.103606 42.463124-42.68712 42.463124z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-msmvp" viewBox="0 0 1024 1024"><path d="M557.392 13.824l363.424 209.824a86.624 86.624 0 0 1 43.296 75.008v419.648c0 30.944-16.512 59.52-43.296 75.008l-363.424 209.824a86.656 86.656 0 0 1-86.592 0L107.376 793.312a86.624 86.624 0 0 1-43.296-75.008V298.656c0-30.944 16.512-59.52 43.296-75.008L470.8 13.824a86.656 86.656 0 0 1 86.592 0z" fill="#F25022"></path><path d="M514.096 504.864V980.48a27.52 27.52 0 0 1-41.28 23.84L107.344 793.312a86.624 86.624 0 0 1-43.296-75.008v-224.704h438.752c6.24 0 11.296 5.056 11.296 11.296z" fill="#01A4EF"></path><path d="M533.712 482.432h430.4v235.84c0 30.944-16.512 59.52-43.296 75.008l-365.856 211.232a27.712 27.712 0 0 1-41.568-23.584l-0.704-46.528V523.168l0.064-3.136 0.64-18.048a20.32 20.32 0 0 1 20.32-19.616z" fill="#FFB901"></path><path d="M552.112 10.784l368.704 212.864a86.624 86.624 0 0 1 43.296 75.008v184.416H527.44a13.344 13.344 0 0 1-13.344-13.344V32.768a25.344 25.344 0 0 1 38.016-21.952z" fill="#7FB900"></path><path d="M80.752 471.936h120.32v43.296H80.752zM829.584 471.936h120.32v43.296h-120.32zM534.32 32.512v120.32h-43.296v-120.32zM534.32 870.4v120.32h-43.296V870.4z" fill="#FFFFFF"></path><path d="M540.176 131.296l280.608 163.296c17.408 10.144 28.128 28.768 28.128 48.896v327.392a56.64 56.64 0 0 1-28.128 48.896l-280.608 163.296c-17.6 10.24-39.328 10.24-56.928 0l-280.608-163.296a56.64 56.64 0 0 1-28.128-48.896V343.488c0-20.128 10.72-38.752 28.128-48.896l280.608-163.296c17.6-10.24 39.328-10.24 56.928 0z" fill="#3B3B3B"></path><path d="M381.84 503.808L345.872 568H309.904l-35.968-64.192v100.16H227.696v-179.776h48.8l51.36 95.04 51.36-95.04h48.8v179.776h-46.24v-100.16z m152.8 46.24l43.648-125.856h50.08l-68.064 179.776h-51.36l-68.064-179.776h50.08l43.648 125.856z m106.592-125.856h107.872c17.984 0 31.04 4.064 39.168 12.192s12.192 21.184 12.192 39.168v25.696c0 17.984-4.064 31.04-12.192 39.168s-21.184 12.192-39.168 12.192h-61.632v51.36h-46.24v-179.776z m112.992 51.392c0-10.272-5.12-15.424-15.424-15.424h-51.36v56.512h51.36c10.272 0 15.424-5.152 15.424-15.424v-25.696z" fill="#FFFFFF"></path><path d="M529.424 59.168a34.944 34.944 0 0 0-34.848 0L129.072 270.208a34.816 34.816 0 0 0-17.408 30.176v422.048c0 12.448 6.656 23.936 17.408 30.176l365.504 211.04c10.784 6.24 24.064 6.24 34.848 0l365.504-211.04c10.784-6.24 17.408-17.728 17.408-30.176V300.384c0-12.448-6.656-23.936-17.408-30.176L529.424 59.168z m26.144-45.28l365.504 211.04a87.104 87.104 0 0 1 43.552 75.424v422.048c0 31.136-16.608 59.872-43.552 75.424l-365.504 211.04a87.136 87.136 0 0 1-87.104 0L102.96 797.824A87.104 87.104 0 0 1 59.408 722.4V300.352c0-31.136 16.608-59.872 43.552-75.424L468.464 13.888a87.136 87.136 0 0 1 87.104 0z" fill="#3B3B3B"></path></symbol><symbol id="csdnc-m-goldface" viewBox="0 0 1024 1024"><path d="M546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#CF893D"></path><path d="M508.448073 77.907513a8.767819 8.767819 0 0 0-8.511824 0L113.608217 292.431089a8.319828 8.319828 0 0 0-4.319911 7.26385v424.599242c0 2.975939 1.631966 5.759881 4.319911 7.263851l386.328032 214.523575a8.767819 8.767819 0 0 0 8.511824 0l386.328032-214.523575a8.319828 8.319828 0 0 0 4.319911-7.263851V299.694939a8.319828 8.319828 0 0 0-4.319911-7.26385L508.448073 77.907513zM546.111296 10.868896l386.328032 214.523575a85.118244 85.118244 0 0 1 43.903095 74.302468v424.599242a85.118244 85.118244 0 0 1-43.903095 74.302468L546.111296 1013.120224a86.494216 86.494216 0 0 1-83.87027 0L75.912994 798.596649A85.118244 85.118244 0 0 1 32.0099 724.294181V299.694939a85.118244 85.118244 0 0 1 43.903094-74.302468L462.241026 10.868896a86.494216 86.494216 0 0 1 83.87027 0z" fill="#FFD255"></path><path d="M504.192161 823.172142c-94.270056 0-170.65248-75.998433-170.65248-169.724499v-35.775262H674.876641v35.775262c0 93.726067-76.414424 169.724499-170.652481 169.724499z m-53.118904-70.814539c11.519762 16.159667 29.695388 24.159502 53.086905 24.159501s41.567143-7.999835 53.086905-24.159501c4.095916-5.727882 2.751943-13.663718-3.039938-17.759634s-13.759716-2.719944-17.855631 3.007938c-6.367869 8.895817-16.639657 13.439723-32.223336 13.439723s-25.855467-4.511907-32.223335-13.439723c-4.095916-5.727882-12.095751-7.071854-17.855632-3.007938s-7.103853 12.031752-3.039937 17.759634z m-10.879776-92.254098c11.775757 0 21.34356-9.503804 21.34356-21.215562s-9.535803-21.215562-21.34356-21.215562c-11.775757 0-21.34356 9.503804-21.34356 21.215562s9.535803 21.215562 21.34356 21.215562z m127.99736 0c11.775757 0 21.34356-9.503804 21.34356-21.215562s-9.535803-21.215562-21.34356-21.215562c-11.775757 0-21.34356 9.503804-21.34356 21.215562s9.535803 21.215562 21.34356 21.215562zM802.842001 577.9292H205.510321a42.559122 42.559122 0 0 1-42.65512-42.431125v-23.871507a42.559122 42.559122 0 0 1 57.502814-39.77518l113.149666 41.759139v-20.543577c0-93.726067 76.414424-169.724499 170.652481-169.724499s170.65248 75.998433 170.65248 169.724499v20.543577l113.149666-41.759139a42.559122 42.559122 0 0 1 57.502814 39.77518v23.871507a42.559122 42.559122 0 0 1-42.65512 42.431125z m-127.99736-202.939814c-31.263355-54.910867-99.709943-88.25418-170.65248-88.25418-71.198532 0-139.677119 33.599307-170.65248 88.862167v-52.254922c0-70.30255 57.310818-127.293375 127.99736-127.293375h85.34224c70.686542 0 127.99736 56.990825 127.99736 127.293375v51.646935z m-191.99604 118.077564c-11.775757 0-21.34356 9.503804-21.34356 21.215563s9.535803 21.215562 21.34356 21.215562h42.65512c11.775757 0 21.34356-9.503804 21.34356-21.215562s-9.535803-21.215562-21.34356-21.215563h-42.65512z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-check" viewBox="0 0 1024 1024"><path d="M469.248 562.304l196.010667-196.010667a42.602667 42.602667 0 1 1 60.245333 60.266667l-226.133333 226.176a42.581333 42.581333 0 0 1-60.266667-0.021333l-135.594667-135.594667a42.624 42.624 0 0 1 60.266667-60.266667l105.472 105.450667z m43.370667 375.317333c-235.370667 0-426.154667-190.762667-426.154667-426.154666C86.464 276.138667 277.269333 85.333333 512.618667 85.333333c235.328 0 426.133333 190.784 426.133333 426.133334 0 235.392-190.784 426.154667-426.133333 426.154666z m0-85.226666c188.266667 0 340.885333-152.618667 340.885333-340.906667s-152.618667-340.906667-340.885333-340.906667c-188.309333 0-340.928 152.618667-340.928 340.906667s152.64 340.906667 340.928 340.906667z m0 0" fill=""></path></symbol><symbol id="csdnc-editblog" viewBox="0 0 1266 1024"><path d="M1167.1826897 82.30843934a1078.33288982 1078.33288982 0 0 1-62.76067429 66.32362253c-3.43098681 3.40459501-180.25879037 20.92902162-205.7536646 49.53817616-25.54765907 28.58276275 141.91090934 7.78570134 137.00195963 11.69174916a1030.45742285 1030.45742285 0 0 1-76.53740758 56.79603414c-4.98812758 3.29902657-163.68448208-0.42227494-191.18516505 29.2953524-27.55346659 29.69123553 111.61265381 19.08156739 105.17295515 22.53894721-73.79261738 39.64109886-137.87290131 68.06550837-232.80567963 98.81243186-63.15655742 20.42757004-133.35983351 140.22180836-160.46463211 188.59872812-27.13119165 48.37691976-33.09583054 74.3996386-41.27741628 97.14972267-2.90314344 8.57746763-15.7297572 30.32464855-42.72898613 22.09027924-26.97283838-8.26076112-26.78809209-32.51520234-23.17236024-43.78467533 75.85120971-214.99093708 196.59556756-384.24417614 334.4948619-510.13501483 30.90527674-28.21327141 75.16501185-50.38272726 111.16398585-58.85462646 151.20096787-35.62948265 249.98700669-31.56508281 348.85222338-30.06072687zM216.00746337 727.41321325v103.4046763h723.12014439v-103.4046763a51.62316152 51.62316152 0 0 1 103.24632303 0v103.4046763a103.29910787 103.29910787 0 0 1-103.24632303 103.40467627H216.00746337a103.32549966 103.32549966 0 0 1-103.29910664-103.40467627v-103.4046763a51.64955332 51.64955332 0 0 1 103.29910664 0z m0 0" fill=""></path></symbol><symbol id="csdnc-error" viewBox="0 0 1024 1024"><path d="M512.874667 938.474667c-235.434667 0-426.261333-190.848-426.261334-426.261334 0-235.434667 190.848-426.261333 426.261334-426.261333s426.261333 190.848 426.261333 426.261333c-0.021333 235.413333-190.848 426.261333-426.261333 426.261334z m0-85.248c188.352 0 341.013333-152.682667 341.013333-341.013334 0-188.352-152.661333-341.013333-341.013333-341.013333S171.861333 323.861333 171.861333 512.213333c0 188.330667 152.661333 341.013333 341.013334 341.013334z m-42.645334-511.530667a42.624 42.624 0 1 1 85.290667 0v204.586667a42.666667 42.666667 0 0 1-85.290667 0v-204.586667zM512.874667 725.333333a42.666667 42.666667 0 1 1 0.042666-85.290666A42.666667 42.666667 0 0 1 512.874667 725.333333z" fill=""></path></symbol><symbol id="csdnc-help" viewBox="0 0 1024 1024"><path d="M513.216 938.474667c-235.328 0-426.112-190.784-426.112-426.112S277.888 86.250667 513.216 86.250667 939.306667 277.034667 939.306667 512.362667s-190.762667 426.112-426.090667 426.112z m0-85.205334c188.266667 0 340.885333-152.64 340.885333-340.906666S701.482667 171.498667 513.216 171.498667 172.352 324.096 172.352 512.362667s152.597333 340.906667 340.864 340.906666z m42.624-261.034666v47.978666a42.624 42.624 0 0 1-85.248 0v-85.248c0-23.509333 19.093333-42.602667 42.624-42.602666a85.205333 85.205333 0 1 0 0-170.432 85.226667 85.226667 0 0 0-85.226667 85.205333 42.581333 42.581333 0 1 1-85.205333 0 170.453333 170.453333 0 1 1 213.056 165.098667z m-42.624 201.344a42.602667 42.602667 0 1 1-0.042667-85.205334 42.602667 42.602667 0 0 1 0.042667 85.205334z" fill=""></path></symbol><symbol id="csdnc-qr" viewBox="0 0 1024 1024"><path d="M127.872 469.674667V171.093333a42.666667 42.666667 0 0 1 42.666667-42.666666H469.12v341.248H127.872z m85.312-85.312h170.624v-170.624H213.184v170.624z m339.178667 85.312V128.426667H850.986667c23.552 0 42.602667 19.114667 42.602666 42.666666v298.581334H552.362667z m85.333333-85.312h170.602667v-170.624h-170.602667v170.624zM170.538667 896.213333c-23.552 0-42.666667-19.136-42.666667-42.666666V554.944H469.12V896.213333H170.538667z m42.645333-85.312h170.624v-170.624H213.184v170.624z m511.829333 85.312v-85.312h170.624v42.645334a42.666667 42.666667 0 0 1-42.688 42.666666h-127.936z m85.333334-341.269333h85.290666v170.645333H639.722667v170.624h-85.354667V554.944h170.645333v85.376h85.333334v-85.376z m-128-213.248v-85.312h85.312v85.312h-85.312zM255.850667 768.234667v-85.312h85.290666v85.312h-85.290666z m0-426.538667v-85.312h85.290666v85.312h-85.290666z" fill=""></path></symbol><symbol id="csdnc-chevronright" viewBox="0 0 1024 1024"><path d="M624.064 511.765333L287.808 176.682667a53.482667 53.482667 0 0 1-0.192-75.562667c0.064-0.042667 0.128-0.128 0.192-0.149333a53.866667 53.866667 0 0 1 76.010667 0l372.352 371.072c10.538667 10.474667 16.277333 24.896 15.701333 39.744a53.290667 53.290667 0 0 1-15.701333 39.765333L363.818667 922.56a53.866667 53.866667 0 0 1-76.010667 0 53.482667 53.482667 0 0 1-0.192-75.562667l0.192-0.128 336.256-335.104z" fill=""></path></symbol><symbol id="csdnc-chevronleft" viewBox="0 0 1024 1024"><path d="M399.936 511.786667L736.213333 846.912c20.885333 20.842667 20.970667 54.656 0.192 75.584l-0.192 0.213333a53.909333 53.909333 0 0 1-75.989333 0L287.786667 551.552a53.418667 53.418667 0 0 1-15.701334-39.765333 53.418667 53.418667 0 0 1 15.701334-39.765334L660.224 100.885333a53.866667 53.866667 0 0 1 75.989333 0c20.885333 20.821333 20.970667 54.656 0.192 75.562667l-0.192 0.192-336.277333 335.146667z" fill=""></path></symbol><symbol id="fenlei" viewBox="0 0 1489 1024"><path d="M740.09521757 300.68720177a60.49974126 60.49974126 0 0 1 0-120.97524423h435.49633467a60.49974126 60.49974126 0 0 1 0 120.97524423H740.09521757z m0 181.4749855a60.49974126 60.49974126 0 0 1 0-120.97524422h253.99711087a60.49974126 60.49974126 0 0 1 0 120.97524422H740.09521757z m0 181.42650778a60.47550296 60.47550296 0 1 1 0-120.95100594h435.49633467a60.49974126 60.49974126 0 0 1 0 120.95100594H740.09521757z m0 181.47498436a60.52397957 60.52397957 0 0 1 0-120.9752431h253.99711087a60.49974126 60.49974126 0 0 1 0 120.9752431H740.09521757zM328.78908432 179.71195754h181.45074604a60.49974126 60.49974126 0 0 1 60.47550299 60.49974127v169.35564593a60.49974126 60.49974126 0 0 1-60.47550299 60.49974126H328.78908432a60.52397957 60.52397957 0 0 1-60.49974129-60.49974126v-169.35564593a60.52397957 60.52397957 0 0 1 60.49974129-60.49974127z m0 375.02083284h181.45074604a60.47550296 60.47550296 0 0 1 60.47550299 60.49974128v169.33140648a60.49974126 60.49974126 0 0 1-60.47550299 60.49974127H328.78908432a60.52397957 60.52397957 0 0 1-60.49974129-60.49974127v-169.33140648a60.52397957 60.52397957 0 0 1 60.49974129-60.49974128z" fill=""></path></symbol><symbol id="csdnc-share" viewBox="0 0 1024 1024"><path d="M340.522667 415.872l257.770666-144a128 128 0 1 1 38.336 76.373333l-254.464 142.144c2.133333 12.650667 2.368 25.536 0.725334 38.272l294.016 149.461334a128.064 128.064 0 0 1 219.157333 89.898666c0 70.677333-57.344 128.042667-128.042667 128.042667a128.064 128.064 0 0 1-127.402666-140.672l-296.426667-150.677333a128.021333 128.021333 0 1 1-3.669333-188.842667z" fill=""></path></symbol><symbol id="csdnc-caveat" viewBox="0 0 1137 1024"><path d="M162.79621255 762.05731533L496.17499516 178.94642002a83.34469565 83.34469565 0 0 1 144.76146655 0l333.35555424 583.11089531a83.57698263 83.57698263 0 0 1-72.38073382 125.06350131H235.20017474a83.48406806 83.48406806 0 0 1-83.41438184-83.53052589c0-14.58764425 3.78628319-28.87331533 11.01041965-41.53297542z m72.40396219 41.53297542h666.71110739l-333.33232478-583.13412476L235.20017474 803.59029075zM526.58140689 385.42663175a41.67234783 41.67234783 0 1 1 83.36792512 0v200.04585182a41.69557619 41.69557619 0 1 1-83.36792512 0v-200.04585182z m41.67234783 375.09758717a41.67234783 41.67234783 0 1 1 0-83.36792402 41.67234783 41.67234783 0 0 1 0 83.36792402z" fill=""></path></symbol><symbol id="csdnc-report" viewBox="0 0 1024 1024"><path d="M526.04803 1019.996172l-13.987798 4.003828-13.998039-3.967988C237.352562 946.08407 102.4 772.096743 102.4 508.571121V251.312359c0-35.025817 19.747782-67.041082 50.99505-82.687756l317.439063-158.893611a91.934449 91.934449 0 0 1 82.329357 0l317.439064 158.898731A92.436207 92.436207 0 0 1 921.597583 251.312359V508.571121c0 262.911224-134.916722 436.852471-395.549553 511.425051zM819.197885 508.571121V257.661141L511.998792 103.892634 204.799698 257.661141V508.571121c0 212.295054 99.512026 345.199622 307.137654 408.538954C719.650019 853.238264 819.197885 720.297856 819.197885 508.571121zM460.798943 307.202115c0-28.277677 22.922172-51.199849 51.199849-51.199849s51.199849 22.922172 51.199849 51.199849v245.759275c0 28.277677-22.922172 51.199849-51.199849 51.199849s-51.199849-22.922172-51.199849-51.199849V307.202115z m51.199849 460.79864c-28.277677 0-51.199849-22.922172-51.199849-51.199849s22.922172-51.199849 51.199849-51.199849 51.199849 22.922172 51.199849 51.199849-22.922172 51.199849-51.199849 51.199849z"></path></symbol><symbol id="csdnc-triangledown" viewBox="0 0 2048 1024"><path d="M597.33333292 298.666667h853.333334L1023.99999992 725.333333 597.33333292 298.666667z" fill=""></path></symbol><symbol id="csdnc-times" viewBox="0 0 1024 1024"><path d="M512 438.378667L806.506667 143.893333a52.032 52.032 0 1 1 73.6 73.621334L585.621333 512l294.485334 294.485333a52.074667 52.074667 0 0 1-73.6 73.642667L512 585.621333 217.514667 880.128a52.053333 52.053333 0 1 1-73.621334-73.642667L438.378667 512 143.893333 217.514667a52.053333 52.053333 0 1 1 73.621334-73.621334L512 438.378667z" fill=""></path></symbol><symbol id="csdnc-triangleup" viewBox="0 0 2048 1024"><path d="M597.33333292 725.333333l426.666667-426.666666 426.666667 426.666666H597.33333292z" fill=""></path></symbol><symbol id="csdnc-reply" viewBox="0 0 1024 1024"><path d="M483.882667 406.549333c135.872 15.658667 241.322667 131.072 241.322666 271.082667 0 14.677333-1.173333 29.077333-3.413333 43.114667-19.050667-120.021333-116.288-214.016-237.909333-228.010667v77.930667l-171.648-85.824a39.701333 39.701333 0 0 1 0-71.018667l171.648-85.824v78.549333zM256.170667 84.928h511.658666a85.312 85.312 0 0 1 85.290667 85.290667v682.197333a85.312 85.312 0 0 1-85.290667 85.290667H256.170667a85.290667 85.290667 0 0 1-85.290667-85.290667V170.218667a85.290667 85.290667 0 0 1 85.290667-85.290667z m0 85.290667v682.197333h511.658666V170.218667H256.170667z" fill=""></path></symbol><symbol id="csdnc-comments" viewBox="0 0 1024 1024"><path d="M809.621333 129.344a85.269333 85.269333 0 0 1 85.034667 85.034667v467.712a85.269333 85.269333 0 0 1-85.034667 84.992h-191.338666L512 894.677333l-106.282667-127.573333h-191.338666a85.269333 85.269333 0 0 1-85.013334-84.992V214.357333a85.269333 85.269333 0 0 1 85.013334-85.034666h595.242666z m0 510.208V256.896a42.645333 42.645333 0 0 0-42.538666-42.538667H256.896a42.666667 42.666667 0 0 0-42.538667 42.538667v382.656a42.666667 42.666667 0 0 0 42.538667 42.538667h191.317333L512 767.082667l63.786667-84.992h191.296a42.666667 42.666667 0 0 0 42.538666-42.538667z m-414.72-202.176a53.12 53.12 0 1 1-106.218666 0.021333 53.12 53.12 0 0 1 106.218666-0.021333z m169.984 0a53.12 53.12 0 1 1-106.24 0 53.12 53.12 0 0 1 106.24 0z m169.941334 0a53.12 53.12 0 1 1-106.24 0 53.12 53.12 0 0 1 106.24 0z" fill=""></path></symbol><symbol id="csdnc-squareleft" viewBox="0 0 1024 1024"><path d="M256.149333 85.610667h511.68A85.290667 85.290667 0 0 1 853.12 170.88v682.218667a85.290667 85.290667 0 0 1-85.290667 85.290666H256.149333a85.269333 85.269333 0 0 1-85.290666-85.290666V170.88a85.290667 85.290667 0 0 1 85.290666-85.269333z m0 85.269333v682.218667h511.68V170.88H256.149333zM486.314667 512l140.970666 140.096a42.709333 42.709333 0 0 1 0 60.544 42.986667 42.986667 0 0 1-60.736 0l-169.898666-168.853333a42.794667 42.794667 0 0 1-12.586667-31.786667 42.666667 42.666667 0 0 1 12.586667-31.786667l169.898666-168.853333a43.029333 43.029333 0 0 1 60.736 0 42.666667 42.666667 0 0 1 0.170667 60.416l-0.170667 0.149333L486.314667 512z" fill=""></path></symbol><symbol id="csdnc-trash" viewBox="0 0 1024 1024"><path d="M405.418667 128.256l9.536-19.093333a42.624 42.624 0 0 1 38.122666-23.552h117.824c16.149333 0 30.933333 9.152 38.144 23.552l9.536 19.093333h191.872c23.552 0 42.624 19.093333 42.624 42.645333v42.581334H581.589333c-0.661333 0.042667-1.301333 0.042667-1.962666 0.042666H170.901333V170.901333a42.666667 42.666667 0 0 1 42.645334-42.645333h191.872z m405.056 126.506667V853.12a85.269333 85.269333 0 0 1-85.290667 85.269333H298.816a85.248 85.248 0 0 1-85.269333-85.269333V253.866667l596.928 0.896zM298.816 853.12h426.368V339.946667l-426.368-0.661334V853.12z m211.306667-318.037333l36.16-36.181334a42.666667 42.666667 0 0 1 60.309333 60.330667l-36.181333 36.16 36.181333 36.181333a42.602667 42.602667 0 0 1 0 60.288 42.602667 42.602667 0 0 1-60.309333 0l-36.16-36.16-36.181334 36.16a42.602667 42.602667 0 0 1-60.309333 0 42.666667 42.666667 0 0 1 0-60.288l36.181333-36.181333-36.181333-36.16a42.730667 42.730667 0 0 1 0-60.330667 42.709333 42.709333 0 0 1 60.309333 0l36.181334 36.181334z" fill=""></path></symbol><symbol id="csdnc-failure" viewBox="0 0 1024 1024"><path d="M512 928.37504726c-229.94123287 0-416.37504726-186.36412818-416.37504726-416.37504726C95.62495274 282.08199658 282.03553875 95.62495274 512 95.62495274c229.91800342 0 416.37504726 186.43381438 416.37504726 416.37504726 0 229.98768962-186.45704384 416.37504726-416.37504726 416.37504726z m0-83.27500945c183.94834062 0 333.12326618-149.08201098 333.12326618-333.10003781 0-183.94834062-149.17492664-333.10003781-333.12326618-333.10003781S178.89996219 328.05165938 178.89996219 512c0 184.01802682 149.15169718 333.10003781 333.10003781 333.10003781z m1.16143704-390.77698335l88.36210207-88.33887262a41.64911946 41.64911946 0 0 1 58.86160986 58.88483932l-88.31564424 88.31564425 88.31564424 88.31564425c16.26011306 16.26011306 16.26011306 42.64795463 0 58.93129714-16.26011306 16.26011306-42.62472626 16.26011306-58.86160986 0l-88.36210207-88.38533045-88.31564535 88.38533045c-16.26011306 16.26011306-42.62472626 16.26011306-58.86160985 0-16.26011306-16.28334251-16.26011306-42.671183 0-58.93129714l88.31564425-88.31564425-88.31564425-88.31564425a41.64911946 41.64911946 0 0 1 58.86160985-58.88483932l88.36210209 88.33887262h-0.04645674z" fill=""></path></symbol><symbol id="csdnc-cog" viewBox="0 0 1024 1024"><path d="M796.437333 549.632c1.536-12.288 2.688-24.554667 2.688-37.653333 0-13.034667-1.152-25.344-2.688-37.632l80.746667-63.36a19.456 19.456 0 0 0 4.650667-24.597334l-76.565334-132.885333c-4.608-8.448-14.912-11.52-23.36-8.448l-95.317333 38.4a279.168 279.168 0 0 0-64.682667-37.632l-14.528-101.781333a18.730667 18.730667 0 0 0-18.773333-16.128h-153.109333a18.709333 18.709333 0 0 0-18.752 16.128l-14.549334 101.781333c-23.338667 9.6-44.778667 22.656-64.682666 37.632l-95.296-38.4a18.624 18.624 0 0 0-23.36 8.448l-76.544 132.885333a18.986667 18.986667 0 0 0 4.586666 24.597334l80.746667 63.36c-1.536 12.288-2.666667 24.96-2.666667 37.632 0 12.693333 1.152 25.344 2.666667 37.653333l-80.746667 63.402667a19.328 19.328 0 0 0-4.586666 24.533333l76.544 132.885333c4.586667 8.448 14.933333 11.52 23.36 8.448l95.296-38.421333a280.533333 280.533333 0 0 0 64.682666 37.674667l14.549334 101.781333a18.730667 18.730667 0 0 0 18.752 16.128h153.109333a18.752 18.752 0 0 0 18.773333-16.128l14.528-101.781333c23.338667-9.621333 44.821333-22.677333 64.682667-37.674667l95.317333 38.421333c8.810667 3.477333 18.773333 0 23.36-8.448l76.565334-132.885333c4.565333-8.448 2.645333-18.816-4.608-24.533333l-80.789334-63.402667zM512 668.757333c-86.421333 0-156.757333-70.336-156.757333-156.778666 0-86.421333 70.336-156.757333 156.757333-156.757334 86.442667 0 156.736 70.336 156.736 156.757334 0 86.442667-70.293333 156.778667-156.736 156.778666z" fill=""></path></symbol><symbol id="csdnc-bookmark" viewBox="0 0 1024 1024"><path d="M512 690.752l170.56 113.685333v-633.6h-341.12v633.6L512 690.752zM341.44 85.589333h341.12a85.269333 85.269333 0 0 1 85.269333 85.248v733.418667a34.090667 34.090667 0 0 1-53.013333 28.352L512 797.525333l-202.773333 135.168a34.112 34.112 0 0 1-53.056-28.416V170.837333a85.269333 85.269333 0 0 1 85.269333-85.248z" fill=""></path></symbol><symbol id="csdnc-search" viewBox="0 0 1024 1024"><path d="M703.317333 642.368l0.682667 0.682667 176.682667 176.704a43.093333 43.093333 0 0 1-60.928 60.906666L643.072 704c-0.192-0.256-0.448-0.448-0.661333-0.704a317.205333 317.205333 0 0 1-192.896 65.002667c-176.064 0-318.805333-142.698667-318.805334-318.784 0-176.064 142.741333-318.805333 318.805334-318.805334s318.805333 142.741333 318.805333 318.805334c0 72.490667-24.213333 139.370667-65.002667 192.853333z m-253.802666 39.765333c128.512 0 232.618667-104.128 232.618666-232.618666 0-128.469333-104.106667-232.618667-232.618666-232.618667-128.469333 0-232.618667 104.149333-232.618667 232.618667 0 128.490667 104.149333 232.618667 232.618667 232.618666z" fill=""></path></symbol><symbol id="csdnc-plus" viewBox="0 0 1024 1024"><path d="M464.32 464.341333V178.368a47.658667 47.658667 0 1 1 95.338667 0v285.973333h285.952a47.658667 47.658667 0 0 1 0 95.317334H559.658667v285.952a47.68 47.68 0 0 1-95.338667 0V559.658667H178.368a47.658667 47.658667 0 1 1 0-95.317334h285.952z" fill=""></path></symbol><symbol id="csdnc-pluscode" viewBox="0 0 1539 1024"><path d="M147.89108138 512.43806431a61.73571172 61.73571172 0 0 1 18.24222945-45.21444686l352.98558551-351.10816758a62.67441995 62.67441995 0 0 1 88.23857357 0c24.24996211 24.0935117 24.40641395 63.20635362 0.34419202 87.42502595l-0.34419202 0.3441935-310.18049026 308.55339499 310.21178006 308.58468481a61.89216211 61.89216211 0 0 1 0 87.80050923 62.70570974 62.70570974 0 0 1-88.23857359 0L166.13331083 557.65250976a61.64184088 61.64184088 0 0 1-18.24222945-45.21444545z m1247.91872018-0.87612862a61.64184088 61.64184088 0 0 1-18.27352066 45.18315708L1024.55069685 907.91584138a62.70570974 62.70570974 0 0 1-88.23857356 0 61.95474313 61.95474313 0 0 1-0.34419353-87.48760699l0.34419353-0.31290371 310.2430698-308.58468478-310.21178004-308.55339502a61.82958254 61.82958254 0 0 1-0.34419203-87.4563172l0.34419203-0.34419203a62.6118389 62.6118389 0 0 1 88.2072838 0l352.98558405 351.10816757c12.04675511 11.98417556 18.64900399 28.31769874 18.27352066 45.27702647z m-687.22829474-66.92989678V320.50352119a62.26764539 62.26764539 0 0 1 62.42409723-62.07990373 62.26764539 62.26764539 0 0 1 62.42409728 62.07990373v124.12851772h124.7230339c34.51317305 0 62.42409725 27.7857636 62.42409725 62.04861397a62.26764539 62.26764539 0 0 1-62.42409725 62.07990521h-124.7230339v124.12851772a62.26764539 62.26764539 0 0 1-62.42409728 62.07990375 62.26764539 62.26764539 0 0 1-62.42409723-62.07990375v-124.12851772H583.79589334c-34.45059202 0-62.39280748-27.8170534-62.39280747-62.07990521s27.94221545-62.04861397 62.39280747-62.04861397h124.78561348z" fill=""></path></symbol><symbol id="csdnc-plusgroup" viewBox="0 0 1024 1024"><path d="M512 938.816C276.288 938.816 85.184 747.754667 85.184 512 85.184 276.288 276.288 85.184 512 85.184c235.733333 0 426.816 191.104 426.816 426.816 0 235.754667-191.082667 426.816-426.816 426.816z m0-85.354667c188.544 0 341.461333-152.853333 341.461333-341.461333 0-188.565333-152.917333-341.44-341.461333-341.44-188.586667 0-341.461333 152.874667-341.461333 341.44 0 188.608 152.874667 341.461333 341.461333 341.461333z m-42.709333-384.149333v-128.042667a42.688 42.688 0 0 1 85.376 0v128.042667h128.064a42.709333 42.709333 0 0 1 0 85.376H554.666667v128.042667a42.666667 42.666667 0 0 1-85.376 0v-128.042667h-128.021334a42.688 42.688 0 0 1 0-85.376h128.021334z" fill=""></path></symbol><symbol id="csdnc-squareright" viewBox="0 0 1024 1024"><path d="M256.576 86.314667h510.826667a85.162667 85.162667 0 0 1 85.141333 85.12v681.109333a85.141333 85.141333 0 0 1-85.141333 85.141333H256.576a85.12 85.12 0 0 1-85.141333-85.141333V171.434667a85.141333 85.141333 0 0 1 85.141333-85.12z m0 85.12v681.109333h510.826667V171.434667H256.576zM537.621333 512l-140.778666-139.84a42.666667 42.666667 0 0 1 0-60.48 43.008 43.008 0 0 1 60.693333 0l169.621333 168.554667c8.426667 8.405333 12.949333 19.882667 12.544 31.744a42.538667 42.538667 0 0 1-12.544 31.744l-169.621333 168.576a43.050667 43.050667 0 0 1-60.693333 0 42.666667 42.666667 0 0 1-0.128-60.330667l0.128-0.170667L537.621333 512z" fill=""></path></symbol><symbol id="csdnc-wechat" viewBox="0 0 1228 1024"><path d="M836.61513006 344.25373036c-11.62495408-1.55344592-23.19812623-2.07126164-35.34089482-2.07126042-173.51990992 0-310.71507555 132.66428208-310.71507554 295.75021272 0 27.31475794 4.03895941 53.59388445 11.5990625 78.42312889-11.39193719 0.95795792-22.86154547 1.52755556-34.3052646 1.52755556-45.87843675 0-82.22907141-9.24300325-128.10750695-18.5636788l-127.64147317 65.5295265L248.42872057 652.37972977c-91.31673008-65.47774578-146.30871586-150.19233068-146.30871465-252.90099675 0-178.07668505 164.45814162-317.9385991 365.70706132-317.9385991 179.55245868 0.02589036 337.48612741 112.00345125 368.78806282 262.71359644m298.59819732 289.51053987c0 84.14498725-54.47417006 158.99519052-128.13339732 215.22993304l27.75490014 93.43977244-100.37849717-56.23474252c-36.81666845 9.24300325-73.68511883 19.05560295-109.98397155 19.05560296-174.01183406 0-310.71507555-121.81605095-310.71507677-271.49056592 0-149.62273302 136.72913184-271.43878519 310.71507677-271.4387852 164.45814162 0 310.74096711 121.81605095 310.7409659 271.4387852M394.71154606 287.47528177c0-28.35038815-18.17531733-46.93995732-45.9043271-46.93995732-27.23708564 0-54.99198578 18.58956917-54.99198578 46.93995732 0 27.91024473 27.72900978 46.44803318 54.99198578 46.44803318 27.72900978 0 45.90432711-18.56367882 45.9043271-46.44803318m374.79472 261.70385779c0-18.58956917-18.14942698-37.15324799-45.95610905-37.1532492-18.09764503 0-36.24707201 18.56367882-36.2470708 37.1532492 0 19.05560295 18.14942698 37.72284564 36.2470708 37.72284443 27.80668208 0 45.95610905-18.66724147 45.95610905-37.72284443m-119.0198483-261.70385779c0-28.35038815-18.17531733-46.93995732-45.41240296-46.93995732-27.72900978 0-54.99198578 18.58956917-54.99198578 46.93995732 0 27.91024473 27.23708564 46.44803318 54.99198578 46.44803318 27.21119406 0 45.41240298-18.56367882 45.41240296-46.44803318m320.24287764 261.70385779c0-18.58956917-18.61546075-37.15324799-45.85254639-37.1532492-18.14942698 0-36.29885273 18.56367882-36.29885273 37.1532492 0 19.05560295 18.14942698 37.72284564 36.29885273 37.72284443 27.23708564 0 45.85254517-18.66724147 45.85254639-37.72284443" fill=""></path></symbol><symbol id="csdnc-chevronup" viewBox="0 0 1820 1024"><path d="M917.33333327 400.128L582.82666627 735.765333a53.333333 53.333333 0 0 1-75.413333 0.192l-0.192-0.192a53.781333 53.781333 0 0 1 0-75.882666L877.65333327 288.213333a53.162667 53.162667 0 0 1 39.658667-15.68 53.290667 53.290667 0 0 1 39.68 15.68l370.410666 371.669334a53.781333 53.781333 0 0 1 0 75.882666 53.312 53.312 0 0 1-75.392 0.192l-0.213333-0.192L917.33333327 400.128z" fill=""></path></symbol><symbol id="csdnc-weibo" viewBox="0 0 1316 1024"><path d="M920.29843863 500.76380374c42.60391128 8.26190902 176.55699574 68.68400323 102.77814817 221.3365426-73.69622845 152.43222138-316.73405251 226.56908456-496.81612854 212.79923705-171.13167504-13.08135552-391.22893131-68.40860667-413.92164183-270.02672728 0 0-12.06238718-91.32163392 78.90123112-209.49447216 0 0 130.81355904-177.8513619 283.13562206-228.57948328 152.48730122-50.53534393 170.30548414 34.94787514 170.30548415 85.42813926-8.09667082 42.90684706-23.27104416 68.07813031 33.98398532 50.78320121 0 0 149.87102959-67.69257412 211.5599507-7.65603613 49.76423156 48.49740594 8.23436976 115.14347246 8.23436976 115.14347244s-20.62723327 22.2796151 21.83897909 30.26612629M539.61721031 878.08518859c178.87033026-7.95897193 323.70159534-116.93355189 323.70159535-233.06845339 0-115.99720262-144.77618528-187.76565273-323.70159535-179.75160097-178.76017191 8.01405174-323.2884999 101.20838547-323.2884999 217.563605 0 116.13490154 144.528328 203.38066077 323.2884999 195.25644936m-35.63636714-336.23215777c180.05453678-20.29675693 212.22090341 147.06198052 157.41690608 215.91122322-54.72137697 68.79416285-163.03500421 102.36505274-268.23664528 46.84502414-50.03962939-26.4105696-48.2220094-78.37797733-48.22200942-78.37797734s-20.79247147-163.88873566 159.04174862-184.37827002m60.64241219 142.15991494c11.09849734-8.45468647 15.39469004-23.35366326 9.39103702-33.24041351-6.03119357-9.74905266-19.85612091-12.42040279-33.18533499-2.89166816-11.51159281 8.23436976-13.88000715 23.71167889-7.60095628 33.40565169 6.0036543 9.88675155 19.99381982 11.07095809 31.39525425 2.72642998m-106.02783197 87.93425123c33.43319225-3.71785906 60.64241218-28.88914229 60.64241222-56.09836224 0-27.31937958-25.08866415-48.99312049-63.61669946-45.33033995-33.57088988 3.38738271-57.64058569 31.89096881-57.64058568 59.07264947 0.02753927 27.37445812 27.09906157 46.23915124 60.61487292 42.35605272m549.25171156-342.12565246c-16.33104058 0-29.63271411-12.75087916-29.63271412-28.64128372 0 0 29.10945901-128.47268524-102.86076726-100.10679805a28.99930065 28.99930065 0 0 1-29.41239612-28.64128505c0-16.05564278 13.10889606-28.86160174 29.41239612-28.86160172 0 0 183.77239583-33.07517535 161.76817856 159.09682842a9.83167172 9.83167172 0 0 1-0.41309544 3.02936579c-2.09301652 13.65968915-14.40326094 24.09723506-28.86160174 24.12477433m-21.42588491-335.51612523c113.71140736 25.83223595 269.66871035 132.82395775 199.49756352 360.46709046h-0.22031801c-4.87452631 32.49684171-21.50850271 35.16819316-41.19938545 35.16819316-23.65659906 0-42.7416089-14.48588005-42.74161018-37.50906694 0-19.93874001 8.50976629-40.20795766 8.5097663-40.20795766 2.50611196-8.39960793 22.47239255-60.53225383-13.21905443-138.5797535-65.26908124-106.82648361-196.90883118-108.36870706-212.44122013-102.28243366-15.67008786 5.97611375-38.80343312 9.00548083-38.80343313 9.00548085-23.7667587 0-42.90684706-18.86469182-42.90684707-41.72264057 0-19.25024802 13.21905443-35.47112896 31.28509592-40.45581491 0 0 0.41309544-0.63341345 1.01896835-0.77111107 1.32190545-0.24785728 2.64381089-1.56976272 4.07587468-1.65238183 18.31389875-3.41492198 83.58298001-15.91794514 147.14459963-1.45960433" fill=""></path></symbol><symbol id="csdnc-arrowup" viewBox="0 0 1024 1024"><path d="M464.128 293.482667L213.248 545.258667c-8.938667 8.96-21.098667 13.930667-33.728 13.930666a47.509333 47.509333 0 0 1-33.728-13.930666 48.085333 48.085333 0 0 1 0-67.733334L476.16 146.026667a47.786667 47.786667 0 0 1 35.392-13.973334 47.701333 47.701333 0 0 1 35.392 13.973334l330.410667 331.498666a48.213333 48.213333 0 0 1 0 67.733334c-8.96 8.96-21.077333 13.930667-33.749334 13.930666a47.573333 47.573333 0 0 1-33.664-13.930666L559.04 293.482667v550.549333a47.424 47.424 0 0 1-47.488 47.445333 47.381333 47.381333 0 0 1-47.424-47.445333V293.482667z m0 0" fill=""></path></symbol><symbol id="csdnc-chevrondown" viewBox="0 0 1820 1024"><path d="M917.33333327 623.189333l332.394667-333.525333a52.906667 52.906667 0 0 1 75.136 0 53.461333 53.461333 0 0 1 0 75.392L956.80000027 734.4a52.864 52.864 0 0 1-39.445334 15.530667 52.672 52.672 0 0 1-39.424-15.530667L509.82400027 365.056a53.418667 53.418667 0 0 1 0-75.392 52.949333 52.949333 0 0 1 75.114666 0L917.33333327 623.189333z m0 0" fill=""></path></symbol><symbol id="csdnc-arrowdown" viewBox="0 0 1024 1024"><path d="M464.064 730.410667V179.072c0-26.282667 21.248-47.594667 47.552-47.594667 26.24 0 47.488 21.333333 47.488 47.594667v551.338667l251.242667-252.138667c8.96-8.96 21.12-14.037333 33.706666-14.037333 12.714667 0 24.874667 5.077333 33.834667 14.037333a48.085333 48.085333 0 0 1 0 67.84l-330.922667 331.946667a47.402667 47.402667 0 0 1-35.370666 14.037333 47.701333 47.701333 0 0 1-35.477334-14.037333l-330.88-331.946667a48.128 48.128 0 0 1 0-67.84 47.637333 47.637333 0 0 1 67.541334 0l251.285333 252.138667z m0 0" fill=""></path></symbol><symbol id="csdnc-arrowright" viewBox="0 0 1024 1024"><path d="M730.624 464.149333L478.016 212.394667a47.893333 47.893333 0 0 1-14.08-33.856c0-12.736 5.056-24.896 14.08-33.834667a48.213333 48.213333 0 0 1 67.946667 0l332.714666 331.562667c9.344 9.344 14.421333 22.208 13.952 35.477333a48.085333 48.085333 0 0 1-13.952 35.52l-332.714666 331.52a48.106667 48.106667 0 0 1-82.026667-33.792c0-12.736 5.056-24.874667 14.08-33.770667l252.608-251.797333H178.154667a47.637333 47.637333 0 1 1 0-95.274667h552.469333z m0 0" fill=""></path></symbol><symbol id="csdnc-arrowleft" viewBox="0 0 1024 1024"><path d="M293.376 559.850667l252.608 251.754666c9.002667 9.002667 14.058667 21.162667 14.058667 33.856 0 12.736-5.056 24.896-14.058667 33.834667a48.213333 48.213333 0 0 1-67.946667 0L145.344 547.733333a47.808 47.808 0 0 1-13.952-35.477333 48.085333 48.085333 0 0 1 13.952-35.52l332.714667-331.52a48.085333 48.085333 0 0 1 82.005333 33.792 47.36 47.36 0 0 1-14.08 33.770667l-252.586667 251.797333H845.866667a47.616 47.616 0 1 1 0.021333 95.274667H293.376z m0 0" fill=""></path></symbol><symbol id="csdnc-bookmark-ok" viewBox="0 0 1024 1024"><path d="M342.976 89.792h337.578667a84.309333 84.309333 0 0 1 84.330666 84.373333v725.781334c0 12.48-6.826667 23.829333-17.792 29.781333a33.770667 33.770667 0 0 1-34.602666-1.706667l-200.768-133.802666-200.64 133.802666a33.792 33.792 0 0 1-52.522667-28.074666V174.165333a84.416 84.416 0 0 1 84.416-84.373333z m0 0" fill=""></path></symbol><symbol id="csdnc-blogicon" viewBox="0 0 1262 1024"><path d="M1053.60889187 803.35800378a40.929028 40.929028 0 1 1 0 81.78837087H215.35358752c-10.84781888 0-21.25429111-4.27408659-28.91977315-11.91634026a41.04517202 41.04517202 0 0 1-11.96279701-29.01268882 44.29719507 44.29719507 0 0 1 1.95121361-13.51912287c87.64201171-247.89704311 227.22347106-442.99517581 386.57258187-588.15153119 35.67933459-32.56668394 86.8057773-58.11829111 128.47812512-67.89758754 174.68007598-41.06840039 288.82607219-36.39942497 403.08821136-34.65726996a1256.95322459 1256.95322459 0 0 1-72.45042002 76.42253235c-4.08825745 3.97211343-208.43142533 24.2043399-237.86223026 57.16591378s163.97162949 8.98951985 158.35027562 13.51912287a1174.02664614 1174.02664614 0 0 1-88.43178827 65.43534215c-5.69104006 3.83274102-189.17480566-0.44134557-220.95171194 33.82103556-31.80013575 34.23915275 128.89624233 22.02083932 121.55596183 25.96972437-85.34236709 45.73737582-159.30265407 78.51311946-269.08164804 113.96016598-72.98468017 23.5771641-154.12264686 161.6487565-185.4349792 217.42094518A518.86021965 518.86021965 0 0 0 271.19546349 803.35800378h782.41342838z m0 0" fill=""></path></symbol><symbol id="csdnc-thumbsup-ok" viewBox="0 0 1024 1024"><path d="M638.31453291 436.04041805H807.58892443c46.64716463 0 84.45983045 37.81688914 84.45983045 84.45983046a84.45983045 84.45983045 0 0 1-0.75169273 11.2289341l-38.50523681 287.12541619C847.17102371 860.78890484 811.38961672 892.08971773 769.08368763 892.08971773H348.03031876c-46.64716463 0-84.45983045-37.81266583-84.45982972-84.45983047V520.50024851c0-41.44443867 29.8565499-75.92094123 69.23172224-83.08735841 1.00507228-0.76858446 1.76521015-1.19510676 2.23818577-1.24155937 104.56127011-10.25342346 187.30234228-99.06715787 187.30234229-205.71880858a206.75766432 206.75766432 0 0 0-1.14020754-21.73573711c-4.77620368-31.50351651 12.53383854-58.69958167 37.36502927-70.30436289 24.83118999-11.60900379 68.40401676-11.51609783 90.52826864 33.96129763 16.79483727 36.9511754 26.14454028 77.96909254 26.14454103 121.15762706 0 51.69363882-13.39532895 100.27915634-36.92583783 142.50907121zM174.14019715 440.22962586h0.07179091c23.31935938 0 42.22991486 18.90633293 42.22991561 42.22991486v367.40026213c0 23.32358194-18.91055621 42.22991486-42.22991561 42.22991488H174.14019715c-23.32358194 0-42.22991486-18.90633293-42.22991488-42.22991488V482.45954071c0-23.32358194 18.90633293-42.22991486 42.22991488-42.22991485z"></path></symbol><symbol id="csdnc-envelope" viewBox="0 0 1280 1024"><path d="M338.87944227 224.06873901l301.52915957 225.20156094 301.60187447-225.20156094H338.87944227z m688.03912483 56.25797292l-352.18799665 263.01389924a47.99258322 47.99258322 0 0 1-62.60850629 4.50839418L259.52200958 284.52000367v515.04767716h767.37231924V280.32671193zM259.52200958 128.15628861h767.37231924a95.98516643 95.98516643 0 0 1 96.00940473 95.93668982v575.4747024a96.03364417 96.03364417 0 0 1-96.00940473 96.00940472H259.52200958a96.00940473 96.00940473 0 0 1-95.93668982-96.00940472V224.06873901a95.96092814 95.96092814 0 0 1 95.93668982-95.9124504z m0 0" fill=""></path></symbol><symbol id="csdnc-blogoriginal" viewBox="0 0 1024 1024"><path d="M301.58655558 807.62533584h505.47709229V512c0-23.32483876 18.89468228-42.23219094 42.20262856-42.23219094 23.303723 0 42.19418196 18.90735218 42.19418198 42.23219094v295.62533584c0 46.64967827-37.78091794 84.46438188-84.39258725 84.46438189H216.30286953C169.69542352 892.08971773 131.91028227 854.2750141 131.91028227 807.62533584V216.37466416C131.91028227 169.7249859 169.69542352 131.91028227 216.30286953 131.91028227h590.76500163c46.6116693 0 84.39258725 37.81470362 84.39258725 84.4643819 0 23.32483876-18.89045897 42.23219094-42.19418198 42.23219094-23.30794629 0-42.19840528-18.90735218-42.19840527-42.23219094H216.30286953v591.25067167h25.77852871c0.24072375-1.42744773 0.56168796-2.73664596 0.92488523-3.88536173 61.96729389-175.64368187 160.65125378-313.91187457 273.29295364-416.76837546 25.25485046-23.06722256 61.38871272-41.18905549 90.85411245-48.12780415 123.51648835-29.09375661 204.20531212-25.79119862 284.93636817-24.56224235a895.36467811 895.36467811 0 0 1-51.21075489 54.17545467c-2.87178864 2.78732483-147.31432798 17.14204628-168.15169112 40.50067071-20.83736314 23.36284773 115.92314061 6.35594489 111.97443084 9.57403758a842.62934181 842.62934181 0 0 1-62.56276755 46.37939216c-4.02472771 2.70286029-133.69866948-0.31251837-156.18731087 23.95409882-22.49286469 24.27083976 91.15396091 15.60901751 85.93828519 18.41323482-60.29067584 32.38364395-112.61213676 55.61979561-190.21378796 80.73950263-51.59084459 16.69860852-108.9506063 114.55481763-131.08872034 154.09681817-16.88865337 30.15800782-23.75138406 49.6819494-29.00084545 65.51057413z"></path></symbol><symbol id="csdnc-list" viewBox="0 0 1024 1024"><path d="M252.88796297 80.14660493h518.22407406c47.70252602 0 86.37067901 38.66815299 86.37067902 86.37067902v690.9654321c0 47.70252602-38.66815299 86.37067901-86.37067902 86.37067902H252.88796297c-47.70252602 0-86.37067901-38.66815299-86.37067902-86.37067902V166.51728395C166.51728395 118.81475793 205.18543694 80.14660493 252.88796297 80.14660493z m0 86.37067902v690.9654321h518.22407406V166.51728395H252.88796297z m103.6448148 194.33402779c-23.851263 0-43.18533951-19.3340765-43.18533951-43.18533951s19.3340765-43.18533951 43.18533951-43.18533952h310.93444446c23.851263 0 43.18533951 19.3340765 43.18533951 43.18533952s-19.3340765 43.18533951-43.18533951 43.18533951H356.53277777z m0 129.55601851c-23.851263 0-43.18533951-19.3340765-43.18533951-43.1853395s19.3340765-43.18533951 43.18533951-43.18533952h181.37842593c23.851263 0 43.18533951 19.3340765 43.18533952 43.18533952s-19.3340765 43.18533951-43.18533952 43.1853395H356.53277777z m0 129.55601852c-23.851263 0-43.18533951-19.3340765-43.18533951-43.18533952s19.3340765-43.18533951 43.18533951-43.1853395h310.93444446c23.851263 0 43.18533951 19.3340765 43.18533951 43.1853395s-19.3340765 43.18533951-43.18533951 43.18533952H356.53277777z m0 129.55601852c-23.851263 0-43.18533951-19.3340765-43.18533951-43.18533952s19.3340765-43.18533951 43.18533951-43.18533951h181.37842593c23.851263 0 43.18533951 19.3340765 43.18533952 43.18533951s-19.3340765 43.18533951-43.18533952 43.18533952H356.53277777z"></path></symbol><symbol id="csdnc-info" viewBox="0 0 1024 1024"><path d="M512 933.875C279.006875 933.875 90.125 744.993125 90.125 512S279.006875 90.125 512 90.125s421.875 188.881875 421.875 421.875-188.881875 421.875-421.875 421.875z m0-84.375c186.39703125 0 337.5-151.10296875 337.5-337.5s-151.10296875-337.5-337.5-337.5-337.5 151.10296875-337.5 337.5 151.10296875 337.5 337.5 337.5z m-42.1875-168.75V478.25c0-23.30015625 18.88734375-42.1875 42.1875-42.1875s42.1875 18.88734375 42.1875 42.1875v202.5c0 23.30015625-18.88734375 42.1875-42.1875 42.1875s-42.1875-18.88734375-42.1875-42.1875z m42.1875-379.6875c23.30015625 0 42.1875 18.88734375 42.1875 42.1875s-18.88734375 42.1875-42.1875 42.1875-42.1875-18.88734375-42.1875-42.1875 18.88734375-42.1875 42.1875-42.1875z"></path></symbol><symbol id="csdnc-thumbsup" viewBox="0 0 1024 1024"><path d="M609.79708437 520.42532183l-0.66304572 0.00422329c-23.32483876 0-42.23219094-18.90735218-42.23219021-42.23219093a42.13505648 42.13505648 0 0 1 14.35894472-31.72904483l0.02111579-0.02533907c35.50037964-37.58664979 44.84636338-133.21722277 44.84636337-188.77789362 0-13.24823794-12.38247819-41.34531469-42.12660988-41.34531469-24.6298137 0-42.4264591 21.19633634-42.4264591 39.82495581 0 68.73711416-27.05394131 132.25432857-64.35341251 181.61109043-21.33992637 28.24488932-60.29489915 62.13622224-95.22514419 70.6966875-9.80631471 2.40723514-16.53390272 5.71823896-23.43464237 12.85547906-6.50375749 6.72336471-10.6425121 17.31942123-11.09861976 25.24640385v261.06251061h421.4350324l38.55799058-287.17889752h-197.65932312v-0.01266989z m69.72534743-84.46438114h127.93397568c46.74258868 0 84.63331024 37.82315021 84.63331025 84.47705103 0 3.75021829-0.25339288 7.50043735-0.75173285 11.21686999l-38.55376727 287.17889749C847.15466648 860.77877158 811.29953694 892.08971773 768.90264021 892.08971773H347.4633845C300.71657253 892.08971773 262.83007428 854.2707908 262.83007428 807.61688924v-287.17889752c0-41.61137748 30.14533792-76.19954179 69.83092699-83.184746a0.60814355 0.60814355 0 0 1 0.31674168-0.10135775l0.32941084-0.01266916c0.88265295-0.1478126 1.76530592-0.28295601 2.65218217-0.40120622 1.05580461-0.19849147 2.1116092-0.4054288 2.7915474-0.47300013 44.53384503-4.23588907 118.60910769-74.94102243 118.60910844-180.12029467C457.3599918 176.00068954 525.49740827 131.91028227 584.00166244 131.91028227c36.91093488 0 77.44116871 17.55592165 96.35274343 47.45631255 18.91157474 29.90039089 25.71940399 70.91207143 25.719404 114.10293326 0 51.78511277-7.82984818 100.32256971-26.55137807 142.49141261zM174.14247323 440.18838242c23.32483876 0 42.23219094 18.91157474 42.23219093 42.23219095V849.85752677c0 23.32483876-18.90735218 42.23219094-42.23219093 42.23219096s-42.23219094-18.90735218-42.23219096-42.23219096V482.42057337c0-23.32483876 18.90735218-42.23219094 42.23219096-42.23219096z"></path></symbol><symbol id="csdnc-qq" viewBox="0 0 1024 1024"><path d="M902.60033922 650.96445566c-18.0718526-100.84369837-94.08399771-166.87723736-94.08399771-166.87723737 10.87530062-91.53186599-28.94715402-107.78733693-28.94715401-107.78733691C771.20003413 93.08221664 517.34798062 98.02553561 511.98620441 98.16348824 506.65661791 98.02553561 252.75857992 93.08221664 244.43541101 376.29988138c0 0-39.79946279 16.25547094-28.947154 107.78733691 0 0-75.98915247 66.03353901-94.0839977 166.87723737 0 0-9.63372291 170.35365477 86.84146124 20.85850523 0 0 21.70461757 56.79068296 61.50407954 107.78733692 0 0-71.1607951 23.19910867-65.11385185 83.46161052 0 0-2.43717093 67.16015592 151.93232126 62.56172014 0 0 108.5460788-8.0932473 141.10300432-52.14626271H526.33792324c32.57991817 44.05301539 141.10300431 52.1462627 141.10300431 52.14626271 154.3235077 4.59843579 151.95071457-62.56172013 151.95071457-62.56172014 6.00095876-60.26250183-65.11385185-83.46161053-65.11385185-83.46161052 39.77647014-50.99665395 61.4810877-107.78733693 61.4810877-107.78733692 96.45219231 149.49514952 86.84146124-20.85850523 86.84146125-20.85850523"></path></symbol><symbol id="csdnc-reprint" viewBox="0 0 1024 1024"><path d="M296.00641611 728.34706733a38.02797625 38.02797625 0 0 1 10.7641408 26.56827127c0 21.04176677-17.01661666 38.1039942-38.00897177 38.1039942H169.91925405c-20.9923551 0-38.00897177-17.06222743-38.00897178-38.1039942 0-21.04556767 17.01661666-38.1039942 38.00897178-38.10399421h20.90493449C153.51458184 657.85942917 131.91028227 587.93432381 131.91028227 512.9502243 131.91028227 302.50975118 302.0840507 131.91028227 512 131.91028227c20.9923551 0 38.00897177 17.05842652 38.00897177 38.10399422s-17.01661666 38.1039942-38.00897177 38.10399419c-167.93503998 0-304.07177417 136.47881493-304.07177417 304.83195362 0 81.7382938 32.13278474 158.18193783 88.49248808 214.97874433l-0.4142978 0.4180987zM375.16770161 379.58814504c-20.9923551 0-38.00897177-17.05842652-38.00897178-38.1039942s17.01661666-38.1039942 38.00897178-38.10399419h273.66459678c20.9923551 0 38.00897177 17.05842652 38.00897178 38.10399419s-17.01661666 38.1039942-38.00897178 38.1039942H375.16770161z m0 114.31198259c-20.9923551 0-38.00897177-17.05842652-38.00897178-38.10399418s17.01661666-38.1039942 38.00897178-38.10399421h159.63768145c20.9923551 0 38.00897177 17.05842652 38.00897178 38.10399421s-17.01661666 38.1039942-38.00897178 38.10399418H375.16770161z m0 114.31198261c-20.9923551 0-38.00897177-17.05842652-38.00897178-38.10399421 0-21.04176677 17.01661666-38.1039942 38.00897178-38.10399419h273.66459678c20.9923551 0 38.00897177 17.06222743 38.00897178 38.10399419 0 21.04556767-17.01661666 38.1039942-38.00897178 38.10399421H375.16770161z m0 114.3119826c-20.9923551 0-38.00897177-17.05842652-38.00897178-38.10399419 0-21.04176677 17.01661666-38.1039942 38.00897178-38.1039942h159.63768145c20.9923551 0 38.00897177 17.06222743 38.00897178 38.1039942 0 21.04556767-17.01661666 38.1039942-38.00897178 38.10399419H375.16770161zM727.99358389 295.65293267a38.02797625 38.02797625 0 0 1-10.7641408-26.56827127c0-21.04176677 17.01661666-38.1039942 38.00897177-38.1039942H854.08074595c20.9923551 0 38.00897177 17.06222743 38.00897178 38.1039942 0 21.04556767-17.01661666 38.1039942-38.00897178 38.10399421h-20.90493449c37.30960669 58.95191522 58.91390624 128.87702059 58.91390627 203.85731922C892.08971773 721.49024882 721.9159493 892.08971773 512 892.08971773c-20.9923551 0-38.00897177-17.05842652-38.00897177-38.10399422s17.01661666-38.1039942 38.00897177-38.10399419c167.93503998 0 304.07177417-136.47881493 304.07177417-304.83195362 0-81.7382938-32.13278474-158.18193783-88.49248808-214.97874433l0.4142978-0.4180987z"></path></symbol><symbol id="csdnc-rss" viewBox="0 0 1024 1024"><path d="M489.23684921 813.58007525C487.86852623 660.74177644 361.0621498 534.90251678 207.92822583 534.90251678V534.80538306c-41.98302061 0-76.01794354-34.03492293-76.01794356-76.01794354s34.03492293-76.01794354 76.01794356-76.01794355c239.30026296 0 433.30227818 193.98512202 433.3022782 433.3022782 0 41.98302061-34.03492293 76.01794354-76.01794355 76.01794356s-76.01794354-34.03492293-76.01794354-76.01794356c0-0.83197407 0.0126699-1.66394816 0.04223227-2.49169891zM740.05383062 816.07177417C740.05383062 522.66362786 501.33637214 283.94616938 207.92822583 283.94616938 165.94520523 283.94616938 131.91028227 249.91124643 131.91028227 207.92822583S165.94520523 131.91028227 207.92822583 131.91028227c377.84718838 0 684.16149189 306.3143035 684.1614919 684.1614919 0 41.98302061-34.03492293 76.01794354-76.01794356 76.01794356s-76.01794354-34.03492293-76.01794355-76.01794356z m-380.08971771-38.00897177c0 62.96819632-51.05871901 114.02691532-114.02691532 114.02691533S131.91028227 841.03099872 131.91028227 778.0628024s51.05871901-114.02691532 114.02691533-114.02691531 114.02691532 51.05871901 114.02691531 114.02691531z"></path></symbol><symbol id="csdnc-star" viewBox="0 0 1084 1024"><path d="M466.42809047 779.21806843a216.65742398 216.65742398 0 0 1 144.15376755 0l124.17762187 43.81180387-3.67395698-128.24919259a215.66073775 215.66073775 0 0 1 45.44997462-138.68789594l78.46257055-100.75018217-124.61764762-36.2465263a216.27571429 216.27571429 0 0 1-117.51890635-84.66005431L538.50762522 226.88398236 464.14843527 334.43602099a216.27571429 216.27571429 0 0 1-117.51890634 84.66535538l-124.61764763 36.24122521 78.46257055 100.74488114a215.66073775 215.66073775 0 0 1 45.44467266 138.68789505l-3.66865502 128.25449453 124.17762098-43.81180387z m35.27634798 99.9867628l-231.9576254 81.83964266c-14.35122822 5.06825785-30.1073612-2.42279701-35.18622204-16.72631216a27.38237654 27.38237654 0 0 1-1.56925169-9.95096191l6.94499825-242.62429453a109.63023686 109.63023686 0 0 0-23.11464991-70.50498113L67.15963563 429.08414815a27.40888447 27.40888447 0 0 1 4.877403-38.5420873 27.59973932 27.59973932 0 0 1 9.17694038-4.6706432l235.80653228-68.58052859a110.2452134 110.2452134 0 0 0 59.90723369-43.14381058L515.80649488 73.25638959a27.62624726 27.62624726 0 0 1 45.39695874 0l138.87875079 200.88538695a110.2452134 110.2452134 0 0 0 59.90723281 43.14381146l235.80653314 68.5805277a27.45659841 27.45659841 0 0 1 18.73558961 34.06229894 27.43539242 27.43539242 0 0 1-4.6812471 9.15043157l-149.66205203 192.15907795a109.63023686 109.63023686 0 0 0-23.11464903 70.51028306l6.94499737 242.61899259c0.4347247 15.16236155-11.55202346 27.81180019-26.77270107 28.24122382a27.65275432 27.65275432 0 0 1-9.98277178-1.56394974l-231.95762539-81.83964267a110.62692311 110.62692311 0 0 0-73.60107249 0z"></path></symbol><symbol id="csdnc-file-doc" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#2A6AB4"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#9BBDDE"></path><path d="M256.16 420.384h67.648c15.264 0 26.88 1.184 34.88 3.52 10.752 3.168 19.936 8.8 27.648 16.864s13.504 17.984 17.504 29.696c4 11.712 6.016 26.144 6.016 43.296 0 15.072-1.888 28.096-5.632 39.008-4.576 13.312-11.136 24.128-19.648 32.384-6.4 6.24-15.104 11.136-26.016 14.624-8.16 2.592-19.104 3.872-32.768 3.872H256.16v-183.232z m36.992 30.976v121.376h27.648c10.336 0 17.792-0.576 22.368-1.76 6.016-1.504 10.976-4.032 14.944-7.616s7.2-9.472 9.696-17.664 3.744-19.392 3.744-33.568c0-14.176-1.248-25.056-3.744-32.64s-6.016-13.504-10.496-17.76a35.136 35.136 0 0 0-17.12-8.64c-5.184-1.184-15.296-1.76-30.368-1.76l-16.64-0.032zM420.864 513.12c0-18.688 2.784-34.336 8.352-47.008 4.16-9.312 9.856-17.696 17.056-25.12s15.104-12.896 23.68-16.48a100.672 100.672 0 0 1 39.52-7.232c27.008 0 48.608 8.352 64.832 25.12s24.32 40.064 24.32 69.856c0 29.568-8.064 52.736-24.128 69.44s-37.6 25.056-64.48 25.056c-27.232 0-48.928-8.32-64.992-24.928s-24.128-39.52-24.128-68.672z m38.112-1.248c0 20.768 4.768 36.48 14.368 47.2s21.728 16.064 36.48 16.064c14.752 0 26.848-5.312 36.32-15.936s14.208-26.56 14.208-47.808c0-20.992-4.608-36.672-13.792-47.008s-21.44-15.52-36.672-15.52-27.552 5.248-36.864 15.68c-9.344 10.464-14.016 26.24-14.016 47.328zM731.936 536.256l35.872 11.36c-5.504 20-14.656 34.88-27.456 44.576s-29.024 14.56-48.672 14.56c-24.352 0-44.352-8.32-60-24.928s-23.52-39.36-23.52-68.192c0-30.496 7.872-54.208 23.616-71.04s36.448-25.312 62.144-25.312c22.432 0 40.64 6.624 54.624 19.872 8.352 7.84 14.592 19.104 18.752 33.76l-36.64 8.768c-2.176-9.504-6.688-16.992-13.568-22.496s-15.232-8.256-25.056-8.256c-13.568 0-24.608 4.864-33.056 14.624s-12.672 25.568-12.672 47.36c0 23.168 4.16 39.648 12.48 49.504s19.168 14.752 32.48 14.752c9.824 0 18.304-3.136 25.376-9.376s12.16-16.064 15.264-29.472z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-pdf" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#F29A80"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#F8CABB"></path><path d="M286.304 603.616v-183.264h59.392c22.496 0 37.184 0.928 44 2.752 10.496 2.752 19.296 8.736 26.368 17.92s10.624 21.088 10.624 35.68c0 11.232-2.048 20.704-6.112 28.352s-9.28 13.664-15.552 18.048a53.216 53.216 0 0 1-19.2 8.672c-8.832 1.76-21.632 2.624-38.368 2.624h-24.128v69.12l-36.992 0.032z m37.024-152.256v52h20.256c14.592 0 24.352-0.96 29.248-2.88s8.768-4.896 11.552-8.992a24.64 24.64 0 0 0 4.192-14.272c0-6.688-1.984-12.16-5.888-16.48s-8.864-7.04-14.88-8.128c-4.416-0.832-13.28-1.248-26.624-1.248l-17.888 0.032zM444.128 420.384h67.648c15.232 0 26.88 1.184 34.88 3.52 10.752 3.168 19.936 8.8 27.648 16.864s13.504 17.984 17.504 29.696c4 11.712 6.016 26.144 6.016 43.296 0 15.072-1.856 28.096-5.632 39.008-4.576 13.312-11.136 24.128-19.648 32.384-6.4 6.24-15.104 11.136-26.016 14.624-8.16 2.592-19.104 3.872-32.768 3.872h-69.632v-183.232z m37.024 31.008v121.376h27.648c10.336 0 17.792-0.576 22.368-1.76 6.016-1.504 10.976-4.032 14.944-7.616s7.2-9.472 9.696-17.664 3.744-19.392 3.744-33.568c0-14.176-1.248-25.056-3.744-32.64s-6.016-13.504-10.496-17.76a35.136 35.136 0 0 0-17.12-8.64c-5.184-1.184-15.296-1.76-30.368-1.76l-16.64-0.032zM616.576 603.616v-183.264h125.632v31.008h-88.64v43.36h76.48v31.008h-76.48v77.856z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-exe" viewBox="0 0 1024 1024"><path d="M697.152 0h-512a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h640a128 128 0 0 0 128-128V256l-256-256z" fill="#82A5D7"></path><path d="M697.152 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#C3D5EE"></path><path d="M277.504 603.616v-183.232h135.872v31.008h-98.88v40.608h92v30.88H314.496v49.856h102.368v30.88z" fill="#FFFFFF"></path><path d="M416.832 603.616l62.624-95.648-56.768-87.648h43.232l36.768 58.88 36-58.88h42.88l-56.992 88.992 62.624 94.272h-44.64l-40.64-63.36-40.768 63.36h-44.352zM593.408 603.616v-183.232h135.872v31.008H630.4v40.608h92v30.88H630.4v49.856h102.368v30.88z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-blog" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#EDB55E"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#FBDDB9"></path><path d="M182.112 414.912h73.44c14.56 0 25.376 0.608 32.512 1.792s13.536 3.744 19.168 7.584 10.336 8.96 14.112 15.36c3.744 6.4 5.632 13.568 5.632 21.472 0 8.608-2.304 16.512-6.976 23.712s-10.912 12.576-18.88 16.16c11.2 3.264 19.808 8.8 25.824 16.672s9.024 17.088 9.024 27.712c0 8.352-1.92 16.48-5.824 24.384s-9.184 14.208-15.904 18.912-15.008 7.616-24.864 8.736c-6.176 0.672-21.12 1.088-44.768 1.248H182.048v-183.744z m37.12 30.56v42.496h24.32c14.464 0 23.424-0.224 26.976-0.64 6.336-0.768 11.328-2.944 14.976-6.592s5.44-8.416 5.44-14.336c0-5.696-1.568-10.304-4.704-13.856s-7.808-5.696-13.984-6.432c-3.68-0.416-14.272-0.64-31.712-0.64h-21.312z m0 73.088v49.12H253.6c13.376 0 21.856-0.384 25.44-1.12 5.536-1.024 10.016-3.456 13.472-7.328s5.184-9.088 5.184-15.616c0-5.504-1.344-10.208-4-14.048s-6.56-6.656-11.584-8.384c-5.056-1.76-16-2.624-32.928-2.624h-29.952zM355.552 598.656v-182.272h37.088v151.296h92.256v30.976H355.52zM491.008 507.904c0-18.72 2.816-34.432 8.384-47.136 4.16-9.376 9.888-17.76 17.088-25.184s15.136-12.96 23.744-16.544a100.672 100.672 0 0 1 39.616-7.264c27.072 0 48.768 8.384 64.992 25.184s24.384 40.16 24.384 70.08c0 29.664-8.064 52.864-24.192 69.632s-37.664 25.12-64.672 25.12c-27.328 0-49.056-8.352-65.184-25.024s-24.192-39.616-24.192-68.864z m38.24-1.248c0 20.8 4.8 36.608 14.4 47.328s21.792 16.096 36.576 16.096c14.816 0 26.944-5.312 36.416-16s14.24-26.624 14.24-47.936c0-21.056-4.608-36.768-13.856-47.136s-21.504-15.552-36.8-15.552c-15.264 0-27.616 5.248-36.96 15.744s-14.016 26.304-14.016 47.456zM770.88 531.072v-30.976h80v73.216c-7.776 7.52-19.04 14.144-33.76 19.872s-29.664 8.576-44.832 8.576c-19.232 0-36-4.032-50.272-12.096s-25.024-19.616-32.224-34.592-10.784-31.328-10.784-48.96c0-19.136 4-36.16 12.032-51.04s19.744-26.304 35.232-34.208c11.808-6.112 26.432-9.152 44-9.152 22.816 0 40.64 4.768 53.472 14.336s21.088 22.784 24.736 39.648l-36.832 6.912c-2.592-9.024-7.456-16.16-14.592-21.376s-16.064-7.84-26.784-7.84c-16.192 0-29.088 5.152-38.688 15.424s-14.336 25.536-14.336 45.728c0 21.792 4.832 38.176 14.528 49.088s22.4 16.352 38.112 16.352c7.776 0 15.552-1.536 23.36-4.576s14.528-6.752 20.128-11.072v-23.328h-42.496v0.064z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-docx" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#315290"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#9AB2DC"></path><path d="M170.816 420.384h67.648c15.232 0 26.88 1.184 34.88 3.52 10.752 3.168 19.936 8.8 27.648 16.864s13.504 17.984 17.504 29.696c4 11.712 6.016 26.144 6.016 43.296 0 15.072-1.888 28.096-5.632 39.008-4.608 13.312-11.136 24.128-19.648 32.384-6.4 6.24-15.072 11.136-26.016 14.624-8.16 2.592-19.072 3.872-32.768 3.872H170.816v-183.232z m36.992 30.976v121.376h27.648c10.336 0 17.792-0.576 22.368-1.76 6.016-1.504 10.976-4.032 14.944-7.616s7.168-9.472 9.696-17.664 3.744-19.392 3.744-33.568c0-14.176-1.248-25.056-3.744-32.64s-6.016-13.504-10.496-17.76a35.264 35.264 0 0 0-17.12-8.64c-5.184-1.184-15.296-1.76-30.368-1.76l-16.64-0.032zM335.488 513.12c0-18.688 2.784-34.336 8.352-47.008 4.16-9.312 9.856-17.696 17.056-25.12s15.104-12.896 23.68-16.48a100.672 100.672 0 0 1 39.52-7.232c27.008 0 48.608 8.352 64.832 25.12s24.32 40.064 24.32 69.856c0 29.568-8.064 52.736-24.128 69.44s-37.6 25.056-64.48 25.056c-27.232 0-48.928-8.32-64.992-24.928S335.52 542.304 335.52 513.152z m38.144-1.248c0 20.768 4.768 36.48 14.368 47.2s21.728 16.064 36.48 16.064c14.752 0 26.848-5.312 36.32-15.936s14.208-26.56 14.208-47.808c0-20.992-4.608-36.672-13.792-47.008s-21.44-15.52-36.672-15.52-27.552 5.248-36.864 15.68c-9.312 10.464-14.016 26.24-14.016 47.328zM646.56 536.256l35.872 11.36c-5.504 20-14.656 34.88-27.456 44.576s-29.024 14.56-48.672 14.56c-24.352 0-44.352-8.32-60-24.928s-23.52-39.36-23.52-68.192c0-30.496 7.872-54.208 23.648-71.04s36.448-25.312 62.112-25.312c22.432 0 40.64 6.624 54.624 19.872 8.352 7.84 14.592 19.104 18.752 33.76l-36.64 8.768c-2.176-9.504-6.688-16.992-13.568-22.496s-15.232-8.256-25.056-8.256c-13.568 0-24.608 4.864-33.056 14.624s-12.672 25.568-12.672 47.36c0 23.168 4.16 39.648 12.48 49.504s19.168 14.752 32.512 14.752c9.824 0 18.304-3.136 25.376-9.376s12.16-16.064 15.264-29.472zM682.784 603.616l62.624-95.648-56.736-87.648h43.264l36.736 58.88 36-58.88h42.88l-57.024 88.992 62.624 94.272h-44.64l-40.64-63.36-40.736 63.36h-44.384z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-ppt" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#E37F7F"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#F7C5C4"></path><path d="M287.776 603.616v-183.264h59.392c22.496 0 37.184 0.928 44 2.752 10.496 2.752 19.296 8.736 26.368 17.92s10.624 21.088 10.624 35.68c0 11.232-2.048 20.704-6.112 28.352s-9.28 13.664-15.552 18.048a53.216 53.216 0 0 1-19.2 8.672c-8.832 1.76-21.632 2.624-38.368 2.624h-24.128v69.12l-36.992 0.032z m36.992-152.256v52h20.256c14.592 0 24.352-0.96 29.248-2.88s8.768-4.896 11.552-8.992a24.64 24.64 0 0 0 4.192-14.272c0-6.688-1.984-12.16-5.888-16.48s-8.864-7.04-14.88-8.128c-4.416-0.832-13.28-1.248-26.624-1.248l-17.888 0.032zM445.728 603.616v-183.264h59.36c22.496 0 37.184 0.928 44 2.752 10.496 2.752 19.296 8.736 26.368 17.92s10.624 21.088 10.624 35.68c0 11.232-2.048 20.704-6.112 28.352s-9.28 13.664-15.552 18.048a53.216 53.216 0 0 1-19.2 8.672c-8.832 1.76-21.632 2.624-38.368 2.624H482.72v69.12l-36.992 0.032z m36.992-152.256v52h20.256c14.592 0 24.352-0.96 29.248-2.88s8.768-4.896 11.552-8.992a24.64 24.64 0 0 0 4.192-14.272c0-6.688-1.984-12.16-5.888-16.48s-8.864-7.04-14.88-8.128c-4.416-0.832-13.28-1.248-26.624-1.248l-17.888 0.032zM644.928 603.616v-152.256H590.56v-31.008h145.632v31.008h-54.24v152.256z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-txt" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#A2CB7E"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#EBF1C4"></path><path d="M342.784 603.616v-152.256H288.416v-31.008h145.632v31.008H379.776v152.256z" fill="#FFFFFF"></path><path d="M426.464 603.616l62.624-95.648-56.768-87.648h43.232l36.768 58.88 36-58.88h42.88l-56.992 88.992 62.624 94.272h-44.64l-40.64-63.36-40.768 63.36H426.4z" fill="#FFFFFF"></path><path d="M644.288 603.616v-152.256H589.92v-31.008h145.632v31.008h-54.24v152.256z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-unkonw" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#AFB8C0"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#CDD6DE"></path><path d="M390.272 532h-31.872l-0.128-8.384c0-10.336 1.696-18.816 5.12-25.504s10.272-14.176 20.48-22.496c10.272-8.352 16.352-13.792 18.368-16.352a21.92 21.92 0 0 0 4.64-13.504c0-6.816-2.72-12.672-8.192-17.568s-12.8-7.328-22.08-7.328c-8.928 0-16.352 2.528-22.368 7.648s-10.112 12.832-12.352 23.232l-32.256-4c0.928-14.912 7.264-27.584 19.072-38.016s27.264-15.648 46.432-15.648c20.16 0 36.192 5.28 48.128 15.808s17.888 22.816 17.888 36.832c0 7.744-2.208 15.104-6.56 22.016s-13.728 16.352-28.064 28.256c-7.424 6.176-12.032 11.136-13.792 14.88s-2.592 10.432-2.4 20.096z m-31.872 47.264v-35.136h35.136v35.136H358.4zM437.6 629.856v-22.752h146.016v22.752zM663.424 532h-31.872l-0.128-8.384c0-10.336 1.696-18.816 5.12-25.504s10.24-14.176 20.48-22.496c10.24-8.352 16.384-13.792 18.368-16.352a21.92 21.92 0 0 0 4.64-13.504c0-6.816-2.72-12.672-8.192-17.568s-12.832-7.328-22.048-7.328c-8.928 0-16.384 2.528-22.368 7.648s-10.144 12.832-12.384 23.232l-32.256-4c0.896-14.912 7.264-27.584 19.072-38.016s27.264-15.648 46.432-15.648c20.16 0 36.192 5.28 48.128 15.808s17.856 22.816 17.856 36.832c0 7.744-2.208 15.104-6.56 22.016s-13.728 16.352-28.064 28.256c-7.424 6.176-12 11.136-13.792 14.88s-2.592 10.432-2.432 20.096z m-31.872 47.264v-35.136h35.136v35.136h-35.136z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-zip" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#817EBB"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#CFC5E1"></path><path d="M332.896 603.616V570.24l96.256-118.88H343.776v-31.008h134.112v28.768l-100.352 123.616h104.256v30.88zM491.232 603.616v-183.264h36.992v183.264h-36.992zM550.688 603.616v-183.264h59.392c22.496 0 37.184 0.928 44 2.752 10.496 2.752 19.296 8.736 26.368 17.92s10.624 21.088 10.624 35.68c0 11.232-2.048 20.704-6.144 28.352s-9.28 13.664-15.552 18.048a53.312 53.312 0 0 1-19.168 8.672c-8.832 1.76-21.632 2.624-38.368 2.624h-24.128v69.12l-36.992 0.032z m36.992-152.256v52h20.256c14.592 0 24.352-0.96 29.248-2.88s8.768-4.896 11.552-8.992a24.64 24.64 0 0 0 4.192-14.272c0-6.688-1.952-12.16-5.856-16.48s-8.864-7.04-14.88-8.128c-4.416-0.832-13.312-1.248-26.624-1.248l-17.888 0.032z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-xlsx" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#73964F"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#C3DDAC"></path><path d="M197.056 603.616l62.624-95.648-56.768-87.616h43.232l36.768 58.88 36-58.88h42.88L304.8 509.344l62.624 94.24H322.816l-40.608-63.36-40.768 63.36H197.056zM374.624 602.88v-181.76h36.992v150.88h92v30.88zM507.808 543.936l36-3.52c2.176 12.096 6.56 20.96 13.184 26.624s15.552 8.48 26.816 8.48c11.904 0 20.896-2.496 26.944-7.552s9.056-10.944 9.056-17.664c0-4.352-1.28-8-3.808-11.072s-6.976-5.664-13.312-7.936a460.16 460.16 0 0 0-29.632-8c-19.84-4.928-33.728-10.976-41.728-18.112-11.232-10.08-16.864-22.368-16.864-36.864 0-9.312 2.624-18.08 7.936-26.208s12.896-14.304 22.88-18.56c9.952-4.256 21.984-6.368 36.064-6.368 23.008 0 40.32 5.056 51.936 15.136s17.728 23.552 18.336 40.352l-37.024 1.632c-1.568-9.408-4.992-16.192-10.208-20.32s-13.024-6.208-23.424-6.208c-10.752 0-19.168 2.208-25.248 6.624a14.016 14.016 0 0 0-0.384 22.496c4.672 3.936 16 8 33.984 12.256s31.328 8.672 39.936 13.184c8.64 4.544 15.36 10.752 20.256 18.624s7.328 17.6 7.328 29.184a54.016 54.016 0 0 1-33.472 49.952c-10.656 4.448-23.968 6.688-39.872 6.688-23.168 0-40.96-5.344-53.376-16.064-12.416-10.688-19.84-26.304-22.272-46.784zM656.512 603.616l62.624-95.648-56.736-87.648h43.264l36.736 58.88 36-58.88h42.88l-57.024 88.992 62.624 94.272H782.24l-40.64-63.36-40.736 63.36z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-file-rar" viewBox="0 0 1024 1024"><path d="M694.848 0H201.12a128 128 0 0 0-128 128v768a128 128 0 0 0 128 128h621.728a128 128 0 0 0 128-128V256l-256-256z" fill="#374958"></path><path d="M694.848 128a128 128 0 0 0 128 128h128l-256-256v128z" fill="#88A0B3"></path><path d="M257.536 603.616v-183.264h77.888c19.584 0 33.792 1.664 42.688 4.96s15.968 9.152 21.312 17.568c5.312 8.416 8 18.048 8 28.864 0 13.728-4.064 25.088-12.128 34.08s-20.16 14.592-36.256 16.928c8 4.672 14.624 9.792 19.808 15.36s12.224 15.52 21.056 29.76l22.368 35.744H378.016l-26.752-39.872c-9.504-14.24-16-23.232-19.52-26.944s-7.232-6.24-11.136-7.616c-3.904-1.376-10.112-2.048-18.624-2.048h-7.488v76.48H257.536z m36.992-105.728h27.392c17.728 0 28.832-0.768 33.248-2.24s7.872-4.064 10.368-7.744a23.872 23.872 0 0 0 3.744-13.76c0-6.176-1.664-11.136-4.96-14.944s-7.936-6.208-13.92-7.2a309.12 309.12 0 0 0-27.008-0.64h-28.864v46.496h0.032z" fill="#FFFFFF"></path><path d="M594.72 603.616h-40.256l-16-41.632h-73.248l-15.136 41.632h-39.232l71.36-183.232h39.136l73.376 183.232z m-68.128-72.512l-25.248-68-24.768 68h50.016zM601.664 603.616v-183.264h77.856c19.584 0 33.792 1.664 42.688 4.96s16 9.152 21.312 17.568c5.312 8.416 8 18.048 8 28.864 0 13.728-4.064 25.088-12.128 34.08s-20.192 14.592-36.256 16.928c8 4.672 14.592 9.792 19.808 15.36s12.224 15.52 21.056 29.76l22.368 35.744h-44.256l-26.752-39.872c-9.504-14.24-16-23.232-19.52-26.944s-7.232-6.24-11.136-7.616c-3.904-1.376-10.144-2.048-18.624-2.048h-7.52v76.48h-36.96z m37.024-105.728h27.36c17.76 0 28.832-0.768 33.248-2.24s7.872-4.064 10.368-7.744a23.872 23.872 0 0 0 3.744-13.76c0-6.176-1.664-11.136-4.928-14.944s-7.936-6.208-13.952-7.2a309.12 309.12 0 0 0-27.008-0.64h-28.864v46.496h0.032z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-currency" viewBox="0 0 1024 1024"><path d="M1024 512c0 282.77-229.23 512-512 512S0 794.77 0 512 229.23 0 512 0s512 229.23 512 512z" fill="#EBB946"></path><path d="M512 987.429c262.572 0 475.429-212.857 475.429-475.429S774.572 36.571 512 36.571 36.571 249.428 36.571 512 249.428 987.429 512 987.429z" fill="#FFEB8A"></path><path d="M896 512c0 212.077-171.923 384-384 384S128 724.077 128 512s171.923-384 384-384 384 171.923 384 384z" fill="#D18034"></path><path d="M512 859.429c191.88 0 347.429-155.549 347.429-347.429S703.88 164.571 512 164.571c-191.88 0-347.429 155.549-347.429 347.429S320.12 859.429 512 859.429z" fill="#EBB946"></path><path d="M659.086 757.595c-22.804 7.969-70.098 13.391-136.018 13.391-189.829 0-292.246-89.891-280.097-208.77 14.459-141.603 166.182-221.31 332.364-221.31 38.359 0 84.261-7.499 137.706-22.497v36.584l-11.386 95.35c-23.61-8.007-78.916-15.42-123.757-15.42-97.697 0-180.785 29.398-190.231 122.424-8.528 83.174 49.745 122.825 159.74 122.825 20.56 0 60.824-16.595 120.793-49.786v36.248l-9.113 90.961z" fill="#D18034"></path><path d="M659.086 689.328c-22.804 7.969-70.098 13.391-136.018 13.391-189.829 0-292.246-89.891-280.097-208.77 14.459-141.603 166.182-221.31 332.364-221.31 64.351 0 102.199 5.312 137.706 14.087v31.739l-11.386 63.611c-23.61-8.007-78.916-15.42-123.757-15.42-97.697 0-180.785 29.398-190.231 122.424-8.528 83.174 49.745 122.825 159.74 122.825 38.29 0 94.695-5.531 120.793-13.538v31.928l-9.113 59.033z" fill="#FFFEE7"></path><path d="M659.086 720.048c-22.804 7.969-70.098 13.391-136.018 13.391-189.829 0-292.246-89.891-280.097-208.77 14.459-141.603 166.182-221.31 332.364-221.31 64.351 0 102.199 5.312 137.706 14.087l-11.386 95.35c-23.61-8.007-78.916-15.42-123.757-15.42-97.697 0-180.785 29.398-190.231 122.424-8.528 83.174 49.745 122.825 159.74 122.825 38.29 0 94.695-5.531 120.793-13.538l-9.113 90.961z" fill="#FFEB8A"></path></symbol><symbol id="csdnc-thumbsdown-ok" viewBox="0 0 1024 1024"><path d="M637.91950018 587.98415787c23.51488363 42.23219094 36.89826499 90.82032677 36.89826499 142.52097424 0 43.18663854-9.33753715 84.20676568-26.12060948 121.16415542-22.10855167 45.47562345-65.64571755 45.56853386-90.46135281 33.95890498-24.81141197-11.6054063-42.10549413-38.80293689-37.33748019-70.30815117a206.93773553 206.93773553 0 0 0 1.14026916-21.73690854c0-106.65739808-82.6737369-195.47591853-187.15617701-205.72989505-0.47300086-0.04223227-1.24162616-0.47722343-2.25519925-1.25429608-39.3435091-7.20058887-69.15943542-41.65783307-69.1594354-83.07916568V216.37466416c0-46.64967827 37.81470362-84.46438188 84.46438188-84.46438189h420.59038841c42.30820888 0 78.09154379 31.30672284 83.71264906 73.24751192l38.47352529 287.14088854a84.46438188 84.46438188 0 0 1 0.75173358 11.22109327c0 46.64545498-37.81470362 84.46438188-84.46438188 84.46438187h-169.07657635zM174.14247323 583.79472438c-23.32483876 0-42.23219094-18.90735218-42.23219096-42.23219094V174.14247323C131.91028227 150.81763446 150.81763446 131.91028227 174.14247323 131.91028227s42.23219094 18.90735218 42.23219093 42.23219096v367.42006021c0 23.32483876-18.90735218 42.23219094-42.23219093 42.23219093z"></path></symbol><symbol id="csdnc-thumbsdown" viewBox="0 0 1024 1024"><path d="M609.79708437 503.59157064v-0.01266916h197.65932312l-38.55799059-287.16622834H347.4633845v261.05406473c0.45188436 7.92275933 4.59063898 18.51881585 11.09861977 25.24217981 6.90073965 7.13724009 13.62832765 10.45246723 23.43464237 12.85547906 34.92602176 8.56046525 73.88521783 42.45179817 95.22514419 70.6924642 37.29947122 49.35253856 64.35341251 112.86975296 64.35341251 181.60686713 0 18.62439617 17.7966454 39.82495582 42.4264591 39.82495654 29.74413169 0 42.12661062-28.10130005 42.12660988-41.34531543 0-55.56067012-9.34598375-151.1870198-44.85058669-188.77789287l-0.02111576-0.02111577A42.13083392 42.13083392 0 0 1 566.90184844 545.81953827c0-23.32483876 18.90735218-42.23219094 42.23219021-42.23219093l0.66304572 0.0042233z m69.72534743 84.46015856c18.72152987 42.1688429 26.55137807 90.70207655 26.55137807 142.48718859 0 43.18663854-6.80782924 84.20254238-25.719404 114.09870995-18.91157474 29.89616758-59.44603186 47.45208997-96.35274343 47.45208999-58.50425416 0-126.64167065-44.09040725-126.64167063-124.22598966 0-105.1750482-74.07526268-175.88018229-118.60910846-180.12029393-0.67993818-0.05912474-1.73151949-0.2702861-2.78732483-0.46455426-0.88687625-0.12669681-1.77375177-0.2576162-2.65640473-0.40542879a5.04252334 5.04252334 0 0 0-0.32941084-0.0126699 0.60814355 0.60814355 0 0 1-0.31674168-0.09713372C292.97541144 579.77421998 262.83007428 545.19027896 262.83007428 503.57890148V216.41689644C262.83007428 169.76299486 300.72079583 131.94406794 347.4633845 131.94406794h421.4350324c42.4011193 0 78.25624958 31.31094615 83.88580071 73.25173521l38.55799056 287.16622835c0.49833994 3.71643263 0.74750954 7.46665168 0.74750956 11.21686998 0 46.65390157-37.89072155 84.47282848-84.63331025 84.47282772h-127.93397568z m-505.37995857-4.22321916c-23.32483876 0-42.23219094-18.90735218-42.23219096-42.23219094v-367.42006021c0-23.32483876 18.90735218-42.23219094 42.23219096-42.23219095s42.23219094 18.90735218 42.23219094 42.23219095v367.42006021c0 23.32483876-18.90735218 42.23219094-42.23219094 42.23219094z"></path></symbol><symbol id="csdnc-baidu" viewBox="0 0 1024 1024"><path d="M802.42140817 682.50111854s80.99950241 63.50943991 29.28505837 185.96686825c-51.82240741 122.48441917-241.05516696 58.86701592-241.05516696 58.86701591s-69.74432331-22.53734906-150.74382572-4.50746982c-80.99950241 18.16483343-150.82479823 11.28216995-150.82479822 11.28216995s-94.73783854 2.29422116-121.7016849-117.868986c-26.99083719-120.24417969 94.52191185-186.0748316 103.59083315-197.30301988 8.98794879-11.41712413 72.0655353-54.44051862 112.52480024-122.48441918 40.64820081-68.01690973 162.21493153-122.45742834 247.72190375 11.30916078 63.10457736 90.74319463 171.20288031 174.68469831 171.20288029 174.68469831z m-103.26694308 176.27715769V650.73290316h-60.18956694v156.27694735h-57.38251986s-18.35376929-2.69908372-21.78160561-17.57103502v-139.59660995l-56.54580393 0.89069762v155.35925887s2.56412953 38.65087886 56.54580393 52.6861142h139.35369241z m-225.53543557 0.83671596V564.68611419l-54.89936285-0.86370678v79.86588725H354.23855661s-64.48111006 5.31719492-87.01845909 79.00218046c-7.85433362 49.17730537 6.99062684 78.084492 9.55475635 84.34636622 2.61811122 6.12692003 23.45503752 42.07871517 75.76327999 52.57815085h121.08089566z m-145.39963995-135.17011266c2.5371387-7.88132447 13.90028115-26.31606627 37.35531866-33.36067476h52.25426081v120.190198H369.05652623s-33.9544732-1.72741358-44.37293634-41.16102672c-5.26321325-17.57103502 0.83671597-37.78717207 3.53579968-45.66849652z m295.9545298-365.99575232c-67.28815712-8.96095794-82.53798014-72.28146199-76.03318836-135.65594771 5.39816743-51.84939825 65.15588097-131.36440462 112.98364448-119.97427133 47.71980016 11.28216995 91.22902971 76.95087685 82.43001677 133.46968992-8.61007707 56.59978559-51.95736159 131.2834321-119.40746373 122.18751997z m-217.27623939-8.87998542c-50.33791136 0-91.25602054-60.27053945-91.25602055-134.76525011C315.64165943 140.36316271 356.55976862 80.14660493 406.89767998 80.14660493c50.47286555 0 91.20203887 60.21655777 91.20203887 134.65728676 0 74.49471065-40.72917332 134.7652501-91.20203887 134.7652501z m484.53950925 97.92275733c0 27.12579138 10.87730739 142.05277614-88.691891 144.34699728-99.5691984 2.321212-103.75277817-69.90626833-103.75277816-121.67469405 0-54.22459191 10.68837152-130.90556038 90.82416714-130.90556037 80.00084144 0 101.59351118 81.26941078 101.59351119 108.23325714zM237.34124074 539.55764478c-91.12106636 20.35109125-125.02155786-89.1237444-115.00795728-140.32536256 0 0 10.76934404-110.85136835 84.72423794-117.73403183 58.73206174-5.23622242 101.99837375 61.45813629 106.45186189 99.62318006 2.75306539 24.77758854 15.19584134 138.05813224-76.16814254 158.43621432z"></path></symbol><symbol id="csdnc-bbsservice" viewBox="0 0 1024 1024"><path d="M466.4934485 880.02006511C264.6019863 859.18313878 107.13744214 688.54706608 107.13744214 481.14947309 107.13744214 259.68965394 286.68049114 80.14660493 508.14031029 80.14660493s401.00286817 179.54304901 401.00286814 401.00286816v1.67343191C908.30646249 737.58941724 715.26799489 943.85339507 477.28978337 943.85339507c-31.71423369 0-62.61874229-3.67075386-92.38963569-10.60739903 30.09478346-11.01226158 56.84270313-29.63593923 81.5933008-53.22593095z m-205.13036267-398.87059202a246.77722444 246.77722444 0 0 0 493.5544489 0 30.85052691 30.85052691 0 0 0-61.70105383 0 185.07617062 185.07617062 0 0 1-370.15234125 0 30.85052691 30.85052691 0 0 0-61.70105382 0z"></path></symbol><symbol id="csdnc-phone" viewBox="0 0 1194 1024"><path d="M1031.29689505 943.85339507h-863.70679012A71.98456279 71.98456279 0 0 1 95.60554212 871.86883228v-150.85178906c0-28.58329658 16.92325492-54.46750945 43.13135785-65.93861527l227.99160176-99.75813425c10.55341735-4.61543317 18.24580594-14.0082445 20.72896295-25.23643277l23.21211998-105.53417343a71.95757195 71.95757195 0 0 1 70.28414006-56.51881307h236.95255971c33.79252817 0 63.02360485 23.5090192 70.28414004 56.51881307l23.21211997 105.53417343c2.48315701 11.25517912 10.17554562 20.62099961 20.72896296 25.23643277l227.99160177 99.75813425a71.98456279 71.98456279 0 0 1 43.13135783 65.93861527v150.85178906A71.98456279 71.98456279 0 0 1 1031.26990421 943.85339507z m-431.85339506-143.94213475c143.94213474 0 143.94213474-48.34058941 143.94213474-107.96334876s-64.45411922-107.96334877-143.94213474-107.96334877c-79.51500637 0-143.94213474 48.34058941-143.94213475 107.96334877s0 107.96334877 143.94213475 107.96334876zM1103.254467 296.07330247v148.9894213a35.97878598 35.97878598 0 0 1-44.15700966 35.03410667l-143.94213473-33.57660146a36.0057768 36.0057768 0 0 1-27.80056231-35.03410668V296.1002933c-35.97878598-47.98970852-131.95820302-71.98456279-287.91126031-71.98456279S347.53801649 248.11058478 311.53223967 296.1002933v115.385829c0 16.73431906-11.52508749 31.25538946-27.80056233 35.03410668l-143.94213473 33.57660146A35.97878598 35.97878598 0 0 1 95.63253297 445.06272377V296.07330247C162.81272673 152.13116772 330.77670658 80.14660493 599.47049084 80.14660493s436.63077325 71.98456279 503.81096699 215.92669754z"></path></symbol><symbol id="csdnc-contents" viewBox="0 0 1024 1024"><path d="M252.88796297 80.14660493h518.22407406c47.70252602 0 86.37067901 38.66815299 86.37067902 86.37067902v690.9654321c0 47.70252602-38.66815299 86.37067901-86.37067902 86.37067902H252.88796297c-47.70252602 0-86.37067901-38.66815299-86.37067902-86.37067902V166.51728395C166.51728395 118.81475793 205.18543694 80.14660493 252.88796297 80.14660493z m0 86.37067902v690.9654321h518.22407406V166.51728395H252.88796297z m103.6448148 215.92669753c-23.85126299 0-43.18533951-19.3340765-43.18533951-43.1853395s19.3340765-43.18533951 43.18533951-43.18533951h181.37842593c23.85126299 0 43.18533951 19.3340765 43.18533952 43.18533951s-19.3340765 43.18533951-43.18533952 43.1853395H356.53277777z m302.29737656 345.48271605c-23.85126299 0-43.18533951-19.3340765-43.18533952-43.18533951s19.3340765-43.18533951 43.18533952-43.1853395 43.18533951 19.3340765 43.18533949 43.1853395-19.3340765 43.18533951-43.18533949 43.18533951z m0-172.74135802c-23.85126299 0-43.18533951-19.3340765-43.18533952-43.18533951s19.3340765-43.18533951 43.18533952-43.18533951 43.18533951 19.3340765 43.18533949 43.18533951-19.3340765 43.18533951-43.18533949 43.18533951z m0-172.74135803c-23.85126299 0-43.18533951-19.3340765-43.18533952-43.1853395s19.3340765-43.18533951 43.18533952-43.18533951 43.18533951 19.3340765 43.18533949 43.18533951-19.3340765 43.18533951-43.18533949 43.1853395z m-306.61591051 172.74135803c-23.85126299 0-43.18533951-19.3340765-43.18533949-43.18533951s19.3340765-43.18533951 43.18533949-43.18533951h181.37842593c23.85126299 0 43.18533951 19.3340765 43.18533951 43.18533951s-19.3340765 43.18533951-43.18533951 43.18533951H352.21424382z m4.31853395 172.74135802c-23.85126299 0-43.18533951-19.3340765-43.18533951-43.18533951s19.3340765-43.18533951 43.18533951-43.1853395h181.37842593c23.85126299 0 43.18533951 19.3340765 43.18533951 43.1853395s-19.3340765 43.18533951-43.18533951 43.18533951H356.53277777z"></path></symbol><symbol id="csdnc-chat-qa" viewBox="0 0 1024 1024"><path d="M638.69657283 300.83904604H385.30342717C362.07572213 300.83904604 343.07123625 319.84353194 343.07123625 343.07123625s19.00448589 42.23219094 42.23219092 42.23219092h211.16095471v84.46438189H469.76780906c-23.22770505 0-42.23219094 19.00448589-42.23219094 42.23219094v84.46438188c0 23.22770505 19.00448589 42.23219094 42.23219094 42.23219094s42.23219094-19.00448589 42.23219094-42.23219094v-42.23219094h126.69657283c23.22770505 0 42.23219094-19.00448589 42.23219092-42.23219094V343.07123625c0-23.22770505-19.00448589-42.23219094-42.23219092-42.23219021z"></path><path d="M469.76780906 723.16095396m-42.23219094 0a42.23219094 42.23219094 0 1 0 84.46438188 0 42.23219094 42.23219094 0 1 0-84.46438188 0Z"></path><path d="M343.07123625 131.91028227H174.14247323C150.91476817 131.91028227 131.91028227 150.91476817 131.91028227 174.14247323v168.92876302c0 23.22770505 19.00448589 42.23219094 42.23219096 42.23219093s42.23219094-19.00448589 42.23219094-42.23219093V216.37466416h126.69657208c23.22770505 0 42.23219094-19.00448589 42.23219092-42.23219093s-19.00448589-42.23219094-42.23219092-42.23219096zM892.08971773 343.07123625V174.14247323c0-23.22770505-19.00448589-42.23219094-42.23219096-42.23219096h-168.92876302c-23.22770505 0-42.23219094 19.00448589-42.23219092 42.23219096s19.00448589 42.23219094 42.23219092 42.23219093h126.69657209v126.69657209c0 23.22770505 19.00448589 42.23219094 42.23219093 42.23219093s42.23219094-19.00448589 42.23219096-42.23219093zM680.92876375 892.08971773h168.92876302c23.22770505 0 42.23219094-19.00448589 42.23219096-42.23219096v-168.92876302c0-23.22770505-19.00448589-42.23219094-42.23219096-42.23219092s-42.23219094 19.00448589-42.23219093 42.23219092v126.69657209h-126.69657209c-23.22770505 0-42.23219094 19.00448589-42.23219092 42.23219093s19.00448589 42.23219094 42.23219092 42.23219096zM131.91028227 680.92876375v168.92876302c0 23.22770505 19.00448589 42.23219094 42.23219096 42.23219096h168.92876302c23.22770505 0 42.23219094-19.00448589 42.23219092-42.23219096s-19.00448589-42.23219094-42.23219092-42.23219093H216.37466416v-126.69657209c0-23.22770505-19.00448589-42.23219094-42.23219093-42.23219092s-42.23219094 19.00448589-42.23219096 42.23219092z"></path></symbol><symbol id="csdnc-notice" viewBox="0 0 1024 1024"><path d="M874.666667 170.666667c0-23.466667-19.2-42.666667-42.666667-42.666667-12.8 0-23.466667 4.266667-29.866667 12.8l-64 64c-8.533333 6.4-12.8 17.066667-12.8 29.866667 0 23.466667 19.2 42.666667 42.666667 42.666666 12.8 0 23.466667-4.266667 29.866667-12.8l64-64c8.533333-6.4 12.8-17.066667 12.8-29.866666zM874.666667 853.333333c0 23.466667-19.2 42.666667-42.666667 42.666667-12.8 0-23.466667-4.266667-29.866667-12.8l-64-64c-8.533333-6.4-12.8-17.066667-12.8-29.866667 0-23.466667 19.2-42.666667 42.666667-42.666666 12.8 0 23.466667 4.266667 29.866667 12.8l64 64c8.533333 6.4 12.8 17.066667 12.8 29.866666zM853.333333 469.333333h-85.333333c-23.466667 0-42.666667 19.2-42.666667 42.666667s19.2 42.666667 42.666667 42.666667h85.333333c23.466667 0 42.666667-19.2 42.666667-42.666667s-19.2-42.666667-42.666667-42.666667zM512 251.733333v522.666667l-151.466667-108.8c-21.333333-17.066667-49.066667-23.466667-76.8-23.466667H213.333333V384h70.4c27.733333 0 53.333333-8.533333 76.8-23.466667l151.466667-108.8M550.4 128c-8.533333 0-19.2 2.133333-25.6 8.533333l-213.333333 153.6c-8.533333 6.4-17.066667 8.533333-25.6 8.533334H172.8C149.333333 298.666667 128 320 128 343.466667v334.933333C128 704 149.333333 725.333333 172.8 725.333333h110.933333c8.533333 0 19.2 2.133333 25.6 8.533334l213.333334 153.6c8.533333 6.4 17.066667 8.533333 25.6 8.533333 23.466667 0 46.933333-19.2 46.933333-46.933333V174.933333C597.333333 147.2 576 128 550.4 128z"></path></symbol><symbol id="csdnc-monkey-pixel" viewBox="0 0 1706 1024"><path d="M1450.666667 768h-42.666667v170.666667H1237.333333v-42.666667H1066.666667v-42.666667H597.333333v42.666667H426.666667v42.666667H256V768h170.666667v-42.666667h85.333333v-42.666666h42.666667v-85.333334h-42.666667v-85.333333h-85.333333v-42.666667h-42.666667V298.666667h42.666667v128h42.666666v42.666666h42.666667V298.666667h-85.333333v-42.666667h85.333333V128h42.666667V85.333333h42.666666v42.666667h128v42.666667h85.333334V128h42.666666v42.666667h85.333334V128h128V85.333333h42.666666v42.666667h42.666667v128h85.333333v42.666667h-85.333333v170.666666h42.666667v-42.666666h42.666666v-128h42.666667v170.666666h-42.666667v42.666667h-85.333333v85.333333h-42.666667v85.333334h42.666667v42.666666h85.333333v42.666667h170.666667v-42.666667h42.666667v42.666667zM1066.666667 213.333333h-128v42.666667h-42.666667v42.666667h-42.666667v42.666666h-42.666666v-42.666666h-42.666667v-42.666667h-42.666667v-42.666667h-128v42.666667h-42.666666v128h42.666666v42.666667h42.666667v42.666666h42.666667v42.666667h-42.666667v42.666667h-42.666667v85.333333h85.333334v42.666667h298.666666v-42.666667h85.333334v-85.333333h-42.666667v-42.666667h-42.666667v-42.666667h42.666667v-42.666666h42.666667v-42.666667h42.666666v-128h-42.666666v-42.666667zM1024 42.666667h42.666667v42.666666h-128v42.666667h-85.333334V85.333333h42.666667V42.666667h-42.666667v42.666666h-42.666666V42.666667h-42.666667v42.666666h42.666667v42.666667h-85.333334V85.333333h-128V42.666667h42.666667V0h384v42.666667zM682.666667 384h42.666666v42.666667h-42.666666v-42.666667z m256 0h42.666666v42.666667h-42.666666v-42.666667zM768 554.666667h128v42.666666h-128v-42.666666z m554.666667-42.666667h42.666666v42.666667h-42.666666v-42.666667z m42.666666 42.666667h42.666667v42.666666h-42.666667v-42.666666z m85.333334 0h42.666666v42.666666h-42.666666v-42.666666z m-42.666667 42.666666h42.666667v42.666667h-42.666667v-42.666667z m42.666667 85.333334h42.666666v42.666666h-42.666666v-42.666666z m42.666666-42.666667h42.666667v42.666667h-42.666667v-42.666667z m42.666667-42.666667h42.666667v42.666667h-42.666667v-42.666667z m-170.666667-128h42.666667v42.666667h-42.666667v-42.666667z m170.666667 0h42.666667v42.666667h-42.666667v-42.666667z m42.666667 42.666667h42.666666v85.333333h-42.666666v-85.333333z m-170.666667-85.333333h128v42.666666h-128v-42.666666zM0 853.333333h213.333333v42.666667H0v-42.666667z m1450.666667 0h256v42.666667h-256v-42.666667z m-867.555556 128h213.333333v42.666667H583.111111v-42.666667z m270.222222-42.666666h170.666667v42.666666H853.333333v-42.666666z"></path></symbol><symbol id="csdnc-m-silverface-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M511.691057 792.757401c-91.731737 0-166.054416-73.948055-166.054416-165.147048v-34.810819h332.138023v34.810819c0 91.198993-74.356735 165.147048-166.054416 165.147048h-0.029191z m-51.688349-68.935638c11.208305 15.7269 28.897115 23.510074 51.655509 23.510074 22.762043 0 40.445987-7.783174 51.659157-23.510074 3.980986-5.573137 2.674668-13.293062-2.960501-17.280129-5.635168-3.985851-13.389151-2.645476-17.375001 2.92766-6.195888 8.656485-16.192747 13.075342-31.354063 13.075342-15.164965 0-25.156959-4.390882-31.357712-13.075342-3.980986-5.573137-11.769024-6.880671-17.370136-2.92766-5.607193 3.95301-6.913511 11.706993-2.960501 17.280129h0.063248z m-10.585554-89.735771c11.460081 0 20.767293-9.246396 20.767293-20.644445s-9.279236-20.643229-20.767293-20.643229c-11.460081 0-20.767293 9.245179-20.767292 20.643229s9.279236 20.644445 20.767292 20.644445z m124.547806 0c11.460081 0 20.767293-9.246396 20.767292-20.644445s-9.279236-20.643229-20.767292-20.643229c-11.460081 0-20.767293 9.245179-20.767293 20.643229s9.279236 20.644445 20.767293 20.644445z m235.921747-77.686995H212.06016a5.543945 5.543945 0 0 1-5.543945-5.540296v-102.317291a5.534215 5.534215 0 0 1 2.390051-4.570896 5.545161 5.545161 0 0 1 5.11702-0.631265l157.677682 59.347458-22.140508-107.481747c-4.294794-20.896222 3.364316-31.386903 29.144026-46.519027 7.317326-4.29601 52.216228-28.398427 128.253905-28.398428 76.034028 0 96.678473 12.20568 128.255121 28.398428 20.083726 12.642336 38.047422 26.654237 38.047422 38.608141 0 2.645476-0.279752 5.292169-0.812495 7.910886l-22.135643 107.481747 157.644842-59.347458a5.545161 5.545161 0 0 1 5.11702 0.631265 5.536647 5.536647 0 0 1 2.390051 4.570896v102.317291a5.556108 5.556108 0 0 1-5.545161 5.540296h-0.032841zM510.945458 224.293815c65.852289 0 80.956438 30.826184 74.94543 45.055805l-6.946351 23.632922c-22.668387-7.631135-45.331908-11.427241-67.999079-11.427241s-45.336773 3.796106-68.003943 11.427241l-6.946352-23.632922c-5.759232-19.650719 9.09314-45.055805 74.950295-45.055805zM478.466308 479.17785a5.543945 5.543945 0 0 0-5.540296 5.543945v27.557957a5.552459 5.552459 0 0 0 5.540296 5.539079h65.048308a5.552459 5.552459 0 0 0 5.540296-5.539079v-27.557957a5.543945 5.543945 0 0 0-5.540296-5.543945h-65.048308z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-goldmoderator-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M402.213344 630.317861c-52.558011 26.094734-85.597881 41.069955-99.109879 44.960933 16.909154-6.755391 81.017254-79.307121 101.228692-82.60454 11.023426-1.805005 18.368728 3.365532 22.041987 15.503099a36.838409 36.838409 0 0 1 3.425131-1.957044c18.810248-9.279236 32.199399-13.887838 40.200293-13.887838-3.392291 29.364178-13.142239 50.068223-29.206058 62.147406-16.068684 12.081616-61.96496 46.675932-137.657205 103.779297 43.155928-60.558904 76.190932-103.186953 99.10623-127.941313h-0.029191z m261.516578-194.946665l2.898469 1.991101c40.632083 28.241523 86.310639 93.721622 137.063645 196.443944-83.041195-73.735201-138.307931-121.650553-165.831831-143.75822-27.309829-21.955628-47.298683-46.581059-59.941018-73.918864l-1.278343-0.437872-18.182632-6.789447c27.309829-29.109969 54.178137-42.280184 80.552623-39.482669 39.572676 4.204787 105.552678 65.45334 142.916533 96.027747-24.597456-9.341268-73.886023-20.516733-118.224205-30.07572h0.026759zM469.965511 177.460979c14.886429-6.195888 28.774267-9.650211 41.725546-10.428649 14.880348-0.874528 28.768186 0.935343 41.725546 5.478264v212.355723l-83.451092-5.669225V177.433004v0.027975z m0 212.388564l83.418252 7.098391v218.831363l-83.445011-14.386526V389.878735l0.026759-0.029192z m0 227.984103l83.418252 6.97311v179.034886c-13.915813 4.609818-27.803651 6.570512-41.72433 5.886945-13.91703-0.683567-27.804868-4.013826-41.720681-9.995643V617.798373l0.026759 0.035273z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-tutor-K" viewBox="0 0 1024 1024"><path d="M552.619919 26.115412l374.17981 207.904025a82.471962 82.471962 0 0 1 42.535609 71.991011v411.484066c0 29.861649-16.253563 57.41839-42.535609 71.99101L552.619919 997.387117a83.75517 83.75517 0 0 1-81.238622 0L97.201487 789.485524a82.46588 82.46588 0 0 1-42.533176-71.99101V306.009232c0-29.860433 16.253563-57.41839 42.533176-71.991011L471.382513 26.114195a83.762468 83.762468 0 0 1 81.237406 0.001217z m0 0" fill="#D9D9D9"></path><path d="M516.125727 91.098039a8.467957 8.467957 0 0 0-8.250237 0l-374.181026 207.904025a8.032517 8.032517 0 0 0-4.204787 7.041224v411.477984a8.094549 8.094549 0 0 0 4.204787 7.037575l374.181026 207.907675a8.467957 8.467957 0 0 0 8.250237 0l374.179809-207.907675a8.088468 8.088468 0 0 0 4.204787-7.037575v-411.477984a8.100631 8.100631 0 0 0-4.204787-7.041224L516.125727 91.098039z m36.494192-64.982627l374.17981 207.904025a82.471962 82.471962 0 0 1 42.535609 71.991011v411.484066c0 29.861649-16.253563 57.41839-42.535609 71.99101L552.619919 997.387117a83.75517 83.75517 0 0 1-81.238622 0L97.201487 789.485524a82.46588 82.46588 0 0 1-42.533176-71.99101V306.009232c0-29.860433 16.253563-57.41839 42.533176-71.991011L471.382513 26.114195a83.762468 83.762468 0 0 1 81.237406 0.001217z m0 0" fill="#EBEBEB"></path><path d="M345.837333 424.238302c-2.461813 16.938346-18.27872 28.70737-35.311939 26.251638-17.032002-2.461813-28.863058-18.188713-26.40611-35.125843 8.566478-58.910803 33.690596-111.378807 75.011111-156.681523 11.550088-12.676392 31.292031-13.640927 44.05843-2.151654 12.766399 11.492922 13.735799 31.105935 2.15287 43.810303-33.03987 36.247282-52.748972 77.317236-59.504362 123.897079z m202.233584 26.094734c-4.777669 16.363031-21.815753 25.855121-38.245681 21.298821-16.429928-4.556301-26.150685-21.47032-21.818185-37.957415 24.131609-86.219416 73.113666-150.736196 146.160434-191.933863 14.977653-8.438765 34.004404-3.207412 42.506418 11.677801 8.499581 14.885213 3.235387 33.81466-11.742266 42.252209-58.347651 32.884182-97.022689 83.854907-116.825447 154.600416l-0.035273 0.062031z m-263.885952 65.357251c-11.460081 0.465847-21.143133-8.409574-21.64182-19.802758-0.498687-11.39805 8.438765-21.04826 19.898846-21.518973 189.311497-7.781957 307.045529 12.115673 355.897441 63.956061 7.848854 8.348758 7.414631 21.424101-0.964535 29.210923-8.376733 7.781957-21.546948 7.378142-29.395802-0.936559-37.520759-39.824452-146.407345-58.22602-323.859811-50.941534l0.065681 0.03284z m317.009547 68.190039c28.490867 0 49.849287 61.590336 49.849287 107.676357 0 67.191448-9.804682 107.706765-49.849287 107.706765-40.666139 0-48.730281-30.299521-49.851719-107.397822-0.80763-55.640143 19.895198-107.9853 49.851719-107.9853z m-8.250237 107.395389c0.717623 49.945375 5.169321 66.664785 8.279429 66.664786 1.655399 0 8.287943-27.433893 8.287942-66.355843 0-14.600596-3.708532-33.81466-9.46898-50.410006a153.008265 153.008265 0 0 0-7.098391 50.130255v-0.029192zM443.887805 430.311342c-2.228282 17.075789-17.873689 29.114834-34.949478 26.886553-17.080654-2.228282-29.116051-17.873689-26.887769-34.949478 11.051401-83.825716 53.056699-150.333597 124.671869-197.475375 14.354901-9.468981 33.68938-5.543945 43.220392 8.718516 9.526147 14.258813 5.573137 33.500852-8.782981 42.969832-56.573053 37.268983-88.553516 87.86995-97.272033 153.849952z m215.255408 7.193263a354.462193 354.462193 0 0 0-5.416232 18.49644l-4.952818 18.619288c-4.865244 16.09301-21.606547 25.437927-37.857677 21.133402-16.25113-4.304524-26.167713-20.714991-22.423909-37.105997l4.947953-18.682536c2.306126-8.594453 4.235195-15.199021 6.380767-21.736692a245.776299 245.776299 0 0 1 16.724275-39.230893c18.805383-35.495602 62.557303-67.632969 96.466836-67.632968h4.887137c37.050047-0.091223 61.653584 16.034627 61.653584 59.689242 0 39.919324-27.528765 72.180755-75.976861 91.450769a31.254325 31.254325 0 0 1-29.469998-3.482298 31.256758 31.256758 0 0 1-13.284547-26.530174 209.969321 209.969321 0 0 0-1.714999 5.040392l0.036489-0.027975z m21.296388-32.603214c24.974512-9.929962 35.342346-20.767293 36.619473-31.509751h-4.047883c-8.219829 0-32.44631 17.778817-41.290106 34.498227l-2.213686 4.299659a31.720172 31.720172 0 0 1 10.899362-7.31611l0.03284 0.027975z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-blogstar-l-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M323.187191 574.895438c0 7.475447-1.430382 14.476533-4.266819 21.014203a54.999147 54.999147 0 0 1-28.830218 28.835083 51.892689 51.892689 0 0 1-21.020285 4.266819h-90.201618V448.603442h90.201618c7.474231 0 14.482614 1.430382 21.020285 4.266819a55.007661 55.007661 0 0 1 28.830218 28.830218c2.864412 6.570512 4.266819 13.546055 4.266819 21.019069 0 3.364316-0.465847 6.789448-1.36835 10.305802a48.685277 48.685277 0 0 1-9.934828 19.119191 33.536125 33.536125 0 0 1-7.816014 6.660519c2.926444 1.593367 5.573137 3.769348 7.943727 6.475639 2.365725 2.71359 4.356826 5.730041 6.038984 8.999485a46.697825 46.697825 0 0 1 5.136481 20.615254z m153.596959 54.116105H350.462963V448.603442h36.119569v144.288532h90.201618v36.119569z m362.717296-18.249529a92.410438 92.410438 0 0 1-84.97513 18.810248 91.374142 91.374142 0 0 1-22.197674-9.43614 96.252765 96.252765 0 0 1-18.872281-14.605461 92.139201 92.139201 0 0 1-23.974704-41.192802 92.330162 92.330162 0 0 1-3.33026-24.782335c0-8.566478 1.121439-16.785091 3.33026-24.663137a95.310124 95.310124 0 0 1 9.374108-22.197674 94.701968 94.701968 0 0 1 33.472877-33.410845 94.079217 94.079217 0 0 1 22.197674-9.374108c7.910886-2.208821 16.163556-3.330259 24.725168-3.330259a92.78263 92.78263 0 0 1 60.249962 22.135642l-18.872281 31.448935c-5.445424-5.540296-11.734968-9.869147-18.867415-13.014526s-14.633437-4.731449-22.511482-4.73145-15.289028 1.525254-22.20254 4.51373a58.54591 58.54591 0 0 0-30.512375 30.388312c-3.021316 6.914728-4.51373 14.324494-4.51373 22.202539 0 7.974134 1.525254 15.445932 4.51373 22.387419a58.120201 58.120201 0 0 0 30.512375 30.579273 54.894544 54.894544 0 0 0 35.405595 2.860763c4.261953-1.116573 8.342677-2.612636 12.200815-4.513729v-51.340484h34.844875v71.266089z m-100.07563 33.410845l3.269443 19.09-120.746833-63.490214-120.7517 63.490214 23.077067-134.449793-97.680713-95.2189 134.982537-19.617879 60.374025-122.33412 46.391315 94.002589c-122.177216 95.15322-166.891238 265.222678-166.891238 277.428358 0-12.576655 66.911696-185.886365 205.471404-245.542767l110.413056 16.035843-0.341783 0.341784c-87.342071-13.389151-149.521101 30.450344-149.521102 100.103605 0 65.199131 38.670173 91.136961 71.956954 110.133305v0.027975z m-524.437996-51.279669h54.082049a18.160738 18.160738 0 0 0 12.767616-5.200945 17.446764 17.446764 0 0 0 5.202162-12.767616 18.183848 18.183848 0 0 0-5.202162-12.766399 17.440682 17.440682 0 0 0-12.767616-5.197297H214.98782v35.996722-0.064465z m0-72.085883h54.082049a18.187497 18.187497 0 0 0 12.767616-5.19608 17.027137 17.027137 0 0 0 3.828946-5.793289 18.710511 18.710511 0 0 0-3.828946-19.86479 17.429735 17.429735 0 0 0-12.767616-5.197296H214.98782v36.118352-0.066897z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-goldflower-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M316.492615 359.456366a204.141976 204.141976 0 0 1-7.878045-71.20649c21.765884 4.480889 37.458727 8.095765 47.113803 10.832465 0.212854-9.962803 0.773574-26.15555 1.680942-48.542969 26.649372 6.727416 49.94051 17.157282 69.867332 31.26284a193.294915 193.294915 0 0 0-6.566863 50.382031c0 24.967214 4.608602 48.975975 13.730934 71.956954a195.132761 195.132761 0 0 0-64.611652-35.21585 196.774781 196.774781 0 0 0-53.336451-9.496956v0.027975z m175.081876 122.401017l7.226103-3.269444a35.624531 35.624531 0 0 1 30.574407 0.527879l4.88957 2.432622 3.953011 3.796106a35.156251 35.156251 0 0 1 10.557579 29.827593l-0.902503 7.193263-3.673259 6.229944a35.64764 35.64764 0 0 1-24.164449 16.876314l-7.284486 1.339159-7.226103-1.651751a35.54547 35.54547 0 0 1-23.660897-18.369944l-2.58466-5.012417-0.874528-5.543945a34.97502 34.97502 0 0 1 8.005759-28.365587l5.164456-6.043849v0.034057zM264.091508 523.986744c14.661412 9.621019 30.573191 17.218097 47.640466 22.729202a195.871062 195.871062 0 0 0 61.119624 9.62102 195.278718 195.278718 0 0 0-43.2508 43.121871 194.4869 194.4869 0 0 0-27.618772 53.308475 210.104332 210.104332 0 0 1-71.021611-15.445933c12.486648-18.648479 21.60898-32.07047 27.339021-40.256242-9.43614-3.426348-24.288513-9.683051-44.527927-18.744568a205.011638 205.011638 0 0 1 50.319999-54.367882v0.034057z m336.775817-246.888007a211.235501 211.235501 0 0 1 58.971618-25.034111c2.427757 21.955628 3.828947 37.92944 4.204787 47.892242 9.621019-2.898469 25.253047-7.350167 46.955683-13.38915 1.615261 24.906399-0.532744 48.134288-6.542536 69.619204a196.204331 196.204331 0 0 0-50.970726 9.4033 196.334476 196.334476 0 0 0-54.392208 27.371861 193.077195 193.077195 0 0 0 9.683052-60.77784c0-18.933096-2.646693-37.306689-7.910887-55.113481v0.027975z m42.285049 275.751065a195.958636 195.958636 0 0 0 68.46979-9.498172 196.689639 196.689639 0 0 0 45.364749-21.26598c19.926822 14.54343 37.334664 33.505717 52.187036 56.85767-21.143133 7.783174-36.432161 13.327119-45.930333 16.597779 5.605977 8.280645 13.920678 22.011579 24.944104 41.191586a209.869584 209.869584 0 0 1-66.916561 14.449774 193.429926 193.429926 0 0 0-26.217582-49.289784 195.005048 195.005048 0 0 0-51.902419-49.074497v0.031624zM512 647.570015c6.261569 23.162209 16.567371 44.585093 30.921056 64.23338 9.872796 13.484023 21.143133 25.442792 33.785469 35.837385-7.753982 23.541698-20.553222 45.992365-38.456103 67.415249a2771.917852 2771.917852 0 0 1-30.079369-38.271223c-6.195888 7.848854-16.748601 19.960878-31.695846 36.309313a204.872979 204.872979 0 0 1-35.714538-62.211871 195.059782 195.059782 0 0 0 41.040763-41.50661 193.810631 193.810631 0 0 0 30.231408-61.775215l-0.03284-0.030408z m0 0" fill="#E0E0E0"></path><path d="M523.084241 561.787255c-6.318735 54.518704 4.798347 101.284643 33.286781 140.268624 25.718894 35.21585 61.899279 58.94486 108.513179 71.239331 2.427757-21.950763 3.828947-37.924574 4.204787-47.887378 9.621019 2.898469 25.253047 7.350167 46.952034 13.389151 3.207412-48.945568-8.281861-91.323056-34.465386-127.161658-28.336395-38.765045-69.344318-63.641036-123.023768-74.63527-7.535046 12.765183-20.425509 21.982387-35.467627 24.753143v0.034057z m-56.045174-27.401053c-54.144081 10.894497-95.432971 35.838601-123.954246 74.822583-25.718894 35.21585-37.273848 76.751652-34.627156 124.609837 21.765884-4.484538 37.458727-8.095765 47.113804-10.83733 0.21772 9.962803 0.778439 26.15555 1.680942 48.542969 47.826562-12.110808 84.814577-36.056321 111.032158-71.893706 28.1503-38.519351 39.325765-84.601722 33.504501-138.314012a52.064189 52.064189 0 0 1-34.750003-26.930341z m98.302248-17.12809c49.008816 21.484916 96.055722 24.944104 141.139503 10.3727 42.381138-13.670118 76.755301-41.259699 103.096946-82.734685-21.143133-7.781957-36.432161-13.327119-45.925467-16.595347 5.601112-8.281861 13.915813-22.012795 24.939239-41.194018-44.993774-17.280129-88.306605-19.214064-129.936063-5.762881-45.487596 14.700334-81.764069 45.397589-108.79293 92.168393a51.599558 51.599558 0 0 1 15.478772 43.745838z m-28.492083-52.932635c36.865168-40.195427 55.270384-84.253857 55.270385-132.112043 0-44.277366-15.759741-85.285289-47.298683-123.024984-13.98271 17.564746-24.007545 30.327496-30.079369 38.271223a766.685776 766.685776 0 0 0-31.695846-36.309314c-30.455209 37.178976-45.67734 77.530091-45.677341 121.032667 0 47.545594 18.182632 91.323056 54.547896 131.333604a51.818494 51.818494 0 0 1 23.448042-4.608602c7.719925 0.280968 15.00806 2.182062 21.484916 5.417449z m-63.11559 12.894112c-27.058053-46.955683-63.395341-77.781867-109.007001-92.539367-41.630674-13.449966-84.942289-11.520897-129.936063 5.759232 11.02221 19.180007 19.336911 32.910941 24.939239 41.192802-9.465332 3.268227-24.782335 8.813389-45.925467 16.595346 26.340429 41.478635 60.715808 69.064567 103.092081 82.733469 46.300091 14.947245 94.658181 10.899362 145.068187-12.142432a51.800249 51.800249 0 0 1 11.769024-41.630674v0.031624z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-lasting-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M750.073402 300.422716v64.886538H448.110836v-64.886538h301.962566z m-214.469672 245.171792v33.690596h115.986193v-33.690596h-115.986193z m0-90.139586v33.191908h115.986193v-33.191908h-115.986193z m-69.965853 2.489788l-38.983982 17.840849a462.100845 462.100845 0 0 0-14.011901-44.091271v318.470337h-69.993829V470.833957c-3.48838 21.798724-7.502206 42.595208-12.486647 59.942235l-56.483047-20.302662c10.995451-33.191909 19.495031-89.147076 23.01017-131.242381l45.992365 5.94776v-105.495511h69.995044v96.088563l32.008438-13.353878c6.509696 14.852373 14.510589 32.692005 20.986229 49.539128v-18.339536h259.463445v247.62874H465.670717V458.005526l-0.03284-0.060816z m-28.521275 207.994033h315.451453v66.354625H437.116602v-66.354625z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-redflower-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M316.492615 359.456366a204.141976 204.141976 0 0 1-7.878045-71.20649c21.765884 4.480889 37.458727 8.095765 47.113803 10.832465 0.212854-9.962803 0.773574-26.15555 1.680942-48.542969 26.649372 6.727416 49.94051 17.157282 69.867332 31.26284a193.294915 193.294915 0 0 0-6.566863 50.382031c0 24.967214 4.608602 48.975975 13.730934 71.956954a195.132761 195.132761 0 0 0-64.611652-35.21585 196.774781 196.774781 0 0 0-53.336451-9.496956v0.027975z m175.081876 122.401017l7.226103-3.269444a35.624531 35.624531 0 0 1 30.574407 0.527879l4.88957 2.432622 3.953011 3.796106a35.156251 35.156251 0 0 1 10.557579 29.827593l-0.902503 7.193263-3.673259 6.229944a35.64764 35.64764 0 0 1-24.164449 16.876314l-7.284486 1.339159-7.226103-1.651751a35.54547 35.54547 0 0 1-23.660897-18.369944l-2.58466-5.012417-0.874528-5.543945a34.97502 34.97502 0 0 1 8.005759-28.365587l5.164456-6.043849v0.034057zM264.091508 523.986744c14.661412 9.621019 30.573191 17.218097 47.640466 22.729202a195.871062 195.871062 0 0 0 61.119624 9.62102 195.278718 195.278718 0 0 0-43.2508 43.121871 194.4869 194.4869 0 0 0-27.618772 53.308475 210.104332 210.104332 0 0 1-71.021611-15.445933c12.486648-18.648479 21.60898-32.07047 27.339021-40.256242-9.43614-3.426348-24.288513-9.683051-44.527927-18.744568a205.011638 205.011638 0 0 1 50.319999-54.367882v0.034057z m336.775817-246.888007a211.235501 211.235501 0 0 1 58.971618-25.034111c2.427757 21.955628 3.828947 37.92944 4.204787 47.892242 9.621019-2.898469 25.253047-7.350167 46.955683-13.38915 1.615261 24.906399-0.532744 48.134288-6.542536 69.619204a196.204331 196.204331 0 0 0-50.970726 9.4033 196.334476 196.334476 0 0 0-54.392208 27.371861 193.077195 193.077195 0 0 0 9.683052-60.77784c0-18.933096-2.646693-37.306689-7.910887-55.113481v0.027975z m42.285049 275.751065a195.958636 195.958636 0 0 0 68.46979-9.498172 196.689639 196.689639 0 0 0 45.364749-21.26598c19.926822 14.54343 37.334664 33.505717 52.187036 56.85767-21.143133 7.783174-36.432161 13.327119-45.930333 16.597779 5.605977 8.280645 13.920678 22.011579 24.944104 41.191586a209.869584 209.869584 0 0 1-66.916561 14.449774 193.429926 193.429926 0 0 0-26.217582-49.289784 195.005048 195.005048 0 0 0-51.902419-49.074497v0.031624zM512 647.570015c6.261569 23.162209 16.567371 44.585093 30.921056 64.23338 9.872796 13.484023 21.143133 25.442792 33.785469 35.837385-7.753982 23.541698-20.553222 45.992365-38.456103 67.415249a2771.917852 2771.917852 0 0 1-30.079369-38.271223c-6.195888 7.848854-16.748601 19.960878-31.695846 36.309313a204.872979 204.872979 0 0 1-35.714538-62.211871 195.059782 195.059782 0 0 0 41.040763-41.50661 193.810631 193.810631 0 0 0 30.231408-61.775215l-0.03284-0.030408z m0 0" fill="#E0E0E0"></path><path d="M523.084241 561.787255c-6.318735 54.518704 4.798347 101.284643 33.286781 140.268624 25.718894 35.21585 61.899279 58.94486 108.513179 71.239331 2.427757-21.950763 3.828947-37.924574 4.204787-47.887378 9.621019 2.898469 25.253047 7.350167 46.952034 13.389151 3.207412-48.945568-8.281861-91.323056-34.465386-127.161658-28.336395-38.765045-69.344318-63.641036-123.023768-74.63527-7.535046 12.765183-20.425509 21.982387-35.467627 24.753143v0.034057z m-56.045174-27.401053c-54.144081 10.894497-95.432971 35.838601-123.954246 74.822583-25.718894 35.21585-37.273848 76.751652-34.627156 124.609837 21.765884-4.484538 37.458727-8.095765 47.113804-10.83733 0.21772 9.962803 0.778439 26.15555 1.680942 48.542969 47.826562-12.110808 84.814577-36.056321 111.032158-71.893706 28.1503-38.519351 39.325765-84.601722 33.504501-138.314012a52.064189 52.064189 0 0 1-34.750003-26.930341z m98.302248-17.12809c49.008816 21.484916 96.055722 24.944104 141.139503 10.3727 42.381138-13.670118 76.755301-41.259699 103.096946-82.734685-21.143133-7.781957-36.432161-13.327119-45.925467-16.595347 5.601112-8.281861 13.915813-22.012795 24.939239-41.194018-44.993774-17.280129-88.306605-19.214064-129.936063-5.762881-45.487596 14.700334-81.764069 45.397589-108.79293 92.168393a51.599558 51.599558 0 0 1 15.478772 43.745838z m-28.492083-52.932635c36.865168-40.195427 55.270384-84.253857 55.270385-132.112043 0-44.277366-15.759741-85.285289-47.298683-123.024984-13.98271 17.564746-24.007545 30.327496-30.079369 38.271223a766.685776 766.685776 0 0 0-31.695846-36.309314c-30.455209 37.178976-45.67734 77.530091-45.677341 121.032667 0 47.545594 18.182632 91.323056 54.547896 131.333604a51.818494 51.818494 0 0 1 23.448042-4.608602c7.719925 0.280968 15.00806 2.182062 21.484916 5.417449z m-63.11559 12.894112c-27.058053-46.955683-63.395341-77.781867-109.007001-92.539367-41.630674-13.449966-84.942289-11.520897-129.936063 5.759232 11.02221 19.180007 19.336911 32.910941 24.939239 41.192802-9.465332 3.268227-24.782335 8.813389-45.925467 16.595346 26.340429 41.478635 60.715808 69.064567 103.092081 82.733469 46.300091 14.947245 94.658181 10.899362 145.068187-12.142432a51.800249 51.800249 0 0 1 11.769024-41.630674v0.031624z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-goldmedal-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M428.615805 265.391745v82.609405h-74.199831c-9.307211 0-17.559881-3.800972-20.486325-9.402084l-28.802243-55.086721c-3.768131-7.221238 2.33775-15.003195 13.668902-17.402977a33.236912 33.236912 0 0 1 6.818639-0.717623h103.000858z m166.150504 0h102.997209c11.925929 0 21.613845 6.166696 21.613845 13.763774a9.224502 9.224502 0 0 1-1.121439 4.356826l-28.802242 55.086721c-2.926444 5.633952-11.21317 9.402083-20.492407 9.402084h-74.194966v-82.609405z m-83.075252 536.986675c-114.70785 0-207.68509-92.47247-207.685089-206.529594 0-114.053475 92.977239-206.53081 207.685089-206.530811 114.709067 0 207.68509 92.477336 207.68509 206.530811 0 114.057124-92.976023 206.529594-207.68509 206.529594z m-41.534585-536.986675h83.06917v82.609405h-83.06917v-82.609405z m41.534585 428.288617l89.175051 54.614793a11.65834 11.65834 0 0 0 8.685677 1.435247c6.585107-1.672428 10.63299-8.29524 9.127197-14.918054l-22.297412-105.240086 77.407243-71.48989a12.609495 12.609495 0 0 0 3.985851-8.157798c0.769925-6.742011-4.038152-12.844243-10.770433-13.670118l-102.940042-10.42865-41.349706-98.768095a11.835922 11.835922 0 0 0-11.00883-7.492476 11.834705 11.834705 0 0 0-11.003965 7.492476l-41.349706 98.768095-102.940042 10.42865a11.764159 11.764159 0 0 0-7.816014 4.143971c-4.399397 5.221623-3.948145 12.975605 1.026566 17.649888l77.407243 71.492323-22.293762 105.242519a12.985335 12.985335 0 0 0 1.369566 9.02746 11.766592 11.766592 0 0 0 7.268674 5.750718 11.769024 11.769024 0 0 0 9.169768-1.297804l89.176267-54.608711-0.029191 0.025542z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-celebrity-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M725.443105 448.760346a40.868047 40.868047 0 0 1-5.663143-20.862165c0-22.854482 18.620504-41.383763 41.630674-41.383762s41.630674 18.529281 41.630673 41.383762c0 22.853266-18.620504 41.377681-41.630673 41.377682h-0.997375l-25.470767 212.949283c-2.427757 20.173733-20.862165 35.429921-42.812928 35.429921H332.00058c-21.888731 0-40.324356-15.194156-42.784953-35.304641L262.936013 469.275863h-0.99251c-22.980979 0-41.629458-18.524415-41.629457-41.377682 0-22.854482 18.619288-41.383763 41.629457-41.383762 22.97733 0 41.630674 18.529281 41.630674 41.383762 0 7.625053-2.090838 14.790341-5.702065 20.924197l102.503386 63.176406 83.853691-177.167849a41.204965 41.204965 0 0 1-14.16759-31.105935c0-22.858131 18.619288-41.383763 41.629458-41.383763s41.630674 18.525632 41.630674 41.383763c0 12.452591-5.511105 23.598864-14.263678 31.195942l83.792875 177.077842 102.592177-63.238438z m-380.23947-0.841687l13.479157-59.066491a2.185711 2.185711 0 0 1 2.646693-1.649317c0.555854 0.133794 1.044811 0.465847 1.373215 0.931694l39.387796 59.784114-14.106774 27.742836-42.780087-27.742836z m331.573654 0l-42.780087 27.742836-14.106775-27.742836 39.387797-59.784114a2.244094 2.244094 0 0 1 1.373215-0.931694 2.185711 2.185711 0 0 1 2.646693 1.649317l13.479157 59.066491z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-blueface-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M511.691057 742.940954c-91.731737 0-166.054416-73.95292-166.054416-165.151913v-34.805953h332.138023v34.805953c0 91.198993-74.356735 165.151913-166.054416 165.151913h-0.029191z m-51.688349-68.940503c11.208305 15.7269 28.897115 23.510074 51.655509 23.510074 22.762043 0 40.445987-7.783174 51.659157-23.510074 3.980986-5.573137 2.674668-13.293062-2.960501-17.280129-5.635168-3.985851-13.389151-2.645476-17.375001 2.927661-6.195888 8.655269-16.192747 13.080208-31.354063 13.080207-15.164965 0-25.156959-4.390882-31.357712-13.080207-3.980986-5.573137-11.769024-6.880671-17.370136-2.927661-5.607193 3.957876-6.913511 11.706993-2.960501 17.280129h0.063248z m-10.585554-89.73577c11.460081 0 20.767293-9.245179 20.767293-20.644446 0-11.393184-9.279236-20.638364-20.767293-20.638363-11.460081 0-20.767293 9.245179-20.767292 20.638363 0 11.399266 9.279236 20.644445 20.767292 20.644446z m124.547806 0c11.460081 0 20.767293-9.245179 20.767292-20.644446 0-11.393184-9.279236-20.638364-20.767292-20.638363-11.460081 0-20.767293 9.245179-20.767293 20.638363 0 11.399266 9.279236 20.644445 20.767293 20.644446z m52.3111-72.327929c-1.044811 0.124064-2.095704 0.186096-3.14538 0.186095H400.531186a26.661535 26.661535 0 0 1-3.144164-0.186095h-73.449367c-12.357719 0.014596-22.402015-9.967668-22.454316-22.325387a21.424101 21.424101 0 0 1 22.420259-21.300037l47.859402 2.148005-7.816014-57.974243c-6.537671-48.448097 29.609873-92.725463 80.737502-98.920135a99.400577 99.400577 0 0 1 11.831057-0.717623h110.599152c51.565501 0 93.346998 39.572676 93.346998 88.429452 0 3.734075-0.246911 7.502206-0.745599 11.208306l-7.816014 57.974243 47.859402-2.148005 0.964535-0.027975c11.863897 0 21.452076 9.558988 21.452075 21.328012-0.047436 12.357719-10.091732 22.339983-22.44945 22.325387h-73.450584z m-127.598314-59.537203c-7.255295 0-13.142239 6.694575-13.142239 14.947245s5.886945 14.947245 13.142239 14.947244h26.278398c7.255295 0 13.137374-6.694575 13.137374-14.947244s-5.88208-14.947245-13.137374-14.947245h-26.278398z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-blueflower-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M316.492615 359.456366a204.141976 204.141976 0 0 1-7.878045-71.20649c21.765884 4.480889 37.458727 8.095765 47.113803 10.832465 0.212854-9.962803 0.773574-26.15555 1.680942-48.542969 26.649372 6.727416 49.94051 17.157282 69.867332 31.26284a193.294915 193.294915 0 0 0-6.566863 50.382031c0 24.967214 4.608602 48.975975 13.730934 71.956954a195.132761 195.132761 0 0 0-64.611652-35.21585 196.774781 196.774781 0 0 0-53.336451-9.496956v0.027975z m175.081876 122.401017l7.226103-3.269444a35.624531 35.624531 0 0 1 30.574407 0.527879l4.88957 2.432622 3.953011 3.796106a35.156251 35.156251 0 0 1 10.557579 29.827593l-0.902503 7.193263-3.673259 6.229944a35.64764 35.64764 0 0 1-24.164449 16.876314l-7.284486 1.339159-7.226103-1.651751a35.54547 35.54547 0 0 1-23.660897-18.369944l-2.58466-5.012417-0.874528-5.543945a34.97502 34.97502 0 0 1 8.005759-28.365587l5.164456-6.043849v0.034057zM264.091508 523.986744c14.661412 9.621019 30.573191 17.218097 47.640466 22.729202a195.871062 195.871062 0 0 0 61.119624 9.62102 195.278718 195.278718 0 0 0-43.2508 43.121871 194.4869 194.4869 0 0 0-27.618772 53.308475 210.104332 210.104332 0 0 1-71.021611-15.445933c12.486648-18.648479 21.60898-32.07047 27.339021-40.256242-9.43614-3.426348-24.288513-9.683051-44.527927-18.744568a205.011638 205.011638 0 0 1 50.319999-54.367882v0.034057z m336.775817-246.888007a211.235501 211.235501 0 0 1 58.971618-25.034111c2.427757 21.955628 3.828947 37.92944 4.204787 47.892242 9.621019-2.898469 25.253047-7.350167 46.955683-13.38915 1.615261 24.906399-0.532744 48.134288-6.542536 69.619204a196.204331 196.204331 0 0 0-50.970726 9.4033 196.334476 196.334476 0 0 0-54.392208 27.371861 193.077195 193.077195 0 0 0 9.683052-60.77784c0-18.933096-2.646693-37.306689-7.910887-55.113481v0.027975z m42.285049 275.751065a195.958636 195.958636 0 0 0 68.46979-9.498172 196.689639 196.689639 0 0 0 45.364749-21.26598c19.926822 14.54343 37.334664 33.505717 52.187036 56.85767-21.143133 7.783174-36.432161 13.327119-45.930333 16.597779 5.605977 8.280645 13.920678 22.011579 24.944104 41.191586a209.869584 209.869584 0 0 1-66.916561 14.449774 193.429926 193.429926 0 0 0-26.217582-49.289784 195.005048 195.005048 0 0 0-51.902419-49.074497v0.031624zM512 647.570015c6.261569 23.162209 16.567371 44.585093 30.921056 64.23338 9.872796 13.484023 21.143133 25.442792 33.785469 35.837385-7.753982 23.541698-20.553222 45.992365-38.456103 67.415249a2771.917852 2771.917852 0 0 1-30.079369-38.271223c-6.195888 7.848854-16.748601 19.960878-31.695846 36.309313a204.872979 204.872979 0 0 1-35.714538-62.211871 195.059782 195.059782 0 0 0 41.040763-41.50661 193.810631 193.810631 0 0 0 30.231408-61.775215l-0.03284-0.030408z m0 0" fill="#E0E0E0"></path><path d="M523.084241 561.787255c-6.318735 54.518704 4.798347 101.284643 33.286781 140.268624 25.718894 35.21585 61.899279 58.94486 108.513179 71.239331 2.427757-21.950763 3.828947-37.924574 4.204787-47.887378 9.621019 2.898469 25.253047 7.350167 46.952034 13.389151 3.207412-48.945568-8.281861-91.323056-34.465386-127.161658-28.336395-38.765045-69.344318-63.641036-123.023768-74.63527-7.535046 12.765183-20.425509 21.982387-35.467627 24.753143v0.034057z m-56.045174-27.401053c-54.144081 10.894497-95.432971 35.838601-123.954246 74.822583-25.718894 35.21585-37.273848 76.751652-34.627156 124.609837 21.765884-4.484538 37.458727-8.095765 47.113804-10.83733 0.21772 9.962803 0.778439 26.15555 1.680942 48.542969 47.826562-12.110808 84.814577-36.056321 111.032158-71.893706 28.1503-38.519351 39.325765-84.601722 33.504501-138.314012a52.064189 52.064189 0 0 1-34.750003-26.930341z m98.302248-17.12809c49.008816 21.484916 96.055722 24.944104 141.139503 10.3727 42.381138-13.670118 76.755301-41.259699 103.096946-82.734685-21.143133-7.781957-36.432161-13.327119-45.925467-16.595347 5.601112-8.281861 13.915813-22.012795 24.939239-41.194018-44.993774-17.280129-88.306605-19.214064-129.936063-5.762881-45.487596 14.700334-81.764069 45.397589-108.79293 92.168393a51.599558 51.599558 0 0 1 15.478772 43.745838z m-28.492083-52.932635c36.865168-40.195427 55.270384-84.253857 55.270385-132.112043 0-44.277366-15.759741-85.285289-47.298683-123.024984-13.98271 17.564746-24.007545 30.327496-30.079369 38.271223a766.685776 766.685776 0 0 0-31.695846-36.309314c-30.455209 37.178976-45.67734 77.530091-45.677341 121.032667 0 47.545594 18.182632 91.323056 54.547896 131.333604a51.818494 51.818494 0 0 1 23.448042-4.608602c7.719925 0.280968 15.00806 2.182062 21.484916 5.417449z m-63.11559 12.894112c-27.058053-46.955683-63.395341-77.781867-109.007001-92.539367-41.630674-13.449966-84.942289-11.520897-129.936063 5.759232 11.02221 19.180007 19.336911 32.910941 24.939239 41.192802-9.465332 3.268227-24.782335 8.813389-45.925467 16.595346 26.340429 41.478635 60.715808 69.064567 103.092081 82.733469 46.300091 14.947245 94.658181 10.899362 145.068187-12.142432a51.800249 51.800249 0 0 1 11.769024-41.630674v0.031624z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-helpful-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M580.597503 442.497561a113.440454 113.440454 0 0 1 68.128007 19.589904h35.586825c13.080208 0 23.850641-9.901987 25.191016-22.606355h-62.896654a9.433707 9.433707 0 0 1-8.803659-14.339089 9.438573 9.438573 0 0 1 8.803659-4.471159h75.416142c13.968115 0.019461 25.310214-11.278851 25.343054-25.248182h-90.577457a9.438573 9.438573 0 0 1-8.803659-4.466294 9.431275 9.431275 0 0 1 0-9.877661 9.443438 9.443438 0 0 1 8.803659-4.466293h102.721106c17.593937 0 32.384278-12.014719 36.584199-28.302339H627.768473c-26.026621 0-47.141779 21.081101-47.141778 47.079747v47.141778l-0.029192-0.034057z m-18.838223 2.30491V395.361864c0-36.399321 29.547841-65.919187 66.009193-65.919186h188.381019v9.4033c0 28.95793-21.798724 52.837763-49.911318 56.140046v0.341784c0 22.20254-16.410467 40.571267-37.772536 43.654615-1.226041 23.484531-20.634715 41.89583-44.153303 41.876369h-14.291653c38.698148 44.167898 36.242416 110.846063-5.601112 152.04373l-130.279062 128.781784a35.380052 35.380052 0 0 1-25.218991 10.572174 35.386134 35.386134 0 0 1-25.225072-10.572174l-130.272981-128.904632c-41.791227-41.178206-44.233579-107.789474-5.573137-151.919666h-8.780548c-23.665762 0-42.969832-18.557256-44.153303-41.876369-21.669795-3.17822-37.738479-21.751288-37.771319-43.654615-28.450729-3.639202-49.798202-27.798786-49.911319-56.48183v-9.4033h188.379803c36.461352 0 66.009194 29.519866 66.009193 65.919187v50.718949a112.916224 112.916224 0 0 1 47.298683 25.470767 112.987987 112.987987 0 0 1 52.837763-26.777085v0.026759z m-192.642973 17.284994a113.542624 113.542624 0 0 1 73.639112-19.242039V395.361864c0-26.003511-21.113941-47.080963-47.141778-47.080963H227.288373c4.199922 16.282754 18.962287 28.303555 36.584199 28.303555h102.721107a9.425193 9.425193 0 0 1 8.803658 4.466294 9.433707 9.433707 0 1 1-8.803658 14.33909h-90.577458c0.034057 13.968115 11.37494 25.271292 25.343054 25.253047h75.416142a9.430059 9.430059 0 0 1 8.803659 4.466294 9.416679 9.416679 0 0 1 0 9.872795 9.425193 9.425193 0 0 1-8.803659 4.466294h-62.896654c1.382946 12.866137 12.249467 22.614869 25.191016 22.606355h30.07572l-0.029192 0.03284z m0 0" fill="#FFFFFF"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path></symbol><symbol id="csdnc-m-bronzeface-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M511.691057 781.706c-91.731737 0-166.054416-73.95292-166.054416-165.151913v-34.805954h332.138023v34.805954c0 91.198993-74.356735 165.151913-166.054416 165.151913h-0.029191zM460.002708 712.770362c11.208305 15.722035 28.897115 23.505209 51.655509 23.505208 22.762043 0 40.445987-7.783174 51.659157-23.505208 3.980986-5.576786 2.674668-13.299144-2.960501-17.283778-5.635168-3.982202-13.389151-2.646693-17.375001 2.926444-6.195888 8.655269-16.192747 13.080208-31.354063 13.080207-15.164965 0-25.156959-4.390882-31.357712-13.080207-3.980986-5.573137-11.769024-6.879455-17.370136-2.926444-5.607193 3.956659-6.913511 11.706993-2.960501 17.283778h0.063248z m-10.585554-89.740636c11.460081 0 20.767293-9.245179 20.767293-20.63958 0-11.39805-9.279236-20.643229-20.767293-20.643229-11.460081 0-20.767293 9.245179-20.767292 20.643229 0 11.394401 9.279236 20.63958 20.767292 20.63958z m124.547806 0c11.460081 0 20.767293-9.245179 20.767292-20.63958 0-11.39805-9.279236-20.643229-20.767292-20.643229-11.460081 0-20.767293 9.245179-20.767293 20.643229 0 11.394401 9.279236 20.63958 20.767293 20.63958z m67.814199-77.68213H295.820195a5.547594 5.547594 0 0 1-5.545161-5.545161v-79.676879c0-1.876768 0.945074-3.625823 2.517763-4.65239a5.547594 5.547594 0 0 1 5.269059-0.42206l72.110209 31.851534-22.169699-113.026908c-4.356826-22.201323 3.425132-33.409628 29.552707-49.478312 7.407333-4.547787 52.961826-30.203433 130.055261-30.203433 77.097084 0 98.083313 12.985335 130.05891 30.203433 20.363477 13.449966 38.613006 28.364371 38.613007 41.068738 0 2.836437-0.279752 5.635168-0.812496 8.409574l-22.169699 113.026908 72.081018-31.851534a5.554892 5.554892 0 0 1 5.254463 0.446387 5.570704 5.570704 0 0 1 2.532359 4.628063v79.676879a5.560974 5.560974 0 0 1-5.545161 5.545161h-85.843576z m-130.120942-332.138022c33.381653 0 41.040763 23.289921 38.01823 34.061571l-3.516355 17.873689h-68.968478l-3.52122-17.873689c-2.925228-14.852373 4.609818-34.061571 37.987823-34.061571z m-33.035005 249.965273a5.540296 5.540296 0 0 0-5.540296 5.540296v30.018554a5.554892 5.554892 0 0 0 5.540296 5.543945h66.136906a5.554892 5.554892 0 0 0 5.540297-5.543945v-30.018554a5.540296 5.540296 0 0 0-5.540297-5.540296h-66.136906z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-bronzemedal-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M428.615805 265.391745v82.609405h-74.199831c-9.307211 0-17.559881-3.800972-20.486325-9.402084l-28.802243-55.086721c-3.768131-7.221238 2.33775-15.003195 13.668902-17.402977a33.236912 33.236912 0 0 1 6.818639-0.717623h103.000858z m166.150504 0h102.997209c11.925929 0 21.613845 6.166696 21.613845 13.763774a9.224502 9.224502 0 0 1-1.121439 4.356826l-28.802242 55.086721c-2.926444 5.633952-11.21317 9.402083-20.492407 9.402084h-74.194966v-82.609405z m-83.075252 536.986675c-114.70785 0-207.68509-92.47247-207.685089-206.529594 0-114.053475 92.977239-206.53081 207.685089-206.530811 114.709067 0 207.68509 92.477336 207.68509 206.530811 0 114.057124-92.976023 206.529594-207.68509 206.529594z m-41.534585-536.986675h83.06917v82.609405h-83.06917v-82.609405z m41.534585 428.288617l89.175051 54.614793a11.65834 11.65834 0 0 0 8.685677 1.435247c6.585107-1.672428 10.63299-8.29524 9.127197-14.918054l-22.297412-105.240086 77.407243-71.48989a12.609495 12.609495 0 0 0 3.985851-8.157798c0.769925-6.742011-4.038152-12.844243-10.770433-13.670118l-102.940042-10.42865-41.349706-98.768095a11.835922 11.835922 0 0 0-11.00883-7.492476 11.834705 11.834705 0 0 0-11.003965 7.492476l-41.349706 98.768095-102.940042 10.42865a11.764159 11.764159 0 0 0-7.816014 4.143971c-4.399397 5.221623-3.948145 12.975605 1.026566 17.649888l77.407243 71.492323-22.293762 105.242519a12.985335 12.985335 0 0 0 1.369566 9.02746 11.766592 11.766592 0 0 0 7.268674 5.750718 11.769024 11.769024 0 0 0 9.169768-1.297804l89.176267-54.608711-0.029191 0.025542z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-silvermedal-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M428.615805 265.391745v82.609405h-74.199831c-9.307211 0-17.559881-3.800972-20.486325-9.402084l-28.802243-55.086721c-3.768131-7.221238 2.33775-15.003195 13.668902-17.402977a33.236912 33.236912 0 0 1 6.818639-0.717623h103.000858z m166.150504 0h102.997209c11.925929 0 21.613845 6.166696 21.613845 13.763774a9.224502 9.224502 0 0 1-1.121439 4.356826l-28.802242 55.086721c-2.926444 5.633952-11.21317 9.402083-20.492407 9.402084h-74.194966v-82.609405z m-83.075252 536.986675c-114.70785 0-207.68509-92.47247-207.685089-206.529594 0-114.053475 92.977239-206.53081 207.685089-206.530811 114.709067 0 207.68509 92.477336 207.68509 206.530811 0 114.057124-92.976023 206.529594-207.68509 206.529594z m-41.534585-536.986675h83.06917v82.609405h-83.06917v-82.609405z m41.534585 428.288617l89.175051 54.614793a11.65834 11.65834 0 0 0 8.685677 1.435247c6.585107-1.672428 10.63299-8.29524 9.127197-14.918054l-22.297412-105.240086 77.407243-71.48989a12.609495 12.609495 0 0 0 3.985851-8.157798c0.769925-6.742011-4.038152-12.844243-10.770433-13.670118l-102.940042-10.42865-41.349706-98.768095a11.835922 11.835922 0 0 0-11.00883-7.492476 11.834705 11.834705 0 0 0-11.003965 7.492476l-41.349706 98.768095-102.940042 10.42865a11.764159 11.764159 0 0 0-7.816014 4.143971c-4.399397 5.221623-3.948145 12.975605 1.026566 17.649888l77.407243 71.492323-22.293762 105.242519a12.985335 12.985335 0 0 0 1.369566 9.02746 11.766592 11.766592 0 0 0 7.268674 5.750718 11.769024 11.769024 0 0 0 9.169768-1.297804l89.176267-54.608711-0.029191 0.025542z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-columns-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M428.58783 344.138146h332.290061c22.948138 0 41.539451 18.49644 41.539451 41.321731 0 22.820425-18.591312 41.316866-41.539451 41.316866H428.58783c-22.948138 0-41.539451-18.49644-41.539451-41.316866 0-22.825291 18.591312-41.321731 41.539451-41.321731z m0 123.926271h332.290061c22.948138 0 41.539451 18.49644 41.539451 41.316866 0 22.824074-18.591312 41.320515-41.539451 41.320514H428.58783c-22.948138 0-41.539451-18.49644-41.539451-41.320514 0-22.820425 18.591312-41.316866 41.539451-41.316866z m0 123.926271h332.290061c22.948138 0 41.539451 18.490359 41.539451 41.315649s-18.591312 41.321731-41.539451 41.321731H428.58783c-22.948138 0-41.539451-18.49644-41.539451-41.321731s18.591312-41.315649 41.539451-41.315649zM262.437326 426.742686c-22.943273 0-41.534585-18.491575-41.534586-41.315649 0-22.825291 18.591312-41.316866 41.534586-41.316866 22.949354 0 41.540667 18.491575 41.540666 41.316866 0 22.824074-18.591312 41.315649-41.540666 41.315649z m0 123.926271c-22.943273 0-41.534585-18.49644-41.534586-41.316866 0-22.824074 18.591312-41.320515 41.534586-41.320514 22.949354 0 41.540667 18.49644 41.540666 41.320514 0 22.820425-18.591312 41.316866-41.540666 41.316866z m0 123.927487c-22.943273 0-41.534585-18.49644-41.534586-41.318082 0-22.825291 18.591312-41.321731 41.534586-41.321731 22.949354 0 41.540667 18.49644 41.540666 41.321731 0 22.820425-18.591312 41.318082-41.540666 41.318082z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-msmvp-l-K" viewBox="0 0 1024 1024"><path d="M512.272454 494.90475H97.067693V265.150915L512.272454 30.069639V494.90475z m0 0" fill="#E8E8E8"></path><path d="M512.272454 468.968136V995.0518L87.693585 751.189975V468.968136h424.578869z m0 0" fill="#E0E0E0"></path><path d="M512.272454 468.968136h429.62291V744.68636L512.272454 995.0518V468.968136z m0 0" fill="#F7F7F7"></path><path d="M931.808498 268.979862v209.766197H511.963511V39.500913c0-8.870556 139.956032 67.601345 419.844987 229.478949z m0 0" fill="#F0F0F0"></path><path d="M58.364679 468.968136H223.326848v41.226859H58.364679v-41.226859z m742.29631 0H965.623157v41.226859H800.660989v-41.226859zM532.60674 15.37417v164.95852h-41.226859V15.37417h41.226859z m0 804.129908v164.962168h-41.226859V819.504078h41.226859z m0 0" fill="#FFFFFF"></path><path d="M539.829194 142.408115l274.562729 159.792847c17.033218 9.900771 27.5239 28.1503 27.5239 47.859402v320.331293a55.421207 55.421207 0 0 1-27.5239 47.858186L539.829194 878.04269a55.257005 55.257005 0 0 1-55.670551 0L209.595914 718.249843a55.394448 55.394448 0 0 1-27.5239-47.858186V350.060364c0-19.709102 10.490682-37.924574 27.5239-47.859402L484.158643 142.408115a55.28498 55.28498 0 0 1 55.670551 0z m0 0" fill="#D9D9D9"></path><path d="M336.880419 307.0285l27.5239 10.366618c-12.267712 19.276095-30.478319 39.824452-47.231786 52.933851a186.022592 186.022592 0 0 0-15.042117-23.722928c13.142239-9.968884 27.747701-26.688294 34.722028-39.606732l0.027975 0.029191z m135.538391 66.697626h-11.023426c-0.621535 1.676076-1.059407 3.173355-1.680941 4.855513 1.680942 12.081616 3.800972 23.912673 6.789447 34.934882 2.741565-12.267712 4.670634-25.408735 5.91492-39.824452v0.034057z m33.219884 0H498.669232c-3.17822 30.29344-8.690542 56.10599-17.778816 78.118785 7.188398 13.142239 16.71941 23.727793 28.797377 31.135127-6.133856 5.292169-15.256188 16.724275-19.27123 24.349328a91.831474 91.831474 0 0 1-24.568265-27.960555 116.960458 116.960458 0 0 1-30.4844 29.861649 117.046816 117.046816 0 0 0-16.315595-22.231731c9.531012-5.91492 17.564746-12.923304 24.131609-21.388827-27.960555 16.500474-33.472877 22.011579-36.831111 26.245557a93.589044 93.589044 0 0 0-9.964019-24.350545c3.611227-2.332884 6.975543-6.974327 6.975543-15.660003v-10.148898h-10.153764v1.492413c0 19.679911-3.611227 46.177244-19.488949 63.11559a115.407229 115.407229 0 0 0-18.83944-20.117783c11.644961-12.918438 12.705584-29.855568 12.705584-43.401622v-23.912673h59.280561v30.70212l13.14224-6.789447c1.277126 6.352792 3.392291 14.818316 5.292168 20.111701a118.371379 118.371379 0 0 0 7.631135-12.077968 273.725907 273.725907 0 0 1-9.531012-38.114319c-1.273478 1.682158-2.332884 3.397156-3.611227 5.079315a89.344119 89.344119 0 0 0-7.631135-11.426025v8.028868h-71.581114v-25.622805h63.956061a63.597249 63.597249 0 0 0 4.451698-8.03495h-67.348352v-9.093141c-2.55182 5.079314-5.293385 10.152547-8.25267 15.042117v121.959496h-27.742835v-81.948948a188.157218 188.157218 0 0 1-8.68446 9.526147 191.159073 191.159073 0 0 0-15.878939-28.365587 183.967027 183.967027 0 0 0 38.546109-54.828863l22.012795 7.843989v-35.372754h19.057159v31.358928h5.07445v-49.54156h21.793859v49.54156h6.133856v-31.324872h19.89763v44.898902c6.974327-18.217905 11.208305-40.229484 13.763774-62.896654l27.742836 4.451698c-1.682158 12.267712-3.800972 24.349328-6.570512 36.213225h37.050047v25.624022l0.060816-0.090007z m179.786566-10.3727h-37.705639c-5.079314 16.938346-11.43089 31.980463-19.493815 43.625424a177.023108 177.023108 0 0 0-24.563399-17.778817c14.196781-18.619288 22.012795-49.978216 25.405086-82.171533l29.423778 4.232762a309.632622 309.632622 0 0 1-4.015043 24.7872h38.32839l4.451698-0.84047 20.739318 4.669417c-4.019908 21.793859-9.531012 46.177244-14.201647 62.241063l-24.563399-5.730041c1.896229-8.68446 4.232762-20.734452 6.133856-33.035005h0.060816z m-130.648821 30.921056h9.526147v-23.508857a679.175854 679.175854 0 0 1-9.526147 23.508857z m58.65781 67.315512l-21.793859 3.800972v42.780087h-27.304964v-38.109454c-15.445932 2.7367-30.079369 5.074449-42.784953 7.193263l-6.352792-31.139992c13.327119-1.491197 30.484401-3.611227 49.136529-5.91492v-18.434408H545.497203c-6.974327 0-16.096659 1.277126-17.997753 3.397156a249.295086 249.295086 0 0 0-9.312076-25.846607c5.079314-1.677293 8.471606-6.975543 12.486648-16.315594 3.439727-8.149283 6.409959-16.487095 8.908261-24.968431h-21.175973V329.012104h29.206057a360.867287 360.867287 0 0 0 4.456564-21.390044l29.637848 5.730041c-1.273478 5.292169-2.55182 10.366618-3.796107 15.660003h34.094412v29.019962h-43.188768l-2.7367 8.030085h25.622806v28.179491h17.997753l-0.218936 27.5239h-17.778817v14.604245l20.330637-2.740348 1.496062 27.960555h-0.094872z m61.186521-79.398344v10.80449c0 6.571728-0.218936 14.196781-1.059407 22.231731 7.193263 29.642713 21.390044 55.051449 47.017715 67.129416a113.631415 113.631415 0 0 0-20.116566 25.846607c-17.778817-10.153764-30.079369-25.846607-38.949925-45.521653a120.345451 120.345451 0 0 1-35.776569 46.172379 107.357683 107.357683 0 0 0-22.853266-20.952172c38.765045-29.206058 42.561152-70.308853 42.561152-95.713939v-9.962803h29.238898l-0.062032-0.034056zM415.874948 630.818981l-29.642713 52.932635h-29.642714l-29.639064-52.932635v82.570483h-38.114319V565.151571h40.229483l42.347081 78.338937 42.343432-78.338937h40.228268v148.237893H415.874948v-82.570483z m125.978187 38.109454l35.995506-103.747673h41.287674L563.024243 713.423521h-42.343432l-56.10599-148.242759h41.282809l35.995505 103.747673z m87.868734-103.747673h88.923275c14.824397 0 25.594831 3.3631 32.289406 10.057675s10.058891 17.47109 10.058891 32.289406v21.171108c0 14.824397-3.364316 25.594831-10.058891 32.289406s-17.465008 10.060108-32.289406 10.060108h-50.813822v42.342215h-38.109453V565.151571v0.029191z m93.190093 42.347081c0-8.471606-4.232762-12.703151-12.704367-12.703151h-42.343432v46.581059h42.343432c8.471606 0 12.704368-4.233978 12.704367-12.705584v-21.172324z m0 0" fill="#FFFFFF"></path><path d="M535.876183 53.422808a47.172186 47.172186 0 0 0-47.20381 0L126.368623 262.162439c-15.261053 8.780549-24.725168 25.375895-24.725168 43.373648v413.151628c0 17.992887 9.43614 34.588234 24.725168 43.367565l362.30375 208.739631a47.172186 47.172186 0 0 0 47.20381 0L898.179933 762.05528c15.256188-8.780549 24.720303-25.374678 24.720303-43.367565V305.536087c0-17.997753-9.431275-34.593099-24.720303-43.373648L535.876183 53.422808z m15.722035-28.926306l362.308615 208.740847a83.320947 83.320947 0 0 1 41.192802 72.298738v413.151628c0 29.978415-15.754875 57.63246-41.192802 72.297521L551.598218 999.722434a78.571253 78.571253 0 0 1-78.68072 0L110.613748 790.986452a83.329461 83.329461 0 0 1-41.197668-72.297521V305.536087c0-29.984497 15.754875-57.637326 41.197668-72.298738L472.917498 24.496502a78.571253 78.571253 0 0 1 78.68072 0z m0 0" fill="#D9D9D9"></path></symbol><symbol id="csdnc-m-goldface-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M511.691057 814.897908c-91.731737 0-166.054416-73.951704-166.054416-165.151913v-34.807169h332.138023v34.807169c0 91.200209-74.356735 165.151913-166.054416 165.151913h-0.029191z m-51.688349-68.906446c11.208305 15.728116 28.897115 23.508857 51.655509 23.508858 22.762043 0 40.445987-7.780741 51.659157-23.508858 3.980986-5.573137 2.674668-13.294278-2.960501-17.280129a12.487864 12.487864 0 0 0-17.375001 2.926444c-6.195888 8.656485-16.192747 13.075342-31.354063 13.075342-15.164965 0-25.156959-4.389666-31.357712-13.075342-3.980986-5.573137-11.769024-6.879455-17.370136-2.926444-5.607193 3.95301-6.913511 11.706993-2.960501 17.280129h0.063248z m-10.585554-89.769827c11.460081 0 20.767293-9.245179 20.767293-20.638364 0-11.399266-9.279236-20.645662-20.767293-20.645662-11.460081 0-20.767293 9.246396-20.767292 20.645662 0 11.393184 9.279236 20.638364 20.767292 20.638364z m124.547806 0c11.460081 0 20.767293-9.245179 20.767292-20.638364 0-11.399266-9.279236-20.645662-20.767292-20.645662-11.460081 0-20.767293 9.246396-20.767293 20.645662 0 11.393184 9.279236 20.638364 20.767293 20.638364z m228.324669-79.957848H221.059644c-22.858131 0.052301-41.436064-18.428327-41.50661-41.286457v-23.229106a41.411738 41.411738 0 0 1 55.955168-38.703014l110.099248 40.636948V493.688439c0-91.198993 74.35187-165.147048 166.050767-165.147048 91.69768 0 166.054416 73.948055 166.054415 165.147048v19.993719l110.100465-40.636948a41.411738 41.411738 0 0 1 55.955167 38.703014v23.229106c-0.071762 22.858131-18.648479 41.338759-41.50661 41.286457h0.027975zM677.746689 378.793277c-30.422369-53.431322-97.025122-85.872767-166.054416-85.872767-69.282286 0-135.913015 32.693221-166.054415 86.467543v-50.847878c0-68.407759 55.769072-123.864239 124.547805-123.864239h83.041196c68.783599 0 124.547806 55.45648 124.547805 123.864239v50.253102h-0.027975z m-186.822925 114.893946c-11.460081 0-20.767293 9.251261-20.767292 20.644445 0 11.39805 9.279236 20.645662 20.767292 20.645662h41.506611c11.455216 0 20.767293-9.247612 20.767292-20.645662 0-11.393184-9.279236-20.644445-20.767292-20.644445h-41.506611z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-greenmoderator-K" viewBox="0 0 1024 1024"><path d="M552.480044 24.486771l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#D9D9D9"></path><path d="M515.833812 89.719959a8.544584 8.544584 0 0 0-8.286726 0L131.6316 298.460806a8.095765 8.095765 0 0 0-4.199921 7.069199v413.15771c0 2.893604 1.587286 5.599895 4.199921 7.064333l375.916702 208.74328a8.538503 8.538503 0 0 0 8.286726 0l375.916702-208.744496a8.088468 8.088468 0 0 0 4.199922-7.064334v-413.156493a8.095765 8.095765 0 0 0-4.199922-7.069199L515.833812 89.719959z m36.646232-65.233188l375.916701 208.744497a82.806447 82.806447 0 0 1 42.718056 72.298737v413.15771a82.812529 82.812529 0 0 1-42.718056 72.297521L552.480044 999.724867a84.150471 84.150471 0 0 1-81.610814 0L94.952528 790.985236A82.825908 82.825908 0 0 1 52.234472 718.687715V305.530005a82.817394 82.817394 0 0 1 42.718056-72.298737L470.86923 24.486771a84.176013 84.176013 0 0 1 81.610814 0z m0 0" fill="#EBEBEB"></path><path d="M402.213344 630.317861c-52.558011 26.094734-85.597881 41.069955-99.109879 44.960933 16.909154-6.755391 81.017254-79.307121 101.228692-82.60454 11.023426-1.805005 18.368728 3.365532 22.041987 15.503099a36.838409 36.838409 0 0 1 3.425131-1.957044c18.810248-9.279236 32.199399-13.887838 40.200293-13.887838-3.392291 29.364178-13.142239 50.068223-29.206058 62.147406-16.068684 12.081616-61.96496 46.675932-137.657205 103.779297 43.155928-60.558904 76.190932-103.186953 99.10623-127.941313h-0.029191z m261.516578-194.946665l2.898469 1.991101c40.632083 28.241523 86.310639 93.721622 137.063645 196.443944-83.041195-73.735201-138.307931-121.650553-165.831831-143.75822-27.309829-21.955628-47.298683-46.581059-59.941018-73.918864l-1.278343-0.437872-18.182632-6.789447c27.309829-29.109969 54.178137-42.280184 80.552623-39.482669 39.572676 4.204787 105.552678 65.45334 142.916533 96.027747-24.597456-9.341268-73.886023-20.516733-118.224205-30.07572h0.026759zM469.965511 177.460979c14.886429-6.195888 28.774267-9.650211 41.725546-10.428649 14.880348-0.874528 28.768186 0.935343 41.725546 5.478264v212.355723l-83.451092-5.669225V177.433004v0.027975z m0 212.388564l83.418252 7.098391v218.831363l-83.445011-14.386526V389.878735l0.026759-0.029192z m0 227.984103l83.418252 6.97311v179.034886c-13.915813 4.609818-27.803651 6.570512-41.72433 5.886945-13.91703-0.683567-27.804868-4.013826-41.720681-9.995643V617.798373l0.026759 0.035273z m0 0" fill="#FFFFFF"></path></symbol><symbol id="csdnc-settop" viewBox="0 0 1024 1024"><path d="M0 0h1024v1024z" fill="#7ED321"></path><path d="M571.733333 157.866667l17.066667-12.8-83.2-83.2L552.533333 14.933333l183.466667 183.466667-46.933333 46.933333-81.066667-81.066666-17.066667 12.8 100.266667 100.266666-14.933333 14.933334-102.4-102.4c-6.4 4.266667-10.666667 8.533333-17.066667 10.666666l72.533333 72.533334-110.933333 110.933333 36.266667 36.266667-14.933334 14.933333L313.6 209.066667l14.933333-14.933334 36.266667 36.266667 110.933333-110.933333 61.866667 61.866666c6.4-4.266667 10.666667-8.533333 17.066667-10.666666l-96-96 14.933333-14.933334 98.133333 98.133334z m-72.533333 209.066666l17.066667-17.066666-117.333334-117.333334-17.066666 17.066667 117.333333 117.333333z m27.733333-29.866666l14.933334-14.933334L426.666667 204.8l-14.933334 14.933333 115.2 117.333334z m27.733334-27.733334l17.066666-14.933333-117.333333-117.333333-17.066667 14.933333 117.333334 117.333333z m27.733333-25.6l14.933333-14.933333L482.133333 149.333333l-14.933333 14.933334 115.2 119.466666z m10.666667-202.666666L554.666667 44.8l-21.333334 21.333333 38.4 38.4 21.333334-23.466666z m57.6 57.6l-40.533334-40.533334-21.333333 21.333334 40.533333 40.533333 21.333334-21.333333zM704 192l-38.4-38.4-21.333333 21.333333L682.666667 213.333333l21.333333-21.333333zM571.733333 471.466667l12.8-21.333334c8.533333 10.666667 17.066667 19.2 25.6 27.733334 6.4 6.4 12.8 6.4 21.333334-2.133334l172.8-172.8-38.4-38.4 17.066666-17.066666 87.466667 87.466666-17.066667 17.066667-29.866666-29.866667-177.066667 177.066667c-14.933333 14.933333-29.866667 14.933333-44.8 0l-29.866667-27.733333z m302.933334 21.333333l-44.8 44.8c-27.733333 25.6-55.466667 40.533333-83.2 44.8-27.733333 2.133333-59.733333-6.4-96-25.6l6.4-25.6c34.133333 19.2 64 27.733333 87.466666 25.6 23.466667-4.266667 46.933333-14.933333 68.266667-36.266667l44.8-44.8 17.066667 17.066667z m132.266666-21.333333l-17.066666 19.2-55.466667-55.466667c-10.666667 8.533333-19.2 17.066667-29.866667 23.466667l51.2 51.2-119.466666 119.466666-17.066667-17.066666 102.4-102.4-76.8-76.8-104.533333 100.266666-17.066667-17.066666 121.6-121.6 42.666667 42.666666c10.666667-6.4 19.2-14.933333 29.866666-23.466666L861.866667 362.666667l17.066666-17.066667 128 125.866667zM802.133333 682.666667h-25.6c2.133333-25.6 2.133333-55.466667-2.133333-89.6h23.466667c4.266667 34.133333 4.266667 64 4.266666 89.6z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-memberhead" viewBox="0 0 1303 1024"><path d="M1061.51168438 433.79527648A78.51879902 78.51879902 0 1 1 1129.35192643 472.74060007h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643684 67.133573-80.79584389 67.13357302H319.35199503c-41.30088817 0-76.00619753-28.81639958-80.717325-66.97653526L189.01078861 472.74060007H187.12633728a78.51879902 78.51879902 0 1 1 67.76172401-38.86680556l193.31328323 119.81968805 158.13686148-336.06046024A78.5973179 78.5973179 0 0 1 658.23913228 80.14660493a78.51879902 78.51879902 0 0 1 51.58685077 137.721974l158.13686147 335.82490362 193.54883986-119.89820607z" fill="#FDD840"></path><path d="M1050.8331274 394.22180104a78.51879902 78.51879902 0 1 1 78.51879903 78.51879903h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643684 67.133573-80.79584389 67.13357302H659.02432018C658.47468805 793.25433807 658.23913228 505.32590231 658.23913228 80.14660493a78.51879902 78.51879902 0 0 1 51.58685077 137.721974l158.13686147 335.82490362 193.54883986-119.89820607A78.51879902 78.51879902 0 0 1 1050.8331274 394.22180104z" fill="#FFBE00"></path></symbol><symbol id="csdnc-m-memberhead" viewBox="0 0 1303 1024"><path d="M1062.74839935 433.79527648A78.51879902 78.51879902 0 1 1 1130.58864141 472.74060007h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643685 67.133573-80.79584389 67.13357302H320.58871c-41.30088817 0-76.00619753-28.81639958-80.71732499-66.97653526L190.24750358 472.74060007H188.36305226a78.51879902 78.51879902 0 1 1 67.761724-38.86680556l193.31328324 119.81968805 158.13686147-336.06046024A78.5973179 78.5973179 0 0 1 659.47584726 80.14660493a78.51879902 78.51879902 0 0 1 51.58685076 137.721974l158.13686148 335.82490362 193.54883985-119.89820607z" fill="#D6D6D6"></path><path d="M1052.06984238 394.22180104a78.51879902 78.51879902 0 1 1 78.51879903 78.51879903h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643685 67.133573-80.79584389 67.13357302H660.26103515C659.71140302 793.25433807 659.47584726 505.32590231 659.47584726 80.14660493a78.51879902 78.51879902 0 0 1 51.58685076 137.721974l158.13686148 335.82490362 193.54883985-119.89820607A78.51879902 78.51879902 0 0 1 1052.06984238 394.22180104z" fill="#C1C1C1"></path></symbol><symbol id="csdnc-m-passwords-visible" viewBox="0 0 1433 1024"><path d="M720.69629629 932.6176963c-213.05768889 0-407.36918519-120.58848889-582.93448888-361.67534074-23.88337036-32.71571111-23.88337036-85.169 0-117.88471112C313.32711111 211.97079259 507.63860741 91.3823037 720.69629629 91.3823037s407.36918519 120.58848889 582.9344889 361.67534074c23.88337036 32.71571111 23.88337036 85.169 0 117.88471112C1128.06548147 812.02920741 933.75398519 932.6176963 720.69629629 932.6176963z m0-721.00740741C542.51734074 211.61028889 377.85727408 309.39691852 222.48017777 512 377.85727408 714.60308148 542.4272148 812.38971111 720.69629629 812.38971111c178.17895556 0 342.83902223-97.78662964 498.21611851-300.38971111C1063.53531852 309.39691852 898.96537777 211.61028889 720.69629629 211.61028889z m0 495.69259259a195.30288148 195.30288148 0 1 1 0-390.60576296 195.30288148 195.30288148 0 0 1 0 390.60576296zM720.69629629 602.12592592a90.12592592 90.12592592 0 1 0 0-180.25185184 90.12592592 90.12592592 0 0 0 0 180.25185184z"></path></symbol><symbol id="csdnc-m-passwords-invisible" viewBox="0 0 1433 1024"><path d="M942.22390555 558.12194259l77.12901636 188.37445093a51.82240741 51.82240741 0 0 1-95.95782439 39.29865895L842.55214197 588.26530957c-25.73846234 5.26861142-51.82240741 8.72343858-78.51094723 10.36448148V814.29737654a51.82240741 51.82240741 0 1 1-103.64481481 0V596.12504136a563.82779259 563.82779259 0 0 1-76.00619753-13.99205L501.21521851 785.79505247a51.82240741 51.82240741 0 1 1-95.95782437-39.29865895L486.70494443 547.4119784a626.18742285 626.18742285 0 0 1-80.67021418-44.74001173L297.81226943 632.05524382a51.82240741 51.82240741 0 0 1-79.46102469-66.50542283L323.4643611 439.70774167C262.48666173 385.89880864 204.87741882 318.78879105 150.98211511 238.63680092a51.82240741 51.82240741 0 1 1 86.0251963-57.86835493C379.60530247 393.15394567 541.982179 496.28053642 726.81543209 496.28053642s347.21012964-103.12659075 489.72175-315.33934908a51.82240741 51.82240741 0 1 1 86.11156698 57.78198426c-58.90480309 87.57986852-122.12814011 159.61301481-189.58364044 215.58121482l93.10759198 111.41817592a51.82240741 51.82240741 0 1 1-79.46102469 66.41905217l-98.20346204-117.46412346a607.87683889 607.87683889 0 0 1-86.37067901 43.53082221z"></path></symbol><symbol id="csdnc-m-calendar" viewBox="0 0 1024 1024"><path d="M807.62533584 343.07123625V216.37466416H216.37466416v126.69657209h591.25067168z m-1e-8 84.46438187H216.37466416v380.08971771h591.25067168V427.53561812zM216.37466416 131.91028227h591.25067168c46.64967827 0 84.46438188 37.81470362 84.46438189 84.4643819v591.25067167c0 46.64967827-37.81470362 84.46438188-84.46438189 84.46438189H216.37466416c-46.64967827 0-84.46438188-37.81470362-84.46438189-84.46438189V216.37466416C131.91028227 169.7249859 169.7249859 131.91028227 216.37466416 131.91028227z m295.62533584 380.08971773h84.46438188v84.46438188H512V512z m168.92876375 0h84.46438114v84.46438188h-84.46438114V512z m-337.8575275 168.92876375h84.46438187v84.46438114H343.07123625v-84.46438114z m168.92876375 0h84.46438188v84.46438114H512v-84.46438114z m168.92876375 0h84.46438114v84.46438114h-84.46438114v-84.46438114z"></path></symbol><symbol id="csdnc-m-add" viewBox="0 0 1024 1024"><path d="M512 941.19253477c-228.91985185-216.94597921-343.31540198-388.6358681-343.31540198-515.00529176a343.31540198 343.31540198 0 1 1 686.63080397 0c0 126.36942365-114.39555014 298.05931254-343.31540199 515.00529176zM512 589.25079403a171.68988889 171.68988889 0 1 0 0-343.31540288A171.68988889 171.68988889 0 0 0 512 589.25079403z"></path></symbol><symbol id="csdnc-m-namecar" viewBox="0 0 1194 1024"><path d="M200.79252499 111.46536391h801.06927132c55.3523398 0 100.18998795 44.83764815 100.18998793 100.1148833v600.83950558c0 55.27723427-44.83764815 100.11488242-100.18998793 100.1148833H200.79252499A100.11488242 100.11488242 0 0 1 100.60253702 812.41975279V211.58024721C100.60253702 156.30301204 145.44018519 111.46536391 200.79252499 111.46536391z m-2e-8 100.1148833v600.83950558h801.06927134V211.58024721H200.79252499zM300.90740741 311.69512963h150.20987683v150.20987684H300.90740741v-150.20987684z m250.32475925 0H901.74691388v150.20987684H551.23216666v-150.20987684zM300.90740741 562.09499353h600.83950647v150.20987684H300.90740741v-150.20987684z"></path></symbol><symbol id="csdnc-m-moderator" viewBox="0 0 1024 1024"><path d="M407.37555556 623.56022223c-49.60844444 24.61613333-80.78417777 38.76982223-93.55071112 42.46106666 15.96404445-6.37151111 76.45813333-74.85937777 95.54915556-77.96284445 10.41542223-1.6928 17.3512 3.174 20.80733332 14.64742223 1.15204444-0.75235556 2.21004445-1.38715556 3.22102224-1.8808889 17.7508889-8.72262223 30.39986668-13.1192 37.92342221-13.11920001-3.19751112 27.7196-12.39035557 47.25733333-27.55502222 58.66022225-15.16466666 11.37937777-58.47213333 44.05982223-129.94591111 97.97079999 40.74475557-57.15551111 71.92048889-97.43004445 93.55071112-120.77657777z m246.84315556-183.99795557l2.72728888 1.8808889c38.34662223 26.6616 81.466 88.47231111 129.38164444 185.40862221-78.38604445-69.59288889-130.5572-114.80475556-156.53697777-135.68262221-25.76817777-20.71328889-44.62408889-43.96577777-56.56773334-69.75746667l-1.19906666-0.4232-17.1396-6.39502222c25.79168889-27.48448889 51.13666667-39.89835556 76.01142222-37.2416 37.35915556 3.97337777 99.61657777 61.76368889 134.90675555 90.63533333-23.22897777-8.84017777-69.75746667-19.39666667-111.58373334-28.42493332zM549.21808889 51.74648888l354.80617778 197.04662223a78.0804 78.0804 0 0 1 40.32155556 68.22924445v389.95528888a78.0804 78.0804 0 0 1-40.32155556 68.22924445l-354.80617778 197.04662223a79.58511111 79.58511111 0 0 1-77.04591112 0L117.366 775.20688889A78.0804 78.0804 0 0 1 77.04444444 706.97764444V317.02235556c0-28.30737777 15.42328889-54.40471111 40.32155556-68.22924445L472.17217777 51.74648888a79.46755556 79.46755556 0 0 1 77.04591112 2e-8zM514.58622223 113.32208888a8.08782224 8.08782224 0 0 0-7.8056889 0l-354.80617777 197.02311112a7.66462223 7.66462223 0 0 0-3.97337779 6.67715556v389.95528888c0 2.75080001 1.50471111 5.29 3.97337779 6.65364445l354.80617777 197.04662221a8.08782224 8.08782224 0 0 0 7.8056889 2e-8l354.80617776-197.04662223a7.66462223 7.66462223 0 0 0 3.9968889-6.65364445V317.02235556a7.64111111 7.64111111 0 0 0-3.9968889-6.67715556L514.58622223 113.32208888z m-43.26044446 82.80613335c14.03613333-5.85426667 27.15533333-9.12231111 39.38111111-9.85115555a99.85168889 99.85168889 0 0 1 39.38111112 5.19595555v200.43222221l-78.76222223-5.33702221v-190.44z m0 200.45573333l78.76222223 6.70066667v206.5451111l-78.76222223-13.58942222v-199.65635555z m0 215.1972l78.76222223 6.58311111v168.97435556a106.81097778 106.81097778 0 0 1-39.38111112 5.54862222 112.92386667 112.92386667 0 0 1-39.38111111-9.40444446v-171.70164443z"></path></symbol><symbol id="csdnc-blogexpert" viewBox="0 0 1024 1024"><path d="M814.66595322 678.72090158c27.28790414-49.4323607 42.81762539-106.26236606 42.81762538-166.72090158 0-72.93418327-22.60135568-140.59039435-61.1796362-196.34541431a980.97567257 980.97567257 0 0 0 40.71492003-31.83508021c14.3880795-11.86362114 26.94007909-21.60878179 37.65478688-29.23911774l52.87910078 45.68506103 6.3020564 74.66482493 38.78915701 64.11130434-17.07978473 72.95842196 17.07978473 72.95842196-38.78915701 64.11130434-6.3020564 74.66482493-56.70154035 48.98636903-29.06702314 69.06447828-69.06326634 29.06702312-48.98636903 56.70032843-74.66603685 6.3020564-64.11130434 38.78915701-72.95842198-17.07978473-72.95842195 17.07978473-64.11130434-38.78915701-74.66482494-6.3020564-48.98636902-56.70032843-69.06326635-29.06702312-29.06823505-69.06326635-56.70032844-48.98636902-6.30205638-74.66724879-38.78915704-64.11009242L68.43218542 512l-17.0785728-72.95842196 38.78794511-64.11130434 6.30205638-74.66482493 56.70154036-48.98636903 29.06823507-69.06447828 69.06326633-29.06702312 48.98636903-56.70032843 74.66603687-6.3020564 64.11009241-38.78915701 72.95842195 17.07978473 72.95842197-17.07978473 64.11130434 38.78915701 74.66603686 6.3020564 22.42804911 25.95962455c-69.22687743 2.08452635-129.82478534 18.10144502-181.79493568 48.05317991a348.21770153 348.21770153 0 0 0-52.36766467-3.94242104c-190.80445243 0-345.48236667 154.67791423-345.48236666 345.48236667S321.19554757 857.48236667 512 857.48236667c121.72664289 0 228.75131539-62.95390746 290.28968402-158.08102468h-23.00735351l5.556717-52.69488681c1.20466231-11.60547922 8.68471847-34.30257766-27.42970038-33.45180005-12.49988644 0.30298349-18.69892845 2.00938644-18.69892845 2.00938643s-1.08589279 14.02328738-2.40205304 24.38411045l-6.29599671 59.75318998H697.45012838l6.46203166-58.89150496 4.27085514-45.76747254c104.60201661-19.64181302 113.6272885 15.65212657 110.3938488 46.88123981l-3.91091076 37.09729728zM972.6439635 128.99494725a1002.89955715 1002.89955715 0 0 1-57.47717806 60.54337088c-3.21889648 3.11830598-172.39760006 25.92326654-188.7271977 45.26451997s130.10595402 7.09950891 125.67754746 10.69652878a945.37147787 945.37147787 0 0 1-70.21702743 51.8332018c-4.52051351 3.02377514-159.41536391 10.83832505-175.30139373 26.77162029s102.30903763 17.44336491 96.45297291 20.57500216c-67.66348267 36.19198263-146.52644668 65.41170944-235.46300544 89.610394-58.64548236 15.95874586-107.90090073 72.10037275-147.76383122 168.42488068-18.42866718 46.73459582-30.12625338 77.03779153-35.08912276 90.90716332-2.74139453 7.81939765-16.64591238 12.7410613-26.98007293 9.07738506s-16.8895111-16.4035256-13.61728951-26.70132813c69.54803991-196.2945131 180.30910469-350.8185117 306.73077957-465.77044398 28.35198211-25.77783447 68.90086721-46.02925027 101.97212-53.78562735 138.62948527-32.51012739 229.1912474-28.82221247 319.80148691-27.44666748zM438.22473457 673.0902566c9.56943023 3.48309808 29.52513414 6.94680523 45.66445817 6.94680523 17.38640401 0 27.0685441-4.79683446 27.84175794-12.23932067 0.70413361-6.79046576-6.41355431-7.70789972-26.05173154-12.33991117-27.13156466-6.62564274-44.44525263-16.88345143-42.74733323-33.27122188 1.97060455-19.0297864 27.54241026-33.41301815 66.77755899-33.41301817 19.12916499 0 37.67538976 1.34282277 47.2848138 4.47930777l-3.29767219 23.99629161c-6.23782389-2.16087818-30.1165579-5.1628385-46.26557739-5.16283849-16.37443919 0-24.8531289 5.13254015-25.44091684 10.75591352-0.73806775 7.12132371 7.7745561 7.4533936 29.04520832 13.08888634 28.8052454 7.27766319 41.40329851 17.52698834 39.75385643 33.4178659-1.93182267 18.69286879-24.94038813 34.58495826-70.87874336 34.58495826-19.12431725 0-35.60540663-3.47825035-44.68642748-6.95044103l2.99953646-23.89327722z m137.84294015-81.08080309c7.46551295-0.80714799 18.93404363-1.63005111 34.70978747-1.63005112 26.34623148 0 47.64597012 4.56899088 60.83544695 14.16993138 11.84423019 8.95376779 19.72543647 23.45092135 17.54274349 44.45373617-2.01423418 19.54364639-12.21629391 33.22759228-27.07339183 41.69052683-13.59062699 7.9817968-30.71767712 11.39217885-56.47127292 11.39217886-15.18553201 0-29.67056622-0.81684347-40.68825747-2.44204685l11.14494431-107.6354872z m21.77118094 86.24242966c2.53900157 0.49083324 5.87545565 0.97803068 12.46110456 0.97803065 26.35471502 0 44.93487394-12.89982464 46.80367605-31.03399187 2.70988423-26.21413068-13.77120513-35.38241078-41.54024703-35.22243551-3.59580795 0-8.59503536 0-11.24189904 0.48113777l-6.48263454 64.79725896z m-175.81525372 22.08870761c-5.57489603 2.1366395-17.11977855 3.59338407-33.25061902 3.59338407-46.39161852 0-71.43138524-24.07627925-68.47184259-55.90408784 3.54369477-37.92141234 40.63978013-59.25629707 81.2565335-59.25629707 15.72969035 0 24.99007743 1.39978368 33.66873623 3.74729968l-2.78502414 25.54999089c-5.77122933-2.1511827-19.30004766-4.1229992-30.24865871-4.1229992-23.89691303 0-44.19559425 7.87029888-46.52250738 32.76463353-2.07483087 22.26443804 12.17387622 32.90400591 39.05699444 32.90400591 9.35612986 0 23.15520946-1.48098324 29.53240576-3.62125854l-2.23480616 24.34775244z"></path></symbol><symbol id="csdnc-subtraction" viewBox="0 0 8192 1024"><path d="M1557.7101644 171.13550831m320.47612532 0l4486.66576698 0q320.47612537 0 320.47612785 320.47612535l0 0q0 320.47612537-320.47612785 320.47612776l-4486.66576698 0q-320.47612537 0-320.47612532-320.47612776l0 0q0-320.47612537 320.47612532-320.47612535Z"></path></symbol><symbol id="csdnc-upload" viewBox="0 0 1024 1024"><path d="M216.37466416 723.16095396v84.46438188h591.25067168v-84.46438188c0-23.32483876 18.90735218-42.23219094 42.23219093-42.23219021s42.23219094 18.90735218 42.23219096 42.23219021v84.46438188c0 46.64967827-37.81470362 84.46438188-84.46438189 84.46438189H216.37466416c-46.64967827 0-84.46438188-37.81470362-84.46438189-84.4643819v-84.46438187c0-23.32483876 18.90735218-42.23219094 42.23219096-42.23219021s42.23219094 18.90735218 42.23219094 42.23219021zM469.76780906 275.55040991L246.55378774 499.53305726a42.30820888 42.30820888 0 0 1-59.99082735 0c-16.56346508-16.62259056-16.56346508-43.57095155 0-60.19354139L480.51167818 144.38144832A42.21952103 42.21952103 0 0 1 512 131.93984464a42.20262858 42.20262858 0 0 1 31.48409853 12.44160369l293.95294108 294.95806754c16.56346508 16.62259056 16.56346508 43.57095155 0 60.19354139a42.30820888 42.30820888 0 0 1-59.99082735 0L554.23219094 275.55040991V680.92876375c0 23.32483876-18.90735218 42.23219094-42.23219094 42.23219021s-42.23219094-18.90735218-42.23219094-42.23219021V275.55040991z"></path></symbol><symbol id="csdnc-Certification-Corporate" viewBox="0 0 1024 1024"><path d="M512 927.84458971L443.60305929 943.85339507l-60.10535552-36.36205588-69.99911681-5.91207297-45.92329004-53.15683439-64.74777951-27.24994924-27.24994924-64.74346099-53.15683439-45.92760857-5.91207297-69.9991168L80.14660493 580.39694071 96.15972882 512 80.14660493 443.60305929l36.36205588-60.10535552 5.91207297-69.99911681 53.15683439-45.92329004 27.24994924-64.74777951 64.74777951-27.24994924 45.92329005-53.15683439 69.9991168-5.91207297L443.60305929 80.14660493 512 96.15972882 580.39694071 80.14660493l60.10535552 36.36205588 69.99911681 5.91207297L756.42902159 175.57756817l64.743461 27.24994924 27.24994924 64.74777951 53.15683439 45.92329004 5.91207297 69.99911681 36.36205588 60.10535551L927.84458971 512 943.85339507 580.39694071l-36.36205588 60.10535552-5.91207297 69.99911681-53.15683439 45.92760856-27.24994924 64.74346099-64.74346099 27.24994924-45.92760857 53.15683439-69.9991168 5.91207297-60.10535552 36.36205588z" fill="#2E98FF"></path><path d="M512 512m-323.8900463 0a323.8900463 323.8900463 0 1 0 647.7800926 0 323.8900463 323.8900463 0 1 0-647.7800926 0Z" fill="#FFFFFF"></path><path d="M679.40796859 353.94165741l71.25149166 71.25149165-288.27509681 288.2750968-165.01981933-165.01550079 71.25149165-71.25581019 93.76832768 93.76832769z" fill="#2E98FF"></path></symbol><symbol id="csdnc-VIPcaise" viewBox="0 0 1280 1024"><path d="M1084.03645628 539.26614374c0-109.4640393-201.41102529-257.76249518-449.85088529-257.76249518-248.44525817 0-449.84548714 150.69524221-449.84548714 257.76249517 449.84548714 53.61999717 449.84548714 57.51207588 899.69637243 1e-8z" fill="#C03A3A"></path><path d="M1030.2545141 432.36083578a78.72687392 78.72687392 0 0 1-10.48324117-39.39582595c0-43.19073767 34.52667894-78.20325168 77.11822002-78.20325169 42.58614292 0 77.11282186 35.01251401 77.11282186 78.20325169s-34.52667894 78.20325168-77.11282186 78.20325167c-0.60999292 0-1.22538401-0.00539816-1.82458059-0.02159268l-47.19077974 402.29303018c-4.46968264 38.11646029-38.62928618 66.94807257-79.30447783 66.94807256H301.31837223c-40.5672283 0-74.67824834-28.69125994-79.27748699-66.68896052L173.34401678 471.14127066a70.71599344 70.71599344 0 0 1-1.8569696 0.02159267C128.89550608 471.16286333 94.36882715 436.15034932 94.36882715 392.95961165s34.52667894-78.20325168 77.11822003-78.20325168 77.11822002 35.01251401 77.11822002 78.20325168c0 14.41850523-3.84889339 27.93011833-10.56421368 39.52538198l189.90213231 119.33728757L583.29164838 217.09811285a78.47855821 78.47855821 0 0 1-26.22429741-58.75905256C557.06735097 115.15911894 591.5940299 80.14660493 634.18557099 80.14660493s77.11282186 35.01251401 77.11282185 78.20325168c0 23.5090192-10.22952729 44.59965938-26.4240296 58.93719211l155.26749002 334.54602881 190.11266084-119.47224175z" fill="#FFBE00"></path><path d="M634.18557099 939.19477656H301.03226938c-40.51324663 0-74.57568316-28.65887093-79.16952367-66.60258986l-48.63209045-401.99073277c-0.6153911 0.0161945-1.23618034 0.02159267-1.85157142 0.02159265C128.85232076 470.62304658 94.36882715 435.6591161 94.36882715 392.52775826s34.47809543-78.09528833 77.01025669-78.09528834c42.53216125 0 77.01025667 34.9639305 77.01025666 78.09528834 0 14.39691255-3.84349521 27.89233115-10.54801916 39.4714003l189.6376221 119.18074071 155.13253584-334.25992595a78.39218754 78.39218754 0 0 1-26.19190841-58.67808005C556.41957087 115.11053543 590.8976663 80.14660493 633.42982755 80.14660493c0.75574344 471.03329432 0 625.92291263 0.75574344 859.04817163z" fill="#FDD840"></path><path d="M445.59519336 786.6857501L504.41902394 617.80408179h67.47709297l-91.69867026 241.26029733h-69.20450656L319.29426981 617.80408179h67.47709298l58.82383057 168.88166831z m257.79488419 72.37862902H578.81656757v-48.25421874h31.14202796V666.06369868h-31.14202796V617.80408179h124.57350998v48.25421873h-31.14742612v144.74646169h31.14742612v48.25961691z m31.14742611-241.26029733h145.33486195c24.22157729 0 41.80880681 5.46294544 52.77248487 16.37264184 10.95288173 10.90969639 16.43741984 28.43754606 16.43741985 52.55655818v34.46729909c0 24.12441029-5.48453812 41.64686179-16.43741985 52.55655818-10.96367807 10.90969639-28.55090758 16.37264184-52.77248487 16.37264184h-83.04540787v68.9345982H734.53750366V617.80408179z m152.2553126 68.92920002c0-13.78691963-6.92045065-20.67498129-20.76135197-20.67498129h-69.20450655v75.81726167h69.20450655c13.83550315 0 20.76135196-6.88806165 20.76135197-20.67498129v-34.46729909z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-more" viewBox="0 0 1024 1024"><path d="M512 512m-85.333333 0a85.333333 85.333333 0 1 0 170.666666 0 85.333333 85.333333 0 1 0-170.666666 0Z"></path><path d="M170.666667 512m-85.333334 0a85.333333 85.333333 0 1 0 170.666667 0 85.333333 85.333333 0 1 0-170.666667 0Z"></path><path d="M853.333333 512m-85.333333 0a85.333333 85.333333 0 1 0 170.666667 0 85.333333 85.333333 0 1 0-170.666667 0Z"></path></symbol><symbol id="csdnc-xueyuan" viewBox="0 0 1024 1024"><path d="M667.733333 586.666667c61.866667-46.933333 100.266667-119.466667 100.266667-202.666667 0-140.8-115.2-256-256-256s-256 115.2-256 256c0 83.2 40.533333 157.866667 100.266667 202.666667-121.6 55.466667-211.2 170.666667-226.133334 309.333333h763.733334c-14.933333-138.666667-104.533333-253.866667-226.133334-309.333333zM341.333333 384c0-93.866667 76.8-170.666667 170.666667-170.666667s170.666667 76.8 170.666667 170.666667-76.8 170.666667-170.666667 170.666667-170.666667-76.8-170.666667-170.666667z m-100.266666 426.666667c49.066667-102.4 151.466667-170.666667 270.933333-170.666667s221.866667 68.266667 270.933333 170.666667H241.066667z"></path></symbol><symbol id="qukuailiandabenying" viewBox="0 0 4915 1024"><path d="M1054.72 614.4H942.08V368.64H522.24v276.48h215.04v122.88H409.6V266.24h645.12z" fill="#BE1A20"></path><path d="M778.24 409.6h112.64v245.76h419.84V378.88h-215.04V266.24h327.68v501.76H778.24z" fill="#040000"></path><path d="M1576.96 327.68H1945.6v30.72h-337.92v307.2h348.16v40.96h-378.88V327.68z m71.68 81.92l20.48-20.48c40.96 30.72 71.68 61.44 112.64 102.4 30.72-30.72 61.44-71.68 92.16-102.4l30.72 20.48c-30.72 40.96-61.44 71.68-92.16 112.64 40.96 30.72 71.68 71.68 112.64 102.4l-30.72 30.72c-30.72-40.96-71.68-71.68-112.64-112.64-40.96 40.96-81.92 81.92-133.12 112.64l-30.72-30.72c40.96-30.72 92.16-71.68 133.12-112.64l-102.4-102.4zM2048 624.64c20.48-10.24 40.96-10.24 61.44-20.48V440.32H2048V409.6h61.44V296.96h30.72V409.6h61.44v30.72h-61.44v153.6c20.48-10.24 40.96-10.24 61.44-20.48v30.72c-51.2 10.24-92.16 30.72-153.6 40.96v-20.48z m143.36-102.4h102.4c0-30.72 10.24-61.44 10.24-112.64h-81.92v-30.72h81.92v-81.92h30.72v81.92h102.4v143.36h40.96v30.72h-143.36c20.48 61.44 71.68 112.64 143.36 143.36l-30.72 30.72c-71.68-40.96-112.64-81.92-133.12-153.6-20.48 61.44-61.44 112.64-133.12 153.6l-30.72-30.72c71.68-40.96 112.64-92.16 133.12-143.36h-92.16v-30.72z m133.12 0h81.92V409.6h-71.68c-10.24 51.2-10.24 81.92-10.24 112.64zM2560 450.56c20.48-40.96 40.96-92.16 51.2-153.6l30.72 10.24c-10.24 20.48-10.24 40.96-20.48 61.44h71.68v30.72h-81.92c-10.24 30.72-30.72 61.44-40.96 81.92 0-10.24-10.24-20.48-10.24-30.72z m133.12 153.6c0 10.24 0 20.48 10.24 30.72l-61.44 61.44s-10.24 10.24-10.24 20.48l-20.48-30.72c10.24-10.24 10.24-20.48 10.24-40.96v-92.16H2560v-30.72h51.2v-51.2h-20.48v-30.72h92.16v30.72h-40.96v51.2h51.2v30.72h-51.2v92.16c20.48-10.24 40.96-20.48 51.2-40.96z m153.6 81.92h143.36c0 10.24-10.24 20.48-10.24 30.72h-133.12c-40.96 0-71.68-20.48-92.16-51.2-10.24 10.24-20.48 30.72-40.96 61.44l-20.48-30.72c20.48-20.48 30.72-40.96 51.2-61.44V481.28h-30.72v-30.72h51.2v184.32c20.48 30.72 51.2 51.2 81.92 51.2z m-102.4-378.88c10.24 30.72 30.72 71.68 30.72 92.16-10.24 0-20.48 10.24-30.72 10.24-10.24-30.72-20.48-61.44-30.72-102.4h30.72z m92.16 184.32h51.2V409.6h30.72v81.92h51.2v30.72h-61.44v51.2h71.68v30.72h-71.68v71.68h-30.72v-71.68h-92.16v-30.72h92.16v-51.2h-81.92v-30.72c10.24-30.72 30.72-71.68 40.96-102.4h-40.96v-30.72h51.2c10.24-20.48 10.24-40.96 20.48-61.44l30.72 10.24c0 20.48-10.24 30.72-10.24 51.2h102.4v30.72H2867.2c-10.24 30.72-20.48 61.44-30.72 102.4zM3061.76 696.32c122.88-51.2 184.32-133.12 194.56-235.52H3072v-30.72h184.32V307.2h40.96v122.88H3481.6v30.72h-194.56c20.48 112.64 92.16 194.56 204.8 225.28l-30.72 30.72c-92.16-40.96-153.6-102.4-184.32-204.8-20.48 92.16-81.92 163.84-194.56 215.04 0-10.24-10.24-20.48-20.48-30.72zM3993.6 614.4l-30.72 30.72c-71.68-51.2-122.88-122.88-163.84-204.8V614.4h102.4v30.72h-102.4v92.16h-30.72v-92.16h-102.4V614.4h102.4V440.32c-40.96 71.68-92.16 143.36-174.08 215.04l-30.72-30.72c81.92-71.68 143.36-143.36 184.32-215.04h-174.08v-30.72h194.56v-81.92h30.72v81.92H3993.6V409.6h-174.08c40.96 81.92 102.4 153.6 174.08 204.8zM4341.76 296.96h30.72v30.72H4505.6v30.72h-133.12v30.72h-30.72v-30.72h-102.4v30.72h-30.72v-30.72h-133.12v-30.72h133.12v-30.72h30.72v30.72h102.4v-30.72z m-245.76 102.4h399.36v81.92h-30.72v-51.2h-327.68v51.2H4096v-81.92z m30.72 194.56h327.68v133.12h-30.72v-20.48h-256v20.48h-30.72V593.92h-10.24z m30.72-133.12h266.24v112.64h-30.72v-10.24H4198.4v10.24h-30.72V460.8h-10.24z m266.24 163.84h-256v61.44h256v-61.44z m-30.72-133.12H4198.4v40.96h194.56v-40.96z" fill="#231815"></path></symbol><symbol id="huanyipi" viewBox="0 0 1024 1024"><path d="M729.6 294.4c-6.4-6.4-10.666667-17.066667-10.666667-27.733333 0-21.333333 17.066667-38.4 38.4-38.4h100.266667c21.333333 0 38.4 17.066667 38.4 38.4s-17.066667 38.4-38.4 38.4h-21.333333C874.666667 364.8 896 435.2 896 512c0 213.333333-172.8 384-384 384-21.333333 0-38.4-17.066667-38.4-38.4s17.066667-38.4 38.4-38.4c170.666667 0 307.2-138.666667 307.2-307.2 0-83.2-32-160-89.6-217.6zM294.4 729.6c6.4 6.4 10.666667 17.066667 10.666667 27.733333 0 21.333333-17.066667 38.4-38.4 38.4H166.4c-21.333333 0-38.4-17.066667-38.4-38.4s17.066667-38.4 38.4-38.4h21.333333C149.333333 659.2 128 588.8 128 512 128 298.666667 300.8 128 512 128c21.333333 0 38.4 17.066667 38.4 38.4S533.333333 204.8 512 204.8C341.333333 204.8 204.8 343.466667 204.8 512c0 83.2 32 160 89.6 217.6z"></path></symbol><symbol id="csdnc-usephone" viewBox="0 0 1024 1024"><path d="M725.333333 85.333333H298.666667c-46.933333 0-85.333333 38.4-85.333334 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333334 85.333334h426.666666c46.933333 0 85.333333-38.4 85.333334-85.333334V170.666667c0-46.933333-38.4-85.333333-85.333334-85.333334zM512 896c-36.266667 0-64-27.733333-64-64s27.733333-64 64-64 64 27.733333 64 64-27.733333 64-64 64z m213.333333-170.666667H298.666667V170.666667h426.666666v554.666666z"></path></symbol><symbol id="download_edu_" viewBox="0 0 1024 1024"><path d="M694.714 0H201C130.312 0 73 57.312 73 128v768c0 70.688 57.312 128 128 128h621.714c70.688 0 128-57.312 128-128V256l-256-256z" fill="#B8AFC0"></path><path d="M694.714 128c0 70.688 57.312 128 128 128h128l-256-256v128z" fill="#DCCCDE"></path><path d="M272.079 602.063v-183.25h135.875v31h-98.875v40.625h92v30.875h-92v49.875h102.375v30.875H272.079z m159.653-183.25h67.625c15.25 0 26.875 1.167 34.875 3.5 10.75 3.167 19.958 8.792 27.625 16.875s13.5 17.979 17.5 29.688c4 11.708 6 26.146 6 43.312 0 15.083-1.875 28.083-5.625 39-4.583 13.333-11.125 24.125-19.625 32.375-6.417 6.25-15.083 11.125-26 14.625-8.167 2.583-19.083 3.875-32.75 3.875h-69.625v-183.25z m37 31v121.375h27.625c10.333 0 17.792-0.583 22.375-1.75 6-1.5 10.979-4.042 14.937-7.625s7.187-9.479 9.687-17.688c2.5-8.208 3.75-19.396 3.75-33.562s-1.25-25.042-3.75-32.625c-2.5-7.583-6-13.5-10.5-17.75s-10.208-7.125-17.125-8.625c-5.167-1.167-15.292-1.75-30.375-1.75h-16.625z m136.779-31h37v99.25c0 15.75 0.458 25.958 1.375 30.625 1.583 7.5 5.354 13.521 11.312 18.062s14.104 6.813 24.438 6.813c10.5 0 18.417-2.146 23.75-6.438s8.542-9.562 9.625-15.813c1.083-6.25 1.625-16.625 1.625-31.125V418.812h37v96.25c0 22-1 37.542-3 46.625s-5.687 16.75-11.063 23c-5.375 6.25-12.562 11.229-21.562 14.937s-20.75 5.562-35.25 5.562c-17.5 0-30.771-2.021-39.813-6.063s-16.187-9.292-21.437-15.75-8.708-13.229-10.375-20.312c-2.417-10.5-3.625-26-3.625-46.5v-97.75z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-wechat-hover" viewBox="0 0 1228 1024"><path d="M836.266667 343.466667c-10.666667-2.133333-23.466667-2.133333-36.266667-2.133334C627.2 341.333333 490.666667 475.733333 490.666667 637.866667c0 27.733333 4.266667 53.333333 10.666666 78.933333-10.666667 0-23.466667 2.133333-34.133333 2.133333-46.933333 0-83.2-8.533333-128-19.2l-128 66.133334 36.266667-113.066667c-91.733333-66.133333-147.2-149.333333-147.2-253.866667 0-177.066667 164.266667-317.866667 364.8-317.866666 181.333333 0 339.2 113.066667 371.2 262.4m298.666666 290.133333c0 83.2-55.466667 160-128 215.466667l27.733334 93.866666-100.266667-55.466666c-36.266667 8.533333-74.666667 19.2-110.933333 19.2-174.933333 0-311.466667-121.6-311.466667-270.933334 0-149.333333 136.533333-270.933333 311.466667-270.933333 166.4-2.133333 311.466667 119.466667 311.466666 268.8M394.666667 288c0-27.733333-19.2-46.933333-46.933334-46.933333-27.733333 0-55.466667 19.2-55.466666 46.933333 0 27.733333 27.733333 46.933333 55.466666 46.933333 29.866667 0 46.933333-19.2 46.933334-46.933333m375.466666 260.266667c0-19.2-19.2-36.266667-46.933333-36.266667-17.066667 0-36.266667 19.2-36.266667 36.266667 0 19.2 19.2 38.4 36.266667 38.4 27.733333 0 46.933333-19.2 46.933333-38.4m-119.466666-260.266667c0-27.733333-19.2-46.933333-44.8-46.933333-27.733333 0-55.466667 19.2-55.466667 46.933333 0 27.733333 27.733333 46.933333 55.466667 46.933333 25.6 0 44.8-19.2 44.8-46.933333m320 260.266667c0-19.2-19.2-36.266667-44.8-36.266667-19.2 0-36.266667 19.2-36.266667 36.266667 0 19.2 19.2 38.4 36.266667 38.4 25.6 0 44.8-19.2 44.8-38.4" fill="#3DB817"></path></symbol><symbol id="csdnc-m-1024-2" viewBox="0 0 1024 1024"><path d="M554.644456 10.661114l385.932327 215.354503c27.718896 14.92556 44.776679 42.644456 44.776679 74.627798V724.955752c0 29.851119-17.057782 59.702238-44.776679 74.627798L554.644456 1012.80583c-25.586674 14.92556-57.570016 14.92556-83.156689 0L83.423217 797.451327c-27.718896-14.92556-44.776679-42.644456-44.776679-74.627798V298.511192c0-29.851119 17.057782-59.702238 44.776679-74.627798L469.355544 10.661114c27.718896-14.92556 57.570016-14.92556 85.288912 0z" fill="#986F3D"></path><path d="M516.264446 78.892244c-2.132223-2.132223-6.396668-2.132223-8.528892 0l-385.932327 213.22228c-2.132223 2.132223-4.264446 4.264446-4.264445 6.396668v426.44456c0 2.132223 2.132223 6.396668 4.264445 6.396669l385.932327 215.354502c2.132223 2.132223 6.396668 2.132223 8.528892 0l385.932327-215.354502c2.132223-2.132223 4.264446-4.264446 4.264445-6.396669V298.511192c0-2.132223-2.132223-6.396668-4.264445-6.396668l-385.932327-213.22228zM554.644456 10.661114l385.932327 215.354503c27.718896 14.92556 44.776679 42.644456 44.776679 74.627798V724.955752c0 29.851119-17.057782 59.702238-44.776679 74.627798L554.644456 1012.80583c-25.586674 14.92556-57.570016 14.92556-83.156689 0L83.423217 797.451327c-27.718896-14.92556-44.776679-42.644456-44.776679-74.627798V298.511192c0-29.851119 17.057782-59.702238 44.776679-74.627798L469.355544 10.661114c27.718896-14.92556 57.570016-14.92556 85.288912 0z" fill="#EFD791"></path><path d="M723.090057 663.121291c-17.057782 0-38.38001 4.264446-55.437793 12.793337-55.437793 25.586674-106.61114 57.570016-151.387818 95.950026-46.908902-38.38001-98.082249-70.363352-151.387819-95.950026-17.057782-8.528891-40.512233-12.793337-55.437793-12.793337-74.627798-2.132223-115.140031 8.528891-157.784487 14.92556 12.793337 6.396668 23.454451 12.793337 36.247787 19.190005 2.132223 0 81.024466-6.396668 95.950026 2.132223 14.92556 8.528891-59.702238 12.793337-57.570015 14.925559 14.92556 6.396668 27.718896 10.661114 42.644456 14.92556 2.132223 0 70.363352-12.793337 85.288912-4.264446 14.92556 8.528891-44.776679 14.92556-42.644456 17.057783 38.38001 8.528891 74.627798 14.92556 115.140031 17.057782 19.190005 2.132223 44.776679 17.057782 63.966684 29.851119-14.92556 12.793337-29.851119 27.718896-42.644456 42.644456-4.264446 4.264446-6.396668 12.793337 2.132223 17.057783 10.661114 4.264446 19.190005-2.132223 21.322228-4.264446 6.396668-8.528891 12.793337-17.057782 31.983342-31.983342 2.132223-2.132223 6.396668-4.264446 8.528891-8.528891 4.264446 2.132223 6.396668 6.396668 8.528891 8.528891 19.190005 14.92556 25.586674 23.454451 31.983342 31.983342 2.132223 2.132223 10.661114 10.661114 21.322228 4.264446 10.661114-4.264446 6.396668-12.793337 2.132223-17.057783-12.793337-14.92556-27.718896-29.851119-42.644456-42.644456 21.322228-14.92556 46.908902-29.851119 63.966684-29.851119 38.38001-2.132223 76.760021-8.528891 115.140031-17.057782 4.264446-2.132223-57.570016-8.528891-42.644456-17.057783 14.92556-8.528891 83.156689 4.264446 85.288912 4.264446 14.92556-4.264446 27.718896-8.528891 42.644456-14.92556 2.132223 0-72.495575-6.396668-57.570015-14.925559 14.92556-8.528891 93.817803-2.132223 95.950026-2.132223 12.793337-6.396668 23.454451-12.793337 36.247787-19.190005-38.38001-6.396668-78.892244-17.057782-149.255596-14.92556z" fill="#F6F1EC"></path><path d="M200.695471 614.080167V362.477876l-49.041124 12.793337v-40.512233c31.983342-10.661114 51.173347-21.322228 61.834461-34.115565h40.512233v311.304529c0 2.132223-53.30557 2.132223-53.30557 2.132223z m264.395627-21.322228c-14.92556 17.057782-34.115565 25.586674-59.702238 25.586673-25.586674 0-44.776679-8.528891-59.702238-25.586673-12.793337-17.057782-21.322228-38.38001-21.322228-66.098907v-136.462259c0-27.718896 6.396668-51.173347 19.190005-68.23113 12.793337-17.057782 34.115565-25.586674 59.702238-25.586674 25.586674 0 46.908902 8.528891 59.702239 25.586674 12.793337 17.057782 19.190005 38.38001 19.190005 66.098907v136.462259c2.132223 29.851119-4.264446 53.30557-17.057783 68.23113z m-59.702238-19.190006c17.057782 0 25.586674-14.92556 25.586674-46.908901v-136.462259-10.661114c0-4.264446 0-6.396668-2.132223-10.661114 0-4.264446-2.132223-6.396668-2.132223-10.661114-2.132223-2.132223-2.132223-6.396668-4.264446-8.528892l-6.396668-6.396668c-4.264446-2.132223-6.396668-2.132223-10.661114-2.132223s-8.528891 0-12.793337 2.132223c-4.264446 2.132223-6.396668 4.264446-8.528891 6.396668-2.132223 4.264446-4.264446 6.396668-4.264446 10.661114s-2.132223 8.528891-2.132222 12.793337v149.255596c2.132223 34.115565 10.661114 51.173347 27.718896 51.173347z m113.007808 40.512234V575.700156l74.627798-119.404477c2.132223-2.132223 4.264446-6.396668 8.528892-14.925559 4.264446-6.396668 8.528891-12.793337 10.661114-14.92556s4.264446-6.396668 6.396668-12.793337 4.264446-12.793337 6.396668-17.057782c0-6.396668 2.132223-10.661114 2.132223-17.057782 0-12.793337-2.132223-21.322228-6.396668-27.718897-4.264446-6.396668-10.661114-8.528891-19.190005-8.528891-19.190005 0-27.718896 17.057782-27.718897 49.041124v12.793337h-51.173347v-12.793337c0-14.92556 2.132223-27.718896 4.264446-38.38001s8.528891-21.322228 12.793336-29.851119c6.396668-8.528891 14.92556-14.92556 25.586674-19.190006 10.661114-4.264446 23.454451-6.396668 36.247788-6.396668 25.586674 0 44.776679 6.396668 59.702238 21.322228 12.793337 14.92556 19.190005 34.115565 19.190005 59.702239 0 8.528891 0 17.057782-2.132223 25.586673-2.132223 8.528891-4.264446 14.92556-8.528891 23.454451-4.264446 8.528891-6.396668 14.92556-10.661114 19.190005-4.264446 8.528891-10.661114 17.057782-14.925559 23.454451 0 0 0 2.132223-2.132223 2.132223l-63.966684 98.082249h91.68558v42.644456h-151.387819z m277.188964 0v-76.760021H703.900052v-49.041125l76.760021-185.503383h61.834461v191.900052H874.477876v44.776679h-31.983342v76.76002l-46.908902-2.132222z m-44.776678-121.5367h44.776678v-132.197814l-44.776678 132.197814z" fill="#FFFFFF"></path></symbol><symbol id="csdnc-m-1024-1" viewBox="0 0 1024 1024"><path d="M554.644456 10.661114l385.932327 215.354503c27.718896 14.92556 44.776679 42.644456 44.776679 74.627798V724.955752c0 29.851119-17.057782 59.702238-44.776679 74.627798L554.644456 1012.80583c-25.586674 14.92556-57.570016 14.92556-83.156689 0L83.423217 797.451327c-27.718896-14.92556-44.776679-42.644456-44.776679-74.627798V298.511192c0-29.851119 17.057782-59.702238 44.776679-74.627798L469.355544 10.661114c27.718896-14.92556 57.570016-14.92556 85.288912 0z" fill="#51606A"></path><path d="M516.264446 78.892244c-2.132223-2.132223-6.396668-2.132223-8.528892 0l-385.932327 213.22228c-2.132223 2.132223-4.264446 4.264446-4.264445 6.396668v426.44456c0 2.132223 2.132223 6.396668 4.264445 6.396669l385.932327 215.354502c2.132223 2.132223 6.396668 2.132223 8.528892 0l385.932327-215.354502c2.132223-2.132223 4.264446-4.264446 4.264445-6.396669V298.511192c0-2.132223-2.132223-6.396668-4.264445-6.396668l-385.932327-213.22228zM554.644456 10.661114l385.932327 215.354503c27.718896 14.92556 44.776679 42.644456 44.776679 74.627798V724.955752c0 29.851119-17.057782 59.702238-44.776679 74.627798L554.644456 1012.80583c-25.586674 14.92556-57.570016 14.92556-83.156689 0L83.423217 797.451327c-27.718896-14.92556-44.776679-42.644456-44.776679-74.627798V298.511192c0-29.851119 17.057782-59.702238 44.776679-74.627798L469.355544 10.661114c27.718896-14.92556 57.570016-14.92556 85.288912 0z" fill="#C7D4DB"></path><path d="M723.090057 663.121291c-17.057782 0-38.38001 4.264446-55.437793 12.793337-55.437793 25.586674-106.61114 57.570016-151.387818 95.950026-46.908902-38.38001-98.082249-70.363352-151.387819-95.950026-17.057782-8.528891-40.512233-12.793337-55.437793-12.793337-74.627798-2.132223-115.140031 8.528891-157.784487 14.92556 12.793337 6.396668 23.454451 12.793337 36.247787 19.190005 2.132223 0 81.024466-6.396668 95.950026 2.132223 14.92556 8.528891-59.702238 12.793337-57.570015 14.925559 14.92556 6.396668 27.718896 10.661114 42.644456 14.92556 2.132223 0 70.363352-12.793337 85.288912-4.264446 14.92556 8.528891-44.776679 14.92556-42.644456 17.057783 38.38001 8.528891 74.627798 14.92556 115.140031 17.057782 19.190005 2.132223 44.776679 17.057782 63.966684 29.851119-14.92556 12.793337-29.851119 27.718896-42.644456 42.644456-4.264446 4.264446-6.396668 12.793337 2.132223 17.057783 10.661114 4.264446 19.190005-2.132223 21.322228-4.264446 6.396668-8.528891 12.793337-17.057782 31.983342-31.983342 2.132223-2.132223 6.396668-4.264446 8.528891-8.528891 4.264446 2.132223 6.396668 6.396668 8.528891 8.528891 19.190005 14.92556 25.586674 23.454451 31.983342 31.983342 2.132223 2.132223 10.661114 10.661114 21.322228 4.264446 10.661114-4.264446 6.396668-12.793337 2.132223-17.057783-12.793337-14.92556-27.718896-29.851119-42.644456-42.644456 21.322228-14.92556 46.908902-29.851119 63.966684-29.851119 38.38001-2.132223 76.760021-8.528891 115.140031-17.057782 4.264446-2.132223-57.570016-8.528891-42.644456-17.057783 14.92556-8.528891 83.156689 4.264446 85.288912 4.264446 14.92556-4.264446 27.718896-8.528891 42.644456-14.92556 2.132223 0-72.495575-6.396668-57.570015-14.925559 14.92556-8.528891 93.817803-2.132223 95.950026-2.132223 12.793337-6.396668 23.454451-12.793337 36.247787-19.190005-38.38001-6.396668-78.892244-17.057782-149.255596-14.92556z" fill="#C7D4DB"></path><path d="M200.695471 614.080167V362.477876l-49.041124 12.793337v-40.512233c31.983342-10.661114 51.173347-21.322228 61.834461-34.115565h40.512233v311.304529c0 2.132223-53.30557 2.132223-53.30557 2.132223z m264.395627-21.322228c-14.92556 17.057782-34.115565 25.586674-59.702238 25.586673-25.586674 0-44.776679-8.528891-59.702238-25.586673-12.793337-17.057782-21.322228-38.38001-21.322228-66.098907v-136.462259c0-27.718896 6.396668-51.173347 19.190005-68.23113 12.793337-17.057782 34.115565-25.586674 59.702238-25.586674 25.586674 0 46.908902 8.528891 59.702239 25.586674 12.793337 17.057782 19.190005 38.38001 19.190005 66.098907v136.462259c2.132223 29.851119-4.264446 53.30557-17.057783 68.23113z m-59.702238-19.190006c17.057782 0 25.586674-14.92556 25.586674-46.908901v-136.462259-10.661114c0-4.264446 0-6.396668-2.132223-10.661114 0-4.264446-2.132223-6.396668-2.132223-10.661114-2.132223-2.132223-2.132223-6.396668-4.264446-8.528892l-6.396668-6.396668c-4.264446-2.132223-6.396668-2.132223-10.661114-2.132223s-8.528891 0-12.793337 2.132223c-4.264446 2.132223-6.396668 4.264446-8.528891 6.396668-2.132223 4.264446-4.264446 6.396668-4.264446 10.661114s-2.132223 8.528891-2.132222 12.793337v149.255596c2.132223 34.115565 10.661114 51.173347 27.718896 51.173347z m113.007808 40.512234V575.700156l74.627798-119.404477c2.132223-2.132223 4.264446-6.396668 8.528892-14.925559 4.264446-6.396668 8.528891-12.793337 10.661114-14.92556s4.264446-6.396668 6.396668-12.793337 4.264446-12.793337 6.396668-17.057782c0-6.396668 2.132223-10.661114 2.132223-17.057782 0-12.793337-2.132223-21.322228-6.396668-27.718897-4.264446-6.396668-10.661114-8.528891-19.190005-8.528891-19.190005 0-27.718896 17.057782-27.718897 49.041124v12.793337h-51.173347v-12.793337c0-14.92556 2.132223-27.718896 4.264446-38.38001s8.528891-21.322228 12.793336-29.851119c6.396668-8.528891 14.92556-14.92556 25.586674-19.190006 10.661114-4.264446 23.454451-6.396668 36.247788-6.396668 25.586674 0 44.776679 6.396668 59.702238 21.322228 12.793337 14.92556 19.190005 34.115565 19.190005 59.702239 0 8.528891 0 17.057782-2.132223 25.586673-2.132223 8.528891-4.264446 14.92556-8.528891 23.454451-4.264446 8.528891-6.396668 14.92556-10.661114 19.190005-4.264446 8.528891-10.661114 17.057782-14.925559 23.454451 0 0 0 2.132223-2.132223 2.132223l-63.966684 98.082249h91.68558v42.644456h-151.387819z m277.188964 0v-76.760021H703.900052v-49.041125l76.760021-185.503383h61.834461v191.900052H874.477876v44.776679h-31.983342v76.76002l-46.908902-2.132222z m-44.776678-121.5367h44.776678v-132.197814l-44.776678 132.197814z" fill="#FFFFFF"></path></symbol><symbol id="csdnreg-github-color" viewBox="0 0 1024 1024"><path d="M117.848747 5.215573h788.33664a112.633173 112.633173 0 0 1 112.633173 112.633174v788.33664a112.633173 112.633173 0 0 1-112.64 112.633173H117.855573a112.633173 112.633173 0 0 1-112.64-112.64V117.855573a112.633173 112.633173 0 0 1 112.64-112.64zM512 258.607787c-124.33408-0.04096-230.33856 90.118827-250.2656 212.855466-19.913387 122.722987 52.135253 241.780053 170.100053 281.06752 12.854613 2.321067 17.476267-5.597867 17.476267-12.192426 0-6.273707-0.3072-26.064213-0.3072-47.192747 0 0-70.608213 15.168853-85.46304-30.030507 0 0-11.557547-29.354667-28.030293-36.959573 0 0-23.087787-15.837867 1.645226-15.52384 0 0 25.088 2.000213 38.93248 26.07104 22.104747 38.925653 59.071147 27.716267 73.577814 21.121707 2.31424-16.151893 8.901973-27.395413 16.151893-33.983147-56.408747-6.273707-115.479893-28.030293-115.479893-125.05088 0-27.716267 9.91232-50.141867 26.064213-67.97312-2.628267-6.587733-11.209387-32.33792 2.628267-67.310933 21.128533-6.580907 69.618347 26.077867 69.618346 26.077866a238.63296 238.63296 0 0 1 126.702934 0s48.489813-32.658773 69.618346-26.077866c13.871787 34.973013 5.290667 60.7232 2.628267 67.310933 16.151893 17.831253 26.064213 40.256853 26.064213 67.97312 0 97.334613-59.392 118.784-115.800746 125.05088 9.250133 7.918933 17.169067 23.087787 17.169066 46.844587 0 33.989973-0.314027 61.385387-0.314026 69.618346 0 6.59456 4.621653 14.506667 17.476266 12.199254 117.971627-39.287467 190.020267-158.35136 170.100054-281.081174-19.920213-122.729813-125.924693-212.882773-250.2656-212.84864l-0.027307 0.034134z" fill="#24292e"></path></symbol><symbol id="csdnreg-wechat-color" viewBox="0 0 1024 1024"><path d="M117.848747 5.215573h788.33664a112.633173 112.633173 0 0 1 112.633173 112.633174v788.33664a112.633173 112.633173 0 0 1-112.64 112.633173H117.855573a112.633173 112.633173 0 0 1-112.64-112.64V117.855573a112.633173 112.633173 0 0 1 112.64-112.64z m527.783253 410.842454c-19.162453-90.330453-115.985067-157.45024-226.11968-157.45024-123.405653 0-224.256 83.810987-224.256 190.552746 0 61.5424 33.703253 112.285013 89.7024 151.558827l-22.268587 67.433813 78.267734-39.273813c28.16 5.57056 50.428587 11.147947 78.554453 11.147947 7.12704 0 13.90592-0.314027 21.026133-0.9216a157.832533 157.832533 0 0 1-7.120213-47.0016c0-97.744213 84.125013-177.247573 190.552747-177.247574 7.406933 0 14.5408 0.314027 21.661013 1.2288v-0.027306z m183.11168 173.513386c0-89.7024-89.7024-162.7136-190.552747-162.7136-106.714453 0-190.552747 73.0112-190.552746 162.7136s83.810987 162.706773 190.552746 162.706774c22.268587 0 44.8512-5.891413 67.433814-11.434667l61.5424 33.703253-17.012054-55.999146c45.172053-33.703253 78.554453-78.554453 78.554454-128.976214h0.034133zM374.66112 382.006613c0 16.698027-11.147947 27.845973-28.16 27.845974-16.6912 0-33.696427-11.147947-33.696427-27.845974 0-17.005227 17.005227-28.153173 33.696427-28.153173 17.012053 0 28.16 11.147947 28.16 28.153173z m229.82656 156.85632c0 11.42784-11.147947 22.582613-28.16 22.582614-11.147947 0-22.26176-11.154773-22.26176-22.582614 0-11.154773 11.147947-22.268587 22.26176-22.268586 17.012053 0 28.16 11.147947 28.16 22.268586zM531.47648 382.006613c0 16.698027-11.147947 27.845973-27.839147 27.845974-17.005227 0-33.703253-11.147947-33.703253-27.845974 0-17.005227 16.698027-28.153173 33.703253-28.153173 16.6912 0 27.839147 11.147947 27.839147 28.153173z m196.416853 156.85632c0 11.42784-11.434667 22.582613-28.16 22.582614-11.147947 0-22.268587-11.154773-22.268586-22.582614 0-11.154773 11.147947-22.268587 22.268586-22.268586 16.6912 0 28.16 11.147947 28.16 22.268586z" fill="#3BAF34"></path></symbol><symbol id="csdnreg-baidu-color" viewBox="0 0 1024 1024"><path d="M117.848747 5.215573h788.33664a112.633173 112.633173 0 0 1 112.633173 112.633174v788.33664a112.633173 112.633173 0 0 1-112.64 112.633173H117.855573a112.633173 112.633173 0 0 1-112.64-112.64V117.855573a112.633173 112.633173 0 0 1 112.64-112.64z m644.532906 467.380907c0-17.03936-14.185813-68.38272-66.70336-68.38272-52.640427 0-59.644587 48.462507-59.644586 82.69824 0 32.720213 2.757973 78.329173 68.130133 76.875093 65.378987-1.45408 58.251947-74.05568 58.251947-91.190613h-0.034134z m-66.737493 149.695147s-68.15744-52.742827-107.977387-109.75232c-53.937493-84.063573-130.594133-49.855147-156.248746-7.099734-25.531733 42.76224-65.276587 69.81632-70.949547 76.970667-5.7344 7.0656-82.35008 48.401067-65.338027 123.972267 17.005227 75.50976 76.745387 74.05568 76.745387 74.05568s44.025173 4.34176 95.115947-7.099734a200.4992 200.4992 0 0 1 95.081813 2.82624s119.350613 39.970133 152.036693-37.000533c32.631467-76.936533-18.466133-116.845227-18.466133-116.845227v-0.027306zM635.972267 736.256H546.65216c-34.59072-8.936107-36.235947-33.518933-36.235947-33.518933V603.989333l36.235947-0.57344v88.753494c2.184533 9.468587 13.96736 11.18208 13.96736 11.18208h36.775253V603.982507h38.577494v132.273493z m-144.52736 0.53248H413.832533c-33.512107-6.683307-46.871893-29.545813-48.551253-33.450667-1.652053-3.959467-11.154773-22.357333-6.116693-53.61664 14.445227-46.851413 55.773867-50.23744 55.773866-50.23744h41.30816v-50.776746l35.157334 0.546133v187.508053l0.034133 0.027307z m96.256-324.05504c44.09344 5.7344 72.410453-41.301333 78.015146-76.936533 5.7344-35.601067-22.678187-76.936533-53.876053-84.063574-31.266133-7.161173-70.314667 42.919253-73.837227 75.5712-4.23936 39.91552 5.700267 79.79008 49.698134 85.428907z m-142.0288-5.577387c32.9728 0 59.610453-37.942613 59.610453-84.855466 0-46.906027-26.637653-84.7872-59.610453-84.7872-32.904533 0-59.63776 37.915307-59.63776 84.7872 0 46.87872 26.733227 84.855467 59.63776 84.855466zM398.267733 650.861227c-1.747627 5.003947-5.638827 17.865387-2.280106 29.04064 6.683307 25.053867 28.439893 26.166613 28.439893 26.166613h31.266133V629.671253h-33.4848c-15.045973 4.498773-22.3232 16.1792-23.94112 21.21728v-0.027306z m-63.3856-124.06784c59.74016-12.834133 51.602773-84.159147 49.793707-99.771734-2.914987-24.04352-31.197867-66.041173-69.584213-62.75072-48.3328 4.34176-55.364267 74.151253-55.364267 74.151254-6.53312 32.242347 15.612587 101.198507 75.1616 88.3712z" fill="#306CFF"></path></symbol><symbol id="csdnreg-qq-color" viewBox="0 0 1024 1024"><path d="M117.848747 5.215573h788.33664a112.633173 112.633173 0 0 1 112.633173 112.633174v788.33664a112.633173 112.633173 0 0 1-112.64 112.633173H117.855573a112.633173 112.633173 0 0 1-112.64-112.64V117.855573a112.633173 112.633173 0 0 1 112.64-112.64z m647.386453 597.183147c-11.721387-65.604267-60.975787-108.578133-60.975787-108.578133 7.031467-59.549013-18.78016-70.130347-18.78016-70.130347C680.065707 239.438507 515.4816 242.674347 512 242.735787c-3.454293-0.095573-168.065707-3.290453-173.44512 180.954453 0 0-25.818453 10.581333-18.752853 70.130347 0 0-49.2544 42.980693-60.975787 108.578133 0 0-6.26688 110.824107 56.285867 13.55776 0 0 14.062933 36.932267 39.881386 70.12352 0 0-46.12096 15.080107-42.222933 54.29248 0 0-1.583787 43.711147 98.5088 40.700587 0 0 70.341973-5.290667 91.477333-33.928534h18.589014c21.121707 28.672 91.477333 33.928533 91.477333 33.928534 100.02432 3.003733 98.5088-40.700587 98.5088-40.700587 3.8912-39.212373-42.22976-54.29248-42.22976-54.29248 25.818453-33.163947 39.881387-70.12352 39.881387-70.12352 62.52544 97.266347 56.285867-13.55776 56.285866-13.55776h-0.034133z" fill="#13B7F5"></path></symbol><symbol id="csdnreg-weibo-color" viewBox="0 0 1024 1024"><path d="M117.848747 5.215573h788.33664a112.633173 112.633173 0 0 1 112.633173 112.633174v788.33664a112.633173 112.633173 0 0 1-112.64 112.633173H117.855573a112.633173 112.633173 0 0 1-112.64-112.64V117.855573a112.633173 112.633173 0 0 1 112.64-112.64zM664.418987 505.309867c-24.644267-4.778667-12.670293-18.056533-12.670294-18.056534S675.84 447.488 646.9632 418.52928c-35.792213-35.826347-122.770773 4.560213-122.770773 4.560213-33.225387 10.328747-24.418987-4.717227-19.729067-30.3104 0-30.153387-10.328747-81.148587-98.822827-51.029333C317.2352 372.032853 241.343147 478.208 241.343147 478.208c-52.79744 70.505813-45.800107 125.05088-45.800107 125.05088 13.175467 120.333653 140.888747 153.367893 240.216747 161.191253 104.495787 8.205653 245.541547-36.0448 288.331093-127.01696 42.789547-91.122347-34.93888-127.167147-59.671893-132.109653z m-220.89728 225.170773c-103.7312 4.881067-187.610453-47.22688-187.610454-116.5312 0-69.393067 83.879253-125.044053 187.610454-129.829547 103.79264-4.778667 187.828907 38.038187 187.828906 107.281067 0 69.331627-84.036267 134.362453-187.828906 139.07968z m-20.718934-200.656213C318.470827 542.057813 330.5472 639.8976 330.5472 639.8976s-1.078613 30.979413 27.968853 46.783147c61.064533 33.13664 123.904 13.08672 155.675307-27.99616s13.14816-141.011627-91.38176-128.853334z m35.2256 84.8896c-6.587733 4.942507-14.731947 4.23936-18.213546-1.67936a15.36 15.36 0 0 1 4.4032-19.892907c7.727787-5.761707 15.7696-4.11648 19.2512 1.67936 3.488427 5.891413 0.989867 14.793387-5.440854 19.892907z m-61.508266 52.44928c-19.483307 2.280107-35.191467-8.963413-35.191467-25.27232 0-16.22016 13.933227-33.25952 33.450667-35.28704 22.357333-2.116267 36.932267 10.77248 36.932266 27.081386 0 16.247467-15.81056 31.29344-35.198293 33.512107v-0.034133z m318.702933-204.233387a16.97792 16.97792 0 0 0 16.97792-16.151893c12.731733-114.72896-93.887147-94.958933-93.887147-94.958934a17.1008 17.1008 0 0 0-17.066666 17.230507c0 9.407147 7.59808 17.066667 17.066666 17.066667 76.5952-16.943787 59.706027 59.74016 59.706027 59.74016 0 9.50272 7.727787 17.073493 17.2032 17.073493zM702.805333 262.690133c-36.864-8.64256-74.786133-1.16736-85.394773 0.86016-0.8192 0.06144-1.583787 0.853333-2.341547 1.010347-0.34816 0.068267-0.600747 0.443733-0.600746 0.443733a25.122133 25.122133 0 0 0-18.152107 24.139094c0 13.653333 11.086507 24.890027 24.86272 24.890026 0 0 13.43488-1.80224 22.528-5.379413 9.018027-3.64544 85.387947-2.696533 123.303253 61.064533 20.6848 46.557867 9.086293 77.70112 7.666347 82.705067 0 0-4.942507 12.096853-4.942507 24.009387 0 13.74208 11.086507 22.391467 24.80128 22.391466 11.4688 0 21.0944-1.583787 23.913814-20.998826h0.157013c40.700587-135.8848-49.821013-199.74144-115.800747-215.16288v0.027306z" fill="#D81E06"></path></symbol><symbol id="csdnc-lingying-col" viewBox="0 0 1024 1024"><path d="M118.101333 5.461333h788.48c30.037333 0 58.709333 11.605333 79.872 32.768s32.768 49.834667 32.768 79.872v788.48c0 30.037333-11.605333 58.709333-32.768 79.872-21.162667 21.162667-49.834667 32.768-79.872 32.768h-788.48c-30.037333 0-58.709333-11.605333-79.872-32.768-21.162667-21.162667-32.768-49.834667-32.768-79.872V118.101333c0-30.037333 11.605333-58.709333 32.768-79.872s49.834667-32.768 79.872-32.768z" fill="#1396DB"></path><path d="M357.717333 785.066667h-117.418666v-390.485334h117.418666v390.485334z m427.349334 0h-117.418667v-207.530667c0-53.248-19.114667-81.237333-56.661333-81.237333-30.72 0-49.834667 15.701333-58.709334 45.056v243.712h-117.418666s2.048-350.890667 0-390.485334h98.304v77.824h2.048c23.893333-39.594667 62.122667-65.536 115.370666-65.536 39.594667 0 72.362667 10.24 96.256 39.594667 23.893333 27.989333 38.229333 65.536 38.229334 117.418667v221.184z m-425.301334-487.424c0 32.768-27.306667 58.709333-60.074666 58.709333-32.768 0-60.074667-25.941333-60.074667-58.709333s27.306667-58.709333 60.074667-58.709334c32.085333 0 60.074667 25.941333 60.074666 58.709334z" fill="#FFFFFF"></path></symbol><symbol id="csdnreg-oschina-colo" viewBox="0 0 1024 1024"><path d="M117.849 5.216h788.336a112.633 112.633 0 0 1 112.634 112.633v788.336a112.633 112.633 0 0 1-112.64 112.634H117.856a112.633 112.633 0 0 1-112.64-112.64V117.856a112.633 112.633 0 0 1 112.64-112.64zM513.14 622.039c-54.32 0.376-98.789-35.54-101.8-102.4-2.784-62.211 51.214-104.216 103.193-105.451 59.733-1.42 95.464 67.215 95.464 67.215l153.968-57.235s-63.317-165.526-234.673-165.526c-160.174 0-270.65 111.998-270.65 263.844 0 134.99 104.298 270.049 266.943 263.844 178.647-6.84 239.841-165.274 239.841-165.274l-157.9-52.518s-32.243 53.528-94.352 53.528l-0.034-0.027z" fill="#3AAC54"></path></symbol><symbol id="csdnc-wbk-check" viewBox="0 0 1024 1024"><path d="M512 0a512 512 0 1 0 512 512A512 512 0 0 0 512 0z m267.776 401.92L504.064 677.888a49.664 49.664 0 0 1-28.416 13.824 51.2 51.2 0 0 1-48.128-13.568l-163.072-163.328a51.2 51.2 0 0 1 72.192-72.192l132.096 131.84L710.4 332.8a49.152 49.152 0 0 1 69.376 69.376z"></path></symbol><symbol id="csdnc-expand" viewBox="0 0 1024 1024"><path d="M0 0h1024L512 512 0 0z m0 512h1024l-512 512-512-512z"></path></symbol><symbol id="sousuo1" viewBox="0 0 5359 1024"><path d="M1876.970213 158.48034c46.537532-5.533957 117.716426-10.741106 215.737191-10.741106 163.709277 0 295.957787 30.240681 377.921362 93.946553 73.662638 59.588085 122.662128 155.953021 109.045106 295.369532-12.52766 129.830128-75.841362 220.704681-168.153872 276.87217-84.512681 53.030128-191.052255 75.776-350.861617 75.776-94.491234 0-184.428936-5.425021-252.884426-16.187915l69.196256-715.035234z m135.255149 572.873532c15.904681 3.180936 36.558979 6.557957 77.540766 6.557958 163.752851 0 279.15983-85.754553 290.728851-206.259745 16.950468-174.08-85.558468-235.018894-258.091575-233.929532-22.310128 0-53.335149 0-69.893447 3.224511l-40.284595 430.406808zM2694.035064 185.801532c665.883234-132.030638 723.140085 105.406638 702.703659 315.392l-38.846638 388.466383h-211.314383l35.338894-354.369362c7.712681-77.736851 55.383149-230.574298-174.624681-225.018553-79.436255 2.069787-118.718638 13.529872-118.718638 13.529872s-7.124426 94.404085-15.490724 163.948937l-40.044936 401.909106h-207.24017l41.11251-396.048341 27.125107-307.810042z" fill="#231815"></path><path d="M886.740426 866.587234c-39.042723 13.682383-119.960511 23.072681-232.883745 23.072681-324.978383 0-500.322043-155.103319-479.537021-360.142979C199.091745 285.260255 458.795574 147.739234 743.380426 147.739234c110.156255 0 174.995064 9.172426 235.737872 24.314553l-19.521362 164.428256c-40.437106-13.769532-135.124426-26.558638-211.859064-26.558639-167.238809 0-309.553021 50.742468-325.719149 211.118298-14.57566 143.534298 85.209872 211.968 273.538724 211.968 65.536 0 162.097021-9.586383 206.804425-23.377702l-15.621446 156.955234z" fill="#CF000E"></path><path d="M1015.02366 690.80783c60.80817 22.440851 187.914894 44.947064 290.402042 44.947064 110.526638 0 172.162723-31.025021 177.064851-78.913362 4.466383-43.63983-40.872851-49.54417-165.757276-79.501617-172.445957-42.61583-282.515064-108.696511-271.752171-214.342809 12.52766-122.400681 175.212936-215.236085 424.676766-215.236085 121.46383 0 239.37634 8.627745 300.554894 28.933447l-20.981106 154.602213c-39.674553-14.009191-191.444426-33.269106-294.084086-33.269107-104.164766 0-158.131745 33.073021-161.792 69.348766-4.793191 45.731404 49.478809 47.953702 184.646809 84.164086 183.099915 46.929702 263.146213 112.988596 252.884426 215.279659-12.353362 120.418043-158.545702 222.861617-450.734298 222.861617-121.638128 0-226.391149-22.419064-284.149107-44.903489l19.020256-153.970383z" fill="#231815"></path><path d="M3882.092936 588.952511l-21.569362 201.205106c-4.858553 45.252085-14.837106 70.307404-41.526468 85.645617-25.970383 16.166128-61.156766 20.218553-111.202042 19.412426-0.522894-25.033532-6.732255-65.448851-15.99183-92.116426 27.430128 0.806128 54.075915 0.806128 63.814809 0.806128 9.695319 0 13.246638-3.224511 14.379574-13.747745l18.214128-169.722553-74.621277 25.055319-13.573447-92.116426c28.170894-6.492596 61.527149-16.166128 98.325788-27.495489l15.251063-142.227064h-86.517106l9.542808-88.891915h86.517107l16.296851-151.922383h90.525957l-16.296851 151.922383h70.329192l-9.542809 88.891915h-70.329191l-12.026553 112.356766 66.124255-21.046468 6.274723 84.861277-82.399319 29.129532z m538.427915 14.553872c-37.713702 72.704-88.979064 128.457532-151.857021 172.097362a894.278809 894.278809 0 0 0 167.739915 41.243234c-20.567149 18.584511-48.629106 54.119489-63.204766 76.756425-72.878298-13.747745-140.04834-35.534979-199.113532-65.470638-73.880511 33.138383-157.042383 54.947404-245.890724 69.501277-4.052426-22.636936-18.889532-57.387574-31.395404-76.778213 69.697362-8.867404 136.627745-22.636936 197.087319-43.618043-39.478468-31.50434-72.834723-67.061106-97.519659-108.326127l22.789447-8.867405h-46.08l8.497021-79.218383h174.624681l6.405446-59.78417h-172.162723l31.526128-294.149447h0.78434c46.145362-15.338213 98.151489-40.393532 129.65583-63.030468l43.40017 47.670468 7.429447-69.523064h84.861277l-32.571915 303.844766h96.234212l5.446809-50.894978h-70.350979l7.298724-67.867234h70.350978l5.446809-50.916766h-72.769362l8.126638-75.972085h158.436766l-34.380255 320.838808h-181.923404l-6.405447 59.78417h109.96017l16.492936-3.202723 53.030128 25.883234z m-249.856-157.608851l22.440851-209.28817c-29.761362 13.725957-61.004255 25.861447-92.748255 35.556766l-5.904341 54.969191h61.418213l-7.276936 67.867234h-61.418213l-5.468596 50.894979h88.957277z m-77.954723 214.168511c22.76766 29.107745 54.860255 54.119489 92.138212 75.950297 38.585191-21.024681 72.028596-46.058213 98.630809-75.950297h-190.769021zM4736.413957 750.570213c-57.888681 50.110638-142.771745 102.617872-209.353531 135.756255-15.054979-17.778383-45.622468-49.304511-64.99132-64.664511 66.734298-26.667574 143.817532-67.039319 190.965107-107.498212l83.379744 36.406468z m170.049362-63.030468l-11.939404 111.528851c-4.684255 43.618043-16.078979 67.082894-52.311149 80.808851-35.44783 13.747745-80.787064 14.553872-138.980766 14.553872-2.004426-26.689362-13.355574-63.858383-23.726298-88.107574 41.896851 1.612255 90.308085 2.44017 104.142979 1.612255 13.813106-0.806128 17.320851-3.202723 18.257702-12.113702l10.937191-101.855319c-210.965787 14.57566-247.001872 19.434213-274.628085 28.323404-1.590468-15.36-8.475234-56.603234-14.314212-77.606128 31.177532-4.052426 63.814809-14.553872 112.683574-33.138383 19.368851-7.298723 56.428936-21.024681 101.310638-40.393532-92.029277 6.470809-112.574638 9.673532-126.039149 14.553873-1.481532-16.166128-10.261787-54.969191-16.013617-76.756426 18.845957-2.44017 37.517617-10.523234 63.117617-23.464851 19.630298-9.673532 75.841362-36.362894 127.912851-69.479489h-183.513872l-9.346723 87.279659h-91.310298l17.909106-167.282383h311.187064l5.228936-48.498383h-293.474042l8.845617-82.399319h293.430468l6.77583-63.052255h101.855319l-6.77583 63.052255h292.62434l-8.823829 82.399319h-292.624341l-5.163574 48.498383h311.187064l-17.909107 167.282383h-95.38451l9.346723-87.279659h-260.292085l16.14434 15.36c-45.143149 29.085957-97.345362 55.797106-150.048681 80.002723l133.098213-4.858553c45.230298-22.593362 89.000851-46.058213 127.150298-70.329191l60.328851 55.775319c-94.578383 52.550809-197.326979 98.587234-298.463319 137.390298l252.840851-13.704171a1676.636596 1676.636596 0 0 0-42.245447-42.877276l72.377192-42.027575c49.914553 46.886128 115.494128 113.947234 146.19234 159.221107l-77.824 47.670468c-10.24-17.778383-26.667574-37.953362-45.252085-60.590298l-168.480681 10.501447z m105.210553 21.852595c57.97583 32.310468 140.505872 84.011574 183.513873 120.374469l-85.035575 54.163063c-36.602553-35.556766-116.300255-91.332085-177.086638-127.716766l78.60834-46.820766z" fill="#656464"></path></symbol><symbol id="CSDNboke" viewBox="0 0 5359 1024"><path d="M1849.801532 155.168681c46.581106-5.533957 117.868936-10.762894 215.998638-10.762894 163.883574 0 296.306383 30.262468 378.357107 94.05549 73.749787 59.653447 122.836426 156.149106 109.219404 295.718127-12.593021 129.960851-75.950298 220.94434-168.393532 277.198979-84.59983 53.073702-191.24834 75.863149-351.253787 75.863149-94.60017 0-184.668596-5.446809-253.189447-16.231489l69.261617-715.841362z m135.385872 573.483574c15.926468 3.224511 36.602553 6.601532 77.627915 6.601532 163.948936 0 279.464851-85.841702 291.05566-206.521191 16.950468-174.297872-85.667404-235.323915-258.374809-234.212766-22.331915 0-53.400511 0-69.937021 3.22451l-40.371745 430.907915z m682.594043-546.162383c666.711149-132.161362 723.989787 105.537362 703.531574 315.740596l-38.890212 388.945702h-211.57583l35.404255-354.739744c7.712681-77.824 55.448511-230.879319-174.798979-225.301788-79.523404 2.113362-118.871149 13.573447-118.871149 13.573447s-7.124426 94.491234-15.51251 164.123234l-40.088511 402.388426h-207.47983l41.156085-396.505873 27.125107-308.224z" fill="#231815"></path><path d="M858.417021 864.01634c-39.086298 13.70417-120.113021 23.15983-233.166978 23.15983-325.348766 0-500.910298-155.321191-480.081703-360.60051C169.984 282.035745 430.014638 144.405787 714.904511 144.405787c110.286979 0 175.191149 9.194213 235.999319 24.336341l-19.564936 164.602553c-40.458894-13.747745-135.255149-26.558638-212.098724-26.558638-167.434894 0-309.87983 50.764255-326.089532 211.33617-14.597447 143.730383 85.297021 212.20766 273.843745 212.207659 65.623149 0 162.293106-9.586383 207.022298-23.399489l-15.59966 157.085957z" fill="#CF000E"></path><path d="M986.809191 688.062638c60.895319 22.484426 188.110979 44.968851 290.728852 44.968851 110.679149 0 172.380596-31.068596 177.282723-79.00051 4.48817-43.683404-40.916426-49.587745-165.953362-79.588766-172.620255-42.681191-282.820085-108.805447-272.057191-214.604256 12.571234-122.531404 175.409021-215.497532 425.156085-215.497531 121.61634 0 239.659574 8.627745 300.903489 28.977021l-21.002893 154.77651c-39.739915-14.009191-191.684085-33.290894-294.410894-33.290893-104.295489 0-158.32783 33.138383-161.988085 69.435915-4.771404 45.818553 49.54417 47.997277 184.864681 84.251234 183.317787 47.016851 263.429447 113.119319 253.145872 215.562893-12.353362 120.526979-158.72 223.079489-451.235404 223.07949-121.768851 0-226.652596-22.440851-284.475915-44.947064l19.042042-154.122894z" fill="#231815"></path><path d="M3873.312681 428.315234l-49.870979 465.201021h-93.924766l49.870979-465.201021h-88.216511l9.412085-87.345021h88.216511l21.612936-201.466553h93.924766l-21.612936 201.466553h78.499404l-9.412085 87.345021h-78.499404z m539.01617 286.436766h-97.933617l-9.782468 91.397447c-4.422809 41.286809-13.813106 60.677447-45.099575 73.619064-29.543489 11.351149-68.520851 12.179064-122.727489 12.179063-0.588255-24.270979-8.627745-55.012766-16.797957-76.887148 33.116596 0.806128 69.457702 1.612255 80.02451 0.806127 10.588596-0.806128 14.09634-3.224511 15.033192-12.135489l9.542808-89.022638h-182.860255c33.225532 21.830809 70.133106 47.73583 90.874553 65.557787l-60.328851 64.751659c-24.227404-23.486638-73.575489-61.483574-109.393702-89.022638l41.613617-41.286808h-110.897021l8.34451-77.649703h331.013447l3.529532-33.138383h89.828766l-3.529532 33.138383h97.91183l-8.366298 77.693277z m-249.768851-425.570043h-202.338043l7.908766-73.619063h202.338043l8.170213-76.037447h86.582468l-8.148426 76.037447h93.053277a1699.774638 1699.774638 0 0 0-61.657872-29.129532l41.330383-53.400511a1330.633532 1330.633532 0 0 1 103.729021 44.489532l-27.604426 38.040511h54.990979l-7.865192 73.619063h-203.906723l-3.573106 33.160171h169.962212l-29.499914 275.063829h-85.798128l4.052425-37.996936h-84.12051l-3.899915 36.428256h-86.582468l3.921702-36.428256h-85.013787l-5.185362 48.541958h-82.530043l30.611064-285.587064h167.522043l3.551319-33.181958z m-22.789447 212.795915l3.289873-30.763574h-84.992l-3.289873 30.763574h84.992z m-72.486127-116.539915l-3.159149 29.129532h84.992l3.137361-29.129532h-84.970212z m243.210893 116.539915l3.289872-30.763574h-84.142297l-3.289873 30.763574h84.142298z m-71.636425-116.539915l-3.159149 29.129532h84.142298l3.137361-29.129532h-84.12051z m850.159659-6.470808c-42.681191 58.259064-96.517447 107.607149-158.48034 149.700085 80.242383 29.107745 175.060426 50.132426 278.397276 59.827745-23.334128 21.874383-54.794894 65.579574-70.656 93.053276a1266.034383 1266.034383 0 0 1-84.207659-14.575659l-24.292766 226.500085h-98.69617l2.505532-23.421277h-272.754383l-2.67983 25.033532h-93.902979l23.900596-222.469447a1634.347574 1634.347574 0 0 1-107.672511 22.636937c-6.296511-24.249191-22.244766-63.923745-36.885787-85.776341 101.833532-13.769532 204.930723-39.652766 296.393532-77.671489a540.149106 540.149106 0 0 1-65.579575-59.871319c-31.242894 19.412426-66.342128 37.234383-104.556936 54.206638-11.351149-22.636936-36.776851-56.646809-56.167489-72.006809 116.97566-42.049362 197.828085-101.964255 243.908085-161.792h-150.506213l-9.60817 89.828766h-94.687319l18.976681-177.195574h301.056a1351.832511 1351.832511 0 0 0-21.090043-52.637958l98.848681-23.443063c9.586383 23.443064 22.854809 50.982128 33.138383 76.081021h282.427915l-18.976681 177.152h-98.761532l9.60817-89.828766h-336.678127l88.695829 18.606298c-9.281362 10.523234-19.368851 21.830809-29.499914 33.16017h180.463659l16.645447-4.074213 61.374638 38.977362z m-146.976681 411.822298l7.494809-69.610213h-272.732596l-7.494808 69.610213h272.732595z m16.776171-148.893958c-46.842553-15.36-91.942128-33.138383-132.531745-54.163063a1132.631149 1132.631149 0 0 1-133.686468 54.163063h266.218213zM4749.617021 419.426043c24.053106 25.055319 54.010553 46.907915 88.390809 66.342127 37.060085-21.024681 71.04817-43.705191 99.741957-69.588425h-183.753532l-4.379234 3.246298z" fill="#666464"></path></symbol><symbol id="EDU_logo1" viewBox="0 0 3237 1024"><path d="M670.27973266 228.66034915h541.14476486l-12.9163437 127.61944132H834.24169845l-11.57466321 103.92705469h324.42065276l-11.57466256 127.60879288H808.12150695l-10.76539449 93.41721829h388.49125576l-12.38393128 127.61944132-568.07422376 0.25555809 64.89051947-580.44750659z m666.61325697 8.62509374l-60.84417915 559.45977846c673.87537267 84.00415271 642.66531158-275.15113615 642.66531157-275.15113549 35.78881449-388.23569699-581.82113242-284.30864297-581.82113242-284.30864297z m418.11472539 284.29799451s-9.42371335 199.22901499-308.81029767 163.96196578l35.81011071-336.81523183c0 0.01064845 295.32959556-48.44960009 273.00018696 172.85326605z" fill="#2E2E2E"></path><path d="M1533.69420043 409.31879243l-25.57712931 232.34511562 206.50177911-115.50171724-180.9246498-116.84339839z" fill="#CA0C16"></path><path d="M2066.51202343 228.66034915h179.02925868l-38.77032864 358.62287581s-11.8408691 102.5747251 111.19981882 95.56816749c0 0 104.18261278 8.0820322 124.38236907-72.68504892l47.66162892-381.50599438h179.02925869l-40.92127787 378.81198364s-8.62509373 204.61703646-302.62365657 200.58134458c0 0-301.81438853 33.64851371-303.15606901-184.42792795l44.16899791-394.96540027z" fill="#2E2E2E"></path></symbol><symbol id="CSDN_Cert" viewBox="0 0 3160 1024"><path d="M520.522 586.803c-15.738 6.024-48.408 10.148-93.993 10.148-131.166 0-201.986-68.052-193.63-158.083C242.94 331.688 347.84 271.34 462.673 271.34c44.5 0 70.657 3.962 95.186 10.583l-7.869 72.23c-16.28-6.077-54.594-11.613-85.526-11.613-67.564 0-124.98 22.25-131.547 92.636-5.86 62.951 34.406 93.016 110.436 93.016 26.429 0 65.448-4.179 83.52-10.257l-6.35 68.867z" fill="#49A314"></path><path d="M366.78 473.925c39.616-60.943 119.281-94.047 204.428-94.047 44.5 0 70.658 3.961 95.187 10.582l-7.87 72.231c-16.28-6.078-54.593-11.613-85.526-11.613-52.315 0-98.551 13.296-119.77 51.989-30.607 0-52.532 0-86.45-29.142z m262.278 221.414c-15.738 6.024-48.407 10.149-93.992 10.149-95.675 0-159.224-36.197-183.373-90.683 53.346 11.668 100.18 5.319 123.298 5.319 18.614 11.125 44.5 16.606 76.898 16.606 26.428 0 65.447-4.179 83.519-10.257l-6.35 68.866z m808.977-214.685c37.88 13.133 116.84 26.212 180.714 26.212 68.866 0 107.18-18.072 110.219-46.128 2.821-25.615-25.344-29.088-103.11-46.563-107.397-24.963-175.938-63.602-169.209-125.36 7.815-71.85 109.08-126.01 264.341-126.01 75.704 0 149.13 5.047 187.171 16.877l-13.024 90.465c-24.746-8.14-119.227-19.428-183.155-19.428-64.851 0-98.389 19.32-100.722 40.539-2.93 26.808 30.77 28.057 114.994 49.33 113.963 27.46 163.89 66.098 157.378 125.956-7.706 70.55-98.768 130.407-280.567 130.407-75.704 0-140.989-13.133-176.914-26.212l11.884-90.085z m1068.543-295.328c414.066-74.076 449.83 58.99 437.022 176.698l-24.095 217.832h-131.438l21.979-198.621c4.775-43.795 34.406-129.322-108.537-126.12-49.492 1.086-74.022 7.598-74.022 7.598s-4.341 52.803-9.55 91.876l-24.91 225.267H2464.14l25.56-222.011 16.932-172.573z m-522.93-10.31a1354.265 1354.265 0 0 1 137.408-6.133c104.303 0 188.582 17.203 240.788 53.4 46.888 33.755 78.146 88.403 69.463 167.58-7.977 73.697-48.298 125.251-107.18 157.161-53.78 30.12-121.56 42.98-223.53 42.98-60.075 0-117.437-3.093-161.069-9.225l44.12-405.764z m86.179 325.066c10.04 1.9 23.28 3.745 49.384 3.745 104.249 0 177.837-48.625 185.217-117.003 10.745-98.822-54.485-133.391-164.433-132.794-14.218 0-34.026 0-44.5 1.845l-25.668 244.207z m-699.681 83.302c-23.607 8.086-72.611 13.567-140.99 13.567-196.776 0-302.979-90.79-290.443-210.778 15.032-142.943 172.356-223.368 344.604-223.368 66.75 0 106.04 5.264 142.834 14.11l-11.83 96.326c-24.422-8.14-81.837-15.521-128.291-15.521-101.319 0-187.443 29.685-197.265 123.515-8.846 83.898 51.555 124.057 165.627 124.057 39.67 0 98.225-5.59 125.25-13.676l-9.496 91.768z" fill="#49A314"></path><path d="M462.346 973.03l-12.97 3.799-13.024-3.799C194.64 902.481 69.444 736.53 69.444 485.158v-245.4c0-33.43 18.288-63.983 47.322-78.907L411.17 54.268a83.139 83.139 0 0 1 76.301 0l294.406 106.583c29.033 14.924 47.322 45.477 47.322 78.906v245.401c0 250.774-125.143 416.726-366.854 487.872z m258.317-486.406v-234.44l-271.341-89.38-271.342 89.38v234.44c0 198.35 87.915 322.516 271.287 381.668 183.427-59.695 271.396-183.86 271.396-381.668z" fill="#49A314"></path><path d="M1064.018 940.686c-59.532 0-109.893-42.329-109.893-124.383 0-80.75 52.26-126.987 111.793-126.987 30.553 0 55.136 14.652 71.2 31.584l-29.63 37.12c-11.614-11.072-23.879-18.886-40.593-18.886-30.282 0-55.137 28.002-55.137 75.216 0 48.19 21.436 76.192 54.485 76.192 18.56 0 33.701-9.768 44.717-22.141l29.631 36.468c-19.862 23.77-46.02 35.817-76.518 35.817z m187.443 0c-51.338 0-91.062-35.817-91.062-97.031 0-60.238 41.57-97.358 85.038-97.358 51.664 0 76.898 38.748 76.898 89.543 0 10.094-1.302 20.513-2.55 24.746h-105.172c5.047 25.398 22.033 35.817 44.717 35.817 12.916 0 24.855-3.907 37.77-11.722l18.615 34.84c-18.614 13.676-43.144 21.165-64.254 21.165z m-37.825-117.87h61.106c0-18.56-7.869-32.236-28.328-32.236-15.466 0-28.98 10.094-32.778 32.236z m144.57 113.312V750.856h45.695l3.798 32.235h1.249c13.187-24.746 33.103-36.794 51.012-36.794 10.69 0 16.714 1.628 21.707 3.908l-9.443 49.818a70.657 70.657 0 0 0-19.536-2.93c-13.187 0-29.305 8.79-38.694 33.212v105.823h-55.787z m216.694 4.558c-45.043 0-63.277-29.305-63.277-73.262v-71.308h-24.258v-42.98l27.406-2.28 6.295-48.842h46.616v48.842h42.221v45.26h-42.22v70.657c0 20.513 9.442 28.653 22.683 28.653 5.644 0 11.94-1.953 16.39-3.256l8.79 41.678a127.91 127.91 0 0 1-40.646 6.838z m69.626-4.558V750.856h55.734v185.272h-55.734z m28.057-210.995c-18.94 0-32.127-12.374-32.127-29.63 0-17.584 13.187-29.957 32.127-29.957 18.56 0 31.801 12.373 31.801 29.956 0 17.257-13.241 29.63-31.801 29.63z m82.488 26.048v-7.489c0-39.073 17.962-72.285 67.726-72.285 15.738 0 28.328 3.256 36.523 6.512l-10.04 42.655a51.12 51.12 0 0 0-18.288-3.907c-12.265 0-19.862 6.838-19.862 25.397v8.792h31.8v45.26h-31.8v140.012h-56.06V796.116h-23.877v-42.98l23.878-1.955z m149.943-26.048c-18.289 0-31.801-12.374-31.801-29.63 0-17.584 13.567-29.957 31.8-29.957 18.886 0 32.453 12.373 32.453 29.956 0 17.257-13.567 29.63-32.452 29.63z m-28.057 210.995V750.856h56.06v185.272h-56.06z m180.496 4.558c-50.415 0-89.162-35.817-89.162-97.031 0-61.54 44.12-97.358 94.21-97.358 21.707 0 38.747 7.815 52.26 19.862l-26.103 37.12c-8.195-7.163-15.195-10.094-23.01-10.094-24.584 0-39.996 19.537-39.996 50.47 0 30.607 16.064 50.143 38.097 50.143 11.342 0 22.032-5.535 31.204-13.024l21.381 38.096c-17.311 15.955-39.995 21.816-58.88 21.816z m135.454 0c-33.104 0-53.237-25.397-53.237-56.33 0-39.073 29.576-60.238 99.528-68.053-1.248-14.978-8.846-23.77-27.134-23.77-14.11 0-28.925 5.862-46.888 16.281l-19.537-38.096c23.607-14.652 49.113-24.42 77.17-24.42 46.29 0 72.448 26.7 72.448 84.658v105.172h-45.694l-4.07-18.56h-1.248c-14.815 13.676-31.476 23.118-51.338 23.118z m19.211-44.934c11.342 0 18.885-5.535 27.08-14.652v-29.63c-34.949 4.883-46.291 15.303-46.291 28.327 0 10.745 7.543 15.955 19.211 15.955z m196.831 44.934c-45.043 0-63.277-29.305-63.277-73.262v-71.308h-24.258v-42.98l27.406-2.28 6.295-48.842h46.616v48.842h42.167v45.26h-42.167v70.657c0 20.513 9.443 28.653 22.684 28.653 5.644 0 11.94-1.953 16.335-3.256l8.846 41.678a127.91 127.91 0 0 1-40.647 6.838z m69.626-4.558V750.856h55.734v185.272h-55.734z m28.003-210.995c-18.886 0-32.127-12.374-32.127-29.63 0-17.584 13.241-29.957 32.127-29.957 18.614 0 31.855 12.373 31.855 29.956 0 17.257-13.241 29.63-31.855 29.63z m150.865 215.553c-45.64 0-87.86-35.817-87.86-97.031 0-61.54 42.22-97.358 87.915-97.358 45.314 0 87.534 35.817 87.534 97.358 0 61.214-42.22 97.031-87.589 97.031z m0-46.888c20.785 0 30.282-19.536 30.282-50.143 0-30.933-9.497-50.47-30.282-50.47-21.056 0-30.553 19.537-30.553 50.47 0 30.607 9.497 50.143 30.553 50.143z m122.864 42.33V750.856H2826l3.798 23.118h1.194c14.816-14.978 33.104-27.677 57.362-27.677 39.073 0 55.733 28.98 55.733 75.216v114.615h-56.059V828.676c0-25.397-6.62-32.886-20.784-32.886-12.59 0-20.188 5.86-31.205 16.606v123.732h-55.733z" fill="#C2C2C2"></path></symbol></svg><svg aria-hidden="true" style="position: absolute; width: 0px; height: 0px; overflow: hidden;"><symbol id="sousuo" viewBox="0 0 1024 1024"><path d="M719.6779726 653.55865555l0.71080936 0.70145709 191.77828505 191.77828506c18.25658185 18.25658185 18.25658185 47.86273439 0 66.12399318-18.26593493 18.26125798-47.87208744 18.26125798-66.13334544 0l-191.77828505-191.77828506c-0.2338193-0.2338193-0.4676378-0.4676378-0.69678097-0.71081014-58.13206223 44.25257003-130.69075187 70.51978897-209.38952657 70.51978894C253.06424184 790.19776156 98.14049639 635.27869225 98.14049639 444.17380511S253.06424184 98.14049639 444.16912898 98.14049639c191.10488633 0 346.02863258 154.92374545 346.02863259 346.02863259 0 78.6987747-26.27189505 151.25746514-70.51978897 209.38952657z m-275.50884362 43.11621045c139.45428506 0 252.50573702-113.05145197 252.50573702-252.50573702s-113.05145197-252.50573702-252.50573702-252.50573783-252.50573702 113.05145197-252.50573783 252.50573783 113.05145197 252.50573702 252.50573783 252.50573702z"></path></symbol><symbol id="gonggong_csdnlogo_" viewBox="0 0 4096 1024"><path d="M1234.16069807 690.46341551c62.96962316 23.02318413 194.30703694 45.91141406 300.51598128 45.91141406 114.44114969 0 178.13952547-31.68724287 183.2407937-80.86454822 4.642424-44.8587714-42.21366937-50.93170978-171.44579784-81.53931916-178.57137886-43.77913792-292.49970264-111.55313011-281.32549604-219.86735976 12.9825927-125.75031047 181.27046257-220.78504823 439.49180199-220.78504822 125.88526465 0 247.93783044 8.87998544 311.17736197 29.60894839l-21.7006331 158.57116851c-41.05306337-14.27815288-198.1937175-34.11641822-304.48363435-34.11641822-107.7744129 0-163.56447339 33.90049151-167.42416309 71.06687432-4.85835069 47.04502922 51.14763648 49.23128703 191.14910897 86.50563321 189.58364043 48.09767188 272.47250144 115.81768239 261.6221849 220.81203906-12.71268432 123.51007099-164.13128096 228.53141851-466.48263918 228.53141851-125.85827383 0-234.33444849-22.96920244-294.09216204-45.93840492l19.730302-157.86940672zM3010.8325562 172.75216735c688.40130256-129.79893606 747.80813523 103.42888812 726.53935551 309.80082928l-40.08139323 381.78539207h-218.51781789l36.57258439-348.20879061c7.90831529-76.68096846 57.13960232-226.66905073-180.54170997-221.05495659-82.26807176 1.99732195-123.05122675 13.2794919-123.05122677 13.27949188s-7.15257186 92.65954408-15.81663059 161.13529804l-41.43093509 394.84895728h-214.3072473l42.53755943-389.15389062 28.09746151-302.43233073z m-869.48282929-18.05687008c49.12332368-5.34418577 124.58970448-10.76934404 228.45044598-10.76934405 173.38913812 0 313.57954648 30.17575597 400.38207891 93.63121421 77.94953781 59.16391512 129.82592689 154.95439631 115.4668015 293.74128117-13.25250106 129.15115596-80.405704 219.57046055-178.16651631 275.4954752-89.44763445 52.74009587-202.16137055 75.27744492-371.66382812 75.27744493-99.94707012 0-195.27870708-5.39816743-267.77609576-16.14052064L2141.37671774 154.69529727z m143.26736381 569.85754561c16.70732823 3.23890047 38.67786969 6.45081009 81.99816339 6.45081009 173.44311979 0 295.7386031-85.23706385 308.01943403-205.07638097 17.84094339-173.2271931-90.63523129-233.79463176-273.39018992-232.74198912-23.67096422 0-56.57279475 0-73.98188473 3.1849188l-42.6725136 428.15565036z" fill="#262626"></path><path d="M1109.8678928 870.30336371c-41.10704503 14.25116203-126.26313639 23.96786342-245.23874671 23.96786342-342.13585224 0-526.8071603-160.59548129-504.97157302-372.90540663C385.78470347 268.40769434 659.36382925 126.08500985 958.9081404 126.08500985c116.00661824 0 184.32042718 9.33882968 248.31570215 24.99351522l-20.5400271 170.42014604c-42.56455024-14.33213455-142.32268451-27.50366309-223.07926938-27.50366311-176.25016686 0-325.94134993 52.49717834-343.10752238 218.57179958-15.30380469 148.50358623 89.7715245 219.48948804 288.04621451 219.48948804 69.0155707 0 170.77102691-9.8786464 217.81605614-24.15679928l-16.49140154 162.40386737z" fill="#CA0C16"></path></symbol><symbol id="gonggong_csdnlogodanse_" viewBox="0 0 4096 1024"><path d="M1229.41995733 690.46341551c62.96962316 23.02318413 194.30703694 45.91141406 300.51598128 45.91141406 114.44114969 0 178.13952547-31.68724287 183.2407937-80.86454822 4.642424-44.8587714-42.21366937-50.93170978-171.44579784-81.53931916-178.57137886-43.77913792-292.49970264-111.55313011-281.32549604-219.86735976 12.9825927-125.75031047 181.27046257-220.78504823 439.49180199-220.78504822 125.88526465 0 247.93783044 8.87998544 311.17736197 29.60894839l-21.7006331 158.57116851c-41.05306337-14.27815288-198.1937175-34.11641822-304.48363435-34.11641822-107.7744129 0-163.56447339 33.90049151-167.42416309 71.06687432-4.85835069 47.04502922 51.14763648 49.23128703 191.14910897 86.50563321 189.58364043 48.09767188 272.47250144 115.81768239 261.6221849 220.81203906-12.71268432 123.51007099-164.13128096 228.53141851-466.48263918 228.53141851-125.85827383 0-234.33444849-22.96920244-294.09216204-45.93840492l19.730302-157.86940672zM3006.09181546 172.75216735c688.40130256-129.79893606 747.80813523 103.42888812 726.53935551 309.80082928l-40.08139323 381.78539207h-218.51781789l36.57258439-348.20879061c7.90831529-76.68096846 57.13960232-226.66905073-180.54170997-221.05495659-82.26807176 1.99732195-123.05122675 13.2794919-123.05122677 13.27949188s-7.15257186 92.65954408-15.81663059 161.13529804l-41.43093509 394.84895728h-214.3072473l42.53755943-389.15389062 28.09746151-302.43233073z m-869.48282929-18.05687008c49.12332368-5.34418577 124.58970448-10.76934404 228.45044598-10.76934405 173.38913812 0 313.57954648 30.17575597 400.38207891 93.63121421 77.94953781 59.16391512 129.82592689 154.95439631 115.4668015 293.74128117-13.25250106 129.15115596-80.405704 219.57046055-178.16651631 275.4954752-89.44763445 52.74009587-202.16137055 75.27744492-371.66382812 75.27744493-99.94707012 0-195.27870708-5.39816743-267.77609576-16.14052064L2136.635977 154.69529727z m143.26736381 569.85754561c16.70732823 3.23890047 38.67786969 6.45081009 81.99816339 6.45081009 173.44311979 0 295.7386031-85.23706385 308.01943403-205.07638097 17.84094339-173.2271931-90.63523129-233.79463176-273.39018992-232.74198912-23.67096422 0-56.57279475 0-73.98188473 3.1849188l-42.6725136 428.15565036z m-1174.74919792 145.75052083c-41.10704503 14.25116203-126.26313639 23.96786342-245.23874671 23.96786342-342.13585224 0-526.8071603-160.59548129-504.97157303-372.90540663C381.04396273 268.40769434 654.62308851 126.08500985 954.16739966 126.08500985c116.00661824 0 184.32042718 9.33882968 248.31570215 24.99351522l-20.5400271 170.42014604c-42.56455024-14.33213455-142.32268451-27.50366309-223.07926938-27.50366311-176.25016686 0-325.94134993 52.49717834-343.10752238 218.57179958-15.30380469 148.50358623 89.7715245 219.48948804 288.04621451 219.48948804 69.0155707 0 170.77102691-9.8786464 217.81605614-24.15679928l-16.49140154 162.40386737z"></path></symbol><symbol id="xieboke1" viewBox="0 0 1024 1024"><path d="M204.70021457 751.89799169h657.99199211a33.6932867 33.6932867 0 0 1 0 67.33536736H163.68452703a33.53966977 33.53966977 0 0 1-18.74125054-5.68382181c-18.63883902-9.4218307-18.17798882-29.44322156-15.20806401-39.17228615C199.0675982 570.27171976 309.41567149 409.58853908 435.38145354 290.12586836A243.22661203 243.22661203 0 0 1 536.97336934 234.20935065c138.10150976-33.79569759 228.3257813-29.95527721 318.60125827-28.52152054-17.15387692 20.48224105-36.20236071 41.6301547-57.29906892 62.93168529-3.1747472 3.22595323-164.67721739 19.91897936-187.97576692 47.05794871-23.29854894 27.13896932 129.60138005 7.37360691 125.19769798 11.11161576-21.6599699 18.33160576-44.90731339 36.4071831-69.94685287 53.8682939-4.50609297 3.1747472-149.52035944-0.35843931-174.61110436 27.85584737-25.19315641 28.16308124 101.89914903 18.12678338 96.0617103 21.40394206-67.43777825 37.63611797-125.96578207 64.62147036-212.70807253 93.8086635-57.65750823 19.4069231-121.8181284 133.13456658-146.5504346 179.06599187a435.75967738 435.75967738 0 0 0-23.04252112 49.10617311z" fill="#CA0C16"></path></symbol><symbol id="gitchat" viewBox="0 0 1024 1024"><path d="M892.08971773 729.08552746h-108.597062v-162.89559374H403.40293801v-108.59706198h488.68677972v271.49265572z m-651.58237345 54.298531V783.49265572h488.68678045v108.59706201H131.91028227V131.91028227h760.17943546v217.19412473h-108.597062V240.50734428H240.50734428v542.87671418z m542.98531145 0h108.597062v108.59706199h-108.597062v-108.59706199z" fill="#FF9100"></path></symbol><symbol id="toolbar-memberhead" viewBox="0 0 1303 1024"><path d="M1061.51168438 433.79527648A78.51879902 78.51879902 0 1 1 1129.35192643 472.74060007h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643684 67.133573-80.79584389 67.13357302H319.35199503c-41.30088817 0-76.00619753-28.81639958-80.717325-66.97653526L189.01078861 472.74060007H187.12633728a78.51879902 78.51879902 0 1 1 67.76172401-38.86680556l193.31328323 119.81968805 158.13686148-336.06046024A78.5973179 78.5973179 0 0 1 658.23913228 80.14660493a78.51879902 78.51879902 0 0 1 51.58685077 137.721974l158.13686147 335.82490362 193.54883986-119.89820607z" fill="#FDD840"></path><path d="M1050.8331274 394.22180104a78.51879902 78.51879902 0 1 1 78.51879903 78.51879903h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643684 67.133573-80.79584389 67.13357302H659.02432018C658.47468805 793.25433807 658.23913228 505.32590231 658.23913228 80.14660493a78.51879902 78.51879902 0 0 1 51.58685077 137.721974l158.13686147 335.82490362 193.54883986-119.89820607A78.51879902 78.51879902 0 0 1 1050.8331274 394.22180104z" fill="#FFBE00"></path></symbol><symbol id="toolbar-m-memberhead" viewBox="0 0 1303 1024"><path d="M1062.74839935 433.79527648A78.51879902 78.51879902 0 1 1 1130.58864141 472.74060007h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643685 67.133573-80.79584389 67.13357302H320.58871c-41.30088817 0-76.00619753-28.81639958-80.71732499-66.97653526L190.24750358 472.74060007H188.36305226a78.51879902 78.51879902 0 1 1 67.761724-38.86680556l193.31328324 119.81968805 158.13686147-336.06046024A78.5973179 78.5973179 0 0 1 659.47584726 80.14660493a78.51879902 78.51879902 0 0 1 51.58685076 137.721974l158.13686148 335.82490362 193.54883985-119.89820607z" fill="#D6D6D6"></path><path d="M1052.06984238 394.22180104a78.51879902 78.51879902 0 1 1 78.51879903 78.51879903h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643685 67.133573-80.79584389 67.13357302H660.26103515C659.71140302 793.25433807 659.47584726 505.32590231 659.47584726 80.14660493a78.51879902 78.51879902 0 0 1 51.58685076 137.721974l158.13686148 335.82490362 193.54883985-119.89820607A78.51879902 78.51879902 0 0 1 1052.06984238 394.22180104z" fill="#C1C1C1"></path></symbol><symbol id="csdnc-upload" viewBox="0 0 1024 1024"><path d="M216.37466416 723.16095396v84.46438188h591.25067168v-84.46438188c0-23.32483876 18.90735218-42.23219094 42.23219093-42.23219021s42.23219094 18.90735218 42.23219096 42.23219021v84.46438188c0 46.64967827-37.81470362 84.46438188-84.46438189 84.46438189H216.37466416c-46.64967827 0-84.46438188-37.81470362-84.46438189-84.4643819v-84.46438187c0-23.32483876 18.90735218-42.23219094 42.23219096-42.23219021s42.23219094 18.90735218 42.23219094 42.23219021zM469.76780906 275.55040991L246.55378774 499.53305726a42.30820888 42.30820888 0 0 1-59.99082735 0c-16.56346508-16.62259056-16.56346508-43.57095155 0-60.19354139L480.51167818 144.38144832A42.21952103 42.21952103 0 0 1 512 131.93984464a42.20262858 42.20262858 0 0 1 31.48409853 12.44160369l293.95294108 294.95806754c16.56346508 16.62259056 16.56346508 43.57095155 0 60.19354139a42.30820888 42.30820888 0 0 1-59.99082735 0L554.23219094 275.55040991V680.92876375c0 23.32483876-18.90735218 42.23219094-42.23219094 42.23219021s-42.23219094-18.90735218-42.23219094-42.23219021V275.55040991z"></path></symbol></svg><div id="csdn-toolbar" class="csdn-toolbar tb_disnone "> <div class="container row center-block "> <ul class="pull-left left-menu clearfix" id="nav-left-menu"> <li> <a href="https://www.csdn.net/" title="CSDN首页" class=""><svg class="toolbar-icon" aria-hidden="true"><use xlink:href="#gonggong_csdnlogo_"></use></svg></a> </li> <li><a href="https://www.csdn.net/" class="toolbar_to_feed" title="首页" style="margin-left:0">首页</a></li> <li><a href="https://blog.csdn.net/" class="active" title="博客">博客</a></li> <li><a href="https://edu.csdn.net/" title="学院">学院</a></li> <li><a href="https://download.csdn.net/" title="下载">下载</a></li> <li><a href="https://gitchat.csdn.net/?utm_source=csdn_toolbar" title="图文课">图文课</a></li> <li><a href="https://bbs.csdn.net/" title="论坛">论坛</a></li> <li class="app-btn"><a href="https://www.csdn.net/app/" title="APP">APP</a> <div class="appControl"> <span> <img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/csdnqr2x.png"> <em>CSDN</em> </span> <span class="eduwx"> <img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/eduwxfix.png"> <em>CSDN学院</em> </span> </div> </li> <li><a href="https://ask.csdn.net/" title="问答">问答</a></li> <li><a href="https://mall.csdn.net/" title="商城">商城</a></li> <li class="vip-caise"><a href="https://mall.csdn.net/vip_code" title="VIP会员">VIP会员</a></li> <li><a href="https://huiyi.csdn.net/" title="活动">活动</a></li> <li><a href="http://job.csdn.net/" title="招聘">招聘</a></li> <li><a href="http://www.iteye.com/" title="ITeye">ITeye</a></li> <li><a href="https://gitbook.cn/?ref=csdn" title="GitChat">GitChat</a></li> </ul> <div class="pull-right login-wrap unlogin"> <ul class="btns"> <li class="toolbar-tracking csdn-tracking-statistics tracking-click" data-mod="popu_369"><a href="#" style="padding:0" target="_blank"></a></li> <li> <div class="search_bar csdn-tracking-statistics tracking-click" data-mod="popu_366"> <input type="text" class="input_search" name="" id="toolber-keyword" placeholder="搜博主文章" autocomplete="off"> <a href="https://so.csdn.net/so/" target="_blank" class="btn-nobg-noborder btn-search"><svg class="toolbar-icon" aria-hidden="true"><use xlink:href="#sousuo"></use></svg></a> </div> </li> <li class="write-bolg-btn csdn-tracking-statistics tracking-click" data-mod="popu_370"><a class="" href="https://mp.csdn.net/postedit" target="_blank" id="blogClick"><svg class="toolbar-icon" aria-hidden="true"><use xlink:href="#xieboke1"></use></svg><span>写博客</span></a> <div class="blog_tip_box" style="display: none;">快来写博客吧 ヽ(✿゚▽゚)ノ</div></li> <li class="gitChat"><a class="" href="https://gitbook.cn/new/gitchat/activity?utm_source=csdnblog1" target="_blank"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/money.png" alt="" class="money"><span>赚零钱</span></a></li> <li class="gitChat upload msgBox" id="msgBox"> <a target="_blank" class="" href="https://i.csdn.net/#/msg/index"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/message-icon.png" alt="" class="message"><span>消息</span><div class="toolbar-circle" id="msg-circle"></div></a> <div class="msgList" id="msgList"> <a href="https://i.csdn.net/#/msg/index">评论<em class="comment"></em></a> <a href="https://i.csdn.net/#/msg/attention">关注<em class="follow"></em></a> <a href="https://i.csdn.net/#/msg/like">点赞<em class="thumb_up"></em></a> <a href="https://i.csdn.net/#/msg/answer">回答<em class="invitation"></em></a> <a href="https://i.csdn.net/#/msg/notice">系统通知<em class="system"></em></a> </div> </li> <li class="userinfo"><a href="https://passport.csdn.net/account/login" target="_blank">登录</a><span></span><a href="https://passport.csdn.net/account/login" target="_blank">注册</a></li> <li class="userLogin"> <div class="loginCenter"><a href="https://i.csdn.net/" target="_blank"><img class="login_img" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/100x100.jpg"></a></div> <div class="userControl"> <div class="bord"> <div><i class="pull_icon pull_icon1"></i><a href="https://www.csdn.net/nav/watchers" target="_blank">我的关注</a></div> <div><i class="pull_icon pull_icon2"></i><a href="https://i.csdn.net/#/uc/favorite-list" target="_blank">我的收藏</a></div> <div><i class="pull_icon pull_icon4"></i><a href="https://i.csdn.net/#/uc/profile" target="_blank">个人中心</a></div> <div><i class="pull_icon pull_icon7"></i><a href="https://i.csdn.net/#/account/index" target="_blank">帐号设置</a></div> </div> <div class="bord"> <div><i class="pull_icon pull_icon5"></i><a href="https://blog.csdn.net/" target="_blank">我的博客</a></div> <div><i class="pull_icon pull_icon6"></i><a href="https://mp.csdn.net/" target="_blank">管理博客</a></div> <div><i class="pull_icon pull_icon12"></i><a href="https://edu.csdn.net/mycollege" target="_blank">我的学院</a></div> <div><i class="pull_icon pull_icon13"></i><a href="https://download.csdn.net/my/downloads" target="_blank">我的下载</a></div> </div> <div class="bord"> <div><i class="pull_icon pull_icon8"></i><a href="https://my.csdn.net/my/score" target="_blank">我的C币</a></div> <div><i class="pull_icon pull_icon9"></i><a href="https://order.csdn.net/myorder" target="_blank">订单中心</a></div> </div> <div class="bord"> <div><i class="pull_icon pull_icon10"></i><a href="https://blog.csdn.net/home/help.html" target="_blank">帮助</a></div> <div><i class="pull_icon pull_icon11"></i><a href="javascript:void(0);" class="logout">退出</a></div> </div> </div> <div class="guo_tip_box">关注和收藏在这里</div> </li> </ul> </div> </div> </div>
<link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/content_toolbar.css">
<script id="toolbar-tpl-scriptId" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/content_toolbar.js" type="text/javascript" domain="https://blog.csdn.net/"></script><script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/notify.js"></script><script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/main.js"></script><script class="toolbar-s" type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/iconfont.js"></script>
<div id="kp_box_476" data-pid="476" data-track-click="{&quot;mod&quot;:&quot;kp_popu_476-847&quot;,&quot;con&quot;:&quot;,,&quot;}"><script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/indexSuperise.js"></script>
<script>
window.csdn.indexSuperise({
smallMoveImg: '//img-ads.csdn.net/2019/201903011624151971.png',
bigMoveImg:
'//img-ads.csdn.net/2019/201903011624517857.png',
link:'//gitbook.cn/gitchat/column/5c6cd09e7fa9074fde9c8909?utm_source=fcblog190301',
trackSuperId:416,
smallMove:'notMove',
trackSId:792,
posParent:'div.csdn-side-toolbar'
});
</script></div><link href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/indexSuperise.css" rel="stylesheet"><link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/blog_code-c3a0c33d5c.css">
<link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/paging.css">
<script type="text/javascript">
// 容错处理
var NEWS_FEED = function(){}
</script>
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/copyright.js"></script>
<div style="display:none;">
<img src="" onerror='setTimeout(function(){if(!/(csdn.net|iteye.com|baiducontent.com|googleusercontent.com|360webcache.com|sogoucdn.com|bingj.com|baidu.com)$/.test(window.location.hostname)){window.location.href="\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x73\x64\x6e\x2e\x6e\x65\x74"}},3000);'>
</div>
<link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/chart-3456820cac.css">
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/ds.js"></script>
<div class="container clearfix" id="mainBox">
<div class="recommend-right">
<ul class="recommend-fixed-box">
</ul>
</div>
<main>
<div class="blog-content-box">
<div class="article-header-box">
<div class="article-header">
<div class="article-title-box">
<span class="article-type type-1 float-left">原</span> <h1 class="title-article">rtmp协议规范详解</h1>
</div>
<div class="article-info-box">
<div class="article-bar-top">
<span class="time">2018年01月17日 15:49:40</span>
<a class="follow-nickName" href="https://me.csdn.net/HandsomeHong" target="_blank">嵌入式挖掘机</a>
<span class="read-count">阅读数:1483</span>
</div>
<div class="operating">
</div>
</div>
</div>
</div>
<article class="baidu_pl">
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post">
<div class="article-copyright">
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HandsomeHong/article/details/79084967 </div>
<link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/ck_htmledit_views-f57960eb32.css">
<div class="htmledit_views" id="content_views">
<p style="padding-top:0px; padding-bottom:0px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
转载请注明出处:<strong>http://blog.csdn.net/handsomehong</strong></p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
本篇文章大部分是rtmp协议1.0版本的翻译,翻译参考了网上的版本,加了一些抓包分析。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
Adobe公司的实时消息传输协议</p>
<h2 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:2.15em; padding:0px; background-color:rgb(255,255,255)"><a name="t0"></a>
<a target="_blank" name="t0" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>摘要</h2>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
  此备忘录描述了 Adobe公司的实时消息传输协议(RTMP),此协议从属于应用层,被用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频、视频和互动内容)。</p>
<h2 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:2.15em; padding:0px; background-color:rgb(255,255,255)"><a name="t1"></a>
<a target="_blank" name="t1" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>目录</h2>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
1.简介&nbsp;<br>
<span style="white-space:pre"></span>1.1.术语&nbsp;<br>
2.贡献者&nbsp;<br>
3.定义&nbsp;<br>
4.字节序,对齐,和时间格式&nbsp;<br>
5.RTMP块流&nbsp;<br>
<span style="white-space:pre"></span>5.1.消息格式&nbsp;<br>
<span style="white-space:pre"></span>5.2.握手&nbsp;<br>
<span style="white-space:pre"></span>5.2.1.握手序列&nbsp;<br>
<span style="white-space:pre"></span>5.2.2.C0和S0格式&nbsp;<br>
<span style="white-space:pre"></span>5.2.3.C1和S1格式&nbsp;<br>
<span style="white-space:pre"></span>5.2.4.C2和S2格式&nbsp;<br>
<span style="white-space:pre"></span>5.2.5.握手流程图&nbsp;<br>
<span style="white-space:pre"></span>5.3.组块&nbsp;<br>
<span style="white-space:pre"></span>5.3.1.块格式&nbsp;<br>
<span style="white-space:pre"></span>5.3.1.1.块的基本头&nbsp;<br>
<span style="white-space:pre"></span>5.3.1.2.块的消息头&nbsp;<br>
<span style="white-space:pre"></span>5.3.1.2.1.类型0&nbsp;<br>
<span style="white-space:pre"></span>5.3.1.2.2.类型1&nbsp;<br>
<span style="white-space:pre"></span>5.3.1.2.3.类型2&nbsp;<br>
<span style="white-space:pre"></span>5.3.1.2.4.类型3&nbsp;<br>
<span style="white-space:pre"></span>5.3.1.2.5.常见的头字段&nbsp;<br>
<span style="white-space:pre"></span>5.3.1.3.扩展的时间戳&nbsp;<br>
<span style="white-space:pre"></span>5.3.2.示例&nbsp;<br>
<span style="white-space:pre"></span>5.3.2.1.示例1&nbsp;<br>
<span style="white-space:pre"></span>5.3.2.2.示例2&nbsp;<br>
<span style="white-space:pre"></span>5.4.协议控制消息&nbsp;<br>
<span style="white-space:pre"></span>5.4.1.设置块大小 (1)&nbsp;<br>
<span style="white-space:pre"></span>5.4.2.中断消息 (2)&nbsp;<br>
<span style="white-space:pre"></span>5.4.3.应答 (3)&nbsp;<br>
<span style="white-space:pre"></span>5.4.4.应答窗口大小 (5)&nbsp;<br>
<span style="white-space:pre"></span>5.4.5.设置流带宽 (6)&nbsp;<br>
6.RTMP消息格式&nbsp;<br>
<span style="white-space:pre"></span>6.1.RTMP消息格式&nbsp;<br>
<span style="white-space:pre"></span>6.1.1.消息头&nbsp;<br>
<span style="white-space:pre"></span>6.1.2.消息有效数据 (音视频数据)<br>
<span style="white-space:pre"></span>6.2.用户控制消息 (4)&nbsp;<br>
7.RTMP命令消息&nbsp;<br>
<span style="white-space:pre"></span>7.1.消息类型&nbsp;<br>
<span style="white-space:pre"></span>7.1.1.命令消息 (20, 17)&nbsp;<br>
<span style="white-space:pre"></span>7.1.2.数据消息 (18, 15)&nbsp;<br>
<span style="white-space:pre"></span>7.1.3.共享对象消息 (19, 16)&nbsp;<br>
<span style="white-space:pre"></span>7.1.4.音频消息 (8)&nbsp;<br>
<span style="white-space:pre"></span>7.1.5.视频消息 (9)&nbsp;<br>
<span style="white-space:pre"></span>7.1.6.集合消息 (22)&nbsp;<br>
<span style="white-space:pre"></span>7.1.7.用户控制消息事件&nbsp;<br>
<span style="white-space:pre"></span>7.2.命令类型&nbsp;<br>
<span style="white-space:pre"></span>7.2.1.网络连接命令&nbsp;<br>
<span style="white-space:pre"></span>7.2.1.1.连接&nbsp;<br>
<span style="white-space:pre"></span>7.2.1.2.调用&nbsp;<br>
<span style="white-space:pre"></span>7.2.1.3.创建流&nbsp;<br>
<span style="white-space:pre"></span>7.2.2.网络流命令&nbsp;<br>
<span style="white-space:pre"></span>7.2.2.1.播放&nbsp;<br>
<span style="white-space:pre"></span>7.2.2.2.播放2&nbsp;<br>
<span style="white-space:pre"></span>7.2.2.3.删除流&nbsp;<br>
<span style="white-space:pre"></span>7.2.2.4.接收音频&nbsp;<br>
<span style="white-space:pre"></span>7.2.2.5.接收视频&nbsp;<br>
<span style="white-space:pre"></span>7.2.2.6.发布&nbsp;<br>
<span style="white-space:pre"></span>7.2.2.7.定位&nbsp;<br>
<span style="white-space:pre"></span>7.2.2.8.暂停&nbsp;<br>
<span style="white-space:pre"></span>7.3.消息交互示例&nbsp;<br>
<span style="white-space:pre"></span>7.3.1.发布录制的视频&nbsp;<br>
<span style="white-space:pre"></span>7.3.2.广播共享对象消息&nbsp;<br>
<span style="white-space:pre"></span>7.3.3.从录制的流发布元数据&nbsp;<br>
8.引用&nbsp;<br>
作者的联系方式</p>
<h2 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:2.15em; padding:0px; background-color:rgb(255,255,255)"><a name="t2"></a>
<a target="_blank" name="t2" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>1.简介</h2>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
Adobe公司的实时消息传输协议(RTMP)通过可靠的流传输,比如TCP协议[RFC0793],提供了一套全双工的消息多路传输服务,用来在一对结
点之间并行传输带时间戳的音频流,视频流,数据流。通常情况下,不同类型的消息会被分配不同的优先级,当网络传输能力受限时,优先级会影响消息在底层流传
输的入队顺序。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
  这篇文章描述了实时消息传输协议(RTMP)的语法和操作。</p>
<h3 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.7em; padding:0px; background-color:rgb(255,255,255)"><a name="t3"></a>
<a target="_blank" name="t3" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>1.1术语</h3>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
当前文章中的这些关键字“MUST”“MUST NOT”“REQUIRED”“SHALL”“SHALL NOT”“SHOULD”“SHOULD
NOT”“RECOMMENDED”“NOT RECOMMENDED”“MAY”“OPTIONAL”按照[RFC2119]中的描述来解读。</p>
<h2 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:2.15em; padding:0px; background-color:rgb(255,255,255)"><a name="t4"></a>
<a target="_blank" name="t4" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>2.贡献者</h2>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
Rajesh Mallipeddi,Adobe公司前员工,是这份规范的原始作者,并且提供了大部分的原始文本。&nbsp;<br>
Mohit Srivastava,Adobe公司员工,为这份规范的完善做出了很大贡献。</p>
<h2 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:2.15em; padding:0px; background-color:rgb(255,255,255)"><a name="t5"></a>
<a target="_blank" name="t5" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>3.定义</h2>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>有效数据(直接翻译是 载荷)</strong>&nbsp;<br>
包含在包中的数据,例如音频采样、压缩后的视频数据。有效数据的格式超出了本文的范围。&nbsp;<br>
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>包</strong>&nbsp;<br>
一个数据包包括固定的包头和有效数据。一些底层协议可能需要封装包的定义。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>端口</strong>&nbsp;<br>
传输协议使用端口来区分同一个主机上的多个目标地址。TCP/IP协议根据小正整数(端口号)来识别端口。OSI传输层使用的传输选择器(TSEL)相当于端口。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>传输地址</strong>&nbsp;<br>
一个网络地址和端口的组合,用来标识传输层的一端,例如IP地址和TCP端口。数据包从源地址传输到目的地址。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>消息流</strong>&nbsp;<br>
消息流动的逻辑通信信道。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>消息流ID</strong>&nbsp;(备注:msid)<br>
每条消息都有一个与之相关联的ID,用来区分这条消息属于哪个流。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>块</strong>&nbsp;<br>
消息的一个分片。消息在被发送到网络之前,被分割成更小的部分。块可以确保跨越多个流,按时间戳顺序,端到端的交付所有消息。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>块流</strong>&nbsp;<br>
一个逻辑通信信道,允许块在一个特定的方向上流动。块流可以从客户机传输到服务器,也可以反向传输。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>块流ID</strong>&nbsp;(备注:csid)<br>
每个块都有一个与之相关联的ID,用来区分块属于哪个流。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>多路复用</strong>&nbsp;<br>
将独立的音频或视频数据组合为连贯的音视频数据流,使同时传输多个视频和音频成为可能。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>多路分解</strong>&nbsp;<br>
多路复用的逆向过程,将混合的音视频数据拆分成独立的音频和视频数据。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>远程过程调用(RPC)</strong>&nbsp;<br>
允许客户端或服务器请求对端调用程序或子程序。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>元数据</strong>&nbsp;<br>
关于数据的描述。电影的元数据包括标题、时间、创建日期、等等。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>应用实例</strong>&nbsp;<br>
当客户端发送连接请求到服务器时,会在服务器端建立一个应用实例。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>动作消息格式(AMF)</strong>&nbsp;<br>
一种紧凑的二进制格式,用来序列化ActionScript object graphs。AMF有两个版本:AMF0、AMF3。&nbsp;<br>
<em>注: AMF0代表早期的flex对象,AMF3代表flash对象;</em></p>
<h2 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:2.15em; padding:0px; background-color:rgb(255,255,255)"><a name="t6"></a>
<a target="_blank" name="t6" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>4.字节序,对齐,和时间格式</h2>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
所有的整形字段使用网络字节序的方式传输,第零字节位于第一位,第零比特是双字节或字段的标志位。这种字节顺序通常称为大端。传输顺序的描述详见IP协议[RFC0791]。除非特别声明,本文中的数字一律为十进制。&nbsp;<br>
<em>注: 网络字节序为大端排序方式。</em></p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
除非特别说明,RTMP协议中的数据都以字节对齐。例如,一个16比特数字可能位于奇数偏移字节。涉及到填补数据的,填补字节应该为零。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
RTMP的时间戳,是以毫秒为单位的相对于不特定的某一时刻的整型数。通常,每个流以零作为时间戳的起始,但这不是必需的,只要他们的基准时间一样即可。注意,这意味着,任何同步传输的多个流(特别是来自不同的主机)的时间戳需要在RTMP协议外做一些额外处理。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
时间戳是一个32位整型数,每隔49天17时2分47.296秒翻转。由于,流允许连续传输,可能连续数年,RTMP应用程序在处理时间戳时,应该使用序
列号算法[RFC1982],and SHOULD be capable of handling
wraparound。例如,应用程序假设所有相邻的时间戳都在1到2^32毫秒之间,比如4000000000后面跟着
10000,3000000000在4000000000的前面。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
时间戳增量是相对于前一个时间戳的无符号整型数。时间戳增量可以是24位或者32位。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<br>
</p>
<h2 style="color:rgb(0,0,0); font-family:'microsoft yahei'; font-weight:100; line-height:1.1; margin-top:.8em; margin-bottom:.8em; font-size:2.15em; padding:0px; background-color:rgb(255,255,255)"><a name="t7"></a>
<a target="_blank" name="t7" style="color:rgb(79,161,219); margin:0px; padding:0px"></a><span style="color:rgb(79,161,219)">5.</span><span style="color:rgb(63,63,63)">RTMP块流</span></h2>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
本节讲述了实时消息协议块流(RTMP块流)。它为更高层多媒体流协议提供了多路复用和打包服务。RTMP块流被设计用于实时消息协议(第6章),它可以
处理发送消息流的任何协议。每个消息都包含时间戳和有效数据类型标识。RTMP块流和RTMP适用于各种视听传播的应用程序,包括一对一的,和一对多的视
频直播、视频点播服务、互动会议应用程序。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
当使用一个可靠的传输协议如TCP[RFC0793]时,RTMP块流提供了一种可以在多个流中,基于时间戳顺序的端到端交付所有消息的方法。RTMP块
流不提供任何优先级或类似形式的控制,但可以使用更高层的协议来提供这样的优先级。例如,一个视频服务器可以根据发送的时间或确认每个消息的时间,来决定
为一个网络差的用户丢弃视频信息,以确保音频信息的及时接收。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
RTMP块流不仅包含了自己的协议控制信息,同时也为更高层的协议提供了嵌入用户自定义控制信息的机制。</p>
<h3 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.7em; padding:0px; background-color:rgb(255,255,255)"><a name="t8"></a>
<a target="_blank" name="t8" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>5.1.消息格式</h3>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
消息格式可以被分割成多个块,用来在更高层的协议中支持多路复用。消息格式应包含以下在创建块时所必须的字段:</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>时间戳</strong>&nbsp;<br>
消息的时间戳。这个字段占用4字节。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>长度</strong>&nbsp;<br>
消息的有效数据长度。如果消息头不能被忽略,它应该被包括进长度。这个字段在块头中占用3字节。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>类型ID</strong>&nbsp;<br>
A range of type IDs are reserved for protocol control
messages.这些消息使用RTMP块流协议和更高层的协议来传输信息。所有其他类型的ID可以用在更高层的协议,这对于RTMP块流来说,是不透明
的。事实上,RTMP块流中没有要求使用这些值作为类型;所有(无协议的)消息可能是相同的类型,或者应用程序使用这个字段来区分多个连接,而不是类型。
这个字段在块头中占用1字节。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>消息流ID</strong>&nbsp;<br>
消息流ID可以是任意值。不同的消息流会复用到相同的块流,可以通过消息流ID来解复用。另外,对于RTMP块流而言,这是一个不透明值。该字段在块头中占用4字节,使用小端格式。</p>
<h3 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.7em; padding:0px; background-color:rgb(255,255,255)"><a name="t9"></a>
<a target="_blank" name="t9" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>5.2.握手</h3>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
RTMP连接从握手开始。它包含三个固定大小的块,不像其他的协议,是由大小可变包含头部的块组成。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
客户端(初始化连接的一端)和服务端发送同样的三个块。为了方便描述,客户端发送的三个块命名为C0,C1,C2;服务端发送的三个块命名为S0,S1,S2。</p>
<h4 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.25em; padding:0px; background-color:rgb(255,255,255)">
握手序列</h4>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
客户端通过发送C0和C1块来启动握手过程。客户端必须接收到S1块,然后才能发送C2块。客户端必须接收到S2块,然后发送其他数据。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
服务端必须接收到C0或者C1块,然后才能发送S0和S1块。服务端必须接收到C1块,然后才能发送S2块。服务端必须接收到C2块,然后发送其他数据。</p>
<h4 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.25em; padding:0px; background-color:rgb(255,255,255)">
C0和S0格式</h4>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
C0和S0包由一个字节组成,下面是C0/S0包内的字段:</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs smalltalk has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-localvars" style="margin:0px; padding:0px"><span class="hljs-params">| version |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">C<span class="hljs-number">0</span></span> <span class="hljs-keyword">and</span> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">S<span class="hljs-number">0</span></span> bits</div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>版本(8比特)</strong>&nbsp;<br>
在C0包内,这个字段代表客户端请求的RTMP版本号。在S0包内,这个字段代表服务端选择的RTMP版本号。此文档使用的版本是3。版本0-2用在早期
的产品中,现在已经被弃用;版本4-31被预留用于后续产品;版本32-255(为了区分RTMP协议和文本协议,文本协议通常以可打印字符开始)不允许
使用。如果服务器无法识别客户端的版本号,应该回复版本3。客户端可以选择降低到版本3,或者中止握手过程。</p>
<h4 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.25em; padding:0px; background-color:rgb(255,255,255)">
C1和S1格式</h4>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
C1和S1包长度为1536字节,包含以下字段:</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs livecodeserver has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| </span><span class="hljs-built_in" style="margin:0px; padding:0px; color:rgb(102,0,102)"><span class="hljs-params">time</span></span><span class="hljs-params"> (</span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">4</span></span><span class="hljs-params"> </span><span class="hljs-keyword" style="margin:0px; padding:0px"><span class="hljs-params">bytes</span></span><span class="hljs-params">) |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| </span><span class="hljs-constant" style="margin:0px; padding:0px"><span class="hljs-params">zero</span></span><span class="hljs-params"> (</span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">4</span></span><span class="hljs-params"> </span><span class="hljs-keyword" style="margin:0px; padding:0px"><span class="hljs-params">bytes</span></span><span class="hljs-params">) |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| </span><span class="hljs-built_in" style="margin:0px; padding:0px; color:rgb(102,0,102)"><span class="hljs-params">random</span></span><span class="hljs-params"> </span><span class="hljs-keyword" style="margin:0px; padding:0px"><span class="hljs-params">bytes</span></span><span class="hljs-params"> |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| </span><span class="hljs-built_in" style="margin:0px; padding:0px; color:rgb(102,0,102)"><span class="hljs-params">random</span></span><span class="hljs-params"> </span><span class="hljs-keyword" style="margin:0px; padding:0px"><span class="hljs-params">bytes</span></span><span class="hljs-params"> |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| (cont) |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| .... |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> C1 <span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-keyword">and</span></span> S1 bits</div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>时间(4字节)</strong>&nbsp;<br>
本字段包含一个时间戳,以后所有从该终端发送的块都应该以该时刻为参考点。时间戳取值可以为零或其他任意值。为了同步多个块流,终端可能希望发送其他块流的时间戳。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>零(4字节)</strong>&nbsp;<br>
本字段必须为零。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>随机数据(1528字节)</strong>&nbsp;<br>
本字段可以包含任意数据。由于握手的双方需要区分另一端,此字段填充的数据必须足够随机(以防止与其他握手端混淆)。不过没必要为此使用加密安全随机数据或动态数据。</p>
<h4 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.25em; padding:0px; background-color:rgb(255,255,255)">
C2和S2格式</h4>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
C2和S2包长度为1536字节,作为C1和S1的回应,包含以下字段:</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs 1c has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| time (4 bytes) |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| time2 (4 bytes) |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| random echo |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| random echo |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| (cont) |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| .... |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> C2 <span class="hljs-keyword">and</span> S2 bits</div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>时间(4字节)</strong>&nbsp;<br>
本字段必须包含对端发送的S1(对于C2)或者C1(对于S2)时间戳。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>时间2(4字节)</strong>&nbsp;<br>
本字段必须包含时间戳,取值为接收对端发送过来的握手包(s1或c1)的时刻。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>随机数据(1528字节)</strong>&nbsp;<br>
本字段必须包含对端发送过来的随机数据(对于C2来说是S1,对于S2来说是C1)。握手的双方可以使用时间1和时间2字段来估算网络连接的带宽和/或延迟,但是不一定有用。</p>
<h4 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.25em; padding:0px; background-color:rgb(255,255,255)">
握手过程示意图</h4>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs 1c has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-------------+ +-------------+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| Client |</span> TCP/IP Network <span class="hljs-params">| Server |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-------------+ <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| +-------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> <span class="hljs-params">| |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> Uninitialized <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| Uninitialized</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> C<span class="hljs-number">0</span> <span class="hljs-params">| |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|-------------------&gt;|</span> C<span class="hljs-number">0</span> <span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> <span class="hljs-params">|--------------------&gt;|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| C1 |</span> <span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span>-------------------&gt;<span class="hljs-params">| S0 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| |</span>&lt;--------------------<span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> <span class="hljs-params">| S1 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> Version sent <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|&lt;--------------------|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| S0 |</span> <span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="15"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span>&lt;-------------------<span class="hljs-params">| |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="16"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| S1 |</span> <span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="17"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span>&lt;-------------------<span class="hljs-params">| Version sent</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="18"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> <span class="hljs-params">| C1 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="19"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| |</span>--------------------&gt;<span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="20"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> C2 <span class="hljs-params">| |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="21"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|-------------------&gt;|</span> S2 <span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="22"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> <span class="hljs-params">|&lt;--------------------|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="23"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> Ack sent <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| Ack Sent</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="24"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> S2 <span class="hljs-params">| |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="25"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|&lt;-------------------|</span> <span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="26"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> <span class="hljs-params">| C2 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="27"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| |</span>--------------------&gt;<span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="28"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> Handshake Done <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">|</span> Handshake Done</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="29"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string" style="margin:0px; padding:0px; color:rgb(0,136,0)"><span class="hljs-params">| |</span> <span class="hljs-params">|</span></span><span class="hljs-params"><span class="hljs-params"></span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="30"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> Pictorial Representation of Handshake</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="31"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> [译]握手示意图</span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
下面是握手示意图中提到的状态:</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>未初始化</strong>&nbsp;<br>
协议版本号在此阶段发送。客户端和服务器均处于未初始化状态。客户端发送携带协议版本号的C0包。如果服务器支持此版本,回复S0和S1包。如果服务器不支持此版本,使用适当的动作回复。在RTMP协议中,此动作是中止连接。&nbsp;<br>
<em>注: 在”C0和S0格式”章节中提及,如果服务器不支持客户端的版本号,可以选择降到版本3或中止。</em></p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>发送版本</strong>&nbsp;<br>
客户端和服务器双方在未初始化状态后,会进入发送版本状态。之后,客户端等待S1包,服务器等待C1包。待接收到数据包,客户端发送C2包,服务器发送S2包。然后,双方都进入答复状态。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>答复状态</strong></p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
客户端等待S2包,服务器等待C2包。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>握手完成</strong>&nbsp;<br>
客户端和服务器交换消息。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
下面结合抓包软件来分析。打开抓包软件,用软件播放一个rtmp直播流。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
由于rtmp协议基于tcp协议,所以必有tcp的三次握手建立连接。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<br>
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
下面先学习以下tcp四层模型的各层协议。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
学习以太网的帧结构:</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<p style="margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:26px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255); font-family:Arial; font-size:14px">
以太网帧主要有两种:以太网V2类型和802.3类型。以太网帧的格式如下(以太网V2类型):</p>
<p style="margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:26px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255); font-family:Arial; font-size:14px">
以太网帧是物理层的概念,它的数据部分叫MAC帧,是MAC层的概念,MAC帧的数据部分叫IP报文,是IP层的概念,IP层的数据部分是传输层的概念,
根据传输层使用的协议的不同,又可分为UDP报文和TCP报文,传输层之上是最后一层,应用层。应用层的协议非常多,比如本篇文章的rtmp协议就是应用
层的协议。在应用层之上可以还有进一步的封装,那就属于用户的事了。</p>
<p style="margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:26px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255); font-family:Arial; font-size:14px">
<br>
<br>
<img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20140116115426000.jpg" alt="" style="border:none; vertical-align:middle; outline:0px; max-width:100%; color:rgb(69,69,69); font-family:Arial; font-size:14px; text-align:start; white-space:pre; background-color:rgb(255,255,255)"><br>
</p>
<p style="margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:26px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255); font-family:Arial; font-size:14px">
<span style="margin:0px; padding:0px; white-space:pre"></span>&nbsp;<span style="margin:0px; padding:0px; white-space:pre"></span>其中以太网帧的数据部分就是上层的“IP报文”,在MAC层封装时,在IP报文(比如ARP报文)的基础上加了12个字节的的源目MAC地址,2个字节的报文类型,4个字节的FCS校验位,一共18个字节。</p>
<p style="margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:26px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255); font-family:Arial; font-size:14px">
<span style="margin:0px; padding:0px; white-space:pre"></span><span style="margin:0px; padding:0px; white-space:pre"></span><span style="margin:0px; padding:0px; color:rgb(255,0,0)">2个字节的类型字段主要是用来标志上一层使用的是什么协议,主要方便于收到MAC帧的主机在解包的过程中,知道把数据字段(IP报文)交给上一层的哪个协议,例如ARP的报文类型是
0X0806 。常用的类型时PPP(点对点协议,工作于链路层)</span></p>
<p style="margin-bottom:0px; padding-top:0px; padding-bottom:0px; line-height:26px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255); font-family:Arial; font-size:14px">
<span style="margin:0px; padding:0px; white-space:pre"></span><span style="margin:0px; padding:0px; white-space:pre"></span>数据字段的大小在46-1500字节之间,也就说MAC帧的大小不能小于46+18=64字节,否则被丢弃</p>
<br>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
物理层之上是链路层。链路层我以PPP协议为例子。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
版本和类型1字节</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
会话数据1字节</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
会话ID2字节</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
有效数据长度2字节</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<br>
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
链路层之上是网络层,对应于IP报文</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
IP报文格式如下图</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20170301092349308.png" alt="" style="border:0px; vertical-align:middle; outline:0px; max-width:100%" width="600" height="400"><br>
</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>版本</strong>:IP协议的版本,目前的IP协议版本号为4,下一代IP协议版本号为6。</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>首部长度</strong>:IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制
的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最
大为40字节。首部长度通常为20。</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>服务类型</strong>:Type Of Service。通常为0,有些地方叫区分服务字段。</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>总长度</strong>:IP报文的总长度。报头的长度和数据部分的长度之和。</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>标识</strong>:唯一的标识主机发送的每一分数据报。通常每发送一个报文,它的值加一。当IP报文长度超过传输网络的MTU(最大传输单元)时必须分片,这个标识字段的值被复制到所有数据分片的标识字段中,使得这些分片在达到最终目的地时可以依照标识字段的内容重新组成原先的数据。</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>标志</strong>:共3位。R、DF、MF三位。R表示保留位,目前只有后两位有效,DF位:为1表示不分片,为0表示分片。MF:为1表示“更多的片”,为0表示这是最后一片。</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>片位移</strong>:<span style="margin:0px; padding:0px; font-family:Arial">本分片在原先数据报文中相对首位的偏移位。(需要再乘以8)</span></p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>生存时间</strong>:IP报文所允许通过的路由器的最大数量。每经过一个路由器,TTL减1,当为0时,路由器将该数据报丢弃。
TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64。发送 ICMP 回显应答时经常把
TTL 设为最大值 255。</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>协议</strong>:指出IP报文携带的数据使用的是那种协议,以便目的主机的IP层能知道要将数据报上交到哪个进程(不同的协议有专门不同的进程处理)。和端口号类似,此处采用协议号,TCP的协议号为6,UDP的协议号为17。ICMP的协议号为1,IGMP的协议号为2.</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>首部校验和</strong>:计算IP头部的校验和,检查IP报头的完整性。</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>源IP地址</strong>:标识IP数据报的源端设备。</p>
<p style="padding-top:0px; padding-bottom:0px; word-break:normal; color:rgb(69,69,69); text-align:start; background-color:rgb(255,255,255)">
<strong>目的IP地址</strong>:标识IP数据报的目的地址。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<br>
<br>
网络层之上是传输层。传输层的协议有TCP和UDP。<br>
</p>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<p>首先来看一下<strong>TCP</strong>报文的首部。</p>
<div class="image-package"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/image.png" alt="tcp首部" style="">
<div class="image-caption">各字段介绍:</div>
</div>
<strong><em>1、</em></strong>源端口:是应用层进程所使用的端口,16位</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>2、</em></strong>目的端口:通信另一端的进程所使用的端口,16位</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>3、</em></strong>序号:发送分组时,将报文按字节编号,报文的第一个字节的序号就是序号,每一次发送报文的序号时由双方决定,也就是发送方报文的第一个字节序号。32位</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>4、</em></strong>确认序号:是接收方期望发送方下一个报文的字节序号,假如A向B发送了一个报文,序号是x,如果B收到了这个报文,那么B发送了一个确认报文给A,将确认序号设置为x+1,表示前x个字节的数据我已经收到,你下次给我发从x+1开始的数据。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<span style="font-weight:700; background-color:rgb(239,239,239)"><em>5、</em></span><em>首部长度:注意单位为4字节,所以可表示15*4=</em>60字节的首部。一般首部长度为20字节。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>6、</em></strong>保留:6bit, 均为0</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
下面是6个标志位。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
备注:网上的资料一致是6位保留,6位标志位,但是我用最新的wireshark抓包却显示是3位保留,9位标志位。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<p>多出来的三个是Nonce、CWR(Congestion Window Reduced)、ECN-Echo</p>
</div>
</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>7、</em></strong>紧急URG:当URG=1时,表示报文段中有紧急数据,应尽快传送。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<span style="font-weight:700; background-color:rgb(239,239,239)"><em>8、</em></span>确认比特ACK:ACK = 1时代表这是一个确认的TCP包,取值0则不是确认包。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>9、</em></strong> 推送比特PSH:当发送端PSH=1时,接收端尽快的交付给应用进程。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>10、</em></strong> 复位比特(RST):当RST=1时,表明TCP连接中出现严重差错,必须释放连接,再重新建立连接。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>11、</em></strong>同步比特SYN:在建立连接是用来同步序号。SYN=1, ACK=0表示一个连接请求报文段。SYN=1,ACK=1表示同意建立连接。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>12、</em></strong> 终止比特FIN:FIN=1时,表明此报文段的发送端的数据已经发送完毕,并要求释放传输连接。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>13、</em></strong> 窗口:用来控制对方发送的数据量。16位。单位是4字节。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>14、</em></strong> 检验和:该字段检验的范围包括首部和数据这两部分。由发端计算和存储,并由收端进行验证。</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>15、</em></strong>紧急指针:紧急指针在URG=1时才有效,它指出本报文段中的紧急数据的字节数。通常为0</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<strong><em>16、</em></strong> 选项:长度可变,最长可达40字节</div>
<div>关于tcp选项:最大分片大小(MSS)2字节、window scale(WS)、SACK_PERM</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>常见的有:</div>
<p></p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
tcp的三次握手</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
1、客户端发送syn标志位=1(表明是个连接请求),序列号为0的tcp包</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
2、服务器端收到之后发送syn标志位=1,ack标志位=1,序列号为0的tcp包</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<span style="font-family:&quot;microsoft yahei&quot;; font-size:14px; text-align:justify; background-color:rgb(255,255,255)">3、客户端收到之后发送ack标志位=1,序列号为1的tcp包</span></p>
握手时tcp的数据部分都是0。
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
tcp握手成功,按照协议rtmp协议也要握手。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
客户端要向服务器发送C0和C1rtmp块,大小分别为1和1535字节,显然是超过了前面介绍的以太网帧的数据部分最多只能是1500字节,而且这1500字节还是ip报文。所以需要分批发送,抓包发现:</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
客户端向服务器发送了ack标志位=1,序列号=1,附加有1300字节数据的tcp包。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; background-color:rgb(255,255,255)">
</p>
<div style="white-space:pre-wrap">
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">客户端继续向服务器发送了ack标志位=1,序列号=1301,附加有237字节数据的tcp包。</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">发现两者加起来刚好是1357。按道理一个以太网帧可以发送除去ip、tcp头1500-40=1460字节的应用层数据,至于这里为啥是1300呢,<a href="https://www.baidu.com/s?wd=%E4%B8%8D%E5%BE%97%E8%80%8C%E7%9F%A5&amp;tn=24004469_oem_dg&amp;rsv_dl=gh_pl_sl_csd" target="_blank">不得而知</a>。</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">ok,C0和C1已经发送完毕,可以看到,在实际实现时,C0和C1是绑在一起发送的。C1的时间戳是0a 67 bb c0</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">服务器收到两个tcp包自然要回应两次:</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">一次ACK=1301,表示告诉客户端前面1300自己我已经收到了。</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">一次ACK=1358,表示高数客户端前面1357字节我已经收到了。接下来就站在应用层(即rtmp)的角度来看,不考虑tcp应答包这些。</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">至于如果第一次包没有收到,只收到了第二次包,会怎样呢?这是tcp协议的事了,不在本文讨论范围之内。</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">下面服务器收到了C0和C1后,开始向客户端发送S0、S1、S2rtmp块了,可以看到,为了方便,这三个块是绑在一起发的的。</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">又是发序列号=1,1300字节数据(应用层)</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">发序列号=1301,1300字节数据(应用层)</span></p>
<p style="color:rgb(63,63,63); font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px">
<span style="color:rgb(63,63,63); font-family:&quot;microsoft yahei&quot;; font-size:14px">发序列号=2601,473字节数据(应用层)</span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">S1的时间戳时01 86 4f 7f,S2的时间戳是0a 67 bb c0 等于C1时间戳,符合协议。</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">接着是客户端收到数据的回应。</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">最后客户端向服务器发送C2块。同样要分两次发送。C2的时间戳是01 86 4f 7f,发现等于S1的时间戳,符合协议。</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">接着客户端向服务器发送一个Push=1,ack=1的tcp包,该包是一个包含AMF命令(connect)的包,格式如下:</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">基本头(格式0,块流ID3)</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">消息头(时间戳00 00 00 ,有效数据长度,消息类型0x14,表示是AMF命令,流ID0)</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">无扩展时间戳</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">有效数据部分如下:</span></span></p>
<p style=""><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121151631923.png" alt=""><br>
</p>
<p style="">分号后面就是数据。简单来讲就是 : 键 键的长度 键值类型(系统已经定义了几种类型供选择)键值</p>
<p style="">对于字符串可以直接是:字符串长度 字符串</p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">整个包的数据整体来看就是:</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">connect 1 一堆值对(请求的视频地址,音视频编码器等)</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">接着服务器向客户端发:</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121154306171.png" alt=""><br>
</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">接着客户端向服务器告知窗口大小:</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121154459801.png" alt=""><br>
</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">接着客户端发:</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px"></span></span></p>
<div><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121154843304.png" alt=""><br>
</div>
<div>event type后面跟着buffer长度。</div>
<div><br>
</div>
<div>又是客户端发:</div>
<div><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121155119189.png" alt=""><br>
</div>
<div>接着客户端发:</div>
<div><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121155231094.png" alt=""><br>
</div>
<div>服务器回应:</div>
<div><br>
</div>
<div><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121155455981.png" alt=""><br>
</div>
<div><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121155723446.png" alt=""><br>
</div>
<div>接着客户端发播放命令</div>
<div><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121155843661.png" alt=""><br>
</div>
<div>客户端又向服务器发set buffer length</div>
<div><br>
</div>
<div>服务端发:</div>
<div><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121165303220.png" alt=""><br>
</div>
<div>开始真正的音视频数据传输:</div>
<div>第一个块的时间戳是0,块流ID5,类型0,流ID1,消息类型ID0x08(表示音频数据),有效数据部分是音频的参数(1字节),音频数据</div>
<div>第二个块的时间戳增量是21,类型1,<span style="font-family:&quot;microsoft yahei&quot;; font-size:14px; text-align:justify; white-space:pre-wrap">消息类型ID0x08(表示音频数据),<span style="font-family:&quot;microsoft yahei&quot;; font-size:14px; text-align:justify; white-space:pre-wrap">有效数据部分是音频的参数(1字节),音频数据</span></span></div>
<div><span style="font-family:&quot;microsoft yahei&quot;; font-size:14px; text-align:justify; white-space:pre-wrap"><span style="font-family:&quot;microsoft yahei&quot;; font-size:14px; text-align:justify; white-space:pre-wrap"><br>
</span></span></div>
<div><br>
</div>
<div>音频数据:</div>
<div><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121164730710.png" alt=""><br>
</div>
<div>视频数据:</div>
<div><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180121164829399.png" alt=""><br>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<p></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px"><br>
</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px"><br>
</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px"><br>
</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px">先提前介绍AMF编码。</span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px"><span style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; background-color:rgb(255,255,255)">rtmp包默认的最大长度为128字节(或通过chunksize改变rtmp包最大长度),
当AMF数据超过128Byte的时候就可能由多个rtmp包组成,如果需要发送的rtmp包太长则被TCP协议分割成多个TCP包。那么解码的时候需要先将包含rtmp包的tcp封包合并,再把合并的数据解码,解码后可得到AMF格式的数据,将这些AMF数据取出来就可以对AMF数据解码了。</span><br style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; background-color:rgb(255,255,255)">
<span style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; background-color:rgb(255,255,255)">RTMP封包包括包头和AMF数据2部分,AMF数据里面可以是命令也可以是音视频数据。组成服务器和Flash客户端之间的所有数据都是用AMF格式的数据在传送,例如connect() publish()等命令。</span></span></span></p>
<p style=""><span style="font-family:microsoft yahei; color:#3f3f3f"><span style="font-size:14px"><span style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; text-align:left; background-color:rgb(255,255,255)">AMF数据由2部分组成: ObjType +
ObjValue</span><span style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; background-color:rgb(255,255,255)">。ObjType的大小为一个字节。ObjValue的大小不固定,和ObjType相关。 常用的ObjType类型和对应的ObjValue大小整理如下,详细的ObjType的数据在本文的最下面列出:</span></span></span>
</p><div class="table-box"><table style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; font-size:16px; width:757px; height:211px" width="757" cellspacing="2" cellpadding="2" border="0">
<tbody>
<tr>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
类型说明(ObjType)</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;<span style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; font-size:14px; text-align:justify; white-space:pre-wrap; background-color:rgb(255,255,255)">ObjValue</span>Size</td>
</tr>
<tr>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
CORE_String&nbsp;</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp; <span style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; font-size:14px; background-color:rgb(255,255,255)">
0x02&nbsp;</span></td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
2字节&nbsp;(2字节的数据纪录了String的实际长度)</td>
</tr>
<tr>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
CORE_Object&nbsp;</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;0x03&nbsp;</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;0字节(开始嵌套0x000009表示嵌套结束)</td>
</tr>
<tr>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
NULL&nbsp;&nbsp;</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;&nbsp;0x05&nbsp;</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
0字节 空字节无意义</td>
</tr>
<tr>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
<span style="font-size:14px">CORE_NUMBER</span></td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;&nbsp;0x00&nbsp;&nbsp;</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;8字节</td>
</tr>
<tr>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
CORE_Map</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;&nbsp;0x08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;4字节(开始嵌套)</td>
</tr>
<tr>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
CORE_BOOLEAN</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;&nbsp;0x01&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td style="margin:0px; padding:0px; font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif">
&nbsp;1字节</td>
</tr>
</tbody>
</table></div>
<span style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; background-color:rgb(255,255,255)"><br>
ObjValue不一定是一个固定的大小,他可以包含另外一个AMF数据,这另外一个AMF数据里面又有ObjType 加上 ObjValue,也就是AMF数据的嵌套关系。</span><br style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; background-color:rgb(255,255,255)">
<span style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; background-color:rgb(255,255,255)">&nbsp; AMF0数据的嵌套关系如下:</span><br style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; background-color:rgb(255,255,255)">
<span style="color:rgb(47,47,47); font-family:微软雅黑,宋体,黑体,Arial,Helvetica,sans-serif; background-color:rgb(255,255,255)"><span style="font-size:14px"><span style="font-size:14px">Object={ObjType + ObjValue}<br>
CORE_BOOLEAN={Value(1 Byte)}<br>
CORE_NUMBER={Value(8 Byte)}<br>
CORE_String={StringLen(2 Byte) + StringValue(StringLen Byte)}<br>
CORE_DATE={value(10 Byte)}<br>
CORE_Array={ArrayLen(4 Byte) + Object}<br>
CORE_Map={MapNum(4 Byte) + CORE_Object}<br>
CORE_Object={CORE_String + Object}</span></span><br>
</span><p></p>
</div>
<p></p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<br>
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<br>
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<br>
</p>
<h3 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.7em; padding:0px; background-color:rgb(255,255,255)"><a name="t10"></a>
<a target="_blank" name="t10" style="color:rgb(79,161,219); margin:0px; padding:0px"></a>5.3.组块</h3>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
握手完成之后,此连接可以复用于一到多个块流。每个块流携带一个消息流的某种类型的消息。块通过网络进行传输。传输过程中,每个块必须被完整的发送后,才能发送下一个块。接收端接收完成之后,根据块流ID把块组装成完整的消息。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
块允许把更高层协议的大消息分割成更小的消息分片,例如为了防止低优先级的大消息(如视频消息)阻碍高优先级的小消息(如音频和控制消息)。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
块允许以更少的开销来发送小消息,减少开销的方法是压缩必须携带的块头的数据。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
块的大小是可配置的。配置的方法详见5.4.1章节的设置块大小控制消息。大的块消息可以减少CPU使用率,但是在带宽比较小时会导致其他内容的延迟。小的块消息不利于高码率流的传输。流的每一个方向都可以配置独立的块大小。</p>
<h4 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.25em; padding:0px; background-color:rgb(255,255,255)">
5.3.1.块格式</h4>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
每一个块包含了头和数据。块头包含了三个部分:</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs brainfuck has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-literal" style="margin:0px; padding:0px">+</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">+</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">+</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">+</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">|</span></span><span class="hljs-params"> </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">Basic</span></span><span class="hljs-params"> </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">Header</span></span><span class="hljs-params"> </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">|</span></span> <span class="hljs-comment" style="margin:0px; padding:0px">Message</span> <span class="hljs-comment" style="margin:0px; padding:0px">Header</span> <span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">|</span></span><span class="hljs-params"> </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">Extended</span></span><span class="hljs-params"> </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">Timestamp</span></span><span class="hljs-params"> </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">|</span></span> <span class="hljs-comment" style="margin:0px; padding:0px">Chunk</span> <span class="hljs-comment" style="margin:0px; padding:0px">Data</span> <span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">+</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">+</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">+</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">+</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">-</span></span><span class="hljs-literal" style="margin:0px; padding:0px"><span class="hljs-params">+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">|</span></span> <span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">|</span></span>&lt;<span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span> <span class="hljs-comment" style="margin:0px; padding:0px">Chunk</span> <span class="hljs-comment" style="margin:0px; padding:0px">Header</span> <span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span><span class="hljs-literal" style="margin:0px; padding:0px">-</span>&gt;<span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">|</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">Chunk</span></span><span class="hljs-params"> </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">Format</span></span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>基本头(1-3字节)</strong>&nbsp;<br>
这个字段包含块流ID和块类型。块类型决定了编码过的消息头的格式。这个字段是一个变长字段,长度取决于块流ID。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>消息头(0,3,7,11字节)</strong>&nbsp;<br>
这个字段包含被发送的消息信息(无论是全部,还是部分)。字段长度由块头中的块类型来决定。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>扩展时间戳(0,4字节)</strong>&nbsp;<br>
这个字段是否存在取决于块消息头中编码的时间戳。更多详情参考5.3.1.3章节。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>块数据(可变大小)</strong>&nbsp;<br>
当前块的有效数据,上限为配置的最大块大小。</p>
<h5 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1em; padding:0px; background-color:rgb(255,255,255)">
5.3.1.1.块的基本头</h5>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
块的基本头包含块流ID和块类型(下面的fmt字段)。块类型决定了编码过的消息头的格式。此字段根据块流ID的不同,长度可能为1,2或3字节。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
在实现协议时,此字段应该使用可以容纳ID的最小长度。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
此协议支持最多65597个流,ID从3到65599。0,1,2这三个为保留ID。ID为0表示块基本头长度为2字节,id从64到319(第二字
节+64)。ID为1表示块基本头的长度为3字节,ID从64到65599(第三字节*256+第二字节+64,说白点,就是2的16次方+64)。ID
从3到63表示完整流ID。块流ID2是为低层协议控制消息和命令保留。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
块基本头中的第0到第五位(least significant)表示块流ID。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
块流ID从2到63可以编码进1字节的块基本头。</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs smalltalk has-numbering objectivec" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-localvars" style="margin:0px; padding:0px">|fmt| cs <span class="hljs-keyword">id</span> |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Chunk</span> basic header <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
块流ID从64到319可以编码进2字节的块基本头。ID计算方法为(第二字节+64)。</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs smalltalk has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-localvars" style="margin:0px; padding:0px"><span class="hljs-params">|fmt|</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-params">| cs id - </span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">64</span></span><span class="hljs-params"> |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Chunk</span> basic header <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
块流ID从64到65599可以编码进3字节得到块基本头。ID计算方法为(第三字节*256+第二字节+64,说白了就是2的16次方+64)</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="has-numbering hljs ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number">0</span> <span class="hljs-number">1</span> <span class="hljs-number">2</span> <span class="hljs-number">3</span> <span class="hljs-number">4</span> <span class="hljs-number">5</span> <span class="hljs-number">6</span> <span class="hljs-number">7</span> <span class="hljs-number">8</span> <span class="hljs-number">9</span> <span class="hljs-number">0</span> <span class="hljs-number">1</span> <span class="hljs-number">2</span> <span class="hljs-number">3</span> <span class="hljs-number">4</span> <span class="hljs-number">5</span> <span class="hljs-number">6</span> <span class="hljs-number">7</span> <span class="hljs-number">8</span> <span class="hljs-number">9</span> <span class="hljs-number">0</span> <span class="hljs-number">1</span> <span class="hljs-number">2</span> <span class="hljs-number">3</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">|fmt|</span> <span class="hljs-number">1</span> <span class="hljs-params">| cs id - 64 |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> Chunk basic header <span class="hljs-number">3</span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>块流ID(6比特)</strong>&nbsp;<br>
本字段包含了从2到63的块流ID。当块的基本头长度为2字节时,此字段取值为0。当块的基本头长度为3字节时,此字段取值为1。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>类型(2比特)</strong>&nbsp;<br>
本字段标识了块消息头的类型。块消息头的4种类型,会在下一小节中说明。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>块流ID-64(8或16比特)</strong>&nbsp;<br>
本字段的取值为块流ID减去64。例如,块流ID为365的存储方式为,第3-8比特为1,第9-24比特为301。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
64-319之间的块流ID,既可以使用2字节头长度,也可以使用3头长度。不过前面曾经提到过“在实现协议时,此字段应该使用可以容纳ID的最小长度”,因此应该选择使用2字节头长度。</p>
<h5 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1em; padding:0px; background-color:rgb(255,255,255)">
5.3.1.2.块的消息头</h5>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
根据块的基本头中类型字段的取值不同,块的消息头有4种类型。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
在实现协议时,此字段应该使用可以容纳消息头的最小长度。</p>
<h6 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:.8em; padding:0px; background-color:rgb(255,255,255)">
5.3.1.2.1.类型0</h6>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
类型为0的消息头长度为11字节。块流必须以这种类型的块开始,当块流的时间戳回退时,也必须以这种类型的消息开始(比如回放)。</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs smalltalk has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-localvars" style="margin:0px; padding:0px"><span class="hljs-params">| timestamp |</span>message length <span class="hljs-params">|</span></span><span class="hljs-params"><span class="hljs-params"></span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> |</span> message length (cont) <span class="hljs-localvars" style="margin:0px; padding:0px"><span class="hljs-params">|message type id|</span> msg stream id <span class="hljs-params">|</span></span><span class="hljs-params"><span class="hljs-params"></span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> |</span> message stream id (cont) <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> </span><span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)"><span class="hljs-params">Chunk</span></span><span class="hljs-params"> </span><span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)"><span class="hljs-params">Message</span></span><span class="hljs-params"> </span><span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)"><span class="hljs-params">Header</span></span><span class="hljs-params"> - </span><span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)"><span class="hljs-params">Type</span></span><span class="hljs-params"> </span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">0</span></span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>时间戳(3字节)</strong>&nbsp;<br>
类型为0的块,此字段必须为绝对时间戳。如果时间戳大于等于16777215(0xFFFFFF),此字段的取值必须为16777215,并且与扩展时间戳一起组成32比特的完整时间戳。如果时间戳小于16777215,那么此字段代表了完整的时间戳。</p>
<h6 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:.8em; padding:0px; background-color:rgb(255,255,255)">
5.3.1.2.2.类型1</h6>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
类型为1的消息头长度为7字节。不包含消息流ID;当前块和上一个块使用相同的流ID。拥有可变大小消息(比如多种视频格式)的流应该在首个消息之后的每个消息的第1个块使用这种类型。</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs smalltalk has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-localvars" style="margin:0px; padding:0px"><span class="hljs-params">| timestamp delta |</span>message length <span class="hljs-params">|</span></span><span class="hljs-params"><span class="hljs-params"></span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> |</span> message length (cont) <span class="hljs-localvars" style="margin:0px; padding:0px"><span class="hljs-params">|message type id|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Chunk</span> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Message</span> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Header</span> - <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Type</span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<h6 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:.8em; padding:0px; background-color:rgb(255,255,255)">
5.3.1.2.4.类型2</h6>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
类型为2的消息头长度为3字节。不包含消息流ID或消息长度;当前块和上一个块使用相同的流ID和流长度。拥有固定大小消息(音频或其他数据)的流应该在首个消息之后的第一个消息的第1个块使用这种类型。</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs smalltalk has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">4</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">5</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">6</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">7</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">8</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">9</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">0</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">3</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-localvars" style="margin:0px; padding:0px"><span class="hljs-params">| timestamp delta |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Chunk</span> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Message</span> <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Header</span> - <span class="hljs-class" style="margin:0px; padding:0px; color:rgb(102,0,102)">Type</span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">2</span></span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<h6 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:.8em; padding:0px; background-color:rgb(255,255,255)">
5.3.1.2.4.类型3</h6>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
类型为3的块没有消息头(0字节)。消息头内的相关字段都不存在。当前块和上一个块使用相同的流ID。当一个独立的消息被分割成块时,第一个块以后的所有
开始使用这种类型。第5.3.2.2章节的示例2展示了这种情况。如果流由大小,流ID,间隔时间完全相同的消息组成时,应该在类型为2的块之后的所有块
使用这种类型。第5.3.2.1章节的示例1展示了这种情况。如果第一个和第二个消息之间的时间间隔和第一个消息的时间戳相同,那么类型为0的块后面跟随
类型为3的块,因为没有必要再使用类型为2的块来标识时间间隔。如果类型为0的块后面跟随着类型为3的块,那么类型为3的块的时间间隔与类型为1的块的时
间戳相同。</p>
<h6 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:.8em; padding:0px; background-color:rgb(255,255,255)">
5.3.1.2.5.常见的头字段</h6>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
块消息头里面的每个字段的描述:</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>时间戳增量(3字节)</strong>&nbsp;<br>
类型为1或2的块里,本字段代表当前块和上一个块的时间戳之差。如果时间间隔大于等于16777215(0xFFFFFF),此字段的取值必须为
16777215,并且与扩展时间戳一起组成32比特的完整时间戳。如果时间戳小于16777215,那么此字段代表了完整的时间戳。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>消息长度(3字节)</strong>&nbsp;<br>
类型为0或1的块里,本字段代表消息的长度。这个值通常情况下跟块的有效数据长度是不相等的。块的有效数据长度是块大小的最大值(除了最后一个块)。</p>
<h5 style="font-family:&quot;microsoft yahei&quot;; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:0.8em; margin-bottom:0.8em; font-size:1em; padding:0px">
The chunk payload length is the maximum chunk size for all but the last
chunk, and the remainder (which may be the entire length, for small
messages) for the last chunk.&nbsp;</h5>
<p></p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>消息类型ID(1字节)</strong>&nbsp;<br>
类型为0或1的块里(因为其他类型的块没有这个字段,注意区分消息类型和块类型),本字段代表消息的类型。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
<strong>消息流ID(4字节)</strong>&nbsp;<br>
类型为0的块里,本字段代表消息流的ID。并使用小端方式存储。通常情况下,相同块流里面的消息来自于相同的消息流。<span style="color:rgb(95,98,102); font-family:Arial,&quot;Microsoft YaHei&quot;,微软雅黑,宋体,&quot;Malgun Gothic&quot;,Meiryo,sans-serif; font-size:13px; line-height:19px; background-color:rgb(249,251,252)">虽然可以将不同的消息流复用到相同的块流中,但这却违背了头压缩的好处。(???)</span><a href="https://www.baidu.com/s?wd=%E6%97%A0%E8%AE%BA%E5%A6%82%E4%BD%95&amp;tn=24004469_oem_dg&amp;rsv_dl=gh_pl_sl_csd" target="_blank">无论如何</a>,如果关闭了一个消息流,紧接着又打开了另一个,那么没有理由已经存在的块流不能被用于发送新的类型为0的块。(???)</p>
<h5 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1em; padding:0px; background-color:rgb(255,255,255)">
5.3.1.3.扩展的时间戳</h5>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
扩展的时间戳字段用来表示时间戳或时间间隔取值大于16777215(0xFFFFFF)的。也就是说,类型为0或1或2的块中,时间戳或时间间隔的取值
超出了24比特。本字段与之前的时间字段一起构成完整的32比特时间戳或时间间隔。完整时间值的前一部分(24比特)位于类型为0的块的时间戳字段,或类
型为1或2的时间间隔字段,取值为16777215(0xFFFFFF)。类型为3的块中,扩展时间戳字段与上一个块中(可能为类型0或1或2)的扩展时
间戳相等。(前面不是说类型3的块消息头为空吗?这里岂不是<a href="https://www.baidu.com/s?wd=%E8%87%AA%E7%9B%B8%E7%9F%9B%E7%9B%BE&amp;tn=24004469_oem_dg&amp;rsv_dl=gh_pl_sl_csd" target="_blank">自相矛盾</a>???)</p>
<h4 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.25em; padding:0px; background-color:rgb(255,255,255)">
5.3.2.示例</h4>
<h5 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1em; padding:0px; background-color:rgb(255,255,255)">
5.3.2.1.示例1</h5>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
本示例展示了一个音频消息流。例子说明信息的冗余。</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs livecodeserver has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">---------+-----------------+-----------------+-----------------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span>Message Stream ID<span class="hljs-params">| Message Type ID |</span> Time <span class="hljs-params">| Length |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">---------+-----------------+-----------------+-------+---------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| Msg </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params"># 1 |</span> <span class="hljs-number">12345</span> <span class="hljs-params">| 8 |</span> <span class="hljs-number">1000</span> <span class="hljs-params">| 32 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">---------+-----------------+-----------------+-------+---------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| Msg </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params"># 2 |</span> <span class="hljs-number">12345</span> <span class="hljs-params">| 8 |</span> <span class="hljs-number">1020</span> <span class="hljs-params">| 32 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">---------+-----------------+-----------------+-------+---------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| Msg </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params"># 3 |</span> <span class="hljs-number">12345</span> <span class="hljs-params">| 8 |</span> <span class="hljs-number">1040</span> <span class="hljs-params">| 32 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">---------+-----------------+-----------------+-------+---------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| Msg </span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params"># 4 |</span> <span class="hljs-number">12345</span> <span class="hljs-params">| 8 |</span> <span class="hljs-number">1060</span> <span class="hljs-params">| 32 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">---------+-----------------+-----------------+-------+---------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> Sample audio messages <span class="hljs-built_in" style="margin:0px; padding:0px; color:rgb(102,0,102)">to</span> be made <span class="hljs-keyword" style="margin:0px; padding:0px">into</span> chunks</div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
下面的表格展示了由此音频流产生的块。从第3条消息开始,数据传输达到最大优化。每条消息的头部只增加了1字节长度(基本头的大小)。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
本例子一条消息用一个块来传输。</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs livecodeserver has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">--------+---------+-----+------------+------- ---+------------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> Chunk <span class="hljs-params">|Chunk|</span>Header Data <span class="hljs-params">|No.</span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">of</span></span><span class="hljs-params"> Bytes|</span>Total No.<span class="hljs-operator" style="margin:0px; padding:0px">of</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> |</span> <span class="hljs-params">|Stream ID|</span>Type <span class="hljs-params">| |</span> After <span class="hljs-params">|Bytes </span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params"><span class="hljs-keyword">in</span></span></span><span class="hljs-params"> </span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">the</span></span><span class="hljs-params">|</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-params">|Header |</span>Chunk <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +</span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">--------+---------+-----+------------+-----------+------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> |Chunk<span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-comment">#1 | 3 | 0 | delta: 1000| 32 | 44 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-built_in" style="margin:0px; padding:0px; color:rgb(102,0,102)"><span class="hljs-symbol">length</span></span><span class="hljs-symbol">:</span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">32</span></span>,<span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> |</span> <span class="hljs-params">| |</span> <span class="hljs-params">| type: </span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">8</span></span><span class="hljs-params">, |</span> <span class="hljs-params">| |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> stream <span class="hljs-symbol">ID:</span> <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> |</span> <span class="hljs-params">| |</span> <span class="hljs-params">| </span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">12345</span></span><span class="hljs-params"> (</span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">11</span></span><span class="hljs-params"> |</span> <span class="hljs-params">| |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-keyword" style="margin:0px; padding:0px">bytes</span>) <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +</span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">--------+---------+-----+------------+-----------+------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> |Chunk<span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-comment">#2 | 3 | 2 | 20 (3 | 32 | 36 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-keyword" style="margin:0px; padding:0px">bytes</span>) <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="15"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +</span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">--------+---------+-----+----+-------+-----------+------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="16"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> |Chunk<span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-comment">#3 | 3 | 3 | none (0 | 32 | 33 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="17"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-keyword" style="margin:0px; padding:0px">bytes</span>) <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="18"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +</span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">--------+---------+-----+------------+-----------+------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="19"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> |Chunk<span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-comment">#4 | 3 | 3 | none (0 | 32 | 33 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="20"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-keyword" style="margin:0px; padding:0px">bytes</span>) <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="21"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +</span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">--------+---------+-----+------------+-----------+------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="22"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> Format <span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">of</span></span><span class="hljs-params"> </span><span class="hljs-keyword" style="margin:0px; padding:0px"><span class="hljs-params">each</span></span><span class="hljs-params"> </span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">of</span></span><span class="hljs-params"> </span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">the</span></span><span class="hljs-params"> chunks </span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">of</span></span><span class="hljs-params"> audio messages</span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<h4 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.25em; padding:0px; background-color:rgb(255,255,255)">
本例子,每条消息的大小固定,块类型顺序为0233,印证了类型0、2、3的使用场合:即每条块流应从类型0的块开始,对于固定长度的消息,第二条消息的第一个块应用类型2,对于流中所有消息的大小、流id、时间戳增量都相等时,类型2之后的所有块都用类型3</h4>
<div>类型3的应用场合是:</div>
<div>一条消息被切分成许多块时,第一个块之后的所有块都使用类型3</div>
<div>
<h4 style="font-family:&quot;microsoft yahei&quot;; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:0.8em; margin-bottom:0.8em; font-size:1.25em; padding:0px">
对于流中所有消息的大小、流id、时间戳增量都相等时,类型2之后的所有块都用类型3</h4>
<div>类型2的块在某场合可以被类型3替代,就是当时间戳增量等于类型0块的时间戳时。</div>
<br>
</div>
<h4 style="font-family:'microsoft yahei'; font-weight:100; line-height:1.1; color:rgb(63,63,63); margin-top:.8em; margin-bottom:.8em; font-size:1.25em; padding:0px; background-color:rgb(255,255,255)">
示例2</h4>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
本示例展示了一条长消息,由于消息的长度超过了块的最大长度(128字节),此消息在传输时将被分割成若干个块。</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs vhdl has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">-----------+-------------------+-----------------+-----------------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> Message Stream ID <span class="hljs-params">| Message </span><span class="hljs-keyword" style="margin:0px; padding:0px"><span class="hljs-params">Type</span></span><span class="hljs-params"> ID |</span> <span class="hljs-typename" style="margin:0px; padding:0px; color:rgb(102,0,102)">Time</span> <span class="hljs-params">| Length |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">-----------+-------------------+-----------------+-----------------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| Msg # </span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">1</span></span><span class="hljs-params"> |</span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">12346</span></span> <span class="hljs-params">| </span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">9</span></span><span class="hljs-params"> (video) |</span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">1000</span></span> <span class="hljs-params">| </span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">307</span></span><span class="hljs-params"> |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">-----------+-------------------+-----------------+-----------------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> Sample Message <span class="hljs-keyword" style="margin:0px; padding:0px">to</span> be broken <span class="hljs-keyword" style="margin:0px; padding:0px">to</span> chunks</div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
下面是消息分割后产生的块:</p>
<pre class="prettyprint" style="margin:4px 0px 16px; background-color:rgb(240,240,240); white-space:nowrap; padding:5px 5px 5px 60px; line-height:16px; color:rgb(51,51,51); border-width:1px; border-style:solid" name="code" onclick="hljs.copyCode(event)"><code class="hljs livecodeserver has-numbering ruby" style="font-size:12.6px; padding:0px; color:inherit; white-space:pre; background-color:transparent"><ol class="hljs-ln"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> +<span class="hljs-comment" style="margin:0px; padding:0px">-------+------+-----+-------------+-----------+------------+</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span>Chunk <span class="hljs-params">|Chunk|</span>Header <span class="hljs-params">|No. </span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">of</span></span><span class="hljs-params"> |</span>Total No. <span class="hljs-operator" style="margin:0px; padding:0px">of</span><span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> |</span> <span class="hljs-params">|Stream|</span> Type<span class="hljs-params">|Data |</span>Bytes <span class="hljs-keyword" style="margin:0px; padding:0px">after</span><span class="hljs-params">| </span><span class="hljs-keyword" style="margin:0px; padding:0px"><span class="hljs-params">bytes</span></span><span class="hljs-params"> </span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params"><span class="hljs-keyword">in</span></span></span><span class="hljs-params"> |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> ID <span class="hljs-params">| |</span> <span class="hljs-params">| Header |</span> <span class="hljs-operator" style="margin:0px; padding:0px">the</span> chunk <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +</span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">-------+------+-----+-------------+-----------+------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> |Chunk<span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-comment">#1| 4 | 0 | delta: 1000 | 128 | 140 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-built_in" style="margin:0px; padding:0px; color:rgb(102,0,102)"><span class="hljs-symbol">length</span></span><span class="hljs-symbol">:</span> <span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-number">307</span></span> <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> |</span> <span class="hljs-params">| |</span> <span class="hljs-params">| type: </span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">9</span></span><span class="hljs-params">, |</span> <span class="hljs-params">| |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> stream <span class="hljs-symbol">ID:</span> <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> |</span> <span class="hljs-params">| |</span> <span class="hljs-params">| </span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">12346</span></span><span class="hljs-params"> (</span><span class="hljs-number" style="margin:0px; padding:0px"><span class="hljs-params">11</span></span><span class="hljs-params"> |</span> <span class="hljs-params">| |</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-keyword" style="margin:0px; padding:0px">bytes</span>) <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +</span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">-------+------+-----+-------------+-----------+------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> |Chunk<span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-comment">#2| 4 | 3 | none (0 | 128 | 129 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-keyword" style="margin:0px; padding:0px">bytes</span>) <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="15"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +</span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">-------+------+-----+-------------+-----------+------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="16"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> |Chunk<span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-comment">#3| 4 | 3 | none (0 | 51 | 52 |</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="17"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-params">| |</span> <span class="hljs-params">| |</span> <span class="hljs-keyword" style="margin:0px; padding:0px">bytes</span>) <span class="hljs-params">| |</span> <span class="hljs-params"><span class="hljs-params">|</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="18"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-params"> +</span><span class="hljs-comment" style="margin:0px; padding:0px"><span class="hljs-params">-------+------+-----+-------------+-----------+------------+</span></span><span class="hljs-params"></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="19"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> Format <span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">of</span></span><span class="hljs-params"> </span><span class="hljs-keyword" style="margin:0px; padding:0px"><span class="hljs-params">each</span></span><span class="hljs-params"> </span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">of</span></span><span class="hljs-params"> </span><span class="hljs-operator" style="margin:0px; padding:0px"><span class="hljs-params">the</span></span><span class="hljs-params"> chunks</span></div></div></li></ol></code><div class="hljs-button" data-title="复制"></div></pre>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
第一个块的头数据显示了消息的长度为307字节。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
在这两个示例中,类型为3的块有两种使用方式。第一种是说明消息的继续。第二种是说明新消息的头信息可以由前面已经存在的消息推导出来。</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<h2 style="color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t11"></a>
5.4.<strong>Protocol Control Messages</strong></h2>
<p></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
RTMP Chunk Stream使用消息类型ID 1,2,3,5,和6来做协议控制消息。这些消息包含了RTMP Chunk Stream协议所需的信息。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
这些协议控制消息必须有message stream ID 0(被称为控制流),并以chunk stream ID 2被发送。协议控制信息一经被收到后立马生效,它们的时间戳是被忽略的。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t12"></a>
<a target="_blank" name="_Toc11380"></a>5.4.1.<strong>Set Chunk Size (1)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
协议控制消息1,Set Chunk Size,用于通知对端一个新的最大chunk大小。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
最大chunk大小默认为128字节,但客户端或服务器可以更改此值,并使用此消息更新其对端的状态。例如,假设一个客户端要发送131个字节的音频数
据,并且chunk大小为128字节。在这种情况下,客户端可以将此消息发送到服务器,通知它,chunk大小现在为131个字节。然后,客户端可以在一
个chunk中发送该音频数据。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
最大chunk大小应该至少有128个字节,并且必须至少是1个字节。最大chunk大小是独立于每个方向保持的。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092543834.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
0:这个位必须是0。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
chunk
size(31位):此字段保存了新的最大chunk大小,以字节为单位,它将用于所有的发送端的后续chunk,直到进一步通知。有效大小为1到
2147483647(0x7FFFFFFF),包括2147483647本身;然而,所有大小大于16777215(0xFFFFFF)是等价的,因为
没有chunk大于一个消息,没有消息大于16777215个字节。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t13"></a>
<a target="_blank" name="_Toc21646"></a>5.4.2.<strong>Abort Message (2)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
协议控制消息2,Abort Message,用于通知对端,如果对端在等待chunk完成一个消息,就让它丢弃在chunk
stream上收到的部分消息。简单地理解就是告诉对端我不继续发送块了,请你把之前在这个块流上收到的信息丢到吧。对端接收chunk stream
ID作为该协议消息的payload。应用程序可以在关闭时发送此消息,以指示该消息不需要再进一步处理。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092543835.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
chunk stream ID(32位):这个字段保存了当前将被丢弃消息的chunk stream ID。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t14"></a>
<a target="_blank" name="_Toc5792"></a>5.4.3.<strong>Acknowledgement (3)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端或服务器必须在接收到等于窗口大小的字节后必须向对端发送一个acknowledgment确认。窗口大小是发送端没有从接收端接收到确认前发送的最大字节数。此消息指定了序列号,它是到目前为止接收到的字节数。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092543836.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
sequence number(32个字节):这个字段保存到目前为止接收到的字节数。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t15"></a>
<a target="_blank" name="_Toc32630"></a>5.4.4.<strong>Window Acknowledgement Size (5)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<span style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; text-indent:28px; background-color:rgb(249,249,249)">客
户端或服务器发送此消息通知对端发送Acknowledgement之间的窗口大小。发送端希望在它发送了窗口大小的字节数之后,从对端收到
Acknowledgement。自上次Acknowledgement发送后,接收端接收指定的字节数后必须发送一个
Acknowledgement(第5.4.3节),否则如果Acknowledgement还没有被发送,会话得从新开始。</span></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<span style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; text-indent:28px; background-color:rgb(249,249,249)">The
client or the server sends this message to inform the peer of the
window size to use between sending acknowledgments. The sender expects
acknowledgment from its peer after the sender sends window size bytes.
The receiving peer MUST send an Acknowledgement (Section 5.4.3) after
receiving the indicated number of bytes since the last Acknowledgement
was sent, or from the beginning of the session
if no Acknowledgement has yet been sent.<br>
</span></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092544837.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t16"></a>
<a target="_blank" name="_Toc23877"></a>5.4.5.<strong>Set Peer Bandwidth (6)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<span style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; text-indent:28px; background-color:rgb(249,249,249)">客户端或服务器发送此消息限制对端的输出带宽。对端接收到这条消息后,会限制它自己的已经发送但还未得到确认的数据总量最大为</span><span style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; text-indent:28px; background-color:rgb(249,249,249)">消息中的窗口大小,以此来限制自己的</span><span style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; text-indent:28px; background-color:rgb(249,249,249)">输出带框。对</span>端收到此消息后,如果窗口大小与发送端上次发送该消息的不一样,它应该应答一个Window
Acknowledgement Size的消息。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
The peer receiving this message SHOULD respond with a Window
Acknowledgement Size message if the window size is different from the
last one sent to the sender of this message.<br>
</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092544838.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Limit Type是下列值之一:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
0 - Hard:对<span style="text-indent:2em">端应该限制它的输出带宽为指定的窗口大小。</span></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
1 - Soft:对端应该限制它的输出带宽为此消息指定的窗口大小或者直到该限制已经有效果为止,<span style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; text-indent:28px; background-color:rgb(249,249,249)">无论哪一个的窗口更小</span>。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
2 - Dynamic:如果前一个是硬限制类型,那么此消息被认为是硬限制类型,否则忽略此消息。</p>
<h1 style="color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t17"></a>
<a target="_blank" name="_Toc19095"></a>6.<strong>RTMP Message Formats</strong></h1>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
此节说明RTMP消息的格式。它基于使用更低级的传输层网络在实体之间传输,例如RTMP Chunk Stream。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
虽然RTMP被设计于用RTMP Chunk Stream工作,但它可以使用任何其他的传输协议发送消息。RTMP Chunk Stream和RTMP是适合多种音视频应用,包括一对一和一对多的直播点播服务,交互式视频会议应用。</p>
<h2 style="color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t18"></a>
<a target="_blank" name="_Toc16211"></a>6.1.<strong>RTMP Message Format</strong></h2>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
服务器和客户端通过网络发送RTMP消息来彼此通信。该消息可以包括音频、视频、数据或任何其他消息。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
RTMP消息有两部分,一个头部和有效载荷。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t19"></a>
<a target="_blank" name="_Toc30776"></a>6.1.1.<strong>Message Header</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
消息头包含以下部分:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Message Type:1个字节字段以表示消息类型。范围1-6的ID类型被保留用作协议控制消息(前面有叙述)。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Length:3个字节的字段,表示payload的字节大小。它被制定为大端格式。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Timestamp:4个字节的字段,它包含该消息的时间戳。这4个字节以大端字节序封包。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Message Stream Id:3个字节的字段,标识消息流。这几个字节被制定为大端格式。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092544839.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t20"></a>
<a target="_blank" name="_Toc24744"></a>6.1.2.<strong>Message Payload</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
消息的另一部分是有效负载payload,这是消息中包含的实际数据。例如,它可以是一些音频采样或压缩的视频数据。payload的格式和解释超出了本文档的范围。</p>
<h2 style="color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t21"></a>
<a target="_blank" name="_Toc9389"></a>6.2.<strong>User Control Messages (4)</strong></h2>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
RTMP使用ID为4的消息类型作为用户控制消息。这些消息包含了RTMP streaming层使用到的信息。ID 1,2,3,5和6的协议消息被用于RTMP Chunk Stream协议(第5.4节)。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
用户控制信息应该使用message stream ID 0(称为控制流),当基于RTMP Chunk Stream发送时,它被用chunk stream ID 2来发送。用户控制信息在流中被收到时立马生效;它们的时间戳被忽略。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端或服务器发送此消息以通知对端用户控制事件。此消息传输事件类型Event type和事件数据Event data。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092544840.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
前2个字节的消息数据用于标识事件类型。事件类型之后就是事件数据。事件数据字段的大小是可变的。然而,在消息通过RTMP Chunk Stream层传输的情况下,最大chunk大小(第5.4.1节)应该足够大,以让这些消息放在一个chunk中。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
事件类型和事件数据在第7.1.7节中列举。</p>
<h1 style="color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t22"></a>
<a target="_blank" name="_Toc31884"></a>7.<strong>RTMP Command Messages</strong></h1>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
本节介绍了服务器和客户端之间相互通信的不同类型的消息和命令。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
服务器和客户端之间交换的不同类型的消息包括用于发送音频数据的音频消息audio messages、用于发送视频数据的视频消息video
messages、用于发送任何用户数据的数据消息data messages、共享对象消息shared object
messages和命令消息command
messages。共享对象消息提供了一个通用的方式来管理多个客户端和一个服务器之间的分布式数据。命令消息携带在客户端和服务器之间的AMF编码命
令。客户端或服务器可以使用命令消息请求基于流的远程过程调用(RPC)与对方交流。</p>
<h2 style="color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t23"></a>
<a target="_blank" name="_Toc11926"></a>7.1.<strong>Types of Messages</strong></h2>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<span style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; text-align:justify; text-indent:28px; background-color:rgb(249,249,249)">服务器和客户端通过网络上的消息互相通信。该消息可以是任何类型,其中包括音频消息、视频消息、命令消息、共享对象消息、数据消息和用户控制消息。</span><br>
</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t24"></a>
<a target="_blank" name="_Toc1328"></a>7.1.1.<strong>Command Message (20, 17)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
命令消息携带客户端和服务器之间的AMF编码命令。这些消息的消息类型值为20(AMF0编码)或者17(AMF3编码)。这些消息被发送到对端执行一些
操作,如连接,创建流、发布、播放,暂停。命令消息类型像状态和结果,被用来通知发送者的请求命令的状态。命令消息由命令名称command
name、事务标识transaction ID和包含相关参数的命令对象command
object组成。客户端或服务器可以使用命令消息请求基于流的远程过程调用(RPC)与对方交流。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t25"></a>
<a target="_blank" name="_Toc13484"></a>7.1.2.<strong>Data Message (18, 15)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端或服务器通过此消息发送元数据或任何用户数据给对端。元数据包括数据(音频,视频等)的详细信息,如创建时间,持续时间,主题等。这些消息为被分配消息类型值18(AMF0)和15(AMF3)。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t26"></a>
<a target="_blank" name="_Toc24590"></a>7.1.3.<strong>Shared Object Message (19, 16)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
共享对象是一个在跨多个客户端,实例等同步的Flash对象(名称-值对的集合)。消息类型19(对于AMF0)和16(对于AMF3)被保留用作共享对象事件shared object events。每个消息可以包含多个事件。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092544841.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
下面是支持的事件类型:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
事件</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Use(=1)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
客户端发送此事件通知服务器一个共享对象的创建。The client sends this event to inform the server |about the creation of a named shared object.</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Release(=2)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
当在客户端删除共享对象时,客户端将此事件发送到服务器上。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Request Change(=3)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
客户端发送此事件以请求更改与共享对象命名参数关联的值。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Change (=4)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器发送此事件通知除了正在发起请求之外的所有客户端命名参数值的变化。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Success (=5)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
如果请求被受理,服务器发送此事件给正在请求的客户端,以响应RequestChange事件。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SendMessage(=6)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
客户端将此事件发送到服务器以广播一个消息。在接收此事件时,服务器向所有客户端广播消息,包括该发送者。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Status (=7)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器发送此事件以通知客户端相关的错误状况。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Clear (=8)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器将此事件发送给客户端,以清除共享对象。服务器还发送此事件以响应客户端在连接时发送Use event。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Remove (=9)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器发送此事件让客户端删除一个插槽。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Request Remove(=10)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
客户端发送此事件让服务器删除一个插槽。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Use Success(=11)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
成功连接时,服务器将此事件发送给客户端。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t27"></a>
<a target="_blank" name="_Toc27543"></a>7.1.4.<strong>Audio Message (8)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端或服务器通过发送此消息发送音频数据到对端。消息类型值8被保留用作音频消息。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t28"></a>
<a target="_blank" name="_Toc11866"></a>7.1.5.<strong>Video Message (9)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端或服务器通过发送此消息发送视频数据到对端。消息类型值9被保留用作视频消息。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t29"></a>
<a target="_blank" name="_Toc19114"></a>7.1.6.<strong>Aggregate Message (22)</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
一个聚合消息是一个单一的包含了一系列RTMP子消息的消息,它们的格式在6.1节描述。消息类型22用于聚合消息。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092544842.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
聚合消息的stream ID覆盖(override)聚合体内子消息的stream ID。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
聚合消息和第一子消息的时间戳之间的差异是时间偏移,它被用于将子消息的时间戳归一化成流的时标。偏移量被加到每个子消息的时间戳,以变成归一化后的流时间。第一次子消息的时间戳应该与聚合消息的时间戳相同,所以偏移量应为0。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
后面的指针包含在它头部中前一消息的大小。它被包含以匹配FLV文件格式并用于向后定位。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
使用聚合消息有几个性能优势:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
lchunk stream可以在一个chunk中至多发送一个完整的消息。因此,增加chunk的大小并且使用聚合消息减少了chunk发送的数量。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
l子消息可以连续存储在内存中。当产生<a target="_blank" href="https://www.2cto.com/os/" rel="nofollow" class="keylink" style="color:rgb(31,58,135)">系统</a>调用在网络上发送数据时,它更有效的。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t30"></a>
<a target="_blank" name="_Toc18914"></a>7.1.7.<strong>User Control Message Events</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端和服务器发送此消息把用户控制事件通知对端。有关该消息的格式,请参考第6.2节。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
以下是支持的用户控制事件:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
事件</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Stream Begin (=0)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器发送此事件通知客户端流已成为功能,并可用于通信。默认情况下,在从客户端成功收到应用程序连接命令后,此事件以ID 0来发送。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Stream EOF(=1)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器发送此事件通知客户端该流请求的数据回放结束了。若不发出额外的命令,就没有更多的数据被发送了。客户端丢弃该流收到的消息。该4个字节的事件数据代表哪个stream ID的流播放已结束。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
StreamDry(=2)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器发送此事件通知客户端,在流上没有更多的数据。如果服务器在一段时间内没有检测到任何的消息,它可以通知订阅的客户端流是结束的。该4个字节的事件数据代表结束流的stream ID。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SetBufferLength (=3)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
客户端发送此事件通知服务器用于缓冲从流过来的任何数据的缓冲区大小(以毫秒为单位)。此事件在服务器开始处理流之前被发送。事件数据的前4个字节表示stream ID,而下面4个字节代表每毫秒缓冲区的长度。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
StreamIsRecorded (=4)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器发送此事件来通知客户端,该流是一个记录流。4个字节的事件数据代表记录流的stream ID。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
PingRequest(=6)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器发送此事件来测试客户端是否是可到达的。事件数据是4个字节的时间戳,代表当服务器发出命令时,本地服务器的时间。客户收到PingRequest时响应PingResponse。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
PingResponse(=7)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
客户端向服务器发送此事件响应ping请求。事件数据是当收到PingRequest时的4个字节时间戳。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<h2 style="color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t31"></a>
<a target="_blank" name="_Toc2545"></a>7.2.<strong>Types of Commands</strong></h2>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端和服务器交换AMF编码的命令。发送者发送一个命令消息,该命令消息包含命令名称command name、事务标识transaction
ID和包含相关参数的命令对象command
object。例如,连接命令包含“app”参数,它告诉服务器该客户端要连接的应用程序名称。接收端处理命令并使用相同的transaction
ID回应。响应字符串要么是_result,要么是_error,要么是方法名method
name,例如,方法名是verifyClient或contactExternalServer。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
命令字符串_result或_error表示一个应答。transaction ID指示应答相关的重要命令。它与在IMAP等多种协议的标签tag是相同的。命令字符串中的方法名表示发送端正在试图在接收端运行一个方法。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
下面类型的对象用于发送各种命令:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
NetConnection:一个服务器和客户端之间的连接的一个更高级别表示的对象。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
NetStream:一个表示发送音频流、视频流和其他相关数据的信道对象。我们还发送如播放,暂停等控制数据流的命令。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t32"></a>
<a target="_blank" name="_Toc8722"></a>7.2.1.<strong>NetConnection Commands</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
NetConnection管理客户端和服务器之间的双向连接。此外,它为异步远程方法调用提供了支持。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
下面的命令可以在NetConnection上发送:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
connect</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
call</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
close</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
createStream</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc23667"></a>7.2.1.1.<strong>Connect</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端向服务器发送连接命令,请求连接到服务器应用程序实例。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
从客户端到服务器的命令结构如下:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令名称,设置为“connect”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
通常设置为1。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
包含名称-值对的命令对象。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Optional User Arguments</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
任何可选的信息。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
以下是连接命令对象中使用的名称-值对的描述:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
属性</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
样例值</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
app</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
客户端要连接的服务器应用程序名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
testapp</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
flashver</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Flash Player的版本号。它与ApplicationScript中getversion()方法返回的字符串是一样的。</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
FMSc/1.0</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
swfUrl</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
发起连接的SWF源文件的URL</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
file://C:/FlvPlayer.swf</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
tcUrl</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
服务器URL。它具有以下的格式。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
protocol://servername:port/appName/appInstance</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
&nbsp;</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
rtmp://localhost:1935/testapp/instance1</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
fpad</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Boolean</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
如果使用代理,值为true。</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
true或者false</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
audioCodecs</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
指示客户端支持的音频编码。</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_MP3</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
videoCodecs</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
指示支持什么视频编码。</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_SORENSON</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
videoFunction</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
指示支持什么专用的视频方法。</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_CLIENT_SEEK</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
pageUrl</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SWF文件从哪里加载的网页URL。</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
http://somehost/sample.html</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
objectEncoding</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
AMF编码方法。</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
AMF3</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
audioCodecs属性的标志值:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
编解码标志</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
用法</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
值</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_NONE</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
原始音频,无压缩</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0001</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_ADPCM</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
ADPCM压缩</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0002</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_MP3</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
mp3压缩</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0004</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_INTEL</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
未使用</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0008</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_UNUSED</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
未使用</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0010</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_NELLY8</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
8-kHz采样速率的NellyMoser压缩</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0020</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_NELLY</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
NellyMoser压缩(5,11,22,和44 kHz采样速率)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0040</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_G711A</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
G711A声音压缩(仅Flash Media Server支持)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0080</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_G711U</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
G711U声音压缩(仅Flash Media Server支持)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0100</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_NELLY16</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
16-kHz采样速率的NellyMoser压缩</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0200</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_AAC</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
高级音频编码(AAC)编解码</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0400</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_SPEEX</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Speex音频</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0800</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_SND_ALL</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
所有RTMP支持的音频编解码</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0FFF</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
videoCodecs属性的标志值:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
编解码标志</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
用法</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
值</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_UNUSED</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
废弃值</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0001</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_JPEG</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
废弃值</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0002</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_SORENSON</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Sorenson Flash视频</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0004</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_HOMEBREW</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
V1屏幕共享</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0008</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_VP6 (On2)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
On2视频(Flash 8+)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0010</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_VP6ALPHA(On2 with alphachannel)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
带有alpha通道的On2视频</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0020</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_HOMEBREWV(screensharing v2)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
屏幕共享版本2(Flash 8+)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0040</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_H264</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
H264视频</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x0080</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_ALL</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
所有的RTMP支持的视频编解码</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0x00FF</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
videoFunction属性的标志值:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
方法标志</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
用法</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
值</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
SUPPORT_VID_CLIENT_SEEK</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
指示客户端可以进行帧精确控制查找</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
1</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
对象编码属性的值:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
编码类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
用法</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
值</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
AMF0</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
AMF0对象编码,Flash 6及更新版本支持</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
0</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
AMF1</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
来自于Flash 9的AMF3编码(AS3)</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
3</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
从服务器到客户端的命令结构如下所示:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
_result或者_error;表示响应是否为结果或者错误。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
对于connect的应答来说,Transaction ID是1</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Properties</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
该连接的描述属性(fmsver等)的名称-值对。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Information</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
来自于服务器的描述应答的名称-值对。“code”,“level”,“description”是这些信息的几个名称。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092544844.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
在该命令执行期间的消息流程是:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
1.客户端发送connect命令给服务器,请求与服务器应用程序实例连接。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
2.在收到connect命令之后,服务器给客户端发送“Window Acknowledgement Size”的协议消息。服务器也会连接connect命令提到的应用程序。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
3.服务器给客户端发送“Set Peer Bandwidth”协议消息。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
4.在处理“Set Peer Bandwidth”协议消息之后,客户端给服务器发送“Window Acknowledgement Size”的协议消息。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
5.服务器给客户端发送另一个类型的协议消息,用户控制消息(StreamBegin)。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
6.服务器发送result命令消息通知客户端该连接的状态(成功或失败)。该命令指定transaction
ID(对于connect命令来说,它总是等于1)。该消息也会指定一些属性,如Flash Media
Server的版本(字符串)。另外,它指定了其他连接应答相关的信息,比如级别(字符串),编码(字符串),描述(字符串),对象编码(数字)等。</p>
<br>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
7.2.1.2.<strong>Call</strong></h4>
<p></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
NetConnection对象的调用方法在接收端运行远程过程调用(RPC)。RPC调用的名称作为该call命令的参数传递。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
发送端到接收端的命令结构如下所示:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字符名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Procedure Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
远程过程调用的名称。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
如果需要一个应答,我们给出一个transaction Id。否则,我们传一个0的值。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
如果存在任何的命令信息,它就会被设置,否则,它被设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Optional Arguments</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
任何将要提供的可选参数。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
应答的命令结构如下所示:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令名称。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的ID,标识它属于哪个应答的。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
如果存在任何的命令信息,它就会被设置,否则,它被设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Response</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
该调用方法的应答。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc15519"></a>7.2.1.3.<strong>createStream</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端发送命令到服务器创建消息通信的逻辑通道。发布的音频、视频和元数据通过使用createStream命令创建的流通道传输。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
NetConnection是默认的通信通道,它的stream ID为0。协议和少量命令消息,包括createStream,使用该默认的通信通道。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端到服务端的命令结构如下所示:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令名称。设置为“createStream”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的会话ID。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
如果存在任何的命令信息,它就会被设置,否则,它被设置为null类型。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
服务器到客户端的命令结构如下所示:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
_result或者_error;表示响应是否为结果或者错误。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的ID,标识它属于哪个应答的。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
如果存在任何的命令信息,它就会被设置,否则,它被设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Stream ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
该返回值要么是stream ID,要么是一个错误信息对象。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t33"></a>
<a target="_blank" name="_Toc20344"></a>7.2.2.<strong>NetStream Commands</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
NetStream定义了音频,视频和数据信息流可以在连通客户端到服务器的NetConnection上流通的通道。一个NetConnection对象可以支持多种数据流的多个NetStream。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
以下命令可以在NetStream上从客户端发送到服务器:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
play</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
play2</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
deleteStream</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
closeStream</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
receiveAudio</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
receiveVideo</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
publish</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
seek</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
pause</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
服务器使用“onStatus”命令给客户端发送NetStream状态更新:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令名“onStatus”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID设置为0。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Null</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
onStatus消息没有命令对象。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Info Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
一个AMF对象至少有下面3种属性:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
“level”(字符串):此消息的级别,“warning”、“status”或者“error”其中之一;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
“code”(字符串):消息代码,比如“NetStream.Play.Start”;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
“description”(字符串):一个可读的消息描述。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Info对象可能包含其他适合编码的属性。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc16694"></a>7.2.2.1.<strong>play</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端发送此命令让服务器播放流。也可以多次使用此命令创建一个播放列表。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
如果你想创建一个在不同直播或录制流之间切换的动态播放列表,多次调用play并将reset字段设置为false。相反,如果你想立即播放指定的流,将reset字段设置为true。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
从客户端到服务端的命令结构如下所示:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<br>
</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的名称,设置为“play”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID设置为0。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Null</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
不存在命令信息,设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Stream Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
待播放流的名称。如果要播放视频(FLV)文件,指定不带文件扩展名(比如,“sample”)的流名称。如果要回放MP3或者ID3标签,你必须要在流
名称前加上mp3:的前缀(比如,“mp3:sample”)。如果要播放H.264/AAC文件,你必须在流名称前加上mp4:的前缀,并且指定文件名
后缀。比如,要播放文件sample.m4v,指定“mp4:sample.m4v”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Start</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
一个可选的参数,指定以秒为单位的起始时间。默认值为-2,意思是,该订阅者第一次尝试播放流名称字段指定的直播流。如果该名称的直播流没有被找到,它会
播放同名的录播流。如果没有该名称的录播流,该订阅者等到该名称的直播流可用时再播放。如果你在Start字段中传递-1,那么只有流名称字段指定的直播
流才会被播放。如果你在Start字段传递0或者一个正数,一个在流名称字段指定的录播流会被播放,起始时间是Start字段指定的时间。如果找不到该记
录流,播放列表的下一个条目会被播放。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Duration</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
一个可选的参数,指定以秒为单位的回放时间段。默认值是-1。-1值意味着,直播流被播放直到它不可用,或者录播流被播放直到结束。如果你传递0,它会播
放录播流中Start字段指定开始时间的一帧。它假定Start字段的值大于等于0。如果你指定一个正数,它会播放Duration字段指定该段时间的直
播流。之后,它能够播放Duration字段指定该段时间的录播流。(如果流在Duration字段指定的时间前结束,回放随着流的结束而结束。)如果你
传递一个不同于-1的负数,它会把该值解析为-1。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Reset</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Boolean</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
一个可选的布尔值或数字,它指定是否清除之前的所有播放列表。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092544845.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
在该命令执行期间的消息流程是:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
1.客户端在收到来自于服务器的createStream命令的成功结果后,发送play命令。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
2.在收到play命令的同时,服务器发送一个协议消息设置chunk的大小。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
3.服务器发送另一个协议消息(用户控制)指定“StreamIsRecorded”的事件,并且在该消息中带上stream ID。该消息在头2个字节带上事件类型并且在最后4个字节包含stream ID。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
4.服务器发送另一个协议消息(用户控制)指定“StreamBegin”事件,以向客户端指示流的开始。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
5.如果客户端发送的play命令成功的话,该服务器发送一个onStatus的命令消息NetStream.Play.Start和
NetStream.Play.Reset。只有客户端发送的play命令带有reset标志时,服务器才会发送
NetStream.Play.Reset。如果要播放的流没在被找到,服务器发送NetStream.Play.StreamNotFound的
onStatus消息回应。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
之后,服务器发送在客户端播放的音频和视频数据。</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc5393"></a>7.2.2.2.<strong>play2</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
不同于play命令,play2可以切换一个不同的码率而不改变播放内容的时间轴。服务器为客户端可以在play2中请求的所有支持的码率维护多个字段。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端到服务器的命令结构如下:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的名称,设置为“play2”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID设置为0。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Null</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
不存在命令信息,设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Parameters</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
一个AMF编码的对象,它的属性是描述flash.net.NetStreamPlayOptions ActionScript对象的公有属性。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
NetStreamPlayOptions对象的公共属性在ActionScript 3语言参考手册中描述。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
该命令的消息流程如下图所示:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092545846.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc26227"></a>7.2.2.3.<strong>deleteStream</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
当NetStream对象将要被销毁时,它发送该deleteStream命令。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端到服务器的命令结构如下所示:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的名称,设置为“deleteStream”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID设置为0。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Null</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
不存在命令信息,设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Stream ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
在服务器上销毁流的ID。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
该服务器不需要发送任何应答。</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc29411"></a>7.2.2.4.<strong>receiveAudio</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
NetStream发送receiveAudio消息通知服务器是否发送或不发送音频到客户端。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端到服务端的命令结构如下:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的名称,设置为“receiveAudio”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID设置为0。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Null</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
不存在命令信息,设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Bool Flag</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Boolean</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
true或者false表示是否接收音频。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
如果receiveAudio命令发送带有flase的bool flag,服务器不发送任何响应。如果这个标志被设置为true,服务器应答NetStream.Seek.Notify和NetStream.Play.Start的状态消息。</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc21885"></a>7.2.2.5.<strong>receiveVideo</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
NetStream发送receiveVideo消息通知服务器是否发送或不发送视频到客户端。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端到服务端的命令结构如下:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的名称,设置为“receiveVideo”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID设置为0。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Null</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
不存在命令信息,设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Bool Flag</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Boolean</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
true或者false表示是否接收视频。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
如果receiveVideo命令发送带有flase的bool flag,服务器不发送任何响应。如果这个标志被设置为true,服务器应答NetStream.Seek.Notify和NetStream.Play.Start的状态消息。</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc14555"></a>7.2.2.6.<strong>publish</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端发送publish命令将已命名的流发布到服务器上。使用这个名称,任何客户端都可以播放此流,并接收已发布的音频、视频和数据消息。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端到服务端的命令结构如下:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的名称,设置为“publish”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID设置为0。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Null</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
不存在命令信息,设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
PublishingName</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
发布流的名称。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
PublishingType</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
发布的类型。设置为“live”,“record”或者“append”。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
record:该流已被发布并且数据被记录到一个新的文件。该文件存储在服务器的一个包含服务器应用程序目录的子目录。如果文件已经存在,则它被覆盖。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
append:流已经被发布,并且该数据被追加到一个文件。如果找不到文件,则创建它。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
live:直播数据被发布,而没有记录到文件。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
服务器应答onStatus命令,以标记发布的开始。</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc17516"></a>7.2.2.7.<strong>seek</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端发送seek命令以定位媒体文件内或者播放列表的某个位置(以毫秒为单位)。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端到服务端的命令结构如下:</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
类型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的名称,设置为“seek”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID设置为0。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Null</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
不存在命令信息,设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
milliSeconds</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
定位到播放列表的毫秒数。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
当定位成功,服务器发送NetStream.Seek.Notify的状态消息。失败的时候,它返回一个_error的消息。</p>
<h4 style="color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<a target="_blank" name="_Toc15142"></a>7.2.2.8.<strong>pause</strong></h4>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端发送pause命令以告诉服务器暂停或者开始播放。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
客户端到服务端的命令结构如下:</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20180119021843867.png" alt=""><br>
</p>
<div class="table-box"><table style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<tbody>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
字段名</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
&nbsp;型</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
&nbsp; &nbsp; &nbsp;描述</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Name</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
String</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
命令的名称,设置为“pause”。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Transaction ID设置为0。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Command Object</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Null</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
不存在命令信息,设置为null类型。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Pause/Unpause Flag</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Boolean</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
true或者false,以表示暂停或者恢复播放。</p>
</td>
</tr>
<tr style="border-width:0px; padding:0px; margin:0px; list-style:none">
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
milliSeconds</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
Number</p>
</td>
<td style="border-width:0px; padding:0px; margin:0px; list-style:none" valign="top">
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em">
毫秒数,在流的哪个位置被暂停或者恢复播放的。当流被暂停,这就是客户端的当前流的时间。当播放被恢复,该服务器仅会发送带有大于此值的时间戳的消息。</p>
</td>
</tr>
</tbody>
</table></div>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
当流被暂停,服务器发送一个NetStream.Pause.Notify的状态消息。当一个流变成未暂停状态,NetStream.Unpause.Notify被发送。失败的时候,它返回一个_error的消息。</p>
<h2 style="color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t34"></a>
<a target="_blank" name="_Toc7010"></a>7.3.<strong>Message Exchange Examples</strong></h2>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
这里是一些样例,以解释使用RTMP的消息交换。</p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t35"></a>
<a target="_blank" name="_Toc15198"></a>7.3.1.<strong>Publish Recorded Video</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
这个例子说明了一个发布者如何可以发布一个流,然后将视频推流到服务器上。其他客户端可以订阅这个已发布的流,并播放视频。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092545848.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t36"></a>
<a target="_blank" name="_Toc12171"></a>7.3.2.<strong>Broadcast a Shared Object Message</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
这个例子说明了在创建和更改共享对象时所交换的消息。它也说明了共享对象消息广播的过程。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092545849.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<h3 style="border-width:0px; padding:0px; margin:0px; list-style:none; color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t37"></a>
<a target="_blank" name="_Toc21523"></a>7.3.3.<strong>Publish Metadata from Recorded Stream</strong></h3>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
这个例子描述了发布元数据的消息交换。</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
<img alt="\" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20160809092545850.png" style="border-width:0px; padding:0px; margin:0px auto; list-style:none; display:block; max-width:630px; width:auto!important; height:auto!important"></p>
<h1 style="color:rgb(51,51,51); font-family:Simsun; background-color:rgb(249,249,249)"><a name="t38"></a>
<a target="_blank" name="_Toc11008"></a>8.<strong>References</strong></h1>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
September 1981.</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7,</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
RFC 793, September 1981.</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
[RFC1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982,</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
August 1996.</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Requirement Levels", BCP 14, RFC 2119, March 1997.</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
[AS3] Adobe Systems, Inc., "ActionScript 3.0 Reference for the</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Adobe Flash Platform", 2011,</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
actionscript/documentation.html&gt;.</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
[AMF0] Adobe Systems, Inc., "Action Message Format -- AMF 0",</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
December 2007,</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
attachments/1114283/amf0_spec_121207.pdf&gt;.</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
[AMF3] Adobe Systems, Inc., "Action Message Format -- AMF 3",</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
May 2008,</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
attachments/1114283/amf3_spec_05_05_08.pdf&gt;.</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Authors’ Addresses</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Hardeep Singh Parmar (editor)</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Adobe Systems Incorporated</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
345 Park Ave</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
San Jose, CA 95110-2704</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
US</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Phone: +1 408 536 6000</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Email: hparmar@adobe.com</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
URI:&nbsp;<a target="_blank" href="http://www.adobe.com/" rel="nofollow" style="color:rgb(31,58,135)">http://www.adobe.com/</a></p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
&nbsp;</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Michael C. Thornburgh (editor)</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Adobe Systems Incorporated</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
345 Park Ave</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
San Jose, CA 95110-2704</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
US</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Phone: +1 408 536 6000</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
Email: mthornbu@adobe.com</p>
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:Simsun; font-size:14px; background-color:rgb(249,249,249)">
URI: http://www.adobe.com/</p>
<br>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<p style="margin-top:4px; margin-bottom:4px; padding-top:0px; padding-bottom:0px; font-size:14px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<p style="padding-top:0px; padding-bottom:0px; color:rgb(63,63,63); font-family:'microsoft yahei'; background-color:rgb(255,255,255)">
</p>
<div style="top:9299px"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/20140116115426000.jpg" alt="" style="border:none; vertical-align:middle; outline:0px; max-width:100%; color:rgb(69,69,69); font-family:Arial; font-size:14px; text-align:start; white-space:pre; background-color:rgb(255,255,255)"></div>
<div style="top:9863px">
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
<p>首先来看一下<strong>TCP</strong>报文的首部。</p>
<div class="image-package"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/image.png" alt="tcp首部" style="">
<div class="image-caption">各字段介绍:</div>
</div>
<strong><em>1、</em></strong>源端口:是应用层进程所使用的端口,16位<strong><em>2、</em></strong>目的端口:通信另一端的进程所使用的端口,16位<strong><em>3、</em></strong>序号:发送分组时,将报文按字节编号,报文的第一个字节的序号就是序号,每一次发送报文的序号时由双方决定,也就是发送方报文的第一个字节序号。32位<strong><em>4、</em></strong>确认序号:是接收方期望发送方下一个报文的字节序号,假如A向B发送了一个报文,序号是x,如果B收到了这个报文,那么B发送了一个确认报文给A,将确认序号设置为x+1,表示前x个字节的数据我已经收到,你下次给我发从x+1开始的数据。<span style="font-weight:700; background-color:rgb(239,239,239)"><em>5、</em></span><em>首部长度:注意单位为4字节,所以可表示15*4=</em>60字节的首部。一般首部长度为20字节。<strong><em>6、</em></strong>保留:6bit,
均为0</div>
<div style="font-family:&quot;Source Code Pro&quot;,monospace; font-size:14px; white-space:pre-wrap">
下面是6个标志位。<strong><em>7、</em></strong>紧急URG:当URG=1时,表示报文段中有紧急数据,应尽快传送。<span style="font-weight:700; background-color:rgb(239,239,239)"><em>8、</em></span>确认比特ACK:ACK = 1时代表这是一个确认的TCP包,取值0则不是确认包。<strong><em>9、</em></strong> 推送比特PSH:当发送端PSH=1时,接收端尽快的交付给应用进程。<strong><em>10、</em></strong>
复位比特(RST):当RST=1时,表明TCP连接中出现严重差错,必须释放连接,再重新建立连接。<strong><em>11、</em></strong>同步比特SYN:在建立连接是用来同步序号。SYN=1, ACK=0表示一个连接请求报文段。SYN=1,ACK=1表示同意建立连接。<strong><em>12、</em></strong> 终止比特FIN:FIN=1时,表明此报文段的发送端的数据已经发送完毕,并要求释放传输连接。<strong><em>13、</em></strong> 窗口:用来控制对方发送的数据量。16位。<strong><em>14、</em></strong>
检验和:该字段检验的范围包括首部和数据这两部分。由发端计算和存储,并由收端进行验证。<strong><em>15、</em></strong>紧急指针:紧急指针在URG=1时才有效,它指出本报文段中的紧急数据的字节数。<strong><em>16、</em></strong> 选项:长度可变,最长可达40字节</div>
<div><br>
</div>
</div>
</div>
</div>
</article>
</div>
<script>
(function(){
function collection(){
if (currentUserName) {
var markObj = {};
markObj.imgUrl ='https://csdnimg.cn/release/phoenix/static_blog/images/appqr.png';
var markPrompt = (new window.csdn.publicPrompt).init(markObj);
var maeked = '您已经收藏过';
if (!$(this).hasClass("liked")) {
$.ajax({
url: 'https://my.csdn.net/my/favorite/do_add/2',
dataType: 'json',
type: 'POST',
xhrFields: {
withCredentials: true
},
data: {
title: articleTit,
url: curentUrl,
share: 1,
map_name: ''
},
success: function(data) {
if (data.succ == 1) {
$('.btn-bookmark').addClass("liked");
$('.article-footer-bookmark-btn').addClass("liked").children('span').text('已收藏');
markPrompt.show({})
// alert('收藏成功,可以在个人中心查看我的收藏');
} else {
if (data.msg === "您已经收藏过") {
$('.btn-bookmark').addClass("liked");
$('.article-footer-bookmark-btn').addClass("liked").children('span').text('已收藏');
markPrompt.show({
titleStr: maeked
})
}else{
alert(data.msg);
}
}
}
});
} else {
markPrompt.show({
titleStr: maeked
})
}
} else {
window.csdn.loginBox.show();
}
}
window.csdn = window.csdn ? window.csdn : {};
window.csdn.articleCollection = collection;
function setArticleH(btnReadmore,posi){
var winH = $(window).height();
var articleBox = $("div.article_content");
var artH = articleBox.height();
if(artH > winH*posi){
articleBox.css({
'height':winH*posi+'px',
'overflow':'hidden'
})
btnReadmore.click(function(){
articleBox.removeAttr("style");
$(this).parent().remove()
})
}else{
btnReadmore.parent().remove()
}
}
var btnReadmore = $("#btn-readmore");
$('.article-footer-bookmark-btn').click(window.csdn.articleCollection)
if(btnReadmore.length>0){
if(currentUserName){
setArticleH(btnReadmore,3);
}else{
setArticleH(btnReadmore,1.2);
}
}else{
$('.hide-article-box').addClass('hide-article-style');
}
})()
</script>
<script>
$(".MathJax").remove();
if($('div.markdown_views pre.prettyprint code.hljs').length > 0 ){
$('div.markdown_views')[0].className = 'markdown_views';
}
</script>
<div class="t0 clearfix">
<div class="content">
<a href="https://blog.csdn.net/caoshangpa/article/details/52872146" target="_blank" title="&lt;em&gt;RTMP&lt;/em&gt;协议分析及H.264打包原理" data-track-click="{&quot;mod&quot;:&quot;popu_642&quot;,&quot;con&quot;: &quot;,https://blog.csdn.net/caoshangpa/article/details/52872146,&quot;}">
<h4 class="text-truncate oneline"><em>RTMP</em>协议分析及H.264打包原理</h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum">
<span class="date hover-show">10-20</span>
<span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1.5万</span>
</p>
</div>
</a>
<p class="content">
<a href="https://blog.csdn.net/caoshangpa/article/details/52872146" target="_blank" title="&lt;em&gt;RTMP&lt;/em&gt;协议分析及H.264打包原理" data-track-click="{&quot;mod&quot;:&quot;popu_642&quot;,&quot;con&quot;: &quot;,https://blog.csdn.net/caoshangpa/article/details/52872146,&quot;}">
<span class="desc oneline">RTMP是RealTimeMessagingProtocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTM...</span>
</a>
<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/caoshangpa">来自: <span class="blog_title"> caoshangpa</span></a></span>
</p>
</div>
</div> <a id="commentBox"></a>
<div class="comment-box">
<div class="comment-edit-box d-flex">
<a id="commentsedit"></a>
<div class="user-img">
<a href="javascript:void(0);" target="_blank">
<img class="show_loginbox" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/anonymous-User-img.png">
</a>
</div>
<form id="commentform">
<input type="hidden" id="comment_replyId">
<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="想对作者说点什么"></textarea>
<div class="opt-box"> <!-- d-flex -->
<div id="ubbtools" class="add_code">
<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
</div>
<input type="hidden" id="comment_replyId" name="comment_replyId">
<input type="hidden" id="article_id" name="article_id" value="79084967">
<input type="hidden" id="comment_userId" name="comment_userId" value="">
<input type="hidden" id="commentId" name="commentId" value="">
<div style="display: none;" class="csdn-tracking-statistics tracking-click" data-mod="popu_384"><a href="#" target="_blank" class="comment_area_btn">发表评论</a></div>
<div class="dropdown" id="myDrap">
<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<div class="txt-selected text-truncate">添加代码片</div>
<svg class="icon d-block" aria-hidden="true">
<use xlink:href="#csdnc-triangledown"></use>
</svg>
</a>
<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
<li><a data-code="html">HTML/XML</a></li>
<li><a data-code="objc">objective-c</a></li>
<li><a data-code="ruby">Ruby</a></li>
<li><a data-code="php">PHP</a></li>
<li><a data-code="csharp">C</a></li>
<li><a data-code="cpp">C++</a></li>
<li><a data-code="javascript">JavaScript</a></li>
<li><a data-code="python">Python</a></li>
<li><a data-code="java">Java</a></li>
<li><a data-code="css">CSS</a></li>
<li><a data-code="sql">SQL</a></li>
<li><a data-code="plain">其它</a></li>
</ul>
</div>
<div class="right-box">
<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
<input type="submit" class="btn btn-sm btn-red btn-comment" value="发表评论">
</div>
</div>
</form>
</div>
<div class="comment-list-container">
<a id="comments"></a>
<div class="comment-list-box">
</div>
<div id="commentPage" class="pagination-box d-none"></div>
</div>
</div>
<div class="recommend-box">
<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/DaveBobo/article/details/76557596,BlogCommendFromBaidu_3&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/DaveBobo/article/details/76557596" target="_blank" title="RTMP协议播放流程的实现及抓包分析">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>协议播放流程的实现及抓包分析 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">08-01</span>
<span class="read-num hover-hide">
阅读数
6512</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/DaveBobo/article/details/76557596" target="_blank" title="RTMP协议播放流程的实现及抓包分析">
<span class="desc oneline">实时流协议(Real-TimeMessagingProtocol,RTMP)是用于互联网上传输视音频数据的网络协议。本API提供了支持RTMP,RTMPT,RTMPE,RTMPRTMPS以及以上几种协...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/DaveBobo">来自: <span class="blog_title"> DaveBobo的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_34447388/article/details/78995606,BlogCommendFromBaidu_0&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq_34447388/article/details/78995606" target="_blank" title="直播技术——Rtmp协议学习笔记">
<h4 class="text-truncate oneline" style="width: 552px;">
直播技术——<em>Rtmp</em>协议学习笔记 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">01-07</span>
<span class="read-num hover-hide">
阅读数
2726</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq_34447388/article/details/78995606" target="_blank" title="直播技术——Rtmp协议学习笔记">
<span class="desc oneline">主要摘自:http://mingyangshang.github.io/2016/03/06/RTMP%E5%8D%8F%E8%AE%AE/RTMP协议是RealTimeMessageProtocol...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/qq_34447388">来自: <span class="blog_title"> 寻找如意的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lory17/article/details/61916351,BlogCommendFromBaidu_1&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lory17/article/details/61916351" target="_blank" title="RTMP推流及协议学习">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>推流及协议学习 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">03-13</span>
<span class="read-num hover-hide">
阅读数
1</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lory17/article/details/61916351" target="_blank" title="RTMP推流及协议学习">
<span class="desc oneline">前期准备了解RTMP定义准备RTMPDump中的librtmp使用openssl中的libssllibcrypto推流工作整体框架图使用libtrmp提供的API将streaming封装成为RTMP格...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/lory17">来自: <span class="blog_title"> 菜鸟的学习笔记</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_59" data-pid="59" data-track-view="{&quot;mod&quot;:&quot;kp_popu_59-517&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_59-517&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551753296590_828" id="QIHOO__WEB__SO__1551753296590_828" style="display:block;margin:0;padding:0;border:none;width:852px;height:52px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551753296590_828-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551753296590_828 singleImage clk" data-href="https://ssxd.mediav.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533dff09a84&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FaixkwIlAhUEFq6A9/qf6I3L0gEV8gglusDApQklABUaFAAA&amp;ubi=Fcj8SxWg58cCFai6rhcVrP3LWBUEFRwW9NaK8BYWroCM4qmuksvSATQCFrDAECUCFfSctfQBFaYBFQA2kLy01cmxgJHoAQA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign2=qQaNPZX6fvo=&amp;url=http%3A%2F%2Fsx2.aihuaiedu.cn%2Fzc360%2Fzd%2Fpc%2Fd2%2F%3Fll-zd-sz-A701" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=1332a533dff09a84&amp;p=2255956&amp;l=1136674&amp;s=1&amp;ps=0&amp;k=R0DgCwAAAAA=&amp;i=9bCdvPgsZ9Zz&amp;v=05317565507371004090017&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
<info-div class="wrap">
<info-div class="singleImage-img singleImage-img-left">
<info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/622372-0b7d400b523b02b5e524f00536006c3f.jpg)"><info-div class="ads-tag"></info-div></info-div>
</info-div>
<info-div class="singleImage-body singleImage-body-left">
<info-div class="singleImage-title">2月起,科技园有种学历叫免考本科,一年课程,正规本科,学信网可查</info-div>
<info-div class="singleImage-desc">爱华学历中心 · 顶新</info-div>
</info-div>
</info-div>
<info-div style="clear:both;"></info-div>
</info-div>
</info-div></newsfeed></div>
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
<script>
NEWS_FEED({
w: 852,
h : 52,
showid : 'GNKXx7',
placeholderId: "three_ad1",
inject : 'define',
define : {
imagePosition : 'left',
imageBorderRadius : 3,
imageWidth: 90,
imageHeight: 52,
imageFill : 'clip',
displayImage : true,
displayTitle : true,
titleFontSize: 18,
titleFontColor: '#000',
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
titleFontWeight: 'bold',
titlePaddingTop : 0,
titlePaddingRight : 0,
titlePaddingBottom : 5,
titlePaddingLeft : 16,
displayDesc : true,
descFontSize: 14,
descFontColor: '#8e959a',
descFontFamily : 'Microsoft Yahei',
paddingTop : 0,
paddingRight : 0,
paddingBottom : 0,
paddingLeft : 0,
backgroundColor: '#fff',
hoverColor: '#000'
}
})
</script></div></div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lengyuezuixue/article/details/81434670,BlogCommendFromBaidu_4&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lengyuezuixue/article/details/81434670,BlogCommendFromBaidu_4&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lengyuezuixue/article/details/81434670" target="_blank" title="RTMP协议">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>协议 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">08-06</span>
<span class="read-num hover-hide">
阅读数
296</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lengyuezuixue/article/details/81434670" target="_blank" title="RTMP协议">
<span class="desc oneline">目录简介概念rtmp协议握手过程rtmp通信过程简介RTMP协议是RealTimeMessageProtocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/lengyuezuixue">来自: <span class="blog_title"> 冷月醉雪的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/ddr77/article/details/52352911,BlogCommendESEnWordWeight_5&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/ddr77/article/details/52352911,BlogCommendESEnWordWeight_5&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/ddr77/article/details/52352911" target="_blank" title="rtmp协议(2)-握手过程">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>rtmp</em>协议(2)-握手过程 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">08-29</span>
<span class="read-num hover-hide">
阅读数
1841</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/ddr77/article/details/52352911" target="_blank" title="rtmp协议(2)-握手过程">
<span class="desc oneline">rmtp连接的第一个协议是握手协议。名字叫handshake.handshake的作用只有一个同步版本号和timestamp。和tcp握手的作用基本差不多。rtmp的握手协议双方一共要发留个包,各自发...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/ddr77">来自: <span class="blog_title"> ddr77的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/STN_LCD/article/details/73650189,BlogCommendESEnWordWeight_6&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/STN_LCD/article/details/73650189,BlogCommendESEnWordWeight_6&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/STN_LCD/article/details/73650189" target="_blank" title="带你吃透RTMP——好文">
<h4 class="text-truncate oneline" style="width: 552px;">
带你吃透<em>RTMP</em>——好文 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">06-26</span>
<span class="read-num hover-hide">
阅读数
1092</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/STN_LCD/article/details/73650189" target="_blank" title="带你吃透RTMP——好文">
<span class="desc oneline">http://blog.csdn.net/shangmingyang/article/details/50837852版权声明:本文为博主原创文章,未经博主允许不得转载。本文首发于个人博客之带你吃透R...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/STN_LCD">来自: <span class="blog_title"> STN_LCD的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/initphp/article/details/41847061,BlogCommendESEnWordWeight_7&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/initphp/article/details/41847061,BlogCommendESEnWordWeight_7&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/initphp/article/details/41847061" target="_blank" title="转载和积累系列 - RTMP协议">
<h4 class="text-truncate oneline" style="width: 552px;">
转载和积累系列 - <em>RTMP</em>协议 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">12-10</span>
<span class="read-num hover-hide">
阅读数
1342</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/initphp/article/details/41847061" target="_blank" title="转载和积累系列 - RTMP协议">
<span class="desc oneline">介绍RTMP协议是被Flash用于对象,视频,音频的传输.该协议建立在TCP协议或者轮询HTTP协议之上。RTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的视/...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/initphp">来自: <span class="blog_title"> 自娱自乐的代码人,专注Java、c、php</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/sl8023dxf/9659051,BlogCommendESEnWordWeight_8&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/sl8023dxf/9659051,BlogCommendESEnWordWeight_8&quot;}">
<a href="https://download.csdn.net/download/sl8023dxf/9659051" target="_blank">
<div class="content clearfix">
<div class="">
<h4 class="text-truncate oneline clearfix">
<em>rtmp</em>规范翻译1.0 超清晰 </h4>
<span class="data float-right">10-20</span>
</div>
<div class="desc oneline">
RTMP协议规范,有兴趣的可以看看 </div>
<span class="type-show type-show-download">下载</span>
</div>
</a>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_60" data-pid="60" data-track-view="{&quot;mod&quot;:&quot;kp_popu_60-43&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_60-43&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551753296671_524" id="QIHOO__WEB__SO__1551753296671_524" style="display:block;margin:0;padding:0;border:none;width:900px;height:84px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551753296671_524-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551753296671_524 singleImage clk" data-href="https://ssxd.mediav.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533c3d7fd0a&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FeTGlAIlAhUEFq6Ah72u5ID/4QEV8gglyta37Q4lABUaFAAA&amp;ubi=Fcj8SxWg58cCFai6rhcVrP3LWBUEFRwW9NaK8BYWroCcpLiqhf/hATQCFrDAECUCFa6N6LMEFaYBFQA2kLy01cmxgJHoAQA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign2=qQaNPZX6fvo=&amp;url=http%3A%2F%2Fsx2.aihuaiedu.cn%2Fzc360%2Fzd%2Fpc%2Fd2%2F%3Fll-zd-sz-A701" data-pv="https://ssxd.mediav.com/s?type=1&amp;r=20&amp;tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;finfo=DAABCAABAAAAeQgAAgAAAHUEAAM/8AAAAAAAAAAIAAIAAAABCgADcP8KqU2OlN4IAAQAAAB5BgAGLbcKAAkAAAAAAAIQGAYACgAACgAPAAAAAAASdpAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533c3d7fd0a&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FeTGlAIlAhUEFq6Ah72u5ID/4QEV8gglyta37Q4lABUaFAAA&amp;ubi=Fcj8SxWg58cCFai6rhcVrP3LWBUEFRwW9NaK8BYWroCcpLiqhf/hATQCFrDAECUCFa6N6LMEFaYBFQA2kLy01cmxgJHoAQA&amp;ds=1&amp;price=AAAAAFx94E8AAAAAAAuLOL9VX2QiDJndGiOmaw==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=1332a533c3d7fd0a&amp;p=2265522&amp;l=1136674&amp;s=1&amp;z=1&amp;ps=0&amp;w=AAAAAFx94E8AAAAAAAuLXk0DfyycmTdvLVe4dg&amp;pt=1&amp;k=0dpKdAAAAAA=&amp;i=b9oOemgsZ9Z_&amp;v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=1332a533c3d7fd0a&amp;p=2265522&amp;l=1136674&amp;s=1&amp;ps=0&amp;k=0dpKdAAAAAA=&amp;i=b9oOemgsZ9Z_&amp;v=05317565507371004090017&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
<info-div class="wrap">
<info-div class="singleImage-img singleImage-img-left">
<info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/622372-0b7d400b523b02b5e524f00536006c3f.jpg)"><info-div class="ads-tag"></info-div></info-div>
</info-div>
<info-div class="singleImage-body singleImage-body-left">
<info-div class="singleImage-title">2月起,科技园有种学历叫免考本科,一年课程,正规本科,学信网可查</info-div>
<info-div class="singleImage-desc">爱华学历中心 · 顶新</info-div>
</info-div>
</info-div>
<info-div style="clear:both;"></info-div>
</info-div>
</info-div></newsfeed></div>
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
<script>
NEWS_FEED({
w: 900,
h : 84,
showid : 'Afihld',
placeholderId: "three_ad8",
inject : 'define',
define : {
imagePosition : 'left',
imageBorderRadius : 3,
imageWidth: 90,
imageHeight: 60,
imageFill : 'clip',
displayImage : true,
displayTitle : true,
titleFontSize: 18,
titleFontColor: '#000',
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
titleFontWeight: 'bold',
titlePaddingTop : 0,
titlePaddingRight : 0,
titlePaddingBottom : 5,
titlePaddingLeft : 16,
displayDesc : true,
descFontSize: 14,
descFontColor: '#8e959a',
descFontFamily : 'Microsoft Yahei',
paddingTop : 10,
paddingRight : 0,
paddingBottom : 0,
paddingLeft : 0,
backgroundColor: '#fff',
hoverColor: '#000'
}
})
</script></div></div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qingkongyeyue/article/details/66979096,BlogCommendFromBaidu_9&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qingkongyeyue/article/details/66979096,BlogCommendFromBaidu_9&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qingkongyeyue/article/details/66979096" target="_blank" title="与rtmp相关的结构体">
<h4 class="text-truncate oneline" style="width: 552px;">
与<em>rtmp</em>相关的结构体 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">03-27</span>
<span class="read-num hover-hide">
阅读数
840</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qingkongyeyue/article/details/66979096" target="_blank" title="与rtmp相关的结构体">
<span class="desc oneline">转自http://blog.csdn.net/nb_vol_1/article/details/58660181与rtmp有关的结构体rtmp句柄&nbsp;&nbsp;它表示了rtmp协议[cpp]viewplainc...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/qingkongyeyue">来自: <span class="blog_title"> qingkongyeyue的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u013010310/article/details/52371440,BlogCommendFromBaidu_10&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u013010310/article/details/52371440,BlogCommendFromBaidu_10&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u013010310/article/details/52371440" target="_blank" title="FFMPEG推流到RTMP服务器命令">
<h4 class="text-truncate oneline" style="width: 552px;">
FFMPEG推流到<em>RTMP</em>服务器命令 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">08-30</span>
<span class="read-num hover-hide">
阅读数
9196</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u013010310/article/details/52371440" target="_blank" title="FFMPEG推流到RTMP服务器命令">
<span class="desc oneline">1、将文件当作源推送到RTMP服务器ffmpeg-re-ilocalFile.mp4-ccopy-fflvrtmp://server/live/streamName参数解释-r以本地帧频读数据,主要用...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/u013010310">来自: <span class="blog_title"> u013010310的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box blog-expert-recommend-box" style="display: block;">
<div class="d-flex">
<div class="blog-expert-recommend">
<div class="blog-expert">
<div class="blog-expert-flexbox" data-track-view="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><a href="https://blog.csdn.net/zhuweigangzwg" target="_blank"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/3_zhuweigangzwg.jpg" alt="zwg流泪" title="zwg流泪"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-blogexpert"></use></svg></a><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="zhuweigangzwg" data-nick="zwg流泪">关注</span></span></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><a href="https://blog.csdn.net/zhuweigangzwg" target="_blank"><h5 class="oneline" title="zwg流泪">zwg流泪</h5></a></span> <p></p><p class="article-num" title="87篇文章"> 87篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><a href="https://blog.csdn.net/samdy2008" target="_blank"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/3_samdy2008.jpg" alt="NoahDSun" title="NoahDSun"></a><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="samdy2008" data-nick="NoahDSun">关注</span></span></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><a href="https://blog.csdn.net/samdy2008" target="_blank"><h5 class="oneline" title="NoahDSun">NoahDSun</h5></a></span> <p></p><p class="article-num" title="8篇文章"> 8篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><a href="https://blog.csdn.net/fengsh998" target="_blank"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/3_fengsh998.jpg" alt="边缘998" title="边缘998"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-blogexpert"></use></svg></a><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="fengsh998" data-nick="边缘998">关注</span></span></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><a href="https://blog.csdn.net/fengsh998" target="_blank"><h5 class="oneline" title="边缘998">边缘998</h5></a></span> <p></p><p class="article-num" title="195篇文章"> 195篇文章</p><p class="article-num" title="排名:2000+"> 排名:2000+</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><a href="https://blog.csdn.net/weixin_34109408" target="_blank"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/3_weixin_34109408.gif" alt="weixin_34109408" title="weixin_34109408"></a><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="weixin_34109408" data-nick="weixin_34109408">关注</span></span></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/handsomehong/article/details/79084967&quot;}"><a href="https://blog.csdn.net/weixin_34109408" target="_blank"><h5 class="oneline" title="weixin_34109408">weixin_34109408</h5></a></span> <p></p><p class="article-num" title="0篇文章"> 0篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div></div>
</div>
</div>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/eguid_1/article/details/51777716,BlogCommendFromBaidu_11&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/eguid_1/article/details/51777716,BlogCommendFromBaidu_11&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/eguid_1/article/details/51777716" target="_blank" title="搭建rtmp直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令)">
<h4 class="text-truncate oneline" style="width: 552px;">
搭建<em>rtmp</em>直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令) </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">06-28</span>
<span class="read-num hover-hide">
阅读数
2</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/eguid_1/article/details/51777716" target="_blank" title="搭建rtmp直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令)">
<span class="desc oneline">一、环境搭建1、安装ffmpeg下载对应系统的ffmpeg安装包,个人采用windows平台进行开发,所以安装了windows版本(各平台ffmpeg命令都是一样的,无须纠结)2、ffmpeg的命令这...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/eguid_1">来自: <span class="blog_title"> eguid</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhiboshequ/article/details/54629107,BlogCommendFromBaidu_12&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhiboshequ/article/details/54629107,BlogCommendFromBaidu_12&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/zhiboshequ/article/details/54629107" target="_blank" title="如何快速搭建运营级的网络直播平台">
<h4 class="text-truncate oneline" style="width: 552px;">
如何快速搭建运营级的网络直播平台 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">01-20</span>
<span class="read-num hover-hide">
阅读数
4068</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/zhiboshequ/article/details/54629107" target="_blank" title="如何快速搭建运营级的网络直播平台">
<span class="desc oneline">点此查看原文网络直播在近两年异常火热,比如我们所熟知的秀场直播平台(9158、6间房、YY、花椒);移动直播平台(映客);在线直播购物平台(菠萝蜜);在线教育平台(百度传课、淘宝同学)。由于朋友公司的...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/zhiboshequ">来自: <span class="blog_title"> 直播社区</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/fogyisland2000/article/details/44563509,BlogCommendFromBaidu_13&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/fogyisland2000/article/details/44563509,BlogCommendFromBaidu_13&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/fogyisland2000/article/details/44563509" target="_blank" title="利用Azure媒体服务和WireCast定制个性化直播平台-Part1">
<h4 class="text-truncate oneline" style="width: 552px;">
利用Azure媒体服务和WireCast定制个性化直播平台-Part1 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">04-01</span>
<span class="read-num hover-hide">
阅读数
5173</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/fogyisland2000/article/details/44563509" target="_blank" title="利用Azure媒体服务和WireCast定制个性化直播平台-Part1">
<span class="desc oneline">我们接下来使用Azure的媒体服务和Wirecast定制直播平台来搭建一个个性化的平台,我们分为三步走:配置WindowsAzure平台配置世纪互联的Azure平台满足直播的基本需求配置Wirecas...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/fogyisland2000">来自: <span class="blog_title"> 技术与管理的平衡木</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_61" data-pid="61" data-track-view="{&quot;mod&quot;:&quot;kp_popu_61-557&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_61-557&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551753296852_439" id="QIHOO__WEB__SO__1551753296852_439" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551753296852_439-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551753296852_439 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533dff09a84&amp;price=AAAAAFx94E8AAAAAAAo0tVvXJ5A38LfEMHbxAQ==&amp;finfo=DAABCAABAAAAXwgAAgAAAEEEAAM/WCfoPPByGQAIAAIAAAADCgADaUst0Z27L68IAAQAAABBBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAADqOpAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FaixkwIlAhUEFq6A9/qf6I3L0gEV8gglusDApQklABUaFAAA&amp;ubi=FaKRUBWy2cgCFZbAshcVlKfWWBUEFRwWiNCInBcWroChybP0lsvSATQEFrDAkIAIJQYVuLf4kwcVpgEVADb+wdaov8yV81IA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign2=QzWflBYie8G=&amp;url=http%3A%2F%2Fdwx.hellorgod.top%2F" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&amp;r=20&amp;tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;finfo=DAABCAABAAAAXwgAAgAAAEEEAAM/WCfoPPByGQAIAAIAAAADCgADaUst0Z27L68IAAQAAABBBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAADqOpAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533dff09a84&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FaixkwIlAhUEFq6A9/qf6I3L0gEV8gglusDApQklABUaFAAA&amp;ubi=FaKRUBWy2cgCFZbAshcVlKfWWBUEFRwWiNCInBcWroChybP0lsvSATQEFrDAkIAIJQYVuLf4kwcVpgEVADb+wdaov8yV81IA&amp;ds=2&amp;price=AAAAAFx94E8AAAAAAAo0tVvXJ5A38LfEMHbxAQ==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=1332a533dff09a84&amp;p=2255956&amp;l=1136674&amp;s=2&amp;z=1&amp;ps=0&amp;w=AAAAAFx94E8AAAAAAAo04oS2PkdcjwoJP3X9Kw&amp;pt=1&amp;k=R0DgCwAAAAA=&amp;i=9bFdvPgsZ9hv&amp;v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=1332a533dff09a84&amp;p=2255956&amp;l=1136674&amp;s=2&amp;ps=0&amp;k=R0DgCwAAAAA=&amp;i=9bFdvPgsZ9hv&amp;v=05317565507371004090017&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
<info-div class="wrap">
<info-div class="singleImage-img singleImage-img-left">
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/656465-23830ed434304926e29e06fa307d0d7b.gif)"><info-div class="ads-tag"></info-div></info-div>
</info-div>
<info-div class="singleImage-body singleImage-body-left">
<info-div class="singleImage-title">一个长期喝土蜂蜜的人,竟然变成了这样,再忙也要看一下</info-div>
<info-div class="singleImage-desc">顺端 · 鹓鶵</info-div>
</info-div>
</info-div>
<info-div style="clear:both;"></info-div>
</info-div>
</info-div></newsfeed></div>
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
<script>
NEWS_FEED({
w: 852,
h : 60,
showid : 'GNKXx7',
placeholderId: "three_ad13",
inject : 'define',
define : {
imagePosition : 'left',
imageBorderRadius : 3,
imageWidth: 90,
imageHeight: 60,
imageFill : 'clip',
displayImage : true,
displayTitle : true,
titleFontSize: 18,
titleFontColor: '#000',
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
titleFontWeight: 'bold',
titlePaddingTop : 0,
titlePaddingRight : 0,
titlePaddingBottom : 5,
titlePaddingLeft : 16,
displayDesc : true,
descFontSize: 14,
descFontColor: '#8e959a',
descFontFamily : 'Microsoft Yahei',
paddingTop : 0,
paddingRight : 0,
paddingBottom : 0,
paddingLeft : 0,
backgroundColor: '#fff',
hoverColor: '#000'
}
})
</script></div></div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/ILV_XJ/article/details/79054013,BlogCommendFromGuangxin_14&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/ILV_XJ/article/details/79054013,BlogCommendFromGuangxin_14&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/ILV_XJ/article/details/79054013" target="_blank" title="RTMP(实时信息传输协议)详解">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>(实时信息传输协议)<em>详解</em> </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">01-13</span>
<span class="read-num hover-hide">
阅读数
2477</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/ILV_XJ/article/details/79054013" target="_blank" title="RTMP(实时信息传输协议)详解">
<span class="desc oneline">RTMP协议是RealTimeMessageProtocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/ILV_XJ">来自: <span class="blog_title"> I_LV_XJ的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/cxy19931018/article/details/81511236,BlogCommendFromGuangxin_15&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/cxy19931018/article/details/81511236,BlogCommendFromGuangxin_15&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/cxy19931018/article/details/81511236" target="_blank" title="TCP/IP协议学习记录之二十七:RTP和RTMP">
<h4 class="text-truncate oneline" style="width: 552px;">
TCP/IP协议学习记录之二十七:RTP和<em>RTMP</em> </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">08-08</span>
<span class="read-num hover-hide">
阅读数
393</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/cxy19931018/article/details/81511236" target="_blank" title="TCP/IP协议学习记录之二十七:RTP和RTMP">
<span class="desc oneline">&nbsp;&nbsp;以上两个协议和多媒体传输有关,所以今天特地来学习学习;转载自https://www.cnblogs.com/yoyotl/p/5650101.htmlhttps://www.cnblogs.com...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/cxy19931018">来自: <span class="blog_title"> 小小柴的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/charleslei/article/details/51248842,BlogCommendFromGuangxin_16&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/charleslei/article/details/51248842,BlogCommendFromGuangxin_16&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/charleslei/article/details/51248842" target="_blank" title="带你吃透RTMP">
<h4 class="text-truncate oneline" style="width: 552px;">
带你吃透<em>RTMP</em> </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">04-26</span>
<span class="read-num hover-hide">
阅读数
2702</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/charleslei/article/details/51248842" target="_blank" title="带你吃透RTMP">
<span class="desc oneline">转自:http://mingyangshang.github.io/2016/03/06/RTMP%E5%8D%8F%E8%AE%AE/RTMP协议是RealTimeMessageProtocol(实...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/charleslei">来自: <span class="blog_title"> charleslei的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zuixiaoyao_001/article/details/83005931,BlogCommendFromGuangxin_17&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zuixiaoyao_001/article/details/83005931,BlogCommendFromGuangxin_17&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/zuixiaoyao_001/article/details/83005931" target="_blank" title="基于RabbitMQ的MQTT协议及应用">
<h4 class="text-truncate oneline" style="width: 552px;">
基于RabbitMQ的MQTT协议及应用 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">10-09</span>
<span class="read-num hover-hide">
阅读数
523</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/zuixiaoyao_001/article/details/83005931" target="_blank" title="基于RabbitMQ的MQTT协议及应用">
<span class="desc oneline">&amp;amp;#13; MQTT定义:  MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/zuixiaoyao_001">来自: <span class="blog_title"> zuixiaoyao_001的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/leixiaohua1020/6563059,BlogCommendFromQuerySearch_18&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/leixiaohua1020/6563059,BlogCommendFromQuerySearch_18&quot;}">
<a href="https://download.csdn.net/download/leixiaohua1020/6563059" target="_blank">
<div class="content clearfix">
<div class="">
<h4 class="text-truncate oneline clearfix">
<em>rtmp</em> <em>协议规范</em> 中文版 </h4>
<span class="data float-right">11-16</span>
</div>
<div class="desc oneline">
rtmp的协议规范,中文版的,学习RTMP协议的好资源。 </div>
<span class="type-show type-show-download">下载</span>
</div>
</a>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_62" data-pid="62" data-track-view="{&quot;mod&quot;:&quot;kp_popu_62-556&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_62-556&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551753296923_62" id="QIHOO__WEB__SO__1551753296923_62" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551753296923_62-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551753296923_62 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533c3d7fd0a&amp;price=AAAAAFx94E8AAAAAAAuLxhqpBZxj95/cbu2h9A==&amp;finfo=DAABCAABAAAAdAgAAgAAAEcEAAM/WRMbrS1QLAAIAAIAAAADCgADcP9TbP0VaVwIAAQAAABMBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPwoADwAAAAAAEbNAAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FeTGlAIlAhUEFq6Ah72u5ID/4QEV8gglyta37Q4lABUaFAAA&amp;ubi=FbrKTxWU/skCFYzythcVlLXgWBUEFRwWuOjylRcWroDE3Ybbqf/hATQEFrDAkIAIJQYV8aCsdRWmARUANueCtufwy7X9XAA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign2=hAJ3LqJQ7-I=&amp;url=http%3A%2F%2Ffm.yanganghao.cn%2F" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&amp;r=20&amp;tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;finfo=DAABCAABAAAAdAgAAgAAAEcEAAM/WRMbrS1QLAAIAAIAAAADCgADcP9TbP0VaVwIAAQAAABMBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPwoADwAAAAAAEbNAAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533c3d7fd0a&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FeTGlAIlAhUEFq6Ah72u5ID/4QEV8gglyta37Q4lABUaFAAA&amp;ubi=FbrKTxWU/skCFYzythcVlLXgWBUEFRwWuOjylRcWroDE3Ybbqf/hATQEFrDAkIAIJQYV8aCsdRWmARUANueCtufwy7X9XAA&amp;ds=2&amp;price=AAAAAFx94E8AAAAAAAuLxhqpBZxj95/cbu2h9A==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=1332a533c3d7fd0a&amp;p=2265522&amp;l=1136674&amp;s=2&amp;z=1&amp;ps=0&amp;w=AAAAAFx94E8AAAAAAAuMIInsw8sSke6wED2IGA&amp;pt=1&amp;k=0dpKdAAAAAA=&amp;i=bTIOemgsZ9gm&amp;v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=1332a533c3d7fd0a&amp;p=2265522&amp;l=1136674&amp;s=2&amp;ps=0&amp;k=0dpKdAAAAAA=&amp;i=bTIOemgsZ9gm&amp;v=05317565507371004090017&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
<info-div class="wrap">
<info-div class="singleImage-img singleImage-img-left">
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/651933-b2a9c3fea716f43f25f7267ebdbc79ff.gif)"><info-div class="ads-tag"></info-div></info-div>
</info-div>
<info-div class="singleImage-body singleImage-body-left">
<info-div class="singleImage-title">千万不要再乱喝蜂蜜了,记者亲赴深山,揭露背后惊人黑幕!</info-div>
<info-div class="singleImage-desc">树米 · 鹓鶵</info-div>
</info-div>
</info-div>
<info-div style="clear:both;"></info-div>
</info-div>
</info-div></newsfeed></div>
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
<script>
NEWS_FEED({
w: 852,
h : 60,
showid : 'Afihld',
placeholderId: "three_ad18",
inject : 'define',
define : {
imagePosition : 'left',
imageBorderRadius : 3,
imageWidth: 90,
imageHeight: 60,
imageFill : 'clip',
displayImage : true,
displayTitle : true,
titleFontSize: 18,
titleFontColor: '#000',
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
titleFontWeight: 'bold',
titlePaddingTop : 0,
titlePaddingRight : 0,
titlePaddingBottom : 5,
titlePaddingLeft : 16,
displayDesc : true,
descFontSize: 14,
descFontColor: '#8e959a',
descFontFamily : 'Microsoft Yahei',
paddingTop : 0,
paddingRight : 0,
paddingBottom : 0,
paddingLeft : 0,
backgroundColor: '#fff',
hoverColor: '#000'
}
})
</script></div></div>
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/u012851796/10145526,BlogCommendFromQuerySearch_19&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/u012851796/10145526,BlogCommendFromQuerySearch_19&quot;}">
<a href="https://download.csdn.net/download/u012851796/10145526" target="_blank">
<div class="content clearfix">
<div class="">
<h4 class="text-truncate oneline clearfix">
<em>RTMP</em>协议(中文)<em>详解</em>以及规范 </h4>
<span class="data float-right">12-05</span>
</div>
<div class="desc oneline">
流媒体协议:RTMP协议(中文)详解
流媒体协议:RTMP协议(中文)详解
流媒体协议:RTMP协议(中文)详解 </div>
<span class="type-show type-show-download">下载</span>
</div>
</a>
</div>
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/owugang1234/10491073,BlogCommendFromQuerySearch_20&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/owugang1234/10491073,BlogCommendFromQuerySearch_20&quot;}">
<a href="https://download.csdn.net/download/owugang1234/10491073" target="_blank">
<div class="content clearfix">
<div class="">
<h4 class="text-truncate oneline clearfix">
<em>RTMP</em> 规范中英文对照阅读版pdf[带书签] </h4>
<span class="data float-right">06-21</span>
</div>
<div class="desc oneline">
RTMP 规范中英文对照阅读版[带书签]RTMP 规范中英文对照阅读版[带书签]RTMP 规范中英文对照阅读版[带书签] </div>
<span class="type-show type-show-download">下载</span>
</div>
</a>
</div>
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/noahsun1024/9600307,BlogCommendFromQuerySearch_21&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/noahsun1024/9600307,BlogCommendFromQuerySearch_21&quot;}">
<a href="https://download.csdn.net/download/noahsun1024/9600307" target="_blank">
<div class="content clearfix">
<div class="">
<h4 class="text-truncate oneline clearfix">
<em>RTMP</em><em>协议规范</em>1.0 </h4>
<span class="data float-right">08-10</span>
</div>
<div class="desc oneline">
RTMP协议规范中文版翻译,RTMP协议学习入门资料。 </div>
<span class="type-show type-show-download">下载</span>
</div>
</a>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_31186123/article/details/82907303,BlogCommendFromBaidu_22&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_31186123/article/details/82907303,BlogCommendFromBaidu_22&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq_31186123/article/details/82907303" target="_blank" title="RTMP协议详解">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>协议<em>详解</em> </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">09-30</span>
<span class="read-num hover-hide">
阅读数
120</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq_31186123/article/details/82907303" target="_blank" title="RTMP协议详解">
<span class="desc oneline"> 前期准备 了解RTMP定义 准备RTMPDump中的librtmp 使用openssl中的libssllibcrypto 推流工作 整体框架图 使用libtrmp提供的API ...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/qq_31186123">来自: <span class="blog_title"> qq_31186123的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liuzh501448/article/details/7245685,BlogCommendFromBaidu_23&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liuzh501448/article/details/7245685,BlogCommendFromBaidu_23&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/liuzh501448/article/details/7245685" target="_blank" title="RTMP协议分析">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>协议分析 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">02-09</span>
<span class="read-num hover-hide">
阅读数
9152</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/liuzh501448/article/details/7245685" target="_blank" title="RTMP协议分析">
<span class="desc oneline">一、RTMP包头RTMP协议封包参考Red5RTMP协议封包由一个包头和一个包体组成,包头可以是4种长度的任意一种:12,8,4,&nbsp;1byte(s).完整的RTMP包头应该是12bytes,包含了时间...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/liuzh501448">来自: <span class="blog_title"> 潇湘无敌手个人天空</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_63" data-pid="63" data-track-view="{&quot;mod&quot;:&quot;kp_popu_63-555&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_63-555&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551753296986_987" id="QIHOO__WEB__SO__1551753296986_987" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551753296986_987-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551753296986_987 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533dff09a84&amp;price=AAAAAFx94E8AAAAAAAo1U2FVf9jc4BKNTh/dcg==&amp;finfo=DAABCAABAAAAUwgAAgAAAFYEAAM/To1TZLWzyAAIAAIAAAADCgADaUtJGgNoU6MIAAQAAABaBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAADMKfAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FaixkwIlAhUEFq6A9/qf6I3L0gEV8gglusDApQklABUaFAAA&amp;ubi=FcKAURWc38kCFeiCthcVgpLeWBUEFRwWoJLwnhcWroDg/tDGpMvSATQGFrDAkIAIJQYVsuiXjgQVvgUVADa7xMb+w4zh/tUBAA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign2=O6yM02gX2dG=&amp;url=http%3A%2F%2Faaa.hlodb.cn%2F" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&amp;r=20&amp;tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;finfo=DAABCAABAAAAUwgAAgAAAFYEAAM/To1TZLWzyAAIAAIAAAADCgADaUtJGgNoU6MIAAQAAABaBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAADMKfAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533dff09a84&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FaixkwIlAhUEFq6A9/qf6I3L0gEV8gglusDApQklABUaFAAA&amp;ubi=FcKAURWc38kCFeiCthcVgpLeWBUEFRwWoJLwnhcWroDg/tDGpMvSATQGFrDAkIAIJQYVsuiXjgQVvgUVADa7xMb+w4zh/tUBAA&amp;ds=3&amp;price=AAAAAFx94E8AAAAAAAo1U2FVf9jc4BKNTh/dcg==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=1332a533dff09a84&amp;p=2255956&amp;l=1136674&amp;s=3&amp;z=1&amp;ps=0&amp;w=AAAAAFx94E8AAAAAAAo1i50HBcArui-MJer63g&amp;pt=1&amp;k=R0DgCwAAAAA=&amp;i=9bXdvPgsZ9hY&amp;v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=1332a533dff09a84&amp;p=2255956&amp;l=1136674&amp;s=3&amp;ps=0&amp;k=R0DgCwAAAAA=&amp;i=9bXdvPgsZ9hY&amp;v=05317565507371004090017&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
<info-div class="wrap">
<info-div class="singleImage-img singleImage-img-left">
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/663585-c8f943ccc75ce56df066a379d9f38b24.gif)"><info-div class="ads-tag"></info-div></info-div>
</info-div>
<info-div class="singleImage-body singleImage-body-left">
<info-div class="singleImage-title">科技园25岁美女手机做这个,1年存款吓呆父母!!</info-div>
<info-div class="singleImage-desc">赛尔网络科技 · 鹓鶵</info-div>
</info-div>
</info-div>
<info-div style="clear:both;"></info-div>
</info-div>
</info-div></newsfeed></div>
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
<script>
NEWS_FEED({
w: 852,
h : 60,
showid : 'GNKXx7',
placeholderId: "three_ad23",
inject : 'define',
define : {
imagePosition : 'left',
imageBorderRadius : 3,
imageWidth: 90,
imageHeight: 60,
imageFill : 'clip',
displayImage : true,
displayTitle : true,
titleFontSize: 18,
titleFontColor: '#000',
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
titleFontWeight: 'bold',
titlePaddingTop : 0,
titlePaddingRight : 0,
titlePaddingBottom : 5,
titlePaddingLeft : 16,
displayDesc : true,
descFontSize: 14,
descFontColor: '#8e959a',
descFontFamily : 'Microsoft Yahei',
paddingTop : 0,
paddingRight : 0,
paddingBottom : 0,
paddingLeft : 0,
backgroundColor: '#fff',
hoverColor: '#000'
}
})
</script></div></div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lipengshiwo/article/details/53267674,BlogCommendFromBaidu_24&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lipengshiwo/article/details/53267674,BlogCommendFromBaidu_24&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lipengshiwo/article/details/53267674" target="_blank" title="RTMP协议从入门到放弃">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>协议从入门到放弃 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">11-21</span>
<span class="read-num hover-hide">
阅读数
3</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lipengshiwo/article/details/53267674" target="_blank" title="RTMP协议从入门到放弃">
<span class="desc oneline">RTMP协议是RealTimeMessageProtocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/lipengshiwo">来自: <span class="blog_title"> Hugo.Lee的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/yunlianglinfeng/article/details/52777062,BlogCommendFromBaidu_25&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/yunlianglinfeng/article/details/52777062,BlogCommendFromBaidu_25&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/yunlianglinfeng/article/details/52777062" target="_blank" title="rtmp之csid 乱谈">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>rtmp</em>之csid 乱谈 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">10-10</span>
<span class="read-num hover-hide">
阅读数
909</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/yunlianglinfeng/article/details/52777062" target="_blank" title="rtmp之csid 乱谈">
<span class="desc oneline">从标准中,我们可以看到,protocolcontrolmessage的csid要设置成2,msid要设置成0但是其他的messagecsid要设置多少,从srs中找到了一些蛛丝马迹channelid或...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/yunlianglinfeng">来自: <span class="blog_title"> yunlianglinfeng的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaofei125145/article/details/44097911,BlogCommendFromBaidu_26&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaofei125145/article/details/44097911,BlogCommendFromBaidu_26&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/xiaofei125145/article/details/44097911" target="_blank" title="RTMP协议详解 (一) 握手">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>协议<em>详解</em> (一) 握手 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">03-06</span>
<span class="read-num hover-hide">
阅读数
2950</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/xiaofei125145/article/details/44097911" target="_blank" title="RTMP协议详解 (一) 握手">
<span class="desc oneline">RTMP协议介绍RealTimeMessagingProtocol(实时消息传送协议协议)是AdobeSystems公司为FlashPlayer和服务器之间音频,视频和数据传输开发的私有协议,adob...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/xiaofei125145">来自: <span class="blog_title"> 滴水成川</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/u012552017/10118370,BlogCommendFromQuerySearch_27&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/u012552017/10118370,BlogCommendFromQuerySearch_27&quot;}">
<a href="https://download.csdn.net/download/u012552017/10118370" target="_blank">
<div class="content clearfix">
<div class="">
<h4 class="text-truncate oneline clearfix">
<em>RTMP</em><em>协议规范</em>中文翻译 </h4>
<span class="data float-right">11-14</span>
</div>
<div class="desc oneline">
RTMP协议,RTMP协议完整的中文翻译手册,便于学习RTMP协议 </div>
<span class="type-show type-show-download">下载</span>
</div>
</a>
</div>
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/wangshuainan/10307382,BlogCommendFromQuerySearch_28&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/wangshuainan/10307382,BlogCommendFromQuerySearch_28&quot;}">
<a href="https://download.csdn.net/download/wangshuainan/10307382" target="_blank">
<div class="content clearfix">
<div class="">
<h4 class="text-truncate oneline clearfix">
<em>rtmp</em><em>协议规范</em>(中文翻译) </h4>
<span class="data float-right">03-25</span>
</div>
<div class="desc oneline">
详细的RTMP的协议介绍,包括RTMP的交互过程和报文的详细构成。 </div>
<span class="type-show type-show-download">下载</span>
</div>
</a>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_64" data-pid="64" data-track-view="{&quot;mod&quot;:&quot;kp_popu_64-81&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_64-81&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551753297058_508" id="QIHOO__WEB__SO__1551753297058_508" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551753297058_508-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551753297058_508 singleImage clk" data-href="https://s1.shucaixiaoshuo.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533c3d7fd0a&amp;price=AAAAAFx94E8AAAAAAAuMcf2o8aQOWmI093Pf1w==&amp;finfo=DAABCAABAAAAWggAAgAAAEIEAAM/ViEtItVEgwAIAAIAAAADCgADcP9chEA/+X0IAAQAAABDBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPwoADwAAAAAADbugAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FeTGlAIlAhUEFq6Ah72u5ID/4QEV8gglyta37Q4lABUaFAAA&amp;ubi=FfakUBW2xMoCFfCluRcVnJLlWBUEFRwWsOmSnBcWroDZxJChrv/hATQGFrDAkIAIJQYVy/uhqwUVpgEVADbC3onUyZrJ3hoA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign2=8Ym2UWyboQ-=&amp;url=http%3A%2F%2Fxmx.zhechaigu.cn%2F" data-pv="https://s1.shucaixiaoshuo.com/s?type=1&amp;r=20&amp;tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;finfo=DAABCAABAAAAWggAAgAAAEIEAAM/ViEtItVEgwAIAAIAAAADCgADcP9chEA/+X0IAAQAAABDBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPwoADwAAAAAADbugAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533c3d7fd0a&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FeTGlAIlAhUEFq6Ah72u5ID/4QEV8gglyta37Q4lABUaFAAA&amp;ubi=FfakUBW2xMoCFfCluRcVnJLlWBUEFRwWsOmSnBcWroDZxJChrv/hATQGFrDAkIAIJQYVy/uhqwUVpgEVADbC3onUyZrJ3hoA&amp;ds=3&amp;price=AAAAAFx94E8AAAAAAAuMcf2o8aQOWmI093Pf1w==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=1332a533c3d7fd0a&amp;p=2265522&amp;l=1136674&amp;s=3&amp;z=1&amp;ps=0&amp;w=AAAAAFx94E8AAAAAAAuMkPXV7rBj-VRSCcTfrA&amp;pt=1&amp;k=0dpKdAAAAAA=&amp;i=bT1OemgsZ9gV&amp;v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=1332a533c3d7fd0a&amp;p=2265522&amp;l=1136674&amp;s=3&amp;ps=0&amp;k=0dpKdAAAAAA=&amp;i=bT1OemgsZ9gV&amp;v=05317565507371004090017&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
<info-div class="wrap">
<info-div class="singleImage-img singleImage-img-left">
<info-div class="img" style="background-image:url(https://s3m.milkjpg.com/galileo/657723-d1f1e1a23465540b3f995b25b2dc303d.gif)"><info-div class="ads-tag"></info-div></info-div>
</info-div>
<info-div class="singleImage-body singleImage-body-left">
<info-div class="singleImage-title">一个长期喝土蜂蜜的人,竟然变成了这样,再忙也要看一下</info-div>
<info-div class="singleImage-desc">科技 · 鹓鶵</info-div>
</info-div>
</info-div>
<info-div style="clear:both;"></info-div>
</info-div>
</info-div></newsfeed></div>
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/mvf_news_feed.js"></script>
<script>
NEWS_FEED({
w: 852,
h : 60,
showid : 'Afihld',
placeholderId: "three_ad28",
inject : 'define',
define : {
imagePosition : 'left',
imageBorderRadius : 3,
imageWidth: 90,
imageHeight: 60,
imageFill : 'clip',
displayImage : true,
displayTitle : true,
titleFontSize: 18,
titleFontColor: '#000',
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
titleFontWeight: 'bold',
titlePaddingTop : 0,
titlePaddingRight : 0,
titlePaddingBottom : 5,
titlePaddingLeft : 16,
displayDesc : true,
descFontSize: 14,
descFontColor: '#8e959a',
descFontFamily : 'Microsoft Yahei',
paddingTop : 0,
paddingRight : 0,
paddingBottom : 0,
paddingLeft : 0,
backgroundColor: '#fff',
hoverColor: '#000'
}
})
</script></div></div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/fengsh998/article/details/79443640,BlogCommendFromQuerySearch_29&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/fengsh998/article/details/79443640,BlogCommendFromQuerySearch_29&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/fengsh998/article/details/79443640" target="_blank" title="RTMP协议规范(转载)">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em><em>协议规范</em>(转载) </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">03-05</span>
<span class="read-num hover-hide">
阅读数
163</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/fengsh998/article/details/79443640" target="_blank" title="RTMP协议规范(转载)">
<span class="desc oneline">译
序:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本文是为截至发稿时止最新Adobe官方公布的RTMP规
范。本文包含RTMP规范的全部内容。是第一个比较全面的RTMP规范的中译本。由于成文时间仓促,加上作者知识面所限,翻译错误之处...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/fengsh998">来自: <span class="blog_title"> fengsh998的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/renhui1112/article/details/78629049,BlogCommendFromBaidu_30&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/renhui1112/article/details/78629049,BlogCommendFromBaidu_30&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/renhui1112/article/details/78629049" target="_blank" title="干货:为什么直播娃娃机要用rtmp摄像机方案">
<h4 class="text-truncate oneline" style="width: 552px;">
干货:为什么直播娃娃机要用<em>rtmp</em>摄像机方案 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">11-25</span>
<span class="read-num hover-hide">
阅读数
2455</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/renhui1112/article/details/78629049" target="_blank" title="干货:为什么直播娃娃机要用rtmp摄像机方案">
<span class="desc oneline">最近接到最大的质疑是:为什么只有大牛直播推荐这种rtmp摄像头方案?回答:我们不是做云服务的,通俗点说,我们不是靠带宽盈利的,我们期望客户采用更稳定靠谱的技术方案,服务于更好的商业模式。可能的其他方案...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/renhui1112">来自: <span class="blog_title"> 乐学吧</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident recommend-other-item-box" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://bbs.csdn.net/topics/392434224,BlogCommendFromBaidu_31&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://bbs.csdn.net/topics/392434224,BlogCommendFromBaidu_31&quot;}">
<a href="https://bbs.csdn.net/topics/392434224" target="_blank">
<h4 class="text-truncate oneline" style="width: 623px;">
求 <em>RTMP</em>或RTSP 协议转换成UDP 视频流的方案 </h4>
<div class="info-box d-flex align-content-center">
<span class="date">08-17</span>
</div>
<p class="content oneline" style="width: 712px;">
<span class="desc oneline">目前在做一个视频直播的项目,在内网采集视频,在外网观看,内外网之间只能使用UDP协议,其他不支持,如何实现。</span>
<span class="type-show type-show-bbs">论坛</span>
</p>
</a>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/chgaowei/article/details/51248119,BlogCommendFromBaidu_32&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/chgaowei/article/details/51248119,BlogCommendFromBaidu_32&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/chgaowei/article/details/51248119" target="_blank" title="rtmp官方协议详解">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>rtmp</em>官方协议<em>详解</em> </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">04-26</span>
<span class="read-num hover-hide">
阅读数
2</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/chgaowei/article/details/51248119" target="_blank" title="rtmp官方协议详解">
<span class="desc oneline">标准规范学习:rtmp消息结构,包括几个部分:时戳:4&nbsp;byte,单位毫秒。超过最大值后会翻转。长度:消息负载的长度。类型ID:TypeId一部分ID范围用于rtmp的控制信令。还有一部分可以供上层使...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/chgaowei">来自: <span class="blog_title"> 常高伟的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/FENGQIYUNRAN/article/details/79944756,BlogCommendFromBaidu_33&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/FENGQIYUNRAN/article/details/79944756,BlogCommendFromBaidu_33&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/FENGQIYUNRAN/article/details/79944756" target="_blank" title="HLS与RTMP在直播场景下的优劣分析以及架构分析">
<h4 class="text-truncate oneline" style="width: 552px;">
HLS与<em>RTMP</em>在直播场景下的优劣分析以及架构分析 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">04-14</span>
<span class="read-num hover-hide">
阅读数
1198</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/FENGQIYUNRAN/article/details/79944756" target="_blank" title="HLS与RTMP在直播场景下的优劣分析以及架构分析">
<span class="desc oneline">HLSHTTPLiveStreaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTimeX和iPhone软件系统的一部分。它的工作原理是把整个流分成...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/FENGQIYUNRAN">来自: <span class="blog_title"> FeelTouch</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_65" data-pid="65" data-track-view="{&quot;mod&quot;:&quot;kp_popu_65-84&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_65-84&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551753297074_741" id="QIHOO__WEB__SO__1551753297074_741" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551753297074_741-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551753297074_741 singleImage clk" data-href="https://ssxd.mediav.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533dff09a84&amp;price=AAAAAFx94E8AAAAAAAo16FB1R6iMKHL+2XG33A==&amp;finfo=DAABCAABAAAALQgAAgAAAEEEAAM/Rq/MrMQYawAIAAIAAAADCgADaUtbSwPduDUIAAQAAABCBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAABukkAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FaixkwIlAhUEFq6A9/qf6I3L0gEV8gglusDApQklABUaFAAA&amp;ubi=FdikUBWawccCFcyFrRcV5s/IWBUEFRwW6KKSnBcWroCKzeTSrcvSATQIFrDAECUGFaiGj/AFFaYBFQA28amImJ358ZTkAQA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign2=bsAcNx956bZ=&amp;url=http%3A%2F%2Fxfm.jibingrangyi.cn%2F" data-pv="https://ssxd.mediav.com/s?type=1&amp;r=20&amp;tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;finfo=DAABCAABAAAALQgAAgAAAEEEAAM/Rq/MrMQYawAIAAIAAAADCgADaUtbSwPduDUIAAQAAABCBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPAoADwAAAAAABukkAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533dff09a84&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FaixkwIlAhUEFq6A9/qf6I3L0gEV8gglusDApQklABUaFAAA&amp;ubi=FdikUBWawccCFcyFrRcV5s/IWBUEFRwW6KKSnBcWroCKzeTSrcvSATQIFrDAECUGFaiGj/AFFaYBFQA28amImJ358ZTkAQA&amp;ds=4&amp;price=AAAAAFx94E8AAAAAAAo16FB1R6iMKHL+2XG33A==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=1332a533dff09a84&amp;p=2255956&amp;l=1136674&amp;s=4&amp;z=1&amp;ps=0&amp;w=AAAAAFx94E8AAAAAAAo2HrOaGoQIZ9qgmrdzgA&amp;pt=1&amp;k=R0DgCwAAAAA=&amp;i=9PCdvPgsZ9gJ&amp;v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=1332a533dff09a84&amp;p=2255956&amp;l=1136674&amp;s=4&amp;ps=0&amp;k=R0DgCwAAAAA=&amp;i=9PCdvPgsZ9gJ&amp;v=05317565507371004090017&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
<info-div class="wrap">
<info-div class="singleImage-img singleImage-img-left">
<info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/657708-d2b611d0f00741b58136af62590eb8c2.gif)"><info-div class="ads-tag"></info-div></info-div>
</info-div>
<info-div class="singleImage-body singleImage-body-left">
<info-div class="singleImage-title">一个长期喝土蜂蜜的人,后来竟然会变成这样?看到一定要告诉家人</info-div>
<info-div class="singleImage-desc">热点 · 顶新</info-div>
</info-div>
</info-div>
<info-div style="clear:both;"></info-div>
</info-div>
</info-div></newsfeed></div>
<script>
NEWS_FEED({
w: 852,
h : 60,
showid : 'GNKXx7',
placeholderId: "three_ad33",
inject : 'define',
define : {
imagePosition : 'left',
imageBorderRadius : 3,
imageWidth: 90,
imageHeight: 60,
imageFill : 'clip',
displayImage : true,
displayTitle : true,
titleFontSize: 18,
titleFontColor: '#000',
titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
titleFontWeight: 'bold',
titlePaddingTop : 0,
titlePaddingRight : 0,
titlePaddingBottom : 5,
titlePaddingLeft : 16,
displayDesc : true,
descFontSize: 14,
descFontColor: '#8e959a',
descFontFamily : 'Microsoft Yahei',
paddingTop : 0,
paddingRight : 0,
paddingBottom : 0,
paddingLeft : 0,
backgroundColor: '#fff',
hoverColor: '#000'
}
})
</script></div></div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/weixin_34109408/article/details/87503767,BlogCommendFromQuerySearch_34&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/weixin_34109408/article/details/87503767,BlogCommendFromQuerySearch_34&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/weixin_34109408/article/details/87503767" target="_blank" title="RTMP协议规范解读">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em><em>协议规范</em>解读 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">10-19</span>
<span class="read-num hover-hide">
阅读数
2</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/weixin_34109408/article/details/87503767" target="_blank" title="RTMP协议规范解读">
<span class="desc oneline">参考文章:http://blog.csdn.net/lipengshiwo/article/details/53267674</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/weixin_34109408">来自: <span class="blog_title"> weixin_34109408的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/guzx2012/5812587,BlogCommendFromQuerySearch_35&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/guzx2012/5812587,BlogCommendFromQuerySearch_35&quot;}">
<a href="https://download.csdn.net/download/guzx2012/5812587" target="_blank">
<div class="content clearfix">
<div class="">
<h4 class="text-truncate oneline clearfix">
<em>rtmp</em><em>协议规范</em>中文版本 </h4>
<span class="data float-right">07-25</span>
</div>
<div class="desc oneline">
详细描述了RTMP协议握手创建过程,以及各种操作命令。 </div>
<span class="type-show type-show-download">下载</span>
</div>
</a>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/dxj467822057/article/details/79455749,BlogCommendFromQuerySearch_36&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/dxj467822057/article/details/79455749,BlogCommendFromQuerySearch_36&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/dxj467822057/article/details/79455749" target="_blank" title="详解RTMP协议">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>详解</em><em>RTMP</em>协议 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">03-06</span>
<span class="read-num hover-hide">
阅读数
201</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/dxj467822057/article/details/79455749" target="_blank" title="详解RTMP协议">
<span class="desc oneline">RTMP协议是RealTimeMessageProtocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/dxj467822057">来自: <span class="blog_title"> Sinkiang的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/molibaobei90/article/details/81481254,BlogCommendFromQuerySearch_37&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/molibaobei90/article/details/81481254,BlogCommendFromQuerySearch_37&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/molibaobei90/article/details/81481254" target="_blank" title="rtmp1 flv格式解析">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>rtmp</em>1 flv格式解析 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">08-08</span>
<span class="read-num hover-hide">
阅读数
197</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/molibaobei90/article/details/81481254" target="_blank" title="rtmp1 flv格式解析">
<span class="desc oneline">flv的组成&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FLV是一个二进制文件,简单来说,其是由一个文件头(FLVheader)和很多tag组成(FLVbody)。tag又可以分成三类:audio,video,script,分别代表音...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/molibaobei90">来自: <span class="blog_title"> molibaobei90的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u012618915/article/details/82253811,BlogCommendFromQuerySearch_38&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u012618915/article/details/82253811,BlogCommendFromQuerySearch_38&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u012618915/article/details/82253811" target="_blank" title="nginx rtmp module 代码详解 各模块主要功能">
<h4 class="text-truncate oneline" style="width: 552px;">
nginx <em>rtmp</em> module 代码<em>详解</em> 各模块主要功能 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">08-31</span>
<span class="read-num hover-hide">
阅读数
350</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u012618915/article/details/82253811" target="_blank" title="nginx rtmp module 代码详解 各模块主要功能">
<span class="desc oneline">ngx_rtmp_dash_modulehttp模块里播放MPEG-DASH相关处理ngx_rtmp_mp4_module主要支持rtmpMP4这块点播相关功能,支持seek操作ngx_rtmp_fl...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/u012618915">来自: <span class="blog_title"> 刘长福</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_66" data-pid="66" data-track-view="{&quot;mod&quot;:&quot;kp_popu_66-808&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_66-808&quot;,&quot;con&quot;:&quot;,,&quot;}"><iframe style="width: 100%; height: 60px; border: 0px none;" scrolling="no"></iframe></div></div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/ly402609921/article/details/52769076,BlogCommendFromBaidu_39&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/ly402609921/article/details/52769076,BlogCommendFromBaidu_39&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/ly402609921/article/details/52769076" target="_blank" title="rtmp协议规范">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>rtmp</em><em>协议规范</em> </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">10-09</span>
<span class="read-num hover-hide">
阅读数
3344</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/ly402609921/article/details/52769076" target="_blank" title="rtmp协议规范">
<span class="desc oneline">译
序:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本文是为截至发稿时止最新Adobe官方公布的RTMP规
范。本文包含RTMP规范的全部内容。是第一个比较全面的RTMP规范的中译本。由于成文时间仓促,加上作者知识面所限,翻译错误之处...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/ly402609921">来自: <span class="blog_title"> ly402609921的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u012604745/article/details/73466204,BlogCommendFromBaidu_40&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u012604745/article/details/73466204,BlogCommendFromBaidu_40&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u012604745/article/details/73466204" target="_blank" title="基于Rtmp协议的流媒体直播实现">
<h4 class="text-truncate oneline" style="width: 552px;">
基于<em>Rtmp</em>协议的流媒体直播实现 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">06-19</span>
<span class="read-num hover-hide">
阅读数
2375</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u012604745/article/details/73466204" target="_blank" title="基于Rtmp协议的流媒体直播实现">
<span class="desc oneline">最近需要实现一个类似于视频直播这样的功能,很幸运的是,在网上找到了两篇博文,写的不错,省了很多时间精力,在此感谢博主的分享。由于博主的文章较长且散,我在此对代码进行了整理和打包,有需要的朋友可以直接点...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/u012604745">来自: <span class="blog_title"> 大鹏,一个天蝎座的程序员</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_25005909/article/details/79098152,BlogCommendFromBaidu_41&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_25005909/article/details/79098152,BlogCommendFromBaidu_41&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq_25005909/article/details/79098152" target="_blank" title="RTSP、RTMP、HTTP协议">
<h4 class="text-truncate oneline" style="width: 552px;">
RTSP、<em>RTMP</em>、HTTP协议 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">01-18</span>
<span class="read-num hover-hide">
阅读数
2006</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq_25005909/article/details/79098152" target="_blank" title="RTSP、RTMP、HTTP协议">
<span class="desc oneline">一、异同1、RSTP、RTMP、HTTP协议共同点RTSPRTMPHTTP都是用在应用层。理论上这三种协议都可以做直播和点播,但直播一般用RTSP和RTMP点播用HTTP。2、RSTP、RTMP、HT...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/qq_25005909">来自: <span class="blog_title"> 夏中伟的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xwjazjx1314/article/details/54880391,BlogCommendFromBaidu_42&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xwjazjx1314/article/details/54880391,BlogCommendFromBaidu_42&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/xwjazjx1314/article/details/54880391" target="_blank" title="librtmp协议分析---RTMP_ConnectStream函数">
<h4 class="text-truncate oneline" style="width: 552px;">
lib<em>rtmp</em>协议分析---<em>RTMP</em>_ConnectStream函数 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">02-16</span>
<span class="read-num hover-hide">
阅读数
2456</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/xwjazjx1314/article/details/54880391" target="_blank" title="librtmp协议分析---RTMP_ConnectStream函数">
<span class="desc oneline">接下来我们分析RTMP_ConnectStream函数。代码如下://创建流/循环读取服务端发送过来的各种消息,比如windowack,setpeerbandwidth,setchunksize,_r...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/xwjazjx1314">来自: <span class="blog_title"> 终究还是能力达不到预期的目标</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/leixiaohua1020/article/details/11694129,BlogCommendFromBaidu_43&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/leixiaohua1020/article/details/11694129,BlogCommendFromBaidu_43&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/leixiaohua1020/article/details/11694129" target="_blank" title="RTMP规范简单分析">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>规范简单分析 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">09-14</span>
<span class="read-num hover-hide">
阅读数
3</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/leixiaohua1020/article/details/11694129" target="_blank" title="RTMP规范简单分析">
<span class="desc oneline">RTMP协议是一个互联网TCP/IP五层体系结构中应用层的协议。RTMP协议中基本的数据单元称为消息(Message)。当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(C...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/leixiaohua1020">来自: <span class="blog_title"> 雷霄骅(leixiaohua1020)的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_67" data-pid="67" data-track-view="{&quot;mod&quot;:&quot;kp_popu_67-808&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_67-808&quot;,&quot;con&quot;:&quot;,,&quot;}"><iframe style="width: 100%; height: 60px; border: 0px none;" scrolling="no"></iframe></div></div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wu5215080/article/details/72519290,BlogCommendFromQuerySearch_44&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wu5215080/article/details/72519290,BlogCommendFromQuerySearch_44&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/wu5215080/article/details/72519290" target="_blank" title="nginx-rtmp源码概述">
<h4 class="text-truncate oneline" style="width: 552px;">
nginx-<em>rtmp</em>源码概述 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">05-19</span>
<span class="read-num hover-hide">
阅读数
2751</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/wu5215080/article/details/72519290" target="_blank" title="nginx-rtmp源码概述">
<span class="desc oneline">github:https://github.com/arut/nginx-rtmp-module/wiki/*点播相关*/ngx_rtmp_dash_modulengx_rtmp_mp4ngx_rtm...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/wu5215080">来自: <span class="blog_title"> wu5215080的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/kl222/8929553,BlogCommendFromQuerySearch_45&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/kl222/8929553,BlogCommendFromQuerySearch_45&quot;}">
<a href="https://download.csdn.net/download/kl222/8929553" target="_blank">
<div class="content clearfix">
<div class="">
<h4 class="text-truncate oneline clearfix">
Nginx搭建<em>rtmp</em>流媒体服务器 </h4>
<span class="data float-right">07-24</span>
</div>
<div class="desc oneline">
Nginx搭建rtmp流媒体服务器详解与实例 </div>
<span class="type-show type-show-download">下载</span>
</div>
</a>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/laichanghe/article/details/80554823,BlogCommendFromQuerySearch_46&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/laichanghe/article/details/80554823,BlogCommendFromQuerySearch_46&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/laichanghe/article/details/80554823" target="_blank" title="基于nginx-rtmp-module模块的relay功能分析及完善">
<h4 class="text-truncate oneline" style="width: 552px;">
基于nginx-<em>rtmp</em>-module模块的relay功能分析及完善 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">06-03</span>
<span class="read-num hover-hide">
阅读数
713</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/laichanghe/article/details/80554823" target="_blank" title="基于nginx-rtmp-module模块的relay功能分析及完善">
<span class="desc oneline">多种实时流请求触发中继的实现基于nginx-1.8.1+nginx-rtmp-module方案1.概述²&nbsp;视频直播方案基于nginx+rtmp;²&nbsp;集群内区分边缘和源务服器,边缘与源是基于rtmp流做...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/laichanghe">来自: <span class="blog_title"> 回报社会的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/leixiaohua1020/article/details/12952977,BlogCommendFromQuerySearch_47&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/leixiaohua1020/article/details/12952977,BlogCommendFromQuerySearch_47&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/leixiaohua1020/article/details/12952977" target="_blank" title="RTMPdump 源代码分析 1: main()函数">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>RTMP</em>dump 源代码分析 1: main()函数 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">10-22</span>
<span class="read-num hover-hide">
阅读数
2</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/leixiaohua1020/article/details/12952977" target="_blank" title="RTMPdump 源代码分析 1: main()函数">
<span class="desc oneline">rtmpdump是一个用来处理RTMP流媒体的工具包,支持rtmp://,rtmpt://,rtmpe://,rtmpte://,andrtmps://等。之前在学习RTMP协议的时候,发现没有讲它源...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/leixiaohua1020">来自: <span class="blog_title"> 雷霄骅(leixiaohua1020)的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lucyTheSlayer/article/details/79737890,BlogCommendFromQuerySearch_48&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lucyTheSlayer/article/details/79737890,BlogCommendFromQuerySearch_48&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lucyTheSlayer/article/details/79737890" target="_blank" title="librtmp 源码分析笔记 ReadN">
<h4 class="text-truncate oneline" style="width: 552px;">
lib<em>rtmp</em> 源码分析笔记 ReadN </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">03-29</span>
<span class="read-num hover-hide">
阅读数
133</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lucyTheSlayer/article/details/79737890" target="_blank" title="librtmp 源码分析笔记 ReadN">
<span class="desc oneline">无限缅怀雷神,R.I.P&nbsp;https://blog.csdn.net/leixiaohua1020/article/details/15814587为了能更好的使用librtmp,特将librtmp源...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/lucyTheSlayer">来自: <span class="blog_title"> lucyTheSlayer的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_68" data-pid="68" data-track-view="{&quot;mod&quot;:&quot;kp_popu_68-654&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_68-654&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1551753297100_165" id="QIHOO__WEB__SO__1551753297100_165" style="display:block;margin:0;padding:0;border:none;width:900px;height:84px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1551753297100_165-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1551753297100_165 singleImage clk" data-href="https://ssxd.mediav.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533c3d7fd0a&amp;price=AAAAAFx94E8AAAAAAAuM9wESiDpvsSJSN2BQFg==&amp;finfo=DAABCAABAAAAWAgAAgAAAEMEAAM/VN7CndCQEgAIAAIAAAADCgADcP9lnOWdPtMIAAQAAABFBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPwoADwAAAAAADW2AAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FeTGlAIlAhUEFq6Ah72u5ID/4QEV8gglyta37Q4lABUaFAAA&amp;ubi=FeT+UBXIuMkCFYaOtRcV5JDcWBUEFRwWwrXfnhcWroDuq5rnsv/hATQIFrDAECUGFaqIu9oIFdIEFQA2icy8p6j68bwSAA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign2=iVIxeECMuYy=&amp;url=http%3A%2F%2Fzcs.love028.cn%2F" data-pv="https://ssxd.mediav.com/s?type=1&amp;r=20&amp;tid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;finfo=DAABCAABAAAAWAgAAgAAAEMEAAM/VN7CndCQEgAIAAIAAAADCgADcP9lnOWdPtMIAAQAAABFBgAGLbcKAAkAAAAAAAIQGAYACgAACAAOAAAAPwoADwAAAAAADW2AAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABPY1BbQgAAm1BjT0A&amp;mvid=MDUzMTc1NjU1MDczNzEwMDQwOTAwMTc&amp;bid=1332a533c3d7fd0a&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABWQu9itBxaACBXIARaAx+v+9tPBBQA&amp;uai=FeTGlAIlAhUEFq6Ah72u5ID/4QEV8gglyta37Q4lABUaFAAA&amp;ubi=FeT+UBXIuMkCFYaOtRcV5JDcWBUEFRwWwrXfnhcWroDuq5rnsv/hATQIFrDAECUGFaqIu9oIFdIEFQA2icy8p6j68bwSAA&amp;ds=4&amp;price=AAAAAFx94E8AAAAAAAuM9wESiDpvsSJSN2BQFg==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=1332a533c3d7fd0a&amp;p=2265522&amp;l=1136674&amp;s=4&amp;z=1&amp;ps=0&amp;w=AAAAAFx94E8AAAAAAAuNF-IBjLFdQL7h_yeVYQ&amp;pt=1&amp;k=0dpKdAAAAAA=&amp;i=bToOemgsZ9gC&amp;v=05317565507371004090017" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=1332a533c3d7fd0a&amp;p=2265522&amp;l=1136674&amp;s=4&amp;ps=0&amp;k=0dpKdAAAAAA=&amp;i=bToOemgsZ9gC&amp;v=05317565507371004090017&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
<info-div class="wrap">
<info-div class="singleImage-img singleImage-img-left">
<info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/663474-3cf7e2f712ea0478b259816b12d54273.gif)"><info-div class="ads-tag"></info-div></info-div>
</info-div>
<info-div class="singleImage-body singleImage-body-left">
<info-div class="singleImage-title">千万不要再乱喝蜂蜜了,美女潜伏工厂,揭露蜂蜜市场黑幕!</info-div>
<info-div class="singleImage-desc">新钥 · 顶新</info-div>
</info-div>
</info-div>
<info-div style="clear:both;"></info-div>
</info-div>
</info-div></newsfeed></div>
<script>
NEWS_FEED({
w: 900,
h : 84,
showid : 'Afihld',
placeholderId: "three_ad48",
inject : 'define',
define : {
imagePosition : 'left',
imageBorderRadius : 3,
imageWidth: 90,
imageHeight: 60,
imageFill : 'clip',
displayImage : true,
displayTitle : true,
titleFontSize: 16,
titleFontColor: '#000',
titleFontFamily : 'Microsoft Yahei',
titleFontWeight: 'bold',
titlePaddingTop : 0,
titlePaddingRight : 0,
titlePaddingBottom : 5,
titlePaddingLeft : 16,
displayDesc : true,
descFontSize: 14,
descFontColor: '#8e959a',
descFontFamily : 'Microsoft Yahei',
paddingTop : 10,
paddingRight : 0,
paddingBottom : 0,
paddingLeft : 0,
backgroundColor: '#fff',
hoverColor: '#000'
}
})
</script></div></div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lcalqf/article/details/55195520,BlogCommendFromBaidu_49&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lcalqf/article/details/55195520,BlogCommendFromBaidu_49&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lcalqf/article/details/55195520" target="_blank" title="rtmp 详细介绍">
<h4 class="text-truncate oneline" style="width: 552px;">
<em>rtmp</em> 详细介绍 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">02-15</span>
<span class="read-num hover-hide">
阅读数
1208</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lcalqf/article/details/55195520" target="_blank" title="rtmp 详细介绍">
<span class="desc oneline">一、RTMP包头&nbsp;RTMP协议封包参考Red5RTMP协议封包由一个包头和一个包体组成,包头可以是4种长度的任意一种:12,8,4,&nbsp;1byte(s).完整的RTMP包头应该是12bytes,包含了时...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/lcalqf">来自: <span class="blog_title"> lcalqf的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/iwanghang/article/details/51290181,BlogCommendHotData_0&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/iwanghang/article/details/51290181,BlogCommendHotData_0&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/iwanghang/article/details/51290181" target="_blank" title="Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表">
<h4 class="text-truncate oneline" style="width: 552px;">
Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">05-01</span>
<span class="read-num hover-hide">
阅读数
7328</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/iwanghang/article/details/51290181" target="_blank" title="Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表">
<span class="desc oneline">实现功能:
实现NetMusicListAdapter(网络音乐列表适配器)
实现SearchResult(搜索音乐对象)
使用Jsoup组件请求网络,并解析音乐数据,并,音乐数据加载到列表中
实现F...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/iwanghang">来自: <span class="blog_title"> iwanghang(一个播音与主持艺术专业、干过网游打金工作室,做过海鲜小吃排挡的新手程序员)</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/diandianxiyu/article/details/53068012,BlogCommendHotData_1&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/diandianxiyu/article/details/53068012,BlogCommendHotData_1&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/diandianxiyu/article/details/53068012" target="_blank" title="【小程序】微信小程序开发实践">
<h4 class="text-truncate oneline" style="width: 552px;">
【小程序】微信小程序开发实践 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">11-07</span>
<span class="read-num hover-hide">
阅读数
15万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/diandianxiyu/article/details/53068012" target="_blank" title="【小程序】微信小程序开发实践">
<span class="desc oneline">帐号相关流程注册范围
企业
政府
媒体
其他组织换句话讲就是不让个人开发者注册。 :)填写企业信息不能使用和之前的公众号账户相同的邮箱,也就是说小程序是和微信公众号一个层级的。填写公司机构信息,对公账...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/diandianxiyu">来自: <span class="blog_title"> 小雨同学的技术博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/jhq0113/article/details/44226789,BlogCommendHotData_2&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/jhq0113/article/details/44226789,BlogCommendHotData_2&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/jhq0113/article/details/44226789" target="_blank" title="数据切分——原理">
<h4 class="text-truncate oneline" style="width: 552px;">
数据切分——原理 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">03-12</span>
<span class="read-num hover-hide">
阅读数
3699</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/jhq0113/article/details/44226789" target="_blank" title="数据切分——原理">
<span class="desc oneline">声明:本系列教程参考资料《Mysql性能调优与架构设计》
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Why Mysql?
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大家可能怀疑,数据库有好多种,为什么选择Mysql作为数据切分的案例,为什么不选...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/jhq0113">来自: <span class="blog_title"> 姜海强</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u011711997/article/details/52350907,BlogCommendHotData_3&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u011711997/article/details/52350907,BlogCommendHotData_3&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u011711997/article/details/52350907" target="_blank" title="整数在计算机中的编码">
<h4 class="text-truncate oneline" style="width: 552px;">
整数在计算机中的编码 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">08-29</span>
<span class="read-num hover-hide">
阅读数
7338</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u011711997/article/details/52350907" target="_blank" title="整数在计算机中的编码">
<span class="desc oneline">整数在计算机中是使用补码表示的,在讲解补码前,先看一下相关概念。
机器数与真值
数值在计算机中的表现形式叫做机器数,该数值就是机器数代表的真值。机器数是真值在计算机中的表现形式,真值是机器数的代表的数...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/u011711997">来自: <span class="blog_title"> gaoyi的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/hwhsong/article/details/78294965,BlogCommendHotData_4&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/hwhsong/article/details/78294965,BlogCommendHotData_4&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/hwhsong/article/details/78294965" target="_blank" title="EasyUI - 一个简单的后台管理系统入门实例">
<h4 class="text-truncate oneline" style="width: 552px;">
EasyUI - 一个简单的后台管理系统入门实例 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">10-20</span>
<span class="read-num hover-hide">
阅读数
1万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/hwhsong/article/details/78294965" target="_blank" title="EasyUI - 一个简单的后台管理系统入门实例">
<span class="desc oneline">采用EasyUI 1.4.x 版本,默认default风格,异步加载页面,多Tab页展示,使用JSON文件模拟从后台动态获取数据。...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/hwhsong">来自: <span class="blog_title"> 般若</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_36892341/article/details/73918672,BlogCommendHotData_5&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_36892341/article/details/73918672,BlogCommendHotData_5&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq_36892341/article/details/73918672" target="_blank" title="linux上安装Docker(非常简单的安装方法)">
<h4 class="text-truncate oneline" style="width: 552px;">
linux上安装Docker(非常简单的安装方法) </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">06-29</span>
<span class="read-num hover-hide">
阅读数
14万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq_36892341/article/details/73918672" target="_blank" title="linux上安装Docker(非常简单的安装方法)">
<span class="desc oneline">最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗!
Docker的三大核心概念:镜像、容器、仓库
镜像:类似虚拟机的镜像、用俗话说就是安装文件。
容器:类似一个轻量...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/qq_36892341">来自: <span class="blog_title"> 我走小路的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wyx100/article/details/73080969,BlogCommendHotData_6&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wyx100/article/details/73080969,BlogCommendHotData_6&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/wyx100/article/details/73080969" target="_blank" title="人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物">
<h4 class="text-truncate oneline" style="width: 552px;">
人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">06-12</span>
<span class="read-num hover-hide">
阅读数
1万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/wyx100/article/details/73080969" target="_blank" title="人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物">
<span class="desc oneline">人脸检测和识别- opencv3+python3完整实战项目源代码 识别视频《欢乐颂》中人物
python
opecv3人脸检测和识别
项目源代码
识别视频《欢乐颂》中人物...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/wyx100">来自: <span class="blog_title"> wyx100的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/roguesir/article/details/77104246,BlogCommendHotData_7&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/roguesir/article/details/77104246,BlogCommendHotData_7&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/roguesir/article/details/77104246" target="_blank" title="人脸检测工具face_recognition的安装与应用">
<h4 class="text-truncate oneline" style="width: 552px;">
人脸检测工具face_recognition的安装与应用 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">08-11</span>
<span class="read-num hover-hide">
阅读数
3万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/roguesir/article/details/77104246" target="_blank" title="人脸检测工具face_recognition的安装与应用">
<span class="desc oneline">人脸检测工具face_recognition的安装与应用</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/roguesir">来自: <span class="blog_title"> roguesir的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/bob601450868/article/details/52073805,BlogCommendHotData_8&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/bob601450868/article/details/52073805,BlogCommendHotData_8&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/bob601450868/article/details/52073805" target="_blank" title="Spark2学习1之基本环境搭建(win)问题">
<h4 class="text-truncate oneline" style="width: 552px;">
Spark2学习1之基本环境搭建(win)问题 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">07-30</span>
<span class="read-num hover-hide">
阅读数
3万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/bob601450868/article/details/52073805" target="_blank" title="Spark2学习1之基本环境搭建(win)问题">
<span class="desc oneline">更多代码请见:https://github.com/xubo245/SparkLearning 版本:Spark-2.0.01解释
从【2】中下载release版,idea打开mvn packag...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/bob601450868">来自: <span class="blog_title"> Keep Learning</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u011860731/article/details/48733073,BlogCommendHotData_9&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u011860731/article/details/48733073,BlogCommendHotData_9&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u011860731/article/details/48733073" target="_blank" title="ThreadLocal的设计理念与作用">
<h4 class="text-truncate oneline" style="width: 552px;">
ThreadLocal的设计理念与作用 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">09-25</span>
<span class="read-num hover-hide">
阅读数
3万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u011860731/article/details/48733073" target="_blank" title="ThreadLocal的设计理念与作用">
<span class="desc oneline">Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的Thread...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/u011860731">来自: <span class="blog_title"> u011860731的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wuchengzeng/article/details/50037611,BlogCommendHotData_10&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wuchengzeng/article/details/50037611,BlogCommendHotData_10&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/wuchengzeng/article/details/50037611" target="_blank" title="jquery/js实现一个网页同时调用多个倒计时(最新的)">
<h4 class="text-truncate oneline" style="width: 552px;">
jquery/js实现一个网页同时调用多个倒计时(最新的) </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">11-25</span>
<span class="read-num hover-hide">
阅读数
25万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/wuchengzeng/article/details/50037611" target="_blank" title="jquery/js实现一个网页同时调用多个倒计时(最新的)">
<span class="desc oneline">jquery/js实现一个网页同时调用多个倒计时(最新的)
最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦!
//js
...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/wuchengzeng">来自: <span class="blog_title"> websites</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/clover_hxy/article/details/50683832,BlogCommendHotData_11&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/clover_hxy/article/details/50683832,BlogCommendHotData_11&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/clover_hxy/article/details/50683832" target="_blank" title="bsgs算法">
<h4 class="text-truncate oneline" style="width: 552px;">
bsgs算法 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">02-18</span>
<span class="read-num hover-hide">
阅读数
1万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/clover_hxy/article/details/50683832" target="_blank" title="bsgs算法">
<span class="desc oneline">bsgs算法
bsgs算法,又称大小步算法(某大神称拔山盖世算法)。
主要用来解决
&nbsp; A^x=B(mod C)(C是质数),都是整数,已知A、B、C求x。(poj 2417&nbsp;Discrete Lo...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/clover_hxy">来自: <span class="blog_title"> clover_hxy的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/bea_tree/article/details/51519844,BlogCommendHotData_12&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/bea_tree/article/details/51519844,BlogCommendHotData_12&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/bea_tree/article/details/51519844" target="_blank" title="CS231n 卷积神经网络与计算机视觉 6 数据预处理 权重初始化 规则化 损失函数 等常用方法总结">
<h4 class="text-truncate oneline" style="width: 552px;">
CS231n 卷积神经网络与计算机视觉 6 数据预处理 权重初始化 规则化 损失函数 等常用方法总结 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">05-28</span>
<span class="read-num hover-hide">
阅读数
1万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/bea_tree/article/details/51519844" target="_blank" title="CS231n 卷积神经网络与计算机视觉 6 数据预处理 权重初始化 规则化 损失函数 等常用方法总结">
<span class="desc oneline">1 数据处理
首先注明我们要处理的数据是矩阵X,其shape为[N x D] (N =number of data, D =dimensionality).
1.1 Mean subtractio...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/bea_tree">来自: <span class="blog_title"> bea_tree的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u011046042/article/details/47067037,BlogCommendHotData_13&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u011046042/article/details/47067037,BlogCommendHotData_13&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u011046042/article/details/47067037" target="_blank" title="基于Linux的智能家居的设计(5)">
<h4 class="text-truncate oneline" style="width: 552px;">
基于Linux的智能家居的设计(5) </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">07-26</span>
<span class="read-num hover-hide">
阅读数
1万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/u011046042/article/details/47067037" target="_blank" title="基于Linux的智能家居的设计(5)">
<span class="desc oneline">4&nbsp; 软件设计
&nbsp;
软件设计部分主要包括uboot移植、内核编译、系统移植、设备驱动编程、应用程序编程(QT编程、mysql数据库编程、控制系统编程)、各个模块的功能函数(部分是在windows下面的...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/u011046042">来自: <span class="blog_title"> 求是07的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq574857122/article/details/16361033,BlogCommendHotData_14&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq574857122/article/details/16361033,BlogCommendHotData_14&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq574857122/article/details/16361033" target="_blank" title="强连通分量及缩点tarjan算法解析">
<h4 class="text-truncate oneline" style="width: 552px;">
强连通分量及缩点tarjan算法解析 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">11-16</span>
<span class="read-num hover-hide">
阅读数
38万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/qq574857122/article/details/16361033" target="_blank" title="强连通分量及缩点tarjan算法解析">
<span class="desc oneline">强连通分量:
简言之 就是找环(每条边只走一次,两两可达)
孤立的一个点也是一个连通分量
&nbsp;
使用tarjan算法 在嵌套的多个环中优先得到最大环( 最小环就是每个孤立点)
&nbsp;
定义:
int Ti...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/qq574857122">来自: <span class="blog_title"> 九野的博客</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/silentpebble/article/details/41279285,BlogCommendHotData_15&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/silentpebble/article/details/41279285,BlogCommendHotData_15&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/silentpebble/article/details/41279285" target="_blank" title="centos 查看命令源码">
<h4 class="text-truncate oneline" style="width: 552px;">
centos 查看命令源码 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">11-19</span>
<span class="read-num hover-hide">
阅读数
3万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/silentpebble/article/details/41279285" target="_blank" title="centos 查看命令源码">
<span class="desc oneline"># yum install yum-utils
设置源:
[base-src]
name=CentOS-5.4 - Base src -
baseurl=http://vault.ce...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/silentpebble">来自: <span class="blog_title"> linux/unix</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wwj_748/article/details/30072379,BlogCommendHotData_16&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wwj_748/article/details/30072379,BlogCommendHotData_16&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/wwj_748/article/details/30072379" target="_blank" title="Cocos2d-x 2.2.3 使用NDK配置编译环境">
<h4 class="text-truncate oneline" style="width: 552px;">
Cocos2d-x 2.2.3 使用NDK配置编译环境 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">06-11</span>
<span class="read-num hover-hide">
阅读数
1万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/wwj_748/article/details/30072379" target="_blank" title="Cocos2d-x 2.2.3 使用NDK配置编译环境">
<span class="desc oneline">Cocos2d-x 2.2.3 使用NDK配置编译环境2014年6月11日&nbsp;Cocos2d-x 3.0以下的开发环境的配置恐怕折磨了很多人,使用cygwin配置编译环境足够让初学者蛋疼一阵子了。本篇博...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/wwj_748">来自: <span class="blog_title"> 巫山老妖</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/gefangshuai/article/details/50328451,BlogCommendHotData_17&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/gefangshuai/article/details/50328451,BlogCommendHotData_17&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/gefangshuai/article/details/50328451" target="_blank" title="关于SpringBoot bean无法注入的问题(与文件包位置有关)">
<h4 class="text-truncate oneline" style="width: 552px;">
关于SpringBoot bean无法注入的问题(与文件包位置有关) </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">12-16</span>
<span class="read-num hover-hide">
阅读数
11万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/gefangshuai/article/details/50328451" target="_blank" title="关于SpringBoot bean无法注入的问题(与文件包位置有关)">
<span class="desc oneline">问题场景描述整个项目通过Maven构建,大致结构如下:
核心Spring框架一个module spring-boot-base
service和dao一个module server-core
提供系统...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/gefangshuai">来自: <span class="blog_title"> 开发随笔</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lxhjh/article/details/51764604,BlogCommendHotData_18&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lxhjh/article/details/51764604,BlogCommendHotData_18&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lxhjh/article/details/51764604" target="_blank" title="SpringBoot入门系列:第六篇 mybatis">
<h4 class="text-truncate oneline" style="width: 552px;">
SpringBoot入门系列:第六篇 mybatis </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">06-26</span>
<span class="read-num hover-hide">
阅读数
1万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/lxhjh/article/details/51764604" target="_blank" title="SpringBoot入门系列:第六篇 mybatis">
<span class="desc oneline">这一篇,代码折腾的时间较长,完成之后都是一些小细节,主要有三:
1、引入的依赖错误;
2、启动配置错误;
3、xml文件的mapper命名空间错误。
一、完整的pom.xml
...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/lxhjh">来自: <span class="blog_title"> lxhjh的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/VBcom/article/details/7245186,BlogCommendHotData_19&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/VBcom/article/details/7245186,BlogCommendHotData_19&quot;}">
<div class="content" style="width: 712px;">
<a href="https://blog.csdn.net/VBcom/article/details/7245186" target="_blank" title="DirectX修复工具增强版">
<h4 class="text-truncate oneline" style="width: 552px;">
DirectX修复工具增强版 </h4>
<div class="info-box d-flex align-content-center">
<p class="date-and-readNum oneline">
<span class="date hover-show">02-09</span>
<span class="read-num hover-hide">
阅读数
184万+</span>
</p>
</div>
</a>
<p class="content" style="width: 712px;">
<a href="https://blog.csdn.net/VBcom/article/details/7245186" target="_blank" title="DirectX修复工具增强版">
<span class="desc oneline">最后更新:2018-12-20
DirectX修复工具最新版:DirectX Repair V3.8 增强版&nbsp;&nbsp;NEW!
版本号:V3.8.0.11638
大小: 107MB/7z格式压缩,18...</span>
</a>
<span class="blog_title_box oneline ">
<span class="type-show type-show-blog type-show-after">博文</span>
<a target="_blank" href="https://blog.csdn.net/VBcom">来自: <span class="blog_title"> VBcom的专栏</span></a>
</span>
</p>
</div>
</div>
<div class="recommend-item-box type_hot_word">
<div class="content clearfix" style="width: 712px;">
<div class="word float-left">
<span>
<a href="https://edu.csdn.net/course/play/8211/169109" target="_blank">
论文详解 </a></span>
<span>
<a href="https://edu.csdn.net/course/play/8211/168746" target="_blank">
卷积神经网络详解 </a></span>
<span>
<a href="https://edu.csdn.net/course/play/7221/145888" target="_blank">
numpy详解 </a></span>
<span>
<a href="https://edu.csdn.net/course/play/7493/156072" target="_blank">
xgboost原理详解 </a></span>
<span>
<a href="https://edu.csdn.net/course/play/3904/121313" target="_blank">
线性回归算法详解 </a></span>
</div>
</div>
<div class="content clearfix" style="width: 712px;">
<div class="float-left">
<span>
<a href="https://www.csdn.net/gather_2f/MtzaEg3sODQtYmxvZwO0O0OO0O0O.html" target="_blank">
c++ rtmp连接</a>
</span>
<span>
<a href="https://www.csdn.net/gather_20/Mtjagg0sOTktYmxvZwO0O0OO0O0O.html" target="_blank">
c#播放rtmp</a>
</span>
<span>
<a href="https://www.csdn.net/gather_26/MtzaAg2sNzAtYmxvZwO0O0OO0O0O.html" target="_blank">
c++ rtmp rtsp</a>
</span>
<span>
<a href="https://www.csdn.net/gather_2f/MtTagg3sMDUtYmxvZwO0O0OO0O0O.html" target="_blank">
c# rtmp推流</a>
</span>
<span>
<a href="https://www.csdn.net/gather_27/MtTakg4sNjAwNC1ibG9n.html" target="_blank">
android rtmp 显示</a>
</span>
<span>
<a href="https://www.csdn.net/gather_4a/NtTaUg0sMy1lZHUO0O0O.html" target="_blank">
python3教程详解</a>
</span>
<span>
<a href="https://www.csdn.net/gather_4a/NtTaEg0sMi1lZHUO0O0O.html" target="_blank">
python初级教程:入门详解</a>
</span>
</div>
</div>
</div>
<div class="recommend-loading-box">
<img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/feedLoading.gif">
</div>
<div class="recommend-end-box">
<p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
</div>
</div>
</main>
<aside>
<div id="asideProfile" class="aside-box">
<!-- <h3 class="aside-title">个人资料</h3> -->
<div class="profile-intro d-flex">
<div class="avatar-box d-flex justify-content-center flex-column">
<a href="https://blog.csdn.net/HandsomeHong">
<img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/3_handsomehong.jpg" class="avatar_pic">
</a>
</div>
<div class="user-info d-flex justify-content-center flex-column">
<p class="name csdn-tracking-statistics tracking-click" data-mod="popu_379">
<a href="https://blog.csdn.net/HandsomeHong" target="_blank" class="" id="uid">嵌入式挖掘机</a>
</p>
</div>
<div class="opt-box d-flex justify-content-center flex-column">
<span class="csdn-tracking-statistics tracking-click" data-mod="popu_379">
<a class="btn btn-sm btn-red-hollow attention" id="btnAttent" target="_blank">关注</a>
</span>
</div>
</div>
<div class="data-info d-flex item-tiling">
<dl class="text-center" title="82">
<dt><a href="https://blog.csdn.net/handsomehong?t=1">原创</a></dt>
<dd><a href="https://blog.csdn.net/handsomehong?t=1"><span class="count">82</span></a></dd>
</dl>
<dl class="text-center" id="fanBox" title="127">
<dt>粉丝</dt>
<dd><span class="count" id="fan">127</span></dd>
</dl>
<dl class="text-center" title="39">
<dt>喜欢</dt>
<dd><span class="count">39</span></dd>
</dl>
<dl class="text-center" title="12">
<dt>评论</dt>
<dd><span class="count">12</span></dd>
</dl>
</div>
<div class="grade-box clearfix">
<dl>
<dt>等级:</dt>
<dd>
<a href="https://blog.csdn.net/home/help.html#level" title="5级,点击查看等级说明" target="_blank">
<svg class="icon icon-level" aria-hidden="true">
<use xlink:href="#csdnc-bloglevel-5"></use>
</svg>
</a>
</dd>
</dl>
<dl>
<dt>访问:</dt>
<dd title="157506">
15万+ </dd>
</dl>
<dl>
<dt>积分:</dt>
<dd title="2137">
2137 </dd>
</dl>
<dl title="28021">
<dt>排名:</dt>
<dd>2万+</dd>
</dl>
</div>
</div>
<div class="csdn-tracking-statistics mb8 box-shadow" data-pid="blog" data-mod="popu_4" style="height:250px;">
<div class="aside-content text-center" id="cpro_u2734133">
<div id="kp_box_56" data-pid="56" data-track-click="{&quot;mod&quot;:&quot;kp_popu_56-76&quot;,&quot;con&quot;:&quot;,,&quot;}"><script type="text/javascript">
(function() {
var s = "_" + Math.random().toString(36).slice(2);
document.write('<div style="" id="' + s + '"></div>');
(window.slotbydup = window.slotbydup || []).push({
id: "u3032528",
container: s
});
})();
</script><div style="" id="_db0ya6j2r59"><iframe id="iframeu3032528_0" name="iframeu3032528_0" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/jckm.htm" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="border:0;vertical-align:bottom;margin:0;width:300px;height:250px" allowtransparency="true" width="300" height="250" frameborder="0" align="center,center"></iframe></div>
<!-- 多条广告如下脚本只需引入一次 -->
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/c.js" async="async" defer="defer"></script></div> </div>
</div>
<div id="asideNewArticle" class="aside-box">
<h3 class="aside-title">最新文章</h3>
<div class="aside-content">
<ul class="inf_list clearfix csdn-tracking-statistics tracking-click" data-mod="popu_382">
<li class="clearfix">
<a href="https://blog.csdn.net/HandsomeHong/article/details/87607250" target="_blank">找兼职</a>
</li>
<li class="clearfix">
<a href="https://blog.csdn.net/HandsomeHong/article/details/81705022" target="_blank">每日一篇--获取设备ip地址</a>
</li>
<li class="clearfix">
<a href="https://blog.csdn.net/HandsomeHong/article/details/81626948" target="_blank">每日一篇--获取文件夹下指定后缀的所有文件名</a>
</li>
<li class="clearfix">
<a href="https://blog.csdn.net/HandsomeHong/article/details/81010457" target="_blank">nfs挂载报错:mount.nfs mount system call failed</a>
</li>
<li class="clearfix">
<a href="https://blog.csdn.net/HandsomeHong/article/details/80921853" target="_blank">程序退出前的遗言----linux下利用backtrace追踪函数调用堆栈以及定位段错误</a>
</li>
</ul>
</div>
</div>
<div id="asideCategory" class="aside-box flexible-box">
<h3 class="aside-title">个人分类</h3>
<div class="aside-content">
<ul>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6846828">
<span class="title oneline">专辑10 --- 嵌入式linux界面开发Qt</span>
<span class="count float-right">2篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6846832">
<span class="title oneline">专辑13 -- 嵌入式编程语言C++基础</span>
<span class="count float-right">3篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6846834">
<span class="title oneline">专辑8 --- 嵌入式linux C基础</span>
<span class="count float-right">15篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6906967">
<span class="title oneline">PID算法</span>
<span class="count float-right">3篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6914897">
<span class="title oneline">数据结构和算法</span>
<span class="count float-right">3篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6939631">
<span class="title oneline">音视频编解码</span>
<span class="count float-right">15篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6942303">
<span class="title oneline">ffmpeg</span>
<span class="count float-right">3篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6945770">
<span class="title oneline">数字控制器设计</span>
<span class="count float-right">2篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6958787">
<span class="title oneline">CAN总线</span>
<span class="count float-right">6篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6958789">
<span class="title oneline">crc校验算法</span>
<span class="count float-right">1篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6958791">
<span class="title oneline">专辑24 -- 嵌入式之各种总线详解</span>
<span class="count float-right">8篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6958792">
<span class="title oneline">工业以太网基础</span>
<span class="count float-right">2篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6965420">
<span class="title oneline">专辑20 --- 嵌入式基础知识计算机网路基础</span>
<span class="count float-right">4篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6966343">
<span class="title oneline">专辑12 -- 嵌入式linux内核剖析</span>
<span class="count float-right">1篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6991510">
<span class="title oneline">nginx服务器的搭建</span>
<span class="count float-right">1篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6992055">
<span class="title oneline">专辑22 -- 嵌入式多媒体编程之rtmp详解推流</span>
<span class="count float-right">3篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6992715">
<span class="title oneline">专辑1 --- 嵌入式linux网络编程</span>
<span class="count float-right">2篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6992716">
<span class="title oneline">专辑2 -- 嵌入式linux多任务编程</span>
<span class="count float-right">5篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6992717">
<span class="title oneline">专辑3 --- 嵌入式linux驱动开发基础</span>
<span class="count float-right">4篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6992718">
<span class="title oneline">专辑4 --- 嵌入式linux开源软件移植</span>
<span class="count float-right">2篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/6995354">
<span class="title oneline">专辑26 --- 操作系统基础</span>
<span class="count float-right">9篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/7398734">
<span class="title oneline">rtmp源码解读</span>
<span class="count float-right">5篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/7443051">
<span class="title oneline">libevent源码分析</span>
<span class="count float-right">10篇</span>
</a>
</li>
<li>
<a class="clearfix" href="https://blog.csdn.net/handsomehong/article/category/7983638">
<span class="title oneline">项目接口收集</span>
<span class="count float-right">5篇</span>
</a>
</li>
</ul>
</div>
<p class="text-center">
<a class="btn btn-link-blue flexible-btn" data-fbox="aside-archive">展开</a>
</p>
</div>
<div id="asideArchive" class="aside-box flexible-box">
<h3 class="aside-title">归档</h3>
<div class="aside-content">
<ul class="archive-list">
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2019/02">
2019年2月 <span class="count float-right">1篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2018/08">
2018年8月 <span class="count float-right">9篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2018/07">
2018年7月 <span class="count float-right">6篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2018/05">
2018年5月 <span class="count float-right">2篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2018/04">
2018年4月 <span class="count float-right">5篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2018/02">
2018年2月 <span class="count float-right">10篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2018/01">
2018年1月 <span class="count float-right">5篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2017/12">
2017年12月 <span class="count float-right">1篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2017/09">
2017年9月 <span class="count float-right">1篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2017/08">
2017年8月 <span class="count float-right">5篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2017/07">
2017年7月 <span class="count float-right">1篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2017/06">
2017年6月 <span class="count float-right">70篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2017/05">
2017年5月 <span class="count float-right">42篇</span>
</a>
</li>
<!--归档统计-->
<li>
<a href="https://blog.csdn.net/handsomehong/article/month/2017/04">
2017年4月 <span class="count float-right">2篇</span>
</a>
</li>
</ul>
</div>
<p class="text-center">
<a class="btn btn-link-blue flexible-btn" data-fbox="aside-archive">展开</a>
</p>
</div>
<div id="asideHotArticle" class="aside-box">
<h3 class="aside-title">热门文章</h3>
<div class="aside-content">
<ul class="hotArticle-list csdn-tracking-statistics tracking-click" data-mod="popu_521">
<li>
<a href="https://blog.csdn.net/handsomehong/article/details/72528869" target="_blank">PID算法详解(1)</a>
<p class="read">阅读数 <span>42442</span></p>
</li>
<li>
<a href="https://blog.csdn.net/handsomehong/article/details/72786174" target="_blank">(1)ffmpeg在linux上的编译</a>
<p class="read">阅读数 <span>9853</span></p>
</li>
<li>
<a href="https://blog.csdn.net/handsomehong/article/details/72867941" target="_blank">数字滤波的定义和常用方法</a>
<p class="read">阅读数 <span>6257</span></p>
</li>
<li>
<a href="https://blog.csdn.net/handsomehong/article/details/72859622" target="_blank">模糊控制的应用实例</a>
<p class="read">阅读数 <span>5958</span></p>
</li>
<li>
<a href="https://blog.csdn.net/handsomehong/article/details/80016249" target="_blank">简单网络管理协议SNMP(史上最全)</a>
<p class="read">阅读数 <span>3598</span></p>
</li>
</ul>
</div>
</div>
<div id="asideNewComments" class="aside-box">
<h3 class="aside-title">最新评论</h3>
<div class="aside-content">
<ul class="newcomment-list">
<li>
<a class="title text-truncate" target="_blank" href="https://blog.csdn.net/handsomehong/article/details/80016249#comments">简单网络管理协议SNMP(史上最全)</a>
<p class="comment">
<a href="https://my.csdn.net/qq_40317234" class="user-name" target="_blank">qq_40317234</a>:很棒 如果有ROM的就更好了 </p>
</li>
<li>
<a class="title text-truncate" target="_blank" href="https://blog.csdn.net/handsomehong/article/details/72958983#comments">(5)can总线技术规范----位...</a>
<p class="comment">
<a href="https://my.csdn.net/weixin_44154550" class="user-name" target="_blank">weixin_44154550</a>:您好,想问一下同步跳转宽度为什么最大是4呀 </p>
</li>
<li>
<a class="title text-truncate" target="_blank" href="https://blog.csdn.net/handsomehong/article/details/80016249#comments">简单网络管理协议SNMP(史上最全)</a>
<p class="comment">
<a href="https://my.csdn.net/FoxDave" class="user-name" target="_blank">FoxDave</a>:Hi
请教个问题,我最近在用SnmpSharpNet去获取UPS状态的信息遇到点问题,不知道你有没... </p>
</li>
<li>
<a class="title text-truncate" target="_blank" href="https://blog.csdn.net/handsomehong/article/details/77709514#comments">MDVR车载录像机解密</a>
<p class="comment">
<a href="https://my.csdn.net/qq_20167135" class="user-name" target="_blank">qq_20167135</a>:有的可以打开 有的打不开 </p>
</li>
<li>
<a class="title text-truncate" target="_blank" href="https://blog.csdn.net/handsomehong/article/details/72786174#comments">(1)ffmpeg在linux上的...</a>
<p class="comment">
<a href="https://my.csdn.net/qq_29545231" class="user-name" target="_blank">qq_29545231</a>:oo </p>
</li>
</ul>
</div>
</div>
<div id="asideFooter">
<div class="aside-box">
<div id="kp_box_57" data-pid="57" data-track-click="{&quot;mod&quot;:&quot;kp_popu_57-77&quot;,&quot;con&quot;:&quot;,,&quot;}"><script type="text/javascript">
(function() {
var s = "_" + Math.random().toString(36).slice(2);
document.write('<div style="" id="' + s + '"></div>');
(window.slotbydup = window.slotbydup || []).push({
id: "u3163270",
container: s
});
})();
</script><div style="" id="_6415owe3pqf"><iframe id="iframeu3163270_0" name="iframeu3163270_0" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/jckm_002.htm" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="border:0;vertical-align:bottom;margin:0;width:300px;height:250px" allowtransparency="true" width="300" height="250" frameborder="0" align="center,center"></iframe></div>
<!-- 多条广告如下脚本只需引入一次 -->
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/c.js" async="async" defer="defer"></script></div> </div>
<div class="aside-box">
<div class="persion_article">
<div class="right_box footer_box csdn-tracking-statistics" data-mod="popu_475" data-dsm="post"> <div class="contact-box" id="footer-contact-box"><div class="img-box"><a href="https://bbs.csdn.net/forums/Service?utm_source=csdn_footer" target="_blank"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/csdn_cs_qr.png" alt="微信客服" style="padding: 6px;"></a><p class="app-text">微信客服</p></div><div class="img-box fr"><a href="http://wpa.b.qq.com/cgi/wpa.php?ln=1&amp;key=XzgwMDE4MDEwNl80ODc3MzVfODAwMTgwMTA2XzJf" target="_blank"><img style="padding:6px;" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/csdn-kf.png" alt="QQ客服"></a><p class="app-text">QQ客服</p></div></div> <div class="contact-info"> <p><svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M2.167 2h11.666C14.478 2 15 2.576 15 3.286v9.428c0 .71-.522 1.286-1.167 1.286H2.167C1.522 14 1 13.424 1 12.714V3.286C1 2.576 1.522 2 2.167 2zm-.164 3v1L8 10l6-4V5L8 9 2.003 5z" fill="#5c5c5c" fill-rule="evenodd"></path></svg><a href="mailto:webmaster@csdn.net" target="_blank"><span class="txt">kefu@csdn.net</span></a> <em class="width126"><svg t="1538013544186" width="17" height="17" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23556" xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M902.60033922 650.96445566c-18.0718526-100.84369837-94.08399771-166.87723736-94.08399771-166.87723737 10.87530062-91.53186599-28.94715402-107.78733693-28.94715401-107.78733691C771.20003413 93.08221664 517.34798062 98.02553561 511.98620441 98.16348824 506.65661791 98.02553561 252.75857992 93.08221664 244.43541101 376.29988138c0 0-39.79946279 16.25547094-28.947154 107.78733691 0 0-75.98915247 66.03353901-94.0839977 166.87723737 0 0-9.63372291 170.35365477 86.84146124 20.85850523 0 0 21.70461757 56.79068296 61.50407954 107.78733692 0 0-71.1607951 23.19910867-65.11385185 83.46161052 0 0-2.43717093 67.16015592 151.93232126 62.56172014 0 0 108.5460788-8.0932473 141.10300432-52.14626271H526.33792324c32.57991817 44.05301539 141.10300431 52.1462627 141.10300431 52.14626271 154.3235077 4.59843579 151.95071457-62.56172013 151.95071457-62.56172014 6.00095876-60.26250183-65.11385185-83.46161053-65.11385185-83.46161052 39.77647014-50.99665395 61.4810877-107.78733693 61.4810877-107.78733692 96.45219231 149.49514952 86.84146124-20.85850523 86.84146125-20.85850523" p-id="23557" fill="#5c5c5c"></path></svg><a href="http://wpa.b.qq.com/cgi/wpa.php?ln=1&amp;key=XzgwMDE4MDEwNl80ODc3MzVfODAwMTgwMTA2XzJf" class="qqcustomer_s" target="_blank"><span class="txt">QQ客服</span></a></em></p> <p><em class="width126"><svg t="1538012951761" width="17" height="17" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23083" xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M466.4934485 880.02006511C264.6019863 859.18313878 107.13744214 688.54706608 107.13744214 481.14947309 107.13744214 259.68965394 286.68049114 80.14660493 508.14031029 80.14660493s401.00286817 179.54304901 401.00286814 401.00286816v1.67343191C908.30646249 737.58941724 715.26799489 943.85339507 477.28978337 943.85339507c-31.71423369 0-62.61874229-3.67075386-92.38963569-10.60739903 30.09478346-11.01226158 56.84270313-29.63593923 81.5933008-53.22593095z m-205.13036267-398.87059202a246.77722444 246.77722444 0 0 0 493.5544489 0 30.85052691 30.85052691 0 0 0-61.70105383 0 185.07617062 185.07617062 0 0 1-370.15234125 0 30.85052691 30.85052691 0 0 0-61.70105382 0z" p-id="23084" fill="#5c5c5c"></path></svg><a href="http://bbs.csdn.net/forums/Service" target="_blank"><span class="txt">客服论坛</span></a></em> <svg t="1538013874294" width="17" height="17" style="" viewBox="0 0 1194 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23784" xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M1031.29689505 943.85339507h-863.70679012A71.98456279 71.98456279 0 0 1 95.60554212 871.86883228v-150.85178906c0-28.58329658 16.92325492-54.46750945 43.13135785-65.93861527l227.99160176-99.75813425c10.55341735-4.61543317 18.24580594-14.0082445 20.72896295-25.23643277l23.21211998-105.53417343a71.95757195 71.95757195 0 0 1 70.28414006-56.51881307h236.95255971c33.79252817 0 63.02360485 23.5090192 70.28414004 56.51881307l23.21211997 105.53417343c2.48315701 11.25517912 10.17554562 20.62099961 20.72896296 25.23643277l227.99160177 99.75813425a71.98456279 71.98456279 0 0 1 43.13135783 65.93861527v150.85178906A71.98456279 71.98456279 0 0 1 1031.26990421 943.85339507z m-431.85339506-143.94213475c143.94213474 0 143.94213474-48.34058941 143.94213474-107.96334876s-64.45411922-107.96334877-143.94213474-107.96334877c-79.51500637 0-143.94213474 48.34058941-143.94213475 107.96334877s0 107.96334877 143.94213475 107.96334876zM1103.254467 296.07330247v148.9894213a35.97878598 35.97878598 0 0 1-44.15700966 35.03410667l-143.94213473-33.57660146a36.0057768 36.0057768 0 0 1-27.80056231-35.03410668V296.1002933c-35.97878598-47.98970852-131.95820302-71.98456279-287.91126031-71.98456279S347.53801649 248.11058478 311.53223967 296.1002933v115.385829c0 16.73431906-11.52508749 31.25538946-27.80056233 35.03410668l-143.94213473 33.57660146A35.97878598 35.97878598 0 0 1 95.63253297 445.06272377V296.07330247C162.81272673 152.13116772 330.77670658 80.14660493 599.47049084 80.14660493s436.63077325 71.98456279 503.81096699 215.92669754z" p-id="23785" fill="#5c5c5c"></path></svg>400-660-0108 </p> <p style="text-align:center">工作时间 8:30-22:00</p> </div> <div class="bg-gray"> <div class="feed_copyright"> <p><a class="right-dotte" href="https://www.csdn.net/company/index.html#about" target="_blank">关于我们</a><a href="https://www.csdn.net/company/index.html#recruit" target="_blank" class="right-dotte">招聘</a><a href="https://www.csdn.net/company/index.html#contact" target="_blank" class="right-dotte">广告服务</a> <a href="https://www.csdn.net/gather/A" target="_blank" class="footer_baidu"> 网站地图</a></p> <p class="fz12_baidu"><a href="https://zn.baidu.com/cse/home/index" target="_blank"><svg width="13" height="14" xmlns="http://www.w3.org/2000/svg"><path d="M8.392 7.013c1.014 1.454 2.753 2.8 2.753 2.8s1.303 1.017.47 2.98c-.833 1.962-3.876.942-3.876.942s-1.122-.36-2.424-.072c-1.303.291-2.426.181-2.426.181s-1.523.037-1.957-1.888c-.434-1.927 1.52-2.982 1.666-3.161.145-.183 1.159-.873 1.81-1.963.653-1.09 2.608-1.962 3.984.181zm1.23 5.706V9.346H8.64v2.534h-.937s-.3-.044-.356-.285V9.33l-.925.015v2.518s.042.627.925.855h2.277zm-3.685.013V7.951l-.896-.014v1.295H3.987s-1.054.086-1.422 1.28c-.129.798.114 1.266.156 1.368.043.099.383.682 1.238.852h1.978zm-2.433-1.45c-.087-.286.013-.613.057-.741.042-.128.228-.427.61-.54h.855v1.948h-.797s-.555-.029-.725-.668zm6.877-8.775c-.143.909-.865 2.108-1.99 1.962-1.121-.144-1.375-1.16-1.267-2.179C7.214 1.458 8.21.18 9.007.364c.796.18 1.52 1.235 1.374 2.143zm-4.09-.345c0 1.197-.68 2.164-1.52 2.164S3.25 3.36 3.25 2.162C3.25.967 3.932 0 4.77 0c.842 0 1.52.967 1.52 2.162zm4.854 2.09c1.34 0 1.701 1.309 1.701 1.743 0 .438.182 2.29-1.485 2.326-1.667.037-1.737-1.126-1.737-1.96 0-.874.179-2.11 1.52-2.11zm-7.93.581c.045.398.253 2.217-1.27 2.544C.427 7.704-.14 5.947.028 5.124c0 0 .18-1.78 1.412-1.89.98-.085 1.7.986 1.774 1.6z" fill="#999" fill-rule="evenodd"></path></svg><em>百度提供站内搜索</em></a>&nbsp;<a href="http://www.miibeian.gov.cn/" target="_blank" class="ml14">京ICP证19004658号</a></p> <p class="fz12_baidu">©1999-2019 北京创新乐知网络技术有限公司 </p> </div> </div> <div class="allow-info-box"> <p><a href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010" target="_blank"><span>经营性网站备案信息</span></a> <em class="width126"><a href="http://www.cyberpolice.cn/" target="_blank"><span>网络110报警服务</span></a></em></p> <p><a href="http://www.bjjubao.org/" target="_blank"><span>北京互联网违法和不良信息举报中心</span></a></p> <p><a href="http://www.12377.cn/" target="_blank"><span>中国互联网举报中心</span></a></p> </div> </div></div>
</div>
</div>
</aside>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/publib_footer-1.js" data-isfootertrack="false" type="text/javascript"></script><link rel="stylesheet" type="text/css" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/pub_footer_1.css">
<script>
$("a.flexible-btn").click(function(){
$(this).parents('div.aside-box').removeClass('flexible-box');
$(this).remove();
})
</script>
</div>
<div class="mask-dark"></div>
<div id="loginWrap" style="display:none"></div>
<div class="tool-box" style="right: 23.3833px; display: block; top: 48px;">
<ul class="meau-list">
<li class="btn-like-box long-width">
<button class=" long-height hover-box btn-like " title="点赞">
<svg class="icon active hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-thumbsup-ok"></use>
</svg>
<svg class="icon no-active hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-thumbsup"></use>
</svg>
<span class="hover-show text-box text">
<span class="no-active">点赞</span>
<span class="active">取消点赞</span>
</span>
<p>2</p>
</button>
</li>
<li class="">
<a class="btn-comments low-height hover-box" title="写评论" href="#commentBox">
<svg class="icon hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-comments"></use>
</svg>
<span class="hover-show text">评论</span>
<p class="">
</p>
</a>
</li>
<li class="toc-container-box" id="liTocBox">
<button class="btn-toc low-height hover-box" title="目录">
<svg class="icon hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-contents"></use>
</svg>
<span class="hover-show text">目录</span>
</button>
<div class="toc-container pos-left">
<div class="pos-box">
<div class="icon-arrow"></div>
<div class="scroll-box">
<div class="toc-box"><ol><li><a href="#t0">摘要</a></li><li><a href="#t1">目录</a></li><li><a href="#t2">简介</a></li><li class="sub-box"><ol><li><a href="#t3">术语</a></li></ol></li><li><a href="#t4">贡献者</a></li><li><a href="#t5">定义</a></li><li><a href="#t6">字节序,对齐,和时间格式</a></li><li><a href="#t7">RTMP块流</a></li><li class="sub-box"><ol><li><a href="#t8">消息格式</a></li><li><a href="#t9">握手</a></li><li><a href="#t10">组块</a></li></ol></li><li><a href="#t11">Protocol Control Messages</a></li><li class="sub-box"><ol><li><a href="#t12">Set Chunk Size (1)</a></li><li><a href="#t13">Abort Message (2)</a></li><li><a href="#t14">Acknowledgement (3)</a></li><li><a href="#t15">Window Acknowledgement Size (5)</a></li><li><a href="#t16">Set Peer Bandwidth (6)</a></li></ol></li><li><a href="#t17">RTMP Message Formats</a></li><li class="sub-box"><ol><li><a href="#t18">RTMP Message Format</a></li><li class="sub-box"><ol><li><a href="#t19">Message Header</a></li><li><a href="#t20">Message Payload</a></li></ol></li><li><a href="#t21">User Control Messages (4)</a></li></ol></li><li><a href="#t22">RTMP Command Messages</a></li><li class="sub-box"><ol><li><a href="#t23">Types of Messages</a></li><li class="sub-box"><ol><li><a href="#t24">Command Message (20, 17)</a></li><li><a href="#t25">Data Message (18, 15)</a></li><li><a href="#t26">Shared Object Message (19, 16)</a></li><li><a href="#t27">Audio Message (8)</a></li><li><a href="#t28">Video Message (9)</a></li><li><a href="#t29">Aggregate Message (22)</a></li><li><a href="#t30">User Control Message Events</a></li></ol></li><li><a href="#t31">Types of Commands</a></li><li class="sub-box"><ol><li><a href="#t32">NetConnection Commands</a></li><li><a href="#t33">NetStream Commands</a></li></ol></li><li><a href="#t34">Message Exchange Examples</a></li><li class="sub-box"><ol><li><a href="#t35">Publish Recorded Video</a></li><li><a href="#t36">Broadcast a Shared Object Message</a></li><li><a href="#t37">Publish Metadata from Recorded Stream</a></li></ol></li></ol></li><li><a href="#t38">References</a></li></ol></div>
</div>
</div>
<div class="opt-box">
<button class="btn-opt prev nomore" title="向上">
<svg class="icon" aria-hidden="true">
<use xlink:href="#csdnc-chevronup"></use>
</svg>
</button>
<button class="btn-opt next">
<svg class="icon" aria-hidden="true">
<use xlink:href="#csdnc-chevrondown"></use>
</svg>
</button>
</div>
</div>
</li>
<li>
<button class="btn-bookmark low-height hover-box" title="收藏">
<svg class="icon active hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-bookmark-ok"></use>
</svg>
<svg class="icon no-active hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-bookmark"></use>
</svg>
<span class="hover-show text">收藏</span>
<!-- <span class="hover-show text-box text">
<span class="no-active">收藏</span>
<span class="active">取消收藏</span>
</span> -->
</button>
</li>
<li class="bdsharebuttonbox bdshare-button-style0-16" data-bd-bind="1551753308990">
<div class="weixin-qr btn-comments low-height hover-box">
<a href="#" class="bds_weixin clear-share-style" data-cmd="weixin" title="手机看"></a>
<svg class="icon hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-usephone"></use>
</svg>
<span class="hover-show text text3">
手机看
</span>
</div>
</li>
<li class="widescreen-hide">
<a class="btn-comments low-height hover-box" href="https://blog.csdn.net/handsomehong/article/details/79047639" title="librtmp源码分析---url解析">
<svg class="icon hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-chevronleft"></use>
</svg>
<span class="hover-show text text3">上一篇</span>
</a>
</li>
<li class="widescreen-hide">
<a class="btn-comments hover-box low-height" href="https://blog.csdn.net/handsomehong/article/details/79102204" title="11">
<svg class="icon hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-chevronright"></use>
</svg>
<span class="hover-show text text3">下一篇</span>
</a>
</li>
<!-- 宽屏更多按钮 -->
<li class="widescreen-more">
<a class="btn-comments chat-ask-button low-height hover-box" title="快问" href="#chatqa">
<svg class="icon hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-more"></use>
</svg>
<span class="hover-show text">更多</span>
</a>
<ul class="widescreen-more-box">
<li class="widescreen-more">
<a class="btn-comments low-height hover-box" href="https://blog.csdn.net/handsomehong/article/details/79047639" title="librtmp源码分析---url解析">
<svg class="icon hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-chevronleft"></use>
</svg>
<span class="hover-show text text3">上一篇</span>
</a>
</li>
<li class="widescreen-more">
<a class="btn-comments hover-box low-height" href="https://blog.csdn.net/handsomehong/article/details/79102204" title="11">
<svg class="icon hover-hide" aria-hidden="true">
<use xlink:href="#csdnc-chevronright"></use>
</svg>
<span class="hover-show text text3">下一篇</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'https://csdnimg.cn/static/api/js/share.js?v=89860594'];</script>
<script>
var recommendCount = 69;
recommendCount = recommendCount > 1 ? (recommendCount + (recommendCount>6 ? 2 : 1)) : recommendCount;
var articleTit = articleTitles;
var ChannelId = 37;
var articleId = "79084967";
var commentscount = 0;
var islock = false;
var curentUrl = "https://blog.csdn.net/handsomehong/article/details/79084967";
var myUrl = "https://my.csdn.net/";
//1禁止评论,2正常
var commentAuth = 2;
//百度搜索
var baiduKey = "rtmp协议规范详解 - HandsomeHong的博客";
var needInsertBaidu = true;
// 代码段样式
var codeStyle = '';
var highlight = ["rtmp","\u534f\u8bae\u89c4\u8303","\u8be6\u89e3"];//高亮数组
// 相关推荐博主数据
var RecommendBlogExpertList = [{"user_name":"zhuweigangzwg","nick_name":"zwg\u6d41\u6cea","avatar":"https:\/\/avatar.csdn.net\/F\/A\/4\/3_zhuweigangzwg.jpg","is_expert":true,"article_count":87,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"samdy2008","nick_name":"NoahDSun","avatar":"https:\/\/avatar.csdn.net\/0\/A\/5\/3_samdy2008.jpg","is_expert":false,"article_count":8,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"fengsh998","nick_name":"\u8fb9\u7f18998","avatar":"https:\/\/avatar.csdn.net\/0\/6\/8\/3_fengsh998.jpg","is_expert":true,"article_count":195,"rank":"2000+"},{"user_name":"weixin_34109408","nick_name":"weixin_34109408","avatar":"https:\/\/avatar.csdn.net\/6\/6\/7\/3_weixin_34109408.jpg","is_expert":false,"article_count":0,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"dxj467822057","nick_name":"DengSinkiang","avatar":"https:\/\/avatar.csdn.net\/D\/5\/9\/3_dxj467822057.jpg","is_expert":false,"article_count":50,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"molibaobei90","nick_name":"molibaobei90","avatar":"https:\/\/avatar.csdn.net\/7\/A\/9\/3_molibaobei90.jpg","is_expert":false,"article_count":33,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"u012618915","nick_name":"\u5218\u957f\u798f","avatar":"https:\/\/avatar.csdn.net\/6\/9\/A\/3_u012618915.jpg","is_expert":false,"article_count":23,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"wu5215080","nick_name":"\u601d\u5fc3","avatar":"https:\/\/avatar.csdn.net\/7\/1\/3\/3_wu5215080.jpg","is_expert":false,"article_count":59,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"laichanghe","nick_name":"\u98ce\u96e8\u65e0\u963b_\u8d56","avatar":"https:\/\/avatar.csdn.net\/B\/0\/8\/3_laichanghe.jpg","is_expert":false,"article_count":2,"rank":"\u5343\u91cc\u4e4b\u5916"},{"user_name":"leixiaohua1020","nick_name":"\u96f7\u9704\u9a85","avatar":"https:\/\/avatar.csdn.net\/A\/7\/6\/3_leixiaohua1020.jpg","is_expert":true,"article_count":558,"rank":"50"}];
var articleType = 1;
var CopyrightContent = '本文为博主原创文章,未经博主允许不得转载。';
</script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/sandalstrap.js"></script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/paging.js"></script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/goTop-v1.js"></script>
<script>
GoTop({
right: 8,
hasReport: true,
reportFun: function() {
showReport(false,articleTit);
}
})
</script><div class="meau-gotop-box" style="right: 8px; bottom: 40px; z-index: 110; left: 1137.85px;"><a href="https://mall.csdn.net/vip_code" id="adContent" class="btn-meau"> </a> <a href="#" id="backtop" class="btn-meau" title="返回顶部" style="display: none;"> <svg xmlns="http://www.w3.org/2000/svg" width="19" height="12"> <path d="M9.314 0l9.313 9.314-2.12 2.121-7.193-7.192-7.193 7.192L0 9.314z" fill="#FFF" fill-rule="evenodd"></path> </svg> </a> <a href="#" id="reportContent" class="btn-meau" title="举报"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="22"><path d="M0 13.028V3.365L9 0l9 3.365v9.663C18 17.983 13.97 22 9 22s-9-4.017-9-8.972zm2-8.282v8.282c0 3.854 3.134 6.978 7 6.978s7-3.124 7-6.978V4.746L9 2.13 2 4.746zm6 10.276h2v1.993H8v-1.993zm0-8.973h2v6.979H8V6.049z" fill="#FFF" fill-rule="nonzero"></path></svg> </a></div>
<div class="fourth_column">
<div class="title-box">
<b class="title">猿学习</b>
<span class="fourth_column_close">
<svg class="icon" aria-hidden="true">
<use xlink:href="#csdnc-times"></use>
</svg>
</span>
</div>
<ul class="">
<li><div id="kp_box_456" data-pid="456" data-track-click="{&quot;mod&quot;:&quot;kp_popu_456-802&quot;,&quot;con&quot;:&quot;,,&quot;}"><a href="https://edu.csdn.net/topic/python115?utm_source=blogright" target="_blank"> <div class="blogkp1"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/201901081438577084.png" width="100" height="100"><h6>程序员2019年学Python</h6></div></a></div></li> <li><div id="kp_box_457" data-pid="457" data-track-click="{&quot;mod&quot;:&quot;kp_popu_457-681&quot;,&quot;con&quot;:&quot;,,&quot;}"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/201901081453403307.jpg" width="100" height="100"></div></li> <li><div id="kp_box_458" data-pid="458" data-track-click="{&quot;mod&quot;:&quot;kp_popu_458-640&quot;,&quot;con&quot;:&quot;,,&quot;}"><a href="https://gitchat.csdn.net/column/5a7d1a13a7f22b3dffca7e49?utm_source=csdn100" target="_blank"><div class="blogkp3"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/201811091452349556.png" width="100" height="100"><h6>Python 爬虫和数据分析实战</h6><span style="position:absolute;right:0;bottom:0;background:url(https://img-ads.csdn.net/2016/201608021757063065.png) no-repeat;width:33px;height:18px;display:block;z-index: 9999;"></span></div></a></div></li> <li><div id="kp_box_459" data-pid="459" data-track-click="{&quot;mod&quot;:&quot;kp_popu_459-684&quot;,&quot;con&quot;:&quot;,,&quot;}"><img src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/201811231419286183.jpg" width="100" height="100"></div></li> </ul>
</div>
<script type="text/javascript">
$('.fourth_column_close').click(function(){
$('.fourth_column').remove();
})
</script>
<!-- 右侧第四栏end -->
<!-- 高亮未与 markdown兼容 -->
<link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/chart.css">
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/chart.js"></script>
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/widget2chart.js"></script>
<link rel="stylesheet" href="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/atom-one-light.css">
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/pc_wap_common-98040b5dc6.js"></script>
<script type="text/javascript">
$(function(){
var allEscRegex = /&(lt|gt|amp|quot|nbsp|shy|#\d{1,5});/g,
namedEntities = {
lt: '<',
gt: '>',
amp: '&',
quot: '"',
nbsp: '\u00a0',
shy: '\u00ad'
}
var allEscDecode = function( match, code ) {
return namedEntities[ code ];
};
htmlDecodeAttr = function( text ) {
return text.replace( allEscRegex, allEscDecode );
}
hljs.initHighlighting();
hljs.initCopyButtonOnLoad();
hljs.initLineNumbersOnLoad();
if($('pre .language-plain').length>0){
$('pre .language-plain').each(function(i,e){
var highlightRe = hljs.highlightAuto(htmlDecodeAttr(e.innerHTML))
e.innerHTML = highlightRe.value;
e.className = 'language-'+highlightRe.language;
});
}
})
</script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/a"></script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/common-eb024b1a9c.js"></script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/detail-001720469e.js"></script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/baidu-search.js" type="text/javascript"></script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/skin3-template-fc7383b956.js"></script>
<!-- <script type="text/javascript" src="//g.csdnimg.cn/check-adb/1.0.2/check-adb.js"></script> -->
<script type="text/javascript" src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/MathJax.js"></script>
<script type="text/x-mathjax-config;executed=true">
MathJax.Hub.Config({
"HTML-CSS": {
linebreaks: { automatic: true, width: "94%container" },
imageFont: null
},
tex2jax: {
preview: "none"
},
mml2jax: {
preview: 'none'
}
});
</script>
<script type="text/javascript">
window.baidu_blueword ={
di:'24004469_oem_dg',
id:['content_views'],// 需要飘蓝区域:id要求以数组或,分隔的字符串形式传入
blueclass:['baidu_pl'],// 需要飘蓝区域:class要求以数组或,分隔的字符串形式传入, 传入值会覆盖默认值
user:'',
isMobile:false,
title: document.title,
page_url: location.href,
ignore:'baidu-blue-word-no',// 需要忽略掉的区域1
frequency:1,// 词频1
maxword:3// 最大接受飘词个数
}
</script>
<script src="rtmp%E5%8D%8F%E8%AE%AE%E8%A7%84%E8%8C%83%E8%AF%A6%E8%A7%A3%20-%20HandsomeHong%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2_files/bword.js"></script>
<div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" id="focus_retriever" readonly="true"></div><div id="pointDivs"><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div></div><div class="report-box"> <div class="pos-box"> <h2 class="title">不良信息举报</h2> <a class="btn-close"> <svg class="icon" aria-hidden="true"> <use xlink:href="#csdnc-times"></use> </svg> </a> <form id="frmReport"> <div class="form-box"> <div class="txt-row-box"> <label class="title" id="reptTit">举报内容:</label> <p class="rpt-title text-truncate">rtmp协议规范详解 - HandsomeHong的博客</p> </div> <div class="txt-row-box"> <label class="title">举报原因:</label> <div class="rdo-box"> <label><input type="radio" class="rdo-chk report-type" id="report_sex" name="report_type" value="1">色情</label> <label><input type="radio" class="rdo-chk report-type" id="report_Politics" name="report_type" value="2">政治</label> <label><input type="radio" class="rdo-chk report-type" id="report_copy" name="report_type" value="3">抄袭</label> <label><input type="radio" class="rdo-chk report-type" id="report_ad" name="report_type" value="4">广告</label> <label><input type="radio" class="rdo-chk report-type" id="report_want" name="report_type" value="5">侵权</label> <label><input type="radio" class="rdo-chk report-type" id="report_call" name="report_type" value="6">骂人</label> <label><input type="radio" class="rdo-chk report-type" id="report_other" name="report_type" value="7">其他</label> </div> </div> <div class="txt-row-box" id="rptOriginalurl"> <label class="title">原文地址:</label> <div class="txt-box"> <input class="ipt" type="text" id="originalurl" name="originalurl"> </div> </div> <div class="txt-row-box"> <label class="title">原因补充:</label> <div class="txt-box"> <textarea class="ipt ipt-textarea" name="description" maxlength="30"></textarea> <p class="remark">最多只允许输入30个字</p> </div> </div> </div> <div class="opt-box text-right"> <input type="reset" class="btn btn-link-gray btn-close" value="取消"> <input type="submit" class="btn btn-red btn-submit" value="提交"> </div> </form> </div> </div><div class="imgViewDom disnone" style="display: none;"><img src=""></div><style>.imgViewDom{display:none;position:fixed;top:0;left:0;height:100%;width:100%;z-index:99999999;background: rgba(255, 255, 255,0.8);overflow: auto;display:-webkit-box;-webkit-box-align:center;-webkit-box-pack:center;display:-moz-box;-moz-box-align:center;-moz-box-pack:center;display:-o-box;-o-box-align:center;-o-box-pack:center;display:-ms-box;-ms-box-align:center;-ms-box-pack:center; display:box;box-align:center;box-pack:center;}.imgViewDom img{cursor: zoom-out;}</style><iframe class="bdSug_sd" style="display: none; position: absolute; border-width: 0px;"></iframe><div id="bdSug_1551753299883" class="bdSug_wpr" style="display: none;"></div></body><!-- 右侧第四栏 --></html>