text:
@CHARSET "UTF-8";

@import url(../css/base.css);
/*= Global style =*/

body{color:#555;font-family:Arial,"微软雅黑",\\\\\\\\5B8B\\\\\\\\4F53,sans-serif;background:#FFFDFA url(../img/main.png) repeat;}
a:link,a:visited{color:#555;text-decoration:none;}
a:hover{text-decoration:underline;}
a.highlight{color:#b4001a;}
#doc{font-size:12px;margin:0 auto;background: url(../img/top_background.png) repeat-x}
.col-sub,.col-extra{float:left;display:inline;}

.form .row .label{float:left;display:inline;}
.form .row .enter,.form .row span.tips,.form .row blockquote{float:left;}

a.btnwrap{text-decoration:none !important;}
.btnwrap{display:inline-block;height:26px;padding-right:4px;background:url(../img/buttons.png) no-repeat 100% -26px;overflow:hidden;margin-right:4px;_margin-right:8px;*margin-right:8px;*display:block;*float:left;}
.btnwrap .btn-inner{display:inline-block;height:26px;padding:0 6px 0 8px;background:url(../img/buttons.png) 0 0;border:none;line-height:26px;color:#555;text-decoration:none;}

.btn-highlight{background-position:100% -78px;}
.btn-highlight .btn-inner{background-position:0 -52px;color:#000;font-weight:bold;}

.btn-h30{height:30px;padding-right:5px;background:url(../img/buttons-h30.png) no-repeat 100% -30px;}
.btn-h30 .btn-inner{height:30px;padding:0 6px 0 9px;background:url(../img/buttons-h30.png) 0 0;font:117% "Microsoft Yahei";line-height:30px;color:#D12C00;}
.btn-h30:hover{background-position:100% -90px;}
.btn-h30:hover .btn-inner{background-position:0 -60px;}

.img-align-left{display:block;float:left;margin:0 10px 10px 0;}

@media screen and (-webkit-min-device-pixel-ratio:0) {
/* 针对 Google Chrome、Safari 3.0、Opera 9 的CSS样式 */
.btnwrap .btn-inner{margin-right:-3px;}
.btn-h30 .btn-inner{margin-right:0;}
}

/*= Header style =*/
#hd{width:1000px;margin:0 auto;}
#hd .sitename{;height:140px;  }
#hd .sitename a{overflow:hidden;display:table-cell;*display:block;*font-size:60px; }
#hd .sitename img{display:block; width:190px; height:101px; left:505px; top:20px; position:absolute;}

#hd .language{float:right; padding-top:20px}
#hd .language .language-inner{float:right;height:304on:underline;}

#hd .search{height:30px;overflow:hidden;clear:both;float:right; padding-top:20px}
#hd .search .enter,
#hd .search .btn{float:left;_display:inline;}
#hd .search .enter{width:215px;height:23px;padding:0px;margin:0px;line-height:24px;background: url(../img/searchl.png) no-repeat;color:#999;border:1px solid #d5d5d5;}
#hd .search .btn{width:55px;height:24px;border:none;background:url(../img/searchr.png) no-repeat;}

.sitenav {height:71px;}
.sitenav .menu-main li,.sitenav .menu-main a,.sitenav .menu-main li a span{float:left;}
.sitenav .menu-main li{position:relative;}
.sitenav .menu-main li.last-item{background:none;}
.sitenav .menu-main li a{display:block;height:71px;display:inline;line-height:71px;padding:0 35px;color:#fff;white-space:nowrap;text-decoration:none; font-size:14px}
.sitenav .menu-main li a span{}
.sitenav .menu-main li a:hover,
.sitenav .menu-main li a:active,
.sitenav .menu-main li.open a{background:url(../img/nav_on.png) no-repeat top center;}
.sitenav .menu-main li a:hover span,
.sitenav .menu-main li a:active span,
.sitenav .menu-main li.open a span{}

.sitenav .menu-main li .menu-child,
.sitenav .menu-main li .menu-child a{background:#b50114;}
.sitenav .menu-main li .menu-child{position:absolute;width:225px;top:43px;left:-1px;display:none;padding:3px 0;}
.sitenav .menu-main li .menu-child a{display:block;padding:0 24px 0 25px;float:none;font-weight:100;padding-bottom:0;font-size:107%;color:#fff;line-height:23px;height:23px;}
.sitenav .menu-main li .menu-child a:hover{color:#ae0113;background:#fff;text-decoration:none;}

#banner-main img{width:1000px;}

/*= Content & layout style =*/
.bd-inner{padding-top:10px;width:1000px;margin:0 auto;background:#f5f5f5;}

.layout-home .col-main{float:left;width:100%;min-height:1px;}
.layout-home .col-main .main-wrap{margin-left:730px;}
.layout-home .col-sub{width:725px;margin-left:-100%;background:white;overflow:hidden;box-shadow:0px 0px 8px #999;
    -moz-box-shadow: 0px 0px 8px #999;-web-kit-shadow: 0px 0px 8px #999;border-radius: 6px;
    -moz-border-radius: 6px;-web-kit-shadow:6px;}

.layout-innerpg .col-main{float:left;width:100%;min-height:1px;}
.layout-innerpg .col-main .main-wrap{margin-left:240px;background:white;overflow:hidden;box-shadow:0px 0px 8px #999;
    -moz-box-shadow: 0px 0px 8px #999;-web-kit-shadow: 0px 0px 8px #999;border-radius: 6px;
    -moz-border-radius: 6px;-web-kit-shadow:6px;}
.layout-innerpg .col-sub{width:235px;margin-left:-100%;}

.layout-innerpg .col-main .search-main{margin-right:0;margin-left:0;}
/*= Default block style =*/
.block,
.block-nohead{}
.first-block{margin-top:0;}
.last-block{margin-bottom:0;}
.block{ padding:15px;border-bottom:1px solid #e3e3e3; border-top:2px solid #f7f7f7;padding:32px;}
.block .block-head {overflow:hidden;}
.block .block-head .head-inner{}
.block .block-head .title{float:left;}
.block .block-head .links{float:right;}
.block .block-head .links a{margin-left:1em;}
block .block-head .links .more{display:block;width:50px;background:url(../img/more.gif) no-repeat 50% 50%;text-indent:-9999px;}
.block .block-content{padding:5px;}
.block .block-foot{display:none;}

.block .block-head{}
.block .block-head .head-inner{}
.block .block-head .title{}

/*= 风格 =*/
.layout-home .col-main .block .block-head{  }
.layout-home .col-main .block .block-head .head-inner{}
.layout-home .col-main .block .block-head .title{ color:#ff7300;font-size:16px;font-weight:normal;line-height:40px }
.layout-home .col-main .block .block-content{ }

.layout-home .col-sub .block .block-head{border-bottom:1px solid #c9c9c9;}
.layout-home .col-sub .block .block-head .head-inner{}
.layout-home .col-sub .block .block-head .title{color:#444444; font-size:18px; font-weight:normal; line-height:40px}
.layout-home .col-sub .block .block-content{ }

.layout-innerpg .col-sub .block .block-head{  }
.layout-innerpg .col-sub .block .block-head .head-inner{}
.layout-innerpg .col-sub .block .block-head .title{color:#ff7300;font-size:16px;font-weight:normal;line-height:40px}
.layout-innerpg .col-sub .block .block-content{ }

.layout-innerpg .col-main .block .block-head{border-bottom:1px solid #c9c9c9; }
.layout-innerpg .col-main .block .block-head .head-inner{}
.layout-innerpg .col-main .block .block-head .title{color:#444444; font-size:18px; font-weight:normal; line-height:40px}

/*= Text content =*/
.content-text{line-height:180%;}

/*= Multi-menu style =*/
.block .block-content ul.menu-list{}
.block .block-content ul.menu-list li{list-style:square;border-bottom:1px dashed #e4e4e4;margin-left:20px;padding:6px 0;}
.block .block-content ul.menu-list li.parent{background-image:url(../img/arrow-2.png);}
.block .block-content ul.menu-list li a{display:block;line-height:19px;}

/*= Simple list =*/
.block .block-content .item-list,
.menu-list-simple{}
.block .block-content .item-list li,
 .menu-list-simple li{list-style:square;border-bottom:1px dashed #e4e4e4;margin-left:20px;padding:6px 0;}
.block .block-content .item-list li .date{margin-left:1em;font-size:77%;color:#7f7f7f;}
.block .block-content .item-list li .catalog,
.list-table .title .catalog{margin-right:0.7em;}
.block .block-content .item-list li .catalog a,
.list-table .title .catalog a{color:#999;}

/*= Simple menu style =*/
.layout-innerpg .col-sub .block-menu-simple .block-content{}
.layout-innerpg .col-sub .block-menu-simple .block-content ul.menu-list-simple li{line-height:21px;border-bottom:1px solid #ebebeb;background:none;padding:0;}
.layout-innerpg .col-sub .block-menu-simple .block-content ul.menu-list-simple li.last-item{}
.layout-innerpg .col-sub .block-menu-simple .block-content ul.menu-list-simple li a{display:block;line-height:21px;text-decoration:none;color:#343434;background:url(../img/arrow.png) no-repeat 10px 8px;padding-left:20px;}
.layout-innerpg .col-sub .block-menu-simple .block-content ul.menu-list-simple li a span{}
.layout-innerpg .col-sub .block-menu-simple .block-content ul.menu-list-simple li a:hover,
.layout-innerpg .col-sub .block-menu-simple .block-content ul.menu-list-simple li a:active{font-weight:bold;}
.layout-innerpg .col-sub .block-menu-simple .block-content ul.menu-list-simple li a:hover span,
.layout-innerpg .col-sub .block-menu-simple .block-content ul.menu-list-simple li a:active span{}

/*= Gallery list =*/
.list-gallery{padding-left:3px;margin-right:-15px;}
.list-gallery li{float:left;width:120px;padding-right:15px;}
.list-gallery li .thumb{width:120px;height:90px;}
.list-gallery li .thumb a{width:120px;height:90px;overflow:hidden;display:block;}
.list-gallery li .thumb a img{width:120px;display:block;}
.list-gallery li .des{padding-top:7px;line-height:21px;text-align:center;}
.list-gallery li .des p{overflow:hidden;}
.list-gallery li .des .default{height:21px;}
.list-gallery li .des .catalog a{color:#f00;}

.col-sub .list-gallery{padding-left:0;margin-right:-20px;}
.col-sub .list-gallery li{padding-right:20px;}

/*= Mixed list =*/
.list-mixed{padding:0;}
.list-mixed .entry{border-bottom:#ccc 1px dashed;padding:10px 0 10px 160px;}
.list-mixed .entry .thumb{margin-left:-160px;margin-top:3px;float:left;display:inline;}
.list-mixed .entry h3{font:133% "Microsoft Yahei";padding:0 0 8px; border-bottom:1px dashed #d6d6d6;}
.list-mixed .entry h3 a{color:#5c5c5c;}
.list-mixed .entry .des{line-height:180%;color:#999;padding-bottom:1.2em;}
.list-mixed .entry .detail{padding-top:0.7em;border-top:#dedede 1px dashed;}
.list-mixed .entry .detail .item{display:inline-block;margin-right:16px;*margin-right:20px;_margin-right:20px;}

.list-mixed .entry .thumb{width:140px;height:105px;}
.list-mixed .entry .thumb a{width:140px;height:105px;overflow:hidden;display:block;}
.list-mixed .entry .thumb a img{width:140px;display:block;}

/*= Table list =*/
.list-table{}
.list-table .data{width:100%;}
.list-table th,.list-table td{text-align:center;}
.list-table th{border-bottom:#2F8222 1px dashed;height:30px;font-weight:100;color:#8AACA7;}
.list-table td{color:#999;padding:7px 0 6px;line-height:180%;border-bottom:#ccc 1px dashed;}
.list-table .title{text-align:left;}
.list-table td.title{padding-left:18px;background:url(../img/arrow.png) no-repeat 5px 16px;}

/*= Contact block =*/
.block-contact .block-content{line-height:26px;}

/*= Vote block =*/
.form-vote{padding:0;}
.form-vote .vote-des{line-height:180%;}
.form-vote .vote-options{padding:5px 0;}
.form-vote .vote-options li{padding:4px 0 3px;}
.form-vote .vote-options .input{float:left;padding-top:3px;margin-right:6px;}
.form-vote .vote-options .des{float:left;}

/*= Links =*/
.link-list{}
.link-list li{padding:4px 0 3px; float:left; width:100px}
.link-list li img{display:block;width:88px;}

/*= Login & user information =*/
.block-widget-user .form-login .label{width:86px;margin-left:0;text-align:right;line-height:30px;}
.block-widget-user .form-login .enter{padding:4px 0 0 1px;}
.block-widget-user .form-login .enter input{border:#ccc 1px solid;width:120px;padding:3px 2px 2px;}
.block-widget-user .form-login .enter input:focus{border-color:#999;}
.block-widget-user .form-login .buttons{padding:7px 0 5px 86px;;}

.block-widget-user .userinfo{}
.block-widget-user .userinfo .welcome{line-height:180%;}
.block-widget-user .userinfo .links{padding-top:10px;line-height:140%;}
.block-widget-user .userinfo .links a{display:inline-block;padding-right:12px;border-right:#ccc 1px solid;margin-right:8px;color:#b4001a;}
.block-widget-user .userinfo .links a.last{padding:0;margin:0;border:none;}

/*= Footer =*/
#ft{text-align:center;padding:15px 0;border-top:1px solid #ddd; margin-top:30px}
#ft .siteinfo{line-height:150%;padding:5px;}
#ft .ft-menu{height:20px;line-height:20px;padding:0;}
#ft .ft-menu a{margin:0 5px;}

/*= Innerpage =*/

/*= Form style =*/
.layout-innerpg .col-main .form{padding:10px 0;}
.layout-innerpg .col-main .form .row .label{line-height:21px;padding-top:2px;padding-bottom:2px;text-align:right;}
.layout-innerpg .col-main .form .row .content{float:left;padding:2px 3em 2px 0;line-height:21px;}
.layout-innerpg .col-main .form .row .enter{padding:0 1em 0 0;}
.layout-innerpg .col-main .form input.text,
.layout-innerpg .col-main .form select,
.layout-innerpg .col-main .form textarea{border:#ddd 1px solid;}
.layout-innerpg .col-main .form input.text:focus,
.layout-innerpg .col-main .form select:focus,
.layout-innerpg .col-main .form textarea:focus{border-color:#999;}
.layout-innerpg .col-main .form .row .enter .check{float:left;margin-right:12px;}
.layout-innerpg .col-main .form .row .enter .check .input{float:left;padding-top:5px;margin-right:6px;}
.layout-innerpg .col-main .form .row .enter .check .des{float:left;line-height:21px;padding-top:2px;padding-bottom:2px;}

.layout-innerpg .col-main .form .row .label .required{margin-right:0.3em;font-weight:bold;color:#f00;}
.layout-innerpg .col-main .form .row .tips{padding:2px 0;line-height:21px;color:#999;white-space:nowrap;}
.layout-innerpg .col-main .form .row p.tips{clear:both;padding:0 7px 5px;}

.layout-innerpg .col-main .form .row{padding:5px 0 5px 106px;}
.layout-innerpg .col-main .form .row .label{width:100px;margin-left:-106px;padding-right:6px;}
.layout-innerpg .col-main .form .row .buttons{padding:10px 0;}

.layout-innerpg .col-main .form blockquote{height:23px;padding:0 6px 0 27px;border:#F7ECAA 1px solid;line-height:23px;background:#FDFFD7 url(../../common/img/icon/icon-16.png) no-repeat 5px -117px;white-space:nowrap;}
.layout-innerpg .col-main .form blockquote.error{border-color:#FFBFBF;background-color:#FFEAEA;background-position:5px -147px;}
.layout-innerpg .col-main .form blockquote.accepted{border-color:#fff;background-color:#fff;background-position:5px -177px;color:#999;}
.layout-innerpg .col-main .form blockquote.loading{border-color:#fff;background:#fff url(../../common/img/icon/loading.gif) no-repeat 5px center;color:#DA6100;}

.layout-innerpg .col-main .form .row-submit blockquote{background-color:transparent;border:none;clear:both;margin:-5px 0 10px;}

.layout-innerpg .col-main .form .row .img-captcha{float:left;margin:2px 8px 0 -6px;display:inline;cursor:pointer;}

/*= Pagenation =*/
.pager{padding:10px 0 20px;}
.pager .list{text-align:center;}
.pager .list a,
.pager .list span{display:inline-block;height:24px;background-image:url(../img/pager.png);background-repeat:no-repeat;text-decoration:none;}
.pager .list a span,
.pager .list span span{line-height:24px;padding:0 0.7em;}

.pager .list .pager-item{margin-right:2px;_margin-right:6px;*margin-right:6px;background-position:100% -24px;}
.pager .list .pager-item span{background-position:0 0;}
.pager .list .pager-item:hover{background-position:100% -72px;color:#000;}
.pager .list .pager-item:hover span{background-position:0 -48px;}

.pager .list .pager-nolink{margin-right:2px;_margin-right:6px;*margin-right:6px;background-position:100% -120px;}
.pager .list .pager-nolink span{background-position:0 -96px;color:#ccc;}
.pager .list .pager-current{margin-right:2px;_margin-right:6px;*margin-right:6px;background-position:100% -168px;}
.pager .list .pager-current span{background-position:0 -144px;color:#fff;}

/*= Register =*/
.layout-innerpg .col-main .form-reg{padding:38px 10px 40px;}

/*= Comments =*/
.layout-innerpg .col-main .form-comment{padding:0 10px;}

.commentslist{padding:0 20px;}
.commentslist a{color:#f00;}
.layout-innerpg .col-main .commentslist .form blockquote{background-color:transparent;border:none;margin-top:10px;}
.commentslist .entry{margin-bottom:10px;padding:0 10px;background:#FFFCF5;border:#F3E6C6 1px solid;}
.commentslist .entry-head{line-height:30px;padding:2px 6px 0;border-bottom:#F9F0DB 1px solid;}
.commentslist .entry-head .author{float:left;color:#333;}
.commentslist .entry-head .meta{text-align:right;display:block;}
.commentslist .entry-head .meta .location{margin-right:1em;}
.commentslist .entry-content{padding:15px;line-height:180%;}
.commentslist .entry-body .operate{padding:15px 10px 10px;text-align:right;}
.commentslist .entry-body .operate a{margin:0 0.7em;}
.commentslist .comment-reply{margin:0 20px 10px;}
.commentslist .comment-reply .reply-show{padding:6px 15px 10px;background:#fff;border:#F3E6C6 1px solid;}
.commentslist .reply-show .reply-head{line-height:25px;}
.commentslist .reply-show .reply-author{float:left;color:#f60;}
.commentslist .reply-show .reply-operate{float:right;}
.commentslist .reply-show .reply-operate a{margin:0 0.7em;}
.layout-innerpg .col-main .commentslist .comment-reply .form textarea{border-color:#ECD7A6;}
.layout-innerpg .col-main .commentslist .comment-reply .form textarea:focus{border-color:#f60;}
.commentslist .comment-reply .form .buttons{padding-top:10px;}
.commentslist .comment-reply .form .buttons input{height:24px;padding:0 5px;margin-right:0.3em;background:#fff;border:#D2D0D7 1px solid;color:#999;cursor:pointer;}
.commentslist .comment-reply .form .buttons .submit{color:#fff;background:#597797;border-color:#000;font-weight:bold;}

.commentslist .entry-new{border-color:#f60;border-style:dashed;}

/*= Article view =*/
.layout-innerpg .col-main .block-article-view .block-content{}
.block-article-view .article-head{ text-align:center}
.block-article-view .article-head .title{color:#000;font:150% "Microsoft Yahei";padding:25px 20px 15px;font-weight:bold;}
.block-article-view .article-head .meta{padding:0 20px 8px;border-bottom:#ccc 1px dashed;}
.block-article-view .article-head .meta .item{margin-right:0.7em;}
.block-article-view .article-summary{padding:20px 40px 30px;color:#999;line-height:180%;}
.block-article-view .article-content{font-size:117%;line-height:200%;padding:0 25px 25px;}
.block-article-view .article-content p{padding-bottom:0.8em;}

.block-article-view .article-content .caption-image{padding:5px;border:#ddd 1px solid;line-height:18px;background:#f1f1f1;margin-bottom:1em;}
.block-article-view .article-content .caption-image img{display:block;}
.block-article-view .article-content .caption-image span{display:block;color:#888;text-align:center;font-size:88%;padding-top:5px;}
.block-article-view .article-content .caption-aligncenter{margin-left:auto;margin-right:auto;}
.block-article-view .article-content .caption-alignleft{float:left;margin:6px 20px 6px 0;}
.block-article-view .article-content .caption-alignright{float:right;margin:6px 0 6px 20px;}

.block-article-view .article-content a{color:#2D78C4;}

.block-article-view .article-foot{text-align:right;padding:0 20px 10px;color:#999;}
.block-article-view .article-foot .item{margin-left:1em;}

/*= Gallery slide =*/
.layout-innerpg .col-main .block-products-detail .block-content,
.layout-innerpg .col-main .block-download-detail .block-content{}
.layout-show-withpic{}
.layout-show-withpic .col-main .main-wrap{margin:0 0 0 310px;background:none;padding:0;}
.layout-show-withpic .col-sub{width:281px;margin-left:-100%;background:none;padding:0;}

#slide-showpic a.picholder{padding:1px;height:202px;overflow:hidden;border:3px solid #aaa;text-align:center;display:table-cell;width:273px;vertical-align:middle;+display:block;+font-size:176px;}
#slide-showpic a.picholder img{margin-left:auto;margin-right:auto;vertical-align:middle;max-width:273px;max-height:202px; width:100%; width:auto;}

#showpic-gallery{height:62px;margin:2px 0 0;overflow:hidden;}
#showpic-gallery a.button{display:block;width:20px;height:54px;background:#fff url(../../common/img/slider.png) no-repeat;float:left;margin:6px 3px 0 0;text-indent:-10000px;}
#showpic-gallery a.prev{background-position:-58px 0;}
#showpic-gallery a.next{background-position:-78px 0;margin-right:0;}
#showpic-gallery .box{width:235px;height:62px;overflow:hidden;float:left;margin:0 3px 0 0;position:relative;}
#showpic-gallery .box ul{width:600px;position:absolute;top:0;left:0;}
#showpic-gallery .box ul li{width:54px;margin:6px 5px 0 0;float:left;border:0;padding:0;}
#showpic-gallery .box ul li a{display:block;width:48px;height:48px;padding:2px;border:#ccc 1px solid;overflow:hidden;}
#showpic-gallery .box ul li a img{display:block;width:48px;}
#showpic-gallery .box ul li.selected{width:58px;margin:0 5px 0 0;background:url(../../common/img/slider.png) no-repeat 0 0;}
#showpic-gallery .box ul li.selected a{padding:9px 5px 5px;border:none;}

.layout-show-withpic .info h1{color:#d00000;font:133% "Microsoft Yahei";padding:8px 0;}
.layout-show-withpic .info .details dl{border-bottom:#bbb 1px dashed;padding:4px 0 3px 75px;line-height:25px;}
.layout-show-withpic .info .details dl dt{width:80px;margin-left:-75px;float:left;display:inline;padding-left:10px;}
.layout-show-withpic .info .details dl dd{padding:0 5px;color:#999;}
.layout-show-withpic .info .details dl.price{line-height:35px;}
.layout-show-withpic .info .details .marketprice{font-size:105;text-decoration:line-through;color:#555;}

/*= Products detail =*/
.layout-show-withpic .info .btn-buy{margin-top:10px;}
.pro-param-list{padding:0;}
.pro-param-list li{width:190px;height:26px;padding:0 5px 0 0;line-height:26px;float:left;overflow:hidden;}

/*= Offer view =*/
.block-offer-detail .detail-head{border-bottom:#ccc 1px dashed;padding:10px 0;}
.block-offer-detail .detail-head .title{color:#999;float:left;}
.block-offer-detail .detail-head .date{float:right;color:#999;}
.block-offer-detail .block-content .title span{color:#000;font:133% "Microsoft Yahei";}
.block-offer-detail .detail-list{padding:15px 0 10px;width:330px;float:left;}
.block-offer-detail .detail-list .item{padding:5px 0 4px;line-height:180%;}
.block-offer-detail .detail-list .btn-resume{margin:15px 0 0;}

/*= Download =*/
.download-url-list{padding:0 0 20px;}
.download-url-list li{padding:4px;line-height:27px;color:#999;}
.download-url-list .filename{margin-right:1em;}
.download-url-list .size{margin-right:1em;}
.download-url-list .btn-download{display:inline-block;padding-left:29px;width:58px;height:27px;background:url(../img/button-simple.png) no-repeat 0 0;color:#555;}

/*= Order list =*/
.block-order-list table.data .pro{text-align:left;}

/*= Vote =*/
.vote-view-content{padding:0;}
.vote-view-content .info{padding:0 11px 10px 13px;line-height:28px;color:#000;}
.vote-view-content .info .time{float:right;}
.vote-view-content .results .bar{height:30px;background:#eee;line-height:30px;overflow:hidden;}
.vote-view-content .results .list li{height:34px;border-bottom:#ccc 1px solid;line-height:34px;overflow:hidden;_margin:0 0 -3px;}
.vote-view-content .results p{float:left;color:#666;height:34px;overflow:hidden;}
.vote-view-content .results p.num{width:52px;text-align:center;}
.vote-view-content .results p.option{width:270px;padding:0 4px;}
.vote-view-content .results .list p.option{color:#d00;font-size:14px;line-height:34px;}
.vote-view-content .results p.percent{width:205px;padding:0 4px;}
.vote-view-content .results .list p.percent{font-size:10px;line-height:34px;}
.vote-view-content .results p.votes{width:90px;text-align:center;float:right;}
.vote-view-content .results .list p.votes{color:#000;}
.percent-bar{position:relative;display:block;width:154px;height:13px;margin:10px 6px 0 0;float:left;background:#E2E2E2 url(../img/stat-bar-grey.png);overflow:hidden;}
.percent-bar .orange{display:block;height:13px;background:#FD8E47 url(../img/stat-bar-orange.png);}

/*= Operata tip =*/
.operatetip{width:350px;padding:0 27px 125px;margin:94px auto 0;background-repeat:no-repeat;background-position:0 0;}
.operatetip .title{font-size:133%;line-height:23px;font-weight:bold;}
.operatetip .info{line-height:200%;margin:1em 0 0;}
.operatetip .buttons{margin:23px 2px 0;}
.operatetip-success{background-image:url(../../common/img/info_success.gif);}
.operatetip-success .title{color:#35a200;}
.operatetip-error{background-image:url(../../common/img/info_error.gif);}
.operatetip-error .title{color:#c1200e;}
.operatetip .direct{margin:11px 6px 0;color:#999;}


text:
{-
This module contains definitions for HaCoTeB types: AST nodes and other
intermediate data structures
-}

module HaCoTeB.Types where

newtype AST = AST [Section] deriving (Eq, Show, Read)

data Section
  = TextSection Content
  | CodeSection Content
  | DecoratedSection [Decoration] Content
  deriving (Eq, Show, Read)

data Decoration
  = Alignment Align
  | ColorDec String
  | PreformattedDec
  | Heading Int
  deriving (Eq, Show, Read)

data Align
  = Center
  | Full
  | RightAllign
  | LeftAllign
  deriving (Eq, Show, Read)

data Content
  = SimpleContent String
  | FormattedContent [Format] String
  | MixedContent [Content]
  deriving (Eq, Show, Read)

data Format
  = Bold
  | Italic
  | Underline
  | Strikeout
  | Preformatted
  | Color String
  deriving (Eq, Show, Read)

redpajama_set_name: RedPajamaGithub


text:
from setuptools import setup, find_packages

setup(
    name='flaskapp',
    version="1.0",
    packages=find_packages(),
    include_package_data=False,
    install_requires=[
        "flask",
        "mongoengine",
        "flask-mongoengine",
        "requests",
        "setuptools",
        'marshmallow',
        'flask-cors',
        'elasticsearch',
        'pytest',
        'pytest-ordering'
    ],
)


text:
package org.test.temp.log;

import org.apache.log4j.Logger;

public class Log4jStaticTester {

    private static final Logger LOG = Logger.getLogger(JBossStaticTester.class);

    public void doWork() {
        LOG.trace("LOG4J : Work 1");
        LOG.debug("LOG4J : Work 2");
        LOG.info("LOG4J : Work 3");
        LOG.warn("LOG4J : Work 4");
        LOG.error("LOG4J : Work 5");
        LOG.fatal("LOG4J : Work 6");
    }

}


text:
NormalBlock::NormalBlock(u16 colour) : BlockBase(colour) {
}

NormalBlock::~NormalBlock() {
}

void NormalBlock::connect(const BlockBase* top, const BlockBase* right, const BlockBase* bottom, const BlockBase* left) {
	setConnections(top != NULL && top->getColour() == _colour && top->getState() == BlockBase::BLOCK_STATE_NORMAL,
				   right != NULL && right->getColour() == _colour && right->getState() == BlockBase::BLOCK_STATE_NORMAL,
				   bottom != NULL && bottom->getColour() == _colour && bottom->getState() == BlockBase::BLOCK_STATE_NORMAL,
				   left != NULL && left->getColour() == _colour && left->getState() == BlockBase::BLOCK_STATE_NORMAL);
}


text:
<!DOCTYPE html>

		<title><?php echo htmlspecialchars( $title ) ?></title>
		<link rel="stylesheet" href="style.css" />

WordPress API Discovery

			<form action="" method="GET">

						Address to start discovery:
						<input type="url" name="uri" class="uri-input"
							value="<?php echo htmlspecialchars( $uri ) ?>" />

						<input type="checkbox" name="legacy"
							<?php if ( $legacy ) echo 'checked' ?> />
						Check for legacy (v2 plugin, pre-WP 4.4) API?

			</form>
			<?php echo $content ?>


text:
from __future__ import unicode_literals

from django.db import models, migrations

class Migration(migrations.Migration):

    dependencies = [
        ('app', '0002_auto_20141003_0318'),
    ]

    operations = [
        migrations.CreateModel(
            name='PlaylistItem',
            fields=[
                ('id', models.CharField(max_length=20, serialize=False, primary_key=True)),
                ('title', models.CharField(max_length=300)),
                ('reporter', models.ForeignKey(to='app.Playlist')),
            ],
            options={
            },
            bases=(models.Model,),
        ),
    ]


text:
@import url(http://fonts.googleapis.com/css?family=Inconsolata);
/**
 * Sjeiti theme
 *
 * Theme for testing line numbering
 *
 * @author Ron Valstar <ron@sjeiti.com>
 * @version 1.0
 */
pre {
  position: relative;
  padding: 15px;
  background: #222;
  z-index: -2;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  margin-bottom: 20px;
  font: 12px / 15px Inconsolata, courier, monospace;
}
pre code.rainbow {
  display: block;
  min-width: 100%;
  position: static;
  color: #fff;
  word-wrap: break-word;
}
pre code.rainbow .line {
  color: #666;
}
pre code.rainbow .line:after {
  border-bottom: 1px solid #333;
  z-index: -1;
}
pre code.rainbow.rb1 {
  display: inline;
}
pre code.rainbow.rb2 .line {
  color: #999;
}
pre code.rainbow.rb2 .line:after {
  border-bottom: none;
}
pre code.rainbow #rb2ln6:before,
pre code.rainbow #rb2ln7:before,
pre code.rainbow #rb2ln8:before {
  color: yellow;
}
pre code.rainbow #rb2ln6:after,
pre code.rainbow #rb2ln7:after,
pre code.rainbow #rb2ln8:after {
  height: 100%;
  background-color: rgba(255, 255, 0, 0.1);
}
pre code.rainbow #rb4ln1233:before {
  background-color: yellow;
}
pre code.rainbow #rb4ln1233:after {
  height: 100%;
  background-color: rgba(255, 255, 0, 0.1);
  border-bottom: 1px solid rgba(255, 255, 0, 0.5);
}
pre code.rainbow .comment {
  color: #FC2;
}
pre code.rainbow .string,
pre code.rainbow .comment.docstring {
  color: #9C6;
}
pre code.rainbow .keyword,
pre code.rainbow .selector {
  color: #89A;
}
pre code.rainbow .inherited-class {
  font-style: italic;
}
pre code.rainbow .entity {
  color: #A98;
}
pre code.rainbow .function.name {
  color: #97B;
}
pre code.rainbow .numeric {
  color: #38C;
}
pre code.rainbow .property {
  color: #9A8;
}
pre code.rainbow .operator {
  color: #C83;
}


text:
<?php

/*if ($_SERVER['REMOTE_ADDR'] == '216.207.245.1')
{
*/
	$url='http://'.$_SERVER['HTTP_HOST'].'/menu.php';
	header('Location: '.$url);
	echo 'Click Here';
	return;
/*}*/

unset($_SERVER['PHP_AUTH_PW']);
mail('scott@griepentrog.com','CAFE ACCESS DENIED '.$_SERVER['REMOTE_ADDR'].' '.gethostbyaddr($_SERVER['REMOTE_ADDR']),print_r($_SERVER,true));

die('
Access to CAFE application is restricted to Digium network.
');


text:
package ru.yandex.money.android.test;

import android.content.Context;
import android.text.TextUtils;

import com.yandex.money.api.model.CardBrand;
import com.yandex.money.api.model.ExternalCard;
import com.yandex.money.api.util.Enums;

import ru.yandex.money.android.Prefs;
import ru.yandex.money.android.database.DatabaseStorage;
import ru.yandex.money.android.test.properties.LocalProperties;

/**
 * @author Slava Yasevich (vyasevich@yamoney.ru)
 */
final class AppData {

    private AppData() {
    }

    static void clean(Context context) {
        checkContext(context);

        Prefs prefs = new Prefs(context);
        prefs.storeInstanceId("");

        DatabaseStorage storage = new DatabaseStorage(context);
        for (ExternalCard card : storage.selectExternalCards()) {
            storage.deleteExternalCard(card);
        }
    }

    static void addSavedCard(Context context, String instanceId, LocalProperties.Card card) {
        checkContext(context);
        if (TextUtils.isEmpty(instanceId)) {
            throw new IllegalArgumentException("instanceId is null or empty");
        }
        if (card == null) {
            throw new NullPointerException("card is null");
        }

        Prefs prefs = new Prefs(context);
        prefs.storeInstanceId(instanceId);

        DatabaseStorage storage = new DatabaseStorage(context);
        storage.insertExternalCard(new ExternalCard.Builder()
                .setFundingSourceType("payment-card")
                .setMoneySourceToken(card.token)
                .setPanFragment(card.number)
                .setType(Enums.parse(CardBrand.VISA, CardBrand.UNKNOWN, card.type))
                .create());
    }

    private static void checkContext(Context context) {
        if (context == null) {
            throw new NullPointerException("context is null");
        }
    }
}


text:
package java_integration.fixtures;

public class PublicConstructor {
  public PublicConstructor() {
  }
}


text: google-site-verification: googlec47d7e9b2ca65215.html


text:
    #if XMP_DebugBuild
        #pragma warning ( push, 4 )
    #else
        #pragma warning ( push, 3 )
    #endif
    #pragma warning ( disable : 4702 ) // unreachable code
    #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning)
#endif

#if defined ( TXMP_STRING_TYPE )

    #include "TXMPMeta.hpp"
    #include "TXMPIterator.hpp"
    #include "TXMPUtils.hpp"
    typedef class TXMPMeta <TXMP_STRING_TYPE>     SXMPMeta;       // For client convenience.
    typedef class TXMPIterator <TXMP_STRING_TYPE> SXMPIterator;
    typedef class TXMPUtils <TXMP_STRING_TYPE>    SXMPUtils;
    #if TXMP_EXPAND_INLINE
    	#error "TXMP_EXPAND_INLINE is not working at present. Please don't use it."
        #include "client-glue/TXMPMeta.incl_cpp"
        #include "client-glue/TXMPIterator.incl_cpp"
        #include "client-glue/TXMPUtils.incl_cpp"
        #include "client-glue/TXMPFiles.incl_cpp"
    #endif

	#if XMP_INCLUDE_XMPFILES
		#include "TXMPFiles.hpp"	// ! Needs typedef for SXMPMeta.
		typedef class TXMPFiles <TXMP_STRING_TYPE>    SXMPFiles;
		#if TXMP_EXPAND_INLINE
			#include "client-glue/TXMPFiles.incl_cpp"
		#endif
	#endif

#endif  // TXMP_STRING_TYPE

#if XMP_WinBuild
    #pragma warning ( pop )
#endif

// =================================================================================================

#endif  // __XMP_hpp__


text:
* TOC
{:toc}

# The Kubernetes model for connecting containers

Now that you have a continuously running, replicated application you can expose it on a network. Before discussing the Kubernetes approach to networking, it is worthwhile to contrast it with the "normal" way networking works with Docker.

By default, Docker uses host-private networking, so containers can talk to other containers only if they are on the same machine. In order for Docker containers to communicate across nodes, they must be allocated ports on the machine's own IP address, which are then forwarded or proxied to the containers. This obviously means that containers must either coordinate which ports they use very carefully or else be allocated ports dynamically.

Coordinating ports across multiple developers is very difficult to do at scale and exposes users to cluster-level issues outside of their control. Kubernetes assumes that pods can communicate with other pods, regardless of which host they land on. We give every pod its own cluster-private-IP address so you do not need to explicitly create links between pods or mapping container ports to host ports. This means that containers within a Pod can all reach each other's ports on localhost, and all pods in a cluster can see each other without NAT. The rest of this document will elaborate on how you can run reliable services on such a networking model.

This guide uses a simple nginx server to demonstrate proof of concept. The same principles are embodied in a more complete [Jenkins CI application](http://blog.kubernetes.io/2015/07/strong-simple-ssl-for-kubernetes.html).

## Exposing pods to the cluster

We did this in a previous example, but lets do it once again and focus on the networking perspective. Create an nginx pod, and note that it has a container port specification:

{% include code.html language="yaml" file="run-my-nginx.yaml" ghlink="/docs/user-guide/run-my-nginx.yaml" %}

This makes it accessible from any node in your cluster. Check the nodes the pod is running on:

```shell
$ kubectl create -f ./run-my-nginx.yaml
$ kubectl get pods -l run=my-nginx -o wide
NAME                        READY     STATUS    RESTARTS   AGE       NODE
my-nginx-3800858182-jr4a2   1/1       Running   0          13s       kubernetes-minion-905m
my-nginx-3800858182-kna2y   1/1       Running   0          13s       kubernetes-minion-ljyd
```

Check your pods' IPs:

```shell
$ kubectl get pods -l run=my-nginx -o yaml | grep podIP
    podIP: 10.244.3.4
    podIP: 10.244.2.5
```

You should be able to ssh into any node in your cluster and curl both IPs. Note that the containers are *not* using port 80 on the node, nor are there any special NAT rules to route traffic to the pod. This means you can run multiple nginx pods on the same node all using the same containerPort and access them from any other pod or node in your cluster using IP. Like Docker, ports can still be published to the host node's interface(s), but the need for this is radically diminished because of the networking model.

You can read more about [how we achieve this](/docs/admin/networking/#how-to-achieve-this) if you're curious.

## Creating a Service

So we have pods running nginx in a flat, cluster wide, address space. In theory, you could talk to these pods directly, but what happens when a node dies? The pods die with it, and the Deployment will create new ones, with different IPs. This is the problem a Service solves.

A Kubernetes Service is an abstraction which defines a logical set of Pods running somewhere in your cluster, that all provide the same functionality. When created, each Service is assigned a unique IP address (also called clusterIP). This address is tied to the lifespan of the Service, and will not change while the Service is alive. Pods can be configured to talk to the Service, and know that communication to the Service will be automatically load-balanced out to some pod that is a member of the Service.

You can create a Service for your 2 nginx replicas with `kubectl expose`:

```shell
$ kubectl expose deployment/my-nginx
service "my-nginx" exposed
```

This is equivalent to `kubectl create -f` the following yaml:

{% include code.html language="yaml" file="nginx-svc.yaml" ghlink="/docs/user-guide/nginx-svc.yaml" %}

This specification will create a Service which targets TCP port 80 on any Pod with the `app=nginx` label, and expose it on an abstracted Service port (`targetPort`: is the port the container accepts traffic on, `port`: is the abstracted Service port, which can be any port other pods use to access the Service). View [service API object](/docs/api-reference/v1/definitions/#_v1_service) to see the list of supported fields in service definition.
Check your Service:

```shell
$ kubectl get svc my-nginx
NAME       CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
my-nginx   10.0.162.149   <none>        80/TCP    21s
```

As mentioned previously, a Service is backed by a group of pods. These pods are exposed through `endpoints`. The Service's selector will be evaluated continuously and the results will be POSTed to an Endpoints object also named `my-nginx`. When a pod dies, it is automatically removed from the endpoints, and new pods matching the Service's selector will automatically get added to the endpoints. Check the endpoints, and note that the IPs are the same as the pods created in the first step:

```shell
$ kubectl describe svc my-nginx
Name:			my-nginx
Namespace:		default
Labels:			run=my-nginx
Selector:		run=my-nginx
Type:			ClusterIP
IP:			10.0.162.149
Port:			<unset>	80/TCP
Endpoints:		10.244.2.5:80,10.244.3.4:80
Session Affinity:	None
No events.

$ kubectl get ep my-nginx
NAME       ENDPOINTS                     AGE
my-nginx   10.244.2.5:80,10.244.3.4:80   1m
```

You should now be able to curl the nginx Service on `<CLUSTER-IP>:<PORT>` from any node in your cluster. Note that the Service IP is completely virtual, it never hits the wire, if you're curious about how this works you can read more about the [service proxy](/docs/user-guide/services/#virtual-ips-and-service-proxies).

## Accessing the Service

Kubernetes supports 2 primary modes of finding a Service - environment variables and DNS. The former works out of the box while the latter requires the [kube-dns cluster addon](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/dns/README.md).

### Environment Variables

When a Pod is run on a Node, the kubelet adds a set of environment variables for each active Service. This introduces an ordering problem. To see why, inspect the environment of your running nginx pods (your pod name will be different):

```shell
$ kubectl exec my-nginx-3800858182-jr4a2 -- printenv | grep SERVICE
KUBERNETES_SERVICE_HOST=10.0.0.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
```

Note there's no mention of your Service. This is because you created the replicas before the Service. Another disadvantage of doing this is that the scheduler might put both pods on the same machine, which will take your entire Service down if it dies. We can do this the right way by killing the 2 pods and waiting for the Deployment to recreate them. This time around the Service exists *before* the replicas. This will given you scheduler level Service spreading of your pods (provided all your nodes have equal capacity), as well as the right environment variables:

```shell
$ kubectl scale deployment my-nginx --replicas=0; kubectl scale deployment my-nginx --replicas=2;

$ kubectl get pods -l run=my-nginx -o wide
NAME                        READY     STATUS    RESTARTS   AGE       NODE
my-nginx-3800858182-e9ihh   1/1       Running   0          5s        kubernetes-minion-ljyd
my-nginx-3800858182-j4rm4   1/1       Running   0          5s        kubernetes-minion-905m
```

You may notice that the pods have different names, since they are killed and recreated.

```shell
$ kubectl exec my-nginx-3800858182-e9ihh -- printenv | grep SERVICE
KUBERNETES_SERVICE_PORT=443
MY_NGINX_SERVICE_HOST=10.0.162.149
KUBERNETES_SERVICE_HOST=10.0.0.1
MY_NGINX_SERVICE_PORT=80
KUBERNETES_SERVICE_PORT_HTTPS=443
```

### DNS

Kubernetes offers a DNS cluster addon Service that uses skydns to automatically assign dns names to other Services. You can check if it's running on your cluster:

```shell
$ kubectl get services kube-dns --namespace=kube-system
NAME       CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
kube-dns   10.0.0.10    <none>        53/UDP,53/TCP   8m
```

If it isn't running, you can [enable it](http://releases.k8s.io/{{page.githubbranch}}/cluster/addons/dns/README.md#how-do-i-configure-it). The rest of this section will assume you have a Service with a long lived IP (my-nginx), and a dns server that has assigned a name to that IP (the kube-dns cluster addon), so you can talk to the Service from any pod in your cluster using standard methods (e.g. gethostbyname). Let's run another curl application to test this:

```shell
$ kubectl run curl --image=radial/busyboxplus:curl -i --tty
Waiting for pod default/curl-131556218-9fnch to be running, status is Pending, pod ready: false
Hit enter for command prompt
```

Then, hit enter and run `nslookup my-nginx`:

```shell
[ root@curl-131556218-9fnch:/ ]$ nslookup my-nginx
Server:    10.0.0.10
Address 1: 10.0.0.10

Name:      my-nginx
Address 1: 10.0.162.149
```

## Securing the Service

Till now we have only accessed the nginx server from within the cluster. Before exposing the Service to the internet, you want to make sure the communication channel is secure. For this, you will need:

* Self signed certificates for https (unless you already have an identity certificate)
* An nginx server configured to use the certificates
* A [secret](/docs/user-guide/secrets) that makes the certificates accessible to pods

You can acquire all these from the [nginx https example](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/https-nginx/), in short:

```shell
$ make keys secret KEY=/tmp/nginx.key CERT=/tmp/nginx.crt SECRET=/tmp/secret.json
$ kubectl create -f /tmp/secret.json
secrets/nginxsecret
$ kubectl get secrets
NAME                  TYPE                                  DATA
default-token-il9rc   kubernetes.io/service-account-token   1
nginxsecret           Opaque                                2
```

Now modify your nginx replicas to start a https server using the certificate in the secret, and the Service, to expose both ports (80 and 443):

{% include code.html language="yaml" file="nginx-secure-app.yaml" ghlink="/docs/user-guide/nginx-secure-app" %}

Noteworthy points about the nginx-secure-app manifest:

- It contains both rc and service specification in the same file
- The [nginx server](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/examples/https-nginx/default.conf) serves http traffic on port 80 and https traffic on 443, and nginx Service exposes both ports.
- Each container has access to the keys through a volume mounted at /etc/nginx/ssl. This is setup *before* the nginx server is started.

```shell
$ kubectl apply -f ./nginx-secure-app.yaml
$ kubectl delete rc,svc -l app=nginx; kubectl create -f ./nginx-app.yaml
service "my-nginx" configured
deployment "my-nginx" configured
```

At this point you can reach the nginx server from any node.

```shell
$ kubectl get pods -o yaml | grep -i podip
    podIP: 10.244.3.5
node $ curl -k https://10.244.3.5
...
<h1>Welcome to nginx!</h1>
```

Note how we supplied the `-k` parameter to curl in the last step, this is because we don't know anything about the pods running nginx at certificate generation time,
so we have to tell curl to ignore the CName mismatch. By creating a Service we linked the CName used in the certificate with the actual DNS name used by pods during Service lookup.
Lets test this from a pod (the same secret is being reused for simplicity, the pod only needs nginx.crt to access the Service):

{% include code.html language="yaml" file="curlpod.yaml" ghlink="/docs/user-guide/curlpod.yaml" %}

```shell
$ kubectl create -f ./curlpod.yaml
$ kubectl get pods
NAME             READY     STATUS    RESTARTS   AGE
curlpod          1/1       Running   0          2m

$ kubectl exec curlpod -- curl https://my-nginx --cacert /etc/nginx/ssl/nginx.crt
...
<title>Welcome to nginx!</title>
...
```

## Exposing the Service

For some parts of your applications you may want to expose a Service onto an external IP address. Kubernetes supports two ways of doing this: NodePorts and LoadBalancers. The Service created in the last section already used `NodePort`, so your nginx https replica is ready to serve traffic on the internet if your node has a public IP.

```shell
$ kubectl get svc my-nginx -o yaml | grep nodePort -C 5
  uid: 07191fb3-f61a-11e5-8ae5-42010af00002
spec:
  clusterIP: 10.0.162.149
  ports:
  - name: http
    nodePort: 31704
    port: 8080
    protocol: TCP
    targetPort: 80
  - name: https
    nodePort: 32453
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    run: my-nginx

$ kubectl get nodes -o yaml | grep ExternalIP -C 1
    - address: 104.197.41.11
      type: ExternalIP
    allocatable:
--
    - address: 23.251.152.56
      type: ExternalIP
    allocatable:
...

$ curl https://<EXTERNAL-IP>:<NODE-PORT> -k
...
<h1>Welcome to nginx!</h1>
```

Lets now recreate the Service to use a cloud load balancer, just change the `Type` of `my-nginx` Service from `NodePort` to `LoadBalancer`:

```shell
$ kubectl edit svc my-nginx
$ kubectl get svc my-nginx
NAME       CLUSTER-IP     EXTERNAL-IP        PORT(S)               AGE
my-nginx   10.0.162.149   162.222.184.144    80/TCP,81/TCP,82/TCP  21s

$ curl https://<EXTERNAL-IP> -k
...
<title>Welcome to nginx!</title>
```

The IP address in the `EXTERNAL-IP` column is the one that is available on the public internet.  The `CLUSTER-IP` is only available inside your
cluster/private cloud network.

Note that on AWS, type `LoadBalancer` creates an ELB, which uses a (long)
hostname, not an IP.  It's too long to fit in the standard `kubectl get svc`
output, in fact, so you'll need to do `kubectl describe service my-nginx` to
see it.  You'll see something like this:

```shell
$ kubectl describe service my-nginx
...
LoadBalancer Ingress:   a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.elb.amazonaws.com
...
```

## What's next?

[Learn about more Kubernetes features that will help you run containers reliably in production.](/docs/user-guide/production-pods)


text:
'use strict';

/**
 * Module dependencies.
 */
var mongoose = require('mongoose'),
	Schema = mongoose.Schema;

/**
 * Jamendo Artist Schema
 */
var ArtistSchema = new Schema({
	id: {
		type: String,
		required: true,
		unique: true,
	},
	name: {
		type: String,
		required: true,
	},
	website: String,
	joindate: {
		type: Date,
		required: true,
	},
	image: String,
	shorturl: String,
	shareurl: String,
}, {toJSON: {virtuals: true}});

/**
 * Validations
 */
var validateURL = function (url) {
	return typeof url === 'string' && url.startsWith('http://');
};

ArtistSchema.path('shorturl').validate(validateURL, 'shorturl must be a URL');
ArtistSchema.path('shareurl').validate(validateURL, 'shorturl must be a URL');
ArtistSchema.path('name').index();

ArtistSchema.virtual('url').get(function () {
	return this.shareurl;
});
ArtistSchema.virtual('service').get(function () {
	return 'Jamendo';
});

mongoose.model('JamendoArtist', ArtistSchema);


text:
clean:
	find content -name *~ -delete
	rm -rf ../sidesaddle-pages/*

build: clean
	python run.py build content/

serve: build
	python run.py serve content/


text:
<?xml version="1.0" encoding="UTF-8"?>
<SAXEvents>
  <startDocument/>
  <startElement>
    <namespaceURI/>
    <localName>root</localName>
    <qualifiedName>root</qualifiedName>
    <attributes/>
  </startElement>
  <characters>t</characters>
  <characters>h</characters>
  <characters>i</characters>
  <characters>s</characters>
  <characters> </characters>
  <characters>i</characters>
  <characters>s</characters>
  <characters> </characters>
  <characters>o</characters>
  <characters>k</characters>
  <characters> </characters>
  <startElement>
    <namespaceURI/>
    <localName>exception</localName>
    <qualifiedName>exception</qualifiedName>
    <attributes/>
  </startElement>
  <characters>t</characters>
  <characters>h</characters>
  <characters>i</characters>
  <characters>s</characters>
  <characters> </characters>
  <characters>i</characters>
  <characters>s</characters>
  <characters>n</characters>
  <characters>'</characters>
  <characters>t</characters>
  <endElement>
    <namespaceURI/>
    <localName>exception</localName>
    <qualifiedName>exception</qualifiedName>
  </endElement>
  <characters> </characters>
  <endElement>
    <namespaceURI/>
    <localName>root</localName>
    <qualifiedName>root</qualifiedName>
  </endElement>
  <endDocument/>
</SAXEvents>


text:
ACCEPTED

#### According to
Index Fungorum

#### Published in
Butlletí, Societat Micològica Valenciana 9: 129 (2004)

#### Original name
Cortinarius benovairensis Mahiques

### Remarks
null


text:
export type FormItem = {
	label?: string;
	type: 'string';
	default: string | null;
	hidden?: boolean;
	multiline?: boolean;
} | {
	label?: string;
	type: 'number';
	default: number | null;
	hidden?: boolean;
	step?: number;
} | {
	label?: string;
	type: 'boolean';
	default: boolean | null;
	hidden?: boolean;
} | {
	label?: string;
	type: 'enum';
	default: string | null;
	hidden?: boolean;
	enum: string[];
} | {
	label?: string;
	type: 'array';
	default: unknown[] | null;
	hidden?: boolean;
};

export type Form = Record<string, FormItem>;


text:
<?xml version="1.0" encoding="utf-8"?>
<reflection>
  <assemblies>
    <assembly name="mscorlib">
      <assemblydata version="4.0.0.0" culture="" key="00000000000000000400000000000000" hash="SHA1" />
      <attributes>
        <attribute>
          <type api="T:System.Reflection.AssemblyKeyFileAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>f:\dd\Tools\devdiv\ecmapublickey.snk</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Reflection.AssemblyDelaySignAttribute" ref="true" />
          <argument>
            <type api="T:System.Boolean" ref="false" />
            <value>True</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Security.AllowPartiallyTrustedCallersAttribute" ref="true" />
        </attribute>
        <attribute>
          <type api="T:System.Resources.NeutralResourcesLanguageAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>en-US</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Runtime.InteropServices.GuidAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>BED7F4EA-1A96-11d2-8F08-00A0C9A6186D</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Runtime.InteropServices.ComVisibleAttribute" ref="true" />
          <argument>
            <type api="T:System.Boolean" ref="false" />
            <value>False</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.CLSCompliantAttribute" ref="true" />
          <argument>
            <type api="T:System.Boolean" ref="false" />
            <value>True</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Reflection.AssemblyTitleAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>mscorlib.dll</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Reflection.AssemblyDescriptionAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>mscorlib.dll</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Reflection.AssemblyDefaultAliasAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>mscorlib.dll</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Reflection.AssemblyCompanyAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>Microsoft Corporation</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Reflection.AssemblyProductAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>Microsoft® .NET Framework</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Reflection.AssemblyCopyrightAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>© Microsoft Corporation.  All rights reserved.</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Reflection.AssemblyFileVersionAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>4.0.30319.0</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Reflection.AssemblyInformationalVersionAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>4.0.30319.0</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Resources.SatelliteContractVersionAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>4.0.0.0</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Runtime.AssemblyTargetedPatchBandAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>1.0.21-0</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Security.Permissions.SecurityPermissionAttribute" ref="true" />
          <argument>
            <type api="T:System.Security.Permissions.SecurityAction" ref="false" />
            <enumValue>
              <field name="RequestMinimum" />
            </enumValue>
          </argument>
          <assignment name="SkipVerification">
            <type api="T:System.Boolean" ref="false" />
            <value>True</value>
          </assignment>
        </attribute>
      </attributes>
    </assembly>
  </assemblies>
  <apis>
    <api id="N:System.Runtime.ConstrainedExecution">
      <topicdata group="api" />
      <apidata name="System.Runtime.ConstrainedExecution" group="namespace" />
      <elements>
        <element api="T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject" />
        <element api="T:System.Runtime.ConstrainedExecution.Consistency" />
        <element api="T:System.Runtime.ConstrainedExecution.Cer" />
        <element api="T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute" />
        <element api="T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute" />
      </elements>
      <file name="d8acfc64-c310-c2d4-1707-f0ac4a9f1bfd" />
    </api>
    <api id="T:System.Runtime.ConstrainedExecution.Cer">
      <topicdata group="api" />
      <apidata name="Cer" group="type" subgroup="enumeration" />
      <typedata visibility="public" sealed="true" serializable="true" layout="auto" format="ansi" />
      <elements>
        <element api="F:System.Runtime.ConstrainedExecution.Cer.None" />
        <element api="F:System.Runtime.ConstrainedExecution.Cer.MayFail" />
        <element api="F:System.Runtime.ConstrainedExecution.Cer.Success" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="d71c850e-09ef-6084-fee2-3863f675ed0e" />
    </api>
    <api id="F:System.Runtime.ConstrainedExecution.Cer.MayFail">
      <topicdata group="api" notopic="" />
      <apidata name="MayFail" group="member" subgroup="field" />
      <memberdata visibility="public" static="true" />
      <fielddata literal="true" initonly="false" serialized="true" />
      <returns>
        <type api="T:System.Runtime.ConstrainedExecution.Cer" ref="false" />
      </returns>
      <value>1</value>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.Cer" ref="false" />
      </containers>
      <file name="b4667119-47cf-7ead-5c60-28a1b470a240" />
    </api>
    <api id="F:System.Runtime.ConstrainedExecution.Cer.None">
      <topicdata group="api" notopic="" />
      <apidata name="None" group="member" subgroup="field" />
      <memberdata visibility="public" static="true" />
      <fielddata literal="true" initonly="false" serialized="true" />
      <returns>
        <type api="T:System.Runtime.ConstrainedExecution.Cer" ref="false" />
      </returns>
      <value>0</value>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.Cer" ref="false" />
      </containers>
      <file name="934c4c3e-d454-b015-4871-b4b0bbd4112d" />
    </api>
    <api id="F:System.Runtime.ConstrainedExecution.Cer.Success">
      <topicdata group="api" notopic="" />
      <apidata name="Success" group="member" subgroup="field" />
      <memberdata visibility="public" static="true" />
      <fielddata literal="true" initonly="false" serialized="true" />
      <returns>
        <type api="T:System.Runtime.ConstrainedExecution.Cer" ref="false" />
      </returns>
      <value>2</value>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.Cer" ref="false" />
      </containers>
      <file name="3a36a500-bc61-634c-68e4-0b187b17a8fe" />
    </api>
    <api id="T:System.Runtime.ConstrainedExecution.Consistency">
      <topicdata group="api" />
      <apidata name="Consistency" group="type" subgroup="enumeration" />
      <typedata visibility="public" sealed="true" serializable="true" layout="auto" format="ansi" />
      <elements>
        <element api="F:System.Runtime.ConstrainedExecution.Consistency.MayCorruptProcess" />
        <element api="F:System.Runtime.ConstrainedExecution.Consistency.MayCorruptAppDomain" />
        <element api="F:System.Runtime.ConstrainedExecution.Consistency.MayCorruptInstance" />
        <element api="F:System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="cd195a94-7667-9081-ab61-575c4a2b8b95" />
    </api>
    <api id="F:System.Runtime.ConstrainedExecution.Consistency.MayCorruptAppDomain">
      <topicdata group="api" notopic="" />
      <apidata name="MayCorruptAppDomain" group="member" subgroup="field" />
      <memberdata visibility="public" static="true" />
      <fielddata literal="true" initonly="false" serialized="true" />
      <returns>
        <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
      </returns>
      <value>1</value>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
      </containers>
      <file name="fb1a7da7-9ff2-1457-0102-79dc62242a20" />
    </api>
    <api id="F:System.Runtime.ConstrainedExecution.Consistency.MayCorruptInstance">
      <topicdata group="api" notopic="" />
      <apidata name="MayCorruptInstance" group="member" subgroup="field" />
      <memberdata visibility="public" static="true" />
      <fielddata literal="true" initonly="false" serialized="true" />
      <returns>
        <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
      </returns>
      <value>2</value>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
      </containers>
      <file name="39173819-f8ab-5467-5194-480cf65ff2df" />
    </api>
    <api id="F:System.Runtime.ConstrainedExecution.Consistency.MayCorruptProcess">
      <topicdata group="api" notopic="" />
      <apidata name="MayCorruptProcess" group="member" subgroup="field" />
      <memberdata visibility="public" static="true" />
      <fielddata literal="true" initonly="false" serialized="true" />
      <returns>
        <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
      </returns>
      <value>0</value>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
      </containers>
      <file name="1b258b1e-d3ed-143f-5e80-ab13e138c30a" />
    </api>
    <api id="F:System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState">
      <topicdata group="api" notopic="" />
      <apidata name="WillNotCorruptState" group="member" subgroup="field" />
      <memberdata visibility="public" static="true" />
      <fielddata literal="true" initonly="false" serialized="true" />
      <returns>
        <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
      </returns>
      <value>3</value>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
      </containers>
      <file name="649a4be2-5239-1734-0571-c6f02ad342fd" />
    </api>
    <api id="T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject">
      <topicdata group="api" allMembersTopicId="AllMembers.T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject" />
      <apidata name="CriticalFinalizerObject" group="type" subgroup="class" />
      <typedata visibility="public" abstract="true" serializable="false" layout="auto" format="ansi" />
      <family>
        <ancestors>
          <type api="T:System.Object" ref="true" />
        </ancestors>
        <descendents>
          <type api="T:System.Runtime.InteropServices.SafeHandle" ref="true" />
          <type api="T:System.Runtime.InteropServices.CriticalHandle" ref="true" />
          <type api="T:System.Threading.ReaderWriterLock" ref="true" />
          <type api="T:System.Threading.Thread" ref="true" />
          <type api="T:System.Runtime.MemoryFailPoint" ref="true" />
        </descendents>
      </family>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <attributes>
        <attribute>
          <type api="T:System.Runtime.InteropServices.ComVisibleAttribute" ref="true" />
          <argument>
            <type api="T:System.Boolean" ref="false" />
            <value>True</value>
          </argument>
        </attribute>
        <attribute>
          <type api="T:System.Security.Permissions.SecurityPermissionAttribute" ref="true" />
          <argument>
            <type api="T:System.Security.Permissions.SecurityAction" ref="false" />
            <enumValue>
              <field name="InheritanceDemand" />
            </enumValue>
          </argument>
          <assignment name="UnmanagedCode">
            <type api="T:System.Boolean" ref="false" />
            <value>True</value>
          </assignment>
        </attribute>
      </attributes>
      <file name="5f476798-99b2-ce47-3353-33ce225b9a51" />
    </api>
    <api id="AllMembers.T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject">
      <topicdata name="CriticalFinalizerObject" group="list" subgroup="members" typeTopicId="T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject" />
      <apidata name="CriticalFinalizerObject" group="type" subgroup="class" />
      <typedata visibility="public" abstract="true" serializable="false" layout="auto" format="ansi" />
      <elements>
        <element api="M:System.Object.Equals(System.Object)" />
        <element api="M:System.Object.GetHashCode" />
        <element api="M:System.Object.GetType" />
        <element api="M:System.Object.MemberwiseClone" />
        <element api="M:System.Object.ToString" />
        <element api="M:System.Runtime.ConstrainedExecution.CriticalFinalizerObject.#ctor" />
        <element api="M:System.Runtime.ConstrainedExecution.CriticalFinalizerObject.Finalize" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="2e65d131-c1e0-33b9-c511-3d8fe942080f" />
    </api>
    <api id="Methods.T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject">
      <topicdata name="CriticalFinalizerObject" group="list" subgroup="Methods" typeTopicId="T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject" />
      <apidata name="CriticalFinalizerObject" group="type" subgroup="class" />
      <typedata visibility="public" abstract="true" serializable="false" layout="auto" format="ansi" />
      <elements>
        <element api="M:System.Object.Equals(System.Object)" />
        <element api="M:System.Object.GetHashCode" />
        <element api="M:System.Object.GetType" />
        <element api="M:System.Object.MemberwiseClone" />
        <element api="M:System.Object.ToString" />
        <element api="M:System.Runtime.ConstrainedExecution.CriticalFinalizerObject.Finalize" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="42ecbc5c-9635-e8d9-1b6a-ac084fa6e900" />
    </api>
    <api id="M:System.Runtime.ConstrainedExecution.CriticalFinalizerObject.#ctor">
      <topicdata group="api" />
      <apidata name=".ctor" group="member" subgroup="constructor" />
      <memberdata visibility="family" special="true" />
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject" ref="true" />
      </containers>
      <attributes>
        <attribute>
          <type api="T:System.Runtime.TargetedPatchingOptOutAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>Performance critical to inline this type of method across NGen image boundaries</value>
          </argument>
        </attribute>
      </attributes>
      <file name="e6e8218d-3b1c-8fc6-0acb-a6fe99f7d2a2" />
    </api>
    <api id="M:System.Runtime.ConstrainedExecution.CriticalFinalizerObject.Finalize">
      <topicdata group="api" />
      <apidata name="Finalize" group="member" subgroup="method" />
      <memberdata visibility="family" />
      <proceduredata virtual="true" />
      <overrides>
        <member api="M:System.Object.Finalize">
          <type api="T:System.Object" ref="true" />
        </member>
      </overrides>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.CriticalFinalizerObject" ref="true" />
      </containers>
      <file name="b64e8340-bbd6-69f3-6365-5fad577edd9e" />
    </api>
    <api id="T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute">
      <topicdata group="api" allMembersTopicId="AllMembers.T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute" />
      <apidata name="PrePrepareMethodAttribute" group="type" subgroup="class" />
      <typedata visibility="public" sealed="true" serializable="false" layout="auto" format="ansi" />
      <family>
        <ancestors>
          <type api="T:System.Attribute" ref="true" />
          <type api="T:System.Object" ref="true" />
        </ancestors>
      </family>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <attributes>
        <attribute>
          <type api="T:System.AttributeUsageAttribute" ref="true" />
          <argument>
            <type api="T:System.AttributeTargets" ref="false" />
            <enumValue>
              <field name="Constructor" />
              <field name="Method" />
            </enumValue>
          </argument>
          <assignment name="Inherited">
            <type api="T:System.Boolean" ref="false" />
            <value>False</value>
          </assignment>
        </attribute>
      </attributes>
      <file name="4ef1da28-09fd-7565-4ec3-9c3d22790422" />
    </api>
    <api id="AllMembers.T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute">
      <topicdata name="PrePrepareMethodAttribute" group="list" subgroup="members" typeTopicId="T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute" />
      <apidata name="PrePrepareMethodAttribute" group="type" subgroup="class" />
      <typedata visibility="public" sealed="true" serializable="false" layout="auto" format="ansi" />
      <elements>
        <element api="M:System.Attribute.Equals(System.Object)" />
        <element api="M:System.Attribute.GetHashCode" />
        <element api="M:System.Attribute.IsDefaultAttribute" />
        <element api="M:System.Attribute.Match(System.Object)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetIDsOfNames(System.Guid@,System.IntPtr,System.UInt32,System.UInt32,System.IntPtr)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetTypeInfo(System.UInt32,System.UInt32,System.IntPtr)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetTypeInfoCount(System.UInt32@)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#Invoke(System.UInt32,System.Guid@,System.UInt32,System.Int16,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)" />
        <element api="P:System.Attribute.TypeId" />
        <element api="M:System.Object.Finalize" />
        <element api="M:System.Object.GetType" />
        <element api="M:System.Object.MemberwiseClone" />
        <element api="M:System.Object.ToString" />
        <element api="M:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute.#ctor" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="5c030e69-459f-8a36-872b-2bc00d29616d" />
    </api>
    <api id="Methods.T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute">
      <topicdata name="PrePrepareMethodAttribute" group="list" subgroup="Methods" typeTopicId="T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute" />
      <apidata name="PrePrepareMethodAttribute" group="type" subgroup="class" />
      <typedata visibility="public" sealed="true" serializable="false" layout="auto" format="ansi" />
      <elements>
        <element api="M:System.Attribute.Equals(System.Object)" />
        <element api="M:System.Attribute.GetHashCode" />
        <element api="M:System.Attribute.IsDefaultAttribute" />
        <element api="M:System.Attribute.Match(System.Object)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetIDsOfNames(System.Guid@,System.IntPtr,System.UInt32,System.UInt32,System.IntPtr)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetTypeInfo(System.UInt32,System.UInt32,System.IntPtr)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetTypeInfoCount(System.UInt32@)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#Invoke(System.UInt32,System.Guid@,System.UInt32,System.Int16,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)" />
        <element api="M:System.Object.Finalize" />
        <element api="M:System.Object.GetType" />
        <element api="M:System.Object.MemberwiseClone" />
        <element api="M:System.Object.ToString" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="1cb2edea-cd45-21f4-c434-db301867af2e" />
    </api>
    <api id="Properties.T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute">
      <topicdata name="PrePrepareMethodAttribute" group="list" subgroup="Properties" typeTopicId="T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute" />
      <apidata name="PrePrepareMethodAttribute" group="type" subgroup="class" />
      <typedata visibility="public" sealed="true" serializable="false" layout="auto" format="ansi" />
      <elements>
        <element api="P:System.Attribute.TypeId" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="3d1c1768-007d-0175-971a-7ceae60a60c3" />
    </api>
    <api id="M:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute.#ctor">
      <topicdata group="api" />
      <apidata name=".ctor" group="member" subgroup="constructor" />
      <memberdata visibility="public" special="true" />
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute" ref="true" />
      </containers>
      <attributes>
        <attribute>
          <type api="T:System.Runtime.TargetedPatchingOptOutAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>Performance critical to inline this type of method across NGen image boundaries</value>
          </argument>
        </attribute>
      </attributes>
      <file name="dc052120-9c62-8db8-0634-6cecb829603c" />
    </api>
    <api id="T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute">
      <topicdata group="api" allMembersTopicId="AllMembers.T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute" />
      <apidata name="ReliabilityContractAttribute" group="type" subgroup="class" />
      <typedata visibility="public" sealed="true" serializable="false" layout="auto" format="ansi" />
      <family>
        <ancestors>
          <type api="T:System.Attribute" ref="true" />
          <type api="T:System.Object" ref="true" />
        </ancestors>
      </family>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <attributes>
        <attribute>
          <type api="T:System.AttributeUsageAttribute" ref="true" />
          <argument>
            <type api="T:System.AttributeTargets" ref="false" />
            <enumValue>
              <field name="Assembly" />
              <field name="Class" />
              <field name="Struct" />
              <field name="Constructor" />
              <field name="Method" />
              <field name="Interface" />
            </enumValue>
          </argument>
          <assignment name="Inherited">
            <type api="T:System.Boolean" ref="false" />
            <value>False</value>
          </assignment>
        </attribute>
      </attributes>
      <file name="fabad3aa-87ba-8cf8-a16f-6b5ff43042b9" />
    </api>
    <api id="AllMembers.T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute">
      <topicdata name="ReliabilityContractAttribute" group="list" subgroup="members" typeTopicId="T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute" />
      <apidata name="ReliabilityContractAttribute" group="type" subgroup="class" />
      <typedata visibility="public" sealed="true" serializable="false" layout="auto" format="ansi" />
      <elements>
        <element api="M:System.Attribute.Equals(System.Object)" />
        <element api="M:System.Attribute.GetHashCode" />
        <element api="M:System.Attribute.IsDefaultAttribute" />
        <element api="M:System.Attribute.Match(System.Object)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetIDsOfNames(System.Guid@,System.IntPtr,System.UInt32,System.UInt32,System.IntPtr)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetTypeInfo(System.UInt32,System.UInt32,System.IntPtr)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetTypeInfoCount(System.UInt32@)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#Invoke(System.UInt32,System.Guid@,System.UInt32,System.Int16,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)" />
        <element api="P:System.Attribute.TypeId" />
        <element api="M:System.Object.Finalize" />
        <element api="M:System.Object.GetType" />
        <element api="M:System.Object.MemberwiseClone" />
        <element api="M:System.Object.ToString" />
        <element api="M:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.#ctor(System.Runtime.ConstrainedExecution.Consistency,System.Runtime.ConstrainedExecution.Cer)" />
        <element api="P:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.Cer" />
        <element api="P:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.ConsistencyGuarantee" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="91279711-5c6c-d5e8-838c-22809f3bdc33" />
    </api>
    <api id="Methods.T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute">
      <topicdata name="ReliabilityContractAttribute" group="list" subgroup="Methods" typeTopicId="T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute" />
      <apidata name="ReliabilityContractAttribute" group="type" subgroup="class" />
      <typedata visibility="public" sealed="true" serializable="false" layout="auto" format="ansi" />
      <elements>
        <element api="M:System.Attribute.Equals(System.Object)" />
        <element api="M:System.Attribute.GetHashCode" />
        <element api="M:System.Attribute.IsDefaultAttribute" />
        <element api="M:System.Attribute.Match(System.Object)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetIDsOfNames(System.Guid@,System.IntPtr,System.UInt32,System.UInt32,System.IntPtr)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetTypeInfo(System.UInt32,System.UInt32,System.IntPtr)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#GetTypeInfoCount(System.UInt32@)" />
        <element api="M:System.Attribute.System#Runtime#InteropServices#_Attribute#Invoke(System.UInt32,System.Guid@,System.UInt32,System.Int16,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)" />
        <element api="M:System.Object.Finalize" />
        <element api="M:System.Object.GetType" />
        <element api="M:System.Object.MemberwiseClone" />
        <element api="M:System.Object.ToString" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="37e4da3a-694c-a99e-0ea7-fcb6e99b86af" />
    </api>
    <api id="Properties.T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute">
      <topicdata name="ReliabilityContractAttribute" group="list" subgroup="Properties" typeTopicId="T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute" />
      <apidata name="ReliabilityContractAttribute" group="type" subgroup="class" />
      <typedata visibility="public" sealed="true" serializable="false" layout="auto" format="ansi" />
      <elements>
        <element api="P:System.Attribute.TypeId" />
        <element api="P:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.Cer" />
        <element api="P:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.ConsistencyGuarantee" />
      </elements>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
      </containers>
      <file name="f038dc47-c5a3-20b2-4422-b9d64dcedfdd" />
    </api>
    <api id="M:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.#ctor(System.Runtime.ConstrainedExecution.Consistency,System.Runtime.ConstrainedExecution.Cer)">
      <topicdata group="api" />
      <apidata name=".ctor" group="member" subgroup="constructor" />
      <memberdata visibility="public" special="true" />
      <parameters>
        <parameter name="consistencyGuarantee">
          <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
        </parameter>
        <parameter name="cer">
          <type api="T:System.Runtime.ConstrainedExecution.Cer" ref="false" />
        </parameter>
      </parameters>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute" ref="true" />
      </containers>
      <attributes>
        <attribute>
          <type api="T:System.Runtime.TargetedPatchingOptOutAttribute" ref="true" />
          <argument>
            <type api="T:System.String" ref="true" />
            <value>Performance critical to inline this type of method across NGen image boundaries</value>
          </argument>
        </attribute>
      </attributes>
      <file name="12aef982-e358-c374-0697-32f4ccc4ed34" />
    </api>
    <api id="P:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.Cer">
      <topicdata group="api" />
      <apidata name="Cer" group="member" subgroup="property" />
      <memberdata visibility="public" />
      <proceduredata virtual="false" />
      <propertydata get="true" />
      <getter name="get_Cer">
        <attributes>
          <attribute>
            <type api="T:System.Runtime.TargetedPatchingOptOutAttribute" ref="true" />
            <argument>
              <type api="T:System.String" ref="true" />
              <value>Performance critical to inline this type of method across NGen image boundaries</value>
            </argument>
          </attribute>
        </attributes>
      </getter>
      <returns>
        <type api="T:System.Runtime.ConstrainedExecution.Cer" ref="false" />
      </returns>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute" ref="true" />
      </containers>
      <file name="66fdfa22-fa14-0b39-6d48-a537dd30adcc" />
    </api>
    <api id="P:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute.ConsistencyGuarantee">
      <topicdata group="api" />
      <apidata name="ConsistencyGuarantee" group="member" subgroup="property" />
      <memberdata visibility="public" />
      <proceduredata virtual="false" />
      <propertydata get="true" />
      <getter name="get_ConsistencyGuarantee">
        <attributes>
          <attribute>
            <type api="T:System.Runtime.TargetedPatchingOptOutAttribute" ref="true" />
            <argument>
              <type api="T:System.String" ref="true" />
              <value>Performance critical to inline this type of method across NGen image boundaries</value>
            </argument>
          </attribute>
        </attributes>
      </getter>
      <returns>
        <type api="T:System.Runtime.ConstrainedExecution.Consistency" ref="false" />
      </returns>
      <containers>
        <library assembly="mscorlib" module="mscorlib" kind="DynamicallyLinkedLibrary">
          <assemblydata version="4.0.0.0" />
        </library>
        <namespace api="N:System.Runtime.ConstrainedExecution" />
        <type api="T:System.Runtime.ConstrainedExecution.ReliabilityContractAttribute" ref="true" />
      </containers>
      <file name="c5c6b789-e46d-d1f8-203a-d67293e723d6" />
    </api>
  </apis>
</reflection>